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
- Run
npm i @globalx/gsf.integration.data --save-dev
to install it into your project
- Import the package:
import '@globalx/gsf.integration.data'
- 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
- Inject the
IntegratedData
service into a page level component that has access to the CDM object provided by provideMatter at pageload
- Register the payload:
IntegratedData.register(payload);
- Inject the
IntegratedData
service into a low-level dynamic/transient component that isn't typically present at pageload
- 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);
- Clear if required:
IntegratedData.clear();
Changelog
1.0.0
Initial Release.