nuxeo-development-framework 4.0.5 → 4.0.7

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.
Files changed (24) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1546 -1589
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/diagrams/utilities/index.js +1 -2
  4. package/esm2015/lib/shared/components/base/base.component.js +15 -17
  5. package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +4 -3
  6. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +8 -4
  7. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +12 -13
  8. package/esm2015/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.js +15 -15
  9. package/esm2015/lib/shared/services/base/base.service.js +23 -23
  10. package/esm2015/lib/shared/services/base/cache-base.service.js +23 -23
  11. package/esm2015/lib/shared/services/base/http-base.service.js +10 -10
  12. package/fesm2015/nuxeo-development-framework.js +1106 -1131
  13. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  14. package/lib/components/diagrams/utilities/index.d.ts +0 -1
  15. package/lib/shared/components/base/base.component.d.ts +11 -13
  16. package/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.d.ts +2 -1
  17. package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +3 -4
  18. package/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.d.ts +3 -3
  19. package/lib/shared/services/base/base.service.d.ts +6 -6
  20. package/lib/shared/services/base/cache-base.service.d.ts +4 -4
  21. package/lib/shared/services/base/http-base.service.d.ts +4 -4
  22. package/package.json +1 -1
  23. package/esm2015/lib/components/diagrams/utilities/export-graph.js +0 -28
  24. package/lib/components/diagrams/utilities/export-graph.d.ts +0 -3
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/forms'), require('@angular/material/dialog'), require('rxjs'), require('@angular/router'), require('@ngx-translate/core'), require('rxjs/operators'), require('@angular/animations'), require('ngx-toastr'), require('crypto-js'), require('@angular/cdk/bidi'), require('keycloak-angular'), require('ngx-cookie-service'), require('lodash-es'), require('@angular/material/icon'), require('@angular/material/tooltip'), require('@angular/cdk/coercion'), require('moment'), require('lodash/omit'), require('lodash/assign'), require('lodash/cloneDeep'), require('@angular/platform-browser'), require('moment-es6'), require('moment-hijri'), require('@angular/material/progress-spinner'), require('ngx-infinite-scroll'), require('@angular/material/list'), require('@angular/material/menu'), require('angular-ng-autocomplete'), require('@angular/material/core'), require('ts-cacheable'), require('@ng-select/ng-select'), require('@angular/material/form-field'), require('@angular/material/chips'), require('@angular/material/expansion'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/datepicker'), require('@angular/material/input'), require('@angular/material/radio'), require('@angular/material/slide-toggle'), require('@busacca/ng-pick-datetime'), require('@mat-datetimepicker/core'), require('angular-formio'), require('ngx-treeview'), require('@ng-bootstrap/ng-bootstrap'), require('formiojs'), require('lodash'), require('lodash/find'), require('lodash/isEqual'), require('@swimlane/ngx-datatable'), require('@angular/cdk/layout'), require('@angular/material/autocomplete'), require('dwt'), require('@angular/material/progress-bar'), require('chart.js'), require('chartjs-plugin-piechart-outlabels'), require('chartjs-plugin-labels'), require('devextreme-angular'), require('file-saver'), require('devextreme-angular/ui/nested'), require('devextreme-angular/core'), require('@pdftron/webviewer'), require('@angular/material/tabs'), require('@angular/material/divider'), require('@angular/common/locales/ar'), require('@angular/common/locales/en'), require('@rxweb/reactive-form-validators'), require('rete-angular-plugin'), require('rete'), require('rete-area-plugin'), require('rete-auto-arrange-plugin'), require('rete-connection-plugin'), require('rete-connection-reroute-plugin'), require('rete-readonly-plugin'), require('rete-minimap-plugin'), require('d3-shape'), require('rete-connection-path-plugin'), require('rete-render-utils'), require('@angular/material/badge'), require('@angular/material/toolbar')) :
3
- typeof define === 'function' && define.amd ? define('nuxeo-development-framework', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/forms', '@angular/material/dialog', 'rxjs', '@angular/router', '@ngx-translate/core', 'rxjs/operators', '@angular/animations', 'ngx-toastr', 'crypto-js', '@angular/cdk/bidi', 'keycloak-angular', 'ngx-cookie-service', 'lodash-es', '@angular/material/icon', '@angular/material/tooltip', '@angular/cdk/coercion', 'moment', 'lodash/omit', 'lodash/assign', 'lodash/cloneDeep', '@angular/platform-browser', 'moment-es6', 'moment-hijri', '@angular/material/progress-spinner', 'ngx-infinite-scroll', '@angular/material/list', '@angular/material/menu', 'angular-ng-autocomplete', '@angular/material/core', 'ts-cacheable', '@ng-select/ng-select', '@angular/material/form-field', '@angular/material/chips', '@angular/material/expansion', '@angular/material/button', '@angular/material/checkbox', '@angular/material/datepicker', '@angular/material/input', '@angular/material/radio', '@angular/material/slide-toggle', '@busacca/ng-pick-datetime', '@mat-datetimepicker/core', 'angular-formio', 'ngx-treeview', '@ng-bootstrap/ng-bootstrap', 'formiojs', 'lodash', 'lodash/find', 'lodash/isEqual', '@swimlane/ngx-datatable', '@angular/cdk/layout', '@angular/material/autocomplete', 'dwt', '@angular/material/progress-bar', 'chart.js', 'chartjs-plugin-piechart-outlabels', 'chartjs-plugin-labels', 'devextreme-angular', 'file-saver', 'devextreme-angular/ui/nested', 'devextreme-angular/core', '@pdftron/webviewer', '@angular/material/tabs', '@angular/material/divider', '@angular/common/locales/ar', '@angular/common/locales/en', '@rxweb/reactive-form-validators', 'rete-angular-plugin', 'rete', 'rete-area-plugin', 'rete-auto-arrange-plugin', 'rete-connection-plugin', 'rete-connection-reroute-plugin', 'rete-readonly-plugin', 'rete-minimap-plugin', 'd3-shape', 'rete-connection-path-plugin', 'rete-render-utils', '@angular/material/badge', '@angular/material/toolbar'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["nuxeo-development-framework"] = {}, global.ng.core, global.ng.common, global.ng.common.http, global.ng.forms, global.ng.material.dialog, global.rxjs, global.ng.router, global.i1$1, global.rxjs.operators, global.ng.animations, global.i1$2, global.CryptoJS, global.ng.cdk.bidi, global.i2, global.i3, global.lodashEs, global.ng.material.icon, global.ng.material.tooltip, global.ng.cdk.coercion, global.moment$4, global._omit, global._assign, global._cloneDeep, global.ng.platformBrowser, global.moment$5, global.moment_, global.ng.material.progressSpinner, global.i9, global.ng.material.list, global.ng.material.menu, global.i6$1, global.ng.material.core, global.tsCacheable, global.i5, global.ng.material.formField, global.ng.material.chips, global.ng.material.expansion, global.ng.material.button, global.ng.material.checkbox, global.ng.material.datepicker, global.ng.material.input, global.ng.material.radio, global.ng.material.slideToggle, global.i6$4, global.core, global.i3$2, global.i1$6, global.i1$5, global.formiojs, global._, global._find, global._isEqual, global.i4$2, global.ng.cdk.layout, global.ng.material.autocomplete, global.Dynamsoft, global.ng.material.progressBar, global.chart_js, null, null, global.i3$3, global.FileSaver, global.i4$4, global.i5$3, global.WebViewer, global.ng.material.tabs, global.ng.material.divider, global.ng.common.locales.ar, global.ng.common.locales.en, global.reactiveFormValidators, global.i2$8, global.rete, global.reteAreaPlugin, global.reteAutoArrangePlugin, global.reteConnectionPlugin, global.reteConnectionReroutePlugin, global.reteReadonlyPlugin, global.reteMinimapPlugin, global.d3Shape, global.reteConnectionPathPlugin, global.reteRenderUtils, global.ng.material.badge, global.ng.material.toolbar));
5
- })(this, (function (exports, i0, i4, i1, i6, i1$3, rxjs, i1$4, i1$1, operators, animations, i1$2, CryptoJS, i4$1, i2, i3, lodashEs, i2$1, i2$2, coercion, moment$4, _omit, _assign, _cloneDeep, i2$3, moment$5, moment_, i8, i9, i2$4, i3$1, i6$1, i2$5, tsCacheable, i5, i6$2, i7, i6$3, i1$7, i7$1, datepicker, i5$1, i2$7, i2$6, i6$4, core, i3$2, i1$6, i1$5, formiojs, _, _find, _isEqual, i4$2, i5$2, i7$2, Dynamsoft, i4$3, chart_js, chartjsPluginPiechartOutlabels, chartjsPluginLabels, i3$3, FileSaver, i4$4, i5$3, WebViewer, i1$8, i8$1, localeAr, localeEn, reactiveFormValidators, i2$8, rete, reteAreaPlugin, reteAutoArrangePlugin, reteConnectionPlugin, reteConnectionReroutePlugin, reteReadonlyPlugin, reteMinimapPlugin, d3Shape, reteConnectionPathPlugin, reteRenderUtils, i7$3, toolbar) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/forms'), require('@angular/material/dialog'), require('rxjs'), require('@angular/router'), require('@ngx-translate/core'), require('rxjs/operators'), require('@angular/animations'), require('ngx-toastr'), require('crypto-js'), require('@angular/cdk/bidi'), require('keycloak-angular'), require('ngx-cookie-service'), require('@angular/cdk/coercion'), require('@angular/material/icon'), require('@angular/material/tooltip'), require('lodash-es'), require('moment'), require('lodash/omit'), require('lodash/assign'), require('lodash/cloneDeep'), require('@angular/platform-browser'), require('moment-es6'), require('moment-hijri'), require('@angular/material/progress-spinner'), require('ngx-infinite-scroll'), require('@angular/material/list'), require('@angular/material/menu'), require('angular-ng-autocomplete'), require('@angular/material/core'), require('ts-cacheable'), require('@ng-select/ng-select'), require('@angular/material/form-field'), require('@angular/material/chips'), require('@angular/material/expansion'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/datepicker'), require('@angular/material/input'), require('@angular/material/radio'), require('@angular/material/slide-toggle'), require('@busacca/ng-pick-datetime'), require('@mat-datetimepicker/core'), require('angular-formio'), require('ngx-treeview'), require('@ng-bootstrap/ng-bootstrap'), require('formiojs'), require('lodash'), require('lodash/find'), require('lodash/isEqual'), require('@swimlane/ngx-datatable'), require('@angular/cdk/layout'), require('@angular/material/autocomplete'), require('dwt'), require('@angular/material/progress-bar'), require('chart.js'), require('chartjs-plugin-piechart-outlabels'), require('chartjs-plugin-labels'), require('devextreme-angular'), require('file-saver'), require('devextreme-angular/ui/nested'), require('devextreme-angular/core'), require('@pdftron/webviewer'), require('@angular/material/tabs'), require('@angular/material/divider'), require('@angular/common/locales/ar'), require('@angular/common/locales/en'), require('@rxweb/reactive-form-validators'), require('rete-angular-plugin'), require('rete'), require('rete-area-plugin'), require('rete-auto-arrange-plugin'), require('rete-connection-plugin'), require('rete-connection-reroute-plugin'), require('rete-readonly-plugin'), require('rete-minimap-plugin'), require('d3-shape'), require('rete-connection-path-plugin'), require('rete-render-utils'), require('@angular/material/badge'), require('@angular/material/toolbar')) :
3
+ typeof define === 'function' && define.amd ? define('nuxeo-development-framework', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/forms', '@angular/material/dialog', 'rxjs', '@angular/router', '@ngx-translate/core', 'rxjs/operators', '@angular/animations', 'ngx-toastr', 'crypto-js', '@angular/cdk/bidi', 'keycloak-angular', 'ngx-cookie-service', '@angular/cdk/coercion', '@angular/material/icon', '@angular/material/tooltip', 'lodash-es', 'moment', 'lodash/omit', 'lodash/assign', 'lodash/cloneDeep', '@angular/platform-browser', 'moment-es6', 'moment-hijri', '@angular/material/progress-spinner', 'ngx-infinite-scroll', '@angular/material/list', '@angular/material/menu', 'angular-ng-autocomplete', '@angular/material/core', 'ts-cacheable', '@ng-select/ng-select', '@angular/material/form-field', '@angular/material/chips', '@angular/material/expansion', '@angular/material/button', '@angular/material/checkbox', '@angular/material/datepicker', '@angular/material/input', '@angular/material/radio', '@angular/material/slide-toggle', '@busacca/ng-pick-datetime', '@mat-datetimepicker/core', 'angular-formio', 'ngx-treeview', '@ng-bootstrap/ng-bootstrap', 'formiojs', 'lodash', 'lodash/find', 'lodash/isEqual', '@swimlane/ngx-datatable', '@angular/cdk/layout', '@angular/material/autocomplete', 'dwt', '@angular/material/progress-bar', 'chart.js', 'chartjs-plugin-piechart-outlabels', 'chartjs-plugin-labels', 'devextreme-angular', 'file-saver', 'devextreme-angular/ui/nested', 'devextreme-angular/core', '@pdftron/webviewer', '@angular/material/tabs', '@angular/material/divider', '@angular/common/locales/ar', '@angular/common/locales/en', '@rxweb/reactive-form-validators', 'rete-angular-plugin', 'rete', 'rete-area-plugin', 'rete-auto-arrange-plugin', 'rete-connection-plugin', 'rete-connection-reroute-plugin', 'rete-readonly-plugin', 'rete-minimap-plugin', 'd3-shape', 'rete-connection-path-plugin', 'rete-render-utils', '@angular/material/badge', '@angular/material/toolbar'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["nuxeo-development-framework"] = {}, global.ng.core, global.ng.common, global.ng.common.http, global.ng.forms, global.ng.material.dialog, global.rxjs, global.ng.router, global.i1$1, global.rxjs.operators, global.ng.animations, global.i1$2, global.CryptoJS, global.ng.cdk.bidi, global.i2, global.i3, global.ng.cdk.coercion, global.ng.material.icon, global.ng.material.tooltip, global.lodashEs, global.moment$4, global._omit, global._assign, global._cloneDeep, global.ng.platformBrowser, global.moment$5, global.moment_, global.ng.material.progressSpinner, global.i9, global.ng.material.list, global.ng.material.menu, global.i6$1, global.ng.material.core, global.tsCacheable, global.i5, global.ng.material.formField, global.ng.material.chips, global.ng.material.expansion, global.ng.material.button, global.ng.material.checkbox, global.ng.material.datepicker, global.ng.material.input, global.ng.material.radio, global.ng.material.slideToggle, global.i6$4, global.core, global.i3$2, global.i1$6, global.i1$5, global.formiojs, global._, global._find, global._isEqual, global.i4$2, global.ng.cdk.layout, global.ng.material.autocomplete, global.Dynamsoft, global.ng.material.progressBar, global.chart_js, null, null, global.i3$3, global.FileSaver, global.i4$4, global.i5$3, global.WebViewer, global.ng.material.tabs, global.ng.material.divider, global.ng.common.locales.ar, global.ng.common.locales.en, global.reactiveFormValidators, global.i2$8, global.rete, global.reteAreaPlugin, global.reteAutoArrangePlugin, global.reteConnectionPlugin, global.reteConnectionReroutePlugin, global.reteReadonlyPlugin, global.reteMinimapPlugin, global.d3Shape, global.reteConnectionPathPlugin, global.reteRenderUtils, global.ng.material.badge, global.ng.material.toolbar));
5
+ })(this, (function (exports, i0, i4, i1, i6, i1$4, rxjs, i1$3, i1$1, operators, animations, i1$2, CryptoJS, i4$1, i2, i3, coercion, i2$1, i2$2, lodashEs, moment$4, _omit, _assign, _cloneDeep, i2$3, moment$5, moment_, i8, i9, i2$4, i3$1, i6$1, i2$5, tsCacheable, i5, i6$2, i7, i6$3, i1$7, i7$1, datepicker, i5$1, i2$7, i2$6, i6$4, core, i3$2, i1$6, i1$5, formiojs, _, _find, _isEqual, i4$2, i5$2, i7$2, Dynamsoft, i4$3, chart_js, chartjsPluginPiechartOutlabels, chartjsPluginLabels, i3$3, FileSaver, i4$4, i5$3, WebViewer, i1$8, i8$1, localeAr, localeEn, reactiveFormValidators, i2$8, rete, reteAreaPlugin, reteAutoArrangePlugin, reteConnectionPlugin, reteConnectionReroutePlugin, reteReadonlyPlugin, reteMinimapPlugin, d3Shape, reteConnectionPathPlugin, reteRenderUtils, i7$3, toolbar) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -28,8 +28,8 @@
28
28
  var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4);
29
29
  var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1);
30
30
  var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
31
- var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
32
- var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$4);
31
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
32
+ var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$3);
33
33
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
34
34
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
35
35
  var CryptoJS__default = /*#__PURE__*/_interopDefaultLegacy(CryptoJS);
@@ -2142,177 +2142,6 @@
2142
2142
  }]
2143
2143
  }], ctorParameters: function () { return [{ type: UtilityService }]; } });
2144
2144
 
2145
- var defaultConfirmConfig = {
2146
- title: 'confirmDialog.confirm',
2147
- message: 'confirmDialog.generalConfirmMsg',
2148
- icon: {
2149
- show: true,
2150
- name: 'heroicons_outline:exclamation',
2151
- color: 'warn'
2152
- },
2153
- actions: {
2154
- confirm: {
2155
- show: true,
2156
- label: 'BUTTONS.confirm',
2157
- color: 'warn',
2158
- fn: function () {
2159
- return rxjs.of(false);
2160
- }
2161
- },
2162
- moreActions: []
2163
- }
2164
- };
2165
-
2166
- var NdfNuxeoDialog = /** @class */ (function (_super) {
2167
- __extends(NdfNuxeoDialog, _super);
2168
- function NdfNuxeoDialog(injector) {
2169
- var _this = _super.call(this) || this;
2170
- _this.loading = false;
2171
- _this.dialogTitle = "";
2172
- _this.subTitle = "";
2173
- _this.loaderMode = "spinner";
2174
- _this.dialogBodyTopOffset = 0;
2175
- _this.data = injector.get(i1$3.MAT_DIALOG_DATA, null);
2176
- _this.dialogRef = injector.get(i1$3.MatDialogRef, null);
2177
- return _this;
2178
- }
2179
- NdfNuxeoDialog.prototype.executeAction = function (action) {
2180
- var _this = this;
2181
- var params = [];
2182
- for (var _i = 1; _i < arguments.length; _i++) {
2183
- params[_i - 1] = arguments[_i];
2184
- }
2185
- this.dialogBodyTopOffset = this.dialogBody.nativeElement.scrollTop;
2186
- if (action) {
2187
- if (!this.isArrowFunction(action)) {
2188
- throw new Error("The action should be arrow function");
2189
- }
2190
- this.loading = true;
2191
- //TODO here we should find a way to test if actions instance of DialogActionType
2192
- var result = action.apply(void 0, __spreadArray([], __read(params)));
2193
- if (!rxjs.isObservable(result)) {
2194
- this.loading = false;
2195
- throw new Error("The action you used should return an Observable");
2196
- }
2197
- result.pipe(operators.takeUntil(this.destroy$)).subscribe(function (value) {
2198
- _this.loading = false;
2199
- _this.dialogRef.close(value);
2200
- }, function (err) {
2201
- _this.loading = false;
2202
- });
2203
- }
2204
- else {
2205
- this.dialogRef.close();
2206
- }
2207
- };
2208
- NdfNuxeoDialog.prototype.isArrowFunction = function (fn) {
2209
- var strFn = fn.toString();
2210
- var firstIndex = strFn.indexOf(")");
2211
- var lastIndex = strFn.indexOf("{") + 1;
2212
- var target = strFn.substring(firstIndex, lastIndex).replace(" ", "");
2213
- return target.includes("=>");
2214
- };
2215
- NdfNuxeoDialog.prototype.onClose = function () {
2216
- this.dialogRef.close();
2217
- };
2218
- return NdfNuxeoDialog;
2219
- }(DestroySubject$1));
2220
- NdfNuxeoDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfNuxeoDialog, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
2221
- NdfNuxeoDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { loading: "loading", dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div SetDirRtl class=\"ndf-dialog-wrapper\">\r\n\t<div class=\"dialog-header\">\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\"\r\n\t\t\t\t>{{ data?.dialogConfig?.subTitle || subTitle }}</span\r\n\t\t\t>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\">\r\n\t\t\t</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div #dialogBody class=\"dialog-body\" [ngClass]=\"{'overflow-hidden': loading}\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate\"\r\n\t\t></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay bg-gray-300 opacity-40 z-999\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"4\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"40\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"block w-full h-px absolute inset-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'progressBar'\"\r\n\t\t\t>\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-end p-6 pt-0 gap-x-4\">\r\n\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">\r\n\t\t\t{{\"BUTTONS.CANCEL\" | translate}}\r\n\t\t</button>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper{@apply flex flex-col;}.ndf-dialog-wrapper .dialog-header{@apply flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7;}.ndf-dialog-wrapper .dialog-body{height:auto;max-height:calc(100vh - 208px);@apply flex flex-col gap-y-4 p-6 overflow-y-auto relative z-99;}.ndf-dialog-wrapper .overlay{@apply flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0;}\n"], components: [{ type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
2222
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfNuxeoDialog, decorators: [{
2223
- type: i0.Component,
2224
- args: [{
2225
- selector: "ndf-nuxeo-dialog",
2226
- templateUrl: "./nuxeo.dialog.html",
2227
- styleUrls: ["./nuxeo.dialog.scss"],
2228
- }]
2229
- }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { loading: [{
2230
- type: i0.Input
2231
- }], dialogTitle: [{
2232
- type: i0.Input
2233
- }], subTitle: [{
2234
- type: i0.Input
2235
- }], loaderMode: [{
2236
- type: i0.Input
2237
- }], contentTemplate: [{
2238
- type: i0.ContentChild,
2239
- args: ["contentTemplate"]
2240
- }], actionsTemplate: [{
2241
- type: i0.ContentChild,
2242
- args: ["actionsTemplate"]
2243
- }], dialogBody: [{
2244
- type: i0.ViewChild,
2245
- args: ["dialogBody"]
2246
- }] } });
2247
-
2248
- var NdfConfirmationDialogComponent = /** @class */ (function (_super) {
2249
- __extends(NdfConfirmationDialogComponent, _super);
2250
- function NdfConfirmationDialogComponent(injector) {
2251
- return _super.call(this, injector) || this;
2252
- }
2253
- return NdfConfirmationDialogComponent;
2254
- }(BaseDialogComponent));
2255
- NdfConfirmationDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfConfirmationDialogComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
2256
- NdfConfirmationDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfConfirmationDialogComponent, selector: "ndf-confirmation-dialog", usesInheritance: true, ngImport: i0__namespace, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ dialogData.title | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<!-- Content -->\r\n\t\t<div class=\"flex flex-row gap-x-2 items-center\">\r\n\t\t\t<!-- Icon -->\r\n\t\t\t<ng-container *ngIf=\"dialogData.icon.show\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"flex flex-0 items-center justify-center w-10 h-10 sm:mr-4 rounded-full\"\r\n\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\tprimaryIcon: dialogData.icon.color === 'primary',\r\n\t\t\t\t\t\taccentIcon: dialogData.icon.color === 'accent',\r\n\t\t\t\t\t\twarnIcon: dialogData.icon.color === 'warn',\r\n\t\t\t\t\t\tbasicIcon: dialogData.icon.color === 'basic',\r\n\t\t\t\t\t\tinfoIcon: dialogData.icon.color === 'info',\r\n\t\t\t\t\t\tsuccessIcon: dialogData.icon.color === 'success',\r\n\t\t\t\t\t\twarningIcon: dialogData.icon.color === 'warning',\r\n\t\t\t\t\t\terrorIcon: dialogData.icon.color === 'error'\r\n\t\t\t\t\t}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<mat-icon\r\n\t\t\t\t\t\tclass=\"text-current\"\r\n\t\t\t\t\t\t[svgIcon]=\"dialogData.icon.name\"\r\n\t\t\t\t\t></mat-icon>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"text-secondary\"\r\n\t\t\t\t[innerHtml]=\"dialogData.message | translate\"\r\n\t\t\t></div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<ng-container *ngIf=\"dialogData.actions.confirm.show\">\r\n\t\t\t<button\r\n\t\t\t\t(click)=\"dialog.executeAction(dialogData.actions.confirm.fn)\"\r\n\t\t\t\tclass=\"submission-button\"\r\n\t\t\t\t[color]=\"dialogData.actions.confirm.color\"\r\n\t\t\t\t[disabled]=\"dialog.loading\"\r\n\t\t\t>\r\n\t\t\t\t{{ dialogData.actions.confirm.label | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\t\t<ng-container *ngIf=\"dialogData.actions.moreActions.length\">\r\n\t\t\t<ng-container *ngFor=\"let btn of dialogData.actions.moreActions\">\r\n\t\t\t\t<button\r\n\t\t\t\t\t(click)=\"dialog.executeAction(btn.fn)\"\r\n\t\t\t\t\tclass=\"submission-button\"\r\n\t\t\t\t\t[color]=\"btn.color\"\r\n\t\t\t\t\t[disabled]=\"dialog.loading\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ btn.label | translate }}\r\n\t\t\t\t</button>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".primaryIcon{@apply text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600;}.accentIcon{@apply text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600;}.warnIcon{@apply text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600;}.basicIcon{@apply text-gray-600 bg-gray-100 dark:text-gray-50 dark:bg-gray-600;}.infoIcon{@apply text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600;}.successIcon{@apply text-green-500 bg-green-100 dark:text-green-50 dark:bg-green-500;}.warningIcon{@apply text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500;}.errorIcon{@apply text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600;}::ng-deep .ndf-confirmation-dialog-panel{min-width:25%!important}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["loading", "dialogTitle", "subTitle", "loaderMode"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
2257
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfConfirmationDialogComponent, decorators: [{
2258
- type: i0.Component,
2259
- args: [{
2260
- selector: "ndf-confirmation-dialog",
2261
- templateUrl: "./ndf-confirmation-dialog.component.html",
2262
- styleUrls: ["./ndf-confirmation-dialog.component.scss"],
2263
- }]
2264
- }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
2265
-
2266
- var _NuxeoDialogService_instances, _NuxeoDialogService_getPanelClass;
2267
- var NuxeoDialogService = /** @class */ (function () {
2268
- function NuxeoDialogService(dialog) {
2269
- this.dialog = dialog;
2270
- _NuxeoDialogService_instances.add(this);
2271
- }
2272
- NuxeoDialogService.prototype.open = function (options) {
2273
- var _a, _b, _c, _d;
2274
- return this.dialog.open(options.component, {
2275
- width: (options === null || options === void 0 ? void 0 : options.width) || "auto",
2276
- height: (options === null || options === void 0 ? void 0 : options.height) || "auto",
2277
- minWidth: "35%",
2278
- panelClass: __spreadArray(["ndf-dialog"], __read(__classPrivateFieldGet(this, _NuxeoDialogService_instances, "m", _NuxeoDialogService_getPanelClass).call(this, options === null || options === void 0 ? void 0 : options.panelClass))),
2279
- disableClose: true,
2280
- data: Object.assign({ dialogConfig: {
2281
- title: (_a = options.config) === null || _a === void 0 ? void 0 : _a.title,
2282
- subTitle: (_b = options.config) === null || _b === void 0 ? void 0 : _b.subTitle,
2283
- contentTemplate: (_c = options.config) === null || _c === void 0 ? void 0 : _c.contentTemplate,
2284
- actionsTemplate: (_d = options.config) === null || _d === void 0 ? void 0 : _d.actionsTemplate,
2285
- } }, (options.data || {})),
2286
- });
2287
- };
2288
- NuxeoDialogService.prototype.showConfirm = function (config) {
2289
- // Merge the user config with the default config
2290
- var confirmConfig = lodashEs.merge({}, defaultConfirmConfig, config);
2291
- var options = {
2292
- component: NdfConfirmationDialogComponent,
2293
- data: Object.assign({}, confirmConfig),
2294
- panelClass: "ndf-confirmation-dialog-panel",
2295
- };
2296
- return this.open(options);
2297
- };
2298
- return NuxeoDialogService;
2299
- }());
2300
- _NuxeoDialogService_instances = new WeakSet(), _NuxeoDialogService_getPanelClass = function _NuxeoDialogService_getPanelClass(panelClass) {
2301
- var classes = [""];
2302
- if (panelClass) {
2303
- classes = Array.isArray(panelClass) ? panelClass : [panelClass];
2304
- }
2305
- return classes;
2306
- };
2307
- NuxeoDialogService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, deps: [{ token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2308
- NuxeoDialogService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, providedIn: "root" });
2309
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, decorators: [{
2310
- type: i0.Injectable,
2311
- args: [{
2312
- providedIn: "root",
2313
- }]
2314
- }], ctorParameters: function () { return [{ type: i1__namespace$3.MatDialog }]; } });
2315
-
2316
2145
  var _BaseComponent_loading;
2317
2146
  var BaseComponent = /** @class */ (function (_super) {
2318
2147
  __extends(BaseComponent, _super);
@@ -2320,15 +2149,14 @@
2320
2149
  var _this = _super.call(this) || this;
2321
2150
  _BaseComponent_loading.set(_this, void 0);
2322
2151
  _this.cdr = injector.get(i0.ChangeDetectorRef);
2323
- _this.activatedRoute = injector.get(i1$4.ActivatedRoute);
2324
- _this.routerService = injector.get(i1$4.Router);
2152
+ _this.activatedRoute = injector.get(i1$3.ActivatedRoute);
2153
+ _this.routerService = injector.get(i1$3.Router);
2325
2154
  _this.translateService = injector.get(i1$1.TranslateService);
2326
2155
  _this.formBuilder = injector.get(i6.FormBuilder);
2327
2156
  _this.toastrService = injector.get(CustomToastrService);
2328
2157
  _this.mainFolderService = injector.get(MainfolderService);
2329
2158
  _this.userPreferencesService = injector.get(UserPreferencesService);
2330
2159
  _this.appConfigService = injector.get(AppConfigService);
2331
- _this.nuxeoDialogService = injector.get(NuxeoDialogService);
2332
2160
  _this.adapter = injector.get(AdapterService);
2333
2161
  return _this;
2334
2162
  }
@@ -2351,21 +2179,21 @@
2351
2179
  });
2352
2180
  Object.defineProperty(BaseComponent.prototype, "isArabic", {
2353
2181
  get: function () {
2354
- return this.currentLang == "ar";
2182
+ return this.currentLang == 'ar';
2355
2183
  },
2356
2184
  enumerable: false,
2357
2185
  configurable: true
2358
2186
  });
2359
2187
  Object.defineProperty(BaseComponent.prototype, "isArabic$", {
2360
2188
  get: function () {
2361
- return this.translateService.onLangChange.pipe(operators.map(function (event) { return event.lang == "ar"; }));
2189
+ return this.translateService.onLangChange.pipe(operators.map(function (event) { return event.lang == 'ar'; }));
2362
2190
  },
2363
2191
  enumerable: false,
2364
2192
  configurable: true
2365
2193
  });
2366
2194
  Object.defineProperty(BaseComponent.prototype, "direction", {
2367
2195
  get: function () {
2368
- return this.translateService.currentLang === "ar" ? "rtl" : "ltr";
2196
+ return this.translateService.currentLang === 'ar' ? 'rtl' : 'ltr';
2369
2197
  },
2370
2198
  enumerable: false,
2371
2199
  configurable: true
@@ -2388,8 +2216,8 @@
2388
2216
  var _this = _super.call(this, _injector) || this;
2389
2217
  _this._injector = _injector;
2390
2218
  _BaseDialogComponent_dialogRef.set(_this, void 0);
2391
- _this.dialogData = _injector.get(i1$3.MAT_DIALOG_DATA);
2392
- __classPrivateFieldSet(_this, _BaseDialogComponent_dialogRef, _injector.get(i1$3.MatDialogRef), "f");
2219
+ _this.dialogData = _injector.get(i1$4.MAT_DIALOG_DATA);
2220
+ __classPrivateFieldSet(_this, _BaseDialogComponent_dialogRef, _injector.get(i1$4.MatDialogRef), "f");
2393
2221
  return _this;
2394
2222
  }
2395
2223
  BaseDialogComponent.prototype.close = function (result) {
@@ -2532,276 +2360,1025 @@
2532
2360
  type: i0.Input
2533
2361
  }] } });
2534
2362
 
2535
- var NuxeoDialogModule = /** @class */ (function () {
2536
- function NuxeoDialogModule() {
2363
+ /** @ignore */
2364
+ var SetDirRtlDirective = /** @class */ (function () {
2365
+ function SetDirRtlDirective(elRef, renderer, translation) {
2366
+ this.elRef = elRef;
2367
+ this.renderer = renderer;
2368
+ this.translation = translation;
2369
+ this.switchDirBasedOnLanguage();
2537
2370
  }
2538
- return NuxeoDialogModule;
2371
+ SetDirRtlDirective.prototype.switchDirBasedOnLanguage = function () {
2372
+ var _this = this;
2373
+ this.translation.isArabic.subscribe(function (arabic) {
2374
+ arabic
2375
+ ? _this.renderer.setAttribute(_this.elRef.nativeElement, 'dir', 'rtl')
2376
+ : _this.renderer.setAttribute(_this.elRef.nativeElement, 'dir', 'ltr');
2377
+ });
2378
+ };
2379
+ return SetDirRtlDirective;
2539
2380
  }());
2540
- NuxeoDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2541
- NuxeoDialogModulemod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent], imports: [i4.CommonModule,
2542
- i1$1.TranslateModule,
2543
- i2$1.MatIconModule,
2544
- i1$3.MatDialogModule,
2545
- i2$2.MatTooltipModule], exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent] });
2546
- NuxeoDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, imports: [[
2547
- i4.CommonModule,
2548
- i1$1.TranslateModule,
2549
- i2$1.MatIconModule,
2550
- i1$3.MatDialogModule,
2551
- i2$2.MatTooltipModule
2552
- ]] });
2553
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, decorators: [{
2554
- type: i0.NgModule,
2381
+ SetDirRtlDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetDirRtlDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: TranslationService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
2382
+ SetDirRtlDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SetDirRtlDirective, selector: "[SetDirRtl]", ngImport: i0__namespace });
2383
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetDirRtlDirective, decorators: [{
2384
+ type: i0.Directive,
2555
2385
  args: [{
2556
- declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent],
2557
- imports: [
2558
- i4.CommonModule,
2559
- i1$1.TranslateModule,
2560
- i2$1.MatIconModule,
2561
- i1$3.MatDialogModule,
2562
- i2$2.MatTooltipModule
2563
- ],
2564
- exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent]
2386
+ selector: '[SetDirRtl]',
2565
2387
  }]
2566
- }] });
2388
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
2567
2389
 
2568
- var NuxeoMapper = /** @class */ (function () {
2569
- function NuxeoMapper() {
2390
+ var NdfNuxeoDialog = /** @class */ (function (_super) {
2391
+ __extends(NdfNuxeoDialog, _super);
2392
+ function NdfNuxeoDialog(injector) {
2393
+ var _this = _super.call(this, injector) || this;
2394
+ _this.dialogTitle = "";
2395
+ _this.subTitle = "";
2396
+ _this.loaderMode = "spinner";
2397
+ _this.dialogBodyTopOffset = 0;
2398
+ _this.data = injector.get(i1$4.MAT_DIALOG_DATA, null);
2399
+ _this.dialogRef = injector.get(i1$4.MatDialogRef, null);
2400
+ return _this;
2570
2401
  }
2571
- NuxeoMapper.schemaToModel = function (properties) {
2572
- var mappedProperties = {};
2573
- for (var key in properties) {
2574
- if (properties.hasOwnProperty(key)) {
2575
- var _a = __read(key.split(':'), 2), prefix = _a[0], propertyKey = _a[1];
2576
- if (!mappedProperties[prefix]) {
2577
- mappedProperties[prefix] = {};
2578
- }
2579
- mappedProperties[prefix][propertyKey] =
2580
- properties[key];
2581
- }
2402
+ NdfNuxeoDialog.prototype.executeAction = function (action) {
2403
+ var _this = this;
2404
+ var params = [];
2405
+ for (var _i = 1; _i < arguments.length; _i++) {
2406
+ params[_i - 1] = arguments[_i];
2582
2407
  }
2583
- return mappedProperties;
2584
- };
2585
- NuxeoMapper.modelToSchema = function (model) {
2586
- var packedProperties = {};
2587
- for (var schemaKey in model) {
2588
- if (model.hasOwnProperty(schemaKey)) {
2589
- var schemaProperties = model[schemaKey];
2590
- for (var propertyKey in schemaProperties) {
2591
- if (schemaProperties.hasOwnProperty(propertyKey)) {
2592
- packedProperties[schemaKey + ":" + propertyKey] =
2593
- schemaProperties[propertyKey];
2594
- }
2595
- }
2408
+ this.dialogBodyTopOffset = this.dialogBody.nativeElement.scrollTop;
2409
+ if (action) {
2410
+ if (!this.isArrowFunction(action)) {
2411
+ throw new Error("The action should be arrow function");
2596
2412
  }
2597
- }
2598
- return packedProperties;
2599
- };
2600
- return NuxeoMapper;
2601
- }());
2602
-
2603
- var ENTITY_TYPE = 'entity-type';
2604
-
2605
- var _HttpBaseService_http;
2606
- var HttpBaseService = /** @class */ (function () {
2607
- function HttpBaseService(injector) {
2608
- _HttpBaseService_http.set(this, void 0);
2609
- __classPrivateFieldSet(this, _HttpBaseService_http, injector.get(i1.HttpClient), "f");
2610
- }
2611
- Object.defineProperty(HttpBaseService.prototype, "environment", {
2612
- get: function () {
2613
- return EnvManager.environment;
2614
- },
2615
- enumerable: false,
2616
- configurable: true
2617
- });
2618
- HttpBaseService.prototype.get = function (endpointOrOptions, params, headers, responseType) {
2619
- if (params === void 0) { params = undefined; }
2620
- if (headers === void 0) { headers = undefined; }
2621
- if (responseType === void 0) { responseType = undefined; }
2622
- var _a, _b, _c;
2623
- var url;
2624
- if (typeof endpointOrOptions === "string") {
2625
- url = endpointOrOptions;
2626
- }
2627
- else {
2628
- var options = endpointOrOptions;
2629
- url = options.endpoint;
2630
- params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2631
- headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2632
- responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2633
- }
2634
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2635
- .get(url, { headers: headers, params: params, responseType: responseType })
2636
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2637
- };
2638
- HttpBaseService.prototype.post = function (endpointOrOptions, payload, params, headers, responseType) {
2639
- if (payload === void 0) { payload = undefined; }
2640
- if (params === void 0) { params = undefined; }
2641
- if (headers === void 0) { headers = undefined; }
2642
- if (responseType === void 0) { responseType = undefined; }
2643
- var _a, _b, _c, _d;
2644
- var url;
2645
- if (typeof endpointOrOptions === "string") {
2646
- url = endpointOrOptions;
2647
- }
2648
- else {
2649
- var options = endpointOrOptions;
2650
- url = options.endpoint;
2651
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2652
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2653
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2654
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2655
- }
2656
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2657
- .post(url, payload, { headers: headers, params: params, responseType: responseType })
2658
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2659
- };
2660
- HttpBaseService.prototype.put = function (endpointOrOptions, payload, params, headers, responseType) {
2661
- if (payload === void 0) { payload = undefined; }
2662
- if (params === void 0) { params = undefined; }
2663
- if (headers === void 0) { headers = undefined; }
2664
- if (responseType === void 0) { responseType = undefined; }
2665
- var _a, _b, _c, _d;
2666
- var url;
2667
- if (typeof endpointOrOptions === "string") {
2668
- url = endpointOrOptions;
2669
- }
2670
- else {
2671
- var options = endpointOrOptions;
2672
- url = options.endpoint;
2673
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2674
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2675
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2676
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2677
- }
2678
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2679
- .put(url, payload, { headers: headers, params: params, responseType: responseType })
2680
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2681
- };
2682
- HttpBaseService.prototype.patch = function (endpointOrOptions, payload, params, headers, responseType) {
2683
- if (payload === void 0) { payload = undefined; }
2684
- if (params === void 0) { params = undefined; }
2685
- if (headers === void 0) { headers = undefined; }
2686
- if (responseType === void 0) { responseType = undefined; }
2687
- var _a, _b, _c, _d;
2688
- var url;
2689
- if (typeof endpointOrOptions === "string") {
2690
- url = endpointOrOptions;
2691
- }
2692
- else {
2693
- var options = endpointOrOptions;
2694
- url = options.endpoint;
2695
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2696
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2697
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2698
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2699
- }
2700
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2701
- .patch(url, payload, { headers: headers, params: params, responseType: responseType })
2702
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2703
- };
2704
- HttpBaseService.prototype.delete = function (endpointOrOptions, params, headers, responseType) {
2705
- if (params === void 0) { params = undefined; }
2706
- if (headers === void 0) { headers = undefined; }
2707
- if (responseType === void 0) { responseType = undefined; }
2708
- var _a, _b, _c;
2709
- var url;
2710
- if (typeof endpointOrOptions === "string") {
2711
- url = endpointOrOptions;
2413
+ this.loading = true;
2414
+ //TODO here we should find a way to test if actions instance of DialogActionType
2415
+ var result = action.apply(void 0, __spreadArray([], __read(params)));
2416
+ if (!rxjs.isObservable(result)) {
2417
+ this.loading = false;
2418
+ throw new Error("The action you used should return an Observable");
2419
+ }
2420
+ result.pipe(operators.takeUntil(this.destroy$)).subscribe(function (value) {
2421
+ _this.loading = false;
2422
+ _this.dialogRef.close(value);
2423
+ }, function (err) {
2424
+ _this.loading = false;
2425
+ });
2712
2426
  }
2713
2427
  else {
2714
- var options = endpointOrOptions;
2715
- url = options.endpoint;
2716
- params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2717
- headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2718
- responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2428
+ this.dialogRef.close();
2719
2429
  }
2720
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2721
- .delete(url, { headers: headers, params: params, responseType: responseType })
2722
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2723
2430
  };
2724
- HttpBaseService.prototype.httpAutomation = function (endpoint, payload, responseType) {
2725
- if (payload === void 0) { payload = undefined; }
2726
- if (responseType === void 0) { responseType = undefined; }
2727
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2728
- .post(endpoint, payload, { responseType: responseType })
2729
- .pipe(this.catchErrors());
2431
+ NdfNuxeoDialog.prototype.isArrowFunction = function (fn) {
2432
+ var strFn = fn.toString();
2433
+ var firstIndex = strFn.indexOf(")");
2434
+ var lastIndex = strFn.indexOf("{") + 1;
2435
+ var target = strFn.substring(firstIndex, lastIndex).replace(" ", "");
2436
+ return target.includes("=>");
2730
2437
  };
2731
- HttpBaseService.prototype.catchErrors = function () {
2732
- return rxjs.pipe(operators.catchError(function (err) {
2733
- throw err;
2734
- }));
2438
+ NdfNuxeoDialog.prototype.onClose = function () {
2439
+ this.dialogRef.close();
2735
2440
  };
2736
- return HttpBaseService;
2737
- }());
2738
- _HttpBaseService_http = new WeakMap();
2441
+ return NdfNuxeoDialog;
2442
+ }(BaseComponent));
2443
+ NdfNuxeoDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfNuxeoDialog, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
2444
+ NdfNuxeoDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div SetDirRtl class=\"ndf-dialog-wrapper\">\r\n\t<div class=\"dialog-header\">\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\"\r\n\t\t\t\t>{{ data?.dialogConfig?.subTitle || subTitle }}</span\r\n\t\t\t>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\">\r\n\t\t\t</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div #dialogBody class=\"dialog-body\" [ngClass]=\"{'overflow-hidden': loading}\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate\"\r\n\t\t></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay bg-gray-300 opacity-40 z-999\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"4\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"40\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"block w-full h-px absolute inset-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'progressBar'\"\r\n\t\t\t>\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-end p-6 pt-0 gap-x-4\">\r\n\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">\r\n\t\t\t{{\"BUTTONS.CANCEL\" | translate}}\r\n\t\t</button>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper{@apply flex flex-col;}.ndf-dialog-wrapper .dialog-header{@apply flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7;}.ndf-dialog-wrapper .dialog-body{height:auto;max-height:calc(100vh - 208px);@apply flex flex-col gap-y-4 p-6 overflow-y-auto relative z-99;}.ndf-dialog-wrapper .overlay{@apply flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0;}\n"], components: [{ type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i2__namespace$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
2445
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfNuxeoDialog, decorators: [{
2446
+ type: i0.Component,
2447
+ args: [{
2448
+ selector: "ndf-nuxeo-dialog",
2449
+ templateUrl: "./nuxeo.dialog.html",
2450
+ styleUrls: ["./nuxeo.dialog.scss"],
2451
+ encapsulation: i0.ViewEncapsulation.None,
2452
+ }]
2453
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { dialogTitle: [{
2454
+ type: i0.Input
2455
+ }], subTitle: [{
2456
+ type: i0.Input
2457
+ }], loaderMode: [{
2458
+ type: i0.Input
2459
+ }], contentTemplate: [{
2460
+ type: i0.ContentChild,
2461
+ args: ["contentTemplate"]
2462
+ }], actionsTemplate: [{
2463
+ type: i0.ContentChild,
2464
+ args: ["actionsTemplate"]
2465
+ }], dialogBody: [{
2466
+ type: i0.ViewChild,
2467
+ args: ["dialogBody"]
2468
+ }] } });
2739
2469
 
2740
- var DEFAULT_CACHE_OPTIONS = {
2741
- PREFIX: "cache__",
2742
- PAGE_KEY: "currentPageIndex",
2743
- TOTAL_PAGE_KEY: "pageCount",
2744
- RESULTS_COUNT_KEY: "resultsCount",
2745
- MAPPED_DATA_KEY: "entries",
2746
- UNIQUE_COMPARE_KEY: "uid",
2747
- MIN_COMPARE_DATE_KEY: "dublincore_modified_min",
2748
- LAST_MODIFIED_KEY: "lastModifiedDate",
2749
- LAST_MODIFIED_PATH: "properties.dc:modified",
2750
- EXCLUDE_KEYS_WHEN_UPDATE: ["contextParameters"],
2751
- CHILDREN_PATH: "contextParameters.children.entries",
2752
- PARENT_KEY: "parentRef",
2753
- REQUEST: function () {
2754
- return rxjs.of();
2755
- },
2756
- PREPARE_DATA: function (result) {
2757
- return result.map(function (item) {
2758
- delete item._baseOptions;
2759
- delete item._dirtyProperties;
2760
- delete item._nuxeo;
2761
- delete item._repository;
2762
- return item;
2763
- });
2470
+ var NdfConfirmationDialogComponent = /** @class */ (function (_super) {
2471
+ __extends(NdfConfirmationDialogComponent, _super);
2472
+ function NdfConfirmationDialogComponent(injector) {
2473
+ return _super.call(this, injector) || this;
2764
2474
  }
2765
- };
2766
-
2767
- exports.CachingExpiryUnit = void 0;
2768
- (function (CachingExpiryUnit) {
2769
- CachingExpiryUnit["YEARS"] = "years";
2770
- CachingExpiryUnit["MONTHS"] = "months";
2771
- CachingExpiryUnit["WEEKS"] = "weeks";
2772
- CachingExpiryUnit["DAYS"] = "days";
2773
- CachingExpiryUnit["HOURS"] = "hours";
2774
- CachingExpiryUnit["MINUTES"] = "minutes";
2775
- CachingExpiryUnit["SECONDS"] = "seconds";
2776
- CachingExpiryUnit["MILLI_SECONDS"] = "milliseconds";
2777
- })(exports.CachingExpiryUnit || (exports.CachingExpiryUnit = {}));
2778
-
2779
- // TTL : Time To Live
2780
- var DEFAULT_TTL_CONFIG = {
2781
- TTL: 3,
2782
- UNIT: exports.CachingExpiryUnit.MONTHS,
2783
- AUTO_CHECK: true,
2784
- RETRY: 3
2785
- };
2475
+ return NdfConfirmationDialogComponent;
2476
+ }(BaseDialogComponent));
2477
+ NdfConfirmationDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfConfirmationDialogComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
2478
+ NdfConfirmationDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfConfirmationDialogComponent, selector: "ndf-confirmation-dialog", usesInheritance: true, ngImport: i0__namespace, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ dialogData.title | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<!-- Content -->\r\n\t\t<div class=\"flex flex-row gap-x-2 items-center\">\r\n\t\t\t<!-- Icon -->\r\n\t\t\t<ng-container *ngIf=\"dialogData.icon.show\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"flex flex-0 items-center justify-center w-10 h-10 sm:mr-4 rounded-full\"\r\n\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\tprimaryIcon: dialogData.icon.color === 'primary',\r\n\t\t\t\t\t\taccentIcon: dialogData.icon.color === 'accent',\r\n\t\t\t\t\t\twarnIcon: dialogData.icon.color === 'warn',\r\n\t\t\t\t\t\tbasicIcon: dialogData.icon.color === 'basic',\r\n\t\t\t\t\t\tinfoIcon: dialogData.icon.color === 'info',\r\n\t\t\t\t\t\tsuccessIcon: dialogData.icon.color === 'success',\r\n\t\t\t\t\t\twarningIcon: dialogData.icon.color === 'warning',\r\n\t\t\t\t\t\terrorIcon: dialogData.icon.color === 'error'\r\n\t\t\t\t\t}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<mat-icon\r\n\t\t\t\t\t\tclass=\"text-current\"\r\n\t\t\t\t\t\t[svgIcon]=\"dialogData.icon.name\"\r\n\t\t\t\t\t></mat-icon>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"text-secondary\"\r\n\t\t\t\t[innerHtml]=\"dialogData.message | translate\"\r\n\t\t\t></div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<ng-container *ngIf=\"dialogData.actions.confirm.show\">\r\n\t\t\t<button\r\n\t\t\t\t(click)=\"dialog.executeAction(dialogData.actions.confirm.fn)\"\r\n\t\t\t\tclass=\"submission-button\"\r\n\t\t\t\t[color]=\"dialogData.actions.confirm.color\"\r\n\t\t\t\t[disabled]=\"dialog.loading\"\r\n\t\t\t>\r\n\t\t\t\t{{ dialogData.actions.confirm.label | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\t\t<ng-container *ngIf=\"dialogData.actions.moreActions.length\">\r\n\t\t\t<ng-container *ngFor=\"let btn of dialogData.actions.moreActions\">\r\n\t\t\t\t<button\r\n\t\t\t\t\t(click)=\"dialog.executeAction(btn.fn)\"\r\n\t\t\t\t\tclass=\"submission-button\"\r\n\t\t\t\t\t[color]=\"btn.color\"\r\n\t\t\t\t\t[disabled]=\"dialog.loading\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ btn.label | translate }}\r\n\t\t\t\t</button>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".ndf-dialog-wrapper .primaryIcon{@apply text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600;}.ndf-dialog-wrapper .accentIcon{@apply text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600;}.ndf-dialog-wrapper .warnIcon{@apply text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600;}.ndf-dialog-wrapper .basicIcon{@apply text-gray-600 bg-gray-100 dark:text-gray-50 dark:bg-gray-600;}.ndf-dialog-wrapper .infoIcon{@apply text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600;}.ndf-dialog-wrapper .successIcon{@apply text-green-500 bg-green-100 dark:text-green-50 dark:bg-green-500;}.ndf-dialog-wrapper .warningIcon{@apply text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500;}.ndf-dialog-wrapper .errorIcon{@apply text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600;}::ng-deep .ndf-confirmation-dialog-panel{min-width:25%!important}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "loaderMode"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
2479
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfConfirmationDialogComponent, decorators: [{
2480
+ type: i0.Component,
2481
+ args: [{
2482
+ selector: "ndf-confirmation-dialog",
2483
+ templateUrl: "./ndf-confirmation-dialog.component.html",
2484
+ styleUrls: ["./ndf-confirmation-dialog.component.scss"],
2485
+ encapsulation: i0.ViewEncapsulation.None,
2486
+ }]
2487
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
2786
2488
 
2787
- var _CacheBaseService_instances, _CacheBaseService_fetchedItems, _CacheBaseService_handleCacheItems, _CacheBaseService_findNode, _CacheBaseService_findLargestDate, _CacheBaseService_handleFetchedItems, _CacheBaseService_addItemsTo, _CacheBaseService_prepareOptions, _CacheBaseService_prepareConfig, _CacheBaseService_add1SecondToModifiedDate, _CacheBaseService_clear, _CacheBaseService_validateTTLForKey, _CacheBaseService_setItemInMap, _CacheBaseService_getItem, _CacheBaseService_setItem;
2788
- var CacheBaseService = /** @class */ (function () {
2789
- function CacheBaseService(userPreferencesService, utilityService) {
2790
- this.userPreferencesService = userPreferencesService;
2791
- this.utilityService = utilityService;
2792
- _CacheBaseService_instances.add(this);
2793
- _CacheBaseService_fetchedItems.set(this, new Map());
2794
- __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_prepareConfig).call(this);
2489
+ /** @ignore */
2490
+ var ClickOutsideDirective = /** @class */ (function () {
2491
+ function ClickOutsideDirective(elementRef) {
2492
+ this.elementRef = elementRef;
2493
+ this.clickOutside = new i0.EventEmitter();
2795
2494
  }
2796
- CacheBaseService.prototype.hasItem = function (cacheKey) {
2797
- return this.userPreferencesService.hasItem("" + DEFAULT_CACHE_OPTIONS.PREFIX + cacheKey);
2798
- };
2799
- CacheBaseService.prototype.clearAll = function (userName) {
2800
- __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_clear).call(this, userName);
2495
+ ClickOutsideDirective.prototype.onClick = function (target) {
2496
+ var clickedInside = this.elementRef.nativeElement.contains(target);
2497
+ if (!clickedInside) {
2498
+ this.clickOutside.emit(target);
2499
+ }
2801
2500
  };
2802
- CacheBaseService.prototype.validateTTL = function (userName) {
2803
- var _this = this;
2804
- if (!DEFAULT_TTL_CONFIG.AUTO_CHECK || !userName)
2501
+ return ClickOutsideDirective;
2502
+ }());
2503
+ ClickOutsideDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ClickOutsideDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
2504
+ ClickOutsideDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "window:click": "onClick($event.target)" } }, ngImport: i0__namespace });
2505
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ClickOutsideDirective, decorators: [{
2506
+ type: i0.Directive,
2507
+ args: [{
2508
+ selector: '[clickOutside]'
2509
+ }]
2510
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { clickOutside: [{
2511
+ type: i0.Output
2512
+ }], onClick: [{
2513
+ type: i0.HostListener,
2514
+ args: ['window:click', ['$event.target']]
2515
+ }] } });
2516
+
2517
+ /** @ignore */
2518
+ var SetRtlDirective = /** @class */ (function () {
2519
+ function SetRtlDirective(elRef, renderer, translation) {
2520
+ this.elRef = elRef;
2521
+ this.renderer = renderer;
2522
+ this.translation = translation;
2523
+ this.switchClassBasedOnLanguage();
2524
+ }
2525
+ /*Switch rtl class based on the chosen language from Translation Service*/
2526
+ SetRtlDirective.prototype.switchClassBasedOnLanguage = function () {
2527
+ var _this = this;
2528
+ this.translation.isArabic.subscribe(function (arabic) {
2529
+ arabic
2530
+ ? _this.renderer.addClass(_this.elRef.nativeElement, 'rtl')
2531
+ : _this.renderer.removeClass(_this.elRef.nativeElement, 'rtl');
2532
+ });
2533
+ };
2534
+ return SetRtlDirective;
2535
+ }());
2536
+ SetRtlDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetRtlDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: TranslationService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
2537
+ SetRtlDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SetRtlDirective, selector: "[SetRtl]", ngImport: i0__namespace });
2538
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetRtlDirective, decorators: [{
2539
+ type: i0.Directive,
2540
+ args: [{
2541
+ selector: '[SetRtl]',
2542
+ }]
2543
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
2544
+
2545
+ var EvaluatorsService = /** @class */ (function () {
2546
+ function EvaluatorsService(nuxeoService, appConfigService) {
2547
+ var _this = this;
2548
+ this.nuxeoService = nuxeoService;
2549
+ this.appConfigService = appConfigService;
2550
+ this.context = { entity: null, getEvaluator: null, user: null };
2551
+ this.asyncEvery = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
2552
+ var arr_1, arr_1_1, e, e_1_1;
2553
+ var e_1, _j;
2554
+ return __generator(this, function (_k) {
2555
+ switch (_k.label) {
2556
+ case 0:
2557
+ _k.trys.push([0, 5, 6, 7]);
2558
+ arr_1 = __values(arr), arr_1_1 = arr_1.next();
2559
+ _k.label = 1;
2560
+ case 1:
2561
+ if (!!arr_1_1.done) return [3 /*break*/, 4];
2562
+ e = arr_1_1.value;
2563
+ return [4 /*yield*/, predicate(e)];
2564
+ case 2:
2565
+ if (!(_k.sent())) {
2566
+ return [2 /*return*/, false];
2567
+ }
2568
+ _k.label = 3;
2569
+ case 3:
2570
+ arr_1_1 = arr_1.next();
2571
+ return [3 /*break*/, 1];
2572
+ case 4: return [3 /*break*/, 7];
2573
+ case 5:
2574
+ e_1_1 = _k.sent();
2575
+ e_1 = { error: e_1_1 };
2576
+ return [3 /*break*/, 7];
2577
+ case 6:
2578
+ try {
2579
+ if (arr_1_1 && !arr_1_1.done && (_j = arr_1.return)) _j.call(arr_1);
2580
+ }
2581
+ finally { if (e_1) throw e_1.error; }
2582
+ return [7 /*endfinally*/];
2583
+ case 7: return [2 /*return*/, true];
2584
+ }
2585
+ });
2586
+ }); };
2587
+ this.asyncSome = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
2588
+ var arr_2, arr_2_1, e, e_2_1;
2589
+ var e_2, _j;
2590
+ return __generator(this, function (_k) {
2591
+ switch (_k.label) {
2592
+ case 0:
2593
+ _k.trys.push([0, 5, 6, 7]);
2594
+ arr_2 = __values(arr), arr_2_1 = arr_2.next();
2595
+ _k.label = 1;
2596
+ case 1:
2597
+ if (!!arr_2_1.done) return [3 /*break*/, 4];
2598
+ e = arr_2_1.value;
2599
+ return [4 /*yield*/, predicate(e)];
2600
+ case 2:
2601
+ if (_k.sent()) {
2602
+ return [2 /*return*/, true];
2603
+ }
2604
+ _k.label = 3;
2605
+ case 3:
2606
+ arr_2_1 = arr_2.next();
2607
+ return [3 /*break*/, 1];
2608
+ case 4: return [3 /*break*/, 7];
2609
+ case 5:
2610
+ e_2_1 = _k.sent();
2611
+ e_2 = { error: e_2_1 };
2612
+ return [3 /*break*/, 7];
2613
+ case 6:
2614
+ try {
2615
+ if (arr_2_1 && !arr_2_1.done && (_j = arr_2.return)) _j.call(arr_2);
2616
+ }
2617
+ finally { if (e_2) throw e_2.error; }
2618
+ return [7 /*endfinally*/];
2619
+ case 7: return [2 /*return*/, false];
2620
+ }
2621
+ });
2622
+ }); };
2623
+ // tslint:disable-next-line:member-ordering
2624
+ this.evaluators = {
2625
+ AND: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2626
+ var _this = this;
2627
+ return __generator(this, function (_j) {
2628
+ switch (_j.label) {
2629
+ case 0:
2630
+ if (!args || args.length === 0) {
2631
+ return [2 /*return*/, false];
2632
+ }
2633
+ return [4 /*yield*/, this.asyncEvery(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
2634
+ var evaluator;
2635
+ return __generator(this, function (_j) {
2636
+ switch (_j.label) {
2637
+ case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
2638
+ case 1:
2639
+ evaluator = _j.sent();
2640
+ if (!evaluator) {
2641
+ console.warn("evaluator not found: " + arg.value);
2642
+ return [2 /*return*/, false];
2643
+ }
2644
+ return [4 /*yield*/, evaluator(context, arg.parameters || [])];
2645
+ case 2: return [2 /*return*/, _j.sent()];
2646
+ }
2647
+ });
2648
+ }); })];
2649
+ case 1: return [2 /*return*/, _j.sent()];
2650
+ }
2651
+ });
2652
+ }); },
2653
+ OR: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2654
+ var _this = this;
2655
+ return __generator(this, function (_j) {
2656
+ switch (_j.label) {
2657
+ case 0:
2658
+ if (!args || args.length === 0) {
2659
+ return [2 /*return*/, false];
2660
+ }
2661
+ return [4 /*yield*/, this.asyncSome(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
2662
+ var evaluator, res;
2663
+ return __generator(this, function (_j) {
2664
+ switch (_j.label) {
2665
+ case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
2666
+ case 1:
2667
+ evaluator = _j.sent();
2668
+ if (!evaluator) {
2669
+ console.warn("evaluator not found: " + arg.value);
2670
+ return [2 /*return*/, false];
2671
+ }
2672
+ return [4 /*yield*/, evaluator(context, arg.parameters || [])];
2673
+ case 2:
2674
+ res = _j.sent();
2675
+ return [2 /*return*/, res];
2676
+ }
2677
+ });
2678
+ }); })];
2679
+ case 1: return [2 /*return*/, _j.sent()];
2680
+ }
2681
+ });
2682
+ }); },
2683
+ isStatus: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2684
+ return __generator(this, function (_j) {
2685
+ if (args.indexOf(context.entity.state) > -1) {
2686
+ return [2 /*return*/, true];
2687
+ }
2688
+ else {
2689
+ return [2 /*return*/, false];
2690
+ }
2691
+ return [2 /*return*/];
2692
+ });
2693
+ }); },
2694
+ isCreator: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2695
+ var _a, _b, _c, _d, _e, _f, _g, _h, owner;
2696
+ return __generator(this, function (_j) {
2697
+ if ((_b = (_a = context.entity.properties.owner) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.username) {
2698
+ owner = (_d = (_c = context.entity.properties.owner) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.username;
2699
+ }
2700
+ else if ((_f = (_e = context.entity.properties["corr:owner"]) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.username) {
2701
+ owner = (_h = (_g = context.entity.properties["corr:owner"]) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.username;
2702
+ }
2703
+ else if (context.entity.properties.owner) {
2704
+ owner = context.entity.properties.owner;
2705
+ }
2706
+ else if (context.entity.properties["corr:owner"]) {
2707
+ owner = context.entity.properties["corr:owner"];
2708
+ }
2709
+ if (owner === context.user.properties.username) {
2710
+ return [2 /*return*/, true];
2711
+ }
2712
+ else {
2713
+ return [2 /*return*/, false];
2714
+ }
2715
+ return [2 /*return*/];
2716
+ });
2717
+ }); },
2718
+ isUserInrole: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2719
+ var result;
2720
+ return __generator(this, function (_j) {
2721
+ switch (_j.label) {
2722
+ case 0: return [4 /*yield*/, this.nuxeoService
2723
+ .isUserInRole(args, "")
2724
+ .pipe(operators.first())
2725
+ .toPromise()];
2726
+ case 1:
2727
+ result = _j.sent();
2728
+ return [2 /*return*/, result];
2729
+ }
2730
+ });
2731
+ }); },
2732
+ };
2733
+ this.getEvaluator = function (key) { return __awaiter(_this, void 0, void 0, function () {
2734
+ var eva, fn_1;
2735
+ var _this = this;
2736
+ return __generator(this, function (_j) {
2737
+ eva = this.evaluators;
2738
+ if (key && key.startsWith("!")) {
2739
+ fn_1 = eva[key.substring(1)];
2740
+ return [2 /*return*/, function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2741
+ var result;
2742
+ return __generator(this, function (_j) {
2743
+ switch (_j.label) {
2744
+ case 0: return [4 /*yield*/, fn_1.apply(void 0, __spreadArray([context], __read(args)))];
2745
+ case 1:
2746
+ result = _j.sent();
2747
+ return [2 /*return*/, !result];
2748
+ }
2749
+ });
2750
+ }); }];
2751
+ }
2752
+ return [2 /*return*/, eva[key]];
2753
+ });
2754
+ }); };
2755
+ this.appConfigService.configLoaded.subscribe(function (ready) {
2756
+ if (ready) {
2757
+ _this.conditions = _this.getAllRules();
2758
+ }
2759
+ });
2760
+ }
2761
+ EvaluatorsService.prototype.setEvaluators = function (evaluators) {
2762
+ this.evaluators = Object.assign(Object.assign({}, this.evaluators), evaluators);
2763
+ };
2764
+ EvaluatorsService.prototype.getEvaluators = function () {
2765
+ return this.evaluators;
2766
+ };
2767
+ // ----------------------------------------------------
2768
+ EvaluatorsService.prototype.evaluateRule = function (ruleId, context) {
2769
+ return __awaiter(this, void 0, void 0, function () {
2770
+ var ruleRef, evaluator, evaluator;
2771
+ return __generator(this, function (_j) {
2772
+ switch (_j.label) {
2773
+ case 0:
2774
+ ruleRef = this.getRuleById(ruleId);
2775
+ context = context || this.context;
2776
+ context["getEvaluator"] = this.getEvaluator;
2777
+ if (!ruleRef) return [3 /*break*/, 4];
2778
+ return [4 /*yield*/, this.getEvaluator(ruleRef.type)];
2779
+ case 1:
2780
+ evaluator = _j.sent();
2781
+ if (!evaluator) return [3 /*break*/, 3];
2782
+ return [4 /*yield*/, evaluator(context, ruleRef.parameters)];
2783
+ case 2: return [2 /*return*/, _j.sent()];
2784
+ case 3: return [3 /*break*/, 7];
2785
+ case 4: return [4 /*yield*/, this.getEvaluator(ruleId)];
2786
+ case 5:
2787
+ evaluator = _j.sent();
2788
+ if (!evaluator) return [3 /*break*/, 7];
2789
+ return [4 /*yield*/, evaluator(context)];
2790
+ case 6: return [2 /*return*/, _j.sent()];
2791
+ case 7: return [2 /*return*/];
2792
+ }
2793
+ });
2794
+ });
2795
+ };
2796
+ EvaluatorsService.prototype.getRuleById = function (id) {
2797
+ return this.conditions[id] ? Object.assign({}, this.conditions[id]) : null;
2798
+ };
2799
+ EvaluatorsService.prototype.getAllRules = function () {
2800
+ return this.appConfigService.conditons;
2801
+ };
2802
+ return EvaluatorsService;
2803
+ }());
2804
+ EvaluatorsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, deps: [{ token: NuxeoService }, { token: AppConfigService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2805
+ EvaluatorsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, providedIn: "root" });
2806
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, decorators: [{
2807
+ type: i0.Injectable,
2808
+ args: [{ providedIn: "root" }]
2809
+ }], ctorParameters: function () { return [{ type: NuxeoService }, { type: AppConfigService }]; } });
2810
+
2811
+ /**
2812
+ * Permission directive shows or hides an element,
2813
+ * based on a predefined structured condition object in the [conditions.json]{@link ../additional-documentation/conditions-file.html} file.
2814
+ * it will evaluate the rule and shows or hides an element based on the result.
2815
+ * this directive can evaluate rules against a document object as well,
2816
+ * check [conditions.json]{@link ../additional-documentation/conditions-file.html} for more information
2817
+ * @example
2818
+ * <div *permission="{ name: 'conditionKey', entity: nuxeoDocumentObject }">
2819
+ * Element with permissions
2820
+ * </duv>
2821
+ * <div *permission="{ name: 'conditionKey2' }">
2822
+ * Element with permissions 2
2823
+ * </duv>
2824
+ * @title
2825
+ * Permission
2826
+ */
2827
+ var PermissionsDirective = /** @class */ (function () {
2828
+ function PermissionsDirective(nuxeoService, eltRef, viewContainerRef, templateRef, appConfigService, evaluatorsService) {
2829
+ this.nuxeoService = nuxeoService;
2830
+ this.eltRef = eltRef;
2831
+ this.viewContainerRef = viewContainerRef;
2832
+ this.templateRef = templateRef;
2833
+ this.appConfigService = appConfigService;
2834
+ this.evaluatorsService = evaluatorsService;
2835
+ this.isVisible = false;
2836
+ this.context = { entity: null, getEvaluator: null, user: null };
2837
+ }
2838
+ PermissionsDirective.prototype.ngOnInit = function () {
2839
+ var _this = this;
2840
+ this.context.getEvaluator = this.evaluatorsService.getEvaluator;
2841
+ if (!this.permission.name) {
2842
+ if (!this.isVisible) {
2843
+ this.isVisible = true;
2844
+ this.viewContainerRef.createEmbeddedView(this.templateRef);
2845
+ }
2846
+ }
2847
+ else {
2848
+ this.context.entity = this.permission.entity;
2849
+ this.context.user = this.permission.user || this.nuxeoService.nuxeoClient.user;
2850
+ this.evaluatorsService.evaluateRule(this.permission.name, this.context).then(function (result) {
2851
+ if (result) {
2852
+ if (!_this.isVisible) {
2853
+ _this.isVisible = true;
2854
+ _this.viewContainerRef.createEmbeddedView(_this.templateRef);
2855
+ }
2856
+ }
2857
+ else {
2858
+ _this.isVisible = false;
2859
+ _this.viewContainerRef.clear();
2860
+ }
2861
+ });
2862
+ }
2863
+ };
2864
+ return PermissionsDirective;
2865
+ }());
2866
+ PermissionsDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PermissionsDirective, deps: [{ token: NuxeoService }, { token: i0__namespace.ElementRef }, { token: i0__namespace.ViewContainerRef }, { token: i0__namespace.TemplateRef }, { token: AppConfigService }, { token: EvaluatorsService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
2867
+ PermissionsDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsDirective, selector: "[permission]", inputs: { permission: "permission" }, ngImport: i0__namespace });
2868
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PermissionsDirective, decorators: [{
2869
+ type: i0.Directive,
2870
+ args: [{
2871
+ selector: '[permission]'
2872
+ }]
2873
+ }], ctorParameters: function () { return [{ type: NuxeoService }, { type: i0__namespace.ElementRef }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: AppConfigService }, { type: EvaluatorsService }]; }, propDecorators: { permission: [{
2874
+ type: i0.Input
2875
+ }] } });
2876
+
2877
+ var AppHasRoleDirective = /** @class */ (function () {
2878
+ function AppHasRoleDirective(viewContainerRef, templateRef, nuxeoService) {
2879
+ this.viewContainerRef = viewContainerRef;
2880
+ this.templateRef = templateRef;
2881
+ this.nuxeoService = nuxeoService;
2882
+ this.stop$ = new rxjs.Subject();
2883
+ this.isVisible = false;
2884
+ }
2885
+ AppHasRoleDirective.prototype.ngOnInit = function () {
2886
+ var _this = this;
2887
+ var _a;
2888
+ if ((_a = this.appHasRole) === null || _a === void 0 ? void 0 : _a.role) {
2889
+ this.nuxeoService.isUserInRole(this.appHasRole.role, this.appHasRole.code).subscribe(function (data) {
2890
+ if (data || !_this.appHasRole) {
2891
+ // If it is already visible (which can happen if
2892
+ // his roles changed) we do not need to add it a second time
2893
+ if (!_this.isVisible) {
2894
+ // We update the `isVisible` property and add the
2895
+ // templateRef to the view using the
2896
+ // 'createEmbeddedView' method of the viewContainerRef
2897
+ _this.isVisible = true;
2898
+ _this.viewContainerRef.createEmbeddedView(_this.templateRef);
2899
+ }
2900
+ }
2901
+ else {
2902
+ // If the user does not have the role,
2903
+ // we update the `isVisible` property and clear
2904
+ // the contents of the viewContainerRef
2905
+ _this.isVisible = false;
2906
+ _this.viewContainerRef.clear();
2907
+ }
2908
+ });
2909
+ }
2910
+ else {
2911
+ if (!this.isVisible) {
2912
+ // We update the `isVisible` property and add the
2913
+ // templateRef to the view using the
2914
+ // 'createEmbeddedView' method of the viewContainerRef
2915
+ this.isVisible = true;
2916
+ this.viewContainerRef.createEmbeddedView(this.templateRef);
2917
+ }
2918
+ }
2919
+ };
2920
+ AppHasRoleDirective.prototype.ngOnChanges = function () {
2921
+ this.ngOnInit();
2922
+ };
2923
+ return AppHasRoleDirective;
2924
+ }());
2925
+ AppHasRoleDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AppHasRoleDirective, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.TemplateRef }, { token: NuxeoService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
2926
+ AppHasRoleDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AppHasRoleDirective, selector: "[appHasRole]", inputs: { appHasRole: "appHasRole" }, usesOnChanges: true, ngImport: i0__namespace });
2927
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AppHasRoleDirective, decorators: [{
2928
+ type: i0.Directive,
2929
+ args: [{
2930
+ selector: '[appHasRole]'
2931
+ }]
2932
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: NuxeoService }]; }, propDecorators: { appHasRole: [{
2933
+ type: i0.Input
2934
+ }] } });
2935
+
2936
+ var DragAndDropDirective = /** @class */ (function () {
2937
+ function DragAndDropDirective() {
2938
+ this.fileDroped = new i0.EventEmitter();
2939
+ }
2940
+ DragAndDropDirective.prototype.onDragOver = function (evt) {
2941
+ evt.preventDefault();
2942
+ evt.stopPropagation();
2943
+ };
2944
+ DragAndDropDirective.prototype.onDragLeave = function (evt) {
2945
+ evt.preventDefault();
2946
+ evt.stopPropagation();
2947
+ };
2948
+ DragAndDropDirective.prototype.onDrop = function (evt) {
2949
+ var e_1, _a;
2950
+ var files = [];
2951
+ evt.preventDefault();
2952
+ evt.stopPropagation();
2953
+ if (evt.dataTransfer.files.length) {
2954
+ try {
2955
+ for (var _b = __values(evt.dataTransfer.files), _c = _b.next(); !_c.done; _c = _b.next()) {
2956
+ var file = _c.value;
2957
+ files.push(file);
2958
+ }
2959
+ }
2960
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2961
+ finally {
2962
+ try {
2963
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2964
+ }
2965
+ finally { if (e_1) throw e_1.error; }
2966
+ }
2967
+ this.fileDroped.emit(files);
2968
+ }
2969
+ };
2970
+ return DragAndDropDirective;
2971
+ }());
2972
+ DragAndDropDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
2973
+ DragAndDropDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DragAndDropDirective, selector: "[appDragAndDrop]", outputs: { fileDroped: "fileDroped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, ngImport: i0__namespace });
2974
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, decorators: [{
2975
+ type: i0.Directive,
2976
+ args: [{
2977
+ selector: '[appDragAndDrop]'
2978
+ }]
2979
+ }], ctorParameters: function () { return []; }, propDecorators: { fileDroped: [{
2980
+ type: i0.Output
2981
+ }], onDragOver: [{
2982
+ type: i0.HostListener,
2983
+ args: ['dragover', ['$event']]
2984
+ }], onDragLeave: [{
2985
+ type: i0.HostListener,
2986
+ args: ['dragleave', ['$event']]
2987
+ }], onDrop: [{
2988
+ type: i0.HostListener,
2989
+ args: ['drop', ['$event']]
2990
+ }] } });
2991
+
2992
+ /**
2993
+ * @title
2994
+ * Directives Module
2995
+ */
2996
+ var DirectiveModule = /** @class */ (function () {
2997
+ function DirectiveModule() {
2998
+ }
2999
+ return DirectiveModule;
3000
+ }());
3001
+ DirectiveModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3002
+ DirectiveModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, declarations: [ClickOutsideDirective,
3003
+ SetRtlDirective,
3004
+ PermissionsDirective,
3005
+ SetDirRtlDirective,
3006
+ AppHasRoleDirective,
3007
+ DragAndDropDirective], imports: [i4.CommonModule], exports: [ClickOutsideDirective,
3008
+ SetRtlDirective,
3009
+ PermissionsDirective,
3010
+ SetDirRtlDirective,
3011
+ AppHasRoleDirective,
3012
+ DragAndDropDirective] });
3013
+ DirectiveModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, providers: [], imports: [[i4.CommonModule]] });
3014
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, decorators: [{
3015
+ type: i0.NgModule,
3016
+ args: [{
3017
+ declarations: [
3018
+ ClickOutsideDirective,
3019
+ SetRtlDirective,
3020
+ PermissionsDirective,
3021
+ SetDirRtlDirective,
3022
+ AppHasRoleDirective,
3023
+ DragAndDropDirective
3024
+ ],
3025
+ imports: [i4.CommonModule],
3026
+ exports: [
3027
+ ClickOutsideDirective,
3028
+ SetRtlDirective,
3029
+ PermissionsDirective,
3030
+ SetDirRtlDirective,
3031
+ AppHasRoleDirective,
3032
+ DragAndDropDirective
3033
+ ],
3034
+ providers: []
3035
+ }]
3036
+ }] });
3037
+
3038
+ var NuxeoDialogModule = /** @class */ (function () {
3039
+ function NuxeoDialogModule() {
3040
+ }
3041
+ return NuxeoDialogModule;
3042
+ }());
3043
+ NuxeoDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3044
+ NuxeoDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent], imports: [i4.CommonModule,
3045
+ i1$1.TranslateModule,
3046
+ i2$1.MatIconModule,
3047
+ i1$4.MatDialogModule,
3048
+ i2$2.MatTooltipModule,
3049
+ DirectiveModule], exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent] });
3050
+ NuxeoDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, imports: [[
3051
+ i4.CommonModule,
3052
+ i1$1.TranslateModule,
3053
+ i2$1.MatIconModule,
3054
+ i1$4.MatDialogModule,
3055
+ i2$2.MatTooltipModule,
3056
+ DirectiveModule
3057
+ ]] });
3058
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, decorators: [{
3059
+ type: i0.NgModule,
3060
+ args: [{
3061
+ declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent],
3062
+ imports: [
3063
+ i4.CommonModule,
3064
+ i1$1.TranslateModule,
3065
+ i2$1.MatIconModule,
3066
+ i1$4.MatDialogModule,
3067
+ i2$2.MatTooltipModule,
3068
+ DirectiveModule
3069
+ ],
3070
+ exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent]
3071
+ }]
3072
+ }] });
3073
+
3074
+ var defaultConfirmConfig = {
3075
+ title: 'confirmDialog.confirm',
3076
+ message: 'confirmDialog.generalConfirmMsg',
3077
+ icon: {
3078
+ show: true,
3079
+ name: 'heroicons_outline:exclamation',
3080
+ color: 'warn'
3081
+ },
3082
+ actions: {
3083
+ confirm: {
3084
+ show: true,
3085
+ label: 'BUTTONS.confirm',
3086
+ color: 'warn',
3087
+ fn: function () {
3088
+ return rxjs.of(false);
3089
+ }
3090
+ },
3091
+ moreActions: []
3092
+ }
3093
+ };
3094
+
3095
+ var _NuxeoDialogService_instances, _NuxeoDialogService_getPanelClass;
3096
+ var NuxeoDialogService = /** @class */ (function () {
3097
+ function NuxeoDialogService(dialog) {
3098
+ this.dialog = dialog;
3099
+ _NuxeoDialogService_instances.add(this);
3100
+ }
3101
+ NuxeoDialogService.prototype.open = function (options) {
3102
+ var _a, _b, _c, _d;
3103
+ return this.dialog.open(options.component, {
3104
+ width: (options === null || options === void 0 ? void 0 : options.width) || 'auto',
3105
+ height: (options === null || options === void 0 ? void 0 : options.height) || 'auto',
3106
+ minWidth: '35%',
3107
+ panelClass: __spreadArray(['ndf-dialog'], __read(__classPrivateFieldGet(this, _NuxeoDialogService_instances, "m", _NuxeoDialogService_getPanelClass).call(this, options === null || options === void 0 ? void 0 : options.panelClass))),
3108
+ disableClose: true,
3109
+ data: Object.assign({ dialogConfig: {
3110
+ title: (_a = options.config) === null || _a === void 0 ? void 0 : _a.title,
3111
+ subTitle: (_b = options.config) === null || _b === void 0 ? void 0 : _b.subTitle,
3112
+ contentTemplate: (_c = options.config) === null || _c === void 0 ? void 0 : _c.contentTemplate,
3113
+ actionsTemplate: (_d = options.config) === null || _d === void 0 ? void 0 : _d.actionsTemplate
3114
+ } }, (options.data || {}))
3115
+ });
3116
+ };
3117
+ NuxeoDialogService.prototype.showConfirm = function (config) {
3118
+ // Merge the user config with the default config
3119
+ var confirmConfig = lodashEs.merge({}, defaultConfirmConfig, config);
3120
+ var options = {
3121
+ component: NdfConfirmationDialogComponent,
3122
+ data: Object.assign({}, confirmConfig),
3123
+ panelClass: 'ndf-confirmation-dialog-panel'
3124
+ };
3125
+ return this.open(options);
3126
+ };
3127
+ return NuxeoDialogService;
3128
+ }());
3129
+ _NuxeoDialogService_instances = new WeakSet(), _NuxeoDialogService_getPanelClass = function _NuxeoDialogService_getPanelClass(panelClass) {
3130
+ var classes = [''];
3131
+ if (panelClass) {
3132
+ classes = Array.isArray(panelClass) ? panelClass : [panelClass];
3133
+ }
3134
+ return classes;
3135
+ };
3136
+ NuxeoDialogService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, deps: [{ token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3137
+ NuxeoDialogService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, providedIn: 'root' });
3138
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, decorators: [{
3139
+ type: i0.Injectable,
3140
+ args: [{
3141
+ providedIn: 'root'
3142
+ }]
3143
+ }], ctorParameters: function () { return [{ type: i1__namespace$3.MatDialog }]; } });
3144
+
3145
+ var NuxeoMapper = /** @class */ (function () {
3146
+ function NuxeoMapper() {
3147
+ }
3148
+ NuxeoMapper.schemaToModel = function (properties) {
3149
+ var mappedProperties = {};
3150
+ for (var key in properties) {
3151
+ if (properties.hasOwnProperty(key)) {
3152
+ var _a = __read(key.split(':'), 2), prefix = _a[0], propertyKey = _a[1];
3153
+ if (!mappedProperties[prefix]) {
3154
+ mappedProperties[prefix] = {};
3155
+ }
3156
+ mappedProperties[prefix][propertyKey] =
3157
+ properties[key];
3158
+ }
3159
+ }
3160
+ return mappedProperties;
3161
+ };
3162
+ NuxeoMapper.modelToSchema = function (model) {
3163
+ var packedProperties = {};
3164
+ for (var schemaKey in model) {
3165
+ if (model.hasOwnProperty(schemaKey)) {
3166
+ var schemaProperties = model[schemaKey];
3167
+ for (var propertyKey in schemaProperties) {
3168
+ if (schemaProperties.hasOwnProperty(propertyKey)) {
3169
+ packedProperties[schemaKey + ":" + propertyKey] =
3170
+ schemaProperties[propertyKey];
3171
+ }
3172
+ }
3173
+ }
3174
+ }
3175
+ return packedProperties;
3176
+ };
3177
+ return NuxeoMapper;
3178
+ }());
3179
+
3180
+ var ENTITY_TYPE = 'entity-type';
3181
+
3182
+ var _HttpBaseService_http;
3183
+ var HttpBaseService = /** @class */ (function () {
3184
+ function HttpBaseService(injector) {
3185
+ _HttpBaseService_http.set(this, void 0);
3186
+ __classPrivateFieldSet(this, _HttpBaseService_http, injector.get(i1.HttpClient), "f");
3187
+ }
3188
+ Object.defineProperty(HttpBaseService.prototype, "environment", {
3189
+ get: function () {
3190
+ return EnvManager.environment;
3191
+ },
3192
+ enumerable: false,
3193
+ configurable: true
3194
+ });
3195
+ HttpBaseService.prototype.get = function (endpointOrOptions, params, headers, responseType) {
3196
+ if (params === void 0) { params = undefined; }
3197
+ if (headers === void 0) { headers = undefined; }
3198
+ if (responseType === void 0) { responseType = undefined; }
3199
+ var _a, _b, _c;
3200
+ var url;
3201
+ if (typeof endpointOrOptions === 'string') {
3202
+ url = endpointOrOptions;
3203
+ }
3204
+ else {
3205
+ var options = endpointOrOptions;
3206
+ url = options.endpoint;
3207
+ params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
3208
+ headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
3209
+ responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
3210
+ }
3211
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3212
+ .get(url, { headers: headers, params: params, responseType: responseType })
3213
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3214
+ };
3215
+ HttpBaseService.prototype.post = function (endpointOrOptions, payload, params, headers, responseType) {
3216
+ if (payload === void 0) { payload = undefined; }
3217
+ if (params === void 0) { params = undefined; }
3218
+ if (headers === void 0) { headers = undefined; }
3219
+ if (responseType === void 0) { responseType = undefined; }
3220
+ var _a, _b, _c, _d;
3221
+ var url;
3222
+ if (typeof endpointOrOptions === 'string') {
3223
+ url = endpointOrOptions;
3224
+ }
3225
+ else {
3226
+ var options = endpointOrOptions;
3227
+ url = options.endpoint;
3228
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
3229
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
3230
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3231
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
3232
+ }
3233
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3234
+ .post(url, payload, { headers: headers, params: params, responseType: responseType })
3235
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3236
+ };
3237
+ HttpBaseService.prototype.put = function (endpointOrOptions, payload, params, headers, responseType) {
3238
+ if (payload === void 0) { payload = undefined; }
3239
+ if (params === void 0) { params = undefined; }
3240
+ if (headers === void 0) { headers = undefined; }
3241
+ if (responseType === void 0) { responseType = undefined; }
3242
+ var _a, _b, _c, _d;
3243
+ var url;
3244
+ if (typeof endpointOrOptions === 'string') {
3245
+ url = endpointOrOptions;
3246
+ }
3247
+ else {
3248
+ var options = endpointOrOptions;
3249
+ url = options.endpoint;
3250
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
3251
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
3252
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3253
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
3254
+ }
3255
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3256
+ .put(url, payload, { headers: headers, params: params, responseType: responseType })
3257
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3258
+ };
3259
+ HttpBaseService.prototype.patch = function (endpointOrOptions, payload, params, headers, responseType) {
3260
+ if (payload === void 0) { payload = undefined; }
3261
+ if (params === void 0) { params = undefined; }
3262
+ if (headers === void 0) { headers = undefined; }
3263
+ if (responseType === void 0) { responseType = undefined; }
3264
+ var _a, _b, _c, _d;
3265
+ var url;
3266
+ if (typeof endpointOrOptions === 'string') {
3267
+ url = endpointOrOptions;
3268
+ }
3269
+ else {
3270
+ var options = endpointOrOptions;
3271
+ url = options.endpoint;
3272
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
3273
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
3274
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3275
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
3276
+ }
3277
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3278
+ .patch(url, payload, { headers: headers, params: params, responseType: responseType })
3279
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3280
+ };
3281
+ HttpBaseService.prototype.delete = function (endpointOrOptions, params, headers, responseType) {
3282
+ if (params === void 0) { params = undefined; }
3283
+ if (headers === void 0) { headers = undefined; }
3284
+ if (responseType === void 0) { responseType = undefined; }
3285
+ var _a, _b, _c;
3286
+ var url;
3287
+ if (typeof endpointOrOptions === 'string') {
3288
+ url = endpointOrOptions;
3289
+ }
3290
+ else {
3291
+ var options = endpointOrOptions;
3292
+ url = options.endpoint;
3293
+ params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
3294
+ headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
3295
+ responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
3296
+ }
3297
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3298
+ .delete(url, { headers: headers, params: params, responseType: responseType })
3299
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3300
+ };
3301
+ HttpBaseService.prototype.httpAutomation = function (endpoint, payload, responseType) {
3302
+ if (payload === void 0) { payload = undefined; }
3303
+ if (responseType === void 0) { responseType = undefined; }
3304
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3305
+ .post(endpoint, payload, { responseType: responseType })
3306
+ .pipe(this.catchErrors());
3307
+ };
3308
+ HttpBaseService.prototype.catchErrors = function () {
3309
+ return rxjs.pipe(operators.catchError(function (err) {
3310
+ throw err;
3311
+ }));
3312
+ };
3313
+ return HttpBaseService;
3314
+ }());
3315
+ _HttpBaseService_http = new WeakMap();
3316
+
3317
+ var DEFAULT_CACHE_OPTIONS = {
3318
+ PREFIX: "cache__",
3319
+ PAGE_KEY: "currentPageIndex",
3320
+ TOTAL_PAGE_KEY: "pageCount",
3321
+ RESULTS_COUNT_KEY: "resultsCount",
3322
+ MAPPED_DATA_KEY: "entries",
3323
+ UNIQUE_COMPARE_KEY: "uid",
3324
+ MIN_COMPARE_DATE_KEY: "dublincore_modified_min",
3325
+ LAST_MODIFIED_KEY: "lastModifiedDate",
3326
+ LAST_MODIFIED_PATH: "properties.dc:modified",
3327
+ EXCLUDE_KEYS_WHEN_UPDATE: ["contextParameters"],
3328
+ CHILDREN_PATH: "contextParameters.children.entries",
3329
+ PARENT_KEY: "parentRef",
3330
+ REQUEST: function () {
3331
+ return rxjs.of();
3332
+ },
3333
+ PREPARE_DATA: function (result) {
3334
+ return result.map(function (item) {
3335
+ delete item._baseOptions;
3336
+ delete item._dirtyProperties;
3337
+ delete item._nuxeo;
3338
+ delete item._repository;
3339
+ return item;
3340
+ });
3341
+ }
3342
+ };
3343
+
3344
+ exports.CachingExpiryUnit = void 0;
3345
+ (function (CachingExpiryUnit) {
3346
+ CachingExpiryUnit["YEARS"] = "years";
3347
+ CachingExpiryUnit["MONTHS"] = "months";
3348
+ CachingExpiryUnit["WEEKS"] = "weeks";
3349
+ CachingExpiryUnit["DAYS"] = "days";
3350
+ CachingExpiryUnit["HOURS"] = "hours";
3351
+ CachingExpiryUnit["MINUTES"] = "minutes";
3352
+ CachingExpiryUnit["SECONDS"] = "seconds";
3353
+ CachingExpiryUnit["MILLI_SECONDS"] = "milliseconds";
3354
+ })(exports.CachingExpiryUnit || (exports.CachingExpiryUnit = {}));
3355
+
3356
+ // TTL : Time To Live
3357
+ var DEFAULT_TTL_CONFIG = {
3358
+ TTL: 3,
3359
+ UNIT: exports.CachingExpiryUnit.MONTHS,
3360
+ AUTO_CHECK: true,
3361
+ RETRY: 3
3362
+ };
3363
+
3364
+ var _CacheBaseService_instances, _CacheBaseService_fetchedItems, _CacheBaseService_handleCacheItems, _CacheBaseService_findNode, _CacheBaseService_findLargestDate, _CacheBaseService_handleFetchedItems, _CacheBaseService_addItemsTo, _CacheBaseService_prepareOptions, _CacheBaseService_prepareConfig, _CacheBaseService_add1SecondToModifiedDate, _CacheBaseService_clear, _CacheBaseService_validateTTLForKey, _CacheBaseService_setItemInMap, _CacheBaseService_getItem, _CacheBaseService_setItem;
3365
+ var CacheBaseService = /** @class */ (function () {
3366
+ function CacheBaseService(userPreferencesService, utilityService) {
3367
+ this.userPreferencesService = userPreferencesService;
3368
+ this.utilityService = utilityService;
3369
+ _CacheBaseService_instances.add(this);
3370
+ _CacheBaseService_fetchedItems.set(this, new Map());
3371
+ __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_prepareConfig).call(this);
3372
+ }
3373
+ CacheBaseService.prototype.hasItem = function (cacheKey) {
3374
+ return this.userPreferencesService.hasItem("" + DEFAULT_CACHE_OPTIONS.PREFIX + cacheKey);
3375
+ };
3376
+ CacheBaseService.prototype.clearAll = function (userName) {
3377
+ __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_clear).call(this, userName);
3378
+ };
3379
+ CacheBaseService.prototype.validateTTL = function (userName) {
3380
+ var _this = this;
3381
+ if (!DEFAULT_TTL_CONFIG.AUTO_CHECK || !userName)
2805
3382
  return;
2806
3383
  var prefix = userName + "__" + DEFAULT_CACHE_OPTIONS.PREFIX;
2807
3384
  Object.keys(window.localStorage)
@@ -2809,10 +3386,10 @@
2809
3386
  .filter(function (key) {
2810
3387
  var _a;
2811
3388
  var options = {
2812
- cacheKey: key.replace(prefix, ""),
3389
+ cacheKey: key.replace(prefix, ''),
2813
3390
  userName: userName,
2814
3391
  request: DEFAULT_CACHE_OPTIONS.REQUEST,
2815
- prepareDataBeforeCaching: DEFAULT_CACHE_OPTIONS.PREPARE_DATA,
3392
+ prepareDataBeforeCaching: DEFAULT_CACHE_OPTIONS.PREPARE_DATA
2816
3393
  };
2817
3394
  var firstFetchingDate = (_a = __classPrivateFieldGet(_this, _CacheBaseService_instances, "m", _CacheBaseService_getItem).call(_this, options)) === null || _a === void 0 ? void 0 : _a.firstFetchingDate;
2818
3395
  if (!firstFetchingDate)
@@ -2878,7 +3455,7 @@
2878
3455
  data: _fetchedItems.data,
2879
3456
  lastModifiedDate: _fetchedItems.lastModifiedDate,
2880
3457
  firstFetchingDate: _fetchedItems.firstFetchingDate,
2881
- resultsCount: _fetchedItems[options.resultsCount],
3458
+ resultsCount: _fetchedItems[options.resultsCount]
2882
3459
  }, options);
2883
3460
  }
2884
3461
  return _fetchedItems;
@@ -3033,7 +3610,7 @@
3033
3610
  DEFAULT_TTL_CONFIG.UNIT =
3034
3611
  ((_d = (_c = EnvManager.environment) === null || _c === void 0 ? void 0 : _c.cache) === null || _d === void 0 ? void 0 : _d.ttlUnit) || DEFAULT_TTL_CONFIG.UNIT;
3035
3612
  DEFAULT_TTL_CONFIG.AUTO_CHECK =
3036
- ((_f = (_e = EnvManager.environment) === null || _e === void 0 ? void 0 : _e.cache) === null || _f === void 0 ? void 0 : _f.autoCheck) == "YES";
3613
+ ((_f = (_e = EnvManager.environment) === null || _e === void 0 ? void 0 : _e.cache) === null || _f === void 0 ? void 0 : _f.autoCheck) == 'YES';
3037
3614
  DEFAULT_TTL_CONFIG.RETRY =
3038
3615
  ((_h = (_g = EnvManager.environment) === null || _g === void 0 ? void 0 : _g.cache) === null || _h === void 0 ? void 0 : _h.retry) || DEFAULT_TTL_CONFIG.RETRY;
3039
3616
  }, _CacheBaseService_add1SecondToModifiedDate = function _CacheBaseService_add1SecondToModifiedDate(date) {
@@ -3041,7 +3618,7 @@
3041
3618
  newDate.setSeconds(newDate.getSeconds() + 1);
3042
3619
  return newDate;
3043
3620
  }, _CacheBaseService_clear = function _CacheBaseService_clear(userName, keyOrAll) {
3044
- if (keyOrAll === void 0) { keyOrAll = ""; }
3621
+ if (keyOrAll === void 0) { keyOrAll = ''; }
3045
3622
  Object.keys(window.localStorage)
3046
3623
  .filter(function (q) { return q.startsWith(userName + "__" + DEFAULT_CACHE_OPTIONS.PREFIX + keyOrAll); })
3047
3624
  .forEach(function (key) {
@@ -3060,11 +3637,11 @@
3060
3637
  }, _CacheBaseService_setItemInMap = function _CacheBaseService_setItemInMap(key, val) {
3061
3638
  var empty = {
3062
3639
  data: [],
3063
- firstFetchingDate: "",
3064
- lastModifiedDate: "",
3640
+ firstFetchingDate: '',
3641
+ lastModifiedDate: '',
3065
3642
  resultsCount: 0,
3066
3643
  fetchingItemsFromTheServer: false,
3067
- onFinishFetching: new rxjs.Subject(),
3644
+ onFinishFetching: new rxjs.Subject()
3068
3645
  };
3069
3646
  var value = val ? val : empty;
3070
3647
  __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[key] = value;
@@ -3088,11 +3665,11 @@
3088
3665
  }
3089
3666
  };
3090
3667
  CacheBaseService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CacheBaseService, deps: [{ token: UserPreferencesService }, { token: UtilityService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3091
- CacheBaseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CacheBaseService, providedIn: "root" });
3668
+ CacheBaseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CacheBaseService, providedIn: 'root' });
3092
3669
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CacheBaseService, decorators: [{
3093
3670
  type: i0.Injectable,
3094
3671
  args: [{
3095
- providedIn: "root",
3672
+ providedIn: 'root'
3096
3673
  }]
3097
3674
  }], ctorParameters: function () { return [{ type: UserPreferencesService }, { type: UtilityService }]; } });
3098
3675
 
@@ -3165,7 +3742,7 @@
3165
3742
  if (isCustomAutomation === void 0) { isCustomAutomation = false; }
3166
3743
  var _a, _b, _c, _d;
3167
3744
  var operation;
3168
- if (typeof operationOrOptions === "string") {
3745
+ if (typeof operationOrOptions === 'string') {
3169
3746
  operation = operationOrOptions;
3170
3747
  }
3171
3748
  else {
@@ -3180,7 +3757,7 @@
3180
3757
  return rxjs.from(__classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient
3181
3758
  .operation(operation, Object.assign({}, (isCustomAutomation
3182
3759
  ? {
3183
- url: "" + this.environment.nuxeo + this.environment.customAutomation,
3760
+ url: "" + this.environment.nuxeo + this.environment.customAutomation
3184
3761
  }
3185
3762
  : {})))
3186
3763
  .input(input ? input : undefined)
@@ -3193,7 +3770,7 @@
3193
3770
  if (params === void 0) { params = undefined; }
3194
3771
  if (context === void 0) { context = undefined; }
3195
3772
  if (headers === void 0) { headers = undefined; }
3196
- if (typeof operationOrOptions == "object") {
3773
+ if (typeof operationOrOptions == 'object') {
3197
3774
  operationOrOptions.isCustomAutomation = true;
3198
3775
  }
3199
3776
  return this.automation(operationOrOptions, input, params, context, headers, true);
@@ -3202,17 +3779,17 @@
3202
3779
  if (queryParams === void 0) { queryParams = undefined; }
3203
3780
  if (headers === void 0) { headers = undefined; }
3204
3781
  if (payload === void 0) { payload = undefined; }
3205
- if (type === void 0) { type = "get"; }
3782
+ if (type === void 0) { type = 'get'; }
3206
3783
  var _a, _b, _c, _d;
3207
3784
  var endpoint;
3208
- if (typeof endpointOrOptions === "string") {
3785
+ if (typeof endpointOrOptions === 'string') {
3209
3786
  endpoint = endpointOrOptions;
3210
3787
  }
3211
3788
  else {
3212
3789
  var options = endpointOrOptions;
3213
3790
  endpoint = options.endpoint;
3214
3791
  queryParams = (_a = options.queryParams) !== null && _a !== void 0 ? _a : undefined;
3215
- type = (_b = options.type) !== null && _b !== void 0 ? _b : "get";
3792
+ type = (_b = options.type) !== null && _b !== void 0 ? _b : 'get';
3216
3793
  headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3217
3794
  payload = (_d = options.payload) !== null && _d !== void 0 ? _d : undefined;
3218
3795
  }
@@ -3220,7 +3797,7 @@
3220
3797
  .request(endpoint)
3221
3798
  .queryParams(queryParams ? Object.assign({}, queryParams) : undefined)[type]({
3222
3799
  headers: headers ? Object.assign({}, headers) : undefined,
3223
- body: payload ? Object.assign({}, payload) : undefined,
3800
+ body: payload ? Object.assign({}, payload) : undefined
3224
3801
  })).pipe(operators.map(function (response) { return response; }), this.catchErrors());
3225
3802
  };
3226
3803
  BaseService.prototype.query = function (pageProviderOrOptions, params, headers) {
@@ -3228,7 +3805,7 @@
3228
3805
  if (headers === void 0) { headers = undefined; }
3229
3806
  var _a, _b;
3230
3807
  var pageProvider;
3231
- if (typeof pageProviderOrOptions === "string") {
3808
+ if (typeof pageProviderOrOptions === 'string') {
3232
3809
  pageProvider = pageProviderOrOptions;
3233
3810
  }
3234
3811
  else {
@@ -3239,7 +3816,7 @@
3239
3816
  }
3240
3817
  return __classPrivateFieldGet(this, _BaseService_callApiService, "f")
3241
3818
  .query(Object.assign({ pageProvider: pageProvider }, (params ? params : {})), {
3242
- headers: headers ? Object.assign({}, headers) : undefined,
3819
+ headers: headers ? Object.assign({}, headers) : undefined
3243
3820
  })
3244
3821
  .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3245
3822
  };
@@ -3252,7 +3829,7 @@
3252
3829
  return _this.query({
3253
3830
  pageProvider: options.pageProvider,
3254
3831
  params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
3255
- headers: options.headers,
3832
+ headers: options.headers
3256
3833
  });
3257
3834
  };
3258
3835
  return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
@@ -3265,7 +3842,7 @@
3265
3842
  payload: options.payload,
3266
3843
  params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
3267
3844
  headers: options.headers,
3268
- responseType: options.responseType,
3845
+ responseType: options.responseType
3269
3846
  });
3270
3847
  };
3271
3848
  return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
@@ -3299,10 +3876,10 @@
3299
3876
  }(HttpBaseService));
3300
3877
  _BaseService_nuxeoService = new WeakMap(), _BaseService_callApiService = new WeakMap(), _BaseService_cacheBaseService = new WeakMap();
3301
3878
  BaseService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseService, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3302
- BaseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseService, providedIn: "root" });
3879
+ BaseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseService, providedIn: 'root' });
3303
3880
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseService, decorators: [{
3304
3881
  type: i0.Injectable,
3305
- args: [{ providedIn: "root" }]
3882
+ args: [{ providedIn: 'root' }]
3306
3883
  }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
3307
3884
 
3308
3885
  /**
@@ -3348,1061 +3925,485 @@
3348
3925
  * ![Screenshot-1](../screenshots/avatar1.png) ![Screenshot-2](../screenshots/avatar2.png)
3349
3926
  * @title
3350
3927
  * User Avatar
3351
- * @example
3352
- *
3353
- * <cts-avatar [user]="user"></cts-avatar>
3354
- */
3355
- var AvatarComponent = /** @class */ (function () {
3356
- function AvatarComponent() {
3357
- }
3358
- AvatarComponent.prototype.ngOnInit = function () {
3359
- var _a, _b, _c, _d;
3360
- this.stringToHslColor(((_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.firstName) + " " + ((_d = (_c = this.user) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.lastName), 30, 80);
3361
- };
3362
- AvatarComponent.prototype.stringToHslColor = function (str, s, l) {
3363
- var hash = 0;
3364
- for (var i = 0; i < str.length; i++) {
3365
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
3366
- }
3367
- var h = hash % 360;
3368
- this.backgroundColor = 'hsl(' + h + ', ' + s + '%, ' + l + '%)';
3369
- };
3370
- AvatarComponent.prototype.getInitials = function () {
3371
- var _a;
3372
- return ((_a = this.user) === null || _a === void 0 ? void 0 : _a.properties)
3373
- ? (this.user.properties.initials = [
3374
- this.user.properties.firstName
3375
- ? this.user.properties.firstName[0].toUpperCase()
3376
- : '',
3377
- this.user.properties.lastName
3378
- ? this.user.properties.lastName[0].toUpperCase()
3379
- : '',
3380
- ].join(''))
3381
- : '';
3382
- };
3383
- return AvatarComponent;
3384
- }());
3385
- AvatarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3386
- AvatarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AvatarComponent, selector: "cts-avatar", inputs: { user: "user" }, ngImport: i0__namespace, template: "<div class=\"avatar-wrapper\">\r\n <ng-container *ngIf=\"user?.avatar?.length; else initials\">\r\n <img *ngIf=\"user.avatar | secure | async as obs; else initials\" [attr.src]=\"obs\" alt=\"user image\" />\r\n </ng-container>\r\n\r\n <ng-template #initials>\r\n <div class=\"avatar-name \" [ngStyle]=\"{ 'background-color': backgroundColor }\">\r\n <span>{{\r\n this.getInitials()\r\n }}</span>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [".avatar-wrapper{width:100%;height:100%;border-radius:100%;overflow:hidden}.avatar-wrapper img{width:100%;height:100%;object-fit:cover}.avatar-wrapper .avatar-name{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.avatar-wrapper .avatar-name span{font-size:16px;font-weight:bold;color:#fff}.avatar-out-container{width:50px;height:50px;border-radius:50%;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}\n"], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i4__namespace$1.AsyncPipe, "secure": SecurePipe } });
3387
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, decorators: [{
3388
- type: i0.Component,
3389
- args: [{
3390
- selector: 'cts-avatar',
3391
- templateUrl: './avatar.component.html',
3392
- styleUrls: ['./avatar.component.scss']
3393
- }]
3394
- }], ctorParameters: function () { return []; }, propDecorators: { user: [{
3395
- type: i0.Input
3396
- }] } });
3397
-
3398
- /**
3399
- * Transforms date to localized date string
3400
- *
3401
- * ### In template example:
3402
- * ~~~html
3403
- * <!-- in template -->
3404
- * <p>
3405
- * {{ dateObject | localizedDate: "EEEE, MMMM dd, yyyy" }}
3406
- * </p>
3407
- * ~~~
3408
- * @title
3409
- * Localized Date
3410
- *
3411
- * @example
3412
- * ...
3413
- * constructor(... private LocalizedDatePipe: localizedDatePipe ...){
3414
- * const localizedDateString = this.localizedDatePipe.transform(dateObject, 'EEEE, MMMM dd, yyyy');
3415
- * }
3416
- * ...
3417
- */
3418
- var LocalizedDatePipe = /** @class */ (function () {
3419
- function LocalizedDatePipe(userPreferenceService) {
3420
- var _this = this;
3421
- this.userPreferenceService = userPreferenceService;
3422
- this.defaultLocale = LocalizedDatePipe.DEFAULT_LOCALE;
3423
- this.defaultFormat = LocalizedDatePipe.DEFAULT_DATE_FORMAT;
3424
- this.onDestroy$ = new rxjs.Subject();
3425
- if (this.userPreferenceService) {
3426
- this.userPreferenceService
3427
- .select(exports.UserPreferenceValues.Locale)
3428
- .pipe(operators.takeUntil(this.onDestroy$))
3429
- .subscribe(function (locale) {
3430
- if (locale) {
3431
- _this.defaultLocale = locale;
3432
- }
3433
- });
3434
- }
3435
- }
3436
- /**
3437
- *
3438
- * @param value date object
3439
- * @param format format
3440
- * @param locale locale to convert to
3441
- * @returns localized date string
3442
- */
3443
- LocalizedDatePipe.prototype.transform = function (value, format, locale) {
3444
- try {
3445
- var actualFormat = format || this.defaultFormat;
3446
- var actualLocale = locale || this.defaultLocale;
3447
- var datePipe = new i4.DatePipe(actualLocale);
3448
- return datePipe.transform(value, actualFormat, 'GMT+3');
3449
- }
3450
- catch (e) {
3451
- console.warn(e);
3452
- return value;
3453
- }
3454
- };
3455
- /** @ignore */
3456
- LocalizedDatePipe.prototype.ngOnDestroy = function () {
3457
- this.onDestroy$.next(true);
3458
- this.onDestroy$.complete();
3459
- };
3460
- return LocalizedDatePipe;
3461
- }());
3462
- LocalizedDatePipe.DEFAULT_LOCALE = 'en-US';
3463
- LocalizedDatePipe.DEFAULT_DATE_FORMAT = 'dd MMMM yyyy hh:mm a';
3464
- LocalizedDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, deps: [{ token: UserPreferencesService }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3465
- LocalizedDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, name: "localizedDate", pure: false });
3466
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, decorators: [{
3467
- type: i0.Pipe,
3468
- args: [{
3469
- name: 'localizedDate',
3470
- pure: false
3471
- }]
3472
- }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
3473
-
3474
- /**
3475
- * Transforms html string into safe html to be rendered in the view
3476
- *
3477
- * ### In template example:
3478
- * ~~~html
3479
- * <!-- in template -->
3480
- * <span [innerHTML]="htmlString | safeHtml"></span>
3481
- * ~~~
3482
- * @title
3483
- * Safe HTML
3484
- */
3485
- var SafeHtmlPipe = /** @class */ (function () {
3486
- function SafeHtmlPipe(sanitized) {
3487
- this.sanitized = sanitized;
3488
- }
3489
- /**
3490
- *
3491
- * @param value HTML String
3492
- * @returns Safe HTML
3493
- */
3494
- SafeHtmlPipe.prototype.transform = function (value) {
3495
- return this.sanitized.bypassSecurityTrustHtml(value);
3496
- };
3497
- return SafeHtmlPipe;
3498
- }());
3499
- SafeHtmlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, deps: [{ token: i2__namespace$3.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3500
- SafeHtmlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
3501
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
3502
- type: i0.Pipe,
3503
- args: [{ name: 'safeHtml' }]
3504
- }], ctorParameters: function () { return [{ type: i2__namespace$3.DomSanitizer }]; } });
3505
-
3506
- /**
3507
- * Converts date into how long time ago string
3508
- *
3509
- * ### In template example:
3510
- * ~~~html
3511
- * <!-- in template -->
3512
- * <span>{{ dateObject | timeAgo }}</span>
3513
- * ~~~
3514
- * @title
3515
- * Time Ago
3516
- */
3517
- var TimeAgoPipe = /** @class */ (function () {
3518
- function TimeAgoPipe(userPreferenceService) {
3519
- var _this = this;
3520
- this.userPreferenceService = userPreferenceService;
3521
- this.onDestroy$ = new rxjs.Subject();
3522
- this.userPreferenceService
3523
- .select(exports.UserPreferenceValues.Locale)
3524
- .pipe(operators.takeUntil(this.onDestroy$))
3525
- .subscribe(function (locale) {
3526
- _this.defaultLocale = locale || TimeAgoPipe.DEFAULT_LOCALE;
3527
- });
3528
- this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;
3529
- }
3530
- /**
3531
- *
3532
- * @param value date object
3533
- * @param locale locale to be transformed to
3534
- * @returns Time ago string (15 minutes ago)
3535
- */
3536
- TimeAgoPipe.prototype.transform = function (value, locale) {
3537
- if (value !== null && value !== undefined) {
3538
- var actualLocale = locale || this.defaultLocale;
3539
- var then = moment__default["default"](value);
3540
- //const diff = moment().locale(actualLocale).diff(then, 'days');
3541
- return then.locale(actualLocale).fromNow();
3542
- // if ( diff > 7) {
3543
- // const datePipe: DatePipe = new DatePipe(actualLocale);
3544
- // return datePipe.transform(value, this.defaultDateTimeFormat);
3545
- // } else {
3546
- // return then.locale(actualLocale).fromNow();
3547
- // }
3548
- }
3549
- return '';
3550
- };
3551
- /** @ignore */
3552
- TimeAgoPipe.prototype.ngOnDestroy = function () {
3553
- this.onDestroy$.next(true);
3554
- this.onDestroy$.complete();
3555
- };
3556
- return TimeAgoPipe;
3557
- }());
3558
- TimeAgoPipe.DEFAULT_LOCALE = 'en-US';
3559
- TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';
3560
- TimeAgoPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, deps: [{ token: UserPreferencesService }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3561
- TimeAgoPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, name: "timeAgo" });
3562
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, decorators: [{
3563
- type: i0.Pipe,
3564
- args: [{
3565
- name: 'timeAgo'
3566
- }]
3567
- }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
3568
-
3569
- /**
3570
- * Transforms array of strings to single string seperated with seperator
3571
- *
3572
- * ### In template example:
3573
- * ~~~html
3574
- * <!-- in template -->
3575
- * <p>{{ ['string 1','string 2', 'string 3'] | multiValue : {valueSeparator:', '}}}</p>
3576
- * ~~~
3577
- * @title
3578
- * Multi Value
3579
- *
3580
- * @example
3581
- * ...
3582
- * constructor(... private MultiValuePipe: multiValuePipe ...){
3583
- * const MultiValueString = this.multiValuePipe.transform(['string 1','string 2', 'string 3'], ', ');
3584
- * }
3585
- * ...
3586
- */
3587
- var MultiValuePipe = /** @class */ (function () {
3588
- function MultiValuePipe() {
3589
- }
3590
- /**
3591
- *
3592
- * @param values array of strings
3593
- * @param valueSeparator seperator to place between elements
3594
- * @returns the joining of all array items seperated with seperator
3595
- */
3596
- MultiValuePipe.prototype.transform = function (values, valueSeparator) {
3597
- if (valueSeparator === void 0) { valueSeparator = MultiValuePipe.DEFAULT_SEPARATOR; }
3598
- if (values && values instanceof Array) {
3599
- return values.join(valueSeparator);
3600
- }
3601
- return values;
3602
- };
3603
- return MultiValuePipe;
3604
- }());
3605
- MultiValuePipe.DEFAULT_SEPARATOR = ', ';
3606
- MultiValuePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3607
- MultiValuePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, name: "multiValue" });
3608
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, decorators: [{
3609
- type: i0.Pipe,
3610
- args: [{ name: 'multiValue' }]
3611
- }] });
3612
-
3613
- /**
3614
- * transforms file size into translated appropriate units
3615
- *
3616
- * ### In template example:
3617
- * ~~~html
3618
- * <!-- in template -->
3619
- * <p>{{ file.sizeInBytes | FileSize}}</p>
3620
- * ~~~
3621
- * @title
3622
- * File Size
3623
- *
3624
- * @example
3625
- * ...
3626
- * constructor(... private FileSizePipe: fileSizePiple ...){
3627
- * const sizeString = this.fileSizePiple.transform(sizeInBytes);
3628
- * }
3629
- * ...
3630
- */
3631
- var FileSizePipe = /** @class */ (function () {
3632
- function FileSizePipe(translation) {
3633
- this.translation = translation;
3634
- }
3635
- /**
3636
- *
3637
- * @param paramByte Size in Bytes
3638
- * @optional @param decimals Decimals to show
3639
- * @returns translated size string
3640
- */
3641
- FileSizePipe.prototype.transform = function (paramByte, decimals) {
3642
- if (decimals === void 0) { decimals = 2; }
3643
- if (paramByte == null) {
3644
- return '';
3645
- }
3646
- var bytes = parseInt(paramByte, 10);
3647
- if (isNaN(bytes)) {
3648
- return '';
3649
- }
3650
- if (bytes === 0) {
3651
- return '0 ' + this.translation.instant('FILE_SIZE.BYTES');
3652
- }
3653
- var k = 1024, dm = decimals || 2, sizes = ['BYTES', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], i = Math.floor(Math.log(bytes) / Math.log(k));
3654
- var i18nSize = this.translation.instant("FILE_SIZE." + sizes[i]);
3655
- return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + i18nSize;
3656
- };
3657
- return FileSizePipe;
3658
- }());
3659
- FileSizePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, deps: [{ token: TranslationService }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3660
- FileSizePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, name: "FileSize", pure: false });
3661
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, decorators: [{
3662
- type: i0.Pipe,
3663
- args: [{
3664
- name: 'FileSize',
3665
- pure: false
3666
- }]
3667
- }], ctorParameters: function () { return [{ type: TranslationService }]; } });
3668
-
3669
- /**
3670
- * Transforms and formats date into hijri
3671
- *
3672
- * ### In template example:
3673
- * ~~~html
3674
- * <!-- in template -->
3675
- * <p>{{ dateObject | hijriDate : {format:'iYYYY iMMMM iD'}}}</p>
3676
- * ~~~
3677
- * @title
3678
- * Hijri Date
3679
- *
3680
- * @example
3681
- * ...
3682
- * constructor(... private HijriDatePipe: hijriDatePipe ...){
3683
- * const formattedHijriDate = this.hijriDatePipe.transform(dateObject, 'iYYYY iMMMM iD');
3684
- * }
3685
- * ...
3686
- */
3687
- var HijriDatePipe = /** @class */ (function () {
3688
- function HijriDatePipe() {
3689
- this.defaultFormat = "iYYYY iMMMM iD";
3690
- }
3691
- /**
3692
- *
3693
- * @param value Date object
3694
- * @param format Format
3695
- * @returns formatted hijri date string
3696
- */
3697
- HijriDatePipe.prototype.transform = function (value, format) {
3698
- var actualFormat = format || this.defaultFormat;
3699
- var m = moment___namespace(value, 'iYYYY/iM/iD'); // Parse a Hijri date.
3700
- return m.format("iD iMMMM iYYYY");
3701
- };
3702
- return HijriDatePipe;
3703
- }());
3704
- HijriDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3705
- HijriDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, name: "hijriDate" });
3706
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, decorators: [{
3707
- type: i0.Pipe,
3708
- args: [{
3709
- name: 'hijriDate'
3710
- }]
3711
- }] });
3712
-
3713
- /**
3714
- * @title
3715
- * Pipes Module
3716
- */
3717
- var PipesModule = /** @class */ (function () {
3718
- function PipesModule() {
3719
- }
3720
- return PipesModule;
3721
- }());
3722
- PipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3723
- PipesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, declarations: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe], imports: [i4.CommonModule], exports: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe] });
3724
- PipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, providers: [TimeAgoPipe, MultiValuePipe], imports: [[i4.CommonModule]] });
3725
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, decorators: [{
3726
- type: i0.NgModule,
3727
- args: [{
3728
- declarations: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
3729
- imports: [i4.CommonModule],
3730
- exports: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
3731
- providers: [TimeAgoPipe, MultiValuePipe],
3732
- }]
3733
- }] });
3734
-
3735
- /**
3736
- * @title
3737
- * Avatar Module
3738
- */
3739
- var AvatarModule = /** @class */ (function () {
3740
- function AvatarModule() {
3741
- }
3742
- return AvatarModule;
3743
- }());
3744
- AvatarModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3745
- AvatarModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, declarations: [AvatarComponent], imports: [i4.CommonModule,
3746
- PipesModule], exports: [AvatarComponent] });
3747
- AvatarModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, imports: [[
3748
- i4.CommonModule,
3749
- PipesModule
3750
- ]] });
3751
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, decorators: [{
3752
- type: i0.NgModule,
3753
- args: [{
3754
- declarations: [AvatarComponent],
3755
- imports: [
3756
- i4.CommonModule,
3757
- PipesModule
3758
- ],
3759
- exports: [
3760
- AvatarComponent
3761
- ]
3762
- }]
3763
- }] });
3764
-
3765
- /**
3766
- * A reusable card component to display various types of contents
3767
- *
3768
- * ![Screenshot-1](../screenshots/card.png)
3769
- * @title
3770
- * Card
3771
- * @example
3772
- *
3773
- * <app-card>
3774
- * <h3 class="title">
3775
- * Card title
3776
- * </h3>
3777
- * <div class="my-toolbar">
3778
- * <button class="btn-primary"> Action Button </button>
3779
- * </div>
3780
- * <div class="body">
3781
- * </div>
3782
- * </app-card>
3783
- */
3784
- var CardComponent = /** @class */ (function () {
3785
- /** enable/disable shadow */
3786
- function CardComponent() {
3787
- /** card has no body */
3788
- this.noBody = false;
3789
- /** is card dark */
3790
- this.dark = false;
3928
+ * @example
3929
+ *
3930
+ * <cts-avatar [user]="user"></cts-avatar>
3931
+ */
3932
+ var AvatarComponent = /** @class */ (function () {
3933
+ function AvatarComponent() {
3791
3934
  }
3792
- CardComponent.prototype.ngOnInit = function () { };
3793
- return CardComponent;
3935
+ AvatarComponent.prototype.ngOnInit = function () {
3936
+ var _a, _b, _c, _d;
3937
+ this.stringToHslColor(((_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.firstName) + " " + ((_d = (_c = this.user) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.lastName), 30, 80);
3938
+ };
3939
+ AvatarComponent.prototype.stringToHslColor = function (str, s, l) {
3940
+ var hash = 0;
3941
+ for (var i = 0; i < str.length; i++) {
3942
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
3943
+ }
3944
+ var h = hash % 360;
3945
+ this.backgroundColor = 'hsl(' + h + ', ' + s + '%, ' + l + '%)';
3946
+ };
3947
+ AvatarComponent.prototype.getInitials = function () {
3948
+ var _a;
3949
+ return ((_a = this.user) === null || _a === void 0 ? void 0 : _a.properties)
3950
+ ? (this.user.properties.initials = [
3951
+ this.user.properties.firstName
3952
+ ? this.user.properties.firstName[0].toUpperCase()
3953
+ : '',
3954
+ this.user.properties.lastName
3955
+ ? this.user.properties.lastName[0].toUpperCase()
3956
+ : '',
3957
+ ].join(''))
3958
+ : '';
3959
+ };
3960
+ return AvatarComponent;
3794
3961
  }());
3795
- CardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3796
- CardComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CardComponent, selector: "app-card", inputs: { noBody: "noBody", dark: "dark" }, ngImport: i0__namespace, template: "<div\r\n class=\"app-card\"\r\n [ngClass]=\"{\r\n 'dark-app-card ': dark\r\n }\"\r\n>\r\n <div class=\"card-inner\">\r\n <div\r\n [ngClass]=\"{\r\n hidden: title.childNodes.length == 0 && toolbar.childNodes.length == 0\r\n }\"\r\n class=\"card-title\"\r\n >\r\n <div class=\"title-padder\">\r\n <!-- title Area -->\r\n <span #title>\r\n <ng-content select=\".title\"></ng-content>\r\n </span>\r\n <!-- toolbar Area -->\r\n <div class=\"my-toolbar\" #toolbar>\r\n <ng-content select=\".my-toolbar\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- body area -->\r\n <div class=\"card-body\" *ngIf=\"!noBody\">\r\n <ng-content select=\".body\"></ng-content>\r\n </div>\r\n <div class=\"no-items\">\r\n <p class=\"message\">\r\n <ng-content select=\".no-content\"></ng-content>\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.app-card{border-radius:5px;display:flex;flex-direction:column;background:#ffffff;position:relative;padding:24px 0 0}.app-card .card-inner{display:flex;flex-direction:column}.card-title{height:auto;border:0px solid;border-color:#465573;color:#465573;border-inline-start-width:8px}.card-title h1,.card-title h2,.card-title h3,.card-title h4,.card-title h5,.card-title h6,.card-title span,.card-title p{font-size:18px}.title-padder{padding:0 24px;display:flex;align-items:center;justify-content:space-between}.dark-app-card{background:#465573}.dark-app-card .card-title{border-color:#fff;color:#fff}.my-toolbar{display:flex}.my-toolbar .add-button{border-radius:5px;width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center}.my-toolbar .add-button .icon{font-size:30px;font-weight:bold}.my-toolbar .add-button .edit{font-size:25px}.no-items{display:flex;justify-content:center}.no-items .message{text-align:center;color:#b4bac6;font-size:20px}\n"], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
3797
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardComponent, decorators: [{
3962
+ AvatarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3963
+ AvatarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AvatarComponent, selector: "cts-avatar", inputs: { user: "user" }, ngImport: i0__namespace, template: "<div class=\"avatar-wrapper\">\r\n <ng-container *ngIf=\"user?.avatar?.length; else initials\">\r\n <img *ngIf=\"user.avatar | secure | async as obs; else initials\" [attr.src]=\"obs\" alt=\"user image\" />\r\n </ng-container>\r\n\r\n <ng-template #initials>\r\n <div class=\"avatar-name \" [ngStyle]=\"{ 'background-color': backgroundColor }\">\r\n <span>{{\r\n this.getInitials()\r\n }}</span>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [".avatar-wrapper{width:100%;height:100%;border-radius:100%;overflow:hidden}.avatar-wrapper img{width:100%;height:100%;object-fit:cover}.avatar-wrapper .avatar-name{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.avatar-wrapper .avatar-name span{font-size:16px;font-weight:bold;color:#fff}.avatar-out-container{width:50px;height:50px;border-radius:50%;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}\n"], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i4__namespace$1.AsyncPipe, "secure": SecurePipe } });
3964
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, decorators: [{
3798
3965
  type: i0.Component,
3799
3966
  args: [{
3800
- selector: 'app-card',
3801
- templateUrl: './card.component.html',
3802
- styleUrls: ['./card.component.scss'],
3803
- encapsulation: i0.ViewEncapsulation.None,
3967
+ selector: 'cts-avatar',
3968
+ templateUrl: './avatar.component.html',
3969
+ styleUrls: ['./avatar.component.scss']
3804
3970
  }]
3805
- }], ctorParameters: function () { return []; }, propDecorators: { noBody: [{
3806
- type: i0.Input
3807
- }], dark: [{
3971
+ }], ctorParameters: function () { return []; }, propDecorators: { user: [{
3808
3972
  type: i0.Input
3809
3973
  }] } });
3810
3974
 
3811
3975
  /**
3976
+ * Transforms date to localized date string
3977
+ *
3978
+ * ### In template example:
3979
+ * ~~~html
3980
+ * <!-- in template -->
3981
+ * <p>
3982
+ * {{ dateObject | localizedDate: "EEEE, MMMM dd, yyyy" }}
3983
+ * </p>
3984
+ * ~~~
3812
3985
  * @title
3813
- * Card Module
3986
+ * Localized Date
3987
+ *
3988
+ * @example
3989
+ * ...
3990
+ * constructor(... private LocalizedDatePipe: localizedDatePipe ...){
3991
+ * const localizedDateString = this.localizedDatePipe.transform(dateObject, 'EEEE, MMMM dd, yyyy');
3992
+ * }
3993
+ * ...
3814
3994
  */
3815
- var CardModule = /** @class */ (function () {
3816
- function CardModule() {
3817
- }
3818
- return CardModule;
3819
- }());
3820
- CardModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3821
- CardModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, declarations: [CardComponent], imports: [i4.CommonModule], exports: [CardComponent] });
3822
- CardModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, providers: [], imports: [[i4.CommonModule]] });
3823
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, decorators: [{
3824
- type: i0.NgModule,
3825
- args: [{
3826
- declarations: [CardComponent],
3827
- imports: [i4.CommonModule],
3828
- exports: [CardComponent],
3829
- providers: [],
3830
- }]
3831
- }] });
3832
-
3833
- /** @ignore */
3834
- var ClickOutsideDirective = /** @class */ (function () {
3835
- function ClickOutsideDirective(elementRef) {
3836
- this.elementRef = elementRef;
3837
- this.clickOutside = new i0.EventEmitter();
3995
+ var LocalizedDatePipe = /** @class */ (function () {
3996
+ function LocalizedDatePipe(userPreferenceService) {
3997
+ var _this = this;
3998
+ this.userPreferenceService = userPreferenceService;
3999
+ this.defaultLocale = LocalizedDatePipe.DEFAULT_LOCALE;
4000
+ this.defaultFormat = LocalizedDatePipe.DEFAULT_DATE_FORMAT;
4001
+ this.onDestroy$ = new rxjs.Subject();
4002
+ if (this.userPreferenceService) {
4003
+ this.userPreferenceService
4004
+ .select(exports.UserPreferenceValues.Locale)
4005
+ .pipe(operators.takeUntil(this.onDestroy$))
4006
+ .subscribe(function (locale) {
4007
+ if (locale) {
4008
+ _this.defaultLocale = locale;
4009
+ }
4010
+ });
4011
+ }
3838
4012
  }
3839
- ClickOutsideDirective.prototype.onClick = function (target) {
3840
- var clickedInside = this.elementRef.nativeElement.contains(target);
3841
- if (!clickedInside) {
3842
- this.clickOutside.emit(target);
4013
+ /**
4014
+ *
4015
+ * @param value date object
4016
+ * @param format format
4017
+ * @param locale locale to convert to
4018
+ * @returns localized date string
4019
+ */
4020
+ LocalizedDatePipe.prototype.transform = function (value, format, locale) {
4021
+ try {
4022
+ var actualFormat = format || this.defaultFormat;
4023
+ var actualLocale = locale || this.defaultLocale;
4024
+ var datePipe = new i4.DatePipe(actualLocale);
4025
+ return datePipe.transform(value, actualFormat, 'GMT+3');
4026
+ }
4027
+ catch (e) {
4028
+ console.warn(e);
4029
+ return value;
3843
4030
  }
3844
4031
  };
3845
- return ClickOutsideDirective;
4032
+ /** @ignore */
4033
+ LocalizedDatePipe.prototype.ngOnDestroy = function () {
4034
+ this.onDestroy$.next(true);
4035
+ this.onDestroy$.complete();
4036
+ };
4037
+ return LocalizedDatePipe;
3846
4038
  }());
3847
- ClickOutsideDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ClickOutsideDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
3848
- ClickOutsideDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "window:click": "onClick($event.target)" } }, ngImport: i0__namespace });
3849
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ClickOutsideDirective, decorators: [{
3850
- type: i0.Directive,
4039
+ LocalizedDatePipe.DEFAULT_LOCALE = 'en-US';
4040
+ LocalizedDatePipe.DEFAULT_DATE_FORMAT = 'dd MMMM yyyy hh:mm a';
4041
+ LocalizedDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, deps: [{ token: UserPreferencesService }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4042
+ LocalizedDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, name: "localizedDate", pure: false });
4043
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, decorators: [{
4044
+ type: i0.Pipe,
3851
4045
  args: [{
3852
- selector: '[clickOutside]'
4046
+ name: 'localizedDate',
4047
+ pure: false
3853
4048
  }]
3854
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { clickOutside: [{
3855
- type: i0.Output
3856
- }], onClick: [{
3857
- type: i0.HostListener,
3858
- args: ['window:click', ['$event.target']]
3859
- }] } });
4049
+ }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
3860
4050
 
3861
- /** @ignore */
3862
- var SetRtlDirective = /** @class */ (function () {
3863
- function SetRtlDirective(elRef, renderer, translation) {
3864
- this.elRef = elRef;
3865
- this.renderer = renderer;
3866
- this.translation = translation;
3867
- this.switchClassBasedOnLanguage();
4051
+ /**
4052
+ * Transforms html string into safe html to be rendered in the view
4053
+ *
4054
+ * ### In template example:
4055
+ * ~~~html
4056
+ * <!-- in template -->
4057
+ * <span [innerHTML]="htmlString | safeHtml"></span>
4058
+ * ~~~
4059
+ * @title
4060
+ * Safe HTML
4061
+ */
4062
+ var SafeHtmlPipe = /** @class */ (function () {
4063
+ function SafeHtmlPipe(sanitized) {
4064
+ this.sanitized = sanitized;
3868
4065
  }
3869
- /*Switch rtl class based on the chosen language from Translation Service*/
3870
- SetRtlDirective.prototype.switchClassBasedOnLanguage = function () {
3871
- var _this = this;
3872
- this.translation.isArabic.subscribe(function (arabic) {
3873
- arabic
3874
- ? _this.renderer.addClass(_this.elRef.nativeElement, 'rtl')
3875
- : _this.renderer.removeClass(_this.elRef.nativeElement, 'rtl');
3876
- });
4066
+ /**
4067
+ *
4068
+ * @param value HTML String
4069
+ * @returns Safe HTML
4070
+ */
4071
+ SafeHtmlPipe.prototype.transform = function (value) {
4072
+ return this.sanitized.bypassSecurityTrustHtml(value);
3877
4073
  };
3878
- return SetRtlDirective;
4074
+ return SafeHtmlPipe;
3879
4075
  }());
3880
- SetRtlDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetRtlDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: TranslationService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
3881
- SetRtlDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SetRtlDirective, selector: "[SetRtl]", ngImport: i0__namespace });
3882
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetRtlDirective, decorators: [{
3883
- type: i0.Directive,
3884
- args: [{
3885
- selector: '[SetRtl]',
3886
- }]
3887
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
4076
+ SafeHtmlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, deps: [{ token: i2__namespace$3.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4077
+ SafeHtmlPipepipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
4078
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
4079
+ type: i0.Pipe,
4080
+ args: [{ name: 'safeHtml' }]
4081
+ }], ctorParameters: function () { return [{ type: i2__namespace$3.DomSanitizer }]; } });
3888
4082
 
3889
- var EvaluatorsService = /** @class */ (function () {
3890
- function EvaluatorsService(nuxeoService, appConfigService) {
4083
+ /**
4084
+ * Converts date into how long time ago string
4085
+ *
4086
+ * ### In template example:
4087
+ * ~~~html
4088
+ * <!-- in template -->
4089
+ * <span>{{ dateObject | timeAgo }}</span>
4090
+ * ~~~
4091
+ * @title
4092
+ * Time Ago
4093
+ */
4094
+ var TimeAgoPipe = /** @class */ (function () {
4095
+ function TimeAgoPipe(userPreferenceService) {
3891
4096
  var _this = this;
3892
- this.nuxeoService = nuxeoService;
3893
- this.appConfigService = appConfigService;
3894
- this.context = { entity: null, getEvaluator: null, user: null };
3895
- this.asyncEvery = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
3896
- var arr_1, arr_1_1, e, e_1_1;
3897
- var e_1, _j;
3898
- return __generator(this, function (_k) {
3899
- switch (_k.label) {
3900
- case 0:
3901
- _k.trys.push([0, 5, 6, 7]);
3902
- arr_1 = __values(arr), arr_1_1 = arr_1.next();
3903
- _k.label = 1;
3904
- case 1:
3905
- if (!!arr_1_1.done) return [3 /*break*/, 4];
3906
- e = arr_1_1.value;
3907
- return [4 /*yield*/, predicate(e)];
3908
- case 2:
3909
- if (!(_k.sent())) {
3910
- return [2 /*return*/, false];
3911
- }
3912
- _k.label = 3;
3913
- case 3:
3914
- arr_1_1 = arr_1.next();
3915
- return [3 /*break*/, 1];
3916
- case 4: return [3 /*break*/, 7];
3917
- case 5:
3918
- e_1_1 = _k.sent();
3919
- e_1 = { error: e_1_1 };
3920
- return [3 /*break*/, 7];
3921
- case 6:
3922
- try {
3923
- if (arr_1_1 && !arr_1_1.done && (_j = arr_1.return)) _j.call(arr_1);
3924
- }
3925
- finally { if (e_1) throw e_1.error; }
3926
- return [7 /*endfinally*/];
3927
- case 7: return [2 /*return*/, true];
3928
- }
3929
- });
3930
- }); };
3931
- this.asyncSome = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
3932
- var arr_2, arr_2_1, e, e_2_1;
3933
- var e_2, _j;
3934
- return __generator(this, function (_k) {
3935
- switch (_k.label) {
3936
- case 0:
3937
- _k.trys.push([0, 5, 6, 7]);
3938
- arr_2 = __values(arr), arr_2_1 = arr_2.next();
3939
- _k.label = 1;
3940
- case 1:
3941
- if (!!arr_2_1.done) return [3 /*break*/, 4];
3942
- e = arr_2_1.value;
3943
- return [4 /*yield*/, predicate(e)];
3944
- case 2:
3945
- if (_k.sent()) {
3946
- return [2 /*return*/, true];
3947
- }
3948
- _k.label = 3;
3949
- case 3:
3950
- arr_2_1 = arr_2.next();
3951
- return [3 /*break*/, 1];
3952
- case 4: return [3 /*break*/, 7];
3953
- case 5:
3954
- e_2_1 = _k.sent();
3955
- e_2 = { error: e_2_1 };
3956
- return [3 /*break*/, 7];
3957
- case 6:
3958
- try {
3959
- if (arr_2_1 && !arr_2_1.done && (_j = arr_2.return)) _j.call(arr_2);
3960
- }
3961
- finally { if (e_2) throw e_2.error; }
3962
- return [7 /*endfinally*/];
3963
- case 7: return [2 /*return*/, false];
3964
- }
3965
- });
3966
- }); };
3967
- // tslint:disable-next-line:member-ordering
3968
- this.evaluators = {
3969
- AND: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
3970
- var _this = this;
3971
- return __generator(this, function (_j) {
3972
- switch (_j.label) {
3973
- case 0:
3974
- if (!args || args.length === 0) {
3975
- return [2 /*return*/, false];
3976
- }
3977
- return [4 /*yield*/, this.asyncEvery(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
3978
- var evaluator;
3979
- return __generator(this, function (_j) {
3980
- switch (_j.label) {
3981
- case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
3982
- case 1:
3983
- evaluator = _j.sent();
3984
- if (!evaluator) {
3985
- console.warn("evaluator not found: " + arg.value);
3986
- return [2 /*return*/, false];
3987
- }
3988
- return [4 /*yield*/, evaluator(context, arg.parameters || [])];
3989
- case 2: return [2 /*return*/, _j.sent()];
3990
- }
3991
- });
3992
- }); })];
3993
- case 1: return [2 /*return*/, _j.sent()];
3994
- }
3995
- });
3996
- }); },
3997
- OR: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
3998
- var _this = this;
3999
- return __generator(this, function (_j) {
4000
- switch (_j.label) {
4001
- case 0:
4002
- if (!args || args.length === 0) {
4003
- return [2 /*return*/, false];
4004
- }
4005
- return [4 /*yield*/, this.asyncSome(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
4006
- var evaluator, res;
4007
- return __generator(this, function (_j) {
4008
- switch (_j.label) {
4009
- case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
4010
- case 1:
4011
- evaluator = _j.sent();
4012
- if (!evaluator) {
4013
- console.warn("evaluator not found: " + arg.value);
4014
- return [2 /*return*/, false];
4015
- }
4016
- return [4 /*yield*/, evaluator(context, arg.parameters || [])];
4017
- case 2:
4018
- res = _j.sent();
4019
- return [2 /*return*/, res];
4020
- }
4021
- });
4022
- }); })];
4023
- case 1: return [2 /*return*/, _j.sent()];
4024
- }
4025
- });
4026
- }); },
4027
- isStatus: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4028
- return __generator(this, function (_j) {
4029
- if (args.indexOf(context.entity.state) > -1) {
4030
- return [2 /*return*/, true];
4031
- }
4032
- else {
4033
- return [2 /*return*/, false];
4034
- }
4035
- return [2 /*return*/];
4036
- });
4037
- }); },
4038
- isCreator: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4039
- var _a, _b, _c, _d, _e, _f, _g, _h, owner;
4040
- return __generator(this, function (_j) {
4041
- if ((_b = (_a = context.entity.properties.owner) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.username) {
4042
- owner = (_d = (_c = context.entity.properties.owner) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.username;
4043
- }
4044
- else if ((_f = (_e = context.entity.properties["corr:owner"]) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.username) {
4045
- owner = (_h = (_g = context.entity.properties["corr:owner"]) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.username;
4046
- }
4047
- else if (context.entity.properties.owner) {
4048
- owner = context.entity.properties.owner;
4049
- }
4050
- else if (context.entity.properties["corr:owner"]) {
4051
- owner = context.entity.properties["corr:owner"];
4052
- }
4053
- if (owner === context.user.properties.username) {
4054
- return [2 /*return*/, true];
4055
- }
4056
- else {
4057
- return [2 /*return*/, false];
4058
- }
4059
- return [2 /*return*/];
4060
- });
4061
- }); },
4062
- isUserInrole: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4063
- var result;
4064
- return __generator(this, function (_j) {
4065
- switch (_j.label) {
4066
- case 0: return [4 /*yield*/, this.nuxeoService
4067
- .isUserInRole(args, "")
4068
- .pipe(operators.first())
4069
- .toPromise()];
4070
- case 1:
4071
- result = _j.sent();
4072
- return [2 /*return*/, result];
4073
- }
4074
- });
4075
- }); },
4076
- };
4077
- this.getEvaluator = function (key) { return __awaiter(_this, void 0, void 0, function () {
4078
- var eva, fn_1;
4079
- var _this = this;
4080
- return __generator(this, function (_j) {
4081
- eva = this.evaluators;
4082
- if (key && key.startsWith("!")) {
4083
- fn_1 = eva[key.substring(1)];
4084
- return [2 /*return*/, function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4085
- var result;
4086
- return __generator(this, function (_j) {
4087
- switch (_j.label) {
4088
- case 0: return [4 /*yield*/, fn_1.apply(void 0, __spreadArray([context], __read(args)))];
4089
- case 1:
4090
- result = _j.sent();
4091
- return [2 /*return*/, !result];
4092
- }
4093
- });
4094
- }); }];
4095
- }
4096
- return [2 /*return*/, eva[key]];
4097
- });
4098
- }); };
4099
- this.appConfigService.configLoaded.subscribe(function (ready) {
4100
- if (ready) {
4101
- _this.conditions = _this.getAllRules();
4102
- }
4097
+ this.userPreferenceService = userPreferenceService;
4098
+ this.onDestroy$ = new rxjs.Subject();
4099
+ this.userPreferenceService
4100
+ .select(exports.UserPreferenceValues.Locale)
4101
+ .pipe(operators.takeUntil(this.onDestroy$))
4102
+ .subscribe(function (locale) {
4103
+ _this.defaultLocale = locale || TimeAgoPipe.DEFAULT_LOCALE;
4103
4104
  });
4105
+ this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;
4104
4106
  }
4105
- EvaluatorsService.prototype.setEvaluators = function (evaluators) {
4106
- this.evaluators = Object.assign(Object.assign({}, this.evaluators), evaluators);
4107
- };
4108
- EvaluatorsService.prototype.getEvaluators = function () {
4109
- return this.evaluators;
4110
- };
4111
- // ----------------------------------------------------
4112
- EvaluatorsService.prototype.evaluateRule = function (ruleId, context) {
4113
- return __awaiter(this, void 0, void 0, function () {
4114
- var ruleRef, evaluator, evaluator;
4115
- return __generator(this, function (_j) {
4116
- switch (_j.label) {
4117
- case 0:
4118
- ruleRef = this.getRuleById(ruleId);
4119
- context = context || this.context;
4120
- context["getEvaluator"] = this.getEvaluator;
4121
- if (!ruleRef) return [3 /*break*/, 4];
4122
- return [4 /*yield*/, this.getEvaluator(ruleRef.type)];
4123
- case 1:
4124
- evaluator = _j.sent();
4125
- if (!evaluator) return [3 /*break*/, 3];
4126
- return [4 /*yield*/, evaluator(context, ruleRef.parameters)];
4127
- case 2: return [2 /*return*/, _j.sent()];
4128
- case 3: return [3 /*break*/, 7];
4129
- case 4: return [4 /*yield*/, this.getEvaluator(ruleId)];
4130
- case 5:
4131
- evaluator = _j.sent();
4132
- if (!evaluator) return [3 /*break*/, 7];
4133
- return [4 /*yield*/, evaluator(context)];
4134
- case 6: return [2 /*return*/, _j.sent()];
4135
- case 7: return [2 /*return*/];
4136
- }
4137
- });
4138
- });
4107
+ /**
4108
+ *
4109
+ * @param value date object
4110
+ * @param locale locale to be transformed to
4111
+ * @returns Time ago string (15 minutes ago)
4112
+ */
4113
+ TimeAgoPipe.prototype.transform = function (value, locale) {
4114
+ if (value !== null && value !== undefined) {
4115
+ var actualLocale = locale || this.defaultLocale;
4116
+ var then = moment__default["default"](value);
4117
+ //const diff = moment().locale(actualLocale).diff(then, 'days');
4118
+ return then.locale(actualLocale).fromNow();
4119
+ // if ( diff > 7) {
4120
+ // const datePipe: DatePipe = new DatePipe(actualLocale);
4121
+ // return datePipe.transform(value, this.defaultDateTimeFormat);
4122
+ // } else {
4123
+ // return then.locale(actualLocale).fromNow();
4124
+ // }
4125
+ }
4126
+ return '';
4139
4127
  };
4140
- EvaluatorsService.prototype.getRuleById = function (id) {
4141
- return this.conditions[id] ? Object.assign({}, this.conditions[id]) : null;
4128
+ /** @ignore */
4129
+ TimeAgoPipe.prototype.ngOnDestroy = function () {
4130
+ this.onDestroy$.next(true);
4131
+ this.onDestroy$.complete();
4142
4132
  };
4143
- EvaluatorsService.prototype.getAllRules = function () {
4144
- return this.appConfigService.conditons;
4133
+ return TimeAgoPipe;
4134
+ }());
4135
+ TimeAgoPipe.DEFAULT_LOCALE = 'en-US';
4136
+ TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';
4137
+ TimeAgoPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, deps: [{ token: UserPreferencesService }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4138
+ TimeAgoPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, name: "timeAgo" });
4139
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, decorators: [{
4140
+ type: i0.Pipe,
4141
+ args: [{
4142
+ name: 'timeAgo'
4143
+ }]
4144
+ }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
4145
+
4146
+ /**
4147
+ * Transforms array of strings to single string seperated with seperator
4148
+ *
4149
+ * ### In template example:
4150
+ * ~~~html
4151
+ * <!-- in template -->
4152
+ * <p>{{ ['string 1','string 2', 'string 3'] | multiValue : {valueSeparator:', '}}}</p>
4153
+ * ~~~
4154
+ * @title
4155
+ * Multi Value
4156
+ *
4157
+ * @example
4158
+ * ...
4159
+ * constructor(... private MultiValuePipe: multiValuePipe ...){
4160
+ * const MultiValueString = this.multiValuePipe.transform(['string 1','string 2', 'string 3'], ', ');
4161
+ * }
4162
+ * ...
4163
+ */
4164
+ var MultiValuePipe = /** @class */ (function () {
4165
+ function MultiValuePipe() {
4166
+ }
4167
+ /**
4168
+ *
4169
+ * @param values array of strings
4170
+ * @param valueSeparator seperator to place between elements
4171
+ * @returns the joining of all array items seperated with seperator
4172
+ */
4173
+ MultiValuePipe.prototype.transform = function (values, valueSeparator) {
4174
+ if (valueSeparator === void 0) { valueSeparator = MultiValuePipe.DEFAULT_SEPARATOR; }
4175
+ if (values && values instanceof Array) {
4176
+ return values.join(valueSeparator);
4177
+ }
4178
+ return values;
4145
4179
  };
4146
- return EvaluatorsService;
4180
+ return MultiValuePipe;
4147
4181
  }());
4148
- EvaluatorsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, deps: [{ token: NuxeoService }, { token: AppConfigService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
4149
- EvaluatorsServiceprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, providedIn: "root" });
4150
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, decorators: [{
4151
- type: i0.Injectable,
4152
- args: [{ providedIn: "root" }]
4153
- }], ctorParameters: function () { return [{ type: NuxeoService }, { type: AppConfigService }]; } });
4182
+ MultiValuePipe.DEFAULT_SEPARATOR = ', ';
4183
+ MultiValuePipefac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4184
+ MultiValuePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, name: "multiValue" });
4185
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, decorators: [{
4186
+ type: i0.Pipe,
4187
+ args: [{ name: 'multiValue' }]
4188
+ }] });
4154
4189
 
4155
4190
  /**
4156
- * Permission directive shows or hides an element,
4157
- * based on a predefined structured condition object in the [conditions.json]{@link ../additional-documentation/conditions-file.html} file.
4158
- * it will evaluate the rule and shows or hides an element based on the result.
4159
- * this directive can evaluate rules against a document object as well,
4160
- * check [conditions.json]{@link ../additional-documentation/conditions-file.html} for more information
4161
- * @example
4162
- * <div *permission="{ name: 'conditionKey', entity: nuxeoDocumentObject }">
4163
- * Element with permissions
4164
- * </duv>
4165
- * <div *permission="{ name: 'conditionKey2' }">
4166
- * Element with permissions 2
4167
- * </duv>
4191
+ * transforms file size into translated appropriate units
4192
+ *
4193
+ * ### In template example:
4194
+ * ~~~html
4195
+ * <!-- in template -->
4196
+ * <p>{{ file.sizeInBytes | FileSize}}</p>
4197
+ * ~~~
4168
4198
  * @title
4169
- * Permission
4199
+ * File Size
4200
+ *
4201
+ * @example
4202
+ * ...
4203
+ * constructor(... private FileSizePipe: fileSizePiple ...){
4204
+ * const sizeString = this.fileSizePiple.transform(sizeInBytes);
4205
+ * }
4206
+ * ...
4170
4207
  */
4171
- var PermissionsDirective = /** @class */ (function () {
4172
- function PermissionsDirective(nuxeoService, eltRef, viewContainerRef, templateRef, appConfigService, evaluatorsService) {
4173
- this.nuxeoService = nuxeoService;
4174
- this.eltRef = eltRef;
4175
- this.viewContainerRef = viewContainerRef;
4176
- this.templateRef = templateRef;
4177
- this.appConfigService = appConfigService;
4178
- this.evaluatorsService = evaluatorsService;
4179
- this.isVisible = false;
4180
- this.context = { entity: null, getEvaluator: null, user: null };
4208
+ var FileSizePipe = /** @class */ (function () {
4209
+ function FileSizePipe(translation) {
4210
+ this.translation = translation;
4181
4211
  }
4182
- PermissionsDirective.prototype.ngOnInit = function () {
4183
- var _this = this;
4184
- this.context.getEvaluator = this.evaluatorsService.getEvaluator;
4185
- if (!this.permission.name) {
4186
- if (!this.isVisible) {
4187
- this.isVisible = true;
4188
- this.viewContainerRef.createEmbeddedView(this.templateRef);
4189
- }
4212
+ /**
4213
+ *
4214
+ * @param paramByte Size in Bytes
4215
+ * @optional @param decimals Decimals to show
4216
+ * @returns translated size string
4217
+ */
4218
+ FileSizePipe.prototype.transform = function (paramByte, decimals) {
4219
+ if (decimals === void 0) { decimals = 2; }
4220
+ if (paramByte == null) {
4221
+ return '';
4190
4222
  }
4191
- else {
4192
- this.context.entity = this.permission.entity;
4193
- this.context.user = this.permission.user || this.nuxeoService.nuxeoClient.user;
4194
- this.evaluatorsService.evaluateRule(this.permission.name, this.context).then(function (result) {
4195
- if (result) {
4196
- if (!_this.isVisible) {
4197
- _this.isVisible = true;
4198
- _this.viewContainerRef.createEmbeddedView(_this.templateRef);
4199
- }
4200
- }
4201
- else {
4202
- _this.isVisible = false;
4203
- _this.viewContainerRef.clear();
4204
- }
4205
- });
4223
+ var bytes = parseInt(paramByte, 10);
4224
+ if (isNaN(bytes)) {
4225
+ return '';
4226
+ }
4227
+ if (bytes === 0) {
4228
+ return '0 ' + this.translation.instant('FILE_SIZE.BYTES');
4206
4229
  }
4230
+ var k = 1024, dm = decimals || 2, sizes = ['BYTES', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], i = Math.floor(Math.log(bytes) / Math.log(k));
4231
+ var i18nSize = this.translation.instant("FILE_SIZE." + sizes[i]);
4232
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + i18nSize;
4207
4233
  };
4208
- return PermissionsDirective;
4234
+ return FileSizePipe;
4209
4235
  }());
4210
- PermissionsDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PermissionsDirective, deps: [{ token: NuxeoService }, { token: i0__namespace.ElementRef }, { token: i0__namespace.ViewContainerRef }, { token: i0__namespace.TemplateRef }, { token: AppConfigService }, { token: EvaluatorsService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
4211
- PermissionsDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsDirective, selector: "[permission]", inputs: { permission: "permission" }, ngImport: i0__namespace });
4212
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PermissionsDirective, decorators: [{
4213
- type: i0.Directive,
4236
+ FileSizePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, deps: [{ token: TranslationService }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4237
+ FileSizePipepipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, name: "FileSize", pure: false });
4238
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, decorators: [{
4239
+ type: i0.Pipe,
4214
4240
  args: [{
4215
- selector: '[permission]'
4241
+ name: 'FileSize',
4242
+ pure: false
4216
4243
  }]
4217
- }], ctorParameters: function () { return [{ type: NuxeoService }, { type: i0__namespace.ElementRef }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: AppConfigService }, { type: EvaluatorsService }]; }, propDecorators: { permission: [{
4218
- type: i0.Input
4219
- }] } });
4244
+ }], ctorParameters: function () { return [{ type: TranslationService }]; } });
4220
4245
 
4221
- /** @ignore */
4222
- var SetDirRtlDirective = /** @class */ (function () {
4223
- function SetDirRtlDirective(elRef, renderer, translation) {
4224
- this.elRef = elRef;
4225
- this.renderer = renderer;
4226
- this.translation = translation;
4227
- this.switchDirBasedOnLanguage();
4246
+ /**
4247
+ * Transforms and formats date into hijri
4248
+ *
4249
+ * ### In template example:
4250
+ * ~~~html
4251
+ * <!-- in template -->
4252
+ * <p>{{ dateObject | hijriDate : {format:'iYYYY iMMMM iD'}}}</p>
4253
+ * ~~~
4254
+ * @title
4255
+ * Hijri Date
4256
+ *
4257
+ * @example
4258
+ * ...
4259
+ * constructor(... private HijriDatePipe: hijriDatePipe ...){
4260
+ * const formattedHijriDate = this.hijriDatePipe.transform(dateObject, 'iYYYY iMMMM iD');
4261
+ * }
4262
+ * ...
4263
+ */
4264
+ var HijriDatePipe = /** @class */ (function () {
4265
+ function HijriDatePipe() {
4266
+ this.defaultFormat = "iYYYY iMMMM iD";
4228
4267
  }
4229
- SetDirRtlDirective.prototype.switchDirBasedOnLanguage = function () {
4230
- var _this = this;
4231
- this.translation.isArabic.subscribe(function (arabic) {
4232
- arabic
4233
- ? _this.renderer.setAttribute(_this.elRef.nativeElement, 'dir', 'rtl')
4234
- : _this.renderer.setAttribute(_this.elRef.nativeElement, 'dir', 'ltr');
4235
- });
4268
+ /**
4269
+ *
4270
+ * @param value Date object
4271
+ * @param format Format
4272
+ * @returns formatted hijri date string
4273
+ */
4274
+ HijriDatePipe.prototype.transform = function (value, format) {
4275
+ var actualFormat = format || this.defaultFormat;
4276
+ var m = moment___namespace(value, 'iYYYY/iM/iD'); // Parse a Hijri date.
4277
+ return m.format("iD iMMMM iYYYY");
4236
4278
  };
4237
- return SetDirRtlDirective;
4279
+ return HijriDatePipe;
4238
4280
  }());
4239
- SetDirRtlDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetDirRtlDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: TranslationService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
4240
- SetDirRtlDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SetDirRtlDirective, selector: "[SetDirRtl]", ngImport: i0__namespace });
4241
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetDirRtlDirective, decorators: [{
4242
- type: i0.Directive,
4281
+ HijriDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4282
+ HijriDatePipepipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, name: "hijriDate" });
4283
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, decorators: [{
4284
+ type: i0.Pipe,
4243
4285
  args: [{
4244
- selector: '[SetDirRtl]',
4286
+ name: 'hijriDate'
4245
4287
  }]
4246
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
4288
+ }] });
4247
4289
 
4248
- var AppHasRoleDirective = /** @class */ (function () {
4249
- function AppHasRoleDirective(viewContainerRef, templateRef, nuxeoService) {
4250
- this.viewContainerRef = viewContainerRef;
4251
- this.templateRef = templateRef;
4252
- this.nuxeoService = nuxeoService;
4253
- this.stop$ = new rxjs.Subject();
4254
- this.isVisible = false;
4290
+ /**
4291
+ * @title
4292
+ * Pipes Module
4293
+ */
4294
+ var PipesModule = /** @class */ (function () {
4295
+ function PipesModule() {
4255
4296
  }
4256
- AppHasRoleDirective.prototype.ngOnInit = function () {
4257
- var _this = this;
4258
- var _a;
4259
- if ((_a = this.appHasRole) === null || _a === void 0 ? void 0 : _a.role) {
4260
- this.nuxeoService.isUserInRole(this.appHasRole.role, this.appHasRole.code).subscribe(function (data) {
4261
- if (data || !_this.appHasRole) {
4262
- // If it is already visible (which can happen if
4263
- // his roles changed) we do not need to add it a second time
4264
- if (!_this.isVisible) {
4265
- // We update the `isVisible` property and add the
4266
- // templateRef to the view using the
4267
- // 'createEmbeddedView' method of the viewContainerRef
4268
- _this.isVisible = true;
4269
- _this.viewContainerRef.createEmbeddedView(_this.templateRef);
4270
- }
4271
- }
4272
- else {
4273
- // If the user does not have the role,
4274
- // we update the `isVisible` property and clear
4275
- // the contents of the viewContainerRef
4276
- _this.isVisible = false;
4277
- _this.viewContainerRef.clear();
4278
- }
4279
- });
4280
- }
4281
- else {
4282
- if (!this.isVisible) {
4283
- // We update the `isVisible` property and add the
4284
- // templateRef to the view using the
4285
- // 'createEmbeddedView' method of the viewContainerRef
4286
- this.isVisible = true;
4287
- this.viewContainerRef.createEmbeddedView(this.templateRef);
4288
- }
4289
- }
4290
- };
4291
- AppHasRoleDirective.prototype.ngOnChanges = function () {
4292
- this.ngOnInit();
4293
- };
4294
- return AppHasRoleDirective;
4297
+ return PipesModule;
4295
4298
  }());
4296
- AppHasRoleDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AppHasRoleDirective, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.TemplateRef }, { token: NuxeoService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
4297
- AppHasRoleDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AppHasRoleDirective, selector: "[appHasRole]", inputs: { appHasRole: "appHasRole" }, usesOnChanges: true, ngImport: i0__namespace });
4298
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AppHasRoleDirective, decorators: [{
4299
- type: i0.Directive,
4299
+ PipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4300
+ PipesModulemod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, declarations: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe], imports: [i4.CommonModule], exports: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe] });
4301
+ PipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, providers: [TimeAgoPipe, MultiValuePipe], imports: [[i4.CommonModule]] });
4302
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, decorators: [{
4303
+ type: i0.NgModule,
4300
4304
  args: [{
4301
- selector: '[appHasRole]'
4305
+ declarations: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
4306
+ imports: [i4.CommonModule],
4307
+ exports: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
4308
+ providers: [TimeAgoPipe, MultiValuePipe],
4302
4309
  }]
4303
- }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: NuxeoService }]; }, propDecorators: { appHasRole: [{
4304
- type: i0.Input
4305
- }] } });
4310
+ }] });
4306
4311
 
4307
- var DragAndDropDirective = /** @class */ (function () {
4308
- function DragAndDropDirective() {
4309
- this.fileDroped = new i0.EventEmitter();
4312
+ /**
4313
+ * @title
4314
+ * Avatar Module
4315
+ */
4316
+ var AvatarModule = /** @class */ (function () {
4317
+ function AvatarModule() {
4310
4318
  }
4311
- DragAndDropDirective.prototype.onDragOver = function (evt) {
4312
- evt.preventDefault();
4313
- evt.stopPropagation();
4314
- };
4315
- DragAndDropDirective.prototype.onDragLeave = function (evt) {
4316
- evt.preventDefault();
4317
- evt.stopPropagation();
4318
- };
4319
- DragAndDropDirective.prototype.onDrop = function (evt) {
4320
- var e_1, _a;
4321
- var files = [];
4322
- evt.preventDefault();
4323
- evt.stopPropagation();
4324
- if (evt.dataTransfer.files.length) {
4325
- try {
4326
- for (var _b = __values(evt.dataTransfer.files), _c = _b.next(); !_c.done; _c = _b.next()) {
4327
- var file = _c.value;
4328
- files.push(file);
4329
- }
4330
- }
4331
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
4332
- finally {
4333
- try {
4334
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
4335
- }
4336
- finally { if (e_1) throw e_1.error; }
4337
- }
4338
- this.fileDroped.emit(files);
4339
- }
4340
- };
4341
- return DragAndDropDirective;
4319
+ return AvatarModule;
4342
4320
  }());
4343
- DragAndDropDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
4344
- DragAndDropDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DragAndDropDirective, selector: "[appDragAndDrop]", outputs: { fileDroped: "fileDroped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, ngImport: i0__namespace });
4345
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, decorators: [{
4346
- type: i0.Directive,
4321
+ AvatarModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4322
+ AvatarModulemod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, declarations: [AvatarComponent], imports: [i4.CommonModule,
4323
+ PipesModule], exports: [AvatarComponent] });
4324
+ AvatarModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, imports: [[
4325
+ i4.CommonModule,
4326
+ PipesModule
4327
+ ]] });
4328
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, decorators: [{
4329
+ type: i0.NgModule,
4347
4330
  args: [{
4348
- selector: '[appDragAndDrop]'
4331
+ declarations: [AvatarComponent],
4332
+ imports: [
4333
+ i4.CommonModule,
4334
+ PipesModule
4335
+ ],
4336
+ exports: [
4337
+ AvatarComponent
4338
+ ]
4349
4339
  }]
4350
- }], ctorParameters: function () { return []; }, propDecorators: { fileDroped: [{
4351
- type: i0.Output
4352
- }], onDragOver: [{
4353
- type: i0.HostListener,
4354
- args: ['dragover', ['$event']]
4355
- }], onDragLeave: [{
4356
- type: i0.HostListener,
4357
- args: ['dragleave', ['$event']]
4358
- }], onDrop: [{
4359
- type: i0.HostListener,
4360
- args: ['drop', ['$event']]
4340
+ }] });
4341
+
4342
+ /**
4343
+ * A reusable card component to display various types of contents
4344
+ *
4345
+ * ![Screenshot-1](../screenshots/card.png)
4346
+ * @title
4347
+ * Card
4348
+ * @example
4349
+ *
4350
+ * <app-card>
4351
+ * <h3 class="title">
4352
+ * Card title
4353
+ * </h3>
4354
+ * <div class="my-toolbar">
4355
+ * <button class="btn-primary"> Action Button </button>
4356
+ * </div>
4357
+ * <div class="body">
4358
+ * </div>
4359
+ * </app-card>
4360
+ */
4361
+ var CardComponent = /** @class */ (function () {
4362
+ /** enable/disable shadow */
4363
+ function CardComponent() {
4364
+ /** card has no body */
4365
+ this.noBody = false;
4366
+ /** is card dark */
4367
+ this.dark = false;
4368
+ }
4369
+ CardComponent.prototype.ngOnInit = function () { };
4370
+ return CardComponent;
4371
+ }());
4372
+ CardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
4373
+ CardComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CardComponent, selector: "app-card", inputs: { noBody: "noBody", dark: "dark" }, ngImport: i0__namespace, template: "<div\r\n class=\"app-card\"\r\n [ngClass]=\"{\r\n 'dark-app-card ': dark\r\n }\"\r\n>\r\n <div class=\"card-inner\">\r\n <div\r\n [ngClass]=\"{\r\n hidden: title.childNodes.length == 0 && toolbar.childNodes.length == 0\r\n }\"\r\n class=\"card-title\"\r\n >\r\n <div class=\"title-padder\">\r\n <!-- title Area -->\r\n <span #title>\r\n <ng-content select=\".title\"></ng-content>\r\n </span>\r\n <!-- toolbar Area -->\r\n <div class=\"my-toolbar\" #toolbar>\r\n <ng-content select=\".my-toolbar\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- body area -->\r\n <div class=\"card-body\" *ngIf=\"!noBody\">\r\n <ng-content select=\".body\"></ng-content>\r\n </div>\r\n <div class=\"no-items\">\r\n <p class=\"message\">\r\n <ng-content select=\".no-content\"></ng-content>\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.app-card{border-radius:5px;display:flex;flex-direction:column;background:#ffffff;position:relative;padding:24px 0 0}.app-card .card-inner{display:flex;flex-direction:column}.card-title{height:auto;border:0px solid;border-color:#465573;color:#465573;border-inline-start-width:8px}.card-title h1,.card-title h2,.card-title h3,.card-title h4,.card-title h5,.card-title h6,.card-title span,.card-title p{font-size:18px}.title-padder{padding:0 24px;display:flex;align-items:center;justify-content:space-between}.dark-app-card{background:#465573}.dark-app-card .card-title{border-color:#fff;color:#fff}.my-toolbar{display:flex}.my-toolbar .add-button{border-radius:5px;width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center}.my-toolbar .add-button .icon{font-size:30px;font-weight:bold}.my-toolbar .add-button .edit{font-size:25px}.no-items{display:flex;justify-content:center}.no-items .message{text-align:center;color:#b4bac6;font-size:20px}\n"], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
4374
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardComponent, decorators: [{
4375
+ type: i0.Component,
4376
+ args: [{
4377
+ selector: 'app-card',
4378
+ templateUrl: './card.component.html',
4379
+ styleUrls: ['./card.component.scss'],
4380
+ encapsulation: i0.ViewEncapsulation.None,
4381
+ }]
4382
+ }], ctorParameters: function () { return []; }, propDecorators: { noBody: [{
4383
+ type: i0.Input
4384
+ }], dark: [{
4385
+ type: i0.Input
4361
4386
  }] } });
4362
4387
 
4363
4388
  /**
4364
4389
  * @title
4365
- * Directives Module
4390
+ * Card Module
4366
4391
  */
4367
- var DirectiveModule = /** @class */ (function () {
4368
- function DirectiveModule() {
4392
+ var CardModule = /** @class */ (function () {
4393
+ function CardModule() {
4369
4394
  }
4370
- return DirectiveModule;
4395
+ return CardModule;
4371
4396
  }());
4372
- DirectiveModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4373
- DirectiveModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, declarations: [ClickOutsideDirective,
4374
- SetRtlDirective,
4375
- PermissionsDirective,
4376
- SetDirRtlDirective,
4377
- AppHasRoleDirective,
4378
- DragAndDropDirective], imports: [i4.CommonModule], exports: [ClickOutsideDirective,
4379
- SetRtlDirective,
4380
- PermissionsDirective,
4381
- SetDirRtlDirective,
4382
- AppHasRoleDirective,
4383
- DragAndDropDirective] });
4384
- DirectiveModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, providers: [], imports: [[i4.CommonModule]] });
4385
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, decorators: [{
4397
+ CardModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4398
+ CardModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, declarations: [CardComponent], imports: [i4.CommonModule], exports: [CardComponent] });
4399
+ CardModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, providers: [], imports: [[i4.CommonModule]] });
4400
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, decorators: [{
4386
4401
  type: i0.NgModule,
4387
4402
  args: [{
4388
- declarations: [
4389
- ClickOutsideDirective,
4390
- SetRtlDirective,
4391
- PermissionsDirective,
4392
- SetDirRtlDirective,
4393
- AppHasRoleDirective,
4394
- DragAndDropDirective
4395
- ],
4403
+ declarations: [CardComponent],
4396
4404
  imports: [i4.CommonModule],
4397
- exports: [
4398
- ClickOutsideDirective,
4399
- SetRtlDirective,
4400
- PermissionsDirective,
4401
- SetDirRtlDirective,
4402
- AppHasRoleDirective,
4403
- DragAndDropDirective
4404
- ],
4405
- providers: []
4405
+ exports: [CardComponent],
4406
+ providers: [],
4406
4407
  }]
4407
4408
  }] });
4408
4409
 
@@ -4824,7 +4825,7 @@
4824
4825
  LibrarySharedModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LibrarySharedModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4825
4826
  LibrarySharedModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LibrarySharedModule, declarations: [ReadMoreComponent, UserCardComponent, ButtonComponent, NoDataComponent, SpinnerComponent, ItemListComponent], imports: [AvatarModule,
4826
4827
  i4.CommonModule,
4827
- i1$4.RouterModule,
4828
+ i1$3.RouterModule,
4828
4829
  i1$1.TranslateModule,
4829
4830
  i8.MatProgressSpinnerModule,
4830
4831
  i2$1.MatIconModule,
@@ -4841,7 +4842,7 @@
4841
4842
  LibrarySharedModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LibrarySharedModule, imports: [[
4842
4843
  AvatarModule,
4843
4844
  i4.CommonModule,
4844
- i1$4.RouterModule,
4845
+ i1$3.RouterModule,
4845
4846
  i1$1.TranslateModule,
4846
4847
  i8.MatProgressSpinnerModule,
4847
4848
  i2$1.MatIconModule,
@@ -4857,7 +4858,7 @@
4857
4858
  imports: [
4858
4859
  AvatarModule,
4859
4860
  i4.CommonModule,
4860
- i1$4.RouterModule,
4861
+ i1$3.RouterModule,
4861
4862
  i1$1.TranslateModule,
4862
4863
  i8.MatProgressSpinnerModule,
4863
4864
  i2$1.MatIconModule,
@@ -5016,7 +5017,7 @@
5016
5017
  };
5017
5018
  return EditDeleteModalComponent;
5018
5019
  }());
5019
- EditDeleteModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditDeleteModalComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$1.ToastrService }, { token: CommentApiService }, { token: NuxeoService }, { token: i1__namespace$3.MatDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5020
+ EditDeleteModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditDeleteModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$1.ToastrService }, { token: CommentApiService }, { token: NuxeoService }, { token: i1__namespace$3.MatDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5020
5021
  EditDeleteModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditDeleteModalComponent, selector: "lib-edit-delete-modal", ngImport: i0__namespace, template: "<div class=\"comment-control\">\r\n <div class=\"delete-modal\" *ngIf=\"operationType === 'delete'\">\r\n <div class=\"delete-message\">{{ \"comment.are-you-sure\" | translate }}</div>\r\n <div class=\"delete-buttons\">\r\n <button class=\"submission-button\" (click)=\"delete()\">{{ \"BUTTONS.Delete\" | translate }}</button>\r\n <button class=\"cancelation-button\"(click)=\"cancel()\">{{ \"BUTTONS.Cancel\" | translate }}</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"update-modal\" *ngIf=\"operationType === 'edit'\">\r\n <div class=\"text-update\">\r\n <textarea placeholder=\"Comment ...\" [(ngModel)]=\"comment.text\" rows=\"3\"></textarea>\r\n <div class=\"error\" *ngIf=\"(comment.text.trim()).length === 0\">\r\n {{ \"comment.comment-required\" | translate }}\r\n </div>\r\n </div>\r\n <div class=\"delete-buttons\">\r\n <button class=\"submission-button -mx-1\" [disabled]=\"(comment.text.trim()).length === 0\" (click)=\"update()\">{{ \"BUTTONS.UPDATE\" | translate }}</button>\r\n <button class=\"cancelation-button\" (click)=\"cancel()\">{{ \"BUTTONS.Cancel\" | translate }}</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".comment-control{height:100%}.comment-control .delete-modal{display:flex;height:100%;flex-direction:column;justify-content:center;align-items:center}.comment-control .delete-modal .delete-message{text-align:center;font-size:16px;color:#000;margin-bottom:20px}.comment-control .delete-modal .delete-buttons{display:flex;align-items:center;justify-content:center}.comment-control .update-modal{height:100%;display:flex;justify-content:space-between;flex-direction:column}.comment-control .update-modal .text-update .error{font-size:14px;color:red}.comment-control .update-modal textarea{margin-bottom:0;border-radius:5px;padding:8px;width:100%;color:#465573;outline:none;border:1px solid #d9dce2;background-color:#8f98aa1a;resize:none}.comment-control .update-modal .delete-buttons{display:flex;justify-content:space-between}\n"], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
5021
5022
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditDeleteModalComponent, decorators: [{
5022
5023
  type: i0.Component,
@@ -5028,7 +5029,7 @@
5028
5029
  }], ctorParameters: function () {
5029
5030
  return [{ type: undefined, decorators: [{
5030
5031
  type: i0.Inject,
5031
- args: [i1$3.MAT_DIALOG_DATA]
5032
+ args: [i1$4.MAT_DIALOG_DATA]
5032
5033
  }] }, { type: i1__namespace$1.ToastrService }, { type: CommentApiService }, { type: NuxeoService }, { type: i1__namespace$3.MatDialogRef }];
5033
5034
  } });
5034
5035
 
@@ -5370,7 +5371,7 @@
5370
5371
  };
5371
5372
  return ConfirmCallerDialogComponent;
5372
5373
  }());
5373
- ConfirmCallerDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerDialogComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: CustomToastrService }], target: i0__namespace.ɵɵFactoryTarget.Component });
5374
+ ConfirmCallerDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerDialogComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: CustomToastrService }], target: i0__namespace.ɵɵFactoryTarget.Component });
5374
5375
  ConfirmCallerDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfirmCallerDialogComponent, selector: "ng-component", host: { classAttribute: "confirm-caller" }, ngImport: i0__namespace, template: "<div class=\"iner-dialog-wraper\" [dir]=\"'dir' | translate\">\r\n <h1 class=\"dialog-title\">{{data.title | translate}}</h1>\r\n <div class=\"dialog-message\">\r\n <div>{{data.message | translate}}</div>\r\n </div>\r\n\r\n <div mat-dialog-actions>\r\n <!-- <cts-button\r\n [theme]=\"'primary'\"\r\n [size]=\"'regular'\"\r\n [disabled]=\"calling\"\r\n (onClick)=\"makeCall()\"\r\n >\r\n {{ 'Yes' | translate}}\r\n </cts-button> -->\r\n\r\n <button class=\"btn confirm centering-element\" [disabled]=\"calling\"\r\n (click)=\"makeCall()\">\r\n <span *ngIf=\"!calling\">\r\n {{ 'Yes' | translate}}\r\n </span>\r\n <mat-spinner class=\"spinner\" color=\"warn\" [diameter]=\"25\" *ngIf=\"calling\"></mat-spinner>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" [mat-dialog-close]=\"false\">\r\n {{'Cancel' | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.aca-file-version-upload-dialog{overflow:unset}.aca-file-version-upload-dialog .dialog-actions{justify-content:flex-end}.aca-file-version-upload-dialog .dialog-actions button{text-transform:uppercase}.aca-file-version-upload-dialog .file-version-dialog__title{padding-left:8px}.dialog-title{font-size:20px;text-align:center}.mat-dialog-actions{display:flex;justify-content:center}.mat-dialog-actions .btn{width:90px;margin:0 5px;min-width:70px}.mat-dialog-actions .confirm{background-image:linear-gradient(to bottom,#0dbab5,#2e62df);color:#fff}.mat-dialog-actions .centering-element{display:flex;justify-content:center}\n"], components: [{ type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4__namespace.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i1__namespace$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
5375
5376
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerDialogComponent, decorators: [{
5376
5377
  type: i0.Component,
@@ -5383,7 +5384,7 @@
5383
5384
  }], ctorParameters: function () {
5384
5385
  return [{ type: undefined, decorators: [{
5385
5386
  type: i0.Inject,
5386
- args: [i1$3.MAT_DIALOG_DATA]
5387
+ args: [i1$4.MAT_DIALOG_DATA]
5387
5388
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: CustomToastrService }];
5388
5389
  } });
5389
5390
 
@@ -5397,7 +5398,7 @@
5397
5398
  };
5398
5399
  return ConfirmDialogComponent;
5399
5400
  }());
5400
- ConfirmDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmDialogComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5401
+ ConfirmDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmDialogComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5401
5402
  ConfirmDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfirmDialogComponent, selector: "app-confirm-dialog", ngImport: i0__namespace, template: "<div dir=\"{{'dir' | translate}}\">\r\n <div class=\"content-container\">\r\n <span class=\"content-span full-width\">{{ data.message | translate }}</span>\r\n </div>\r\n <div class=\"button-group\">\r\n <button mat-flat-button id=\"no-button\" [mat-dialog-close]=\"false\">\r\n {{ 'No' | translate}}\r\n </button>\r\n <button mat-flat-button id=\"yes-button\" [mat-dialog-close]=\"true\">\r\n {{ 'Yes' | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [""], directives: [{ type: i4__namespace.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i1__namespace$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
5402
5403
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmDialogComponent, decorators: [{
5403
5404
  type: i0.Component,
@@ -5409,7 +5410,7 @@
5409
5410
  }], ctorParameters: function () {
5410
5411
  return [{ type: undefined, decorators: [{
5411
5412
  type: i0.Inject,
5412
- args: [i1$3.MAT_DIALOG_DATA]
5413
+ args: [i1$4.MAT_DIALOG_DATA]
5413
5414
  }] }, { type: i1__namespace$3.MatDialogRef }];
5414
5415
  } });
5415
5416
 
@@ -5423,13 +5424,13 @@
5423
5424
  return ConfirmCallerModule;
5424
5425
  }());
5425
5426
  ConfirmCallerModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
5426
- ConfirmCallerModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, declarations: [ConfirmCallerDialogComponent, ConfirmDialogComponent], imports: [i1$3.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule], exports: [i1$1.TranslateModule, ConfirmCallerDialogComponent, ConfirmDialogComponent] });
5427
- ConfirmCallerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, providers: [], imports: [[i1$3.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule], i1$1.TranslateModule] });
5427
+ ConfirmCallerModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, declarations: [ConfirmCallerDialogComponent, ConfirmDialogComponent], imports: [i1$4.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule], exports: [i1$1.TranslateModule, ConfirmCallerDialogComponent, ConfirmDialogComponent] });
5428
+ ConfirmCallerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, providers: [], imports: [[i1$4.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule], i1$1.TranslateModule] });
5428
5429
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, decorators: [{
5429
5430
  type: i0.NgModule,
5430
5431
  args: [{
5431
5432
  declarations: [ConfirmCallerDialogComponent, ConfirmDialogComponent],
5432
- imports: [i1$3.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule],
5433
+ imports: [i1$4.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule],
5433
5434
  exports: [i1$1.TranslateModule, ConfirmCallerDialogComponent, ConfirmDialogComponent],
5434
5435
  providers: [],
5435
5436
  }]
@@ -5447,7 +5448,7 @@
5447
5448
  };
5448
5449
  return ConfirmationDialogComponent;
5449
5450
  }());
5450
- ConfirmationDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5451
+ ConfirmationDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5451
5452
  ConfirmationDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfirmationDialogComponent, selector: "app-confirmation-dialog", ngImport: i0__namespace, template: "<!-- <div class=\"confirmation-dialog-contianer\">\r\n <div class=\"conf-title text-center text-gray-900 text-xl mb-5\">\r\n {{data.title | translate}}\r\n </div>\r\n <div class=\"conf-message text-center text-gray-900 text-lg mb-5\">\r\n {{data.message | translate}}\r\n </div>\r\n <div class=\"conf-actions d-flex justify-around items-center\">\r\n <button class=\"hover:text-gray-900 border-2 hover:border-gray-900 hover:bg-white w-30 bg-gray-900 text-white h-10 rounded-lg\" (click)=\"executeFunction(false)\">{{'BUTTONS.No' | translate}}</button>\r\n <button class=\"hover:text-gray-900 border-2 hover:border-gray-900 hover:bg-white w-30 bg-gray-900 text-white h-10 rounded-lg\" (click)=\"executeFunction(true)\">{{'BUTTONS.Yes' | translate}}</button>\r\n </div>\r\n</div> -->\r\n\r\n<div class=\"d-flex px-0 mb-5 h-24\">\r\n <img class=\"w-14 h-14\" src=\"assets/images/thumbnails/warning.png\">\r\n <div class=\"px-3 mt-3\">\r\n <span class=\"text-xl font-medium \">{{data.title | translate}}</span>\r\n <div class=\"text-lg text-secondary text-base mt-2 sub-title\">{{data.message | translate}}</div>\r\n </div>\r\n </div> \r\n<div class=\"conf-actions d-flex justify-end items-center px-0\">\r\n <button class=\"mx-2 cancelation-button w-1/3\" (click)=\"executeFunction(false)\">{{data.cancelButton | translate}}</button>\r\n <button class=\"mx-2 submission-button w-1/3\" (click)=\"executeFunction(true)\">{{data.confirmButton | translate}}</button>\r\n</div>", styles: [""], pipes: { "translate": i1__namespace.TranslatePipe } });
5452
5453
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogComponent, decorators: [{
5453
5454
  type: i0.Component,
@@ -5459,7 +5460,7 @@
5459
5460
  }], ctorParameters: function () {
5460
5461
  return [{ type: undefined, decorators: [{
5461
5462
  type: i0.Inject,
5462
- args: [i1$3.MAT_DIALOG_DATA]
5463
+ args: [i1$4.MAT_DIALOG_DATA]
5463
5464
  }] }, { type: i1__namespace$3.MatDialogRef }];
5464
5465
  } });
5465
5466
 
@@ -6164,7 +6165,7 @@
6164
6165
  };
6165
6166
  return CorrespondenceRelationCreateFormComponent;
6166
6167
  }());
6167
- CorrespondenceRelationCreateFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CorrespondenceRelationCreateFormComponent, deps: [{ token: i6__namespace.FormBuilder }, { token: CorrespondenceRelationService }, { token: CustomToastrService }, { token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
6168
+ CorrespondenceRelationCreateFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CorrespondenceRelationCreateFormComponent, deps: [{ token: i6__namespace.FormBuilder }, { token: CorrespondenceRelationService }, { token: CustomToastrService }, { token: i1__namespace$3.MatDialogRef }, { token: i1$4.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
6168
6169
  CorrespondenceRelationCreateFormComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationCreateFormComponent, selector: "cts-correspondence-relation-create-form", viewQueries: [{ propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"correspondence-relation-container\" SetDirRtl style=\"height: 80%; width: 100%\">\r\n <div class=\"correspondence-relation-title\">\r\n {{ \"correspondence-relation.add\" | translate }}\r\n </div>\r\n <!-- <mat-divider></mat-divider> -->\r\n <div mat-dialog-content [formGroup]=\"createform\">\r\n <div class=\"vocabulary-list\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'correspondence-relation.relation-type'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceRelationsNames'\"\r\n formControlName=\"relationname\"\r\n (onSelecting)=\"reset()\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"search-container\" *ngIf=\"createform.value.relationname\">\r\n <ng-autocomplete\r\n #auto\r\n [data]=\"documentList\"\r\n [searchKeyword]=\"'filter'\"\r\n (selected)=\"selectItem($event)\"\r\n (inputChanged)=\"onSearchInputChange($event)\"\r\n [customFilter]=\"disableFilter\"\r\n (closed)=\"keep_Autocomplete_Results_Open()\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\"\r\n [placeholder]=\"'correspondence-relation.searchby' | translate\"\r\n [debounceTime]=\"1000\"\r\n [isLoading]=\"isLoading\"\r\n (inputCleared)=\"inputCleared()\"\r\n >\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <div class=\"item\">\r\n <span>{{ item.title }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate>\r\n <div>{{ \"correspondence-relation.notfound\" | translate }}</div>\r\n </ng-template>\r\n\r\n <div class=\"chip-list\" *ngIf=\"related_corr.length > 0\">\r\n <mat-chip-list #chipList aria-label=\"corr selection\">\r\n <mat-chip\r\n *ngFor=\"let corr of related_corr\"\r\n [selectable]=\"selectable\"\r\n [removable]=\"removable\"\r\n (removed)=\"on_remove_relation_Chip(corr)\"\r\n >\r\n {{ corr.title }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"exist-relation\">\r\n <span *ngIf=\"exist\">\r\n {{ \"correspondence-relation.exist\" | translate }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n [loading]=\"saving\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n (onClick)=\"onSaveClick()\"\r\n [theme]=\"'primary'\"\r\n size=\"'regular'\"\r\n [disabled]=\"\r\n !this.createform.controls.relationname.valid || related_corr.length == 0\r\n \"\r\n >\r\n {{ \"correspondence-relation.save\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.correspondence-relation-container{padding:20px}.correspondence-relation-container .correspondence-relation-title{margin-bottom:8px;font-size:20px;color:#465573}.correspondence-relation-container .mat-dialog-content{height:100%;width:100%}.correspondence-relation-container .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.correspondence-relation-container .button-group cts-button{width:16%}@media (max-width: 992px){.correspondence-relation-container .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.correspondence-relation-container .button-group cts-button{width:28%}}.correspondence-relation-container .item{margin:1px;padding:8px 10px;font-size:.75rem}.correspondence-relation-container .dialog-actions button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:70px;border-radius:3px}.correspondence-relation-container .dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.correspondence-relation-container .dialog-actions button:hover{opacity:.7}.correspondence-relation-container .autocomplete-container .suggestions-container ul{max-height:150px!important}.correspondence-relation-container .autocomplete-container .suggestions-container{height:150px!important;margin-top:10px;max-height:150px!important;border:1px lightgray solid!important;box-shadow:none!important}.correspondence-relation-container .search-container{position:relative}.correspondence-relation-container .chip-list{max-height:150px;border:1px lightgray solid;overflow:scroll;padding:10px;margin-bottom:10px;top:215px;position:absolute;width:100%}.correspondence-relation-container .chip-list .mat-standard-chip{border-radius:5px!important}.correspondence-relation-container .chip-list .mat-chip.mat-standard-chip{background-color:#8f98aa1a!important;height:auto}.correspondence-relation-container .autocomplete-container{box-shadow:none!important}.correspondence-relation-container .autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important}.correspondence-relation-container .exist-relation{background-color:#f8d7da!important;color:#842029!important;border-color:#f5c2c7!important;position:absolute;width:100%;top:300px}.correspondence-relation-container .autocomplete-container .suggestions-container .complete-selected,.correspondence-relation-container .autocomplete-container .suggestions-container ul li:hover{background-color:#8f98aa1a!important}.correspondence-relation-container .vocabulary-list{margin-bottom:10px}.correspondence-relation-container .vocabulary-list .mat-error{display:none!important}.correspondence-relation-container .mat-dialog-content{margin:3px 0 0!important;padding:0!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"], components: [{ type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i6__namespace$2.AutocompleteComponent, selector: "ng-autocomplete", inputs: ["data", "searchKeyword", "placeholder", "heading", "initialValue", "historyIdentifier", "historyHeading", "historyListMaxNumber", "notFoundText", "isLoading", "debounceTime", "disabled", "minQueryLength", "focusFirst", "customFilter", "selectedValueRender", "itemTemplate", "notFoundTemplate"], outputs: ["selected", "inputChanged", "inputFocused", "inputCleared", "opened", "closed", "scrolledToEnd"] }, { type: i7__namespace.MatChipList, selector: "mat-chip-list", inputs: ["aria-orientation", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "selectable", "tabIndex", "errorStateMatcher"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }], directives: [{ type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i1__namespace$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7__namespace.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7__namespace.MatChipRemove, selector: "[matChipRemove]" }, { type: i1__namespace$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
6169
6170
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CorrespondenceRelationCreateFormComponent, decorators: [{
6170
6171
  type: i0.Component,
@@ -6177,7 +6178,7 @@
6177
6178
  }], ctorParameters: function () {
6178
6179
  return [{ type: i6__namespace.FormBuilder }, { type: CorrespondenceRelationService }, { type: CustomToastrService }, { type: i1__namespace$3.MatDialogRef }, { type: undefined, decorators: [{
6179
6180
  type: i0.Inject,
6180
- args: [i1$3.MAT_DIALOG_DATA]
6181
+ args: [i1$4.MAT_DIALOG_DATA]
6181
6182
  }] }];
6182
6183
  }, propDecorators: { auto: [{
6183
6184
  type: i0.ViewChild,
@@ -6709,7 +6710,7 @@
6709
6710
  };
6710
6711
  else
6711
6712
  data = { exist_relations_list: [] };
6712
- var dialogConfig = new i1$3.MatDialogConfig();
6713
+ var dialogConfig = new i1$4.MatDialogConfig();
6713
6714
  dialogConfig.data = data;
6714
6715
  dialogConfig.direction =
6715
6716
  this.userPreference.locale === 'ar' ? 'rtl' : 'ltr';
@@ -9948,7 +9949,7 @@
9948
9949
  };
9949
9950
  return DepartmentFormComponent;
9950
9951
  }());
9951
- DepartmentFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DepartmentFormComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: CustomToastrService }, { token: DepartmentApiService }], target: i0__namespace.ɵɵFactoryTarget.Component });
9952
+ DepartmentFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DepartmentFormComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: CustomToastrService }, { token: DepartmentApiService }], target: i0__namespace.ɵɵFactoryTarget.Component });
9952
9953
  DepartmentFormComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DepartmentFormComponent, selector: "cts-department-form", ngImport: i0__namespace, template: "<div SetDirRtl class=\"voc-form\">\r\n <div class=\"voc-form-hedaer\">\r\n {{\r\n \"department_management.form.\" + (updateMode ? \"updateHeader\" : \"header\")\r\n | translate\r\n }}\r\n </div>\r\n <form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n <div class=\"col-lg-6 col-12\">\r\n <app-dynamic-form-textitem\r\n formControlName=\"title\"\r\n [label]=\"'department_management.form.title'\"\r\n [disabled]=\"updateMode\"\r\n [preventSpace]=\"true\"\r\n ></app-dynamic-form-textitem>\r\n <div class=\"hint-msg\">{{ \"department_management.form.hintMsg\" | translate }}</div>\r\n </div>\r\n <!-- <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"agencyCode\"\r\n [label]=\"'department_management.form.AgencyCode'\"\r\n ></app-dynamic-form-textitem> -->\r\n <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"arabicName\"\r\n [label]=\"'department_management.form.ArabicName'\"\r\n ></app-dynamic-form-textitem>\r\n <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"englishName\"\r\n [label]=\"'department_management.form.EnglishName'\"\r\n ></app-dynamic-form-textitem>\r\n <app-dynamic-form-vocabulary-item *ngIf=\"data.displayDepTypee\"\r\n class=\"col-lg-6 col-12\"\r\n [label]=\"'department_management.form.deptTypee'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_DepartmentType'\"\r\n formControlName=\"deptTypee\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"description\"\r\n [label]=\"'department_management.form.Description'\"\r\n ></app-dynamic-form-textitem>\r\n <!-- <cts-dynamic-form-select-users\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"manager\"\r\n [bindValue]=\"\"\r\n [bindLabel]=\"\"\r\n [label]=\"'department_management.form.Manager'\"\r\n [deptTitle]=\"'all'\"\r\n [bindValue]=\"'properties.username'\"\r\n ></cts-dynamic-form-select-users> -->\r\n\r\n <cts-dynamic-form-slide-toggleitem *ngIf=\"data.displayIsAllowRecExternal\"\r\n class=\"col-lg-6 col-12 isAllowRecExternal\"\r\n formControlName=\"isAllowRecExternal\"\r\n [label]=\"'department_management.form.isAllowRecExternal'\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </form>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n *ngIf=\"!updateMode\"\r\n [loading]=\"loading\"\r\n size=\"'regular'\"\r\n [theme]=\"'primary'\"\r\n class=\"voc-form-submit\"\r\n (onClick)=\"save()\"\r\n [disabled]=\"departmentForm.invalid\"\r\n >\r\n {{ \"BUTTONS.SAVE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n *ngIf=\"updateMode\"\r\n [loading]=\"loading\"\r\n size=\"'regular'\"\r\n [theme]=\"'primary'\"\r\n class=\"voc-form-submit\"\r\n (onClick)=\"update()\"\r\n [disabled]=\"departmentForm.invalid\"\r\n >\r\n {{ \"BUTTONS.UPDATE\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"], components: [{ type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }, { type: ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }], directives: [{ type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
9953
9954
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DepartmentFormComponent, decorators: [{
9954
9955
  type: i0.Component,
@@ -9960,7 +9961,7 @@
9960
9961
  }], ctorParameters: function () {
9961
9962
  return [{ type: undefined, decorators: [{
9962
9963
  type: i0.Inject,
9963
- args: [i1$3.MAT_DIALOG_DATA]
9964
+ args: [i1$4.MAT_DIALOG_DATA]
9964
9965
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: CustomToastrService }, { type: DepartmentApiService }];
9965
9966
  } });
9966
9967
 
@@ -12892,7 +12893,7 @@
12892
12893
  i1$1.TranslateModule,
12893
12894
  i6$1.AutocompleteLibModule,
12894
12895
  i3$2.FormioModule,
12895
- i1$3.MatDialogModule,
12896
+ i1$4.MatDialogModule,
12896
12897
  PipesModule], exports: [TreeviewSelectComponent,
12897
12898
  DynamicFormDepartmentComponent,
12898
12899
  DynamicFormComponent,
@@ -12944,7 +12945,7 @@
12944
12945
  i1$1.TranslateModule,
12945
12946
  i6$1.AutocompleteLibModule,
12946
12947
  i3$2.FormioModule,
12947
- i1$3.MatDialogModule,
12948
+ i1$4.MatDialogModule,
12948
12949
  PipesModule
12949
12950
  ], i1$1.TranslateModule] });
12950
12951
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicFormModule, decorators: [{
@@ -12977,7 +12978,7 @@
12977
12978
  i1$1.TranslateModule,
12978
12979
  i6$1.AutocompleteLibModule,
12979
12980
  i3$2.FormioModule,
12980
- i1$3.MatDialogModule,
12981
+ i1$4.MatDialogModule,
12981
12982
  PipesModule
12982
12983
  ],
12983
12984
  declarations: [
@@ -15536,7 +15537,7 @@
15536
15537
  i1$1.TranslateModule,
15537
15538
  i6.FormsModule,
15538
15539
  i6.ReactiveFormsModule,
15539
- i1$3.MatDialogModule,
15540
+ i1$4.MatDialogModule,
15540
15541
  DynamicSearchModule,
15541
15542
  i2$1.MatIconModule,
15542
15543
  i5.NgSelectModule,
@@ -15557,7 +15558,7 @@
15557
15558
  i1$1.TranslateModule,
15558
15559
  i6.FormsModule,
15559
15560
  i6.ReactiveFormsModule,
15560
- i1$3.MatDialogModule,
15561
+ i1$4.MatDialogModule,
15561
15562
  DynamicSearchModule,
15562
15563
  i2$1.MatIconModule,
15563
15564
  i5.NgSelectModule,
@@ -15589,7 +15590,7 @@
15589
15590
  i1$1.TranslateModule,
15590
15591
  i6.FormsModule,
15591
15592
  i6.ReactiveFormsModule,
15592
- i1$3.MatDialogModule,
15593
+ i1$4.MatDialogModule,
15593
15594
  DynamicSearchModule,
15594
15595
  i2$1.MatIconModule,
15595
15596
  i5.NgSelectModule,
@@ -17699,11 +17700,11 @@
17699
17700
  i1$1.TranslateModule,
17700
17701
  PaginationModule,
17701
17702
  ConfirmCallerModule,
17702
- i1$4.RouterModule,
17703
+ i1$3.RouterModule,
17703
17704
  i4$3.MatProgressBarModule,
17704
17705
  i8.MatProgressSpinnerModule,
17705
17706
  i2$1.MatIconModule,
17706
- i1$3.MatDialogModule,
17707
+ i1$4.MatDialogModule,
17707
17708
  DirectiveModule,
17708
17709
  i6.FormsModule,
17709
17710
  i6.ReactiveFormsModule,
@@ -17723,11 +17724,11 @@
17723
17724
  i1$1.TranslateModule,
17724
17725
  PaginationModule,
17725
17726
  ConfirmCallerModule,
17726
- i1$4.RouterModule,
17727
+ i1$3.RouterModule,
17727
17728
  i4$3.MatProgressBarModule,
17728
17729
  i8.MatProgressSpinnerModule,
17729
17730
  i2$1.MatIconModule,
17730
- i1$3.MatDialogModule,
17731
+ i1$4.MatDialogModule,
17731
17732
  DirectiveModule,
17732
17733
  i6.FormsModule,
17733
17734
  i6.ReactiveFormsModule,
@@ -17754,11 +17755,11 @@
17754
17755
  i1$1.TranslateModule,
17755
17756
  PaginationModule,
17756
17757
  ConfirmCallerModule,
17757
- i1$4.RouterModule,
17758
+ i1$3.RouterModule,
17758
17759
  i4$3.MatProgressBarModule,
17759
17760
  i8.MatProgressSpinnerModule,
17760
17761
  i2$1.MatIconModule,
17761
- i1$3.MatDialogModule,
17762
+ i1$4.MatDialogModule,
17762
17763
  DirectiveModule,
17763
17764
  i6.FormsModule,
17764
17765
  i6.ReactiveFormsModule,
@@ -22778,7 +22779,7 @@
22778
22779
  };
22779
22780
  return CreateModalComponent;
22780
22781
  }());
22781
- CreateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: UploadManagmentService }, { token: DialogMangmentService }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: AdapterService }, { token: FileManagerService }, { token: AppConfigService }, { token: DateHelperService }, { token: TranslationService }, { token: UserService }, { token: NuxeoService }, { token: 'environment' }, { token: DynamicFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
22782
+ CreateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: UploadManagmentService }, { token: DialogMangmentService }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: AdapterService }, { token: FileManagerService }, { token: AppConfigService }, { token: DateHelperService }, { token: TranslationService }, { token: UserService }, { token: NuxeoService }, { token: 'environment' }, { token: DynamicFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
22782
22783
  CreateModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateModalComponent, selector: "app-create-modal", host: { listeners: { "document:keyup.enter": "KeyUpEvent($event)" } }, ngImport: i0__namespace, template: "<div class=\"relative w-full h-full\">\r\n <div class=\"iner-wrapper\" [ngClass]=\"{ 'd-flex': addingProperties }\">\r\n <div *ngIf=\"addingProperties\" class=\"properties-section p-3 overflow-x-hidden overflow-y-auto\">\r\n <div class=\"\" *ngIf=\"selectedFile && source === 'fileManger' && showStaticForm\">\r\n <div class=\"mb-5\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.FILE_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">{{ isArabic ? fileType.arabicText : fileType.englishText }}\r\n </div>\r\n </div>\r\n <div class=\"file-fields mt-3\" SetRtl>\r\n <form [formGroup]=\"fileForm\">\r\n <!-- -----------------old static form ---------------------- -->\r\n <div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.TITLE\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input class=\"\r\n field-style\r\n \" formControlName=\"title\" placeholder=\" {{ 'CREATE.TITLE' | translate}}\" />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.DESCRIPTION\" | translate }}\r\n </div>\r\n <input class=\"field-style\" formControlName=\"description\"\r\n placeholder=\" {{ 'CREATE.DESCRIPTION' | translate}}\" />\r\n </div>\r\n </div>\r\n <!-- ---------------------------------- -->\r\n\r\n <!------------------ new statis form ---------------------------->\r\n <div *ngIf=\"usingExtraFields\">\r\n <app-dynamic-fields-renderer [form]=\"fileForm\" [agencyNameFilter]=\"agencyNameFilter\"\r\n [countryNameFilter]=\"countryNameFilter\"></app-dynamic-fields-renderer>\r\n </div>\r\n </form>\r\n\r\n <div class=\"dynamic-part\" *ngIf=\"showRenderer\">\r\n <app-dynamic-form [form]=\"selectedFile.dynamicForm\" [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"></app-dynamic-form>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"\r\n w-full\r\n h-full\r\n p-3\r\n flex\r\n justify-center\r\n items-center\r\n text-lg text-gray-900\"\r\n *ngIf=\"!selectedFile\">\r\n {{ \"CREATE.SELECT_TOSTART_ADDING\" | translate }}\r\n </div>\r\n \r\n </div>\r\n <div class=\"attachment-tab-body overflow-hidden\" [ngClass]=\"{ 'attachment-iner-small-body': addingProperties }\">\r\n <app-attachments [multiple]=\"true\" (onSelectingItem)=\"selectFile($event)\"></app-attachments>\r\n </div>\r\n </div>\r\n <div class=\"w-full text-red-500 text-base text-start px-3\" *ngIf=\"!uploadMangmentService.GeneralFormValidation\">\r\n\r\n {{ \"CREATE.FILL_REQUIRED_FIELD\" | translate }}\r\n </div>\r\n <div class=\"actions-iner-wrapper w-full flex justify-between items-center absolute bottom-0\">\r\n <div class=\"flex\">\r\n <button *ngIf=\"\r\n (uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus.uploadedFiles\r\n .length > 0) &&\r\n !addingProperties\r\n \" (click)=\"startAddingProperties()\" class=\"submission-button\">\r\n {{ \"BUTTONS.ADD_PROPERTIES\" | translate }}\r\n </button>\r\n <button *ngIf=\"\r\n addingProperties &&\r\n uploadMangmentService.uploadedFilesStatus.uploadedFiles\r\n .length +\r\n uploadMangmentService.uploadedFilesStatus.allfiles\r\n .length >\r\n 1\r\n \" (click)=\"ApplyChangesToAll()\" [disabled]=\"!selectedFile || !selectedFile.staticFormValid\" [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed':\r\n !selectedFile || !selectedFile.staticFormValid,\r\n 'cursor-pointer hover:text-white hover:bg-gray-900': !(\r\n !selectedFile || !selectedFile.staticFormValid\r\n )\r\n }\" class=\"submission-button mx-2\">\r\n {{ \"BUTTONS.APPLY_TO_ALL\" | translate }}\r\n </button>\r\n\r\n <ng-container *ngIf=\"\r\n addingProperties &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress &&\r\n uploadMangmentService.failedFiles.length === 0\r\n \">\r\n <button (click)=\"createDocument()\" class=\"submission-button relative\" [disabled]=\"creating\">\r\n <span *ngIf=\"!creating; else loader\">{{ \"BUTTONS.CREATE\" | translate }}</span>\r\n </button>\r\n <ng-template #loader>\r\n <mat-spinner [value]=\"90\" [strokeWidth]=\"3\" overlay=\"true\" [diameter]=\"25\" color=\"warn\">\r\n </mat-spinner>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <button *ngIf=\"\r\n addingProperties &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress &&\r\n uploadMangmentService.failedFiles.length > 0\r\n \" (click)=\"tryAgainCreateDocument()\" class=\"submission-button\">\r\n {{ \"BUTTONS.TRY_AGAIN\" | translate }}\r\n </button>\r\n\r\n <button [disabled]=\"!fileForm?.valid || disableCreateWhenFinishBtn\" *ngIf=\"\r\n addingProperties &&\r\n uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \" (click)=\"createWhenFinish()\" class=\"submission-button w-44\">\r\n {{ \"BUTTONS.CREATE_WHEN_FINSH\" | translate }}\r\n </button>\r\n </div>\r\n <div class=\"flex\">\r\n <button class=\"cancelation-button mx-2\" (click)=\"minimizDialog()\" *ngIf=\"\r\n uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus\r\n .numberOfUploadedFiles !== 0 ||\r\n addingProperties\r\n \">\r\n {{ \"BUTTONS.MINIMIZED\" | translate }}\r\n </button>\r\n <button class=\"cancelation-button\" (click)=\"closeDialog()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [".dynamic-part{margin-left:-15px;margin-right:-15px}.iner-wrapper{height:calc(100% - 70px)}.iner-wrapper .properties-section{width:calc(100% - 270px);height:calc(100% - 15px)}.iner-wrapper .attachment-tab-body{height:calc(100% - -20px);overflow-y:auto;overflow-x:hidden}.iner-wrapper .attachment-iner-small-body{width:350px}.rtl .actions-iner-wrapper{direction:ltr}.actions-iner-wrapper{direction:rtl}\n"], components: [{ type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: ["form", "agencyNameFilter", "countryNameFilter", "mode", "fields"] }, { type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }, { type: AttachmentsComponent, selector: "app-attachments", inputs: ["allowedTypes", "params", "path", "maxSize", "docParams", "multiple", "createDocument", "allowedMaxNumberOfFiles", "source"], outputs: ["uploadSuccess", "uploadError", "onSelectingItem", "itemRemoved"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
22783
22784
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, decorators: [{
22784
22785
  type: i0.Component,
@@ -22790,7 +22791,7 @@
22790
22791
  }], ctorParameters: function () {
22791
22792
  return [{ type: undefined, decorators: [{
22792
22793
  type: i0.Inject,
22793
- args: [i1$3.MAT_DIALOG_DATA]
22794
+ args: [i1$4.MAT_DIALOG_DATA]
22794
22795
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: UploadManagmentService }, { type: DialogMangmentService }, { type: FileManagerService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }, { type: AdapterService }, { type: FileManagerService }, { type: AppConfigService }, { type: DateHelperService }, { type: TranslationService }, { type: UserService }, { type: NuxeoService }, { type: undefined, decorators: [{
22795
22796
  type: i0.Inject,
22796
22797
  args: ['environment']
@@ -22990,7 +22991,7 @@
22990
22991
  };
22991
22992
  return FolderModalComponent;
22992
22993
  }());
22993
- FolderModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FolderModalComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: FileManagerService }, { token: DynamicFormService }, { token: TranslationService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }], target: i0__namespace.ɵɵFactoryTarget.Component });
22994
+ FolderModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FolderModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: FileManagerService }, { token: DynamicFormService }, { token: TranslationService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }], target: i0__namespace.ɵɵFactoryTarget.Component });
22994
22995
  FolderModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FolderModalComponent, selector: "app-folder-modal", host: { listeners: { "document:keyup.enter": "KeyUpEvent($event)" } }, viewQueries: [{ propertyName: "folderForm", first: true, predicate: ["folderForm"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"create-folder-modal d-flex justify-center w-full relative h-full\">\r\n <div class=\"folder-wrapper\" SetRtl>\r\n <div class=\"mb-5\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">\r\n {{ isArabic ? folderType.arabicText : folderType.englishText }}\r\n </div>\r\n </div>\r\n <form #folderForm=\"ngForm\">\r\n <div class=\"mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.TITLE\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n [ngClass]=\"{ 'border-red-500': staticForm.title === '..' }\"\r\n required\r\n [(ngModel)]=\"staticForm.title\"\r\n id=\"folderTitle\"\r\n name=\"folderTitle\"\r\n />\r\n <div class=\"text-red-500 text-base\" *ngIf=\"staticForm.title === '..'\">\r\n Invalid Folder Title\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.DESCRIPTION\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n [(ngModel)]=\"staticForm.description\"\r\n id=\"folderDescription\"\r\n name=\"folderDescription\"\r\n />\r\n </div>\r\n </form>\r\n \r\n <div class=\"dynamic-part -mx-4\" *ngIf=\"dynamicForm && showRenderer\">\r\n <app-dynamic-form\r\n [form]=\"dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n <!-- -->\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"w-full d-flex justify-between absolute bottom-0 actionsBtnWrapper\"\r\n >\r\n <ng-container *ngIf=\"!creating\">\r\n <button\r\n (click)=\"createDocument()\"\r\n [disabled]=\"\r\n !dynamicData.valid || folderForm.invalid || staticForm.title === '..'\r\n \"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed':\r\n !dynamicData.valid ||\r\n folderForm.invalid ||\r\n staticForm.title === '..'\r\n }\"\r\n class=\"submission-button\"\r\n >\r\n {{ \"BUTTONS.CREATE\" | translate }}\r\n </button>\r\n </ng-container>\r\n <span class=\"submission-button\" *ngIf=\"creating\">\r\n <mat-spinner\r\n [value]=\"90\"\r\n [strokeWidth]=\"3\"\r\n overlay=\"true\"\r\n [diameter]=\"25\"\r\n color=\"warn\"\r\n >\r\n </mat-spinner>\r\n </span>\r\n \r\n <button class=\"cancelation-button\" (click)=\"closeDialog()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n ", styles: [".folder-wrapper{height:calc(100% - 50px);overflow-y:auto;overflow-x:hidden;padding:0 10px;width:100%}.rtl .actionsBtnWrapper{direction:ltr}.actionsBtnWrapper{direction:rtl}\n"], components: [{ type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
22995
22996
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FolderModalComponent, decorators: [{
22996
22997
  type: i0.Component,
@@ -23002,7 +23003,7 @@
23002
23003
  }], ctorParameters: function () {
23003
23004
  return [{ type: undefined, decorators: [{
23004
23005
  type: i0.Inject,
23005
- args: [i1$3.MAT_DIALOG_DATA]
23006
+ args: [i1$4.MAT_DIALOG_DATA]
23006
23007
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: FileManagerService }, { type: DynamicFormService }, { type: TranslationService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }];
23007
23008
  }, propDecorators: { folderForm: [{
23008
23009
  type: i0.ViewChild,
@@ -23523,7 +23524,7 @@
23523
23524
  };
23524
23525
  return PublishDialogComponent;
23525
23526
  }());
23526
- PublishDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PublishDialogComponent, deps: [{ token: PublishingDocumentService }, { token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }, { token: CustomToastrService }, { token: i1__namespace.TranslateService }], target: i0__namespace.ɵɵFactoryTarget.Component });
23527
+ PublishDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PublishDialogComponent, deps: [{ token: PublishingDocumentService }, { token: i1__namespace$3.MatDialogRef }, { token: i1$4.MAT_DIALOG_DATA }, { token: CustomToastrService }, { token: i1__namespace.TranslateService }], target: i0__namespace.ɵɵFactoryTarget.Component });
23527
23528
  PublishDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PublishDialogComponent, selector: "app-publish-dialog", ngImport: i0__namespace, template: "<form [formGroup]=\"PublicationForm\" class=\"h-full\" SetRtl>\r\n <span class=\"text-gray-900 text-lg\">\r\n {{ \"publishDocs.publishDialogTitle\" | translate }}\r\n </span>\r\n <div class=\"flex flex-col justify-between h-full\">\r\n <!--Form Section-->\r\n <div class=\"mt-2\" *ngIf=\"!startPublishing; else loading\">\r\n <div class=\"mb-3\">\r\n <label class=\"text-base font-bold mb-0\">\r\n {{ \"publishDocs.target\" | translate }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-select\r\n [items]=\"sections\"\r\n bindLabel=\"title\"\r\n bindValue=\"uid\"\r\n [placeholder]=\"'publishDocs.targetPlaceholder' | translate\"\r\n formControlName=\"target\"\r\n >\r\n </ng-select>\r\n <div\r\n *ngIf=\"\r\n PublicationForm.get('target').touched &&\r\n PublicationForm.get('target').errors?.required\r\n \"\r\n >\r\n <span class=\"text-red-500 text-base\">\r\n {{ \"publishDocs.target\" | translate }}\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data.PublishType == 'File'\" class=\"mb-3\">\r\n <label class=\"text-base font-bold mb-0\">\r\n {{ \"publishDocs.rendition\" | translate }}\r\n </label>\r\n <ng-select\r\n [items]=\"renditionList\"\r\n bindLabel=\"name\"\r\n bindValue=\"value\"\r\n [(ngModel)]=\"initialRenditionValue\"\r\n formControlName=\"renditionName\"\r\n >\r\n </ng-select>\r\n </div>\r\n <div\r\n class=\"text-primary font-bold text-md flex justify-center items-center\"\r\n *ngIf=\"isSelectThisBefor\"\r\n >\r\n <mat-icon class=\"w-16 h-16\" [svgIcon]=\"'alertIcon'\"> </mat-icon>\r\n {{ \"publishDocs.publishWithDepbefpre\" | translate }}\r\n </div>\r\n </div>\r\n <ng-template #loading>\r\n <span class=\"flex h-full justify-center items-center\">\r\n {{ \"publishDocs.doingPublish\" | translate }}</span\r\n >\r\n </ng-template>\r\n <!--Buttons Section-->\r\n <div class=\"flex justify-between py-4\">\r\n <button\r\n class=\"submission-button\"\r\n (click)=\"publish()\"\r\n [disabled]=\"!PublicationForm.valid\"\r\n >\r\n <span *ngIf=\"!showpublishingLoader; else loader\">{{\r\n \"BUTTONS.PUBLISH\" | translate\r\n }}</span>\r\n </button>\r\n <button class=\"cancelation-button\" (click)=\"close()\">\r\n {{ \"BUTTONS.Cancel\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</form>\r\n<ng-template #loader>\r\n <mat-spinner\r\n [value]=\"90\"\r\n [strokeWidth]=\"3\"\r\n overlay=\"true\"\r\n [diameter]=\"25\"\r\n color=\"warn\"\r\n >\r\n </mat-spinner>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i5__namespace.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
23528
23529
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PublishDialogComponent, decorators: [{
23529
23530
  type: i0.Component,
@@ -23535,7 +23536,7 @@
23535
23536
  }], ctorParameters: function () {
23536
23537
  return [{ type: PublishingDocumentService }, { type: i1__namespace$3.MatDialogRef }, { type: undefined, decorators: [{
23537
23538
  type: i0.Inject,
23538
- args: [i1$3.MAT_DIALOG_DATA]
23539
+ args: [i1$4.MAT_DIALOG_DATA]
23539
23540
  }] }, { type: CustomToastrService }, { type: i1__namespace.TranslateService }];
23540
23541
  } });
23541
23542
 
@@ -23897,7 +23898,7 @@
23897
23898
  };
23898
23899
  return ScanModalComponent;
23899
23900
  }());
23900
- ScanModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ScanModalComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: UploadManagmentService }, { token: DialogMangmentService }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: DynamicFormService }, { token: DateHelperService }, { token: AdapterService }, { token: TranslationService }, { token: NuxeoService }, { token: UserService }, { token: AppConfigService }, { token: 'environment' }, { token: DocumentScanService }], target: i0__namespace.ɵɵFactoryTarget.Component });
23901
+ ScanModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ScanModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: UploadManagmentService }, { token: DialogMangmentService }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: DynamicFormService }, { token: DateHelperService }, { token: AdapterService }, { token: TranslationService }, { token: NuxeoService }, { token: UserService }, { token: AppConfigService }, { token: 'environment' }, { token: DocumentScanService }], target: i0__namespace.ɵɵFactoryTarget.Component });
23901
23902
  ScanModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ScanModalComponent, selector: "app-scan-modal", ngImport: i0__namespace, template: "<div class=\"scanner-modal-body relative h-full\">\r\n <!-- -->\r\n <!-- tabs -->\r\n <div\r\n class=\"scanner-tabs d-flex justify-around items-center border-b-2 border-gray-200 mb-5 text-gray-900 text-lg\"\r\n >\r\n <div\r\n class=\"scanner-single-tab cursor-pointer w-1/2 text-center py-2 border-gray-900 hover:bg-gray-100\"\r\n (click)=\"changTabTo('scan')\"\r\n [ngClass]=\"{ 'font-bold border-b-4': activeTab === 'scan' }\"\r\n >\r\n {{\"CREATE.SCAN\" | translate}}\r\n </div>\r\n <div\r\n class=\"scanner-single-tab cursor-pointer w-1/2 text-center py-2 border-gray-900 hover:bg-gray-100\"\r\n (click)=\"changTabTo('form')\"\r\n [ngClass]=\"{ 'font-bold border-b-4': activeTab === 'form' }\"\r\n >\r\n {{\"CREATE.DETAILS\" | translate}}\r\n </div>\r\n </div>\r\n <div class=\"tabs-body-wrapper\">\r\n <!-- uploader indicator loading -->\r\n <div\r\n class=\"upload-loader mx-2\"\r\n *ngIf=\"uploadMangmentService.uploadedFilesStatus.uploadInProgress\"\r\n >\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </div>\r\n\r\n <!-- scanner -->\r\n <div class=\"\" [ngClass]=\"{ 'd-none': activeTab === 'form' }\">\r\n <app-document-scan\r\n [hideUploadButton]=\"true\"\r\n [useStoredFile]=\"true\"\r\n ></app-document-scan>\r\n </div>\r\n\r\n <!-- forms and properties -->\r\n <div\r\n class=\"forms-section\"\r\n [ngClass]=\"{ 'd-none': activeTab === 'scan' }\"\r\n >\r\n <div class=\"w-2/3\">\r\n <div class=\"mb-5\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.FILE_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">\r\n {{ isArabic ? fileType.arabicText : fileType.englishText }}\r\n </div>\r\n </div>\r\n <div class=\"file-fields mt-3\" SetRtl>\r\n <form [formGroup]=\"fileForm\" *ngIf=\"fileForm\">\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.TITLE\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n formControlName=\"title\"\r\n placeholder=\" {{ 'CREATE.TITLE' | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.DESCRIPTION\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n formControlName=\"description\"\r\n placeholder=\" {{\r\n 'CREATE.DESCRIPTION' | translate\r\n }}\"\r\n />\r\n </div>\r\n\r\n <!------------------ new statis form ---------------------------->\r\n <div *ngIf=\"usingExtraFields\">\r\n \r\n <app-dynamic-fields-renderer [form]=\"fileForm\" [agencyNameFilter]=\"agencyNameFilter\" [countryNameFilter]=\"countryNameFilter\"></app-dynamic-fields-renderer>\r\n\r\n <!-- <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.DOCUMENT_SUBJECT\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n formControlName=\"subject\"\r\n placeholder=\" {{\r\n 'CREATE.DOCUMENT_SUBJECT' | translate\r\n }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.DOCUMENT_NUMBER\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n formControlName=\"documentNumber\"\r\n placeholder=\" {{\r\n 'CREATE.DOCUMENT_NUMBER' | translate\r\n }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <cts-dynamic-form-hijri-dateitem\r\n formControlName=\"gdocumentDate\"\r\n label=\"CREATE.DOCUMENT_DATE\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'CREATE.SCRECY_LEVEL'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_SecrecyLevel'\"\r\n formControlName=\"secrecyLevel\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'CREATE.IMPORTANCE_LEVEL'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_Importance'\"\r\n formControlName=\"importanceLevel\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.DEPARTMENT_CODE\" | translate }}\r\n </div>\r\n <app-dynamic-form-department\r\n formControlName=\"departmentCode\"\r\n [placeholder]=\"'please select department'\"\r\n [pp_departmentNestedTree]=\"\r\n 'PP_OS_Departments'\r\n \"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"\r\n 'osdepartment_parentDepartmentCode'\r\n \"\r\n [useCustomAddEditAction]=\"true\"\r\n >\r\n </app-dynamic-form-department>\r\n </div>\r\n\r\n <div class=\"single-field mb-3\">\r\n <app-translated-vocabulary-select\r\n [label]=\"'CREATE.AGENCY_CATEGORY_CODE'\"\r\n [arbBindLabel]=\"'label_ar'\"\r\n [engBindLabel]=\"'label_en'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"true\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n formControlName=\"agencyCategoryCode\"\r\n [vocbularyId]=\"'VOC_AgencyCategory'\"\r\n [useFilter]=\"false\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n\r\n <div class=\"single-field mb-3\">\r\n <app-translated-vocabulary-select\r\n [label]=\"'CREATE.AGENCY_NAME'\"\r\n [arbBindLabel]=\"'label_ar'\"\r\n [engBindLabel]=\"'label_en'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"true\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n formControlName=\"agencyName\"\r\n [vocbularyId]=\"'VOC_Agency'\"\r\n [filter]=\"agencyNameFilter\"\r\n [useFilter]=\"true\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n\r\n <div class=\"single-field mb-3\">\r\n <app-translated-vocabulary-select\r\n [label]=\"'CREATE.COUNTRY_CATEGORY_CODE'\"\r\n [arbBindLabel]=\"'label_ar'\"\r\n [engBindLabel]=\"'label_en'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"true\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n formControlName=\"countryCategoryCode\"\r\n [vocbularyId]=\"'VOC_CountryCategory'\"\r\n [useFilter]=\"false\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n\r\n <div class=\"single-field mb-3\">\r\n <app-translated-vocabulary-select\r\n [label]=\"'CREATE.COUNTRY_NAME'\"\r\n [arbBindLabel]=\"'label_ar'\"\r\n [engBindLabel]=\"'label_en'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"true\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n formControlName=\"countryName\"\r\n [vocbularyId]=\"'VOC_Country'\"\r\n [filter]=\"countryNameFilter\"\r\n [useFilter]=\"true\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.REMARKS\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n formControlName=\"remarks\"\r\n placeholder=\" {{\r\n 'CREATE.REMARKS' | translate\r\n }}\"\r\n />\r\n </div> -->\r\n </div>\r\n\r\n <!-- ----------------------------------------------------------- -->\r\n </form>\r\n <!-- *ngIf=\"\" -->\r\n <div\r\n class=\"dynamic-part -mx-4\"\r\n *ngIf=\"selectedFile.dynamicForm && showRenderer\"\r\n >\r\n <app-dynamic-form\r\n [form]=\"selectedFile.dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"w-full d-flex justify-between scanner-actions-wrapper absolute bottom-0\"\r\n >\r\n <div class=\"flex\">\r\n <button class=\"cancelation-button\" (click)=\"closeDialog()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n <button class=\"cancelation-button mx-2\" (click)=\"minimizDialog()\">\r\n {{ \"BUTTONS.MINIMIZED\" | translate }}\r\n </button>\r\n </div>\r\n\r\n <!-- -->\r\n <div class=\"d-flex\">\r\n <!-- <button\r\n *ngIf=\"creationFailed\"\r\n [disabled]=\"\r\n scannerUploadButton.disabled ||\r\n !selectedFile.dynamicData.valid ||\r\n fileForm.invalid\r\n \"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed':\r\n scannerUploadButton.disabled ||\r\n !selectedFile.dynamicData.valid ||\r\n fileForm.invalid\r\n }\"\r\n (click)=\"createDocument()\"\r\n class=\"submission-button\"\r\n >\r\n {{ \"BUTTONS.TRY_AGAIN\" | translate }}\r\n </button> -->\r\n <button\r\n (click)=\"createDocument()\"\r\n [disabled]=\"\r\n scannerUploadButton.disabled ||\r\n !selectedFile.dynamicData.valid ||\r\n fileForm.invalid\r\n \"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed':\r\n scannerUploadButton.disabled ||\r\n !selectedFile.dynamicData.valid ||\r\n fileForm.invalid\r\n }\"\r\n class=\"submission-button\"\r\n >\r\n {{ uploadMangmentService.scanCreationFailed ? (\"BUTTONS.TRY_AGAIN\" | translate) : (\"BUTTONS.CREATE\" | translate) }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".forms-section{display:flex;justify-content:center}.tabs-body-wrapper{height:calc(100% - 125px);overflow-y:auto;overflow-x:hidden}\n"], components: [{ type: i4__namespace$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: ScanComponent, selector: "app-document-scan", inputs: ["useStoredFile", "hideUploadButton"], outputs: ["file"] }, { type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: ["form", "agencyNameFilter", "countryNameFilter", "mode", "fields"] }, { type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
23902
23903
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ScanModalComponent, decorators: [{
23903
23904
  type: i0.Component,
@@ -23909,7 +23910,7 @@
23909
23910
  }], ctorParameters: function () {
23910
23911
  return [{ type: undefined, decorators: [{
23911
23912
  type: i0.Inject,
23912
- args: [i1$3.MAT_DIALOG_DATA]
23913
+ args: [i1$4.MAT_DIALOG_DATA]
23913
23914
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: UploadManagmentService }, { type: DialogMangmentService }, { type: FileManagerService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }, { type: DynamicFormService }, { type: DateHelperService }, { type: AdapterService }, { type: TranslationService }, { type: NuxeoService }, { type: UserService }, { type: AppConfigService }, { type: undefined, decorators: [{
23914
23915
  type: i0.Inject,
23915
23916
  args: ['environment']
@@ -24442,7 +24443,7 @@
24442
24443
  };
24443
24444
  return ShareDialogComponent;
24444
24445
  }());
24445
- ShareDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ShareDialogComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: i1__namespace$3.MatDialog }, { token: i6__namespace.FormBuilder }, { token: SharedDocsService }, { token: CustomToastrService }, { token: TranslationService }, { token: NuxeoService }, { token: UserPreferencesService }], target: i0__namespace.ɵɵFactoryTarget.Component });
24446
+ ShareDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ShareDialogComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: i1__namespace$3.MatDialog }, { token: i6__namespace.FormBuilder }, { token: SharedDocsService }, { token: CustomToastrService }, { token: TranslationService }, { token: NuxeoService }, { token: UserPreferencesService }], target: i0__namespace.ɵɵFactoryTarget.Component });
24446
24447
  ShareDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ShareDialogComponent, selector: "app-share-dialog", ngImport: i0__namespace, template: "<form [formGroup]=\"shareForm\" class=\"h-full p-5 overflow-auto\" SetRtl>\r\n\r\n <div class=\"flex flex-col justify-between h-full\">\r\n <!--Form Section-->\r\n <div class=\"add-permsion-wrapper\">\r\n <span class=\"text-gray-900 text-lg\">\r\n {{ \"share.shareDialogTitle\" | translate }}\r\n </span>\r\n <div class=\"mt-5 selectorsWrapper\">\r\n <app-select-users-by-departments\r\n formControlName=\"depAnditsUsers\"\r\n [allowMultipleUsers]= \"true\"\r\n [userLabel]=\"'share.users' | translate\"\r\n [depLabel]=\"'share.Dep' | translate\"\r\n [display]=\"'column'\">\r\n </app-select-users-by-departments>\r\n </div>\r\n <div *ngIf=\"forbiddenUsers.length\" class=\"flex\">\r\n <ng-container *ngFor=\"let p of forbiddenUsers; let i as index\">\r\n <span class=\"text-red-500 text-base\">\r\n {{p}}&nbsp;\r\n </span>\r\n </ng-container>\r\n <span class=\"text-red-500 text-base\">\r\n <p *ngIf=\"forbiddenUsers.length == 1\">\r\n {{ \"share.single_forbidden\" | translate }}\r\n </p>\r\n <p *ngIf=\"forbiddenUsers.length > 1\">\r\n {{ \"share.multi_forbidden\" | translate }}\r\n </p>\r\n </span>\r\n </div>\r\n <div *ngIf=\"sameCurrentUser\">\r\n <span class=\"text-red-500 text-base\">\r\n {{ \"share.shareWithLoggedInUser\" | translate }}\r\n </span>\r\n </div>\r\n <div *ngIf=\"isSharedBefore.length\" class=\"flex\">\r\n <span class=\"text-red-500 text-base\">\r\n {{ \"share.share_exists\" | translate }}\r\n <ng-container *ngFor=\"let p of isSharedBefore\">\r\n {{p}}\r\n </ng-container>\r\n {{ \"share.before\" | translate }}\r\n </span>\r\n </div>\r\n <div class=\"mt-4 rightsSelector\">\r\n <label class=\"text-base font-bold mb-0\">\r\n {{ \"share.Rights\" | translate }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-select \r\n [items]=\"rights\" \r\n bindLabel=\"label\"\r\n bindValue=\"value\"\r\n [placeholder]=\"'permission.rightsPlaceholder' | translate\"\r\n formControlName=\"rights\"\r\n (change)=\"setRight($event)\"\r\n >\r\n </ng-select>\r\n </div>\r\n <div *ngIf=\"sharedList.length\" class=\"mt-4\">\r\n <div>\r\n <label class=\"text-base font-bold mb-0\">\r\n {{ \"share.fileUrl\" | translate }}\r\n </label>\r\n <div class=\"flex relative\">\r\n <input \r\n #fileUrl\r\n [value]=\"shareableUrl\"\r\n disabled\r\n class=\"appearance-none block w-full bg-accent-100 text-gray-700 border border-gray-200 rounded py-2.5 px-4 \r\n leading-tight focus:outline-none focus:bg-white focus:border-gray-500\"\r\n type=\"text\"\r\n >\r\n <button class=\"absolute pt-2.5 bg-accent-100\"\r\n [matTooltip] = \"'BUTTONS.COPY' | translate\"\r\n [ngClass]=\"(locale === 'en') ? 'right-2' : 'left-2'\"\r\n [cdkCopyToClipboard]=\"fileUrl.value\"\r\n (click)=\"copy()\">\r\n <mat-icon svgIcon=\"mat_solid:content_copy\" class=\"icon-size-6\"></mat-icon>\r\n </button>\r\n <div *ngIf=\"copied\" class=\"flex absolute justify-around w-24 -mt-10 border \r\n border-red-700 h-7 rounded bg-gray-200\"\r\n [ngClass]=\"(locale === 'en') ? 'right-0' : 'left-0'\">\r\n <div class=\"w-3 h-3 justify-center bg-gray-200 transform rotate-45 border\r\n mt-5 borders-color\">\r\n </div>\r\n <span class=\"absolute font-extralight\">{{ \"share.copied\" | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--Shares Section-->\r\n <div *ngIf=\"sharedList.length\">\r\n <div class=\"flex flex-row justify-between h-7 border-b-2 border-accent-100 mt-2\">\r\n <span class=\"text-base font-bold\">\r\n {{ \"share.shares\" | translate }}\r\n </span>\r\n <button mat-icon-button *permission=\"{name: 'canRemoveShare', entity: selectedItem.entity}\"\r\n matTooltip=\"{{'share.Rm_All_shares' | translate}}\" (click)=\"openDialog('Rem_ALL_shares')\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:trash'\"\r\n [ngClass]=\"(locale === 'en') ? 'mr-2' : 'ml-2'\"></mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"h-52 overflow-y-auto\">\r\n <div class=\"flex flex-row justify-between mt-2.5\">\r\n <span class=\"w-1/2 text-base font-bold\">{{\"share.shareWith\" | translate}}</span>\r\n <span class=\"w-1/4 text-base font-bold\">{{\"share.share_date\" | translate}}</span>\r\n <span class=\"w-1/4 text-base font-bold\">{{\"share.permission\" | translate}}</span>\r\n <span>&nbsp;</span>\r\n </div>\r\n <ng-container *ngFor=\"let d of sharedList\">\r\n <div class=\"flex flex-row justify-between mt-2.5\">\r\n <div class=\"flex flex-row w-1/2\">\r\n <div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\">\r\n <cts-avatar [user]=\"{\r\n properties: {\r\n firstName: d.user.properties?.firstName,\r\n lastName: d.user.properties?.lastName\r\n }\r\n }\">\r\n </cts-avatar>\r\n </div>\r\n <div class=\"flex flex-col -mt-2 px-2 break-all\">\r\n <span>{{d.user.fullName}}</span>\r\n <span>{{d.user.properties.email}}</span>\r\n </div>\r\n </div>\r\n <div class=\"w-1/4 mt-1.5 break-all px-2.5\">\r\n <span>{{d.sharedDate | localizedDate:\"dd MMMM yyyy\":(isArabic? 'ar-AR' : 'en-US')}}</span>\r\n </div>\r\n <div class=\"w-1/4 mt-1.5 break-all px-4\">\r\n <span>{{\"rights.\" + d.sharedMode | translate}}</span>\r\n </div>\r\n <div class=\"mt-1.5\">\r\n <button mat-icon-button *permission=\"{name: 'canRemoveShare', entity: selectedItem.entity}\"\r\n matTooltip=\"{{'share.Rm_custom_share' | translate}}\"\r\n (click)=\"openDialog('Rem_custom_share',d.user.properties.username,d.sharedMode)\">\r\n <i class=\"ms-Icon ms-Icon--ChromeClose\" aria-hidden=\"true\"\r\n [ngClass]=\"(locale === 'en') ? 'mr-2.5' : 'ml-2.5'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!--Buttons Section-->\r\n <div class=\"flex flex-row justify-between mt-2 py-1\">\r\n <button class=\"submission-button\" [disabled]=\"disabled\" (click)=\"share()\">\r\n {{ \"share.shareButton\" | translate }}\r\n </button>\r\n <button class=\"cancelation-button\" (click)=\"close()\">\r\n {{ \"BUTTONS.Cancel\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</form>", styles: [".share-dialog-wrapper .mat-dialog-container{overflow:hidden;padding:0!important}.share-dialog-wrapper .borders-color{--tw-border-opacity: 1;border-bottom-color:rgba(185,28,28,var(--tw-border-opacity))!important;border-right-color:rgba(185,28,28,var(--tw-border-opacity))!important}.share-dialog-wrapper .rightsSelector .ng-select-container .ng-value-container .ng-placeholder{font-size:12px;margin-top:3px}.share-dialog-wrapper .selectorsWrapper .dep-label,.share-dialog-wrapper .selectorsWrapper .users-label{@apply text-base font-bold mb-0;}\n"], components: [{ type: SelectUsersByDepartmentsComponent, selector: "app-select-users-by-departments", inputs: ["display", "depLabel", "userLabel", "allowMultipleUsers"], outputs: ["formChanged"] }, { type: i5__namespace.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }], pipes: { "translate": i1__namespace.TranslatePipe, "localizedDate": LocalizedDatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
24447
24448
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ShareDialogComponent, decorators: [{
24448
24449
  type: i0.Component,
@@ -24455,7 +24456,7 @@
24455
24456
  }], ctorParameters: function () {
24456
24457
  return [{ type: undefined, decorators: [{
24457
24458
  type: i0.Inject,
24458
- args: [i1$3.MAT_DIALOG_DATA]
24459
+ args: [i1$4.MAT_DIALOG_DATA]
24459
24460
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: i1__namespace$3.MatDialog }, { type: i6__namespace.FormBuilder }, { type: SharedDocsService }, { type: CustomToastrService }, { type: TranslationService }, { type: NuxeoService }, { type: UserPreferencesService }];
24460
24461
  } });
24461
24462
 
@@ -24788,7 +24789,7 @@
24788
24789
  };
24789
24790
  return UpdateModalComponent;
24790
24791
  }());
24791
- UpdateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UpdateModalComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: 'environment' }, { token: i1__namespace$3.MatDialogRef }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: AppConfigService }, { token: DynamicFormService }, { token: AdapterService }, { token: TranslationService }, { token: DateHelperService }, { token: DocumentsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
24792
+ UpdateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UpdateModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: 'environment' }, { token: i1__namespace$3.MatDialogRef }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: AppConfigService }, { token: DynamicFormService }, { token: AdapterService }, { token: TranslationService }, { token: DateHelperService }, { token: DocumentsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
24792
24793
  UpdateModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: UpdateModalComponent, selector: "app-update-modal", host: { listeners: { "document:keyup.enter": "KeyUpEvent($event)" } }, ngImport: i0__namespace, template: "<div class=\"create-folder-modal d-flex justify-center w-full relative h-full\">\r\n <div class=\"folder-wrapper\" SetRtl>\r\n <div class=\"mb-5\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.TYPE_ONLY\" | translate }}\r\n <span class=\"text-red-500\">*</span>\r\n </div>\r\n <div *ngIf=\"!isDirectory\">{{ translatedDocumentType ? (isArabic ? (translatedDocumentType.arabicName) : (translatedDocumentType.englishTitle)) : type}}</div>\r\n <div *ngIf=\"isDirectory\">{{ type === 'DmsFolder' ? (isArabic ? '\u0645\u062C\u0644\u062F' : 'Folder') : type}}</div>\r\n\r\n </div>\r\n <form [formGroup]=\"fileForm\" *ngIf=\"fileForm\">\r\n <div class=\"mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.TITLE_ONLY\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style \"\r\n [ngClass]=\"{'border-red-500' : fileForm.value.title === '..'}\"\r\n required\r\n formControlName=\"title\" \r\n placeholder=\" {{ 'CREATE.TITLE' | translate}}\"\r\n />\r\n <div class=\"text-red-500 text-base\" *ngIf=\"fileForm.value.title === '..'\">\r\n {{ \"FOLDERS.INVALID_TITLE_ONLY\" | translate }}\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.DESCRIPTION_ONLY\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style \"\r\n formControlName=\"description\" \r\n placeholder=\" {{ 'CREATE.DESCRIPTION' | translate}}\"\r\n />\r\n </div>\r\n\r\n <!------------------ new statis form ---------------------------->\r\n <div *ngIf=\"usingExtraFields && !isDirectory\">\r\n <app-dynamic-fields-renderer \r\n [mode]=\"'edit'\"\r\n [fields]=\"fields\" \r\n [form]=\"fileForm\" \r\n [agencyNameFilter]=\"agencyNameFilter\" \r\n [countryNameFilter]=\"countryNameFilter\"\r\n >\r\n </app-dynamic-fields-renderer>\r\n </div>\r\n\r\n <!-- ----------------------------------------------------------- -->\r\n\r\n\r\n </form>\r\n <div class=\"dynamic-part -mx-4\" *ngIf=\"dynamicForm && showRenderer\">\r\n <app-dynamic-form\r\n [form]=\"dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"\r\n w-full\r\n d-flex\r\n justify-between\r\n absolute\r\n bottom-0\r\n \"\r\n >\r\n <div class=\"flex\">\r\n <button\r\n class=\"cancelation-button\"\r\n (click)=\"closeDialog()\"\r\n >\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n\r\n <!-- -->\r\n <div class=\"d-flex\">\r\n <button\r\n (click)=\"UpdateDocument()\"\r\n [disabled]=\"\r\n (dynamicData['data'] && !dynamicData.valid) ||\r\n fileForm.invalid ||\r\n fileForm.value.title === '..'\r\n \"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed':\r\n (dynamicData['data'] && !dynamicData.valid) ||\r\n fileForm.invalid ||\r\n fileForm.value.title === '..'\r\n }\"\r\n class=\"submission-button\"\r\n >\r\n {{ \"BUTTONS.UPDATE\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".folder-wrapper{height:calc(100% - 50px);overflow-y:auto;overflow-x:hidden;padding:0 10px;width:100%}\n"], components: [{ type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: ["form", "agencyNameFilter", "countryNameFilter", "mode", "fields"] }, { type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
24793
24794
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UpdateModalComponent, decorators: [{
24794
24795
  type: i0.Component,
@@ -24800,7 +24801,7 @@
24800
24801
  }], ctorParameters: function () {
24801
24802
  return [{ type: undefined, decorators: [{
24802
24803
  type: i0.Inject,
24803
- args: [i1$3.MAT_DIALOG_DATA]
24804
+ args: [i1$4.MAT_DIALOG_DATA]
24804
24805
  }] }, { type: undefined, decorators: [{
24805
24806
  type: i0.Inject,
24806
24807
  args: ['environment']
@@ -25437,7 +25438,7 @@
25437
25438
  };
25438
25439
  return AddPermissionsDialogComponent;
25439
25440
  }());
25440
- AddPermissionsDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AddPermissionsDialogComponent, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: PermissionService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: TranslationService }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
25441
+ AddPermissionsDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AddPermissionsDialogComponent, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: PermissionService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: TranslationService }, { token: i1$4.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
25441
25442
  AddPermissionsDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddPermissionsDialogComponent, selector: "app-add-permissions-dialog", ngImport: i0__namespace, template: "<form [formGroup]=\"permissionForm\" class=\"h-full\" SetRtl>\r\n\r\n <div class=\"flex flex-col h-full\">\r\n <div class=\"add-permsion-wrapper\">\r\n <span class=\"text-gray-900 text-lg\" *ngIf=\"state == 'update'\">\r\n {{ \"permission.edit_permission\" | translate }}\r\n </span>\r\n <span class=\"text-gray-900 text-lg\" *ngIf=\"state !== 'update'\">\r\n {{ \"permission.add_new_permission\" | translate }}\r\n </span>\r\n \r\n <div class=\"user-select mt-5\" *ngIf=\"state != 'update'\">\r\n <label class=\"text-base font-bold mb-0\">\r\n {{ 'permission.username' | translate}}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-select \r\n [items]=\"permissionService.departmentUsers\"\r\n [placeholder]=\"'permission.placeholder' | translate\"\r\n [multiple]=\"true\"\r\n [loading]=\"refreshUsers\"\r\n bindLabel=\"displayLabel\"\r\n bindValue=\"properties.username\"\r\n formControlName=\"users\"\r\n >\r\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\r\n <div class=\"ng-option disabled\">\r\n {{'permission.ngSelect_resultNotFound' | translate}}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <div class=\"flex flex-col h-full\">\r\n <div class=\"flex flex-row\">\r\n <div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\" >\r\n <cts-avatar [user]=\"{\r\n properties: {\r\n firstName: item.properties.firstName,\r\n lastName: item.properties.lastName\r\n }\r\n }\">\r\n </cts-avatar>\r\n </div>\r\n <div class=\"flex flex-col pt-0 px-2\">\r\n <span>{{item.displayLabel}}</span>\r\n <span>{{item.properties.email}}-{{item.properties.username}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n <div class=\"mt-3 rights-select\">\r\n <label class=\"text-base font-bold mb-0\">\r\n {{ \"permission.Rights\" | translate }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-select \r\n [items]=\"rights\"\r\n [placeholder]=\"'permission.rightsPlaceholder' | translate\"\r\n bindLabel=\"label\"\r\n bindValue=\"value\"\r\n formControlName=\"permission\" \r\n [(ngModel)]=\"editableRight\"\r\n >\r\n </ng-select>\r\n </div>\r\n \r\n <!--<div class=\"flex flex-row mt-5\">\r\n <span class=\"text-gray-900 text-base font-bold\">\r\n {{ \"permission.timeframe\" | translate }}\r\n <span class=\"text-danger\">*</span>:</span>\r\n <div class=\"mx-2\">\r\n <label class=\"inline-flex items-center\">\r\n <input type=\"radio\" class=\"form-radio\" name=\"radio\" value=\"Permanent\" [checked]=\"timeFrame == 'Permanent'\"\r\n (click)=\"timeFrame = 'Permanent'\" />\r\n <span class=\"mx-2 mt-1 text-gray-900 text-sm font-bold\">{{\r\n \"permission.permanent\" | translate\r\n }}</span>\r\n </label>\r\n </div>\r\n <div rtl>\r\n <label class=\"inline-flex items-center\">\r\n <input type=\"radio\" class=\"form-radio\" name=\"radio\" value=\"Date-Based\" [checked]=\"timeFrame == 'Date-Based'\"\r\n (click)=\"timeFrame = 'Date-Based'\" />\r\n <span class=\"mx-2 mt-1 text-gray-900 text-sm font-bold\">{{\r\n \"permission.Date_based\" | translate\r\n }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-col mt-2\">\r\n <label class=\"text-base font-bold text-gray-900 mb-0\">{{ \"permission.from\" | translate }}</label>\r\n <cts-dynamic-form-hijri-dateitem \r\n formControlName=\"begin\" \r\n [isDisabled]=\"timeFrame == 'Permanent'\"\r\n [(ngModel)]=\"editableBegin\">\r\n </cts-dynamic-form-hijri-dateitem>\r\n <label class=\"text-base font-bold text-gray-900 mb-0\">{{ \"permission.to\" | translate }}</label>\r\n <cts-dynamic-form-hijri-dateitem \r\n formControlName=\"end\" \r\n [isDisabled]=\"timeFrame == 'Permanent'\"\r\n [(ngModel)]=\"editableEnd\">\r\n </cts-dynamic-form-hijri-dateitem>\r\n <div *ngIf=\"permissionForm?.errors?.notValid\">\r\n <span class=\"text-red-500 text-base -mt-3 \">{{\r\n \"permission.endStartError\" | translate\r\n }}</span>\r\n </div>\r\n </div>-->\r\n </div>\r\n\r\n <div class=\"flex flex-row justify-between mt-5 flex-wrap\">\r\n <div class=\"d-flex\">\r\n <button *ngIf=\"state != 'update'\" [disabled]=\"createAndAdd\" class=\"submission-button\"\r\n (click)=\"create(permissionForm.value)\">\r\n <span *ngIf=\"!creating;else loader\">{{ \"permission.create\" | translate }}</span>\r\n </button>\r\n <button class=\"submission-button\" (click)=\"edit(permissionForm.value)\" *ngIf=\"state == 'update'\">\r\n <span *ngIf=\"!updating;else loader\">{{ \"permission.update\" | translate }}</span>\r\n </button>\r\n <button *ngIf=\"state != 'update'\" class=\"submission-button w-44\" (click)=\"\r\n createandAddAnother(permissionForm, permissionForm.value)\r\n \">\r\n <span *ngIf=\"!createAndAdd;else loader\">{{ \"permission.createAndAdd\" | translate }}</span>\r\n </button>\r\n </div>\r\n <div>\r\n <button class=\"cancelation-button mb-3\" (click)=\"cancel(false)\">\r\n {{ \"BUTTONS.Cancel\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ng-template #loader>\r\n <mat-spinner [value]=\"90\" [strokeWidth]=\"3\" overlay=\"true\" [diameter]=\"25\" color=\"warn\">\r\n </mat-spinner>\r\n</ng-template>\r\n", styles: [".form-radio{appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0;border-radius:100%;height:1em;width:1em;color:#4299e1;background-color:#fff;border-color:#e2e8f0;border-width:1px}.form-radio:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media not print{.form-radio::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-radio:focus{outline:none;box-shadow:0 0 0 3px #4299e180;border-color:#63b3ed}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container,.rights-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container,.rights-select .ng-select-container .ng-value-container{padding:unset!important}.user-select .ng-select-container .ng-value-container .ng-placeholder,.rights-select .ng-select-container .ng-value-container .ng-placeholder{font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value,.rights-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper,.rights-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input,.rights-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding-top:4px!important}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid blue;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#00f;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#00f}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}.add-permsion-wrapper{height:calc(100% - 50px);overflow:auto}\n"], components: [{ type: i5__namespace.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5__namespace.ɵl, selector: "[ng-notfound-tmp]" }, { type: i5__namespace.ɵf, selector: "[ng-option-tmp]" }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
25442
25443
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AddPermissionsDialogComponent, decorators: [{
25443
25444
  type: i0.Component,
@@ -25450,7 +25451,7 @@
25450
25451
  }], ctorParameters: function () {
25451
25452
  return [{ type: i1__namespace$3.MatDialogRef }, { type: PermissionService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }, { type: TranslationService }, { type: undefined, decorators: [{
25452
25453
  type: i0.Inject,
25453
- args: [i1$3.MAT_DIALOG_DATA]
25454
+ args: [i1$4.MAT_DIALOG_DATA]
25454
25455
  }] }];
25455
25456
  } });
25456
25457
 
@@ -25476,7 +25477,7 @@
25476
25477
  };
25477
25478
  PermissionsTemplateComponent.prototype.editPermission = function (permission, username, userVisiblePermissions, begin, end) {
25478
25479
  var _this = this;
25479
- var dialogConfig = new i1$3.MatDialogConfig();
25480
+ var dialogConfig = new i1$4.MatDialogConfig();
25480
25481
  dialogConfig.disableClose = false;
25481
25482
  dialogConfig.autoFocus = true;
25482
25483
  dialogConfig.data = {
@@ -25718,7 +25719,7 @@
25718
25719
  }
25719
25720
  });
25720
25721
  });
25721
- var dialogConfig = new i1$3.MatDialogConfig();
25722
+ var dialogConfig = new i1$4.MatDialogConfig();
25722
25723
  dialogConfig.disableClose = false;
25723
25724
  dialogConfig.autoFocus = true;
25724
25725
  dialogConfig.data = {
@@ -26142,7 +26143,7 @@
26142
26143
  };
26143
26144
  return TemplateModalComponent;
26144
26145
  }());
26145
- TemplateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateModalComponent, deps: [{ token: i1$3.MAT_DIALOG_DATA }, { token: UploadManagmentService }, { token: i1__namespace$3.MatDialogRef }, { token: DialogMangmentService }, { token: DynamicFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
26146
+ TemplateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: UploadManagmentService }, { token: i1__namespace$3.MatDialogRef }, { token: DialogMangmentService }, { token: DynamicFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
26146
26147
  TemplateModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateModalComponent, selector: "app-template-modal", ngImport: i0__namespace, template: "<div class=\"template-modal-wraper d-flex relative h-full\">\r\n <div class=\"modal-body-section d-flex w-full\">\r\n <!-- forms and properties -->\r\n <div class=\"forms-section w-1/2\">\r\n <div class=\"\">\r\n <div class=\"mb-5\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.FILE_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">{{ fileType }}</div>\r\n </div>\r\n <div class=\"file-fields mt-3\">\r\n <form #fileForm=\"ngForm\">\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.TITLE\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.title\"\r\n required\r\n name=\"title\"\r\n id=\"title\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.DESCRIPTION\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.description\"\r\n required\r\n name=\"description\"\r\n id=\"description\"\r\n />\r\n </div>\r\n </form>\r\n <!-- *ngIf=\"\" -->\r\n <div\r\n class=\"dynamic-part -mx-4\"\r\n *ngIf=\"selectedFile.dynamicForm && showRenderer\"\r\n >\r\n <app-dynamic-form\r\n [form]=\"selectedFile.dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"template-side-menu w-1/2 d-flex justify-center items-center\"\r\n >\r\n <div class=\"text-gray-900 font-bold\">No Templates Yet</div>\r\n </div>\r\n </div>\r\n\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"\r\n w-full\r\n d-flex\r\n justify-between\r\n scanner-actions-wrapper\r\n absolute\r\n bottom-0\r\n \"\r\n >\r\n <div class=\"flex\">\r\n <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n \"\r\n (click)=\"closeDialog()\"\r\n >\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus\r\n .numberOfUploadedFiles !== 0 ||\r\n addingProperties\r\n \" -->\r\n <!-- <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n mx-2\r\n \"\r\n (click)=\"minimizDialog()\"\r\n >\r\n {{ \"BUTTONS.MINIMIZED\" | translate }}\r\n </button> -->\r\n </div>\r\n\r\n <!-- -->\r\n <div class=\"d-flex\">\r\n <!-- <button\r\n *ngIf=\"\r\n (uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n selectedFile.file) &&\r\n !uploadMangmentService.addingPropertiesMode\r\n \"\r\n (click)=\"startAddingProperties()\"\r\n class=\"\r\n hover:text-white hover:bg-gray-900\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-36\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.ADD_PROPERTIES\" | translate }}\r\n </button> -->\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \" -->\r\n <!-- <button\r\n \r\n (click)=\"createDocument()\"\r\n [disabled]=\"scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-white bg-gray-900\r\n rounded-3xl\r\n w-30\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE\" | translate }}\r\n </button> -->\r\n\r\n <!-- <button\r\n *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \"\r\n (click)=\"createWhenFinish()\"\r\n [disabled]=\"checkValidation()\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': checkValidation(),\r\n 'cursor-pointer hover:text-white hover:bg-gray-900':\r\n !checkValidation()\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-40\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE_WHEN_FINSH\" | translate }}\r\n </button> -->\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-body-section{height:calc(100% - 80px)}\n"], components: [{ type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
26147
26148
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateModalComponent, decorators: [{
26148
26149
  type: i0.Component,
@@ -26154,7 +26155,7 @@
26154
26155
  }], ctorParameters: function () {
26155
26156
  return [{ type: undefined, decorators: [{
26156
26157
  type: i0.Inject,
26157
- args: [i1$3.MAT_DIALOG_DATA]
26158
+ args: [i1$4.MAT_DIALOG_DATA]
26158
26159
  }] }, { type: UploadManagmentService }, { type: i1__namespace$3.MatDialogRef }, { type: DialogMangmentService }, { type: DynamicFormService }];
26159
26160
  } });
26160
26161
 
@@ -26604,7 +26605,7 @@
26604
26605
  this.callApi = this.injectorObj.get(CallApiService);
26605
26606
  this.shared = this.injectorObj.get(SharedDocsService);
26606
26607
  this.adapter = this.injectorObj.get(AdapterService);
26607
- this.router = this.injectorObj.get(i1$4.Router);
26608
+ this.router = this.injectorObj.get(i1$3.Router);
26608
26609
  this.fileManagerAdapter = this.injectorObj.get(FileManagerAdapter);
26609
26610
  this.translationService = this.injectorObj.get(TranslationService);
26610
26611
  this.customToastrService = this.injectorObj.get(CustomToastrService);
@@ -26612,9 +26613,9 @@
26612
26613
  this.userPreferenceService = this.injectorObj.get(UserPreferencesService);
26613
26614
  this.dialogMangmentService = this.injectorObj.get(DialogMangmentService);
26614
26615
  this.uploadMangmentService = this.injectorObj.get(UploadManagmentService);
26615
- this.dialog = this.injectorObj.get(i1$3.MatDialog);
26616
+ this.dialog = this.injectorObj.get(i1$4.MatDialog);
26616
26617
  this.documentScanService = this.injectorObj.get(DocumentScanService);
26617
- this.route = this.injectorObj.get(i1$4.ActivatedRoute);
26618
+ this.route = this.injectorObj.get(i1$3.ActivatedRoute);
26618
26619
  this.iconService = this.injectorObj.get(IconService);
26619
26620
  this.nuxeoService = this.injectorObj.get(NuxeoService);
26620
26621
  this.multiSelectedkeys = [""];
@@ -27576,13 +27577,13 @@
27576
27577
  ActivityModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
27577
27578
  ActivityModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, declarations: [ActivityComponent], imports: [i4.CommonModule,
27578
27579
  AvatarModule,
27579
- i1$4.RouterModule], exports: [ActivityComponent,
27580
- i1$4.RouterModule] });
27580
+ i1$3.RouterModule], exports: [ActivityComponent,
27581
+ i1$3.RouterModule] });
27581
27582
  ActivityModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, imports: [[
27582
27583
  i4.CommonModule,
27583
27584
  AvatarModule,
27584
- i1$4.RouterModule
27585
- ], i1$4.RouterModule] });
27585
+ i1$3.RouterModule
27586
+ ], i1$3.RouterModule] });
27586
27587
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, decorators: [{
27587
27588
  type: i0.NgModule,
27588
27589
  args: [{
@@ -27590,11 +27591,11 @@
27590
27591
  imports: [
27591
27592
  i4.CommonModule,
27592
27593
  AvatarModule,
27593
- i1$4.RouterModule
27594
+ i1$3.RouterModule
27594
27595
  ],
27595
27596
  exports: [
27596
27597
  ActivityComponent,
27597
- i1$4.RouterModule
27598
+ i1$3.RouterModule
27598
27599
  ]
27599
27600
  }]
27600
27601
  }] });
@@ -28199,11 +28200,11 @@
28199
28200
  ConfirmationDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
28200
28201
  ConfirmationDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, declarations: [ConfirmationDialogComponent], imports: [i4.CommonModule,
28201
28202
  i1$1.TranslateModule,
28202
- i1$3.MatDialogModule], exports: [ConfirmationDialogComponent] });
28203
+ i1$4.MatDialogModule], exports: [ConfirmationDialogComponent] });
28203
28204
  ConfirmationDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, imports: [[
28204
28205
  i4.CommonModule,
28205
28206
  i1$1.TranslateModule,
28206
- i1$3.MatDialogModule
28207
+ i1$4.MatDialogModule
28207
28208
  ]] });
28208
28209
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, decorators: [{
28209
28210
  type: i0.NgModule,
@@ -28212,7 +28213,7 @@
28212
28213
  imports: [
28213
28214
  i4.CommonModule,
28214
28215
  i1$1.TranslateModule,
28215
- i1$3.MatDialogModule
28216
+ i1$4.MatDialogModule
28216
28217
  ],
28217
28218
  exports: [ConfirmationDialogComponent]
28218
28219
  }]
@@ -28471,7 +28472,7 @@
28471
28472
  i3$3.DxTreeViewModule,
28472
28473
  ViewerLogModule,
28473
28474
  CtsTagsModule,
28474
- i1$3.MatDialogModule,
28475
+ i1$4.MatDialogModule,
28475
28476
  i2$2.MatTooltipModule,
28476
28477
  CorrespondenceRelationModule,
28477
28478
  AvatarModule,
@@ -28541,7 +28542,7 @@
28541
28542
  i3$3.DxTreeViewModule,
28542
28543
  ViewerLogModule,
28543
28544
  CtsTagsModule,
28544
- i1$3.MatDialogModule,
28545
+ i1$4.MatDialogModule,
28545
28546
  i2$2.MatTooltipModule,
28546
28547
  CorrespondenceRelationModule,
28547
28548
  AvatarModule,
@@ -28617,7 +28618,7 @@
28617
28618
  i3$3.DxTreeViewModule,
28618
28619
  ViewerLogModule,
28619
28620
  CtsTagsModule,
28620
- i1$3.MatDialogModule,
28621
+ i1$4.MatDialogModule,
28621
28622
  i2$2.MatTooltipModule,
28622
28623
  CorrespondenceRelationModule,
28623
28624
  AvatarModule,
@@ -29928,14 +29929,14 @@
29928
29929
  return UsersCardModule;
29929
29930
  }());
29930
29931
  UsersCardModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
29931
- UsersCardModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, declarations: [UsersCardComponent], imports: [i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$4.RouterModule], exports: [UsersCardComponent, i1$4.RouterModule] });
29932
- UsersCardModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, providers: [], imports: [[i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$4.RouterModule], i1$4.RouterModule] });
29932
+ UsersCardModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, declarations: [UsersCardComponent], imports: [i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$3.RouterModule], exports: [UsersCardComponent, i1$3.RouterModule] });
29933
+ UsersCardModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, providers: [], imports: [[i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$3.RouterModule], i1$3.RouterModule] });
29933
29934
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, decorators: [{
29934
29935
  type: i0.NgModule,
29935
29936
  args: [{
29936
29937
  declarations: [UsersCardComponent],
29937
- imports: [i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$4.RouterModule],
29938
- exports: [UsersCardComponent, i1$4.RouterModule],
29938
+ imports: [i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$3.RouterModule],
29939
+ exports: [UsersCardComponent, i1$3.RouterModule],
29939
29940
  providers: [],
29940
29941
  }]
29941
29942
  }] });
@@ -30548,71 +30549,6 @@
30548
30549
  });
30549
30550
  }); };
30550
30551
 
30551
- function serializePort(port) {
30552
- return {
30553
- id: port.id,
30554
- label: port.label,
30555
- socket: {
30556
- name: port.socket.name,
30557
- },
30558
- };
30559
- }
30560
- function serializeControl(control) {
30561
- if (control instanceof rete.ClassicPreset.InputControl) {
30562
- return {
30563
- __type: 'ClassicPreset.InputControl',
30564
- id: control.id,
30565
- readonly: control.readonly,
30566
- type: control.type,
30567
- value: control.value,
30568
- };
30569
- }
30570
- return null;
30571
- }
30572
-
30573
- function exportGraph(editor) {
30574
- return __awaiter(this, void 0, void 0, function () {
30575
- var data, nodes, nodes_1, nodes_1_1, node, inputsEntries, outputsEntries, controlsEntries;
30576
- var e_1, _a;
30577
- return __generator(this, function (_b) {
30578
- data = { nodes: [] };
30579
- nodes = editor.getNodes();
30580
- try {
30581
- for (nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {
30582
- node = nodes_1_1.value;
30583
- inputsEntries = Object.entries(node.inputs).map(function (_a) {
30584
- var _b = __read(_a, 2), key = _b[0], input = _b[1];
30585
- return [key, input && serializePort(input)];
30586
- });
30587
- outputsEntries = Object.entries(node.outputs).map(function (_a) {
30588
- var _b = __read(_a, 2), key = _b[0], output = _b[1];
30589
- return [key, output && serializePort(output)];
30590
- });
30591
- controlsEntries = Object.entries(node.controls).map(function (_a) {
30592
- var _b = __read(_a, 2), key = _b[0], control = _b[1];
30593
- return [key, control && serializeControl(control)];
30594
- });
30595
- // data.nodes.push({
30596
- // id: node.id,
30597
- // label: node.label,
30598
- // outputs: Object.fromEntries(outputsEntries),
30599
- // inputs: Object.fromEntries(inputsEntries),
30600
- // controls: Object.fromEntries(controlsEntries),
30601
- // });
30602
- }
30603
- }
30604
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
30605
- finally {
30606
- try {
30607
- if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
30608
- }
30609
- finally { if (e_1) throw e_1.error; }
30610
- }
30611
- return [2 /*return*/, data];
30612
- });
30613
- });
30614
- }
30615
-
30616
30552
  /**
30617
30553
  *
30618
30554
  * @param node
@@ -30753,6 +30689,28 @@
30753
30689
  });
30754
30690
  }); };
30755
30691
 
30692
+ function serializePort(port) {
30693
+ return {
30694
+ id: port.id,
30695
+ label: port.label,
30696
+ socket: {
30697
+ name: port.socket.name,
30698
+ },
30699
+ };
30700
+ }
30701
+ function serializeControl(control) {
30702
+ if (control instanceof rete.ClassicPreset.InputControl) {
30703
+ return {
30704
+ __type: 'ClassicPreset.InputControl',
30705
+ id: control.id,
30706
+ readonly: control.readonly,
30707
+ type: control.type,
30708
+ value: control.value,
30709
+ };
30710
+ }
30711
+ return null;
30712
+ }
30713
+
30756
30714
  var DiagramService = /** @class */ (function () {
30757
30715
  /**
30758
30716
  *
@@ -33494,7 +33452,7 @@
33494
33452
  GetIconPipe,
33495
33453
  NotificationsSidebarComponent,
33496
33454
  NotificationSidebarContentDirective], imports: [i4.CommonModule,
33497
- i1$4.RouterModule,
33455
+ i1$3.RouterModule,
33498
33456
  i9.InfiniteScrollModule,
33499
33457
  i2$4.MatListModule,
33500
33458
  PipesModule,
@@ -33512,7 +33470,7 @@
33512
33470
  i1$7.MatButtonModule,
33513
33471
  i1$8.MatTabsModule,
33514
33472
  ConfirmationDialogModule,
33515
- i1$3.MatDialogModule], exports: [NotificationsListComponent,
33473
+ i1$4.MatDialogModule], exports: [NotificationsListComponent,
33516
33474
  NotificationsButtonComponent,
33517
33475
  NotificationItemComponent,
33518
33476
  NotificationsSettingsContainerComponent,
@@ -33522,7 +33480,7 @@
33522
33480
  NotificationsDateSelectComponent, NotificationIconDirective, NotificationItemDirective] });
33523
33481
  NotificationsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationsModule, providers: [i4.DatePipe, NotificationsService], imports: [[
33524
33482
  i4.CommonModule,
33525
- i1$4.RouterModule,
33483
+ i1$3.RouterModule,
33526
33484
  i9.InfiniteScrollModule,
33527
33485
  i2$4.MatListModule,
33528
33486
  PipesModule,
@@ -33540,14 +33498,14 @@
33540
33498
  i1$7.MatButtonModule,
33541
33499
  i1$8.MatTabsModule,
33542
33500
  ConfirmationDialogModule,
33543
- i1$3.MatDialogModule,
33501
+ i1$4.MatDialogModule,
33544
33502
  ]] });
33545
33503
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationsModule, decorators: [{
33546
33504
  type: i0.NgModule,
33547
33505
  args: [{
33548
33506
  imports: [
33549
33507
  i4.CommonModule,
33550
- i1$4.RouterModule,
33508
+ i1$3.RouterModule,
33551
33509
  i9.InfiniteScrollModule,
33552
33510
  i2$4.MatListModule,
33553
33511
  PipesModule,
@@ -33565,7 +33523,7 @@
33565
33523
  i1$7.MatButtonModule,
33566
33524
  i1$8.MatTabsModule,
33567
33525
  ConfirmationDialogModule,
33568
- i1$3.MatDialogModule,
33526
+ i1$4.MatDialogModule,
33569
33527
  ],
33570
33528
  declarations: [
33571
33529
  COMPONENTS$1,
@@ -33724,7 +33682,7 @@
33724
33682
  else {
33725
33683
  // no cachable exist
33726
33684
  this.routerSubscription = this.router.events.subscribe(function (val) {
33727
- if (val instanceof i1$4.RoutesRecognized) {
33685
+ if (val instanceof i1$3.RoutesRecognized) {
33728
33686
  console.log(val.state.root.queryParams);
33729
33687
  var code = val.state.root.queryParams.code;
33730
33688
  if (code && code.length) {
@@ -34269,7 +34227,6 @@
34269
34227
  exports.ZoomControlComponent = ZoomControlComponent;
34270
34228
  exports.appInitializer = appInitializer;
34271
34229
  exports.departmentCacheBuster$ = departmentCacheBuster$;
34272
- exports.exportGraph = exportGraph;
34273
34230
  exports.extensionJsonsFactory = extensionJsonsFactory;
34274
34231
  exports.filterEnabled = filterEnabled;
34275
34232
  exports.getConnections = getConnections;