@sumaris-net/ngx-components 1.22.11-rc14 → 1.22.11-rc17

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 (29) hide show
  1. package/bundles/sumaris-net.ngx-components.umd.js +224 -213
  2. package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
  3. package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
  4. package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
  5. package/esm2015/public_api.js +2 -2
  6. package/esm2015/src/app/core/services/account.service.js +2 -2
  7. package/esm2015/src/app/shared/file/file.service.js +18 -18
  8. package/esm2015/src/app/shared/file/images.utils.js +166 -0
  9. package/esm2015/src/app/social/user-event/notification/user-event-notification.list.js +1 -1
  10. package/esm2015/src/app/social/user-event/testing/user-event.testing.js +9 -9
  11. package/esm2015/src/app/social/user-event/testing/user-event.testing.model.js +103 -0
  12. package/esm2015/src/app/social/user-event/testing/user-event.testing.service.js +3 -3
  13. package/esm2015/src/app/social/user-event/user-event.model.js +2 -106
  14. package/fesm2015/sumaris-net.ngx-components.js +193 -201
  15. package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
  16. package/package.json +1 -1
  17. package/public_api.d.ts +1 -1
  18. package/src/app/shared/file/file.service.d.ts +5 -5
  19. package/src/app/shared/file/images.utils.d.ts +19 -0
  20. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +3 -3
  21. package/src/app/social/user-event/testing/user-event.testing.d.ts +2 -2
  22. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +41 -0
  23. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +4 -4
  24. package/src/app/social/user-event/user-event.model.d.ts +9 -44
  25. package/sumaris-net.ngx-components.metadata.json +1 -1
  26. package/esm2015/src/app/shared/file/base64-image-reader.js +0 -141
  27. package/esm2015/src/app/social/user-event/user-event.fragments.js +0 -27
  28. package/src/app/shared/file/base64-image-reader.d.ts +0 -18
  29. package/src/app/social/user-event/user-event.fragments.d.ts +0 -4
@@ -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/cdk/table'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/table'), require('@angular/material/sort'), require('@angular/material/paginator'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@angular/material/expansion'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/card'), require('@angular/material/tabs'), require('@angular/material/stepper'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/progress-spinner'), require('@angular/material/progress-bar'), require('@angular/material/radio'), require('@angular/material/badge'), require('@angular/material/slide-toggle'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/animations'), require('@ngx-translate/core'), require('@ionic/angular'), require('moment'), require('@angular/material-moment-adapter'), require('@ionic-native/keyboard/ngx'), require('angular2-text-mask'), require('ngx-material-timepicker'), require('@angular/material/datepicker'), require('@angular/material/divider'), require('@angular/material/tooltip'), require('@angular/material/chips'), require('@angular/router'), require('@angular/platform-browser'), require('@angular/common/http'), require('ngx-color-picker'), require('@ionic-native/native-audio/ngx'), require('@ionic-native/vibration/ngx'), require('@ionic-native/audio-management/ngx'), require('@ionic-native/native-audio/ngx/index'), require('@ionic-native/vibration/ngx/index'), require('@ionic-native/audio-management/ngx/index'), require('uuid/v4'), require('@angular/cdk/drag-drop'), require('ngx-markdown'), require('tweetnacl'), require('@ionic/storage'), require('zone.js/dist/zone-error'), require('@ionic-native/splash-screen/ngx'), require('@ionic-native/network/ngx'), require('ionic-cache'), require('ionic-cache/dist/cache.service'), require('@ionic-native/network/ngx/index'), require('@ionic-native/splash-screen/ngx/index'), require('@ionic-native/status-bar/ngx'), require('@angular/cdk/platform'), require('@ionic-native/in-app-browser/ngx'), require('@apollo/client/core'), require('apollo-angular'), require('@apollo/client/link/ws'), require('@apollo/client/utilities'), require('@apollo/client/link/retry'), require('apollo-link-queue'), require('apollo-link-serialize'), require('apollo-link-logger'), require('apollo-angular/http'), require('apollo3-cache-persist'), require('@ionic-native/downloader/ngx'), require('@ionic-native/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@ionic-native/downloader/ngx/index'), require('@angular/cdk/text-field'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs'), require('moment-timezone')) :
3
- typeof define === 'function' && define.amd ? define('@sumaris-net/ngx-components', ['exports', '@angular/core', '@angular/common', '@angular/cdk/table', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/table', '@angular/material/sort', '@angular/material/paginator', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@angular/material/expansion', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/button', '@angular/material/menu', '@angular/material/select', '@angular/material/card', '@angular/material/tabs', '@angular/material/stepper', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/progress-spinner', '@angular/material/progress-bar', '@angular/material/radio', '@angular/material/badge', '@angular/material/slide-toggle', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/animations', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@angular/material/divider', '@angular/material/tooltip', '@angular/material/chips', '@angular/router', '@angular/platform-browser', '@angular/common/http', 'ngx-color-picker', '@ionic-native/native-audio/ngx', '@ionic-native/vibration/ngx', '@ionic-native/audio-management/ngx', '@ionic-native/native-audio/ngx/index', '@ionic-native/vibration/ngx/index', '@ionic-native/audio-management/ngx/index', 'uuid/v4', '@angular/cdk/drag-drop', 'ngx-markdown', 'tweetnacl', '@ionic/storage', 'zone.js/dist/zone-error', '@ionic-native/splash-screen/ngx', '@ionic-native/network/ngx', 'ionic-cache', 'ionic-cache/dist/cache.service', '@ionic-native/network/ngx/index', '@ionic-native/splash-screen/ngx/index', '@ionic-native/status-bar/ngx', '@angular/cdk/platform', '@ionic-native/in-app-browser/ngx', '@apollo/client/core', 'apollo-angular', '@apollo/client/link/ws', '@apollo/client/utilities', '@apollo/client/link/retry', 'apollo-link-queue', 'apollo-link-serialize', 'apollo-link-logger', 'apollo-angular/http', 'apollo3-cache-persist', '@ionic-native/downloader/ngx', '@ionic-native/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/ngx/index', '@ionic-native/downloader/ngx/index', '@angular/cdk/text-field', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs', 'moment-timezone'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sumaris-net'] = global['sumaris-net'] || {}, global['sumaris-net']['ngx-components'] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.animations, global['ngx-translate'].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global['ionic-native'].keyboard.ngx, global['angular2-text-mask'], global['ngx-material-timepicker'], global.ng.material.datepicker, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global['ngx-color-picker'], global['ionic-native']['native-audio'].ngx, global['ionic-native'].vibration.ngx, global['ionic-native']['audio-management'].ngx, global['ionic-native']['native-audio'].ngx.index, global['ionic-native'].vibration.ngx.index, global['ionic-native']['audio-management'].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global['ngx-markdown'], global.tweetnacl, global.ionic.storage, null, global['ionic-native']['splash-screen'].ngx, global['ionic-native'].network.ngx, global['ionic-cache'], global['ionic-cache/dist/cache'].service, global['ionic-native'].network.ngx.index, global['ionic-native']['splash-screen'].ngx.index, global['ionic-native']['status-bar'].ngx, global.ng.cdk.platform, global['ionic-native']['in-app-browser'].ngx, global.apollo.client.core, global['apollo-angular'], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global['apollo-link-queue'], global['apollo-link-serialize'], global['apollo-link-logger'], global['apollo-angular'].http, global['apollo3-cache-persist'], global['ionic-native'].downloader.ngx, global['ionic-native']['status-bar'].ngx.index, global['ionic-native'].keyboard.ngx.index, global['ionic-native']['in-app-browser'].ngx.index, global['ionic-native'].downloader.ngx.index, global.ng.cdk.textField, global['e-is']['ngx-material-table'], global.ng.cdk.collections, global['ngx-jdenticon'], null, null, null, global['moment-timezone']));
5
- }(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, animations, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, textField, ngxMaterialTable, collections, ngxJdenticon, tweetnaclUtil, scryptAsync, hammerjs, momentTZImported) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/cdk/table'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/table'), require('@angular/material/sort'), require('@angular/material/paginator'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@angular/material/expansion'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/card'), require('@angular/material/tabs'), require('@angular/material/stepper'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/progress-spinner'), require('@angular/material/progress-bar'), require('@angular/material/radio'), require('@angular/material/badge'), require('@angular/material/slide-toggle'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@angular/animations'), require('@ngx-translate/core'), require('@ionic/angular'), require('moment'), require('@angular/material-moment-adapter'), require('@ionic-native/keyboard/ngx'), require('angular2-text-mask'), require('ngx-material-timepicker'), require('@angular/material/datepicker'), require('@angular/material/divider'), require('@angular/material/tooltip'), require('@angular/material/chips'), require('@angular/router'), require('@angular/platform-browser'), require('@angular/common/http'), require('ngx-color-picker'), require('@ionic-native/native-audio/ngx'), require('@ionic-native/vibration/ngx'), require('@ionic-native/audio-management/ngx'), require('@ionic-native/native-audio/ngx/index'), require('@ionic-native/vibration/ngx/index'), require('@ionic-native/audio-management/ngx/index'), require('uuid/v4'), require('rxjs/internal/operators'), require('@angular/cdk/drag-drop'), require('ngx-markdown'), require('tweetnacl'), require('@ionic/storage'), require('zone.js/dist/zone-error'), require('@ionic-native/splash-screen/ngx'), require('@ionic-native/network/ngx'), require('ionic-cache'), require('ionic-cache/dist/cache.service'), require('@ionic-native/network/ngx/index'), require('@ionic-native/splash-screen/ngx/index'), require('@ionic-native/status-bar/ngx'), require('@angular/cdk/platform'), require('@ionic-native/in-app-browser/ngx'), require('@apollo/client/core'), require('apollo-angular'), require('@apollo/client/link/ws'), require('@apollo/client/utilities'), require('@apollo/client/link/retry'), require('apollo-link-queue'), require('apollo-link-serialize'), require('apollo-link-logger'), require('apollo-angular/http'), require('apollo3-cache-persist'), require('@ionic-native/downloader/ngx'), require('@ionic-native/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@ionic-native/downloader/ngx/index'), require('@angular/cdk/text-field'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs'), require('moment-timezone')) :
3
+ typeof define === 'function' && define.amd ? define('@sumaris-net/ngx-components', ['exports', '@angular/core', '@angular/common', '@angular/cdk/table', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/table', '@angular/material/sort', '@angular/material/paginator', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@angular/material/expansion', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/button', '@angular/material/menu', '@angular/material/select', '@angular/material/card', '@angular/material/tabs', '@angular/material/stepper', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/progress-spinner', '@angular/material/progress-bar', '@angular/material/radio', '@angular/material/badge', '@angular/material/slide-toggle', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/forms', 'rxjs', 'rxjs/operators', '@angular/animations', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@angular/material/divider', '@angular/material/tooltip', '@angular/material/chips', '@angular/router', '@angular/platform-browser', '@angular/common/http', 'ngx-color-picker', '@ionic-native/native-audio/ngx', '@ionic-native/vibration/ngx', '@ionic-native/audio-management/ngx', '@ionic-native/native-audio/ngx/index', '@ionic-native/vibration/ngx/index', '@ionic-native/audio-management/ngx/index', 'uuid/v4', 'rxjs/internal/operators', '@angular/cdk/drag-drop', 'ngx-markdown', 'tweetnacl', '@ionic/storage', 'zone.js/dist/zone-error', '@ionic-native/splash-screen/ngx', '@ionic-native/network/ngx', 'ionic-cache', 'ionic-cache/dist/cache.service', '@ionic-native/network/ngx/index', '@ionic-native/splash-screen/ngx/index', '@ionic-native/status-bar/ngx', '@angular/cdk/platform', '@ionic-native/in-app-browser/ngx', '@apollo/client/core', 'apollo-angular', '@apollo/client/link/ws', '@apollo/client/utilities', '@apollo/client/link/retry', 'apollo-link-queue', 'apollo-link-serialize', 'apollo-link-logger', 'apollo-angular/http', 'apollo3-cache-persist', '@ionic-native/downloader/ngx', '@ionic-native/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/ngx/index', '@ionic-native/downloader/ngx/index', '@angular/cdk/text-field', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs', 'moment-timezone'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sumaris-net'] = global['sumaris-net'] || {}, global['sumaris-net']['ngx-components'] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global.ng.animations, global['ngx-translate'].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global['ionic-native'].keyboard.ngx, global['angular2-text-mask'], global['ngx-material-timepicker'], global.ng.material.datepicker, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global['ngx-color-picker'], global['ionic-native']['native-audio'].ngx, global['ionic-native'].vibration.ngx, global['ionic-native']['audio-management'].ngx, global['ionic-native']['native-audio'].ngx.index, global['ionic-native'].vibration.ngx.index, global['ionic-native']['audio-management'].ngx.index, global.uuid.v4, global.rxjs['internal/operators'], global.ng.cdk.dragDrop, global['ngx-markdown'], global.tweetnacl, global.ionic.storage, null, global['ionic-native']['splash-screen'].ngx, global['ionic-native'].network.ngx, global['ionic-cache'], global['ionic-cache/dist/cache'].service, global['ionic-native'].network.ngx.index, global['ionic-native']['splash-screen'].ngx.index, global['ionic-native']['status-bar'].ngx, global.ng.cdk.platform, global['ionic-native']['in-app-browser'].ngx, global.apollo.client.core, global['apollo-angular'], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global['apollo-link-queue'], global['apollo-link-serialize'], global['apollo-link-logger'], global['apollo-angular'].http, global['apollo3-cache-persist'], global['ionic-native'].downloader.ngx, global['ionic-native']['status-bar'].ngx.index, global['ionic-native'].keyboard.ngx.index, global['ionic-native']['in-app-browser'].ngx.index, global['ionic-native'].downloader.ngx.index, global.ng.cdk.textField, global['e-is']['ngx-material-table'], global.ng.cdk.collections, global['ngx-jdenticon'], null, null, null, global['moment-timezone']));
5
+ }(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, animations, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, operators$1, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, textField, ngxMaterialTable, collections, ngxJdenticon, tweetnaclUtil, scryptAsync, hammerjs, momentTZImported) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -10553,44 +10553,97 @@
10553
10553
  },] }
10554
10554
  ];
10555
10555
 
10556
+ var UploadFile = /** @class */ (function (_super) {
10557
+ __extends(UploadFile, _super);
10558
+ function UploadFile() {
10559
+ return _super !== null && _super.apply(this, arguments) || this;
10560
+ }
10561
+ return UploadFile;
10562
+ }(File));
10563
+ var FileResponse = /** @class */ (function () {
10564
+ function FileResponse(init) {
10565
+ this.type = i2$1.HttpEventType.Response;
10566
+ this.body = isNotNil(init === null || init === void 0 ? void 0 : init.body) ? init.body : null;
10567
+ this.status = (init === null || init === void 0 ? void 0 : init.status) || 0;
10568
+ this.statusText = (init === null || init === void 0 ? void 0 : init.statusText) || 'OK';
10569
+ }
10570
+ return FileResponse;
10571
+ }());
10572
+ function isProgressEvent(event) {
10573
+ return event && (event.type === i2$1.HttpEventType.UploadProgress
10574
+ || event.type === i2$1.HttpEventType.DownloadProgress);
10575
+ }
10576
+ function isResponseEvent(event) {
10577
+ return event && event.type === i2$1.HttpEventType.Response;
10578
+ }
10579
+
10556
10580
  var IMAGE_DEFAULTS = {
10557
10581
  MAX_HEIGHT: 480,
10558
10582
  MAX_WIDTH: 640,
10559
10583
  THUMB_MAX_HEIGHT: 200,
10560
10584
  THUMB_MAX_WIDTH: 200
10561
10585
  };
10562
- var Base64ImageReader = /** @class */ (function () {
10563
- function Base64ImageReader() {
10586
+ // @dynamic
10587
+ var ImagesUtils = /** @class */ (function () {
10588
+ function ImagesUtils() {
10564
10589
  }
10565
- Base64ImageReader.prototype.readFromBlob = function (file) {
10566
- return __awaiter(this, void 0, void 0, function () {
10567
- var dataUrl;
10568
- return __generator(this, function (_a) {
10569
- switch (_a.label) {
10570
- case 0:
10571
- if (!file)
10572
- throw new Error('Illegal argument: missing file');
10573
- return [4 /*yield*/, new Promise(function (resolve, reject) {
10574
- var reader = new FileReader();
10575
- reader.addEventListener('load', function (event) { return resolve(reader.result); }, false);
10576
- reader.readAsDataURL(file);
10577
- })];
10578
- case 1:
10579
- dataUrl = _a.sent();
10580
- return [2 /*return*/, dataUrl];
10581
- }
10582
- });
10583
- });
10590
+ ImagesUtils.readAsDataURL = function (file, opts) {
10591
+ var _this = this;
10592
+ var $progress = new rxjs.Subject();
10593
+ var reader = new FileReader();
10594
+ // Listen progress
10595
+ reader.onprogress = function (e) {
10596
+ var total = e.total || 1;
10597
+ var loaded = e.total || 0;
10598
+ if (loaded < total)
10599
+ $progress.next({ type: i2$1.HttpEventType.UploadProgress, loaded: loaded, total: total });
10600
+ };
10601
+ // Listen end
10602
+ reader.onloadend = function (e) {
10603
+ var body = reader.result;
10604
+ if (typeof body === 'string') {
10605
+ $progress.next(new FileResponse({ body: body }));
10606
+ $progress.complete();
10607
+ }
10608
+ else {
10609
+ console.error("[image-utils] Cannot read file '" + file.name + "' as text");
10610
+ $progress.error("Cannot read file as text");
10611
+ }
10612
+ };
10613
+ // Listen error
10614
+ reader.onerror = function (event) {
10615
+ console.error('[image-utils] Error while reading file:', event);
10616
+ $progress.error(event);
10617
+ };
10618
+ // Start reading the file
10619
+ reader.readAsDataURL(file);
10620
+ // Resize image, if need
10621
+ if (opts) {
10622
+ return $progress.pipe(operators$1.mergeMap(function (event) { return __awaiter(_this, void 0, void 0, function () {
10623
+ var body;
10624
+ return __generator(this, function (_a) {
10625
+ switch (_a.label) {
10626
+ case 0:
10627
+ if (!(event instanceof FileResponse)) return [3 /*break*/, 2];
10628
+ return [4 /*yield*/, ImagesUtils.resizeBase64(event.body, opts)];
10629
+ case 1:
10630
+ body = _a.sent();
10631
+ return [2 /*return*/, new FileResponse({ body: body })];
10632
+ case 2: return [2 /*return*/, event];
10633
+ }
10634
+ });
10635
+ }); }));
10636
+ }
10637
+ return $progress.asObservable();
10584
10638
  };
10585
- Base64ImageReader.prototype.readAndResizeFromUrl = function (path, opts) {
10639
+ ImagesUtils.readAndResizeFromUrl = function (fileUrl, opts) {
10586
10640
  return __awaiter(this, void 0, void 0, function () {
10587
10641
  var img, err_1;
10588
- var _this = this;
10589
10642
  return __generator(this, function (_a) {
10590
10643
  switch (_a.label) {
10591
10644
  case 0:
10592
- if (isNilOrBlank(path))
10593
- throw new Error('Illegal argument: missing path');
10645
+ if (isNilOrBlank(fileUrl))
10646
+ throw new Error('Illegal argument: missing fileUrl');
10594
10647
  img = document.createElement('img');
10595
10648
  // Need to avoid CORS error
10596
10649
  // (see https://stackoverflow.com/questions/22710627/tainted-canvases-may-not-be-exported)
@@ -10599,14 +10652,14 @@
10599
10652
  case 1:
10600
10653
  _a.trys.push([1, 3, 4, 5]);
10601
10654
  return [4 /*yield*/, new Promise(function (resolve, reject) {
10602
- img.addEventListener('load', _this.createImageOnLoadResizeFn(resolve, reject, opts), false);
10655
+ img.addEventListener('load', ImagesUtils.createImageOnLoadResizeFn(resolve, reject, opts), false);
10603
10656
  img.addEventListener('error', reject);
10604
- img.src = path;
10657
+ img.src = fileUrl;
10605
10658
  })];
10606
10659
  case 2: return [2 /*return*/, _a.sent()];
10607
10660
  case 3:
10608
10661
  err_1 = _a.sent();
10609
- throw new Error("Failed to load and resize image {" + path + "}");
10662
+ throw new Error("Failed to load and resize image {" + fileUrl + "}");
10610
10663
  case 4:
10611
10664
  img.remove();
10612
10665
  return [7 /*endfinally*/];
@@ -10615,15 +10668,12 @@
10615
10668
  });
10616
10669
  });
10617
10670
  };
10618
- Base64ImageReader.prototype.readAndResizeFromBlob = function (file, opts) {
10671
+ ImagesUtils.resizeBase64 = function (dataUrl, opts) {
10619
10672
  return __awaiter(this, void 0, void 0, function () {
10620
10673
  var img;
10621
- var _this = this;
10622
10674
  return __generator(this, function (_a) {
10623
10675
  switch (_a.label) {
10624
10676
  case 0:
10625
- if (!file)
10626
- throw new Error('Illegal argument: missing file');
10627
10677
  img = document.createElement('img');
10628
10678
  // Need to avoid CORS error
10629
10679
  // (see https://stackoverflow.com/questions/22710627/tainted-canvases-may-not-be-exported)
@@ -10632,13 +10682,9 @@
10632
10682
  case 1:
10633
10683
  _a.trys.push([1, , 3, 4]);
10634
10684
  return [4 /*yield*/, new Promise(function (resolve, reject) {
10635
- var reader = new FileReader();
10636
- reader.addEventListener('load', function (event) {
10637
- // Resize image
10638
- img.onload = _this.createImageOnLoadResizeFn(resolve, reject, opts);
10639
- img.src = reader.result;
10640
- }, false);
10641
- reader.readAsDataURL(file);
10685
+ img.addEventListener('load', ImagesUtils.createImageOnLoadResizeFn(resolve, reject, opts), false);
10686
+ img.addEventListener('error', reject);
10687
+ img.src = dataUrl;
10642
10688
  })];
10643
10689
  case 2: return [2 /*return*/, _a.sent()];
10644
10690
  case 3:
@@ -10649,8 +10695,7 @@
10649
10695
  });
10650
10696
  });
10651
10697
  };
10652
- /* -- protected methods -- */
10653
- Base64ImageReader.prototype.createImageOnLoadResizeFn = function (resolve, reject, opts) {
10698
+ ImagesUtils.createImageOnLoadResizeFn = function (resolve, reject, opts) {
10654
10699
  return function (event) {
10655
10700
  var maxWidth = (opts && opts.thumbnail ? IMAGE_DEFAULTS.THUMB_MAX_WIDTH : (opts && opts.maxWidth || IMAGE_DEFAULTS.MAX_WIDTH));
10656
10701
  var maxHeight = (opts && opts.thumbnail ? IMAGE_DEFAULTS.THUMB_MAX_HEIGHT : (opts && opts.maxHeight || IMAGE_DEFAULTS.MAX_HEIGHT));
@@ -10716,7 +10761,7 @@
10716
10761
  }
10717
10762
  };
10718
10763
  };
10719
- return Base64ImageReader;
10764
+ return ImagesUtils;
10720
10765
  }());
10721
10766
 
10722
10767
  var uuidv4 = uuidv4Imported__namespace;
@@ -10751,28 +10796,28 @@
10751
10796
  var jobsFactories = (sources || []).map(function (source) { return function () { return _this.getImage(source, Object.assign({}, opts)); }; });
10752
10797
  return chainPromises(jobsFactories);
10753
10798
  };
10754
- FileService.prototype.getImage = function (source, opts) {
10799
+ FileService.prototype.getImage = function (fileUrl, opts) {
10755
10800
  return __awaiter(this, void 0, void 0, function () {
10756
- var responseType, debug, now, lastSlashIndex, fileName, targetFilePath, blob, err_1, dataUrl;
10801
+ var outputType, debug, now, lastSlashIndex, fileName, targetFilePath, blob, err_1, dataUrl;
10757
10802
  return __generator(this, function (_a) {
10758
10803
  switch (_a.label) {
10759
10804
  case 0:
10760
- responseType = opts && opts.responseType || (this.canUseFileSystem ? 'file' : 'dataUrl');
10805
+ outputType = opts && opts.outputType || (this.canUseFileSystem ? 'fileUrl' : 'dataUrl');
10761
10806
  debug = this._debug /*&& (!opts || !opts.fileTransfer)*/;
10762
10807
  now = debug && Date.now();
10763
10808
  if (debug)
10764
- console.debug("[file] Fetching image {" + source + "} into " + responseType + "...");
10765
- lastSlashIndex = source.lastIndexOf('/');
10809
+ console.debug("[file] Fetching image {" + fileUrl + "} into " + outputType + "...");
10810
+ lastSlashIndex = fileUrl.lastIndexOf('/');
10766
10811
  if (lastSlashIndex === -1)
10767
- throw new Error('Invalid URL: ' + source);
10768
- fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
10769
- if (!(responseType === 'file' && this.canUseFileSystem)) return [3 /*break*/, 4];
10770
- console.warn("WARN: [file] Fetching image {" + source + "} in local file...");
10812
+ throw new Error('Invalid URL: ' + fileUrl);
10813
+ fileName = lastSlashIndex < (fileUrl.length - 1) && fileUrl.substring(lastSlashIndex + 1) || uuidv4();
10814
+ if (!(outputType === 'fileUrl' && this.canUseFileSystem)) return [3 /*break*/, 4];
10815
+ console.warn("WARN: [file] Downloading image {" + fileUrl + "} in local filesystem...");
10771
10816
  targetFilePath = this._imageDirectory + fileName;
10772
10817
  _a.label = 1;
10773
10818
  case 1:
10774
10819
  _a.trys.push([1, 3, , 4]);
10775
- return [4 /*yield*/, firstNotNilPromise(this.http.get(source, {
10820
+ return [4 /*yield*/, firstNotNilPromise(this.http.get(fileUrl, {
10776
10821
  observe: 'body',
10777
10822
  responseType: 'blob',
10778
10823
  reportProgress: false
@@ -10784,25 +10829,25 @@
10784
10829
  //const fileTransfer = (opts && opts.fileTransfer) || this.transfer.create();
10785
10830
  //await fileTransfer.download(source, targetFilePath);
10786
10831
  if (debug)
10787
- console.debug("[file] Fetching image {" + source + "} into " + responseType + " [OK] in " + (Date.now() - now) + "ms");
10832
+ console.debug("[file] Fetching image {" + fileUrl + "} into " + outputType + " [OK] in " + (Date.now() - now) + "ms");
10788
10833
  return [2 /*return*/, targetFilePath];
10789
10834
  case 3:
10790
10835
  err_1 = _a.sent();
10791
- console.error("[file] Error while download " + source + ": " + (err_1 && err_1.message || err_1));
10836
+ console.error("[file] Error while download " + fileUrl + ": " + (err_1 && err_1.message || err_1));
10792
10837
  // Continue (fallback to data Url)
10793
- responseType = 'dataUrl';
10838
+ outputType = 'dataUrl';
10794
10839
  return [3 /*break*/, 4];
10795
10840
  case 4:
10796
- if (!(responseType === 'dataUrl')) return [3 /*break*/, 6];
10797
- return [4 /*yield*/, new Base64ImageReader().readAndResizeFromUrl(source, opts)];
10841
+ if (!(outputType === 'dataUrl')) return [3 /*break*/, 6];
10842
+ return [4 /*yield*/, ImagesUtils.readAndResizeFromUrl(fileUrl, opts)];
10798
10843
  case 5:
10799
10844
  dataUrl = _a.sent();
10800
10845
  if (debug)
10801
- console.debug("[file] Fetching image {" + source + "} into " + responseType + " [OK] in " + (Date.now() - now) + "ms");
10846
+ console.debug("[file] Fetching image {" + fileUrl + "} into " + outputType + " [OK] in " + (Date.now() - now) + "ms");
10802
10847
  return [2 /*return*/, dataUrl];
10803
10848
  case 6:
10804
10849
  // Keep original URL
10805
- return [2 /*return*/, source];
10850
+ return [2 /*return*/, fileUrl];
10806
10851
  }
10807
10852
  });
10808
10853
  });
@@ -17184,7 +17229,7 @@
17184
17229
  if (!(hasAvatarUrl && this.network.online)) return [3 /*break*/, 2];
17185
17230
  return [4 /*yield*/, this.file.getImage(json.avatar, {
17186
17231
  thumbnail: true,
17187
- responseType: 'dataUrl'
17232
+ outputType: 'dataUrl'
17188
17233
  })
17189
17234
  .then(function (dataUrl) {
17190
17235
  if (dataUrl && _this._debug)
@@ -18159,30 +18204,6 @@
18159
18204
  ]; };
18160
18205
  var templateObject_1$1, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1;
18161
18206
 
18162
- var UploadFile = /** @class */ (function (_super) {
18163
- __extends(UploadFile, _super);
18164
- function UploadFile() {
18165
- return _super !== null && _super.apply(this, arguments) || this;
18166
- }
18167
- return UploadFile;
18168
- }(File));
18169
- var FileResponse = /** @class */ (function () {
18170
- function FileResponse(init) {
18171
- this.type = i2$1.HttpEventType.Response;
18172
- this.body = isNotNil(init === null || init === void 0 ? void 0 : init.body) ? init.body : null;
18173
- this.status = (init === null || init === void 0 ? void 0 : init.status) || 0;
18174
- this.statusText = (init === null || init === void 0 ? void 0 : init.statusText) || 'OK';
18175
- }
18176
- return FileResponse;
18177
- }());
18178
- function isProgressEvent(event) {
18179
- return event && (event.type === i2$1.HttpEventType.UploadProgress
18180
- || event.type === i2$1.HttpEventType.DownloadProgress);
18181
- }
18182
- function isResponseEvent(event) {
18183
- return event && event.type === i2$1.HttpEventType.Response;
18184
- }
18185
-
18186
18207
  var UploadFilePopover = /** @class */ (function () {
18187
18208
  function UploadFilePopover(popoverController, translate, cd) {
18188
18209
  this.popoverController = popoverController;
@@ -31914,118 +31935,8 @@
31914
31935
  },] }
31915
31936
  ];
31916
31937
 
31917
- var UserEvent_1;
31918
- var UserEventTypes = {
31919
- DEBUG_DATA: 'DEBUG_DATA',
31920
- INBOX_MESSAGE: 'INBOX_MESSAGE'
31921
- };
31922
- // @dynamic
31923
- exports.UserEvent = UserEvent_1 = /** @class */ (function (_super) {
31924
- __extends(UserEvent, _super);
31925
- function UserEvent() {
31926
- return _super.call(this, UserEvent_1.TYPENAME) || this;
31927
- }
31928
- UserEvent.prototype.asObject = function (opts) {
31929
- var target = _super.prototype.asObject.call(this, opts);
31930
- target.creationDate = toDateISOString(this.creationDate);
31931
- target.readDate = toDateISOString(this.readDate);
31932
- // Serialize content
31933
- if (typeof target.content === 'object') {
31934
- target.content = JSON.stringify(target.content);
31935
- }
31936
- delete target.avatar;
31937
- delete target.avatarIcon;
31938
- delete target.icon;
31939
- delete target.actions;
31940
- return target;
31941
- };
31942
- UserEvent.prototype.fromObject = function (source) {
31943
- Object.assign(this, source); // Copy all properties
31944
- _super.prototype.fromObject.call(this, source);
31945
- this.creationDate = fromDateISOString(source.creationDate);
31946
- this.readDate = fromDateISOString(source.readDate);
31947
- try {
31948
- // Deserialize content
31949
- if (typeof source.content === 'string' && source.content.startsWith('{')) {
31950
- this.content = JSON.parse(source.content);
31951
- }
31952
- // Deserialize content.context
31953
- if (this.content && typeof this.content.context === 'string' && this.content.context.startsWith('{')) {
31954
- this.content.context = JSON.parse(this.content.context);
31955
- }
31956
- }
31957
- catch (err) {
31958
- console.error('Error during UserEvent deserialization', err);
31959
- }
31960
- };
31961
- return UserEvent;
31962
- }(Entity));
31963
- exports.UserEvent = UserEvent_1 = __decorate([
31964
- EntityClass({ typename: 'UserEventVO' })
31965
- ], exports.UserEvent);
31966
- // @dynamic
31967
- exports.UserEventFilter = /** @class */ (function (_super) {
31968
- __extends(UserEventFilter, _super);
31969
- function UserEventFilter() {
31970
- var _this = _super.apply(this, __spread(arguments)) || this;
31971
- _this.types = [];
31972
- _this.levels = [];
31973
- _this.issuers = [];
31974
- _this.recipients = [];
31975
- _this.startDate = null;
31976
- _this.excludeRead = false;
31977
- return _this;
31978
- }
31979
- UserEventFilter.prototype.fromObject = function (source, opts) {
31980
- _super.prototype.fromObject.call(this, source, opts);
31981
- this.types = source.types || [];
31982
- this.levels = source.levels || [];
31983
- this.issuers = source.issuers || [];
31984
- this.recipients = source.recipients || [];
31985
- this.startDate = fromDateISOString(source.startDate);
31986
- this.excludeRead = source.excludeRead || false;
31987
- };
31988
- UserEventFilter.prototype.buildFilter = function () {
31989
- var _this = this;
31990
- var filterFns = _super.prototype.buildFilter.call(this);
31991
- if (isNotEmptyArray(this.types)) {
31992
- filterFns.push(function (t) { return _this.types.includes(t.type); });
31993
- }
31994
- if (isNotEmptyArray(this.levels)) {
31995
- filterFns.push(function (t) { return _this.levels.includes(t.level); });
31996
- }
31997
- if (isNotEmptyArray(this.issuers)) {
31998
- filterFns.push(function (t) { return _this.issuers.includes(t.issuer); });
31999
- }
32000
- if (isNotEmptyArray(this.recipients)) {
32001
- filterFns.push(function (t) { return _this.recipients.includes(t.recipient); });
32002
- }
32003
- if (isNotNil(this.startDate)) {
32004
- filterFns.push(function (t) { return _this.startDate.isSameOrBefore(t.creationDate); });
32005
- }
32006
- if (this.excludeRead === true) {
32007
- filterFns.push(function (t) { return isNil(t.readSignature); }); // todo or t.signature ?
32008
- }
32009
- return filterFns;
32010
- };
32011
- UserEventFilter.prototype.asObject = function (opts) {
32012
- var target = _super.prototype.asObject.call(this, opts);
32013
- return target;
32014
- };
32015
- return UserEventFilter;
32016
- }(EntityFilter));
32017
- exports.UserEventFilter = __decorate([
32018
- EntityClass({ typename: 'UserEventFilterVO' })
32019
- ], exports.UserEventFilter);
32020
-
32021
- var UserEventFragments = {
32022
- userEvent: core.gql(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["fragment UserEventFragment on UserEventVO {\n id\n issuer\n updateDate\n creationDate\n eventType\n recipient\n content\n hash\n signature\n readSignature\n __typename\n }"], ["fragment UserEventFragment on UserEventVO {\n id\n issuer\n updateDate\n creationDate\n eventType\n recipient\n content\n hash\n signature\n readSignature\n __typename\n }"]))),
32023
- lightUserEvent: core.gql(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["fragment LightUserEventFragment on UserEventVO {\n id\n issuer\n recipient\n updateDate\n creationDate\n eventType\n readSignature\n __typename\n }"], ["fragment LightUserEventFragment on UserEventVO {\n id\n issuer\n recipient\n updateDate\n creationDate\n eventType\n readSignature\n __typename\n }"])))
32024
- };
32025
- var templateObject_1$3, templateObject_2$2;
32026
-
32027
31938
  var Mutations = {
32028
- send: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["mutation SendMessage($data: MessageVOInput){\n done: sendMessage(message: $data)\n }"], ["mutation SendMessage($data: MessageVOInput){\n done: sendMessage(message: $data)\n }"])))
31939
+ send: core.gql(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["mutation SendMessage($data: MessageVOInput){\n done: sendMessage(message: $data)\n }"], ["mutation SendMessage($data: MessageVOInput){\n done: sendMessage(message: $data)\n }"])))
32029
31940
  };
32030
31941
  var MessageService = /** @class */ (function (_super) {
32031
31942
  __extends(MessageService, _super);
@@ -32109,7 +32020,7 @@
32109
32020
  { type: i1$5.ToastController },
32110
32021
  { type: Environment, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [ENVIRONMENT,] }] }
32111
32022
  ]; };
32112
- var templateObject_1$4;
32023
+ var templateObject_1$3;
32113
32024
 
32114
32025
  var PersonFilter_1;
32115
32026
  // @dynamic
@@ -32168,11 +32079,11 @@
32168
32079
  ], exports.PersonFilter);
32169
32080
 
32170
32081
  var PersonFragments = {
32171
- person: core.gql(templateObject_1$5 || (templateObject_1$5 = __makeTemplateObject(["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"], ["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"])))
32082
+ person: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"], ["fragment PersonFragment on PersonVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n username\n usernameExtranet\n department {\n id\n label\n name\n logo\n __typename\n }\n __typename\n }"])))
32172
32083
  };
32173
32084
  // Load persons query
32174
32085
  var PersonQueries = {
32175
- loadAll: core.gql(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""], ["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
32086
+ loadAll: core.gql(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""], ["\n query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n }\n ", ""])), PersonFragments.person),
32176
32087
  loadAllWithTotal: core.gql(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""], ["\n query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput){\n data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection){\n ...PersonFragment\n }\n total: personsCount(filter: $filter)\n }\n ", ""])), PersonFragments.person)
32177
32088
  };
32178
32089
  var PersonMutations = {
@@ -32308,7 +32219,7 @@
32308
32219
  { type: NetworkService },
32309
32220
  { type: EntitiesStorage }
32310
32221
  ]; };
32311
- var templateObject_1$5, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$2;
32222
+ var templateObject_1$4, templateObject_2$2, templateObject_3$2, templateObject_4$2, templateObject_5$2;
32312
32223
 
32313
32224
  var PersonValidatorService = /** @class */ (function () {
32314
32225
  function PersonValidatorService(formBuilder, accountValidatorService) {
@@ -34246,6 +34157,106 @@
34246
34157
  },] }
34247
34158
  ];
34248
34159
 
34160
+ var UserEventTest_1;
34161
+ // @dynamic
34162
+ var UserEventTest = UserEventTest_1 = /** @class */ (function (_super) {
34163
+ __extends(UserEventTest, _super);
34164
+ function UserEventTest() {
34165
+ return _super.call(this, UserEventTest_1.TYPENAME) || this;
34166
+ }
34167
+ UserEventTest.prototype.asObject = function (opts) {
34168
+ var target = _super.prototype.asObject.call(this, opts);
34169
+ target.creationDate = toDateISOString(this.creationDate);
34170
+ target.readDate = toDateISOString(this.readDate);
34171
+ // Serialize content
34172
+ if (typeof target.content === 'object') {
34173
+ target.content = JSON.stringify(target.content);
34174
+ }
34175
+ delete target.avatar;
34176
+ delete target.avatarIcon;
34177
+ delete target.icon;
34178
+ delete target.actions;
34179
+ return target;
34180
+ };
34181
+ UserEventTest.prototype.fromObject = function (source) {
34182
+ Object.assign(this, source); // Copy all properties
34183
+ _super.prototype.fromObject.call(this, source);
34184
+ this.creationDate = fromDateISOString(source.creationDate);
34185
+ this.readDate = fromDateISOString(source.readDate);
34186
+ try {
34187
+ // Deserialize content
34188
+ if (typeof source.content === 'string' && source.content.startsWith('{')) {
34189
+ this.content = JSON.parse(source.content);
34190
+ }
34191
+ // Deserialize content.context
34192
+ if (this.content && typeof this.content.context === 'string' && this.content.context.startsWith('{')) {
34193
+ this.content.context = JSON.parse(this.content.context);
34194
+ }
34195
+ }
34196
+ catch (err) {
34197
+ console.error('Error during UserEvent deserialization', err);
34198
+ }
34199
+ };
34200
+ return UserEventTest;
34201
+ }(Entity));
34202
+ UserEventTest = UserEventTest_1 = __decorate([
34203
+ EntityClass({ typename: 'UserEventTestVO' })
34204
+ ], UserEventTest);
34205
+ // @dynamic
34206
+ var UserEventTestFilter = /** @class */ (function (_super) {
34207
+ __extends(UserEventTestFilter, _super);
34208
+ function UserEventTestFilter() {
34209
+ var _this = _super.apply(this, __spread(arguments)) || this;
34210
+ _this.types = [];
34211
+ _this.levels = [];
34212
+ _this.issuers = [];
34213
+ _this.recipients = [];
34214
+ _this.startDate = null;
34215
+ _this.excludeRead = false;
34216
+ return _this;
34217
+ }
34218
+ UserEventTestFilter.prototype.fromObject = function (source, opts) {
34219
+ _super.prototype.fromObject.call(this, source, opts);
34220
+ this.types = source.types || [];
34221
+ this.levels = source.levels || [];
34222
+ this.issuers = source.issuers || [];
34223
+ this.recipients = source.recipients || [];
34224
+ this.startDate = fromDateISOString(source.startDate);
34225
+ this.excludeRead = source.excludeRead || false;
34226
+ };
34227
+ UserEventTestFilter.prototype.buildFilter = function () {
34228
+ var _this = this;
34229
+ var filterFns = _super.prototype.buildFilter.call(this);
34230
+ if (isNotEmptyArray(this.types)) {
34231
+ filterFns.push(function (t) { return _this.types.includes(t.type); });
34232
+ }
34233
+ if (isNotEmptyArray(this.levels)) {
34234
+ filterFns.push(function (t) { return _this.levels.includes(t.level); });
34235
+ }
34236
+ if (isNotEmptyArray(this.issuers)) {
34237
+ filterFns.push(function (t) { return _this.issuers.includes(t.issuer); });
34238
+ }
34239
+ if (isNotEmptyArray(this.recipients)) {
34240
+ filterFns.push(function (t) { return _this.recipients.includes(t.recipient); });
34241
+ }
34242
+ if (isNotNil(this.startDate)) {
34243
+ filterFns.push(function (t) { return _this.startDate.isSameOrBefore(t.creationDate); });
34244
+ }
34245
+ if (this.excludeRead === true) {
34246
+ filterFns.push(function (t) { return isNil(t.readSignature); }); // todo or t.signature ?
34247
+ }
34248
+ return filterFns;
34249
+ };
34250
+ UserEventTestFilter.prototype.asObject = function (opts) {
34251
+ var target = _super.prototype.asObject.call(this, opts);
34252
+ return target;
34253
+ };
34254
+ return UserEventTestFilter;
34255
+ }(EntityFilter));
34256
+ UserEventTestFilter = __decorate([
34257
+ EntityClass({ typename: 'UserEventTestFilterVO' })
34258
+ ], UserEventTestFilter);
34259
+
34249
34260
  var UserEventTestService = /** @class */ (function (_super) {
34250
34261
  __extends(UserEventTestService, _super);
34251
34262
  function UserEventTestService(graphql, accountService, network, translate, environment) {
@@ -34266,7 +34277,7 @@
34266
34277
  return _this;
34267
34278
  }
34268
34279
  UserEventTestService.prototype.fromObject = function (source) {
34269
- return exports.UserEvent.fromObject(source);
34280
+ return UserEventTest.fromObject(source);
34270
34281
  };
34271
34282
  UserEventTestService.prototype.add = function (entity) {
34272
34283
  var _a;
@@ -34450,7 +34461,7 @@
34450
34461
  }
34451
34462
  };
34452
34463
  UserEventTestingPage.prototype.addNotification = function () {
34453
- this.userEventService.add(exports.UserEvent.fromObject({
34464
+ this.userEventService.add(UserEventTest.fromObject({
34454
34465
  issuer: 'system',
34455
34466
  recipient: 'me',
34456
34467
  type: 'message',
@@ -34460,7 +34471,7 @@
34460
34471
  }));
34461
34472
  };
34462
34473
  UserEventTestingPage.prototype.addError = function () {
34463
- this.userEventService.add(exports.UserEvent.fromObject({
34474
+ this.userEventService.add(UserEventTest.fromObject({
34464
34475
  issuer: 'system',
34465
34476
  recipient: 'me',
34466
34477
  type: 'upload',
@@ -34470,7 +34481,7 @@
34470
34481
  }));
34471
34482
  };
34472
34483
  UserEventTestingPage.prototype.addWarning = function () {
34473
- this.userEventService.add(exports.UserEvent.fromObject({
34484
+ this.userEventService.add(UserEventTest.fromObject({
34474
34485
  issuer: 'system',
34475
34486
  recipient: 'me',
34476
34487
  type: 'download',
@@ -34480,7 +34491,7 @@
34480
34491
  }));
34481
34492
  };
34482
34493
  UserEventTestingPage.prototype.addDebug = function () {
34483
- this.userEventService.add(exports.UserEvent.fromObject({
34494
+ this.userEventService.add(UserEventTest.fromObject({
34484
34495
  issuer: 'system',
34485
34496
  recipient: 'me',
34486
34497
  type: 'debug',
@@ -34491,7 +34502,7 @@
34491
34502
  };
34492
34503
  UserEventTestingPage.prototype.addNotificationWithLink = function () {
34493
34504
  var _this = this;
34494
- this.userEventService.add(exports.UserEvent.fromObject({
34505
+ this.userEventService.add(UserEventTest.fromObject({
34495
34506
  issuer: 'system',
34496
34507
  recipient: 'me',
34497
34508
  type: 'message',
@@ -34509,7 +34520,7 @@
34509
34520
  };
34510
34521
  UserEventTestingPage.prototype.addNotificationWithAction = function () {
34511
34522
  var _this = this;
34512
- this.userEventService.add(exports.UserEvent.fromObject({
34523
+ this.userEventService.add(UserEventTest.fromObject({
34513
34524
  issuer: 'system',
34514
34525
  recipient: 'me',
34515
34526
  type: 'message',
@@ -34583,7 +34594,7 @@
34583
34594
  };
34584
34595
  UserEventTestingPage.prototype.addNotificationWithDefaultAction = function () {
34585
34596
  var _this = this;
34586
- this.userEventService.add(exports.UserEvent.fromObject({
34597
+ this.userEventService.add(UserEventTest.fromObject({
34587
34598
  issuer: 'system',
34588
34599
  recipient: 'me',
34589
34600
  type: 'message',
@@ -34820,6 +34831,8 @@
34820
34831
  exports.HomePage = HomePage;
34821
34832
  exports.Hotkeys = Hotkeys;
34822
34833
  exports.HotkeysDialogComponent = HotkeysDialogComponent;
34834
+ exports.IMAGE_DEFAULTS = IMAGE_DEFAULTS;
34835
+ exports.ImagesUtils = ImagesUtils;
34823
34836
  exports.InMemoryEntitiesService = InMemoryEntitiesService;
34824
34837
  exports.IsLoginAccountPipe = IsLoginAccountPipe;
34825
34838
  exports.IsNilOrBlankPipe = IsNilOrBlankPipe;
@@ -34971,12 +34984,10 @@
34971
34984
  exports.UploadFileTestingModule = UploadFileTestingModule;
34972
34985
  exports.UploadFileTestingPage = UploadFileTestingPage;
34973
34986
  exports.UriUtils = UriUtils;
34974
- exports.UserEventFragments = UserEventFragments;
34975
34987
  exports.UserEventModule = UserEventModule;
34976
34988
  exports.UserEventTestService = UserEventTestService;
34977
34989
  exports.UserEventTestingModule = UserEventTestingModule;
34978
34990
  exports.UserEventTestingPage = UserEventTestingPage;
34979
- exports.UserEventTypes = UserEventTypes;
34980
34991
  exports.UsersPage = UsersPage;
34981
34992
  exports.accountToString = accountToString;
34982
34993
  exports.adaptValueToControl = adaptValueToControl;