nuxeo-development-framework 4.0.5 → 4.0.6

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 (25) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1582 -1627
  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 +7 -7
  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 +29 -31
  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 +1129 -1156
  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/confirmation/ndf-confirmation-dialog.component.d.ts +3 -3
  17. package/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.d.ts +2 -1
  18. package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +7 -8
  19. package/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.d.ts +3 -3
  20. package/lib/shared/services/base/base.service.d.ts +6 -6
  21. package/lib/shared/services/base/cache-base.service.d.ts +4 -4
  22. package/lib/shared/services/base/http-base.service.d.ts +4 -4
  23. package/package.json +1 -1
  24. package/esm2015/lib/components/diagrams/utilities/export-graph.js +0 -28
  25. 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,318 +2360,1065 @@
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 } });
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
+ }]
2452
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { dialogTitle: [{
2453
+ type: i0.Input
2454
+ }], subTitle: [{
2455
+ type: i0.Input
2456
+ }], loaderMode: [{
2457
+ type: i0.Input
2458
+ }], contentTemplate: [{
2459
+ type: i0.ContentChild,
2460
+ args: ['contentTemplate']
2461
+ }], actionsTemplate: [{
2462
+ type: i0.ContentChild,
2463
+ args: ['actionsTemplate']
2464
+ }], dialogBody: [{
2465
+ type: i0.ViewChild,
2466
+ args: ['dialogBody']
2467
+ }] } });
2739
2468
 
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
- });
2469
+ var NdfConfirmationDialogComponent = /** @class */ (function (_super) {
2470
+ __extends(NdfConfirmationDialogComponent, _super);
2471
+ function NdfConfirmationDialogComponent(injector) {
2472
+ return _super.call(this, injector) || this;
2764
2473
  }
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
- };
2474
+ return NdfConfirmationDialogComponent;
2475
+ }(BaseDialogComponent));
2476
+ 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 });
2477
+ 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: ["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 } });
2478
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfConfirmationDialogComponent, decorators: [{
2479
+ type: i0.Component,
2480
+ args: [{
2481
+ selector: 'ndf-confirmation-dialog',
2482
+ templateUrl: './ndf-confirmation-dialog.component.html',
2483
+ styleUrls: ['./ndf-confirmation-dialog.component.scss']
2484
+ }]
2485
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
2786
2486
 
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);
2487
+ /** @ignore */
2488
+ var ClickOutsideDirective = /** @class */ (function () {
2489
+ function ClickOutsideDirective(elementRef) {
2490
+ this.elementRef = elementRef;
2491
+ this.clickOutside = new i0.EventEmitter();
2795
2492
  }
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);
2801
- };
2802
- CacheBaseService.prototype.validateTTL = function (userName) {
2803
- var _this = this;
2804
- if (!DEFAULT_TTL_CONFIG.AUTO_CHECK || !userName)
2805
- return;
2806
- var prefix = userName + "__" + DEFAULT_CACHE_OPTIONS.PREFIX;
2807
- Object.keys(window.localStorage)
2808
- .filter(function (q) { return q.startsWith(prefix); })
2809
- .filter(function (key) {
2810
- var _a;
2811
- var options = {
2812
- cacheKey: key.replace(prefix, ""),
2813
- userName: userName,
2814
- request: DEFAULT_CACHE_OPTIONS.REQUEST,
2815
- prepareDataBeforeCaching: DEFAULT_CACHE_OPTIONS.PREPARE_DATA,
2816
- };
2817
- var firstFetchingDate = (_a = __classPrivateFieldGet(_this, _CacheBaseService_instances, "m", _CacheBaseService_getItem).call(_this, options)) === null || _a === void 0 ? void 0 : _a.firstFetchingDate;
2818
- if (!firstFetchingDate)
2819
- return;
2820
- var momentDate1 = moment__namespace(new Date(firstFetchingDate));
2821
- var momentDate2 = moment__namespace(new Date());
2822
- var difference = momentDate2.diff(momentDate1, DEFAULT_TTL_CONFIG.UNIT);
2823
- return difference >= DEFAULT_TTL_CONFIG.TTL;
2824
- })
2825
- .forEach(function (key) {
2826
- window.localStorage.removeItem(key);
2827
- });
2828
- };
2829
- CacheBaseService.prototype.startFetchingItems = function (options) {
2830
- var _a;
2831
- __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_validateTTLForKey).call(this, options);
2832
- if ((_a = __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[options.cacheKey]) === null || _a === void 0 ? void 0 : _a.fetchingItemsFromTheServer) {
2833
- return __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[options.cacheKey].onFinishFetching.asObservable();
2834
- }
2835
- else {
2836
- return __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_handleCacheItems).call(this, options);
2493
+ ClickOutsideDirective.prototype.onClick = function (target) {
2494
+ var clickedInside = this.elementRef.nativeElement.contains(target);
2495
+ if (!clickedInside) {
2496
+ this.clickOutside.emit(target);
2837
2497
  }
2838
2498
  };
2839
- return CacheBaseService;
2499
+ return ClickOutsideDirective;
2840
2500
  }());
2841
- _CacheBaseService_fetchedItems = new WeakMap(), _CacheBaseService_instances = new WeakSet(), _CacheBaseService_handleCacheItems = function _CacheBaseService_handleCacheItems(options) {
2842
- var _j, _k;
2843
- var _this = this;
2844
- var observable;
2845
- __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_prepareOptions).call(this, options);
2846
- var cachedItem = __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_getItem).call(this, options);
2501
+ 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 });
2502
+ 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 });
2503
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ClickOutsideDirective, decorators: [{
2504
+ type: i0.Directive,
2505
+ args: [{
2506
+ selector: '[clickOutside]'
2507
+ }]
2508
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { clickOutside: [{
2509
+ type: i0.Output
2510
+ }], onClick: [{
2511
+ type: i0.HostListener,
2512
+ args: ['window:click', ['$event.target']]
2513
+ }] } });
2514
+
2515
+ /** @ignore */
2516
+ var SetRtlDirective = /** @class */ (function () {
2517
+ function SetRtlDirective(elRef, renderer, translation) {
2518
+ this.elRef = elRef;
2519
+ this.renderer = renderer;
2520
+ this.translation = translation;
2521
+ this.switchClassBasedOnLanguage();
2522
+ }
2523
+ /*Switch rtl class based on the chosen language from Translation Service*/
2524
+ SetRtlDirective.prototype.switchClassBasedOnLanguage = function () {
2525
+ var _this = this;
2526
+ this.translation.isArabic.subscribe(function (arabic) {
2527
+ arabic
2528
+ ? _this.renderer.addClass(_this.elRef.nativeElement, 'rtl')
2529
+ : _this.renderer.removeClass(_this.elRef.nativeElement, 'rtl');
2530
+ });
2531
+ };
2532
+ return SetRtlDirective;
2533
+ }());
2534
+ 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 });
2535
+ SetRtlDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SetRtlDirective, selector: "[SetRtl]", ngImport: i0__namespace });
2536
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetRtlDirective, decorators: [{
2537
+ type: i0.Directive,
2538
+ args: [{
2539
+ selector: '[SetRtl]',
2540
+ }]
2541
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
2542
+
2543
+ var EvaluatorsService = /** @class */ (function () {
2544
+ function EvaluatorsService(nuxeoService, appConfigService) {
2545
+ var _this = this;
2546
+ this.nuxeoService = nuxeoService;
2547
+ this.appConfigService = appConfigService;
2548
+ this.context = { entity: null, getEvaluator: null, user: null };
2549
+ this.asyncEvery = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
2550
+ var arr_1, arr_1_1, e, e_1_1;
2551
+ var e_1, _j;
2552
+ return __generator(this, function (_k) {
2553
+ switch (_k.label) {
2554
+ case 0:
2555
+ _k.trys.push([0, 5, 6, 7]);
2556
+ arr_1 = __values(arr), arr_1_1 = arr_1.next();
2557
+ _k.label = 1;
2558
+ case 1:
2559
+ if (!!arr_1_1.done) return [3 /*break*/, 4];
2560
+ e = arr_1_1.value;
2561
+ return [4 /*yield*/, predicate(e)];
2562
+ case 2:
2563
+ if (!(_k.sent())) {
2564
+ return [2 /*return*/, false];
2565
+ }
2566
+ _k.label = 3;
2567
+ case 3:
2568
+ arr_1_1 = arr_1.next();
2569
+ return [3 /*break*/, 1];
2570
+ case 4: return [3 /*break*/, 7];
2571
+ case 5:
2572
+ e_1_1 = _k.sent();
2573
+ e_1 = { error: e_1_1 };
2574
+ return [3 /*break*/, 7];
2575
+ case 6:
2576
+ try {
2577
+ if (arr_1_1 && !arr_1_1.done && (_j = arr_1.return)) _j.call(arr_1);
2578
+ }
2579
+ finally { if (e_1) throw e_1.error; }
2580
+ return [7 /*endfinally*/];
2581
+ case 7: return [2 /*return*/, true];
2582
+ }
2583
+ });
2584
+ }); };
2585
+ this.asyncSome = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
2586
+ var arr_2, arr_2_1, e, e_2_1;
2587
+ var e_2, _j;
2588
+ return __generator(this, function (_k) {
2589
+ switch (_k.label) {
2590
+ case 0:
2591
+ _k.trys.push([0, 5, 6, 7]);
2592
+ arr_2 = __values(arr), arr_2_1 = arr_2.next();
2593
+ _k.label = 1;
2594
+ case 1:
2595
+ if (!!arr_2_1.done) return [3 /*break*/, 4];
2596
+ e = arr_2_1.value;
2597
+ return [4 /*yield*/, predicate(e)];
2598
+ case 2:
2599
+ if (_k.sent()) {
2600
+ return [2 /*return*/, true];
2601
+ }
2602
+ _k.label = 3;
2603
+ case 3:
2604
+ arr_2_1 = arr_2.next();
2605
+ return [3 /*break*/, 1];
2606
+ case 4: return [3 /*break*/, 7];
2607
+ case 5:
2608
+ e_2_1 = _k.sent();
2609
+ e_2 = { error: e_2_1 };
2610
+ return [3 /*break*/, 7];
2611
+ case 6:
2612
+ try {
2613
+ if (arr_2_1 && !arr_2_1.done && (_j = arr_2.return)) _j.call(arr_2);
2614
+ }
2615
+ finally { if (e_2) throw e_2.error; }
2616
+ return [7 /*endfinally*/];
2617
+ case 7: return [2 /*return*/, false];
2618
+ }
2619
+ });
2620
+ }); };
2621
+ // tslint:disable-next-line:member-ordering
2622
+ this.evaluators = {
2623
+ AND: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2624
+ var _this = this;
2625
+ return __generator(this, function (_j) {
2626
+ switch (_j.label) {
2627
+ case 0:
2628
+ if (!args || args.length === 0) {
2629
+ return [2 /*return*/, false];
2630
+ }
2631
+ return [4 /*yield*/, this.asyncEvery(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
2632
+ var evaluator;
2633
+ return __generator(this, function (_j) {
2634
+ switch (_j.label) {
2635
+ case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
2636
+ case 1:
2637
+ evaluator = _j.sent();
2638
+ if (!evaluator) {
2639
+ console.warn("evaluator not found: " + arg.value);
2640
+ return [2 /*return*/, false];
2641
+ }
2642
+ return [4 /*yield*/, evaluator(context, arg.parameters || [])];
2643
+ case 2: return [2 /*return*/, _j.sent()];
2644
+ }
2645
+ });
2646
+ }); })];
2647
+ case 1: return [2 /*return*/, _j.sent()];
2648
+ }
2649
+ });
2650
+ }); },
2651
+ OR: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2652
+ var _this = this;
2653
+ return __generator(this, function (_j) {
2654
+ switch (_j.label) {
2655
+ case 0:
2656
+ if (!args || args.length === 0) {
2657
+ return [2 /*return*/, false];
2658
+ }
2659
+ return [4 /*yield*/, this.asyncSome(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
2660
+ var evaluator, res;
2661
+ return __generator(this, function (_j) {
2662
+ switch (_j.label) {
2663
+ case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
2664
+ case 1:
2665
+ evaluator = _j.sent();
2666
+ if (!evaluator) {
2667
+ console.warn("evaluator not found: " + arg.value);
2668
+ return [2 /*return*/, false];
2669
+ }
2670
+ return [4 /*yield*/, evaluator(context, arg.parameters || [])];
2671
+ case 2:
2672
+ res = _j.sent();
2673
+ return [2 /*return*/, res];
2674
+ }
2675
+ });
2676
+ }); })];
2677
+ case 1: return [2 /*return*/, _j.sent()];
2678
+ }
2679
+ });
2680
+ }); },
2681
+ isStatus: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2682
+ return __generator(this, function (_j) {
2683
+ if (args.indexOf(context.entity.state) > -1) {
2684
+ return [2 /*return*/, true];
2685
+ }
2686
+ else {
2687
+ return [2 /*return*/, false];
2688
+ }
2689
+ return [2 /*return*/];
2690
+ });
2691
+ }); },
2692
+ isCreator: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2693
+ var _a, _b, _c, _d, _e, _f, _g, _h, owner;
2694
+ return __generator(this, function (_j) {
2695
+ if ((_b = (_a = context.entity.properties.owner) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.username) {
2696
+ owner = (_d = (_c = context.entity.properties.owner) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.username;
2697
+ }
2698
+ 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) {
2699
+ owner = (_h = (_g = context.entity.properties["corr:owner"]) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.username;
2700
+ }
2701
+ else if (context.entity.properties.owner) {
2702
+ owner = context.entity.properties.owner;
2703
+ }
2704
+ else if (context.entity.properties["corr:owner"]) {
2705
+ owner = context.entity.properties["corr:owner"];
2706
+ }
2707
+ if (owner === context.user.properties.username) {
2708
+ return [2 /*return*/, true];
2709
+ }
2710
+ else {
2711
+ return [2 /*return*/, false];
2712
+ }
2713
+ return [2 /*return*/];
2714
+ });
2715
+ }); },
2716
+ isUserInrole: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2717
+ var result;
2718
+ return __generator(this, function (_j) {
2719
+ switch (_j.label) {
2720
+ case 0: return [4 /*yield*/, this.nuxeoService
2721
+ .isUserInRole(args, "")
2722
+ .pipe(operators.first())
2723
+ .toPromise()];
2724
+ case 1:
2725
+ result = _j.sent();
2726
+ return [2 /*return*/, result];
2727
+ }
2728
+ });
2729
+ }); },
2730
+ };
2731
+ this.getEvaluator = function (key) { return __awaiter(_this, void 0, void 0, function () {
2732
+ var eva, fn_1;
2733
+ var _this = this;
2734
+ return __generator(this, function (_j) {
2735
+ eva = this.evaluators;
2736
+ if (key && key.startsWith("!")) {
2737
+ fn_1 = eva[key.substring(1)];
2738
+ return [2 /*return*/, function (context, args) { return __awaiter(_this, void 0, void 0, function () {
2739
+ var result;
2740
+ return __generator(this, function (_j) {
2741
+ switch (_j.label) {
2742
+ case 0: return [4 /*yield*/, fn_1.apply(void 0, __spreadArray([context], __read(args)))];
2743
+ case 1:
2744
+ result = _j.sent();
2745
+ return [2 /*return*/, !result];
2746
+ }
2747
+ });
2748
+ }); }];
2749
+ }
2750
+ return [2 /*return*/, eva[key]];
2751
+ });
2752
+ }); };
2753
+ this.appConfigService.configLoaded.subscribe(function (ready) {
2754
+ if (ready) {
2755
+ _this.conditions = _this.getAllRules();
2756
+ }
2757
+ });
2758
+ }
2759
+ EvaluatorsService.prototype.setEvaluators = function (evaluators) {
2760
+ this.evaluators = Object.assign(Object.assign({}, this.evaluators), evaluators);
2761
+ };
2762
+ EvaluatorsService.prototype.getEvaluators = function () {
2763
+ return this.evaluators;
2764
+ };
2765
+ // ----------------------------------------------------
2766
+ EvaluatorsService.prototype.evaluateRule = function (ruleId, context) {
2767
+ return __awaiter(this, void 0, void 0, function () {
2768
+ var ruleRef, evaluator, evaluator;
2769
+ return __generator(this, function (_j) {
2770
+ switch (_j.label) {
2771
+ case 0:
2772
+ ruleRef = this.getRuleById(ruleId);
2773
+ context = context || this.context;
2774
+ context["getEvaluator"] = this.getEvaluator;
2775
+ if (!ruleRef) return [3 /*break*/, 4];
2776
+ return [4 /*yield*/, this.getEvaluator(ruleRef.type)];
2777
+ case 1:
2778
+ evaluator = _j.sent();
2779
+ if (!evaluator) return [3 /*break*/, 3];
2780
+ return [4 /*yield*/, evaluator(context, ruleRef.parameters)];
2781
+ case 2: return [2 /*return*/, _j.sent()];
2782
+ case 3: return [3 /*break*/, 7];
2783
+ case 4: return [4 /*yield*/, this.getEvaluator(ruleId)];
2784
+ case 5:
2785
+ evaluator = _j.sent();
2786
+ if (!evaluator) return [3 /*break*/, 7];
2787
+ return [4 /*yield*/, evaluator(context)];
2788
+ case 6: return [2 /*return*/, _j.sent()];
2789
+ case 7: return [2 /*return*/];
2790
+ }
2791
+ });
2792
+ });
2793
+ };
2794
+ EvaluatorsService.prototype.getRuleById = function (id) {
2795
+ return this.conditions[id] ? Object.assign({}, this.conditions[id]) : null;
2796
+ };
2797
+ EvaluatorsService.prototype.getAllRules = function () {
2798
+ return this.appConfigService.conditons;
2799
+ };
2800
+ return EvaluatorsService;
2801
+ }());
2802
+ 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 });
2803
+ EvaluatorsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, providedIn: "root" });
2804
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, decorators: [{
2805
+ type: i0.Injectable,
2806
+ args: [{ providedIn: "root" }]
2807
+ }], ctorParameters: function () { return [{ type: NuxeoService }, { type: AppConfigService }]; } });
2808
+
2809
+ /**
2810
+ * Permission directive shows or hides an element,
2811
+ * based on a predefined structured condition object in the [conditions.json]{@link ../additional-documentation/conditions-file.html} file.
2812
+ * it will evaluate the rule and shows or hides an element based on the result.
2813
+ * this directive can evaluate rules against a document object as well,
2814
+ * check [conditions.json]{@link ../additional-documentation/conditions-file.html} for more information
2815
+ * @example
2816
+ * <div *permission="{ name: 'conditionKey', entity: nuxeoDocumentObject }">
2817
+ * Element with permissions
2818
+ * </duv>
2819
+ * <div *permission="{ name: 'conditionKey2' }">
2820
+ * Element with permissions 2
2821
+ * </duv>
2822
+ * @title
2823
+ * Permission
2824
+ */
2825
+ var PermissionsDirective = /** @class */ (function () {
2826
+ function PermissionsDirective(nuxeoService, eltRef, viewContainerRef, templateRef, appConfigService, evaluatorsService) {
2827
+ this.nuxeoService = nuxeoService;
2828
+ this.eltRef = eltRef;
2829
+ this.viewContainerRef = viewContainerRef;
2830
+ this.templateRef = templateRef;
2831
+ this.appConfigService = appConfigService;
2832
+ this.evaluatorsService = evaluatorsService;
2833
+ this.isVisible = false;
2834
+ this.context = { entity: null, getEvaluator: null, user: null };
2835
+ }
2836
+ PermissionsDirective.prototype.ngOnInit = function () {
2837
+ var _this = this;
2838
+ this.context.getEvaluator = this.evaluatorsService.getEvaluator;
2839
+ if (!this.permission.name) {
2840
+ if (!this.isVisible) {
2841
+ this.isVisible = true;
2842
+ this.viewContainerRef.createEmbeddedView(this.templateRef);
2843
+ }
2844
+ }
2845
+ else {
2846
+ this.context.entity = this.permission.entity;
2847
+ this.context.user = this.permission.user || this.nuxeoService.nuxeoClient.user;
2848
+ this.evaluatorsService.evaluateRule(this.permission.name, this.context).then(function (result) {
2849
+ if (result) {
2850
+ if (!_this.isVisible) {
2851
+ _this.isVisible = true;
2852
+ _this.viewContainerRef.createEmbeddedView(_this.templateRef);
2853
+ }
2854
+ }
2855
+ else {
2856
+ _this.isVisible = false;
2857
+ _this.viewContainerRef.clear();
2858
+ }
2859
+ });
2860
+ }
2861
+ };
2862
+ return PermissionsDirective;
2863
+ }());
2864
+ 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 });
2865
+ PermissionsDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsDirective, selector: "[permission]", inputs: { permission: "permission" }, ngImport: i0__namespace });
2866
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PermissionsDirective, decorators: [{
2867
+ type: i0.Directive,
2868
+ args: [{
2869
+ selector: '[permission]'
2870
+ }]
2871
+ }], ctorParameters: function () { return [{ type: NuxeoService }, { type: i0__namespace.ElementRef }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: AppConfigService }, { type: EvaluatorsService }]; }, propDecorators: { permission: [{
2872
+ type: i0.Input
2873
+ }] } });
2874
+
2875
+ var AppHasRoleDirective = /** @class */ (function () {
2876
+ function AppHasRoleDirective(viewContainerRef, templateRef, nuxeoService) {
2877
+ this.viewContainerRef = viewContainerRef;
2878
+ this.templateRef = templateRef;
2879
+ this.nuxeoService = nuxeoService;
2880
+ this.stop$ = new rxjs.Subject();
2881
+ this.isVisible = false;
2882
+ }
2883
+ AppHasRoleDirective.prototype.ngOnInit = function () {
2884
+ var _this = this;
2885
+ var _a;
2886
+ if ((_a = this.appHasRole) === null || _a === void 0 ? void 0 : _a.role) {
2887
+ this.nuxeoService.isUserInRole(this.appHasRole.role, this.appHasRole.code).subscribe(function (data) {
2888
+ if (data || !_this.appHasRole) {
2889
+ // If it is already visible (which can happen if
2890
+ // his roles changed) we do not need to add it a second time
2891
+ if (!_this.isVisible) {
2892
+ // We update the `isVisible` property and add the
2893
+ // templateRef to the view using the
2894
+ // 'createEmbeddedView' method of the viewContainerRef
2895
+ _this.isVisible = true;
2896
+ _this.viewContainerRef.createEmbeddedView(_this.templateRef);
2897
+ }
2898
+ }
2899
+ else {
2900
+ // If the user does not have the role,
2901
+ // we update the `isVisible` property and clear
2902
+ // the contents of the viewContainerRef
2903
+ _this.isVisible = false;
2904
+ _this.viewContainerRef.clear();
2905
+ }
2906
+ });
2907
+ }
2908
+ else {
2909
+ if (!this.isVisible) {
2910
+ // We update the `isVisible` property and add the
2911
+ // templateRef to the view using the
2912
+ // 'createEmbeddedView' method of the viewContainerRef
2913
+ this.isVisible = true;
2914
+ this.viewContainerRef.createEmbeddedView(this.templateRef);
2915
+ }
2916
+ }
2917
+ };
2918
+ AppHasRoleDirective.prototype.ngOnChanges = function () {
2919
+ this.ngOnInit();
2920
+ };
2921
+ return AppHasRoleDirective;
2922
+ }());
2923
+ 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 });
2924
+ 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 });
2925
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AppHasRoleDirective, decorators: [{
2926
+ type: i0.Directive,
2927
+ args: [{
2928
+ selector: '[appHasRole]'
2929
+ }]
2930
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: NuxeoService }]; }, propDecorators: { appHasRole: [{
2931
+ type: i0.Input
2932
+ }] } });
2933
+
2934
+ var DragAndDropDirective = /** @class */ (function () {
2935
+ function DragAndDropDirective() {
2936
+ this.fileDroped = new i0.EventEmitter();
2937
+ }
2938
+ DragAndDropDirective.prototype.onDragOver = function (evt) {
2939
+ evt.preventDefault();
2940
+ evt.stopPropagation();
2941
+ };
2942
+ DragAndDropDirective.prototype.onDragLeave = function (evt) {
2943
+ evt.preventDefault();
2944
+ evt.stopPropagation();
2945
+ };
2946
+ DragAndDropDirective.prototype.onDrop = function (evt) {
2947
+ var e_1, _a;
2948
+ var files = [];
2949
+ evt.preventDefault();
2950
+ evt.stopPropagation();
2951
+ if (evt.dataTransfer.files.length) {
2952
+ try {
2953
+ for (var _b = __values(evt.dataTransfer.files), _c = _b.next(); !_c.done; _c = _b.next()) {
2954
+ var file = _c.value;
2955
+ files.push(file);
2956
+ }
2957
+ }
2958
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2959
+ finally {
2960
+ try {
2961
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2962
+ }
2963
+ finally { if (e_1) throw e_1.error; }
2964
+ }
2965
+ this.fileDroped.emit(files);
2966
+ }
2967
+ };
2968
+ return DragAndDropDirective;
2969
+ }());
2970
+ DragAndDropDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
2971
+ 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 });
2972
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, decorators: [{
2973
+ type: i0.Directive,
2974
+ args: [{
2975
+ selector: '[appDragAndDrop]'
2976
+ }]
2977
+ }], ctorParameters: function () { return []; }, propDecorators: { fileDroped: [{
2978
+ type: i0.Output
2979
+ }], onDragOver: [{
2980
+ type: i0.HostListener,
2981
+ args: ['dragover', ['$event']]
2982
+ }], onDragLeave: [{
2983
+ type: i0.HostListener,
2984
+ args: ['dragleave', ['$event']]
2985
+ }], onDrop: [{
2986
+ type: i0.HostListener,
2987
+ args: ['drop', ['$event']]
2988
+ }] } });
2989
+
2990
+ /**
2991
+ * @title
2992
+ * Directives Module
2993
+ */
2994
+ var DirectiveModule = /** @class */ (function () {
2995
+ function DirectiveModule() {
2996
+ }
2997
+ return DirectiveModule;
2998
+ }());
2999
+ DirectiveModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3000
+ DirectiveModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, declarations: [ClickOutsideDirective,
3001
+ SetRtlDirective,
3002
+ PermissionsDirective,
3003
+ SetDirRtlDirective,
3004
+ AppHasRoleDirective,
3005
+ DragAndDropDirective], imports: [i4.CommonModule], exports: [ClickOutsideDirective,
3006
+ SetRtlDirective,
3007
+ PermissionsDirective,
3008
+ SetDirRtlDirective,
3009
+ AppHasRoleDirective,
3010
+ DragAndDropDirective] });
3011
+ DirectiveModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, providers: [], imports: [[i4.CommonModule]] });
3012
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, decorators: [{
3013
+ type: i0.NgModule,
3014
+ args: [{
3015
+ declarations: [
3016
+ ClickOutsideDirective,
3017
+ SetRtlDirective,
3018
+ PermissionsDirective,
3019
+ SetDirRtlDirective,
3020
+ AppHasRoleDirective,
3021
+ DragAndDropDirective
3022
+ ],
3023
+ imports: [i4.CommonModule],
3024
+ exports: [
3025
+ ClickOutsideDirective,
3026
+ SetRtlDirective,
3027
+ PermissionsDirective,
3028
+ SetDirRtlDirective,
3029
+ AppHasRoleDirective,
3030
+ DragAndDropDirective
3031
+ ],
3032
+ providers: []
3033
+ }]
3034
+ }] });
3035
+
3036
+ var NuxeoDialogModule = /** @class */ (function () {
3037
+ function NuxeoDialogModule() {
3038
+ }
3039
+ return NuxeoDialogModule;
3040
+ }());
3041
+ NuxeoDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3042
+ NuxeoDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent], imports: [i4.CommonModule,
3043
+ i1$1.TranslateModule,
3044
+ i2$1.MatIconModule,
3045
+ i1$4.MatDialogModule,
3046
+ i2$2.MatTooltipModule,
3047
+ DirectiveModule], exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent] });
3048
+ NuxeoDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, imports: [[
3049
+ i4.CommonModule,
3050
+ i1$1.TranslateModule,
3051
+ i2$1.MatIconModule,
3052
+ i1$4.MatDialogModule,
3053
+ i2$2.MatTooltipModule,
3054
+ DirectiveModule
3055
+ ]] });
3056
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, decorators: [{
3057
+ type: i0.NgModule,
3058
+ args: [{
3059
+ declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent],
3060
+ imports: [
3061
+ i4.CommonModule,
3062
+ i1$1.TranslateModule,
3063
+ i2$1.MatIconModule,
3064
+ i1$4.MatDialogModule,
3065
+ i2$2.MatTooltipModule,
3066
+ DirectiveModule
3067
+ ],
3068
+ exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent]
3069
+ }]
3070
+ }] });
3071
+
3072
+ var defaultConfirmConfig = {
3073
+ title: 'confirmDialog.confirm',
3074
+ message: 'confirmDialog.generalConfirmMsg',
3075
+ icon: {
3076
+ show: true,
3077
+ name: 'heroicons_outline:exclamation',
3078
+ color: 'warn'
3079
+ },
3080
+ actions: {
3081
+ confirm: {
3082
+ show: true,
3083
+ label: 'BUTTONS.confirm',
3084
+ color: 'warn',
3085
+ fn: function () {
3086
+ return rxjs.of(false);
3087
+ }
3088
+ },
3089
+ moreActions: []
3090
+ }
3091
+ };
3092
+
3093
+ var _NuxeoDialogService_instances, _NuxeoDialogService_getPanelClass;
3094
+ var NuxeoDialogService = /** @class */ (function () {
3095
+ function NuxeoDialogService(dialog) {
3096
+ this.dialog = dialog;
3097
+ _NuxeoDialogService_instances.add(this);
3098
+ }
3099
+ NuxeoDialogService.prototype.open = function (options) {
3100
+ var _a, _b, _c, _d;
3101
+ return this.dialog.open(options.component, {
3102
+ width: (options === null || options === void 0 ? void 0 : options.width) || 'auto',
3103
+ height: (options === null || options === void 0 ? void 0 : options.height) || 'auto',
3104
+ minWidth: '35%',
3105
+ panelClass: __spreadArray(['ndf-dialog'], __read(__classPrivateFieldGet(this, _NuxeoDialogService_instances, "m", _NuxeoDialogService_getPanelClass).call(this, options === null || options === void 0 ? void 0 : options.panelClass))),
3106
+ disableClose: true,
3107
+ data: Object.assign({ dialogConfig: {
3108
+ title: (_a = options.config) === null || _a === void 0 ? void 0 : _a.title,
3109
+ subTitle: (_b = options.config) === null || _b === void 0 ? void 0 : _b.subTitle,
3110
+ contentTemplate: (_c = options.config) === null || _c === void 0 ? void 0 : _c.contentTemplate,
3111
+ actionsTemplate: (_d = options.config) === null || _d === void 0 ? void 0 : _d.actionsTemplate
3112
+ } }, (options.data || {}))
3113
+ });
3114
+ };
3115
+ NuxeoDialogService.prototype.showConfirm = function (config) {
3116
+ // Merge the user config with the default config
3117
+ var confirmConfig = lodashEs.merge({}, defaultConfirmConfig, config);
3118
+ var options = {
3119
+ component: NdfConfirmationDialogComponent,
3120
+ data: Object.assign({}, confirmConfig),
3121
+ panelClass: 'ndf-confirmation-dialog-panel'
3122
+ };
3123
+ return this.open(options);
3124
+ };
3125
+ return NuxeoDialogService;
3126
+ }());
3127
+ _NuxeoDialogService_instances = new WeakSet(), _NuxeoDialogService_getPanelClass = function _NuxeoDialogService_getPanelClass(panelClass) {
3128
+ var classes = [''];
3129
+ if (panelClass) {
3130
+ classes = Array.isArray(panelClass) ? panelClass : [panelClass];
3131
+ }
3132
+ return classes;
3133
+ };
3134
+ 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 });
3135
+ NuxeoDialogService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, providedIn: 'root' });
3136
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, decorators: [{
3137
+ type: i0.Injectable,
3138
+ args: [{
3139
+ providedIn: 'root'
3140
+ }]
3141
+ }], ctorParameters: function () { return [{ type: i1__namespace$3.MatDialog }]; } });
3142
+
3143
+ var NuxeoMapper = /** @class */ (function () {
3144
+ function NuxeoMapper() {
3145
+ }
3146
+ NuxeoMapper.schemaToModel = function (properties) {
3147
+ var mappedProperties = {};
3148
+ for (var key in properties) {
3149
+ if (properties.hasOwnProperty(key)) {
3150
+ var _a = __read(key.split(':'), 2), prefix = _a[0], propertyKey = _a[1];
3151
+ if (!mappedProperties[prefix]) {
3152
+ mappedProperties[prefix] = {};
3153
+ }
3154
+ mappedProperties[prefix][propertyKey] =
3155
+ properties[key];
3156
+ }
3157
+ }
3158
+ return mappedProperties;
3159
+ };
3160
+ NuxeoMapper.modelToSchema = function (model) {
3161
+ var packedProperties = {};
3162
+ for (var schemaKey in model) {
3163
+ if (model.hasOwnProperty(schemaKey)) {
3164
+ var schemaProperties = model[schemaKey];
3165
+ for (var propertyKey in schemaProperties) {
3166
+ if (schemaProperties.hasOwnProperty(propertyKey)) {
3167
+ packedProperties[schemaKey + ":" + propertyKey] =
3168
+ schemaProperties[propertyKey];
3169
+ }
3170
+ }
3171
+ }
3172
+ }
3173
+ return packedProperties;
3174
+ };
3175
+ return NuxeoMapper;
3176
+ }());
3177
+
3178
+ var ENTITY_TYPE = 'entity-type';
3179
+
3180
+ var _HttpBaseService_http;
3181
+ var HttpBaseService = /** @class */ (function () {
3182
+ function HttpBaseService(injector) {
3183
+ _HttpBaseService_http.set(this, void 0);
3184
+ __classPrivateFieldSet(this, _HttpBaseService_http, injector.get(i1.HttpClient), "f");
3185
+ }
3186
+ Object.defineProperty(HttpBaseService.prototype, "environment", {
3187
+ get: function () {
3188
+ return EnvManager.environment;
3189
+ },
3190
+ enumerable: false,
3191
+ configurable: true
3192
+ });
3193
+ HttpBaseService.prototype.get = function (endpointOrOptions, params, headers, responseType) {
3194
+ if (params === void 0) { params = undefined; }
3195
+ if (headers === void 0) { headers = undefined; }
3196
+ if (responseType === void 0) { responseType = undefined; }
3197
+ var _a, _b, _c;
3198
+ var url;
3199
+ if (typeof endpointOrOptions === 'string') {
3200
+ url = endpointOrOptions;
3201
+ }
3202
+ else {
3203
+ var options = endpointOrOptions;
3204
+ url = options.endpoint;
3205
+ params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
3206
+ headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
3207
+ responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
3208
+ }
3209
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3210
+ .get(url, { headers: headers, params: params, responseType: responseType })
3211
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3212
+ };
3213
+ HttpBaseService.prototype.post = function (endpointOrOptions, payload, params, headers, responseType) {
3214
+ if (payload === void 0) { payload = undefined; }
3215
+ if (params === void 0) { params = undefined; }
3216
+ if (headers === void 0) { headers = undefined; }
3217
+ if (responseType === void 0) { responseType = undefined; }
3218
+ var _a, _b, _c, _d;
3219
+ var url;
3220
+ if (typeof endpointOrOptions === 'string') {
3221
+ url = endpointOrOptions;
3222
+ }
3223
+ else {
3224
+ var options = endpointOrOptions;
3225
+ url = options.endpoint;
3226
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
3227
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
3228
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3229
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
3230
+ }
3231
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3232
+ .post(url, payload, { headers: headers, params: params, responseType: responseType })
3233
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3234
+ };
3235
+ HttpBaseService.prototype.put = function (endpointOrOptions, payload, params, headers, responseType) {
3236
+ if (payload === void 0) { payload = undefined; }
3237
+ if (params === void 0) { params = undefined; }
3238
+ if (headers === void 0) { headers = undefined; }
3239
+ if (responseType === void 0) { responseType = undefined; }
3240
+ var _a, _b, _c, _d;
3241
+ var url;
3242
+ if (typeof endpointOrOptions === 'string') {
3243
+ url = endpointOrOptions;
3244
+ }
3245
+ else {
3246
+ var options = endpointOrOptions;
3247
+ url = options.endpoint;
3248
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
3249
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
3250
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3251
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
3252
+ }
3253
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3254
+ .put(url, payload, { headers: headers, params: params, responseType: responseType })
3255
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3256
+ };
3257
+ HttpBaseService.prototype.patch = function (endpointOrOptions, payload, params, headers, responseType) {
3258
+ if (payload === void 0) { payload = undefined; }
3259
+ if (params === void 0) { params = undefined; }
3260
+ if (headers === void 0) { headers = undefined; }
3261
+ if (responseType === void 0) { responseType = undefined; }
3262
+ var _a, _b, _c, _d;
3263
+ var url;
3264
+ if (typeof endpointOrOptions === 'string') {
3265
+ url = endpointOrOptions;
3266
+ }
3267
+ else {
3268
+ var options = endpointOrOptions;
3269
+ url = options.endpoint;
3270
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
3271
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
3272
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3273
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
3274
+ }
3275
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3276
+ .patch(url, payload, { headers: headers, params: params, responseType: responseType })
3277
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3278
+ };
3279
+ HttpBaseService.prototype.delete = function (endpointOrOptions, params, headers, responseType) {
3280
+ if (params === void 0) { params = undefined; }
3281
+ if (headers === void 0) { headers = undefined; }
3282
+ if (responseType === void 0) { responseType = undefined; }
3283
+ var _a, _b, _c;
3284
+ var url;
3285
+ if (typeof endpointOrOptions === 'string') {
3286
+ url = endpointOrOptions;
3287
+ }
3288
+ else {
3289
+ var options = endpointOrOptions;
3290
+ url = options.endpoint;
3291
+ params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
3292
+ headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
3293
+ responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
3294
+ }
3295
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3296
+ .delete(url, { headers: headers, params: params, responseType: responseType })
3297
+ .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3298
+ };
3299
+ HttpBaseService.prototype.httpAutomation = function (endpoint, payload, responseType) {
3300
+ if (payload === void 0) { payload = undefined; }
3301
+ if (responseType === void 0) { responseType = undefined; }
3302
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
3303
+ .post(endpoint, payload, { responseType: responseType })
3304
+ .pipe(this.catchErrors());
3305
+ };
3306
+ HttpBaseService.prototype.catchErrors = function () {
3307
+ return rxjs.pipe(operators.catchError(function (err) {
3308
+ throw err;
3309
+ }));
3310
+ };
3311
+ return HttpBaseService;
3312
+ }());
3313
+ _HttpBaseService_http = new WeakMap();
3314
+
3315
+ var DEFAULT_CACHE_OPTIONS = {
3316
+ PREFIX: "cache__",
3317
+ PAGE_KEY: "currentPageIndex",
3318
+ TOTAL_PAGE_KEY: "pageCount",
3319
+ RESULTS_COUNT_KEY: "resultsCount",
3320
+ MAPPED_DATA_KEY: "entries",
3321
+ UNIQUE_COMPARE_KEY: "uid",
3322
+ MIN_COMPARE_DATE_KEY: "dublincore_modified_min",
3323
+ LAST_MODIFIED_KEY: "lastModifiedDate",
3324
+ LAST_MODIFIED_PATH: "properties.dc:modified",
3325
+ EXCLUDE_KEYS_WHEN_UPDATE: ["contextParameters"],
3326
+ CHILDREN_PATH: "contextParameters.children.entries",
3327
+ PARENT_KEY: "parentRef",
3328
+ REQUEST: function () {
3329
+ return rxjs.of();
3330
+ },
3331
+ PREPARE_DATA: function (result) {
3332
+ return result.map(function (item) {
3333
+ delete item._baseOptions;
3334
+ delete item._dirtyProperties;
3335
+ delete item._nuxeo;
3336
+ delete item._repository;
3337
+ return item;
3338
+ });
3339
+ }
3340
+ };
3341
+
3342
+ exports.CachingExpiryUnit = void 0;
3343
+ (function (CachingExpiryUnit) {
3344
+ CachingExpiryUnit["YEARS"] = "years";
3345
+ CachingExpiryUnit["MONTHS"] = "months";
3346
+ CachingExpiryUnit["WEEKS"] = "weeks";
3347
+ CachingExpiryUnit["DAYS"] = "days";
3348
+ CachingExpiryUnit["HOURS"] = "hours";
3349
+ CachingExpiryUnit["MINUTES"] = "minutes";
3350
+ CachingExpiryUnit["SECONDS"] = "seconds";
3351
+ CachingExpiryUnit["MILLI_SECONDS"] = "milliseconds";
3352
+ })(exports.CachingExpiryUnit || (exports.CachingExpiryUnit = {}));
3353
+
3354
+ // TTL : Time To Live
3355
+ var DEFAULT_TTL_CONFIG = {
3356
+ TTL: 3,
3357
+ UNIT: exports.CachingExpiryUnit.MONTHS,
3358
+ AUTO_CHECK: true,
3359
+ RETRY: 3
3360
+ };
3361
+
3362
+ 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;
3363
+ var CacheBaseService = /** @class */ (function () {
3364
+ function CacheBaseService(userPreferencesService, utilityService) {
3365
+ this.userPreferencesService = userPreferencesService;
3366
+ this.utilityService = utilityService;
3367
+ _CacheBaseService_instances.add(this);
3368
+ _CacheBaseService_fetchedItems.set(this, new Map());
3369
+ __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_prepareConfig).call(this);
3370
+ }
3371
+ CacheBaseService.prototype.hasItem = function (cacheKey) {
3372
+ return this.userPreferencesService.hasItem("" + DEFAULT_CACHE_OPTIONS.PREFIX + cacheKey);
3373
+ };
3374
+ CacheBaseService.prototype.clearAll = function (userName) {
3375
+ __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_clear).call(this, userName);
3376
+ };
3377
+ CacheBaseService.prototype.validateTTL = function (userName) {
3378
+ var _this = this;
3379
+ if (!DEFAULT_TTL_CONFIG.AUTO_CHECK || !userName)
3380
+ return;
3381
+ var prefix = userName + "__" + DEFAULT_CACHE_OPTIONS.PREFIX;
3382
+ Object.keys(window.localStorage)
3383
+ .filter(function (q) { return q.startsWith(prefix); })
3384
+ .filter(function (key) {
3385
+ var _a;
3386
+ var options = {
3387
+ cacheKey: key.replace(prefix, ''),
3388
+ userName: userName,
3389
+ request: DEFAULT_CACHE_OPTIONS.REQUEST,
3390
+ prepareDataBeforeCaching: DEFAULT_CACHE_OPTIONS.PREPARE_DATA
3391
+ };
3392
+ var firstFetchingDate = (_a = __classPrivateFieldGet(_this, _CacheBaseService_instances, "m", _CacheBaseService_getItem).call(_this, options)) === null || _a === void 0 ? void 0 : _a.firstFetchingDate;
3393
+ if (!firstFetchingDate)
3394
+ return;
3395
+ var momentDate1 = moment__namespace(new Date(firstFetchingDate));
3396
+ var momentDate2 = moment__namespace(new Date());
3397
+ var difference = momentDate2.diff(momentDate1, DEFAULT_TTL_CONFIG.UNIT);
3398
+ return difference >= DEFAULT_TTL_CONFIG.TTL;
3399
+ })
3400
+ .forEach(function (key) {
3401
+ window.localStorage.removeItem(key);
3402
+ });
3403
+ };
3404
+ CacheBaseService.prototype.startFetchingItems = function (options) {
3405
+ var _a;
3406
+ __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_validateTTLForKey).call(this, options);
3407
+ if ((_a = __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[options.cacheKey]) === null || _a === void 0 ? void 0 : _a.fetchingItemsFromTheServer) {
3408
+ return __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[options.cacheKey].onFinishFetching.asObservable();
3409
+ }
3410
+ else {
3411
+ return __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_handleCacheItems).call(this, options);
3412
+ }
3413
+ };
3414
+ return CacheBaseService;
3415
+ }());
3416
+ _CacheBaseService_fetchedItems = new WeakMap(), _CacheBaseService_instances = new WeakSet(), _CacheBaseService_handleCacheItems = function _CacheBaseService_handleCacheItems(options) {
3417
+ var _j, _k;
3418
+ var _this = this;
3419
+ var observable;
3420
+ __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_prepareOptions).call(this, options);
3421
+ var cachedItem = __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_getItem).call(this, options);
2847
3422
  if (cachedItem) {
2848
3423
  __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_setItemInMap).call(this, options.cacheKey, Object.assign(Object.assign({}, cachedItem), { fetchingItemsFromTheServer: false, onFinishFetching: new rxjs.Subject(), request: options.request }));
2849
3424
  var params = (_j = {},
@@ -2878,7 +3453,7 @@
2878
3453
  data: _fetchedItems.data,
2879
3454
  lastModifiedDate: _fetchedItems.lastModifiedDate,
2880
3455
  firstFetchingDate: _fetchedItems.firstFetchingDate,
2881
- resultsCount: _fetchedItems[options.resultsCount],
3456
+ resultsCount: _fetchedItems[options.resultsCount]
2882
3457
  }, options);
2883
3458
  }
2884
3459
  return _fetchedItems;
@@ -3033,7 +3608,7 @@
3033
3608
  DEFAULT_TTL_CONFIG.UNIT =
3034
3609
  ((_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
3610
  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";
3611
+ ((_f = (_e = EnvManager.environment) === null || _e === void 0 ? void 0 : _e.cache) === null || _f === void 0 ? void 0 : _f.autoCheck) == 'YES';
3037
3612
  DEFAULT_TTL_CONFIG.RETRY =
3038
3613
  ((_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
3614
  }, _CacheBaseService_add1SecondToModifiedDate = function _CacheBaseService_add1SecondToModifiedDate(date) {
@@ -3041,7 +3616,7 @@
3041
3616
  newDate.setSeconds(newDate.getSeconds() + 1);
3042
3617
  return newDate;
3043
3618
  }, _CacheBaseService_clear = function _CacheBaseService_clear(userName, keyOrAll) {
3044
- if (keyOrAll === void 0) { keyOrAll = ""; }
3619
+ if (keyOrAll === void 0) { keyOrAll = ''; }
3045
3620
  Object.keys(window.localStorage)
3046
3621
  .filter(function (q) { return q.startsWith(userName + "__" + DEFAULT_CACHE_OPTIONS.PREFIX + keyOrAll); })
3047
3622
  .forEach(function (key) {
@@ -3060,11 +3635,11 @@
3060
3635
  }, _CacheBaseService_setItemInMap = function _CacheBaseService_setItemInMap(key, val) {
3061
3636
  var empty = {
3062
3637
  data: [],
3063
- firstFetchingDate: "",
3064
- lastModifiedDate: "",
3638
+ firstFetchingDate: '',
3639
+ lastModifiedDate: '',
3065
3640
  resultsCount: 0,
3066
3641
  fetchingItemsFromTheServer: false,
3067
- onFinishFetching: new rxjs.Subject(),
3642
+ onFinishFetching: new rxjs.Subject()
3068
3643
  };
3069
3644
  var value = val ? val : empty;
3070
3645
  __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[key] = value;
@@ -3088,11 +3663,11 @@
3088
3663
  }
3089
3664
  };
3090
3665
  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" });
3666
+ CacheBaseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CacheBaseService, providedIn: 'root' });
3092
3667
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CacheBaseService, decorators: [{
3093
3668
  type: i0.Injectable,
3094
3669
  args: [{
3095
- providedIn: "root",
3670
+ providedIn: 'root'
3096
3671
  }]
3097
3672
  }], ctorParameters: function () { return [{ type: UserPreferencesService }, { type: UtilityService }]; } });
3098
3673
 
@@ -3165,7 +3740,7 @@
3165
3740
  if (isCustomAutomation === void 0) { isCustomAutomation = false; }
3166
3741
  var _a, _b, _c, _d;
3167
3742
  var operation;
3168
- if (typeof operationOrOptions === "string") {
3743
+ if (typeof operationOrOptions === 'string') {
3169
3744
  operation = operationOrOptions;
3170
3745
  }
3171
3746
  else {
@@ -3180,7 +3755,7 @@
3180
3755
  return rxjs.from(__classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient
3181
3756
  .operation(operation, Object.assign({}, (isCustomAutomation
3182
3757
  ? {
3183
- url: "" + this.environment.nuxeo + this.environment.customAutomation,
3758
+ url: "" + this.environment.nuxeo + this.environment.customAutomation
3184
3759
  }
3185
3760
  : {})))
3186
3761
  .input(input ? input : undefined)
@@ -3193,7 +3768,7 @@
3193
3768
  if (params === void 0) { params = undefined; }
3194
3769
  if (context === void 0) { context = undefined; }
3195
3770
  if (headers === void 0) { headers = undefined; }
3196
- if (typeof operationOrOptions == "object") {
3771
+ if (typeof operationOrOptions == 'object') {
3197
3772
  operationOrOptions.isCustomAutomation = true;
3198
3773
  }
3199
3774
  return this.automation(operationOrOptions, input, params, context, headers, true);
@@ -3202,17 +3777,17 @@
3202
3777
  if (queryParams === void 0) { queryParams = undefined; }
3203
3778
  if (headers === void 0) { headers = undefined; }
3204
3779
  if (payload === void 0) { payload = undefined; }
3205
- if (type === void 0) { type = "get"; }
3780
+ if (type === void 0) { type = 'get'; }
3206
3781
  var _a, _b, _c, _d;
3207
3782
  var endpoint;
3208
- if (typeof endpointOrOptions === "string") {
3783
+ if (typeof endpointOrOptions === 'string') {
3209
3784
  endpoint = endpointOrOptions;
3210
3785
  }
3211
3786
  else {
3212
3787
  var options = endpointOrOptions;
3213
3788
  endpoint = options.endpoint;
3214
3789
  queryParams = (_a = options.queryParams) !== null && _a !== void 0 ? _a : undefined;
3215
- type = (_b = options.type) !== null && _b !== void 0 ? _b : "get";
3790
+ type = (_b = options.type) !== null && _b !== void 0 ? _b : 'get';
3216
3791
  headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3217
3792
  payload = (_d = options.payload) !== null && _d !== void 0 ? _d : undefined;
3218
3793
  }
@@ -3220,7 +3795,7 @@
3220
3795
  .request(endpoint)
3221
3796
  .queryParams(queryParams ? Object.assign({}, queryParams) : undefined)[type]({
3222
3797
  headers: headers ? Object.assign({}, headers) : undefined,
3223
- body: payload ? Object.assign({}, payload) : undefined,
3798
+ body: payload ? Object.assign({}, payload) : undefined
3224
3799
  })).pipe(operators.map(function (response) { return response; }), this.catchErrors());
3225
3800
  };
3226
3801
  BaseService.prototype.query = function (pageProviderOrOptions, params, headers) {
@@ -3228,7 +3803,7 @@
3228
3803
  if (headers === void 0) { headers = undefined; }
3229
3804
  var _a, _b;
3230
3805
  var pageProvider;
3231
- if (typeof pageProviderOrOptions === "string") {
3806
+ if (typeof pageProviderOrOptions === 'string') {
3232
3807
  pageProvider = pageProviderOrOptions;
3233
3808
  }
3234
3809
  else {
@@ -3239,7 +3814,7 @@
3239
3814
  }
3240
3815
  return __classPrivateFieldGet(this, _BaseService_callApiService, "f")
3241
3816
  .query(Object.assign({ pageProvider: pageProvider }, (params ? params : {})), {
3242
- headers: headers ? Object.assign({}, headers) : undefined,
3817
+ headers: headers ? Object.assign({}, headers) : undefined
3243
3818
  })
3244
3819
  .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3245
3820
  };
@@ -3252,7 +3827,7 @@
3252
3827
  return _this.query({
3253
3828
  pageProvider: options.pageProvider,
3254
3829
  params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
3255
- headers: options.headers,
3830
+ headers: options.headers
3256
3831
  });
3257
3832
  };
3258
3833
  return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
@@ -3265,7 +3840,7 @@
3265
3840
  payload: options.payload,
3266
3841
  params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
3267
3842
  headers: options.headers,
3268
- responseType: options.responseType,
3843
+ responseType: options.responseType
3269
3844
  });
3270
3845
  };
3271
3846
  return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
@@ -3299,10 +3874,10 @@
3299
3874
  }(HttpBaseService));
3300
3875
  _BaseService_nuxeoService = new WeakMap(), _BaseService_callApiService = new WeakMap(), _BaseService_cacheBaseService = new WeakMap();
3301
3876
  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" });
3877
+ BaseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseService, providedIn: 'root' });
3303
3878
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseService, decorators: [{
3304
3879
  type: i0.Injectable,
3305
- args: [{ providedIn: "root" }]
3880
+ args: [{ providedIn: 'root' }]
3306
3881
  }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
3307
3882
 
3308
3883
  /**
@@ -3348,1061 +3923,485 @@
3348
3923
  * ![Screenshot-1](../screenshots/avatar1.png) ![Screenshot-2](../screenshots/avatar2.png)
3349
3924
  * @title
3350
3925
  * 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;
3926
+ * @example
3927
+ *
3928
+ * <cts-avatar [user]="user"></cts-avatar>
3929
+ */
3930
+ var AvatarComponent = /** @class */ (function () {
3931
+ function AvatarComponent() {
3791
3932
  }
3792
- CardComponent.prototype.ngOnInit = function () { };
3793
- return CardComponent;
3933
+ AvatarComponent.prototype.ngOnInit = function () {
3934
+ var _a, _b, _c, _d;
3935
+ 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);
3936
+ };
3937
+ AvatarComponent.prototype.stringToHslColor = function (str, s, l) {
3938
+ var hash = 0;
3939
+ for (var i = 0; i < str.length; i++) {
3940
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
3941
+ }
3942
+ var h = hash % 360;
3943
+ this.backgroundColor = 'hsl(' + h + ', ' + s + '%, ' + l + '%)';
3944
+ };
3945
+ AvatarComponent.prototype.getInitials = function () {
3946
+ var _a;
3947
+ return ((_a = this.user) === null || _a === void 0 ? void 0 : _a.properties)
3948
+ ? (this.user.properties.initials = [
3949
+ this.user.properties.firstName
3950
+ ? this.user.properties.firstName[0].toUpperCase()
3951
+ : '',
3952
+ this.user.properties.lastName
3953
+ ? this.user.properties.lastName[0].toUpperCase()
3954
+ : '',
3955
+ ].join(''))
3956
+ : '';
3957
+ };
3958
+ return AvatarComponent;
3794
3959
  }());
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: [{
3960
+ AvatarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3961
+ 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 } });
3962
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, decorators: [{
3798
3963
  type: i0.Component,
3799
3964
  args: [{
3800
- selector: 'app-card',
3801
- templateUrl: './card.component.html',
3802
- styleUrls: ['./card.component.scss'],
3803
- encapsulation: i0.ViewEncapsulation.None,
3965
+ selector: 'cts-avatar',
3966
+ templateUrl: './avatar.component.html',
3967
+ styleUrls: ['./avatar.component.scss']
3804
3968
  }]
3805
- }], ctorParameters: function () { return []; }, propDecorators: { noBody: [{
3806
- type: i0.Input
3807
- }], dark: [{
3969
+ }], ctorParameters: function () { return []; }, propDecorators: { user: [{
3808
3970
  type: i0.Input
3809
3971
  }] } });
3810
3972
 
3811
3973
  /**
3974
+ * Transforms date to localized date string
3975
+ *
3976
+ * ### In template example:
3977
+ * ~~~html
3978
+ * <!-- in template -->
3979
+ * <p>
3980
+ * {{ dateObject | localizedDate: "EEEE, MMMM dd, yyyy" }}
3981
+ * </p>
3982
+ * ~~~
3812
3983
  * @title
3813
- * Card Module
3984
+ * Localized Date
3985
+ *
3986
+ * @example
3987
+ * ...
3988
+ * constructor(... private LocalizedDatePipe: localizedDatePipe ...){
3989
+ * const localizedDateString = this.localizedDatePipe.transform(dateObject, 'EEEE, MMMM dd, yyyy');
3990
+ * }
3991
+ * ...
3814
3992
  */
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();
3993
+ var LocalizedDatePipe = /** @class */ (function () {
3994
+ function LocalizedDatePipe(userPreferenceService) {
3995
+ var _this = this;
3996
+ this.userPreferenceService = userPreferenceService;
3997
+ this.defaultLocale = LocalizedDatePipe.DEFAULT_LOCALE;
3998
+ this.defaultFormat = LocalizedDatePipe.DEFAULT_DATE_FORMAT;
3999
+ this.onDestroy$ = new rxjs.Subject();
4000
+ if (this.userPreferenceService) {
4001
+ this.userPreferenceService
4002
+ .select(exports.UserPreferenceValues.Locale)
4003
+ .pipe(operators.takeUntil(this.onDestroy$))
4004
+ .subscribe(function (locale) {
4005
+ if (locale) {
4006
+ _this.defaultLocale = locale;
4007
+ }
4008
+ });
4009
+ }
3838
4010
  }
3839
- ClickOutsideDirective.prototype.onClick = function (target) {
3840
- var clickedInside = this.elementRef.nativeElement.contains(target);
3841
- if (!clickedInside) {
3842
- this.clickOutside.emit(target);
4011
+ /**
4012
+ *
4013
+ * @param value date object
4014
+ * @param format format
4015
+ * @param locale locale to convert to
4016
+ * @returns localized date string
4017
+ */
4018
+ LocalizedDatePipe.prototype.transform = function (value, format, locale) {
4019
+ try {
4020
+ var actualFormat = format || this.defaultFormat;
4021
+ var actualLocale = locale || this.defaultLocale;
4022
+ var datePipe = new i4.DatePipe(actualLocale);
4023
+ return datePipe.transform(value, actualFormat, 'GMT+3');
4024
+ }
4025
+ catch (e) {
4026
+ console.warn(e);
4027
+ return value;
3843
4028
  }
3844
4029
  };
3845
- return ClickOutsideDirective;
4030
+ /** @ignore */
4031
+ LocalizedDatePipe.prototype.ngOnDestroy = function () {
4032
+ this.onDestroy$.next(true);
4033
+ this.onDestroy$.complete();
4034
+ };
4035
+ return LocalizedDatePipe;
3846
4036
  }());
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,
4037
+ LocalizedDatePipe.DEFAULT_LOCALE = 'en-US';
4038
+ LocalizedDatePipe.DEFAULT_DATE_FORMAT = 'dd MMMM yyyy hh:mm a';
4039
+ 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 });
4040
+ LocalizedDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, name: "localizedDate", pure: false });
4041
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, decorators: [{
4042
+ type: i0.Pipe,
3851
4043
  args: [{
3852
- selector: '[clickOutside]'
4044
+ name: 'localizedDate',
4045
+ pure: false
3853
4046
  }]
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
- }] } });
4047
+ }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
3860
4048
 
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();
4049
+ /**
4050
+ * Transforms html string into safe html to be rendered in the view
4051
+ *
4052
+ * ### In template example:
4053
+ * ~~~html
4054
+ * <!-- in template -->
4055
+ * <span [innerHTML]="htmlString | safeHtml"></span>
4056
+ * ~~~
4057
+ * @title
4058
+ * Safe HTML
4059
+ */
4060
+ var SafeHtmlPipe = /** @class */ (function () {
4061
+ function SafeHtmlPipe(sanitized) {
4062
+ this.sanitized = sanitized;
3868
4063
  }
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
- });
4064
+ /**
4065
+ *
4066
+ * @param value HTML String
4067
+ * @returns Safe HTML
4068
+ */
4069
+ SafeHtmlPipe.prototype.transform = function (value) {
4070
+ return this.sanitized.bypassSecurityTrustHtml(value);
3877
4071
  };
3878
- return SetRtlDirective;
4072
+ return SafeHtmlPipe;
3879
4073
  }());
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 }]; } });
4074
+ 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 });
4075
+ SafeHtmlPipepipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
4076
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
4077
+ type: i0.Pipe,
4078
+ args: [{ name: 'safeHtml' }]
4079
+ }], ctorParameters: function () { return [{ type: i2__namespace$3.DomSanitizer }]; } });
3888
4080
 
3889
- var EvaluatorsService = /** @class */ (function () {
3890
- function EvaluatorsService(nuxeoService, appConfigService) {
4081
+ /**
4082
+ * Converts date into how long time ago string
4083
+ *
4084
+ * ### In template example:
4085
+ * ~~~html
4086
+ * <!-- in template -->
4087
+ * <span>{{ dateObject | timeAgo }}</span>
4088
+ * ~~~
4089
+ * @title
4090
+ * Time Ago
4091
+ */
4092
+ var TimeAgoPipe = /** @class */ (function () {
4093
+ function TimeAgoPipe(userPreferenceService) {
3891
4094
  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
- }
4095
+ this.userPreferenceService = userPreferenceService;
4096
+ this.onDestroy$ = new rxjs.Subject();
4097
+ this.userPreferenceService
4098
+ .select(exports.UserPreferenceValues.Locale)
4099
+ .pipe(operators.takeUntil(this.onDestroy$))
4100
+ .subscribe(function (locale) {
4101
+ _this.defaultLocale = locale || TimeAgoPipe.DEFAULT_LOCALE;
4103
4102
  });
4103
+ this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;
4104
4104
  }
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
- });
4105
+ /**
4106
+ *
4107
+ * @param value date object
4108
+ * @param locale locale to be transformed to
4109
+ * @returns Time ago string (15 minutes ago)
4110
+ */
4111
+ TimeAgoPipe.prototype.transform = function (value, locale) {
4112
+ if (value !== null && value !== undefined) {
4113
+ var actualLocale = locale || this.defaultLocale;
4114
+ var then = moment__default["default"](value);
4115
+ //const diff = moment().locale(actualLocale).diff(then, 'days');
4116
+ return then.locale(actualLocale).fromNow();
4117
+ // if ( diff > 7) {
4118
+ // const datePipe: DatePipe = new DatePipe(actualLocale);
4119
+ // return datePipe.transform(value, this.defaultDateTimeFormat);
4120
+ // } else {
4121
+ // return then.locale(actualLocale).fromNow();
4122
+ // }
4123
+ }
4124
+ return '';
4139
4125
  };
4140
- EvaluatorsService.prototype.getRuleById = function (id) {
4141
- return this.conditions[id] ? Object.assign({}, this.conditions[id]) : null;
4126
+ /** @ignore */
4127
+ TimeAgoPipe.prototype.ngOnDestroy = function () {
4128
+ this.onDestroy$.next(true);
4129
+ this.onDestroy$.complete();
4142
4130
  };
4143
- EvaluatorsService.prototype.getAllRules = function () {
4144
- return this.appConfigService.conditons;
4131
+ return TimeAgoPipe;
4132
+ }());
4133
+ TimeAgoPipe.DEFAULT_LOCALE = 'en-US';
4134
+ TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';
4135
+ 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 });
4136
+ TimeAgoPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, name: "timeAgo" });
4137
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, decorators: [{
4138
+ type: i0.Pipe,
4139
+ args: [{
4140
+ name: 'timeAgo'
4141
+ }]
4142
+ }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
4143
+
4144
+ /**
4145
+ * Transforms array of strings to single string seperated with seperator
4146
+ *
4147
+ * ### In template example:
4148
+ * ~~~html
4149
+ * <!-- in template -->
4150
+ * <p>{{ ['string 1','string 2', 'string 3'] | multiValue : {valueSeparator:', '}}}</p>
4151
+ * ~~~
4152
+ * @title
4153
+ * Multi Value
4154
+ *
4155
+ * @example
4156
+ * ...
4157
+ * constructor(... private MultiValuePipe: multiValuePipe ...){
4158
+ * const MultiValueString = this.multiValuePipe.transform(['string 1','string 2', 'string 3'], ', ');
4159
+ * }
4160
+ * ...
4161
+ */
4162
+ var MultiValuePipe = /** @class */ (function () {
4163
+ function MultiValuePipe() {
4164
+ }
4165
+ /**
4166
+ *
4167
+ * @param values array of strings
4168
+ * @param valueSeparator seperator to place between elements
4169
+ * @returns the joining of all array items seperated with seperator
4170
+ */
4171
+ MultiValuePipe.prototype.transform = function (values, valueSeparator) {
4172
+ if (valueSeparator === void 0) { valueSeparator = MultiValuePipe.DEFAULT_SEPARATOR; }
4173
+ if (values && values instanceof Array) {
4174
+ return values.join(valueSeparator);
4175
+ }
4176
+ return values;
4145
4177
  };
4146
- return EvaluatorsService;
4178
+ return MultiValuePipe;
4147
4179
  }());
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 }]; } });
4180
+ MultiValuePipe.DEFAULT_SEPARATOR = ', ';
4181
+ MultiValuePipefac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4182
+ MultiValuePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, name: "multiValue" });
4183
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, decorators: [{
4184
+ type: i0.Pipe,
4185
+ args: [{ name: 'multiValue' }]
4186
+ }] });
4154
4187
 
4155
4188
  /**
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>
4189
+ * transforms file size into translated appropriate units
4190
+ *
4191
+ * ### In template example:
4192
+ * ~~~html
4193
+ * <!-- in template -->
4194
+ * <p>{{ file.sizeInBytes | FileSize}}</p>
4195
+ * ~~~
4168
4196
  * @title
4169
- * Permission
4197
+ * File Size
4198
+ *
4199
+ * @example
4200
+ * ...
4201
+ * constructor(... private FileSizePipe: fileSizePiple ...){
4202
+ * const sizeString = this.fileSizePiple.transform(sizeInBytes);
4203
+ * }
4204
+ * ...
4170
4205
  */
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 };
4206
+ var FileSizePipe = /** @class */ (function () {
4207
+ function FileSizePipe(translation) {
4208
+ this.translation = translation;
4181
4209
  }
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
- }
4210
+ /**
4211
+ *
4212
+ * @param paramByte Size in Bytes
4213
+ * @optional @param decimals Decimals to show
4214
+ * @returns translated size string
4215
+ */
4216
+ FileSizePipe.prototype.transform = function (paramByte, decimals) {
4217
+ if (decimals === void 0) { decimals = 2; }
4218
+ if (paramByte == null) {
4219
+ return '';
4190
4220
  }
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
- });
4221
+ var bytes = parseInt(paramByte, 10);
4222
+ if (isNaN(bytes)) {
4223
+ return '';
4224
+ }
4225
+ if (bytes === 0) {
4226
+ return '0 ' + this.translation.instant('FILE_SIZE.BYTES');
4206
4227
  }
4228
+ 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));
4229
+ var i18nSize = this.translation.instant("FILE_SIZE." + sizes[i]);
4230
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + i18nSize;
4207
4231
  };
4208
- return PermissionsDirective;
4232
+ return FileSizePipe;
4209
4233
  }());
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,
4234
+ 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 });
4235
+ FileSizePipepipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, name: "FileSize", pure: false });
4236
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, decorators: [{
4237
+ type: i0.Pipe,
4214
4238
  args: [{
4215
- selector: '[permission]'
4239
+ name: 'FileSize',
4240
+ pure: false
4216
4241
  }]
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
- }] } });
4242
+ }], ctorParameters: function () { return [{ type: TranslationService }]; } });
4220
4243
 
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();
4244
+ /**
4245
+ * Transforms and formats date into hijri
4246
+ *
4247
+ * ### In template example:
4248
+ * ~~~html
4249
+ * <!-- in template -->
4250
+ * <p>{{ dateObject | hijriDate : {format:'iYYYY iMMMM iD'}}}</p>
4251
+ * ~~~
4252
+ * @title
4253
+ * Hijri Date
4254
+ *
4255
+ * @example
4256
+ * ...
4257
+ * constructor(... private HijriDatePipe: hijriDatePipe ...){
4258
+ * const formattedHijriDate = this.hijriDatePipe.transform(dateObject, 'iYYYY iMMMM iD');
4259
+ * }
4260
+ * ...
4261
+ */
4262
+ var HijriDatePipe = /** @class */ (function () {
4263
+ function HijriDatePipe() {
4264
+ this.defaultFormat = "iYYYY iMMMM iD";
4228
4265
  }
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
- });
4266
+ /**
4267
+ *
4268
+ * @param value Date object
4269
+ * @param format Format
4270
+ * @returns formatted hijri date string
4271
+ */
4272
+ HijriDatePipe.prototype.transform = function (value, format) {
4273
+ var actualFormat = format || this.defaultFormat;
4274
+ var m = moment___namespace(value, 'iYYYY/iM/iD'); // Parse a Hijri date.
4275
+ return m.format("iD iMMMM iYYYY");
4236
4276
  };
4237
- return SetDirRtlDirective;
4277
+ return HijriDatePipe;
4238
4278
  }());
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,
4279
+ HijriDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
4280
+ HijriDatePipepipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, name: "hijriDate" });
4281
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, decorators: [{
4282
+ type: i0.Pipe,
4243
4283
  args: [{
4244
- selector: '[SetDirRtl]',
4284
+ name: 'hijriDate'
4245
4285
  }]
4246
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
4286
+ }] });
4247
4287
 
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;
4288
+ /**
4289
+ * @title
4290
+ * Pipes Module
4291
+ */
4292
+ var PipesModule = /** @class */ (function () {
4293
+ function PipesModule() {
4255
4294
  }
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;
4295
+ return PipesModule;
4295
4296
  }());
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,
4297
+ PipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4298
+ 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] });
4299
+ PipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, providers: [TimeAgoPipe, MultiValuePipe], imports: [[i4.CommonModule]] });
4300
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, decorators: [{
4301
+ type: i0.NgModule,
4300
4302
  args: [{
4301
- selector: '[appHasRole]'
4303
+ declarations: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
4304
+ imports: [i4.CommonModule],
4305
+ exports: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
4306
+ providers: [TimeAgoPipe, MultiValuePipe],
4302
4307
  }]
4303
- }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: NuxeoService }]; }, propDecorators: { appHasRole: [{
4304
- type: i0.Input
4305
- }] } });
4308
+ }] });
4306
4309
 
4307
- var DragAndDropDirective = /** @class */ (function () {
4308
- function DragAndDropDirective() {
4309
- this.fileDroped = new i0.EventEmitter();
4310
+ /**
4311
+ * @title
4312
+ * Avatar Module
4313
+ */
4314
+ var AvatarModule = /** @class */ (function () {
4315
+ function AvatarModule() {
4310
4316
  }
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;
4317
+ return AvatarModule;
4342
4318
  }());
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,
4319
+ AvatarModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4320
+ AvatarModulemod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, declarations: [AvatarComponent], imports: [i4.CommonModule,
4321
+ PipesModule], exports: [AvatarComponent] });
4322
+ AvatarModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, imports: [[
4323
+ i4.CommonModule,
4324
+ PipesModule
4325
+ ]] });
4326
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, decorators: [{
4327
+ type: i0.NgModule,
4347
4328
  args: [{
4348
- selector: '[appDragAndDrop]'
4329
+ declarations: [AvatarComponent],
4330
+ imports: [
4331
+ i4.CommonModule,
4332
+ PipesModule
4333
+ ],
4334
+ exports: [
4335
+ AvatarComponent
4336
+ ]
4349
4337
  }]
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']]
4338
+ }] });
4339
+
4340
+ /**
4341
+ * A reusable card component to display various types of contents
4342
+ *
4343
+ * ![Screenshot-1](../screenshots/card.png)
4344
+ * @title
4345
+ * Card
4346
+ * @example
4347
+ *
4348
+ * <app-card>
4349
+ * <h3 class="title">
4350
+ * Card title
4351
+ * </h3>
4352
+ * <div class="my-toolbar">
4353
+ * <button class="btn-primary"> Action Button </button>
4354
+ * </div>
4355
+ * <div class="body">
4356
+ * </div>
4357
+ * </app-card>
4358
+ */
4359
+ var CardComponent = /** @class */ (function () {
4360
+ /** enable/disable shadow */
4361
+ function CardComponent() {
4362
+ /** card has no body */
4363
+ this.noBody = false;
4364
+ /** is card dark */
4365
+ this.dark = false;
4366
+ }
4367
+ CardComponent.prototype.ngOnInit = function () { };
4368
+ return CardComponent;
4369
+ }());
4370
+ CardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
4371
+ 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 });
4372
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardComponent, decorators: [{
4373
+ type: i0.Component,
4374
+ args: [{
4375
+ selector: 'app-card',
4376
+ templateUrl: './card.component.html',
4377
+ styleUrls: ['./card.component.scss'],
4378
+ encapsulation: i0.ViewEncapsulation.None,
4379
+ }]
4380
+ }], ctorParameters: function () { return []; }, propDecorators: { noBody: [{
4381
+ type: i0.Input
4382
+ }], dark: [{
4383
+ type: i0.Input
4361
4384
  }] } });
4362
4385
 
4363
4386
  /**
4364
4387
  * @title
4365
- * Directives Module
4388
+ * Card Module
4366
4389
  */
4367
- var DirectiveModule = /** @class */ (function () {
4368
- function DirectiveModule() {
4390
+ var CardModule = /** @class */ (function () {
4391
+ function CardModule() {
4369
4392
  }
4370
- return DirectiveModule;
4393
+ return CardModule;
4371
4394
  }());
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: [{
4395
+ CardModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4396
+ 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] });
4397
+ CardModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, providers: [], imports: [[i4.CommonModule]] });
4398
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, decorators: [{
4386
4399
  type: i0.NgModule,
4387
4400
  args: [{
4388
- declarations: [
4389
- ClickOutsideDirective,
4390
- SetRtlDirective,
4391
- PermissionsDirective,
4392
- SetDirRtlDirective,
4393
- AppHasRoleDirective,
4394
- DragAndDropDirective
4395
- ],
4401
+ declarations: [CardComponent],
4396
4402
  imports: [i4.CommonModule],
4397
- exports: [
4398
- ClickOutsideDirective,
4399
- SetRtlDirective,
4400
- PermissionsDirective,
4401
- SetDirRtlDirective,
4402
- AppHasRoleDirective,
4403
- DragAndDropDirective
4404
- ],
4405
- providers: []
4403
+ exports: [CardComponent],
4404
+ providers: [],
4406
4405
  }]
4407
4406
  }] });
4408
4407
 
@@ -4824,7 +4823,7 @@
4824
4823
  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
4824
  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
4825
  i4.CommonModule,
4827
- i1$4.RouterModule,
4826
+ i1$3.RouterModule,
4828
4827
  i1$1.TranslateModule,
4829
4828
  i8.MatProgressSpinnerModule,
4830
4829
  i2$1.MatIconModule,
@@ -4841,7 +4840,7 @@
4841
4840
  LibrarySharedModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LibrarySharedModule, imports: [[
4842
4841
  AvatarModule,
4843
4842
  i4.CommonModule,
4844
- i1$4.RouterModule,
4843
+ i1$3.RouterModule,
4845
4844
  i1$1.TranslateModule,
4846
4845
  i8.MatProgressSpinnerModule,
4847
4846
  i2$1.MatIconModule,
@@ -4857,7 +4856,7 @@
4857
4856
  imports: [
4858
4857
  AvatarModule,
4859
4858
  i4.CommonModule,
4860
- i1$4.RouterModule,
4859
+ i1$3.RouterModule,
4861
4860
  i1$1.TranslateModule,
4862
4861
  i8.MatProgressSpinnerModule,
4863
4862
  i2$1.MatIconModule,
@@ -5016,7 +5015,7 @@
5016
5015
  };
5017
5016
  return EditDeleteModalComponent;
5018
5017
  }());
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 });
5018
+ 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
5019
  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
5020
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditDeleteModalComponent, decorators: [{
5022
5021
  type: i0.Component,
@@ -5028,7 +5027,7 @@
5028
5027
  }], ctorParameters: function () {
5029
5028
  return [{ type: undefined, decorators: [{
5030
5029
  type: i0.Inject,
5031
- args: [i1$3.MAT_DIALOG_DATA]
5030
+ args: [i1$4.MAT_DIALOG_DATA]
5032
5031
  }] }, { type: i1__namespace$1.ToastrService }, { type: CommentApiService }, { type: NuxeoService }, { type: i1__namespace$3.MatDialogRef }];
5033
5032
  } });
5034
5033
 
@@ -5370,7 +5369,7 @@
5370
5369
  };
5371
5370
  return ConfirmCallerDialogComponent;
5372
5371
  }());
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 });
5372
+ 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
5373
  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
5374
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerDialogComponent, decorators: [{
5376
5375
  type: i0.Component,
@@ -5383,7 +5382,7 @@
5383
5382
  }], ctorParameters: function () {
5384
5383
  return [{ type: undefined, decorators: [{
5385
5384
  type: i0.Inject,
5386
- args: [i1$3.MAT_DIALOG_DATA]
5385
+ args: [i1$4.MAT_DIALOG_DATA]
5387
5386
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: CustomToastrService }];
5388
5387
  } });
5389
5388
 
@@ -5397,7 +5396,7 @@
5397
5396
  };
5398
5397
  return ConfirmDialogComponent;
5399
5398
  }());
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 });
5399
+ 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
5400
  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
5401
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmDialogComponent, decorators: [{
5403
5402
  type: i0.Component,
@@ -5409,7 +5408,7 @@
5409
5408
  }], ctorParameters: function () {
5410
5409
  return [{ type: undefined, decorators: [{
5411
5410
  type: i0.Inject,
5412
- args: [i1$3.MAT_DIALOG_DATA]
5411
+ args: [i1$4.MAT_DIALOG_DATA]
5413
5412
  }] }, { type: i1__namespace$3.MatDialogRef }];
5414
5413
  } });
5415
5414
 
@@ -5423,13 +5422,13 @@
5423
5422
  return ConfirmCallerModule;
5424
5423
  }());
5425
5424
  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] });
5425
+ 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] });
5426
+ 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
5427
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, decorators: [{
5429
5428
  type: i0.NgModule,
5430
5429
  args: [{
5431
5430
  declarations: [ConfirmCallerDialogComponent, ConfirmDialogComponent],
5432
- imports: [i1$3.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule],
5431
+ imports: [i1$4.MatDialogModule, i4.CommonModule, LibrarySharedModule, i1$1.TranslateModule, i8.MatProgressSpinnerModule],
5433
5432
  exports: [i1$1.TranslateModule, ConfirmCallerDialogComponent, ConfirmDialogComponent],
5434
5433
  providers: [],
5435
5434
  }]
@@ -5447,7 +5446,7 @@
5447
5446
  };
5448
5447
  return ConfirmationDialogComponent;
5449
5448
  }());
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 });
5449
+ 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
5450
  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
5451
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogComponent, decorators: [{
5453
5452
  type: i0.Component,
@@ -5459,7 +5458,7 @@
5459
5458
  }], ctorParameters: function () {
5460
5459
  return [{ type: undefined, decorators: [{
5461
5460
  type: i0.Inject,
5462
- args: [i1$3.MAT_DIALOG_DATA]
5461
+ args: [i1$4.MAT_DIALOG_DATA]
5463
5462
  }] }, { type: i1__namespace$3.MatDialogRef }];
5464
5463
  } });
5465
5464
 
@@ -6164,7 +6163,7 @@
6164
6163
  };
6165
6164
  return CorrespondenceRelationCreateFormComponent;
6166
6165
  }());
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 });
6166
+ 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
6167
  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
6168
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CorrespondenceRelationCreateFormComponent, decorators: [{
6170
6169
  type: i0.Component,
@@ -6177,7 +6176,7 @@
6177
6176
  }], ctorParameters: function () {
6178
6177
  return [{ type: i6__namespace.FormBuilder }, { type: CorrespondenceRelationService }, { type: CustomToastrService }, { type: i1__namespace$3.MatDialogRef }, { type: undefined, decorators: [{
6179
6178
  type: i0.Inject,
6180
- args: [i1$3.MAT_DIALOG_DATA]
6179
+ args: [i1$4.MAT_DIALOG_DATA]
6181
6180
  }] }];
6182
6181
  }, propDecorators: { auto: [{
6183
6182
  type: i0.ViewChild,
@@ -6709,7 +6708,7 @@
6709
6708
  };
6710
6709
  else
6711
6710
  data = { exist_relations_list: [] };
6712
- var dialogConfig = new i1$3.MatDialogConfig();
6711
+ var dialogConfig = new i1$4.MatDialogConfig();
6713
6712
  dialogConfig.data = data;
6714
6713
  dialogConfig.direction =
6715
6714
  this.userPreference.locale === 'ar' ? 'rtl' : 'ltr';
@@ -9948,7 +9947,7 @@
9948
9947
  };
9949
9948
  return DepartmentFormComponent;
9950
9949
  }());
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 });
9950
+ 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
9951
  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
9952
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DepartmentFormComponent, decorators: [{
9954
9953
  type: i0.Component,
@@ -9960,7 +9959,7 @@
9960
9959
  }], ctorParameters: function () {
9961
9960
  return [{ type: undefined, decorators: [{
9962
9961
  type: i0.Inject,
9963
- args: [i1$3.MAT_DIALOG_DATA]
9962
+ args: [i1$4.MAT_DIALOG_DATA]
9964
9963
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: CustomToastrService }, { type: DepartmentApiService }];
9965
9964
  } });
9966
9965
 
@@ -12892,7 +12891,7 @@
12892
12891
  i1$1.TranslateModule,
12893
12892
  i6$1.AutocompleteLibModule,
12894
12893
  i3$2.FormioModule,
12895
- i1$3.MatDialogModule,
12894
+ i1$4.MatDialogModule,
12896
12895
  PipesModule], exports: [TreeviewSelectComponent,
12897
12896
  DynamicFormDepartmentComponent,
12898
12897
  DynamicFormComponent,
@@ -12944,7 +12943,7 @@
12944
12943
  i1$1.TranslateModule,
12945
12944
  i6$1.AutocompleteLibModule,
12946
12945
  i3$2.FormioModule,
12947
- i1$3.MatDialogModule,
12946
+ i1$4.MatDialogModule,
12948
12947
  PipesModule
12949
12948
  ], i1$1.TranslateModule] });
12950
12949
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicFormModule, decorators: [{
@@ -12977,7 +12976,7 @@
12977
12976
  i1$1.TranslateModule,
12978
12977
  i6$1.AutocompleteLibModule,
12979
12978
  i3$2.FormioModule,
12980
- i1$3.MatDialogModule,
12979
+ i1$4.MatDialogModule,
12981
12980
  PipesModule
12982
12981
  ],
12983
12982
  declarations: [
@@ -15536,7 +15535,7 @@
15536
15535
  i1$1.TranslateModule,
15537
15536
  i6.FormsModule,
15538
15537
  i6.ReactiveFormsModule,
15539
- i1$3.MatDialogModule,
15538
+ i1$4.MatDialogModule,
15540
15539
  DynamicSearchModule,
15541
15540
  i2$1.MatIconModule,
15542
15541
  i5.NgSelectModule,
@@ -15557,7 +15556,7 @@
15557
15556
  i1$1.TranslateModule,
15558
15557
  i6.FormsModule,
15559
15558
  i6.ReactiveFormsModule,
15560
- i1$3.MatDialogModule,
15559
+ i1$4.MatDialogModule,
15561
15560
  DynamicSearchModule,
15562
15561
  i2$1.MatIconModule,
15563
15562
  i5.NgSelectModule,
@@ -15589,7 +15588,7 @@
15589
15588
  i1$1.TranslateModule,
15590
15589
  i6.FormsModule,
15591
15590
  i6.ReactiveFormsModule,
15592
- i1$3.MatDialogModule,
15591
+ i1$4.MatDialogModule,
15593
15592
  DynamicSearchModule,
15594
15593
  i2$1.MatIconModule,
15595
15594
  i5.NgSelectModule,
@@ -17699,11 +17698,11 @@
17699
17698
  i1$1.TranslateModule,
17700
17699
  PaginationModule,
17701
17700
  ConfirmCallerModule,
17702
- i1$4.RouterModule,
17701
+ i1$3.RouterModule,
17703
17702
  i4$3.MatProgressBarModule,
17704
17703
  i8.MatProgressSpinnerModule,
17705
17704
  i2$1.MatIconModule,
17706
- i1$3.MatDialogModule,
17705
+ i1$4.MatDialogModule,
17707
17706
  DirectiveModule,
17708
17707
  i6.FormsModule,
17709
17708
  i6.ReactiveFormsModule,
@@ -17723,11 +17722,11 @@
17723
17722
  i1$1.TranslateModule,
17724
17723
  PaginationModule,
17725
17724
  ConfirmCallerModule,
17726
- i1$4.RouterModule,
17725
+ i1$3.RouterModule,
17727
17726
  i4$3.MatProgressBarModule,
17728
17727
  i8.MatProgressSpinnerModule,
17729
17728
  i2$1.MatIconModule,
17730
- i1$3.MatDialogModule,
17729
+ i1$4.MatDialogModule,
17731
17730
  DirectiveModule,
17732
17731
  i6.FormsModule,
17733
17732
  i6.ReactiveFormsModule,
@@ -17754,11 +17753,11 @@
17754
17753
  i1$1.TranslateModule,
17755
17754
  PaginationModule,
17756
17755
  ConfirmCallerModule,
17757
- i1$4.RouterModule,
17756
+ i1$3.RouterModule,
17758
17757
  i4$3.MatProgressBarModule,
17759
17758
  i8.MatProgressSpinnerModule,
17760
17759
  i2$1.MatIconModule,
17761
- i1$3.MatDialogModule,
17760
+ i1$4.MatDialogModule,
17762
17761
  DirectiveModule,
17763
17762
  i6.FormsModule,
17764
17763
  i6.ReactiveFormsModule,
@@ -22778,7 +22777,7 @@
22778
22777
  };
22779
22778
  return CreateModalComponent;
22780
22779
  }());
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 });
22780
+ 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
22781
  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
22782
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, decorators: [{
22784
22783
  type: i0.Component,
@@ -22790,7 +22789,7 @@
22790
22789
  }], ctorParameters: function () {
22791
22790
  return [{ type: undefined, decorators: [{
22792
22791
  type: i0.Inject,
22793
- args: [i1$3.MAT_DIALOG_DATA]
22792
+ args: [i1$4.MAT_DIALOG_DATA]
22794
22793
  }] }, { 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
22794
  type: i0.Inject,
22796
22795
  args: ['environment']
@@ -22990,7 +22989,7 @@
22990
22989
  };
22991
22990
  return FolderModalComponent;
22992
22991
  }());
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 });
22992
+ 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
22993
  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
22994
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FolderModalComponent, decorators: [{
22996
22995
  type: i0.Component,
@@ -23002,7 +23001,7 @@
23002
23001
  }], ctorParameters: function () {
23003
23002
  return [{ type: undefined, decorators: [{
23004
23003
  type: i0.Inject,
23005
- args: [i1$3.MAT_DIALOG_DATA]
23004
+ args: [i1$4.MAT_DIALOG_DATA]
23006
23005
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: FileManagerService }, { type: DynamicFormService }, { type: TranslationService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }];
23007
23006
  }, propDecorators: { folderForm: [{
23008
23007
  type: i0.ViewChild,
@@ -23523,7 +23522,7 @@
23523
23522
  };
23524
23523
  return PublishDialogComponent;
23525
23524
  }());
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 });
23525
+ 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
23526
  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
23527
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PublishDialogComponent, decorators: [{
23529
23528
  type: i0.Component,
@@ -23535,7 +23534,7 @@
23535
23534
  }], ctorParameters: function () {
23536
23535
  return [{ type: PublishingDocumentService }, { type: i1__namespace$3.MatDialogRef }, { type: undefined, decorators: [{
23537
23536
  type: i0.Inject,
23538
- args: [i1$3.MAT_DIALOG_DATA]
23537
+ args: [i1$4.MAT_DIALOG_DATA]
23539
23538
  }] }, { type: CustomToastrService }, { type: i1__namespace.TranslateService }];
23540
23539
  } });
23541
23540
 
@@ -23897,7 +23896,7 @@
23897
23896
  };
23898
23897
  return ScanModalComponent;
23899
23898
  }());
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 });
23899
+ 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
23900
  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
23901
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ScanModalComponent, decorators: [{
23903
23902
  type: i0.Component,
@@ -23909,7 +23908,7 @@
23909
23908
  }], ctorParameters: function () {
23910
23909
  return [{ type: undefined, decorators: [{
23911
23910
  type: i0.Inject,
23912
- args: [i1$3.MAT_DIALOG_DATA]
23911
+ args: [i1$4.MAT_DIALOG_DATA]
23913
23912
  }] }, { 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
23913
  type: i0.Inject,
23915
23914
  args: ['environment']
@@ -24442,7 +24441,7 @@
24442
24441
  };
24443
24442
  return ShareDialogComponent;
24444
24443
  }());
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 });
24444
+ 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
24445
  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
24446
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ShareDialogComponent, decorators: [{
24448
24447
  type: i0.Component,
@@ -24455,7 +24454,7 @@
24455
24454
  }], ctorParameters: function () {
24456
24455
  return [{ type: undefined, decorators: [{
24457
24456
  type: i0.Inject,
24458
- args: [i1$3.MAT_DIALOG_DATA]
24457
+ args: [i1$4.MAT_DIALOG_DATA]
24459
24458
  }] }, { 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
24459
  } });
24461
24460
 
@@ -24788,7 +24787,7 @@
24788
24787
  };
24789
24788
  return UpdateModalComponent;
24790
24789
  }());
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 });
24790
+ 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
24791
  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
24792
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UpdateModalComponent, decorators: [{
24794
24793
  type: i0.Component,
@@ -24800,7 +24799,7 @@
24800
24799
  }], ctorParameters: function () {
24801
24800
  return [{ type: undefined, decorators: [{
24802
24801
  type: i0.Inject,
24803
- args: [i1$3.MAT_DIALOG_DATA]
24802
+ args: [i1$4.MAT_DIALOG_DATA]
24804
24803
  }] }, { type: undefined, decorators: [{
24805
24804
  type: i0.Inject,
24806
24805
  args: ['environment']
@@ -25437,7 +25436,7 @@
25437
25436
  };
25438
25437
  return AddPermissionsDialogComponent;
25439
25438
  }());
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 });
25439
+ 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
25440
  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
25441
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AddPermissionsDialogComponent, decorators: [{
25443
25442
  type: i0.Component,
@@ -25450,7 +25449,7 @@
25450
25449
  }], ctorParameters: function () {
25451
25450
  return [{ type: i1__namespace$3.MatDialogRef }, { type: PermissionService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }, { type: TranslationService }, { type: undefined, decorators: [{
25452
25451
  type: i0.Inject,
25453
- args: [i1$3.MAT_DIALOG_DATA]
25452
+ args: [i1$4.MAT_DIALOG_DATA]
25454
25453
  }] }];
25455
25454
  } });
25456
25455
 
@@ -25476,7 +25475,7 @@
25476
25475
  };
25477
25476
  PermissionsTemplateComponent.prototype.editPermission = function (permission, username, userVisiblePermissions, begin, end) {
25478
25477
  var _this = this;
25479
- var dialogConfig = new i1$3.MatDialogConfig();
25478
+ var dialogConfig = new i1$4.MatDialogConfig();
25480
25479
  dialogConfig.disableClose = false;
25481
25480
  dialogConfig.autoFocus = true;
25482
25481
  dialogConfig.data = {
@@ -25718,7 +25717,7 @@
25718
25717
  }
25719
25718
  });
25720
25719
  });
25721
- var dialogConfig = new i1$3.MatDialogConfig();
25720
+ var dialogConfig = new i1$4.MatDialogConfig();
25722
25721
  dialogConfig.disableClose = false;
25723
25722
  dialogConfig.autoFocus = true;
25724
25723
  dialogConfig.data = {
@@ -26142,7 +26141,7 @@
26142
26141
  };
26143
26142
  return TemplateModalComponent;
26144
26143
  }());
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 });
26144
+ 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
26145
  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
26146
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateModalComponent, decorators: [{
26148
26147
  type: i0.Component,
@@ -26154,7 +26153,7 @@
26154
26153
  }], ctorParameters: function () {
26155
26154
  return [{ type: undefined, decorators: [{
26156
26155
  type: i0.Inject,
26157
- args: [i1$3.MAT_DIALOG_DATA]
26156
+ args: [i1$4.MAT_DIALOG_DATA]
26158
26157
  }] }, { type: UploadManagmentService }, { type: i1__namespace$3.MatDialogRef }, { type: DialogMangmentService }, { type: DynamicFormService }];
26159
26158
  } });
26160
26159
 
@@ -26604,7 +26603,7 @@
26604
26603
  this.callApi = this.injectorObj.get(CallApiService);
26605
26604
  this.shared = this.injectorObj.get(SharedDocsService);
26606
26605
  this.adapter = this.injectorObj.get(AdapterService);
26607
- this.router = this.injectorObj.get(i1$4.Router);
26606
+ this.router = this.injectorObj.get(i1$3.Router);
26608
26607
  this.fileManagerAdapter = this.injectorObj.get(FileManagerAdapter);
26609
26608
  this.translationService = this.injectorObj.get(TranslationService);
26610
26609
  this.customToastrService = this.injectorObj.get(CustomToastrService);
@@ -26612,9 +26611,9 @@
26612
26611
  this.userPreferenceService = this.injectorObj.get(UserPreferencesService);
26613
26612
  this.dialogMangmentService = this.injectorObj.get(DialogMangmentService);
26614
26613
  this.uploadMangmentService = this.injectorObj.get(UploadManagmentService);
26615
- this.dialog = this.injectorObj.get(i1$3.MatDialog);
26614
+ this.dialog = this.injectorObj.get(i1$4.MatDialog);
26616
26615
  this.documentScanService = this.injectorObj.get(DocumentScanService);
26617
- this.route = this.injectorObj.get(i1$4.ActivatedRoute);
26616
+ this.route = this.injectorObj.get(i1$3.ActivatedRoute);
26618
26617
  this.iconService = this.injectorObj.get(IconService);
26619
26618
  this.nuxeoService = this.injectorObj.get(NuxeoService);
26620
26619
  this.multiSelectedkeys = [""];
@@ -27576,13 +27575,13 @@
27576
27575
  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
27576
  ActivityModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, declarations: [ActivityComponent], imports: [i4.CommonModule,
27578
27577
  AvatarModule,
27579
- i1$4.RouterModule], exports: [ActivityComponent,
27580
- i1$4.RouterModule] });
27578
+ i1$3.RouterModule], exports: [ActivityComponent,
27579
+ i1$3.RouterModule] });
27581
27580
  ActivityModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, imports: [[
27582
27581
  i4.CommonModule,
27583
27582
  AvatarModule,
27584
- i1$4.RouterModule
27585
- ], i1$4.RouterModule] });
27583
+ i1$3.RouterModule
27584
+ ], i1$3.RouterModule] });
27586
27585
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, decorators: [{
27587
27586
  type: i0.NgModule,
27588
27587
  args: [{
@@ -27590,11 +27589,11 @@
27590
27589
  imports: [
27591
27590
  i4.CommonModule,
27592
27591
  AvatarModule,
27593
- i1$4.RouterModule
27592
+ i1$3.RouterModule
27594
27593
  ],
27595
27594
  exports: [
27596
27595
  ActivityComponent,
27597
- i1$4.RouterModule
27596
+ i1$3.RouterModule
27598
27597
  ]
27599
27598
  }]
27600
27599
  }] });
@@ -28199,11 +28198,11 @@
28199
28198
  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
28199
  ConfirmationDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, declarations: [ConfirmationDialogComponent], imports: [i4.CommonModule,
28201
28200
  i1$1.TranslateModule,
28202
- i1$3.MatDialogModule], exports: [ConfirmationDialogComponent] });
28201
+ i1$4.MatDialogModule], exports: [ConfirmationDialogComponent] });
28203
28202
  ConfirmationDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, imports: [[
28204
28203
  i4.CommonModule,
28205
28204
  i1$1.TranslateModule,
28206
- i1$3.MatDialogModule
28205
+ i1$4.MatDialogModule
28207
28206
  ]] });
28208
28207
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, decorators: [{
28209
28208
  type: i0.NgModule,
@@ -28212,7 +28211,7 @@
28212
28211
  imports: [
28213
28212
  i4.CommonModule,
28214
28213
  i1$1.TranslateModule,
28215
- i1$3.MatDialogModule
28214
+ i1$4.MatDialogModule
28216
28215
  ],
28217
28216
  exports: [ConfirmationDialogComponent]
28218
28217
  }]
@@ -28471,7 +28470,7 @@
28471
28470
  i3$3.DxTreeViewModule,
28472
28471
  ViewerLogModule,
28473
28472
  CtsTagsModule,
28474
- i1$3.MatDialogModule,
28473
+ i1$4.MatDialogModule,
28475
28474
  i2$2.MatTooltipModule,
28476
28475
  CorrespondenceRelationModule,
28477
28476
  AvatarModule,
@@ -28541,7 +28540,7 @@
28541
28540
  i3$3.DxTreeViewModule,
28542
28541
  ViewerLogModule,
28543
28542
  CtsTagsModule,
28544
- i1$3.MatDialogModule,
28543
+ i1$4.MatDialogModule,
28545
28544
  i2$2.MatTooltipModule,
28546
28545
  CorrespondenceRelationModule,
28547
28546
  AvatarModule,
@@ -28617,7 +28616,7 @@
28617
28616
  i3$3.DxTreeViewModule,
28618
28617
  ViewerLogModule,
28619
28618
  CtsTagsModule,
28620
- i1$3.MatDialogModule,
28619
+ i1$4.MatDialogModule,
28621
28620
  i2$2.MatTooltipModule,
28622
28621
  CorrespondenceRelationModule,
28623
28622
  AvatarModule,
@@ -29928,14 +29927,14 @@
29928
29927
  return UsersCardModule;
29929
29928
  }());
29930
29929
  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] });
29930
+ 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] });
29931
+ 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
29932
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, decorators: [{
29934
29933
  type: i0.NgModule,
29935
29934
  args: [{
29936
29935
  declarations: [UsersCardComponent],
29937
- imports: [i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$4.RouterModule],
29938
- exports: [UsersCardComponent, i1$4.RouterModule],
29936
+ imports: [i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$3.RouterModule],
29937
+ exports: [UsersCardComponent, i1$3.RouterModule],
29939
29938
  providers: [],
29940
29939
  }]
29941
29940
  }] });
@@ -30548,71 +30547,6 @@
30548
30547
  });
30549
30548
  }); };
30550
30549
 
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
30550
  /**
30617
30551
  *
30618
30552
  * @param node
@@ -30753,6 +30687,28 @@
30753
30687
  });
30754
30688
  }); };
30755
30689
 
30690
+ function serializePort(port) {
30691
+ return {
30692
+ id: port.id,
30693
+ label: port.label,
30694
+ socket: {
30695
+ name: port.socket.name,
30696
+ },
30697
+ };
30698
+ }
30699
+ function serializeControl(control) {
30700
+ if (control instanceof rete.ClassicPreset.InputControl) {
30701
+ return {
30702
+ __type: 'ClassicPreset.InputControl',
30703
+ id: control.id,
30704
+ readonly: control.readonly,
30705
+ type: control.type,
30706
+ value: control.value,
30707
+ };
30708
+ }
30709
+ return null;
30710
+ }
30711
+
30756
30712
  var DiagramService = /** @class */ (function () {
30757
30713
  /**
30758
30714
  *
@@ -33494,7 +33450,7 @@
33494
33450
  GetIconPipe,
33495
33451
  NotificationsSidebarComponent,
33496
33452
  NotificationSidebarContentDirective], imports: [i4.CommonModule,
33497
- i1$4.RouterModule,
33453
+ i1$3.RouterModule,
33498
33454
  i9.InfiniteScrollModule,
33499
33455
  i2$4.MatListModule,
33500
33456
  PipesModule,
@@ -33512,7 +33468,7 @@
33512
33468
  i1$7.MatButtonModule,
33513
33469
  i1$8.MatTabsModule,
33514
33470
  ConfirmationDialogModule,
33515
- i1$3.MatDialogModule], exports: [NotificationsListComponent,
33471
+ i1$4.MatDialogModule], exports: [NotificationsListComponent,
33516
33472
  NotificationsButtonComponent,
33517
33473
  NotificationItemComponent,
33518
33474
  NotificationsSettingsContainerComponent,
@@ -33522,7 +33478,7 @@
33522
33478
  NotificationsDateSelectComponent, NotificationIconDirective, NotificationItemDirective] });
33523
33479
  NotificationsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationsModule, providers: [i4.DatePipe, NotificationsService], imports: [[
33524
33480
  i4.CommonModule,
33525
- i1$4.RouterModule,
33481
+ i1$3.RouterModule,
33526
33482
  i9.InfiniteScrollModule,
33527
33483
  i2$4.MatListModule,
33528
33484
  PipesModule,
@@ -33540,14 +33496,14 @@
33540
33496
  i1$7.MatButtonModule,
33541
33497
  i1$8.MatTabsModule,
33542
33498
  ConfirmationDialogModule,
33543
- i1$3.MatDialogModule,
33499
+ i1$4.MatDialogModule,
33544
33500
  ]] });
33545
33501
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationsModule, decorators: [{
33546
33502
  type: i0.NgModule,
33547
33503
  args: [{
33548
33504
  imports: [
33549
33505
  i4.CommonModule,
33550
- i1$4.RouterModule,
33506
+ i1$3.RouterModule,
33551
33507
  i9.InfiniteScrollModule,
33552
33508
  i2$4.MatListModule,
33553
33509
  PipesModule,
@@ -33565,7 +33521,7 @@
33565
33521
  i1$7.MatButtonModule,
33566
33522
  i1$8.MatTabsModule,
33567
33523
  ConfirmationDialogModule,
33568
- i1$3.MatDialogModule,
33524
+ i1$4.MatDialogModule,
33569
33525
  ],
33570
33526
  declarations: [
33571
33527
  COMPONENTS$1,
@@ -33724,7 +33680,7 @@
33724
33680
  else {
33725
33681
  // no cachable exist
33726
33682
  this.routerSubscription = this.router.events.subscribe(function (val) {
33727
- if (val instanceof i1$4.RoutesRecognized) {
33683
+ if (val instanceof i1$3.RoutesRecognized) {
33728
33684
  console.log(val.state.root.queryParams);
33729
33685
  var code = val.state.root.queryParams.code;
33730
33686
  if (code && code.length) {
@@ -34269,7 +34225,6 @@
34269
34225
  exports.ZoomControlComponent = ZoomControlComponent;
34270
34226
  exports.appInitializer = appInitializer;
34271
34227
  exports.departmentCacheBuster$ = departmentCacheBuster$;
34272
- exports.exportGraph = exportGraph;
34273
34228
  exports.extensionJsonsFactory = extensionJsonsFactory;
34274
34229
  exports.filterEnabled = filterEnabled;
34275
34230
  exports.getConnections = getConnections;