e5core-angular-ui
Version:
e5 Anywhere Angular UI
1,280 lines (1,257 loc) • 613 kB
JavaScript
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> ",
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\"><e5core-ui-work-tab> [tabId] must be > 0 and [workItem$] must have a BehaviorSubject<WorkItemModel></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\"><e5core-ui-work-field-set> [fieldSetId] must be > 0 and [workItem$] must have a BehaviorSubject<WorkItemModel></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\"><e5core-ui-work-field-set> missing [fieldSetId], [propertyId] and [workItem$] must have a BehaviorSubject<WorkItemModel></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