UNPKG

e5core-angular-ui

Version:

e5 Anywhere Angular UI

95 lines 9.32 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import { CreateBlankWorkItem } from '../models/work-item'; import { WorkGetNextService } from 'e5core-angular-services'; import { UiWorkItemService } from 'e5core-angular-services'; import * as i0 from "@angular/core"; import * as i1 from "e5core-angular-services"; /** * This service is used to provide work into the work item Subject/ */ export class WorkDeliveryService { /** * @param {?} getNextService * @param {?} uiWorkItemService */ constructor(getNextService, uiWorkItemService) { this.getNextService = getNextService; this.uiWorkItemService = uiWorkItemService; } /** * @param {?} workItem$ * @param {?=} lock * @return {?} */ getNextWorkItem(workItem$, lock) { /** @type {?} */ const subject$ = new Subject(); this.getNextService.getNextWorkItem({ lockWorkItem: lock }).subscribe(response => { /** @type {?} */ const wi = response.workItem; if (wi && wi.id && !wi.id.isEmpty) { this.uiWorkItemService.getAll(wi.id).subscribe(wim => { /** @type {?} */ const current = workItem$.getValue(); /** @type {?} */ const updated = Object.assign({}, current, wim); workItem$.next(updated); subject$.next(updated); }, error => { subject$.error(error); }, () => { subject$.complete(); }); } else { /** @type {?} */ let blank = CreateBlankWorkItem(); workItem$.next(blank); subject$.next(blank); } }, error => subject$.error(error)); return (subject$); } /** * @param {?} workId * @param {?} workItem$ * @param {?=} lock * @return {?} */ getWorkItem(workId, workItem$, lock) { /** @type {?} */ const subject$ = new Subject(); this.uiWorkItemService.getAll(workId).subscribe(wim => { /** @type {?} */ const updated = Object.assign({}, workItem$.getValue(), wim); workItem$.next(updated); subject$.next(updated); }, error => { subject$.error(error); }, () => { subject$.complete(); }); return (subject$); } } WorkDeliveryService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ WorkDeliveryService.ctorParameters = () => [ { type: WorkGetNextService }, { type: UiWorkItemService } ]; /** @nocollapse */ WorkDeliveryService.ngInjectableDef = i0.defineInjectable({ factory: function WorkDeliveryService_Factory() { return new WorkDeliveryService(i0.inject(i1.WorkGetNextService), i0.inject(i1.UiWorkItemService)); }, token: WorkDeliveryService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ WorkDeliveryService.prototype.getNextService; /** * @type {?} * @private */ WorkDeliveryService.prototype.uiWorkItemService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1kZWxpdmVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZTVjb3JlLWFuZ3VsYXItdWkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvd29yay1kZWxpdmVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBK0IsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBRTs7Ozs7O0FBUzdELE1BQU0sT0FBTyxtQkFBbUI7Ozs7O0lBRTlCLFlBQ1UsY0FBa0MsRUFDbEMsaUJBQW9DO1FBRHBDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUNsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRTlDLENBQUM7Ozs7OztJQUVNLGVBQWUsQ0FBQyxTQUF5QyxFQUFFLElBQWE7O2NBQ3ZFLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBaUI7UUFFN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLEVBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQ3BFLFFBQVEsQ0FBQyxFQUFFOztrQkFDSCxFQUFFLEdBQUcsUUFBUSxDQUFDLFFBQVE7WUFDNUIsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQzVDLEdBQUcsQ0FBQyxFQUFFOzswQkFDRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRTs7MEJBQzlCLE9BQU8scUJBQ1IsT0FBTyxFQUNQLEdBQUcsQ0FDUDtvQkFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFFO29CQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFFO2dCQUMxQixDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUNsQyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQzlCLENBQUE7YUFDRjtpQkFBTTs7b0JBQ0QsS0FBSyxHQUFHLG1CQUFtQixFQUFFO2dCQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFFO2dCQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFFO2FBQ3ZCO1FBQ0gsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDL0IsQ0FBRTtRQUVILE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBRTtJQUNyQixDQUFDOzs7Ozs7O0lBRUQsV0FBVyxDQUFDLE1BQWMsRUFBRSxTQUF5QyxFQUFFLElBQWE7O2NBQzVFLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBaUI7UUFFN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQzdDLEdBQUcsQ0FBQyxFQUFFOztrQkFDRSxPQUFPLHFCQUNSLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFDcEIsR0FBRyxDQUNQO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBRTtZQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFFO1FBQzFCLENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQ2xDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FDOUIsQ0FBQTtRQUVELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBRTtJQUNyQixDQUFDOzs7WUE1REYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBVlEsa0JBQWtCO1lBRWxCLGlCQUFpQjs7Ozs7Ozs7SUFZdEIsNkNBQTBDOzs7OztJQUMxQyxnREFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJV29ya0RlbGl2ZXJ5IH0gZnJvbSAnLi93b3JrLWRlbGl2ZXJ5JztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV29ya0l0ZW1Nb2RlbCwgQ3JlYXRlQmxhbmtXb3JrSXRlbSB9IGZyb20gJy4uL21vZGVscy93b3JrLWl0ZW0nO1xuaW1wb3J0IHsgV29ya0dldE5leHRTZXJ2aWNlIH0gZnJvbSAnZTVjb3JlLWFuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgR3VpZCB9IGZyb20gJ2d1aWQtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBVaVdvcmtJdGVtU2VydmljZSB9IGZyb20gJ2U1Y29yZS1hbmd1bGFyLXNlcnZpY2VzJyA7XG5pbXBvcnQgeyBVaVN0eWxlIH0gZnJvbSAnLi4vZW51bXMvdWktc3R5bGUnO1xuXG4vKipcbiAqIFRoaXMgc2VydmljZSBpcyB1c2VkIHRvIHByb3ZpZGUgd29yayBpbnRvIHRoZSB3b3JrIGl0ZW0gU3ViamVjdC9cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV29ya0RlbGl2ZXJ5U2VydmljZSBpbXBsZW1lbnRzIElXb3JrRGVsaXZlcnkge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZ2V0TmV4dFNlcnZpY2U6IFdvcmtHZXROZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHVpV29ya0l0ZW1TZXJ2aWNlOiBVaVdvcmtJdGVtU2VydmljZSkge1xuXG4gIH1cblxuICBwdWJsaWMgZ2V0TmV4dFdvcmtJdGVtKHdvcmtJdGVtJDogQmVoYXZpb3JTdWJqZWN0PFdvcmtJdGVtTW9kZWw+LCBsb2NrPzpib29sZWFuKTogT2JzZXJ2YWJsZTxXb3JrSXRlbU1vZGVsPiB7XG4gICAgY29uc3Qgc3ViamVjdCQgPSBuZXcgU3ViamVjdDxXb3JrSXRlbU1vZGVsPigpIDtcblxuICAgIHRoaXMuZ2V0TmV4dFNlcnZpY2UuZ2V0TmV4dFdvcmtJdGVtKHsgbG9ja1dvcmtJdGVtIDogbG9jayB9KS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgIGNvbnN0IHdpID0gcmVzcG9uc2Uud29ya0l0ZW0gO1xuICAgICAgICBpZiAod2kgJiYgd2kuaWQgJiYgIXdpLmlkLmlzRW1wdHkpIHtcbiAgICAgICAgICB0aGlzLnVpV29ya0l0ZW1TZXJ2aWNlLmdldEFsbCh3aS5pZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgd2ltID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IHdvcmtJdGVtJC5nZXRWYWx1ZSgpIDtcbiAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZDpXb3JrSXRlbU1vZGVsID0ge1xuICAgICAgICAgICAgICAgIC4uLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgLi4ud2ltXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgd29ya0l0ZW0kLm5leHQodXBkYXRlZCkgO1xuICAgICAgICAgICAgICBzdWJqZWN0JC5uZXh0KHVwZGF0ZWQpIDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvciA9PiB7IHN1YmplY3QkLmVycm9yKGVycm9yKSB9LFxuICAgICAgICAgICAgKCkgPT4geyBzdWJqZWN0JC5jb21wbGV0ZSgpIH1cbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGJsYW5rID0gQ3JlYXRlQmxhbmtXb3JrSXRlbSgpIDtcbiAgICAgICAgICB3b3JrSXRlbSQubmV4dChibGFuaykgO1xuICAgICAgICAgIHN1YmplY3QkLm5leHQoYmxhbmspIDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHN1YmplY3QkLmVycm9yKGVycm9yKVxuICAgICkgO1xuXG4gICAgcmV0dXJuIChzdWJqZWN0JCkgO1xuICB9XG5cbiAgZ2V0V29ya0l0ZW0od29ya0lkOiBzdHJpbmcsIHdvcmtJdGVtJDogQmVoYXZpb3JTdWJqZWN0PFdvcmtJdGVtTW9kZWw+LCBsb2NrPzpib29sZWFuKTogT2JzZXJ2YWJsZTxXb3JrSXRlbU1vZGVsPiAge1xuICAgIGNvbnN0IHN1YmplY3QkID0gbmV3IFN1YmplY3Q8V29ya0l0ZW1Nb2RlbD4oKSA7XG5cbiAgICB0aGlzLnVpV29ya0l0ZW1TZXJ2aWNlLmdldEFsbCh3b3JrSWQpLnN1YnNjcmliZShcbiAgICAgIHdpbSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWQ6V29ya0l0ZW1Nb2RlbCA9IHtcbiAgICAgICAgICAuLi53b3JrSXRlbSQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAuLi53aW1cbiAgICAgICAgfVxuICAgICAgICB3b3JrSXRlbSQubmV4dCh1cGRhdGVkKSA7XG4gICAgICAgIHN1YmplY3QkLm5leHQodXBkYXRlZCkgO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHsgc3ViamVjdCQuZXJyb3IoZXJyb3IpIH0sXG4gICAgICAoKSA9PiB7IHN1YmplY3QkLmNvbXBsZXRlKCkgfVxuICAgIClcblxuICAgIHJldHVybiAoc3ViamVjdCQpIDtcbiAgfVxuXG59XG4iXX0=