Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Et angular workspace i src-folderen. Dette kræves af angular framework for at serve et library.
  2. Det egentlige nap-angular-sdk i projects/nap-angular
    1. ng-package.json definerer de filer der skal pakkes og publishes.
  3. En test implementering, som bruger nap-angular-sdk i projects/test. Heri er injected en fakebridge i index.html. Dette er den egentlige test af SDKet, og der køres derfor ingen unit tests. Sendte beskeder printes i console.log.

Funktionalitet

...

SDK'et udstiller en service, som sørger for at kalde createNAP() fra nap-typescript-sdket og dermed initialisere kontekstbroen.

Efterfølgende subscribes der på de forskellige messagestreams, og deres emits bliver håndteret i forhold til Angulars change detection zone.

Udfra dette generer den nye observables generes nye observables


NapAngularService {
    // attributter
    incomming$: Observable<NAPmessage>
    errors$: Observable<NAPError>
    outgoing$: Subject<NapMessage>
    sendMessage(message: NAPMessage):void
    subscribeToMessages(callback: (message: NAPMessage) => void): void
}

Effekten for anvenderen bliver, at broen initialiseres som en singleton og at Angular opfanger beskeder sendt over broen og opdaterer UI på baggrund af disse værdier.

Udviklingssetup og targets

Installer afhængigheder

Installer dependecies dependencies ved at køre npm install --registry https://nexus.nspop.dk/nexus/repository/nsp-npm/

...

Code Block
languagejs
interface Context {
  latestIncomming: NAPMessage | null;
  latestError: NAPError | null;
  postMessage: (message: NAPMessage) => void;
  subscribe: (subscriber: NAPHostSubscriber) => void;
  unsubscribe: (subscriber: NAPHostSubscriber) => void;
}

...

Udviklingssetup og targets

Installer afhængigheder

Installer dependecies ved at køre npm install --registry https://nexus.nspop.dk/nexus/repository/nsp-npm/

...