ng4-engine
TypeScript icon, indicating that this package has built-in type declarations

0.0.27 • Public • Published

ng4-engine

Installation

To install this library:

$ git clone git@econgit.uzh.ch:engineering/ng4-engine.git
cd ng4-engine && npm run pack
cd /your/project/path 
$ cp ../path/to/survey-component-library/ng4-engine-0.0.0.tgz .
$ npm install ng4-engine-0.0.11.tgz

Installation

  1. Install the npm package.

    git clone git@econgit.uzh.ch:engineering/ng4-engine.git
    cd ng4-engine && npm run pack
    $ cd /your/project/path 
    $ cp ../path/to/survey-component-library/ng4-engine-0.0.0.tgz .
    $ npm install ng4-engine-0.0.11.tgz
    # Not: version might change => 0.0.4
    
  2. Import the things you need in your application and use configuration to configure providers :

    import { EnvironmentsModule } from '../environments/environment.module';
    import {
      ConfigurationService,
      APIService,
      AuthenticationService,
      LocalStorageService,
      BroadcastService,
      MenuProvider
    } from 'ng4-engine';
     
    @NgModule({
        imports:      [ BrowserModule],
        providers: [
          ConfigurationService,
          BroadcastService,
          AuthenticationService,
          APIService,
          LocalStorageService,
        ],
        declarations: [ AppComponent ],
        bootstrap:    [ AppComponent ]
    })
    export class AppModule { } 
    
  3. Create the environment module

     ```
     //../environments/environment.module
     import { NgModule } from '@angular/core';
     import { environment as devVariables } from './environment.dev';
     import { environment as testVariables } from './environment.test';
     import { environment as prodVariables } from './environment.prod';
    
    
    
     export function environmentFactory() {
       const location = window.location.host.split('.')[0];
       switch (location) {
         case 'www': {
           return prodVariables;
         }
         case 'test': {
           return testVariables;
         }
         case '': {
           if (window.location.origin === 'file://') {
             return testVariables;
           }
           break;
         }
         default: {
           return devVariables;
         }
       }
       
     }
    
     @NgModule({
       providers: [
         {
           provide: 'configuration',
           useFactory: environmentFactory
         }
       ]
     })
     export class EnvironmentsModule {}
     ```
    

Usage of API Service

Inherit API Service in your services :

import {
  APIService,
  User
} from 'ng4-engine';

@Injectable()
export class UserService  extends APIService {
  private user: User;
  protected url = 'users/';

  get(q?: any) {
    let params: URLSearchParams = new URLSearchParams(q ? `q=${ q }` : '');
    return super.get(params);
  }
}

Development

To generate all *.js, *.d.ts and *.metadata.json files:

$ npm run build

To lint all *.ts files:

$ npm run lint

License

MIT © Adrian Etter

Package Sidebar

Install

npm i ng4-engine

Weekly Downloads

0

Version

0.0.27

License

MIT

Last publish

Collaborators

  • eydrian