@bizdoc/core 1.13.0-next.4 → 1.13.0-next.8
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/app.component.mjs +1 -1
- package/esm2020/lib/browse/browse-items.component.mjs +3 -3
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +63 -45
- package/esm2020/lib/compose/trace/flow.component.mjs +93 -85
- package/esm2020/lib/compose/trace/trace.component.mjs +6 -12
- package/esm2020/lib/core/mailbox.service.mjs +29 -6
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/translations.mjs +9 -2
- package/fesm2015/bizdoc-core.mjs +192 -142
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +192 -142
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/app.component.d.ts +2 -2
- package/lib/browse/expanded-item/expanded-item.component.d.ts +6 -6
- package/lib/core/mailbox.service.d.ts +4 -1
- package/lib/core/models.d.ts +3 -2
- package/lib/core/translations.d.ts +8 -1
- package/package.json +1 -1
package/fesm2020/bizdoc-core.mjs
CHANGED
@@ -1561,20 +1561,43 @@ function isHttpProgressEvent(event) {
|
|
1561
1561
|
}
|
1562
1562
|
function calculateState(upload, event) {
|
1563
1563
|
if (isHttpProgressEvent(event)) {
|
1564
|
-
return {
|
1564
|
+
return new UploadEvent({
|
1565
1565
|
progress: event.total
|
1566
1566
|
? Math.round((100 * event.loaded) / event.total)
|
1567
1567
|
: upload.progress,
|
1568
1568
|
state: 'progress',
|
1569
|
-
};
|
1569
|
+
});
|
1570
1570
|
}
|
1571
1571
|
if (isHttpResponse(event)) {
|
1572
|
-
return {
|
1572
|
+
return new UploadEvent({
|
1573
1573
|
progress: 100,
|
1574
1574
|
state: 'done',
|
1575
|
-
};
|
1575
|
+
});
|
1576
1576
|
}
|
1577
1577
|
return upload;
|
1578
|
+
}
|
1579
|
+
class UploadEvent {
|
1580
|
+
constructor(options) { }
|
1581
|
+
}
|
1582
|
+
function reportprogress(filename) {
|
1583
|
+
return (source) => source.pipe(map(r => {
|
1584
|
+
//if (event instanceof ProgressEvent) {
|
1585
|
+
// observe.next(new UploadEvent(
|
1586
|
+
// file.name,
|
1587
|
+
// (event as ProgressEvent).loaded,
|
1588
|
+
// (event as ProgressEvent).total
|
1589
|
+
// ));
|
1590
|
+
//} else if (event instanceof HttpResponse) {
|
1591
|
+
// const res = event as HttpResponse<any>;
|
1592
|
+
// if (res.status === 200) {
|
1593
|
+
// const model = res.body as Attachment;
|
1594
|
+
// observe.next(model);
|
1595
|
+
// }
|
1596
|
+
// else
|
1597
|
+
// observe.error({ status: res.status, error: res.body });
|
1598
|
+
// observe.complete();
|
1599
|
+
return r;
|
1600
|
+
}));
|
1578
1601
|
}
|
1579
1602
|
|
1580
1603
|
class ActionRef {
|
@@ -2074,6 +2097,9 @@ const STRINGS = {
|
|
2074
2097
|
YouRepliedTo: 'You replied {0}',
|
2075
2098
|
ReplyingToYou: '{0} in reply to you',
|
2076
2099
|
ByYou: '{0} by you',
|
2100
|
+
ActionBy: '{0} by {1}',
|
2101
|
+
ActionByBy: '{0} by {1} on behalf of {2}',
|
2102
|
+
ActionByYou: '{0} by you',
|
2077
2103
|
Received: 'Received',
|
2078
2104
|
ChangeLanguage: 'Language',
|
2079
2105
|
NewMail: 'New {0} #{1} {2}',
|
@@ -2345,6 +2371,7 @@ const STRINGS = {
|
|
2345
2371
|
Votes: 'Votes',
|
2346
2372
|
Tasks: 'Tasks',
|
2347
2373
|
System: 'System',
|
2374
|
+
Everything: 'Everything',
|
2348
2375
|
NothingHere: 'Nothing to see here',
|
2349
2376
|
Matrix: 'Matrix',
|
2350
2377
|
Working: 'Working on it...'
|
@@ -2381,7 +2408,7 @@ const STRINGS = {
|
|
2381
2408
|
Skipped: '- דולג',
|
2382
2409
|
Route: 'חותמים',
|
2383
2410
|
Trace: 'הסטוריה',
|
2384
|
-
|
2411
|
+
Everything: 'הסטוריה',
|
2385
2412
|
ProfilerSearchHelp: 'הקלד/י שם משתמש ובחר/י מהרשימה כדי לסקור פעולותיו.',
|
2386
2413
|
TraceSearchHelp: 'הקלד/י מספר מסמך ובחר/י כדי לעקוב אחרי תנועותיו.',
|
2387
2414
|
DiagramVersion: 'גרסה {0}',
|
@@ -2742,6 +2769,9 @@ const STRINGS = {
|
|
2742
2769
|
YouRepliedTo: '{0}השבת ל',
|
2743
2770
|
ReplyingToYou: '{0} השיב לך',
|
2744
2771
|
ByYou: '{0} דרכך',
|
2772
|
+
ActionByYou: '{0} דרכך',
|
2773
|
+
ActionByBy: '{0} דרך {1} בשם {2}',
|
2774
|
+
ActionBy: '{0} דרך {1}',
|
2745
2775
|
EscalatedTo: 'החרפה אל {0} אחרי <em>{1}</em>',
|
2746
2776
|
EscalatedFrom: 'החרפה מ-{0} אחרי <em>{1}</em>',
|
2747
2777
|
EscalatedBy: '{0} הועבר אל {1}',
|
@@ -6890,15 +6920,15 @@ function getSecondsUntilUpdate(time) {
|
|
6890
6920
|
|
6891
6921
|
const REFRESH_TIME = 30000, TYPING_HINT_TIME = 1500;
|
6892
6922
|
class ExpandedItemComponent {
|
6893
|
-
constructor(_sb, _chat, _accounts,
|
6923
|
+
constructor(_sb, _chat, _accounts, _mailbox, _session, _dir, _dialog, _translate, _messaging) {
|
6894
6924
|
this._sb = _sb;
|
6895
6925
|
this._chat = _chat;
|
6896
6926
|
this._accounts = _accounts;
|
6897
|
-
this._dir = _dir;
|
6898
|
-
this._translate = _translate;
|
6899
6927
|
this._mailbox = _mailbox;
|
6900
|
-
this._dialog = _dialog;
|
6901
6928
|
this._session = _session;
|
6929
|
+
this._dir = _dir;
|
6930
|
+
this._dialog = _dialog;
|
6931
|
+
this._translate = _translate;
|
6902
6932
|
this._messaging = _messaging;
|
6903
6933
|
this.sent = new EventEmitter();
|
6904
6934
|
this._destroy = new Subject();
|
@@ -6906,22 +6936,22 @@ class ExpandedItemComponent {
|
|
6906
6936
|
ngOnInit() {
|
6907
6937
|
this._messaging.comment$.pipe(takeUntil(this._destroy)).
|
6908
6938
|
subscribe(e => {
|
6909
|
-
if (e.id === this.
|
6939
|
+
if (e.id === this.model.id && (e.model.byId || e.model.userId) !== this._session.userId) {
|
6910
6940
|
this._comments();
|
6911
6941
|
this._accounts.get(e.model.userId).subscribe(u => this._sb.toast('Commented', u.gender, u.name));
|
6912
6942
|
}
|
6913
6943
|
});
|
6914
6944
|
this._messaging.update$.pipe(takeUntil(this._destroy)).subscribe(e => {
|
6915
|
-
if (e.model.id === this.
|
6945
|
+
if (e.model.id === this.model.id) {
|
6916
6946
|
this._refresh();
|
6917
|
-
(e.userId !== this._session.userId) && this._accounts.get(e.userId).subscribe(u => this._sb.toast('MailVersionUpdate', this.
|
6947
|
+
(e.userId !== this._session.userId) && this._accounts.get(e.userId).subscribe(u => this._sb.toast('MailVersionUpdate', this.model.number, u.name));
|
6918
6948
|
}
|
6919
6949
|
});
|
6920
6950
|
this._mailbox.changed.pipe(takeUntil(this._destroy)).subscribe(e => {
|
6921
|
-
if (e.id === this.
|
6951
|
+
if (e.id === this.model.id)
|
6922
6952
|
this._refresh();
|
6923
6953
|
});
|
6924
|
-
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.
|
6954
|
+
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).subscribe(c => {
|
6925
6955
|
this.typing = true;
|
6926
6956
|
clearTimeout(this._typingTask);
|
6927
6957
|
this._typingTask = setTimeout(() => this.typing = false, TYPING_HINT_TIME);
|
@@ -6930,27 +6960,28 @@ class ExpandedItemComponent {
|
|
6930
6960
|
this._refreshTask = setInterval(() => this._refresh(), REFRESH_TIME);
|
6931
6961
|
}
|
6932
6962
|
async _note() {
|
6933
|
-
const { ownerId, issued, substitutingId, received, replied, log, id, note, byId, action, toId, escalated } = this.
|
6963
|
+
const { ownerId, issued, substitutingId, received, replied, log, id, note, byId, action, toId, escalated, originId } = this.model;
|
6934
6964
|
if (substitutingId) {
|
6935
|
-
this._accounts.get(substitutingId).
|
6936
|
-
|
6937
|
-
|
6938
|
-
|
6939
|
-
|
6940
|
-
|
6941
|
-
this.note = this._translate.personalize('YouSubstituteActionTaken', u.gender, adjective, this._formatUserElement(u), time);
|
6942
|
-
}
|
6943
|
-
else if (escalated) {
|
6944
|
-
const escalations = log.filter(l => l.time > issued &&
|
6945
|
-
l.type === 'Escalation'
|
6946
|
-
&& l.recipientId === id);
|
6947
|
-
this.note = this._translate.personalize('EscalatedFrom', u.gender, this._formatUserElement(u), this._duration(escalations[0].duration));
|
6965
|
+
const substituting = await this._accounts.get(substitutingId).toPromise();
|
6966
|
+
if (replied) {
|
6967
|
+
const time = this._fromNow(replied), action = this._session.profile.actions.find(a => a.name === action), adjective = (action.adjective || action.title).toLowerCase();
|
6968
|
+
if (toId) {
|
6969
|
+
const to = await this._accounts.get(toId).toPromise();
|
6970
|
+
this.note = this._translate.personalize('YouSubstituteActionTakenTo', substituting.gender, adjective, this._formatUserElement(to), this._formatUserElement(substituting), time);
|
6948
6971
|
}
|
6949
|
-
else
|
6950
|
-
|
6951
|
-
|
6952
|
-
|
6953
|
-
|
6972
|
+
else
|
6973
|
+
this.note = this._translate.personalize('YouSubstituteActionTaken', substituting.gender, adjective, this._formatUserElement(substituting), time);
|
6974
|
+
}
|
6975
|
+
else if (escalated) {
|
6976
|
+
const escalations = log.filter(l => l.time > issued &&
|
6977
|
+
l.type === 'Escalation'
|
6978
|
+
&& l.recipientId === id);
|
6979
|
+
this.note = this._translate.personalize('EscalatedFrom', substituting.gender, this._formatUserElement(substituting), this._duration(escalations[0].duration));
|
6980
|
+
}
|
6981
|
+
else {
|
6982
|
+
const time = this._fromNow(received);
|
6983
|
+
this.note = this._translate.personalize('SubstitutingNote', substituting.gender, this._formatUserElement(substituting), time, note || '');
|
6984
|
+
}
|
6954
6985
|
}
|
6955
6986
|
else if (replied) {
|
6956
6987
|
const time = this._fromNow(replied);
|
@@ -6984,6 +7015,23 @@ class ExpandedItemComponent {
|
|
6984
7015
|
}
|
6985
7016
|
else if (note)
|
6986
7017
|
this.note = note;
|
7018
|
+
else if (originId) {
|
7019
|
+
const origin = this.model.recipients.find(r => r.id === originId);
|
7020
|
+
if (origin.toId) {
|
7021
|
+
const action = this._session.profile.actions.find(a => a.name === origin.action), adjective = action.adjective || action.past || action.title;
|
7022
|
+
if ((origin.byId || origin.userId) === this._session.userId)
|
7023
|
+
this.note = this._translate.get('ActionByYou', adjective);
|
7024
|
+
else if (origin.byId) {
|
7025
|
+
const who = await this._accounts.get(origin.userId).toPromise();
|
7026
|
+
const by = await this._accounts.get(origin.byId).toPromise();
|
7027
|
+
this.note = this._translate.get('ActionByBy', adjective, by.name, who.name);
|
7028
|
+
}
|
7029
|
+
else {
|
7030
|
+
const who = await this._accounts.get(origin.userId).toPromise();
|
7031
|
+
this.note = this._translate.get('ActionBy', adjective, who.name);
|
7032
|
+
}
|
7033
|
+
}
|
7034
|
+
}
|
6987
7035
|
else if (ownerId === this._session.profile.userId && issued) {
|
6988
7036
|
const time = this._fromNow(issued);
|
6989
7037
|
if (byId) {
|
@@ -7024,9 +7072,9 @@ class ExpandedItemComponent {
|
|
7024
7072
|
}
|
7025
7073
|
/** */
|
7026
7074
|
async _refresh() {
|
7027
|
-
const { actions } = this.
|
7075
|
+
const { actions } = this.model;
|
7028
7076
|
this.actions = actions && actions.length ? this._session.profile.actions.filter(a => actions.indexOf(a.name) > -1) : null;
|
7029
|
-
const { senderId } = this.
|
7077
|
+
const { senderId } = this.model;
|
7030
7078
|
// sender
|
7031
7079
|
if (senderId && (senderId !== this._session.userId)) {
|
7032
7080
|
const who = await this._accounts.get(senderId).toPromise();
|
@@ -7037,13 +7085,13 @@ class ExpandedItemComponent {
|
|
7037
7085
|
this._awaiting();
|
7038
7086
|
}
|
7039
7087
|
_comments() {
|
7040
|
-
const { viewed, comments } = this.
|
7088
|
+
const { viewed, comments } = this.model;
|
7041
7089
|
this.newComments = viewed ?
|
7042
7090
|
comments.filter(c => c.time > viewed && (c.byId || c.userId) !== this._session.userId).length || null : null;
|
7043
7091
|
}
|
7044
7092
|
async _awaiting() {
|
7045
7093
|
//awaiting
|
7046
|
-
let recipients = this.
|
7094
|
+
let recipients = this.model.recipients.filter(r => r.pending && !r.estimate).
|
7047
7095
|
sort((r0, r1) => r0.received > r1.received ? 1 : -1).
|
7048
7096
|
map(r => r.userId);
|
7049
7097
|
recipients = recipients.filter((r, i) => recipients.indexOf(r) === i); /* unique */
|
@@ -7074,10 +7122,10 @@ class ExpandedItemComponent {
|
|
7074
7122
|
* @param action
|
7075
7123
|
*/
|
7076
7124
|
send(action) {
|
7077
|
-
const { id, number, version, formId } = this.
|
7125
|
+
const { id, number, version, formId } = this.model;
|
7078
7126
|
const data = {
|
7079
7127
|
action,
|
7080
|
-
item: this.
|
7128
|
+
item: this.model
|
7081
7129
|
};
|
7082
7130
|
this._dialog.open(ActionDialog, {
|
7083
7131
|
data,
|
@@ -7091,10 +7139,10 @@ class ExpandedItemComponent {
|
|
7091
7139
|
this._accounts.get(r.toId).subscribe(u => this._sb.toast('SentTo', number, adjective.toLowerCase(), u.name));
|
7092
7140
|
else
|
7093
7141
|
this._sb.toast('Sent', number, adjective.toLowerCase());
|
7094
|
-
this.sent.emit(this.
|
7142
|
+
this.sent.emit(this.model);
|
7095
7143
|
this.mode = 'done';
|
7096
7144
|
}, e => {
|
7097
|
-
this._handleResponse(e, this.
|
7145
|
+
this._handleResponse(e, this.model, 'SendErr');
|
7098
7146
|
this.mode = 'failed';
|
7099
7147
|
});
|
7100
7148
|
}
|
@@ -7138,12 +7186,12 @@ class ExpandedItemComponent {
|
|
7138
7186
|
this._typingTask && clearTimeout(this._typingTask);
|
7139
7187
|
}
|
7140
7188
|
}
|
7141
|
-
ExpandedItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: PromptService }, { token: ChatInfo }, { token: AccountService }, { token:
|
7142
|
-
ExpandedItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: {
|
7189
|
+
ExpandedItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: PromptService }, { token: ChatInfo }, { token: AccountService }, { token: MailboxService }, { token: SessionService }, { token: i7$2.Directionality }, { token: i3$2.MatDialog }, { token: TranslateService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component });
|
7190
|
+
ExpandedItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "<div class=\"summary\" *ngIf=\"model.summary\" [innerHTML]=\"model.summary\">\r\n</div>\r\n<div>\r\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\r\n <bizdoc-events [model]=\"model\"></bizdoc-events>\r\n</div>\r\n<div class=\"row\">\r\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span class=\"divider\"></span>\r\n <ng-container *ngFor=\"let a of actions\">\r\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" *ngIf=\"a.icon\" class=\"tool\">\r\n <mat-icon>{{a.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"mat-small\" fxLayout=\"row\">\r\n <span>{{model.stateId | state : 'past' }}</span>\r\n \r\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\r\n \r\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span> \r\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <div fxLayoutAlign=\"center center\">\r\n <span class=\"mat-small\" *ngIf=\"typing\">{{'SomeoneTyping'|translate}}</span>\r\n <div *ngIf=\"model.comments.length\" class=\"mat-small\">\r\n <span *ngIf=\"!newComments; else newcomments\">{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-template #newcomments>\r\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:-moz-fit-content;max-width:fit-content}\n"], components: [{ type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }, { type: DocumentEventsComponent, selector: "bizdoc-events", inputs: ["model"] }, { 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"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i6$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }], pipes: { "sanitizeHtml": SanitizeHtmlPipe, "state": StatePipe, "amCalendar": CalendarPipe, "amTimeAgo": TimeAgoPipe, "translate": TranslatePipe } });
|
7143
7191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ExpandedItemComponent, decorators: [{
|
7144
7192
|
type: Component,
|
7145
|
-
args: [{ selector: 'bizdoc-expanded-item', template: "<div class=\"summary\" *ngIf=\"
|
7146
|
-
}], ctorParameters: function () { return [{ type: PromptService }, { type: ChatInfo }, { type: AccountService }, { type:
|
7193
|
+
args: [{ selector: 'bizdoc-expanded-item', template: "<div class=\"summary\" *ngIf=\"model.summary\" [innerHTML]=\"model.summary\">\r\n</div>\r\n<div>\r\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\r\n <bizdoc-events [model]=\"model\"></bizdoc-events>\r\n</div>\r\n<div class=\"row\">\r\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span class=\"divider\"></span>\r\n <ng-container *ngFor=\"let a of actions\">\r\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" *ngIf=\"a.icon\" class=\"tool\">\r\n <mat-icon>{{a.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"mat-small\" fxLayout=\"row\">\r\n <span>{{model.stateId | state : 'past' }}</span>\r\n \r\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\r\n \r\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span> \r\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <div fxLayoutAlign=\"center center\">\r\n <span class=\"mat-small\" *ngIf=\"typing\">{{'SomeoneTyping'|translate}}</span>\r\n <div *ngIf=\"model.comments.length\" class=\"mat-small\">\r\n <span *ngIf=\"!newComments; else newcomments\">{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-template #newcomments>\r\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:-moz-fit-content;max-width:fit-content}\n"] }]
|
7194
|
+
}], ctorParameters: function () { return [{ type: PromptService }, { type: ChatInfo }, { type: AccountService }, { type: MailboxService }, { type: SessionService }, { type: i7$2.Directionality }, { type: i3$2.MatDialog }, { type: TranslateService }, { type: HubService }]; }, propDecorators: { model: [{
|
7147
7195
|
type: Input
|
7148
7196
|
}], sent: [{
|
7149
7197
|
type: Output
|
@@ -7576,7 +7624,7 @@ class BrowseItemsComponent {
|
|
7576
7624
|
}
|
7577
7625
|
}
|
7578
7626
|
BrowseItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BrowseItemsComponent, deps: [{ token: MailboxService }, { token: AccountService }, { token: CubeService }, { token: SessionService }, { token: PromptService }, { token: TranslateService }, { token: i0.ChangeDetectorRef }, { token: RouterImpl }, { token: HubService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
7579
|
-
BrowseItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<mat-table cdkDropList class=\"data-table\"\r\n [cdkDropListDisabled]=\"isMobile\"\r\n [cdkDropListData]=\"dataSource?.data\"\r\n cdkDropListConnectedTo=\"folders\"\r\n cdkDropListSortingDisabled\r\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\r\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef>\r\n <div class=\"\"></div>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\r\n (change)=\"$event ? selection.toggle(item) : null\"\r\n [checked]=\"selection.isSelected(item)\">\r\n </mat-checkbox>\r\n <!-- drag -->\r\n <!--<button mat-icon-button cdkDragHandle\r\n (mousedown)=\"dragDisabled = false\"\r\n (mouseup)=\"dragDisabled = true\"\r\n (touchstart)=\"dragDisabled = false\"\r\n (touchend)=\"dragDisabled = true\"\r\n class=\"drag\" aria-disabled=\"true\" fxHide.xs>\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>-->\r\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"owner\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.ownerId\" [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sender\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.senderId\" [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"received\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"receivedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"replied\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issued\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issuedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customColumns\">\r\n <ng-container *ngFor=\"let c of customColumns\" [matColumnDef]=\"c.name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <span *ngSwitchCase=\"'Date'\">\r\n {{item.model[c.name] | amCalendar }}\r\n </span>\r\n <span *ngSwitchCase=\"'Decimal'\">\r\n {{item.model[c.name] | number }}\r\n </span>\r\n <span *ngSwitchCase=\"'Boolean'\">\r\n <mat-checkbox [checked]=\"item.model[c.name]\" [disabled]=\"true\"></mat-checkbox>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{item.model[c.name]}}z\r\n </span>\r\n </ng-container>\r\n </mat-cell>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Value column -->\r\n <ng-container matColumnDef=\"value\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- options column -->\r\n <ng-container matColumnDef=\"options\">\r\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" *ngIf=\"enableAnalysis\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" fxHide.xs [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Expanded Content Column -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\r\n [class.read-row]=\"item.read\">\r\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\r\n <bizdoc-expanded-item [item]=\"item\" *ngIf=\"item == expandedElement\"></bizdoc-expanded-item>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row @item [@updated]=\"item == updatedElement\"\r\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\r\n cdkDrag [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"dragDisabled\"\r\n (cdkDragReleased)=\"dragDisabled = true\"\r\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\r\n <div *cdkDragPreview>\r\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\r\n </div>\r\n <div *cdkDragPlaceholder>\r\n <!-- none -->\r\n </div>\r\n </mat-row>\r\n <mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\r\n class=\"detail-row\" matRipple\r\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\r\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\r\n </ng-template>\r\n</mat-menu>\r\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-row .tool{opacity:.05}.mat-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"], components: [{ type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { type: i10$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { 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: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: ["item"], outputs: ["sent"] }, { type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i18.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { type: i8$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i22.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i5$1.MatCellDef, selector: "[matCellDef]" }, { type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i25.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i22.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i25.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i22.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { type: i22.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i8$2.MatMenuContent, selector: "ng-template[matMenuContent]" }], pipes: { "translate": TranslatePipe, "amCalendar": CalendarPipe, "amTimeAgo": TimeAgoPipe, "number": i10.DecimalPipe, "currency": i10.CurrencyPipe }, animations: [
|
7627
|
+
BrowseItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<mat-table cdkDropList class=\"data-table\"\r\n [cdkDropListDisabled]=\"isMobile\"\r\n [cdkDropListData]=\"dataSource?.data\"\r\n cdkDropListConnectedTo=\"folders\"\r\n cdkDropListSortingDisabled\r\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\r\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef>\r\n <div class=\"\"></div>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\r\n (change)=\"$event ? selection.toggle(item) : null\"\r\n [checked]=\"selection.isSelected(item)\">\r\n </mat-checkbox>\r\n <!-- drag -->\r\n <!--<button mat-icon-button cdkDragHandle\r\n (mousedown)=\"dragDisabled = false\"\r\n (mouseup)=\"dragDisabled = true\"\r\n (touchstart)=\"dragDisabled = false\"\r\n (touchend)=\"dragDisabled = true\"\r\n class=\"drag\" aria-disabled=\"true\" fxHide.xs>\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>-->\r\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"owner\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.ownerId\" [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sender\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.senderId\" [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"received\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"receivedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"replied\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issued\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issuedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customColumns\">\r\n <ng-container *ngFor=\"let c of customColumns\" [matColumnDef]=\"c.name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <span *ngSwitchCase=\"'Date'\">\r\n {{item.model[c.name] | amCalendar }}\r\n </span>\r\n <span *ngSwitchCase=\"'Decimal'\">\r\n {{item.model[c.name] | number }}\r\n </span>\r\n <span *ngSwitchCase=\"'Boolean'\">\r\n <mat-checkbox [checked]=\"item.model[c.name]\" [disabled]=\"true\"></mat-checkbox>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{item.model[c.name]}}z\r\n </span>\r\n </ng-container>\r\n </mat-cell>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Value column -->\r\n <ng-container matColumnDef=\"value\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- options column -->\r\n <ng-container matColumnDef=\"options\">\r\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" *ngIf=\"enableAnalysis\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" fxHide.xs [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Expanded Content Column -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\r\n [class.read-row]=\"item.read\">\r\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\r\n <bizdoc-expanded-item [model]=\"item\" *ngIf=\"item == expandedElement\"></bizdoc-expanded-item>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row @item [@updated]=\"item == updatedElement\"\r\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\r\n cdkDrag [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"dragDisabled\"\r\n (cdkDragReleased)=\"dragDisabled = true\"\r\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\r\n <div *cdkDragPreview>\r\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\r\n </div>\r\n <div *cdkDragPlaceholder>\r\n <!-- none -->\r\n </div>\r\n </mat-row>\r\n <mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\r\n class=\"detail-row\" matRipple\r\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\r\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\r\n </ng-template>\r\n</mat-menu>\r\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-row .tool{opacity:.05}.mat-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"], components: [{ type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { type: i10$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i5$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { 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: i6$2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: ["model"], outputs: ["sent"] }, { type: i5$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i5$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i18.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { type: i8$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i22.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i6$2.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i5$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i5$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i5$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i5$1.MatCellDef, selector: "[matCellDef]" }, { type: i5$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i25.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i5$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i5$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i22.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i25.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i22.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { type: i22.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i8$2.MatMenuContent, selector: "ng-template[matMenuContent]" }], pipes: { "translate": TranslatePipe, "amCalendar": CalendarPipe, "amTimeAgo": TimeAgoPipe, "number": i10.DecimalPipe, "currency": i10.CurrencyPipe }, animations: [
|
7580
7628
|
listAnimation,
|
7581
7629
|
itemAnimation,
|
7582
7630
|
expandListItemAnimation,
|
@@ -7589,7 +7637,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
7589
7637
|
itemAnimation,
|
7590
7638
|
expandListItemAnimation,
|
7591
7639
|
listItemUpdatedAnimation
|
7592
|
-
], template: "<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<mat-table cdkDropList class=\"data-table\"\r\n [cdkDropListDisabled]=\"isMobile\"\r\n [cdkDropListData]=\"dataSource?.data\"\r\n cdkDropListConnectedTo=\"folders\"\r\n cdkDropListSortingDisabled\r\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\r\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef>\r\n <div class=\"\"></div>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\r\n (change)=\"$event ? selection.toggle(item) : null\"\r\n [checked]=\"selection.isSelected(item)\">\r\n </mat-checkbox>\r\n <!-- drag -->\r\n <!--<button mat-icon-button cdkDragHandle\r\n (mousedown)=\"dragDisabled = false\"\r\n (mouseup)=\"dragDisabled = true\"\r\n (touchstart)=\"dragDisabled = false\"\r\n (touchend)=\"dragDisabled = true\"\r\n class=\"drag\" aria-disabled=\"true\" fxHide.xs>\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>-->\r\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"owner\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.ownerId\" [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sender\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.senderId\" [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"received\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"receivedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"replied\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issued\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issuedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customColumns\">\r\n <ng-container *ngFor=\"let c of customColumns\" [matColumnDef]=\"c.name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <span *ngSwitchCase=\"'Date'\">\r\n {{item.model[c.name] | amCalendar }}\r\n </span>\r\n <span *ngSwitchCase=\"'Decimal'\">\r\n {{item.model[c.name] | number }}\r\n </span>\r\n <span *ngSwitchCase=\"'Boolean'\">\r\n <mat-checkbox [checked]=\"item.model[c.name]\" [disabled]=\"true\"></mat-checkbox>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{item.model[c.name]}}z\r\n </span>\r\n </ng-container>\r\n </mat-cell>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Value column -->\r\n <ng-container matColumnDef=\"value\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- options column -->\r\n <ng-container matColumnDef=\"options\">\r\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" *ngIf=\"enableAnalysis\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" fxHide.xs [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Expanded Content Column -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\r\n [class.read-row]=\"item.read\">\r\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\r\n <bizdoc-expanded-item [item]=\"item\" *ngIf=\"item == expandedElement\"></bizdoc-expanded-item>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row @item [@updated]=\"item == updatedElement\"\r\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\r\n cdkDrag [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"dragDisabled\"\r\n (cdkDragReleased)=\"dragDisabled = true\"\r\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\r\n <div *cdkDragPreview>\r\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\r\n </div>\r\n <div *cdkDragPlaceholder>\r\n <!-- none -->\r\n </div>\r\n </mat-row>\r\n <mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\r\n class=\"detail-row\" matRipple\r\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\r\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\r\n </ng-template>\r\n</mat-menu>\r\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-row .tool{opacity:.05}.mat-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"] }]
|
7640
|
+
], template: "<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<mat-table cdkDropList class=\"data-table\"\r\n [cdkDropListDisabled]=\"isMobile\"\r\n [cdkDropListData]=\"dataSource?.data\"\r\n cdkDropListConnectedTo=\"folders\"\r\n cdkDropListSortingDisabled\r\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\r\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef>\r\n <div class=\"\"></div>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\r\n (change)=\"$event ? selection.toggle(item) : null\"\r\n [checked]=\"selection.isSelected(item)\">\r\n </mat-checkbox>\r\n <!-- drag -->\r\n <!--<button mat-icon-button cdkDragHandle\r\n (mousedown)=\"dragDisabled = false\"\r\n (mouseup)=\"dragDisabled = true\"\r\n (touchstart)=\"dragDisabled = false\"\r\n (touchend)=\"dragDisabled = true\"\r\n class=\"drag\" aria-disabled=\"true\" fxHide.xs>\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>-->\r\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"owner\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.ownerId\" [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sender\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.senderId\" [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"received\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"receivedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"replied\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issued\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issuedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customColumns\">\r\n <ng-container *ngFor=\"let c of customColumns\" [matColumnDef]=\"c.name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <span *ngSwitchCase=\"'Date'\">\r\n {{item.model[c.name] | amCalendar }}\r\n </span>\r\n <span *ngSwitchCase=\"'Decimal'\">\r\n {{item.model[c.name] | number }}\r\n </span>\r\n <span *ngSwitchCase=\"'Boolean'\">\r\n <mat-checkbox [checked]=\"item.model[c.name]\" [disabled]=\"true\"></mat-checkbox>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{item.model[c.name]}}z\r\n </span>\r\n </ng-container>\r\n </mat-cell>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Value column -->\r\n <ng-container matColumnDef=\"value\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- options column -->\r\n <ng-container matColumnDef=\"options\">\r\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" *ngIf=\"enableAnalysis\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" fxHide.xs [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Expanded Content Column -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\r\n [class.read-row]=\"item.read\">\r\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\r\n <bizdoc-expanded-item [model]=\"item\" *ngIf=\"item == expandedElement\"></bizdoc-expanded-item>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row @item [@updated]=\"item == updatedElement\"\r\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\r\n cdkDrag [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"dragDisabled\"\r\n (cdkDragReleased)=\"dragDisabled = true\"\r\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\r\n <div *cdkDragPreview>\r\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\r\n </div>\r\n <div *cdkDragPlaceholder>\r\n <!-- none -->\r\n </div>\r\n </mat-row>\r\n <mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\r\n class=\"detail-row\" matRipple\r\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\r\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\r\n </ng-template>\r\n</mat-menu>\r\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-row .tool{opacity:.05}.mat-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"] }]
|
7593
7641
|
}], ctorParameters: function () { return [{ type: MailboxService }, { type: AccountService }, { type: CubeService }, { type: SessionService }, { type: PromptService }, { type: TranslateService }, { type: i0.ChangeDetectorRef }, { type: RouterImpl }, { type: HubService }, { type: undefined, decorators: [{
|
7594
7642
|
type: Inject,
|
7595
7643
|
args: [BIZDOC_CONFIG]
|
@@ -13173,9 +13221,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
13173
13221
|
args: [{ name: 'amDurationFormat' }]
|
13174
13222
|
}], ctorParameters: function () { return [{ type: TranslateService }]; } });
|
13175
13223
|
|
13176
|
-
Diagram.Inject(ComplexHierarchicalTree, BpmnDiagrams, DataBinding, LineDistribution /*, LayoutAnimation, LineRouting, ConnectorBridging*/);
|
13177
|
-
const
|
13178
|
-
ELLIPSIS = 'M 650, 150 a 75,150 0 1,0 1,0 z',
|
13224
|
+
Diagram.Inject(ComplexHierarchicalTree, BpmnDiagrams, DataBinding, LineDistribution /*, LineRouting, ConnectorBridging, LayoutAnimation, LineRouting, ConnectorBridging*/);
|
13225
|
+
const
|
13226
|
+
//ELLIPSIS = 'M 650, 150 a 75,150 0 1,0 1,0 z',
|
13227
|
+
FYI_PATH = 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z', ESCALATED_PATH = 'M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z', WARNNING_PATH$1 = 'M 13.763735,1.8433735 H 6.3037349 l -5.27,5.27 v 7.4599995 l 5.27,5.27 h 7.4600001 l 5.27,-5.27 V 7.1133735 Z m -3.73,14.2999995 c -0.7200001,0 -1.3000001,-0.58 -1.3000001,-1.3 0,-0.72 0.58,-1.3 1.3000001,-1.3 0.72,0 1.3,0.58 1.3,1.3 0,0.72 -0.58,1.3 -1.3,1.3 z m 1,-4.3 H 9.0337349 V 5.8433735 h 2.0000001 z';
|
13179
13228
|
/** flow-view component*/
|
13180
13229
|
class FlowViewComponent extends TraceBase {
|
13181
13230
|
/** workflow-view ctor */
|
@@ -13191,14 +13240,13 @@ class FlowViewComponent extends TraceBase {
|
|
13191
13240
|
this.diagramConstraints = DiagramConstraints.Default |
|
13192
13241
|
DiagramConstraints.Pan |
|
13193
13242
|
DiagramConstraints.LineRouting |
|
13194
|
-
DiagramConstraints.
|
13243
|
+
DiagramConstraints.Zoom;
|
13195
13244
|
this.layout = {
|
13196
13245
|
type: 'ComplexHierarchicalTree',
|
13197
13246
|
connectionPointOrigin: ConnectionPointOrigin.DifferentPoint,
|
13198
13247
|
horizontalSpacing: 50,
|
13248
|
+
enableRouting: true,
|
13199
13249
|
verticalSpacing: 50,
|
13200
|
-
//connectorSegments: 'Layout',
|
13201
|
-
//arrangement: ChildArrangement.Linear,
|
13202
13250
|
horizontalAlignment: 'Center',
|
13203
13251
|
connectionDirection: 'Orientation',
|
13204
13252
|
orientation: this._session.inverse ? 'RightToLeft' : 'LeftToRight',
|
@@ -13288,7 +13336,6 @@ class FlowViewComponent extends TraceBase {
|
|
13288
13336
|
obj.style.strokeWidth = 0;
|
13289
13337
|
}
|
13290
13338
|
else {
|
13291
|
-
// obj.shape = { type: 'Bpmn', shape: 'Event' } as BpmnShapeModel;
|
13292
13339
|
obj.width = obj.height = 50;
|
13293
13340
|
if (obj.annotations && obj.annotations.length)
|
13294
13341
|
obj.annotations[0].style.color = this._session.theme.dark ? 'white' : 'black';
|
@@ -13299,7 +13346,8 @@ class FlowViewComponent extends TraceBase {
|
|
13299
13346
|
}
|
13300
13347
|
else {
|
13301
13348
|
obj.style.strokeColor = this._accentColor;
|
13302
|
-
obj.style.fill = recipient && recipient.pending ?
|
13349
|
+
obj.style.fill = recipient && recipient.pending ?
|
13350
|
+
this._session.getAccent(recipient.userId === this._session.userId ? 500 : 400) : 'transparent';
|
13303
13351
|
}
|
13304
13352
|
obj.style.strokeWidth = 2;
|
13305
13353
|
}
|
@@ -13406,7 +13454,7 @@ class FlowViewComponent extends TraceBase {
|
|
13406
13454
|
});
|
13407
13455
|
if (c.sourceId === node.id) {
|
13408
13456
|
//
|
13409
|
-
if (c.
|
13457
|
+
if (c.virtual && c.originId !== recipient.id)
|
13410
13458
|
return;
|
13411
13459
|
connectors.push({
|
13412
13460
|
sourceID: nod.id,
|
@@ -13628,99 +13676,104 @@ class FlowViewComponent extends TraceBase {
|
|
13628
13676
|
const tooltip = {};
|
13629
13677
|
let annotation;
|
13630
13678
|
// you
|
13631
|
-
if (
|
13632
|
-
|
13633
|
-
|
13634
|
-
|
13635
|
-
|
13636
|
-
|
13637
|
-
|
13679
|
+
if (recipient.userId === this._session.userId) {
|
13680
|
+
if (this._session.isImpersonating)
|
13681
|
+
annotation = this._session.profile.name;
|
13682
|
+
else
|
13683
|
+
annotation = this._translate.get('You');
|
13684
|
+
if (recipient.role) {
|
13685
|
+
const role = this._session.profile.roles.find(o => o.name === recipient.role);
|
13686
|
+
if (role)
|
13687
|
+
tooltip.role = `- ${role.title}`;
|
13688
|
+
}
|
13689
|
+
}
|
13690
|
+
else
|
13691
|
+
// someone else
|
13692
|
+
{
|
13693
|
+
const who = await this._accounts.get(recipient.userId).toPromise();
|
13694
|
+
annotation = who.name;
|
13695
|
+
if (who.role)
|
13696
|
+
tooltip.role = `- ${who.role}`;
|
13697
|
+
else if (recipient.role) {
|
13698
|
+
const role = this._session.profile.roles.find(o => o.name === recipient.role);
|
13699
|
+
if (role)
|
13700
|
+
tooltip.role = `- ${role.title}`;
|
13701
|
+
}
|
13702
|
+
}
|
13703
|
+
if (recipient.replied) {
|
13704
|
+
const time = this._fromNow(recipient.replied);
|
13705
|
+
if (recipient.byId) {
|
13706
|
+
if (recipient.byId === this._session.profile.byId) {
|
13707
|
+
const action = this._action(recipient.action, this._session.gender);
|
13708
|
+
if (recipient.toId) {
|
13709
|
+
const to = await this._accounts.get(recipient.toId).toPromise();
|
13710
|
+
tooltip.note = this._translate.get('ActionTakenByYouTo', action, to.name, this._session.profile.name, time);
|
13711
|
+
}
|
13712
|
+
else
|
13713
|
+
tooltip.note = this._translate.get('ActionTakenByYou', action, this._session.profile.name, time);
|
13714
|
+
}
|
13715
|
+
else {
|
13716
|
+
const by = await this._accounts.get(recipient.byId).toPromise();
|
13717
|
+
const action = this._action(recipient.action, by.gender);
|
13718
|
+
if (recipient.userId === this._session.profile.userId) {
|
13638
13719
|
if (recipient.toId) {
|
13639
13720
|
const to = await this._accounts.get(recipient.toId).toPromise();
|
13640
|
-
tooltip.note = this._translate.get('
|
13721
|
+
tooltip.note = this._translate.get('YouTakenActionByTo', by.name, action, to.name, time);
|
13641
13722
|
}
|
13642
13723
|
else
|
13643
|
-
tooltip.note = this._translate.get('
|
13724
|
+
tooltip.note = this._translate.get('YouTakenActionBy', by.name, action, time);
|
13644
13725
|
}
|
13645
13726
|
else {
|
13646
|
-
const
|
13647
|
-
const action = this._action(recipient.action, by.gender);
|
13727
|
+
const who = await this._accounts.get(recipient.userId).toPromise();
|
13648
13728
|
if (recipient.toId) {
|
13649
13729
|
const to = await this._accounts.get(recipient.toId).toPromise();
|
13650
|
-
tooltip.note = this._translate.get('
|
13730
|
+
tooltip.note = this._translate.get('ActionTakenByTo', by.name, action, to.name, who.name, time);
|
13651
13731
|
}
|
13652
13732
|
else
|
13653
|
-
tooltip.note = this._translate.get('
|
13733
|
+
tooltip.note = this._translate.get('ActionTakenBy', by.name, action, who.name, time);
|
13654
13734
|
}
|
13655
13735
|
}
|
13656
|
-
|
13657
|
-
|
13736
|
+
}
|
13737
|
+
else if (recipient.toId) {
|
13738
|
+
const to = await this._accounts.get(recipient.toId).toPromise();
|
13739
|
+
if (recipient.userId === this._session.profile.userId) {
|
13658
13740
|
const action = this._action(recipient.action, this._session.profile.gender);
|
13659
13741
|
if (this._session.isImpersonating)
|
13660
13742
|
tooltip.note = this._translate.get('ActionTakenTo', this._session.profile.name, action, to.name, time);
|
13661
13743
|
else
|
13662
13744
|
tooltip.note = this._translate.get('YouTakenActionTo', action, to.name, time);
|
13663
13745
|
}
|
13664
|
-
else if (this._session.isImpersonating) {
|
13665
|
-
const action = this._action(recipient.action, this._session.profile.gender);
|
13666
|
-
tooltip.note = this._translate.get('ActionTaken', this._session.profile.name, action, time);
|
13667
|
-
}
|
13668
13746
|
else {
|
13669
|
-
const
|
13670
|
-
|
13747
|
+
const who = await this._accounts.get(recipient.userId).toPromise();
|
13748
|
+
const action = this._action(recipient.action, who.gender);
|
13749
|
+
tooltip.note = this._translate.get('ActionTakenTo', who.name, action, to.name);
|
13671
13750
|
}
|
13672
13751
|
}
|
13673
|
-
else if (
|
13674
|
-
const
|
13675
|
-
|
13676
|
-
tooltip.note = this._translate.personalize('ReceivedBy', this._session.profile.gender, this._session.profile.name, time);
|
13677
|
-
else
|
13678
|
-
tooltip.note = this._translate.get('YouReceived', time);
|
13752
|
+
else if (this._session.isImpersonating) {
|
13753
|
+
const action = this._action(recipient.action, this._session.profile.gender);
|
13754
|
+
tooltip.note = this._translate.get('ActionTaken', this._session.profile.name, action, time);
|
13679
13755
|
}
|
13680
|
-
if (recipient.
|
13681
|
-
const
|
13682
|
-
|
13683
|
-
|
13756
|
+
else if (recipient.userId === this._session.profile.userId) {
|
13757
|
+
const action = this._action(recipient.action, You);
|
13758
|
+
tooltip.note = this._translate.get('YouTakenAction', action, time);
|
13759
|
+
}
|
13760
|
+
else {
|
13761
|
+
const who = await this._accounts.get(recipient.userId).toPromise();
|
13762
|
+
const action = this._action(recipient.action, who.gender);
|
13763
|
+
tooltip.note = this._translate.get('ActionTaken', who.name, action, time);
|
13684
13764
|
}
|
13685
13765
|
}
|
13686
|
-
else
|
13687
|
-
|
13688
|
-
|
13766
|
+
else if (!node.estimate) {
|
13767
|
+
const time = this._fromNow(recipient.received);
|
13768
|
+
if (this._session.isImpersonating)
|
13769
|
+
tooltip.note = this._translate.personalize('ReceivedBy', this._session.profile.gender, this._session.profile.name, time);
|
13770
|
+
else
|
13771
|
+
tooltip.note = this._translate.get('YouReceived', time);
|
13772
|
+
}
|
13773
|
+
else if (!recipient.estimate) {
|
13689
13774
|
const who = await this._accounts.get(recipient.userId).toPromise();
|
13690
|
-
|
13691
|
-
|
13692
|
-
tooltip.role = `- ${who.role}`;
|
13693
|
-
else if (recipient.role) {
|
13694
|
-
const crole = this._session.profile.roles.find(o => o.name === recipient.role);
|
13695
|
-
if (crole)
|
13696
|
-
tooltip.role = `- ${crole.title}`;
|
13697
|
-
}
|
13698
|
-
if (recipient.replied) {
|
13699
|
-
const time = this._fromNow(recipient.replied);
|
13700
|
-
if (recipient.byId) {
|
13701
|
-
const by = await this._accounts.get(recipient.byId).toPromise();
|
13702
|
-
const action = this._action(recipient.action, by.gender);
|
13703
|
-
if (recipient.toId) {
|
13704
|
-
const to = await this._accounts.get(recipient.toId).toPromise();
|
13705
|
-
tooltip.note = this._translate.get('ActionTakenByTo', by.name, action, to.name, who.name, time);
|
13706
|
-
}
|
13707
|
-
else
|
13708
|
-
tooltip.note = this._translate.get('ActionTakenBy', by.name, action, who.name, time);
|
13709
|
-
}
|
13710
|
-
else if (recipient.toId) {
|
13711
|
-
const to = await this._accounts.get(recipient.toId).toPromise();
|
13712
|
-
const action = this._action(recipient.action, who.gender);
|
13713
|
-
tooltip.note = this._translate.get('ActionTakenTo', who.name, action, to.name);
|
13714
|
-
}
|
13715
|
-
else {
|
13716
|
-
const action = this._action(recipient.action, who.gender);
|
13717
|
-
tooltip.note = this._translate.get('ActionTaken', who.name, action, time);
|
13718
|
-
}
|
13719
|
-
}
|
13720
|
-
else if (!recipient.estimate) {
|
13721
|
-
const time = this._fromNow(recipient.received);
|
13722
|
-
tooltip.note = this._translate.personalize('ReceivedTime', who.gender, time);
|
13723
|
-
}
|
13775
|
+
const time = this._fromNow(recipient.received);
|
13776
|
+
tooltip.note = this._translate.personalize('ReceivedTime', who.gender, time);
|
13724
13777
|
}
|
13725
13778
|
if (recipient.substitutingId) {
|
13726
13779
|
if (recipient.substitutingId === this._session.userId)
|
@@ -13730,17 +13783,20 @@ class FlowViewComponent extends TraceBase {
|
|
13730
13783
|
tooltip.substituting = this._translate.personalize('SubstitutingFor', substituting.gender, substituting.name);
|
13731
13784
|
}
|
13732
13785
|
}
|
13733
|
-
if (recipient.originId) {
|
13786
|
+
if (recipient.originId && !recipient.replied) {
|
13734
13787
|
const origin = this.model.recipients.find(r => r.id === recipient.originId);
|
13735
13788
|
if (origin.toId) {
|
13736
|
-
const action = this._session.profile.actions.find(a => a.name === origin.action);
|
13737
|
-
|
13738
|
-
|
13739
|
-
|
13789
|
+
const action = this._session.profile.actions.find(a => a.name === origin.action), adjective = action.adjective || action.past || action.title;
|
13790
|
+
if ((origin.byId || origin.userId) === this._session.userId)
|
13791
|
+
tooltip.substituting = this._translate.get('ActionByYou', adjective);
|
13792
|
+
else if (origin.byId) {
|
13793
|
+
const who = await this._accounts.get(origin.userId).toPromise();
|
13794
|
+
const by = await this._accounts.get(origin.byId).toPromise();
|
13795
|
+
tooltip.substituting = this._translate.get('ActionByBy', adjective, by.name, who.name);
|
13740
13796
|
}
|
13741
13797
|
else {
|
13742
|
-
const who = await this._accounts.get(
|
13743
|
-
tooltip.substituting = this._translate.get('
|
13798
|
+
const who = await this._accounts.get(origin.userId).toPromise();
|
13799
|
+
tooltip.substituting = this._translate.get('ActionBy', adjective, who.name);
|
13744
13800
|
}
|
13745
13801
|
}
|
13746
13802
|
}
|
@@ -13962,22 +14018,16 @@ class TraceViewComponent extends TraceBase {
|
|
13962
14018
|
}
|
13963
14019
|
}
|
13964
14020
|
else if (recipient.byId) {
|
13965
|
-
let who = await profileOf(recipient.userId);
|
13966
|
-
if (recipient.byId === this._session.userId)
|
14021
|
+
let who = await profileOf(recipient.userId), by = await profileOf(recipient.byId);
|
14022
|
+
if (recipient.byId === this._session.userId)
|
13967
14023
|
step.name = this._translate.get('ByYou', nameOf(who));
|
13968
|
-
if (action)
|
13969
|
-
step.action = await actionBy(action, You, recipient.toId);
|
13970
|
-
}
|
13971
14024
|
else {
|
13972
|
-
let by = await profileOf(recipient.byId);
|
13973
14025
|
step.name = this._translate.get('By', nameOf(who), nameOf(by));
|
13974
14026
|
if (by.role)
|
13975
14027
|
step.role = by.role;
|
13976
|
-
if (action)
|
13977
|
-
step.action = await actionBy(action, by.gender, recipient.toId);
|
13978
14028
|
}
|
13979
14029
|
if (action)
|
13980
|
-
step.action = await actionBy(action,
|
14030
|
+
step.action = await actionBy(action, by.gender, recipient.toId);
|
13981
14031
|
}
|
13982
14032
|
else {
|
13983
14033
|
if (recipient.userId === this._session.userId)
|
@@ -14136,10 +14186,10 @@ class TraceViewComponent extends TraceBase {
|
|
14136
14186
|
}
|
14137
14187
|
}
|
14138
14188
|
TraceViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TraceViewComponent, deps: [{ token: SessionService }, { token: TranslateService }, { token: AccountService }, { token: ChatInfo }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component });
|
14139
|
-
TraceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: TraceViewComponent, selector: "bizdoc-trace", inputs: { model: "model" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, usesOnChanges: 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)=\"showAll=false\">\r\n <mat-icon>{{ !showAll?'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showAll=true\">\r\n <mat-icon>{{showAll?'check':''}}</mat-icon>\r\n <span>{{'
|
14189
|
+
TraceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: TraceViewComponent, selector: "bizdoc-trace", inputs: { model: "model" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, usesOnChanges: 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)=\"showAll=false\">\r\n <mat-icon>{{ !showAll?'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showAll=true\">\r\n <mat-icon>{{showAll?'check':''}}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n <tr class=\"mat-row\" *ngFor=\"let l of data\" @item>\r\n <td class=\"mat-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span *ngIf=l.role>{{'JoinComma'|translate}}{{l.role}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <ng-container [ngSwitch]=\"l.type\">\r\n <ng-container *ngSwitchCase=\"'ActionTaken'\">\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n </ng-container>\r\n <span *ngSwitchCase=\"'Submit'\">{{'Issued' | translate}}</span>\r\n <span *ngSwitchCase=\"'Pending'\">{{'IsPending' | translate}}</span>\r\n <span *ngSwitchCase=\"'CheckOut'\">{{'CheckedIn' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'CheckIn'\">{{'CheckedOut' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'Estimate'\">{{'Estimate' | translate}}</span>\r\n <span *ngSwitchCase=\"'ModelChange'\">{{'Changed' | translate}}</span>\r\n </ng-container>\r\n <span *ngIf=\"l.fyi\"> {{'FYI'|translate}}</span>\r\n </td>\r\n <td class=\"mat-cell\" [ngSwitch]=\"l.estimate\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <span *ngIf=\"l.durationMax && l.durationMax === l.durationMin\" [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n <span *ngIf=\"l.durationMax && l.durationMax !== l.durationMin\"\r\n [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n <span *ngIf=\"l.duration\" [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\"> ({{l.duration | amDuration:'s'}})</span>\r\n </ng-container>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"l.note\">{{l.note}}</span>\r\n <button mat-icon-button *ngIf=\"l.type==='ModelChange'\" (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"], components: [{ 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: i8$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": TranslatePipe, "sanitizeHtml": SanitizeHtmlPipe, "amDurationFormat": DurationFormatPipe, "amDuration": DurationPipe, "amCalendar": CalendarPipe }, animations: [listAnimation, itemAnimation] });
|
14140
14190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TraceViewComponent, decorators: [{
|
14141
14191
|
type: Component,
|
14142
|
-
args: [{ 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)=\"showAll=false\">\r\n <mat-icon>{{ !showAll?'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showAll=true\">\r\n <mat-icon>{{showAll?'check':''}}</mat-icon>\r\n <span>{{'
|
14192
|
+
args: [{ 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)=\"showAll=false\">\r\n <mat-icon>{{ !showAll?'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showAll=true\">\r\n <mat-icon>{{showAll?'check':''}}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n <tr class=\"mat-row\" *ngFor=\"let l of data\" @item>\r\n <td class=\"mat-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span *ngIf=l.role>{{'JoinComma'|translate}}{{l.role}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <ng-container [ngSwitch]=\"l.type\">\r\n <ng-container *ngSwitchCase=\"'ActionTaken'\">\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n </ng-container>\r\n <span *ngSwitchCase=\"'Submit'\">{{'Issued' | translate}}</span>\r\n <span *ngSwitchCase=\"'Pending'\">{{'IsPending' | translate}}</span>\r\n <span *ngSwitchCase=\"'CheckOut'\">{{'CheckedIn' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'CheckIn'\">{{'CheckedOut' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'Estimate'\">{{'Estimate' | translate}}</span>\r\n <span *ngSwitchCase=\"'ModelChange'\">{{'Changed' | translate}}</span>\r\n </ng-container>\r\n <span *ngIf=\"l.fyi\"> {{'FYI'|translate}}</span>\r\n </td>\r\n <td class=\"mat-cell\" [ngSwitch]=\"l.estimate\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <span *ngIf=\"l.durationMax && l.durationMax === l.durationMin\" [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n <span *ngIf=\"l.durationMax && l.durationMax !== l.durationMin\"\r\n [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n <span *ngIf=\"l.duration\" [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\"> ({{l.duration | amDuration:'s'}})</span>\r\n </ng-container>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"l.note\">{{l.note}}</span>\r\n <button mat-icon-button *ngIf=\"l.type==='ModelChange'\" (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"] }]
|
14143
14193
|
}], ctorParameters: function () { return [{ type: SessionService }, { type: TranslateService }, { type: AccountService }, { type: ChatInfo }, { type: HubService }]; }, propDecorators: { model: [{
|
14144
14194
|
type: Input
|
14145
14195
|
}], versionSelected: [{
|