nuxeo-development-framework 3.6.6 → 3.6.8

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.
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/forms'), require('@angular/common/locales/ar'), require('@angular/common/locales/en'), require('@ngx-translate/core'), require('@rxweb/reactive-form-validators'), require('keycloak-angular'), require('ngx-toastr'), require('ngx-treeview'), require('rxjs'), require('rxjs/operators'), require('ngx-cookie-service'), require('@angular/platform-browser'), require('moment-es6'), require('moment-hijri'), require('@ng-bootstrap/ng-bootstrap'), require('moment'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/core'), require('@angular/material/datepicker'), require('@angular/material/icon'), require('@angular/material/input'), require('@angular/material/menu'), require('@angular/material/radio'), require('@angular/material/slide-toggle'), require('@angular/material/tooltip'), require('@busacca/ng-pick-datetime'), require('@mat-datetimepicker/core'), require('@ng-select/ng-select'), require('angular-formio'), require('angular-ng-autocomplete'), require('@angular/router'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('formiojs'), require('lodash'), require('@angular/cdk/bidi'), require('@angular/material/form-field'), require('ts-cacheable'), require('@angular/material/dialog'), require('@angular/animations'), require('@angular/material/progress-bar'), require('dwt'), require('@swimlane/ngx-datatable'), require('@angular/cdk/layout'), require('@angular/material/autocomplete'), require('chart.js'), require('chartjs-plugin-piechart-outlabels'), require('chartjs-plugin-labels'), require('ngx-infinite-scroll'), require('rxjs/internal/operators/take'), require('sockjs-client'), require('webstomp-client'), require('@angular/material/badge'), require('@angular/material/toolbar'), require('@angular/material/chips'), require('@angular/material/expansion'), require('@pdftron/webviewer'), require('file-saver'), require('@angular/material/tabs'), require('@angular/material/divider'), require('devextreme-angular'), require('devextreme-angular/ui/nested'), require('devextreme-angular/core')) :
3
3
  typeof define === 'function' && define.amd ? define('nuxeo-development-framework', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/forms', '@angular/common/locales/ar', '@angular/common/locales/en', '@ngx-translate/core', '@rxweb/reactive-form-validators', 'keycloak-angular', 'ngx-toastr', 'ngx-treeview', 'rxjs', 'rxjs/operators', 'ngx-cookie-service', '@angular/platform-browser', 'moment-es6', 'moment-hijri', '@ng-bootstrap/ng-bootstrap', 'moment', '@angular/material/button', '@angular/material/checkbox', '@angular/material/core', '@angular/material/datepicker', '@angular/material/icon', '@angular/material/input', '@angular/material/menu', '@angular/material/radio', '@angular/material/slide-toggle', '@angular/material/tooltip', '@busacca/ng-pick-datetime', '@mat-datetimepicker/core', '@ng-select/ng-select', 'angular-formio', 'angular-ng-autocomplete', '@angular/router', '@angular/material/progress-spinner', '@angular/material/list', 'formiojs', 'lodash', '@angular/cdk/bidi', '@angular/material/form-field', 'ts-cacheable', '@angular/material/dialog', '@angular/animations', '@angular/material/progress-bar', 'dwt', '@swimlane/ngx-datatable', '@angular/cdk/layout', '@angular/material/autocomplete', 'chart.js', 'chartjs-plugin-piechart-outlabels', 'chartjs-plugin-labels', 'ngx-infinite-scroll', 'rxjs/internal/operators/take', 'sockjs-client', 'webstomp-client', '@angular/material/badge', '@angular/material/toolbar', '@angular/material/chips', '@angular/material/expansion', '@pdftron/webviewer', 'file-saver', '@angular/material/tabs', '@angular/material/divider', 'devextreme-angular', 'devextreme-angular/ui/nested', 'devextreme-angular/core'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['nuxeo-development-framework'] = {}, global.ng.core, global.ng.common, global.ng.common.http, global.ng.forms, global.ng.common.locales.ar, global.ng.common.locales.en, global.i1$1, global.reactiveFormValidators, global.i2, global.i1$3, global.i1$2, global.rxjs, global.rxjs.operators, global.i3, global.ng.platformBrowser, global.moment$4, global.moment_, global.i1$4, global.momentjs, global.ng.material.button, global.ng.material.checkbox, global.ng.material.core, global.ng.material.datepicker, global.ng.material.icon, global.ng.material.input, global.ng.material.menu, global.ng.material.radio, global.ng.material.slideToggle, global.ng.material.tooltip, global.i6$1, global.core, global.i3$3, global.i3$2, global.i3$1, global.ng.router, global.ng.material.progressSpinner, global.ng.material.list, global.formiojs, global._, global.ng.cdk.bidi, global.ng.material.formField, global.tsCacheable, global.ng.material.dialog, global.ng.animations, global.ng.material.progressBar, global.Dynamsoft, global.i4$3, global.ng.cdk.layout, global.ng.material.autocomplete, global.chart_js, null, null, global.i7$2, global.rxjs['internal/operators/take'], global.SockJS, global.Stomp, global.ng.material.badge, global.ng.material.toolbar, global.ng.material.chips, global.ng.material.expansion, global.WebViewer, global.FileSaver, global.ng.material.tabs, global.ng.material.divider, global.i3$4, global.i4$4, global.i5$3));
5
- }(this, (function (exports, i0, i4, i1, i6, localeAr, localeEn, i1$1, reactiveFormValidators, i2, i1$3, i1$2, rxjs, operators, i3, i2$1, moment$4, moment_, i1$4, momentjs, button, i7, i2$5, datepicker, i2$4, i5$1, i4$1, i2$8, i2$6, i2$7, i6$1, core, i3$3, i3$2, i3$1, i2$2, i8, i2$3, formiojs, _, i5, i6$2, tsCacheable, i1$5, animations, i4$2, Dynamsoft, i4$3, i5$2, i7$1, chart_js, chartjsPluginPiechartOutlabels, chartjsPluginLabels, i7$2, take, SockJS, Stomp, i9, toolbar, i7$3, i6$3, WebViewer, FileSaver, i1$6, i8$1, i3$4, i4$4, i5$3) { 'use strict';
5
+ }(this, (function (exports, i0, i4, i1, i6, localeAr, localeEn, i1$1, reactiveFormValidators, i2, i1$3, i1$2, rxjs, operators, i3, i2$1, moment$4, moment_, i1$4, momentjs, button, i7, i2$5, datepicker, i2$4, i5$1, i4$1, i2$8, i2$6, i2$7, i6$1, core, i3$3, i3$2, i3$1, i2$2, i8, i2$3, formiojs, _, i5, i6$2, tsCacheable, i1$5, animations, i4$2, Dynamsoft, i4$3, i5$2, i7$1, chart_js, chartjsPluginPiechartOutlabels, chartjsPluginLabels, i7$2, take, SockJS, Stomp, i10, toolbar, i7$3, i6$3, WebViewer, FileSaver, i1$6, i8$1, i3$4, i4$4, i5$3) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -69,7 +69,7 @@
69
69
  var i7__namespace$2 = /*#__PURE__*/_interopNamespace(i7$2);
70
70
  var SockJS__namespace = /*#__PURE__*/_interopNamespace(SockJS);
71
71
  var Stomp__namespace = /*#__PURE__*/_interopNamespace(Stomp);
72
- var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
72
+ var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
73
73
  var i7__namespace$3 = /*#__PURE__*/_interopNamespace(i7$3);
74
74
  var i6__namespace$3 = /*#__PURE__*/_interopNamespace(i6$3);
75
75
  var WebViewer__default = /*#__PURE__*/_interopDefaultLegacy(WebViewer);
@@ -17909,6 +17909,7 @@
17909
17909
  this.base = "";
17910
17910
  this.profile = { id: this.nuxeoService.nuxeoClient.user.id };
17911
17911
  this.systemLang = "";
17912
+ this.loading = false;
17912
17913
  if (this.profile.id) {
17913
17914
  this.getCount().subscribe(function () {
17914
17915
  _this.connect();
@@ -17950,6 +17951,7 @@
17950
17951
  };
17951
17952
  NotificationsService.prototype.fetchNotifications = function () {
17952
17953
  var _this = this;
17954
+ this.loading = true;
17953
17955
  return this.getNotifications(this.profile.id, {
17954
17956
  page: this._notifications.length > 0
17955
17957
  ? Math.ceil(this._notifications.length / this.pageSize)
@@ -17960,6 +17962,7 @@
17960
17962
  sorted: true,
17961
17963
  lang: this.translationService.userLang.toUpperCase(),
17962
17964
  }).pipe(operators.map(function (notifications) {
17965
+ _this.loading = false;
17963
17966
  if (notifications.items) {
17964
17967
  _this._notifications = _this._notifications.concat(notifications.items);
17965
17968
  return notifications;
@@ -17970,6 +17973,7 @@
17970
17973
  }
17971
17974
  }), operators.catchError(function () {
17972
17975
  _this._notifications = [];
17976
+ _this.loading = false;
17973
17977
  return [];
17974
17978
  }));
17975
17979
  };
@@ -18372,7 +18376,7 @@
18372
18376
  return NotificationsListComponent;
18373
18377
  }());
18374
18378
  NotificationsListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: NotificationsListComponent, deps: [{ token: NotificationsService }, { token: i0__namespace.ChangeDetectorRef }, { token: i4__namespace.DatePipe }, { token: TranslationService$1 }], target: i0__namespace.ɵɵFactoryTarget.Component });
18375
- NotificationsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsListComponent, selector: "app-notifications-list", outputs: { listItemClick: "listItemClick" }, host: { classAttribute: "notification-list" }, ngImport: i0__namespace, template: "<div class=\"toolbar\">\r\n <div class=\"title\">\r\n <div>{{ \"notifications.notifications\" | translate }}</div>\r\n </div>\r\n <div class=\"flex justify-end\">\r\n <button\r\n mat-button\r\n (click)=\"markAllAsRead()\"\r\n size=\"small\"\r\n fill=\"none\"\r\n class=\"markAllAsRead-btn\"\r\n >\r\n {{ \"notifications.markAllAsRead\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n<!-- [matTooltip]=\"'notifications.markAllAsRead' | translate\"\r\n [matTooltipPosition]=\"'before'\" -->\r\n<div *ngIf=\"!notifications?.length\" class=\"no-notifications\">\r\n <p>\r\n {{ \"notifications.noNotifications\" | translate }}\r\n </p>\r\n</div>\r\n<div\r\n infiniteScroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"scrollDistance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScrollDown()\"\r\n class=\"notifications-container scroll\"\r\n>\r\n <mat-list class=\"\">\r\n <ng-container\r\n *ngFor=\"\r\n let notification of notifications;\r\n let i = index;\r\n trackBy: trackBy\r\n \"\r\n >\r\n <!-- <mat-divider class=\"marginize\"></mat-divider> -->\r\n <app-notification-item\r\n (click)=\"openNotification(notification)\"\r\n (update)=\"onUpdate($event)\"\r\n [notification]=\"notification\"\r\n [isArabic]=\"isArabic\"\r\n ></app-notification-item>\r\n </ng-container>\r\n <div\r\n *ngIf=\"loading\"\r\n style=\"display: grid; place-items: center; margin-top: 10px\"\r\n >\r\n <mat-spinner [diameter]=\"48\" style=\"margin: 0 auto\"></mat-spinner>\r\n </div>\r\n </mat-list>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}:host{height:100%;position:relative}.toolbar{background-image:linear-gradient(to right,#0dbab5,#1a96c6);display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;padding:.25rem 1.5rem}.toolbar .title{font-size:1.125rem;line-height:1.75rem;display:flex;align-items:center}.toolbar .markAllAsRead-btn{background:none;border:none;margin:0;padding:0;cursor:pointer;font-size:.75rem;line-height:1rem;display:flex;align-items:center;color:#fff}.no-notifications{margin-top:1.25rem;display:flex;justify-content:center;align-items:center}.no-notifications p{text-align:center;color:#b4bac6}.notifications-container{height:100%;overflow:scroll}.notifications-container ::-webkit-scrollbar{width:8px}.notifications-container mat-list{padding:16px;display:grid;grid-row-gap:8px;row-gap:8px}.scroll::-webkit-scrollbar-thumb{background-color:#d9dce2}div[scrollx=true],div[scrolly=true]{position:relative;overflow:hidden;max-height:80vh}div[scrollx=true] ::-webkit-scrollbar,div[scrolly=true] ::-webkit-scrollbar{display:none}div[scrollx=true]{overflow-x:auto}div[scrolly=true]{overflow-y:auto}ion-toolbar{min-height:40px;height:40px;--min-height: 40px;box-shadow:0 0 1px 1px #cbcbcb}ion-toolbar ion-title{height:14px;font-size:13px;font-weight:bold}ion-toolbar ion-button{font-size:12px;letter-spacing:0px}ion-item-divider{--background: rgba(var(--ion-color-light-rgb), 1);color:#666}\n"], components: [{ type: i2__namespace$3.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: NotificationItemComponent, selector: "app-notification-item", inputs: ["notification", "isArabic"], outputs: ["update"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7__namespace$2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1__namespace$1.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
18379
+ NotificationsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsListComponent, selector: "app-notifications-list", outputs: { listItemClick: "listItemClick" }, host: { classAttribute: "notification-list" }, ngImport: i0__namespace, template: "<div class=\"toolbar\">\r\n <div class=\"title\">\r\n <div>{{ \"notifications.notifications\" | translate }}</div>\r\n </div>\r\n <div class=\"flex justify-end\">\r\n <button\r\n mat-button\r\n (click)=\"markAllAsRead()\"\r\n size=\"small\"\r\n fill=\"none\"\r\n class=\"markAllAsRead-btn\"\r\n >\r\n {{ \"notifications.markAllAsRead\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n<!-- [matTooltip]=\"'notifications.markAllAsRead' | translate\"\r\n [matTooltipPosition]=\"'before'\" -->\r\n<div *ngIf=\"!notifications?.length\" class=\"no-notifications\">\r\n <p *ngIf=\"!notificationsService.loading\">\r\n {{ \"notifications.noNotifications\" | translate }}\r\n </p>\r\n <p *ngIf=\"notificationsService.loading\">\r\n {{ \"notifications.loading_notification\" | translate }}\r\n </p>\r\n</div>\r\n<div\r\n infiniteScroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"scrollDistance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScrollDown()\"\r\n class=\"notifications-container scroll\"\r\n>\r\n <mat-list class=\"\">\r\n <ng-container\r\n *ngFor=\"\r\n let notification of notifications;\r\n let i = index;\r\n trackBy: trackBy\r\n \"\r\n >\r\n <!-- <mat-divider class=\"marginize\"></mat-divider> -->\r\n <app-notification-item\r\n (click)=\"openNotification(notification)\"\r\n (update)=\"onUpdate($event)\"\r\n [notification]=\"notification\"\r\n [isArabic]=\"isArabic\"\r\n ></app-notification-item>\r\n </ng-container>\r\n <div\r\n *ngIf=\"loading\"\r\n style=\"display: grid; place-items: center; margin-top: 10px\"\r\n >\r\n <mat-spinner [diameter]=\"48\" style=\"margin: 0 auto\"></mat-spinner>\r\n </div>\r\n </mat-list>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}:host{height:100%;position:relative}.toolbar{background-image:linear-gradient(to right,#0dbab5,#1a96c6);display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;padding:.25rem 1.5rem}.toolbar .title{font-size:1.125rem;line-height:1.75rem;display:flex;align-items:center}.toolbar .markAllAsRead-btn{background:none;border:none;margin:0;padding:0;cursor:pointer;font-size:.75rem;line-height:1rem;display:flex;align-items:center;color:#fff}.no-notifications{margin-top:1.25rem;display:flex;justify-content:center;align-items:center}.no-notifications p{text-align:center;color:#b4bac6}.notifications-container{height:100%;overflow:scroll}.notifications-container ::-webkit-scrollbar{width:8px}.notifications-container mat-list{padding:16px;display:grid;grid-row-gap:8px;row-gap:8px}.scroll::-webkit-scrollbar-thumb{background-color:#d9dce2}div[scrollx=true],div[scrolly=true]{position:relative;overflow:hidden;max-height:80vh}div[scrollx=true] ::-webkit-scrollbar,div[scrolly=true] ::-webkit-scrollbar{display:none}div[scrollx=true]{overflow-x:auto}div[scrolly=true]{overflow-y:auto}ion-toolbar{min-height:40px;height:40px;--min-height: 40px;box-shadow:0 0 1px 1px #cbcbcb}ion-toolbar ion-title{height:14px;font-size:13px;font-weight:bold}ion-toolbar ion-button{font-size:12px;letter-spacing:0px}ion-item-divider{--background: rgba(var(--ion-color-light-rgb), 1);color:#666}\n"], components: [{ type: i2__namespace$3.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: NotificationItemComponent, selector: "app-notification-item", inputs: ["notification", "isArabic"], outputs: ["update"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7__namespace$2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1__namespace$1.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
18376
18380
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: NotificationsListComponent, decorators: [{
18377
18381
  type: i0.Component,
18378
18382
  args: [{
@@ -18397,6 +18401,7 @@
18397
18401
  this.translationService = translationService;
18398
18402
  this.toastrClick = new i0.EventEmitter();
18399
18403
  this.listItemClick = new i0.EventEmitter();
18404
+ this.customNotificationIcon = null;
18400
18405
  }
18401
18406
  Object.defineProperty(NotificationsButtonComponent.prototype, "notificationsCount", {
18402
18407
  get: function () {
@@ -18544,7 +18549,7 @@
18544
18549
  return NotificationsButtonComponent;
18545
18550
  }());
18546
18551
  NotificationsButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: NotificationsButtonComponent, deps: [{ token: NotificationsService }, { token: i1__namespace$1.TranslateService }, { token: i1__namespace$3.ToastrService }, { token: TimeAgoPipe }, { token: i2__namespace$2.Router }, { token: i0__namespace.ChangeDetectorRef }, { token: TranslationService$1 }], target: i0__namespace.ɵɵFactoryTarget.Component });
18547
- NotificationsButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsButtonComponent, selector: "app-notifications-button", outputs: { toastrClick: "toastrClick", listItemClick: "listItemClick" }, ngImport: i0__namespace, template: "<div [matMenuTriggerFor]=\"langMenu\" class=\"notification\" (click)=\"getNotifications()\" class=\"search-wrapper\">\r\n <span matBadgeSize=\"small\" matBadge=\"{{ notificationsCount }}\" matBadgeColor=\"warn\" matbadgeposition=\"before\"\r\n class=\"bi bi-bell bell\"></span>\r\n</div>\r\n<mat-menu class=\"mat-menu-panel myMenu notification-list\" #langMenu=\"matMenu\">\r\n <app-notifications-list (listItemClick)=\"onListItemClick($event)\"></app-notifications-list>\r\n</mat-menu>\r\n", styles: [".notifications-count{background-color:#eee;border-radius:5px;color:#333;font-size:11px;padding:0 6px;box-sizing:border-box}.notification-list{max-width:450px!important;width:450px;height:66vh}.notification-list .mat-menu-content{padding:0!important;position:relative;height:calc(100% - 29px)}.notification-list .mat-menu-content .mat-toolbar{margin:0 0 -10px}.mat-menu-panel.myMenu{border-radius:5px!important;overflow:hidden}.notification .mat-icon{margin-right:0!important;vertical-align:middle}.toast-container{right:12px!important;bottom:12px!important;pointer-events:all}.toast-container .ngx-toastr{padding:25px!important;background-position:263px center;border-radius:5px!important;box-shadow:none!important}.toast-container .toast-title{font-weight:normal}.wrap{white-space:normal!important;font-size:14px!important;margin-bottom:8px!important}.mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}[dir=rtl] .toast-container{left:12px!important;right:auto!important;direction:rtl;text-align:right}[dir=rtl] .toast-container .ngx-toastr{background-position:10px center}[dir=rtl] .toast-container .toast-close-button{float:left}.mat-badge-content{right:-4px!important;top:-1px!important}.rtl .mat-badge-content{font-weight:600;right:-6px!important;top:-5px!important}\n"], components: [{ type: i4__namespace$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: NotificationsListComponent, selector: "app-notifications-list", outputs: ["listItemClick"] }], directives: [{ type: i4__namespace$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i9__namespace.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
18552
+ NotificationsButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsButtonComponent, selector: "app-notifications-button", inputs: { customNotificationIcon: "customNotificationIcon" }, outputs: { toastrClick: "toastrClick", listItemClick: "listItemClick" }, ngImport: i0__namespace, template: "<div [matMenuTriggerFor]=\"langMenu\" class=\"notification\" (click)=\"getNotifications()\" class=\"search-wrapper\">\r\n <span *ngIf=\"!customNotificationIcon;else customIcon\" matBadgeSize=\"small\" matBadge=\"{{ notificationsCount }}\"\r\n matBadgeColor=\"warn\" matbadgeposition=\"before\" class=\"bi bi-bell bell\"></span>\r\n</div>\r\n<mat-menu class=\"mat-menu-panel myMenu notification-list\" #langMenu=\"matMenu\">\r\n <app-notifications-list (listItemClick)=\"onListItemClick($event)\"></app-notifications-list>\r\n</mat-menu>\r\n\r\n<ng-template #customIcon>\r\n <ng-container *ngTemplateOutlet=\"customNotificationIcon\"></ng-container>\r\n</ng-template>", styles: [".notifications-count{background-color:#eee;border-radius:5px;color:#333;font-size:11px;padding:0 6px;box-sizing:border-box}.notification-list{max-width:450px!important;width:450px;height:66vh}.notification-list .mat-menu-content{padding:0!important;position:relative;height:calc(100% - 29px)}.notification-list .mat-menu-content .mat-toolbar{margin:0 0 -10px}.mat-menu-panel.myMenu{border-radius:5px!important;overflow:hidden}.notification .mat-icon{margin-right:0!important;vertical-align:middle}.toast-container{right:12px!important;bottom:12px!important;pointer-events:all}.toast-container .ngx-toastr{padding:25px!important;background-position:263px center;border-radius:5px!important;box-shadow:none!important}.toast-container .toast-title{font-weight:normal}.wrap{white-space:normal!important;font-size:14px!important;margin-bottom:8px!important}.mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}[dir=rtl] .toast-container{left:12px!important;right:auto!important;direction:rtl;text-align:right}[dir=rtl] .toast-container .ngx-toastr{background-position:10px center}[dir=rtl] .toast-container .toast-close-button{float:left}.mat-badge-content{right:-4px!important;top:-1px!important}.rtl .mat-badge-content{font-weight:600;right:-6px!important;top:-5px!important}\n"], components: [{ type: i4__namespace$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: NotificationsListComponent, selector: "app-notifications-list", outputs: ["listItemClick"] }], directives: [{ type: i4__namespace$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
18548
18553
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: NotificationsButtonComponent, decorators: [{
18549
18554
  type: i0.Component,
18550
18555
  args: [{
@@ -18557,6 +18562,8 @@
18557
18562
  type: i0.Output
18558
18563
  }], listItemClick: [{
18559
18564
  type: i0.Output
18565
+ }], customNotificationIcon: [{
18566
+ type: i0.Input
18560
18567
  }] } });
18561
18568
 
18562
18569
  /** @ignore */
@@ -18581,7 +18588,7 @@
18581
18588
  i8.MatProgressSpinnerModule,
18582
18589
  i2$7.MatTooltipModule,
18583
18590
  i7$2.InfiniteScrollModule,
18584
- i9.MatBadgeModule,
18591
+ i10.MatBadgeModule,
18585
18592
  i1$1.TranslateModule,
18586
18593
  toolbar.MatToolbarModule], exports: [NotificationsListComponent,
18587
18594
  NotificationsButtonComponent,
@@ -18602,7 +18609,7 @@
18602
18609
  i8.MatProgressSpinnerModule,
18603
18610
  i2$7.MatTooltipModule,
18604
18611
  i7$2.InfiniteScrollModule,
18605
- i9.MatBadgeModule,
18612
+ i10.MatBadgeModule,
18606
18613
  i1$1.TranslateModule,
18607
18614
  toolbar.MatToolbarModule
18608
18615
  ]] });
@@ -18621,7 +18628,7 @@
18621
18628
  i8.MatProgressSpinnerModule,
18622
18629
  i2$7.MatTooltipModule,
18623
18630
  i7$2.InfiniteScrollModule,
18624
- i9.MatBadgeModule,
18631
+ i10.MatBadgeModule,
18625
18632
  i1$1.TranslateModule,
18626
18633
  toolbar.MatToolbarModule
18627
18634
  ],