@yelon/bis 12.0.7 → 12.0.11

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 (38) hide show
  1. package/bundles/bis.umd.js +3 -3
  2. package/bundles/layout.umd.js +184 -54
  3. package/bundles/layout.umd.js.map +1 -1
  4. package/bundles/shared.umd.js +4 -17
  5. package/bundles/shared.umd.js.map +1 -1
  6. package/esm2015/{shared → layout}/bis.config.js +2 -2
  7. package/esm2015/layout/public_api.js +4 -1
  8. package/esm2015/layout/stomp.config.js +20 -0
  9. package/esm2015/layout/widgets/yz.application.component.js +5 -5
  10. package/esm2015/layout/widgets/yz.notify.component.js +3 -3
  11. package/esm2015/layout/widgets/yz.them-btn.component.js +32 -12
  12. package/esm2015/layout/widgets/yz.user.component.js +3 -3
  13. package/esm2015/layout/yz.auth.service.js +2 -2
  14. package/esm2015/layout/yz.basic.component.js +11 -4
  15. package/esm2015/layout/yz.default.interceptor.js +4 -4
  16. package/esm2015/layout/yz.i18n.service.js +7 -7
  17. package/esm2015/layout/yz.startup.service.js +10 -10
  18. package/esm2015/layout/yz.stomp.service.js +91 -0
  19. package/esm2015/shared/public_api.js +1 -2
  20. package/fesm2015/layout.js +179 -43
  21. package/fesm2015/layout.js.map +1 -1
  22. package/fesm2015/shared.js +1 -12
  23. package/fesm2015/shared.js.map +1 -1
  24. package/{shared → layout}/bis.config.d.ts +1 -1
  25. package/layout/layout.metadata.json +1 -1
  26. package/layout/public_api.d.ts +3 -0
  27. package/layout/stomp.config.d.ts +3 -0
  28. package/layout/style/index.less +11 -4
  29. package/layout/yz.basic.component.d.ts +6 -3
  30. package/layout/yz.i18n.service.d.ts +0 -1
  31. package/layout/yz.stomp.service.d.ts +39 -0
  32. package/package.json +10 -10
  33. package/shared/public_api.d.ts +0 -1
  34. package/shared/shared-zorro.module.d.ts +2 -2
  35. package/shared/shared.metadata.json +1 -1
  36. package/theme-compact.less +1 -0
  37. package/theme-dark.less +16 -19
  38. package/theme-default.less +8 -8
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license ng-yunzai(devcui@outlook.com) v12.0.7
2
+ * @license ng-yunzai(devcui@outlook.com) v12.0.11
3
3
  * (c) 2020 devcui https://github.com/hbyunzai/yelon/
4
4
  * License: MIT
5
5
  */
6
6
  (function (factory) {
7
7
  typeof define === 'function' && define.amd ? define('@yelon/bis', factory) :
8
8
  factory();
9
- }((function () { 'use strict';
9
+ })((function () { 'use strict';
10
10
 
11
11
  var public_api = void 0;
12
12
 
@@ -14,5 +14,5 @@
14
14
  * Generated bundle index. Do not edit.
15
15
  */
16
16
 
17
- })));
17
+ }));
18
18
  //# sourceMappingURL=bis.umd.js.map
@@ -1,13 +1,13 @@
1
1
  /**
2
- * @license ng-yunzai(devcui@outlook.com) v12.0.7
2
+ * @license ng-yunzai(devcui@outlook.com) v12.0.11
3
3
  * (c) 2020 devcui https://github.com/hbyunzai/yelon/
4
4
  * License: MIT
5
5
  */
6
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@yelon/cache'), require('@yelon/theme'), require('@yelon/util'), require('@angular/cdk/platform'), require('@angular/common'), require('@angular/common/locales/en'), require('@angular/common/locales/zh'), require('@angular/common/locales/zh-Hant'), require('date-fns/locale'), require('ng-zorro-antd/i18n'), require('@yelon/util/config'), require('@yelon/util/decorator'), require('rxjs'), require('rxjs/operators'), require('date-fns'), require('ng-zorro-antd/message'), require('@yelon/util/other'), require('@angular/cdk/bidi'), require('@yelon/theme/theme-btn'), require('@yelon/auth'), require('@yelon/bis/shared'), require('ng-zorro-antd/modal'), require('screenfull'), require('@angular/common/http'), require('@angular/forms'), require('@angular/router'), require('ng-zorro-antd/notification'), require('ng-zorro-antd/icon'), require('@yelon/acl')) :
8
- typeof define === 'function' && define.amd ? define('@yelon/bis/layout', ['exports', '@angular/core', '@yelon/cache', '@yelon/theme', '@yelon/util', '@angular/cdk/platform', '@angular/common', '@angular/common/locales/en', '@angular/common/locales/zh', '@angular/common/locales/zh-Hant', 'date-fns/locale', 'ng-zorro-antd/i18n', '@yelon/util/config', '@yelon/util/decorator', 'rxjs', 'rxjs/operators', 'date-fns', 'ng-zorro-antd/message', '@yelon/util/other', '@angular/cdk/bidi', '@yelon/theme/theme-btn', '@yelon/auth', '@yelon/bis/shared', 'ng-zorro-antd/modal', 'screenfull', '@angular/common/http', '@angular/forms', '@angular/router', 'ng-zorro-antd/notification', 'ng-zorro-antd/icon', '@yelon/acl'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.yelon = global.yelon || {}, global.yelon.bis = global.yelon.bis || {}, global.yelon.bis.layout = {}), global.ng.core, global.yelon.cache, global.yelon.theme, global.yelon.util, global.ng.cdk.platform, global.ng.common, global.ng.common.locales.en, global.ng.common.locales.zh, global.ng.common.locales.zhHant, global.locale, global['ng-zorro-antd/i18n'], global.yelon.util.config, global.decorator, global.rxjs, global.rxjs.operators, global.DateFns, global.message, global.yelon.util.other, global.ng.cdk.bidi, global.themeBtn, global.yelon.auth, global.yelon.bis.shared, global['ng-zorro-antd/modal'], global.screenfull, global.ng.common.http, global.ng.forms, global.ng.router, global.notification, global['ng-zorro-antd/icon'], global.yelon.acl));
10
- }(this, (function (exports, i0, cache, i1, util, i3, common, ngEn, ngZh, ngZhTw, locale, i2, i4, decorator, rxjs, operators, dateFns, message, other, bidi, themeBtn, auth, shared, modal, screenfull, http, forms, router, notification, icon, acl) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@yelon/cache'), require('@yelon/theme'), require('@yelon/util'), require('@angular/cdk/platform'), require('@angular/common'), require('@angular/common/locales/en'), require('@angular/common/locales/zh'), require('@angular/common/locales/zh-Hant'), require('date-fns/locale'), require('ng-zorro-antd/i18n'), require('@yelon/util/config'), require('@yelon/util/decorator'), require('rxjs'), require('rxjs/operators'), require('date-fns'), require('ng-zorro-antd/message'), require('@yelon/util/other'), require('@angular/cdk/bidi'), require('@yelon/theme/theme-btn'), require('@yelon/auth'), require('ng-zorro-antd/modal'), require('screenfull'), require('@angular/common/http'), require('@angular/forms'), require('@angular/router'), require('@yelon/bis/shared'), require('@stomp/rx-stomp'), require('ng-zorro-antd/notification'), require('ng-zorro-antd/icon'), require('@yelon/acl')) :
8
+ typeof define === 'function' && define.amd ? define('@yelon/bis/layout', ['exports', '@angular/core', '@yelon/cache', '@yelon/theme', '@yelon/util', '@angular/cdk/platform', '@angular/common', '@angular/common/locales/en', '@angular/common/locales/zh', '@angular/common/locales/zh-Hant', 'date-fns/locale', 'ng-zorro-antd/i18n', '@yelon/util/config', '@yelon/util/decorator', 'rxjs', 'rxjs/operators', 'date-fns', 'ng-zorro-antd/message', '@yelon/util/other', '@angular/cdk/bidi', '@yelon/theme/theme-btn', '@yelon/auth', 'ng-zorro-antd/modal', 'screenfull', '@angular/common/http', '@angular/forms', '@angular/router', '@yelon/bis/shared', '@stomp/rx-stomp', 'ng-zorro-antd/notification', 'ng-zorro-antd/icon', '@yelon/acl'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.yelon = global.yelon || {}, global.yelon.bis = global.yelon.bis || {}, global.yelon.bis.layout = {}), global.ng.core, global.yelon.cache, global.yelon.theme, global.yelon.util, global.ng.cdk.platform, global.ng.common, global.ng.common.locales.en, global.ng.common.locales.zh, global.ng.common.locales.zhHant, global.locale, global["ng-zorro-antd/i18n"], global.yelon.util.config, global.decorator, global.rxjs, global.rxjs.operators, global.DateFns, global.message, global.yelon.util.other, global.ng.cdk.bidi, global.themeBtn, global.yelon.auth, global["ng-zorro-antd/modal"], global.screenfull, global.ng.common.http, global.ng.forms, global.ng.router, global.yelon.bis.shared, global.rxStomp, global.i3$1, global["ng-zorro-antd/icon"], global.yelon.acl));
10
+ })(this, (function (exports, i0, i2$1, i1, util, i3, common, ngEn, ngZh, ngZhTw, locale, i2, i4, decorator, rxjs, operators, dateFns, message, other, bidi, themeBtn, auth, modal, screenfull, http, forms, router, shared, rxStomp, i3$1, icon, acl) { 'use strict';
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -20,18 +20,17 @@
20
20
  var d = Object.getOwnPropertyDescriptor(e, k);
21
21
  Object.defineProperty(n, k, d.get ? d : {
22
22
  enumerable: true,
23
- get: function () {
24
- return e[k];
25
- }
23
+ get: function () { return e[k]; }
26
24
  });
27
25
  }
28
26
  });
29
27
  }
30
- n['default'] = e;
28
+ n["default"] = e;
31
29
  return Object.freeze(n);
32
30
  }
33
31
 
34
32
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
33
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
35
34
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
36
35
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
37
36
  var ngEn__default = /*#__PURE__*/_interopDefaultLegacy(ngEn);
@@ -40,6 +39,7 @@
40
39
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
41
40
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
42
41
  var screenfull__namespace = /*#__PURE__*/_interopNamespace(screenfull);
42
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
43
43
 
44
44
  /*! *****************************************************************************
45
45
  Copyright (c) Microsoft Corporation.
@@ -363,7 +363,7 @@
363
363
  var LANGS = {
364
364
  'zh-CN': {
365
365
  text: '简体中文',
366
- ng: ngZh__default['default'],
366
+ ng: ngZh__default["default"],
367
367
  zorro: i2.zh_CN,
368
368
  date: locale.zhCN,
369
369
  yelon: i1.zh_CN,
@@ -371,7 +371,7 @@
371
371
  },
372
372
  'zh-TW': {
373
373
  text: '繁体中文',
374
- ng: ngZhTw__default['default'],
374
+ ng: ngZhTw__default["default"],
375
375
  zorro: i2.zh_TW,
376
376
  date: locale.zhTW,
377
377
  yelon: i1.zh_TW,
@@ -379,7 +379,7 @@
379
379
  },
380
380
  'en-US': {
381
381
  text: 'English',
382
- ng: ngEn__default['default'],
382
+ ng: ngEn__default["default"],
383
383
  zorro: i2.en_US,
384
384
  date: locale.enUS,
385
385
  yelon: i1.en_US,
@@ -388,16 +388,13 @@
388
388
  };
389
389
  var YzI18NService = /** @class */ (function (_super) {
390
390
  __extends(YzI18NService, _super);
391
- function YzI18NService(http, settings, nzI18nService, yelonLocaleService, platform,
392
- // @ts-ignore
393
- cogSrv) {
391
+ function YzI18NService(http, settings, nzI18nService, yelonLocaleService, platform, cogSrv) {
394
392
  var _this = _super.call(this, cogSrv) || this;
395
393
  _this.http = http;
396
394
  _this.settings = settings;
397
395
  _this.nzI18nService = nzI18nService;
398
396
  _this.yelonLocaleService = yelonLocaleService;
399
397
  _this.platform = platform;
400
- _this.cogSrv = cogSrv;
401
398
  _this._defaultLang = DEFAULT;
402
399
  _this._langs = Object.keys(LANGS).map(function (code) {
403
400
  var item = LANGS[code];
@@ -416,10 +413,12 @@
416
413
  if (this.settings.layout.lang) {
417
414
  return this.settings.layout.lang;
418
415
  }
419
- return (navigator.languages ? navigator.languages[0] : null) || navigator.language;
416
+ var res = (navigator.languages ? navigator.languages[0] : null) || navigator.language;
417
+ var arr = res.split('-');
418
+ return arr.length <= 1 ? res : arr[0] + "-" + arr[1].toUpperCase();
420
419
  };
421
420
  YzI18NService.prototype.loadLangData = function (lang) {
422
- return this.http.get("./assets/tmp/i18n/" + lang + ".json");
421
+ return this.http.get("assets/tmp/i18n/" + lang + ".json");
423
422
  };
424
423
  YzI18NService.prototype.use = function (lang, data) {
425
424
  if (this._currentLang === lang)
@@ -570,13 +569,13 @@
570
569
  YzHeaderApplicationComponent.decorators = [
571
570
  { type: i0.Component, args: [{
572
571
  selector: 'yz-header-application',
573
- template: "\n <!-- template start-->\n <ng-template #search>\n <div nz-row class=\"yz-application-list-search\">\n <nz-input-group [nzPrefix]=\"prefixTemplate\">\n <input\n type=\"text\"\n nz-input\n [placeholder]=\"'\u8BF7\u8F93\u5165\u8981\u641C\u7D22\u7684\u5E94\u7528\u540D\u79F0!'\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"onSearch()\"\n />\n <ng-template #prefixTemplate>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\"></i>\n </ng-template>\n </nz-input-group>\n </div>\n </ng-template>\n <ng-template #ld>\n <div class=\"yz-application-list\">\n <ul>\n <li *ngFor=\"let d of listData\">\n <h5>{{ d.name }}</h5>\n <a href=\"javascript:;\" *ngFor=\"let cd of d.children\" (click)=\"open(cd)\">{{ cd.name }}</a>\n </li>\n </ul>\n </div>\n </ng-template>\n <!-- template end-->\n\n <!-- button start-->\n <div class=\"yunzai-default__nav-item\" (click)=\"diffChange()\"> \u5E94\u7528\u4E0E\u670D\u52A1</div>\n <!-- button end-->\n\n <!-- header start-->\n <div class=\"yz-application\" nz-row *ngIf=\"active\">\n <div nz-col [nzSpan]=\"3\" class=\"yz-application-topic\">\n <div class=\"yz-application-text\" (click)=\"full()\">\u5168\u90E8\u5E94\u7528</div>\n <div class=\"yz-application-text\" (click)=\"own()\">\u6211\u7684\u5E94\u7528</div>\n <div class=\"yz-application-text\" *ngFor=\"let d of topicData\" (click)=\"every(d)\">\n {{ d.name }}\n </div>\n </div>\n <div nz-col [nzSpan]=\"21\" [ngSwitch]=\"topic\" class=\"yz-application-container\">\n <div *ngSwitchCase=\"T.FULL\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngSwitchCase=\"T.OWN\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngSwitchCase=\"T.EVERY\" class=\"yz-application-list\">\n <div class=\"yz-application-list-item\">\n <ul>\n <li *ngFor=\"let d of listData\" (click)=\"open(d)\">\n <a href=\"javascript:;\">\n <h4>{{ d.name }}</h4>\n <p>{{ d.intro }}</p>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- header end-->\n ",
572
+ template: "\n <!-- template start-->\n <ng-template #search>\n <div nz-row class=\"yz-application-list-search\">\n <nz-input-group [nzPrefix]=\"prefixTemplate\">\n <input\n type=\"text\"\n nz-input\n placeholder=\"{{ 'application.search' | i18n }}\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"onSearch()\"\n />\n <ng-template #prefixTemplate>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\"></i>\n </ng-template>\n </nz-input-group>\n </div>\n </ng-template>\n <ng-template #ld>\n <div class=\"yz-application-list\">\n <ul>\n <li *ngFor=\"let d of listData\">\n <h5>{{ d.name }}</h5>\n <a href=\"javascript:;\" *ngFor=\"let cd of d.children\" (click)=\"open(cd)\">{{ cd.name }}</a>\n </li>\n </ul>\n </div>\n </ng-template>\n <!-- template end-->\n\n <!-- button start-->\n <div class=\"yunzai-default__nav-item\" (click)=\"diffChange()\"> {{ 'application.button' | i18n }}</div>\n <!-- button end-->\n\n <!-- header start-->\n <div class=\"yz-application\" nz-row *ngIf=\"active\">\n <div nz-col [nzSpan]=\"3\" class=\"yz-application-topic\">\n <div class=\"yz-application-text\" (click)=\"full()\">{{ 'application.all' | i18n }}</div>\n <div class=\"yz-application-text\" (click)=\"own()\">{{ 'application.mine' | i18n }}</div>\n <div class=\"yz-application-text\" *ngFor=\"let d of topicData\" (click)=\"every(d)\">\n {{ d.name }}\n </div>\n </div>\n <div nz-col [nzSpan]=\"21\" [ngSwitch]=\"topic\" class=\"yz-application-container\">\n <div *ngSwitchCase=\"T.FULL\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngSwitchCase=\"T.OWN\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngSwitchCase=\"T.EVERY\" class=\"yz-application-list\">\n <div class=\"yz-application-list-item\">\n <ul>\n <li *ngFor=\"let d of listData\" (click)=\"open(d)\">\n <a href=\"javascript:;\">\n <h4>{{ d.name }}</h4>\n <p>{{ d.intro }}</p>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- header end-->\n ",
574
573
  changeDetection: i0.ChangeDetectionStrategy.OnPush
575
574
  },] }
576
575
  ];
577
576
  YzHeaderApplicationComponent.ctorParameters = function () { return [
578
577
  { type: i0.Injector },
579
- { type: cache.CacheService },
578
+ { type: i2$1.CacheService },
580
579
  { type: YzI18NService },
581
580
  { type: i1._HttpClient }
582
581
  ]; };
@@ -707,7 +706,7 @@
707
706
  .pipe(operators.map(function (response) {
708
707
  var viewMessage = _this.data.filter(function (d) { return d.key === 'msg'; })[0];
709
708
  viewMessage.list = response.data.list.map(function (m) {
710
- return Object.assign(Object.assign({}, m), { avatar: './assets/tmp/img/message.png', title: m.systemName, description: m.content, extra: formatMessageStatus(m.status).extra, color: formatMessageStatus(m.status).color, datetime: dateFns.formatDistanceToNow(new Date(m.date), { locale: _this.nzI18n.getDateLocale() }) });
709
+ return Object.assign(Object.assign({}, m), { avatar: (m === null || m === void 0 ? void 0 : m.imgUrl) || './assets/tmp/img/message.png', title: m.systemName, description: m.content, extra: formatMessageStatus(m.status).extra, color: formatMessageStatus(m.status).color, datetime: dateFns.formatDistanceToNow(new Date(m.date), { locale: _this.nzI18n.getDateLocale() }) });
711
710
  });
712
711
  _this.count += viewMessage.list.length;
713
712
  }));
@@ -734,7 +733,7 @@
734
733
  .pipe(operators.map(function (response) {
735
734
  var viewTodo = _this.data.filter(function (d) { return d.key === 'todo'; })[0];
736
735
  viewTodo.list = response.data.list.map(function (t) {
737
- return Object.assign(Object.assign({}, t), { avatar: './assets/tmp/img/todo.png', title: t.systemName, description: t.content, datetime: dateFns.formatDistanceToNow(new Date(t.date), { locale: _this.nzI18n.getDateLocale() }), extra: formatTodoStatus(t.status).extra, color: formatTodoStatus(t.status).color });
736
+ return Object.assign(Object.assign({}, t), { avatar: (t === null || t === void 0 ? void 0 : t.imgUrl) || './assets/tmp/img/todo.png', title: t.systemName, description: t.content, datetime: dateFns.formatDistanceToNow(new Date(t.date), { locale: _this.nzI18n.getDateLocale() }), extra: formatTodoStatus(t.status).extra, color: formatTodoStatus(t.status).color });
738
737
  });
739
738
  _this.count += viewTodo.list.length;
740
739
  }));
@@ -786,9 +785,18 @@
786
785
  this.KEYS = KEYS;
787
786
  this.theme = 'default';
788
787
  this.types = [
789
- { key: 'default', text: 'Default Theme', color: '#2163ff' },
790
- { key: 'compact', text: 'Compact Theme', color: '#2163ff' },
791
- { key: 'dark', text: 'Dark Theme', color: '#020202' }
788
+ { key: 'default', text: 'theme.default', color: '#2163ff' },
789
+ { key: 'compact', text: 'theme.compact', color: '#2163ff' },
790
+ { key: 'dark', text: 'theme.dark', color: '#020202' },
791
+ { key: 'yuhong', text: 'theme.yuhong', color: '#C04851' },
792
+ { key: 'danjuhuang', text: 'theme.danjuhuang', color: '#FBA414' },
793
+ { key: 'xinghuang', text: 'theme.xinghuang', color: '#F28E16' },
794
+ { key: 'shilv', text: 'theme.shilv', color: '#57C3C2' },
795
+ { key: 'zhulv', text: 'theme.zhulv', color: '#1BA784' },
796
+ { key: 'youlan', text: 'theme.youlan', color: '#1781B5' },
797
+ { key: 'dianqing', text: 'theme.dianqing', color: '#1661AB' },
798
+ { key: 'shangengzi', text: 'theme.shangengzi', color: '#61649F' },
799
+ { key: 'shuiniuhui', text: 'theme.shuiniuhui', color: '#2F2F35' }
792
800
  ];
793
801
  this.devTips = "When the dark.css file can't be found, you need to run it once: npm run theme";
794
802
  this.deployUrl = '';
@@ -850,7 +858,7 @@
850
858
  YzHeaderThemBtnComponent.decorators = [
851
859
  { type: i0.Component, args: [{
852
860
  selector: 'yz-header-theme-btn',
853
- template: "\n <div\n class=\"yunzai-default__nav-item\"\n nz-dropdown\n [nzDropdownMenu]=\"iconMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <svg nz-tooltip class=\"anticon\" role=\"img\" width=\"21\" height=\"21\" viewBox=\"0 0 21 21\" fill=\"currentColor\">\n <g fill-rule=\"evenodd\">\n <g fill-rule=\"nonzero\">\n <path\n d=\"M7.02 3.635l12.518 12.518a1.863 1.863 0 010 2.635l-1.317 1.318a1.863 1.863 0 01-2.635 0L3.068 7.588A2.795 2.795 0 117.02 3.635zm2.09 14.428a.932.932 0 110 1.864.932.932 0 010-1.864zm-.043-9.747L7.75 9.635l9.154 9.153 1.318-1.317-9.154-9.155zM3.52 12.473c.514 0 .931.417.931.931v.932h.932a.932.932 0 110 1.864h-.932v.931a.932.932 0 01-1.863 0l-.001-.931h-.93a.932.932 0 010-1.864h.93v-.932c0-.514.418-.931.933-.931zm15.374-3.727a1.398 1.398 0 110 2.795 1.398 1.398 0 010-2.795zM4.385 4.953a.932.932 0 000 1.317l2.046 2.047L7.75 7 5.703 4.953a.932.932 0 00-1.318 0zM14.701.36a.932.932 0 01.931.932v.931h.932a.932.932 0 010 1.864h-.933l.001.932a.932.932 0 11-1.863 0l-.001-.932h-.93a.932.932 0 110-1.864h.93v-.931a.932.932 0 01.933-.932z\"\n ></path>\n </g>\n </g>\n </svg>\n </div>\n <nz-dropdown-menu #iconMenu=\"nzDropdownMenu\">\n <div nz-menu class=\"wd-xl animated jello\">\n <div nz-row [nzJustify]=\"'space-between'\" [nzAlign]=\"'middle'\" class=\"app-icons\">\n <div nz-col [nzSpan]=\"6\" *ngFor=\"let theme of types\" (click)=\"onThemeChange(theme.key)\">\n <i nz-icon nzType=\"bg-colors\" class=\"text-white\" [style]=\"{ backgroundColor: theme.color }\"></i>\n <span [ngStyle]=\"{ color: theme.color }\">{{ theme.key }}</span>\n </div>\n </div>\n </div>\n </nz-dropdown-menu>\n ",
861
+ template: "\n <div\n class=\"yunzai-default__nav-item\"\n nz-dropdown\n [nzDropdownMenu]=\"iconMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <svg nz-tooltip class=\"anticon\" role=\"img\" width=\"21\" height=\"21\" viewBox=\"0 0 21 21\" fill=\"currentColor\">\n <g fill-rule=\"evenodd\">\n <g fill-rule=\"nonzero\">\n <path\n d=\"M7.02 3.635l12.518 12.518a1.863 1.863 0 010 2.635l-1.317 1.318a1.863 1.863 0 01-2.635 0L3.068 7.588A2.795 2.795 0 117.02 3.635zm2.09 14.428a.932.932 0 110 1.864.932.932 0 010-1.864zm-.043-9.747L7.75 9.635l9.154 9.153 1.318-1.317-9.154-9.155zM3.52 12.473c.514 0 .931.417.931.931v.932h.932a.932.932 0 110 1.864h-.932v.931a.932.932 0 01-1.863 0l-.001-.931h-.93a.932.932 0 010-1.864h.93v-.932c0-.514.418-.931.933-.931zm15.374-3.727a1.398 1.398 0 110 2.795 1.398 1.398 0 010-2.795zM4.385 4.953a.932.932 0 000 1.317l2.046 2.047L7.75 7 5.703 4.953a.932.932 0 00-1.318 0zM14.701.36a.932.932 0 01.931.932v.931h.932a.932.932 0 010 1.864h-.933l.001.932a.932.932 0 11-1.863 0l-.001-.932h-.93a.932.932 0 110-1.864h.93v-.931a.932.932 0 01.933-.932z\"\n ></path>\n </g>\n </g>\n </svg>\n </div>\n <nz-dropdown-menu #iconMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li\n nz-menu-item\n *ngFor=\"let theme of types\"\n (click)=\"onThemeChange(theme.key)\"\n [style]=\"{ color: theme.color }\"\n >\n <i nz-icon nzType=\"bg-colors\"></i>\n {{ theme.text | i18n }}\n </li>\n </ul>\n <!-- <div nz-menu class=\"wd-xl animated jello\">-->\n <!-- <div nz-row [nzJustify]=\"'space-between'\" [nzAlign]=\"'middle'\" class=\"app-icons\">-->\n <!-- <div nz-col [nzSpan]=\"4\" *ngFor=\"let theme of types\" (click)=\"onThemeChange(theme.key)\">-->\n <!-- <i nz-icon nzType=\"bg-colors\" class=\"text-white\" [style]=\"{ backgroundColor: theme.color }\"></i>-->\n <!-- <span [ngStyle]=\"{ color: theme.color }\">{{ theme.text | i18n }}</span>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- </div>-->\n </nz-dropdown-menu>\n ",
854
862
  changeDetection: i0.ChangeDetectionStrategy.OnPush
855
863
  },] }
856
864
  ];
@@ -868,6 +876,17 @@
868
876
  deployUrl: [{ type: i0.Input }]
869
877
  };
870
878
 
879
+ var BUSINESS_DEFAULT_CONFIG = {
880
+ baseUrl: '/backstage',
881
+ systemCode: 'portal',
882
+ loginForm: null,
883
+ refreshTokenEnabled: true,
884
+ refreshTokenType: 're-request'
885
+ };
886
+ function mergeBisConfig(srv) {
887
+ return srv.merge('bis', BUSINESS_DEFAULT_CONFIG);
888
+ }
889
+
871
890
  var YzHeaderUserComponent = /** @class */ (function () {
872
891
  function YzHeaderUserComponent(injector, msg, tokenService,
873
892
  // @ts-ignore
@@ -880,7 +899,7 @@
880
899
  this.icon = '';
881
900
  this.username = '';
882
901
  this.menus = [];
883
- this.config = shared.mergeConfig(configService);
902
+ this.config = mergeBisConfig(configService);
884
903
  }
885
904
  YzHeaderUserComponent.prototype.ngOnInit = function () {
886
905
  var projectInfo = this.cacheService.get('_yz_project_info', { mode: 'none' });
@@ -918,7 +937,7 @@
918
937
  { type: message.NzMessageService },
919
938
  { type: undefined, decorators: [{ type: i0.Inject, args: [auth.YA_SERVICE_TOKEN,] }] },
920
939
  { type: util.YunzaiConfigService },
921
- { type: cache.CacheService }
940
+ { type: i2$1.CacheService }
922
941
  ]; };
923
942
 
924
943
  var YzHeaderClearStorageComponent = /** @class */ (function () {
@@ -992,9 +1011,110 @@
992
1011
  _click: [{ type: i0.HostListener, args: ['click',] }]
993
1012
  };
994
1013
 
1014
+ var ɵ0 = function (msg) {
1015
+ util.log(msg);
1016
+ };
1017
+ var STOMP_DEFAULT_CONFIG = {
1018
+ connectHeaders: {
1019
+ login: 'guest',
1020
+ passcode: 'guest'
1021
+ },
1022
+ brokerURL: '/websocket/ws/',
1023
+ heartbeatIncoming: 1000 * 60,
1024
+ heartbeatOutgoing: 1000 * 60,
1025
+ reconnectDelay: 30000000,
1026
+ debug: ɵ0
1027
+ };
1028
+ function mergeStompConfig(srv) {
1029
+ return srv.merge('stomp', STOMP_DEFAULT_CONFIG);
1030
+ }
1031
+
1032
+ var YzStompService = /** @class */ (function () {
1033
+ function YzStompService(csr, cache, injector, notification) {
1034
+ this.csr = csr;
1035
+ this.cache = cache;
1036
+ this.injector = injector;
1037
+ this.notification = notification;
1038
+ this.subs = [];
1039
+ if (!this.user) {
1040
+ this.user = this.cache.get('_yz_user', { mode: 'none' });
1041
+ }
1042
+ if (!this.config) {
1043
+ this.config = mergeStompConfig(this.csr);
1044
+ }
1045
+ if (!this.bisConfig) {
1046
+ this.bisConfig = mergeBisConfig(csr);
1047
+ }
1048
+ if (!this.rxStomp) {
1049
+ this.rxStomp = new rxStomp.RxStomp();
1050
+ if (i0.isDevMode()) {
1051
+ util.log('yz.stomp.service: is dev mode');
1052
+ util.log('yz.stomp.service: ', "config is " + this.config);
1053
+ this.rxStomp.configure(this.config);
1054
+ return;
1055
+ }
1056
+ var location = this.injector.get(common.DOCUMENT).location;
1057
+ var protocol = location.protocol, host = location.host;
1058
+ util.log('yz.stomp.service: ', "protocol is " + protocol + ",host is " + host);
1059
+ if (protocol.includes('http') && !protocol.includes('https')) {
1060
+ this.config.brokerURL = "ws://" + host + this.config.brokerURL;
1061
+ }
1062
+ if (protocol.includes('https')) {
1063
+ this.config.brokerURL = "wss://" + host + this.config.brokerURL;
1064
+ }
1065
+ util.log('yz.stomp.service: ', "config is " + this.config);
1066
+ this.rxStomp.configure(this.config);
1067
+ }
1068
+ }
1069
+ YzStompService.prototype.listen = function () {
1070
+ var _this = this;
1071
+ this.subs.push(this.rxStomp.watch("/topic/layout_" + this.user.username).subscribe(function (message) {
1072
+ _this.createNotification(JSON.parse(message.body));
1073
+ }));
1074
+ this.subs.push(this.rxStomp.watch("/topic/layout_xx_" + this.user.username).subscribe(function (message) {
1075
+ _this.logoutNotification(JSON.parse(message.body));
1076
+ }));
1077
+ this.rxStomp.activate();
1078
+ };
1079
+ YzStompService.prototype.createNotification = function (message) {
1080
+ this.notification.create(message.type, message.title, "<a href=" + message.href + ">" + message.content + "</a>");
1081
+ };
1082
+ YzStompService.prototype.logoutNotification = function (message) {
1083
+ var _this = this;
1084
+ this.notification.create(message.type, message.title, message.content + ",\u5269\u4F59\u65F6\u95F45\u79D2");
1085
+ setTimeout(function () {
1086
+ _this.cache.clear();
1087
+ localStorage.clear();
1088
+ _this.injector.get(util.WINDOW).location.href = _this.bisConfig.baseUrl + "/cas-proxy/app/logout";
1089
+ }, 5000);
1090
+ };
1091
+ YzStompService.prototype.unListen = function () {
1092
+ this.subs.forEach(function (s) { return s.unsubscribe(); });
1093
+ this.rxStomp.deactivate().then();
1094
+ };
1095
+ YzStompService.prototype.publish = function (parameters) {
1096
+ this.rxStomp.publish(parameters);
1097
+ };
1098
+ YzStompService.prototype.watch = function (destination, headers) {
1099
+ return this.rxStomp.watch(destination, headers);
1100
+ };
1101
+ return YzStompService;
1102
+ }());
1103
+ YzStompService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function YzStompService_Factory() { return new YzStompService(i0__namespace.ɵɵinject(i4__namespace.YunzaiConfigService), i0__namespace.ɵɵinject(i2__namespace$1.CacheService), i0__namespace.ɵɵinject(i0__namespace.INJECTOR), i0__namespace.ɵɵinject(i3__namespace$1.NzNotificationService)); }, token: YzStompService, providedIn: "root" });
1104
+ YzStompService.decorators = [
1105
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
1106
+ ];
1107
+ YzStompService.ctorParameters = function () { return [
1108
+ { type: util.YunzaiConfigService },
1109
+ { type: i2$1.CacheService },
1110
+ { type: i0.Injector },
1111
+ { type: i3$1.NzNotificationService }
1112
+ ]; };
1113
+
995
1114
  var YzLayoutBasicComponent = /** @class */ (function () {
996
- function YzLayoutBasicComponent(cacheService) {
1115
+ function YzLayoutBasicComponent(cacheService, yzStompService) {
997
1116
  this.cacheService = cacheService;
1117
+ this.yzStompService = yzStompService;
998
1118
  this.options = {
999
1119
  logoExpanded: "./assets/logo-full.svg",
1000
1120
  logoCollapsed: "./assets/logo.svg"
@@ -1011,18 +1131,23 @@
1011
1131
  this.icon = current.icon ? current.icon : "./assets/tmp/img/avatar.jpg";
1012
1132
  this.options.logoExpanded = project.maxLogoUrl ? project.maxLogoUrl : "./assets/logo-full.svg";
1013
1133
  this.options.logoCollapsed = project.miniLogoUrl ? project.miniLogoUrl : "./assets/logo.svg";
1134
+ this.yzStompService.listen();
1135
+ };
1136
+ YzLayoutBasicComponent.prototype.ngOnDestroy = function () {
1137
+ this.yzStompService.unListen();
1014
1138
  };
1015
1139
  return YzLayoutBasicComponent;
1016
1140
  }());
1017
1141
  YzLayoutBasicComponent.decorators = [
1018
1142
  { type: i0.Component, args: [{
1019
1143
  selector: 'yz-layout-basic',
1020
- template: "\n <layout-default [options]=\"options\" [asideUser]=\"asideUserTpl\" [content]=\"contentTpl\">\n <layout-default-header-item direction=\"left\">\n <yz-header-application></yz-header-application>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yz-header-notify></yz-header-notify>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yz-header-theme-btn></yz-header-theme-btn>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <div\n layout-default-header-item-trigger\n nz-dropdown\n [nzDropdownMenu]=\"settingsMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <i nz-icon nzType=\"setting\"></i>\n </div>\n <nz-dropdown-menu #settingsMenu=\"nzDropdownMenu\">\n <div nz-menu style=\"width: 200px;\">\n <div nz-menu-item>\n <yz-header-fullscreen></yz-header-fullscreen>\n </div>\n <div nz-menu-item>\n <yz-header-clear-storage></yz-header-clear-storage>\n </div>\n <div nz-menu-item>\n <yz-header-i18n></yz-header-i18n>\n </div>\n </div>\n </nz-dropdown-menu>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\">\n <yz-header-user></yz-header-user>\n </layout-default-header-item>\n <ng-template #asideUserTpl>\n <div nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"userMenu\" class=\"yunzai-default__aside-user\">\n <nz-avatar class=\"yunzai-default__aside-user-avatar\" [nzSrc]=\"icon\"></nz-avatar>\n <div class=\"yunzai-default__aside-user-info\">\n <strong>{{ text }}</strong>\n <p class=\"mb0\">{{ intro }}</p>\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item routerLink=\"/\">\u56DE\u5230\u9996\u9875</li>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n <ng-template #contentTpl>\n <reuse-tab #reuseTab></reuse-tab>\n <router-outlet (activate)=\"reuseTab.activate($event)\"></router-outlet>\n </ng-template>\n </layout-default>\n ",
1144
+ template: "\n <layout-default [options]=\"options\" [asideUser]=\"asideUserTpl\" [content]=\"contentTpl\">\n <layout-default-header-item direction=\"left\">\n <yz-header-application></yz-header-application>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yz-header-notify></yz-header-notify>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yz-header-theme-btn></yz-header-theme-btn>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <div\n layout-default-header-item-trigger\n nz-dropdown\n [nzDropdownMenu]=\"settingsMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <i nz-icon nzType=\"setting\"></i>\n </div>\n <nz-dropdown-menu #settingsMenu=\"nzDropdownMenu\">\n <div nz-menu style=\"width: 200px;\">\n <div nz-menu-item>\n <yz-header-fullscreen></yz-header-fullscreen>\n </div>\n <div nz-menu-item>\n <yz-header-clear-storage></yz-header-clear-storage>\n </div>\n <div nz-menu-item>\n <yz-header-i18n></yz-header-i18n>\n </div>\n </div>\n </nz-dropdown-menu>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\">\n <yz-header-user></yz-header-user>\n </layout-default-header-item>\n <ng-template #asideUserTpl>\n <div nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"userMenu\" class=\"yunzai-default__aside-user\">\n <nz-avatar class=\"yunzai-default__aside-user-avatar\" [nzSrc]=\"icon\"></nz-avatar>\n <div class=\"yunzai-default__aside-user-info\">\n <strong>{{ text }}</strong>\n <p class=\"mb0\">{{ intro }}</p>\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item routerLink=\"/\">{{ 'menu.backtohome' | i18n }}</li>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n <ng-template #contentTpl>\n <reuse-tab #reuseTab></reuse-tab>\n <router-outlet (activate)=\"reuseTab.activate($event)\"></router-outlet>\n </ng-template>\n </layout-default>\n ",
1021
1145
  changeDetection: i0.ChangeDetectionStrategy.OnPush
1022
1146
  },] }
1023
1147
  ];
1024
1148
  YzLayoutBasicComponent.ctorParameters = function () { return [
1025
- { type: cache.CacheService }
1149
+ { type: i2$1.CacheService },
1150
+ { type: YzStompService }
1026
1151
  ]; };
1027
1152
 
1028
1153
  var COMPONENTS = [
@@ -1058,7 +1183,7 @@
1058
1183
  function YzAuthService(injector) {
1059
1184
  this.injector = injector;
1060
1185
  this.option = auth.mergeConfig(this.csr);
1061
- this.bis = shared.mergeConfig(this.csr);
1186
+ this.bis = mergeBisConfig(this.csr);
1062
1187
  }
1063
1188
  Object.defineProperty(YzAuthService.prototype, "csr", {
1064
1189
  get: function () {
@@ -1083,7 +1208,7 @@
1083
1208
  });
1084
1209
  Object.defineProperty(YzAuthService.prototype, "cacheService", {
1085
1210
  get: function () {
1086
- return this.injector.get(cache.CacheService);
1211
+ return this.injector.get(i2$1.CacheService);
1087
1212
  },
1088
1213
  enumerable: false,
1089
1214
  configurable: true
@@ -1253,7 +1378,7 @@
1253
1378
  }
1254
1379
  Object.defineProperty(YzDefaultInterceptor.prototype, "notification", {
1255
1380
  get: function () {
1256
- return this.injector.get(notification.NzNotificationService);
1381
+ return this.injector.get(i3$1.NzNotificationService);
1257
1382
  },
1258
1383
  enumerable: false,
1259
1384
  configurable: true
@@ -1274,7 +1399,7 @@
1274
1399
  });
1275
1400
  Object.defineProperty(YzDefaultInterceptor.prototype, "config", {
1276
1401
  get: function () {
1277
- return shared.mergeConfig(this.injector.get(i4.YunzaiConfigService));
1402
+ return mergeBisConfig(this.injector.get(i4.YunzaiConfigService));
1278
1403
  },
1279
1404
  enumerable: false,
1280
1405
  configurable: true
@@ -1400,7 +1525,7 @@
1400
1525
  if (!url.startsWith('https://') && !url.startsWith('http://')) {
1401
1526
  url = this.config.baseUrl + url;
1402
1527
  }
1403
- if (url.includes('.json')) {
1528
+ if (url.includes('.json') && url.includes('assets')) {
1404
1529
  url = req.url;
1405
1530
  }
1406
1531
  // 加入语言头
@@ -1428,6 +1553,7 @@
1428
1553
  menu.badgeDot = menu.badge_dot || null;
1429
1554
  menu.badgeStatus = menu.badge_status || null;
1430
1555
  menu.shortcutRoot = menu.shortcut_root || null;
1556
+ menu.reuse = true;
1431
1557
  if (menu.children) {
1432
1558
  mapYzSideToYelonMenu(menu.children);
1433
1559
  }
@@ -1462,8 +1588,8 @@
1462
1588
  this.yzAuthService = yzAuthService;
1463
1589
  this.cacheService = cacheService;
1464
1590
  this.configService = configService;
1465
- this.bis = shared.BUSINESS_DEFAULT_CONFIG;
1466
- this.bis = shared.mergeConfig(this.configService);
1591
+ this.bis = BUSINESS_DEFAULT_CONFIG;
1592
+ this.bis = mergeBisConfig(this.configService);
1467
1593
  iconSrv.addIcon.apply(iconSrv, __spreadArray([], __read(shared.ICONS)));
1468
1594
  }
1469
1595
  YzStartupService.prototype.load = function () {
@@ -1496,7 +1622,7 @@
1496
1622
  var ms = util.deepCopy(user.menu).filter(function (m) { return m.systemCode && m.systemCode === _this.bis.systemCode; });
1497
1623
  mapYzSideToYelonMenu(ms);
1498
1624
  var currentMenu = ms.pop();
1499
- this.menuService.add(currentMenu.children);
1625
+ this.menuService.add([currentMenu]);
1500
1626
  // logo app
1501
1627
  this.settingService.setApp({ name: currentMenu.text, description: currentMenu.intro });
1502
1628
  this.settingService.setUser({
@@ -1510,12 +1636,10 @@
1510
1636
  // acl
1511
1637
  var abilities = [];
1512
1638
  generateAbility([currentMenu], abilities, '');
1513
- this.aclService.add({
1514
- role: (user === null || user === void 0 ? void 0 : user.roles.map(function (role) {
1515
- return role.roleValue;
1516
- }).filter(function (a) { return !!a; })) || [],
1517
- ability: abilities
1518
- });
1639
+ this.aclService.attachRole((user === null || user === void 0 ? void 0 : user.roles.map(function (role) {
1640
+ return role.roleValue;
1641
+ }).filter(function (a) { return !!a; })) || []);
1642
+ this.aclService.attachAbility(abilities);
1519
1643
  // cache current
1520
1644
  this.cacheService.set('_yz_current', {
1521
1645
  text: currentMenu.text,
@@ -1536,7 +1660,7 @@
1536
1660
  { type: acl.ACLService },
1537
1661
  { type: i1.TitleService },
1538
1662
  { type: YzAuthService },
1539
- { type: cache.CacheService },
1663
+ { type: i2$1.CacheService },
1540
1664
  { type: util.YunzaiConfigService }
1541
1665
  ]; };
1542
1666
  function YzStartupServiceFactory(startupService) {
@@ -1557,6 +1681,8 @@
1557
1681
  * Generated bundle index. Do not edit.
1558
1682
  */
1559
1683
 
1684
+ exports.BUSINESS_DEFAULT_CONFIG = BUSINESS_DEFAULT_CONFIG;
1685
+ exports.STOMP_DEFAULT_CONFIG = STOMP_DEFAULT_CONFIG;
1560
1686
  exports.YZ_APPINIT_PROVIDES = YZ_APPINIT_PROVIDES;
1561
1687
  exports.YunzaiLayoutModule = YunzaiLayoutModule;
1562
1688
  exports.YzAuthService = YzAuthService;
@@ -1572,17 +1698,21 @@
1572
1698
  exports.YzLayoutBasicComponent = YzLayoutBasicComponent;
1573
1699
  exports.YzStartupService = YzStartupService;
1574
1700
  exports.YzStartupServiceFactory = YzStartupServiceFactory;
1701
+ exports.YzStompService = YzStompService;
1575
1702
  exports.generateAbility = generateAbility;
1576
1703
  exports.mapYzSideToYelonMenu = mapYzSideToYelonMenu;
1577
- exports.ɵa = YzHeaderApplicationComponent;
1578
- exports.ɵb = YzHeaderNotifyComponent;
1579
- exports.ɵc = YzHeaderThemBtnComponent;
1580
- exports.ɵd = YzHeaderUserComponent;
1581
- exports.ɵe = YzHeaderFullScreenComponent;
1582
- exports.ɵf = YzHeaderClearStorageComponent;
1583
- exports.ɵg = YzHeaderI18NComponent;
1704
+ exports.mergeBisConfig = mergeBisConfig;
1705
+ exports.mergeStompConfig = mergeStompConfig;
1706
+ exports["ɵ0"] = ɵ0;
1707
+ exports["ɵa"] = YzHeaderApplicationComponent;
1708
+ exports["ɵb"] = YzHeaderNotifyComponent;
1709
+ exports["ɵc"] = YzHeaderThemBtnComponent;
1710
+ exports["ɵd"] = YzHeaderUserComponent;
1711
+ exports["ɵe"] = YzHeaderFullScreenComponent;
1712
+ exports["ɵf"] = YzHeaderClearStorageComponent;
1713
+ exports["ɵg"] = YzHeaderI18NComponent;
1584
1714
 
1585
1715
  Object.defineProperty(exports, '__esModule', { value: true });
1586
1716
 
1587
- })));
1717
+ }));
1588
1718
  //# sourceMappingURL=layout.umd.js.map