@bizdoc/core 3.5.7 → 3.6.1
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 +14 -2
- package/fesm2022/bizdoc-core.mjs +130 -65
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/index.d.ts +120 -86
- package/package.json +1 -1
package/fesm2022/bizdoc-core.mjs
CHANGED
@@ -7,8 +7,8 @@ import { MatChipInput, MatChipsModule, MatChipListbox } from '@angular/material/
|
|
7
7
|
import { ENTER, COMMA, SEMICOLON } from '@angular/cdk/keycodes';
|
8
8
|
import * as i3$3 from '@angular/material/input';
|
9
9
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
10
|
-
import { trigger, transition, style, animate, state, query, stagger, animateChild, keyframes } from '@angular/animations';
|
11
10
|
import { HubConnectionBuilder, HubConnectionState } from '@microsoft/signalr';
|
11
|
+
import { trigger, transition, style, animate, state, query, stagger, animateChild, keyframes } from '@angular/animations';
|
12
12
|
import dayjs from 'dayjs';
|
13
13
|
import { Loader } from '@googlemaps/js-api-loader';
|
14
14
|
import * as firebase from 'firebase/app';
|
@@ -724,7 +724,7 @@ function getParameterByName(name, url = window.location.href) {
|
|
724
724
|
}
|
725
725
|
|
726
726
|
const INBOX = 'ib', DRAFT = 'df';
|
727
|
-
const AvailableMode = ['Offline', 'Online', 'OutOfOffice', '
|
727
|
+
const AvailableMode = ['Offline', 'Online', 'OutOfOffice', 'OnVacation', 'WorkingHome'];
|
728
728
|
var ValidationType;
|
729
729
|
(function (ValidationType) {
|
730
730
|
ValidationType["Required"] = "Required";
|
@@ -1127,6 +1127,15 @@ class SessionService {
|
|
1127
1127
|
iconRegistry.addSvgIconLiteral('powerpoint', sanitizer.bypassSecurityTrustHtml(POWERPOINT_ICON));
|
1128
1128
|
iconRegistry.addSvgIconLiteral('pdf', sanitizer.bypassSecurityTrustHtml(PDF_ICON));
|
1129
1129
|
}
|
1130
|
+
/** */
|
1131
|
+
get tags() {
|
1132
|
+
return this._tags || (this._tags =
|
1133
|
+
this.profile.tags.
|
1134
|
+
concat(this.profile.options.tags?.
|
1135
|
+
filter(v => !this.profile.tags.find(t => t.name === v.name)). // Filter out duplicates
|
1136
|
+
map(v => ({ system: false, ...v }))
|
1137
|
+
|| []));
|
1138
|
+
}
|
1130
1139
|
get profile() { return this._profile; }
|
1131
1140
|
get gender() { return this.profile.byId ? this._profile.byGender : this._profile.gender; }
|
1132
1141
|
get accentPalette() {
|
@@ -1892,7 +1901,7 @@ const STRINGS = {
|
|
1892
1901
|
SignOut: 'Sign out',
|
1893
1902
|
SignOutAsk: 'Are you sure you want to sign out?',
|
1894
1903
|
Goodbye: 'Goodbye',
|
1895
|
-
|
1904
|
+
OnVacation: 'On Vacation',
|
1896
1905
|
OutOfOffice: 'Out of office',
|
1897
1906
|
Online: 'Online',
|
1898
1907
|
Offline: 'Offline',
|
@@ -2608,7 +2617,7 @@ const STRINGS = {
|
|
2608
2617
|
SignOutAsk: 'האם את/ה בטוח שברצונך לצאת?',
|
2609
2618
|
SignOutAskMale: 'האם אתה בטוח שברצונך לצאת?',
|
2610
2619
|
SignOutAskFemale: 'האם את בטוחה שברצונך לצאת?',
|
2611
|
-
|
2620
|
+
OnVacation: 'נמצא בחופשה',
|
2612
2621
|
OutOfOffice: 'מחוץ למשרד',
|
2613
2622
|
Online: 'פעיל',
|
2614
2623
|
Offline: 'לא זמין',
|
@@ -3630,7 +3639,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
3630
3639
|
const OPTION_PANEL = new InjectionToken('options');
|
3631
3640
|
/** options component*/
|
3632
3641
|
class OptionsComponent {
|
3633
|
-
constructor(_ps, _guide, _hub, _dialog, _fb, _accounts, _sb, _session, config) {
|
3642
|
+
constructor(_ps, _guide, _hub, _dialog, _fb, _accounts, _sb, _session, _popup, config) {
|
3634
3643
|
this._ps = _ps;
|
3635
3644
|
this._guide = _guide;
|
3636
3645
|
this._hub = _hub;
|
@@ -3639,6 +3648,7 @@ class OptionsComponent {
|
|
3639
3648
|
this._accounts = _accounts;
|
3640
3649
|
this._sb = _sb;
|
3641
3650
|
this._session = _session;
|
3651
|
+
this._popup = _popup;
|
3642
3652
|
this.languages = this._session.languages;
|
3643
3653
|
this.themes = this._session.Themes;
|
3644
3654
|
this.modes = AvailableMode;
|
@@ -3735,6 +3745,9 @@ class OptionsComponent {
|
|
3735
3745
|
this._ps.mask('Refreshing');
|
3736
3746
|
location.reload();
|
3737
3747
|
}
|
3748
|
+
showKeyboard(evt) {
|
3749
|
+
this._popup.open(this.keyboard, evt.target);
|
3750
|
+
}
|
3738
3751
|
ngOnInit() {
|
3739
3752
|
this._hub.state$.pipe(startWith(this._hub.state), takeUntil(this._destroy)).subscribe(s => this.online = s === HubConnectionState.Connected);
|
3740
3753
|
const { outOfOffice, grantAccess, notifications, emails } = this.form.controls;
|
@@ -3825,9 +3838,10 @@ class OptionsComponent {
|
|
3825
3838
|
}
|
3826
3839
|
addTag(event) {
|
3827
3840
|
const { chipInput, value } = event;
|
3841
|
+
const val = value?.trim();
|
3828
3842
|
// Add our fruit
|
3829
|
-
if (
|
3830
|
-
this.options.tags.push(
|
3843
|
+
if (val && val.length) {
|
3844
|
+
this.options.tags.push({ name: val });
|
3831
3845
|
this.form.patchValue({});
|
3832
3846
|
}
|
3833
3847
|
// Reset the input value
|
@@ -3871,16 +3885,19 @@ class OptionsComponent {
|
|
3871
3885
|
this._destroy.next();
|
3872
3886
|
this._destroy.complete();
|
3873
3887
|
}
|
3874
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OptionsComponent, deps: [{ token: PromptService }, { token: GuideService }, { token: HubService }, { token: i2$2.MatDialog }, { token: i1$2.FormBuilder }, { token: AccountService }, { token: PromptService }, { token: SessionService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
3875
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: OptionsComponent, isStandalone: false, selector: "bizdoc-options", inputs: { sectionName: ["section", "sectionName"] }, host: { listeners: { "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }, { propertyName: "oooTmpl", first: true, predicate: ["oooTmpl"], descendants: true, static: true }, { propertyName: "notificationsTmpl", first: true, predicate: ["notificationsTmpl"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-headline-6\">\r\n @if (profile.byName) {\r\n {{profile.byName}} \\\r\n }\r\n {{profile.name}}\r\n </span>\r\n </div>\r\n\r\n <mat-divider />\r\n\r\n <div class=\"row\">\r\n <mat-nav-list class=\"nav-list\">\r\n <mat-list-item (click)=\"nav('notifications', notificationsTmpl, 0)\" [class.active]=\"sectionName === 'notifications'\">\r\n <span matListItemTitle>{{'Notifications' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('emails', emailsTmpl, 1)\" [class.active]=\"sectionName === 'emails'\">\r\n <span matListItemTitle>{{'Emails' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('out_of_office', oooTmpl, 2)\" [class.active]=\"sectionName === 'out_of_office'\">\r\n <span matListItemTitle>{{'OutOfOffice' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('grant_access', grantAccessTmpl, 3)\" [class.active]=\"sectionName === 'grant_access'\">\r\n <span matListItemTitle>{{'GrantAccess' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('preferences', preferencesTmpl, 4)\" [class.active]=\"sectionName === 'preferences'\">\r\n <span matListItemTitle>{{'Preferences' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n <div class=\"separator\"></div>\r\n <form autocomplete=\"off\" [@v-swape]=\"sectionIndex\">\r\n <ng-container *ngTemplateOutlet=\"sectionTmpl\"></ng-container>\r\n </form>\r\n </div>\r\n <mat-divider />\r\n <!--keys-->\r\n @if(!isMobile) {\r\n <dl class=\"keys mat-body-2\">\r\n <dt>Alt+n</dt>\r\n <dd>{{'AltNHelp'|translate}}</dd>\r\n <dt>Ctrl+s</dt>\r\n <dd>{{'CtrlSHelp'|translate}}</dd>\r\n <dt>Alt+s</dt>\r\n <dd>{{'AltSHelp'|translate}}</dd>\r\n <dt>Alt+q</dt>\r\n <dd>{{'AltQHelp'|translate}}</dd>\r\n <dt>Alt+a</dt>\r\n <dd>{{'AltAHelp'|translate}}</dd>\r\n <dt>Alt+h</dt>\r\n <dd>{{'AltHHelp'|translate}}</dd>\r\n <dt>Ctrl+.</dt>\r\n <dd>{{'CtrlDotHelp'|translate}}</dd>\r\n </dl>\r\n }\r\n <!--themes-->\r\n @if (themes.length > 1) {\r\n <div class=\"row center\">\r\n @for (t of themes; track t) {\r\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<!--guide-->\r\n<mat-nav-list role=\"list\">\r\n <mat-divider></mat-divider>\r\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\r\n @for (g of guides; track g) {\r\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\r\n }\r\n</mat-nav-list>\r\n<mat-divider></mat-divider>\r\n<!--footer-->\r\n<div class=\"row footer\">\r\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{currentLanguage | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n <mat-menu #language>\r\n @for (l of languages; track l) {\r\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n }\r\n </mat-menu>\r\n @if (online) {\r\n <button mat-button [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #availability>\r\n @for (m of modes; track m) {\r\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\r\n @if (!online) {\r\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\r\n <mat-icon>wifi_off</mat-icon>\r\n </button>\r\n }\r\n</div>\r\n<!--preferences-->\r\n<ng-template #preferencesTmpl>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Tags'|translate}}</mat-label>\r\n <mat-chip-grid #chips>\r\n @for (item of form.value.tags; track item) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--notifications-->\r\n<ng-template #notificationsTmpl>\r\n <div [formGroup]=\"form.controls.notifications\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"likes\" [style.display]=\"voting?'':'none'\">{{'LikedComment' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-checkbox>\r\n <div formGroupName=\"extra\" class=\"column\"> \r\n @for(n of profile.notifications; track n.name) {\r\n <mat-checkbox [formControlName]=\"n.name\">{{n.title}}</mat-checkbox>\r\n }\r\n </div>\r\n <div class=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSound()\" [disabled]=\"!form.value.notifications.active\" [bizdocTooltip]=\"(form.value.notifications.sound ? 'SoundOn': 'SoundOff')|translate\"><mat-icon>{{form.value.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<!--emails-->\r\n<ng-template #emailsTmpl>\r\n <div [formGroup]=\"form.controls.emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"mail\">{{'Mails' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"chat\">{{'Conversations' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-checkbox>\r\n </div>\r\n</ng-template>\r\n<!--ooo-->\r\n<ng-template #oooTmpl>\r\n <div [formGroup]=\"form.controls.outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"oooId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"oooSelected($event)\">\r\n @for (u of susers$ | async; track u.id) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [rangePicker]=\"dates\">\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"dates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #dates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--grantAccess-->\r\n<ng-template #grantAccessTmpl>\r\n <div [formGroup]=\"form.controls.grantAccess\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field>\r\n <mat-label>{{'Associates'| translate}}</mat-label>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n @for (u of form.value.grantAccess.users || []; track u.id) {\r\n <mat-chip-row (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grantUserIds\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u.id) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n @if (u.email) {\r\n <span> - {{u.email}}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{max-width:80vw;min-width:420px}.footer{align-items:center}.profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}.keys{padding:8px}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}.separator{height:280px;width:1px;background-color:var(--mat-sys-outline)}form{padding:20px 8px 0;min-width:320px}\n"], dependencies: [{ kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2$4.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2$4.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2$4.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2$4.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i7$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$5.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i2$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i2$6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: UserNamePipe, name: "userName" }], animations: [verticalSwapAnimation] }); }
|
3888
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OptionsComponent, deps: [{ token: PromptService }, { token: GuideService }, { token: HubService }, { token: i2$2.MatDialog }, { token: i1$2.FormBuilder }, { token: AccountService }, { token: PromptService }, { token: SessionService }, { token: Popup }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
3889
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: OptionsComponent, isStandalone: false, selector: "bizdoc-options", inputs: { sectionName: ["section", "sectionName"] }, host: { listeners: { "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "keyboard", first: true, predicate: ["keyboardTmpl"], descendants: true }, { propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }, { propertyName: "oooTmpl", first: true, predicate: ["oooTmpl"], descendants: true, static: true }, { propertyName: "notificationsTmpl", first: true, predicate: ["notificationsTmpl"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-headline-6\">\r\n @if (profile.byName) {\r\n {{profile.byName}} \\\r\n }\r\n {{profile.name}}\r\n </span>\r\n </div>\r\n\r\n <mat-divider />\r\n\r\n <div class=\"row\">\r\n <mat-nav-list class=\"nav-list\">\r\n <mat-list-item (click)=\"nav('notifications', notificationsTmpl, 0)\" [class.active]=\"sectionName === 'notifications'\">\r\n <span matListItemTitle>{{'Notifications' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('emails', emailsTmpl, 1)\" [class.active]=\"sectionName === 'emails'\">\r\n <span matListItemTitle>{{'Emails' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('out_of_office', oooTmpl, 2)\" [class.active]=\"sectionName === 'out_of_office'\">\r\n <span matListItemTitle>{{'OutOfOffice' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('grant_access', grantAccessTmpl, 3)\" [class.active]=\"sectionName === 'grant_access'\">\r\n <span matListItemTitle>{{'GrantAccess' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('preferences', preferencesTmpl, 4)\" [class.active]=\"sectionName === 'preferences'\">\r\n <span matListItemTitle>{{'Preferences' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n <div class=\"separator\"></div>\r\n <form autocomplete=\"off\" [@v-swape]=\"sectionIndex\">\r\n <ng-container *ngTemplateOutlet=\"sectionTmpl\"></ng-container>\r\n </form>\r\n </div>\r\n <mat-divider />\r\n <!--themes-->\r\n @if (themes.length > 1) {\r\n <div class=\"row center\">\r\n @for (t of themes; track t) {\r\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<!--guide-->\r\n<mat-nav-list role=\"list\">\r\n <mat-divider></mat-divider>\r\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\r\n @for (g of guides; track g) {\r\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\r\n }\r\n</mat-nav-list>\r\n<mat-divider></mat-divider>\r\n<!--footer-->\r\n<div class=\"row footer\">\r\n <!--keys-->\r\n @if(!isMobile) {\r\n <button mat-button role=\"listitem\" (click)=\"showKeyboard($event)\">\r\n {{'Keyboard' | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n }\r\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{currentLanguage | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n <mat-menu #language>\r\n @for (l of languages; track l) {\r\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n }\r\n </mat-menu>\r\n @if (online) {\r\n <button mat-button [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #availability>\r\n @for (m of modes; track m) {\r\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\r\n @if (!online) {\r\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\r\n <mat-icon>wifi_off</mat-icon>\r\n </button>\r\n }\r\n</div>\r\n<!--preferences-->\r\n<ng-template #preferencesTmpl>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Tags'|translate}}</mat-label>\r\n <mat-chip-grid #chips>\r\n @for (tag of form.value.tags; track tag.name) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeTag(tag)\">\r\n {{tag.name}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!---->\r\n<ng-template #keyboardTmpl>\r\n <dl class=\"keys mat-body-2\">\r\n <dt>Alt+n</dt>\r\n <dd>{{'AltNHelp'|translate}}</dd>\r\n <dt>Ctrl+s</dt>\r\n <dd>{{'CtrlSHelp'|translate}}</dd>\r\n <dt>Alt+s</dt>\r\n <dd>{{'AltSHelp'|translate}}</dd>\r\n <dt>Alt+q</dt>\r\n <dd>{{'AltQHelp'|translate}}</dd>\r\n <dt>Alt+a</dt>\r\n <dd>{{'AltAHelp'|translate}}</dd>\r\n <dt>Alt+h</dt>\r\n <dd>{{'AltHHelp'|translate}}</dd>\r\n <dt>Ctrl+.</dt>\r\n <dd>{{'CtrlDotHelp'|translate}}</dd>\r\n </dl>\r\n</ng-template>\r\n<!--notifications-->\r\n<ng-template #notificationsTmpl>\r\n <div [formGroup]=\"form.controls.notifications\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"likes\" [style.display]=\"voting?'':'none'\">{{'LikedComment' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-checkbox>\r\n <div formGroupName=\"extra\" class=\"column\"> \r\n @for(n of profile.notifications; track n.name) {\r\n <mat-checkbox [formControlName]=\"n.name\">{{n.title}}</mat-checkbox>\r\n }\r\n </div>\r\n <div class=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSound()\" [disabled]=\"!form.value.notifications.active\" [bizdocTooltip]=\"(form.value.notifications.sound ? 'SoundOn': 'SoundOff')|translate\"><mat-icon>{{form.value.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<!--emails-->\r\n<ng-template #emailsTmpl>\r\n <div [formGroup]=\"form.controls.emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"mail\">{{'Mails' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"chat\">{{'Conversations' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-checkbox>\r\n </div>\r\n</ng-template>\r\n<!--ooo-->\r\n<ng-template #oooTmpl>\r\n <div [formGroup]=\"form.controls.outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"oooId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"oooSelected($event)\">\r\n @for (u of susers$ | async; track u.id) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [rangePicker]=\"dates\">\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"dates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #dates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--grantAccess-->\r\n<ng-template #grantAccessTmpl>\r\n <div [formGroup]=\"form.controls.grantAccess\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field>\r\n <mat-label>{{'Associates'| translate}}</mat-label>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n @for (u of form.value.grantAccess.users || []; track u.id) {\r\n <mat-chip-row (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grantUserIds\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u.id) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n @if (u.email) {\r\n <span> - {{u.email}}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{max-width:80vw;min-width:420px}.footer{align-items:center}.profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}.keys{padding:8px}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}.separator{height:280px;width:1px;background-color:var(--mat-sys-outline)}form{padding:20px 8px 0;min-width:320px}\n"], dependencies: [{ kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2$4.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2$4.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2$4.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2$4.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i7$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$5.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i2$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i2$6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: UserNamePipe, name: "userName" }], animations: [verticalSwapAnimation] }); }
|
3876
3890
|
}
|
3877
3891
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OptionsComponent, decorators: [{
|
3878
3892
|
type: Component,
|
3879
|
-
args: [{ standalone: false, selector: 'bizdoc-options', animations: [verticalSwapAnimation], template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-headline-6\">\r\n @if (profile.byName) {\r\n {{profile.byName}} \\\r\n }\r\n {{profile.name}}\r\n </span>\r\n </div>\r\n\r\n <mat-divider />\r\n\r\n <div class=\"row\">\r\n <mat-nav-list class=\"nav-list\">\r\n <mat-list-item (click)=\"nav('notifications', notificationsTmpl, 0)\" [class.active]=\"sectionName === 'notifications'\">\r\n <span matListItemTitle>{{'Notifications' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('emails', emailsTmpl, 1)\" [class.active]=\"sectionName === 'emails'\">\r\n <span matListItemTitle>{{'Emails' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('out_of_office', oooTmpl, 2)\" [class.active]=\"sectionName === 'out_of_office'\">\r\n <span matListItemTitle>{{'OutOfOffice' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('grant_access', grantAccessTmpl, 3)\" [class.active]=\"sectionName === 'grant_access'\">\r\n <span matListItemTitle>{{'GrantAccess' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('preferences', preferencesTmpl, 4)\" [class.active]=\"sectionName === 'preferences'\">\r\n <span matListItemTitle>{{'Preferences' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n <div class=\"separator\"></div>\r\n <form autocomplete=\"off\" [@v-swape]=\"sectionIndex\">\r\n <ng-container *ngTemplateOutlet=\"sectionTmpl\"></ng-container>\r\n </form>\r\n </div>\r\n <mat-divider />\r\n <!--keys-->\r\n @if(!isMobile) {\r\n <dl class=\"keys mat-body-2\">\r\n <dt>Alt+n</dt>\r\n <dd>{{'AltNHelp'|translate}}</dd>\r\n <dt>Ctrl+s</dt>\r\n <dd>{{'CtrlSHelp'|translate}}</dd>\r\n <dt>Alt+s</dt>\r\n <dd>{{'AltSHelp'|translate}}</dd>\r\n <dt>Alt+q</dt>\r\n <dd>{{'AltQHelp'|translate}}</dd>\r\n <dt>Alt+a</dt>\r\n <dd>{{'AltAHelp'|translate}}</dd>\r\n <dt>Alt+h</dt>\r\n <dd>{{'AltHHelp'|translate}}</dd>\r\n <dt>Ctrl+.</dt>\r\n <dd>{{'CtrlDotHelp'|translate}}</dd>\r\n </dl>\r\n }\r\n <!--themes-->\r\n @if (themes.length > 1) {\r\n <div class=\"row center\">\r\n @for (t of themes; track t) {\r\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<!--guide-->\r\n<mat-nav-list role=\"list\">\r\n <mat-divider></mat-divider>\r\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\r\n @for (g of guides; track g) {\r\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\r\n }\r\n</mat-nav-list>\r\n<mat-divider></mat-divider>\r\n<!--footer-->\r\n<div class=\"row footer\">\r\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{currentLanguage | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n <mat-menu #language>\r\n @for (l of languages; track l) {\r\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n }\r\n </mat-menu>\r\n @if (online) {\r\n <button mat-button [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #availability>\r\n @for (m of modes; track m) {\r\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\r\n @if (!online) {\r\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\r\n <mat-icon>wifi_off</mat-icon>\r\n </button>\r\n }\r\n</div>\r\n<!--preferences-->\r\n<ng-template #preferencesTmpl>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Tags'|translate}}</mat-label>\r\n <mat-chip-grid #chips>\r\n @for (item of form.value.tags; track item) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--notifications-->\r\n<ng-template #notificationsTmpl>\r\n <div [formGroup]=\"form.controls.notifications\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"likes\" [style.display]=\"voting?'':'none'\">{{'LikedComment' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-checkbox>\r\n <div formGroupName=\"extra\" class=\"column\"> \r\n @for(n of profile.notifications; track n.name) {\r\n <mat-checkbox [formControlName]=\"n.name\">{{n.title}}</mat-checkbox>\r\n }\r\n </div>\r\n <div class=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSound()\" [disabled]=\"!form.value.notifications.active\" [bizdocTooltip]=\"(form.value.notifications.sound ? 'SoundOn': 'SoundOff')|translate\"><mat-icon>{{form.value.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<!--emails-->\r\n<ng-template #emailsTmpl>\r\n <div [formGroup]=\"form.controls.emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"mail\">{{'Mails' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"chat\">{{'Conversations' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-checkbox>\r\n </div>\r\n</ng-template>\r\n<!--ooo-->\r\n<ng-template #oooTmpl>\r\n <div [formGroup]=\"form.controls.outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"oooId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"oooSelected($event)\">\r\n @for (u of susers$ | async; track u.id) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [rangePicker]=\"dates\">\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"dates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #dates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--grantAccess-->\r\n<ng-template #grantAccessTmpl>\r\n <div [formGroup]=\"form.controls.grantAccess\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field>\r\n <mat-label>{{'Associates'| translate}}</mat-label>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n @for (u of form.value.grantAccess.users || []; track u.id) {\r\n <mat-chip-row (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grantUserIds\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u.id) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n @if (u.email) {\r\n <span> - {{u.email}}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{max-width:80vw;min-width:420px}.footer{align-items:center}.profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}.keys{padding:8px}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}.separator{height:280px;width:1px;background-color:var(--mat-sys-outline)}form{padding:20px 8px 0;min-width:320px}\n"] }]
|
3880
|
-
}], ctorParameters: () => [{ type: PromptService }, { type: GuideService }, { type: HubService }, { type: i2$2.MatDialog }, { type: i1$2.FormBuilder }, { type: AccountService }, { type: PromptService }, { type: SessionService }, { type: undefined, decorators: [{
|
3893
|
+
args: [{ standalone: false, selector: 'bizdoc-options', animations: [verticalSwapAnimation], template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-headline-6\">\r\n @if (profile.byName) {\r\n {{profile.byName}} \\\r\n }\r\n {{profile.name}}\r\n </span>\r\n </div>\r\n\r\n <mat-divider />\r\n\r\n <div class=\"row\">\r\n <mat-nav-list class=\"nav-list\">\r\n <mat-list-item (click)=\"nav('notifications', notificationsTmpl, 0)\" [class.active]=\"sectionName === 'notifications'\">\r\n <span matListItemTitle>{{'Notifications' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('emails', emailsTmpl, 1)\" [class.active]=\"sectionName === 'emails'\">\r\n <span matListItemTitle>{{'Emails' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('out_of_office', oooTmpl, 2)\" [class.active]=\"sectionName === 'out_of_office'\">\r\n <span matListItemTitle>{{'OutOfOffice' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('grant_access', grantAccessTmpl, 3)\" [class.active]=\"sectionName === 'grant_access'\">\r\n <span matListItemTitle>{{'GrantAccess' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('preferences', preferencesTmpl, 4)\" [class.active]=\"sectionName === 'preferences'\">\r\n <span matListItemTitle>{{'Preferences' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n <div class=\"separator\"></div>\r\n <form autocomplete=\"off\" [@v-swape]=\"sectionIndex\">\r\n <ng-container *ngTemplateOutlet=\"sectionTmpl\"></ng-container>\r\n </form>\r\n </div>\r\n <mat-divider />\r\n <!--themes-->\r\n @if (themes.length > 1) {\r\n <div class=\"row center\">\r\n @for (t of themes; track t) {\r\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<!--guide-->\r\n<mat-nav-list role=\"list\">\r\n <mat-divider></mat-divider>\r\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\r\n @for (g of guides; track g) {\r\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\r\n }\r\n</mat-nav-list>\r\n<mat-divider></mat-divider>\r\n<!--footer-->\r\n<div class=\"row footer\">\r\n <!--keys-->\r\n @if(!isMobile) {\r\n <button mat-button role=\"listitem\" (click)=\"showKeyboard($event)\">\r\n {{'Keyboard' | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n }\r\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{currentLanguage | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n <mat-menu #language>\r\n @for (l of languages; track l) {\r\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n }\r\n </mat-menu>\r\n @if (online) {\r\n <button mat-button [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #availability>\r\n @for (m of modes; track m) {\r\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\r\n @if (!online) {\r\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\r\n <mat-icon>wifi_off</mat-icon>\r\n </button>\r\n }\r\n</div>\r\n<!--preferences-->\r\n<ng-template #preferencesTmpl>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Tags'|translate}}</mat-label>\r\n <mat-chip-grid #chips>\r\n @for (tag of form.value.tags; track tag.name) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeTag(tag)\">\r\n {{tag.name}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!---->\r\n<ng-template #keyboardTmpl>\r\n <dl class=\"keys mat-body-2\">\r\n <dt>Alt+n</dt>\r\n <dd>{{'AltNHelp'|translate}}</dd>\r\n <dt>Ctrl+s</dt>\r\n <dd>{{'CtrlSHelp'|translate}}</dd>\r\n <dt>Alt+s</dt>\r\n <dd>{{'AltSHelp'|translate}}</dd>\r\n <dt>Alt+q</dt>\r\n <dd>{{'AltQHelp'|translate}}</dd>\r\n <dt>Alt+a</dt>\r\n <dd>{{'AltAHelp'|translate}}</dd>\r\n <dt>Alt+h</dt>\r\n <dd>{{'AltHHelp'|translate}}</dd>\r\n <dt>Ctrl+.</dt>\r\n <dd>{{'CtrlDotHelp'|translate}}</dd>\r\n </dl>\r\n</ng-template>\r\n<!--notifications-->\r\n<ng-template #notificationsTmpl>\r\n <div [formGroup]=\"form.controls.notifications\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"likes\" [style.display]=\"voting?'':'none'\">{{'LikedComment' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-checkbox>\r\n <div formGroupName=\"extra\" class=\"column\"> \r\n @for(n of profile.notifications; track n.name) {\r\n <mat-checkbox [formControlName]=\"n.name\">{{n.title}}</mat-checkbox>\r\n }\r\n </div>\r\n <div class=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSound()\" [disabled]=\"!form.value.notifications.active\" [bizdocTooltip]=\"(form.value.notifications.sound ? 'SoundOn': 'SoundOff')|translate\"><mat-icon>{{form.value.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<!--emails-->\r\n<ng-template #emailsTmpl>\r\n <div [formGroup]=\"form.controls.emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"mail\">{{'Mails' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"chat\">{{'Conversations' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-checkbox>\r\n </div>\r\n</ng-template>\r\n<!--ooo-->\r\n<ng-template #oooTmpl>\r\n <div [formGroup]=\"form.controls.outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"oooId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"oooSelected($event)\">\r\n @for (u of susers$ | async; track u.id) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [rangePicker]=\"dates\">\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"dates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #dates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--grantAccess-->\r\n<ng-template #grantAccessTmpl>\r\n <div [formGroup]=\"form.controls.grantAccess\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field>\r\n <mat-label>{{'Associates'| translate}}</mat-label>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n @for (u of form.value.grantAccess.users || []; track u.id) {\r\n <mat-chip-row (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grantUserIds\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u.id) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n @if (u.email) {\r\n <span> - {{u.email}}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{max-width:80vw;min-width:420px}.footer{align-items:center}.profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}.keys{padding:8px}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}.separator{height:280px;width:1px;background-color:var(--mat-sys-outline)}form{padding:20px 8px 0;min-width:320px}\n"] }]
|
3894
|
+
}], ctorParameters: () => [{ type: PromptService }, { type: GuideService }, { type: HubService }, { type: i2$2.MatDialog }, { type: i1$2.FormBuilder }, { type: AccountService }, { type: PromptService }, { type: SessionService }, { type: Popup }, { type: undefined, decorators: [{
|
3881
3895
|
type: Inject,
|
3882
3896
|
args: [BIZDOC_CONFIG]
|
3883
|
-
}] }], propDecorators: {
|
3897
|
+
}] }], propDecorators: { keyboard: [{
|
3898
|
+
type: ViewChild,
|
3899
|
+
args: ['keyboardTmpl']
|
3900
|
+
}], substitueInput: [{
|
3884
3901
|
type: ViewChild,
|
3885
3902
|
args: ['substitueInput', { read: MatInput }]
|
3886
3903
|
}], grantInput: [{
|
@@ -5602,6 +5619,7 @@ let ChecklistControlDesigner = class ChecklistControlDesigner extends OptionsCon
|
|
5602
5619
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ChecklistControlDesigner, deps: [{ token: SystemService }, { token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
5603
5620
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ChecklistControlDesigner, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
5604
5621
|
<form autocomplete="off" [formGroup]="form" class="column">
|
5622
|
+
<bizdoc-localized-string [placeholder]="'Label'|translate" required formControlName="label"></bizdoc-localized-string>
|
5605
5623
|
<mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
|
5606
5624
|
@if (datatypes) {
|
5607
5625
|
<mat-form-field>
|
@@ -5628,7 +5646,7 @@ let ChecklistControlDesigner = class ChecklistControlDesigner extends OptionsCon
|
|
5628
5646
|
</mat-form-field>
|
5629
5647
|
}
|
5630
5648
|
<bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
|
5631
|
-
</form>`, isInline: true, dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i2$6.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
5649
|
+
</form>`, isInline: true, dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i2$6.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "component", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
5632
5650
|
};
|
5633
5651
|
ChecklistControlDesigner = __decorate([
|
5634
5652
|
BizDoc({ selector: 'checklist-control-designer' })
|
@@ -5639,6 +5657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
5639
5657
|
standalone: false,
|
5640
5658
|
template: `
|
5641
5659
|
<form autocomplete="off" [formGroup]="form" class="column">
|
5660
|
+
<bizdoc-localized-string [placeholder]="'Label'|translate" required formControlName="label"></bizdoc-localized-string>
|
5642
5661
|
<mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
|
5643
5662
|
@if (datatypes) {
|
5644
5663
|
<mat-form-field>
|
@@ -7001,7 +7020,7 @@ class MailboxService {
|
|
7001
7020
|
reportProgress: true
|
7002
7021
|
});
|
7003
7022
|
}
|
7004
|
-
|
7023
|
+
removeAttachment(recipientId, fileId) {
|
7005
7024
|
return this._http.delete(`/api/attachments/${recipientId}/${fileId}`);
|
7006
7025
|
}
|
7007
7026
|
read(id, read, folderId, received) {
|
@@ -7080,7 +7099,7 @@ class MailboxService {
|
|
7080
7099
|
};
|
7081
7100
|
});
|
7082
7101
|
}
|
7083
|
-
|
7102
|
+
uploadAttachment(recipientId, formId, version, files, options) {
|
7084
7103
|
const fd = new FormData();
|
7085
7104
|
if (isArray(files))
|
7086
7105
|
files.forEach(f => fd.append(f.name, f));
|
@@ -8079,7 +8098,7 @@ class BrowseFilterComponent {
|
|
8079
8098
|
this._destroy = new Subject();
|
8080
8099
|
this.states = _session.profile.states;
|
8081
8100
|
this.forms = _session.profile.forms;
|
8082
|
-
this.tags = _session.
|
8101
|
+
this.tags = _session.tags;
|
8083
8102
|
}
|
8084
8103
|
ngOnInit() {
|
8085
8104
|
if (this.folderId) {
|
@@ -8120,7 +8139,8 @@ class BrowseFilterComponent {
|
|
8120
8139
|
this.valuesChange.emit(value);
|
8121
8140
|
}
|
8122
8141
|
toggleTag(evt) {
|
8123
|
-
|
8142
|
+
const tag = evt.value?.name;
|
8143
|
+
this.form.controls.tag.setValue(this.form.controls.tag.value !== tag ? tag : null);
|
8124
8144
|
}
|
8125
8145
|
displayFn(item) {
|
8126
8146
|
return item ? item.name : undefined;
|
@@ -8144,11 +8164,11 @@ class BrowseFilterComponent {
|
|
8144
8164
|
this._destroy.complete();
|
8145
8165
|
}
|
8146
8166
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BrowseFilterComponent, deps: [{ token: i1$2.FormBuilder }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: MailboxService }, { token: AccountService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
8147
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BrowseFilterComponent, isStandalone: false, selector: "bizdoc-browse-filter", inputs: { values: "values", folderId: "folderId", exclude: "exclude" }, outputs: { valuesChange: "valuesChange" }, viewQueries: [{ propertyName: "chips", first: true, predicate: MatChipListbox, descendants: true, static: true }, { propertyName: "containsEl", first: true, predicate: ["contains"], descendants: true, read: ElementRef, static: true }, { propertyName: "senderEl", first: true, predicate: ["sender"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form [formGroup]=\"form\" class=\"column gap\" autocomplete=\"off\">\r\n @if (!exclude || exclude.indexOf('contains') < 0) {\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput formControlName=\"contains\" placeholder=\"{{'Contains' | translate}}\" #contains>\r\n @if (form.value.contains) {\r\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"sendername\" #sender />\r\n <mat-autocomplete #senders [displayWith]=\"displayValue\" (optionSelected)=\"senderSelected($event)\">\r\n @for (u of senders$ | async; track u) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (sendername.value) {\r\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (s of states; track s) {\r\n <mat-option [value]=\"s.name\">\r\n {{s.title}}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (f of forms; track f) {\r\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\r\n @for (tag of tags; track tag) {\r\n <mat-chip-option
|
8167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BrowseFilterComponent, isStandalone: false, selector: "bizdoc-browse-filter", inputs: { values: "values", folderId: "folderId", exclude: "exclude" }, outputs: { valuesChange: "valuesChange" }, viewQueries: [{ propertyName: "chips", first: true, predicate: MatChipListbox, descendants: true, static: true }, { propertyName: "containsEl", first: true, predicate: ["contains"], descendants: true, read: ElementRef, static: true }, { propertyName: "senderEl", first: true, predicate: ["sender"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form [formGroup]=\"form\" class=\"column gap\" autocomplete=\"off\">\r\n @if (!exclude || exclude.indexOf('contains') < 0) {\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput formControlName=\"contains\" placeholder=\"{{'Contains' | translate}}\" #contains>\r\n @if (form.value.contains) {\r\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"sendername\" #sender />\r\n <mat-autocomplete #senders [displayWith]=\"displayValue\" (optionSelected)=\"senderSelected($event)\">\r\n @for (u of senders$ | async; track u) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (sendername.value) {\r\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (s of states; track s) {\r\n <mat-option [value]=\"s.name\">\r\n {{s.title}}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (f of forms; track f) {\r\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\r\n @for (tag of tags; track tag.name) {\r\n <mat-chip-option [value]=\"tag\">\r\n @if(tag.icon) {\r\n <mat-icon matChipAvatar>{{tag.icon}}</mat-icon>\r\n }\r\n {{tag.title || tag.name}}\r\n </mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n @if (filters) {\r\n <bizdoc-cube-filter class=\"cube-filter\"\r\n [cube]=\"filters.cube\"\r\n [include]=\"filters.axes\"\r\n [axes]=\"values\"\r\n [autofocus]=\"false\"\r\n (axesChange)=\"axesChange($event)\"></bizdoc-cube-filter>\r\n }\r\n</form>\r\n", styles: [".cube-filter ::ng-deep form{padding:0}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i4.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i4.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "component", type: i2$6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes", "autofocus"], outputs: ["axesChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
8148
8168
|
}
|
8149
8169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BrowseFilterComponent, decorators: [{
|
8150
8170
|
type: Component,
|
8151
|
-
args: [{ standalone: false, selector: 'bizdoc-browse-filter', template: "<form [formGroup]=\"form\" class=\"column gap\" autocomplete=\"off\">\r\n @if (!exclude || exclude.indexOf('contains') < 0) {\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput formControlName=\"contains\" placeholder=\"{{'Contains' | translate}}\" #contains>\r\n @if (form.value.contains) {\r\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"sendername\" #sender />\r\n <mat-autocomplete #senders [displayWith]=\"displayValue\" (optionSelected)=\"senderSelected($event)\">\r\n @for (u of senders$ | async; track u) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (sendername.value) {\r\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (s of states; track s) {\r\n <mat-option [value]=\"s.name\">\r\n {{s.title}}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (f of forms; track f) {\r\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\r\n @for (tag of tags; track tag) {\r\n <mat-chip-option
|
8171
|
+
args: [{ standalone: false, selector: 'bizdoc-browse-filter', template: "<form [formGroup]=\"form\" class=\"column gap\" autocomplete=\"off\">\r\n @if (!exclude || exclude.indexOf('contains') < 0) {\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput formControlName=\"contains\" placeholder=\"{{'Contains' | translate}}\" #contains>\r\n @if (form.value.contains) {\r\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"sendername\" #sender />\r\n <mat-autocomplete #senders [displayWith]=\"displayValue\" (optionSelected)=\"senderSelected($event)\">\r\n @for (u of senders$ | async; track u) {\r\n <mat-option [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (sendername.value) {\r\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (s of states; track s) {\r\n <mat-option [value]=\"s.name\">\r\n {{s.title}}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\r\n <mat-option>\r\n {{ 'All' | translate }}\r\n </mat-option>\r\n @for (f of forms; track f) {\r\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\r\n @for (tag of tags; track tag.name) {\r\n <mat-chip-option [value]=\"tag\">\r\n @if(tag.icon) {\r\n <mat-icon matChipAvatar>{{tag.icon}}</mat-icon>\r\n }\r\n {{tag.title || tag.name}}\r\n </mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n @if (filters) {\r\n <bizdoc-cube-filter class=\"cube-filter\"\r\n [cube]=\"filters.cube\"\r\n [include]=\"filters.axes\"\r\n [axes]=\"values\"\r\n [autofocus]=\"false\"\r\n (axesChange)=\"axesChange($event)\"></bizdoc-cube-filter>\r\n }\r\n</form>\r\n", styles: [".cube-filter ::ng-deep form{padding:0}\n"] }]
|
8152
8172
|
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: SessionService }, { type: i0.ChangeDetectorRef }, { type: MailboxService }, { type: AccountService }, { type: undefined, decorators: [{
|
8153
8173
|
type: Inject,
|
8154
8174
|
args: [BIZDOC_CONFIG]
|
@@ -8813,9 +8833,8 @@ class AttachmentsComponent {
|
|
8813
8833
|
this.ngOnChanges();
|
8814
8834
|
}
|
8815
8835
|
discard(item) {
|
8816
|
-
const task = () => this._mailbox.
|
8836
|
+
const task = () => this._mailbox.removeAttachment(this.model.id, item.id).subscribe({
|
8817
8837
|
next: () => {
|
8818
|
-
//item.deleted = true;
|
8819
8838
|
this.model.attachments.remove(item);
|
8820
8839
|
this.ngOnChanges();
|
8821
8840
|
}, error: () => this._sb.error()
|
@@ -8902,6 +8921,8 @@ class ExpandedItemComponent {
|
|
8902
8921
|
this._destroy = new Subject();
|
8903
8922
|
}
|
8904
8923
|
ngOnInit() {
|
8924
|
+
this.tags = this.model.tags?.map(v => this._session.tags.find(t => t.name === v)).
|
8925
|
+
filter(e => e !== undefined);
|
8905
8926
|
this._messaging.comment$.pipe(takeUntil(this._destroy)).
|
8906
8927
|
subscribe(e => {
|
8907
8928
|
if (e.id === this.model.id && (e.model.byId || e.model.userId) !== this._session.userId) {
|
@@ -9170,11 +9191,11 @@ class ExpandedItemComponent {
|
|
9170
9191
|
this._typingTask && clearTimeout(this._typingTask);
|
9171
9192
|
}
|
9172
9193
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: PromptService }, { token: ChatInfo }, { token: AccountService }, { token: MailboxService }, { token: SessionService }, { token: i7$2.Directionality }, { token: i2$2.MatDialog }, { token: TranslateService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component }); }
|
9173
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ExpandedItemComponent, isStandalone: false, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "@if (model.summary) {\r\n
|
9194
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ExpandedItemComponent, isStandalone: false, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "@if (model.summary) {\r\n<div class=\"summary\" [innerHTML]=\"model.summary\">\r\n</div>\r\n}\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 @for (a of actions; track a) {\r\n @if (a.icon) {\r\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\r\n <mat-icon>{{a.icon}}</mat-icon>\r\n </button>\r\n }\r\n }\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"mat-small 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 class=\"center center\">\r\n @if (typing) {\r\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\r\n }\r\n @if (model.comments.length) {\r\n <div class=\"mat-small\">\r\n @if (!newComments) {\r\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\r\n } @else {\r\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if (tags) {\r\n <mat-chip-set>\r\n @for (tag of tags; track tag.name) {\r\n <mat-chip [disableRipple]=\"true\" [style.backgroundColor]=\"tag.backgroundColor\">\r\n @if(tag.icon) {\r\n <mat-icon matChipAvatar [style.color]=\"tag.color\">{{tag.icon}}</mat-icon>\r\n }\r\n <span [style.color]=\"tag.color\">{{tag.title || tag.name}}</span>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n }\r\n</div>\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;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:fit-content}\n"], dependencies: [{ kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i4.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i4.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }, { kind: "component", type: DocumentEventsComponent, selector: "bizdoc-events", inputs: ["model"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: StatePipe, name: "state" }] }); }
|
9174
9195
|
}
|
9175
9196
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ExpandedItemComponent, decorators: [{
|
9176
9197
|
type: Component,
|
9177
|
-
args: [{ standalone: false, selector: 'bizdoc-expanded-item', template: "@if (model.summary) {\r\n
|
9198
|
+
args: [{ standalone: false, selector: 'bizdoc-expanded-item', template: "@if (model.summary) {\r\n<div class=\"summary\" [innerHTML]=\"model.summary\">\r\n</div>\r\n}\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 @for (a of actions; track a) {\r\n @if (a.icon) {\r\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\r\n <mat-icon>{{a.icon}}</mat-icon>\r\n </button>\r\n }\r\n }\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"mat-small 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 class=\"center center\">\r\n @if (typing) {\r\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\r\n }\r\n @if (model.comments.length) {\r\n <div class=\"mat-small\">\r\n @if (!newComments) {\r\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\r\n } @else {\r\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if (tags) {\r\n <mat-chip-set>\r\n @for (tag of tags; track tag.name) {\r\n <mat-chip [disableRipple]=\"true\" [style.backgroundColor]=\"tag.backgroundColor\">\r\n @if(tag.icon) {\r\n <mat-icon matChipAvatar [style.color]=\"tag.color\">{{tag.icon}}</mat-icon>\r\n }\r\n <span [style.color]=\"tag.color\">{{tag.title || tag.name}}</span>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n }\r\n</div>\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;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:fit-content}\n"] }]
|
9178
9199
|
}], ctorParameters: () => [{ type: PromptService }, { type: ChatInfo }, { type: AccountService }, { type: MailboxService }, { type: SessionService }, { type: i7$2.Directionality }, { type: i2$2.MatDialog }, { type: TranslateService }, { type: HubService }], propDecorators: { model: [{
|
9179
9200
|
type: Input
|
9180
9201
|
}], sent: [{
|
@@ -9687,37 +9708,38 @@ class FormRef {
|
|
9687
9708
|
}
|
9688
9709
|
|
9689
9710
|
class TagsComponent {
|
9690
|
-
constructor(
|
9691
|
-
this.
|
9711
|
+
constructor(_data, _mailbox, session) {
|
9712
|
+
this._data = _data;
|
9692
9713
|
this._mailbox = _mailbox;
|
9693
9714
|
this.control = new FormControl(null);
|
9694
9715
|
this.separatorKeysCodes = [ENTER, COMMA, SEMICOLON];
|
9695
9716
|
this._destroy = new Subject();
|
9696
|
-
|
9697
|
-
|
9698
|
-
|
9699
|
-
|
9700
|
-
else
|
9701
|
-
data.tags = data.tags.filter(t => options.indexOf(t) > -1);
|
9702
|
-
this.tags = data.tags;
|
9717
|
+
this._options = session.tags.filter(t => !t.system);
|
9718
|
+
if (!_data.tags)
|
9719
|
+
_data.tags = [];
|
9720
|
+
this.tags = _data.tags;
|
9703
9721
|
}
|
9704
9722
|
ngOnInit() {
|
9705
|
-
this.options = this.control.valueChanges.pipe(
|
9723
|
+
this.options = this.control.valueChanges.pipe(takeUntil(this._destroy), startWith(''), map(v => v ? v.toLowerCase() : ''), map(v => this._options.filter(t => (t.title || t.name).toLowerCase().indexOf(v) > -1 &&
|
9724
|
+
!this.tags.find(t => t.name === v))));
|
9706
9725
|
}
|
9707
9726
|
ngAfterViewInit() {
|
9708
9727
|
setTimeout(() => this.inputElement.nativeElement.focus());
|
9709
9728
|
}
|
9710
9729
|
_save() {
|
9711
|
-
this._mailbox.tags(this.
|
9730
|
+
this._mailbox.tags(this._data.id, this._data.tags.map(t => t.name)).subscribe();
|
9712
9731
|
}
|
9713
9732
|
add(event) {
|
9714
9733
|
if (!this.auto.isOpen) {
|
9715
9734
|
const { chipInput, value } = event;
|
9716
|
-
|
9717
|
-
|
9718
|
-
this.
|
9719
|
-
if (
|
9735
|
+
let val = value?.trim();
|
9736
|
+
if (val && val.length) {
|
9737
|
+
let tag = this._options.find(t => t.name === val);
|
9738
|
+
if (!tag) {
|
9739
|
+
tag = { name: val, title: val };
|
9720
9740
|
this._options.push(tag);
|
9741
|
+
}
|
9742
|
+
this.tags.push(tag);
|
9721
9743
|
this._save();
|
9722
9744
|
}
|
9723
9745
|
chipInput?.clear();
|
@@ -9726,15 +9748,15 @@ class TagsComponent {
|
|
9726
9748
|
}
|
9727
9749
|
selected(evt) {
|
9728
9750
|
const tag = evt.option.value;
|
9729
|
-
if (this.
|
9730
|
-
this.
|
9751
|
+
if (!this._data.tags.find(t => t.name === tag.name)) {
|
9752
|
+
this.tags.push(tag);
|
9731
9753
|
this._save();
|
9732
9754
|
}
|
9733
9755
|
this.inputElement.nativeElement.value = '';
|
9734
9756
|
this.control.setValue(null);
|
9735
9757
|
}
|
9736
9758
|
remove(tag) {
|
9737
|
-
this.
|
9759
|
+
this.tags.remove(tag);
|
9738
9760
|
this._save();
|
9739
9761
|
}
|
9740
9762
|
ngOnDestroy() {
|
@@ -9742,11 +9764,11 @@ class TagsComponent {
|
|
9742
9764
|
this._destroy.complete();
|
9743
9765
|
}
|
9744
9766
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TagsComponent, deps: [{ token: POPUP_DATA }, { token: MailboxService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
9745
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TagsComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "auto", first: true, predicate: ["auto"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field floatLabel=\"never\" subscriptSizing=\"dynamic\">\r\n <mat-chip-grid #chipList [attr.aria-label]=\"'Tags'|translate\">\r\n @for (
|
9767
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TagsComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "auto", first: true, predicate: ["auto"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field floatLabel=\"never\" subscriptSizing=\"dynamic\">\r\n <mat-chip-grid #chipList [attr.aria-label]=\"'Tags'|translate\">\r\n @for (tag of tags | filterBy: 'system': false; track tag.name) {\r\n <mat-chip [removable]=\"true\" (removed)=\"remove(tag)\">\r\n <!-- [ngStyle]=\"{'background-color': tag.backgroundColor, 'color': tag.color}\"-->\r\n {{tag.title || tag.name}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n }\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'TagsHint'|translate\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [formControl]=\"control\"\r\n #input autocomplete=\"off\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"add($event)\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\r\n @for (tag of options | async; track tag.name) {\r\n <mat-option [value]=\"tag\">\r\n {{tag.title || tag.name}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n", styles: [":host{min-width:260px;padding:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2$6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FilterPipe, name: "filterBy" }] }); }
|
9746
9768
|
}
|
9747
9769
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TagsComponent, decorators: [{
|
9748
9770
|
type: Component,
|
9749
|
-
args: [{ standalone: false, template: "<mat-form-field floatLabel=\"never\" subscriptSizing=\"dynamic\">\r\n <mat-chip-grid #chipList [attr.aria-label]=\"'Tags'|translate\">\r\n @for (
|
9771
|
+
args: [{ standalone: false, template: "<mat-form-field floatLabel=\"never\" subscriptSizing=\"dynamic\">\r\n <mat-chip-grid #chipList [attr.aria-label]=\"'Tags'|translate\">\r\n @for (tag of tags | filterBy: 'system': false; track tag.name) {\r\n <mat-chip [removable]=\"true\" (removed)=\"remove(tag)\">\r\n <!-- [ngStyle]=\"{'background-color': tag.backgroundColor, 'color': tag.color}\"-->\r\n {{tag.title || tag.name}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n }\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'TagsHint'|translate\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [formControl]=\"control\"\r\n #input autocomplete=\"off\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"add($event)\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\r\n @for (tag of options | async; track tag.name) {\r\n <mat-option [value]=\"tag\">\r\n {{tag.title || tag.name}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n", styles: [":host{min-width:260px;padding:8px}\n"] }]
|
9750
9772
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
9751
9773
|
type: Inject,
|
9752
9774
|
args: [POPUP_DATA]
|
@@ -9790,6 +9812,8 @@ class ComposeFormComponent {
|
|
9790
9812
|
}
|
9791
9813
|
/** */
|
9792
9814
|
ngOnInit() {
|
9815
|
+
this.tags = this.model.tags?.map(v => this._session.tags.find(t => t.name === v)).
|
9816
|
+
filter(e => e !== undefined);
|
9793
9817
|
this._fileElement.nativeElement.addEventListener('change', this._fileChangeListener.bind(this));
|
9794
9818
|
this._messaging.callback$.pipe(takeUntil(this._destroy)).subscribe(e => this._instance.onMessage && this._instance.onMessage(e.message));
|
9795
9819
|
this._messaging.editing$.pipe(takeUntil(this._destroy)).subscribe(e => e.id === this.model.id &&
|
@@ -9940,7 +9964,7 @@ class ComposeFormComponent {
|
|
9940
9964
|
if (retry > -1)
|
9941
9965
|
this.model.attachments.splice(retry, 1);
|
9942
9966
|
const model = this._constructAttachment(f);
|
9943
|
-
const observable = this._mailbox.
|
9967
|
+
const observable = this._mailbox.uploadAttachment(this.model.id, this.model.formId, this.model.version, f).
|
9944
9968
|
pipe(tap({
|
9945
9969
|
next: r => {
|
9946
9970
|
this._sb.toast(!exists ? 'UploadOk' : 'UploadVersionOk', f.name);
|
@@ -9974,8 +9998,12 @@ class ComposeFormComponent {
|
|
9974
9998
|
};
|
9975
9999
|
}
|
9976
10000
|
tag(evt) {
|
10001
|
+
const { id, version } = this.model;
|
9977
10002
|
this._popup.open(TagsComponent, evt.target, {
|
9978
|
-
data:
|
10003
|
+
data: {
|
10004
|
+
id, version,
|
10005
|
+
tags: this.tags,
|
10006
|
+
}
|
9979
10007
|
});
|
9980
10008
|
}
|
9981
10009
|
/** */
|
@@ -10228,13 +10256,13 @@ class ComposeFormComponent {
|
|
10228
10256
|
this._destroy.complete();
|
10229
10257
|
}
|
10230
10258
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ComposeFormComponent, deps: [{ token: Popup }, { token: MailboxService }, { token: AccountService }, { token: RouterImpl }, { token: i2$2.MatDialog }, { token: PromptService }, { token: SessionService }, { token: i0.Injector }, { token: i3.MatSnackBar }, { token: BizDocComponentFactoryResolver }, { token: GuideService }, { token: TranslateService }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component }); }
|
10231
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ComposeFormComponent, isStandalone: false, selector: "bizdoc-form", inputs: { model: "model", working: "working", dirty: "dirty", valid: "valid", page: "page", mode: "mode", contacts: "contacts" }, outputs: { modelChange: "modelChange", workingChange: "workingChange", dirtyChange: "dirtyChange", validChange: "validChange", saved: "saved" }, host: { classAttribute: "form-container bizdoc-compose" }, viewQueries: [{ propertyName: "_fileElement", first: true, predicate: ["file"], descendants: true, static: true }, { propertyName: "attachments", first: true, predicate: AttachmentsComponent, descendants: true, static: true }, { propertyName: "_container", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-header\">\r\n
|
10259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ComposeFormComponent, isStandalone: false, selector: "bizdoc-form", inputs: { model: "model", working: "working", dirty: "dirty", valid: "valid", page: "page", mode: "mode", contacts: "contacts" }, outputs: { modelChange: "modelChange", workingChange: "workingChange", dirtyChange: "dirtyChange", validChange: "validChange", saved: "saved" }, host: { classAttribute: "form-container bizdoc-compose" }, viewQueries: [{ propertyName: "_fileElement", first: true, predicate: ["file"], descendants: true, static: true }, { propertyName: "attachments", first: true, predicate: AttachmentsComponent, descendants: true, static: true }, { propertyName: "_container", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-header\">\r\n <!--<bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>-->\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n @if (!model.replied && mode !== 'compose' && model.note) {\r\n <div class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n }\r\n @if (tags) {\r\n <mat-chip-set>\r\n @for (tag of tags; track tag.name) {\r\n <mat-chip [disableRipple]=\"true\" [style.backgroundColor]=\"tag.backgroundColor\">\r\n @if(tag.icon) {\r\n <mat-icon matChipAvatar [style.color]=\"tag.color\">{{tag.icon}}</mat-icon>\r\n }\r\n <span [style.color]=\"tag.color\">{{tag.title || tag.name}}</span>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n }\r\n @if (editing) {\r\n <div class=\"message\">{{ editing }}</div>\r\n }\r\n</div>\r\n<ng-container #component></ng-container>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n", dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i4.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i4.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }] }); }
|
10232
10260
|
}
|
10233
10261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ComposeFormComponent, decorators: [{
|
10234
10262
|
type: Component,
|
10235
10263
|
args: [{ standalone: false, selector: 'bizdoc-form', host: {
|
10236
10264
|
class: 'form-container bizdoc-compose'
|
10237
|
-
}, template: "<div class=\"form-header\">\r\n
|
10265
|
+
}, template: "<div class=\"form-header\">\r\n <!--<bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>-->\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n @if (!model.replied && mode !== 'compose' && model.note) {\r\n <div class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n }\r\n @if (tags) {\r\n <mat-chip-set>\r\n @for (tag of tags; track tag.name) {\r\n <mat-chip [disableRipple]=\"true\" [style.backgroundColor]=\"tag.backgroundColor\">\r\n @if(tag.icon) {\r\n <mat-icon matChipAvatar [style.color]=\"tag.color\">{{tag.icon}}</mat-icon>\r\n }\r\n <span [style.color]=\"tag.color\">{{tag.title || tag.name}}</span>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n }\r\n @if (editing) {\r\n <div class=\"message\">{{ editing }}</div>\r\n }\r\n</div>\r\n<ng-container #component></ng-container>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n" }]
|
10238
10266
|
}], ctorParameters: () => [{ type: Popup }, { type: MailboxService }, { type: AccountService }, { type: RouterImpl }, { type: i2$2.MatDialog }, { type: PromptService }, { type: SessionService }, { type: i0.Injector }, { type: i3.MatSnackBar }, { type: BizDocComponentFactoryResolver }, { type: GuideService }, { type: TranslateService }, { type: HubService }], propDecorators: { model: [{
|
10239
10267
|
type: Input
|
10240
10268
|
}], modelChange: [{
|
@@ -10302,6 +10330,8 @@ class ComposePaneComponent {
|
|
10302
10330
|
else
|
10303
10331
|
this.mode = 'preview';
|
10304
10332
|
this.newCommentsCount = this.model.unreadComments;
|
10333
|
+
this.userTags = this.model.tags &&
|
10334
|
+
this.model.tags.some(e => !this._session.tags.find(t => t.name === e));
|
10305
10335
|
this._pane.title = this._pane.group = `#${this.model.number}`;
|
10306
10336
|
this.page = undefined;
|
10307
10337
|
});
|
@@ -12710,7 +12740,7 @@ const MODE_MAP = {
|
|
12710
12740
|
'Offline': { icon: 'timer', color: '#f57c00' },
|
12711
12741
|
'Online': { icon: 'check', color: '#43a047' },
|
12712
12742
|
'OutOfOffice': { icon: 'priority_high', color: '#90a4ae' },
|
12713
|
-
'
|
12743
|
+
'OnVacation': { icon: 'beach_access', color: '#fdd835' },
|
12714
12744
|
'WorkingHome': { icon: 'home', color: '#fdd835' }
|
12715
12745
|
};
|
12716
12746
|
class AvatarComponent {
|
@@ -19750,13 +19780,13 @@ class SearchService {
|
|
19750
19780
|
});
|
19751
19781
|
// user tags
|
19752
19782
|
profile.options.tags?.forEach(t => {
|
19753
|
-
if (t.toLowerCase().indexOf(val) > -1)
|
19783
|
+
if ((t.title || t.name).toLowerCase().indexOf(val) > -1)
|
19754
19784
|
results.push({
|
19755
19785
|
portal: new ComponentPortal(PathListingComponent),
|
19756
19786
|
model: {
|
19757
19787
|
path: ['mailbox', 'f'],
|
19758
|
-
params: { tag: t },
|
19759
|
-
title: t,
|
19788
|
+
params: { tag: t.name },
|
19789
|
+
title: t.title || t.name,
|
19760
19790
|
section: 'Tags',
|
19761
19791
|
icon: 'bookmark'
|
19762
19792
|
}
|
@@ -22138,6 +22168,8 @@ class ComposeMobileComponent {
|
|
22138
22168
|
this.newCommentsCount = this.model.unreadComments;
|
22139
22169
|
const form = this._session.profile.forms.find(f => f.name === this.model.formId);
|
22140
22170
|
this._title.set(this.model.number ? `#${this.model.number}` : form.title);
|
22171
|
+
this.userTags = this.model.tags &&
|
22172
|
+
this.model.tags.some(e => !this._session.tags.find(t => t.name === e));
|
22141
22173
|
this.page = undefined;
|
22142
22174
|
this.newCommentsCount &&
|
22143
22175
|
this.drawer.open();
|
@@ -22196,11 +22228,11 @@ class ComposeMobileComponent {
|
|
22196
22228
|
this._destroy.complete();
|
22197
22229
|
}
|
22198
22230
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ComposeMobileComponent, deps: [{ token: WindowTitleService }, { token: SessionService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
22199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ComposeMobileComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: ComposeFormComponent, descendants: true, static: true }, { propertyName: "comments", first: true, predicate: CommentsComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n @if (page !== undefined) {\r\n <button mat-icon-button (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon>\r\n </button>\r\n }\r\n @if (model.draft) {\r\n <button mat-icon-button color=\"primary\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Submit' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n @if (form.actions.length === 1) {\r\n <button mat-icon-button color=\"primary\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"form.actions[0].title\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">{{form.actions[0].icon || 'send'}}</mat-icon>\r\n </button>\r\n }\r\n @else if (form.actions.length > 1) {\r\n <button mat-icon-button data-help=\"send\" color=\"primary\" [matMenuTriggerFor]=\"actionmenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n <!-- action -->\r\n <mat-menu #actionmenu>\r\n @for (a of form.actions | sort : 'group'; track a; let i = $index) {\r\n @if (i > 0 && form.actions[i-1].group !== a.group) {\r\n <mat-divider></mat-divider>\r\n }\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n }\r\n </mat-menu>\r\n @if (mode === 'compose') {\r\n <button mat-icon-button (click)=\"form.save().subscribe()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"(model.draft ? 'SaveDraft' : 'Save') | translate\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon [class.filled]=\"
|
22231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ComposeMobileComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: ComposeFormComponent, descendants: true, static: true }, { propertyName: "comments", first: true, predicate: CommentsComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n @if (page !== undefined) {\r\n <button mat-icon-button (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon>\r\n </button>\r\n }\r\n @if (model.draft) {\r\n <button mat-icon-button color=\"primary\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Submit' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n @if (form.actions.length === 1) {\r\n <button mat-icon-button color=\"primary\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"form.actions[0].title\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">{{form.actions[0].icon || 'send'}}</mat-icon>\r\n </button>\r\n }\r\n @else if (form.actions.length > 1) {\r\n <button mat-icon-button data-help=\"send\" color=\"primary\" [matMenuTriggerFor]=\"actionmenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n <!-- action -->\r\n <mat-menu #actionmenu>\r\n @for (a of form.actions | sort : 'group'; track a; let i = $index) {\r\n @if (i > 0 && form.actions[i-1].group !== a.group) {\r\n <mat-divider></mat-divider>\r\n }\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n }\r\n </mat-menu>\r\n @if (mode === 'compose') {\r\n <button mat-icon-button (click)=\"form.save().subscribe()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"(model.draft ? 'SaveDraft' : 'Save') | translate\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon [class.filled]=\"userTags\">bookmark</mat-icon></button>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.filled]=\"model.flag\">star</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n @if (mode !== 'compose' && !model.completed && model.pending) {\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\"><mat-icon>create</mat-icon></button>\r\n }\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggle('comments')\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\">\r\n <mat-icon [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\" [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n @if (enableInsights) {\r\n <button mat-icon-button (click)=\"toggle('insights')\" [bizdocTooltip]=\"'Insights' | translate\" [attr.aria-label]=\"'Insight' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n }\r\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #optionsMenu=\"matMenu\">\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\r\n <!--<mat-icon>content_copy</mat-icon>-->\r\n <span>{{'Copy' | translate}}</span>\r\n </button>\r\n @if (model.draft && !model.issued) {\r\n <button mat-menu-item (click)=\"discard()\" [disabled]=\"working\">\r\n <!--<mat-icon>delete_outlined</mat-icon>-->\r\n <span>{{'Discard' | translate}}</span>\r\n </button>\r\n }\r\n @if (form.help) {\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"form.guide(form.help)\">\r\n <!--<mat-icon>help_outline</mat-icon>-->\r\n <span>{{'Help' | translate}}</span>\r\n </button>\r\n }\r\n </ng-template>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\">\r\n <mat-sidenav-content>\r\n <bizdoc-form [model]=model #form (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\" [page]=\"page\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n </mat-sidenav-content>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\" #drawer autoFocus=\"false\" class=\"side-nav\">\r\n @switch (viewMode) {\r\n @case ('insights') {\r\n <bizdoc-document-insights [model]=\"model\"></bizdoc-document-insights>\r\n }\r\n @default {\r\n <bizdoc-comments [model]=\"model\"></bizdoc-comments>\r\n }\r\n }\r\n </mat-sidenav>\r\n</mat-sidenav-container>\r\n", styles: [".page-container ::ng-deep form{padding:6px}.side-nav{min-width:280px}\n"], dependencies: [{ kind: "directive", type: i7$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i6$4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: DocumentViewsComponent, selector: "bizdoc-document-insights", inputs: ["model"] }, { kind: "component", type: CommentsComponent, selector: "bizdoc-comments", inputs: ["model"], outputs: ["change"] }, { kind: "component", type: ComposeFormComponent, selector: "bizdoc-form", inputs: ["model", "working", "dirty", "valid", "page", "mode", "contacts"], outputs: ["modelChange", "workingChange", "dirtyChange", "validChange", "saved"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
22200
22232
|
}
|
22201
22233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ComposeMobileComponent, decorators: [{
|
22202
22234
|
type: Component,
|
22203
|
-
args: [{ standalone: false, template: "<mat-toolbar class=\"nav-toolbar\">\r\n @if (page !== undefined) {\r\n <button mat-icon-button (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon>\r\n </button>\r\n }\r\n @if (model.draft) {\r\n <button mat-icon-button color=\"primary\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Submit' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n @if (form.actions.length === 1) {\r\n <button mat-icon-button color=\"primary\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"form.actions[0].title\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">{{form.actions[0].icon || 'send'}}</mat-icon>\r\n </button>\r\n }\r\n @else if (form.actions.length > 1) {\r\n <button mat-icon-button data-help=\"send\" color=\"primary\" [matMenuTriggerFor]=\"actionmenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n <!-- action -->\r\n <mat-menu #actionmenu>\r\n @for (a of form.actions | sort : 'group'; track a; let i = $index) {\r\n @if (i > 0 && form.actions[i-1].group !== a.group) {\r\n <mat-divider></mat-divider>\r\n }\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n }\r\n </mat-menu>\r\n @if (mode === 'compose') {\r\n <button mat-icon-button (click)=\"form.save().subscribe()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"(model.draft ? 'SaveDraft' : 'Save') | translate\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon [class.filled]=\"
|
22235
|
+
args: [{ standalone: false, template: "<mat-toolbar class=\"nav-toolbar\">\r\n @if (page !== undefined) {\r\n <button mat-icon-button (click)=\"form.back()\" [bizdocTooltip]=\"'Back'|translate\" tabindex=\"1\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon>\r\n </button>\r\n }\r\n @if (model.draft) {\r\n <button mat-icon-button color=\"primary\" data-help=\"submit\"\r\n (click)=\"submit()\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Submit' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n @if (form.actions.length === 1) {\r\n <button mat-icon-button color=\"primary\" [attr.data-help]=\"'action-'+form.actions[0].name\" (click)=\"send(model.actions[0])\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"form.actions[0].title\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">{{form.actions[0].icon || 'send'}}</mat-icon>\r\n </button>\r\n }\r\n @else if (form.actions.length > 1) {\r\n <button mat-icon-button data-help=\"send\" color=\"primary\" [matMenuTriggerFor]=\"actionmenu\" [disabled]=\"!valid||working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n }\r\n <!-- action -->\r\n <mat-menu #actionmenu>\r\n @for (a of form.actions | sort : 'group'; track a; let i = $index) {\r\n @if (i > 0 && form.actions[i-1].group !== a.group) {\r\n <mat-divider></mat-divider>\r\n }\r\n <button mat-menu-item (click)=\"send(a.name)\">{{a.title}}</button>\r\n }\r\n </mat-menu>\r\n @if (mode === 'compose') {\r\n <button mat-icon-button (click)=\"form.save().subscribe()\" data-help=\"save\" [disabled]=\"!dirty||working\" [bizdocTooltip]=\"(model.draft ? 'SaveDraft' : 'Save') | translate\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n }\r\n <button mat-icon-button data-help=\"tag\" (click)=\"form.tag($event)\" [bizdocTooltip]=\"'Tags' | translate\" [disabled]=\"working\"><mat-icon [class.filled]=\"userTags\">bookmark</mat-icon></button>\r\n <button mat-icon-button data-help=\"flag\" [bizdocTooltip]=\"'Flagged'| translate\" [disabled]=\"working\" (click)=\"form.flag()\"><mat-icon [class.filled]=\"model.flag\">star</mat-icon></button>\r\n <button mat-icon-button (click)=\"form.attach()\" data-help=\"attach\" [bizdocTooltip]=\"'AttachFile' | translate\" [disabled]=\"working\"><mat-icon>attach_file</mat-icon></button>\r\n @if (mode !== 'compose' && !model.completed && model.pending) {\r\n <button mat-icon-button [disabled]=\"working\" data-help=\"edit\" (click)=\"edit()\" [bizdocTooltip]=\"'Edit' | translate\"><mat-icon>create</mat-icon></button>\r\n }\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggle('comments')\" data-help=\"comments\" [bizdocTooltip]=\"'Comments' | translate\">\r\n <mat-icon [matBadge]=\"newCommentsCount\" [matBadgeHidden]=\"!newCommentsCount\" matBadgeColor=\"accent\" [class.filled]=\"model.comments.length > 0\">format_quote</mat-icon>\r\n </button>\r\n @if (enableInsights) {\r\n <button mat-icon-button (click)=\"toggle('insights')\" [bizdocTooltip]=\"'Insights' | translate\" [attr.aria-label]=\"'Insight' | translate\" class=\"tool\"><mat-icon>data_usage</mat-icon></button>\r\n }\r\n <button mat-icon-button [matMenuTriggerFor]=\"optionsMenu\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #optionsMenu=\"matMenu\">\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"form.copy()\" [disabled]=\"working\">\r\n <!--<mat-icon>content_copy</mat-icon>-->\r\n <span>{{'Copy' | translate}}</span>\r\n </button>\r\n @if (model.draft && !model.issued) {\r\n <button mat-menu-item (click)=\"discard()\" [disabled]=\"working\">\r\n <!--<mat-icon>delete_outlined</mat-icon>-->\r\n <span>{{'Discard' | translate}}</span>\r\n </button>\r\n }\r\n @if (form.help) {\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"form.guide(form.help)\">\r\n <!--<mat-icon>help_outline</mat-icon>-->\r\n <span>{{'Help' | translate}}</span>\r\n </button>\r\n }\r\n </ng-template>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\">\r\n <mat-sidenav-content>\r\n <bizdoc-form [model]=model #form (validChange)=\"valid=$event\"\r\n (workingChange)=\"working=$event\" [page]=\"page\"\r\n (dirtyChange)=\"dirty=$event\" [mode]=\"mode\"></bizdoc-form>\r\n </mat-sidenav-content>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\" #drawer autoFocus=\"false\" class=\"side-nav\">\r\n @switch (viewMode) {\r\n @case ('insights') {\r\n <bizdoc-document-insights [model]=\"model\"></bizdoc-document-insights>\r\n }\r\n @default {\r\n <bizdoc-comments [model]=\"model\"></bizdoc-comments>\r\n }\r\n }\r\n </mat-sidenav>\r\n</mat-sidenav-container>\r\n", styles: [".page-container ::ng-deep form{padding:6px}.side-nav{min-width:280px}\n"] }]
|
22204
22236
|
}], ctorParameters: () => [{ type: WindowTitleService }, { type: SessionService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }], propDecorators: { form: [{
|
22205
22237
|
type: ViewChild,
|
22206
22238
|
args: [ComposeFormComponent, { static: true }]
|
@@ -23762,7 +23794,7 @@ class FileInput {
|
|
23762
23794
|
});
|
23763
23795
|
}
|
23764
23796
|
discard(item) {
|
23765
|
-
const task = () => this._mailbox.
|
23797
|
+
const task = () => this._mailbox.removeAttachment(this._model.id, item.id).subscribe({
|
23766
23798
|
next: () => {
|
23767
23799
|
this._items.remove(item);
|
23768
23800
|
this._value = this.multiple ? this._items.length ? this._items.map(i => i.id) : undefined : undefined;
|
@@ -23883,7 +23915,7 @@ class FileInput {
|
|
23883
23915
|
}
|
23884
23916
|
else if (this._editable(item)) {
|
23885
23917
|
// existing item, override
|
23886
|
-
let observable = this._mailbox.
|
23918
|
+
let observable = this._mailbox.uploadAttachment(this._model.id, this._model.formId, this._model.version, file, { isPrivate: true }).
|
23887
23919
|
pipe(
|
23888
23920
|
// TODO: reportProgress(item),
|
23889
23921
|
catchError(e => {
|
@@ -23900,7 +23932,7 @@ class FileInput {
|
|
23900
23932
|
}
|
23901
23933
|
else {
|
23902
23934
|
// upload new
|
23903
|
-
let observable = this._mailbox.
|
23935
|
+
let observable = this._mailbox.uploadAttachment(this._model.id, this._model.formId, this._model.version, file, { isPrivate: true }).
|
23904
23936
|
pipe(/*TODO reportProgress(item), */ catchError(e => {
|
23905
23937
|
this._handleError(e);
|
23906
23938
|
return of(false);
|
@@ -34496,7 +34528,11 @@ class DesignerItemComponent {
|
|
34496
34528
|
this.mode = 'edit';
|
34497
34529
|
if (this.mode === 'add' && this.model.copyOf && !this.addContent)
|
34498
34530
|
this.mode = 'edit';
|
34499
|
-
this.mode
|
34531
|
+
switch (this.mode) {
|
34532
|
+
case 'edit':
|
34533
|
+
this._commonForm();
|
34534
|
+
break;
|
34535
|
+
}
|
34500
34536
|
if (!this.model.designTemplate && !this.model.arguments?.length)
|
34501
34537
|
this._patch();
|
34502
34538
|
(this.model.copyOf || this.mode === 'add') && this.form.markAsDirty();
|
@@ -34627,11 +34663,11 @@ class DesignerItemComponent {
|
|
34627
34663
|
this._destroy?.complete();
|
34628
34664
|
}
|
34629
34665
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DesignerItemComponent, deps: [{ token: i0.ElementRef }, { token: i1$2.FormBuilder }, { token: i2$1.DomSanitizer }, { token: DesignerRef }, { token: BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
|
34630
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: DesignerItemComponent, isStandalone: false, selector: "bizdoc-designer-element", inputs: { privileges: "privileges", icon: "icon", form: "form", context: "context" }, outputs: { onSave: "save", onContinue: "continue" }, queries: [{ propertyName: "editContent", first: true, predicate: EditContentDirective, descendants: true }, { propertyName: "addContent", first: true, predicate: AddContentDirective, descendants: true }, { propertyName: "widgetContent", first: true, predicate: WidgetContentDirective, descendants: true }, { propertyName: "customContents", predicate: CustomContentDirective }], usesOnChanges: true, ngImport: i0, template: "@switch (mode) {\r\n<!--widget mode -->\r\n@case ('widget') {\r\n<!--icon -->\r\n @if (model.familyKey) {\r\n @if (SVG[model.familyKey]) {\r\n<img class=\"logo\" [src]=\"resource(SVG[model.familyKey])\" [bizdocTooltip]=\"model.family\" />\r\n }\r\n @else {\r\n<div>{{model.family}}</div>\r\n }\r\n }\r\n<!--options-->\r\n<ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n<!--designer widget-->\r\n<ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n}\r\n@case ('edit') {\r\n<!--edit / custom mode -->\r\n@if (context?.active) {\r\n<mat-toolbar class=\"row\">\r\n @if(context.mode === 'add') {\r\n <button mat-icon-button (click)=\"closeView(true)\" [disabled]=\"context.form.invalid\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n }\r\n @else {\r\n <button mat-icon-button (click)=\"closeView(true)\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_backspace</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <h2 class=\"mat-h2\">{{context.title|translate}}</h2>\r\n <ng-container *ngTemplateOutlet=\"customView; context: context\"></ng-container>\r\n</form>\r\n}\r\n@else {\r\n<!--edit mode -->\r\n<mat-toolbar bizdoc-sticky>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"form.invalid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n @if (model.resourceType) {\r\n <p class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'UnlockMultilang'|translate\"></p>\r\n <br />\r\n }\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row gap\">\r\n <bizdoc-localized-string #title formControlName=\"title\" [placeholder]=\"'Title'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n @if (form.controls.name.hasError('required')) {\r\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n @if (form.controls.name.hasError('duplicate')) {\r\n <mat-error [innerHTML]=\"'DuplicateErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (icon) {\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n }\r\n </ng-container>\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--edit template-->\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n <!--options-->\r\n @if (options) {\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!--privileges-->\r\n @if (form.controls.privileges) {\r\n <bizdoc-designer-privileges [form]=\"form.controls.privileges\"></bizdoc-designer-privileges>\r\n }\r\n</form>\r\n}\r\n}\r\n<!--add-->\r\n@case ('add') {\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--add template-->\r\n <ng-container [ngTemplateOutlet]=\"addContent?.templateRef\"></ng-container>\r\n @if (options) {\r\n <!--options-->\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!-- continue-->\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"form.invalid\" (click)=\"continue()\" type=\"button\">{{'Continue'|translate}} <mat-icon class=\"mat-icon-rtl-mirror\">double_arrow</mat-icon></button>\r\n </div>\r\n</form>\r\n }\r\n}\r\n", styles: ["img.logo{display:block;height:26px}:host{flex:1;width:100%}form{min-width:280px;padding:8px}p.message{margin:5px}:host ::ng-deep .cdk-drag-handle{cursor:move}\n"], dependencies: [{ kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.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" }] }); }
|
34666
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: DesignerItemComponent, isStandalone: false, selector: "bizdoc-designer-element", inputs: { privileges: "privileges", icon: "icon", form: "form", context: "context" }, outputs: { onSave: "save", onContinue: "continue" }, queries: [{ propertyName: "editContent", first: true, predicate: EditContentDirective, descendants: true }, { propertyName: "addContent", first: true, predicate: AddContentDirective, descendants: true }, { propertyName: "widgetContent", first: true, predicate: WidgetContentDirective, descendants: true }, { propertyName: "customContents", predicate: CustomContentDirective }], usesOnChanges: true, ngImport: i0, template: "@switch (mode) {\r\n<!--widget mode -->\r\n@case ('widget') {\r\n<!--icon -->\r\n @if (model.familyKey) {\r\n @if (SVG[model.familyKey]) {\r\n<img class=\"logo\" [src]=\"resource(SVG[model.familyKey])\" [bizdocTooltip]=\"model.family\" />\r\n }\r\n @else {\r\n<div>{{model.family}}</div>\r\n }\r\n }\r\n<!--options-->\r\n<ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n<!--designer widget-->\r\n<ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n}\r\n@case ('edit') {\r\n<!--edit / custom mode -->\r\n@if (context?.active) {\r\n<mat-toolbar class=\"row\">\r\n @if(context.mode === 'add') {\r\n <button mat-icon-button (click)=\"closeView(true)\" [disabled]=\"context.form.invalid\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n }\r\n @else {\r\n <button mat-icon-button (click)=\"closeView(true)\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_backspace</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <h2 class=\"mat-h2\">{{context.title|translate}}</h2>\r\n <ng-container *ngTemplateOutlet=\"customView; context: context\"></ng-container>\r\n</form>\r\n}\r\n@else {\r\n<!--edit mode -->\r\n<mat-toolbar bizdoc-sticky>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"form.invalid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n @if (model.resourceType) {\r\n <p class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'UnlockMultilang'|translate\"></p>\r\n <br />\r\n }\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row gap\">\r\n <bizdoc-localized-string #title formControlName=\"title\" [placeholder]=\"'Title'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n @if (form.controls.name.hasError('required')) {\r\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n @if (form.controls.name.hasError('duplicate')) {\r\n <mat-error [innerHTML]=\"'DuplicateErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (icon) {\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n }\r\n </ng-container>\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--edit template-->\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n <!--options-->\r\n @if (options) {\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!--privileges-->\r\n @if (form.controls.privileges) {\r\n <bizdoc-designer-privileges [form]=\"form.controls.privileges\"></bizdoc-designer-privileges>\r\n }\r\n</form>\r\n}\r\n}\r\n<!--add-->\r\n@case ('add') {\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--add template-->\r\n @if(addContent) {\r\n <ng-container [ngTemplateOutlet]=\"addContent.templateRef\"></ng-container>\r\n }\r\n @else {\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n }\r\n @if (options) {\r\n <!--options-->\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!-- continue-->\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"form.invalid\" (click)=\"continue()\" type=\"button\">{{'Continue'|translate}} <mat-icon class=\"mat-icon-rtl-mirror\">double_arrow</mat-icon></button>\r\n </div>\r\n</form>\r\n }\r\n}\r\n", styles: ["img.logo{display:block;height:26px}:host{flex:1;width:100%}form{min-width:280px;padding:8px}p.message{margin:5px}:host ::ng-deep .cdk-drag-handle{cursor:move}\n"], dependencies: [{ kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.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" }] }); }
|
34631
34667
|
}
|
34632
34668
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DesignerItemComponent, decorators: [{
|
34633
34669
|
type: Component,
|
34634
|
-
args: [{ standalone: false, selector: 'bizdoc-designer-element', template: "@switch (mode) {\r\n<!--widget mode -->\r\n@case ('widget') {\r\n<!--icon -->\r\n @if (model.familyKey) {\r\n @if (SVG[model.familyKey]) {\r\n<img class=\"logo\" [src]=\"resource(SVG[model.familyKey])\" [bizdocTooltip]=\"model.family\" />\r\n }\r\n @else {\r\n<div>{{model.family}}</div>\r\n }\r\n }\r\n<!--options-->\r\n<ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n<!--designer widget-->\r\n<ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n}\r\n@case ('edit') {\r\n<!--edit / custom mode -->\r\n@if (context?.active) {\r\n<mat-toolbar class=\"row\">\r\n @if(context.mode === 'add') {\r\n <button mat-icon-button (click)=\"closeView(true)\" [disabled]=\"context.form.invalid\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n }\r\n @else {\r\n <button mat-icon-button (click)=\"closeView(true)\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_backspace</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <h2 class=\"mat-h2\">{{context.title|translate}}</h2>\r\n <ng-container *ngTemplateOutlet=\"customView; context: context\"></ng-container>\r\n</form>\r\n}\r\n@else {\r\n<!--edit mode -->\r\n<mat-toolbar bizdoc-sticky>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"form.invalid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n @if (model.resourceType) {\r\n <p class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'UnlockMultilang'|translate\"></p>\r\n <br />\r\n }\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row gap\">\r\n <bizdoc-localized-string #title formControlName=\"title\" [placeholder]=\"'Title'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n @if (form.controls.name.hasError('required')) {\r\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n @if (form.controls.name.hasError('duplicate')) {\r\n <mat-error [innerHTML]=\"'DuplicateErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (icon) {\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n }\r\n </ng-container>\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--edit template-->\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n <!--options-->\r\n @if (options) {\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!--privileges-->\r\n @if (form.controls.privileges) {\r\n <bizdoc-designer-privileges [form]=\"form.controls.privileges\"></bizdoc-designer-privileges>\r\n }\r\n</form>\r\n}\r\n}\r\n<!--add-->\r\n@case ('add') {\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--add template-->\r\n <ng-container [ngTemplateOutlet]=\"addContent?.templateRef\"></ng-container>\r\n @if (options) {\r\n <!--options-->\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!-- continue-->\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"form.invalid\" (click)=\"continue()\" type=\"button\">{{'Continue'|translate}} <mat-icon class=\"mat-icon-rtl-mirror\">double_arrow</mat-icon></button>\r\n </div>\r\n</form>\r\n }\r\n}\r\n", styles: ["img.logo{display:block;height:26px}:host{flex:1;width:100%}form{min-width:280px;padding:8px}p.message{margin:5px}:host ::ng-deep .cdk-drag-handle{cursor:move}\n"] }]
|
34670
|
+
args: [{ standalone: false, selector: 'bizdoc-designer-element', template: "@switch (mode) {\r\n<!--widget mode -->\r\n@case ('widget') {\r\n<!--icon -->\r\n @if (model.familyKey) {\r\n @if (SVG[model.familyKey]) {\r\n<img class=\"logo\" [src]=\"resource(SVG[model.familyKey])\" [bizdocTooltip]=\"model.family\" />\r\n }\r\n @else {\r\n<div>{{model.family}}</div>\r\n }\r\n }\r\n<!--options-->\r\n<ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n<!--designer widget-->\r\n<ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n}\r\n@case ('edit') {\r\n<!--edit / custom mode -->\r\n@if (context?.active) {\r\n<mat-toolbar class=\"row\">\r\n @if(context.mode === 'add') {\r\n <button mat-icon-button (click)=\"closeView(true)\" [disabled]=\"context.form.invalid\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n }\r\n @else {\r\n <button mat-icon-button (click)=\"closeView(true)\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_backspace</mat-icon></button>\r\n }\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <h2 class=\"mat-h2\">{{context.title|translate}}</h2>\r\n <ng-container *ngTemplateOutlet=\"customView; context: context\"></ng-container>\r\n</form>\r\n}\r\n@else {\r\n<!--edit mode -->\r\n<mat-toolbar bizdoc-sticky>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"form.invalid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" [bizdocTooltip]=\"'Close'|translate\"><mat-icon>close</mat-icon></button>\r\n</mat-toolbar>\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n @if (model.resourceType) {\r\n <p class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'UnlockMultilang'|translate\"></p>\r\n <br />\r\n }\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row gap\">\r\n <bizdoc-localized-string #title formControlName=\"title\" [placeholder]=\"'Title'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n @if (form.controls.name.hasError('required')) {\r\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n @if (form.controls.name.hasError('duplicate')) {\r\n <mat-error [innerHTML]=\"'DuplicateErr'|translate:('Name'|translate)\"></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (icon) {\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n }\r\n </ng-container>\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--edit template-->\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n <!--options-->\r\n @if (options) {\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!--privileges-->\r\n @if (form.controls.privileges) {\r\n <bizdoc-designer-privileges [form]=\"form.controls.privileges\"></bizdoc-designer-privileges>\r\n }\r\n</form>\r\n}\r\n}\r\n<!--add-->\r\n@case ('add') {\r\n<form autocomplete=\"off\" class=\"column\" (keydown)=\"handleKeyboardEvent($event)\">\r\n <!--arguments-->\r\n @if (arguments) {\r\n <ng-container (attached)=\"argumentsAttached($event)\" [cdkPortalOutlet]=\"arguments\"></ng-container>\r\n }\r\n <!--add template-->\r\n @if(addContent) {\r\n <ng-container [ngTemplateOutlet]=\"addContent.templateRef\"></ng-container>\r\n }\r\n @else {\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n }\r\n @if (options) {\r\n <!--options-->\r\n <ng-container (attached)=\"optionsAttached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n }\r\n <!-- continue-->\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"form.invalid\" (click)=\"continue()\" type=\"button\">{{'Continue'|translate}} <mat-icon class=\"mat-icon-rtl-mirror\">double_arrow</mat-icon></button>\r\n </div>\r\n</form>\r\n }\r\n}\r\n", styles: ["img.logo{display:block;height:26px}:host{flex:1;width:100%}form{min-width:280px;padding:8px}p.message{margin:5px}:host ::ng-deep .cdk-drag-handle{cursor:move}\n"] }]
|
34635
34671
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$2.FormBuilder }, { type: i2$1.DomSanitizer }, { type: DesignerRef, decorators: [{
|
34636
34672
|
type: Inject,
|
34637
34673
|
args: [DesignerRef]
|
@@ -35658,6 +35694,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
35658
35694
|
args: [{ standalone: false, selector: 'bizdoc-device-designer', template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-label>{{'ExecutionMode'|translate}}</mat-label>\r\n <mat-select formControlName=\"executionMode\">\r\n <mat-option value=\"RegisteredDevice\">{{'RegisteredDevice'|translate}}</mat-option>\r\n <mat-option value=\"Challenge\">{{'Challenge'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
|
35659
35695
|
}] });
|
35660
35696
|
|
35697
|
+
class TagDesignComponent extends DesignerTypeElementComponent {
|
35698
|
+
constructor(fb, element, ref) {
|
35699
|
+
super(fb, element, ref);
|
35700
|
+
this.form = this._fb.group({
|
35701
|
+
color: null,
|
35702
|
+
backgroundColor: null,
|
35703
|
+
system: true,
|
35704
|
+
});
|
35705
|
+
}
|
35706
|
+
ngOnInit() {
|
35707
|
+
// if (this.mode !== 'widget') {
|
35708
|
+
// }
|
35709
|
+
}
|
35710
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TagDesignComponent, deps: [{ token: i1$2.FormBuilder }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
35711
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: TagDesignComponent, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [icon]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <mat-checkbox formControlName=\"system\">{{'System'|translate}}</mat-checkbox>\r\n <!--<mat-chip [ngStyle]=\"{'background-color': form.controls.backgroundColor.value, 'color': form.controls.color.value}\">{{'Tag'|translate}}</mat-chip>-->\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
35712
|
+
}
|
35713
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TagDesignComponent, decorators: [{
|
35714
|
+
type: Component,
|
35715
|
+
args: [{ standalone: false, template: "<bizdoc-designer-element [form]=\"form\" [icon]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <mat-checkbox formControlName=\"system\">{{'System'|translate}}</mat-checkbox>\r\n <!--<mat-chip [ngStyle]=\"{'background-color': form.controls.backgroundColor.value, 'color': form.controls.color.value}\">{{'Tag'|translate}}</mat-chip>-->\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
|
35716
|
+
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i0.ElementRef }, { type: DesignerRef, decorators: [{
|
35717
|
+
type: Inject,
|
35718
|
+
args: [DesignerRef]
|
35719
|
+
}] }] });
|
35720
|
+
|
35661
35721
|
const SEARCH_DEBOUNCE = 200;
|
35662
35722
|
/** */
|
35663
35723
|
let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
@@ -35706,6 +35766,7 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
35706
35766
|
{ elements: r.notifications, type: 'Notifications', comp: NotificationDesignComponent, templates: r.tNotifications },
|
35707
35767
|
{ elements: r.devices, type: 'Devices', comp: DeviceDesignComponent, templates: r.tDevices },
|
35708
35768
|
{ elements: r.controls, type: 'Controls', comp: ControlDesignComponent },
|
35769
|
+
{ elements: r.tags, type: 'Tags', comp: TagDesignComponent, templates: [{ title: this._translate.get('Tag') }] },
|
35709
35770
|
{ elements: r.policies, type: 'Policies', comp: PolicyDesignComponent, templates: r.tPolicies },
|
35710
35771
|
];
|
35711
35772
|
const families = [];
|
@@ -35938,7 +35999,7 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
35938
35999
|
}
|
35939
36000
|
save() {
|
35940
36001
|
this.saving = true;
|
35941
|
-
const { controls, attributes, policies, actions, cubes, folders, forms, guides, reports, roles, notifications, rules, states, types, utilities, views, widgets, nodes, devices } = this.model;
|
36002
|
+
const { controls, tags, attributes, policies, actions, cubes, folders, forms, guides, reports, roles, notifications, rules, states, types, utilities, views, widgets, nodes, devices } = this.model;
|
35942
36003
|
const model = {
|
35943
36004
|
actions: strip(actions),
|
35944
36005
|
cubes: strip(cubes),
|
@@ -35958,6 +36019,7 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
35958
36019
|
nodes: strip(nodes),
|
35959
36020
|
widgets: strip(widgets),
|
35960
36021
|
controls: strip(controls),
|
36022
|
+
tags: strip(tags),
|
35961
36023
|
attributes: strip(attributes)
|
35962
36024
|
};
|
35963
36025
|
this._ref.execute(model).subscribe({
|
@@ -36410,14 +36472,14 @@ let FormDesignerComponent = class FormDesignerComponent {
|
|
36410
36472
|
});
|
36411
36473
|
}
|
36412
36474
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormDesignerComponent, deps: [{ token: i1$2.FormBuilder }, { token: PaneRef }, { token: i0.ChangeDetectorRef }, { token: PromptService }, { token: SystemService }, { token: TranslateService }, { token: PanesRouter }, { token: SessionService }, { token: i0.ElementRef }, { token: UtilityRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
36413
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FormDesignerComponent, isStandalone: false, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"historyIndex === -1\"><mat-icon class=\"mat-icon-rtl-mirror\">undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"historyIndex === history.length - 1\"><mat-icon class=\"mat-icon-rtl-mirror\">redo</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <!--<button mat-icon-button (click)=\"opensettings()\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>-->\r\n</mat-toolbar>\r\n@if (model) {\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, sections)\">\r\n @for (s of sections.controls; track s; let si = $index) {\r\n <section class=\"column\" cdkDrag [attr.data-index]=\"si\">\r\n <div class=\"row\">\r\n <mat-icon class=\"section-drag\" cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\" [formGroup]=\"s\">\r\n <h2 class=\"mat-h2\">{{s.controls.title.value|localizedString}}</h2>\r\n @if (s.controls.note.value) {\r\n <p class=\"mat-body-1\">{{s.controls.note.value|localizedString}}</p>\r\n }\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, s.controls.rows)\">\r\n @for (r of s.controls.rows.controls; track r; let ri = $index) {\r\n <div class=\"row designer-row\" cdkDrag [attr.data-index]=\"ri\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event, r.controls.fields)\" class=\"row\">\r\n @for (f of r.controls.fields.controls; track f; let fi = $index) {\r\n <div cdkDrag class=\"designer-field row\" [attr.data-index]=\"fi\">\r\n <!--<mat-icon cdkDragHandle>{{iconOf(f.value.type)}}</mat-icon>-->\r\n <bizdoc-box-control-design [metadata]=\"f.value\"></bizdoc-box-control-design>\r\n <div class=\"tools\">\r\n <button mat-
|
36475
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FormDesignerComponent, isStandalone: false, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"historyIndex === -1\"><mat-icon class=\"mat-icon-rtl-mirror\">undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"historyIndex === history.length - 1\"><mat-icon class=\"mat-icon-rtl-mirror\">redo</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <!--<button mat-icon-button (click)=\"opensettings()\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>-->\r\n</mat-toolbar>\r\n@if (model) {\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, sections)\">\r\n @for (s of sections.controls; track s; let si = $index) {\r\n <section class=\"column\" cdkDrag [attr.data-index]=\"si\">\r\n <div class=\"row\">\r\n <mat-icon class=\"section-drag\" cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\" [formGroup]=\"s\">\r\n <h2 class=\"mat-h2\">{{s.controls.title.value|localizedString}}</h2>\r\n @if (s.controls.note.value) {\r\n <p class=\"mat-body-1\">{{s.controls.note.value|localizedString}}</p>\r\n }\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, s.controls.rows)\">\r\n @for (r of s.controls.rows.controls; track r; let ri = $index) {\r\n <div class=\"row designer-row\" cdkDrag [attr.data-index]=\"ri\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event, r.controls.fields)\" class=\"row flex\">\r\n @for (f of r.controls.fields.controls; track f; let fi = $index) {\r\n <div cdkDrag class=\"designer-field row\" [attr.data-index]=\"fi\">\r\n <!--<mat-icon cdkDragHandle>{{iconOf(f.value.type)}}</mat-icon>-->\r\n <bizdoc-box-control-design [metadata]=\"f.value\"></bizdoc-box-control-design>\r\n <div class=\"tools\">\r\n <button mat-icon-button (click)=\"removeField(r, f)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"editField(f)\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>\r\n </div>\r\n <!--<div *cdkDragPlaceholder class=\"drag-placeholder\"></div>-->\r\n </div>\r\n }\r\n </div>\r\n <div class=\"column\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"fieldMenu\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <mat-menu #fieldMenu>\r\n @for (c of controls; track c) {\r\n <button mat-menu-item (click)=\"addField(s, r, c, $event)\">\r\n <mat-icon>{{c.icon}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <div class=\"tools\">\r\n <button mat-icon-button (click)=\"removeRow(s, r)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tools row\">\r\n <button mat-icon-button (click)=\"addRow(s, $event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"removeSection(s)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"editSection(s)\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>\r\n </div>\r\n </section>\r\n }\r\n <button mat-icon-button (click)=\"addSection($event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </form>\r\n}\r\n", styles: ["form{margin:8px}:host ::ng-deep .cdk-drag-handle{cursor:move}section,.designer-row{border:2px solid transparent;border-radius:3px;padding:8px}.designer-field button{opacity:.1}.designer-field:hover button{opacity:1}section:hover,.designer-row:hover{border:2px dotted}section .designer-row{margin:5px 0}section .designer-row .designer-field{flex:1}.drag-placeholder{border:2px dashed}\n"], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$8.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$8.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$8.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: DesignControlComponent, selector: "bizdoc-box-control-design", inputs: ["metadata"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
36414
36476
|
};
|
36415
36477
|
FormDesignerComponent = __decorate([
|
36416
36478
|
BizDoc({ selector: 'bizdoc-form-designer' })
|
36417
36479
|
], FormDesignerComponent);
|
36418
36480
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormDesignerComponent, decorators: [{
|
36419
36481
|
type: Component,
|
36420
|
-
args: [{ standalone: false, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"historyIndex === -1\"><mat-icon class=\"mat-icon-rtl-mirror\">undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"historyIndex === history.length - 1\"><mat-icon class=\"mat-icon-rtl-mirror\">redo</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <!--<button mat-icon-button (click)=\"opensettings()\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>-->\r\n</mat-toolbar>\r\n@if (model) {\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, sections)\">\r\n @for (s of sections.controls; track s; let si = $index) {\r\n <section class=\"column\" cdkDrag [attr.data-index]=\"si\">\r\n <div class=\"row\">\r\n <mat-icon class=\"section-drag\" cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\" [formGroup]=\"s\">\r\n <h2 class=\"mat-h2\">{{s.controls.title.value|localizedString}}</h2>\r\n @if (s.controls.note.value) {\r\n <p class=\"mat-body-1\">{{s.controls.note.value|localizedString}}</p>\r\n }\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, s.controls.rows)\">\r\n @for (r of s.controls.rows.controls; track r; let ri = $index) {\r\n <div class=\"row designer-row\" cdkDrag [attr.data-index]=\"ri\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event, r.controls.fields)\" class=\"row\">\r\n @for (f of r.controls.fields.controls; track f; let fi = $index) {\r\n <div cdkDrag class=\"designer-field row\" [attr.data-index]=\"fi\">\r\n <!--<mat-icon cdkDragHandle>{{iconOf(f.value.type)}}</mat-icon>-->\r\n <bizdoc-box-control-design [metadata]=\"f.value\"></bizdoc-box-control-design>\r\n <div class=\"tools\">\r\n <button mat-
|
36482
|
+
args: [{ standalone: false, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n <button mat-icon-button (click)=\"undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"historyIndex === -1\"><mat-icon class=\"mat-icon-rtl-mirror\">undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"historyIndex === history.length - 1\"><mat-icon class=\"mat-icon-rtl-mirror\">redo</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <!--<button mat-icon-button (click)=\"opensettings()\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>-->\r\n</mat-toolbar>\r\n@if (model) {\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, sections)\">\r\n @for (s of sections.controls; track s; let si = $index) {\r\n <section class=\"column\" cdkDrag [attr.data-index]=\"si\">\r\n <div class=\"row\">\r\n <mat-icon class=\"section-drag\" cdkDragHandle>drag_indicator</mat-icon>\r\n <div class=\"column\" [formGroup]=\"s\">\r\n <h2 class=\"mat-h2\">{{s.controls.title.value|localizedString}}</h2>\r\n @if (s.controls.note.value) {\r\n <p class=\"mat-body-1\">{{s.controls.note.value|localizedString}}</p>\r\n }\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event, s.controls.rows)\">\r\n @for (r of s.controls.rows.controls; track r; let ri = $index) {\r\n <div class=\"row designer-row\" cdkDrag [attr.data-index]=\"ri\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <div cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event, r.controls.fields)\" class=\"row flex\">\r\n @for (f of r.controls.fields.controls; track f; let fi = $index) {\r\n <div cdkDrag class=\"designer-field row\" [attr.data-index]=\"fi\">\r\n <!--<mat-icon cdkDragHandle>{{iconOf(f.value.type)}}</mat-icon>-->\r\n <bizdoc-box-control-design [metadata]=\"f.value\"></bizdoc-box-control-design>\r\n <div class=\"tools\">\r\n <button mat-icon-button (click)=\"removeField(r, f)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"editField(f)\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>\r\n </div>\r\n <!--<div *cdkDragPlaceholder class=\"drag-placeholder\"></div>-->\r\n </div>\r\n }\r\n </div>\r\n <div class=\"column\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"fieldMenu\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <mat-menu #fieldMenu>\r\n @for (c of controls; track c) {\r\n <button mat-menu-item (click)=\"addField(s, r, c, $event)\">\r\n <mat-icon>{{c.icon}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <div class=\"tools\">\r\n <button mat-icon-button (click)=\"removeRow(s, r)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tools row\">\r\n <button mat-icon-button (click)=\"addRow(s, $event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"removeSection(s)\" [bizdocTooltip]=\"'Discard'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"editSection(s)\" [bizdocTooltip]=\"'Settings'|translate\" type=\"button\"><mat-icon>settings</mat-icon></button>\r\n </div>\r\n </section>\r\n }\r\n <button mat-icon-button (click)=\"addSection($event)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add</mat-icon></button>\r\n </div>\r\n </form>\r\n}\r\n", styles: ["form{margin:8px}:host ::ng-deep .cdk-drag-handle{cursor:move}section,.designer-row{border:2px solid transparent;border-radius:3px;padding:8px}.designer-field button{opacity:.1}.designer-field:hover button{opacity:1}section:hover,.designer-row:hover{border:2px dotted}section .designer-row{margin:5px 0}section .designer-row .designer-field{flex:1}.drag-placeholder{border:2px dashed}\n"] }]
|
36421
36483
|
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: PaneRef }, { type: i0.ChangeDetectorRef }, { type: PromptService }, { type: SystemService }, { type: TranslateService }, { type: PanesRouter }, { type: SessionService }, { type: i0.ElementRef }, { type: UtilityRef }], propDecorators: { handleKeyboardEvent: [{
|
36422
36484
|
type: HostListener,
|
36423
36485
|
args: ['document:keydown', ['$event']]
|
@@ -37196,6 +37258,9 @@ class SystemModule {
|
|
37196
37258
|
registerComponents(DESINER_COMPONENTS);
|
37197
37259
|
TranslateService.set({
|
37198
37260
|
en: {
|
37261
|
+
BackgroundColor: 'Background color',
|
37262
|
+
Tag: 'Tag',
|
37263
|
+
Tags: 'Tags',
|
37199
37264
|
RegisteredDevice: 'Registered device',
|
37200
37265
|
Challenge: 'Challenge',
|
37201
37266
|
Settings: 'Settings',
|
@@ -37581,7 +37646,7 @@ class SystemModule {
|
|
37581
37646
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: SystemModule, declarations: [
|
37582
37647
|
/** design */
|
37583
37648
|
FormInviteDialog, PerformanceReportDesignComponent, NodeDesignerComponent, DesignerPrivilegesComponent, AddContentDirective, IconPickerComponent, CustomContentDirective, EditContentDirective, WidgetContentDirective,
|
37584
|
-
DocumentStateWidgetDesignComponent, PolicyDesignComponent, StateDesignComponent, RoleDesignComponent, GuideDesignComponent, ControlDesignComponent, AttributeDesignComponent, DeviceDesignComponent, NotificationDesignComponent, RuleDesignComponent, ReportDesignerComponent, FolderDesignComponent, UtilityDesignComponent, FormDesignComponent, WidgetDesignComponent, SourceDesignComponent, JobDesignComponent, CubeDesignComponent, ActionDesignerComponent, ReportDesignerComponent, ViewDesignComponent, TypeDesignComponent,
|
37649
|
+
DocumentStateWidgetDesignComponent, PolicyDesignComponent, StateDesignComponent, TagDesignComponent, RoleDesignComponent, GuideDesignComponent, ControlDesignComponent, AttributeDesignComponent, DeviceDesignComponent, NotificationDesignComponent, RuleDesignComponent, ReportDesignerComponent, FolderDesignComponent, UtilityDesignComponent, FormDesignComponent, WidgetDesignComponent, SourceDesignComponent, JobDesignComponent, CubeDesignComponent, ActionDesignerComponent, ReportDesignerComponent, ViewDesignComponent, TypeDesignComponent,
|
37585
37650
|
CubeIndexDesignComponent, ConfigurationDatasourceDesignComponent, ReturnToRoleActionDesignComponent, PivotViewDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsWidgetDesignComponent, PerformanceWidgetDesignComponent, DocumentsReportDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent,
|
37586
37651
|
LocalizedStringField,
|
37587
37652
|
/** utilities */
|
@@ -37624,7 +37689,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
37624
37689
|
declarations: [
|
37625
37690
|
/** design */
|
37626
37691
|
FormInviteDialog, PerformanceReportDesignComponent, NodeDesignerComponent, DesignerPrivilegesComponent, AddContentDirective, IconPickerComponent, CustomContentDirective, EditContentDirective, WidgetContentDirective,
|
37627
|
-
DocumentStateWidgetDesignComponent, PolicyDesignComponent, StateDesignComponent, RoleDesignComponent, GuideDesignComponent, ControlDesignComponent, AttributeDesignComponent, DeviceDesignComponent, NotificationDesignComponent, RuleDesignComponent, ReportDesignerComponent, FolderDesignComponent, UtilityDesignComponent, FormDesignComponent, WidgetDesignComponent, SourceDesignComponent, JobDesignComponent, CubeDesignComponent, ActionDesignerComponent, ReportDesignerComponent, ViewDesignComponent, TypeDesignComponent,
|
37692
|
+
DocumentStateWidgetDesignComponent, PolicyDesignComponent, StateDesignComponent, TagDesignComponent, RoleDesignComponent, GuideDesignComponent, ControlDesignComponent, AttributeDesignComponent, DeviceDesignComponent, NotificationDesignComponent, RuleDesignComponent, ReportDesignerComponent, FolderDesignComponent, UtilityDesignComponent, FormDesignComponent, WidgetDesignComponent, SourceDesignComponent, JobDesignComponent, CubeDesignComponent, ActionDesignerComponent, ReportDesignerComponent, ViewDesignComponent, TypeDesignComponent,
|
37628
37693
|
CubeIndexDesignComponent, ConfigurationDatasourceDesignComponent, ReturnToRoleActionDesignComponent, PivotViewDesignComponent, CubeViewDesignComponent, BoxFormDesignComponent, AnomalyRuleDesignComponent, UsageReportDesignComponent, DocumentsWidgetDesignComponent, PerformanceWidgetDesignComponent, DocumentsReportDesignComponent, TasksReportDesignComponent, ExploreViewDesignComponent, AnalysisWidgetDesignComponent, ParallelViewDesignComponent, SumViewDesignComponent, MatrixViewDesignComponent, ChartViewDesignComponent,
|
37629
37694
|
LocalizedStringField,
|
37630
37695
|
/** utilities */
|
@@ -37903,5 +37968,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
37903
37968
|
* Generated bundle index. Do not edit.
|
37904
37969
|
*/
|
37905
37970
|
|
37906
|
-
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerCubeFilterComponent, DesignerModule, DesignerRef, DifferencePipe, DocumentFactory, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, JsonPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NodeRef, NoneComponent, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, OptionsComponent, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, SpContainer, StateDirective, StatePipe, StickyToolbar, SubstitutionComponent, SwapAnimation, Tab, TagsComponent, TagsControlDesigner, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, VirtualTabs, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, getMonthList, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, programName, registerComponents };
|
37971
|
+
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerCubeFilterComponent, DesignerModule, DesignerRef, DifferencePipe, DocumentFactory, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, JsonPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NodeRef, NoneComponent, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, OptionsComponent, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, SpContainer, StateDirective, StatePipe, StickyToolbar, SubstitutionComponent, SwapAnimation, Tab, TagsComponent, TagsControlDesigner, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, VirtualTabs, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, getMonthList, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, playAudio, programName, registerComponents };
|
37907
37972
|
//# sourceMappingURL=bizdoc-core.mjs.map
|