nuxeo-development-framework 5.7.9 → 5.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +667 -12
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/ndf-uploader/components/bottom-sheet/ndf-uploader-bottom-sheet.component.js +123 -0
  4. package/esm2015/lib/components/ndf-uploader/components/index.js +2 -0
  5. package/esm2015/lib/components/ndf-uploader/config/index.js +2 -0
  6. package/esm2015/lib/components/ndf-uploader/config/uploader.config.js +10 -0
  7. package/esm2015/lib/components/ndf-uploader/constant/file-content.js +6 -0
  8. package/esm2015/lib/components/ndf-uploader/constant/index.js +2 -0
  9. package/esm2015/lib/components/ndf-uploader/helpers/index.js +2 -0
  10. package/esm2015/lib/components/ndf-uploader/helpers/uploader.helper.js +100 -0
  11. package/esm2015/lib/components/ndf-uploader/index.js +6 -0
  12. package/esm2015/lib/components/ndf-uploader/models/batch.model.js +2 -0
  13. package/esm2015/lib/components/ndf-uploader/models/index.js +4 -0
  14. package/esm2015/lib/components/ndf-uploader/models/ndf-file.model.js +20 -0
  15. package/esm2015/lib/components/ndf-uploader/models/provider.model.js +2 -0
  16. package/esm2015/lib/components/ndf-uploader/providers/index.js +3 -0
  17. package/esm2015/lib/components/ndf-uploader/providers/nuxeo-provider.service.js +32 -0
  18. package/esm2015/lib/components/ndf-uploader/providers/s3-provider.service.js +26 -0
  19. package/esm2015/lib/components/ndf-uploader/uploader-bottom-sheet.service.js +72 -0
  20. package/esm2015/lib/components/ndf-uploader/uploader.module.js +53 -0
  21. package/esm2015/lib/components/ndf-uploader/uploader.service.js +241 -0
  22. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +1 -1
  23. package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +2 -3
  24. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +6 -6
  25. package/esm2015/public-api.js +2 -1
  26. package/fesm2015/nuxeo-development-framework.js +626 -11
  27. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  28. package/lib/components/ndf-uploader/components/bottom-sheet/ndf-uploader-bottom-sheet.component.d.ts +27 -0
  29. package/lib/components/ndf-uploader/components/index.d.ts +1 -0
  30. package/lib/components/ndf-uploader/config/index.d.ts +1 -0
  31. package/lib/components/ndf-uploader/config/uploader.config.d.ts +9 -0
  32. package/lib/components/ndf-uploader/constant/file-content.d.ts +5 -0
  33. package/lib/components/ndf-uploader/constant/index.d.ts +1 -0
  34. package/lib/components/ndf-uploader/helpers/index.d.ts +1 -0
  35. package/lib/components/ndf-uploader/helpers/uploader.helper.d.ts +10 -0
  36. package/lib/components/ndf-uploader/index.d.ts +5 -0
  37. package/lib/components/ndf-uploader/models/batch.model.d.ts +28 -0
  38. package/lib/components/ndf-uploader/models/index.d.ts +3 -0
  39. package/lib/components/ndf-uploader/models/ndf-file.model.d.ts +46 -0
  40. package/lib/components/ndf-uploader/models/provider.model.d.ts +7 -0
  41. package/lib/components/ndf-uploader/providers/index.d.ts +2 -0
  42. package/lib/components/ndf-uploader/providers/nuxeo-provider.service.d.ts +13 -0
  43. package/lib/components/ndf-uploader/providers/s3-provider.service.d.ts +13 -0
  44. package/lib/components/ndf-uploader/uploader-bottom-sheet.service.d.ts +30 -0
  45. package/lib/components/ndf-uploader/uploader.module.d.ts +16 -0
  46. package/lib/components/ndf-uploader/uploader.service.d.ts +25 -0
  47. package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +1 -0
  48. package/package.json +1 -1
  49. package/public-api.d.ts +1 -0
@@ -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/forms'), require('@angular/material/dialog'), require('@angular/router'), require('@ngx-translate/core'), require('rxjs/operators'), require('rxjs'), require('@angular/animations'), require('ngx-toastr'), require('crypto-js'), require('@angular/cdk/bidi'), require('@angular/common/http'), require('keycloak-angular'), require('ngx-cookie-service'), require('@angular/cdk/coercion'), require('@angular/material/icon'), require('@angular/material/progress-spinner'), require('@angular/material/tooltip'), require('lodash-es'), require('moment'), require('lodash/omit'), require('lodash/assign'), require('lodash/cloneDeep'), require('lodash'), require('@angular/platform-browser'), require('moment-es6'), require('moment-hijri'), require('ngx-infinite-scroll'), require('@angular/material/list'), require('@angular/material/menu'), require('angular-ng-autocomplete'), require('@angular/material/core'), require('@angular/cdk/clipboard'), 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/find'), require('lodash/isEqual'), require('@swimlane/ngx-datatable'), require('@angular/material/button-toggle'), require('@angular/cdk/collections'), require('@angular/cdk/drag-drop'), require('@angular/material/autocomplete'), require('ngx-mask'), require('moment/moment'), require('string-hash'), require('@angular/cdk/layout'), require('dwt'), require('@angular/material/progress-bar'), require('chart.js/auto'), require('chartjs-adapter-moment'), require('devextreme-angular'), require('file-saver'), require('devextreme-angular/ui/nested'), 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'), require('@kurkle/color'), require('ngx-markdown'), require('@angular/cdk/accordion')) :
3
- typeof define === 'function' && define.amd ? define('nuxeo-development-framework', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/material/dialog', '@angular/router', '@ngx-translate/core', 'rxjs/operators', 'rxjs', '@angular/animations', 'ngx-toastr', 'crypto-js', '@angular/cdk/bidi', '@angular/common/http', 'keycloak-angular', 'ngx-cookie-service', '@angular/cdk/coercion', '@angular/material/icon', '@angular/material/progress-spinner', '@angular/material/tooltip', 'lodash-es', 'moment', 'lodash/omit', 'lodash/assign', 'lodash/cloneDeep', 'lodash', '@angular/platform-browser', 'moment-es6', 'moment-hijri', 'ngx-infinite-scroll', '@angular/material/list', '@angular/material/menu', 'angular-ng-autocomplete', '@angular/material/core', '@angular/cdk/clipboard', '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/find', 'lodash/isEqual', '@swimlane/ngx-datatable', '@angular/material/button-toggle', '@angular/cdk/collections', '@angular/cdk/drag-drop', '@angular/material/autocomplete', 'ngx-mask', 'moment/moment', 'string-hash', '@angular/cdk/layout', 'dwt', '@angular/material/progress-bar', 'chart.js/auto', 'chartjs-adapter-moment', 'devextreme-angular', 'file-saver', 'devextreme-angular/ui/nested', '@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', '@kurkle/color', 'ngx-markdown', '@angular/cdk/accordion'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["nuxeo-development-framework"] = {}, global.ng.core, global.ng.common, global.ng.forms, global.ng.material.dialog, global.ng.router, global.i1, global.rxjs.operators, global.rxjs, global.ng.animations, global.i1$1, global.CryptoJS, global.ng.cdk.bidi, global.ng.common.http, global.i2$1, global.i3, global.ng.cdk.coercion, global.ng.material.icon, global.ng.material.progressSpinner, global.ng.material.tooltip, global.lodashEs, global.moment$6, global._omit, global._assign, global._cloneDeep, global._, global.ng.platformBrowser, global.moment$7, global.moment_, global.i9, global.ng.material.list, global.ng.material.menu, global.i6, global.ng.material.core, global.ng.cdk.clipboard, 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$2, global.core, global.i3$3, global.i1$9, global.i1$8, global.formiojs, global._find, global._isEqual, global.i4$2, global.ng.material.buttonToggle, global.ng.cdk.collections, global.ng.cdk.dragDrop, global.ng.material.autocomplete, global.i5$4, global.moment$8, global.stringHash, global.ng.cdk.layout, global.Dynamsoft, global.ng.material.progressBar, global.Chart, null, global.i4$4, global.FileSaver, global.i5$6, global.WebViewer, global.ng.material.tabs, global.ng.material.divider, global.ng.common.locales.ar, global.ng.common.locales.en, global.reactiveFormValidators, global.i2$7, 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, global.colorLib, global.i2$8, global.ng.cdk.accordion));
5
- })(this, (function (exports, i0, i4, i2, i1$4, i1$3, i1, operators, rxjs, animations, i1$1, CryptoJS, i4$1, i1$2, i2$1, i3, coercion, i2$2, i3$1, i7, lodashEs, moment$6, _omit, _assign, _cloneDeep, _, i1$5, moment$7, moment_, i9, i2$3, i3$2, i6, i2$4, i1$6, tsCacheable, i5, i1$7, i7$1, i6$1, i1$b, i5$1, i2$6, i5$2, i2$5, i1$a, i6$2, core, i3$3, i1$9, i1$8, formiojs, _find, _isEqual, i4$2, i1$c, collections, i7$2, i5$3, i5$4, moment$8, stringHash, i5$5, Dynamsoft, i4$3, Chart, chartjsAdapterMoment, i4$4, FileSaver, i5$6, WebViewer, i1$d, i9$1, localeAr, localeEn, reactiveFormValidators, i2$7, rete, reteAreaPlugin, reteAutoArrangePlugin, reteConnectionPlugin, reteConnectionReroutePlugin, reteReadonlyPlugin, reteMinimapPlugin, d3Shape, reteConnectionPathPlugin, reteRenderUtils, i7$3, toolbar, colorLib, i2$8, i6$3) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/material/dialog'), require('@angular/router'), require('@ngx-translate/core'), require('rxjs/operators'), require('rxjs'), require('@angular/animations'), require('ngx-toastr'), require('crypto-js'), require('@angular/cdk/bidi'), require('@angular/common/http'), require('keycloak-angular'), require('ngx-cookie-service'), require('@angular/cdk/coercion'), require('@angular/material/icon'), require('@angular/material/progress-spinner'), require('@angular/material/tooltip'), require('lodash-es'), require('moment'), require('lodash/omit'), require('lodash/assign'), require('lodash/cloneDeep'), require('lodash'), require('@angular/platform-browser'), require('moment-es6'), require('moment-hijri'), require('ngx-infinite-scroll'), require('@angular/material/list'), require('@angular/material/menu'), require('angular-ng-autocomplete'), require('@angular/material/core'), require('@angular/cdk/clipboard'), 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/find'), require('lodash/isEqual'), require('@swimlane/ngx-datatable'), require('@angular/material/button-toggle'), require('@angular/cdk/collections'), require('@angular/cdk/drag-drop'), require('@angular/material/autocomplete'), require('ngx-mask'), require('moment/moment'), require('string-hash'), require('@angular/cdk/layout'), require('dwt'), require('@angular/material/progress-bar'), require('chart.js/auto'), require('chartjs-adapter-moment'), require('devextreme-angular'), require('file-saver'), require('devextreme-angular/ui/nested'), 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'), require('@kurkle/color'), require('ngx-markdown'), require('@angular/cdk/accordion'), require('lodash/flatMap'), require('@angular/material/bottom-sheet')) :
3
+ typeof define === 'function' && define.amd ? define('nuxeo-development-framework', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/material/dialog', '@angular/router', '@ngx-translate/core', 'rxjs/operators', 'rxjs', '@angular/animations', 'ngx-toastr', 'crypto-js', '@angular/cdk/bidi', '@angular/common/http', 'keycloak-angular', 'ngx-cookie-service', '@angular/cdk/coercion', '@angular/material/icon', '@angular/material/progress-spinner', '@angular/material/tooltip', 'lodash-es', 'moment', 'lodash/omit', 'lodash/assign', 'lodash/cloneDeep', 'lodash', '@angular/platform-browser', 'moment-es6', 'moment-hijri', 'ngx-infinite-scroll', '@angular/material/list', '@angular/material/menu', 'angular-ng-autocomplete', '@angular/material/core', '@angular/cdk/clipboard', '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/find', 'lodash/isEqual', '@swimlane/ngx-datatable', '@angular/material/button-toggle', '@angular/cdk/collections', '@angular/cdk/drag-drop', '@angular/material/autocomplete', 'ngx-mask', 'moment/moment', 'string-hash', '@angular/cdk/layout', 'dwt', '@angular/material/progress-bar', 'chart.js/auto', 'chartjs-adapter-moment', 'devextreme-angular', 'file-saver', 'devextreme-angular/ui/nested', '@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', '@kurkle/color', 'ngx-markdown', '@angular/cdk/accordion', 'lodash/flatMap', '@angular/material/bottom-sheet'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["nuxeo-development-framework"] = {}, global.ng.core, global.ng.common, global.ng.forms, global.ng.material.dialog, global.ng.router, global.i1, global.rxjs.operators, global.rxjs, global.ng.animations, global.i1$1, global.CryptoJS, global.ng.cdk.bidi, global.ng.common.http, global.i2$1, global.i3, global.ng.cdk.coercion, global.ng.material.icon, global.ng.material.progressSpinner, global.ng.material.tooltip, global.lodashEs, global.moment$6, global._omit, global._assign, global._cloneDeep, global._, global.ng.platformBrowser, global.moment$7, global.moment_, global.i9, global.ng.material.list, global.ng.material.menu, global.i6, global.ng.material.core, global.ng.cdk.clipboard, 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$2, global.core, global.i3$3, global.i1$9, global.i1$8, global.formiojs, global._find, global._isEqual, global.i4$2, global.ng.material.buttonToggle, global.ng.cdk.collections, global.ng.cdk.dragDrop, global.ng.material.autocomplete, global.i5$4, global.moment$8, global.stringHash, global.ng.cdk.layout, global.Dynamsoft, global.ng.material.progressBar, global.Chart, null, global.i4$4, global.FileSaver, global.i5$6, global.WebViewer, global.ng.material.tabs, global.ng.material.divider, global.ng.common.locales.ar, global.ng.common.locales.en, global.reactiveFormValidators, global.i2$7, 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, global.colorLib, global.i2$8, global.ng.cdk.accordion, global._flatMap, global.ng.material.bottomSheet));
5
+ })(this, (function (exports, i0, i4, i2, i1$4, i1$3, i1, operators, rxjs, animations, i1$1, CryptoJS, i4$1, i1$2, i2$1, i3, coercion, i2$2, i3$1, i7, lodashEs, moment$6, _omit, _assign, _cloneDeep, _, i1$5, moment$7, moment_, i9, i2$3, i3$2, i6, i2$4, i1$6, tsCacheable, i5, i1$7, i7$1, i6$1, i1$b, i5$1, i2$6, i5$2, i2$5, i1$a, i6$2, core, i3$3, i1$9, i1$8, formiojs, _find, _isEqual, i4$2, i1$c, collections, i7$2, i5$3, i5$4, moment$8, stringHash, i5$5, Dynamsoft, i4$3, Chart, chartjsAdapterMoment, i4$4, FileSaver, i5$6, WebViewer, i1$d, i9$1, localeAr, localeEn, reactiveFormValidators, i2$7, rete, reteAreaPlugin, reteAutoArrangePlugin, reteConnectionPlugin, reteConnectionReroutePlugin, reteReadonlyPlugin, reteMinimapPlugin, d3Shape, reteConnectionPathPlugin, reteRenderUtils, i7$3, toolbar, colorLib, i2$8, i6$3, _flatMap, i1$e) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -96,6 +96,8 @@
96
96
  var colorLib__default = /*#__PURE__*/_interopDefaultLegacy(colorLib);
97
97
  var i2__namespace$8 = /*#__PURE__*/_interopNamespace(i2$8);
98
98
  var i6__namespace$3 = /*#__PURE__*/_interopNamespace(i6$3);
99
+ var _flatMap__default = /*#__PURE__*/_interopDefaultLegacy(_flatMap);
100
+ var i1__namespace$e = /*#__PURE__*/_interopNamespace(i1$e);
99
101
 
100
102
  var NuxeoDevelopmentFrameworkComponent = /** @class */ (function () {
101
103
  function NuxeoDevelopmentFrameworkComponent() {
@@ -22135,7 +22137,7 @@
22135
22137
  var _this = this;
22136
22138
  if (payload === void 0) { payload = {}; }
22137
22139
  if (headers === void 0) { headers = {}; }
22138
- var _a, _b, _c, _d, _e, _f, _g, _h;
22140
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
22139
22141
  this.loading = true; // internal loading
22140
22142
  this.onLoading.emit(true); // external loading
22141
22143
  var params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.range ? { dublincore_created_agg: this.range } : {})), this.filterParams), this.queryParam), this.quickFilter), (Object.keys(this.sortingBy || {}).length
@@ -22160,15 +22162,15 @@
22160
22162
  var _customPayload = {
22161
22163
  params: Object.assign(Object.assign({}, params), (((_c = this.customFilters) === null || _c === void 0 ? void 0 : _c.params) || {})),
22162
22164
  headers: _headers,
22163
- payload: ((_d = this.customFilters) === null || _d === void 0 ? void 0 : _d.payload) || {}
22165
+ payload: ___default["default"].merge({}, ((_d = this.customUrl) === null || _d === void 0 ? void 0 : _d.payload) || {}, ((_e = this.customFilters) === null || _e === void 0 ? void 0 : _e.payload) || {})
22164
22166
  };
22165
- if (((_e = this.requestActions) === null || _e === void 0 ? void 0 : _e.beforeSubmit) && typeof ((_f = this.requestActions) === null || _f === void 0 ? void 0 : _f.beforeSubmit) === 'string') {
22167
+ if (((_f = this.requestActions) === null || _f === void 0 ? void 0 : _f.beforeSubmit) && typeof ((_g = this.requestActions) === null || _g === void 0 ? void 0 : _g.beforeSubmit) === 'string') {
22166
22168
  try {
22167
22169
  if (this.customUrl) {
22168
- _customPayload = Evaluator.evaluate((_g = this.requestActions) === null || _g === void 0 ? void 0 : _g.beforeSubmit, { criteria: _customPayload }, 'payload');
22170
+ _customPayload = Evaluator.evaluate((_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit, { criteria: _customPayload }, 'payload');
22169
22171
  }
22170
22172
  else {
22171
- _providerPayload = Evaluator.evaluate((_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit, { criteria: _providerPayload }, 'payload');
22173
+ _providerPayload = Evaluator.evaluate((_j = this.requestActions) === null || _j === void 0 ? void 0 : _j.beforeSubmit, { criteria: _providerPayload }, 'payload');
22172
22174
  }
22173
22175
  }
22174
22176
  catch (e) {
@@ -45857,11 +45859,10 @@
45857
45859
  var _a, _b, _c, _d, _e;
45858
45860
  var _request = report.request;
45859
45861
  var _detailsConfig = details.source;
45860
- var _payload = ((_a = _detailsConfig.request) === null || _a === void 0 ? void 0 : _a.payload) || {};
45861
45862
  var customUrl = ___default["default"].merge({
45862
45863
  url: "/api/v1" + (_request === null || _request === void 0 ? void 0 : _request.customUrl.url),
45863
45864
  method: _request === null || _request === void 0 ? void 0 : _request.customUrl.method
45864
- }, ((_b = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _b === void 0 ? void 0 : _b.customUrl) || {}, _payload);
45865
+ }, ((_a = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _a === void 0 ? void 0 : _a.customUrl) || {}, { payload: ((_b = _detailsConfig.request) === null || _b === void 0 ? void 0 : _b.payload) || {} });
45865
45866
  var _headers = ((_c = _detailsConfig.request) === null || _c === void 0 ? void 0 : _c.headers) || _request.headers || {};
45866
45867
  var _queryParam = ((_d = _detailsConfig.request) === null || _d === void 0 ? void 0 : _d.params) || _request.params || {};
45867
45868
  var _sortingBy = ___default["default"].merge({
@@ -47418,7 +47419,7 @@
47418
47419
  return NdfReportComponent;
47419
47420
  }(DestroySubject));
47420
47421
  NdfReportComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
47421
- NdfReportComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportComponent, selector: "app-ndf-report", inputs: { config: "config", direction: "direction", data: "data", criteria: "criteria" }, outputs: { onNavigate: "onNavigate", onOpen: "onOpen" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"config\">\r\n\t<ng-container [ngSwitch]=\"config.mode\">\r\n\t\t<app-graph-report\r\n class=\"report-container\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t*ngSwitchCase=\"reportModes.graph\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onNavigate)=\"onNavigate.emit($event)\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t></app-graph-report>\r\n\r\n\t\t<app-dynamic-timeline-report\r\n class=\"report-container\"\r\n\t\t\t*ngSwitchCase=\"reportModes.dynamicLine\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-dynamic-timeline-report>\r\n\r\n\t\t<app-digit-report\r\n\t\t\t*ngSwitchCase=\"reportModes.digit\"\r\n class=\"report-container\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-digit-report>\r\n\r\n\t\t<app-custom-report\r\n\t\t\t*ngSwitchCase=\"reportModes.custom\"\r\n class=\"report-container\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t>\r\n\t\t</app-custom-report>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}@media print{.chart-actions{display:none}}.report-min-height{min-height:var(--report-content-height, unset)}@media screen{.report-container{grid-row:span var(--row-span, 1)}}\n"], components: [{ type: GraphReportComponent, selector: "app-graph-report" }, { type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report" }, { type: DigitReportComponent, selector: "app-digit-report" }, { type: CustomReportComponent, selector: "app-custom-report" }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
47422
+ NdfReportComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportComponent, selector: "app-ndf-report", inputs: { config: "config", direction: "direction", data: "data", criteria: "criteria" }, outputs: { onNavigate: "onNavigate", onOpen: "onOpen" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"config\">\r\n\t<ng-container [ngSwitch]=\"config.mode\">\r\n\t\t<app-graph-report\r\n class=\"report-container\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t*ngSwitchCase=\"reportModes.graph\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onNavigate)=\"onNavigate.emit($event)\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t></app-graph-report>\r\n\r\n\t\t<app-dynamic-timeline-report\r\n class=\"report-container\"\r\n\t\t\t*ngSwitchCase=\"reportModes.dynamicLine\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-dynamic-timeline-report>\r\n\r\n\t\t<app-digit-report\r\n\t\t\t*ngSwitchCase=\"reportModes.digit\"\r\n class=\"report-container\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-digit-report>\r\n\r\n\t\t<app-custom-report\r\n\t\t\t*ngSwitchCase=\"reportModes.custom\"\r\n class=\"report-container\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t>\r\n\t\t</app-custom-report>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}@media print{.chart-actions{display:none}}.report-min-height{min-height:var(--report-content-height, unset)}.report-container{min-width:0}@media screen{.report-container{grid-row:span var(--row-span, 1)}}\n"], components: [{ type: GraphReportComponent, selector: "app-graph-report" }, { type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report" }, { type: DigitReportComponent, selector: "app-digit-report" }, { type: CustomReportComponent, selector: "app-custom-report" }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
47422
47423
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportComponent, decorators: [{
47423
47424
  type: i0.Component,
47424
47425
  args: [{
@@ -48761,6 +48762,655 @@
48761
48762
  }]
48762
48763
  }] });
48763
48764
 
48765
+ exports.FileStatus = void 0;
48766
+ (function (FileStatus) {
48767
+ FileStatus[FileStatus["Pending"] = 0] = "Pending";
48768
+ FileStatus[FileStatus["InProgress"] = 1] = "InProgress";
48769
+ FileStatus[FileStatus["Canceled"] = 2] = "Canceled";
48770
+ FileStatus[FileStatus["Error"] = 3] = "Error";
48771
+ FileStatus[FileStatus["Completed"] = 4] = "Completed";
48772
+ })(exports.FileStatus || (exports.FileStatus = {}));
48773
+ exports.UploadProvider = void 0;
48774
+ (function (UploadProvider) {
48775
+ UploadProvider["Nuxeo"] = "nuxeo";
48776
+ UploadProvider["S3"] = "s3";
48777
+ })(exports.UploadProvider || (exports.UploadProvider = {}));
48778
+ exports.FileEventType = void 0;
48779
+ (function (FileEventType) {
48780
+ FileEventType[FileEventType["Changes"] = 0] = "Changes";
48781
+ FileEventType[FileEventType["Complete"] = 1] = "Complete";
48782
+ FileEventType[FileEventType["Reset"] = 2] = "Reset";
48783
+ })(exports.FileEventType || (exports.FileEventType = {}));
48784
+
48785
+ var UPLOADER_CONFIG = {
48786
+ DEFAULT_PROVIDER: 'nuxeo',
48787
+ MAX_CONCURRENT_REQUESTS: 5,
48788
+ IS_CHUNKED_ENABLED: true,
48789
+ MIN_File_SIZE: 1024 * 1024 * 5,
48790
+ CHUNK_SIZE: 1024 * 1024 * 5,
48791
+ DELAY_RETRY_ATTEMPTS: 500,
48792
+ MAX_RETRY_ATTEMPTS: 3 // maximum number of retry attempts if an upload request fails
48793
+ };
48794
+
48795
+ var _a, _UploaderHelper_prepareChunks;
48796
+ var UploaderHelper = /** @class */ (function () {
48797
+ function UploaderHelper() {
48798
+ }
48799
+ UploaderHelper.catchError = function () {
48800
+ return operators.catchError(function (error) {
48801
+ if (error.status === 308 /* PermanentRedirect */) {
48802
+ return rxjs.of(error === null || error === void 0 ? void 0 : error.error);
48803
+ }
48804
+ else {
48805
+ return rxjs.EMPTY;
48806
+ }
48807
+ });
48808
+ };
48809
+ UploaderHelper.retryWhen = function () {
48810
+ return operators.retryWhen(function (errors) { return errors.pipe(operators.concatMap(function (error, index) {
48811
+ if (index >= UPLOADER_CONFIG.MAX_RETRY_ATTEMPTS - 1) {
48812
+ return rxjs.throwError(function () { return new Error('Failed after retries'); });
48813
+ }
48814
+ return rxjs.of(error).pipe(operators.delay(UPLOADER_CONFIG.DELAY_RETRY_ATTEMPTS));
48815
+ })); });
48816
+ };
48817
+ UploaderHelper.createFileHeader = function (file, chunk) {
48818
+ var headers = {
48819
+ 'Cache-Control': 'no-cache',
48820
+ 'X-File-Name': encodeURIComponent(file.data.name),
48821
+ 'X-File-Type': file.data.type,
48822
+ 'Content-Type': 'application/octet-stream',
48823
+ 'Content-Length': file.data.size,
48824
+ 'X-File-Size': file.data.size.toString()
48825
+ };
48826
+ if (file.chunks.length > 1) {
48827
+ Object.assign(headers, {
48828
+ 'X-Upload-Type': 'chunked',
48829
+ 'X-Upload-Chunk-Index': file.chunks.findIndex(function (c) { return c.index == chunk.index; }).toString(),
48830
+ 'X-Upload-Chunk-Count': file.chunks.length.toString(),
48831
+ 'Content-Length': chunk.blob.size
48832
+ });
48833
+ }
48834
+ return headers;
48835
+ };
48836
+ UploaderHelper.prepareConfig = function () {
48837
+ var _b, _c, _d, _e, _f, _g, _h;
48838
+ UPLOADER_CONFIG.DEFAULT_PROVIDER =
48839
+ ((_b = EnvManager.environment.uploader) === null || _b === void 0 ? void 0 : _b.defaultUploader) || UPLOADER_CONFIG.DEFAULT_PROVIDER;
48840
+ UPLOADER_CONFIG.MAX_CONCURRENT_REQUESTS =
48841
+ ((_c = EnvManager.environment.uploader) === null || _c === void 0 ? void 0 : _c.maxConcurrentRequests) || UPLOADER_CONFIG.MAX_CONCURRENT_REQUESTS;
48842
+ UPLOADER_CONFIG.IS_CHUNKED_ENABLED = ((_d = EnvManager.environment.uploader) === null || _d === void 0 ? void 0 : _d.isChunkedEnabled) == 'YES';
48843
+ UPLOADER_CONFIG.MIN_File_SIZE = ((_e = EnvManager.environment.uploader) === null || _e === void 0 ? void 0 : _e.minFileSize) || UPLOADER_CONFIG.MIN_File_SIZE;
48844
+ UPLOADER_CONFIG.CHUNK_SIZE = ((_f = EnvManager.environment.uploader) === null || _f === void 0 ? void 0 : _f.chunkSize) || UPLOADER_CONFIG.CHUNK_SIZE;
48845
+ UPLOADER_CONFIG.DELAY_RETRY_ATTEMPTS =
48846
+ ((_g = EnvManager.environment.uploader) === null || _g === void 0 ? void 0 : _g.delayRetryAttempts) || UPLOADER_CONFIG.DELAY_RETRY_ATTEMPTS;
48847
+ UPLOADER_CONFIG.MAX_RETRY_ATTEMPTS =
48848
+ ((_h = EnvManager.environment.uploader) === null || _h === void 0 ? void 0 : _h.maxRetryAttempts) || UPLOADER_CONFIG.MAX_RETRY_ATTEMPTS;
48849
+ };
48850
+ UploaderHelper.prepareFiles = function (options, startFromIndex) {
48851
+ var _this = this;
48852
+ if (startFromIndex === void 0) { startFromIndex = 0; }
48853
+ var batchsFile = options.files.map(function (file, index) {
48854
+ var id = i3$3.FormioUtils.guid();
48855
+ var batchFile = {
48856
+ id: id,
48857
+ index: startFromIndex + index,
48858
+ data: file,
48859
+ progress: 0,
48860
+ status: exports.FileStatus.Pending,
48861
+ provider: (options.provider || UPLOADER_CONFIG.DEFAULT_PROVIDER),
48862
+ chunks: __classPrivateFieldGet(_this, _a, "m", _UploaderHelper_prepareChunks).call(_this, id, file),
48863
+ metadata: options.metadata
48864
+ };
48865
+ return batchFile;
48866
+ });
48867
+ return batchsFile;
48868
+ };
48869
+ return UploaderHelper;
48870
+ }());
48871
+ _a = UploaderHelper, _UploaderHelper_prepareChunks = function _UploaderHelper_prepareChunks(fileId, file) {
48872
+ var CHUNK_SIZE = UPLOADER_CONFIG.CHUNK_SIZE, MIN_File_SIZE = UPLOADER_CONFIG.MIN_File_SIZE;
48873
+ if (file.size <= MIN_File_SIZE) {
48874
+ return [
48875
+ {
48876
+ fileId: fileId,
48877
+ index: 0,
48878
+ start: 0,
48879
+ end: file.size,
48880
+ status: exports.FileStatus.Pending
48881
+ }
48882
+ ];
48883
+ }
48884
+ return Array.from({ length: Math.ceil(file.size / CHUNK_SIZE) }, function (_, index) { return ({
48885
+ fileId: fileId,
48886
+ index: index,
48887
+ start: index * CHUNK_SIZE,
48888
+ end: Math.min((index + 1) * CHUNK_SIZE, file.size),
48889
+ status: exports.FileStatus.Pending
48890
+ }); });
48891
+ };
48892
+
48893
+ var NuxeoProvider = /** @class */ (function (_super) {
48894
+ __extends(NuxeoProvider, _super);
48895
+ function NuxeoProvider(injector) {
48896
+ return _super.call(this, injector) || this;
48897
+ }
48898
+ NuxeoProvider.prototype.upload = function (file, chunk) {
48899
+ chunk.blob = file.data.slice(chunk.start, chunk.end);
48900
+ var headers = UploaderHelper.createFileHeader(file, chunk);
48901
+ return this.post({
48902
+ endpoint: nuxeoBaseUrl() + "upload/" + file.batchId + "/" + file.index,
48903
+ headers: headers,
48904
+ payload: chunk.blob
48905
+ }).pipe(UploaderHelper.catchError(), UploaderHelper.retryWhen());
48906
+ };
48907
+ NuxeoProvider.prototype.complete = function (file) {
48908
+ return rxjs.of(null);
48909
+ };
48910
+ return NuxeoProvider;
48911
+ }(BaseService));
48912
+ NuxeoProvider.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoProvider, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
48913
+ NuxeoProvider.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoProvider, providedIn: 'root' });
48914
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NuxeoProvider, decorators: [{
48915
+ type: i0.Injectable,
48916
+ args: [{
48917
+ providedIn: 'root'
48918
+ }]
48919
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
48920
+
48921
+ var S3Provider = /** @class */ (function (_super) {
48922
+ __extends(S3Provider, _super);
48923
+ function S3Provider(injector) {
48924
+ return _super.call(this, injector) || this;
48925
+ }
48926
+ S3Provider.prototype.upload = function (file, chunk) {
48927
+ throw new Error('Method not implemented.');
48928
+ };
48929
+ S3Provider.prototype.complete = function (file) {
48930
+ return rxjs.iif(function () { return file.chunks.length > 1; }, this.post(nuxeoBaseUrl() + "upload/" + file.batchId + "/" + file.index + "/complete").pipe(UploaderHelper.catchError(), UploaderHelper.retryWhen()), rxjs.of(null));
48931
+ };
48932
+ return S3Provider;
48933
+ }(BaseService));
48934
+ S3Provider.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: S3Provider, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
48935
+ S3Provider.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: S3Provider, providedIn: 'root' });
48936
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: S3Provider, decorators: [{
48937
+ type: i0.Injectable,
48938
+ args: [{
48939
+ providedIn: 'root'
48940
+ }]
48941
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
48942
+
48943
+ var _UploaderService_instances, _UploaderService_cancelRequests, _UploaderService_filesInfo, _UploaderService_batchFiles, _UploaderService_startExecution, _UploaderService_generateBatch, _UploaderService_uploadChunk, _UploaderService_onUploadDone, _UploaderService_onUploadError, _UploaderService_complete, _UploaderService_getProvider, _UploaderService_updateFiles, _UploaderService_prepareEvent, _UploaderService_getFile, _UploaderService_getFiles, _UploaderService_createBatch, _UploaderService_deleteBatch, _UploaderService_deleteFile, _UploaderService_getFileInfo;
48944
+ function nuxeoBaseUrl() {
48945
+ return EnvManager.environment.nuxeo + "/api/v1/";
48946
+ }
48947
+ var UploaderService = /** @class */ (function (_super) {
48948
+ __extends(UploaderService, _super);
48949
+ function UploaderService(injector, nuxeoProvider, s3Provider, iconService) {
48950
+ var _this = _super.call(this, injector) || this;
48951
+ _this.nuxeoProvider = nuxeoProvider;
48952
+ _this.s3Provider = s3Provider;
48953
+ _this.iconService = iconService;
48954
+ _UploaderService_instances.add(_this);
48955
+ _UploaderService_cancelRequests.set(_this, new rxjs.Subject());
48956
+ _UploaderService_filesInfo.set(_this, new rxjs.Subject());
48957
+ _UploaderService_batchFiles.set(_this, new rxjs.BehaviorSubject([]));
48958
+ _this.events$ = __classPrivateFieldGet(_this, _UploaderService_filesInfo, "f").asObservable();
48959
+ UploaderHelper.prepareConfig();
48960
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_startExecution).call(_this);
48961
+ return _this;
48962
+ }
48963
+ UploaderService.prototype.upload = function (filesOrOptions) {
48964
+ var options = Array.isArray(filesOrOptions) ? { files: filesOrOptions } : Object.assign({}, filesOrOptions);
48965
+ var batchsFile = UploaderHelper.prepareFiles(options, 0);
48966
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray(__spreadArray([], __read(__classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this))), __read(batchsFile)));
48967
+ return __classPrivateFieldGet(this, _UploaderService_filesInfo, "f").asObservable();
48968
+ };
48969
+ UploaderService.prototype.submit = function (options) {
48970
+ return this.customAutomation({
48971
+ operation: options.operation,
48972
+ context: options.context,
48973
+ headers: options.headers,
48974
+ input: options.input,
48975
+ params: options.params
48976
+ }).pipe(UploaderHelper.catchError(), UploaderHelper.retryWhen());
48977
+ };
48978
+ UploaderService.prototype.cancel = function (batchId) {
48979
+ return __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_deleteBatch).call(this, batchId);
48980
+ };
48981
+ UploaderService.prototype.reset = function () {
48982
+ __classPrivateFieldSet(this, _UploaderService_batchFiles, new rxjs.BehaviorSubject([]), "f");
48983
+ __classPrivateFieldGet(this, _UploaderService_filesInfo, "f").next({ data: [], type: exports.FileEventType.Reset });
48984
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_startExecution).call(this);
48985
+ };
48986
+ UploaderService.prototype.stop = function (fileId) {
48987
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
48988
+ var file = files.find(function (f) { return f.id == fileId; });
48989
+ if (file.status == exports.FileStatus.InProgress) {
48990
+ __classPrivateFieldGet(this, _UploaderService_cancelRequests, "f").next();
48991
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_startExecution).call(this);
48992
+ }
48993
+ file.chunks.filter(function (c) { return c.status != exports.FileStatus.Completed; }).forEach(function (c) { return (c.status = exports.FileStatus.Canceled); });
48994
+ file.status = exports.FileStatus.Canceled;
48995
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray([], __read(files)));
48996
+ };
48997
+ UploaderService.prototype.remove = function (fileId) {
48998
+ return __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_deleteFile).call(this, fileId);
48999
+ };
49000
+ UploaderService.prototype.resume = function (fileId) {
49001
+ var _this = this;
49002
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
49003
+ var file = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFile).call(this, fileId);
49004
+ if (file.status == exports.FileStatus.Pending)
49005
+ return;
49006
+ file.status = exports.FileStatus.Pending;
49007
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray([], __read(files)));
49008
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFileInfo).call(this, fileId)
49009
+ .pipe(operators.first())
49010
+ .subscribe(function (uploaded) {
49011
+ file.chunks
49012
+ .filter(function (c) { return !uploaded.uploadedChunkIds.includes(c.index); })
49013
+ .forEach(function (c) { return (c.status = exports.FileStatus.Pending); });
49014
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(_this, __spreadArray([], __read(files)));
49015
+ });
49016
+ };
49017
+ return UploaderService;
49018
+ }(BaseService));
49019
+ _UploaderService_cancelRequests = new WeakMap(), _UploaderService_filesInfo = new WeakMap(), _UploaderService_batchFiles = new WeakMap(), _UploaderService_instances = new WeakSet(), _UploaderService_startExecution = function _UploaderService_startExecution() {
49020
+ var _this = this;
49021
+ __classPrivateFieldGet(this, _UploaderService_batchFiles, "f")
49022
+ .pipe(operators.distinctUntilChanged(), operators.debounceTime(100), operators.switchMap(function (batchFiles) {
49023
+ var filesWithBatchId = batchFiles.filter(function (file) { return file.batchId; });
49024
+ var filesWithoutBatchId = batchFiles.filter(function (file) { return !file.batchId; });
49025
+ var chunkRequests = _flatMap__default["default"](filesWithBatchId, function (file) { return file.chunks; }).filter(function (chunk) { return chunk.status === exports.FileStatus.Pending; });
49026
+ var fileRequests = filesWithoutBatchId.filter(function (file) { return file.status === exports.FileStatus.Pending; });
49027
+ return rxjs.from(__spreadArray(__spreadArray([], __read(chunkRequests)), __read(fileRequests)));
49028
+ }), operators.mergeMap(function (entity) {
49029
+ var file = entity;
49030
+ if (file === null || file === void 0 ? void 0 : file.batchId) {
49031
+ return __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_uploadChunk).call(_this, entity);
49032
+ }
49033
+ else {
49034
+ return __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_generateBatch).call(_this, file === null || file === void 0 ? void 0 : file.id);
49035
+ }
49036
+ }, UPLOADER_CONFIG.MAX_CONCURRENT_REQUESTS), operators.takeUntil(__classPrivateFieldGet(this, _UploaderService_cancelRequests, "f")), operators.finalize(function () { return console.log('All requests processed'); }))
49037
+ .subscribe({
49038
+ complete: function () {
49039
+ console.log('Processing of requests completed');
49040
+ }
49041
+ });
49042
+ }, _UploaderService_generateBatch = function _UploaderService_generateBatch(fileId) {
49043
+ var _this = this;
49044
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
49045
+ var file = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFile).call(this, fileId);
49046
+ if (file.status === exports.FileStatus.Pending) {
49047
+ file.status = exports.FileStatus.InProgress;
49048
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray([], __read(files)));
49049
+ return __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_createBatch).call(this).pipe(UploaderHelper.catchError(), operators.tap(function (batchId) {
49050
+ file.batchId = batchId;
49051
+ file.chunks.forEach(function (c) { return (c.batchId = batchId); });
49052
+ }), operators.tap(function () { return __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(_this, __spreadArray([], __read(files))); }), operators.catchError(function (error) {
49053
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_onUploadError).call(_this, fileId);
49054
+ return rxjs.EMPTY;
49055
+ }));
49056
+ }
49057
+ return rxjs.EMPTY;
49058
+ }, _UploaderService_uploadChunk = function _UploaderService_uploadChunk(chunk) {
49059
+ var _this = this;
49060
+ if (chunk.status === exports.FileStatus.Pending) {
49061
+ chunk.status = exports.FileStatus.InProgress;
49062
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
49063
+ var file = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFile).call(this, chunk.fileId);
49064
+ if (file.status != exports.FileStatus.InProgress) {
49065
+ file.status = exports.FileStatus.InProgress;
49066
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray([], __read(files)));
49067
+ }
49068
+ return __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getProvider).call(this, file)
49069
+ .upload(file, chunk)
49070
+ .pipe(UploaderHelper.catchError(), operators.tap(function () { return __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_onUploadDone).call(_this, chunk); }), operators.catchError(function (error) {
49071
+ if (error.status === 308 /* PermanentRedirect */) {
49072
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_onUploadDone).call(_this, chunk);
49073
+ }
49074
+ else {
49075
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_onUploadError).call(_this, chunk.fileId);
49076
+ }
49077
+ return rxjs.EMPTY;
49078
+ }));
49079
+ }
49080
+ return rxjs.EMPTY;
49081
+ }, _UploaderService_onUploadDone = function _UploaderService_onUploadDone(chunk) {
49082
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
49083
+ var file = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFile).call(this, chunk.fileId);
49084
+ file.chunks.find(function (c) { return c.index == chunk.index; }).status = exports.FileStatus.Completed;
49085
+ var totalChunks = file.chunks.length;
49086
+ var completedChunks = file.chunks.filter(function (c) { return c.status === exports.FileStatus.Completed; }).length;
49087
+ if (completedChunks === totalChunks) {
49088
+ file.status = exports.FileStatus.Completed;
49089
+ file.progress = 100;
49090
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_complete).call(this, file);
49091
+ }
49092
+ else {
49093
+ var progress = (completedChunks / totalChunks) * 100;
49094
+ if (file.progress != progress) {
49095
+ file.progress = progress;
49096
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray([], __read(files)));
49097
+ }
49098
+ }
49099
+ }, _UploaderService_onUploadError = function _UploaderService_onUploadError(fileId) {
49100
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
49101
+ var file = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFile).call(this, fileId);
49102
+ file.chunks.forEach(function (c) { return (c.status = exports.FileStatus.Error); });
49103
+ if (file.status != exports.FileStatus.Error) {
49104
+ file.status = exports.FileStatus.Error;
49105
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray([], __read(files)));
49106
+ }
49107
+ }, _UploaderService_complete = function _UploaderService_complete(batchFile) {
49108
+ var _this = this;
49109
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getProvider).call(this, batchFile)
49110
+ .complete(batchFile)
49111
+ .pipe(operators.first())
49112
+ .subscribe(function () {
49113
+ var files = __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_getFiles).call(_this);
49114
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(_this, __spreadArray([], __read(files)));
49115
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_prepareEvent).call(_this, files, batchFile.id);
49116
+ });
49117
+ }, _UploaderService_getProvider = function _UploaderService_getProvider(batchFile) {
49118
+ switch (batchFile.provider) {
49119
+ case exports.UploadProvider.Nuxeo:
49120
+ return this.nuxeoProvider;
49121
+ case exports.UploadProvider.S3:
49122
+ return this.s3Provider;
49123
+ default:
49124
+ throw new Error('Invalid upload provider. Please contact with NDF developers.');
49125
+ }
49126
+ }, _UploaderService_updateFiles = function _UploaderService_updateFiles(files) {
49127
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_prepareEvent).call(this, files);
49128
+ __classPrivateFieldGet(this, _UploaderService_batchFiles, "f").next(__spreadArray([], __read(files)));
49129
+ }, _UploaderService_prepareEvent = function _UploaderService_prepareEvent(files, fileId) {
49130
+ var _this = this;
49131
+ if (fileId === void 0) { fileId = null; }
49132
+ var filteredFiles = fileId ? files.filter(function (f) { return f.id === fileId; }) : files;
49133
+ __classPrivateFieldGet(this, _UploaderService_filesInfo, "f").next({
49134
+ type: fileId ? exports.FileEventType.Complete : exports.FileEventType.Changes,
49135
+ data: filteredFiles.map(function (_a) {
49136
+ var batchId = _a.batchId, id = _a.id, index = _a.index, progress = _a.progress, status = _a.status, provider = _a.provider, data = _a.data, metadata = _a.metadata;
49137
+ return ({
49138
+ batchId: batchId,
49139
+ id: id,
49140
+ index: index,
49141
+ progress: progress,
49142
+ status: status,
49143
+ provider: provider,
49144
+ data: data,
49145
+ metadata: metadata,
49146
+ icon: _this.iconService.getFileIcon(data)
49147
+ });
49148
+ })
49149
+ });
49150
+ }, _UploaderService_getFile = function _UploaderService_getFile(fileId) {
49151
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
49152
+ return files.find(function (f) { return f.id == fileId; });
49153
+ }, _UploaderService_getFiles = function _UploaderService_getFiles() {
49154
+ return __spreadArray([], __read(__classPrivateFieldGet(this, _UploaderService_batchFiles, "f").getValue()));
49155
+ }, _UploaderService_createBatch = function _UploaderService_createBatch() {
49156
+ return this.post(nuxeoBaseUrl() + "upload").pipe(UploaderHelper.catchError(), UploaderHelper.retryWhen(), operators.map(function (batch) {
49157
+ return batch.batchId;
49158
+ }));
49159
+ }, _UploaderService_deleteBatch = function _UploaderService_deleteBatch(batchId) {
49160
+ var _this = this;
49161
+ return this.delete(nuxeoBaseUrl() + "upload/" + batchId).pipe(UploaderHelper.catchError(), UploaderHelper.retryWhen(), operators.finalize(function () {
49162
+ _this.reset();
49163
+ }));
49164
+ }, _UploaderService_deleteFile = function _UploaderService_deleteFile(fileId) {
49165
+ var _this = this;
49166
+ var files = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFiles).call(this);
49167
+ var file = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFile).call(this, fileId);
49168
+ file.status = exports.FileStatus.Pending;
49169
+ __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(this, __spreadArray([], __read(files)));
49170
+ return this.delete(nuxeoBaseUrl() + "upload/" + file.batchId + "/" + file.index).pipe(UploaderHelper.catchError(), UploaderHelper.retryWhen(), operators.finalize(function () {
49171
+ __classPrivateFieldGet(_this, _UploaderService_instances, "m", _UploaderService_updateFiles).call(_this, __spreadArray([], __read(files.filter(function (f) { return f.id != fileId; }))));
49172
+ }));
49173
+ }, _UploaderService_getFileInfo = function _UploaderService_getFileInfo(fileId) {
49174
+ var file = __classPrivateFieldGet(this, _UploaderService_instances, "m", _UploaderService_getFile).call(this, fileId);
49175
+ return this.get(nuxeoBaseUrl() + "upload/" + file.batchId + "/" + file.index).pipe(UploaderHelper.catchError(), UploaderHelper.retryWhen());
49176
+ };
49177
+ UploaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderService, deps: [{ token: i0__namespace.Injector }, { token: NuxeoProvider }, { token: S3Provider }, { token: IconService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
49178
+ UploaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderService, providedIn: 'root' });
49179
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderService, decorators: [{
49180
+ type: i0.Injectable,
49181
+ args: [{
49182
+ providedIn: 'root'
49183
+ }]
49184
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }, { type: NuxeoProvider }, { type: S3Provider }, { type: IconService }]; } });
49185
+
49186
+ var NdfUploaderBottomSheetComponent = /** @class */ (function (_super) {
49187
+ __extends(NdfUploaderBottomSheetComponent, _super);
49188
+ function NdfUploaderBottomSheetComponent(injector, nuxeoDialogService, uploaderService, uploaderBottomSheetService, files) {
49189
+ var _this = _super.call(this, injector) || this;
49190
+ _this.nuxeoDialogService = nuxeoDialogService;
49191
+ _this.uploaderService = uploaderService;
49192
+ _this.uploaderBottomSheetService = uploaderBottomSheetService;
49193
+ _this.files = files;
49194
+ _this.expanded = true;
49195
+ _this.completed$ = new rxjs.Subject();
49196
+ _this.fileStatus = exports.FileStatus;
49197
+ _this.uploaderBottomSheetService.filesInfo$ = new rxjs.BehaviorSubject([]);
49198
+ _this.uploaderService.reset();
49199
+ return _this;
49200
+ }
49201
+ NdfUploaderBottomSheetComponent.prototype.ngOnInit = function () {
49202
+ var _this = this;
49203
+ if (this.files.length) {
49204
+ this.uploaderService
49205
+ .upload(this.files)
49206
+ .pipe(operators.takeUntil(this.destroy$), operators.distinctUntilChanged())
49207
+ .subscribe(function (event) {
49208
+ if (event.type == exports.FileEventType.Changes) {
49209
+ var data_1 = event.data;
49210
+ _this.uploaderBottomSheetService.filesInfo$.value.forEach(function (item) {
49211
+ var updatedFile = data_1.find(function (q) { return q.batchId == item.batchId; });
49212
+ if (updatedFile) {
49213
+ updatedFile.documentId = item.documentId;
49214
+ }
49215
+ });
49216
+ _this.uploaderBottomSheetService.filesInfo$.next(data_1);
49217
+ _this.completed$.next(data_1.filter(function (q) { return q.status == exports.FileStatus.Completed; }).length);
49218
+ }
49219
+ else if (event.type == exports.FileEventType.Complete) {
49220
+ _this.uploaderBottomSheetService.notify({
49221
+ type: exports.UploaderSheetEventType.Submit,
49222
+ data: event.data[0]
49223
+ });
49224
+ }
49225
+ });
49226
+ }
49227
+ };
49228
+ NdfUploaderBottomSheetComponent.prototype.open = function (fileInfo) {
49229
+ var ids = fileInfo
49230
+ ? [fileInfo.documentId]
49231
+ : this.uploaderBottomSheetService.filesInfo$.value
49232
+ .filter(function (f) { return f.status == exports.FileStatus.Completed; })
49233
+ .map(function (f) { return f.documentId; });
49234
+ this.uploaderBottomSheetService.notify({
49235
+ type: exports.UploaderSheetEventType.Open,
49236
+ data: ids
49237
+ });
49238
+ };
49239
+ NdfUploaderBottomSheetComponent.prototype.add = function (event) {
49240
+ var input = event.target;
49241
+ this.uploaderBottomSheetService.open(Array.from(input.files));
49242
+ this.expanded = true;
49243
+ };
49244
+ NdfUploaderBottomSheetComponent.prototype.dismiss = function () {
49245
+ var _this = this;
49246
+ var allFilesCompleted = this.uploaderBottomSheetService.filesInfo$.value.every(function (f) { return f.status === exports.FileStatus.Completed; });
49247
+ if (allFilesCompleted) {
49248
+ this.uploaderService.reset();
49249
+ return this.uploaderBottomSheetService.close();
49250
+ }
49251
+ this.nuxeoDialogService.showConfirm({
49252
+ message: 'confirmDialog.closeUploading',
49253
+ actions: {
49254
+ confirm: {
49255
+ label: 'BUTTONS.confirm',
49256
+ fn: function () {
49257
+ _this.uploaderBottomSheetService.close();
49258
+ // const hasNotCompleted = this.filesInfo$.value.every(
49259
+ // (f) => f.status != FileStatus.Completed
49260
+ // );
49261
+ // if (hasNotCompleted) {
49262
+ // // will delete all not completed batches or not
49263
+ // return this.uploaderService.cancel();
49264
+ // }
49265
+ _this.uploaderService.reset();
49266
+ return rxjs.of(true);
49267
+ }
49268
+ }
49269
+ }
49270
+ });
49271
+ };
49272
+ NdfUploaderBottomSheetComponent.prototype.retry = function (fileInfo) {
49273
+ this.uploaderService.resume(fileInfo.id);
49274
+ };
49275
+ NdfUploaderBottomSheetComponent.prototype.cancel = function (fileInfo) {
49276
+ this.uploaderService.stop(fileInfo.id);
49277
+ };
49278
+ NdfUploaderBottomSheetComponent.prototype.trackFile = function (index, item) {
49279
+ return item.id;
49280
+ };
49281
+ return NdfUploaderBottomSheetComponent;
49282
+ }(BaseComponent));
49283
+ NdfUploaderBottomSheetComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfUploaderBottomSheetComponent, deps: [{ token: i0__namespace.Injector }, { token: NuxeoDialogService }, { token: UploaderService }, { token: UploaderBottomSheetService }, { token: i1$e.MAT_BOTTOM_SHEET_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
49284
+ NdfUploaderBottomSheetComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfUploaderBottomSheetComponent, selector: "ndf-uploader-bottom-sheet", usesInheritance: true, ngImport: i0__namespace, template: "<mat-expansion-panel [expanded]=\"expanded\" hideToggle>\r\n\t<mat-expansion-panel-header #panelH (click)=\"panelH._toggle()\">\r\n\t\t<div class=\"w-full d-flex justify-content-between\">\r\n\t\t\t<ng-container *ngIf=\"completed$ | async as completed; else generalMsg\">\r\n\t\t\t\t<ng-container *ngIf=\"completed > 1; else single\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center font-weight-bold\">\r\n\t\t\t\t\t\t{{ 'UploaderBottomSheet.MultiUploadsComplete' | translate : { completed: completed } }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<ng-template #single>\r\n\t\t\t\t\t<div class=\"flex items-center justify-center font-weight-bold\">\r\n\t\t\t\t\t\t{{ 'UploaderBottomSheet.SingleUploadsComplete' | translate }}\r\n\t\t\t\t\t</div></ng-template\r\n\t\t\t\t>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #generalMsg>\r\n\t\t\t\t<div class=\"flex items-center justify-center font-weight-bold\">\r\n\t\t\t\t\t{{ 'UploaderBottomSheet.UploadingData' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</ng-template>\r\n\r\n\t\t\t<div>\r\n\t\t\t\t<mat-icon\r\n\t\t\t\t\tclass=\"icon-size-3.5 mx-2\"\r\n\t\t\t\t\t[svgIcon]=\"'icons:plus'\"\r\n\t\t\t\t\t(click)=\"$event.stopPropagation(); fileInput.click()\"\r\n\t\t\t\t\tmatTooltip=\"{{ 'UploaderBottomSheet.CREATE' | translate }}\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-icon>\r\n\t\t\t\t<input type=\"file\" hidden #fileInput (change)=\"add($event)\" multiple />\r\n\r\n\t\t\t\t<mat-icon\r\n\t\t\t\t\tclass=\"icon-size-3.5 mx-2\"\r\n\t\t\t\t\t[svgIcon]=\"'icons:open-folder'\"\r\n\t\t\t\t\t(click)=\"$event.stopPropagation(); open()\"\r\n\t\t\t\t\tmatTooltip=\"{{ 'UploaderBottomSheet.ShowUploadedFiles' | translate }}\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-icon>\r\n\r\n\t\t\t\t<mat-icon\r\n\t\t\t\t\tclass=\"icon-size-3.5 mx-2\"\r\n\t\t\t\t\t[svgIcon]=\"'icons:expand'\"\r\n\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\tcontainerOpened: !expanded,\r\n\t\t\t\t\t\tcontainerClosed: expanded\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t(click)=\"$event.stopPropagation(); expanded = !expanded\"\r\n\t\t\t\t\tmatTooltip=\"{{ (expanded ? 'UploaderBottomSheet.MINIMIZED' : 'UploaderBottomSheet.MAXIMIZED') | translate }}\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-icon>\r\n\r\n\t\t\t\t<mat-icon\r\n\t\t\t\t\tclass=\"icon-size-3.5 close-sheet\"\r\n\t\t\t\t\t[svgIcon]=\"'icons:cancel-icon'\"\r\n\t\t\t\t\t(click)=\"$event.stopPropagation(); dismiss()\"\r\n\t\t\t\t\tmatTooltip=\"{{ 'UploaderBottomSheet.CLOSE' | translate }}\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-icon>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</mat-expansion-panel-header>\r\n\r\n\t<div>\r\n\t\t<div\r\n\t\t\tclass=\"file-item d-flex justify-content-between align-items-center py-2 px-5\"\r\n\t\t\t*ngFor=\"let fileInfo of uploaderBottomSheetService.filesInfo$ | async; trackBy: trackFile\"\r\n\t\t>\r\n\t\t\t<div class=\"d-flex align-items-center truncate\">\r\n\t\t\t\t<img src=\"{{ fileInfo.icon }}\" class=\"file-icon\" alt=\"{{ fileInfo.data.name }}\" />\r\n\t\t\t\t<span class=\"truncate file-name\">{{ fileInfo.data.name }}</span>\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<!-- only if user hover the row -->\r\n\t\t\t\t<span class=\"more-upload-actions align-items-center\">\r\n\t\t\t\t\t<!-- cancel if file : pending or uploading + hover -->\r\n\t\t\t\t\t<mat-icon\r\n\t\t\t\t\t\tclass=\"icon-size-3.5\"\r\n\t\t\t\t\t\t[svgIcon]=\"'icons:cancel-icon'\"\r\n\t\t\t\t\t\t(click)=\"$event.stopPropagation(); cancel(fileInfo)\"\r\n\t\t\t\t\t\tmatTooltip=\"{{ 'UploaderBottomSheet.CANCEL' | translate }}\"\r\n\t\t\t\t\t\t*ngIf=\"fileInfo.status == fileStatus.Pending || fileInfo.status == fileStatus.InProgress\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</mat-icon>\r\n\r\n\t\t\t\t\t<!-- retry if file : canceled or error + hover -->\r\n\t\t\t\t\t<mat-icon\r\n\t\t\t\t\t\tclass=\"icon-size-4.5\"\r\n\t\t\t\t\t\t[svgIcon]=\"'icons:retry'\"\r\n\t\t\t\t\t\t(click)=\"$event.stopPropagation(); retry(fileInfo)\"\r\n\t\t\t\t\t\tmatTooltip=\"{{ 'UploaderBottomSheet.RETRY' | translate }}\"\r\n\t\t\t\t\t\t*ngIf=\"fileInfo.status == fileStatus.Canceled || fileInfo.status == fileStatus.Error\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</mat-icon>\r\n\r\n\t\t\t\t\t<!-- open file : hover + completed -->\r\n\t\t\t\t\t<mat-icon\r\n\t\t\t\t\t\tclass=\"icon-size-4.5\"\r\n\t\t\t\t\t\t[svgIcon]=\"'icons:open-folder'\"\r\n\t\t\t\t\t\t(click)=\"$event.stopPropagation(); open(fileInfo)\"\r\n\t\t\t\t\t\tmatTooltip=\"{{ 'UploaderBottomSheet.OPEN' | translate }}\"\r\n\t\t\t\t\t\t*ngIf=\"fileInfo.status == fileStatus.Completed\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</mat-icon>\r\n\t\t\t\t</span>\r\n\r\n\t\t\t\t<span class=\"base-upload-actions align-items-center\">\r\n\t\t\t\t\t<!-- file completed -->\r\n\t\t\t\t\t<mat-icon class=\"icon-size-4.5\" [svgIcon]=\"'icons:complete'\" *ngIf=\"fileInfo.status == fileStatus.Completed\">\r\n\t\t\t\t\t</mat-icon>\r\n\r\n\t\t\t\t\t<!-- file has error -->\r\n\t\t\t\t\t<mat-icon class=\"icon-size-4.5\" [svgIcon]=\"'icons:error'\" *ngIf=\"fileInfo.status == fileStatus.Error\">\r\n\t\t\t\t\t</mat-icon>\r\n\r\n\t\t\t\t\t<!-- user cancle the file -->\r\n\t\t\t\t\t<mat-icon class=\"icon-size-4.5\" [svgIcon]=\"'icons:error'\" *ngIf=\"fileInfo.status == fileStatus.Canceled\">\r\n\t\t\t\t\t</mat-icon>\r\n\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"spinner-container\"\r\n\t\t\t\t\t\t*ngIf=\"fileInfo.status == fileStatus.Pending || fileInfo.status == fileStatus.InProgress\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<mat-spinner [value]=\"fileInfo.progress\" diameter=\"20\" strokeWidth=\"2\" color=\"primary\"></mat-spinner>\r\n\t\t\t\t\t\t<div class=\"spinner-percentage\" *ngIf=\"fileInfo.status == fileStatus.InProgress\">\r\n\t\t\t\t\t\t\t{{ fileInfo.progress | number : '1.0-0' }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</mat-expansion-panel>\r\n", styles: [".spinner-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.spinner-percentage{position:absolute;font-size:10px}.file-name{height:24px}.base-upload-actions{display:inline-block}.more-upload-actions{display:none}.file-item:hover{cursor:pointer;background:#f5f5f5}.file-item:hover .base-upload-actions{display:none}.file-item:hover .more-upload-actions{display:flex}.close-sheet{margin-inline-start:.5rem}\n"], components: [{ type: i6__namespace$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i6__namespace$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7__namespace.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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4__namespace$1.AsyncPipe, "translate": i1__namespace.TranslatePipe, "number": i4__namespace$1.DecimalPipe } });
49285
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfUploaderBottomSheetComponent, decorators: [{
49286
+ type: i0.Component,
49287
+ args: [{
49288
+ selector: 'ndf-uploader-bottom-sheet',
49289
+ styleUrls: ['./ndf-uploader-bottom-sheet.component.scss'],
49290
+ templateUrl: './ndf-uploader-bottom-sheet.component.html'
49291
+ }]
49292
+ }], ctorParameters: function () {
49293
+ return [{ type: i0__namespace.Injector }, { type: NuxeoDialogService }, { type: UploaderService }, { type: UploaderBottomSheetService }, { type: Array, decorators: [{
49294
+ type: i0.Inject,
49295
+ args: [i1$e.MAT_BOTTOM_SHEET_DATA]
49296
+ }] }];
49297
+ } });
49298
+
49299
+ var _UploaderBottomSheetService_instances, _UploaderBottomSheetService_events, _UploaderBottomSheetService_isBottomSheetOpen_get;
49300
+ var CUSTOM_PANEL_CLASS = 'upload-bottom-sheet';
49301
+ exports.UploaderSheetEventType = void 0;
49302
+ (function (UploaderSheetEventType) {
49303
+ UploaderSheetEventType["Open"] = "Open";
49304
+ UploaderSheetEventType["Submit"] = "Submit";
49305
+ })(exports.UploaderSheetEventType || (exports.UploaderSheetEventType = {}));
49306
+ var UploaderBottomSheetService = /** @class */ (function () {
49307
+ function UploaderBottomSheetService(bottomSheetService, uploaderService, translateService) {
49308
+ this.bottomSheetService = bottomSheetService;
49309
+ this.uploaderService = uploaderService;
49310
+ this.translateService = translateService;
49311
+ _UploaderBottomSheetService_instances.add(this);
49312
+ this.filesInfo$ = new rxjs.BehaviorSubject([]);
49313
+ _UploaderBottomSheetService_events.set(this, new rxjs.Subject());
49314
+ this.events$ = __classPrivateFieldGet(this, _UploaderBottomSheetService_events, "f").asObservable();
49315
+ }
49316
+ UploaderBottomSheetService.prototype.open = function (files) {
49317
+ if (__classPrivateFieldGet(this, _UploaderBottomSheetService_instances, "a", _UploaderBottomSheetService_isBottomSheetOpen_get)) {
49318
+ this.uploaderService.upload(files);
49319
+ return this.events$;
49320
+ }
49321
+ else {
49322
+ this.bottomSheetService.open(NdfUploaderBottomSheetComponent, {
49323
+ panelClass: CUSTOM_PANEL_CLASS,
49324
+ direction: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',
49325
+ disableClose: true,
49326
+ hasBackdrop: false,
49327
+ data: files
49328
+ });
49329
+ return this.events$;
49330
+ }
49331
+ };
49332
+ UploaderBottomSheetService.prototype.close = function () {
49333
+ if (!__classPrivateFieldGet(this, _UploaderBottomSheetService_instances, "a", _UploaderBottomSheetService_isBottomSheetOpen_get))
49334
+ return;
49335
+ this.uploaderService.reset();
49336
+ this.bottomSheetService.dismiss();
49337
+ };
49338
+ UploaderBottomSheetService.prototype.notify = function (event) {
49339
+ __classPrivateFieldGet(this, _UploaderBottomSheetService_events, "f").next(event);
49340
+ };
49341
+ UploaderBottomSheetService.prototype.submit = function (batchId, options) {
49342
+ var _this = this;
49343
+ return this.uploaderService.submit(options).pipe(operators.tap(function (data) {
49344
+ var _a;
49345
+ var files = _this.filesInfo$.getValue();
49346
+ files.find(function (f) { return f.batchId == batchId; }).documentId = (_a = data.entries[0]) === null || _a === void 0 ? void 0 : _a.uid;
49347
+ _this.filesInfo$.next(files);
49348
+ }));
49349
+ };
49350
+ return UploaderBottomSheetService;
49351
+ }());
49352
+ _UploaderBottomSheetService_events = new WeakMap(), _UploaderBottomSheetService_instances = new WeakSet(), _UploaderBottomSheetService_isBottomSheetOpen_get = function _UploaderBottomSheetService_isBottomSheetOpen_get() {
49353
+ return this.bottomSheetService._openedBottomSheetRef !== null;
49354
+ };
49355
+ UploaderBottomSheetService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderBottomSheetService, deps: [{ token: i1__namespace$e.MatBottomSheet }, { token: UploaderService }, { token: i1__namespace.TranslateService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
49356
+ UploaderBottomSheetService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderBottomSheetService, providedIn: 'root' });
49357
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderBottomSheetService, decorators: [{
49358
+ type: i0.Injectable,
49359
+ args: [{
49360
+ providedIn: 'root'
49361
+ }]
49362
+ }], ctorParameters: function () { return [{ type: i1__namespace$e.MatBottomSheet }, { type: UploaderService }, { type: i1__namespace.TranslateService }]; } });
49363
+
49364
+ var FILE_CONTENT = {
49365
+ CONTENT: 'file:content',
49366
+ BATCH: 'upload-batch',
49367
+ FILE_INDEX: 'upload-fileId'
49368
+ };
49369
+
49370
+ var UploaderModule = /** @class */ (function () {
49371
+ function UploaderModule() {
49372
+ }
49373
+ return UploaderModule;
49374
+ }());
49375
+ UploaderModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
49376
+ UploaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderModule, declarations: [NdfUploaderBottomSheetComponent], imports: [i4.CommonModule,
49377
+ i1.TranslateModule,
49378
+ i1$4.MatDialogModule,
49379
+ i2$2.MatIconModule,
49380
+ i1$b.MatButtonModule,
49381
+ i1$e.MatBottomSheetModule,
49382
+ i6$1.MatExpansionModule,
49383
+ i7.MatTooltipModule,
49384
+ i3$1.MatProgressSpinnerModule] });
49385
+ UploaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderModule, imports: [[
49386
+ i4.CommonModule,
49387
+ i1.TranslateModule,
49388
+ i1$4.MatDialogModule,
49389
+ i2$2.MatIconModule,
49390
+ i1$b.MatButtonModule,
49391
+ i1$e.MatBottomSheetModule,
49392
+ i6$1.MatExpansionModule,
49393
+ i7.MatTooltipModule,
49394
+ i3$1.MatProgressSpinnerModule
49395
+ ]] });
49396
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: UploaderModule, decorators: [{
49397
+ type: i0.NgModule,
49398
+ args: [{
49399
+ imports: [
49400
+ i4.CommonModule,
49401
+ i1.TranslateModule,
49402
+ i1$4.MatDialogModule,
49403
+ i2$2.MatIconModule,
49404
+ i1$b.MatButtonModule,
49405
+ i1$e.MatBottomSheetModule,
49406
+ i6$1.MatExpansionModule,
49407
+ i7.MatTooltipModule,
49408
+ i3$1.MatProgressSpinnerModule
49409
+ ],
49410
+ declarations: [NdfUploaderBottomSheetComponent]
49411
+ }]
49412
+ }] });
49413
+
48764
49414
  /*
48765
49415
  * Public API Surface of nuxeo-development-framework
48766
49416
  */
@@ -48992,6 +49642,7 @@
48992
49642
  exports.ExtensionService = ExtensionService;
48993
49643
  exports.FIELD_SEND_MODE = FIELD_SEND_MODE;
48994
49644
  exports.FIELD_TYPE = FIELD_TYPE;
49645
+ exports.FILE_CONTENT = FILE_CONTENT;
48995
49646
  exports.FILTER_CUSTOM_TEMPLATE = FILTER_CUSTOM_TEMPLATE;
48996
49647
  exports.FILTER_DATES_TYPE = FILTER_DATES_TYPE;
48997
49648
  exports.FieldHeaderComponent = FieldHeaderComponent;
@@ -49232,6 +49883,9 @@
49232
49883
  exports.UpdateModalComponent = UpdateModalComponent;
49233
49884
  exports.UploadFileService = UploadFileService;
49234
49885
  exports.UploadManagmentService = UploadManagmentService;
49886
+ exports.UploaderBottomSheetService = UploaderBottomSheetService;
49887
+ exports.UploaderModule = UploaderModule;
49888
+ exports.UploaderService = UploaderService;
49235
49889
  exports.UserCardComponent = UserCardComponent;
49236
49890
  exports.UserComponent = UserComponent;
49237
49891
  exports.UserModule = UserModule;
@@ -49267,6 +49921,7 @@
49267
49921
  exports.mergeArrays = mergeArrays;
49268
49922
  exports.mergeObjects = mergeObjects;
49269
49923
  exports.minute = minute$1;
49924
+ exports.nuxeoBaseUrl = nuxeoBaseUrl;
49270
49925
  exports.provideExtensionConfig = provideExtensionConfig;
49271
49926
  exports.reduceEmptyMenus = reduceEmptyMenus;
49272
49927
  exports.reduceSeparators = reduceSeparators;