node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

gsf.integration.data

GSF.Integration.Data

This library provides a service designed to allow easy handling and retrieval of integrated V1 CDM Payloads from integration partners after the integration event has already occurred. Users register the Cdm Payload at the upper controller level and can then retrieve it from child controllers at will, even if they are dynamic datacards hidden by ng-if.

Installation

  1. Run npm i @globalx/gsf.integration.data --save-dev to install it into your project
  2. Import the package: import '@globalx/gsf.integration.data'
  3. Add to the dependencies of your app: angular.module('some-funky-app', ['gsf.integration.data']);

Functions

register(cdm) Registers the payload with the service, call this from a page level component.

  • cdm - the payload to be registered

retrieveMatterEntity() Retrieve the matter entity from the registered payload.

retrieveRelatedEntities(types, relationship) Retrieve related entities from the registered payload given a set of criteria.

  • types - a list of cdm types to be searched (e.g., ['GlobalX.Common.DataModel.RealProperty'])
  • relationship - the relationship to be searched for (e.g., 'Vendor')

retrieveDatumByKey(key, /*optional*/ model) Retrieve the requested datum object from either the registered payload's matter entity or a given entity

  • key - the datum key to be searched for (e.g., 'SettlementDate')
  • model - OPTIONAL: if provided with an entity, search for the datum within the entity

clear() Clears the registered payload.

Usage

  1. Inject the IntegratedData service into a page level component that has access to the CDM object provided by provideMatter at pageload
  2. Register the payload: IntegratedData.register(payload);
  3. Inject the IntegratedData service into a low-level dynamic/transient component that isn't typically present at pageload
  4. Retrieve data from the Cdm Payload and use how you please:
var theMatterEntity = IntegratedData.retrieveMatterEntity();
var types = ['GlobalX.Common.DataModel.Individual', 'GlobalX.Common.DataModel.Company'];
var relationshipType = 'Vendor';
 
var allVendorsOfTypeIndividualAndCompany = IntegratedData.retrieveRelatedEntities(types, relationshipType);
var settlementDate = IntegratedData.retrieveDatumByKey('SettlementDate');
var relatedVendorsMiddleName = IntegratedData.retrieveDatumByKey('MiddleName', vendor);
  1. Clear if required: IntegratedData.clear();

Changelog

1.0.0

Initial Release.