@bizdoc/core 3.3.2 → 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/assets/themes/dark.min.css +51 -5
- package/assets/themes/default.min.css +49 -5
- package/fesm2022/bizdoc-core.mjs +108 -48
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/compose/form-ref.d.ts +1 -0
- package/lib/core/models.d.ts +1 -0
- package/lib/cube/cube.service.d.ts +1 -1
- package/package.json +1 -1
package/fesm2022/bizdoc-core.mjs
CHANGED
@@ -138,7 +138,7 @@ import { LinearGaugeModule, AnnotationsService, GaugeTooltipService } from '@syn
|
|
138
138
|
import * as i6$6 from '@syncfusion/ej2-angular-charts';
|
139
139
|
import { RangeNavigator, AreaSeries, LineSeries, DateTime, RangeTooltip, Sparkline, SparklineTooltip, AccumulationChart as AccumulationChart$1, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, Chart as Chart$1, Highlight, StripLine, BoxAndWhiskerSeries, Category, Tooltip as Tooltip$1, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, ScrollBar, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation, ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, BulletChartModule, RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, SparklineTooltipService, SplineRangeAreaSeriesService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, BulletTooltipService, ChartComponent } from '@syncfusion/ej2-angular-charts';
|
140
140
|
import * as i8$3 from '@syncfusion/ej2-angular-grids';
|
141
|
-
import { Grid as Grid$1, ExcelExport, Sort, Group, Page, Freeze, Selection as Selection$1, Aggregate, GridModule, PagerModule, ExcelExportService, AggregateService, FreezeService, GroupService, PageService, ResizeService, SortService, SelectionService as SelectionService$1, GridComponent } from '@syncfusion/ej2-angular-grids';
|
141
|
+
import { Grid as Grid$1, ExcelExport, Sort, Group, Page, Freeze, Selection as Selection$1, Aggregate, ExcelFilter, Filter, ColumnMenu, ForeignKey, Resize, Reorder, Search, Scroll, ColumnChooser, GridModule, PagerModule, ExcelExportService, AggregateService, FreezeService, ColumnChooserService, ColumnMenuService, FilterService, ForeignKeyService, InfiniteScrollService, ReorderService, VirtualScrollService, SearchService as SearchService$1, ToolbarService as ToolbarService$1, GroupService, PageService, ResizeService, SortService, SelectionService as SelectionService$1, GridComponent } from '@syncfusion/ej2-angular-grids';
|
142
142
|
import { CircularGauge, Annotations, GaugeTooltip, Legend as Legend$1, CircularGaugeModule, AnnotationsService as AnnotationsService$1, GaugeTooltipService as GaugeTooltipService$1, LegendService as LegendService$1 } from '@syncfusion/ej2-angular-circulargauge';
|
143
143
|
import { PivotView as PivotView$1, GroupingBar, ExcelExport as ExcelExport$1, PivotChart, CalculatedField, PivotViewModule, ExcelExportService as ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService, CalculatedFieldService, PivotViewComponent } from '@syncfusion/ej2-angular-pivotview';
|
144
144
|
import * as i9 from '@syncfusion/ej2-angular-spreadsheet';
|
@@ -1510,14 +1510,63 @@ const L18N_STRINGS = {
|
|
1510
1510
|
},
|
1511
1511
|
grid: {
|
1512
1512
|
EmptyRecord: 'אין רשומות',
|
1513
|
-
GroupDropArea: '',
|
1513
|
+
GroupDropArea: 'גרור/י עמודה לכאן',
|
1514
|
+
UnGroup: '',
|
1515
|
+
Item: '',
|
1516
|
+
UnGroupButton: '',
|
1514
1517
|
Items: 'רשומות',
|
1518
|
+
Expanded: '',
|
1519
|
+
Collapsed: '',
|
1520
|
+
Matchs: 'לא נמצאו רשומות',
|
1521
|
+
NoResult: 'לא נמצאו רשומות',
|
1522
|
+
FilterButton: 'סינון',
|
1523
|
+
ClearButton: 'נקה',
|
1524
|
+
Clear: 'נקה',
|
1525
|
+
ClearFilter: 'נקה סינון',
|
1526
|
+
StartsWith: 'מתחיל ב-',
|
1527
|
+
EndsWith: 'מסתיים ב-',
|
1528
|
+
Contains: 'מכיל',
|
1529
|
+
Equal: 'שווה',
|
1530
|
+
NotEqual: 'שונה',
|
1531
|
+
LessThan: 'פחות מ-',
|
1532
|
+
LessThanOrEqual: 'פחות מ- או שווה',
|
1533
|
+
GreaterThan: 'גדול מ-',
|
1534
|
+
GreaterThanOrEqual: 'גדול מ- או שווה',
|
1535
|
+
ChooseDate: 'בחר/י תאריך',
|
1536
|
+
EnterValue: 'הקלד/י ערך',
|
1537
|
+
SelectAll: 'בחר הכל',
|
1538
|
+
Blanks: 'רווחים',
|
1539
|
+
AND: 'וגם',
|
1540
|
+
OR: 'או',
|
1541
|
+
IsNotEmpty: 'לא ריק',
|
1542
|
+
IsEmpty: 'ריק',
|
1543
|
+
Between: 'בין',
|
1544
|
+
MatchCase: 'אותיות גדולות/קטנות',
|
1545
|
+
ShowRowsWhere: 'הצג רשומות בהן',
|
1546
|
+
DateTimeFilter: 'סינון תאריך ושעה',
|
1547
|
+
DateFilter: 'סינון תאריך',
|
1548
|
+
TextFilter: 'סינון טקסטואלי',
|
1549
|
+
NumberFilter: 'סינון מספרי',
|
1550
|
+
CustomFilterDatePlaceHolder: '',
|
1551
|
+
CustomFilterPlaceHolder: '',
|
1552
|
+
CustomFilter: 'סנן מותאם',
|
1553
|
+
SortLargestToSmallest: 'מיון מערך גבוה לנמוך',
|
1554
|
+
SortSmallestToLargest: 'מיון מערך נמוך לגבוה',
|
1555
|
+
SortByNewest: 'מיון לפי חדש',
|
1556
|
+
SortByOldest: 'מיון לפי ישן',
|
1557
|
+
SortZtoA: 'מיון בסדר יורד',
|
1558
|
+
SortAtoZ: 'מיון בסדר עולה',
|
1559
|
+
AddCurrentSelection: '',
|
1515
1560
|
currentPageInfo: '{0} מתוך {1} עמודים',
|
1516
1561
|
totalItemsInfo: '({0} רשומות)',
|
1517
1562
|
firstPageTooltip: '',
|
1518
1563
|
lastPageTooltip: '',
|
1519
1564
|
nextPageTooltip: '',
|
1520
|
-
previousPageTooltip: ''
|
1565
|
+
previousPageTooltip: '',
|
1566
|
+
True: 'כן',
|
1567
|
+
False: 'לא',
|
1568
|
+
FilterTrue: 'כן',
|
1569
|
+
FilterFalse: 'לא',
|
1521
1570
|
},
|
1522
1571
|
kanban: {
|
1523
1572
|
'items': 'מסמכים',
|
@@ -1934,7 +1983,7 @@ const STRINGS = {
|
|
1934
1983
|
ShowAs: 'Show as: {0}',
|
1935
1984
|
Unauthorized: 'Unauthorized access',
|
1936
1985
|
NotAcceptable: 'Unauthorized access',
|
1937
|
-
LicenseErr: '
|
1986
|
+
LicenseErr: 'Limited license, contact support',
|
1938
1987
|
RemoveAsk: 'Are you sure?',
|
1939
1988
|
Comments: 'Comments',
|
1940
1989
|
Remove: 'Remove',
|
@@ -8741,7 +8790,7 @@ class StatePipe {
|
|
8741
8790
|
return state[args[0]] || state.title;
|
8742
8791
|
return state.title;
|
8743
8792
|
}
|
8744
|
-
return
|
8793
|
+
return value;
|
8745
8794
|
}
|
8746
8795
|
constructor(session) {
|
8747
8796
|
this._map = new Map();
|
@@ -9508,6 +9557,7 @@ class FormRef {
|
|
9508
9557
|
this._router = _router;
|
9509
9558
|
this._configuration = _configuration;
|
9510
9559
|
this._stateChange$ = new Subject();
|
9560
|
+
this._destroy$ = new Subject();
|
9511
9561
|
this._create$ = new Subject();
|
9512
9562
|
this._help = _configuration.guide;
|
9513
9563
|
}
|
@@ -9541,6 +9591,7 @@ class FormRef {
|
|
9541
9591
|
}
|
9542
9592
|
/** release events */
|
9543
9593
|
_destroy() {
|
9594
|
+
this._destroy$.next();
|
9544
9595
|
this._stateChange$.complete();
|
9545
9596
|
}
|
9546
9597
|
}
|
@@ -15934,6 +15985,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
15934
15985
|
}]
|
15935
15986
|
}], ctorParameters: () => [] });
|
15936
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
|
+
|
15937
16013
|
/** component showing trace table */
|
15938
16014
|
class TraceViewComponent extends TraceBase {
|
15939
16015
|
constructor(session, _translate, _accounts, _chat, hub) {
|
@@ -15998,17 +16074,19 @@ class TraceViewComponent extends TraceBase {
|
|
15998
16074
|
}
|
15999
16075
|
const trace = [];
|
16000
16076
|
for (let l of log) {
|
16001
|
-
let action;
|
16077
|
+
let action, fileName;
|
16002
16078
|
switch (l.type) {
|
16003
16079
|
case 'ActionTaken':
|
16004
16080
|
{
|
16005
16081
|
action = this._session.profile.actions.find(a => a.name === l.action);
|
16006
|
-
if (action.loggable === false)
|
16082
|
+
if (!action || action.loggable === false)
|
16007
16083
|
continue;
|
16008
16084
|
break;
|
16009
16085
|
}
|
16010
16086
|
case 'CheckIn':
|
16011
16087
|
case 'CheckOut':
|
16088
|
+
let attachment = attachments.find(f => f.id === l.fileId);
|
16089
|
+
fileName = attachment.fileName;
|
16012
16090
|
break;
|
16013
16091
|
case 'ModelChange':
|
16014
16092
|
break;
|
@@ -16024,17 +16102,12 @@ class TraceViewComponent extends TraceBase {
|
|
16024
16102
|
time: l.time,
|
16025
16103
|
type: l.type,
|
16026
16104
|
duration: l.duration,
|
16105
|
+
fileName,
|
16106
|
+
role: l.role,
|
16027
16107
|
note: l.note,
|
16028
16108
|
state: l.state
|
16029
16109
|
};
|
16030
16110
|
trace.push(step);
|
16031
|
-
switch (l.type) {
|
16032
|
-
case 'CheckIn':
|
16033
|
-
case 'CheckOut':
|
16034
|
-
let attachment = attachments.find(f => f.id === l.fileId);
|
16035
|
-
step.fileName = attachment.fileName;
|
16036
|
-
break;
|
16037
|
-
}
|
16038
16111
|
if (l.recipientId) {
|
16039
16112
|
let recipient = recipients.find(r => r.id === l.recipientId);
|
16040
16113
|
if (recipient.role)
|
@@ -16133,14 +16206,21 @@ class TraceViewComponent extends TraceBase {
|
|
16133
16206
|
if (by.role)
|
16134
16207
|
step.role = by.role;
|
16135
16208
|
}
|
16209
|
+
if (action)
|
16210
|
+
step.action = await actionBy(action, who.gender);
|
16136
16211
|
}
|
16137
|
-
else if (l.userId === this._session.userId)
|
16212
|
+
else if (l.userId === this._session.userId) {
|
16138
16213
|
step.name = this._translate.get('You');
|
16214
|
+
if (action)
|
16215
|
+
step.action = await actionBy(action, this._session.gender);
|
16216
|
+
}
|
16139
16217
|
else {
|
16140
16218
|
let who = await profileOf(l.userId);
|
16141
16219
|
step.name = nameOf(who);
|
16142
16220
|
if (who.role)
|
16143
16221
|
step.role = who.role;
|
16222
|
+
if (action)
|
16223
|
+
step.action = await actionBy(action, who.gender);
|
16144
16224
|
}
|
16145
16225
|
}
|
16146
16226
|
for (let recipient of recipients) {
|
@@ -16223,7 +16303,9 @@ class TraceViewComponent extends TraceBase {
|
|
16223
16303
|
_filter() {
|
16224
16304
|
switch (this._showMode) {
|
16225
16305
|
case 'active':
|
16226
|
-
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();
|
16227
16309
|
break;
|
16228
16310
|
case 'route':
|
16229
16311
|
this.data = this._data.filter(l => l.type === 'ActionTaken' || l.type === 'Estimate' || l.type === 'Pending');
|
@@ -16254,11 +16336,11 @@ class TraceViewComponent extends TraceBase {
|
|
16254
16336
|
this.versionSelected.emit(log.time);
|
16255
16337
|
}
|
16256
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 }); }
|
16257
|
-
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] }); }
|
16258
16340
|
}
|
16259
16341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TraceViewComponent, decorators: [{
|
16260
16342
|
type: Component,
|
16261
|
-
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"] }]
|
16262
16344
|
}], ctorParameters: () => [{ type: SessionService }, { type: TranslateService }, { type: AccountService }, { type: ChatInfo }, { type: HubService }], propDecorators: { model: [{
|
16263
16345
|
type: Input
|
16264
16346
|
}], version: [{
|
@@ -17833,11 +17915,11 @@ class DocumentFactory {
|
|
17833
17915
|
const portal = new ComponentPortal(comp, null, injector);
|
17834
17916
|
const compRef = overlayRef.attach(portal);
|
17835
17917
|
formRef._mode = compRef.instance.mode = 'overlay';
|
17836
|
-
// create on form
|
17918
|
+
// create on form continue() call
|
17837
17919
|
formRef._create$.
|
17838
17920
|
subscribe({
|
17839
17921
|
next: m => {
|
17840
|
-
if (m !== false)
|
17922
|
+
if (m && m !== false)
|
17841
17923
|
this._mailbox.create(formId, m).subscribe({
|
17842
17924
|
next: d => {
|
17843
17925
|
observe.next(d);
|
@@ -17862,7 +17944,8 @@ class DocumentFactory {
|
|
17862
17944
|
}
|
17863
17945
|
});
|
17864
17946
|
// callback
|
17865
|
-
this._messaging.callback$.pipe(takeUntil$1(formRef.
|
17947
|
+
this._messaging.callback$.pipe(takeUntil$1(formRef._destroy$)).
|
17948
|
+
subscribe(e => compRef.instance.onMessage && compRef.instance.onMessage(e.message));
|
17866
17949
|
// escape
|
17867
17950
|
merge(overlayRef.backdropClick(), overlayRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape'))).
|
17868
17951
|
subscribe(() => {
|
@@ -22532,12 +22615,13 @@ Diagram$1.Inject(FlowchartLayout /*, HierarchicalTree, ComplexHierarchicalTree*/
|
|
22532
22615
|
|
22533
22616
|
class SyncfusionGridModule {
|
22534
22617
|
constructor() {
|
22535
|
-
Grid$1.Inject(ExcelExport, Sort, Group, Page, Freeze, Selection$1, Aggregate);
|
22618
|
+
Grid$1.Inject(ExcelExport, Sort, Group, Page, Freeze, Selection$1, Aggregate, ExcelFilter, Filter, ColumnMenu, ForeignKey, Resize, Reorder, Search, Scroll, ColumnChooser);
|
22536
22619
|
}
|
22537
22620
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SyncfusionGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
22538
22621
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: SyncfusionGridModule, imports: [GridModule, PagerModule], exports: [GridModule, PagerModule] }); }
|
22539
22622
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SyncfusionGridModule, providers: [
|
22540
22623
|
ExcelExportService, AggregateService, FreezeService,
|
22624
|
+
ColumnChooserService, ColumnMenuService, FilterService, ForeignKeyService, InfiniteScrollService, ReorderService, VirtualScrollService, SearchService$1, ToolbarService$1,
|
22541
22625
|
GroupService, PageService, ResizeService, SortService, SelectionService$1
|
22542
22626
|
], imports: [GridModule, PagerModule, GridModule, PagerModule] }); }
|
22543
22627
|
}
|
@@ -22548,6 +22632,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
22548
22632
|
exports: [GridModule, PagerModule],
|
22549
22633
|
providers: [
|
22550
22634
|
ExcelExportService, AggregateService, FreezeService,
|
22635
|
+
ColumnChooserService, ColumnMenuService, FilterService, ForeignKeyService, InfiniteScrollService, ReorderService, VirtualScrollService, SearchService$1, ToolbarService$1,
|
22551
22636
|
GroupService, PageService, ResizeService, SortService, SelectionService$1
|
22552
22637
|
]
|
22553
22638
|
}]
|
@@ -26533,7 +26618,7 @@ class ActionPipe {
|
|
26533
26618
|
return action[args[0]] || (args[1] !== false ? action.title : null);
|
26534
26619
|
return action.title;
|
26535
26620
|
}
|
26536
|
-
return
|
26621
|
+
return value;
|
26537
26622
|
}
|
26538
26623
|
constructor(session) {
|
26539
26624
|
this.map = new Map();
|
@@ -27726,31 +27811,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
27726
27811
|
type: Output
|
27727
27812
|
}] } });
|
27728
27813
|
|
27729
|
-
class RolePipe {
|
27730
|
-
transform(value, ...args) {
|
27731
|
-
const role = this.map.get(value);
|
27732
|
-
if (role) {
|
27733
|
-
if (args.length)
|
27734
|
-
return role[args[0]] || role.title;
|
27735
|
-
return role.title;
|
27736
|
-
}
|
27737
|
-
return `_${value}`;
|
27738
|
-
}
|
27739
|
-
constructor(session) {
|
27740
|
-
this.map = new Map();
|
27741
|
-
session.profile.roles.forEach(a => this.map.set(a.name, a));
|
27742
|
-
}
|
27743
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
27744
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, isStandalone: false, name: "role" }); }
|
27745
|
-
}
|
27746
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RolePipe, decorators: [{
|
27747
|
-
type: Pipe,
|
27748
|
-
args: [{
|
27749
|
-
standalone: false,
|
27750
|
-
name: 'role'
|
27751
|
-
}]
|
27752
|
-
}], ctorParameters: () => [{ type: SessionService }] });
|
27753
|
-
|
27754
27814
|
class JoinPipe {
|
27755
27815
|
transform(value, ...args) {
|
27756
27816
|
return this._translate.join(value);
|