e5core-angular-ui
Version:
e5 Anywhere Angular UI
95 lines • 9.32 kB
JavaScript
/**
* @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=