nuxeo-development-framework 3.9.9 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +47 -37
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +1 -1
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +23 -21
- package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +4 -3
- package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +2 -2
- package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +1 -1
- package/esm2015/lib/components/notifications/services/notifications.service.js +11 -10
- package/esm2015/lib/components/notifications/services/socket.service.js +12 -7
- package/fesm2015/nuxeo-development-framework.js +46 -37
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +1 -0
- package/lib/components/notifications/models/notification-setting.presenter.d.ts +1 -1
- package/package.json +1 -1
|
@@ -29095,12 +29095,17 @@
|
|
|
29095
29095
|
SocketService.prototype._prepareConnection = function () {
|
|
29096
29096
|
var _this = this;
|
|
29097
29097
|
var _a;
|
|
29098
|
-
|
|
29099
|
-
|
|
29100
|
-
|
|
29101
|
-
|
|
29102
|
-
|
|
29103
|
-
|
|
29098
|
+
try {
|
|
29099
|
+
var socket = new WebSocket((_a = this._environment) === null || _a === void 0 ? void 0 : _a.socketUrl);
|
|
29100
|
+
socket.onopen = function (event) { return _this._handleSocketConnection(true, event); };
|
|
29101
|
+
socket.onclose = function (event) { return _this._handleSocketConnection(false, event); };
|
|
29102
|
+
socket.onerror = function (event) { return _this._handleSocketError(event); };
|
|
29103
|
+
socket.onmessage = function (event) { return _this._handleSocketMessage(event); };
|
|
29104
|
+
this._socket = socket;
|
|
29105
|
+
}
|
|
29106
|
+
catch (error) {
|
|
29107
|
+
this._handleSocketError(error);
|
|
29108
|
+
}
|
|
29104
29109
|
};
|
|
29105
29110
|
SocketService.prototype.ngOnDestroy = function () {
|
|
29106
29111
|
this._destroy$.next();
|
|
@@ -29143,23 +29148,24 @@
|
|
|
29143
29148
|
*/
|
|
29144
29149
|
function NotificationsService(_environment, _nuxeoService, _callApi, _http) {
|
|
29145
29150
|
var _this = this;
|
|
29146
|
-
var _a, _b;
|
|
29151
|
+
var _a, _b, _c;
|
|
29147
29152
|
_this = _super.call(this, _environment, _nuxeoService) || this;
|
|
29148
29153
|
_this._environment = _environment;
|
|
29149
29154
|
_this._nuxeoService = _nuxeoService;
|
|
29150
29155
|
_this._callApi = _callApi;
|
|
29151
29156
|
_this._http = _http;
|
|
29152
29157
|
_this.listenerObserver = new rxjs.Subject();
|
|
29153
|
-
|
|
29154
|
-
if ((_b = (_a = _this._nuxeoService.nuxeoClient) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id) {
|
|
29158
|
+
if (((_b = (_a = _this._nuxeoService.nuxeoClient) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id) && ((_c = _this._environment) === null || _c === void 0 ? void 0 : _c.socketUrl)) {
|
|
29155
29159
|
_this.socketConnect()
|
|
29156
|
-
.pipe(operators.switchMap(function () { return _this.onMessage$; }), operators.
|
|
29160
|
+
.pipe(operators.switchMap(function () { return _this.onMessage$; }), operators.catchError(function (error) {
|
|
29161
|
+
console.log(error);
|
|
29162
|
+
return rxjs.throwError(function () { return error; });
|
|
29163
|
+
}), operators.takeUntil(_this._destroy$))
|
|
29157
29164
|
.subscribe(function (res) {
|
|
29158
29165
|
_this.listenerObserver.next(res);
|
|
29159
29166
|
});
|
|
29160
29167
|
}
|
|
29161
29168
|
return _this;
|
|
29162
|
-
// });
|
|
29163
29169
|
}
|
|
29164
29170
|
Object.defineProperty(NotificationsService.prototype, "_tenantId", {
|
|
29165
29171
|
get: function () {
|
|
@@ -29238,7 +29244,7 @@
|
|
|
29238
29244
|
NotificationsService.prototype.getDefinitions = function (payload) {
|
|
29239
29245
|
if (payload === void 0) { payload = {}; }
|
|
29240
29246
|
return this._callApi
|
|
29241
|
-
.query(Object.assign({ pageProvider: NotificationsService.providers.definition, notfnotificationdef_applicationKey: this._appKey, pageSize:
|
|
29247
|
+
.query(Object.assign({ pageProvider: NotificationsService.providers.definition, notfnotificationdef_applicationKey: this._appKey, pageSize: Number.MAX_SAFE_INTEGER, notfnotificationdef_isActive: true }, payload), {
|
|
29242
29248
|
headers: {
|
|
29243
29249
|
properties: '*',
|
|
29244
29250
|
},
|
|
@@ -29248,7 +29254,7 @@
|
|
|
29248
29254
|
NotificationsService.prototype.getSubscriptions = function (payload) {
|
|
29249
29255
|
if (payload === void 0) { payload = {}; }
|
|
29250
29256
|
return this._callApi
|
|
29251
|
-
.query(Object.assign({ pageProvider: NotificationsService.providers.subscription, notfsubscription_companyName: this._tenantId, notfsubscription_applicationKey: this._appKey, pageSize:
|
|
29257
|
+
.query(Object.assign({ pageProvider: NotificationsService.providers.subscription, notfsubscription_companyName: this._tenantId, notfsubscription_applicationKey: this._appKey, pageSize: Number.MAX_SAFE_INTEGER }, payload), {
|
|
29252
29258
|
headers: {
|
|
29253
29259
|
properties: '*',
|
|
29254
29260
|
},
|
|
@@ -29422,7 +29428,7 @@
|
|
|
29422
29428
|
return NotificationItemComponent;
|
|
29423
29429
|
}(DestroySubject));
|
|
29424
29430
|
NotificationItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
29425
|
-
NotificationItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationItemComponent, selector: "app-notification-item", inputs: { iconOptions: "iconOptions", currentLang: "currentLang", notification: "notification" }, outputs: { markAsUnread: "markAsUnread", markAsRead: "markAsRead", markAsDeleted: "markAsDeleted" }, usesInheritance: true, ngImport: i0__namespace, template: "<div\r\n *ngIf=\"notification?.properties as properties\"\r\n class=\"notification-item\"\r\n [class.new-item]=\"properties['notif_cnt:status'] == status.new\"\r\n [class.unread-item]=\"properties['notif_cnt:status'] == status.unRead\"\r\n>\r\n <div class=\"notification-item__icon\">\r\n <div class=\"notification-item__icon__wrapper\" *ngIf=\"iconOptions?.active\">\r\n <i [class]=\"notification | getIcon : iconOptions\"></i>\r\n </div>\r\n </div>\r\n <div class=\"notification-item__content\">\r\n <p class=\"notification-item__message line-clamp-2\">\r\n {{\r\n currentLang === 'ar-AR'\r\n ? properties['notif_cnt:arMessage']\r\n : properties['notif_cnt:enMessage']\r\n }}\r\n </p>\r\n <button\r\n class=\"mat-icon-button\"\r\n [matMenuTriggerFor]=\"appMenu\"\r\n mat-icon-button\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <mat-icon class=\"mat-24\">more_horiz</mat-icon>\r\n </button>\r\n <span class=\"notification-item__date\">{{\r\n properties['dc:created'] | timeAgo : currentLang\r\n }}</span>\r\n </div>\r\n\r\n <mat-menu class=\"notification-item__actions\" #appMenu=\"matMenu\">\r\n <span (click)=\"closeMenu($event, appMenu)\">\r\n <button\r\n *ngIf=\"properties['notif_cnt:status'] == status.read\"\r\n mat-menu-item\r\n class=\"notification-item__actions__item\"\r\n (click)=\"markAsUnread.emit(notification)\"\r\n >\r\n <span class=\"mx-1\">{{ 'notifications.markAsUnread' | translate }}</span>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"\r\n properties['notif_cnt:status'] == status.new ||\r\n properties['notif_cnt:status'] == status.unRead\r\n \"\r\n mat-menu-item\r\n class=\"notification-item__actions__item\"\r\n (click)=\"markAsRead.emit(notification)\"\r\n >\r\n <span class=\"mx-1\">{{ 'notifications.markAsRead' | translate }}</span>\r\n </button>\r\n\r\n <button\r\n mat-menu-item\r\n (click)=\"markAsDeleted.emit(notification)\"\r\n class=\"notification-item__actions__item\"\r\n >\r\n <span>{{ 'notifications.delete' | translate }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [".notification-item{display:var(--n-item-display, grid);grid-template-columns:var(--n-item-columns, auto 1fr);grid-gap:var(--n-item-gap, .5rem);gap:var(--n-item-gap, .5rem);padding:var(--n-items-padding, .5rem 1rem);border:var(--n-item-border, solid #eee);border-width:var(--n-item-border-width, 0 0 1px 0);background:var(--n-item-background, transparent);min-height:var(--n-item-height, 85px)}.notification-item.new-item{--n-item-background: var(--n-status-new-color, #
|
|
29431
|
+
NotificationItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationItemComponent, selector: "app-notification-item", inputs: { iconOptions: "iconOptions", currentLang: "currentLang", notification: "notification" }, outputs: { markAsUnread: "markAsUnread", markAsRead: "markAsRead", markAsDeleted: "markAsDeleted" }, usesInheritance: true, ngImport: i0__namespace, template: "<div\r\n *ngIf=\"notification?.properties as properties\"\r\n class=\"notification-item\"\r\n [class.new-item]=\"properties['notif_cnt:status'] == status.new\"\r\n [class.unread-item]=\"properties['notif_cnt:status'] == status.unRead\"\r\n>\r\n <div class=\"notification-item__icon\">\r\n <div class=\"notification-item__icon__wrapper\" *ngIf=\"iconOptions?.active\">\r\n <i [class]=\"notification | getIcon : iconOptions\"></i>\r\n </div>\r\n </div>\r\n <div class=\"notification-item__content\">\r\n <p class=\"notification-item__message line-clamp-2\">\r\n {{\r\n currentLang === 'ar-AR'\r\n ? properties['notif_cnt:arMessage']\r\n : properties['notif_cnt:enMessage']\r\n }}\r\n </p>\r\n <button\r\n class=\"mat-icon-button\"\r\n [matMenuTriggerFor]=\"appMenu\"\r\n mat-icon-button\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <mat-icon class=\"mat-24\">more_horiz</mat-icon>\r\n </button>\r\n <span class=\"notification-item__date\">{{\r\n properties['dc:created'] | timeAgo : currentLang\r\n }}</span>\r\n </div>\r\n\r\n <mat-menu class=\"notification-item__actions\" #appMenu=\"matMenu\">\r\n <span (click)=\"closeMenu($event, appMenu)\">\r\n <button\r\n *ngIf=\"properties['notif_cnt:status'] == status.read\"\r\n mat-menu-item\r\n class=\"notification-item__actions__item\"\r\n (click)=\"markAsUnread.emit(notification)\"\r\n >\r\n <span class=\"mx-1\">{{ 'notifications.markAsUnread' | translate }}</span>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"\r\n properties['notif_cnt:status'] == status.new ||\r\n properties['notif_cnt:status'] == status.unRead\r\n \"\r\n mat-menu-item\r\n class=\"notification-item__actions__item\"\r\n (click)=\"markAsRead.emit(notification)\"\r\n >\r\n <span class=\"mx-1\">{{ 'notifications.markAsRead' | translate }}</span>\r\n </button>\r\n\r\n <button\r\n mat-menu-item\r\n (click)=\"markAsDeleted.emit(notification)\"\r\n class=\"notification-item__actions__item\"\r\n >\r\n <span>{{ 'notifications.delete' | translate }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [".notification-item{display:var(--n-item-display, grid);grid-template-columns:var(--n-item-columns, auto 1fr);grid-gap:var(--n-item-gap, .5rem);gap:var(--n-item-gap, .5rem);padding:var(--n-items-padding, .5rem 1rem);border:var(--n-item-border, solid #eee);border-width:var(--n-item-border-width, 0 0 1px 0);background:var(--n-item-background, transparent);min-height:var(--n-item-height, 85px);position:relative}.notification-item.new-item{--n-item-background: var(--n-status-new-color, #ecf8fe)}.notification-item.unread-item{--n-item-background: var(--n-status-unread-color, #ecf8fe)}.notification-item.unread-item:before{content:\"\";position:absolute;inset-inline-start:var(--n-item-unread-inline, 6px);inset-block-start:var(--n-item-unread-block, 6px);width:var(--n-item-unread-width, 8px);height:var(--n-item-unread-height, 8px);background:var(--n-item-unread-background, #39559d);border-radius:50%}.notification-item__icon{display:var(--n-item-icon-display, flex);align-items:var(--n-item-icon-align-items, center)}.notification-item__icon__wrapper{width:var(--n-item-icon-width, 56px);height:var(--n-item-icon-height, 56px);background:var(--n-item-icon-background, rgba(0, 0, 0, .025));color:var(--n-item-icon-color, #636363);font-size:var(--n-item-icon-size, 1.5rem);border-radius:var(--n-item-icon-radius, 50%);display:grid;place-items:center}.notification-item__content{display:var(--n-item-content-display, grid);grid-template-columns:var(--n-item-content-columns, 1fr auto);grid-gap:var(--n-item-gap, .2rem);gap:var(--n-item-gap, .2rem)}.notification-item__message{margin-bottom:0;font-size:var(--n-item-font-size, .9rem);color:var(--n-item-message-color)}.notification-item__date{font-size:var(--n-item-date-size, .8rem);text-align:var(--n-item-date-align, end);grid-column:var(--n-item-date-column, span 2);padding:var(--n-item-date-padding, 0 11px);color:var(--n-item-date-color)}.notification-item__actions{border-radius:var(--n-actions-radius, 4px);background:var(--n-actions-background, #fff);box-shadow:var(--n-actions-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.notification-item__actions .mat-menu-content:not(:empty){padding:var(--n-actions--menu-padding, .5rem)}.notification-item__actions__item{text-align:var(--action-item-align, start)!important;background:var(--action-item-background, transparent)!important;color:var(--action-item-color, #28282d);padding:var(--action-item-padding, .4rem);height:var(--action-item-height, 38px);line-height:var(--action-item-line, 38px);border-radius:var(--action-item-radius, 4px);font-size:var(--action-item-size, 14px)}.notification-item__actions__item:hover{--action-item-background: var(--action-hover-background, #e6f7ff);--action-item-color: var(--action-hover-color, #005fdb)}\n"], components: [{ type: i1__namespace$8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3__namespace$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "getIcon": GetIconPipe, "timeAgo": TimeAgoPipe, "translate": i1__namespace$1.TranslatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
|
|
29426
29432
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationItemComponent, decorators: [{
|
|
29427
29433
|
type: i0.Component,
|
|
29428
29434
|
args: [{
|
|
@@ -30221,31 +30227,14 @@
|
|
|
30221
30227
|
_this.openSettings = new i0.EventEmitter();
|
|
30222
30228
|
_this.openNotifications = new i0.EventEmitter();
|
|
30223
30229
|
_this.onNotification = new i0.EventEmitter();
|
|
30224
|
-
_this.newNotificationCount$ = _this._getCountSub
|
|
30225
|
-
.asObservable()
|
|
30226
|
-
.pipe(operators.map(function (count) { return (count >= 100 ? '99+' : count); }));
|
|
30230
|
+
_this.newNotificationCount$ = _this._getCountSub.asObservable();
|
|
30227
30231
|
_this.panelMode = PANEL_MODE.sidebar;
|
|
30228
30232
|
_this.panelModeEnum = PANEL_MODE;
|
|
30229
30233
|
if (_options === null || _options === void 0 ? void 0 : _options.panelMode) {
|
|
30230
30234
|
_this.panelMode = _options.panelMode;
|
|
30231
30235
|
}
|
|
30232
|
-
_this.
|
|
30233
|
-
|
|
30234
|
-
var isAr = _this._translationService.isArabic.getValue();
|
|
30235
|
-
return _this._toasterService
|
|
30236
|
-
.showToast({
|
|
30237
|
-
type: 'info',
|
|
30238
|
-
title: 'notifications.newNotification',
|
|
30239
|
-
customContent: isAr ? res.arabicMessage : res.englishMessage,
|
|
30240
|
-
})
|
|
30241
|
-
.onTap.pipe(operators.map(function () { return res; }));
|
|
30242
|
-
}), operators.takeUntil(_this.destroy$))
|
|
30243
|
-
.subscribe(function (res) {
|
|
30244
|
-
_this.refreshUnreadCount();
|
|
30245
|
-
if (res === null || res === void 0 ? void 0 : res.clickable) {
|
|
30246
|
-
_this.onNotification.emit(res);
|
|
30247
|
-
}
|
|
30248
|
-
});
|
|
30236
|
+
_this._socketListener();
|
|
30237
|
+
_this.refreshUnreadCount();
|
|
30249
30238
|
return _this;
|
|
30250
30239
|
}
|
|
30251
30240
|
NotificationsButtonComponent.prototype.hideBadgeCount = function () {
|
|
@@ -30275,6 +30264,26 @@
|
|
|
30275
30264
|
_this._cdr.detectChanges();
|
|
30276
30265
|
});
|
|
30277
30266
|
};
|
|
30267
|
+
NotificationsButtonComponent.prototype._socketListener = function () {
|
|
30268
|
+
var _this = this;
|
|
30269
|
+
this.notificationsService.listenerObserver
|
|
30270
|
+
.pipe(operators.switchMap(function (res) {
|
|
30271
|
+
var isAr = _this._translationService.isArabic.getValue();
|
|
30272
|
+
return _this._toasterService
|
|
30273
|
+
.showToast({
|
|
30274
|
+
type: 'info',
|
|
30275
|
+
title: 'notifications.newNotification',
|
|
30276
|
+
customContent: isAr ? res.arabicMessage : res.englishMessage,
|
|
30277
|
+
})
|
|
30278
|
+
.onTap.pipe(operators.map(function () { return res; }));
|
|
30279
|
+
}), operators.takeUntil(this.destroy$))
|
|
30280
|
+
.subscribe(function (res) {
|
|
30281
|
+
_this.refreshUnreadCount();
|
|
30282
|
+
if (res === null || res === void 0 ? void 0 : res.clickable) {
|
|
30283
|
+
_this.onNotification.emit(res);
|
|
30284
|
+
}
|
|
30285
|
+
});
|
|
30286
|
+
};
|
|
30278
30287
|
return NotificationsButtonComponent;
|
|
30279
30288
|
}(BaseNotification));
|
|
30280
30289
|
NotificationsButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotificationsButtonComponent, deps: [{ token: i0__namespace.Injector }, { token: TranslationService }, { token: CustomToastrService }, { token: i0__namespace.ChangeDetectorRef }, { token: NOTIFICATIONS_LIST_OPTIONS, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
@@ -30436,7 +30445,7 @@
|
|
|
30436
30445
|
sourceType: _properties['notf_nt:sourceTypee'],
|
|
30437
30446
|
isActive: _properties['notif_def:isActive'],
|
|
30438
30447
|
autoSubscription: _properties['notif_def:autoSubscription'],
|
|
30439
|
-
|
|
30448
|
+
sentByDefault: _properties['notif_def:sentByDefault'],
|
|
30440
30449
|
applicationKey: _properties['notif_def:applicationKey'],
|
|
30441
30450
|
channel: _properties['notif_def:channel'],
|
|
30442
30451
|
title: definition.title,
|
|
@@ -30471,10 +30480,11 @@
|
|
|
30471
30480
|
sub.applicationKey == definition.applicationKey &&
|
|
30472
30481
|
sub.notificationKey == definition.notificationKey);
|
|
30473
30482
|
});
|
|
30474
|
-
if (_subscription
|
|
30483
|
+
if (_subscription &&
|
|
30484
|
+
Object.values(SUBSCRIPTION_STATE).includes(_subscription === null || _subscription === void 0 ? void 0 : _subscription.state)) {
|
|
30475
30485
|
return _subscription.state === SUBSCRIPTION_STATE.subscribed;
|
|
30476
30486
|
}
|
|
30477
|
-
return
|
|
30487
|
+
return !!(definition === null || definition === void 0 ? void 0 : definition.sentByDefault);
|
|
30478
30488
|
};
|
|
30479
30489
|
return CheckIfSubscribedPipe;
|
|
30480
30490
|
}());
|