tnx-shared 5.1.463 → 5.1.465
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/tnx-shared.umd.js +842 -168
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/classes/base/validators.d.ts.map +1 -1
- package/components/common-app-component/app-topbar-v3/app-topbar-v3.component.d.ts +88 -0
- package/components/common-app-component/app-topbar-v3/app-topbar-v3.component.d.ts.map +1 -0
- package/components/common-app-component/app-topbar-v3/app-topbar-v3.component.ngfactory.d.ts.map +1 -0
- package/components/common-app-component/app-topbar-v3/app-topbar-v3.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/components/splash-component/splash-component-v3/splash-component-v3.component.d.ts +41 -0
- package/components/splash-component/splash-component-v3/splash-component-v3.component.d.ts.map +1 -0
- package/components/splash-component/splash-component-v3/splash-component-v3.component.ngfactory.d.ts.map +1 -0
- package/components/splash-component/splash-component-v3/splash-component-v3.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/enums/common.d.ts +2 -1
- package/enums/common.d.ts.map +1 -1
- package/esm2015/classes/base/validators.js +3 -2
- package/esm2015/components/common-app-component/app-topbar-v3/app-topbar-v3.component.js +445 -0
- package/esm2015/components/common-app-component/app.topbar.component.js +2 -2
- package/esm2015/components/splash-component/splash-component-v3/splash-component-v3.component.js +204 -0
- package/esm2015/components/splash-component/splash-component.component.js +2 -2
- package/esm2015/enums/common.js +2 -1
- package/esm2015/tnx-shared.js +116 -114
- package/esm2015/tnx-shared.module.js +5 -1
- package/fesm2015/tnx-shared.js +676 -51
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/tnx-shared.d.ts +115 -113
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +3 -1
- package/tnx-shared.module.d.ts.map +1 -1
- package/tnx-shared.module.ngfactory.d.ts.map +1 -1
|
@@ -4966,6 +4966,7 @@
|
|
|
4966
4966
|
EnumTypeSplash["DEFAULT"] = "Default";
|
|
4967
4967
|
EnumTypeSplash["NEW_V1"] = "v1";
|
|
4968
4968
|
EnumTypeSplash["NEW_V2"] = "v2";
|
|
4969
|
+
EnumTypeSplash["NEW_V3"] = "v3";
|
|
4969
4970
|
})(exports.EnumTypeSplash || (exports.EnumTypeSplash = {}));
|
|
4970
4971
|
|
|
4971
4972
|
var ExportItem = /** @class */ (function () {
|
|
@@ -13837,7 +13838,7 @@
|
|
|
13837
13838
|
switch (this._type) {
|
|
13838
13839
|
case exports.ValueType.date:
|
|
13839
13840
|
case exports.ValueType.datetime:
|
|
13840
|
-
return
|
|
13841
|
+
return moment___default["default"](value, 'DD/MM/YYYY hh:mm:ss');
|
|
13841
13842
|
case exports.ValueType.int:
|
|
13842
13843
|
return parseInt(value);
|
|
13843
13844
|
case exports.ValueType.decimal:
|
|
@@ -26635,7 +26636,7 @@
|
|
|
26635
26636
|
SplashComponentComponent.decorators = [
|
|
26636
26637
|
{ type: i0.Component, args: [{
|
|
26637
26638
|
selector: 'splash-component',
|
|
26638
|
-
template: "<ng-container [ngSwitch]=\"uiSplash\">\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"defaultSplash\">\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V1\">\n <splash-component-v1></splash-component-v1>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V2\">\n <splash-component-v2></splash-component-v2>\n </ng-container>\n</ng-container>\n\n<ng-template #defaultSplash>\n <div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n </div>\n <div *ngIf=\"loaded\" class=\"modules\">\n <div class=\"welcome-user\">\n <img class=\"profile-image custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n <h2>Xin ch\u00E0o\n <span *ngIf=\"currentUser\">{{currentUser.fullName}}</span>\n <span *ngIf=\"!currentUser\">kh\u00E1ch</span>!\n </h2>\n <ng-container *ngIf=\"currentUser\">\n <a (click)=\"goToPersonal()\"><i class=\"fas fa-user\"></i>Trang c\u00E1 nh\u00E2n</a>\n <ng-container>|</ng-container>\n <a style=\"background: #f7e08b;\" (click)=\"logout()\">\n <i class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng xu\u1EA5t\n </a>\n </ng-container>\n <a *ngIf=\"!currentUser\" style=\"background: #f7e08b;\" (click)=\"login()\">\n <i class=\"fas fa-sign-in-alt\"></i>\u0110\u0103ng nh\u1EADp\n </a>\n </div>\n <div class=\"module-icons\">\n <h1>{{environment.appMetadata.main.title}}</h1>\n <h2>{{environment.appMetadata.main.owner}}</h2>\n <div class=\"div1111-wrapper\">\n <tn-custom-scrollbar *ngIf=\"!isOnMobile\" [config]=\"{'suppressScrollY': true}\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </tn-custom-scrollbar>\n\n <ng-container *ngIf=\"isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"clock-wrapper\">\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\n </div>\n </div>\n\n <ng-template #appSwitcher>\n <div class=\"div1111\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <span>\n <a [style.background]=\"item.background\" (click)=\"switchApp(item)\">\n <i class=\"{{item.icon}} switcher-item-icon\" [style.color]=\"item.colorIcon\"></i>\n <span [style.color]=\"item.colorTitle\">{{ item.title | translate}}</span>\n </a>\n </span>\n </ng-container>\n </div>\n </ng-template>\n</ng-template>",
|
|
26639
|
+
template: "<ng-container [ngSwitch]=\"uiSplash\">\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"defaultSplash\">\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V1\">\n <splash-component-v1></splash-component-v1>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V2\">\n <splash-component-v2></splash-component-v2>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V3\">\n <splash-component-v3></splash-component-v3>\n </ng-container>\n</ng-container>\n\n<ng-template #defaultSplash>\n <div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n </div>\n <div *ngIf=\"loaded\" class=\"modules\">\n <div class=\"welcome-user\">\n <img class=\"profile-image custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n <h2>Xin ch\u00E0o\n <span *ngIf=\"currentUser\">{{currentUser.fullName}}</span>\n <span *ngIf=\"!currentUser\">kh\u00E1ch</span>!\n </h2>\n <ng-container *ngIf=\"currentUser\">\n <a (click)=\"goToPersonal()\"><i class=\"fas fa-user\"></i>Trang c\u00E1 nh\u00E2n</a>\n <ng-container>|</ng-container>\n <a style=\"background: #f7e08b;\" (click)=\"logout()\">\n <i class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng xu\u1EA5t\n </a>\n </ng-container>\n <a *ngIf=\"!currentUser\" style=\"background: #f7e08b;\" (click)=\"login()\">\n <i class=\"fas fa-sign-in-alt\"></i>\u0110\u0103ng nh\u1EADp\n </a>\n </div>\n <div class=\"module-icons\">\n <h1>{{environment.appMetadata.main.title}}</h1>\n <h2>{{environment.appMetadata.main.owner}}</h2>\n <div class=\"div1111-wrapper\">\n <tn-custom-scrollbar *ngIf=\"!isOnMobile\" [config]=\"{'suppressScrollY': true}\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </tn-custom-scrollbar>\n\n <ng-container *ngIf=\"isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"clock-wrapper\">\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\n </div>\n </div>\n\n <ng-template #appSwitcher>\n <div class=\"div1111\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <span>\n <a [style.background]=\"item.background\" (click)=\"switchApp(item)\">\n <i class=\"{{item.icon}} switcher-item-icon\" [style.color]=\"item.colorIcon\"></i>\n <span [style.color]=\"item.colorTitle\">{{ item.title | translate}}</span>\n </a>\n </span>\n </ng-container>\n </div>\n </ng-template>\n</ng-template>",
|
|
26639
26640
|
providers: [ComponentContextService],
|
|
26640
26641
|
styles: [".modules{background-color:#fff;font-family:monospace;background:url(/assets/images/splash-bg.png);background-repeat:no-repeat;background-position:50%;background-size:cover;position:fixed;top:0;left:0;z-index:100;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;flex-direction:column}.modules div>span{min-width:100px;height:100px;width:100px;margin:10px;box-shadow:1px 2px 9px 1px #bbb;white-space:normal}.modules div>span,.modules div>span>a{display:inline-block;border-radius:5px}.modules div>span>a{height:100%;width:100%;color:#fff;text-decoration:unset;text-align:center;position:relative;font-weight:700;text-shadow:2px 3px 3px hsla(0,0%,42.7%,.4392156862745098);cursor:pointer}.modules div>span>a i{animation:in 1s}.modules div>span>a:hover i{animation:out 1s}@media (max-width:1370px){.modules{justify-content:flex-start;overflow:auto}.module-icons.module-icons{margin-bottom:20px}.welcome-user.welcome-user{margin-top:30px;margin-bottom:30px}.welcome-user.welcome-user img{width:100px;height:100px}.clock{margin:0 20px;font-size:1.5em}.data-time{margin:10px 0 20px;font-size:1em}}.modules div>span>a>span{display:inline-block;color:#fff;text-decoration:unset;text-align:center;position:absolute;bottom:10px;width:100%;left:0}.modules div>span.implementing{background-color:#fff;box-shadow:none}.modules div>span>a>i{font-size:3em;position:absolute;top:10px;width:100%;left:0}.div22{width:240px}.div33{width:360px}.div44{width:480px}.div55{width:600px}.div88{width:960px}::ng-deep .flexcolumn{max-width:calc(100vh - 20px)}.div1111-wrapper{width:100%;overflow:auto}.div1111{white-space:nowrap}.module-icons{color:#666;width:100%}.module-icons,.welcome-user{margin-bottom:80px;text-align:center}.welcome-user a{background:#c2f3c3;padding:6px;border-radius:3px;cursor:pointer}.welcome-user a i{margin-right:6px}.welcome-user img{border-radius:50%;border:2px dashed rgba(0,144,162,.5019607843137255);height:200px;width:200px;-o-object-fit:contain;object-fit:contain}.welcome-user h2{color:#0090a2}.clock-wrapper{color:rgba(0,144,162,.6666666666666666);font-size:2em;text-align:center}.loader{color:#607d8b;font-size:8px;width:1em;height:1em;border-radius:50%;position:absolute;text-indent:-9999em;animation:load4 1.3s linear infinite;transform:translate(-50%,-50%);top:50%;left:50%}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}"]
|
|
26641
26642
|
},] }
|
|
@@ -46845,7 +46846,7 @@
|
|
|
46845
46846
|
_this.showSettings = false;
|
|
46846
46847
|
_this.allSubscriptions = [];
|
|
46847
46848
|
_this.message = '';
|
|
46848
|
-
_this.UserRedirectType = UserRedirectType;
|
|
46849
|
+
_this.UserRedirectType = UserRedirectType$1;
|
|
46849
46850
|
_this.openNewTab = false;
|
|
46850
46851
|
_this.environment = _this._moduleConfigService.getConfig().environment;
|
|
46851
46852
|
_this.defaultAvatar = _this.environment.appMetadata.main.defaultMaleAvatar;
|
|
@@ -47079,7 +47080,7 @@
|
|
|
47079
47080
|
this.onTopbarSearchClick(event, input);
|
|
47080
47081
|
};
|
|
47081
47082
|
AppTopBarV1Component.prototype.switchApp = function (item, redirectType) {
|
|
47082
|
-
if (redirectType === void 0) { redirectType = UserRedirectType.DEFAULT; }
|
|
47083
|
+
if (redirectType === void 0) { redirectType = UserRedirectType$1.DEFAULT; }
|
|
47083
47084
|
if (item.target == '_blank') {
|
|
47084
47085
|
if (!item.defaultRedirect) {
|
|
47085
47086
|
item.defaultRedirect = '';
|
|
@@ -47097,7 +47098,7 @@
|
|
|
47097
47098
|
}
|
|
47098
47099
|
else {
|
|
47099
47100
|
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
47100
|
-
if (redirectType != null && redirectType == UserRedirectType.PERSONAL_INFO) {
|
|
47101
|
+
if (redirectType != null && redirectType == UserRedirectType$1.PERSONAL_INFO) {
|
|
47101
47102
|
this._router.navigateByUrl(item.userProfileUrl);
|
|
47102
47103
|
}
|
|
47103
47104
|
else {
|
|
@@ -47136,7 +47137,7 @@
|
|
|
47136
47137
|
this.rootContext.fireEvent('GO_HOME');
|
|
47137
47138
|
};
|
|
47138
47139
|
AppTopBarV1Component.prototype.onEditInfo = function (event, redirectType) {
|
|
47139
|
-
if (redirectType === void 0) { redirectType = UserRedirectType.DEFAULT; }
|
|
47140
|
+
if (redirectType === void 0) { redirectType = UserRedirectType$1.DEFAULT; }
|
|
47140
47141
|
event.preventDefault();
|
|
47141
47142
|
var currentAppSetting = this.environment.appMetadata.appSwitcher.find(function (x) { return x.code == 'USER'; });
|
|
47142
47143
|
if (currentAppSetting) {
|
|
@@ -47272,11 +47273,11 @@
|
|
|
47272
47273
|
notify: [{ type: i0.ViewChild, args: ['notify', { static: true },] }],
|
|
47273
47274
|
messages: [{ type: i0.ViewChild, args: ['messages', { static: true },] }]
|
|
47274
47275
|
};
|
|
47275
|
-
var UserRedirectType;
|
|
47276
|
+
var UserRedirectType$1;
|
|
47276
47277
|
(function (UserRedirectType) {
|
|
47277
47278
|
UserRedirectType[UserRedirectType["PERSONAL_INFO"] = 0] = "PERSONAL_INFO";
|
|
47278
47279
|
UserRedirectType[UserRedirectType["DEFAULT"] = 1] = "DEFAULT";
|
|
47279
|
-
})(UserRedirectType || (UserRedirectType = {}));
|
|
47280
|
+
})(UserRedirectType$1 || (UserRedirectType$1 = {}));
|
|
47280
47281
|
|
|
47281
47282
|
var AppTopBarV2Component = /** @class */ (function (_super) {
|
|
47282
47283
|
__extends(AppTopBarV2Component, _super);
|
|
@@ -47446,7 +47447,448 @@
|
|
|
47446
47447
|
this.defaultDataSetting = 'Thiết lập tham số mặc định';
|
|
47447
47448
|
}
|
|
47448
47449
|
};
|
|
47449
|
-
AppTopBarV2Component.prototype.ngOnDestroy = function () {
|
|
47450
|
+
AppTopBarV2Component.prototype.ngOnDestroy = function () {
|
|
47451
|
+
this.allSubscriptions.forEach(function (element) {
|
|
47452
|
+
element.unsubscribe();
|
|
47453
|
+
});
|
|
47454
|
+
if (this.intervalCountdown) {
|
|
47455
|
+
clearInterval(this.intervalCountdown);
|
|
47456
|
+
}
|
|
47457
|
+
_super.prototype.ngOnDestroy.call(this);
|
|
47458
|
+
};
|
|
47459
|
+
AppTopBarV2Component.prototype.formatDefaultDataSetting = function (data) {
|
|
47460
|
+
var _this = this;
|
|
47461
|
+
var dataSetting = '';
|
|
47462
|
+
var fields = ['instanceIdHeDaoTao', 'heDaoTao', 'namHoc', 'hocKy', 'instanceIdNamHoc', 'instanceIdHocKy', 'idDotThi'];
|
|
47463
|
+
var fieldPluses = ['code', 'code', 'ten', 'ten', 'ten', 'ten', 'ten'];
|
|
47464
|
+
fields.forEach(function (field, index) {
|
|
47465
|
+
if (!_this.checkHidden(field)) {
|
|
47466
|
+
var _f = "" + field + fieldPluses[index];
|
|
47467
|
+
if (data[_f]) {
|
|
47468
|
+
dataSetting += data[_f] + '/';
|
|
47469
|
+
}
|
|
47470
|
+
}
|
|
47471
|
+
});
|
|
47472
|
+
if (dataSetting.length > 0) {
|
|
47473
|
+
dataSetting = dataSetting.substring(0, dataSetting.length - 1);
|
|
47474
|
+
}
|
|
47475
|
+
this.defaultDataSetting = dataSetting;
|
|
47476
|
+
};
|
|
47477
|
+
AppTopBarV2Component.prototype.checkHidden = function (field) {
|
|
47478
|
+
return this.rootModel.currentAppMetadata.configDefaultSetting && !this.rootModel.currentAppMetadata.configDefaultSetting.column.some(function (p) { return p.field == field; });
|
|
47479
|
+
};
|
|
47480
|
+
AppTopBarV2Component.prototype.getCurrentUserFullName = function () {
|
|
47481
|
+
return this.rootContext.data.currentUser && this.rootContext.data.currentUser.fullName ? this.rootContext.data.currentUser.fullName : 'Khách';
|
|
47482
|
+
};
|
|
47483
|
+
AppTopBarV2Component.prototype.getCurrentUserPosition = function () {
|
|
47484
|
+
return this.userProfile ? this.userProfile.tenDonVi : null;
|
|
47485
|
+
};
|
|
47486
|
+
AppTopBarV2Component.prototype.getCurrentUserAvatar = function () {
|
|
47487
|
+
if (this.rootContext.data.currentUser && this.rootContext.data.currentUser.avatar) {
|
|
47488
|
+
return this.fileApi + "/public/" + this.rootContext.data.currentUser.avatar + "/Download";
|
|
47489
|
+
}
|
|
47490
|
+
else {
|
|
47491
|
+
return this.defaultAvatar;
|
|
47492
|
+
}
|
|
47493
|
+
};
|
|
47494
|
+
AppTopBarV2Component.prototype.clearFilter = function (input) {
|
|
47495
|
+
var _this = this;
|
|
47496
|
+
setTimeout(function () {
|
|
47497
|
+
_this.model.searchModel[_this.model.fieldKey] = '';
|
|
47498
|
+
_this._customRouteService.updateFragment(_this.model.fieldKey, null);
|
|
47499
|
+
_this._customRouteService.updateWithoutFireEvent();
|
|
47500
|
+
_this.rootContext.fireEvent(ComCtxConstants.ROOT.ON_SEARCH, _this.model.searchModel);
|
|
47501
|
+
input.value = '';
|
|
47502
|
+
input.focus();
|
|
47503
|
+
_this._cd.detectChanges();
|
|
47504
|
+
});
|
|
47505
|
+
};
|
|
47506
|
+
AppTopBarV2Component.prototype.toggleAdvanceSearch = function (evt) {
|
|
47507
|
+
this.rootContext.fireEvent(ComCtxConstants.ROOT.ADVANCE_SEARCH_TOGGLE_BOX, { event: evt });
|
|
47508
|
+
evt.preventDefault();
|
|
47509
|
+
evt.cancelBubble = true;
|
|
47510
|
+
};
|
|
47511
|
+
AppTopBarV2Component.prototype.hideAdvanceSearch = function (evt) {
|
|
47512
|
+
if (document.getElementById('advance-search-box')) {
|
|
47513
|
+
var mask = document.body.querySelectorAll('div[class~="ui-dialog-mask"]');
|
|
47514
|
+
if (!mask.length) {
|
|
47515
|
+
var closestDropdown = evt.target.closest('.dropdown-advs');
|
|
47516
|
+
if (closestDropdown == null || closestDropdown.length == 0) {
|
|
47517
|
+
this.rootContext.fireEvent(ComCtxConstants.ROOT.ADVANCE_SEARCH_HIDE_BOX, { event: evt });
|
|
47518
|
+
}
|
|
47519
|
+
}
|
|
47520
|
+
}
|
|
47521
|
+
};
|
|
47522
|
+
AppTopBarV2Component.prototype.focusToSearchBox = function () {
|
|
47523
|
+
if (!document.body.querySelector('div[class~="ui-dialog-mask"]')) {
|
|
47524
|
+
this.input.nativeElement.focus();
|
|
47525
|
+
}
|
|
47526
|
+
};
|
|
47527
|
+
AppTopBarV2Component.prototype.onTopbarSearchClick = function (event, input) {
|
|
47528
|
+
var _this = this;
|
|
47529
|
+
if (!this.model.fieldKey) {
|
|
47530
|
+
return;
|
|
47531
|
+
}
|
|
47532
|
+
setTimeout(function () {
|
|
47533
|
+
_this.rootContext.fireEvent(ComCtxConstants.ROOT.ON_SEARCH, _this.model.searchModel);
|
|
47534
|
+
_this._customRouteService.updateFragment(_this.model.fieldKey, input.value);
|
|
47535
|
+
_this._customRouteService.updateWithoutFireEvent();
|
|
47536
|
+
input.focus();
|
|
47537
|
+
});
|
|
47538
|
+
};
|
|
47539
|
+
AppTopBarV2Component.prototype.onEsc = function (event, input) {
|
|
47540
|
+
this.clearFilter(input);
|
|
47541
|
+
};
|
|
47542
|
+
AppTopBarV2Component.prototype.onEnter = function (event, input) {
|
|
47543
|
+
this.onTopbarSearchClick(event, input);
|
|
47544
|
+
};
|
|
47545
|
+
AppTopBarV2Component.prototype.switchApp = function (item) {
|
|
47546
|
+
if (item.target == '_blank') {
|
|
47547
|
+
if (!item.defaultRedirect) {
|
|
47548
|
+
item.defaultRedirect = '';
|
|
47549
|
+
}
|
|
47550
|
+
// NamNH tip trick cho mot so may bi loi item.url = 'main' -> redirect sai khi click vao cac phan he
|
|
47551
|
+
if (item.url == item.defaultRedirect) {
|
|
47552
|
+
item.url = '/' + item.code.toLowerCase();
|
|
47553
|
+
}
|
|
47554
|
+
if (!this.openNewTab) {
|
|
47555
|
+
top.location.href = item.url + "/" + item.defaultRedirect;
|
|
47556
|
+
}
|
|
47557
|
+
else {
|
|
47558
|
+
window.open(item.url + "/" + item.defaultRedirect, '_blank');
|
|
47559
|
+
}
|
|
47560
|
+
}
|
|
47561
|
+
else {
|
|
47562
|
+
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
47563
|
+
this._router.navigateByUrl(item.defaultRedirect);
|
|
47564
|
+
this.rootContext.data.currentAppMetadata = this.environment.appMetadata.appSwitcher.find(function (x) { return x.code == item.code; });
|
|
47565
|
+
if (this.rootContext.data.currentAppMetadata
|
|
47566
|
+
&& this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined
|
|
47567
|
+
&& this.rootContext.data.currentAppMetadata.showDefaultSetting != null) {
|
|
47568
|
+
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting && this.showDefaultSetting;
|
|
47569
|
+
}
|
|
47570
|
+
}
|
|
47571
|
+
}
|
|
47572
|
+
};
|
|
47573
|
+
AppTopBarV2Component.prototype.hasAdvanceSearchBox = function () {
|
|
47574
|
+
return this.model.searchModel.hasAdvanceSearch;
|
|
47575
|
+
};
|
|
47576
|
+
AppTopBarV2Component.prototype.isAdvanceSearching = function () {
|
|
47577
|
+
return this.hasAdvanceSearchValue(this.model.searchModel);
|
|
47578
|
+
};
|
|
47579
|
+
AppTopBarV2Component.prototype.hasAdvanceSearchValue = function (obj) {
|
|
47580
|
+
for (var key in obj) {
|
|
47581
|
+
if (key === '_k' || key === 'hasAdvanceSearch') {
|
|
47582
|
+
continue;
|
|
47583
|
+
}
|
|
47584
|
+
if (obj[key] != null && obj[key] != '') {
|
|
47585
|
+
return false;
|
|
47586
|
+
}
|
|
47587
|
+
}
|
|
47588
|
+
return true;
|
|
47589
|
+
};
|
|
47590
|
+
AppTopBarV2Component.prototype.getComponentId = function () {
|
|
47591
|
+
return 'TOPBAR';
|
|
47592
|
+
};
|
|
47593
|
+
AppTopBarV2Component.prototype.goToHome = function () {
|
|
47594
|
+
this.rootContext.fireEvent('GO_HOME');
|
|
47595
|
+
};
|
|
47596
|
+
AppTopBarV2Component.prototype.onEditInfo = function (event) {
|
|
47597
|
+
event.preventDefault();
|
|
47598
|
+
var currentAppSetting = this.environment.appMetadata.appSwitcher.find(function (x) { return x.code == 'USER'; });
|
|
47599
|
+
if (currentAppSetting) {
|
|
47600
|
+
this.switchApp(currentAppSetting);
|
|
47601
|
+
}
|
|
47602
|
+
else {
|
|
47603
|
+
console.error('Bạn chưa thiết lập metadata cho trang cá nhân');
|
|
47604
|
+
}
|
|
47605
|
+
};
|
|
47606
|
+
AppTopBarV2Component.prototype.onChangePassword = function (event) {
|
|
47607
|
+
event.preventDefault();
|
|
47608
|
+
// this.changePassword.showPopup(this._userService.getId());
|
|
47609
|
+
};
|
|
47610
|
+
AppTopBarV2Component.prototype.onTopbarLogout = function () {
|
|
47611
|
+
if (!localStorage.getItem('currentUrl')) {
|
|
47612
|
+
localStorage.setItem('currentUrl', top.location.href);
|
|
47613
|
+
}
|
|
47614
|
+
this._authenService.logout();
|
|
47615
|
+
};
|
|
47616
|
+
AppTopBarV2Component.prototype.settingDefault = function () {
|
|
47617
|
+
this.model.dataModelSetting = {
|
|
47618
|
+
data: {},
|
|
47619
|
+
showSettings: true
|
|
47620
|
+
};
|
|
47621
|
+
};
|
|
47622
|
+
AppTopBarV2Component.prototype.onShowSettings = function (ev) {
|
|
47623
|
+
this.rootContext.fireEvent(ComCtxConstants.ROOT_USMART.CONFIG_DATA_DEFAULT_OPENED);
|
|
47624
|
+
};
|
|
47625
|
+
AppTopBarV2Component.prototype.onCloseSettings = function (ev) {
|
|
47626
|
+
this.rootContext.fireEvent(ComCtxConstants.ROOT_USMART.CONFIG_DATA_DEFAULT_CLOSED);
|
|
47627
|
+
};
|
|
47628
|
+
AppTopBarV2Component.prototype.showProfilePage = function () {
|
|
47629
|
+
if (this._userService.isSinhVienAccount()) {
|
|
47630
|
+
return false;
|
|
47631
|
+
}
|
|
47632
|
+
return true;
|
|
47633
|
+
};
|
|
47634
|
+
AppTopBarV2Component.prototype.login = function () {
|
|
47635
|
+
this.rootContext.fireEvent('LOGIN');
|
|
47636
|
+
};
|
|
47637
|
+
AppTopBarV2Component.prototype.setNotify = function (message) {
|
|
47638
|
+
this.message = message;
|
|
47639
|
+
};
|
|
47640
|
+
AppTopBarV2Component.prototype.handleMouseOver = function (evt) {
|
|
47641
|
+
evt.target.stop();
|
|
47642
|
+
};
|
|
47643
|
+
AppTopBarV2Component.prototype.handleMouseOut = function (evt) {
|
|
47644
|
+
evt.target.start();
|
|
47645
|
+
};
|
|
47646
|
+
AppTopBarV2Component.prototype.showNotificationReload = function () {
|
|
47647
|
+
var _this = this;
|
|
47648
|
+
this.message = 'Hệ thống có phiên bản mới, hãy refresh trình duyệt để cập nhật';
|
|
47649
|
+
this.rootContext.fireEvent(ComCtxConstants.ROOT.SHOW_REJECT_CONFIRM, false);
|
|
47650
|
+
this._notifierService.showConfirm(this.message).then(function (res) {
|
|
47651
|
+
_this.reloadWindow();
|
|
47652
|
+
});
|
|
47653
|
+
// if (this.intervalCountdown) {
|
|
47654
|
+
// clearInterval(this.intervalCountdown);
|
|
47655
|
+
// }
|
|
47656
|
+
// const date = new Date();
|
|
47657
|
+
// const goalDate = (new Date(date.getTime() + 10 * 1000)).getTime(); // Đếm 10s
|
|
47658
|
+
// this.intervalCountdown = setInterval(f => {
|
|
47659
|
+
// const now = new Date().getTime();
|
|
47660
|
+
// const distance = goalDate - now;
|
|
47661
|
+
// var seconds = Math.floor(distance / 1000);
|
|
47662
|
+
// // If the count down is finished, write some text
|
|
47663
|
+
// if (distance < 0) {
|
|
47664
|
+
// clearInterval(this.intervalCountdown);
|
|
47665
|
+
// this.reloadWindow();
|
|
47666
|
+
// return;
|
|
47667
|
+
// }
|
|
47668
|
+
// let message = `Trình duyệt sẽ khởi động lại sau ${seconds}s`;
|
|
47669
|
+
// if (seconds < 1) {
|
|
47670
|
+
// message = 'Trình duyệt sẽ khởi động lại ngay bây giờ';
|
|
47671
|
+
// }
|
|
47672
|
+
// this._notifierService.showConfirm(
|
|
47673
|
+
// message, null, null, false, this._translateService.instant('CONFIRM.ACCEPT_LABEL'),
|
|
47674
|
+
// 'pi pi-check'
|
|
47675
|
+
// ).then(res => {
|
|
47676
|
+
// clearInterval(this.intervalCountdown);
|
|
47677
|
+
// this.reloadWindow();
|
|
47678
|
+
// });
|
|
47679
|
+
// }, 1000);
|
|
47680
|
+
};
|
|
47681
|
+
AppTopBarV2Component.prototype.getOwner = function () {
|
|
47682
|
+
// đổi ngược title và owner theo application.json
|
|
47683
|
+
return this.environment.appMetadata.main.reverseTopbarTitle == null || this.environment.appMetadata.main.reverseTopbarTitle == false
|
|
47684
|
+
? this.environment.appMetadata.main.owner
|
|
47685
|
+
: this.environment.appMetadata.main.titleShort;
|
|
47686
|
+
};
|
|
47687
|
+
AppTopBarV2Component.prototype.getTitle = function () {
|
|
47688
|
+
return this.environment.appMetadata.main.reverseTopbarTitle == null || this.environment.appMetadata.main.reverseTopbarTitle == false
|
|
47689
|
+
? this.environment.appMetadata.main.titleShort
|
|
47690
|
+
: this.environment.appMetadata.main.owner;
|
|
47691
|
+
};
|
|
47692
|
+
AppTopBarV2Component.prototype.reloadWindow = function () {
|
|
47693
|
+
top.location.reload();
|
|
47694
|
+
};
|
|
47695
|
+
return AppTopBarV2Component;
|
|
47696
|
+
}(ComponentBase));
|
|
47697
|
+
AppTopBarV2Component.decorators = [
|
|
47698
|
+
{ type: i0.Component, args: [{
|
|
47699
|
+
selector: 'app-topbar-v2',
|
|
47700
|
+
template: "<div class=\"topbar clearfix tn-l-top-bar\">\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !environment.isProduction }\">\n <div class=\"tn-l-left-menu-toggle-block\">\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\n (click)=\"_commonService.onMenuButtonClick($event)\">\n <i class=\"pi pi-chevron-left\"></i>\n </a>\n </div>\n\n <div class=\"topbar-logo tn-l-logo-wrapper\">\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\n <img class=\"topbar-logo tn-l-logo\" [src]=\"environment.appMetadata.main.logo\" (click)=\"goToHome()\" /></a>\n </div>\n <div class=\"topbar-title tn-l-logo-title-block\">\n <div class=\"topbar-owner\">\n {{getTitle()}}\n </div>\n <div class=\"topbar-description\">\n {{getOwner()}}\n </div>\n </div>\n </div>\n <div class=\"setting-default-container\">\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\n (click)=\"settingDefault()\">\n </a>\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\n </ng-container>\n </div>\n <div #notify class=\"notify-message\">\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\n </div>\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !environment.isProduction}\"\n oncontextmenu=\"return false\">\n <div class=\"tn-l-top-bar-right-block-1\">\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\n </a>\n </div>\n\n <div class=\"tn-l-top-bar-right-block-2\">\n <ul class=\"topbar-items fadeInDown\" [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\n <li #profile class=\"profile-item tn-l-top-bar-menu-item\"\n *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\"\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\n\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\n <div class=\"profile-image-wrapper topbar-icon-left\">\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\n [src]=\"getCurrentUserAvatar()\" />\n </div>\n <div class=\"profile-info-wrapper\">\n <div class=\"topbar-item-name-wrapper\"\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\n </div>\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\n </div>\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\n </a>\n\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\n <li *ngIf=\"currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\n <i class=\"pi pi-sign-out\"></i>\n <span>\u0110\u0103ng xu\u1EA5t</span>\n </a>\n </li>\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"login()\">\n <i class=\"pi pi-sign-in\"></i>\n <span>\u0110\u0103ng nh\u1EADp</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\" tn-app-help>\n </li>\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\n class=\"tn-l-top-bar-menu-item\" #messages\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\n <a href=\"#\" tabindex=\"7\" class=\"tn-l-top-bar-menu-item-inner\" style=\"height: 30px;\"\n pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\n (click)=\"_commonService.onTopbarItemClick($event,modules)\">\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <!-- <i class=\"pi pi-microsoft\"></i> -->\n </span>\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\n </a>\n <ul class=\"app-switcher layout-menu fadeInDown\">\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\n <li role=\"menuitem\" class=\"wrapper-appswitch\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\n (click)=\"switchApp(item)\">\n <span class=\"tn-l-switcher-item-inner\">\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"></i>\n <div class=\"tn-l-switcher-item-label\">\n {{ item.title | translate}}\n </div>\n </span>\n </a>\n </ng-container>\n </li>\n </tn-custom-scrollbar>\n </ul>\n </li>\n </ul>\n </div>\n </div>\n</div>",
|
|
47701
|
+
providers: [ComponentContextService],
|
|
47702
|
+
styles: [".topBarSearchButton:disabled{opacity:1;background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important}::ng-deep app-topbar a{outline:none}input:disabled::-moz-placeholder{color:#b1b1b1}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{margin-top:0;float:none}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;justify-content:center;order:0;text-align:right;float:none}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{align-self:stretch;display:flex;align-items:center;box-shadow:0 0 5px 0 rgba(0,0,0,.3764705882352941)}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{width:auto;height:40px;margin:0}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{margin:0;font-size:0;width:auto;height:auto;padding-left:8px;padding-right:8px}.tn-l-top-bar{display:flex}.topbar-description,.topbar-owner{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{float:none;width:auto;display:flex}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{width:30px;height:28px;margin:auto;display:block}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{justify-content:center}.notify-message,.setting-default-container{display:flex;align-items:center;margin-left:30px}.notify-message{flex:1 1;overflow:hidden}.notify-message>marquee{white-space:nowrap;color:#ff0;font-size:500}.search-item{margin-right:10px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{background:#fff}.tn-l-switcher-item-label{text-shadow:none;color:#52abff;text-align:center}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{font-size:38px;margin:5px auto;text-shadow:none;color:#52abff}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a.switcher-item{width:unset;margin-top:0}::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a.switcher-item:nth-child(3n+0){border-left:none}::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a.switcher-item:nth-child(3n+1){border-right:none}::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a.switcher-item:nth-child(3n+2){border:none}::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a.switcher-item:nth-child(3n+1):last-child,::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a.switcher-item:nth-child(3n+2):last-child{width:unset}::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a span{line-height:1.2}::ng-deep .layout-wrapper app-topbar-v2 .topbar .topbar-left{box-shadow:none}::ng-deep .layout-wrapper app-topbar-v2 .wrapper-appswitch{text-align:center;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}@media (max-width:1024px){::ng-deep .layout-wrapper app-topbar-v2 .layout-menu li a.switcher-item{width:unset}}@media (min-width:1025px){.tn-l-top-bar-right{display:flex;justify-content:space-between;align-items:center}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding:0 15px}.topbar-items.topbar-items.topbar-items{margin:0;display:flex;justify-content:flex-start;flex-direction:row-reverse;align-items:center}.topbar-items.topbar-items.topbar-items,.topbar-items.topbar-items.topbar-items>li{float:none}::ng-deep .topbar .topbar-items>li>a{margin-top:0}::ng-deep .topbar .topbar-items>li>a>span>i{color:#fff;font-size:24px}.topbar .topbar-items>li>a.UserPane{height:auto;line-height:inherit;top:0}a.UserPane .profile-image.profile-image.profile-image.profile-image{margin-top:0}}@media (min-width:1025px) and (max-width:1400px){.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-right:19px}.search-item{margin-right:0}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding-left:15px}.topbar-items>li.profile-item{margin-left:14px}}@media (max-width:1024px){.tn-l-m-default-setting{display:flex;align-items:center;justify-content:center;height:36px;font-size:28px;width:36px;color:#fff}.tn-l-default-detting{display:none}::ng-deep .layout-menu-static-mobile-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{text-align:left}.topbar .topbar-right #topbar-menu-button{display:flex;align-items:center;width:36px;justify-content:center}.tn-l-top-bar-right-block-1{display:flex}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{padding-left:5px;padding-right:5px}.tn-l-logo-title-block,.tn-l-top-bar-left,.topbar-description,.topbar-owner{overflow:hidden}.topbar-description,.topbar-owner{text-overflow:ellipsis}.tn-l-top-bar-menu-item:empty{display:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{padding-left:0;padding-right:0}.topbar-title.topbar-title.topbar-title.topbar-title{margin:0}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:14px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:10px}.tn-l-top-bar-right{flex:1;position:relative}.topbar-menu-button span.topbar-badge{right:-4px}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{display:flex;padding:0 .5em;align-items:center;justify-content:flex-end}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right #topbar-menu-button{position:relative;margin-left:.5em;top:0;right:0}.app-switcher.layout-menu.layout-menu.layout-menu.layout-menu{width:270px}.profile-image-wrapper{order:0}.tn-l-user-name{width:220px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep app-topbar .tn-l-top-bar-menu-item .topbar-icon-left{display:flex;justify-content:center;align-items:center}.tn-l-topbar-item-role-wrapper{display:none}}"]
|
|
47703
|
+
},] }
|
|
47704
|
+
];
|
|
47705
|
+
AppTopBarV2Component.ctorParameters = function () { return [
|
|
47706
|
+
{ type: CustomRouterService },
|
|
47707
|
+
{ type: i3.Router },
|
|
47708
|
+
{ type: CommonService },
|
|
47709
|
+
{ type: AuthenService },
|
|
47710
|
+
{ type: i0.ChangeDetectorRef },
|
|
47711
|
+
{ type: i0.Injector },
|
|
47712
|
+
{ type: PermissionService },
|
|
47713
|
+
{ type: ModuleConfigService },
|
|
47714
|
+
{ type: UserService },
|
|
47715
|
+
{ type: NotifierService },
|
|
47716
|
+
{ type: i2.TranslateService },
|
|
47717
|
+
{ type: CustomizeUiService }
|
|
47718
|
+
]; };
|
|
47719
|
+
AppTopBarV2Component.propDecorators = {
|
|
47720
|
+
input: [{ type: i0.ViewChild, args: ['input',] }],
|
|
47721
|
+
notify: [{ type: i0.ViewChild, args: ['notify', { static: true },] }],
|
|
47722
|
+
messages: [{ type: i0.ViewChild, args: ['messages', { static: true },] }]
|
|
47723
|
+
};
|
|
47724
|
+
|
|
47725
|
+
var AppTopBarV3Component = /** @class */ (function (_super) {
|
|
47726
|
+
__extends(AppTopBarV3Component, _super);
|
|
47727
|
+
function AppTopBarV3Component(document, _customRouteService, _router, _commonService, _authenService, _cd, _injector, _permissionService, _moduleConfigService, _userService, _notifierService, _customizeUiService) {
|
|
47728
|
+
var _this = this;
|
|
47729
|
+
var _a;
|
|
47730
|
+
_this = _super.call(this, _injector) || this;
|
|
47731
|
+
_this.document = document;
|
|
47732
|
+
_this._customRouteService = _customRouteService;
|
|
47733
|
+
_this._router = _router;
|
|
47734
|
+
_this._commonService = _commonService;
|
|
47735
|
+
_this._authenService = _authenService;
|
|
47736
|
+
_this._cd = _cd;
|
|
47737
|
+
_this._permissionService = _permissionService;
|
|
47738
|
+
_this._moduleConfigService = _moduleConfigService;
|
|
47739
|
+
_this._userService = _userService;
|
|
47740
|
+
_this._notifierService = _notifierService;
|
|
47741
|
+
_this._customizeUiService = _customizeUiService;
|
|
47742
|
+
_this.defaultAvatar = '';
|
|
47743
|
+
_this.key = '';
|
|
47744
|
+
_this.currentRoute = '';
|
|
47745
|
+
_this.fileApi = '';
|
|
47746
|
+
_this.currentUser = null;
|
|
47747
|
+
_this.appSwitcherItems = [];
|
|
47748
|
+
_this.isFirstTime = false;
|
|
47749
|
+
_this.showSettings = false;
|
|
47750
|
+
_this.allSubscriptions = [];
|
|
47751
|
+
_this.message = '';
|
|
47752
|
+
_this.UserRedirectType = UserRedirectType;
|
|
47753
|
+
_this.openNewTab = false;
|
|
47754
|
+
_this.environment = _this._moduleConfigService.getConfig().environment;
|
|
47755
|
+
_this.defaultAvatar = _this.environment.appMetadata.main.defaultMaleAvatar;
|
|
47756
|
+
_this.openNewTab = (_a = _this.environment.appMetadata.main.openNewTab) !== null && _a !== void 0 ? _a : true;
|
|
47757
|
+
_this.fileApi = _this.environment.apiDomain.fileEndpoint + "/" + _this.environment.apiVersion + "/FileObject";
|
|
47758
|
+
if (_this.rootContext.data.currentAppMetadata
|
|
47759
|
+
&& _this.rootContext.data.currentAppMetadata.showDefaultSetting != null
|
|
47760
|
+
&& _this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
|
|
47761
|
+
_this.showDefaultSetting = _this.rootContext.data.currentAppMetadata.showDefaultSetting;
|
|
47762
|
+
}
|
|
47763
|
+
else {
|
|
47764
|
+
if (_this.environment.appMetadata.main.showDefaultSetting != null && _this.environment.appMetadata.main.showDefaultSetting != undefined) {
|
|
47765
|
+
_this.showDefaultSetting = _this.environment.appMetadata.main.showDefaultSetting;
|
|
47766
|
+
}
|
|
47767
|
+
else {
|
|
47768
|
+
_this.showDefaultSetting = false;
|
|
47769
|
+
}
|
|
47770
|
+
}
|
|
47771
|
+
if (!_this.rootContext.data.currentUser) {
|
|
47772
|
+
_this.rootContext.data.currentUser = {};
|
|
47773
|
+
}
|
|
47774
|
+
_this.rootContext.replaySubscribeOnce(ComCtxConstants.ROOT.USER_LOADED, function (rs) {
|
|
47775
|
+
_this.currentUser = _this._userService.getCurrentUser();
|
|
47776
|
+
_this.loadMenuMetadata();
|
|
47777
|
+
});
|
|
47778
|
+
if (_this.rootModel.allowAnonymous) {
|
|
47779
|
+
_this.loadMenuMetadata();
|
|
47780
|
+
}
|
|
47781
|
+
return _this;
|
|
47782
|
+
}
|
|
47783
|
+
AppTopBarV3Component.prototype.loadMenuMetadata = function () {
|
|
47784
|
+
var _this = this;
|
|
47785
|
+
var prmsAppSwicherItem = new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
47786
|
+
var arr, _b, _c, _i, ind, element, clientId, isAuthorized;
|
|
47787
|
+
return __generator(this, function (_d) {
|
|
47788
|
+
switch (_d.label) {
|
|
47789
|
+
case 0:
|
|
47790
|
+
arr = [];
|
|
47791
|
+
_b = [];
|
|
47792
|
+
for (_c in this.environment.appMetadata.appSwitcher)
|
|
47793
|
+
_b.push(_c);
|
|
47794
|
+
_i = 0;
|
|
47795
|
+
_d.label = 1;
|
|
47796
|
+
case 1:
|
|
47797
|
+
if (!(_i < _b.length)) return [3 /*break*/, 5];
|
|
47798
|
+
ind = _b[_i];
|
|
47799
|
+
element = this.environment.appMetadata.appSwitcher[ind];
|
|
47800
|
+
clientId = this.environment.authenticationSettings.clientId;
|
|
47801
|
+
if (!(this.rootContext.data.allowAnonymous && element.allowAnonymous)) return [3 /*break*/, 2];
|
|
47802
|
+
arr.push(element);
|
|
47803
|
+
return [3 /*break*/, 4];
|
|
47804
|
+
case 2:
|
|
47805
|
+
if (!this.currentUser) return [3 /*break*/, 4];
|
|
47806
|
+
return [4 /*yield*/, this._permissionService.isAuthorized(element.code, (element.code + ".MODULE." + element.code).toUpperCase(), true)];
|
|
47807
|
+
case 3:
|
|
47808
|
+
isAuthorized = _d.sent();
|
|
47809
|
+
if (isAuthorized) {
|
|
47810
|
+
arr.push(element);
|
|
47811
|
+
}
|
|
47812
|
+
_d.label = 4;
|
|
47813
|
+
case 4:
|
|
47814
|
+
_i++;
|
|
47815
|
+
return [3 /*break*/, 1];
|
|
47816
|
+
case 5:
|
|
47817
|
+
resolve(arr);
|
|
47818
|
+
return [2 /*return*/];
|
|
47819
|
+
}
|
|
47820
|
+
});
|
|
47821
|
+
}); });
|
|
47822
|
+
prmsAppSwicherItem.then(function (rs) {
|
|
47823
|
+
if (rs) {
|
|
47824
|
+
var currentUser_1 = _this._userService.getCurrentUser();
|
|
47825
|
+
_this.appSwitcherItems.length = 0;
|
|
47826
|
+
rs.forEach(function (element) {
|
|
47827
|
+
if (element.visible) {
|
|
47828
|
+
if (element.allowAnonymous) {
|
|
47829
|
+
_this.appSwitcherItems.push(element);
|
|
47830
|
+
}
|
|
47831
|
+
else {
|
|
47832
|
+
if (currentUser_1.maNguoiHoc && currentUser_1.issuperuser && currentUser_1.issuperuser.toLowerCase() != 'true') {
|
|
47833
|
+
if (element.code.toLowerCase() == 'sv' || element.code.toLowerCase() == 'user') {
|
|
47834
|
+
_this.appSwitcherItems.push(element);
|
|
47835
|
+
}
|
|
47836
|
+
}
|
|
47837
|
+
else {
|
|
47838
|
+
_this.appSwitcherItems.push(element);
|
|
47839
|
+
}
|
|
47840
|
+
}
|
|
47841
|
+
}
|
|
47842
|
+
});
|
|
47843
|
+
}
|
|
47844
|
+
});
|
|
47845
|
+
};
|
|
47846
|
+
AppTopBarV3Component.prototype.ngOnInit = function () {
|
|
47847
|
+
var _this = this;
|
|
47848
|
+
if (this.rootContext.data.currentUser) {
|
|
47849
|
+
if (this.rootContext.data.currentUser.gender == 0) {
|
|
47850
|
+
this.defaultAvatar = this.environment.appMetadata.main.defaultFemaleAvatar;
|
|
47851
|
+
}
|
|
47852
|
+
else {
|
|
47853
|
+
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
47854
|
+
}
|
|
47855
|
+
this.userProfile = this._userService.getProfileInfo();
|
|
47856
|
+
}
|
|
47857
|
+
this.rootContext.subscribe(ComCtxConstants.ROOT.BODY_MOUSE_DOWN, function (e) {
|
|
47858
|
+
setTimeout(function () {
|
|
47859
|
+
_this.hideAdvanceSearch(e);
|
|
47860
|
+
});
|
|
47861
|
+
});
|
|
47862
|
+
this.rootContext.subscribe(ComCtxConstants.ROOT.KEY_DOWN_CTRL_F, function (e) {
|
|
47863
|
+
_this.focusToSearchBox();
|
|
47864
|
+
});
|
|
47865
|
+
this.rootContext.subscribe(ComCtxConstants.COMMON.FORCE_RELOAD, function (e) {
|
|
47866
|
+
_this.showNotificationReload();
|
|
47867
|
+
});
|
|
47868
|
+
this.rootContext.subscribe(ComCtxConstants.COMMON.SHOW_NOTIFY, function (e) {
|
|
47869
|
+
_this.setNotify(e.message);
|
|
47870
|
+
});
|
|
47871
|
+
this.allSubscriptions.push(this.rootContext.subscribe(ComCtxConstants.ROOT_USMART.SHOW_CONFIG_DATA_DEFAULT, function (e) {
|
|
47872
|
+
_this.model.dataModelSetting.showSettings = true;
|
|
47873
|
+
}));
|
|
47874
|
+
this.model.dataModelSetting = {
|
|
47875
|
+
data: {},
|
|
47876
|
+
showSettings: false
|
|
47877
|
+
};
|
|
47878
|
+
this.subscribe(ComCtxConstants.COMMON.SAVE_DATA_DEFAULT, function (data) {
|
|
47879
|
+
_this.formatDefaultDataSetting(data);
|
|
47880
|
+
_this.reloadWindow();
|
|
47881
|
+
});
|
|
47882
|
+
var stringDataDefault = localStorage.getItem(ComCtxConstants.LOCALSTORAGE_KEY.DEFAULT_DATA);
|
|
47883
|
+
if (stringDataDefault) {
|
|
47884
|
+
var dataCacheDefault = JSON.parse(stringDataDefault);
|
|
47885
|
+
this.formatDefaultDataSetting(dataCacheDefault);
|
|
47886
|
+
}
|
|
47887
|
+
else {
|
|
47888
|
+
this.defaultDataSetting = 'Thiết lập tham số mặc định';
|
|
47889
|
+
}
|
|
47890
|
+
};
|
|
47891
|
+
AppTopBarV3Component.prototype.ngOnDestroy = function () {
|
|
47450
47892
|
this.allSubscriptions.forEach(function (element) {
|
|
47451
47893
|
element.unsubscribe();
|
|
47452
47894
|
});
|
|
@@ -47455,7 +47897,7 @@
|
|
|
47455
47897
|
}
|
|
47456
47898
|
_super.prototype.ngOnDestroy.call(this);
|
|
47457
47899
|
};
|
|
47458
|
-
|
|
47900
|
+
AppTopBarV3Component.prototype.formatDefaultDataSetting = function (data) {
|
|
47459
47901
|
var _this = this;
|
|
47460
47902
|
var dataSetting = '';
|
|
47461
47903
|
var fields = ['instanceIdHeDaoTao', 'heDaoTao', 'namHoc', 'hocKy', 'instanceIdNamHoc', 'instanceIdHocKy', 'idDotThi'];
|
|
@@ -47473,16 +47915,16 @@
|
|
|
47473
47915
|
}
|
|
47474
47916
|
this.defaultDataSetting = dataSetting;
|
|
47475
47917
|
};
|
|
47476
|
-
|
|
47918
|
+
AppTopBarV3Component.prototype.checkHidden = function (field) {
|
|
47477
47919
|
return this.rootModel.currentAppMetadata.configDefaultSetting && !this.rootModel.currentAppMetadata.configDefaultSetting.column.some(function (p) { return p.field == field; });
|
|
47478
47920
|
};
|
|
47479
|
-
|
|
47921
|
+
AppTopBarV3Component.prototype.getCurrentUserFullName = function () {
|
|
47480
47922
|
return this.rootContext.data.currentUser && this.rootContext.data.currentUser.fullName ? this.rootContext.data.currentUser.fullName : 'Khách';
|
|
47481
47923
|
};
|
|
47482
|
-
|
|
47924
|
+
AppTopBarV3Component.prototype.getCurrentUserPosition = function () {
|
|
47483
47925
|
return this.userProfile ? this.userProfile.tenDonVi : null;
|
|
47484
47926
|
};
|
|
47485
|
-
|
|
47927
|
+
AppTopBarV3Component.prototype.getCurrentUserAvatar = function () {
|
|
47486
47928
|
if (this.rootContext.data.currentUser && this.rootContext.data.currentUser.avatar) {
|
|
47487
47929
|
return this.fileApi + "/public/" + this.rootContext.data.currentUser.avatar + "/Download";
|
|
47488
47930
|
}
|
|
@@ -47490,7 +47932,7 @@
|
|
|
47490
47932
|
return this.defaultAvatar;
|
|
47491
47933
|
}
|
|
47492
47934
|
};
|
|
47493
|
-
|
|
47935
|
+
AppTopBarV3Component.prototype.clearFilter = function (input) {
|
|
47494
47936
|
var _this = this;
|
|
47495
47937
|
setTimeout(function () {
|
|
47496
47938
|
_this.model.searchModel[_this.model.fieldKey] = '';
|
|
@@ -47502,12 +47944,12 @@
|
|
|
47502
47944
|
_this._cd.detectChanges();
|
|
47503
47945
|
});
|
|
47504
47946
|
};
|
|
47505
|
-
|
|
47947
|
+
AppTopBarV3Component.prototype.toggleAdvanceSearch = function (evt) {
|
|
47506
47948
|
this.rootContext.fireEvent(ComCtxConstants.ROOT.ADVANCE_SEARCH_TOGGLE_BOX, { event: evt });
|
|
47507
47949
|
evt.preventDefault();
|
|
47508
47950
|
evt.cancelBubble = true;
|
|
47509
47951
|
};
|
|
47510
|
-
|
|
47952
|
+
AppTopBarV3Component.prototype.hideAdvanceSearch = function (evt) {
|
|
47511
47953
|
if (document.getElementById('advance-search-box')) {
|
|
47512
47954
|
var mask = document.body.querySelectorAll('div[class~="ui-dialog-mask"]');
|
|
47513
47955
|
if (!mask.length) {
|
|
@@ -47518,12 +47960,12 @@
|
|
|
47518
47960
|
}
|
|
47519
47961
|
}
|
|
47520
47962
|
};
|
|
47521
|
-
|
|
47963
|
+
AppTopBarV3Component.prototype.focusToSearchBox = function () {
|
|
47522
47964
|
if (!document.body.querySelector('div[class~="ui-dialog-mask"]')) {
|
|
47523
47965
|
this.input.nativeElement.focus();
|
|
47524
47966
|
}
|
|
47525
47967
|
};
|
|
47526
|
-
|
|
47968
|
+
AppTopBarV3Component.prototype.onTopbarSearchClick = function (event, input) {
|
|
47527
47969
|
var _this = this;
|
|
47528
47970
|
if (!this.model.fieldKey) {
|
|
47529
47971
|
return;
|
|
@@ -47535,13 +47977,14 @@
|
|
|
47535
47977
|
input.focus();
|
|
47536
47978
|
});
|
|
47537
47979
|
};
|
|
47538
|
-
|
|
47980
|
+
AppTopBarV3Component.prototype.onEsc = function (event, input) {
|
|
47539
47981
|
this.clearFilter(input);
|
|
47540
47982
|
};
|
|
47541
|
-
|
|
47983
|
+
AppTopBarV3Component.prototype.onEnter = function (event, input) {
|
|
47542
47984
|
this.onTopbarSearchClick(event, input);
|
|
47543
47985
|
};
|
|
47544
|
-
|
|
47986
|
+
AppTopBarV3Component.prototype.switchApp = function (item, redirectType) {
|
|
47987
|
+
if (redirectType === void 0) { redirectType = UserRedirectType.DEFAULT; }
|
|
47545
47988
|
if (item.target == '_blank') {
|
|
47546
47989
|
if (!item.defaultRedirect) {
|
|
47547
47990
|
item.defaultRedirect = '';
|
|
@@ -47559,7 +48002,12 @@
|
|
|
47559
48002
|
}
|
|
47560
48003
|
else {
|
|
47561
48004
|
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
47562
|
-
|
|
48005
|
+
if (redirectType != null && redirectType == UserRedirectType.PERSONAL_INFO) {
|
|
48006
|
+
this._router.navigateByUrl(item.userProfileUrl);
|
|
48007
|
+
}
|
|
48008
|
+
else {
|
|
48009
|
+
this._router.navigateByUrl(item.defaultRedirect);
|
|
48010
|
+
}
|
|
47563
48011
|
this.rootContext.data.currentAppMetadata = this.environment.appMetadata.appSwitcher.find(function (x) { return x.code == item.code; });
|
|
47564
48012
|
if (this.rootContext.data.currentAppMetadata
|
|
47565
48013
|
&& this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined
|
|
@@ -47569,13 +48017,13 @@
|
|
|
47569
48017
|
}
|
|
47570
48018
|
}
|
|
47571
48019
|
};
|
|
47572
|
-
|
|
48020
|
+
AppTopBarV3Component.prototype.hasAdvanceSearchBox = function () {
|
|
47573
48021
|
return this.model.searchModel.hasAdvanceSearch;
|
|
47574
48022
|
};
|
|
47575
|
-
|
|
48023
|
+
AppTopBarV3Component.prototype.isAdvanceSearching = function () {
|
|
47576
48024
|
return this.hasAdvanceSearchValue(this.model.searchModel);
|
|
47577
48025
|
};
|
|
47578
|
-
|
|
48026
|
+
AppTopBarV3Component.prototype.hasAdvanceSearchValue = function (obj) {
|
|
47579
48027
|
for (var key in obj) {
|
|
47580
48028
|
if (key === '_k' || key === 'hasAdvanceSearch') {
|
|
47581
48029
|
continue;
|
|
@@ -47586,63 +48034,70 @@
|
|
|
47586
48034
|
}
|
|
47587
48035
|
return true;
|
|
47588
48036
|
};
|
|
47589
|
-
|
|
48037
|
+
AppTopBarV3Component.prototype.getComponentId = function () {
|
|
47590
48038
|
return 'TOPBAR';
|
|
47591
48039
|
};
|
|
47592
|
-
|
|
48040
|
+
AppTopBarV3Component.prototype.goToHome = function () {
|
|
47593
48041
|
this.rootContext.fireEvent('GO_HOME');
|
|
47594
48042
|
};
|
|
47595
|
-
|
|
48043
|
+
AppTopBarV3Component.prototype.onEditInfo = function (event, redirectType) {
|
|
48044
|
+
if (redirectType === void 0) { redirectType = UserRedirectType.DEFAULT; }
|
|
47596
48045
|
event.preventDefault();
|
|
47597
48046
|
var currentAppSetting = this.environment.appMetadata.appSwitcher.find(function (x) { return x.code == 'USER'; });
|
|
47598
48047
|
if (currentAppSetting) {
|
|
47599
|
-
this.switchApp(currentAppSetting);
|
|
48048
|
+
this.switchApp(currentAppSetting, redirectType);
|
|
47600
48049
|
}
|
|
47601
48050
|
else {
|
|
47602
48051
|
console.error('Bạn chưa thiết lập metadata cho trang cá nhân');
|
|
47603
48052
|
}
|
|
47604
48053
|
};
|
|
47605
|
-
|
|
48054
|
+
AppTopBarV3Component.prototype.onChangePassword = function (event) {
|
|
47606
48055
|
event.preventDefault();
|
|
47607
|
-
|
|
48056
|
+
var domain = this.environment.clientDomain.appDomain;
|
|
48057
|
+
var subPath = 'user';
|
|
48058
|
+
// vì DHGTVT dùng đồng thời userv5 và userv4
|
|
48059
|
+
if (this.environment.maTruong == 'DHGTVT') {
|
|
48060
|
+
subPath = 'userv5';
|
|
48061
|
+
}
|
|
48062
|
+
this.document.location.href = domain + "/" + subPath + "/change-password";
|
|
47608
48063
|
};
|
|
47609
|
-
|
|
48064
|
+
AppTopBarV3Component.prototype.onTopbarLogout = function () {
|
|
47610
48065
|
if (!localStorage.getItem('currentUrl')) {
|
|
47611
48066
|
localStorage.setItem('currentUrl', top.location.href);
|
|
47612
48067
|
}
|
|
47613
48068
|
this._authenService.logout();
|
|
47614
48069
|
};
|
|
47615
|
-
|
|
48070
|
+
AppTopBarV3Component.prototype.settingDefault = function () {
|
|
47616
48071
|
this.model.dataModelSetting = {
|
|
47617
48072
|
data: {},
|
|
47618
48073
|
showSettings: true
|
|
47619
48074
|
};
|
|
47620
48075
|
};
|
|
47621
|
-
|
|
48076
|
+
AppTopBarV3Component.prototype.onShowSettings = function (ev) {
|
|
47622
48077
|
this.rootContext.fireEvent(ComCtxConstants.ROOT_USMART.CONFIG_DATA_DEFAULT_OPENED);
|
|
47623
48078
|
};
|
|
47624
|
-
|
|
48079
|
+
AppTopBarV3Component.prototype.onCloseSettings = function (ev) {
|
|
47625
48080
|
this.rootContext.fireEvent(ComCtxConstants.ROOT_USMART.CONFIG_DATA_DEFAULT_CLOSED);
|
|
47626
48081
|
};
|
|
47627
|
-
|
|
48082
|
+
AppTopBarV3Component.prototype.showProfilePage = function () {
|
|
47628
48083
|
if (this._userService.isSinhVienAccount()) {
|
|
47629
48084
|
return false;
|
|
47630
48085
|
}
|
|
47631
48086
|
return true;
|
|
47632
48087
|
};
|
|
47633
|
-
|
|
48088
|
+
AppTopBarV3Component.prototype.login = function () {
|
|
47634
48089
|
this.rootContext.fireEvent('LOGIN');
|
|
47635
48090
|
};
|
|
47636
|
-
|
|
48091
|
+
AppTopBarV3Component.prototype.setNotify = function (message) {
|
|
47637
48092
|
this.message = message;
|
|
47638
48093
|
};
|
|
47639
|
-
|
|
48094
|
+
AppTopBarV3Component.prototype.handleMouseOver = function (evt) {
|
|
47640
48095
|
evt.target.stop();
|
|
47641
48096
|
};
|
|
47642
|
-
|
|
48097
|
+
AppTopBarV3Component.prototype.handleMouseOut = function (evt) {
|
|
47643
48098
|
evt.target.start();
|
|
47644
48099
|
};
|
|
47645
|
-
|
|
48100
|
+
AppTopBarV3Component.prototype.showNotificationReload = function () {
|
|
47646
48101
|
var _this = this;
|
|
47647
48102
|
this.message = 'Hệ thống có phiên bản mới, hãy refresh trình duyệt để cập nhật';
|
|
47648
48103
|
this.rootContext.fireEvent(ComCtxConstants.ROOT.SHOW_REJECT_CONFIRM, false);
|
|
@@ -47677,31 +48132,33 @@
|
|
|
47677
48132
|
// });
|
|
47678
48133
|
// }, 1000);
|
|
47679
48134
|
};
|
|
47680
|
-
|
|
48135
|
+
AppTopBarV3Component.prototype.getOwner = function () {
|
|
47681
48136
|
// đổi ngược title và owner theo application.json
|
|
47682
48137
|
return this.environment.appMetadata.main.reverseTopbarTitle == null || this.environment.appMetadata.main.reverseTopbarTitle == false
|
|
47683
48138
|
? this.environment.appMetadata.main.owner
|
|
47684
48139
|
: this.environment.appMetadata.main.titleShort;
|
|
47685
48140
|
};
|
|
47686
|
-
|
|
48141
|
+
AppTopBarV3Component.prototype.getTitle = function () {
|
|
48142
|
+
// đổi ngược title và owner theo application.json
|
|
47687
48143
|
return this.environment.appMetadata.main.reverseTopbarTitle == null || this.environment.appMetadata.main.reverseTopbarTitle == false
|
|
47688
48144
|
? this.environment.appMetadata.main.titleShort
|
|
47689
48145
|
: this.environment.appMetadata.main.owner;
|
|
47690
48146
|
};
|
|
47691
|
-
|
|
48147
|
+
AppTopBarV3Component.prototype.reloadWindow = function () {
|
|
47692
48148
|
top.location.reload();
|
|
47693
48149
|
};
|
|
47694
|
-
return
|
|
48150
|
+
return AppTopBarV3Component;
|
|
47695
48151
|
}(ComponentBase));
|
|
47696
|
-
|
|
48152
|
+
AppTopBarV3Component.decorators = [
|
|
47697
48153
|
{ type: i0.Component, args: [{
|
|
47698
|
-
selector: 'app-topbar-
|
|
47699
|
-
template: "<div class=\"topbar clearfix tn-l-top-bar\">\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !environment.isProduction }\">\n <div class=\"tn-l-left-menu-toggle-block\">\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\n (click)=\"_commonService.onMenuButtonClick($event)\">\n <i class=\"pi pi-chevron-left\"></i>\n </a>\n </div>\n\n <div class=\"topbar-logo tn-l-logo-wrapper\">\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\n <img class=\"topbar-logo tn-l-logo\" [src]=\"environment.appMetadata.main.
|
|
48154
|
+
selector: 'app-topbar-v3',
|
|
48155
|
+
template: "<div class=\"topbar clearfix tn-l-top-bar\">\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !environment.isProduction }\">\n <div class=\"tn-l-left-menu-toggle-block\">\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\n (click)=\"_commonService.onMenuButtonClick($event)\">\n <i class=\"pi pi-chevron-left\"></i>\n </a>\n </div>\n\n <div class=\"topbar-logo tn-l-logo-wrapper\">\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\n <img class=\"topbar-logo tn-l-logo\" [src]=\"environment.appMetadata.main.logoInside\"\n (click)=\"goToHome()\" /></a>\n </div>\n </div>\n <div class=\"setting-default-container\">\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\n (click)=\"settingDefault()\">\n </a>\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\n </ng-container>\n </div>\n <div #notify class=\"notify-message\">\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\n </div>\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !environment.isProduction}\"\n oncontextmenu=\"return false\">\n <div class=\"tn-l-top-bar-right-block-1\">\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\n </a>\n </div>\n\n <div class=\"tn-l-top-bar-right-block-2\">\n <ul class=\"topbar-items fadeInDown\" [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\n <li *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\" #profile\n class=\"profile-item tn-l-top-bar-menu-item\"\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\n\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\n <div class=\"profile-image-wrapper topbar-icon-left\">\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\n [src]=\"getCurrentUserAvatar()\" />\n </div>\n <div class=\"profile-info-wrapper\">\n <div class=\"topbar-item-name-wrapper\"\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\n </div>\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\n </div>\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\n </a>\n\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\n <ng-container *ngIf=\"currentUser\">\n <li role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-inbox\"></i>\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\n </a>\n </li>\n <li role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event, UserRedirectType.PERSONAL_INFO)\">\n <i class=\"pi pi-user-edit\"></i>\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\n </a>\n </li>\n <li role=\"menuitem\">\n <a href=\"#\" (click)=\"onChangePassword($event)\">\n <i class=\"pi pi-key\"></i>\n <span>\u0110\u1ED5i m\u1EADt kh\u1EA9u</span>\n </a>\n </li>\n <li role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\n <i class=\"pi pi-sign-out\"></i>\n <span>\u0110\u0103ng xu\u1EA5t</span>\n </a>\n </li>\n </ng-container>\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"login()\">\n <i class=\"pi pi-sign-in\"></i>\n <span>\u0110\u0103ng nh\u1EADp</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\" tn-app-help>\n </li>\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\n class=\"tn-l-top-bar-menu-item\" #messages\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\n <a href=\"#\" tabindex=\"7\" class=\"tn-l-top-bar-menu-item-inner\" style=\"height: 30px;\"\n pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\n (click)=\"_commonService.onTopbarItemClick($event,modules)\">\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <!-- <i class=\"pi pi-microsoft\"></i> -->\n </span>\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\n </a>\n <ul class=\"app-switcher layout-menu fadeInDown\">\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\n <li role=\"menuitem\" class=\"wrapper-appswitch\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\n (click)=\"switchApp(item)\">\n <span class=\"tn-l-switcher-item-inner\">\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"></i>\n <div class=\"tn-l-switcher-item-label\">\n {{ item.title | translate}}\n </div>\n </span>\n </a>\n </ng-container>\n </li>\n </tn-custom-scrollbar>\n </ul>\n </li>\n </ul>\n </div>\n </div>\n</div>",
|
|
47700
48156
|
providers: [ComponentContextService],
|
|
47701
|
-
styles: [".topBarSearchButton:disabled{opacity:1;background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important}::ng-deep app-topbar a{outline:none}input:disabled::-moz-placeholder{color:#b1b1b1}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{margin-top:0;float:none}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;justify-content:center;order:0;text-align:right;float:none}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{align-self:stretch;display:flex;align-items:center;box-shadow:0 0 5px 0 rgba(0,0,0,.3764705882352941)}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{width:auto;height:40px;margin:0}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{margin:0;font-size:0;width:auto;height:auto;padding-left:8px;padding-right:8px}.tn-l-top-bar{display:flex}.topbar-description,.topbar-owner{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{float:none;width:auto;display:flex}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{width:30px;height:28px;margin:auto;display:block}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{justify-content:center}.notify-message,.setting-default-container{display:flex;align-items:center;margin-left:30px}.notify-message{flex:1 1;overflow:hidden}.notify-message>marquee{white-space:nowrap;color:#ff0;font-size:500}.search-item{margin-right:10px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{background:#fff}.tn-l-switcher-item-label{text-shadow:none;color:#52abff;text-align:center}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{font-size:38px;margin:5px auto;text-shadow:none;color:#52abff}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}::ng-deep .layout-wrapper app-topbar-
|
|
48157
|
+
styles: [".topBarSearchButton:disabled{opacity:1;background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important}::ng-deep app-topbar a{outline:none}input:disabled::-moz-placeholder{color:#b1b1b1}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{margin-top:0;float:none}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;justify-content:center;order:0;text-align:right;float:none}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{align-self:stretch;display:flex;align-items:center;box-shadow:0 0 5px 0 rgba(0,0,0,.3764705882352941)}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{width:auto;height:40px;margin:0}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{margin:0;font-size:0;width:auto;height:auto;padding-left:8px;padding-right:8px}.tn-l-top-bar{display:flex}.topbar-description,.topbar-owner{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{float:none;width:auto;display:flex}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{width:30px;height:28px;margin:auto;display:block}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{justify-content:center}.notify-message,.setting-default-container{display:flex;align-items:center;margin-left:30px}.notify-message{flex:1 1;overflow:hidden}.notify-message>marquee{white-space:nowrap;color:#ff0;font-size:500}.search-item{margin-right:10px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{background:#fff}.tn-l-switcher-item-label{text-shadow:none;color:#52abff;text-align:center}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{font-size:38px;margin:5px auto;text-shadow:none;color:#52abff}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a.switcher-item{width:unset;margin-top:0}::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a.switcher-item:nth-child(3n+0){border-left:none}::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a.switcher-item:nth-child(3n+1){border-right:none}::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a.switcher-item:nth-child(3n+2){border:none}::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a.switcher-item:nth-child(3n+1):last-child,::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a.switcher-item:nth-child(3n+2):last-child{width:unset}::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a span{line-height:1.2}::ng-deep .layout-wrapper app-topbar-v3 .topbar{background:#fff;border-bottom:1px solid red}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-left{box-shadow:none;background:#fff;border-bottom:1px solid red}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-left .tn-l-left-menu-toggle-block{background:red}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-left .topbar-logo.tn-l-logo-wrapper img.topbar-logo.tn-l-logo{height:46px}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-right{background:#fff;border-bottom:1px solid red}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-right .topbar-items>li .topbar-icon{color:#000}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-right .topbar-items>li .topbar-icon:hover{color:#777}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-right .topbar-items>li.profile-item a .topbar-item-name{color:#000}::ng-deep .layout-wrapper app-topbar-v3 .topbar .topbar-right .topbar-items>li.profile-item a .topbar-item-name:hover{color:#777}::ng-deep .layout-wrapper app-topbar-v3 .wrapper-appswitch{text-align:center;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}@media (max-width:1024px){::ng-deep .layout-wrapper app-topbar-v3 .layout-menu li a.switcher-item{width:unset}}@media (min-width:1025px){.tn-l-top-bar-right{display:flex;justify-content:space-between;align-items:center}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding:0 15px}.topbar-items.topbar-items.topbar-items{margin:0;display:flex;justify-content:flex-start;flex-direction:row-reverse;align-items:center}.topbar-items.topbar-items.topbar-items,.topbar-items.topbar-items.topbar-items>li{float:none}::ng-deep .topbar .topbar-items>li>a{margin-top:0}::ng-deep .topbar .topbar-items>li>a>span>i{color:#fff;font-size:24px}.topbar .topbar-items>li>a.UserPane{height:auto;line-height:inherit;top:0}a.UserPane .profile-image.profile-image.profile-image.profile-image{margin-top:0}}@media (min-width:1025px) and (max-width:1400px){.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-right:19px}.search-item{margin-right:0}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding-left:15px}.topbar-items>li.profile-item{margin-left:14px}}@media (max-width:1024px){.tn-l-m-default-setting{display:flex;align-items:center;justify-content:center;height:36px;font-size:28px;width:36px;color:#fff}.tn-l-default-detting{display:none}::ng-deep .layout-menu-static-mobile-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{text-align:left}.topbar .topbar-right #topbar-menu-button{display:flex;align-items:center;width:36px;justify-content:center}.tn-l-top-bar-right-block-1{display:flex}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{padding-left:5px;padding-right:5px}.tn-l-logo-title-block,.tn-l-top-bar-left,.topbar-description,.topbar-owner{overflow:hidden}.topbar-description,.topbar-owner{text-overflow:ellipsis}.tn-l-top-bar-menu-item:empty{display:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{padding-left:0;padding-right:0}.topbar-title.topbar-title.topbar-title.topbar-title{margin:0}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:14px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:10px}.tn-l-top-bar-right{flex:1;position:relative}.topbar-menu-button span.topbar-badge{right:-4px}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{display:flex;padding:0 .5em;align-items:center;justify-content:flex-end}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right #topbar-menu-button{position:relative;margin-left:.5em;top:0;right:0}.app-switcher.layout-menu.layout-menu.layout-menu.layout-menu{width:270px}.profile-image-wrapper{order:0}.tn-l-user-name{width:220px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep app-topbar .tn-l-top-bar-menu-item .topbar-icon-left{display:flex;justify-content:center;align-items:center}.tn-l-topbar-item-role-wrapper{display:none}}"]
|
|
47702
48158
|
},] }
|
|
47703
48159
|
];
|
|
47704
|
-
|
|
48160
|
+
AppTopBarV3Component.ctorParameters = function () { return [
|
|
48161
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i4$1.DOCUMENT,] }] },
|
|
47705
48162
|
{ type: CustomRouterService },
|
|
47706
48163
|
{ type: i3.Router },
|
|
47707
48164
|
{ type: CommonService },
|
|
@@ -47712,14 +48169,18 @@
|
|
|
47712
48169
|
{ type: ModuleConfigService },
|
|
47713
48170
|
{ type: UserService },
|
|
47714
48171
|
{ type: NotifierService },
|
|
47715
|
-
{ type: i2.TranslateService },
|
|
47716
48172
|
{ type: CustomizeUiService }
|
|
47717
48173
|
]; };
|
|
47718
|
-
|
|
48174
|
+
AppTopBarV3Component.propDecorators = {
|
|
47719
48175
|
input: [{ type: i0.ViewChild, args: ['input',] }],
|
|
47720
48176
|
notify: [{ type: i0.ViewChild, args: ['notify', { static: true },] }],
|
|
47721
48177
|
messages: [{ type: i0.ViewChild, args: ['messages', { static: true },] }]
|
|
47722
48178
|
};
|
|
48179
|
+
var UserRedirectType;
|
|
48180
|
+
(function (UserRedirectType) {
|
|
48181
|
+
UserRedirectType[UserRedirectType["PERSONAL_INFO"] = 0] = "PERSONAL_INFO";
|
|
48182
|
+
UserRedirectType[UserRedirectType["DEFAULT"] = 1] = "DEFAULT";
|
|
48183
|
+
})(UserRedirectType || (UserRedirectType = {}));
|
|
47723
48184
|
|
|
47724
48185
|
var AppSubMenuComponent = /** @class */ (function (_super) {
|
|
47725
48186
|
__extends(AppSubMenuComponent, _super);
|
|
@@ -48461,7 +48922,7 @@
|
|
|
48461
48922
|
{ type: i0.Component, args: [{
|
|
48462
48923
|
// tslint:disable-next-line: component-selector
|
|
48463
48924
|
selector: 'app-topbar',
|
|
48464
|
-
template: "<ng-container [ngSwitch]=\"layoutAppSwitcher\">\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"appSwitcherDefault\">\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V1\">\n <app-topbar-v1></app-topbar-v1>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V2\">\n <app-topbar-v2></app-topbar-v2>\n </ng-container>\n</ng-container>\n\n\n<ng-template #appSwitcherDefault>\n <div class=\"topbar clearfix tn-l-top-bar\">\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !environment.isProduction }\">\n <div class=\"tn-l-left-menu-toggle-block\">\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\n (click)=\"_commonService.onMenuButtonClick($event)\">\n <i class=\"pi pi-chevron-left\"></i>\n </a>\n </div>\n\n <div class=\"topbar-logo tn-l-logo-wrapper\">\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\n <img class=\"topbar-logo tn-l-logo\" [src]=\"environment.appMetadata.main.logo\"\n (click)=\"goToHome()\" /></a>\n </div>\n <div class=\"topbar-title tn-l-logo-title-block\">\n <div class=\"topbar-owner\">\n {{getTitle()}}\n </div>\n <div class=\"topbar-description\">\n {{getOwner()}}\n </div>\n </div>\n </div>\n <div class=\"setting-default-container\">\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\n (click)=\"settingDefault()\">\n </a>\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\n </ng-container>\n </div>\n <div #notify class=\"notify-message\">\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\n </div>\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !environment.isProduction}\"\n oncontextmenu=\"return false\">\n <div class=\"tn-l-top-bar-right-block-1\">\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\n </a>\n </div>\n\n <div class=\"tn-l-top-bar-right-block-2\">\n <ul class=\"topbar-items fadeInDown\"\n [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\n <li #profile class=\"profile-item tn-l-top-bar-menu-item\"\n *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\"\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\n\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\n <div class=\"profile-image-wrapper topbar-icon-left\">\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\n [src]=\"getCurrentUserAvatar()\" />\n </div>\n <div class=\"profile-info-wrapper\">\n <div class=\"topbar-item-name-wrapper\"\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\n </div>\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\n </div>\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\n </a>\n\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\n <li *ngIf=\"currentUser\" role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-inbox\"></i>\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\n </a>\n </li>\n <li *ngIf=\"currentUser\" role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-user-edit\"></i>\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\n </a>\n </li>\n <li *ngIf=\"currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\n <i class=\"pi pi-sign-out\"></i>\n <span>\u0110\u0103ng xu\u1EA5t</span>\n </a>\n </li>\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"login()\">\n <i class=\"pi pi-sign-in\"></i>\n <span>\u0110\u0103ng nh\u1EADp</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\"\n tn-app-help></li>\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\n class=\"tn-l-top-bar-menu-item\" #messages\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\n <a href=\"#\" tabindex=\"7\" (click)=\"_commonService.onTopbarItemClick($event,modules)\"\n style=\"height: 30px;\" pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\n class=\"tn-l-top-bar-menu-item-inner\">\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <!-- <i class=\"pi pi-microsoft\"></i> -->\n </span>\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\n </a>\n <ul class=\"app-switcher layout-menu fadeInDown\">\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\n <li role=\"menuitem\" style=\"text-align: center;\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\n [style.background]=\"item.background\" (click)=\"switchApp(item)\">\n <span class=\"tn-l-switcher-item-inner\" [style.color]=\"item.colorTitle\">\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"\n [style.color]=\"item.colorIcon\"></i>\n <div class=\"tn-l-switcher-item-label\">\n {{ item.title | translate}}\n </div>\n </span>\n </a>\n </ng-container>\n </li>\n </tn-custom-scrollbar>\n </ul>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>",
|
|
48925
|
+
template: "<ng-container [ngSwitch]=\"layoutAppSwitcher\">\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"appSwitcherDefault\">\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V1\">\n <app-topbar-v1></app-topbar-v1>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V2\">\n <app-topbar-v2></app-topbar-v2>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V3\">\n <app-topbar-v3></app-topbar-v3>\n </ng-container>\n</ng-container>\n\n\n<ng-template #appSwitcherDefault>\n <div class=\"topbar clearfix tn-l-top-bar\">\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !environment.isProduction }\">\n <div class=\"tn-l-left-menu-toggle-block\">\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\n (click)=\"_commonService.onMenuButtonClick($event)\">\n <i class=\"pi pi-chevron-left\"></i>\n </a>\n </div>\n\n <div class=\"topbar-logo tn-l-logo-wrapper\">\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\n <img class=\"topbar-logo tn-l-logo\" [src]=\"environment.appMetadata.main.logo\"\n (click)=\"goToHome()\" /></a>\n </div>\n <div class=\"topbar-title tn-l-logo-title-block\">\n <div class=\"topbar-owner\">\n {{getTitle()}}\n </div>\n <div class=\"topbar-description\">\n {{getOwner()}}\n </div>\n </div>\n </div>\n <div class=\"setting-default-container\">\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\n (click)=\"settingDefault()\">\n </a>\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\n </ng-container>\n </div>\n <div #notify class=\"notify-message\">\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\n </div>\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !environment.isProduction}\"\n oncontextmenu=\"return false\">\n <div class=\"tn-l-top-bar-right-block-1\">\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\n </a>\n </div>\n\n <div class=\"tn-l-top-bar-right-block-2\">\n <ul class=\"topbar-items fadeInDown\"\n [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\n <li #profile class=\"profile-item tn-l-top-bar-menu-item\"\n *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\"\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\n\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\n <div class=\"profile-image-wrapper topbar-icon-left\">\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\n [src]=\"getCurrentUserAvatar()\" />\n </div>\n <div class=\"profile-info-wrapper\">\n <div class=\"topbar-item-name-wrapper\"\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\n </div>\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\n </div>\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\n </a>\n\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\n <li *ngIf=\"currentUser\" role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-inbox\"></i>\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\n </a>\n </li>\n <li *ngIf=\"currentUser\" role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-user-edit\"></i>\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\n </a>\n </li>\n <li *ngIf=\"currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\n <i class=\"pi pi-sign-out\"></i>\n <span>\u0110\u0103ng xu\u1EA5t</span>\n </a>\n </li>\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"login()\">\n <i class=\"pi pi-sign-in\"></i>\n <span>\u0110\u0103ng nh\u1EADp</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\"\n tn-app-help></li>\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\n class=\"tn-l-top-bar-menu-item\" #messages\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\n <a href=\"#\" tabindex=\"7\" (click)=\"_commonService.onTopbarItemClick($event,modules)\"\n style=\"height: 30px;\" pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\n class=\"tn-l-top-bar-menu-item-inner\">\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <!-- <i class=\"pi pi-microsoft\"></i> -->\n </span>\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\n </a>\n <ul class=\"app-switcher layout-menu fadeInDown\">\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\n <li role=\"menuitem\" style=\"text-align: center;\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\n [style.background]=\"item.background\" (click)=\"switchApp(item)\">\n <span class=\"tn-l-switcher-item-inner\" [style.color]=\"item.colorTitle\">\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"\n [style.color]=\"item.colorIcon\"></i>\n <div class=\"tn-l-switcher-item-label\">\n {{ item.title | translate}}\n </div>\n </span>\n </a>\n </ng-container>\n </li>\n </tn-custom-scrollbar>\n </ul>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>",
|
|
48465
48926
|
providers: [ComponentContextService],
|
|
48466
48927
|
styles: [".topBarSearchButton:disabled{opacity:1;background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important}::ng-deep app-topbar a{outline:none}input:disabled::-moz-placeholder{color:#b1b1b1}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{margin-top:0;float:none}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;justify-content:center;order:0;text-align:right;float:none}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{align-self:stretch;display:flex;align-items:center;box-shadow:0 0 5px 0 rgba(0,0,0,.3764705882352941)}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{width:auto;height:40px;margin:0}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{margin:0;font-size:0;width:auto;height:auto;padding-left:8px;padding-right:8px}.tn-l-top-bar{display:flex}.topbar-description,.topbar-owner{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{float:none;width:auto;display:flex}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{width:30px;height:28px;margin:auto;display:block}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{justify-content:center}.notify-message,.setting-default-container{display:flex;align-items:center;margin-left:30px}.notify-message{flex:1 1;overflow:hidden}.notify-message>marquee{white-space:nowrap;color:#ff0;font-size:500}.search-item{margin-right:10px}.tn-l-switcher-item-inner{padding-top:4px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{display:inline-flex;align-items:center;justify-content:center}.tn-l-switcher-item-label{margin-top:4px}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{font-size:38px;margin:0 auto}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}@media (min-width:1025px){.tn-l-top-bar-right{display:flex;justify-content:space-between;align-items:center}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding:0 15px}.topbar-items.topbar-items.topbar-items{margin:0;display:flex;justify-content:flex-start;flex-direction:row-reverse;align-items:center}.topbar-items.topbar-items.topbar-items,.topbar-items.topbar-items.topbar-items>li{float:none}::ng-deep .topbar .topbar-items>li>a{margin-top:0}::ng-deep .topbar .topbar-items>li>a>span>i{color:#fff;font-size:24px}.topbar .topbar-items>li>a.UserPane{height:auto;line-height:inherit;top:0}a.UserPane .profile-image.profile-image.profile-image.profile-image{margin-top:0}}@media (min-width:1025px) and (max-width:1400px){.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-right:19px}.search-item{margin-right:0}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding-left:15px}.topbar-items>li.profile-item{margin-left:14px}}@media (max-width:1024px){.tn-l-m-default-setting{display:flex;align-items:center;justify-content:center;height:36px;font-size:28px;width:36px;color:#fff}.tn-l-default-detting{display:none}::ng-deep .layout-menu-static-mobile-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{text-align:left}.topbar .topbar-right #topbar-menu-button{display:flex;align-items:center;width:36px;justify-content:center}.tn-l-top-bar-right-block-1{display:flex}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{padding-left:5px;padding-right:5px}.tn-l-logo-title-block,.tn-l-top-bar-left,.topbar-description,.topbar-owner{overflow:hidden}.topbar-description,.topbar-owner{text-overflow:ellipsis}.tn-l-top-bar-menu-item:empty{display:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{padding-left:0;padding-right:0}.topbar-title.topbar-title.topbar-title.topbar-title{margin:0}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:14px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:10px}.tn-l-top-bar-right{flex:1;position:relative}.topbar-menu-button span.topbar-badge{right:-4px}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{display:flex;padding:0 .5em;align-items:center;justify-content:flex-end}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right #topbar-menu-button{position:relative;margin-left:.5em;top:0;right:0}.app-switcher.layout-menu.layout-menu.layout-menu.layout-menu{width:270px}.profile-image-wrapper{order:0}.tn-l-user-name{width:220px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep app-topbar .tn-l-top-bar-menu-item .topbar-icon-left{display:flex;justify-content:center;align-items:center}.tn-l-topbar-item-role-wrapper{display:none}}"]
|
|
48467
48928
|
},] }
|
|
@@ -55295,6 +55756,215 @@
|
|
|
55295
55756
|
{ type: GlobalService }
|
|
55296
55757
|
]; };
|
|
55297
55758
|
|
|
55759
|
+
var SplashComponentV3Component = /** @class */ (function (_super) {
|
|
55760
|
+
__extends(SplashComponentV3Component, _super);
|
|
55761
|
+
function SplashComponentV3Component(injector, _moduleConfigService, _permissionService, _deviceDetectorService, _userService, _router, _authenService, _globalService) {
|
|
55762
|
+
var _this = _super.call(this, injector) || this;
|
|
55763
|
+
_this._moduleConfigService = _moduleConfigService;
|
|
55764
|
+
_this._permissionService = _permissionService;
|
|
55765
|
+
_this._deviceDetectorService = _deviceDetectorService;
|
|
55766
|
+
_this._userService = _userService;
|
|
55767
|
+
_this._router = _router;
|
|
55768
|
+
_this._authenService = _authenService;
|
|
55769
|
+
_this._globalService = _globalService;
|
|
55770
|
+
_this.defaultAvatar = '';
|
|
55771
|
+
_this.appSwitcherItems = [];
|
|
55772
|
+
_this.loaded = false;
|
|
55773
|
+
_this.currentDate = new Date();
|
|
55774
|
+
_this.showDefaultSetting = false;
|
|
55775
|
+
_this.fileApi = '';
|
|
55776
|
+
_this.isOnMobile = false;
|
|
55777
|
+
_this.daysInWeek = ['Chủ nhật', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
|
|
55778
|
+
_this.rootContext.fireEvent('MAIN_CONTENT_ONLY', true);
|
|
55779
|
+
_this.environment = _this._moduleConfigService.getConfig().environment;
|
|
55780
|
+
_this.defaultAvatar = _this.environment.appMetadata.main.defaultMaleAvatar;
|
|
55781
|
+
_this.fileApi = _this.environment.apiDomain.fileEndpoint + "/" + _this.environment.apiVersion + "/FileObject";
|
|
55782
|
+
setInterval(function () {
|
|
55783
|
+
_this.currentDate = new Date();
|
|
55784
|
+
}, 1000);
|
|
55785
|
+
if (_this.rootContext.data.currentAppMetadata && _this.rootContext.data.currentAppMetadata && _this.rootContext.data.currentAppMetadata.showDefaultSetting != null && _this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
|
|
55786
|
+
_this.showDefaultSetting = _this.rootContext.data.currentAppMetadata.showDefaultSetting;
|
|
55787
|
+
}
|
|
55788
|
+
else {
|
|
55789
|
+
if (_this.environment.appMetadata.main.showDefaultSetting != null && _this.environment.appMetadata.main.showDefaultSetting != undefined) {
|
|
55790
|
+
_this.showDefaultSetting = _this.environment.appMetadata.main.showDefaultSetting;
|
|
55791
|
+
}
|
|
55792
|
+
else {
|
|
55793
|
+
_this.showDefaultSetting = false;
|
|
55794
|
+
}
|
|
55795
|
+
}
|
|
55796
|
+
// Config for authentication
|
|
55797
|
+
_this._globalService.setHeaderState(false);
|
|
55798
|
+
_this._globalService.setMenuState(false);
|
|
55799
|
+
_this.underconstruction = _this.environment.underconstruction;
|
|
55800
|
+
return _this;
|
|
55801
|
+
}
|
|
55802
|
+
SplashComponentV3Component.prototype.ngOnInit = function () {
|
|
55803
|
+
var _this = this;
|
|
55804
|
+
if (this._deviceDetectorService.isMobile()) {
|
|
55805
|
+
this.isOnMobile = true;
|
|
55806
|
+
}
|
|
55807
|
+
if (this.rootContext.data.currentUser) {
|
|
55808
|
+
if (this.rootContext.data.currentUser.gender == 0) {
|
|
55809
|
+
this.defaultAvatar = this.environment.appMetadata.main.defaultFemaleAvatar;
|
|
55810
|
+
}
|
|
55811
|
+
else {
|
|
55812
|
+
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
55813
|
+
}
|
|
55814
|
+
}
|
|
55815
|
+
this.rootContext.replaySubscribe(ComCtxConstants.ROOT.USER_LOADED, function (rs) {
|
|
55816
|
+
_this.currentUser = _this._userService.getCurrentUser();
|
|
55817
|
+
_this.loadAppMetadata();
|
|
55818
|
+
_this.loaded = true;
|
|
55819
|
+
});
|
|
55820
|
+
if (this.rootModel.allowAnonymous) {
|
|
55821
|
+
this.loaded = true;
|
|
55822
|
+
this.loadAppMetadata();
|
|
55823
|
+
}
|
|
55824
|
+
};
|
|
55825
|
+
SplashComponentV3Component.prototype.loadAppMetadata = function () {
|
|
55826
|
+
var _this = this;
|
|
55827
|
+
var prmsAppSwicherItem = new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
55828
|
+
var arr, _a, _b, _i, ind, element, isAuthorized;
|
|
55829
|
+
return __generator(this, function (_c) {
|
|
55830
|
+
switch (_c.label) {
|
|
55831
|
+
case 0:
|
|
55832
|
+
arr = [];
|
|
55833
|
+
_a = [];
|
|
55834
|
+
for (_b in this.environment.appMetadata.appSwitcher)
|
|
55835
|
+
_a.push(_b);
|
|
55836
|
+
_i = 0;
|
|
55837
|
+
_c.label = 1;
|
|
55838
|
+
case 1:
|
|
55839
|
+
if (!(_i < _a.length)) return [3 /*break*/, 5];
|
|
55840
|
+
ind = _a[_i];
|
|
55841
|
+
element = this.environment.appMetadata.appSwitcher[ind];
|
|
55842
|
+
if (!(this.rootModel.allowAnonymous && element.allowAnonymous)) return [3 /*break*/, 2];
|
|
55843
|
+
arr.push(element);
|
|
55844
|
+
return [3 /*break*/, 4];
|
|
55845
|
+
case 2:
|
|
55846
|
+
if (!this.currentUser) return [3 /*break*/, 4];
|
|
55847
|
+
return [4 /*yield*/, this._permissionService.isAuthorized(element.code, (element.code + ".MODULE." + element.code).toUpperCase(), true)];
|
|
55848
|
+
case 3:
|
|
55849
|
+
isAuthorized = _c.sent();
|
|
55850
|
+
if (isAuthorized) {
|
|
55851
|
+
arr.push(element);
|
|
55852
|
+
}
|
|
55853
|
+
_c.label = 4;
|
|
55854
|
+
case 4:
|
|
55855
|
+
_i++;
|
|
55856
|
+
return [3 /*break*/, 1];
|
|
55857
|
+
case 5:
|
|
55858
|
+
resolve(arr);
|
|
55859
|
+
return [2 /*return*/];
|
|
55860
|
+
}
|
|
55861
|
+
});
|
|
55862
|
+
}); });
|
|
55863
|
+
prmsAppSwicherItem.then(function (rs) {
|
|
55864
|
+
_this.appSwitcherItems.length = 0;
|
|
55865
|
+
if (rs) {
|
|
55866
|
+
rs.forEach(function (element) {
|
|
55867
|
+
if (element.visible) {
|
|
55868
|
+
if (!_this.currentUser) { // allow anonymous
|
|
55869
|
+
_this.appSwitcherItems.push(element);
|
|
55870
|
+
}
|
|
55871
|
+
else {
|
|
55872
|
+
if (_this.currentUser.maNguoiHoc && _this.currentUser.issuperuser.toLowerCase() != 'true') {
|
|
55873
|
+
if (element.code.toLowerCase() == 'sv' || element.code.toLowerCase() == 'user') {
|
|
55874
|
+
_this.appSwitcherItems.push(element);
|
|
55875
|
+
}
|
|
55876
|
+
}
|
|
55877
|
+
else {
|
|
55878
|
+
_this.appSwitcherItems.push(element);
|
|
55879
|
+
}
|
|
55880
|
+
}
|
|
55881
|
+
}
|
|
55882
|
+
});
|
|
55883
|
+
if (_this.appSwitcherItems.length === 1) {
|
|
55884
|
+
setTimeout(function (x) { return _this.switchApp(_this.appSwitcherItems[0]); }, 100);
|
|
55885
|
+
}
|
|
55886
|
+
}
|
|
55887
|
+
});
|
|
55888
|
+
};
|
|
55889
|
+
SplashComponentV3Component.prototype.switchApp = function (item) {
|
|
55890
|
+
this.loaded = false;
|
|
55891
|
+
if (item.target == '_blank') {
|
|
55892
|
+
if (!item.defaultRedirect) {
|
|
55893
|
+
item.defaultRedirect = '';
|
|
55894
|
+
}
|
|
55895
|
+
// NamNH tip trick cho mot so may bi loi item.url = 'main' -> redirect sai khi click vao cac phan he
|
|
55896
|
+
if (item.url == item.defaultRedirect) {
|
|
55897
|
+
item.url = '/' + item.code.toLowerCase();
|
|
55898
|
+
}
|
|
55899
|
+
var link = item.url + "/" + item.defaultRedirect;
|
|
55900
|
+
if (!link.startsWith('/') && !link.startsWith('http')) {
|
|
55901
|
+
link = '/' + link;
|
|
55902
|
+
}
|
|
55903
|
+
top.location.href = link;
|
|
55904
|
+
}
|
|
55905
|
+
else {
|
|
55906
|
+
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
55907
|
+
this._router.navigateByUrl(item.defaultRedirect);
|
|
55908
|
+
this.rootContext.data.currentAppMetadata = this.environment.appMetadata.appSwitcher.find(function (x) { return x.code == item.code; });
|
|
55909
|
+
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined && this.rootContext.data.currentAppMetadata.showDefaultSetting != null) {
|
|
55910
|
+
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting && this.showDefaultSetting;
|
|
55911
|
+
}
|
|
55912
|
+
}
|
|
55913
|
+
}
|
|
55914
|
+
};
|
|
55915
|
+
SplashComponentV3Component.prototype.logout = function () {
|
|
55916
|
+
this._authenService.logout();
|
|
55917
|
+
};
|
|
55918
|
+
SplashComponentV3Component.prototype.goToPersonal = function () {
|
|
55919
|
+
var userMenu = this.environment.appMetadata.appSwitcher.find(function (x) { return x.code == 'USER'; });
|
|
55920
|
+
this.switchApp(userMenu);
|
|
55921
|
+
};
|
|
55922
|
+
SplashComponentV3Component.prototype.getCurrentUserAvatar = function () {
|
|
55923
|
+
if (this.rootContext.data.currentUser && this.rootContext.data.currentUser.avatar) {
|
|
55924
|
+
return this.fileApi + "/public/" + this.rootContext.data.currentUser.avatar + "/Download";
|
|
55925
|
+
}
|
|
55926
|
+
else {
|
|
55927
|
+
return this.defaultAvatar;
|
|
55928
|
+
}
|
|
55929
|
+
};
|
|
55930
|
+
SplashComponentV3Component.prototype.getNgayTrongTuan = function () {
|
|
55931
|
+
return this.daysInWeek[this.currentDate.getDay()];
|
|
55932
|
+
};
|
|
55933
|
+
SplashComponentV3Component.prototype.showProfilePage = function () {
|
|
55934
|
+
if (this._userService.isSinhVienAccount()) {
|
|
55935
|
+
return false;
|
|
55936
|
+
}
|
|
55937
|
+
return true;
|
|
55938
|
+
};
|
|
55939
|
+
SplashComponentV3Component.prototype.ngOnDestroy = function () {
|
|
55940
|
+
_super.prototype.ngOnDestroy.call(this);
|
|
55941
|
+
this._globalService.setHeaderState(true);
|
|
55942
|
+
this._globalService.setMenuState(true);
|
|
55943
|
+
};
|
|
55944
|
+
SplashComponentV3Component.prototype.login = function () {
|
|
55945
|
+
this.rootContext.fireEvent('LOGIN');
|
|
55946
|
+
};
|
|
55947
|
+
return SplashComponentV3Component;
|
|
55948
|
+
}(ComponentBase));
|
|
55949
|
+
SplashComponentV3Component.decorators = [
|
|
55950
|
+
{ type: i0.Component, args: [{
|
|
55951
|
+
selector: 'splash-component-v3',
|
|
55952
|
+
template: "<div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n</div>\n<div *ngIf=\"loaded\" class=\"modules-v1\">\n <div class=\"welcome-user\">\n <div class=\"profile-image\">\n <img class=\"custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n </div>\n\n <div class=\"wrp-login\">\n <h2>Xin ch\u00E0o!</h2>\n <b>{{currentUser.fullName}}</b>\n <div *ngIf=\"currentUser\" class=\"login\">\n <a (click)=\"goToPersonal()\"><i class=\"far fa-folder-open\"></i>Trang c\u00E1 nh\u00E2n</a>\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\n xu\u1EA5t</a>\n </div>\n <div *ngIf=\"!currentUser\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"login()\"><i\n class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng nh\u1EADp</a></div>\n </div>\n\n <div class=\"clock-wrapper\">\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\n </div>\n </div>\n\n <div class=\"module-icons\">\n <div class=\"img-title\">\n <img class=\"tn-custom-logo\" [src]=\"environment.appMetadata.main.logo\"\n [alt]=\"environment.appMetadata.main.owner\">\n <div class=\"title\">\n <h2>{{environment.appMetadata.main.title}}</h2>\n <h1>{{environment.appMetadata.main.owner}}</h1>\n </div>\n </div>\n\n <div class=\"div1111-wrapper\">\n <tn-custom-scrollbar *ngIf=\"!isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </tn-custom-scrollbar>\n\n <ng-container *ngIf=\"isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #appSwitcher>\n <div class=\"div1111\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <span>\n <a class=\"bg-switcher\" (click)=\"switchApp(item)\">\n <i class=\"{{item.icon}} app-switcher-item-icon\"></i>\n <span>{{ item.title | translate}}</span>\n </a>\n </span>\n </ng-container>\n </div>\n</ng-template>",
|
|
55953
|
+
providers: [ComponentContextService],
|
|
55954
|
+
styles: ["body{background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.wrp-loader{position:absolute;display:inline-block;top:50%;left:50%;transform:translate(-50%,-50%);z-index:101}.wrp-loader .loader{border-radius:50%;border:2px solid #bcdbf5;border-top-color:#3192e1;width:10px;height:10px;color:#607d8b;font-size:10px;animation:load4 1.3s linear infinite;display:block}.modules-v1{position:fixed;top:0;left:0;z-index:100;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background-image:url(/assets/images/background-splash.png);background-repeat:no-repeat;background-position:50%;background-size:cover}.modules-v1 div>span{display:inline-block;min-width:100px;height:120px;width:120px;margin:10px;box-shadow:1px 2px 9px 1px #dadada;border-radius:5px;white-space:normal}.modules-v1 div>span>a{height:100%;display:inline-block;position:relative;font-weight:700;cursor:pointer;border-radius:5px;display:flex;flex-direction:column;justify-content:space-evenly}.modules-v1 div>span>a,.modules-v1 div>span>a>span{width:100%;color:#fff;text-decoration:unset;text-align:center}.modules-v1 div>span>a>span{display:inline-block;line-height:1.2}.modules-v1 div>span>a>i{font-size:3.5em;width:100%}.modules-v1 .div1111-wrapper{overflow:auto;height:420px;margin:0 auto;max-width:700px}.modules-v1 .div1111-wrapper .div1111{white-space:nowrap;width:100%;display:flex;flex-wrap:wrap}.modules-v1 .div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s;padding:0 5px}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover{background:#fabc01;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.modules-v1 .module-icons{text-align:center;color:#666;width:65%;align-self:stretch;background-color:rgba(249,244,244,.9215686274509803);display:flex;flex-direction:column;justify-content:center}.modules-v1 .module-icons .img-title{padding:20px}.modules-v1 .module-icons .img-title .tn-custom-logo{max-height:125px}.modules-v1 .module-icons .img-title .title{margin:24px 0}.modules-v1 .module-icons h2{font-size:25px;color:#271756;margin-bottom:15px;margin-top:15px}.modules-v1 .module-icons h1{color:#2f70ac;font-size:35px;margin-top:0;margin-bottom:0}.modules-v1 .welcome-user{text-align:center;width:35%;align-self:stretch;background-color:rgba(47,112,172,.9215686274509803);display:flex;flex-direction:column}.modules-v1 .welcome-user .wrp-login{margin:20px auto auto;color:#fff;display:flex;flex-direction:column;align-items:center}.modules-v1 .welcome-user .wrp-login h2{font-size:20px;margin-top:0;margin-bottom:5px;font-weight:500}.modules-v1 .welcome-user .wrp-login b{font-size:25px;text-transform:uppercase;display:block}.modules-v1 .welcome-user .wrp-login .login{display:grid;grid-template-columns:repeat(2,150px);grid-gap:10px;margin-top:30px}.modules-v1 .welcome-user .wrp-login .login a{background:#fff;padding:6px;border-radius:5px;cursor:pointer;display:inline-block;color:#5d5d5d}.modules-v1 .welcome-user .wrp-login .login a i{margin-right:10px}.modules-v1 .welcome-user .profile-image{margin:auto auto 0}.modules-v1 .welcome-user .profile-image img{border-radius:50%;height:200px;width:200px;-o-object-fit:contain;object-fit:contain;box-shadow:1px 1px 11px 6px #2a659b;background:#fff}.modules-v1 .welcome-user .clock-wrapper{color:#fff;text-align:center;margin-top:auto;margin-bottom:auto}.modules-v1 .welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.modules-v1 .welcome-user .clock-wrapper h1{margin-bottom:0;font-size:40px}.modules-v1 .underconstruction{text-transform:uppercase;color:red;font-weight:700;font-size:4em}@media (max-width:1368px){.modules-v1 .clock{margin:0 20px;font-size:1.5em}.modules-v1 .data-time{margin:10px 0 20px;font-size:1em}}@media (max-width:1100px){.modules-v1 .div1111-wrapper .div1111{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (max-width:991px){.modules-v1 .welcome-user .wrp-login .login{grid-template-columns:1fr}}@media (max-width:768px){.modules-v1{flex-direction:column}.modules-v1 .welcome-user{width:100%;height:270px;flex-direction:row;align-items:center;padding-bottom:87px}.modules-v1 .welcome-user .profile-image{margin-bottom:auto}.modules-v1 .welcome-user .profile-image img{height:150px;width:150px}.modules-v1 .welcome-user .wrp-login{margin-top:auto}.modules-v1 .welcome-user .wrp-login .login{margin-top:20px}.modules-v1 .welcome-user .clock-wrapper{padding-right:15px}.modules-v1 .module-icons{width:100%;height:calc(100% - 270px)}.modules-v1 .module-icons .img-title{background-image:url(/assets/images/logo.png);background-repeat:no-repeat;background-position:50%;z-index:9}.modules-v1 .module-icons .img-title img{display:none}.modules-v1 .module-icons .img-title .title{background:hsla(0,0%,100%,.9019607843137255);box-shadow:1px 4px 9px 2px #67a0d4;padding:20px 10px;position:absolute;width:calc(100% - 40px);left:20px;right:20px;top:200px}.modules-v1 .module-icons .img-title .title h2{font-size:30px}.modules-v1 .module-icons .img-title .title h1{font-size:34px}}@media (max-width:640px){.modules-v1 .welcome-user{display:block;padding-top:20px}.modules-v1 .welcome-user .wrp-login{width:50%;padding:0 20px 0 0;float:right}.modules-v1 .welcome-user .wrp-login h2{margin-bottom:3px;font-size:14px}.modules-v1 .welcome-user .wrp-login b{font-size:14px}.modules-v1 .welcome-user .wrp-login .login{margin-top:10px;display:flex;flex-direction:column;padding:0 15px;text-align:left}.modules-v1 .welcome-user .wrp-login .login a{font-size:14px}.modules-v1 .welcome-user .profile-image{width:50%;float:left}.modules-v1 .welcome-user .profile-image img{height:130px;width:130px;margin-left:35px;display:block}.modules-v1 .welcome-user .clock-wrapper{clear:both;padding-top:10px;padding-right:0}.modules-v1 .welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.modules-v1 .welcome-user .clock-wrapper h1{font-size:1.3em}.modules-v1 .module-icons .img-title{background-size:80px 80px}.modules-v1 .module-icons .img-title .title{top:230px}.modules-v1 .module-icons .img-title .title h1{font-size:16px}.modules-v1 .module-icons .img-title .title h2{font-size:16px;margin-top:0}.modules-v1 .module-icons .div1111-wrapper{margin-top:0;height:360px}.modules-v1 .module-icons .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.modules-v1 .module-icons div>span{width:100px;height:100px}.modules-v1 .module-icons div>span>a>i{font-size:2.5em;top:10px}}@media (max-width:425px){.modules-v1 .module-icons .img-title .title{top:225px}.modules-v1 .module-icons .div1111-wrapper .div1111{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width:375px){.modules-v1 .module-icons{height:calc(100% - 250px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{padding:10px;top:220px}.modules-v1 .module-icons .img-title .title h2{margin-bottom:10px}.modules-v1 .module-icons .img-title .title h1,.modules-v1 .module-icons .img-title .title h2{font-size:14px}.modules-v1 .welcome-user{height:250px}}@media (max-width:360px){.modules-v1 .module-icons{height:calc(100% - 240px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{top:205px;width:calc(100% - 20px);left:10px;right:10px}.modules-v1 .welcome-user{height:240px}.modules-v1 .welcome-user .clock-wrapper{padding-top:0}}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}"]
|
|
55955
|
+
},] }
|
|
55956
|
+
];
|
|
55957
|
+
SplashComponentV3Component.ctorParameters = function () { return [
|
|
55958
|
+
{ type: i0.Injector },
|
|
55959
|
+
{ type: ModuleConfigService },
|
|
55960
|
+
{ type: PermissionService },
|
|
55961
|
+
{ type: ngxDeviceDetector.DeviceDetectorService },
|
|
55962
|
+
{ type: UserService },
|
|
55963
|
+
{ type: i3.Router },
|
|
55964
|
+
{ type: AuthenService },
|
|
55965
|
+
{ type: GlobalService }
|
|
55966
|
+
]; };
|
|
55967
|
+
|
|
55298
55968
|
var DmChucVuService = /** @class */ (function (_super) {
|
|
55299
55969
|
__extends(DmChucVuService, _super);
|
|
55300
55970
|
function DmChucVuService(http, injector, _moduleConfigService) {
|
|
@@ -62889,6 +63559,7 @@
|
|
|
62889
63559
|
AppTopBarComponent,
|
|
62890
63560
|
AppTopBarV1Component,
|
|
62891
63561
|
AppTopBarV2Component,
|
|
63562
|
+
AppTopBarV3Component,
|
|
62892
63563
|
AppProfileComponent,
|
|
62893
63564
|
AppMenuComponent,
|
|
62894
63565
|
AppSubMenuComponent,
|
|
@@ -62954,6 +63625,7 @@
|
|
|
62954
63625
|
SplashComponentComponent,
|
|
62955
63626
|
SplashComponentV1Component,
|
|
62956
63627
|
SplashComponentV2Component,
|
|
63628
|
+
SplashComponentV3Component,
|
|
62957
63629
|
StateComponent,
|
|
62958
63630
|
StateMetadataComponent,
|
|
62959
63631
|
StateMachinesConnectionMetadataComponent,
|
|
@@ -63689,124 +64361,126 @@
|
|
|
63689
64361
|
exports["ɵbj"] = AppTopBarComponent;
|
|
63690
64362
|
exports["ɵbk"] = AppTopBarV1Component;
|
|
63691
64363
|
exports["ɵbl"] = AppTopBarV2Component;
|
|
63692
|
-
exports["ɵbm"] =
|
|
63693
|
-
exports["ɵbn"] =
|
|
63694
|
-
exports["ɵbo"] =
|
|
63695
|
-
exports["ɵbp"] =
|
|
63696
|
-
exports["ɵbq"] =
|
|
63697
|
-
exports["ɵbr"] =
|
|
63698
|
-
exports["ɵbs"] =
|
|
63699
|
-
exports["ɵbt"] =
|
|
63700
|
-
exports["ɵbu"] =
|
|
63701
|
-
exports["ɵbv"] =
|
|
63702
|
-
exports["ɵbw"] =
|
|
63703
|
-
exports["ɵbx"] =
|
|
63704
|
-
exports["ɵby"] =
|
|
63705
|
-
exports["ɵbz"] =
|
|
64364
|
+
exports["ɵbm"] = AppTopBarV3Component;
|
|
64365
|
+
exports["ɵbn"] = AppProfileComponent;
|
|
64366
|
+
exports["ɵbo"] = AppSubMenuComponent;
|
|
64367
|
+
exports["ɵbp"] = AppMenuComponent;
|
|
64368
|
+
exports["ɵbq"] = AutoCompletePickerComponent;
|
|
64369
|
+
exports["ɵbr"] = ImageUploaderComponent;
|
|
64370
|
+
exports["ɵbs"] = CheckBoxListComponent;
|
|
64371
|
+
exports["ɵbt"] = CoCauToChucPickerListComponent;
|
|
64372
|
+
exports["ɵbu"] = CoCauToChucPickerListNewComponent;
|
|
64373
|
+
exports["ɵbv"] = CoCauToChucNewService;
|
|
64374
|
+
exports["ɵbw"] = FormBuilderComponent;
|
|
64375
|
+
exports["ɵbx"] = BaseCongViecTestComponent;
|
|
64376
|
+
exports["ɵby"] = BaseCauHinhWorkflowDetailComponent;
|
|
64377
|
+
exports["ɵbz"] = BaseDmLoaiCongViecFormComponent;
|
|
63706
64378
|
exports["ɵc"] = EntityPickerService;
|
|
63707
|
-
exports["ɵca"] =
|
|
63708
|
-
exports["ɵcb"] =
|
|
63709
|
-
exports["ɵcc"] =
|
|
63710
|
-
exports["ɵcd"] =
|
|
63711
|
-
exports["ɵce"] =
|
|
63712
|
-
exports["ɵcf"] =
|
|
63713
|
-
exports["ɵcg"] =
|
|
63714
|
-
exports["ɵch"] =
|
|
63715
|
-
exports["ɵci"] =
|
|
63716
|
-
exports["ɵcj"] =
|
|
63717
|
-
exports["ɵck"] =
|
|
63718
|
-
exports["ɵcl"] =
|
|
63719
|
-
exports["ɵcm"] =
|
|
63720
|
-
exports["ɵcn"] =
|
|
63721
|
-
exports["ɵco"] =
|
|
63722
|
-
exports["ɵcp"] =
|
|
63723
|
-
exports["ɵcq"] =
|
|
63724
|
-
exports["ɵcr"] =
|
|
63725
|
-
exports["ɵcs"] =
|
|
63726
|
-
exports["ɵct"] =
|
|
63727
|
-
exports["ɵcu"] =
|
|
63728
|
-
exports["ɵcv"] =
|
|
63729
|
-
exports["ɵcw"] =
|
|
63730
|
-
exports["ɵcx"] =
|
|
63731
|
-
exports["ɵcy"] =
|
|
63732
|
-
exports["ɵcz"] =
|
|
64379
|
+
exports["ɵca"] = BaseDmLinhVucCongViecFormComponent;
|
|
64380
|
+
exports["ɵcb"] = BaseDmPriorityFormComponent;
|
|
64381
|
+
exports["ɵcc"] = BaseCongviecDinhkemComponent;
|
|
64382
|
+
exports["ɵcd"] = BaseCongviecDinhkemFormComponent;
|
|
64383
|
+
exports["ɵce"] = DatetimePickerComponent;
|
|
64384
|
+
exports["ɵcf"] = DatetimePickerRangeComponent;
|
|
64385
|
+
exports["ɵcg"] = DynamicNodeComponent;
|
|
64386
|
+
exports["ɵch"] = CommonSearchFormComponent;
|
|
64387
|
+
exports["ɵci"] = EntityPickerBoxComponent;
|
|
64388
|
+
exports["ɵcj"] = EntityPickerDataComponent;
|
|
64389
|
+
exports["ɵck"] = EntityPickerSelectedComponent;
|
|
64390
|
+
exports["ɵcl"] = EntityPickerComponent;
|
|
64391
|
+
exports["ɵcm"] = EntityPickerDialogComponent;
|
|
64392
|
+
exports["ɵcn"] = EntityPickerTreeDataComponent;
|
|
64393
|
+
exports["ɵco"] = EntityPickerTreeSelectedComponent;
|
|
64394
|
+
exports["ɵcp"] = EntityPermissionComponent;
|
|
64395
|
+
exports["ɵcq"] = EquationEditorComponent;
|
|
64396
|
+
exports["ɵcr"] = MaskComponent;
|
|
64397
|
+
exports["ɵcs"] = NumberPickerRangeComponent;
|
|
64398
|
+
exports["ɵct"] = PagingNextBackOnlyComponent;
|
|
64399
|
+
exports["ɵcu"] = RadioButtonListComponent;
|
|
64400
|
+
exports["ɵcv"] = VanBanPickerComponent;
|
|
64401
|
+
exports["ɵcw"] = VanBanDenService;
|
|
64402
|
+
exports["ɵcx"] = VanBanDiService;
|
|
64403
|
+
exports["ɵcy"] = VanBanPickerDialogComponent;
|
|
64404
|
+
exports["ɵcz"] = VanbanDiPickerComponent;
|
|
63733
64405
|
exports["ɵd"] = ExceptionHandlerService;
|
|
63734
|
-
exports["ɵda"] =
|
|
63735
|
-
exports["ɵdb"] =
|
|
63736
|
-
exports["ɵdc"] =
|
|
63737
|
-
exports["ɵdd"] =
|
|
63738
|
-
exports["ɵde"] =
|
|
63739
|
-
exports["ɵdf"] =
|
|
63740
|
-
exports["ɵdg"] =
|
|
63741
|
-
exports["ɵdh"] =
|
|
63742
|
-
exports["ɵdi"] =
|
|
63743
|
-
exports["ɵdj"] =
|
|
63744
|
-
exports["ɵdk"] =
|
|
63745
|
-
exports["ɵdl"] =
|
|
63746
|
-
exports["ɵdm"] =
|
|
63747
|
-
exports["ɵdn"] =
|
|
63748
|
-
exports["ɵdo"] =
|
|
63749
|
-
exports["ɵdp"] =
|
|
63750
|
-
exports["ɵdq"] =
|
|
63751
|
-
exports["ɵdr"] =
|
|
63752
|
-
exports["ɵds"] =
|
|
63753
|
-
exports["ɵdt"] =
|
|
63754
|
-
exports["ɵdu"] =
|
|
63755
|
-
exports["ɵdv"] =
|
|
63756
|
-
exports["ɵdw"] =
|
|
63757
|
-
exports["ɵdx"] =
|
|
63758
|
-
exports["ɵdy"] =
|
|
63759
|
-
exports["ɵdz"] =
|
|
64406
|
+
exports["ɵda"] = VanbanDenPickerComponent;
|
|
64407
|
+
exports["ɵdb"] = CongViecPickerComponent;
|
|
64408
|
+
exports["ɵdc"] = SettingsComponent;
|
|
64409
|
+
exports["ɵdd"] = SettingsRowComponent;
|
|
64410
|
+
exports["ɵde"] = SettingsWorkflowComponent;
|
|
64411
|
+
exports["ɵdf"] = SettingsWorkflowNo1Component;
|
|
64412
|
+
exports["ɵdg"] = SimpleWorkflowFormComponent;
|
|
64413
|
+
exports["ɵdh"] = ProcessWorkflowTargetComponent;
|
|
64414
|
+
exports["ɵdi"] = DmChucVuService;
|
|
64415
|
+
exports["ɵdj"] = ChoYKienFormComponent;
|
|
64416
|
+
exports["ɵdk"] = SplashComponentV1Component;
|
|
64417
|
+
exports["ɵdl"] = SplashComponentV2Component;
|
|
64418
|
+
exports["ɵdm"] = SplashComponentV3Component;
|
|
64419
|
+
exports["ɵdn"] = StateMachinesConnectionReceiverComponent;
|
|
64420
|
+
exports["ɵdo"] = StateMachinesConnectionReceiverConditionComponent;
|
|
64421
|
+
exports["ɵdp"] = StateMachinesConnectionReceiverDepartmentComponent;
|
|
64422
|
+
exports["ɵdq"] = StateMachinesConnectionReceiverGroupComponent;
|
|
64423
|
+
exports["ɵdr"] = StateMachinesConnectionReceiverUserComponent;
|
|
64424
|
+
exports["ɵds"] = StateMachinesConnectionReceiverRoleComponent;
|
|
64425
|
+
exports["ɵdt"] = StateMachinesConnectionSenderComponent;
|
|
64426
|
+
exports["ɵdu"] = StartWorkflowComponent;
|
|
64427
|
+
exports["ɵdv"] = ShareLinkByPermissionComponent;
|
|
64428
|
+
exports["ɵdw"] = WorkflowSettingNewComponent;
|
|
64429
|
+
exports["ɵdx"] = PermissionSharingComponent;
|
|
64430
|
+
exports["ɵdy"] = WorkflowPermissionService;
|
|
64431
|
+
exports["ɵdz"] = TnCheckboxComponent;
|
|
63760
64432
|
exports["ɵe"] = CanBo_HoSoService;
|
|
63761
|
-
exports["ɵea"] =
|
|
63762
|
-
exports["ɵeb"] =
|
|
63763
|
-
exports["ɵec"] =
|
|
63764
|
-
exports["ɵed"] =
|
|
63765
|
-
exports["ɵee"] =
|
|
63766
|
-
exports["ɵef"] =
|
|
63767
|
-
exports["ɵeg"] =
|
|
63768
|
-
exports["ɵeh"] =
|
|
63769
|
-
exports["ɵei"] =
|
|
63770
|
-
exports["ɵej"] =
|
|
63771
|
-
exports["ɵek"] =
|
|
63772
|
-
exports["ɵel"] =
|
|
63773
|
-
exports["ɵem"] =
|
|
63774
|
-
exports["ɵen"] =
|
|
63775
|
-
exports["ɵeo"] =
|
|
63776
|
-
exports["ɵep"] =
|
|
63777
|
-
exports["ɵeq"] =
|
|
63778
|
-
exports["ɵer"] =
|
|
63779
|
-
exports["ɵes"] =
|
|
63780
|
-
exports["ɵet"] =
|
|
63781
|
-
exports["ɵeu"] =
|
|
63782
|
-
exports["ɵev"] =
|
|
63783
|
-
exports["ɵew"] =
|
|
63784
|
-
exports["ɵex"] =
|
|
63785
|
-
exports["ɵey"] =
|
|
63786
|
-
exports["ɵez"] =
|
|
64433
|
+
exports["ɵea"] = TnDialogComponent;
|
|
64434
|
+
exports["ɵeb"] = TnColorPickerComponent;
|
|
64435
|
+
exports["ɵec"] = TnTinymceComponent;
|
|
64436
|
+
exports["ɵed"] = TnTabViewComponent;
|
|
64437
|
+
exports["ɵee"] = TableDetailFormComponent;
|
|
64438
|
+
exports["ɵef"] = FileIconPipe;
|
|
64439
|
+
exports["ɵeg"] = FileSizePipe;
|
|
64440
|
+
exports["ɵeh"] = QuickAddFormComponent;
|
|
64441
|
+
exports["ɵei"] = PreventShiftTabDirective;
|
|
64442
|
+
exports["ɵej"] = TnTemplateDirective;
|
|
64443
|
+
exports["ɵek"] = UserPickerComponent;
|
|
64444
|
+
exports["ɵel"] = UserPickerBoxComponent;
|
|
64445
|
+
exports["ɵem"] = CoCauToChucTestService;
|
|
64446
|
+
exports["ɵen"] = TnAppHelpComponent;
|
|
64447
|
+
exports["ɵeo"] = PathNameService;
|
|
64448
|
+
exports["ɵep"] = HelperCurrentPageComponent;
|
|
64449
|
+
exports["ɵeq"] = TnAppNotificationListComponent;
|
|
64450
|
+
exports["ɵer"] = TnAppNotificationComponent;
|
|
64451
|
+
exports["ɵes"] = FolderFormComponent;
|
|
64452
|
+
exports["ɵet"] = FileFormComponent;
|
|
64453
|
+
exports["ɵeu"] = FileViewerComponent;
|
|
64454
|
+
exports["ɵev"] = FileVersionListComponent;
|
|
64455
|
+
exports["ɵew"] = ViewDetailComponent;
|
|
64456
|
+
exports["ɵex"] = WorkflowHistoryComponent;
|
|
64457
|
+
exports["ɵey"] = WorkflowHistoryDialogComponent;
|
|
64458
|
+
exports["ɵez"] = WorkflowHistoryNewComponent;
|
|
63787
64459
|
exports["ɵf"] = ListBase;
|
|
63788
|
-
exports["ɵfa"] =
|
|
63789
|
-
exports["ɵfb"] =
|
|
63790
|
-
exports["ɵfc"] =
|
|
63791
|
-
exports["ɵfd"] =
|
|
63792
|
-
exports["ɵfe"] =
|
|
63793
|
-
exports["ɵff"] =
|
|
63794
|
-
exports["ɵfg"] =
|
|
63795
|
-
exports["ɵfh"] =
|
|
63796
|
-
exports["ɵfi"] =
|
|
63797
|
-
exports["ɵfj"] =
|
|
63798
|
-
exports["ɵfk"] =
|
|
63799
|
-
exports["ɵfl"] =
|
|
63800
|
-
exports["ɵfm"] =
|
|
63801
|
-
exports["ɵfn"] =
|
|
63802
|
-
exports["ɵfo"] =
|
|
63803
|
-
exports["ɵfp"] =
|
|
63804
|
-
exports["ɵfq"] =
|
|
63805
|
-
exports["ɵfr"] =
|
|
63806
|
-
exports["ɵfs"] =
|
|
63807
|
-
exports["ɵft"] =
|
|
63808
|
-
exports["ɵfu"] =
|
|
63809
|
-
exports["ɵfv"] =
|
|
64460
|
+
exports["ɵfa"] = WorkflowSettingComponent;
|
|
64461
|
+
exports["ɵfb"] = WorkflowSettingDialogComponent;
|
|
64462
|
+
exports["ɵfc"] = WorkflowPermissionComponent;
|
|
64463
|
+
exports["ɵfd"] = WorkflowPermissionFormComponent;
|
|
64464
|
+
exports["ɵfe"] = ReferenceTextBoxComponent;
|
|
64465
|
+
exports["ɵff"] = QrCodeGeneratorComponent;
|
|
64466
|
+
exports["ɵfg"] = AccessDeniedV1Component;
|
|
64467
|
+
exports["ɵfh"] = AddNewsComponent;
|
|
64468
|
+
exports["ɵfi"] = ArticleService;
|
|
64469
|
+
exports["ɵfj"] = NewsCategoryService;
|
|
64470
|
+
exports["ɵfk"] = SignatureDetailComponent;
|
|
64471
|
+
exports["ɵfl"] = KySoSimDanhSachChuKyComponent;
|
|
64472
|
+
exports["ɵfm"] = KySoSimChuKyUserService;
|
|
64473
|
+
exports["ɵfn"] = FileKySoSimComponent;
|
|
64474
|
+
exports["ɵfo"] = KySoSimSignPDFService;
|
|
64475
|
+
exports["ɵfp"] = TaiLieuCuaToiComponent;
|
|
64476
|
+
exports["ɵfq"] = KhaiThacTaiLieuDungChungComponent;
|
|
64477
|
+
exports["ɵfr"] = DanhMucDungChungService;
|
|
64478
|
+
exports["ɵfs"] = TnTemplateComponent;
|
|
64479
|
+
exports["ɵft"] = LoadingPageV1Component;
|
|
64480
|
+
exports["ɵfu"] = DropdownSettingFormComponent;
|
|
64481
|
+
exports["ɵfv"] = CheckReadyComponent;
|
|
64482
|
+
exports["ɵfw"] = WorkflowButtonComponent;
|
|
64483
|
+
exports["ɵfx"] = TnAccordionTabComponent;
|
|
63810
64484
|
exports["ɵg"] = ListComponentBase;
|
|
63811
64485
|
exports["ɵh"] = TreeTableComponent;
|
|
63812
64486
|
exports["ɵi"] = UniversalLinkProcessorComponent;
|