UNPKG

e5core-angular-ui

Version:

e5 Anywhere Angular UI

1,280 lines (1,257 loc) 613 kB
import { FileUploadModule } from 'primeng/fileupload'; import { TreeTableModule } from 'primeng/treetable'; import { HighchartsChartModule } from 'highcharts-angular'; import { HttpClient } from '@angular/common/http'; import { DomSanitizer } from '@angular/platform-browser'; import { map } from 'rxjs/operators'; import { animate, state, style, transition, trigger } from '@angular/animations'; import { Guid } from 'guid-typescript'; import { DataSource } from '@angular/cdk/table'; import { MatSort, MatPaginator, MatIconModule, MatButtonModule, MatCardModule, MatMenuModule, MatTabsModule, MatFormFieldModule, MatInputModule, MatDatepickerModule, MatNativeDateModule, MatSelectModule, MatBadgeModule, MatCheckboxModule, MatPaginatorModule, MatTableModule, MatSortModule, MatProgressSpinnerModule, MatChipsModule } from '@angular/material'; import * as Highcharts from 'highcharts/highstock'; import { Subject, BehaviorSubject, of } from 'rxjs'; import { UIWorkItemModel, WorkGetNextService, UiWorkItemService, ListSearchService, E5ConfigurationService, ConfigurationScopeService, UiDocumentService, TaxonomyFieldDefinitionService, TaxonomyCategory2Service, UiSearchDefinitionService, WorkSearchFoundationService, MonitorsSlaCompletionMonitorModel, MonitorsSlaCompletionMonitorService, MonitorsSlaInventoryMonitorModel, MonitorsSlaInventoryMonitorService, MonitorsSlaInflowsMonitorModel, MonitorsSlaInflowsMonitorService, MonitorsSlaMonitorService, WorkItemFoundationService, WorkAttachmentTypeFoundationService, WorkDocumentFoundationService, WorkItemService, WorkMenuItemFoundationService, MonitorsSlaTeamProductivityCompletionMonitorModel, MonitorsSlaTeamProductivityFacetimeMonitorModel, MonitorsSlaTeamProductivityCompletionMonitorService, MonitorsSlaTeamProductivityFacetimeMonitorService, E5coreAngularServicesModule } from 'e5core-angular-services'; import { CurrencyPipe, DatePipe, CommonModule } from '@angular/common'; import { FormControl, Validators, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { __extends, __assign, __spread, __read, __values } from 'tslib'; import { Injectable, Input, Output, EventEmitter, Component, Pipe, ChangeDetectionStrategy, ChangeDetectorRef, ViewChildren, forwardRef, Inject, LOCALE_ID, ViewChild, NgModule, defineInjectable, inject, ViewEncapsulation } from '@angular/core'; import { NgxMaterialTimepickerModule } from 'ngx-material-timepicker'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * This class implements a * UIWorkItemModel { * fieldsets: UIFieldSetModel[] | undefined ; * menus: UIMenuModel[] | undefined ; * properties: UIPropertyModel[] | undefined ; * tabs: UITabModel[] | undefined ; * workId: string | undefined * } */ var /** * This class implements a * UIWorkItemModel { * fieldsets: UIFieldSetModel[] | undefined ; * menus: UIMenuModel[] | undefined ; * properties: UIPropertyModel[] | undefined ; * tabs: UITabModel[] | undefined ; * workId: string | undefined * } */ WorkItemModel = /** @class */ (function (_super) { __extends(WorkItemModel, _super); function WorkItemModel() { var _this = _super.call(this) || this; _this.menus = null; _this.tabs = null; _this.workId = null; _this.fieldsets = null; _this.properties = null; return _this; } return WorkItemModel; }(UIWorkItemModel)); /** * DEPRECATED, use FieldValue * @param {?} model * @param {?} propertyId * @param {?=} defaultValue * @return {?} */ function PropertyValue(model, propertyId, defaultValue) { /** @type {?} */ var value = undefined; if (model && propertyId && model.properties) { /** @type {?} */ var property = model.properties.find(function (p) { return p.propertyId == propertyId; }); value = (property) ? property.value : undefined; } return (value == undefined && defaultValue) ? defaultValue : value; } /** * @param {?} model * @param {?} fieldId * @param {?=} defaultValue * @return {?} */ function FieldValue(model, fieldId, defaultValue) { return PropertyValue(model, fieldId, defaultValue); } /** * DEPRECATED, use ResolvedFieldValue * @param {?} model * @param {?} propertyId * @param {?=} defaultValue * @return {?} */ function ResolvedPropertyValue(model, propertyId, defaultValue) { /** @type {?} */ var value = undefined; if (model && propertyId && model.properties) { /** @type {?} */ var property = model.properties.find(function (p) { return p.propertyId == propertyId; }); value = (property) ? property.resolvedValue : undefined; } return (value == undefined && defaultValue) ? defaultValue : value; } /** * @param {?} model * @param {?} fieldId * @param {?=} defaultValue * @return {?} */ function ResolvedFieldValue(model, fieldId, defaultValue) { return ResolvedPropertyValue(model, fieldId, defaultValue); } /** * @return {?} */ function CreateBlankWorkItem() { return new WorkItemModel(); } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * This service is used to provide work into the work item Subject/ */ var WorkDeliveryService = /** @class */ (function () { function WorkDeliveryService(getNextService, uiWorkItemService) { this.getNextService = getNextService; this.uiWorkItemService = uiWorkItemService; } /** * @param {?} workItem$ * @param {?=} lock * @return {?} */ WorkDeliveryService.prototype.getNextWorkItem = /** * @param {?} workItem$ * @param {?=} lock * @return {?} */ function (workItem$, lock) { var _this = this; /** @type {?} */ var subject$ = new Subject(); this.getNextService.getNextWorkItem({ lockWorkItem: lock }).subscribe(function (response) { /** @type {?} */ var wi = response.workItem; if (wi && wi.id && !wi.id.isEmpty) { _this.uiWorkItemService.getAll(wi.id).subscribe(function (wim) { /** @type {?} */ var current = workItem$.getValue(); /** @type {?} */ var updated = __assign({}, current, wim); workItem$.next(updated); subject$.next(updated); }, function (error) { subject$.error(error); }, function () { subject$.complete(); }); } else { /** @type {?} */ var blank = CreateBlankWorkItem(); workItem$.next(blank); subject$.next(blank); } }, function (error) { return subject$.error(error); }); return (subject$); }; /** * @param {?} workId * @param {?} workItem$ * @param {?=} lock * @return {?} */ WorkDeliveryService.prototype.getWorkItem = /** * @param {?} workId * @param {?} workItem$ * @param {?=} lock * @return {?} */ function (workId, workItem$, lock) { /** @type {?} */ var subject$ = new Subject(); this.uiWorkItemService.getAll(workId).subscribe(function (wim) { /** @type {?} */ var updated = __assign({}, workItem$.getValue(), wim); workItem$.next(updated); subject$.next(updated); }, function (error) { subject$.error(error); }, function () { subject$.complete(); }); return (subject$); }; WorkDeliveryService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ WorkDeliveryService.ctorParameters = function () { return [ { type: WorkGetNextService }, { type: UiWorkItemService } ]; }; /** @nocollapse */ WorkDeliveryService.ngInjectableDef = defineInjectable({ factory: function WorkDeliveryService_Factory() { return new WorkDeliveryService(inject(WorkGetNextService), inject(UiWorkItemService)); }, token: WorkDeliveryService, providedIn: "root" }); return WorkDeliveryService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreAngularUiGetNextComponent = /** @class */ (function () { function E5coreAngularUiGetNextComponent(workDelivery) { this.workDelivery = workDelivery; } /** * @return {?} */ E5coreAngularUiGetNextComponent.prototype.ngOnInit = /** * @return {?} */ function () { if (this.workItem$ == null) { console.error('e5core-angular-ui-get-next [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } }; /** * @return {?} */ E5coreAngularUiGetNextComponent.prototype.getNext = /** * @return {?} */ function () { this.workDelivery.getNextWorkItem(this.workItem$, this.lock ? true : false).subscribe(function (wim) { }, function (error) { return console.error(error); }); }; E5coreAngularUiGetNextComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-get-next', template: "<p>\n <button mat-raised-button (click)=\"getNext()\">Get Next</button>\n</p>\n", styles: [""] }] } ]; /** @nocollapse */ E5coreAngularUiGetNextComponent.ctorParameters = function () { return [ { type: WorkDeliveryService } ]; }; E5coreAngularUiGetNextComponent.propDecorators = { workItem$: [{ type: Input }], lock: [{ type: Input }] }; return E5coreAngularUiGetNextComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @enum {number} */ var UiStyle = { Box: 0, Bootstrap: 1, Material: 2, }; UiStyle[UiStyle.Box] = 'Box'; UiStyle[UiStyle.Bootstrap] = 'Bootstrap'; UiStyle[UiStyle.Material] = 'Material'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var UiStyleService = /** @class */ (function () { function UiStyleService() { } /** * @return {?} */ UiStyleService.prototype.current = /** * @return {?} */ function () { return (UiStyle.Material); }; UiStyleService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ UiStyleService.ngInjectableDef = defineInjectable({ factory: function UiStyleService_Factory() { return new UiStyleService(); }, token: UiStyleService, providedIn: "root" }); return UiStyleService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkMenuItemComponent = /** @class */ (function () { function E5coreUiWorkMenuItemComponent(style$$1) { this.style = style$$1; } /** * @return {?} */ E5coreUiWorkMenuItemComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.workItem$ == null) { console.error('e5core-ui-work-menu-item [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } this.workItem$.subscribe(function (wi) { _this.workItemModel = wi; }); }; /** * @param {?} $event * @return {?} */ E5coreUiWorkMenuItemComponent.prototype.onClick = /** * @param {?} $event * @return {?} */ function ($event) { alert('You clicked ' + $event.menuCode); }; E5coreUiWorkMenuItemComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu-item', template: "\n <span [ngSwitch]=\"style.current()\">\n <e5core-ui-work-menu-item-box (clickEvent)='onClick($event)' *ngSwitchCase='0' [workItem$]='workItem$' [menuItem]='menuItem'></e5core-ui-work-menu-item-box>\n <e5core-ui-work-menu-item-bootstrap (clickEvent)='onClick($event)' *ngSwitchCase='1' [workItem$]='workItem$' [menuItem]='menuItem'></e5core-ui-work-menu-item-bootstrap>\n <e5core-ui-work-menu-item-material (clickEvent)='onClick($event)' *ngSwitchCase='2' [workItem$]='workItem$' [menuItem]='menuItem'></e5core-ui-work-menu-item-material>\n </span>\n ", changeDetection: ChangeDetectionStrategy.Default }] } ]; /** @nocollapse */ E5coreUiWorkMenuItemComponent.ctorParameters = function () { return [ { type: UiStyleService } ]; }; E5coreUiWorkMenuItemComponent.propDecorators = { workItem$: [{ type: Input }], menuItem: [{ type: Input }] }; return E5coreUiWorkMenuItemComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkMenuItemBoxComponent = /** @class */ (function () { function E5coreUiWorkMenuItemBoxComponent() { this.clickEvent = new EventEmitter(); } /** * @return {?} */ E5coreUiWorkMenuItemBoxComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @param {?} $event * @param {?} menuCode * @return {?} */ E5coreUiWorkMenuItemBoxComponent.prototype.onClick = /** * @param {?} $event * @param {?} menuCode * @return {?} */ function ($event, menuCode) { this.clickEvent.emit({ $event: $event, menuCode: menuCode }); }; E5coreUiWorkMenuItemBoxComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu-item-box', template: "<div class='e5-component'>\n <div class='e5-title'>e5core-ui-work-menu-item</div>\n <div class='e5-content'>\n <code>{{menuItem | json}}</code>\n </div>\n </div>", styles: [""] }] } ]; /** @nocollapse */ E5coreUiWorkMenuItemBoxComponent.ctorParameters = function () { return []; }; E5coreUiWorkMenuItemBoxComponent.propDecorators = { workItem$: [{ type: Input }], menuItem: [{ type: Input }], clickEvent: [{ type: Output }] }; return E5coreUiWorkMenuItemBoxComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkMenuItemMaterialComponent = /** @class */ (function () { function E5coreUiWorkMenuItemMaterialComponent() { this.clickEvent = new EventEmitter(); } /** * @return {?} */ E5coreUiWorkMenuItemMaterialComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @param {?} $event * @param {?} menuCode * @return {?} */ E5coreUiWorkMenuItemMaterialComponent.prototype.onClick = /** * @param {?} $event * @param {?} menuCode * @return {?} */ function ($event, menuCode) { this.clickEvent.emit({ $event: $event, menuCode: menuCode }); }; /** * @param {?} code * @return {?} */ E5coreUiWorkMenuItemMaterialComponent.prototype.mapIcon = /** * @param {?} code * @return {?} */ function (code) { switch (code.toLowerCase()) { case 'saveandclose': return 'close'; case 'diarise': return 'date_range'; case 'complete': return 'assignment_turned_in'; case 'endgetnext': return 'stop'; case 'clonewithoptions': return 'file_copy'; case 'reject': return 'highlight_off'; } return (code); }; E5coreUiWorkMenuItemMaterialComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu-item-material', template: "<button (click)='onClick($event,menuItem.code)' mat-menu-item>\n <mat-icon>{{mapIcon(menuItem.code)}}</mat-icon>\n <span>{{menuItem.label}}</span>\n</button>", styles: [""] }] } ]; /** @nocollapse */ E5coreUiWorkMenuItemMaterialComponent.ctorParameters = function () { return []; }; E5coreUiWorkMenuItemMaterialComponent.propDecorators = { workItem$: [{ type: Input }], menuItem: [{ type: Input }], clickEvent: [{ type: Output }] }; return E5coreUiWorkMenuItemMaterialComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkMenuItemBootstrapComponent = /** @class */ (function () { function E5coreUiWorkMenuItemBootstrapComponent() { this.clickEvent = new EventEmitter(); } /** * @return {?} */ E5coreUiWorkMenuItemBootstrapComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @param {?} $event * @param {?} menuCode * @return {?} */ E5coreUiWorkMenuItemBootstrapComponent.prototype.onClick = /** * @param {?} $event * @param {?} menuCode * @return {?} */ function ($event, menuCode) { this.clickEvent.emit({ $event: $event, menuCode: menuCode }); }; E5coreUiWorkMenuItemBootstrapComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu-item-bootstrap', template: "<button (click)='onClick($event,menuItem.code)' type=\"button\" class=\"btn btn-secondary\" >{{menuItem.label}}</button>&nbsp;", styles: [""] }] } ]; /** @nocollapse */ E5coreUiWorkMenuItemBootstrapComponent.ctorParameters = function () { return []; }; E5coreUiWorkMenuItemBootstrapComponent.propDecorators = { workItem$: [{ type: Input }], menuItem: [{ type: Input }], clickEvent: [{ type: Output }] }; return E5coreUiWorkMenuItemBootstrapComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5CoreUiWorkMenuBoxComponent = /** @class */ (function () { function E5CoreUiWorkMenuBoxComponent() { } /** * @return {?} */ E5CoreUiWorkMenuBoxComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; E5CoreUiWorkMenuBoxComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu-box', template: "<div class='e5-component' *ngIf='workItem$'>\n <div class='e5-title'>e5core-ui-work-menu {{(workItem$ | async).workId}}</div>\n <div class='e5-content' *ngIf='menuItems'>\n <div *ngFor='let menuItem of menuItems'>\n <e5core-ui-work-menu-item [workItem$]='workItem$' [menuItem]='menuItem'></e5core-ui-work-menu-item>\n </div>\n </div>\n</div>", styles: [""] }] } ]; /** @nocollapse */ E5CoreUiWorkMenuBoxComponent.ctorParameters = function () { return []; }; E5CoreUiWorkMenuBoxComponent.propDecorators = { workItem$: [{ type: Input }], menuItems: [{ type: Input }] }; return E5CoreUiWorkMenuBoxComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5CoreUiWorkMenuBootstrapComponent = /** @class */ (function () { function E5CoreUiWorkMenuBootstrapComponent() { } /** * @return {?} */ E5CoreUiWorkMenuBootstrapComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; E5CoreUiWorkMenuBootstrapComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu-bootstrap', template: "<div>\n <e5core-ui-work-menu-item *ngFor='let menuItem of menuItems' [workItem$]='workItem$' [menuItem]='menuItem'></e5core-ui-work-menu-item>\n</div>", styles: [""] }] } ]; /** @nocollapse */ E5CoreUiWorkMenuBootstrapComponent.ctorParameters = function () { return []; }; E5CoreUiWorkMenuBootstrapComponent.propDecorators = { workItem$: [{ type: Input }], menuItems: [{ type: Input }] }; return E5CoreUiWorkMenuBootstrapComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5CoreUiWorkMenuMaterialComponent = /** @class */ (function () { function E5CoreUiWorkMenuMaterialComponent() { } /** * @return {?} */ E5CoreUiWorkMenuMaterialComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; E5CoreUiWorkMenuMaterialComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu-material', template: "<button mat-icon-button [matMenuTriggerFor]=\"menu\">\n<mat-icon>more_vert</mat-icon>\n</button>\n<mat-menu #menu=\"matMenu\">\n <e5core-ui-work-menu-item\n *ngFor='let menuItem of menuItems'\n [workItem$]='workItem$'\n [menuItem]='menuItem'>\n </e5core-ui-work-menu-item>\n</mat-menu>", styles: [""] }] } ]; /** @nocollapse */ E5CoreUiWorkMenuMaterialComponent.ctorParameters = function () { return []; }; E5CoreUiWorkMenuMaterialComponent.propDecorators = { workItem$: [{ type: Input }], menuItems: [{ type: Input }] }; return E5CoreUiWorkMenuMaterialComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkMenuComponent = /** @class */ (function () { function E5coreUiWorkMenuComponent(style$$1, cd) { this.style = style$$1; this.cd = cd; } /** * @return {?} */ E5coreUiWorkMenuComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.workItem$ == null) { console.error('e5core-ui-work-menu [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } this.workItem$.subscribe(function (wi) { _this.workItemModel = wi; _this.menuItems = []; if (_this.workItemModel && _this.workItemModel.menus) { _this.menuItems = _this.workItemModel.menus; } _this.cd.markForCheck(); }, function (e) { return _this.menuItems = null; }); }; E5coreUiWorkMenuComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-menu', template: "\n <span [ngSwitch]=\"style.current()\">\n <e5core-ui-work-menu-box *ngSwitchCase='0' [workItem$]='workItem$' [menuItems]='menuItems'></e5core-ui-work-menu-box>\n <e5core-ui-work-menu-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [menuItems]='menuItems'></e5core-ui-work-menu-bootstrap>\n <e5core-ui-work-menu-material *ngSwitchCase='2' [workItem$]='workItem$' [menuItems]='menuItems'></e5core-ui-work-menu-material>\n </span>\n ", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ E5coreUiWorkMenuComponent.ctorParameters = function () { return [ { type: UiStyleService }, { type: ChangeDetectorRef } ]; }; E5coreUiWorkMenuComponent.propDecorators = { workItem$: [{ type: Input }] }; return E5coreUiWorkMenuComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkItemComponent = /** @class */ (function () { function E5coreUiWorkItemComponent(style$$1, cd) { this.style = style$$1; this.cd = cd; } /** * @return {?} */ E5coreUiWorkItemComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.workItem$ == null) { console.error('e5core-ui-work-item [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } this.workItem$.subscribe(function (n) { _this.workItem = n; _this.cd.markForCheck(); }, function (e) { return _this.workItem = null; }); }; E5coreUiWorkItemComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-item', // templateUrl: './components/e5core-ui-work-item.component.html', template: "\n <span [ngSwitch]=\"style.current()\">\n <e5core-ui-work-item-box *ngSwitchCase='0' [workItem$]='workItem$' [workItem]='workItem'></e5core-ui-work-item-box>\n <e5core-ui-work-item-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [workItem]='workItem'></e5core-ui-work-item-bootstrap>\n <e5core-ui-work-item-material *ngSwitchCase='2' [workItem$]='workItem$' [workItem]='workItem'></e5core-ui-work-item-material>\n </span>\n ", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ E5coreUiWorkItemComponent.ctorParameters = function () { return [ { type: UiStyleService }, { type: ChangeDetectorRef } ]; }; E5coreUiWorkItemComponent.propDecorators = { workItem$: [{ type: Input }] }; return E5coreUiWorkItemComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkTabComponent = /** @class */ (function () { function E5coreUiWorkTabComponent(style$$1, cd) { this.style = style$$1; this.cd = cd; } /** * @private * @param {?} tabId * @return {?} */ E5coreUiWorkTabComponent.prototype.updateTabModel = /** * @private * @param {?} tabId * @return {?} */ function (tabId) { var _this = this; this.tab = null; this.fieldSetIds = []; if (this.workItemModel && this.workItemModel.tabs && this.workItemModel.tabs) { /** @type {?} */ var tab = this.workItemModel.tabs.find(function (t) { return t.tabId == _this.tabId; }); if (tab) { this.tab = tab; this.fieldSetIds = tab.fieldSetIds; } else { console.warn("tabId " + this.tabId + " is not in parent e5core-ui-work-tab-set"); } } }; /** * @return {?} */ E5coreUiWorkTabComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.workItem$ == null) { console.error('e5core-ui-work-tab [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } if (this.tabId == null) { console.error('e5core-ui-work-tab [tabId] must have a number value'); return; } this.workItem$.subscribe(function (wi) { _this.workItemModel = wi; _this.updateTabModel(_this.tabId); _this.cd.markForCheck(); }); }; E5coreUiWorkTabComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-tab', template: "\n <span *ngIf=\"workItem$ && tabId\" [ngSwitch]=\"style.current()\">\n <e5core-ui-work-tab-box *ngSwitchCase='0' [workItem$]='workItem$' [tab]='tab' [fieldSetIds]='fieldSetIds' ></e5core-ui-work-tab-box>\n <e5core-ui-work-tab-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [tab]='tab' [fieldSetIds]='fieldSetIds' ></e5core-ui-work-tab-bootstrap>\n <e5core-ui-work-tab-material *ngSwitchCase='2' [workItem$]='workItem$' [tab]='tab' [fieldSetIds]='fieldSetIds' ></e5core-ui-work-tab-material>\n </span>\n <div *ngIf=\"!(workItem$ && tabId)\" class=\"e5core-component-error\">&lt;e5core-ui-work-tab&gt; [tabId] must be > 0 and [workItem$] must have a BehaviorSubject&lt;WorkItemModel&gt;</div>", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ E5coreUiWorkTabComponent.ctorParameters = function () { return [ { type: UiStyleService }, { type: ChangeDetectorRef } ]; }; E5coreUiWorkTabComponent.propDecorators = { workItem$: [{ type: Input }], tabId: [{ type: Input }] }; return E5coreUiWorkTabComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkFieldSetComponent = /** @class */ (function () { function E5coreUiWorkFieldSetComponent(style$$1, cd) { this.style = style$$1; this.cd = cd; } /** * @private * @param {?} fieldSetId * @return {?} */ E5coreUiWorkFieldSetComponent.prototype.updateFieldSetModel = /** * @private * @param {?} fieldSetId * @return {?} */ function (fieldSetId) { var _this = this; this.fieldSet = null; this.fields = []; if (this.workItemModel && this.workItemModel.fieldsets) { /** @type {?} */ var fieldSet = this.workItemModel.fieldsets.find(function (fs) { return fs.fieldSetId == _this.fieldSetId; }); if (fieldSet) { this.fieldSet = fieldSet; this.fields = fieldSet.fields; } else { console.error("fieldSetId " + this.fieldSetId + " not found in workItem$"); } } else { console.error("No fieldsets in workItem$"); } this.cd.markForCheck(); }; /** * @return {?} */ E5coreUiWorkFieldSetComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.workItem$ == null) { console.error('e5core-ui-work-field-set [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } if (this.fieldSetId == null) { console.error('e5core-ui-work-field-set [fieldSetId] must have a number value'); return; } this.workItem$.subscribe(function (wi) { _this.workItemModel = wi; _this.updateFieldSetModel(_this.fieldSetId); _this.cd.markForCheck(); }); }; E5coreUiWorkFieldSetComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-field-set', template: "\n <span *ngIf=\"workItem$ && fieldSetId\" [ngSwitch]=\"style.current()\">\n <e5core-ui-work-field-set-box *ngSwitchCase='0' [workItem$]='workItem$' [fieldSet]='fieldSet' [fields]='fields' [readonly]='readonly'></e5core-ui-work-field-set-box>\n <e5core-ui-work-field-set-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [fieldSet]='fieldSet' [fields]='fields' [readonly]='readonly'></e5core-ui-work-field-set-bootstrap>\n <e5core-ui-work-field-set-material *ngSwitchCase='2' [workItem$]='workItem$' [fieldSet]='fieldSet' [fields]='fields' [readonly]='readonly'></e5core-ui-work-field-set-material>\n </span>\n <div *ngIf=\"!(workItem$ && fieldSetId)\" class=\"e5core-component-error\">&lt;e5core-ui-work-field-set&gt; [fieldSetId] must be > 0 and [workItem$] must have a BehaviorSubject&lt;WorkItemModel&gt;</div>" }] } ]; /** @nocollapse */ E5coreUiWorkFieldSetComponent.ctorParameters = function () { return [ { type: UiStyleService }, { type: ChangeDetectorRef } ]; }; E5coreUiWorkFieldSetComponent.propDecorators = { workItem$: [{ type: Input }], fieldSetId: [{ type: Input }], readonly: [{ type: Input }] }; return E5coreUiWorkFieldSetComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkFieldComponent = /** @class */ (function () { function E5coreUiWorkFieldComponent(style$$1) { this.style = style$$1; } /** * @return {?} */ E5coreUiWorkFieldComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.workItem$ == null) { console.error('e5core-ui-work-field [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } if (this.fieldSetId === null || this.propertyId === '') { console.error('e5core-ui-work-field [propertyId] and [fieldSetId] must have a value'); return; } this.workItem$.subscribe(function (n) { _this.workItemModel = n; _this.field = null; _this.property = null; if (!(_this.workItemModel && _this.workItemModel.fieldsets && _this.workItemModel.properties)) { return; } /** @type {?} */ var fieldset = _this.workItemModel.fieldsets.find(function (fs) { return fs.fieldSetId == _this.fieldSetId; }); if (!fieldset) { console.warn("fieldSetId " + _this.fieldSetId + " not found in workItem$"); return; } /** @type {?} */ var field = fieldset.fields.find(function (f) { return f.propertyId == _this.propertyId; }); if (!field) { console.warn("propertyId " + _this.propertyId + " from found in workItem$ fields"); return; } /** @type {?} */ var property = _this.workItemModel.properties.find(function (p) { return p.propertyId == _this.propertyId; }); if (!property) { console.warn("propertyId " + _this.propertyId + " from found in workItem$ properties"); return; } _this.field = field; _this.property = property; }); }; E5coreUiWorkFieldComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-field', template: "\n <span *ngIf=\"workItem$ && fieldSetId && propertyId && property && field\" [ngSwitch]=\"style.current()\">\n <e5core-ui-work-field-box *ngSwitchCase='0' [workItem$]='workItem$' [field]='field' [property]='property' [readonly]='readonly' ></e5core-ui-work-field-box>\n <e5core-ui-work-field-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [field]='field' [property]='property' [readonly]='readonly' ></e5core-ui-work-field-bootstrap>\n <e5core-ui-work-field-material *ngSwitchCase='2' [workItem$]='workItem$' [field]='field' [property]='property' [readonly]='readonly' ></e5core-ui-work-field-material>\n </span>\n <div *ngIf=\"!(workItem$ && fieldSetId && propertyId)\" class=\"e5core-component-error\">&lt;e5core-ui-work-field-set&gt; missing [fieldSetId], [propertyId] and [workItem$] must have a BehaviorSubject&lt;WorkItemModel&gt;</div>" }] } ]; /** @nocollapse */ E5coreUiWorkFieldComponent.ctorParameters = function () { return [ { type: UiStyleService } ]; }; E5coreUiWorkFieldComponent.propDecorators = { workItem$: [{ type: Input }], fieldSetId: [{ type: Input }], propertyId: [{ type: Input }], readonly: [{ type: Input }] }; return E5coreUiWorkFieldComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkTabSetComponent = /** @class */ (function () { function E5coreUiWorkTabSetComponent(style$$1, cd) { this.style = style$$1; this.cd = cd; } /** * @return {?} */ E5coreUiWorkTabSetComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.workItem$ == null) { console.error('e5core-ui-work-tab-set [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } this.workItem$.subscribe(function (workItem) { _this.workItem = workItem; // convert tabs associative array to a standard array _this.tabs = workItem.tabs; // if (this.workItem && this.workItem.tabs) { // const tabList = this.workItem.tabs ; // for (const tab of Object.values(tabList)) { // //tab.errorCount = this.errorCount(tab.fieldSetRefs) ; // this.tabs.push(tab) ; // } // } _this.cd.markForCheck(); }, function (e) { return _this.workItem = null; }); }; /** * @param {?} fieldSetIds * @return {?} */ E5coreUiWorkTabSetComponent.prototype.errorCount = /** * @param {?} fieldSetIds * @return {?} */ function (fieldSetIds) { if (!(this.workItem && this.workItem.fieldsets)) { return (0); } /** @type {?} */ var fieldSets = this.workItem.fieldsets; if (!fieldSets) { return (0); } return (0); }; E5coreUiWorkTabSetComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-tab-set', template: "\n <span [ngSwitch]=\"style.current()\">\n <e5core-ui-work-tab-set-box *ngSwitchCase='0' [workItem$]='workItem$' [tabs]='tabs'></e5core-ui-work-tab-set-box>\n <e5core-ui-work-tab-set-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [tabs]='tabs'></e5core-ui-work-tab-set-bootstrap>\n <e5core-ui-work-tab-set-material *ngSwitchCase='2' [workItem$]='workItem$' [tabs]='tabs'></e5core-ui-work-tab-set-material>\n </span>", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ E5coreUiWorkTabSetComponent.ctorParameters = function () { return [ { type: UiStyleService }, { type: ChangeDetectorRef } ]; }; E5coreUiWorkTabSetComponent.propDecorators = { workItem$: [{ type: Input }] }; return E5coreUiWorkTabSetComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkAttachmentsBaseComponent = /** @class */ (function () { function E5coreUiWorkAttachmentsBaseComponent() { } /** * @return {?} */ E5coreUiWorkAttachmentsBaseComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; E5coreUiWorkAttachmentsBaseComponent.propDecorators = { workItem$: [{ type: Input }], readonly: [{ type: Input }], pagesizes: [{ type: Input }] }; return E5coreUiWorkAttachmentsBaseComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var WorkAttachmentsFrameModel = /** @class */ (function () { function WorkAttachmentsFrameModel() { } return WorkAttachmentsFrameModel; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var AttachmentsOdataService = /** @class */ (function () { function AttachmentsOdataService(http, config) { this.http = http; this.config = config; } // apiServer: { // baseUrl: 'http://vlane5dev2016:84', // scope: 'test' // } // e.g. http://localhost:12661/site/odata/Ui/Attachments/8b50f520-cac0-11e8-a32f-00155d2a720c?$count=true&$top=2&$skip=2 // // { // "$id": "1", // "metaData": null, // "id": 1117, // "attachmentId": "630", // "workId": "84ef573a-d293-11e8-967f-005056ba65e4", // "documentName": "20181030133835358_test.pdf", // "parentId": 0, // "attachmentTypeId": 0 // }, // apiServer: { // baseUrl: 'http://vlane5dev2016:84', // scope: 'test' // } // e.g. http://localhost:12661/site/odata/Ui/Attachments/8b50f520-cac0-11e8-a32f-00155d2a720c?$count=true&$top=2&$skip=2 // // { // "$id": "1", // "metaData": null, // "id": 1117, // "attachmentId": "630", // "workId": "84ef573a-d293-11e8-967f-005056ba65e4", // "documentName": "20181030133835358_test.pdf", // "parentId": 0, // "attachmentTypeId": 0 // }, /** * @param {?} workId * @param {?} page * @param {?} pagesize * @param {?=} options * @return {?} */ AttachmentsOdataService.prototype.getWorkAttachments = // apiServer: { // baseUrl: 'http://vlane5dev2016:84', // scope: 'test' // } // e.g. http://localhost:12661/site/odata/Ui/Attachments/8b50f520-cac0-11e8-a32f-00155d2a720c?$count=true&$top=2&$skip=2 // // { // "$id": "1", // "metaData": null, // "id": 1117, // "attachmentId": "630", // "workId": "84ef573a-d293-11e8-967f-005056ba65e4", // "documentName": "20181030133835358_test.pdf", // "parentId": 0, // "attachmentTypeId": 0 // }, /** * @param {?} workId * @param {?} page * @param {?} pagesize * @param {?=} options * @return {?} */ function (workId, page, pagesize, options) { /** @type {?} */ var subject$ = new BehaviorSubject(new WorkAttachmentsFrameModel()); /** @type {?} */ var baseUrl = this.config.settings.apiServer.baseUrl; /** @type {?} */ var scope = this.config.settings.apiServer.scope; /** @type {?} */ var offset = page * pagesize; /** @type {?} */ var url = baseUrl + "/" + scope + "/odata/Ui/Attachments/" + workId.toString() + "?$count=true&$top=" + (pagesize || 10) + "&$skip=" + (offset || 0); // Append orderby if (options && options.orderby && options.orderby !== "") url += "&$orderby=" + encodeURIComponent(options.orderby); this.http.get(url).subscribe(function (result) { /** @type {?} */ var whf = new WorkAttachmentsFrameModel(); whf.count = result["@odata.count"]; whf.page = page; whf.pagesize = pagesize; whf.data = result.value; subject$.next(whf); }, function (error) { console.error(error); subject$.error(error); }); return (subject$); }; AttachmentsOdataService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ AttachmentsOdataService.ctorParameters = function () { return [ { type: HttpClient }, { type: E5ConfigurationService } ]; }; /** @nocollapse */ AttachmentsOdataService.ngInjectableDef = defineInjectable({ factory: function AttachmentsOdataService_Factory() { return new AttachmentsOdataService(inject(HttpClient), inject(E5ConfigurationService)); }, token: AttachmentsOdataService, providedIn: "root" }); return AttachmentsOdataService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var OdataMatTableDataSource = /** @class */ (function (_super) { __extends(OdataMatTableDataSource, _super); function OdataMatTableDataSource(workId, workAttachmentsService) { var _this = _super.call(this) || this; _this.workId = workId; _this.workAttachmentsService = workAttachmentsService; _this.subject$ = new BehaviorSubject([]); _this.orderby = { active: "Id", direction: "desc" }; _this.loading$ = new BehaviorSubject(false); return _this; } Object.defineProperty(OdataMatTableDataSource.prototype, "paginator", { set: /** * @param {?} paginator * @return {?} */ function (paginator) { var _this = this; this._paginator = paginator; this._paginator.page.subscribe(function (x) { // {"previousPageIndex":0,"pageIndex":1,"pageSize":10,"length":100} _this.update(); }); }, enumerable: true, configurable: true }); Object.defineProperty(OdataMatTableDataSource.prototype, "sort", { set: /** * @param {?} sort * @return {?} */ function (sort) { var _this = this; this._sort = sort; this._sort.sortChange.subscribe(function (ob) { // {active: "detail", direction: ""} _this.orderby = ob; _this.update(); }); }, enumerable: true, configurable: true }); /** * @param {?} id * @return {?} */ OdataMatTableDataSource.prototype.setWorkId = /** * @param {?} id * @return {?} */ function (id) { this.workId = id; this.update(); }; Object.defineProperty(OdataMatTableDataSource.prototype, "loadingEvents", { get: /** * @return {?} */ function () { return this.loading$; }, enumerable: true, configurable: true }); /** * @return {?} */ OdataMatTableDataSource.prototype.update = /** * @return {?} */ function () { var _this = this; if (!this.workId || !Guid.isGuid(this.workId) || this.workId.toString() === Guid.EMPTY) { this.subject$.next([]); return; } /** @type {?} */ var page = (this._paginator) ? this._paginator.pageIndex : 0; /** @type {?} */ var pagesize = (this._paginator) ? this._paginator.pageSize : 10; /** @type {?} */ var options = {}; // Setup orderby option if it's available /** @type {?} */ var orderby = this.orderby; if (orderby && orderby.direction && orderby.active) { options.orderby = orderby.active + " " + orderby.direction; } // Go get the data this.loading$.next(true); this.workAttachmentsService.getWorkAttachments(this.workId, page, pagesize, options).subscribe(function (frame) { _this._paginator.length = frame.count; _this.subject$.next(frame.data); _this.loading$.next(false); }, function (error) { console.error(error); _this.loading$.next(false); }); }; /** * @return {?} */ OdataMatTableDataSource.prototype.connect = /** * @return {?} */ function () { this.update(); return (this.subject$); }; /** * @return {?} */ OdataMatTableDataSource.prototype.disconnect = /** * @return {?} */ function () { }; return OdataMatTableDataSource; }(DataSource)); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var E5coreUiWorkAttachmentsMaterialComponent = /** @class */ (function (_super) { __extends(E5coreUiWorkAttachmentsMaterialComponent, _super); function E5coreUiWorkAttachmentsMaterialComponent(workAttachments) { var _this = _super.call(this) || this; _this.workAttachments = workAttachments; _this.attachmentDownloadEvent = new EventEmitter(); _this.attachmentSelectEvent = new EventEmitter(); _this.displayedColumns = ['Select', 'Menu', 'Name', 'Type']; _this.isLoading = true; _this.length = 0; _this.pageSize = 10; return _this; } /** * @return {?} */ E5coreUiWorkAttachmentsMaterialComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.pa