0.0.27 • Published 7 years ago

ng4-engine v0.0.27

Weekly downloads
3
License
MIT
Repository
-
Last release
7 years ago

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