@bizdoc/core 1.17.26 → 1.17.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/bizdoc-schema.json +2 -7
- package/esm2020/lib/browse/browse-items.component.mjs +75 -55
- package/esm2020/lib/core/fields/localized-string.field.mjs +7 -5
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/cube/pivot/pivot.component.mjs +6 -1
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +4 -2
- package/fesm2015/bizdoc-core.mjs +115 -90
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +115 -90
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/browse/browse-items.component.d.ts +8 -4
- package/lib/browse/browse-items.component.d.ts.map +1 -1
- package/lib/core/models.d.ts +1 -1
- package/lib/core/models.d.ts.map +1 -1
- package/lib/cube/pivot/pivot.component.d.ts.map +1 -1
- package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -1
- package/package.json +8 -8
package/fesm2015/bizdoc-core.mjs
CHANGED
@@ -5,7 +5,7 @@ import { MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-
|
|
5
5
|
import { Subject, merge, Observable, of, fromEvent, forkJoin, takeUntil, shareReplay as shareReplay$1, tap as tap$1, map as map$1, BehaviorSubject, interval, takeWhile, filter as filter$1, debounceTime as debounceTime$1, from, first as first$1, throwError, switchMap as switchMap$1, isObservable, startWith as startWith$1, EMPTY } from 'rxjs';
|
6
6
|
import { filter, map, tap, shareReplay, takeUntil as takeUntil$1, debounceTime, switchMap, startWith, first, take, finalize, catchError } from 'rxjs/operators';
|
7
7
|
import { ESCAPE, RIGHT_ARROW, LEFT_ARROW, ENTER, COMMA, UP_ARROW, DOWN_ARROW, SEMICOLON, SPACE } from '@angular/cdk/keycodes';
|
8
|
-
import * as
|
8
|
+
import * as i11$1 from '@angular/cdk/portal';
|
9
9
|
import { TemplatePortal, ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
10
10
|
import * as i1 from '@angular/forms';
|
11
11
|
import { Validators, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
|
@@ -2892,6 +2892,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
2892
2892
|
type: Input
|
2893
2893
|
}] } });
|
2894
2894
|
|
2895
|
+
class LocalizedStringPipe {
|
2896
|
+
constructor(_session) {
|
2897
|
+
this._session = _session;
|
2898
|
+
}
|
2899
|
+
transform(value, ...args) {
|
2900
|
+
if (!value)
|
2901
|
+
return null;
|
2902
|
+
if (isString(value))
|
2903
|
+
return value;
|
2904
|
+
let val = value[this._session.language];
|
2905
|
+
if (val)
|
2906
|
+
return val;
|
2907
|
+
return Object.values(value)[0];
|
2908
|
+
}
|
2909
|
+
}
|
2910
|
+
LocalizedStringPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringPipe, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
|
2911
|
+
LocalizedStringPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringPipe, name: "localizedString" });
|
2912
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringPipe, decorators: [{
|
2913
|
+
type: Pipe,
|
2914
|
+
args: [{ name: 'localizedString' }]
|
2915
|
+
}], ctorParameters: function () { return [{ type: SessionService }]; } });
|
2916
|
+
|
2895
2917
|
let LocalizedStringField = class LocalizedStringField {
|
2896
2918
|
constructor() {
|
2897
2919
|
this.control = new FormControl();
|
@@ -2902,13 +2924,13 @@ let LocalizedStringField = class LocalizedStringField {
|
|
2902
2924
|
}
|
2903
2925
|
};
|
2904
2926
|
LocalizedStringField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
2905
|
-
LocalizedStringField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: LocalizedStringField, selector: "ng-component", host: { classAttribute: "field" }, ngImport: i0, template: "<bizdoc-localized-string [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"column\"></bizdoc-localized-string>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }] });
|
2927
|
+
LocalizedStringField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: LocalizedStringField, selector: "ng-component", host: { classAttribute: "field" }, ngImport: i0, template: "<bizdoc-localized-string *ngIf=\"mode==='compose';else view\" [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"column\"></bizdoc-localized-string>\r\n<ng-template #view>\r\n <p>{{control.value|localizedString}}</p>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }] });
|
2906
2928
|
LocalizedStringField = __decorate([
|
2907
2929
|
BizDoc({ selector: 'localized-text-control' })
|
2908
2930
|
], LocalizedStringField);
|
2909
2931
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringField, decorators: [{
|
2910
2932
|
type: Component,
|
2911
|
-
args: [{ host: { class: 'field' }, template: "<bizdoc-localized-string [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"column\"></bizdoc-localized-string>\r\n" }]
|
2933
|
+
args: [{ host: { class: 'field' }, template: "<bizdoc-localized-string *ngIf=\"mode==='compose';else view\" [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"column\"></bizdoc-localized-string>\r\n<ng-template #view>\r\n <p>{{control.value|localizedString}}</p>\r\n</ng-template>\r\n" }]
|
2912
2934
|
}] });
|
2913
2935
|
let LocalizedStringControlDesigner = class LocalizedStringControlDesigner {
|
2914
2936
|
constructor() {
|
@@ -3757,28 +3779,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
3757
3779
|
type: Input
|
3758
3780
|
}] } });
|
3759
3781
|
|
3760
|
-
class LocalizedStringPipe {
|
3761
|
-
constructor(_session) {
|
3762
|
-
this._session = _session;
|
3763
|
-
}
|
3764
|
-
transform(value, ...args) {
|
3765
|
-
if (!value)
|
3766
|
-
return null;
|
3767
|
-
if (isString(value))
|
3768
|
-
return value;
|
3769
|
-
let val = value[this._session.language];
|
3770
|
-
if (val)
|
3771
|
-
return val;
|
3772
|
-
return Object.values(value)[0];
|
3773
|
-
}
|
3774
|
-
}
|
3775
|
-
LocalizedStringPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringPipe, deps: [{ token: SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
|
3776
|
-
LocalizedStringPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringPipe, name: "localizedString" });
|
3777
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocalizedStringPipe, decorators: [{
|
3778
|
-
type: Pipe,
|
3779
|
-
args: [{ name: 'localizedString' }]
|
3780
|
-
}], ctorParameters: function () { return [{ type: SessionService }]; } });
|
3781
|
-
|
3782
3782
|
let TimespanField = class TimespanField {
|
3783
3783
|
constructor() {
|
3784
3784
|
this.control = new FormControl();
|
@@ -7224,37 +7224,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
7224
7224
|
type: Injectable
|
7225
7225
|
}], ctorParameters: function () { return [{ type: i1$4.Router }]; } });
|
7226
7226
|
|
7227
|
-
/** */
|
7228
|
-
class CheckboxComponent {
|
7229
|
-
constructor() {
|
7230
|
-
this.icon = 'checkbox';
|
7231
|
-
}
|
7232
|
-
}
|
7233
|
-
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
7234
|
-
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CheckboxComponent, selector: "bizdoc-checkbox", inputs: { checked: "checked", color: "color", icon: "icon" }, host: { classAttribute: "field" }, ngImport: i0, template: `
|
7235
|
-
<div *ngIf="checked" class="container">
|
7236
|
-
<mat-icon [color]="color">{{icon == 'checkbox' ? 'check_box' : 'toggle_on'}}</mat-icon>
|
7237
|
-
<span class="mat-body-1">
|
7238
|
-
<ng-content></ng-content>
|
7239
|
-
</span>
|
7240
|
-
</div>`, isInline: true, styles: [".container{display:flex;align-items:center}.container *{align-self:center}.container :last-child{padding-left:5px;padding-right:5px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
7241
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxComponent, decorators: [{
|
7242
|
-
type: Component,
|
7243
|
-
args: [{ selector: 'bizdoc-checkbox', template: `
|
7244
|
-
<div *ngIf="checked" class="container">
|
7245
|
-
<mat-icon [color]="color">{{icon == 'checkbox' ? 'check_box' : 'toggle_on'}}</mat-icon>
|
7246
|
-
<span class="mat-body-1">
|
7247
|
-
<ng-content></ng-content>
|
7248
|
-
</span>
|
7249
|
-
</div>`, host: { class: 'field' }, styles: [".container{display:flex;align-items:center}.container *{align-self:center}.container :last-child{padding-left:5px;padding-right:5px}\n"] }]
|
7250
|
-
}], propDecorators: { checked: [{
|
7251
|
-
type: Input
|
7252
|
-
}], color: [{
|
7253
|
-
type: Input
|
7254
|
-
}], icon: [{
|
7255
|
-
type: Input
|
7256
|
-
}] } });
|
7257
|
-
|
7258
7227
|
class StateDirective {
|
7259
7228
|
constructor(session, _element) {
|
7260
7229
|
this._element = _element;
|
@@ -8279,7 +8248,7 @@ const TAKE = 200, SIZE = 20, HEADER_COLUMN_NAMES = ['number', 'subject', 'value'
|
|
8279
8248
|
/** browse items component*/
|
8280
8249
|
class BrowseItemsComponent {
|
8281
8250
|
/** browse ctor */
|
8282
|
-
constructor(_mailbox, _accounts, _cube, _session, _sb, _translate, _cd, _router, _messaging, _config) {
|
8251
|
+
constructor(_mailbox, _accounts, _cube, _session, _sb, _translate, _cd, _router, _messaging, _cfr, _config) {
|
8283
8252
|
this._mailbox = _mailbox;
|
8284
8253
|
this._accounts = _accounts;
|
8285
8254
|
this._cube = _cube;
|
@@ -8289,6 +8258,7 @@ class BrowseItemsComponent {
|
|
8289
8258
|
this._cd = _cd;
|
8290
8259
|
this._router = _router;
|
8291
8260
|
this._messaging = _messaging;
|
8261
|
+
this._cfr = _cfr;
|
8292
8262
|
this._config = _config;
|
8293
8263
|
this.onopen = new EventEmitter();
|
8294
8264
|
this.onview = new EventEmitter();
|
@@ -8379,7 +8349,7 @@ class BrowseItemsComponent {
|
|
8379
8349
|
subscribe(e => this.loading = e);
|
8380
8350
|
}
|
8381
8351
|
ngOnChanges(_) {
|
8382
|
-
this.
|
8352
|
+
this._columns();
|
8383
8353
|
this.refresh();
|
8384
8354
|
}
|
8385
8355
|
get folder() {
|
@@ -8432,6 +8402,15 @@ class BrowseItemsComponent {
|
|
8432
8402
|
subscribe(r => {
|
8433
8403
|
this.selection.clear();
|
8434
8404
|
this.dataSource = new MatTableDataSource(r);
|
8405
|
+
if (this.dataColumns.length) {
|
8406
|
+
const { controls } = this._session.profile;
|
8407
|
+
r.forEach(i => this.dataColumns.forEach(c => {
|
8408
|
+
const type = c.type || 'text';
|
8409
|
+
if (!controls[type])
|
8410
|
+
controls[type] = controls.find(c => c.name === type);
|
8411
|
+
i[c.name] = new ComponentPortal(this._cfr.component(controls[type].template));
|
8412
|
+
}));
|
8413
|
+
}
|
8435
8414
|
this.sort.active = this.sorting;
|
8436
8415
|
this.sort.start = this.direction;
|
8437
8416
|
this.dataSource.sort = this.sort;
|
@@ -8597,8 +8576,15 @@ class BrowseItemsComponent {
|
|
8597
8576
|
this.dataSource.filter = '';
|
8598
8577
|
}), map(() => items));
|
8599
8578
|
}
|
8600
|
-
_add(
|
8601
|
-
this.
|
8579
|
+
_add(item) {
|
8580
|
+
const { controls } = this._session.profile;
|
8581
|
+
this.dataColumns.forEach(c => {
|
8582
|
+
const type = c.type || 'text';
|
8583
|
+
if (!controls[type])
|
8584
|
+
controls[type] = controls.find(c => c.name === type);
|
8585
|
+
item[c.name] = new ComponentPortal(this._cfr.component(controls[type].template));
|
8586
|
+
});
|
8587
|
+
this.dataSource.data.splice(0, 0, item);
|
8602
8588
|
this.dataSource.filter = '';
|
8603
8589
|
}
|
8604
8590
|
_remove(item) {
|
@@ -8608,42 +8594,43 @@ class BrowseItemsComponent {
|
|
8608
8594
|
this._cd.markForCheck();
|
8609
8595
|
}
|
8610
8596
|
_columns() {
|
8611
|
-
|
8597
|
+
this.displayedColumns = ['select'];
|
8612
8598
|
if (this.folder && this.folder.columns)
|
8613
|
-
this.
|
8599
|
+
this._addDataColumns(this.folder.columns);
|
8614
8600
|
else if (!this.folder) {
|
8615
8601
|
const folder = this._session.profile.folders.find(f => f.name === 'fav');
|
8616
8602
|
if (folder && folder.columns)
|
8617
|
-
this.
|
8618
|
-
else
|
8619
|
-
|
8620
|
-
if (!this.isMobile) {
|
8621
|
-
columns.push('subject');
|
8622
|
-
}
|
8623
|
-
columns.push('value');
|
8624
|
-
}
|
8603
|
+
this._addDataColumns(folder.columns);
|
8604
|
+
else
|
8605
|
+
defaults();
|
8625
8606
|
}
|
8626
8607
|
else if (this._config.folders && this._config.folders.columns)
|
8627
|
-
this.
|
8628
|
-
else
|
8629
|
-
|
8608
|
+
this._addDataColumns(this._config.folders.columns);
|
8609
|
+
else
|
8610
|
+
defaults();
|
8611
|
+
this.displayedColumns.push('options');
|
8612
|
+
function defaults() {
|
8613
|
+
this.displayedColumns.push('number');
|
8630
8614
|
if (!this.isMobile) {
|
8631
|
-
|
8615
|
+
this.displayedColumns.push('subject');
|
8632
8616
|
}
|
8633
|
-
|
8617
|
+
this.displayedColumns.push('value');
|
8634
8618
|
}
|
8635
|
-
columns.push('options');
|
8636
|
-
return columns;
|
8637
8619
|
}
|
8638
|
-
|
8639
|
-
this.
|
8640
|
-
|
8641
|
-
|
8642
|
-
|
8643
|
-
|
8644
|
-
|
8620
|
+
_addDataColumns(columns) {
|
8621
|
+
this.dataColumns = [];
|
8622
|
+
columns.forEach(c => {
|
8623
|
+
this.displayedColumns.push(c.name);
|
8624
|
+
if (HEADER_COLUMN_NAMES.indexOf(c.name) < 0) {
|
8625
|
+
this.dataColumns.push(c);
|
8626
|
+
}
|
8645
8627
|
});
|
8646
8628
|
}
|
8629
|
+
dataColumnAttached(item, column, componentRef) {
|
8630
|
+
const { instance } = componentRef;
|
8631
|
+
instance.mode = 'preview';
|
8632
|
+
instance.control.setValue(item.model[column.name]);
|
8633
|
+
}
|
8647
8634
|
sendAll(action, args) {
|
8648
8635
|
const params = queryParams(args);
|
8649
8636
|
this._forEach(i => this._mailbox.send(i.id, i.version, i.formId, null, action, params, i.read, i.folderId, i.received).
|
@@ -8672,8 +8659,8 @@ class BrowseItemsComponent {
|
|
8672
8659
|
this._destroy.complete();
|
8673
8660
|
}
|
8674
8661
|
}
|
8675
|
-
BrowseItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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 });
|
8676
|
-
BrowseItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, host: { classAttribute: "bizdoc-browse-items" }, 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: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\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 hide-xs\" aria-disabled=\"true\">\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 <bizdoc-checkbox [checked]=\"item.model[c.name]\"></bizdoc-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\" [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool hide-xs\"><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"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3$1.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"] }, { kind: "directive", type: i3$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3$1.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i3$1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i3$2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5$3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i8$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i7$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i9.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"] }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "component", type: CheckboxComponent, selector: "bizdoc-checkbox", inputs: ["checked", "color", "icon"] }, { kind: "directive", type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: ["model"], outputs: ["sent"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i1$2.DecimalPipe, name: "number" }, { kind: "pipe", type: i1$2.CurrencyPipe, name: "currency" }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
|
8662
|
+
BrowseItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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: BizDocComponentFactoryResolver }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
8663
|
+
BrowseItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, host: { classAttribute: "bizdoc-browse-items" }, 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: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\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 hide-xs\" aria-disabled=\"true\">\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 *ngFor=\"let c of dataColumns\" [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 (attached)=\"dataColumnAttached(item, c, $event)\"\r\n [cdkPortalOutlet]=\"item[c.name]\"></ng-container>\r\n </mat-cell>\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\" [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool hide-xs\"><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"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i11$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i3$1.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"] }, { kind: "directive", type: i3$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3$1.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i3$1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i3$2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5$3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i8$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i7$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i9.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"] }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "component", type: IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: ["model"], outputs: ["sent"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i1$2.CurrencyPipe, name: "currency" }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
|
8677
8664
|
listAnimation,
|
8678
8665
|
itemAnimation,
|
8679
8666
|
expandListItemAnimation,
|
@@ -8688,9 +8675,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
8688
8675
|
listItemUpdatedAnimation
|
8689
8676
|
], host: {
|
8690
8677
|
class: 'bizdoc-browse-items'
|
8691
|
-
}, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\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 hide-xs\" aria-disabled=\"true\">\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 <bizdoc-checkbox [checked]=\"item.model[c.name]\"></bizdoc-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\" [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool hide-xs\"><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"] }]
|
8678
|
+
}, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\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 hide-xs\" aria-disabled=\"true\">\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 *ngFor=\"let c of dataColumns\" [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 (attached)=\"dataColumnAttached(item, c, $event)\"\r\n [cdkPortalOutlet]=\"item[c.name]\"></ng-container>\r\n </mat-cell>\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\" [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool hide-xs\"><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"] }]
|
8692
8679
|
}], ctorParameters: function () {
|
8693
|
-
return [{ type: MailboxService }, { type: AccountService }, { type: CubeService }, { type: SessionService }, { type: PromptService }, { type: TranslateService }, { type: i0.ChangeDetectorRef }, { type: RouterImpl }, { type: HubService }, { type: undefined, decorators: [{
|
8680
|
+
return [{ type: MailboxService }, { type: AccountService }, { type: CubeService }, { type: SessionService }, { type: PromptService }, { type: TranslateService }, { type: i0.ChangeDetectorRef }, { type: RouterImpl }, { type: HubService }, { type: BizDocComponentFactoryResolver }, { type: undefined, decorators: [{
|
8694
8681
|
type: Inject,
|
8695
8682
|
args: [BIZDOC_CONFIG]
|
8696
8683
|
}] }];
|
@@ -10737,6 +10724,9 @@ class CubePivotComponent {
|
|
10737
10724
|
dataSource: data,
|
10738
10725
|
emptyCellsTextContent: this.emptyCellsTextContent,
|
10739
10726
|
enableSorting: false,
|
10727
|
+
showRowSubTotals: false,
|
10728
|
+
showAggregationOnValueField: false,
|
10729
|
+
showSubTotals: false,
|
10740
10730
|
formatSettings: this.formatSettings
|
10741
10731
|
};
|
10742
10732
|
}
|
@@ -10915,6 +10905,8 @@ class CubePivotComponent {
|
|
10915
10905
|
height: '100%',
|
10916
10906
|
enableValueSorting: false,
|
10917
10907
|
showTooltip: false,
|
10908
|
+
showToolbar: false,
|
10909
|
+
showGroupingBar: false,
|
10918
10910
|
allowConditionalFormatting: true,
|
10919
10911
|
allowExcelExport: true,
|
10920
10912
|
gridSettings: this.gridSettings,
|
@@ -12775,6 +12767,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
12775
12767
|
type: Output
|
12776
12768
|
}] } });
|
12777
12769
|
|
12770
|
+
/** */
|
12771
|
+
class CheckboxComponent {
|
12772
|
+
constructor() {
|
12773
|
+
this.icon = 'checkbox';
|
12774
|
+
}
|
12775
|
+
}
|
12776
|
+
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
12777
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CheckboxComponent, selector: "bizdoc-checkbox", inputs: { checked: "checked", color: "color", icon: "icon" }, host: { classAttribute: "field" }, ngImport: i0, template: `
|
12778
|
+
<div *ngIf="checked" class="container">
|
12779
|
+
<mat-icon [color]="color">{{icon == 'checkbox' ? 'check_box' : 'toggle_on'}}</mat-icon>
|
12780
|
+
<span class="mat-body-1">
|
12781
|
+
<ng-content></ng-content>
|
12782
|
+
</span>
|
12783
|
+
</div>`, isInline: true, styles: [".container{display:flex;align-items:center}.container *{align-self:center}.container :last-child{padding-left:5px;padding-right:5px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
12784
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxComponent, decorators: [{
|
12785
|
+
type: Component,
|
12786
|
+
args: [{ selector: 'bizdoc-checkbox', template: `
|
12787
|
+
<div *ngIf="checked" class="container">
|
12788
|
+
<mat-icon [color]="color">{{icon == 'checkbox' ? 'check_box' : 'toggle_on'}}</mat-icon>
|
12789
|
+
<span class="mat-body-1">
|
12790
|
+
<ng-content></ng-content>
|
12791
|
+
</span>
|
12792
|
+
</div>`, host: { class: 'field' }, styles: [".container{display:flex;align-items:center}.container *{align-self:center}.container :last-child{padding-left:5px;padding-right:5px}\n"] }]
|
12793
|
+
}], propDecorators: { checked: [{
|
12794
|
+
type: Input
|
12795
|
+
}], color: [{
|
12796
|
+
type: Input
|
12797
|
+
}], icon: [{
|
12798
|
+
type: Input
|
12799
|
+
}] } });
|
12800
|
+
|
12778
12801
|
class DateFormatPipe {
|
12779
12802
|
constructor() {
|
12780
12803
|
dayjs.extend(localizedFormat);
|
@@ -23862,7 +23885,7 @@ let CubeWidgetFilterComponent = class CubeWidgetFilterComponent {
|
|
23862
23885
|
this._session = _session;
|
23863
23886
|
this._fb = _fb;
|
23864
23887
|
this.exclude = [];
|
23865
|
-
const { xAxis, series, exclude, cube: name } = this._widgetRef.options;
|
23888
|
+
const { xAxis, series, exclude, filters, cube: name } = this._widgetRef.options;
|
23866
23889
|
this.cube = name;
|
23867
23890
|
if (xAxis) {
|
23868
23891
|
if (isArray(xAxis))
|
@@ -23882,6 +23905,8 @@ let CubeWidgetFilterComponent = class CubeWidgetFilterComponent {
|
|
23882
23905
|
else
|
23883
23906
|
this.exclude.push(exclude);
|
23884
23907
|
}
|
23908
|
+
if (filters)
|
23909
|
+
this.exclude = this.exclude.concat(Object.keys(filters));
|
23885
23910
|
const cube = this._session.profile.cubes.find(c => c.name == name) || this._session.profile.cubes[0], controls = {};
|
23886
23911
|
cube.axes.filter(a => a.selectionMode !== 'None').forEach(a => {
|
23887
23912
|
controls[a.name] = this._fb.control(null);
|
@@ -32712,7 +32737,7 @@ class DesignerItemComponent {
|
|
32712
32737
|
}
|
32713
32738
|
}
|
32714
32739
|
DesignerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DesignerItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormBuilder }, { token: i2$1.DomSanitizer }, { token: DesignerRef }, { token: BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
32715
|
-
DesignerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: { privileges: "privileges", icon: "icon", form: "form", view: "view", context: "context" }, outputs: { onContinue: "continue", back: "back", onSave: "save" }, queries: [{ propertyName: "editContent", first: true, predicate: EditContentDirective, descendants: true }, { propertyName: "widgetContent", first: true, predicate: WidgetContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: " <!--widget mode -->\r\n<ng-container *ngIf=\"mode === 'widget'; else editing\">\r\n <ng-container *ngIf=\"model.family\">\r\n <img *ngIf=\"svg[model.family]\" class=\"logo\" [src]=\"resource(svg[model.family])\" [bizdocTooltip]=\"model.family\" />\r\n <div *ngIf=\"!svg[model.family]\">{{model.family}}</div>\r\n </ng-container>\r\n <!--options-->\r\n <ng-container (attached)=\"optionsattached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n</ng-container>\r\n<!--add or edit mode-->\r\n<ng-template #editing>\r\n <ng-container *ngIf=\"mode === 'edit'\">\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.valid || !form.dirty\" *ngIf=\"!view\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewoff()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"view\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_backspace</mat-icon></button>\r\n </mat-toolbar>\r\n <p *ngIf=\"model.resourceType\" class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'UnlockMultilang'|translate\"></p>\r\n </ng-container>\r\n <form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </form>\r\n</ng-template>\r\n<ng-template #main>\r\n <ng-container *ngIf=\"mode === 'edit'\" [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-localized-string #title formControlName=\"title\" [placeholder]=\"'Title'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-icon-picker *ngIf=\"icon\" formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </ng-container>\r\n <ng-container *ngIf=\"mode === 'edit'\" [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n <!--arguments-->\r\n <ng-container *ngIf=\"arguments\" (attached)=\"argumentsattached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n <!--options-->\r\n <ng-container *ngIf=\"options\" (attached)=\"optionsattached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <!--privileges-->\r\n <bizdoc-designer-privileges *ngIf=\"form.contains('privileges')\" [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n <div class=\"row actions\" *ngIf=\"mode === 'add'\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"!form.valid\" (click)=\"continue()\" type=\"button\">{{'Continue'|translate}} <mat-icon class=\"mat-icon-rtl-mirror\">double_arrow</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n", styles: ["img.logo{display:block;height:26px}:host{flex:1}form{padding:8px}p.message{margin:5px}:host ::ng-deep .cdk-drag-handle{cursor:move}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type:
|
32740
|
+
DesignerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: { privileges: "privileges", icon: "icon", form: "form", view: "view", context: "context" }, outputs: { onContinue: "continue", back: "back", onSave: "save" }, queries: [{ propertyName: "editContent", first: true, predicate: EditContentDirective, descendants: true }, { propertyName: "widgetContent", first: true, predicate: WidgetContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: " <!--widget mode -->\r\n<ng-container *ngIf=\"mode === 'widget'; else editing\">\r\n <ng-container *ngIf=\"model.family\">\r\n <img *ngIf=\"svg[model.family]\" class=\"logo\" [src]=\"resource(svg[model.family])\" [bizdocTooltip]=\"model.family\" />\r\n <div *ngIf=\"!svg[model.family]\">{{model.family}}</div>\r\n </ng-container>\r\n <!--options-->\r\n <ng-container (attached)=\"optionsattached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n</ng-container>\r\n<!--add or edit mode-->\r\n<ng-template #editing>\r\n <ng-container *ngIf=\"mode === 'edit'\">\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.valid || !form.dirty\" *ngIf=\"!view\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewoff()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"view\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_backspace</mat-icon></button>\r\n </mat-toolbar>\r\n <p *ngIf=\"model.resourceType\" class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'UnlockMultilang'|translate\"></p>\r\n </ng-container>\r\n <form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </form>\r\n</ng-template>\r\n<ng-template #main>\r\n <ng-container *ngIf=\"mode === 'edit'\" [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-localized-string #title formControlName=\"title\" [placeholder]=\"'Title'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-icon-picker *ngIf=\"icon\" formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </ng-container>\r\n <ng-container *ngIf=\"mode === 'edit'\" [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n <!--arguments-->\r\n <ng-container *ngIf=\"arguments\" (attached)=\"argumentsattached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n <!--options-->\r\n <ng-container *ngIf=\"options\" (attached)=\"optionsattached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <!--privileges-->\r\n <bizdoc-designer-privileges *ngIf=\"form.contains('privileges')\" [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n <div class=\"row actions\" *ngIf=\"mode === 'add'\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"!form.valid\" (click)=\"continue()\" type=\"button\">{{'Continue'|translate}} <mat-icon class=\"mat-icon-rtl-mirror\">double_arrow</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n", styles: ["img.logo{display:block;height:26px}:host{flex:1}form{padding:8px}p.message{margin:5px}:host ::ng-deep .cdk-drag-handle{cursor:move}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i11$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i8$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i9.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"] }, { kind: "directive", type: i10$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "component", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "component", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
32716
32741
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DesignerItemComponent, decorators: [{
|
32717
32742
|
type: Component,
|
32718
32743
|
args: [{ selector: 'bizdoc-designer-element', template: " <!--widget mode -->\r\n<ng-container *ngIf=\"mode === 'widget'; else editing\">\r\n <ng-container *ngIf=\"model.family\">\r\n <img *ngIf=\"svg[model.family]\" class=\"logo\" [src]=\"resource(svg[model.family])\" [bizdocTooltip]=\"model.family\" />\r\n <div *ngIf=\"!svg[model.family]\">{{model.family}}</div>\r\n </ng-container>\r\n <!--options-->\r\n <ng-container (attached)=\"optionsattached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n</ng-container>\r\n<!--add or edit mode-->\r\n<ng-template #editing>\r\n <ng-container *ngIf=\"mode === 'edit'\">\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.valid || !form.dirty\" *ngIf=\"!view\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewoff()\" [bizdocTooltip]=\"'Back'|translate\" *ngIf=\"view\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_backspace</mat-icon></button>\r\n </mat-toolbar>\r\n <p *ngIf=\"model.resourceType\" class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'UnlockMultilang'|translate\"></p>\r\n </ng-container>\r\n <form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </form>\r\n</ng-template>\r\n<ng-template #main>\r\n <ng-container *ngIf=\"mode === 'edit'\" [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-localized-string #title formControlName=\"title\" [placeholder]=\"'Title'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-icon-picker *ngIf=\"icon\" formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </ng-container>\r\n <ng-container *ngIf=\"mode === 'edit'\" [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n <!--arguments-->\r\n <ng-container *ngIf=\"arguments\" (attached)=\"argumentsattached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n <!--options-->\r\n <ng-container *ngIf=\"options\" (attached)=\"optionsattached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <!--privileges-->\r\n <bizdoc-designer-privileges *ngIf=\"form.contains('privileges')\" [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n <div class=\"row actions\" *ngIf=\"mode === 'add'\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"!form.valid\" (click)=\"continue()\" type=\"button\">{{'Continue'|translate}} <mat-icon class=\"mat-icon-rtl-mirror\">double_arrow</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n", styles: ["img.logo{display:block;height:26px}:host{flex:1}form{padding:8px}p.message{margin:5px}:host ::ng-deep .cdk-drag-handle{cursor:move}\n"] }]
|