@eo-sdk/client 11.0.2 → 11.1.0-rc.2
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/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +8 -2
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -1
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +4 -5
- package/assets/_default/i18n/en.json +7 -8
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +11 -9
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +227 -146
- package/esm2022/app/eo-client/settings/settings.component.mjs +2 -2
- package/esm2022/app/eo-framework/object-state-details/object-state-details.component.mjs +9 -5
- package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
- package/fesm2022/eo-sdk-client.mjs +249 -162
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -18136,11 +18136,11 @@ class UploadOverlayComponent {
|
|
|
18136
18136
|
}
|
|
18137
18137
|
}
|
|
18138
18138
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UploadOverlayComponent, deps: [{ token: i2$1.Router }, { token: i0.Renderer2 }, { token: i1.PrepareService }, { token: i1.TranslateService }, { token: i1.SystemService }, { token: i1.EventService }, { token: i1.UploadRegistryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: UploadOverlayComponent, selector: "eo-upload-overlay", viewQueries: [{ propertyName: "overlayEl", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{hasFiles: queue.length, invalid: invalidInput, singleFile: queue.length === 1, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <h1 translate>eo.upload.global.headline</h1>\n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.upload.global.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\" translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <!-- list of available upload targets -->\n <div class=\"targets\">\n\n <div class=\"target-list\">\n\n <h2 translate>eo.upload.global.target</h2>\n\n <div class=\"upload-target\" *ngFor=\"let t of validUploadTargets; trackBy: targetTrackByFn\"\n (click)=\"proceedWithUpload(t)\"\n [ngSwitch]=\"t.type\">\n\n <!-- upload to root -->\n <ng-container *ngSwitchCase=\"'root'\" >\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document.svg'\"></eo-icon>\n <div class=\"upload-target-general\">\n <div class=\"name\" translate>eo.upload.global.root.title</div>\n <div class=\"description\" translate>eo.upload.global.root.description</div>\n </div>\n </ng-container>\n\n <!-- replace file of a specific dms object -->\n <ng-container *ngSwitchCase=\"'object'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_add_document_file_as_new_version.svg'\"></eo-icon>\n <div class=\"upload-target-replace\">\n <div class=\"name\" *ngIf=\"t.referenceObject.content;else nocontent\" translate>eo.upload.global.object.title</div>\n <ng-template #nocontent>\n <div class=\"name\" translate>eo.upload.global.object.title.nocontent</div>\n </ng-template>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder -->\n <ng-container *ngSwitchCase=\"'context'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-context\">\n <div class=\"name\">{{'eo.upload.global.context.title'|translate:({context:t.referenceObject.type.label})}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder structure tree entry -->\n <ng-container *ngSwitchCase=\"'contexttree'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-contexttree\">\n <div class=\"name\">{{'eo.add.title.location.subfolder'|translate: ({folder: t.subFolder.name})}}</div>\n </div>\n </ng-container>\n\n <!-- custom upload target (e.g. from plugin component) -->\n <ng-container *ngSwitchCase=\"'custom'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n <div class=\"upload-target-custom\">\n <div class=\"name\">{{t.name}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n </div>\n\n </div>\n\n </div>\n\n <!-- list of files dragged to the component -->\n <div class=\"files\">\n <div class=\"files-list\">\n <div class=\"file-item\" *ngFor=\"let i of queue; trackBy: trackByFn\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span><span class=\"desc-text\"> {{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n </div>\n </div>\n\n </div>\n\n <div class=\"loading\" *ngIf=\"isUploading\"><eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner></div>\n\n\n</div>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:auto}:host #eo-upload-overlay h1{font-size:4em;font-weight:300;color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;max-height:100%;margin:var(--app-pane-padding)}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead)}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{order:0;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;flex-flow:row nowrap;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.hasFiles .uploady{display:none}:host #eo-upload-overlay.hasFiles .count{display:flex}:host #eo-upload-overlay.hasFiles .contents{display:flex}:host #eo-upload-overlay.singleFile .contents{flex-flow:column}:host #eo-upload-overlay.singleFile .contents .files{padding:0;order:1}:host #eo-upload-overlay.singleFile .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "fileSize" }] }); }
|
|
18139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: UploadOverlayComponent, selector: "eo-upload-overlay", viewQueries: [{ propertyName: "overlayEl", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{hasFiles: queue.length, invalid: invalidInput, singleFile: queue.length === 1, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <h1 translate>eo.upload.global.headline</h1>\n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.upload.global.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\" translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <!-- list of available upload targets -->\n <div class=\"targets\">\n\n <div class=\"target-list\">\n\n <h2 translate>eo.upload.global.target</h2>\n\n <div class=\"upload-target\" *ngFor=\"let t of validUploadTargets; trackBy: targetTrackByFn\"\n (click)=\"proceedWithUpload(t)\"\n [ngSwitch]=\"t.type\">\n\n <!-- upload to root -->\n <ng-container *ngSwitchCase=\"'root'\" >\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document.svg'\"></eo-icon>\n <div class=\"upload-target-general\">\n <div class=\"name\" translate>eo.upload.global.root.title</div>\n <div class=\"description\" translate>eo.upload.global.root.description</div>\n </div>\n </ng-container>\n\n <!-- replace file of a specific dms object -->\n <ng-container *ngSwitchCase=\"'object'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_add_document_file_as_new_version.svg'\"></eo-icon>\n <div class=\"upload-target-replace\">\n <div class=\"name\" translate>eo.upload.global.object.title</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder -->\n <ng-container *ngSwitchCase=\"'context'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-context\">\n <div class=\"name\">{{'eo.upload.global.context.title'|translate:({context:t.referenceObject.type.label})}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder structure tree entry -->\n <ng-container *ngSwitchCase=\"'contexttree'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-contexttree\">\n <div class=\"name\">{{'eo.add.title.location.subfolder'|translate: ({folder: t.subFolder.name})}}</div>\n </div>\n </ng-container>\n\n <!-- custom upload target (e.g. from plugin component) -->\n <ng-container *ngSwitchCase=\"'custom'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n <div class=\"upload-target-custom\">\n <div class=\"name\">{{t.name}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n </div>\n\n </div>\n\n </div>\n\n <!-- list of files dragged to the component -->\n <div class=\"files\">\n <div class=\"files-list\">\n <div class=\"file-item\" *ngFor=\"let i of queue; trackBy: trackByFn\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span><span class=\"desc-text\"> {{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n </div>\n </div>\n\n </div>\n\n <div class=\"loading\" *ngIf=\"isUploading\"><eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner></div>\n\n\n</div>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:auto}:host #eo-upload-overlay h1{font-size:4em;font-weight:300;color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;max-height:100%;margin:var(--app-pane-padding)}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead)}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{order:0;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;flex-flow:row nowrap;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.hasFiles .uploady{display:none}:host #eo-upload-overlay.hasFiles .count{display:flex}:host #eo-upload-overlay.hasFiles .contents{display:flex}:host #eo-upload-overlay.singleFile .contents{flex-flow:column}:host #eo-upload-overlay.singleFile .contents .files{padding:0;order:1}:host #eo-upload-overlay.singleFile .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "fileSize" }] }); }
|
|
18140
18140
|
}
|
|
18141
18141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UploadOverlayComponent, decorators: [{
|
|
18142
18142
|
type: Component,
|
|
18143
|
-
args: [{ selector: 'eo-upload-overlay', template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{hasFiles: queue.length, invalid: invalidInput, singleFile: queue.length === 1, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <h1 translate>eo.upload.global.headline</h1>\n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.upload.global.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\" translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <!-- list of available upload targets -->\n <div class=\"targets\">\n\n <div class=\"target-list\">\n\n <h2 translate>eo.upload.global.target</h2>\n\n <div class=\"upload-target\" *ngFor=\"let t of validUploadTargets; trackBy: targetTrackByFn\"\n (click)=\"proceedWithUpload(t)\"\n [ngSwitch]=\"t.type\">\n\n <!-- upload to root -->\n <ng-container *ngSwitchCase=\"'root'\" >\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document.svg'\"></eo-icon>\n <div class=\"upload-target-general\">\n <div class=\"name\" translate>eo.upload.global.root.title</div>\n <div class=\"description\" translate>eo.upload.global.root.description</div>\n </div>\n </ng-container>\n\n <!-- replace file of a specific dms object -->\n <ng-container *ngSwitchCase=\"'object'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_add_document_file_as_new_version.svg'\"></eo-icon>\n <div class=\"upload-target-replace\">\n <div class=\"name\" *ngIf=\"t.referenceObject.content;else nocontent\" translate>eo.upload.global.object.title</div>\n <ng-template #nocontent>\n <div class=\"name\" translate>eo.upload.global.object.title.nocontent</div>\n </ng-template>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder -->\n <ng-container *ngSwitchCase=\"'context'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-context\">\n <div class=\"name\">{{'eo.upload.global.context.title'|translate:({context:t.referenceObject.type.label})}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder structure tree entry -->\n <ng-container *ngSwitchCase=\"'contexttree'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-contexttree\">\n <div class=\"name\">{{'eo.add.title.location.subfolder'|translate: ({folder: t.subFolder.name})}}</div>\n </div>\n </ng-container>\n\n <!-- custom upload target (e.g. from plugin component) -->\n <ng-container *ngSwitchCase=\"'custom'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n <div class=\"upload-target-custom\">\n <div class=\"name\">{{t.name}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n </div>\n\n </div>\n\n </div>\n\n <!-- list of files dragged to the component -->\n <div class=\"files\">\n <div class=\"files-list\">\n <div class=\"file-item\" *ngFor=\"let i of queue; trackBy: trackByFn\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span><span class=\"desc-text\"> {{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n </div>\n </div>\n\n </div>\n\n <div class=\"loading\" *ngIf=\"isUploading\"><eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner></div>\n\n\n</div>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:auto}:host #eo-upload-overlay h1{font-size:4em;font-weight:300;color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;max-height:100%;margin:var(--app-pane-padding)}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead)}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{order:0;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;flex-flow:row nowrap;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.hasFiles .uploady{display:none}:host #eo-upload-overlay.hasFiles .count{display:flex}:host #eo-upload-overlay.hasFiles .contents{display:flex}:host #eo-upload-overlay.singleFile .contents{flex-flow:column}:host #eo-upload-overlay.singleFile .contents .files{padding:0;order:1}:host #eo-upload-overlay.singleFile .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}\n"] }]
|
|
18143
|
+
args: [{ selector: 'eo-upload-overlay', template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{hasFiles: queue.length, invalid: invalidInput, singleFile: queue.length === 1, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <h1 translate>eo.upload.global.headline</h1>\n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.upload.global.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\" translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <!-- list of available upload targets -->\n <div class=\"targets\">\n\n <div class=\"target-list\">\n\n <h2 translate>eo.upload.global.target</h2>\n\n <div class=\"upload-target\" *ngFor=\"let t of validUploadTargets; trackBy: targetTrackByFn\"\n (click)=\"proceedWithUpload(t)\"\n [ngSwitch]=\"t.type\">\n\n <!-- upload to root -->\n <ng-container *ngSwitchCase=\"'root'\" >\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document.svg'\"></eo-icon>\n <div class=\"upload-target-general\">\n <div class=\"name\" translate>eo.upload.global.root.title</div>\n <div class=\"description\" translate>eo.upload.global.root.description</div>\n </div>\n </ng-container>\n\n <!-- replace file of a specific dms object -->\n <ng-container *ngSwitchCase=\"'object'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_add_document_file_as_new_version.svg'\"></eo-icon>\n <div class=\"upload-target-replace\">\n <div class=\"name\" translate>eo.upload.global.object.title</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder -->\n <ng-container *ngSwitchCase=\"'context'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-context\">\n <div class=\"name\">{{'eo.upload.global.context.title'|translate:({context:t.referenceObject.type.label})}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n\n <!-- add new files to a context folder structure tree entry -->\n <ng-container *ngSwitchCase=\"'contexttree'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_document_in_folder.svg'\"></eo-icon>\n <div class=\"upload-target-contexttree\">\n <div class=\"name\">{{'eo.add.title.location.subfolder'|translate: ({folder: t.subFolder.name})}}</div>\n </div>\n </ng-container>\n\n <!-- custom upload target (e.g. from plugin component) -->\n <ng-container *ngSwitchCase=\"'custom'\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n <div class=\"upload-target-custom\">\n <div class=\"name\">{{t.name}}</div>\n <div class=\"description\">{{t.description}}</div>\n </div>\n </ng-container>\n </div>\n\n </div>\n\n </div>\n\n <!-- list of files dragged to the component -->\n <div class=\"files\">\n <div class=\"files-list\">\n <div class=\"file-item\" *ngFor=\"let i of queue; trackBy: trackByFn\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span><span class=\"desc-text\"> {{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n </div>\n </div>\n\n </div>\n\n <div class=\"loading\" *ngIf=\"isUploading\"><eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner></div>\n\n\n</div>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:auto}:host #eo-upload-overlay h1{font-size:4em;font-weight:300;color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;max-height:100%;margin:var(--app-pane-padding)}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead)}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{order:0;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;flex-flow:row nowrap;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.hasFiles .uploady{display:none}:host #eo-upload-overlay.hasFiles .count{display:flex}:host #eo-upload-overlay.hasFiles .contents{display:flex}:host #eo-upload-overlay.singleFile .contents{flex-flow:column}:host #eo-upload-overlay.singleFile .contents .files{padding:0;order:1}:host #eo-upload-overlay.singleFile .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}\n"] }]
|
|
18144
18144
|
}], ctorParameters: () => [{ type: i2$1.Router }, { type: i0.Renderer2 }, { type: i1.PrepareService }, { type: i1.TranslateService }, { type: i1.SystemService }, { type: i1.EventService }, { type: i1.UploadRegistryService }], propDecorators: { overlayEl: [{
|
|
18145
18145
|
type: ViewChild,
|
|
18146
18146
|
args: ['overlay']
|
|
@@ -20364,10 +20364,14 @@ let ObjectStateDetailsComponent = class ObjectStateDetailsComponent {
|
|
|
20364
20364
|
this.frontPageData.lastModifications = this.frontPageData.lastModifications && this.frontPageData.lastModifications.filter(i => i.id !== item.id);
|
|
20365
20365
|
}
|
|
20366
20366
|
}
|
|
20367
|
-
selectFrontPageDoc(doc) {
|
|
20368
|
-
if (!this.pendingChanges.check()) {
|
|
20367
|
+
selectFrontPageDoc(doc, event) {
|
|
20368
|
+
if (!this.pendingChanges.check() && !event?.ctrlKey) {
|
|
20369
20369
|
this.selection.focus(doc);
|
|
20370
20370
|
}
|
|
20371
|
+
if (event?.ctrlKey) {
|
|
20372
|
+
const url = window.location.href.split('/object')[0] + '/object/' + doc.id + '?type=' + doc.type;
|
|
20373
|
+
window.open(url, '_blank');
|
|
20374
|
+
}
|
|
20371
20375
|
}
|
|
20372
20376
|
onContextMenuClicked(evt, doc) {
|
|
20373
20377
|
evt.preventDefault();
|
|
@@ -20383,14 +20387,14 @@ let ObjectStateDetailsComponent = class ObjectStateDetailsComponent {
|
|
|
20383
20387
|
ngAfterViewInit() {
|
|
20384
20388
|
}
|
|
20385
20389
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ObjectStateDetailsComponent, deps: [{ token: SelectionService }, { token: ActionService }, { token: i1.AppCacheService }, { token: i1.DmsService }, { token: i1.EventService }, { token: PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20386
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ObjectStateDetailsComponent, selector: "eo-object-state-details", inputs: { plugins: "plugins", context: "context", selectedItem: "selectedItem", seenItems: "seenItems", frontPageData: "frontPageData", visible: "visible" }, outputs: { onTabChange: "onTabChange" }, host: { properties: { "class.visible": "this.visible", "attr.data-type": "this.dataType", "attr.data-id": "this.dataId", "style.height": "this.visibility" } }, viewQueries: [{ propertyName: "eoTabs", first: true, predicate: Tabs, descendants: true }], ngImport: i0, template: "<header class=\"eo-head\">\n <div class=\"eo-header dark\">\n <div class=\"eo-header-info eo-header__content\">\n <!-- <h2 translate>eo.state.object.frontpage.title</h2> -->\n <h2 class=\"eo-header-title\">{{ title }}</h2>\n <h3 class=\"eo-header-subtitle flex-row\">{{context.title}}</h3>\n <div class=\"sizing\" *ngIf=\"frontPageData\">\n <div translate [translateParams]=\"{doccount: frontPageData?.documentCount.value}\">eo.state.object.frontpage.doccount</div>\n <div translate [translateParams]=\"{filesize: frontPageData?.totalFilesize | fileSize}\">eo.state.object.frontpage.filesize</div>\n </div>\n </div>\n <div class=\"eo-header-actions\"></div>\n </div>\n</header>\n\n<yvc-tabs (tabChange)=\"onTabChange.emit($event)\" layoutSettingsID=\"eo.object.state.details.tabs\">\n <ng-template [yvcTab]=\"{id: 'last-changes', label: 'eo.state.object.frontpage.lastchanges' | translate}\">\n <div class=\"panel last-changes\">\n <div class=\"doc\" *ngFor=\"let doc of frontPageData?.lastModifications\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'last-seen', label: 'eo.state.object.frontpage.lastseen' | translate}\">\n <div class=\"panel last-seen\">\n <div class=\"doc\" *ngFor=\"let doc of seenItems\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified.on | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div
|
|
20390
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ObjectStateDetailsComponent, selector: "eo-object-state-details", inputs: { plugins: "plugins", context: "context", selectedItem: "selectedItem", seenItems: "seenItems", frontPageData: "frontPageData", visible: "visible" }, outputs: { onTabChange: "onTabChange" }, host: { properties: { "class.visible": "this.visible", "attr.data-type": "this.dataType", "attr.data-id": "this.dataId", "style.height": "this.visibility" } }, viewQueries: [{ propertyName: "eoTabs", first: true, predicate: Tabs, descendants: true }], ngImport: i0, template: "<header class=\"eo-head\">\n <div class=\"eo-header dark\">\n <div class=\"eo-header-info eo-header__content\">\n <!-- <h2 translate>eo.state.object.frontpage.title</h2> -->\n <h2 class=\"eo-header-title\">{{ title }}</h2>\n <h3 class=\"eo-header-subtitle flex-row\">{{context.title}}</h3>\n <div class=\"sizing\" *ngIf=\"frontPageData\">\n <div translate [translateParams]=\"{doccount: frontPageData?.documentCount.value}\">eo.state.object.frontpage.doccount</div>\n <div translate [translateParams]=\"{filesize: frontPageData?.totalFilesize | fileSize}\">eo.state.object.frontpage.filesize</div>\n </div>\n </div>\n <div class=\"eo-header-actions\"></div>\n </div>\n</header>\n\n<yvc-tabs (tabChange)=\"onTabChange.emit($event)\" layoutSettingsID=\"eo.object.state.details.tabs\">\n <ng-template [yvcTab]=\"{id: 'last-changes', label: 'eo.state.object.frontpage.lastchanges' | translate}\">\n <div class=\"panel last-changes\">\n <div class=\"doc\" *ngFor=\"let doc of frontPageData?.lastModifications\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc, $event)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'last-seen', label: 'eo.state.object.frontpage.lastseen' | translate}\">\n <div class=\"panel last-seen\">\n <div class=\"doc\" *ngFor=\"let doc of seenItems\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc, $event)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified.on | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n</yvc-tabs>\n", styles: [":host ::ng-deep{position:relative;background:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;box-sizing:border-box;color:var(--text-color-caption);overflow:hidden}:host ::ng-deep .eo-head{background-color:var(--color-primary-3);color:var(--color-white)}:host ::ng-deep .eo-head h2{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:calc(var(--app-pane-padding) / 4) 0;font-size:var(--font-title);font-weight:400;line-height:1.1em;margin:0}:host ::ng-deep .eo-body{position:absolute;inset:0;overflow:hidden;top:var(--app-pane-header-height)}:host ::ng-deep .sizing{display:flex;justify-content:space-between;margin-bottom:var(--app-pane-padding)}:host ::ng-deep .doc{margin-bottom:var(--app-pane-padding);padding:0 var(--app-pane-padding);color:var(--text-color-body);cursor:pointer;display:flex;flex-flow:row nowrap;flex-shrink:0}:host ::ng-deep .doc:first-child{margin-top:var(--app-pane-padding)}:host ::ng-deep .doc .marker{width:4px;background:rgba(var(--color-black-rgb),.1);flex:0 0 auto;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host ::ng-deep .doc .content{flex:1 1 auto;margin:0 var(--app-pane-padding)}:host ::ng-deep .doc .date{color:var(--text-color-caption);font-size:var(--font-hint)}:host ::ng-deep .doc .desc{color:var(--text-color-caption)}:host ::ng-deep .doc.selected .marker,:host ::ng-deep .doc:hover .marker{background:var(--color-accent)}:host ::ng-deep>yvc-tabs>header{position:fixed;min-height:auto!important;top:calc(var(--app-bar-height) + 56px);border:none}[dir=ltr] :host ::ng-deep>yvc-tabs>header{right:calc(var(--app-pane-padding) * 1.75)}[dir=rtl] :host ::ng-deep>yvc-tabs>header{left:calc(var(--app-pane-padding) * 1.75)}:host ::ng-deep>yvc-tabs>header .scroll-x{border-bottom:none!important}:host ::ng-deep>yvc-tabs>header .scroll-x nav a{border:1px solid var(--color-primary-3)!important;border-radius:4px;margin:0 4px}:host.visible ::ng-deep>yvc-tabs>header nav a.active{border-color:var(--color-accent)!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "fileSize" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
|
|
20387
20391
|
};
|
|
20388
20392
|
ObjectStateDetailsComponent = ObjectStateDetailsComponent_1 = __decorate([
|
|
20389
20393
|
UntilDestroy()
|
|
20390
20394
|
], ObjectStateDetailsComponent);
|
|
20391
20395
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ObjectStateDetailsComponent, decorators: [{
|
|
20392
20396
|
type: Component,
|
|
20393
|
-
args: [{ selector: 'eo-object-state-details', template: "<header class=\"eo-head\">\n <div class=\"eo-header dark\">\n <div class=\"eo-header-info eo-header__content\">\n <!-- <h2 translate>eo.state.object.frontpage.title</h2> -->\n <h2 class=\"eo-header-title\">{{ title }}</h2>\n <h3 class=\"eo-header-subtitle flex-row\">{{context.title}}</h3>\n <div class=\"sizing\" *ngIf=\"frontPageData\">\n <div translate [translateParams]=\"{doccount: frontPageData?.documentCount.value}\">eo.state.object.frontpage.doccount</div>\n <div translate [translateParams]=\"{filesize: frontPageData?.totalFilesize | fileSize}\">eo.state.object.frontpage.filesize</div>\n </div>\n </div>\n <div class=\"eo-header-actions\"></div>\n </div>\n</header>\n\n<yvc-tabs (tabChange)=\"onTabChange.emit($event)\" layoutSettingsID=\"eo.object.state.details.tabs\">\n <ng-template [yvcTab]=\"{id: 'last-changes', label: 'eo.state.object.frontpage.lastchanges' | translate}\">\n <div class=\"panel last-changes\">\n <div class=\"doc\" *ngFor=\"let doc of frontPageData?.lastModifications\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'last-seen', label: 'eo.state.object.frontpage.lastseen' | translate}\">\n <div class=\"panel last-seen\">\n <div class=\"doc\" *ngFor=\"let doc of seenItems\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified.on | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div
|
|
20397
|
+
args: [{ selector: 'eo-object-state-details', template: "<header class=\"eo-head\">\n <div class=\"eo-header dark\">\n <div class=\"eo-header-info eo-header__content\">\n <!-- <h2 translate>eo.state.object.frontpage.title</h2> -->\n <h2 class=\"eo-header-title\">{{ title }}</h2>\n <h3 class=\"eo-header-subtitle flex-row\">{{context.title}}</h3>\n <div class=\"sizing\" *ngIf=\"frontPageData\">\n <div translate [translateParams]=\"{doccount: frontPageData?.documentCount.value}\">eo.state.object.frontpage.doccount</div>\n <div translate [translateParams]=\"{filesize: frontPageData?.totalFilesize | fileSize}\">eo.state.object.frontpage.filesize</div>\n </div>\n </div>\n <div class=\"eo-header-actions\"></div>\n </div>\n</header>\n\n<yvc-tabs (tabChange)=\"onTabChange.emit($event)\" layoutSettingsID=\"eo.object.state.details.tabs\">\n <ng-template [yvcTab]=\"{id: 'last-changes', label: 'eo.state.object.frontpage.lastchanges' | translate}\">\n <div class=\"panel last-changes\">\n <div class=\"doc\" *ngFor=\"let doc of frontPageData?.lastModifications\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc, $event)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'last-seen', label: 'eo.state.object.frontpage.lastseen' | translate}\">\n <div class=\"panel last-seen\">\n <div class=\"doc\" *ngFor=\"let doc of seenItems\"\n [ngClass]=\"{selected: selectedItem && doc.id === selectedItem.id}\" (click)=\"selectFrontPageDoc(doc, $event)\"\n (contextmenu)=\"onContextMenuClicked($event, doc)\">\n <div class=\"marker\"></div>\n <div class=\"content\">\n <div class=\"date\">{{doc.modified.on | localeDate}}</div>\n <strong>{{doc.title}}</strong>\n <div class=\"desc\">{{doc.description}}</div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n</yvc-tabs>\n", styles: [":host ::ng-deep{position:relative;background:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;box-sizing:border-box;color:var(--text-color-caption);overflow:hidden}:host ::ng-deep .eo-head{background-color:var(--color-primary-3);color:var(--color-white)}:host ::ng-deep .eo-head h2{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:calc(var(--app-pane-padding) / 4) 0;font-size:var(--font-title);font-weight:400;line-height:1.1em;margin:0}:host ::ng-deep .eo-body{position:absolute;inset:0;overflow:hidden;top:var(--app-pane-header-height)}:host ::ng-deep .sizing{display:flex;justify-content:space-between;margin-bottom:var(--app-pane-padding)}:host ::ng-deep .doc{margin-bottom:var(--app-pane-padding);padding:0 var(--app-pane-padding);color:var(--text-color-body);cursor:pointer;display:flex;flex-flow:row nowrap;flex-shrink:0}:host ::ng-deep .doc:first-child{margin-top:var(--app-pane-padding)}:host ::ng-deep .doc .marker{width:4px;background:rgba(var(--color-black-rgb),.1);flex:0 0 auto;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host ::ng-deep .doc .content{flex:1 1 auto;margin:0 var(--app-pane-padding)}:host ::ng-deep .doc .date{color:var(--text-color-caption);font-size:var(--font-hint)}:host ::ng-deep .doc .desc{color:var(--text-color-caption)}:host ::ng-deep .doc.selected .marker,:host ::ng-deep .doc:hover .marker{background:var(--color-accent)}:host ::ng-deep>yvc-tabs>header{position:fixed;min-height:auto!important;top:calc(var(--app-bar-height) + 56px);border:none}[dir=ltr] :host ::ng-deep>yvc-tabs>header{right:calc(var(--app-pane-padding) * 1.75)}[dir=rtl] :host ::ng-deep>yvc-tabs>header{left:calc(var(--app-pane-padding) * 1.75)}:host ::ng-deep>yvc-tabs>header .scroll-x{border-bottom:none!important}:host ::ng-deep>yvc-tabs>header .scroll-x nav a{border:1px solid var(--color-primary-3)!important;border-radius:4px;margin:0 4px}:host.visible ::ng-deep>yvc-tabs>header nav a.active{border-color:var(--color-accent)!important}\n"] }]
|
|
20394
20398
|
}], ctorParameters: () => [{ type: SelectionService }, { type: ActionService }, { type: i1.AppCacheService }, { type: i1.DmsService }, { type: i1.EventService }, { type: PendingChangesService }], propDecorators: { eoTabs: [{
|
|
20395
20399
|
type: ViewChild,
|
|
20396
20400
|
args: [Tabs]
|
|
@@ -23021,10 +23025,10 @@ class AboutStateComponent {
|
|
|
23021
23025
|
this.backend = backend;
|
|
23022
23026
|
this.userService = userService;
|
|
23023
23027
|
this.config = config;
|
|
23024
|
-
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/common", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/core", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/forms", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/router", "version": "17.1.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.14.0", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.0.1", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "17.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "2.0.
|
|
23028
|
+
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/common", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/core", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/forms", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/router", "version": "17.1.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.14.0", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.1.0-rc.1", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "17.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "2.0.3", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "2.0.5", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "18.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.4", "license": "MIT" }];
|
|
23025
23029
|
this.ctrl = {
|
|
23026
23030
|
componentName: 'yuuvis® RAD client',
|
|
23027
|
-
componentVersion: '11.0.2',
|
|
23031
|
+
componentVersion: '11.1.0-rc.2',
|
|
23028
23032
|
productName: '',
|
|
23029
23033
|
productVersion: ''
|
|
23030
23034
|
};
|
|
@@ -24028,7 +24032,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
24028
24032
|
},
|
|
24029
24033
|
},
|
|
24030
24034
|
};
|
|
24031
|
-
this.
|
|
24035
|
+
this.defaultLineStraightChartOption = {
|
|
24032
24036
|
...this.sharedOptions,
|
|
24033
24037
|
curve: undefined,
|
|
24034
24038
|
legend: {
|
|
@@ -24047,7 +24051,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
24047
24051
|
},
|
|
24048
24052
|
}
|
|
24049
24053
|
};
|
|
24050
|
-
this.
|
|
24054
|
+
this.defaultLineCurveChartOption = {
|
|
24051
24055
|
...this.sharedOptions,
|
|
24052
24056
|
legend: {
|
|
24053
24057
|
enabled: false,
|
|
@@ -24090,84 +24094,55 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
24090
24094
|
const queryName = this._query.name;
|
|
24091
24095
|
delete this._query.name;
|
|
24092
24096
|
this._query = this.searchService.buildQuery(this._query);
|
|
24097
|
+
this.lineCurveChartOption = JSON.parse(JSON.stringify(this.defaultLineCurveChartOption));
|
|
24098
|
+
this.lineStraightChartOption = JSON.parse(JSON.stringify(this.defaultLineStraightChartOption));
|
|
24093
24099
|
if (type === 'DATETIME' && histogramType) {
|
|
24094
|
-
|
|
24095
|
-
'yearly': { calendar_interval: 'year', format: 'yyyy' },
|
|
24096
|
-
'weekly': { calendar_interval: 'week', format: 'yyyy-ww' },
|
|
24097
|
-
'monthly': { calendar_interval: 'month', format: 'yyyy-MM' },
|
|
24098
|
-
'daily': { calendar_interval: 'day', format: 'yyyy-MM-dd' }
|
|
24099
|
-
};
|
|
24100
|
-
if (histogramConfig.hasOwnProperty(histogramType)) {
|
|
24101
|
-
this.histogram = histogramConfig[histogramType];
|
|
24102
|
-
this.histogram.size = this._widgetConfig?.formValue?.size ? this._widgetConfig?.formValue?.size : 10;
|
|
24103
|
-
const query = {
|
|
24104
|
-
aggs: {
|
|
24105
|
-
[field.replace('sysobject.', '')]: {
|
|
24106
|
-
histogram: this.histogram
|
|
24107
|
-
}
|
|
24108
|
-
},
|
|
24109
|
-
...this._query.getQueryJson()
|
|
24110
|
-
};
|
|
24111
|
-
this.searchService.executeQuery(query, true).subscribe((res) => {
|
|
24112
|
-
this.refreshingRequest = false;
|
|
24113
|
-
const aggregationKey = Object.keys(res.aggregations)[0];
|
|
24114
|
-
this._query.name = queryName;
|
|
24115
|
-
if (this.widgetConfig?.formValue?.chartType === 'lineCurve' || this.widgetConfig?.formValue?.chartType === 'lineStraight') {
|
|
24116
|
-
this.chartData = res.aggregations[aggregationKey].buckets.map((e) => ({
|
|
24117
|
-
group: 'dataset1',
|
|
24118
|
-
value: e.doc_count,
|
|
24119
|
-
date: new Date(e.key).toISOString(),
|
|
24120
|
-
}));
|
|
24121
|
-
}
|
|
24122
|
-
else {
|
|
24123
|
-
this.chartData = res.aggregations[aggregationKey].buckets.map((e) => ({
|
|
24124
|
-
group: e.key_as_string,
|
|
24125
|
-
value: e.doc_count,
|
|
24126
|
-
}));
|
|
24127
|
-
}
|
|
24128
|
-
}, (error) => {
|
|
24129
|
-
this.chartData = [];
|
|
24130
|
-
this.refreshingRequest = false;
|
|
24131
|
-
});
|
|
24132
|
-
}
|
|
24133
|
-
else {
|
|
24134
|
-
this.refreshingRequest = false;
|
|
24135
|
-
}
|
|
24100
|
+
this.chartWithHistogram(queryName, field, histogramType);
|
|
24136
24101
|
}
|
|
24137
24102
|
else if (attributMetric && metric) {
|
|
24138
|
-
|
|
24139
|
-
|
|
24140
|
-
|
|
24141
|
-
|
|
24142
|
-
|
|
24143
|
-
|
|
24144
|
-
|
|
24145
|
-
|
|
24146
|
-
|
|
24147
|
-
|
|
24148
|
-
|
|
24149
|
-
|
|
24150
|
-
|
|
24103
|
+
this.barChartMetric(queryName, field, sort, minDocCount, attributMetric, metric);
|
|
24104
|
+
}
|
|
24105
|
+
else if (type === 'NUMBER' && (this.widgetConfig?.formValue?.chartType === 'lineCurve' || this.widgetConfig?.formValue?.chartType === 'lineStraight')) {
|
|
24106
|
+
this.lineChartNumber(queryName, field, type, sort, minDocCount, rangeValues);
|
|
24107
|
+
}
|
|
24108
|
+
else {
|
|
24109
|
+
this.chartWithNoMetric(queryName, field, type, sort, minDocCount, rangeValues);
|
|
24110
|
+
}
|
|
24111
|
+
}
|
|
24112
|
+
chartWithHistogram(queryName, field, histogramType) {
|
|
24113
|
+
const histogramConfig = {
|
|
24114
|
+
'yearly': { calendar_interval: 'year', format: 'yyyy' },
|
|
24115
|
+
'weekly': { calendar_interval: 'week', format: 'yyyy-ww' },
|
|
24116
|
+
'monthly': { calendar_interval: 'month', format: 'yyyy-MM' },
|
|
24117
|
+
'daily': { calendar_interval: 'day', format: 'yyyy-MM-dd' }
|
|
24118
|
+
};
|
|
24119
|
+
if (histogramConfig.hasOwnProperty(histogramType)) {
|
|
24120
|
+
this.histogram = histogramConfig[histogramType];
|
|
24121
|
+
this.histogram.size = this._widgetConfig?.formValue?.size ? this._widgetConfig?.formValue?.size : 10;
|
|
24122
|
+
const query = {
|
|
24123
|
+
aggs: {
|
|
24124
|
+
[field.replace('sysobject.', '')]: {
|
|
24125
|
+
histogram: this.histogram
|
|
24151
24126
|
}
|
|
24152
|
-
}
|
|
24153
|
-
};
|
|
24154
|
-
this.searchService.executeQuery({
|
|
24155
|
-
aggs: aggsQquery,
|
|
24127
|
+
},
|
|
24156
24128
|
...this._query.getQueryJson()
|
|
24157
|
-
}
|
|
24129
|
+
};
|
|
24130
|
+
this.searchService.executeQuery(query, true).subscribe((res) => {
|
|
24158
24131
|
this.refreshingRequest = false;
|
|
24132
|
+
const aggregationKey = Object.keys(res.aggregations)[0];
|
|
24159
24133
|
this._query.name = queryName;
|
|
24160
|
-
if (
|
|
24161
|
-
this.chartData = res.aggregations[
|
|
24162
|
-
|
|
24163
|
-
|
|
24164
|
-
|
|
24165
|
-
|
|
24166
|
-
});
|
|
24134
|
+
if (this.widgetConfig?.formValue?.chartType === 'lineCurve' || this.widgetConfig?.formValue?.chartType === 'lineStraight') {
|
|
24135
|
+
this.chartData = res.aggregations[aggregationKey].buckets.map((e) => ({
|
|
24136
|
+
group: 'dataset1',
|
|
24137
|
+
value: e.doc_count,
|
|
24138
|
+
date: new Date(e.key).toISOString(),
|
|
24139
|
+
}));
|
|
24167
24140
|
}
|
|
24168
24141
|
else {
|
|
24169
|
-
this.chartData = []
|
|
24170
|
-
|
|
24142
|
+
this.chartData = res.aggregations[aggregationKey].buckets.map((e) => ({
|
|
24143
|
+
group: e.key_as_string,
|
|
24144
|
+
value: e.doc_count,
|
|
24145
|
+
}));
|
|
24171
24146
|
}
|
|
24172
24147
|
}, (error) => {
|
|
24173
24148
|
this.chartData = [];
|
|
@@ -24175,102 +24150,212 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
24175
24150
|
});
|
|
24176
24151
|
}
|
|
24177
24152
|
else {
|
|
24178
|
-
|
|
24179
|
-
|
|
24180
|
-
|
|
24181
|
-
|
|
24182
|
-
|
|
24183
|
-
|
|
24184
|
-
|
|
24185
|
-
|
|
24186
|
-
|
|
24187
|
-
|
|
24153
|
+
this.refreshingRequest = false;
|
|
24154
|
+
}
|
|
24155
|
+
}
|
|
24156
|
+
barChartMetric(queryName, field, sort, minDocCount, attributMetric, metric) {
|
|
24157
|
+
const fieldKey = field.replace('sysobject.', '').replace('sysdocument.', '');
|
|
24158
|
+
const attributMetricKey = attributMetric.replace('sysobject.', '').replace('sysdocument.', '');
|
|
24159
|
+
let aggsQquery;
|
|
24160
|
+
aggsQquery = {
|
|
24161
|
+
[fieldKey]: {
|
|
24162
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
24163
|
+
order: sort ? 'asc' : 'desc',
|
|
24164
|
+
sort: attributMetricKey + '.value',
|
|
24165
|
+
min_doc_count: minDocCount,
|
|
24166
|
+
sub: {
|
|
24167
|
+
[attributMetricKey]: {
|
|
24168
|
+
metrics: this._widgetConfig?.formValue?.metric
|
|
24188
24169
|
}
|
|
24189
|
-
}
|
|
24170
|
+
}
|
|
24190
24171
|
}
|
|
24191
|
-
|
|
24192
|
-
|
|
24193
|
-
|
|
24194
|
-
|
|
24195
|
-
|
|
24196
|
-
|
|
24197
|
-
|
|
24198
|
-
|
|
24199
|
-
|
|
24200
|
-
|
|
24172
|
+
};
|
|
24173
|
+
this.searchService.executeQuery({
|
|
24174
|
+
aggs: aggsQquery,
|
|
24175
|
+
...this._query.getQueryJson()
|
|
24176
|
+
}, true).subscribe((res) => {
|
|
24177
|
+
this.refreshingRequest = false;
|
|
24178
|
+
this._query.name = queryName;
|
|
24179
|
+
if (res.aggregations[Object.keys(res.aggregations)[0]].buckets.length > 0) {
|
|
24180
|
+
this.chartData = res.aggregations[Object.keys(res.aggregations)[0]].buckets.map((e) => {
|
|
24181
|
+
return {
|
|
24182
|
+
group: e.key.replace('_', '-'),
|
|
24183
|
+
value: e[metric + '#' + attributMetricKey].value,
|
|
24184
|
+
};
|
|
24185
|
+
});
|
|
24201
24186
|
}
|
|
24202
|
-
|
|
24203
|
-
|
|
24204
|
-
...this._query.getQueryJson()
|
|
24205
|
-
}, true)
|
|
24206
|
-
.subscribe((res) => {
|
|
24187
|
+
else {
|
|
24188
|
+
this.chartData = [];
|
|
24207
24189
|
this.refreshingRequest = false;
|
|
24208
|
-
|
|
24209
|
-
|
|
24210
|
-
|
|
24211
|
-
|
|
24212
|
-
|
|
24213
|
-
|
|
24214
|
-
|
|
24215
|
-
|
|
24216
|
-
|
|
24217
|
-
|
|
24218
|
-
|
|
24219
|
-
|
|
24220
|
-
|
|
24221
|
-
|
|
24222
|
-
|
|
24223
|
-
|
|
24190
|
+
}
|
|
24191
|
+
}, (error) => {
|
|
24192
|
+
this.chartData = [];
|
|
24193
|
+
this.refreshingRequest = false;
|
|
24194
|
+
});
|
|
24195
|
+
}
|
|
24196
|
+
lineChartNumber(queryName, field, type, sort, minDocCount, rangeValues) {
|
|
24197
|
+
const fieldKey = field.replace('sysobject.', '').replace('sysdocument.', '');
|
|
24198
|
+
let aggsQquery;
|
|
24199
|
+
if (Object.keys(rangeValues).length !== 0 && type === 'NUMBER') {
|
|
24200
|
+
this.lineStraightChartOption.axes.bottom = {
|
|
24201
|
+
mapsTo: 'key',
|
|
24202
|
+
scaleType: 'labels',
|
|
24203
|
+
title: '',
|
|
24204
|
+
};
|
|
24205
|
+
this.lineCurveChartOption.axes.bottom = {
|
|
24206
|
+
mapsTo: 'key',
|
|
24207
|
+
scaleType: 'labels',
|
|
24208
|
+
title: '',
|
|
24209
|
+
};
|
|
24210
|
+
aggsQquery = {
|
|
24211
|
+
[fieldKey]: {
|
|
24212
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
24213
|
+
rg: rangeValues,
|
|
24214
|
+
order: sort ? 'asc' : 'desc',
|
|
24215
|
+
sort: '_count',
|
|
24216
|
+
min_doc_count: minDocCount
|
|
24224
24217
|
}
|
|
24225
|
-
|
|
24226
|
-
|
|
24227
|
-
|
|
24218
|
+
};
|
|
24219
|
+
}
|
|
24220
|
+
else {
|
|
24221
|
+
this.lineCurveChartOption = JSON.parse(JSON.stringify(this.defaultLineCurveChartOption));
|
|
24222
|
+
this.lineStraightChartOption = JSON.parse(JSON.stringify(this.defaultLineStraightChartOption));
|
|
24223
|
+
aggsQquery = {
|
|
24224
|
+
[fieldKey]: {
|
|
24225
|
+
order: sort ? 'asc' : 'desc',
|
|
24226
|
+
histogram: { calendar_interval: 'month', format: 'yyyy-MM' },
|
|
24227
|
+
sort: '_count',
|
|
24228
|
+
min_doc_count: minDocCount,
|
|
24229
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
24228
24230
|
}
|
|
24229
|
-
|
|
24230
|
-
|
|
24231
|
+
};
|
|
24232
|
+
}
|
|
24233
|
+
;
|
|
24234
|
+
this.searchService.executeQuery({
|
|
24235
|
+
aggs: aggsQquery,
|
|
24236
|
+
...this._query.getQueryJson()
|
|
24237
|
+
}, true)
|
|
24238
|
+
.subscribe((res) => {
|
|
24239
|
+
this.refreshingRequest = false;
|
|
24240
|
+
this._query.name = queryName;
|
|
24241
|
+
if (res.aggregations[Object.keys(res.aggregations)[0]].buckets.length > 0) {
|
|
24242
|
+
this.chartData = res.aggregations[Object.keys(res.aggregations)[0]].buckets.map((e) => {
|
|
24243
|
+
if (type === 'BOOLEAN') {
|
|
24231
24244
|
return {
|
|
24232
|
-
group: e.
|
|
24245
|
+
group: e.key === 0 ? '\u2610' : '\u2611',
|
|
24233
24246
|
value: e.doc_count,
|
|
24234
24247
|
};
|
|
24235
|
-
}
|
|
24236
|
-
|
|
24237
|
-
if (this._widgetConfig?.formValue?.aggregation === 'sysobject.created') {
|
|
24238
|
-
this.chartData = res.aggregations.created.buckets.map((e) => {
|
|
24248
|
+
}
|
|
24249
|
+
else {
|
|
24239
24250
|
return {
|
|
24240
|
-
group: e.key_as_string,
|
|
24241
24251
|
value: e.doc_count,
|
|
24252
|
+
key: typeof e.key === 'string' ? e.key.replace('_', '-') : e.key,
|
|
24242
24253
|
};
|
|
24243
|
-
}
|
|
24254
|
+
}
|
|
24255
|
+
});
|
|
24256
|
+
}
|
|
24257
|
+
else {
|
|
24258
|
+
this.chartData = [];
|
|
24259
|
+
this.refreshingRequest = false;
|
|
24260
|
+
}
|
|
24261
|
+
});
|
|
24262
|
+
}
|
|
24263
|
+
chartWithNoMetric(queryName, field, type, sort, minDocCount, rangeValues) {
|
|
24264
|
+
const fieldKey = field.replace('sysobject.', '').replace('sysdocument.', '');
|
|
24265
|
+
let aggsQquery;
|
|
24266
|
+
if (Object.keys(rangeValues).length !== 0 && type === 'NUMBER') {
|
|
24267
|
+
aggsQquery = {
|
|
24268
|
+
[fieldKey]: {
|
|
24269
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
24270
|
+
rg: rangeValues,
|
|
24271
|
+
order: sort ? 'asc' : 'desc',
|
|
24272
|
+
sort: '_count',
|
|
24273
|
+
min_doc_count: minDocCount
|
|
24244
24274
|
}
|
|
24245
|
-
|
|
24246
|
-
|
|
24247
|
-
|
|
24248
|
-
|
|
24249
|
-
|
|
24250
|
-
|
|
24251
|
-
}
|
|
24275
|
+
};
|
|
24276
|
+
}
|
|
24277
|
+
else {
|
|
24278
|
+
aggsQquery = {
|
|
24279
|
+
[fieldKey]: {
|
|
24280
|
+
order: sort ? 'asc' : 'desc',
|
|
24281
|
+
histogram: { calendar_interval: 'month', format: 'yyyy-MM' },
|
|
24282
|
+
sort: '_count',
|
|
24283
|
+
min_doc_count: minDocCount,
|
|
24284
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
24252
24285
|
}
|
|
24253
|
-
|
|
24254
|
-
|
|
24286
|
+
};
|
|
24287
|
+
}
|
|
24288
|
+
this.searchService.executeQuery({
|
|
24289
|
+
aggs: aggsQquery,
|
|
24290
|
+
...this._query.getQueryJson()
|
|
24291
|
+
}, true)
|
|
24292
|
+
.subscribe((res) => {
|
|
24293
|
+
this.refreshingRequest = false;
|
|
24294
|
+
this._query.name = queryName;
|
|
24295
|
+
if (res.aggregations[Object.keys(res.aggregations)[0]].buckets.length > 0) {
|
|
24296
|
+
this.chartData = res.aggregations[Object.keys(res.aggregations)[0]].buckets.map((e) => {
|
|
24297
|
+
if (type === 'BOOLEAN') {
|
|
24255
24298
|
return {
|
|
24256
|
-
group:
|
|
24299
|
+
group: e.key === 0 ? '\u2610' : '\u2611',
|
|
24257
24300
|
value: e.doc_count,
|
|
24258
24301
|
};
|
|
24259
|
-
}
|
|
24260
|
-
|
|
24261
|
-
if (this._widgetConfig?.formValue?.aggregation === 'sysdocument.filesize') {
|
|
24262
|
-
this.chartData = res.aggregations.filesize.buckets.map((e) => {
|
|
24302
|
+
}
|
|
24303
|
+
else {
|
|
24263
24304
|
return {
|
|
24264
|
-
group: e.key.replace('_', '-'),
|
|
24305
|
+
group: typeof e.key === 'string' ? e.key.replace('_', '-') : e.key,
|
|
24265
24306
|
value: e.doc_count,
|
|
24266
24307
|
};
|
|
24267
|
-
}
|
|
24268
|
-
}
|
|
24269
|
-
}
|
|
24308
|
+
}
|
|
24309
|
+
});
|
|
24310
|
+
}
|
|
24311
|
+
else {
|
|
24270
24312
|
this.chartData = [];
|
|
24271
24313
|
this.refreshingRequest = false;
|
|
24272
|
-
}
|
|
24273
|
-
|
|
24314
|
+
}
|
|
24315
|
+
if (this._widgetConfig?.formValue?.aggregation === 'sysobject.modified') {
|
|
24316
|
+
this.chartData = res.aggregations.modified.buckets.map((e) => {
|
|
24317
|
+
return {
|
|
24318
|
+
group: e.key_as_string,
|
|
24319
|
+
value: e.doc_count,
|
|
24320
|
+
};
|
|
24321
|
+
});
|
|
24322
|
+
}
|
|
24323
|
+
if (this._widgetConfig?.formValue?.aggregation === 'sysobject.created') {
|
|
24324
|
+
this.chartData = res.aggregations.created.buckets.map((e) => {
|
|
24325
|
+
return {
|
|
24326
|
+
group: e.key_as_string,
|
|
24327
|
+
value: e.doc_count,
|
|
24328
|
+
};
|
|
24329
|
+
});
|
|
24330
|
+
}
|
|
24331
|
+
if (this._widgetConfig?.formValue?.aggregation === 'sysdocument.mimetypegroup') {
|
|
24332
|
+
this.chartData = res.aggregations.mimetypegroup.buckets.map((e) => {
|
|
24333
|
+
return {
|
|
24334
|
+
group: e.key,
|
|
24335
|
+
value: e.doc_count,
|
|
24336
|
+
};
|
|
24337
|
+
});
|
|
24338
|
+
}
|
|
24339
|
+
if (this._widgetConfig?.formValue?.aggregation === 'sysobject.type') {
|
|
24340
|
+
this.chartData = res.aggregations.type.buckets.map((e) => {
|
|
24341
|
+
return {
|
|
24342
|
+
group: this.systemService.getObjectType(e.key).label,
|
|
24343
|
+
value: e.doc_count,
|
|
24344
|
+
};
|
|
24345
|
+
});
|
|
24346
|
+
}
|
|
24347
|
+
if (this._widgetConfig?.formValue?.aggregation === 'sysdocument.filesize') {
|
|
24348
|
+
this.chartData = res.aggregations.filesize.buckets.map((e) => {
|
|
24349
|
+
return {
|
|
24350
|
+
group: e.key.replace('_', '-'),
|
|
24351
|
+
value: e.doc_count,
|
|
24352
|
+
};
|
|
24353
|
+
});
|
|
24354
|
+
}
|
|
24355
|
+
}, () => {
|
|
24356
|
+
this.chartData = [];
|
|
24357
|
+
this.refreshingRequest = false;
|
|
24358
|
+
});
|
|
24274
24359
|
}
|
|
24275
24360
|
setQueryToAppSearch() {
|
|
24276
24361
|
this.appSearchService.setQuery(this.storedQuery);
|
|
@@ -24381,7 +24466,7 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
24381
24466
|
this.isDateTimeType = false;
|
|
24382
24467
|
this.isNumberType = false;
|
|
24383
24468
|
this.selectedSavedSearchName = '';
|
|
24384
|
-
this.setupForm.valueChanges.pipe(
|
|
24469
|
+
this.setupForm.valueChanges.pipe(debounceTime$1(1000), untilDestroyed(this)).subscribe((_) => {
|
|
24385
24470
|
this.setWidgetConfig();
|
|
24386
24471
|
});
|
|
24387
24472
|
this.setupForm.statusChanges.pipe(untilDestroyed(this)).subscribe((v) => {
|
|
@@ -24442,10 +24527,12 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
24442
24527
|
}));
|
|
24443
24528
|
}
|
|
24444
24529
|
updateField() {
|
|
24445
|
-
|
|
24446
|
-
|
|
24447
|
-
|
|
24448
|
-
|
|
24530
|
+
setTimeout(() => {
|
|
24531
|
+
const type = this.storedQuery?.types?.length === 1 ? this.storedQuery?.types[0]?.qname : 'sysdocument';
|
|
24532
|
+
this.getHistogramField();
|
|
24533
|
+
this.getAggregationField(type);
|
|
24534
|
+
this.getAttributMetricCodesystem(type);
|
|
24535
|
+
}, 100);
|
|
24449
24536
|
}
|
|
24450
24537
|
getAggregationField(type) {
|
|
24451
24538
|
this.aggregationPicker.codesystem = null;
|
|
@@ -24456,7 +24543,7 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
24456
24543
|
}
|
|
24457
24544
|
let filteredFields = definition.elements.filter(field => !exclude.has(field.hitname));
|
|
24458
24545
|
if (this.widgetConfig?.formValue?.chartType === 'lineCurve' || this.widgetConfig?.formValue?.chartType === 'lineStraight') {
|
|
24459
|
-
filteredFields = filteredFields.filter(field => field.type === 'DATETIME');
|
|
24546
|
+
filteredFields = filteredFields.filter(field => field.type === 'DATETIME' || field.type === 'NUMBER');
|
|
24460
24547
|
}
|
|
24461
24548
|
this.aggregationPicker.codesystem = {
|
|
24462
24549
|
entries: filteredFields.map(field => {
|
|
@@ -24645,12 +24732,12 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
24645
24732
|
});
|
|
24646
24733
|
if (this.storedQuery) {
|
|
24647
24734
|
this.selectedSavedSearchName = this.setupForm.get('storedQuery').value;
|
|
24648
|
-
this.updateField();
|
|
24649
24735
|
this.setupForm.patchValue({
|
|
24650
24736
|
aggregation: this._widgetConfig?.formValue?.aggregation || 'sysobject.created',
|
|
24651
24737
|
attributMetric: this._widgetConfig?.formValue?.attributMetric || '',
|
|
24652
24738
|
});
|
|
24653
24739
|
this.updateTypeFlags();
|
|
24740
|
+
this.updateField();
|
|
24654
24741
|
}
|
|
24655
24742
|
}, (error) => {
|
|
24656
24743
|
this.queryError(error);
|
|
@@ -25664,14 +25751,14 @@ let SettingsComponent = class SettingsComponent {
|
|
|
25664
25751
|
});
|
|
25665
25752
|
}
|
|
25666
25753
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SettingsComponent, deps: [{ token: i0.Renderer2 }, { token: i1.UserService }, { token: i1.Config }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: i1.EventService }, { token: i1.CapabilitiesService }, { token: PageTitleService }, { token: AgentService }, { token: i1$3.UntypedFormBuilder }, { token: i1.AppCacheService }, { token: i1.LocalStorageService }, { token: i1.TranslateService }, { token: i0.ElementRef }, { token: i1.NotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25667
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SettingsComponent, selector: "eo-settings", viewQueries: [{ propertyName: "files", first: true, predicate: ["files"], descendants: true }, { propertyName: "headerBg", first: true, predicate: ["headerBg"], descendants: true }, { propertyName: "userAvatar", first: true, predicate: ["userAvatar"], descendants: true }, { propertyName: "confirmDeleteBtn", first: true, predicate: ["confirmDeleteBtn"], descendants: true }, { propertyName: "profileImageOverlay", first: true, predicate: ["profileImageOverlay"], descendants: true }, { propertyName: "deputiesForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n <button translate (click)=\"clearLocalSettings()\">eo.state.settings.localSettings.clear</button>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.dashboard.defaut</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"deleteConfigDashboard = true\">eo.state.settings.dashboard.button.clear</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.dashboard.default.dialog.title' | translate\" [(visible)]=\"deleteConfigDashboard\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.dashboard.default.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"deleteConfigDashboard = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"defaultDashboard(); deleteConfigDashboard = false\" class=\"button primary\"\n translate>eo.state.settings.dashboard.button.reset</button>\n </div>\n</eo-dialog>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: UserAvatarComponent, selector: "eo-user-avatar", inputs: ["showPresence", "previewUri"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: ["userRegex"], outputs: ["onFormSumbit"] }, { kind: "component", type: PermissionsComponent, selector: "eo-permissions", inputs: ["roles"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
25754
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SettingsComponent, selector: "eo-settings", viewQueries: [{ propertyName: "files", first: true, predicate: ["files"], descendants: true }, { propertyName: "headerBg", first: true, predicate: ["headerBg"], descendants: true }, { propertyName: "userAvatar", first: true, predicate: ["userAvatar"], descendants: true }, { propertyName: "confirmDeleteBtn", first: true, predicate: ["confirmDeleteBtn"], descendants: true }, { propertyName: "profileImageOverlay", first: true, predicate: ["profileImageOverlay"], descendants: true }, { propertyName: "deputiesForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n <button translate (click)=\"clearLocalSettings()\">eo.state.settings.localSettings.clear</button>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.dashboard.defaut</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"deleteConfigDashboard = true\">eo.state.settings.dashboard.button.clear</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.dashboard.default.dialog.title' | translate\" [(visible)]=\"deleteConfigDashboard\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.dashboard.default.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"deleteConfigDashboard = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"defaultDashboard(); deleteConfigDashboard = false\" class=\"button primary\"\n translate>eo.state.settings.dashboard.button.reset</button>\n </div>\n</eo-dialog>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto;overflow-x:hidden}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: UserAvatarComponent, selector: "eo-user-avatar", inputs: ["showPresence", "previewUri"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: ["userRegex"], outputs: ["onFormSumbit"] }, { kind: "component", type: PermissionsComponent, selector: "eo-permissions", inputs: ["roles"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
25668
25755
|
};
|
|
25669
25756
|
SettingsComponent = __decorate([
|
|
25670
25757
|
UntilDestroy()
|
|
25671
25758
|
], SettingsComponent);
|
|
25672
25759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SettingsComponent, decorators: [{
|
|
25673
25760
|
type: Component,
|
|
25674
|
-
args: [{ selector: 'eo-settings', template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n <button translate (click)=\"clearLocalSettings()\">eo.state.settings.localSettings.clear</button>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.dashboard.defaut</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"deleteConfigDashboard = true\">eo.state.settings.dashboard.button.clear</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.dashboard.default.dialog.title' | translate\" [(visible)]=\"deleteConfigDashboard\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.dashboard.default.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"deleteConfigDashboard = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"defaultDashboard(); deleteConfigDashboard = false\" class=\"button primary\"\n translate>eo.state.settings.dashboard.button.reset</button>\n </div>\n</eo-dialog>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"] }]
|
|
25761
|
+
args: [{ selector: 'eo-settings', template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n <button translate (click)=\"clearLocalSettings()\">eo.state.settings.localSettings.clear</button>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.dashboard.defaut</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"deleteConfigDashboard = true\">eo.state.settings.dashboard.button.clear</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.dashboard.default.dialog.title' | translate\" [(visible)]=\"deleteConfigDashboard\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.dashboard.default.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"deleteConfigDashboard = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"defaultDashboard(); deleteConfigDashboard = false\" class=\"button primary\"\n translate>eo.state.settings.dashboard.button.reset</button>\n </div>\n</eo-dialog>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto;overflow-x:hidden}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"] }]
|
|
25675
25762
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.UserService }, { type: i1.Config }, { type: i1.NotificationsService }, { type: i1.SystemService }, { type: i1.EventService }, { type: i1.CapabilitiesService }, { type: PageTitleService }, { type: AgentService }, { type: i1$3.UntypedFormBuilder }, { type: i1.AppCacheService }, { type: i1.LocalStorageService }, { type: i1.TranslateService }, { type: i0.ElementRef }, { type: i1.NotificationsService }], propDecorators: { files: [{
|
|
25676
25763
|
type: ViewChild,
|
|
25677
25764
|
args: ['files']
|