@bizdoc/core 3.3.3 → 3.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fesm2022/bizdoc-core.mjs
CHANGED
@@ -1983,7 +1983,7 @@ const STRINGS = {
|
|
1983
1983
|
ShowAs: 'Show as: {0}',
|
1984
1984
|
Unauthorized: 'Unauthorized access',
|
1985
1985
|
NotAcceptable: 'Unauthorized access',
|
1986
|
-
LicenseErr: '
|
1986
|
+
LicenseErr: 'Limited license, contact support',
|
1987
1987
|
RemoveAsk: 'Are you sure?',
|
1988
1988
|
Comments: 'Comments',
|
1989
1989
|
Remove: 'Remove',
|
@@ -8790,7 +8790,7 @@ class StatePipe {
|
|
8790
8790
|
return state[args[0]] || state.title;
|
8791
8791
|
return state.title;
|
8792
8792
|
}
|
8793
|
-
return
|
8793
|
+
return value;
|
8794
8794
|
}
|
8795
8795
|
constructor(session) {
|
8796
8796
|
this._map = new Map();
|
@@ -15985,6 +15985,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
15985
15985
|
}]
|
15986
15986
|
}], ctorParameters: () => [] });
|
15987
15987
|
|
15988
|
+
class RolePipe {
|
15989
|
+
transform(value, ...args) {
|
15990
|
+
const role = this.map.get(value);
|
15991
|
+
if (role) {
|
15992
|
+
if (args.length)
|
15993
|
+
return role[args[0]] || role.title;
|
15994
|
+
return role.title;
|
15995
|
+
}
|
15996
|
+
return value;
|
15997
|
+
}
|
15998
|
+
constructor(session) {
|
15999
|
+
this.map = new Map();
|
16000
|
+
session.profile.roles.forEach(a => this.map.set(a.name, a));
|
16001
|
+
}
|
16002
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
16003
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, isStandalone: false, name: "role" }); }
|
16004
|
+
}
|
16005
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, decorators: [{
|
16006
|
+
type: Pipe,
|
16007
|
+
args: [{
|
16008
|
+
standalone: false,
|
16009
|
+
name: 'role'
|
16010
|
+
}]
|
16011
|
+
}], ctorParameters: () => [{ type: SessionService }] });
|
16012
|
+
|
15988
16013
|
/** component showing trace table */
|
15989
16014
|
class TraceViewComponent extends TraceBase {
|
15990
16015
|
constructor(session, _translate, _accounts, _chat, hub) {
|
@@ -16049,17 +16074,19 @@ class TraceViewComponent extends TraceBase {
|
|
16049
16074
|
}
|
16050
16075
|
const trace = [];
|
16051
16076
|
for (let l of log) {
|
16052
|
-
let action;
|
16077
|
+
let action, fileName;
|
16053
16078
|
switch (l.type) {
|
16054
16079
|
case 'ActionTaken':
|
16055
16080
|
{
|
16056
16081
|
action = this._session.profile.actions.find(a => a.name === l.action);
|
16057
|
-
if (action.loggable === false)
|
16082
|
+
if (!action || action.loggable === false)
|
16058
16083
|
continue;
|
16059
16084
|
break;
|
16060
16085
|
}
|
16061
16086
|
case 'CheckIn':
|
16062
16087
|
case 'CheckOut':
|
16088
|
+
let attachment = attachments.find(f => f.id === l.fileId);
|
16089
|
+
fileName = attachment.fileName;
|
16063
16090
|
break;
|
16064
16091
|
case 'ModelChange':
|
16065
16092
|
break;
|
@@ -16075,17 +16102,12 @@ class TraceViewComponent extends TraceBase {
|
|
16075
16102
|
time: l.time,
|
16076
16103
|
type: l.type,
|
16077
16104
|
duration: l.duration,
|
16105
|
+
fileName,
|
16106
|
+
role: l.role,
|
16078
16107
|
note: l.note,
|
16079
16108
|
state: l.state
|
16080
16109
|
};
|
16081
16110
|
trace.push(step);
|
16082
|
-
switch (l.type) {
|
16083
|
-
case 'CheckIn':
|
16084
|
-
case 'CheckOut':
|
16085
|
-
let attachment = attachments.find(f => f.id === l.fileId);
|
16086
|
-
step.fileName = attachment.fileName;
|
16087
|
-
break;
|
16088
|
-
}
|
16089
16111
|
if (l.recipientId) {
|
16090
16112
|
let recipient = recipients.find(r => r.id === l.recipientId);
|
16091
16113
|
if (recipient.role)
|
@@ -16184,14 +16206,21 @@ class TraceViewComponent extends TraceBase {
|
|
16184
16206
|
if (by.role)
|
16185
16207
|
step.role = by.role;
|
16186
16208
|
}
|
16209
|
+
if (action)
|
16210
|
+
step.action = await actionBy(action, who.gender);
|
16187
16211
|
}
|
16188
|
-
else if (l.userId === this._session.userId)
|
16212
|
+
else if (l.userId === this._session.userId) {
|
16189
16213
|
step.name = this._translate.get('You');
|
16214
|
+
if (action)
|
16215
|
+
step.action = await actionBy(action, this._session.gender);
|
16216
|
+
}
|
16190
16217
|
else {
|
16191
16218
|
let who = await profileOf(l.userId);
|
16192
16219
|
step.name = nameOf(who);
|
16193
16220
|
if (who.role)
|
16194
16221
|
step.role = who.role;
|
16222
|
+
if (action)
|
16223
|
+
step.action = await actionBy(action, who.gender);
|
16195
16224
|
}
|
16196
16225
|
}
|
16197
16226
|
for (let recipient of recipients) {
|
@@ -16274,7 +16303,9 @@ class TraceViewComponent extends TraceBase {
|
|
16274
16303
|
_filter() {
|
16275
16304
|
switch (this._showMode) {
|
16276
16305
|
case 'active':
|
16277
|
-
this.data = this.model.issued ?
|
16306
|
+
this.data = this.model.issued ?
|
16307
|
+
this._data.filter(l => l.time >= this.model.issued) :
|
16308
|
+
this._data.slice();
|
16278
16309
|
break;
|
16279
16310
|
case 'route':
|
16280
16311
|
this.data = this._data.filter(l => l.type === 'ActionTaken' || l.type === 'Estimate' || l.type === 'Pending');
|
@@ -16305,11 +16336,11 @@ class TraceViewComponent extends TraceBase {
|
|
16305
16336
|
this.versionSelected.emit(log.time);
|
16306
16337
|
}
|
16307
16338
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TraceViewComponent, deps: [{ token: SessionService }, { token: TranslateService }, { token: AccountService }, { token: ChatInfo }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component }); }
|
16308
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: TraceViewComponent, isStandalone: false, selector: "bizdoc-trace", inputs: { model: "model", version: "version" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n @for(l of data; track l){\r\n <tr class=\"mat-mdc-row\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n @if(l.role) {<span>{{'JoinComma'|translate}}{{l.role}}</span>}\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @switch (l.type) {\r\n @case('ActionTaken') {\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n }\r\n @case('Submit') {\r\n <span>{{'Issued' | translate}}</span>\r\n }\r\n @case('Pending') {\r\n <span>{{'IsPending' | translate}}</span>\r\n }\r\n @case('CheckOut') {\r\n <span>{{'CheckedIn' | translate : l.fileName}}</span>\r\n }\r\n @case('CheckIn') {\r\n <span>{{'CheckedOut' | translate : l.fileName}}</span>\r\n }\r\n @case('Estimate') {\r\n <span>{{'Estimate' | translate}}</span>\r\n }\r\n @case('ModelChange') {\r\n <span>{{'Changed' | translate}}</span>\r\n }\r\n }\r\n @if(l.fyi) {\r\n <span> {{'FYI'|translate}}</span>\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if(l.estimate) {\r\n @if(l.durationMax && l.durationMax === l.durationMin)\r\n {<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n }\r\n @if(l.durationMax && l.durationMax !== l.durationMin){<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>}\r\n }\r\n @else {\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n @if(l.duration) {<span [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\"> ({{l.duration | amDuration:'s'}})</span>}\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if (l.note) {<span>{{l.note}}</span> }\r\n @if (l.type==='ModelChange') {<button mat-icon-button (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>}\r\n </td>\r\n </tr>}\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [listAnimation, itemAnimation] }); }
|
16339
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: TraceViewComponent, isStandalone: false, selector: "bizdoc-trace", inputs: { model: "model", version: "version" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n @for(l of data; track l){\r\n <tr class=\"mat-mdc-row\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n @if(l.role) {<span>{{'JoinComma'|translate}}{{l.role | role}}</span>}\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @switch (l.type) {\r\n @case('ActionTaken') {\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n }\r\n @case('Submit') {\r\n <span>{{'Issued' | translate}}</span>\r\n }\r\n @case('Pending') {\r\n <span>{{'IsPending' | translate}}</span>\r\n }\r\n @case('CheckOut') {\r\n <span>{{'CheckedIn' | translate : l.fileName}}</span>\r\n }\r\n @case('CheckIn') {\r\n <span>{{'CheckedOut' | translate : l.fileName}}</span>\r\n }\r\n @case('Estimate') {\r\n <span>{{'Estimate' | translate}}</span>\r\n }\r\n @case('ModelChange') {\r\n <span>{{'Changed' | translate}}</span>\r\n }\r\n }\r\n @if(l.fyi) {\r\n <span> {{'FYI'|translate}}</span>\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if(l.estimate) {\r\n @if(l.durationMax && l.durationMax === l.durationMin)\r\n {<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n }\r\n @if(l.durationMax && l.durationMax !== l.durationMin){<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>}\r\n }\r\n @else {\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n @if(l.duration) {<span [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\"> ({{l.duration | amDuration:'s'}})</span>}\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if (l.note) {<span>{{l.note}}</span> }\r\n @if (l.type==='ModelChange') {<button mat-icon-button (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>}\r\n </td>\r\n </tr>}\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: RolePipe, name: "role" }], animations: [listAnimation, itemAnimation] }); }
|
16309
16340
|
}
|
16310
16341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TraceViewComponent, decorators: [{
|
16311
16342
|
type: Component,
|
16312
|
-
args: [{ standalone: false, selector: 'bizdoc-trace', animations: [listAnimation, itemAnimation], template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n @for(l of data; track l){\r\n <tr class=\"mat-mdc-row\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n @if(l.role) {<span>{{'JoinComma'|translate}}{{l.role}}</span>}\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @switch (l.type) {\r\n @case('ActionTaken') {\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n }\r\n @case('Submit') {\r\n <span>{{'Issued' | translate}}</span>\r\n }\r\n @case('Pending') {\r\n <span>{{'IsPending' | translate}}</span>\r\n }\r\n @case('CheckOut') {\r\n <span>{{'CheckedIn' | translate : l.fileName}}</span>\r\n }\r\n @case('CheckIn') {\r\n <span>{{'CheckedOut' | translate : l.fileName}}</span>\r\n }\r\n @case('Estimate') {\r\n <span>{{'Estimate' | translate}}</span>\r\n }\r\n @case('ModelChange') {\r\n <span>{{'Changed' | translate}}</span>\r\n }\r\n }\r\n @if(l.fyi) {\r\n <span> {{'FYI'|translate}}</span>\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if(l.estimate) {\r\n @if(l.durationMax && l.durationMax === l.durationMin)\r\n {<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n }\r\n @if(l.durationMax && l.durationMax !== l.durationMin){<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>}\r\n }\r\n @else {\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n @if(l.duration) {<span [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\"> ({{l.duration | amDuration:'s'}})</span>}\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if (l.note) {<span>{{l.note}}</span> }\r\n @if (l.type==='ModelChange') {<button mat-icon-button (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>}\r\n </td>\r\n </tr>}\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"] }]
|
16343
|
+
args: [{ standalone: false, selector: 'bizdoc-trace', animations: [listAnimation, itemAnimation], template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n @for(l of data; track l){\r\n <tr class=\"mat-mdc-row\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n @if(l.role) {<span>{{'JoinComma'|translate}}{{l.role | role}}</span>}\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @switch (l.type) {\r\n @case('ActionTaken') {\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n }\r\n @case('Submit') {\r\n <span>{{'Issued' | translate}}</span>\r\n }\r\n @case('Pending') {\r\n <span>{{'IsPending' | translate}}</span>\r\n }\r\n @case('CheckOut') {\r\n <span>{{'CheckedIn' | translate : l.fileName}}</span>\r\n }\r\n @case('CheckIn') {\r\n <span>{{'CheckedOut' | translate : l.fileName}}</span>\r\n }\r\n @case('Estimate') {\r\n <span>{{'Estimate' | translate}}</span>\r\n }\r\n @case('ModelChange') {\r\n <span>{{'Changed' | translate}}</span>\r\n }\r\n }\r\n @if(l.fyi) {\r\n <span> {{'FYI'|translate}}</span>\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if(l.estimate) {\r\n @if(l.durationMax && l.durationMax === l.durationMin)\r\n {<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n }\r\n @if(l.durationMax && l.durationMax !== l.durationMin){<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>}\r\n }\r\n @else {\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n @if(l.duration) {<span [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\"> ({{l.duration | amDuration:'s'}})</span>}\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if (l.note) {<span>{{l.note}}</span> }\r\n @if (l.type==='ModelChange') {<button mat-icon-button (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>}\r\n </td>\r\n </tr>}\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"] }]
|
16313
16344
|
}], ctorParameters: () => [{ type: SessionService }, { type: TranslateService }, { type: AccountService }, { type: ChatInfo }, { type: HubService }], propDecorators: { model: [{
|
16314
16345
|
type: Input
|
16315
16346
|
}], version: [{
|
@@ -26587,7 +26618,7 @@ class ActionPipe {
|
|
26587
26618
|
return action[args[0]] || (args[1] !== false ? action.title : null);
|
26588
26619
|
return action.title;
|
26589
26620
|
}
|
26590
|
-
return
|
26621
|
+
return value;
|
26591
26622
|
}
|
26592
26623
|
constructor(session) {
|
26593
26624
|
this.map = new Map();
|
@@ -27780,31 +27811,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
27780
27811
|
type: Output
|
27781
27812
|
}] } });
|
27782
27813
|
|
27783
|
-
class RolePipe {
|
27784
|
-
transform(value, ...args) {
|
27785
|
-
const role = this.map.get(value);
|
27786
|
-
if (role) {
|
27787
|
-
if (args.length)
|
27788
|
-
return role[args[0]] || role.title;
|
27789
|
-
return role.title;
|
27790
|
-
}
|
27791
|
-
return `_${value}`;
|
27792
|
-
}
|
27793
|
-
constructor(session) {
|
27794
|
-
this.map = new Map();
|
27795
|
-
session.profile.roles.forEach(a => this.map.set(a.name, a));
|
27796
|
-
}
|
27797
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
27798
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, isStandalone: false, name: "role" }); }
|
27799
|
-
}
|
27800
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, decorators: [{
|
27801
|
-
type: Pipe,
|
27802
|
-
args: [{
|
27803
|
-
standalone: false,
|
27804
|
-
name: 'role'
|
27805
|
-
}]
|
27806
|
-
}], ctorParameters: () => [{ type: SessionService }] });
|
27807
|
-
|
27808
27814
|
class JoinPipe {
|
27809
27815
|
transform(value, ...args) {
|
27810
27816
|
return this._translate.join(value);
|