@bizdoc/core 1.13.31 → 1.13.34
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/esm2020/lib/browse/browse-items.component.mjs +4 -4
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +3 -5
- package/esm2020/lib/compose/action/moveto-action.component.mjs +5 -2
- package/esm2020/lib/compose/compose.pane.component.mjs +3 -3
- package/esm2020/lib/compose/form.component.mjs +3 -3
- package/esm2020/lib/compose/trace/flow.component.mjs +11 -5
- package/esm2020/lib/compose/trace/trace.component.mjs +54 -83
- package/esm2020/lib/core/mailbox.service.mjs +2 -2
- package/esm2020/lib/core/session.service.mjs +2 -2
- package/esm2020/lib/core/translations.mjs +5 -5
- package/fesm2015/bizdoc-core.mjs +82 -104
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +82 -104
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/compose/trace/trace.component.d.ts +1 -1
- package/lib/core/translations.d.ts +4 -4
- package/package.json +1 -1
package/fesm2015/bizdoc-core.mjs
CHANGED
@@ -1023,7 +1023,7 @@ class SessionService {
|
|
1023
1023
|
_config && _config.maps && this._loadMaps();
|
1024
1024
|
}
|
1025
1025
|
get profile() { return this._profile; }
|
1026
|
-
get gender() { return this._profile.byGender
|
1026
|
+
get gender() { return this.profile.byId ? this._profile.byGender : this._profile.gender; }
|
1027
1027
|
get accentPalette() {
|
1028
1028
|
const palette = MATERIAL_PALETTES[this.theme.accent];
|
1029
1029
|
return this._constructpalette(palette);
|
@@ -1517,7 +1517,7 @@ class MailboxService {
|
|
1517
1517
|
return this._getGeoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}&go=true`, model, { params }))).pipe(this._notify());
|
1518
1518
|
}
|
1519
1519
|
send(id, version, form, model, action, actionArgs, read, folderId, received) {
|
1520
|
-
return this._getGeoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}&action=${action}`, model, { params: Object.assign(params, actionArgs) }))).pipe(tap(() => read === false && this._updateunreadcounter(received, folderId, -1)), this._notify());
|
1520
|
+
return this._getGeoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}&action=${action}`, model, { params: Object.assign(Object.assign({}, params), actionArgs) }))).pipe(tap(() => read === false && this._updateunreadcounter(received, folderId, -1)), this._notify());
|
1521
1521
|
}
|
1522
1522
|
events(starting, ending, contains) {
|
1523
1523
|
return this._http.get(`/api/events`, {
|
@@ -2073,7 +2073,7 @@ const STRINGS = {
|
|
2073
2073
|
YouSubstituteActionTakenTo: 'Document {0} to {1} by you instead of {2} {3}',
|
2074
2074
|
Substituting: '{0} substituting {1}',
|
2075
2075
|
SubstitutingForYou: '{0} substituting you',
|
2076
|
-
|
2076
|
+
YouSubstituting: 'You substituting {0}',
|
2077
2077
|
SubstitutingBy: '{0} by {2} substituting {1}',
|
2078
2078
|
SubstitutingByYou: '{0} by you substituting {1}',
|
2079
2079
|
SubstitutingYou: 'Substituting for you',
|
@@ -2629,9 +2629,9 @@ const STRINGS = {
|
|
2629
2629
|
SubstitutingForFemale: 'במקום {0}',
|
2630
2630
|
Substituting: '{0} מחליף את {1}',
|
2631
2631
|
SubstitutingForYou: '{0} מחליף אותך',
|
2632
|
-
|
2633
|
-
|
2634
|
-
|
2632
|
+
YouSubstituting: 'את/ה מחליף את {0}',
|
2633
|
+
YouSubstitutingMale: 'אתה מחליף את {0}',
|
2634
|
+
YouSubstitutingFemale: 'את מחליפה את {0}',
|
2635
2635
|
SubstitutingBy: '{0} מחליף את {1} דרך {2}',
|
2636
2636
|
SubstitutingByYou: '{0} מחליף/פה את {1} דרכך}',
|
2637
2637
|
SubstitutingByYouMale: '{0} מחליף את {1} דרכך}',
|
@@ -7444,10 +7444,8 @@ class ExpandedItemComponent {
|
|
7444
7444
|
(e.userId !== this._session.userId) && this._accounts.get(e.userId).subscribe(u => this._sb.toast('MailVersionUpdate', this.model.number, u.name));
|
7445
7445
|
}
|
7446
7446
|
});
|
7447
|
-
this._mailbox.changed.pipe(takeUntil(this._destroy)).subscribe(e =>
|
7448
|
-
|
7449
|
-
this._refresh();
|
7450
|
-
});
|
7447
|
+
this._mailbox.changed.pipe(takeUntil(this._destroy)).subscribe(e => (e.id === this.model.id) &&
|
7448
|
+
this._refresh());
|
7451
7449
|
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).subscribe(c => {
|
7452
7450
|
this.typing = true;
|
7453
7451
|
clearTimeout(this._typingTask);
|
@@ -7853,7 +7851,7 @@ class BrowseItemsComponent {
|
|
7853
7851
|
this.refresh();
|
7854
7852
|
}
|
7855
7853
|
_assign(model1, model2) {
|
7856
|
-
Object.assign(model1, model2, {
|
7854
|
+
Object.assign(model1, { actions: null }, model2, {
|
7857
7855
|
model: Object.deepAssign(model1.model, model1.model)
|
7858
7856
|
});
|
7859
7857
|
}
|
@@ -8011,11 +8009,11 @@ class BrowseItemsComponent {
|
|
8011
8009
|
return;
|
8012
8010
|
const actions = m[0].actions.slice();
|
8013
8011
|
for (let i = 1; i < m.length; i++) {
|
8014
|
-
|
8012
|
+
let item = m[i];
|
8015
8013
|
if (!item.actions)
|
8016
8014
|
return;
|
8017
8015
|
for (let j = 0; j < actions.length; j++) {
|
8018
|
-
if (item.actions.indexOf(actions[j])
|
8016
|
+
if (item.actions.indexOf(actions[j]) < 0)
|
8019
8017
|
actions.splice(j, 1);
|
8020
8018
|
}
|
8021
8019
|
}
|
@@ -8918,7 +8916,7 @@ class ComposeFormComponent {
|
|
8918
8916
|
this.validChange.emit(this.valid);
|
8919
8917
|
this.dirty = false;
|
8920
8918
|
this.dirtyChange.emit(this.dirty);
|
8921
|
-
this.actions = this.model.actions ? this._session.profile.actions.filter(a => this.model.actions.indexOf(a.name) > -1).
|
8919
|
+
this.actions = this.model.actions.length ? this._session.profile.actions.filter(a => this.model.actions.indexOf(a.name) > -1).
|
8922
8920
|
sort(this._sortActions) : [];
|
8923
8921
|
}
|
8924
8922
|
_sortActions(a, b) {
|
@@ -9104,7 +9102,7 @@ class ComposeFormComponent {
|
|
9104
9102
|
}
|
9105
9103
|
}
|
9106
9104
|
_assign(model) {
|
9107
|
-
Object.assign(this.model, model, {
|
9105
|
+
Object.assign(this.model, { actions: null }, model, {
|
9108
9106
|
model: Object.deepAssign(this.model.model, model.model) // preserve object ref
|
9109
9107
|
});
|
9110
9108
|
this.modelChange.emit(this.model);
|
@@ -9299,12 +9297,12 @@ class ComposePaneComponent {
|
|
9299
9297
|
}
|
9300
9298
|
}
|
9301
9299
|
ComposePaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ComposePaneComponent, deps: [{ token: SessionService }, { token: MailboxService }, { token: PaneRef }, { token: PanesRouter }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
9302
|
-
ComposePaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ComposePaneComponent, selector: "bizdoc-compose.pane", host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)", "document:keydown": "handleKeydown($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "form", first: true, predicate: ComposeFormComponent, descendants: true, static: true }, { propertyName: "dropableElement", first: true, predicate: ["dropable"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"
|
9300
|
+
ComposePaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ComposePaneComponent, selector: "bizdoc-compose.pane", host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)", "document:keydown": "handleKeydown($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "form", first: true, predicate: ComposeFormComponent, descendants: true, static: true }, { propertyName: "dropableElement", first: true, predicate: ["dropable"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"form.actions.length === 1\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\">\r\n <span>{{form.actions[0].title}}</span>\r\n </button>\r\n <button mat-stroked-button data-help=\"send\" color=\"primary\" *ngIf=\"form.actions.length > 1\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"!valid||working\">\r\n <span>{{'Send' | translate}}</span>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of form.actions; let i = index\">\r\n <mat-divider *ngIf=\"i > 0 && form.actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"save()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"'Save'|translate\" *ngIf=\"mode === 'compose'\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon class=\"filled\">{{model.tags && model.tags.length ?'bookmark':'bookmark_border'}}</mat-icon></button>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.document-flag]=\"model.flag\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\" *ngIf=\"mode !== 'compose' && model.pending && !model.completed\"><mat-icon>create</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"navTrace()\" [bizdocTooltip]=\"'Trace' | translate\" tabindex=\"1\"><mat-icon>timeline</mat-icon></button>\r\n <button mat-icon-button (click)=\"navComments()\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\r\n <mat-icon [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"view()\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" *ngIf=\"enableAnalysis\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"expand()\" [bizdocTooltip]=\"'Expand' | translate\" *ngIf=\"expendable\" [attr.aria-label]=\"'Expand' | translate\"><mat-icon>open_in_new</mat-icon></button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #optionsMenu=\"matMenu\">\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\r\n <!--<mat-icon>content_copy</mat-icon>-->\r\n <span>{{'Copy' | translate}}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"discard()\" *ngIf=\"model.draft && !model.issued\" [disabled]=\"working\">\r\n <!--<mat-icon>delete_outlined</mat-icon>-->\r\n <span>{{'Discard' | translate}}</span>\r\n </button>\r\n <ng-container *ngIf=\"form.help\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"form.guide(form.help)\">\r\n <!--<mat-icon>help_outline</mat-icon>-->\r\n <span>{{'Help' | translate}}</span>\r\n </button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"close()\"><!--<mat-icon></mat-icon>--><span>{{'Close'| translate}}</span></button>\r\n </ng-template>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<div class=\"file-dropable\" #dropable>\r\n <bizdoc-form [model]=model #form\r\n (modelChange)=\"change()\"\r\n (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n</div>\r\n", styles: [".nav-toolbar{position:sticky;top:0;z-index:1}\n"], components: [{ type: i7$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i12$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: ComposeFormComponent, selector: "bizdoc-form", inputs: ["model", "working", "dirty", "valid", "mode", "contacts"], outputs: ["modelChange", "workingChange", "dirtyChange", "validChange"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i9.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": TranslatePipe } });
|
9303
9301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ComposePaneComponent, decorators: [{
|
9304
9302
|
type: Component,
|
9305
9303
|
args: [{ selector: 'bizdoc-compose.pane', host: {
|
9306
9304
|
class: 'pane'
|
9307
|
-
}, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"
|
9305
|
+
}, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button color=\"primary\" (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"form.page !== undefined\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"model.draft\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\">\r\n <span>{{'Submit' | translate}}</span>\r\n </button>\r\n <button mat-stroked-button color=\"primary\" *ngIf=\"form.actions.length === 1\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\">\r\n <span>{{form.actions[0].title}}</span>\r\n </button>\r\n <button mat-stroked-button data-help=\"send\" color=\"primary\" *ngIf=\"form.actions.length > 1\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"!valid||working\">\r\n <span>{{'Send' | translate}}</span>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of form.actions; let i = index\">\r\n <mat-divider *ngIf=\"i > 0 && form.actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"save()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"'Save'|translate\" *ngIf=\"mode === 'compose'\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon class=\"filled\">{{model.tags && model.tags.length ?'bookmark':'bookmark_border'}}</mat-icon></button>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.document-flag]=\"model.flag\">{{model.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\" *ngIf=\"mode !== 'compose' && model.pending && !model.completed\"><mat-icon>create</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"navTrace()\" [bizdocTooltip]=\"'Trace' | translate\" tabindex=\"1\"><mat-icon>timeline</mat-icon></button>\r\n <button mat-icon-button (click)=\"navComments()\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\" [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\">\r\n <mat-icon [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"view()\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" *ngIf=\"enableAnalysis\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"expand()\" [bizdocTooltip]=\"'Expand' | translate\" *ngIf=\"expendable\" [attr.aria-label]=\"'Expand' | translate\"><mat-icon>open_in_new</mat-icon></button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #optionsMenu=\"matMenu\">\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\r\n <!--<mat-icon>content_copy</mat-icon>-->\r\n <span>{{'Copy' | translate}}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"discard()\" *ngIf=\"model.draft && !model.issued\" [disabled]=\"working\">\r\n <!--<mat-icon>delete_outlined</mat-icon>-->\r\n <span>{{'Discard' | translate}}</span>\r\n </button>\r\n <ng-container *ngIf=\"form.help\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"form.guide(form.help)\">\r\n <!--<mat-icon>help_outline</mat-icon>-->\r\n <span>{{'Help' | translate}}</span>\r\n </button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"close()\"><!--<mat-icon></mat-icon>--><span>{{'Close'| translate}}</span></button>\r\n </ng-template>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<div class=\"file-dropable\" #dropable>\r\n <bizdoc-form [model]=model #form\r\n (modelChange)=\"change()\"\r\n (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n</div>\r\n", styles: [".nav-toolbar{position:sticky;top:0;z-index:1}\n"] }]
|
9308
9306
|
}], ctorParameters: function () {
|
9309
9307
|
return [{ type: SessionService }, { type: MailboxService }, { type: PaneRef }, { type: PanesRouter }, { type: undefined, decorators: [{
|
9310
9308
|
type: Inject,
|
@@ -14035,15 +14033,18 @@ class FlowViewComponent extends TraceBase {
|
|
14035
14033
|
for (r = 0; r < recipients.length; r++) {
|
14036
14034
|
let recipient = recipients[r];
|
14037
14035
|
const { annotation, tooltip } = yield this._note(node, recipient);
|
14036
|
+
const content = this._tooltip(tooltip);
|
14038
14037
|
const nod = {
|
14039
14038
|
id: r === 0 ? node.id : node.id + r.toString(),
|
14040
14039
|
shape: this._configuration[node.type].shape,
|
14041
14040
|
zIndex: zIndex++,
|
14042
14041
|
tooltip: {
|
14043
|
-
content
|
14042
|
+
content,
|
14044
14043
|
position: 'TopCenter'
|
14045
14044
|
},
|
14046
|
-
constraints:
|
14045
|
+
constraints: content ?
|
14046
|
+
NodeConstraints.Default | NodeConstraints.Tooltip :
|
14047
|
+
NodeConstraints.Default,
|
14047
14048
|
addInfo: {
|
14048
14049
|
tooltip,
|
14049
14050
|
recipient,
|
@@ -14123,15 +14124,18 @@ class FlowViewComponent extends TraceBase {
|
|
14123
14124
|
else {
|
14124
14125
|
const { state, annotation, tooltip } = yield this._shape(node);
|
14125
14126
|
const { shape } = configuration;
|
14127
|
+
const content = this._tooltip(tooltip);
|
14126
14128
|
nodes.push({
|
14127
14129
|
id: node.id,
|
14128
14130
|
shape,
|
14129
14131
|
zIndex: zIndex++,
|
14130
14132
|
tooltip: {
|
14131
|
-
content
|
14133
|
+
content,
|
14132
14134
|
position: 'TopCenter'
|
14133
14135
|
},
|
14134
|
-
constraints:
|
14136
|
+
constraints: content ?
|
14137
|
+
NodeConstraints.Default | NodeConstraints.Tooltip :
|
14138
|
+
NodeConstraints.Default,
|
14135
14139
|
addInfo: {
|
14136
14140
|
tooltip,
|
14137
14141
|
node
|
@@ -14620,9 +14624,9 @@ class TraceViewComponent extends TraceBase {
|
|
14620
14624
|
step.fyi = recipient.fyi;
|
14621
14625
|
if (recipient.substituteId) {
|
14622
14626
|
if (recipient.byId) {
|
14623
|
-
if (recipient.byId === this._session.userId
|
14627
|
+
if (recipient.byId === this._session.userId) {
|
14624
14628
|
let who = yield profileOf(recipient.userId);
|
14625
|
-
if (recipient.substituteId === this._session.userId
|
14629
|
+
if (recipient.substituteId === this._session.userId)
|
14626
14630
|
step.name = this._translate.get('ByYou', nameOf(who));
|
14627
14631
|
else {
|
14628
14632
|
let substituting = yield profileOf(recipient.substituteId);
|
@@ -14632,9 +14636,7 @@ class TraceViewComponent extends TraceBase {
|
|
14632
14636
|
step.action = yield actionBy(action, You, recipient.id);
|
14633
14637
|
}
|
14634
14638
|
else {
|
14635
|
-
let by = yield profileOf(recipient.byId);
|
14636
|
-
let who = yield profileOf(recipient.userId);
|
14637
|
-
let substituting = yield profileOf(recipient.substituteId);
|
14639
|
+
let by = yield profileOf(recipient.byId), who = yield profileOf(recipient.userId), substituting = yield profileOf(recipient.substituteId);
|
14638
14640
|
step.name = this._translate.get('SubstitutingBy', nameOf(who), nameOf(substituting), nameOf(by));
|
14639
14641
|
if (by.role)
|
14640
14642
|
step.role = by.role;
|
@@ -14642,31 +14644,29 @@ class TraceViewComponent extends TraceBase {
|
|
14642
14644
|
step.action = yield actionBy(action, by.gender, recipient.id);
|
14643
14645
|
}
|
14644
14646
|
}
|
14647
|
+
else if (recipient.userId === this._session.userId) {
|
14648
|
+
let substituting = yield profileOf(recipient.substituteId);
|
14649
|
+
step.name = this._translate.personalize('YouSubstituting', this._session.gender, nameOf(substituting));
|
14650
|
+
if (action)
|
14651
|
+
step.action = yield actionBy(action, this._session.gender, recipient.id);
|
14652
|
+
}
|
14653
|
+
else if (recipient.substituteId === this._session.userId) {
|
14654
|
+
let who = yield profileOf(recipient.userId);
|
14655
|
+
step.name = this._translate.personalize('SubstitutingForYou', who.gender, nameOf(who));
|
14656
|
+
if (action)
|
14657
|
+
step.action = yield actionBy(action, who.gender, recipient.id);
|
14658
|
+
}
|
14645
14659
|
else {
|
14646
|
-
|
14647
|
-
|
14648
|
-
|
14649
|
-
|
14650
|
-
|
14651
|
-
|
14652
|
-
else if (recipient.substituteId === this._session.userId && !this._session.isImpersonating) {
|
14653
|
-
let who = yield profileOf(recipient.userId);
|
14654
|
-
step.name = this._translate.personalize('SubstitutingForYou', who.gender, nameOf(who));
|
14655
|
-
if (action)
|
14656
|
-
step.action = yield actionBy(action, who.gender, recipient.id);
|
14657
|
-
}
|
14658
|
-
else {
|
14659
|
-
let who = yield profileOf(recipient.userId), substituting = yield profileOf(recipient.substituteId);
|
14660
|
-
step.name = this._translate.personalize('Substituting', who.gender, nameOf(who), nameOf(substituting));
|
14661
|
-
if (who.role)
|
14662
|
-
step.role = who.role;
|
14663
|
-
if (action)
|
14664
|
-
step.action = yield actionBy(action, who.gender, recipient.id);
|
14665
|
-
}
|
14660
|
+
let who = yield profileOf(recipient.userId), substituting = yield profileOf(recipient.substituteId);
|
14661
|
+
step.name = this._translate.personalize('Substituting', who.gender, nameOf(who), nameOf(substituting));
|
14662
|
+
if (who.role)
|
14663
|
+
step.role = who.role;
|
14664
|
+
if (action)
|
14665
|
+
step.action = yield actionBy(action, who.gender, recipient.id);
|
14666
14666
|
}
|
14667
14667
|
}
|
14668
14668
|
else if (recipient.byId) {
|
14669
|
-
if (recipient.userId === this._session.userId
|
14669
|
+
if (recipient.userId === this._session.userId) {
|
14670
14670
|
let by = yield profileOf(recipient.byId);
|
14671
14671
|
step.name = this._translate.get('YouBy', nameOf(by));
|
14672
14672
|
if (action)
|
@@ -14674,7 +14674,7 @@ class TraceViewComponent extends TraceBase {
|
|
14674
14674
|
}
|
14675
14675
|
else {
|
14676
14676
|
let who = yield profileOf(recipient.userId);
|
14677
|
-
if (recipient.byId === this._session.userId
|
14677
|
+
if (recipient.byId === this._session.userId) {
|
14678
14678
|
step.name = this._translate.get('ByYou', nameOf(who));
|
14679
14679
|
if (action)
|
14680
14680
|
step.action = yield actionBy(action, You, recipient.id);
|
@@ -14690,7 +14690,7 @@ class TraceViewComponent extends TraceBase {
|
|
14690
14690
|
}
|
14691
14691
|
}
|
14692
14692
|
else {
|
14693
|
-
if (recipient.userId === this._session.userId
|
14693
|
+
if (recipient.userId === this._session.userId) {
|
14694
14694
|
step.name = this._translate.get('You');
|
14695
14695
|
if (action)
|
14696
14696
|
step.action = yield actionBy(action, You, recipient.id);
|
@@ -14705,36 +14705,28 @@ class TraceViewComponent extends TraceBase {
|
|
14705
14705
|
}
|
14706
14706
|
}
|
14707
14707
|
}
|
14708
|
-
else {
|
14709
|
-
|
14710
|
-
|
14711
|
-
|
14712
|
-
step.name = this._translate.get('ByYou', this._session.profile.name);
|
14713
|
-
else
|
14714
|
-
step.name = this._session.profile.name;
|
14715
|
-
}
|
14716
|
-
else
|
14717
|
-
step.name = this._translate.get('You');
|
14718
|
-
}
|
14708
|
+
else if (l.byId) {
|
14709
|
+
let who = yield profileOf(l.userId);
|
14710
|
+
if (l.byId === this._session.profile.byId)
|
14711
|
+
step.name = this._translate.get('ByYou', nameOf(who));
|
14719
14712
|
else {
|
14720
|
-
let
|
14721
|
-
|
14722
|
-
|
14723
|
-
|
14724
|
-
if (l.byId === this._session.profile.byId)
|
14725
|
-
step.name = this._translate.get('ByYou', nameOf(who));
|
14726
|
-
else {
|
14727
|
-
let by = yield profileOf(l.byId);
|
14728
|
-
step.name = this._translate.get('By', nameOf(who), nameOf(by));
|
14729
|
-
}
|
14730
|
-
}
|
14731
|
-
else
|
14732
|
-
step.name = nameOf(who);
|
14713
|
+
let by = yield profileOf(l.byId);
|
14714
|
+
step.name = this._translate.get('By', nameOf(who), nameOf(by));
|
14715
|
+
if (by.role)
|
14716
|
+
step.role = by.role;
|
14733
14717
|
}
|
14734
14718
|
}
|
14719
|
+
else if (l.userId === this._session.userId)
|
14720
|
+
step.name = this._translate.get('You');
|
14721
|
+
else {
|
14722
|
+
let who = yield profileOf(l.userId);
|
14723
|
+
step.name = nameOf(who);
|
14724
|
+
if (who.role)
|
14725
|
+
step.role = who.role;
|
14726
|
+
}
|
14735
14727
|
}
|
14736
14728
|
for (let recipient of recipients) {
|
14737
|
-
if (!recipient.pending && !recipient.estimate
|
14729
|
+
if (!recipient.pending && !recipient.estimate)
|
14738
14730
|
continue;
|
14739
14731
|
let step = {
|
14740
14732
|
time: recipient.received,
|
@@ -14756,39 +14748,22 @@ class TraceViewComponent extends TraceBase {
|
|
14756
14748
|
step.durationMin = min,
|
14757
14749
|
step.durationMax = max;
|
14758
14750
|
}
|
14759
|
-
step.fyi = recipient.fyi;
|
14760
14751
|
}
|
14761
14752
|
}
|
14762
14753
|
if (recipient.substituteId) {
|
14763
|
-
|
14764
|
-
|
14765
|
-
|
14766
|
-
|
14767
|
-
|
14768
|
-
|
14769
|
-
|
14770
|
-
step.name = this._translate.personalize('SubstitutingByYou', who.gender, nameOf(who), nameOf(substituting));
|
14771
|
-
}
|
14772
|
-
}
|
14773
|
-
else {
|
14774
|
-
let substituting = yield profileOf(recipient.substituteId);
|
14775
|
-
let by = yield profileOf(recipient.byId);
|
14776
|
-
step.name = this._translate.get('SubstitutingBy', nameOf(who), nameOf(substituting), nameOf(by));
|
14777
|
-
if (by.role)
|
14778
|
-
step.role = by.role;
|
14779
|
-
}
|
14754
|
+
if (recipient.substituteId === this._session.userId) {
|
14755
|
+
let who = yield profileOf(recipient.userId);
|
14756
|
+
step.name = this._translate.personalize('SubstitutingForYou', who.gender, nameOf(who));
|
14757
|
+
}
|
14758
|
+
else if (recipient.userId === this._session.userId) {
|
14759
|
+
let substituting = yield profileOf(recipient.substituteId);
|
14760
|
+
step.name = this._translate.personalize('YouSubstituting', this._session.gender, nameOf(substituting));
|
14780
14761
|
}
|
14781
14762
|
else {
|
14782
|
-
|
14783
|
-
|
14784
|
-
|
14785
|
-
step.
|
14786
|
-
else {
|
14787
|
-
let substituting = yield profileOf(recipient.substituteId);
|
14788
|
-
step.name = this._translate.personalize('Substituting', who.gender, nameOf(who), nameOf(substituting));
|
14789
|
-
if (who.role)
|
14790
|
-
step.role = who.role;
|
14791
|
-
}
|
14763
|
+
let who = yield profileOf(recipient.userId), substituting = yield profileOf(recipient.substituteId);
|
14764
|
+
step.name = this._translate.personalize('Substituting', who.gender, nameOf(who), nameOf(substituting));
|
14765
|
+
if (who.role)
|
14766
|
+
step.role = who.role;
|
14792
14767
|
}
|
14793
14768
|
}
|
14794
14769
|
else if (recipient.byId) {
|
@@ -14863,7 +14838,7 @@ class TraceViewComponent extends TraceBase {
|
|
14863
14838
|
this._chat.open(userId);
|
14864
14839
|
}
|
14865
14840
|
/**
|
14866
|
-
* model version compare
|
14841
|
+
* model version compare
|
14867
14842
|
* @param log
|
14868
14843
|
*/
|
14869
14844
|
compare(log) {
|
@@ -27116,7 +27091,10 @@ let MoveToActionComponent = class MoveToActionComponent {
|
|
27116
27091
|
const me = this._session.userId;
|
27117
27092
|
this.users$ = this.userIds.valueChanges.
|
27118
27093
|
pipe(debounceTime$1(200), takeUntil(this._destroy), switchMap(v => this._accounts.findAll(v, { take: 20 }).
|
27119
|
-
pipe(map(r =>
|
27094
|
+
pipe(map(r => {
|
27095
|
+
const userIds = this.form.controls['userIds'].value || [];
|
27096
|
+
return r.filter(u => u.id !== me && userIds.indexOf(u.id) < 0);
|
27097
|
+
}))));
|
27120
27098
|
}
|
27121
27099
|
/**
|
27122
27100
|
*
|