nuxeo-development-framework 4.0.4 → 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 +1580 -1623
  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 +6 -6
  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 +28 -28
  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 -1154
  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 +6 -7
  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,175 +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.dialogTitle = "";
2171
- _this.subTitle = "";
2172
- _this.loaderMode = "spinner";
2173
- _this.dialogBodyTopOffset = 0;
2174
- _this.loading = false;
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: { 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: { dialogTitle: [{
2230
- type: i0.Input
2231
- }], subTitle: [{
2232
- type: i0.Input
2233
- }], loaderMode: [{
2234
- type: i0.Input
2235
- }], contentTemplate: [{
2236
- type: i0.ContentChild,
2237
- args: ["contentTemplate"]
2238
- }], actionsTemplate: [{
2239
- type: i0.ContentChild,
2240
- args: ["actionsTemplate"]
2241
- }], dialogBody: [{
2242
- type: i0.ViewChild,
2243
- args: ["dialogBody"]
2244
- }] } });
2245
-
2246
- var NdfConfirmationDialogComponent = /** @class */ (function (_super) {
2247
- __extends(NdfConfirmationDialogComponent, _super);
2248
- function NdfConfirmationDialogComponent(injector) {
2249
- return _super.call(this, injector) || this;
2250
- }
2251
- return NdfConfirmationDialogComponent;
2252
- }(BaseDialogComponent));
2253
- 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 });
2254
- 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 } });
2255
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfConfirmationDialogComponent, decorators: [{
2256
- type: i0.Component,
2257
- args: [{
2258
- selector: "ndf-confirmation-dialog",
2259
- templateUrl: "./ndf-confirmation-dialog.component.html",
2260
- styleUrls: ["./ndf-confirmation-dialog.component.scss"],
2261
- }]
2262
- }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
2263
-
2264
- var _NuxeoDialogService_instances, _NuxeoDialogService_getPanelClass;
2265
- var NuxeoDialogService = /** @class */ (function () {
2266
- function NuxeoDialogService(dialog) {
2267
- this.dialog = dialog;
2268
- _NuxeoDialogService_instances.add(this);
2269
- }
2270
- NuxeoDialogService.prototype.open = function (options) {
2271
- var _a, _b, _c, _d;
2272
- return this.dialog.open(options.component, {
2273
- width: (options === null || options === void 0 ? void 0 : options.width) || "auto",
2274
- height: (options === null || options === void 0 ? void 0 : options.height) || "auto",
2275
- minWidth: "35%",
2276
- panelClass: __spreadArray(["ndf-dialog"], __read(__classPrivateFieldGet(this, _NuxeoDialogService_instances, "m", _NuxeoDialogService_getPanelClass).call(this, options === null || options === void 0 ? void 0 : options.panelClass))),
2277
- disableClose: true,
2278
- data: Object.assign({ dialogConfig: {
2279
- title: (_a = options.config) === null || _a === void 0 ? void 0 : _a.title,
2280
- subTitle: (_b = options.config) === null || _b === void 0 ? void 0 : _b.subTitle,
2281
- contentTemplate: (_c = options.config) === null || _c === void 0 ? void 0 : _c.contentTemplate,
2282
- actionsTemplate: (_d = options.config) === null || _d === void 0 ? void 0 : _d.actionsTemplate,
2283
- } }, (options.data || {})),
2284
- });
2285
- };
2286
- NuxeoDialogService.prototype.showConfirm = function (config) {
2287
- // Merge the user config with the default config
2288
- var confirmConfig = lodashEs.merge({}, defaultConfirmConfig, config);
2289
- var options = {
2290
- component: NdfConfirmationDialogComponent,
2291
- data: Object.assign({}, confirmConfig),
2292
- panelClass: "ndf-confirmation-dialog-panel",
2293
- };
2294
- return this.open(options);
2295
- };
2296
- return NuxeoDialogService;
2297
- }());
2298
- _NuxeoDialogService_instances = new WeakSet(), _NuxeoDialogService_getPanelClass = function _NuxeoDialogService_getPanelClass(panelClass) {
2299
- var classes = [""];
2300
- if (panelClass) {
2301
- classes = Array.isArray(panelClass) ? panelClass : [panelClass];
2302
- }
2303
- return classes;
2304
- };
2305
- 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 });
2306
- NuxeoDialogService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, providedIn: "root" });
2307
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogService, decorators: [{
2308
- type: i0.Injectable,
2309
- args: [{
2310
- providedIn: "root",
2311
- }]
2312
- }], ctorParameters: function () { return [{ type: i1__namespace$3.MatDialog }]; } });
2313
-
2314
2145
  var _BaseComponent_loading;
2315
2146
  var BaseComponent = /** @class */ (function (_super) {
2316
2147
  __extends(BaseComponent, _super);
@@ -2318,15 +2149,14 @@
2318
2149
  var _this = _super.call(this) || this;
2319
2150
  _BaseComponent_loading.set(_this, void 0);
2320
2151
  _this.cdr = injector.get(i0.ChangeDetectorRef);
2321
- _this.activatedRoute = injector.get(i1$4.ActivatedRoute);
2322
- _this.routerService = injector.get(i1$4.Router);
2152
+ _this.activatedRoute = injector.get(i1$3.ActivatedRoute);
2153
+ _this.routerService = injector.get(i1$3.Router);
2323
2154
  _this.translateService = injector.get(i1$1.TranslateService);
2324
2155
  _this.formBuilder = injector.get(i6.FormBuilder);
2325
2156
  _this.toastrService = injector.get(CustomToastrService);
2326
2157
  _this.mainFolderService = injector.get(MainfolderService);
2327
2158
  _this.userPreferencesService = injector.get(UserPreferencesService);
2328
2159
  _this.appConfigService = injector.get(AppConfigService);
2329
- _this.nuxeoDialogService = injector.get(NuxeoDialogService);
2330
2160
  _this.adapter = injector.get(AdapterService);
2331
2161
  return _this;
2332
2162
  }
@@ -2349,21 +2179,21 @@
2349
2179
  });
2350
2180
  Object.defineProperty(BaseComponent.prototype, "isArabic", {
2351
2181
  get: function () {
2352
- return this.currentLang == "ar";
2182
+ return this.currentLang == 'ar';
2353
2183
  },
2354
2184
  enumerable: false,
2355
2185
  configurable: true
2356
2186
  });
2357
2187
  Object.defineProperty(BaseComponent.prototype, "isArabic$", {
2358
2188
  get: function () {
2359
- 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'; }));
2360
2190
  },
2361
2191
  enumerable: false,
2362
2192
  configurable: true
2363
2193
  });
2364
2194
  Object.defineProperty(BaseComponent.prototype, "direction", {
2365
2195
  get: function () {
2366
- return this.translateService.currentLang === "ar" ? "rtl" : "ltr";
2196
+ return this.translateService.currentLang === 'ar' ? 'rtl' : 'ltr';
2367
2197
  },
2368
2198
  enumerable: false,
2369
2199
  configurable: true
@@ -2386,8 +2216,8 @@
2386
2216
  var _this = _super.call(this, _injector) || this;
2387
2217
  _this._injector = _injector;
2388
2218
  _BaseDialogComponent_dialogRef.set(_this, void 0);
2389
- _this.dialogData = _injector.get(i1$3.MAT_DIALOG_DATA);
2390
- __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");
2391
2221
  return _this;
2392
2222
  }
2393
2223
  BaseDialogComponent.prototype.close = function (result) {
@@ -2530,316 +2360,1063 @@
2530
2360
  type: i0.Input
2531
2361
  }] } });
2532
2362
 
2533
- var NuxeoDialogModule = /** @class */ (function () {
2534
- 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();
2535
2370
  }
2536
- 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;
2537
2380
  }());
2538
- NuxeoDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2539
- NuxeoDialogModulemod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent], imports: [i4.CommonModule,
2540
- i1$1.TranslateModule,
2541
- i2$1.MatIconModule,
2542
- i1$3.MatDialogModule,
2543
- i2$2.MatTooltipModule], exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent] });
2544
- NuxeoDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, imports: [[
2545
- i4.CommonModule,
2546
- i1$1.TranslateModule,
2547
- i2$1.MatIconModule,
2548
- i1$3.MatDialogModule,
2549
- i2$2.MatTooltipModule
2550
- ]] });
2551
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoDialogModule, decorators: [{
2552
- 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,
2553
2385
  args: [{
2554
- declarations: [NdfNuxeoDialog, NdfConfirmationDialogComponent],
2555
- imports: [
2556
- i4.CommonModule,
2557
- i1$1.TranslateModule,
2558
- i2$1.MatIconModule,
2559
- i1$3.MatDialogModule,
2560
- i2$2.MatTooltipModule
2561
- ],
2562
- exports: [NdfNuxeoDialog, NdfConfirmationDialogComponent]
2386
+ selector: '[SetDirRtl]',
2563
2387
  }]
2564
- }] });
2388
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
2565
2389
 
2566
- var NuxeoMapper = /** @class */ (function () {
2567
- 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;
2568
2401
  }
2569
- NuxeoMapper.schemaToModel = function (properties) {
2570
- var mappedProperties = {};
2571
- for (var key in properties) {
2572
- if (properties.hasOwnProperty(key)) {
2573
- var _a = __read(key.split(':'), 2), prefix = _a[0], propertyKey = _a[1];
2574
- if (!mappedProperties[prefix]) {
2575
- mappedProperties[prefix] = {};
2576
- }
2577
- mappedProperties[prefix][propertyKey] =
2578
- properties[key];
2579
- }
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];
2580
2407
  }
2581
- return mappedProperties;
2582
- };
2583
- NuxeoMapper.modelToSchema = function (model) {
2584
- var packedProperties = {};
2585
- for (var schemaKey in model) {
2586
- if (model.hasOwnProperty(schemaKey)) {
2587
- var schemaProperties = model[schemaKey];
2588
- for (var propertyKey in schemaProperties) {
2589
- if (schemaProperties.hasOwnProperty(propertyKey)) {
2590
- packedProperties[schemaKey + ":" + propertyKey] =
2591
- schemaProperties[propertyKey];
2592
- }
2593
- }
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');
2594
2412
  }
2595
- }
2596
- return packedProperties;
2597
- };
2598
- return NuxeoMapper;
2599
- }());
2600
-
2601
- var ENTITY_TYPE = 'entity-type';
2602
-
2603
- var _HttpBaseService_http;
2604
- var HttpBaseService = /** @class */ (function () {
2605
- function HttpBaseService(injector) {
2606
- _HttpBaseService_http.set(this, void 0);
2607
- __classPrivateFieldSet(this, _HttpBaseService_http, injector.get(i1.HttpClient), "f");
2608
- }
2609
- Object.defineProperty(HttpBaseService.prototype, "environment", {
2610
- get: function () {
2611
- return EnvManager.environment;
2612
- },
2613
- enumerable: false,
2614
- configurable: true
2615
- });
2616
- HttpBaseService.prototype.get = function (endpointOrOptions, params, headers, responseType) {
2617
- if (params === void 0) { params = undefined; }
2618
- if (headers === void 0) { headers = undefined; }
2619
- if (responseType === void 0) { responseType = undefined; }
2620
- var _a, _b, _c;
2621
- var url;
2622
- if (typeof endpointOrOptions === "string") {
2623
- url = endpointOrOptions;
2624
- }
2625
- else {
2626
- var options = endpointOrOptions;
2627
- url = options.endpoint;
2628
- params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2629
- headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2630
- responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2631
- }
2632
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2633
- .get(url, { headers: headers, params: params, responseType: responseType })
2634
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2635
- };
2636
- HttpBaseService.prototype.post = function (endpointOrOptions, payload, params, headers, responseType) {
2637
- if (payload === void 0) { payload = undefined; }
2638
- if (params === void 0) { params = undefined; }
2639
- if (headers === void 0) { headers = undefined; }
2640
- if (responseType === void 0) { responseType = undefined; }
2641
- var _a, _b, _c, _d;
2642
- var url;
2643
- if (typeof endpointOrOptions === "string") {
2644
- url = endpointOrOptions;
2645
- }
2646
- else {
2647
- var options = endpointOrOptions;
2648
- url = options.endpoint;
2649
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2650
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2651
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2652
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2653
- }
2654
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2655
- .post(url, payload, { headers: headers, params: params, responseType: responseType })
2656
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2657
- };
2658
- HttpBaseService.prototype.put = function (endpointOrOptions, payload, params, headers, responseType) {
2659
- if (payload === void 0) { payload = undefined; }
2660
- if (params === void 0) { params = undefined; }
2661
- if (headers === void 0) { headers = undefined; }
2662
- if (responseType === void 0) { responseType = undefined; }
2663
- var _a, _b, _c, _d;
2664
- var url;
2665
- if (typeof endpointOrOptions === "string") {
2666
- url = endpointOrOptions;
2667
- }
2668
- else {
2669
- var options = endpointOrOptions;
2670
- url = options.endpoint;
2671
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2672
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2673
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2674
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2675
- }
2676
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2677
- .put(url, payload, { headers: headers, params: params, responseType: responseType })
2678
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2679
- };
2680
- HttpBaseService.prototype.patch = function (endpointOrOptions, payload, params, headers, responseType) {
2681
- if (payload === void 0) { payload = undefined; }
2682
- if (params === void 0) { params = undefined; }
2683
- if (headers === void 0) { headers = undefined; }
2684
- if (responseType === void 0) { responseType = undefined; }
2685
- var _a, _b, _c, _d;
2686
- var url;
2687
- if (typeof endpointOrOptions === "string") {
2688
- url = endpointOrOptions;
2689
- }
2690
- else {
2691
- var options = endpointOrOptions;
2692
- url = options.endpoint;
2693
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2694
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2695
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2696
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2697
- }
2698
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2699
- .patch(url, payload, { headers: headers, params: params, responseType: responseType })
2700
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2701
- };
2702
- HttpBaseService.prototype.delete = function (endpointOrOptions, params, headers, responseType) {
2703
- if (params === void 0) { params = undefined; }
2704
- if (headers === void 0) { headers = undefined; }
2705
- if (responseType === void 0) { responseType = undefined; }
2706
- var _a, _b, _c;
2707
- var url;
2708
- if (typeof endpointOrOptions === "string") {
2709
- 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
+ });
2710
2426
  }
2711
2427
  else {
2712
- var options = endpointOrOptions;
2713
- url = options.endpoint;
2714
- params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2715
- headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2716
- responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2428
+ this.dialogRef.close();
2717
2429
  }
2718
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2719
- .delete(url, { headers: headers, params: params, responseType: responseType })
2720
- .pipe(operators.map(function (response) { return response; }), this.catchErrors());
2721
2430
  };
2722
- HttpBaseService.prototype.httpAutomation = function (endpoint, payload, responseType) {
2723
- if (payload === void 0) { payload = undefined; }
2724
- if (responseType === void 0) { responseType = undefined; }
2725
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f")
2726
- .post(endpoint, payload, { responseType: responseType })
2727
- .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('=>');
2728
2437
  };
2729
- HttpBaseService.prototype.catchErrors = function () {
2730
- return rxjs.pipe(operators.catchError(function (err) {
2731
- throw err;
2732
- }));
2438
+ NdfNuxeoDialog.prototype.onClose = function () {
2439
+ this.dialogRef.close();
2733
2440
  };
2734
- return HttpBaseService;
2735
- }());
2736
- _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
+ }] } });
2737
2468
 
2738
- var DEFAULT_CACHE_OPTIONS = {
2739
- PREFIX: "cache__",
2740
- PAGE_KEY: "currentPageIndex",
2741
- TOTAL_PAGE_KEY: "pageCount",
2742
- RESULTS_COUNT_KEY: "resultsCount",
2743
- MAPPED_DATA_KEY: "entries",
2744
- UNIQUE_COMPARE_KEY: "uid",
2745
- MIN_COMPARE_DATE_KEY: "dublincore_modified_min",
2746
- LAST_MODIFIED_KEY: "lastModifiedDate",
2747
- LAST_MODIFIED_PATH: "properties.dc:modified",
2748
- EXCLUDE_KEYS_WHEN_UPDATE: ["contextParameters"],
2749
- CHILDREN_PATH: "contextParameters.children.entries",
2750
- PARENT_KEY: "parentRef",
2751
- REQUEST: function () {
2752
- return rxjs.of();
2753
- },
2754
- PREPARE_DATA: function (result) {
2755
- return result.map(function (item) {
2756
- delete item._baseOptions;
2757
- delete item._dirtyProperties;
2758
- delete item._nuxeo;
2759
- delete item._repository;
2760
- return item;
2761
- });
2469
+ var NdfConfirmationDialogComponent = /** @class */ (function (_super) {
2470
+ __extends(NdfConfirmationDialogComponent, _super);
2471
+ function NdfConfirmationDialogComponent(injector) {
2472
+ return _super.call(this, injector) || this;
2762
2473
  }
2763
- };
2764
-
2765
- exports.CachingExpiryUnit = void 0;
2766
- (function (CachingExpiryUnit) {
2767
- CachingExpiryUnit["YEARS"] = "years";
2768
- CachingExpiryUnit["MONTHS"] = "months";
2769
- CachingExpiryUnit["WEEKS"] = "weeks";
2770
- CachingExpiryUnit["DAYS"] = "days";
2771
- CachingExpiryUnit["HOURS"] = "hours";
2772
- CachingExpiryUnit["MINUTES"] = "minutes";
2773
- CachingExpiryUnit["SECONDS"] = "seconds";
2774
- CachingExpiryUnit["MILLI_SECONDS"] = "milliseconds";
2775
- })(exports.CachingExpiryUnit || (exports.CachingExpiryUnit = {}));
2776
-
2777
- // TTL : Time To Live
2778
- var DEFAULT_TTL_CONFIG = {
2779
- TTL: 3,
2780
- UNIT: exports.CachingExpiryUnit.MONTHS,
2781
- AUTO_CHECK: true,
2782
- RETRY: 3
2783
- };
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 }]; } });
2784
2486
 
2785
- 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;
2786
- var CacheBaseService = /** @class */ (function () {
2787
- function CacheBaseService(userPreferencesService, utilityService) {
2788
- this.userPreferencesService = userPreferencesService;
2789
- this.utilityService = utilityService;
2790
- _CacheBaseService_instances.add(this);
2791
- _CacheBaseService_fetchedItems.set(this, new Map());
2792
- __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();
2793
2492
  }
2794
- CacheBaseService.prototype.hasItem = function (cacheKey) {
2795
- return this.userPreferencesService.hasItem("" + DEFAULT_CACHE_OPTIONS.PREFIX + cacheKey);
2796
- };
2797
- CacheBaseService.prototype.clearAll = function (userName) {
2798
- __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_clear).call(this, userName);
2799
- };
2800
- CacheBaseService.prototype.validateTTL = function (userName) {
2801
- var _this = this;
2802
- if (!DEFAULT_TTL_CONFIG.AUTO_CHECK || !userName)
2803
- return;
2804
- var prefix = userName + "__" + DEFAULT_CACHE_OPTIONS.PREFIX;
2805
- Object.keys(window.localStorage)
2806
- .filter(function (q) { return q.startsWith(prefix); })
2807
- .filter(function (key) {
2808
- var _a;
2809
- var options = {
2810
- cacheKey: key.replace(prefix, ""),
2811
- userName: userName,
2812
- request: DEFAULT_CACHE_OPTIONS.REQUEST,
2813
- prepareDataBeforeCaching: DEFAULT_CACHE_OPTIONS.PREPARE_DATA,
2814
- };
2815
- var firstFetchingDate = (_a = __classPrivateFieldGet(_this, _CacheBaseService_instances, "m", _CacheBaseService_getItem).call(_this, options)) === null || _a === void 0 ? void 0 : _a.firstFetchingDate;
2816
- if (!firstFetchingDate)
2817
- return;
2818
- var momentDate1 = moment__namespace(new Date(firstFetchingDate));
2819
- var momentDate2 = moment__namespace(new Date());
2820
- var difference = momentDate2.diff(momentDate1, DEFAULT_TTL_CONFIG.UNIT);
2821
- return difference >= DEFAULT_TTL_CONFIG.TTL;
2822
- })
2823
- .forEach(function (key) {
2824
- window.localStorage.removeItem(key);
2825
- });
2826
- };
2827
- CacheBaseService.prototype.startFetchingItems = function (options) {
2828
- var _a;
2829
- __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_validateTTLForKey).call(this, options);
2830
- if ((_a = __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[options.cacheKey]) === null || _a === void 0 ? void 0 : _a.fetchingItemsFromTheServer) {
2831
- return __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[options.cacheKey].onFinishFetching.asObservable();
2832
- }
2833
- else {
2834
- 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);
2835
2497
  }
2836
2498
  };
2837
- return CacheBaseService;
2499
+ return ClickOutsideDirective;
2838
2500
  }());
2839
- _CacheBaseService_fetchedItems = new WeakMap(), _CacheBaseService_instances = new WeakSet(), _CacheBaseService_handleCacheItems = function _CacheBaseService_handleCacheItems(options) {
2840
- var _j, _k;
2841
- var _this = this;
2842
- var observable;
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;
2843
3420
  __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_prepareOptions).call(this, options);
2844
3421
  var cachedItem = __classPrivateFieldGet(this, _CacheBaseService_instances, "m", _CacheBaseService_getItem).call(this, options);
2845
3422
  if (cachedItem) {
@@ -2876,7 +3453,7 @@
2876
3453
  data: _fetchedItems.data,
2877
3454
  lastModifiedDate: _fetchedItems.lastModifiedDate,
2878
3455
  firstFetchingDate: _fetchedItems.firstFetchingDate,
2879
- resultsCount: _fetchedItems[options.resultsCount],
3456
+ resultsCount: _fetchedItems[options.resultsCount]
2880
3457
  }, options);
2881
3458
  }
2882
3459
  return _fetchedItems;
@@ -3031,7 +3608,7 @@
3031
3608
  DEFAULT_TTL_CONFIG.UNIT =
3032
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;
3033
3610
  DEFAULT_TTL_CONFIG.AUTO_CHECK =
3034
- ((_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';
3035
3612
  DEFAULT_TTL_CONFIG.RETRY =
3036
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;
3037
3614
  }, _CacheBaseService_add1SecondToModifiedDate = function _CacheBaseService_add1SecondToModifiedDate(date) {
@@ -3039,7 +3616,7 @@
3039
3616
  newDate.setSeconds(newDate.getSeconds() + 1);
3040
3617
  return newDate;
3041
3618
  }, _CacheBaseService_clear = function _CacheBaseService_clear(userName, keyOrAll) {
3042
- if (keyOrAll === void 0) { keyOrAll = ""; }
3619
+ if (keyOrAll === void 0) { keyOrAll = ''; }
3043
3620
  Object.keys(window.localStorage)
3044
3621
  .filter(function (q) { return q.startsWith(userName + "__" + DEFAULT_CACHE_OPTIONS.PREFIX + keyOrAll); })
3045
3622
  .forEach(function (key) {
@@ -3058,11 +3635,11 @@
3058
3635
  }, _CacheBaseService_setItemInMap = function _CacheBaseService_setItemInMap(key, val) {
3059
3636
  var empty = {
3060
3637
  data: [],
3061
- firstFetchingDate: "",
3062
- lastModifiedDate: "",
3638
+ firstFetchingDate: '',
3639
+ lastModifiedDate: '',
3063
3640
  resultsCount: 0,
3064
3641
  fetchingItemsFromTheServer: false,
3065
- onFinishFetching: new rxjs.Subject(),
3642
+ onFinishFetching: new rxjs.Subject()
3066
3643
  };
3067
3644
  var value = val ? val : empty;
3068
3645
  __classPrivateFieldGet(this, _CacheBaseService_fetchedItems, "f")[key] = value;
@@ -3086,11 +3663,11 @@
3086
3663
  }
3087
3664
  };
3088
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 });
3089
- 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' });
3090
3667
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CacheBaseService, decorators: [{
3091
3668
  type: i0.Injectable,
3092
3669
  args: [{
3093
- providedIn: "root",
3670
+ providedIn: 'root'
3094
3671
  }]
3095
3672
  }], ctorParameters: function () { return [{ type: UserPreferencesService }, { type: UtilityService }]; } });
3096
3673
 
@@ -3163,7 +3740,7 @@
3163
3740
  if (isCustomAutomation === void 0) { isCustomAutomation = false; }
3164
3741
  var _a, _b, _c, _d;
3165
3742
  var operation;
3166
- if (typeof operationOrOptions === "string") {
3743
+ if (typeof operationOrOptions === 'string') {
3167
3744
  operation = operationOrOptions;
3168
3745
  }
3169
3746
  else {
@@ -3178,7 +3755,7 @@
3178
3755
  return rxjs.from(__classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient
3179
3756
  .operation(operation, Object.assign({}, (isCustomAutomation
3180
3757
  ? {
3181
- url: "" + this.environment.nuxeo + this.environment.customAutomation,
3758
+ url: "" + this.environment.nuxeo + this.environment.customAutomation
3182
3759
  }
3183
3760
  : {})))
3184
3761
  .input(input ? input : undefined)
@@ -3191,7 +3768,7 @@
3191
3768
  if (params === void 0) { params = undefined; }
3192
3769
  if (context === void 0) { context = undefined; }
3193
3770
  if (headers === void 0) { headers = undefined; }
3194
- if (typeof operationOrOptions == "object") {
3771
+ if (typeof operationOrOptions == 'object') {
3195
3772
  operationOrOptions.isCustomAutomation = true;
3196
3773
  }
3197
3774
  return this.automation(operationOrOptions, input, params, context, headers, true);
@@ -3200,17 +3777,17 @@
3200
3777
  if (queryParams === void 0) { queryParams = undefined; }
3201
3778
  if (headers === void 0) { headers = undefined; }
3202
3779
  if (payload === void 0) { payload = undefined; }
3203
- if (type === void 0) { type = "get"; }
3780
+ if (type === void 0) { type = 'get'; }
3204
3781
  var _a, _b, _c, _d;
3205
3782
  var endpoint;
3206
- if (typeof endpointOrOptions === "string") {
3783
+ if (typeof endpointOrOptions === 'string') {
3207
3784
  endpoint = endpointOrOptions;
3208
3785
  }
3209
3786
  else {
3210
3787
  var options = endpointOrOptions;
3211
3788
  endpoint = options.endpoint;
3212
3789
  queryParams = (_a = options.queryParams) !== null && _a !== void 0 ? _a : undefined;
3213
- type = (_b = options.type) !== null && _b !== void 0 ? _b : "get";
3790
+ type = (_b = options.type) !== null && _b !== void 0 ? _b : 'get';
3214
3791
  headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
3215
3792
  payload = (_d = options.payload) !== null && _d !== void 0 ? _d : undefined;
3216
3793
  }
@@ -3218,7 +3795,7 @@
3218
3795
  .request(endpoint)
3219
3796
  .queryParams(queryParams ? Object.assign({}, queryParams) : undefined)[type]({
3220
3797
  headers: headers ? Object.assign({}, headers) : undefined,
3221
- body: payload ? Object.assign({}, payload) : undefined,
3798
+ body: payload ? Object.assign({}, payload) : undefined
3222
3799
  })).pipe(operators.map(function (response) { return response; }), this.catchErrors());
3223
3800
  };
3224
3801
  BaseService.prototype.query = function (pageProviderOrOptions, params, headers) {
@@ -3226,7 +3803,7 @@
3226
3803
  if (headers === void 0) { headers = undefined; }
3227
3804
  var _a, _b;
3228
3805
  var pageProvider;
3229
- if (typeof pageProviderOrOptions === "string") {
3806
+ if (typeof pageProviderOrOptions === 'string') {
3230
3807
  pageProvider = pageProviderOrOptions;
3231
3808
  }
3232
3809
  else {
@@ -3237,7 +3814,7 @@
3237
3814
  }
3238
3815
  return __classPrivateFieldGet(this, _BaseService_callApiService, "f")
3239
3816
  .query(Object.assign({ pageProvider: pageProvider }, (params ? params : {})), {
3240
- headers: headers ? Object.assign({}, headers) : undefined,
3817
+ headers: headers ? Object.assign({}, headers) : undefined
3241
3818
  })
3242
3819
  .pipe(operators.map(function (response) { return response; }), this.catchErrors());
3243
3820
  };
@@ -3250,7 +3827,7 @@
3250
3827
  return _this.query({
3251
3828
  pageProvider: options.pageProvider,
3252
3829
  params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
3253
- headers: options.headers,
3830
+ headers: options.headers
3254
3831
  });
3255
3832
  };
3256
3833
  return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
@@ -3263,7 +3840,7 @@
3263
3840
  payload: options.payload,
3264
3841
  params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
3265
3842
  headers: options.headers,
3266
- responseType: options.responseType,
3843
+ responseType: options.responseType
3267
3844
  });
3268
3845
  };
3269
3846
  return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
@@ -3297,10 +3874,10 @@
3297
3874
  }(HttpBaseService));
3298
3875
  _BaseService_nuxeoService = new WeakMap(), _BaseService_callApiService = new WeakMap(), _BaseService_cacheBaseService = new WeakMap();
3299
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 });
3300
- 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' });
3301
3878
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseService, decorators: [{
3302
3879
  type: i0.Injectable,
3303
- args: [{ providedIn: "root" }]
3880
+ args: [{ providedIn: 'root' }]
3304
3881
  }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
3305
3882
 
3306
3883
  /**
@@ -3346,1061 +3923,485 @@
3346
3923
  * ![Screenshot-1](../screenshots/avatar1.png) ![Screenshot-2](../screenshots/avatar2.png)
3347
3924
  * @title
3348
3925
  * User Avatar
3349
- * @example
3350
- *
3351
- * <cts-avatar [user]="user"></cts-avatar>
3352
- */
3353
- var AvatarComponent = /** @class */ (function () {
3354
- function AvatarComponent() {
3355
- }
3356
- AvatarComponent.prototype.ngOnInit = function () {
3357
- var _a, _b, _c, _d;
3358
- 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);
3359
- };
3360
- AvatarComponent.prototype.stringToHslColor = function (str, s, l) {
3361
- var hash = 0;
3362
- for (var i = 0; i < str.length; i++) {
3363
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
3364
- }
3365
- var h = hash % 360;
3366
- this.backgroundColor = 'hsl(' + h + ', ' + s + '%, ' + l + '%)';
3367
- };
3368
- AvatarComponent.prototype.getInitials = function () {
3369
- var _a;
3370
- return ((_a = this.user) === null || _a === void 0 ? void 0 : _a.properties)
3371
- ? (this.user.properties.initials = [
3372
- this.user.properties.firstName
3373
- ? this.user.properties.firstName[0].toUpperCase()
3374
- : '',
3375
- this.user.properties.lastName
3376
- ? this.user.properties.lastName[0].toUpperCase()
3377
- : '',
3378
- ].join(''))
3379
- : '';
3380
- };
3381
- return AvatarComponent;
3382
- }());
3383
- AvatarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3384
- 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 } });
3385
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarComponent, decorators: [{
3386
- type: i0.Component,
3387
- args: [{
3388
- selector: 'cts-avatar',
3389
- templateUrl: './avatar.component.html',
3390
- styleUrls: ['./avatar.component.scss']
3391
- }]
3392
- }], ctorParameters: function () { return []; }, propDecorators: { user: [{
3393
- type: i0.Input
3394
- }] } });
3395
-
3396
- /**
3397
- * Transforms date to localized date string
3398
- *
3399
- * ### In template example:
3400
- * ~~~html
3401
- * <!-- in template -->
3402
- * <p>
3403
- * {{ dateObject | localizedDate: "EEEE, MMMM dd, yyyy" }}
3404
- * </p>
3405
- * ~~~
3406
- * @title
3407
- * Localized Date
3408
- *
3409
- * @example
3410
- * ...
3411
- * constructor(... private LocalizedDatePipe: localizedDatePipe ...){
3412
- * const localizedDateString = this.localizedDatePipe.transform(dateObject, 'EEEE, MMMM dd, yyyy');
3413
- * }
3414
- * ...
3415
- */
3416
- var LocalizedDatePipe = /** @class */ (function () {
3417
- function LocalizedDatePipe(userPreferenceService) {
3418
- var _this = this;
3419
- this.userPreferenceService = userPreferenceService;
3420
- this.defaultLocale = LocalizedDatePipe.DEFAULT_LOCALE;
3421
- this.defaultFormat = LocalizedDatePipe.DEFAULT_DATE_FORMAT;
3422
- this.onDestroy$ = new rxjs.Subject();
3423
- if (this.userPreferenceService) {
3424
- this.userPreferenceService
3425
- .select(exports.UserPreferenceValues.Locale)
3426
- .pipe(operators.takeUntil(this.onDestroy$))
3427
- .subscribe(function (locale) {
3428
- if (locale) {
3429
- _this.defaultLocale = locale;
3430
- }
3431
- });
3432
- }
3433
- }
3434
- /**
3435
- *
3436
- * @param value date object
3437
- * @param format format
3438
- * @param locale locale to convert to
3439
- * @returns localized date string
3440
- */
3441
- LocalizedDatePipe.prototype.transform = function (value, format, locale) {
3442
- try {
3443
- var actualFormat = format || this.defaultFormat;
3444
- var actualLocale = locale || this.defaultLocale;
3445
- var datePipe = new i4.DatePipe(actualLocale);
3446
- return datePipe.transform(value, actualFormat, 'GMT+3');
3447
- }
3448
- catch (e) {
3449
- console.warn(e);
3450
- return value;
3451
- }
3452
- };
3453
- /** @ignore */
3454
- LocalizedDatePipe.prototype.ngOnDestroy = function () {
3455
- this.onDestroy$.next(true);
3456
- this.onDestroy$.complete();
3457
- };
3458
- return LocalizedDatePipe;
3459
- }());
3460
- LocalizedDatePipe.DEFAULT_LOCALE = 'en-US';
3461
- LocalizedDatePipe.DEFAULT_DATE_FORMAT = 'dd MMMM yyyy hh:mm a';
3462
- 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 });
3463
- LocalizedDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, name: "localizedDate", pure: false });
3464
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LocalizedDatePipe, decorators: [{
3465
- type: i0.Pipe,
3466
- args: [{
3467
- name: 'localizedDate',
3468
- pure: false
3469
- }]
3470
- }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
3471
-
3472
- /**
3473
- * Transforms html string into safe html to be rendered in the view
3474
- *
3475
- * ### In template example:
3476
- * ~~~html
3477
- * <!-- in template -->
3478
- * <span [innerHTML]="htmlString | safeHtml"></span>
3479
- * ~~~
3480
- * @title
3481
- * Safe HTML
3482
- */
3483
- var SafeHtmlPipe = /** @class */ (function () {
3484
- function SafeHtmlPipe(sanitized) {
3485
- this.sanitized = sanitized;
3486
- }
3487
- /**
3488
- *
3489
- * @param value HTML String
3490
- * @returns Safe HTML
3491
- */
3492
- SafeHtmlPipe.prototype.transform = function (value) {
3493
- return this.sanitized.bypassSecurityTrustHtml(value);
3494
- };
3495
- return SafeHtmlPipe;
3496
- }());
3497
- 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 });
3498
- SafeHtmlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
3499
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
3500
- type: i0.Pipe,
3501
- args: [{ name: 'safeHtml' }]
3502
- }], ctorParameters: function () { return [{ type: i2__namespace$3.DomSanitizer }]; } });
3503
-
3504
- /**
3505
- * Converts date into how long time ago string
3506
- *
3507
- * ### In template example:
3508
- * ~~~html
3509
- * <!-- in template -->
3510
- * <span>{{ dateObject | timeAgo }}</span>
3511
- * ~~~
3512
- * @title
3513
- * Time Ago
3514
- */
3515
- var TimeAgoPipe = /** @class */ (function () {
3516
- function TimeAgoPipe(userPreferenceService) {
3517
- var _this = this;
3518
- this.userPreferenceService = userPreferenceService;
3519
- this.onDestroy$ = new rxjs.Subject();
3520
- this.userPreferenceService
3521
- .select(exports.UserPreferenceValues.Locale)
3522
- .pipe(operators.takeUntil(this.onDestroy$))
3523
- .subscribe(function (locale) {
3524
- _this.defaultLocale = locale || TimeAgoPipe.DEFAULT_LOCALE;
3525
- });
3526
- this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;
3527
- }
3528
- /**
3529
- *
3530
- * @param value date object
3531
- * @param locale locale to be transformed to
3532
- * @returns Time ago string (15 minutes ago)
3533
- */
3534
- TimeAgoPipe.prototype.transform = function (value, locale) {
3535
- if (value !== null && value !== undefined) {
3536
- var actualLocale = locale || this.defaultLocale;
3537
- var then = moment__default["default"](value);
3538
- //const diff = moment().locale(actualLocale).diff(then, 'days');
3539
- return then.locale(actualLocale).fromNow();
3540
- // if ( diff > 7) {
3541
- // const datePipe: DatePipe = new DatePipe(actualLocale);
3542
- // return datePipe.transform(value, this.defaultDateTimeFormat);
3543
- // } else {
3544
- // return then.locale(actualLocale).fromNow();
3545
- // }
3546
- }
3547
- return '';
3548
- };
3549
- /** @ignore */
3550
- TimeAgoPipe.prototype.ngOnDestroy = function () {
3551
- this.onDestroy$.next(true);
3552
- this.onDestroy$.complete();
3553
- };
3554
- return TimeAgoPipe;
3555
- }());
3556
- TimeAgoPipe.DEFAULT_LOCALE = 'en-US';
3557
- TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';
3558
- 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 });
3559
- TimeAgoPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, name: "timeAgo" });
3560
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimeAgoPipe, decorators: [{
3561
- type: i0.Pipe,
3562
- args: [{
3563
- name: 'timeAgo'
3564
- }]
3565
- }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
3566
-
3567
- /**
3568
- * Transforms array of strings to single string seperated with seperator
3569
- *
3570
- * ### In template example:
3571
- * ~~~html
3572
- * <!-- in template -->
3573
- * <p>{{ ['string 1','string 2', 'string 3'] | multiValue : {valueSeparator:', '}}}</p>
3574
- * ~~~
3575
- * @title
3576
- * Multi Value
3577
- *
3578
- * @example
3579
- * ...
3580
- * constructor(... private MultiValuePipe: multiValuePipe ...){
3581
- * const MultiValueString = this.multiValuePipe.transform(['string 1','string 2', 'string 3'], ', ');
3582
- * }
3583
- * ...
3584
- */
3585
- var MultiValuePipe = /** @class */ (function () {
3586
- function MultiValuePipe() {
3587
- }
3588
- /**
3589
- *
3590
- * @param values array of strings
3591
- * @param valueSeparator seperator to place between elements
3592
- * @returns the joining of all array items seperated with seperator
3593
- */
3594
- MultiValuePipe.prototype.transform = function (values, valueSeparator) {
3595
- if (valueSeparator === void 0) { valueSeparator = MultiValuePipe.DEFAULT_SEPARATOR; }
3596
- if (values && values instanceof Array) {
3597
- return values.join(valueSeparator);
3598
- }
3599
- return values;
3600
- };
3601
- return MultiValuePipe;
3602
- }());
3603
- MultiValuePipe.DEFAULT_SEPARATOR = ', ';
3604
- MultiValuePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3605
- MultiValuePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, name: "multiValue" });
3606
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultiValuePipe, decorators: [{
3607
- type: i0.Pipe,
3608
- args: [{ name: 'multiValue' }]
3609
- }] });
3610
-
3611
- /**
3612
- * transforms file size into translated appropriate units
3613
- *
3614
- * ### In template example:
3615
- * ~~~html
3616
- * <!-- in template -->
3617
- * <p>{{ file.sizeInBytes | FileSize}}</p>
3618
- * ~~~
3619
- * @title
3620
- * File Size
3621
- *
3622
- * @example
3623
- * ...
3624
- * constructor(... private FileSizePipe: fileSizePiple ...){
3625
- * const sizeString = this.fileSizePiple.transform(sizeInBytes);
3626
- * }
3627
- * ...
3628
- */
3629
- var FileSizePipe = /** @class */ (function () {
3630
- function FileSizePipe(translation) {
3631
- this.translation = translation;
3632
- }
3633
- /**
3634
- *
3635
- * @param paramByte Size in Bytes
3636
- * @optional @param decimals Decimals to show
3637
- * @returns translated size string
3638
- */
3639
- FileSizePipe.prototype.transform = function (paramByte, decimals) {
3640
- if (decimals === void 0) { decimals = 2; }
3641
- if (paramByte == null) {
3642
- return '';
3643
- }
3644
- var bytes = parseInt(paramByte, 10);
3645
- if (isNaN(bytes)) {
3646
- return '';
3647
- }
3648
- if (bytes === 0) {
3649
- return '0 ' + this.translation.instant('FILE_SIZE.BYTES');
3650
- }
3651
- 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));
3652
- var i18nSize = this.translation.instant("FILE_SIZE." + sizes[i]);
3653
- return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + i18nSize;
3654
- };
3655
- return FileSizePipe;
3656
- }());
3657
- 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 });
3658
- FileSizePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, name: "FileSize", pure: false });
3659
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileSizePipe, decorators: [{
3660
- type: i0.Pipe,
3661
- args: [{
3662
- name: 'FileSize',
3663
- pure: false
3664
- }]
3665
- }], ctorParameters: function () { return [{ type: TranslationService }]; } });
3666
-
3667
- /**
3668
- * Transforms and formats date into hijri
3669
- *
3670
- * ### In template example:
3671
- * ~~~html
3672
- * <!-- in template -->
3673
- * <p>{{ dateObject | hijriDate : {format:'iYYYY iMMMM iD'}}}</p>
3674
- * ~~~
3675
- * @title
3676
- * Hijri Date
3677
- *
3678
- * @example
3679
- * ...
3680
- * constructor(... private HijriDatePipe: hijriDatePipe ...){
3681
- * const formattedHijriDate = this.hijriDatePipe.transform(dateObject, 'iYYYY iMMMM iD');
3682
- * }
3683
- * ...
3684
- */
3685
- var HijriDatePipe = /** @class */ (function () {
3686
- function HijriDatePipe() {
3687
- this.defaultFormat = "iYYYY iMMMM iD";
3688
- }
3689
- /**
3690
- *
3691
- * @param value Date object
3692
- * @param format Format
3693
- * @returns formatted hijri date string
3694
- */
3695
- HijriDatePipe.prototype.transform = function (value, format) {
3696
- var actualFormat = format || this.defaultFormat;
3697
- var m = moment___namespace(value, 'iYYYY/iM/iD'); // Parse a Hijri date.
3698
- return m.format("iD iMMMM iYYYY");
3699
- };
3700
- return HijriDatePipe;
3701
- }());
3702
- HijriDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
3703
- HijriDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, name: "hijriDate" });
3704
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HijriDatePipe, decorators: [{
3705
- type: i0.Pipe,
3706
- args: [{
3707
- name: 'hijriDate'
3708
- }]
3709
- }] });
3710
-
3711
- /**
3712
- * @title
3713
- * Pipes Module
3714
- */
3715
- var PipesModule = /** @class */ (function () {
3716
- function PipesModule() {
3717
- }
3718
- return PipesModule;
3719
- }());
3720
- PipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3721
- 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] });
3722
- PipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, providers: [TimeAgoPipe, MultiValuePipe], imports: [[i4.CommonModule]] });
3723
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PipesModule, decorators: [{
3724
- type: i0.NgModule,
3725
- args: [{
3726
- declarations: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
3727
- imports: [i4.CommonModule],
3728
- exports: [SecurePipe, LocalizedDatePipe, SafeHtmlPipe, TimeAgoPipe, MultiValuePipe, FileSizePipe, HijriDatePipe],
3729
- providers: [TimeAgoPipe, MultiValuePipe],
3730
- }]
3731
- }] });
3732
-
3733
- /**
3734
- * @title
3735
- * Avatar Module
3736
- */
3737
- var AvatarModule = /** @class */ (function () {
3738
- function AvatarModule() {
3739
- }
3740
- return AvatarModule;
3741
- }());
3742
- AvatarModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3743
- AvatarModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, declarations: [AvatarComponent], imports: [i4.CommonModule,
3744
- PipesModule], exports: [AvatarComponent] });
3745
- AvatarModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, imports: [[
3746
- i4.CommonModule,
3747
- PipesModule
3748
- ]] });
3749
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AvatarModule, decorators: [{
3750
- type: i0.NgModule,
3751
- args: [{
3752
- declarations: [AvatarComponent],
3753
- imports: [
3754
- i4.CommonModule,
3755
- PipesModule
3756
- ],
3757
- exports: [
3758
- AvatarComponent
3759
- ]
3760
- }]
3761
- }] });
3762
-
3763
- /**
3764
- * A reusable card component to display various types of contents
3765
- *
3766
- * ![Screenshot-1](../screenshots/card.png)
3767
- * @title
3768
- * Card
3769
- * @example
3770
- *
3771
- * <app-card>
3772
- * <h3 class="title">
3773
- * Card title
3774
- * </h3>
3775
- * <div class="my-toolbar">
3776
- * <button class="btn-primary"> Action Button </button>
3777
- * </div>
3778
- * <div class="body">
3779
- * </div>
3780
- * </app-card>
3781
- */
3782
- var CardComponent = /** @class */ (function () {
3783
- /** enable/disable shadow */
3784
- function CardComponent() {
3785
- /** card has no body */
3786
- this.noBody = false;
3787
- /** is card dark */
3788
- this.dark = false;
3926
+ * @example
3927
+ *
3928
+ * <cts-avatar [user]="user"></cts-avatar>
3929
+ */
3930
+ var AvatarComponent = /** @class */ (function () {
3931
+ function AvatarComponent() {
3789
3932
  }
3790
- CardComponent.prototype.ngOnInit = function () { };
3791
- 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;
3792
3959
  }());
3793
- CardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3794
- 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 });
3795
- 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: [{
3796
3963
  type: i0.Component,
3797
3964
  args: [{
3798
- selector: 'app-card',
3799
- templateUrl: './card.component.html',
3800
- styleUrls: ['./card.component.scss'],
3801
- encapsulation: i0.ViewEncapsulation.None,
3965
+ selector: 'cts-avatar',
3966
+ templateUrl: './avatar.component.html',
3967
+ styleUrls: ['./avatar.component.scss']
3802
3968
  }]
3803
- }], ctorParameters: function () { return []; }, propDecorators: { noBody: [{
3804
- type: i0.Input
3805
- }], dark: [{
3969
+ }], ctorParameters: function () { return []; }, propDecorators: { user: [{
3806
3970
  type: i0.Input
3807
3971
  }] } });
3808
3972
 
3809
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
+ * ~~~
3810
3983
  * @title
3811
- * 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
+ * ...
3812
3992
  */
3813
- var CardModule = /** @class */ (function () {
3814
- function CardModule() {
3815
- }
3816
- return CardModule;
3817
- }());
3818
- CardModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3819
- 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] });
3820
- CardModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, providers: [], imports: [[i4.CommonModule]] });
3821
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CardModule, decorators: [{
3822
- type: i0.NgModule,
3823
- args: [{
3824
- declarations: [CardComponent],
3825
- imports: [i4.CommonModule],
3826
- exports: [CardComponent],
3827
- providers: [],
3828
- }]
3829
- }] });
3830
-
3831
- /** @ignore */
3832
- var ClickOutsideDirective = /** @class */ (function () {
3833
- function ClickOutsideDirective(elementRef) {
3834
- this.elementRef = elementRef;
3835
- 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
+ }
3836
4010
  }
3837
- ClickOutsideDirective.prototype.onClick = function (target) {
3838
- var clickedInside = this.elementRef.nativeElement.contains(target);
3839
- if (!clickedInside) {
3840
- 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;
3841
4028
  }
3842
4029
  };
3843
- return ClickOutsideDirective;
4030
+ /** @ignore */
4031
+ LocalizedDatePipe.prototype.ngOnDestroy = function () {
4032
+ this.onDestroy$.next(true);
4033
+ this.onDestroy$.complete();
4034
+ };
4035
+ return LocalizedDatePipe;
3844
4036
  }());
3845
- 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 });
3846
- 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 });
3847
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ClickOutsideDirective, decorators: [{
3848
- 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,
3849
4043
  args: [{
3850
- selector: '[clickOutside]'
4044
+ name: 'localizedDate',
4045
+ pure: false
3851
4046
  }]
3852
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { clickOutside: [{
3853
- type: i0.Output
3854
- }], onClick: [{
3855
- type: i0.HostListener,
3856
- args: ['window:click', ['$event.target']]
3857
- }] } });
4047
+ }], ctorParameters: function () { return [{ type: UserPreferencesService }]; } });
3858
4048
 
3859
- /** @ignore */
3860
- var SetRtlDirective = /** @class */ (function () {
3861
- function SetRtlDirective(elRef, renderer, translation) {
3862
- this.elRef = elRef;
3863
- this.renderer = renderer;
3864
- this.translation = translation;
3865
- 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;
3866
4063
  }
3867
- /*Switch rtl class based on the chosen language from Translation Service*/
3868
- SetRtlDirective.prototype.switchClassBasedOnLanguage = function () {
3869
- var _this = this;
3870
- this.translation.isArabic.subscribe(function (arabic) {
3871
- arabic
3872
- ? _this.renderer.addClass(_this.elRef.nativeElement, 'rtl')
3873
- : _this.renderer.removeClass(_this.elRef.nativeElement, 'rtl');
3874
- });
4064
+ /**
4065
+ *
4066
+ * @param value HTML String
4067
+ * @returns Safe HTML
4068
+ */
4069
+ SafeHtmlPipe.prototype.transform = function (value) {
4070
+ return this.sanitized.bypassSecurityTrustHtml(value);
3875
4071
  };
3876
- return SetRtlDirective;
4072
+ return SafeHtmlPipe;
3877
4073
  }());
3878
- 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 });
3879
- SetRtlDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SetRtlDirective, selector: "[SetRtl]", ngImport: i0__namespace });
3880
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetRtlDirective, decorators: [{
3881
- type: i0.Directive,
3882
- args: [{
3883
- selector: '[SetRtl]',
3884
- }]
3885
- }], 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 }]; } });
3886
4080
 
3887
- var EvaluatorsService = /** @class */ (function () {
3888
- 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) {
3889
4094
  var _this = this;
3890
- this.nuxeoService = nuxeoService;
3891
- this.appConfigService = appConfigService;
3892
- this.context = { entity: null, getEvaluator: null, user: null };
3893
- this.asyncEvery = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
3894
- var arr_1, arr_1_1, e, e_1_1;
3895
- var e_1, _j;
3896
- return __generator(this, function (_k) {
3897
- switch (_k.label) {
3898
- case 0:
3899
- _k.trys.push([0, 5, 6, 7]);
3900
- arr_1 = __values(arr), arr_1_1 = arr_1.next();
3901
- _k.label = 1;
3902
- case 1:
3903
- if (!!arr_1_1.done) return [3 /*break*/, 4];
3904
- e = arr_1_1.value;
3905
- return [4 /*yield*/, predicate(e)];
3906
- case 2:
3907
- if (!(_k.sent())) {
3908
- return [2 /*return*/, false];
3909
- }
3910
- _k.label = 3;
3911
- case 3:
3912
- arr_1_1 = arr_1.next();
3913
- return [3 /*break*/, 1];
3914
- case 4: return [3 /*break*/, 7];
3915
- case 5:
3916
- e_1_1 = _k.sent();
3917
- e_1 = { error: e_1_1 };
3918
- return [3 /*break*/, 7];
3919
- case 6:
3920
- try {
3921
- if (arr_1_1 && !arr_1_1.done && (_j = arr_1.return)) _j.call(arr_1);
3922
- }
3923
- finally { if (e_1) throw e_1.error; }
3924
- return [7 /*endfinally*/];
3925
- case 7: return [2 /*return*/, true];
3926
- }
3927
- });
3928
- }); };
3929
- this.asyncSome = function (arr, predicate) { return __awaiter(_this, void 0, void 0, function () {
3930
- var arr_2, arr_2_1, e, e_2_1;
3931
- var e_2, _j;
3932
- return __generator(this, function (_k) {
3933
- switch (_k.label) {
3934
- case 0:
3935
- _k.trys.push([0, 5, 6, 7]);
3936
- arr_2 = __values(arr), arr_2_1 = arr_2.next();
3937
- _k.label = 1;
3938
- case 1:
3939
- if (!!arr_2_1.done) return [3 /*break*/, 4];
3940
- e = arr_2_1.value;
3941
- return [4 /*yield*/, predicate(e)];
3942
- case 2:
3943
- if (_k.sent()) {
3944
- return [2 /*return*/, true];
3945
- }
3946
- _k.label = 3;
3947
- case 3:
3948
- arr_2_1 = arr_2.next();
3949
- return [3 /*break*/, 1];
3950
- case 4: return [3 /*break*/, 7];
3951
- case 5:
3952
- e_2_1 = _k.sent();
3953
- e_2 = { error: e_2_1 };
3954
- return [3 /*break*/, 7];
3955
- case 6:
3956
- try {
3957
- if (arr_2_1 && !arr_2_1.done && (_j = arr_2.return)) _j.call(arr_2);
3958
- }
3959
- finally { if (e_2) throw e_2.error; }
3960
- return [7 /*endfinally*/];
3961
- case 7: return [2 /*return*/, false];
3962
- }
3963
- });
3964
- }); };
3965
- // tslint:disable-next-line:member-ordering
3966
- this.evaluators = {
3967
- AND: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
3968
- var _this = this;
3969
- return __generator(this, function (_j) {
3970
- switch (_j.label) {
3971
- case 0:
3972
- if (!args || args.length === 0) {
3973
- return [2 /*return*/, false];
3974
- }
3975
- return [4 /*yield*/, this.asyncEvery(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
3976
- var evaluator;
3977
- return __generator(this, function (_j) {
3978
- switch (_j.label) {
3979
- case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
3980
- case 1:
3981
- evaluator = _j.sent();
3982
- if (!evaluator) {
3983
- console.warn("evaluator not found: " + arg.value);
3984
- return [2 /*return*/, false];
3985
- }
3986
- return [4 /*yield*/, evaluator(context, arg.parameters || [])];
3987
- case 2: return [2 /*return*/, _j.sent()];
3988
- }
3989
- });
3990
- }); })];
3991
- case 1: return [2 /*return*/, _j.sent()];
3992
- }
3993
- });
3994
- }); },
3995
- OR: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
3996
- var _this = this;
3997
- return __generator(this, function (_j) {
3998
- switch (_j.label) {
3999
- case 0:
4000
- if (!args || args.length === 0) {
4001
- return [2 /*return*/, false];
4002
- }
4003
- return [4 /*yield*/, this.asyncSome(args, function (arg) { return __awaiter(_this, void 0, void 0, function () {
4004
- var evaluator, res;
4005
- return __generator(this, function (_j) {
4006
- switch (_j.label) {
4007
- case 0: return [4 /*yield*/, context.getEvaluator(arg.value)];
4008
- case 1:
4009
- evaluator = _j.sent();
4010
- if (!evaluator) {
4011
- console.warn("evaluator not found: " + arg.value);
4012
- return [2 /*return*/, false];
4013
- }
4014
- return [4 /*yield*/, evaluator(context, arg.parameters || [])];
4015
- case 2:
4016
- res = _j.sent();
4017
- return [2 /*return*/, res];
4018
- }
4019
- });
4020
- }); })];
4021
- case 1: return [2 /*return*/, _j.sent()];
4022
- }
4023
- });
4024
- }); },
4025
- isStatus: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4026
- return __generator(this, function (_j) {
4027
- if (args.indexOf(context.entity.state) > -1) {
4028
- return [2 /*return*/, true];
4029
- }
4030
- else {
4031
- return [2 /*return*/, false];
4032
- }
4033
- return [2 /*return*/];
4034
- });
4035
- }); },
4036
- isCreator: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4037
- var _a, _b, _c, _d, _e, _f, _g, _h, owner;
4038
- return __generator(this, function (_j) {
4039
- if ((_b = (_a = context.entity.properties.owner) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.username) {
4040
- owner = (_d = (_c = context.entity.properties.owner) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.username;
4041
- }
4042
- 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) {
4043
- owner = (_h = (_g = context.entity.properties["corr:owner"]) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.username;
4044
- }
4045
- else if (context.entity.properties.owner) {
4046
- owner = context.entity.properties.owner;
4047
- }
4048
- else if (context.entity.properties["corr:owner"]) {
4049
- owner = context.entity.properties["corr:owner"];
4050
- }
4051
- if (owner === context.user.properties.username) {
4052
- return [2 /*return*/, true];
4053
- }
4054
- else {
4055
- return [2 /*return*/, false];
4056
- }
4057
- return [2 /*return*/];
4058
- });
4059
- }); },
4060
- isUserInrole: function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4061
- var result;
4062
- return __generator(this, function (_j) {
4063
- switch (_j.label) {
4064
- case 0: return [4 /*yield*/, this.nuxeoService
4065
- .isUserInRole(args, "")
4066
- .pipe(operators.first())
4067
- .toPromise()];
4068
- case 1:
4069
- result = _j.sent();
4070
- return [2 /*return*/, result];
4071
- }
4072
- });
4073
- }); },
4074
- };
4075
- this.getEvaluator = function (key) { return __awaiter(_this, void 0, void 0, function () {
4076
- var eva, fn_1;
4077
- var _this = this;
4078
- return __generator(this, function (_j) {
4079
- eva = this.evaluators;
4080
- if (key && key.startsWith("!")) {
4081
- fn_1 = eva[key.substring(1)];
4082
- return [2 /*return*/, function (context, args) { return __awaiter(_this, void 0, void 0, function () {
4083
- var result;
4084
- return __generator(this, function (_j) {
4085
- switch (_j.label) {
4086
- case 0: return [4 /*yield*/, fn_1.apply(void 0, __spreadArray([context], __read(args)))];
4087
- case 1:
4088
- result = _j.sent();
4089
- return [2 /*return*/, !result];
4090
- }
4091
- });
4092
- }); }];
4093
- }
4094
- return [2 /*return*/, eva[key]];
4095
- });
4096
- }); };
4097
- this.appConfigService.configLoaded.subscribe(function (ready) {
4098
- if (ready) {
4099
- _this.conditions = _this.getAllRules();
4100
- }
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;
4101
4102
  });
4103
+ this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;
4102
4104
  }
4103
- EvaluatorsService.prototype.setEvaluators = function (evaluators) {
4104
- this.evaluators = Object.assign(Object.assign({}, this.evaluators), evaluators);
4105
- };
4106
- EvaluatorsService.prototype.getEvaluators = function () {
4107
- return this.evaluators;
4108
- };
4109
- // ----------------------------------------------------
4110
- EvaluatorsService.prototype.evaluateRule = function (ruleId, context) {
4111
- return __awaiter(this, void 0, void 0, function () {
4112
- var ruleRef, evaluator, evaluator;
4113
- return __generator(this, function (_j) {
4114
- switch (_j.label) {
4115
- case 0:
4116
- ruleRef = this.getRuleById(ruleId);
4117
- context = context || this.context;
4118
- context["getEvaluator"] = this.getEvaluator;
4119
- if (!ruleRef) return [3 /*break*/, 4];
4120
- return [4 /*yield*/, this.getEvaluator(ruleRef.type)];
4121
- case 1:
4122
- evaluator = _j.sent();
4123
- if (!evaluator) return [3 /*break*/, 3];
4124
- return [4 /*yield*/, evaluator(context, ruleRef.parameters)];
4125
- case 2: return [2 /*return*/, _j.sent()];
4126
- case 3: return [3 /*break*/, 7];
4127
- case 4: return [4 /*yield*/, this.getEvaluator(ruleId)];
4128
- case 5:
4129
- evaluator = _j.sent();
4130
- if (!evaluator) return [3 /*break*/, 7];
4131
- return [4 /*yield*/, evaluator(context)];
4132
- case 6: return [2 /*return*/, _j.sent()];
4133
- case 7: return [2 /*return*/];
4134
- }
4135
- });
4136
- });
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 '';
4137
4125
  };
4138
- EvaluatorsService.prototype.getRuleById = function (id) {
4139
- 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();
4140
4130
  };
4141
- EvaluatorsService.prototype.getAllRules = function () {
4142
- 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;
4143
4177
  };
4144
- return EvaluatorsService;
4178
+ return MultiValuePipe;
4145
4179
  }());
4146
- 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 });
4147
- EvaluatorsServiceprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, providedIn: "root" });
4148
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EvaluatorsService, decorators: [{
4149
- type: i0.Injectable,
4150
- args: [{ providedIn: "root" }]
4151
- }], 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
+ }] });
4152
4187
 
4153
4188
  /**
4154
- * Permission directive shows or hides an element,
4155
- * based on a predefined structured condition object in the [conditions.json]{@link ../additional-documentation/conditions-file.html} file.
4156
- * it will evaluate the rule and shows or hides an element based on the result.
4157
- * this directive can evaluate rules against a document object as well,
4158
- * check [conditions.json]{@link ../additional-documentation/conditions-file.html} for more information
4159
- * @example
4160
- * <div *permission="{ name: 'conditionKey', entity: nuxeoDocumentObject }">
4161
- * Element with permissions
4162
- * </duv>
4163
- * <div *permission="{ name: 'conditionKey2' }">
4164
- * Element with permissions 2
4165
- * </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
+ * ~~~
4166
4196
  * @title
4167
- * Permission
4197
+ * File Size
4198
+ *
4199
+ * @example
4200
+ * ...
4201
+ * constructor(... private FileSizePipe: fileSizePiple ...){
4202
+ * const sizeString = this.fileSizePiple.transform(sizeInBytes);
4203
+ * }
4204
+ * ...
4168
4205
  */
4169
- var PermissionsDirective = /** @class */ (function () {
4170
- function PermissionsDirective(nuxeoService, eltRef, viewContainerRef, templateRef, appConfigService, evaluatorsService) {
4171
- this.nuxeoService = nuxeoService;
4172
- this.eltRef = eltRef;
4173
- this.viewContainerRef = viewContainerRef;
4174
- this.templateRef = templateRef;
4175
- this.appConfigService = appConfigService;
4176
- this.evaluatorsService = evaluatorsService;
4177
- this.isVisible = false;
4178
- this.context = { entity: null, getEvaluator: null, user: null };
4206
+ var FileSizePipe = /** @class */ (function () {
4207
+ function FileSizePipe(translation) {
4208
+ this.translation = translation;
4179
4209
  }
4180
- PermissionsDirective.prototype.ngOnInit = function () {
4181
- var _this = this;
4182
- this.context.getEvaluator = this.evaluatorsService.getEvaluator;
4183
- if (!this.permission.name) {
4184
- if (!this.isVisible) {
4185
- this.isVisible = true;
4186
- this.viewContainerRef.createEmbeddedView(this.templateRef);
4187
- }
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 '';
4188
4220
  }
4189
- else {
4190
- this.context.entity = this.permission.entity;
4191
- this.context.user = this.permission.user || this.nuxeoService.nuxeoClient.user;
4192
- this.evaluatorsService.evaluateRule(this.permission.name, this.context).then(function (result) {
4193
- if (result) {
4194
- if (!_this.isVisible) {
4195
- _this.isVisible = true;
4196
- _this.viewContainerRef.createEmbeddedView(_this.templateRef);
4197
- }
4198
- }
4199
- else {
4200
- _this.isVisible = false;
4201
- _this.viewContainerRef.clear();
4202
- }
4203
- });
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');
4204
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;
4205
4231
  };
4206
- return PermissionsDirective;
4232
+ return FileSizePipe;
4207
4233
  }());
4208
- 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 });
4209
- PermissionsDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsDirective, selector: "[permission]", inputs: { permission: "permission" }, ngImport: i0__namespace });
4210
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PermissionsDirective, decorators: [{
4211
- 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,
4212
4238
  args: [{
4213
- selector: '[permission]'
4239
+ name: 'FileSize',
4240
+ pure: false
4214
4241
  }]
4215
- }], ctorParameters: function () { return [{ type: NuxeoService }, { type: i0__namespace.ElementRef }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: AppConfigService }, { type: EvaluatorsService }]; }, propDecorators: { permission: [{
4216
- type: i0.Input
4217
- }] } });
4242
+ }], ctorParameters: function () { return [{ type: TranslationService }]; } });
4218
4243
 
4219
- /** @ignore */
4220
- var SetDirRtlDirective = /** @class */ (function () {
4221
- function SetDirRtlDirective(elRef, renderer, translation) {
4222
- this.elRef = elRef;
4223
- this.renderer = renderer;
4224
- this.translation = translation;
4225
- 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";
4226
4265
  }
4227
- SetDirRtlDirective.prototype.switchDirBasedOnLanguage = function () {
4228
- var _this = this;
4229
- this.translation.isArabic.subscribe(function (arabic) {
4230
- arabic
4231
- ? _this.renderer.setAttribute(_this.elRef.nativeElement, 'dir', 'rtl')
4232
- : _this.renderer.setAttribute(_this.elRef.nativeElement, 'dir', 'ltr');
4233
- });
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");
4234
4276
  };
4235
- return SetDirRtlDirective;
4277
+ return HijriDatePipe;
4236
4278
  }());
4237
- 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 });
4238
- SetDirRtlDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SetDirRtlDirective, selector: "[SetDirRtl]", ngImport: i0__namespace });
4239
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SetDirRtlDirective, decorators: [{
4240
- 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,
4241
4283
  args: [{
4242
- selector: '[SetDirRtl]',
4284
+ name: 'hijriDate'
4243
4285
  }]
4244
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: TranslationService }]; } });
4286
+ }] });
4245
4287
 
4246
- var AppHasRoleDirective = /** @class */ (function () {
4247
- function AppHasRoleDirective(viewContainerRef, templateRef, nuxeoService) {
4248
- this.viewContainerRef = viewContainerRef;
4249
- this.templateRef = templateRef;
4250
- this.nuxeoService = nuxeoService;
4251
- this.stop$ = new rxjs.Subject();
4252
- this.isVisible = false;
4288
+ /**
4289
+ * @title
4290
+ * Pipes Module
4291
+ */
4292
+ var PipesModule = /** @class */ (function () {
4293
+ function PipesModule() {
4253
4294
  }
4254
- AppHasRoleDirective.prototype.ngOnInit = function () {
4255
- var _this = this;
4256
- var _a;
4257
- if ((_a = this.appHasRole) === null || _a === void 0 ? void 0 : _a.role) {
4258
- this.nuxeoService.isUserInRole(this.appHasRole.role, this.appHasRole.code).subscribe(function (data) {
4259
- if (data || !_this.appHasRole) {
4260
- // If it is already visible (which can happen if
4261
- // his roles changed) we do not need to add it a second time
4262
- if (!_this.isVisible) {
4263
- // We update the `isVisible` property and add the
4264
- // templateRef to the view using the
4265
- // 'createEmbeddedView' method of the viewContainerRef
4266
- _this.isVisible = true;
4267
- _this.viewContainerRef.createEmbeddedView(_this.templateRef);
4268
- }
4269
- }
4270
- else {
4271
- // If the user does not have the role,
4272
- // we update the `isVisible` property and clear
4273
- // the contents of the viewContainerRef
4274
- _this.isVisible = false;
4275
- _this.viewContainerRef.clear();
4276
- }
4277
- });
4278
- }
4279
- else {
4280
- if (!this.isVisible) {
4281
- // We update the `isVisible` property and add the
4282
- // templateRef to the view using the
4283
- // 'createEmbeddedView' method of the viewContainerRef
4284
- this.isVisible = true;
4285
- this.viewContainerRef.createEmbeddedView(this.templateRef);
4286
- }
4287
- }
4288
- };
4289
- AppHasRoleDirective.prototype.ngOnChanges = function () {
4290
- this.ngOnInit();
4291
- };
4292
- return AppHasRoleDirective;
4295
+ return PipesModule;
4293
4296
  }());
4294
- 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 });
4295
- AppHasRoleDirectivedir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AppHasRoleDirective, selector: "[appHasRole]", inputs: { appHasRole: "appHasRole" }, usesOnChanges: true, ngImport: i0__namespace });
4296
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AppHasRoleDirective, decorators: [{
4297
- 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,
4298
4302
  args: [{
4299
- 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],
4300
4307
  }]
4301
- }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: NuxeoService }]; }, propDecorators: { appHasRole: [{
4302
- type: i0.Input
4303
- }] } });
4308
+ }] });
4304
4309
 
4305
- var DragAndDropDirective = /** @class */ (function () {
4306
- function DragAndDropDirective() {
4307
- this.fileDroped = new i0.EventEmitter();
4310
+ /**
4311
+ * @title
4312
+ * Avatar Module
4313
+ */
4314
+ var AvatarModule = /** @class */ (function () {
4315
+ function AvatarModule() {
4308
4316
  }
4309
- DragAndDropDirective.prototype.onDragOver = function (evt) {
4310
- evt.preventDefault();
4311
- evt.stopPropagation();
4312
- };
4313
- DragAndDropDirective.prototype.onDragLeave = function (evt) {
4314
- evt.preventDefault();
4315
- evt.stopPropagation();
4316
- };
4317
- DragAndDropDirective.prototype.onDrop = function (evt) {
4318
- var e_1, _a;
4319
- var files = [];
4320
- evt.preventDefault();
4321
- evt.stopPropagation();
4322
- if (evt.dataTransfer.files.length) {
4323
- try {
4324
- for (var _b = __values(evt.dataTransfer.files), _c = _b.next(); !_c.done; _c = _b.next()) {
4325
- var file = _c.value;
4326
- files.push(file);
4327
- }
4328
- }
4329
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
4330
- finally {
4331
- try {
4332
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
4333
- }
4334
- finally { if (e_1) throw e_1.error; }
4335
- }
4336
- this.fileDroped.emit(files);
4337
- }
4338
- };
4339
- return DragAndDropDirective;
4317
+ return AvatarModule;
4340
4318
  }());
4341
- DragAndDropDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
4342
- 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 });
4343
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DragAndDropDirective, decorators: [{
4344
- 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,
4345
4328
  args: [{
4346
- selector: '[appDragAndDrop]'
4329
+ declarations: [AvatarComponent],
4330
+ imports: [
4331
+ i4.CommonModule,
4332
+ PipesModule
4333
+ ],
4334
+ exports: [
4335
+ AvatarComponent
4336
+ ]
4347
4337
  }]
4348
- }], ctorParameters: function () { return []; }, propDecorators: { fileDroped: [{
4349
- type: i0.Output
4350
- }], onDragOver: [{
4351
- type: i0.HostListener,
4352
- args: ['dragover', ['$event']]
4353
- }], onDragLeave: [{
4354
- type: i0.HostListener,
4355
- args: ['dragleave', ['$event']]
4356
- }], onDrop: [{
4357
- type: i0.HostListener,
4358
- 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
4359
4384
  }] } });
4360
4385
 
4361
4386
  /**
4362
4387
  * @title
4363
- * Directives Module
4388
+ * Card Module
4364
4389
  */
4365
- var DirectiveModule = /** @class */ (function () {
4366
- function DirectiveModule() {
4390
+ var CardModule = /** @class */ (function () {
4391
+ function CardModule() {
4367
4392
  }
4368
- return DirectiveModule;
4393
+ return CardModule;
4369
4394
  }());
4370
- DirectiveModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
4371
- DirectiveModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, declarations: [ClickOutsideDirective,
4372
- SetRtlDirective,
4373
- PermissionsDirective,
4374
- SetDirRtlDirective,
4375
- AppHasRoleDirective,
4376
- DragAndDropDirective], imports: [i4.CommonModule], exports: [ClickOutsideDirective,
4377
- SetRtlDirective,
4378
- PermissionsDirective,
4379
- SetDirRtlDirective,
4380
- AppHasRoleDirective,
4381
- DragAndDropDirective] });
4382
- DirectiveModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DirectiveModule, providers: [], imports: [[i4.CommonModule]] });
4383
- 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: [{
4384
4399
  type: i0.NgModule,
4385
4400
  args: [{
4386
- declarations: [
4387
- ClickOutsideDirective,
4388
- SetRtlDirective,
4389
- PermissionsDirective,
4390
- SetDirRtlDirective,
4391
- AppHasRoleDirective,
4392
- DragAndDropDirective
4393
- ],
4401
+ declarations: [CardComponent],
4394
4402
  imports: [i4.CommonModule],
4395
- exports: [
4396
- ClickOutsideDirective,
4397
- SetRtlDirective,
4398
- PermissionsDirective,
4399
- SetDirRtlDirective,
4400
- AppHasRoleDirective,
4401
- DragAndDropDirective
4402
- ],
4403
- providers: []
4403
+ exports: [CardComponent],
4404
+ providers: [],
4404
4405
  }]
4405
4406
  }] });
4406
4407
 
@@ -4822,7 +4823,7 @@
4822
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 });
4823
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,
4824
4825
  i4.CommonModule,
4825
- i1$4.RouterModule,
4826
+ i1$3.RouterModule,
4826
4827
  i1$1.TranslateModule,
4827
4828
  i8.MatProgressSpinnerModule,
4828
4829
  i2$1.MatIconModule,
@@ -4839,7 +4840,7 @@
4839
4840
  LibrarySharedModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LibrarySharedModule, imports: [[
4840
4841
  AvatarModule,
4841
4842
  i4.CommonModule,
4842
- i1$4.RouterModule,
4843
+ i1$3.RouterModule,
4843
4844
  i1$1.TranslateModule,
4844
4845
  i8.MatProgressSpinnerModule,
4845
4846
  i2$1.MatIconModule,
@@ -4855,7 +4856,7 @@
4855
4856
  imports: [
4856
4857
  AvatarModule,
4857
4858
  i4.CommonModule,
4858
- i1$4.RouterModule,
4859
+ i1$3.RouterModule,
4859
4860
  i1$1.TranslateModule,
4860
4861
  i8.MatProgressSpinnerModule,
4861
4862
  i2$1.MatIconModule,
@@ -5014,7 +5015,7 @@
5014
5015
  };
5015
5016
  return EditDeleteModalComponent;
5016
5017
  }());
5017
- 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 });
5018
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 } });
5019
5020
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditDeleteModalComponent, decorators: [{
5020
5021
  type: i0.Component,
@@ -5026,7 +5027,7 @@
5026
5027
  }], ctorParameters: function () {
5027
5028
  return [{ type: undefined, decorators: [{
5028
5029
  type: i0.Inject,
5029
- args: [i1$3.MAT_DIALOG_DATA]
5030
+ args: [i1$4.MAT_DIALOG_DATA]
5030
5031
  }] }, { type: i1__namespace$1.ToastrService }, { type: CommentApiService }, { type: NuxeoService }, { type: i1__namespace$3.MatDialogRef }];
5031
5032
  } });
5032
5033
 
@@ -5368,7 +5369,7 @@
5368
5369
  };
5369
5370
  return ConfirmCallerDialogComponent;
5370
5371
  }());
5371
- 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 });
5372
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 });
5373
5374
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerDialogComponent, decorators: [{
5374
5375
  type: i0.Component,
@@ -5381,7 +5382,7 @@
5381
5382
  }], ctorParameters: function () {
5382
5383
  return [{ type: undefined, decorators: [{
5383
5384
  type: i0.Inject,
5384
- args: [i1$3.MAT_DIALOG_DATA]
5385
+ args: [i1$4.MAT_DIALOG_DATA]
5385
5386
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: CustomToastrService }];
5386
5387
  } });
5387
5388
 
@@ -5395,7 +5396,7 @@
5395
5396
  };
5396
5397
  return ConfirmDialogComponent;
5397
5398
  }());
5398
- 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 });
5399
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 } });
5400
5401
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmDialogComponent, decorators: [{
5401
5402
  type: i0.Component,
@@ -5407,7 +5408,7 @@
5407
5408
  }], ctorParameters: function () {
5408
5409
  return [{ type: undefined, decorators: [{
5409
5410
  type: i0.Inject,
5410
- args: [i1$3.MAT_DIALOG_DATA]
5411
+ args: [i1$4.MAT_DIALOG_DATA]
5411
5412
  }] }, { type: i1__namespace$3.MatDialogRef }];
5412
5413
  } });
5413
5414
 
@@ -5421,13 +5422,13 @@
5421
5422
  return ConfirmCallerModule;
5422
5423
  }());
5423
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 });
5424
- 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] });
5425
- 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] });
5426
5427
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmCallerModule, decorators: [{
5427
5428
  type: i0.NgModule,
5428
5429
  args: [{
5429
5430
  declarations: [ConfirmCallerDialogComponent, ConfirmDialogComponent],
5430
- 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],
5431
5432
  exports: [i1$1.TranslateModule, ConfirmCallerDialogComponent, ConfirmDialogComponent],
5432
5433
  providers: [],
5433
5434
  }]
@@ -5445,7 +5446,7 @@
5445
5446
  };
5446
5447
  return ConfirmationDialogComponent;
5447
5448
  }());
5448
- 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 });
5449
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 } });
5450
5451
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogComponent, decorators: [{
5451
5452
  type: i0.Component,
@@ -5457,7 +5458,7 @@
5457
5458
  }], ctorParameters: function () {
5458
5459
  return [{ type: undefined, decorators: [{
5459
5460
  type: i0.Inject,
5460
- args: [i1$3.MAT_DIALOG_DATA]
5461
+ args: [i1$4.MAT_DIALOG_DATA]
5461
5462
  }] }, { type: i1__namespace$3.MatDialogRef }];
5462
5463
  } });
5463
5464
 
@@ -6162,7 +6163,7 @@
6162
6163
  };
6163
6164
  return CorrespondenceRelationCreateFormComponent;
6164
6165
  }());
6165
- 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 });
6166
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 });
6167
6168
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CorrespondenceRelationCreateFormComponent, decorators: [{
6168
6169
  type: i0.Component,
@@ -6175,7 +6176,7 @@
6175
6176
  }], ctorParameters: function () {
6176
6177
  return [{ type: i6__namespace.FormBuilder }, { type: CorrespondenceRelationService }, { type: CustomToastrService }, { type: i1__namespace$3.MatDialogRef }, { type: undefined, decorators: [{
6177
6178
  type: i0.Inject,
6178
- args: [i1$3.MAT_DIALOG_DATA]
6179
+ args: [i1$4.MAT_DIALOG_DATA]
6179
6180
  }] }];
6180
6181
  }, propDecorators: { auto: [{
6181
6182
  type: i0.ViewChild,
@@ -6707,7 +6708,7 @@
6707
6708
  };
6708
6709
  else
6709
6710
  data = { exist_relations_list: [] };
6710
- var dialogConfig = new i1$3.MatDialogConfig();
6711
+ var dialogConfig = new i1$4.MatDialogConfig();
6711
6712
  dialogConfig.data = data;
6712
6713
  dialogConfig.direction =
6713
6714
  this.userPreference.locale === 'ar' ? 'rtl' : 'ltr';
@@ -9946,7 +9947,7 @@
9946
9947
  };
9947
9948
  return DepartmentFormComponent;
9948
9949
  }());
9949
- 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 });
9950
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 } });
9951
9952
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DepartmentFormComponent, decorators: [{
9952
9953
  type: i0.Component,
@@ -9958,7 +9959,7 @@
9958
9959
  }], ctorParameters: function () {
9959
9960
  return [{ type: undefined, decorators: [{
9960
9961
  type: i0.Inject,
9961
- args: [i1$3.MAT_DIALOG_DATA]
9962
+ args: [i1$4.MAT_DIALOG_DATA]
9962
9963
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: CustomToastrService }, { type: DepartmentApiService }];
9963
9964
  } });
9964
9965
 
@@ -12890,7 +12891,7 @@
12890
12891
  i1$1.TranslateModule,
12891
12892
  i6$1.AutocompleteLibModule,
12892
12893
  i3$2.FormioModule,
12893
- i1$3.MatDialogModule,
12894
+ i1$4.MatDialogModule,
12894
12895
  PipesModule], exports: [TreeviewSelectComponent,
12895
12896
  DynamicFormDepartmentComponent,
12896
12897
  DynamicFormComponent,
@@ -12942,7 +12943,7 @@
12942
12943
  i1$1.TranslateModule,
12943
12944
  i6$1.AutocompleteLibModule,
12944
12945
  i3$2.FormioModule,
12945
- i1$3.MatDialogModule,
12946
+ i1$4.MatDialogModule,
12946
12947
  PipesModule
12947
12948
  ], i1$1.TranslateModule] });
12948
12949
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicFormModule, decorators: [{
@@ -12975,7 +12976,7 @@
12975
12976
  i1$1.TranslateModule,
12976
12977
  i6$1.AutocompleteLibModule,
12977
12978
  i3$2.FormioModule,
12978
- i1$3.MatDialogModule,
12979
+ i1$4.MatDialogModule,
12979
12980
  PipesModule
12980
12981
  ],
12981
12982
  declarations: [
@@ -15534,7 +15535,7 @@
15534
15535
  i1$1.TranslateModule,
15535
15536
  i6.FormsModule,
15536
15537
  i6.ReactiveFormsModule,
15537
- i1$3.MatDialogModule,
15538
+ i1$4.MatDialogModule,
15538
15539
  DynamicSearchModule,
15539
15540
  i2$1.MatIconModule,
15540
15541
  i5.NgSelectModule,
@@ -15555,7 +15556,7 @@
15555
15556
  i1$1.TranslateModule,
15556
15557
  i6.FormsModule,
15557
15558
  i6.ReactiveFormsModule,
15558
- i1$3.MatDialogModule,
15559
+ i1$4.MatDialogModule,
15559
15560
  DynamicSearchModule,
15560
15561
  i2$1.MatIconModule,
15561
15562
  i5.NgSelectModule,
@@ -15587,7 +15588,7 @@
15587
15588
  i1$1.TranslateModule,
15588
15589
  i6.FormsModule,
15589
15590
  i6.ReactiveFormsModule,
15590
- i1$3.MatDialogModule,
15591
+ i1$4.MatDialogModule,
15591
15592
  DynamicSearchModule,
15592
15593
  i2$1.MatIconModule,
15593
15594
  i5.NgSelectModule,
@@ -17697,11 +17698,11 @@
17697
17698
  i1$1.TranslateModule,
17698
17699
  PaginationModule,
17699
17700
  ConfirmCallerModule,
17700
- i1$4.RouterModule,
17701
+ i1$3.RouterModule,
17701
17702
  i4$3.MatProgressBarModule,
17702
17703
  i8.MatProgressSpinnerModule,
17703
17704
  i2$1.MatIconModule,
17704
- i1$3.MatDialogModule,
17705
+ i1$4.MatDialogModule,
17705
17706
  DirectiveModule,
17706
17707
  i6.FormsModule,
17707
17708
  i6.ReactiveFormsModule,
@@ -17721,11 +17722,11 @@
17721
17722
  i1$1.TranslateModule,
17722
17723
  PaginationModule,
17723
17724
  ConfirmCallerModule,
17724
- i1$4.RouterModule,
17725
+ i1$3.RouterModule,
17725
17726
  i4$3.MatProgressBarModule,
17726
17727
  i8.MatProgressSpinnerModule,
17727
17728
  i2$1.MatIconModule,
17728
- i1$3.MatDialogModule,
17729
+ i1$4.MatDialogModule,
17729
17730
  DirectiveModule,
17730
17731
  i6.FormsModule,
17731
17732
  i6.ReactiveFormsModule,
@@ -17752,11 +17753,11 @@
17752
17753
  i1$1.TranslateModule,
17753
17754
  PaginationModule,
17754
17755
  ConfirmCallerModule,
17755
- i1$4.RouterModule,
17756
+ i1$3.RouterModule,
17756
17757
  i4$3.MatProgressBarModule,
17757
17758
  i8.MatProgressSpinnerModule,
17758
17759
  i2$1.MatIconModule,
17759
- i1$3.MatDialogModule,
17760
+ i1$4.MatDialogModule,
17760
17761
  DirectiveModule,
17761
17762
  i6.FormsModule,
17762
17763
  i6.ReactiveFormsModule,
@@ -22776,7 +22777,7 @@
22776
22777
  };
22777
22778
  return CreateModalComponent;
22778
22779
  }());
22779
- 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 });
22780
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 } });
22781
22782
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, decorators: [{
22782
22783
  type: i0.Component,
@@ -22788,7 +22789,7 @@
22788
22789
  }], ctorParameters: function () {
22789
22790
  return [{ type: undefined, decorators: [{
22790
22791
  type: i0.Inject,
22791
- args: [i1$3.MAT_DIALOG_DATA]
22792
+ args: [i1$4.MAT_DIALOG_DATA]
22792
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: [{
22793
22794
  type: i0.Inject,
22794
22795
  args: ['environment']
@@ -22988,7 +22989,7 @@
22988
22989
  };
22989
22990
  return FolderModalComponent;
22990
22991
  }());
22991
- 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 });
22992
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 } });
22993
22994
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FolderModalComponent, decorators: [{
22994
22995
  type: i0.Component,
@@ -23000,7 +23001,7 @@
23000
23001
  }], ctorParameters: function () {
23001
23002
  return [{ type: undefined, decorators: [{
23002
23003
  type: i0.Inject,
23003
- args: [i1$3.MAT_DIALOG_DATA]
23004
+ args: [i1$4.MAT_DIALOG_DATA]
23004
23005
  }] }, { type: i1__namespace$3.MatDialogRef }, { type: FileManagerService }, { type: DynamicFormService }, { type: TranslationService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }];
23005
23006
  }, propDecorators: { folderForm: [{
23006
23007
  type: i0.ViewChild,
@@ -23521,7 +23522,7 @@
23521
23522
  };
23522
23523
  return PublishDialogComponent;
23523
23524
  }());
23524
- 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 });
23525
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 } });
23526
23527
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PublishDialogComponent, decorators: [{
23527
23528
  type: i0.Component,
@@ -23533,7 +23534,7 @@
23533
23534
  }], ctorParameters: function () {
23534
23535
  return [{ type: PublishingDocumentService }, { type: i1__namespace$3.MatDialogRef }, { type: undefined, decorators: [{
23535
23536
  type: i0.Inject,
23536
- args: [i1$3.MAT_DIALOG_DATA]
23537
+ args: [i1$4.MAT_DIALOG_DATA]
23537
23538
  }] }, { type: CustomToastrService }, { type: i1__namespace.TranslateService }];
23538
23539
  } });
23539
23540
 
@@ -23895,7 +23896,7 @@
23895
23896
  };
23896
23897
  return ScanModalComponent;
23897
23898
  }());
23898
- 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 });
23899
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 } });
23900
23901
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ScanModalComponent, decorators: [{
23901
23902
  type: i0.Component,
@@ -23907,7 +23908,7 @@
23907
23908
  }], ctorParameters: function () {
23908
23909
  return [{ type: undefined, decorators: [{
23909
23910
  type: i0.Inject,
23910
- args: [i1$3.MAT_DIALOG_DATA]
23911
+ args: [i1$4.MAT_DIALOG_DATA]
23911
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: [{
23912
23913
  type: i0.Inject,
23913
23914
  args: ['environment']
@@ -24440,7 +24441,7 @@
24440
24441
  };
24441
24442
  return ShareDialogComponent;
24442
24443
  }());
24443
- 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 });
24444
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 });
24445
24446
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ShareDialogComponent, decorators: [{
24446
24447
  type: i0.Component,
@@ -24453,7 +24454,7 @@
24453
24454
  }], ctorParameters: function () {
24454
24455
  return [{ type: undefined, decorators: [{
24455
24456
  type: i0.Inject,
24456
- args: [i1$3.MAT_DIALOG_DATA]
24457
+ args: [i1$4.MAT_DIALOG_DATA]
24457
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 }];
24458
24459
  } });
24459
24460
 
@@ -24786,7 +24787,7 @@
24786
24787
  };
24787
24788
  return UpdateModalComponent;
24788
24789
  }());
24789
- 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 });
24790
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 } });
24791
24792
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UpdateModalComponent, decorators: [{
24792
24793
  type: i0.Component,
@@ -24798,7 +24799,7 @@
24798
24799
  }], ctorParameters: function () {
24799
24800
  return [{ type: undefined, decorators: [{
24800
24801
  type: i0.Inject,
24801
- args: [i1$3.MAT_DIALOG_DATA]
24802
+ args: [i1$4.MAT_DIALOG_DATA]
24802
24803
  }] }, { type: undefined, decorators: [{
24803
24804
  type: i0.Inject,
24804
24805
  args: ['environment']
@@ -25435,7 +25436,7 @@
25435
25436
  };
25436
25437
  return AddPermissionsDialogComponent;
25437
25438
  }());
25438
- 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 });
25439
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 });
25440
25441
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AddPermissionsDialogComponent, decorators: [{
25441
25442
  type: i0.Component,
@@ -25448,7 +25449,7 @@
25448
25449
  }], ctorParameters: function () {
25449
25450
  return [{ type: i1__namespace$3.MatDialogRef }, { type: PermissionService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }, { type: TranslationService }, { type: undefined, decorators: [{
25450
25451
  type: i0.Inject,
25451
- args: [i1$3.MAT_DIALOG_DATA]
25452
+ args: [i1$4.MAT_DIALOG_DATA]
25452
25453
  }] }];
25453
25454
  } });
25454
25455
 
@@ -25474,7 +25475,7 @@
25474
25475
  };
25475
25476
  PermissionsTemplateComponent.prototype.editPermission = function (permission, username, userVisiblePermissions, begin, end) {
25476
25477
  var _this = this;
25477
- var dialogConfig = new i1$3.MatDialogConfig();
25478
+ var dialogConfig = new i1$4.MatDialogConfig();
25478
25479
  dialogConfig.disableClose = false;
25479
25480
  dialogConfig.autoFocus = true;
25480
25481
  dialogConfig.data = {
@@ -25716,7 +25717,7 @@
25716
25717
  }
25717
25718
  });
25718
25719
  });
25719
- var dialogConfig = new i1$3.MatDialogConfig();
25720
+ var dialogConfig = new i1$4.MatDialogConfig();
25720
25721
  dialogConfig.disableClose = false;
25721
25722
  dialogConfig.autoFocus = true;
25722
25723
  dialogConfig.data = {
@@ -26140,7 +26141,7 @@
26140
26141
  };
26141
26142
  return TemplateModalComponent;
26142
26143
  }());
26143
- 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 });
26144
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 } });
26145
26146
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateModalComponent, decorators: [{
26146
26147
  type: i0.Component,
@@ -26152,7 +26153,7 @@
26152
26153
  }], ctorParameters: function () {
26153
26154
  return [{ type: undefined, decorators: [{
26154
26155
  type: i0.Inject,
26155
- args: [i1$3.MAT_DIALOG_DATA]
26156
+ args: [i1$4.MAT_DIALOG_DATA]
26156
26157
  }] }, { type: UploadManagmentService }, { type: i1__namespace$3.MatDialogRef }, { type: DialogMangmentService }, { type: DynamicFormService }];
26157
26158
  } });
26158
26159
 
@@ -26602,7 +26603,7 @@
26602
26603
  this.callApi = this.injectorObj.get(CallApiService);
26603
26604
  this.shared = this.injectorObj.get(SharedDocsService);
26604
26605
  this.adapter = this.injectorObj.get(AdapterService);
26605
- this.router = this.injectorObj.get(i1$4.Router);
26606
+ this.router = this.injectorObj.get(i1$3.Router);
26606
26607
  this.fileManagerAdapter = this.injectorObj.get(FileManagerAdapter);
26607
26608
  this.translationService = this.injectorObj.get(TranslationService);
26608
26609
  this.customToastrService = this.injectorObj.get(CustomToastrService);
@@ -26610,9 +26611,9 @@
26610
26611
  this.userPreferenceService = this.injectorObj.get(UserPreferencesService);
26611
26612
  this.dialogMangmentService = this.injectorObj.get(DialogMangmentService);
26612
26613
  this.uploadMangmentService = this.injectorObj.get(UploadManagmentService);
26613
- this.dialog = this.injectorObj.get(i1$3.MatDialog);
26614
+ this.dialog = this.injectorObj.get(i1$4.MatDialog);
26614
26615
  this.documentScanService = this.injectorObj.get(DocumentScanService);
26615
- this.route = this.injectorObj.get(i1$4.ActivatedRoute);
26616
+ this.route = this.injectorObj.get(i1$3.ActivatedRoute);
26616
26617
  this.iconService = this.injectorObj.get(IconService);
26617
26618
  this.nuxeoService = this.injectorObj.get(NuxeoService);
26618
26619
  this.multiSelectedkeys = [""];
@@ -27574,13 +27575,13 @@
27574
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 });
27575
27576
  ActivityModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, declarations: [ActivityComponent], imports: [i4.CommonModule,
27576
27577
  AvatarModule,
27577
- i1$4.RouterModule], exports: [ActivityComponent,
27578
- i1$4.RouterModule] });
27578
+ i1$3.RouterModule], exports: [ActivityComponent,
27579
+ i1$3.RouterModule] });
27579
27580
  ActivityModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, imports: [[
27580
27581
  i4.CommonModule,
27581
27582
  AvatarModule,
27582
- i1$4.RouterModule
27583
- ], i1$4.RouterModule] });
27583
+ i1$3.RouterModule
27584
+ ], i1$3.RouterModule] });
27584
27585
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActivityModule, decorators: [{
27585
27586
  type: i0.NgModule,
27586
27587
  args: [{
@@ -27588,11 +27589,11 @@
27588
27589
  imports: [
27589
27590
  i4.CommonModule,
27590
27591
  AvatarModule,
27591
- i1$4.RouterModule
27592
+ i1$3.RouterModule
27592
27593
  ],
27593
27594
  exports: [
27594
27595
  ActivityComponent,
27595
- i1$4.RouterModule
27596
+ i1$3.RouterModule
27596
27597
  ]
27597
27598
  }]
27598
27599
  }] });
@@ -28197,11 +28198,11 @@
28197
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 });
28198
28199
  ConfirmationDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, declarations: [ConfirmationDialogComponent], imports: [i4.CommonModule,
28199
28200
  i1$1.TranslateModule,
28200
- i1$3.MatDialogModule], exports: [ConfirmationDialogComponent] });
28201
+ i1$4.MatDialogModule], exports: [ConfirmationDialogComponent] });
28201
28202
  ConfirmationDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, imports: [[
28202
28203
  i4.CommonModule,
28203
28204
  i1$1.TranslateModule,
28204
- i1$3.MatDialogModule
28205
+ i1$4.MatDialogModule
28205
28206
  ]] });
28206
28207
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConfirmationDialogModule, decorators: [{
28207
28208
  type: i0.NgModule,
@@ -28210,7 +28211,7 @@
28210
28211
  imports: [
28211
28212
  i4.CommonModule,
28212
28213
  i1$1.TranslateModule,
28213
- i1$3.MatDialogModule
28214
+ i1$4.MatDialogModule
28214
28215
  ],
28215
28216
  exports: [ConfirmationDialogComponent]
28216
28217
  }]
@@ -28469,7 +28470,7 @@
28469
28470
  i3$3.DxTreeViewModule,
28470
28471
  ViewerLogModule,
28471
28472
  CtsTagsModule,
28472
- i1$3.MatDialogModule,
28473
+ i1$4.MatDialogModule,
28473
28474
  i2$2.MatTooltipModule,
28474
28475
  CorrespondenceRelationModule,
28475
28476
  AvatarModule,
@@ -28539,7 +28540,7 @@
28539
28540
  i3$3.DxTreeViewModule,
28540
28541
  ViewerLogModule,
28541
28542
  CtsTagsModule,
28542
- i1$3.MatDialogModule,
28543
+ i1$4.MatDialogModule,
28543
28544
  i2$2.MatTooltipModule,
28544
28545
  CorrespondenceRelationModule,
28545
28546
  AvatarModule,
@@ -28615,7 +28616,7 @@
28615
28616
  i3$3.DxTreeViewModule,
28616
28617
  ViewerLogModule,
28617
28618
  CtsTagsModule,
28618
- i1$3.MatDialogModule,
28619
+ i1$4.MatDialogModule,
28619
28620
  i2$2.MatTooltipModule,
28620
28621
  CorrespondenceRelationModule,
28621
28622
  AvatarModule,
@@ -29926,14 +29927,14 @@
29926
29927
  return UsersCardModule;
29927
29928
  }());
29928
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 });
29929
- 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] });
29930
- 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] });
29931
29932
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UsersCardModule, decorators: [{
29932
29933
  type: i0.NgModule,
29933
29934
  args: [{
29934
29935
  declarations: [UsersCardComponent],
29935
- imports: [i4.CommonModule, i1$1.TranslateModule, i2$2.MatTooltipModule, CardModule, AvatarModule, i1$4.RouterModule],
29936
- 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],
29937
29938
  providers: [],
29938
29939
  }]
29939
29940
  }] });
@@ -30546,71 +30547,6 @@
30546
30547
  });
30547
30548
  }); };
30548
30549
 
30549
- function serializePort(port) {
30550
- return {
30551
- id: port.id,
30552
- label: port.label,
30553
- socket: {
30554
- name: port.socket.name,
30555
- },
30556
- };
30557
- }
30558
- function serializeControl(control) {
30559
- if (control instanceof rete.ClassicPreset.InputControl) {
30560
- return {
30561
- __type: 'ClassicPreset.InputControl',
30562
- id: control.id,
30563
- readonly: control.readonly,
30564
- type: control.type,
30565
- value: control.value,
30566
- };
30567
- }
30568
- return null;
30569
- }
30570
-
30571
- function exportGraph(editor) {
30572
- return __awaiter(this, void 0, void 0, function () {
30573
- var data, nodes, nodes_1, nodes_1_1, node, inputsEntries, outputsEntries, controlsEntries;
30574
- var e_1, _a;
30575
- return __generator(this, function (_b) {
30576
- data = { nodes: [] };
30577
- nodes = editor.getNodes();
30578
- try {
30579
- for (nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {
30580
- node = nodes_1_1.value;
30581
- inputsEntries = Object.entries(node.inputs).map(function (_a) {
30582
- var _b = __read(_a, 2), key = _b[0], input = _b[1];
30583
- return [key, input && serializePort(input)];
30584
- });
30585
- outputsEntries = Object.entries(node.outputs).map(function (_a) {
30586
- var _b = __read(_a, 2), key = _b[0], output = _b[1];
30587
- return [key, output && serializePort(output)];
30588
- });
30589
- controlsEntries = Object.entries(node.controls).map(function (_a) {
30590
- var _b = __read(_a, 2), key = _b[0], control = _b[1];
30591
- return [key, control && serializeControl(control)];
30592
- });
30593
- // data.nodes.push({
30594
- // id: node.id,
30595
- // label: node.label,
30596
- // outputs: Object.fromEntries(outputsEntries),
30597
- // inputs: Object.fromEntries(inputsEntries),
30598
- // controls: Object.fromEntries(controlsEntries),
30599
- // });
30600
- }
30601
- }
30602
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
30603
- finally {
30604
- try {
30605
- if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
30606
- }
30607
- finally { if (e_1) throw e_1.error; }
30608
- }
30609
- return [2 /*return*/, data];
30610
- });
30611
- });
30612
- }
30613
-
30614
30550
  /**
30615
30551
  *
30616
30552
  * @param node
@@ -30751,6 +30687,28 @@
30751
30687
  });
30752
30688
  }); };
30753
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
+
30754
30712
  var DiagramService = /** @class */ (function () {
30755
30713
  /**
30756
30714
  *
@@ -33492,7 +33450,7 @@
33492
33450
  GetIconPipe,
33493
33451
  NotificationsSidebarComponent,
33494
33452
  NotificationSidebarContentDirective], imports: [i4.CommonModule,
33495
- i1$4.RouterModule,
33453
+ i1$3.RouterModule,
33496
33454
  i9.InfiniteScrollModule,
33497
33455
  i2$4.MatListModule,
33498
33456
  PipesModule,
@@ -33510,7 +33468,7 @@
33510
33468
  i1$7.MatButtonModule,
33511
33469
  i1$8.MatTabsModule,
33512
33470
  ConfirmationDialogModule,
33513
- i1$3.MatDialogModule], exports: [NotificationsListComponent,
33471
+ i1$4.MatDialogModule], exports: [NotificationsListComponent,
33514
33472
  NotificationsButtonComponent,
33515
33473
  NotificationItemComponent,
33516
33474
  NotificationsSettingsContainerComponent,
@@ -33520,7 +33478,7 @@
33520
33478
  NotificationsDateSelectComponent, NotificationIconDirective, NotificationItemDirective] });
33521
33479
  NotificationsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationsModule, providers: [i4.DatePipe, NotificationsService], imports: [[
33522
33480
  i4.CommonModule,
33523
- i1$4.RouterModule,
33481
+ i1$3.RouterModule,
33524
33482
  i9.InfiniteScrollModule,
33525
33483
  i2$4.MatListModule,
33526
33484
  PipesModule,
@@ -33538,14 +33496,14 @@
33538
33496
  i1$7.MatButtonModule,
33539
33497
  i1$8.MatTabsModule,
33540
33498
  ConfirmationDialogModule,
33541
- i1$3.MatDialogModule,
33499
+ i1$4.MatDialogModule,
33542
33500
  ]] });
33543
33501
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationsModule, decorators: [{
33544
33502
  type: i0.NgModule,
33545
33503
  args: [{
33546
33504
  imports: [
33547
33505
  i4.CommonModule,
33548
- i1$4.RouterModule,
33506
+ i1$3.RouterModule,
33549
33507
  i9.InfiniteScrollModule,
33550
33508
  i2$4.MatListModule,
33551
33509
  PipesModule,
@@ -33563,7 +33521,7 @@
33563
33521
  i1$7.MatButtonModule,
33564
33522
  i1$8.MatTabsModule,
33565
33523
  ConfirmationDialogModule,
33566
- i1$3.MatDialogModule,
33524
+ i1$4.MatDialogModule,
33567
33525
  ],
33568
33526
  declarations: [
33569
33527
  COMPONENTS$1,
@@ -33722,7 +33680,7 @@
33722
33680
  else {
33723
33681
  // no cachable exist
33724
33682
  this.routerSubscription = this.router.events.subscribe(function (val) {
33725
- if (val instanceof i1$4.RoutesRecognized) {
33683
+ if (val instanceof i1$3.RoutesRecognized) {
33726
33684
  console.log(val.state.root.queryParams);
33727
33685
  var code = val.state.root.queryParams.code;
33728
33686
  if (code && code.length) {
@@ -34267,7 +34225,6 @@
34267
34225
  exports.ZoomControlComponent = ZoomControlComponent;
34268
34226
  exports.appInitializer = appInitializer;
34269
34227
  exports.departmentCacheBuster$ = departmentCacheBuster$;
34270
- exports.exportGraph = exportGraph;
34271
34228
  exports.extensionJsonsFactory = extensionJsonsFactory;
34272
34229
  exports.filterEnabled = filterEnabled;
34273
34230
  exports.getConnections = getConnections;