tnx-shared 5.3.152 → 5.3.154
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 +70 -883
- 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/esm2015/components/access-denied-component/access-denied.component.js +2 -2
- package/esm2015/components/common-dashboard/common-dashboard.component.js +2 -2
- package/esm2015/components/splash-component/splash-component.component.js +2 -2
- package/esm2015/tnx-shared.js +63 -67
- package/esm2015/tnx-shared.module.js +15 -11
- package/fesm2015/tnx-shared.js +9 -742
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/tnx-shared.d.ts +62 -66
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +2 -6
- package/tnx-shared.module.d.ts.map +1 -1
- package/tnx-shared.module.ngfactory.d.ts.map +1 -1
- package/components/splash-component/splash-component-v1/splash-component-v1.component.d.ts +0 -41
- package/components/splash-component/splash-component-v1/splash-component-v1.component.d.ts.map +0 -1
- package/components/splash-component/splash-component-v1/splash-component-v1.component.ngfactory.d.ts.map +0 -1
- package/components/splash-component/splash-component-v1/splash-component-v1.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/components/splash-component/splash-component-v2/splash-component-v2.component.d.ts +0 -41
- package/components/splash-component/splash-component-v2/splash-component-v2.component.d.ts.map +0 -1
- package/components/splash-component/splash-component-v2/splash-component-v2.component.ngfactory.d.ts.map +0 -1
- package/components/splash-component/splash-component-v2/splash-component-v2.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/components/splash-component/splash-component-v3/splash-component-v3.component.d.ts +0 -41
- package/components/splash-component/splash-component-v3/splash-component-v3.component.d.ts.map +0 -1
- package/components/splash-component/splash-component-v3/splash-component-v3.component.ngfactory.d.ts.map +0 -1
- package/components/splash-component/splash-component-v3/splash-component-v3.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/components/splash-component/splash-component-v4/splash-component-v4.component.d.ts +0 -41
- package/components/splash-component/splash-component-v4/splash-component-v4.component.d.ts.map +0 -1
- package/components/splash-component/splash-component-v4/splash-component-v4.component.ngfactory.d.ts.map +0 -1
- package/components/splash-component/splash-component-v4/splash-component-v4.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/esm2015/components/splash-component/splash-component-v1/splash-component-v1.component.js +0 -197
- package/esm2015/components/splash-component/splash-component-v2/splash-component-v2.component.js +0 -190
- package/esm2015/components/splash-component/splash-component-v3/splash-component-v3.component.js +0 -197
- package/esm2015/components/splash-component/splash-component-v4/splash-component-v4.component.js +0 -197
package/fesm2015/tnx-shared.js
CHANGED
|
@@ -23846,7 +23846,7 @@ class SplashComponentComponent {
|
|
|
23846
23846
|
}
|
|
23847
23847
|
SplashComponentComponent.decorators = [
|
|
23848
23848
|
{ type: Component, args: [{
|
|
23849
|
-
selector: 'splash-component',
|
|
23849
|
+
selector: 'common-splash-component',
|
|
23850
23850
|
template: "<ng-template viewContainerRef></ng-template>\n",
|
|
23851
23851
|
providers: [ComponentContextService],
|
|
23852
23852
|
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}}"]
|
|
@@ -24339,7 +24339,7 @@ class AccessDeniedComponent {
|
|
|
24339
24339
|
}
|
|
24340
24340
|
AccessDeniedComponent.decorators = [
|
|
24341
24341
|
{ type: Component, args: [{
|
|
24342
|
-
selector: '
|
|
24342
|
+
selector: 'common-access-denied',
|
|
24343
24343
|
template: "<ng-template viewContainerRef></ng-template>\n",
|
|
24344
24344
|
providers: [ComponentContextService],
|
|
24345
24345
|
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}.welcome-user{text-align:center;margin-bottom:80px}.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:250px;width:250px;-o-object-fit:contain;object-fit:contain}.welcome-user h2{color:#0090a2}.welcome-user h1{color:#666;max-width:75vw;font-size:2rem}"]
|
|
@@ -24371,7 +24371,7 @@ class CommonDashboardComponent {
|
|
|
24371
24371
|
}
|
|
24372
24372
|
CommonDashboardComponent.decorators = [
|
|
24373
24373
|
{ type: Component, args: [{
|
|
24374
|
-
selector: '
|
|
24374
|
+
selector: 'common-common-dashboard',
|
|
24375
24375
|
template: "<ng-template viewContainerRef></ng-template>\n",
|
|
24376
24376
|
providers: [ComponentContextService],
|
|
24377
24377
|
styles: ["::ng-deep .common-dashboard{width:100%;height:66.7ch;display:flex;flex-direction:column;justify-content:center;align-items:center}::ng-deep .common-dashboard .icon>i{font-size:40px;padding:10px;border-radius:5px}::ng-deep .common-dashboard .greeting{display:flex;flex-direction:column;padding:20px 0;border-radius:5px}::ng-deep .common-dashboard .greeting>div{display:flex;justify-content:center;align-items:center;text-align:center}::ng-deep .common-dashboard .greeting .greeting-title{font-size:25px;padding-bottom:10px}::ng-deep .common-dashboard .greeting .long-title{font-size:30px;padding-left:5px;font-weight:700;text-transform:uppercase}::ng-deep .common-dashboard .back{font-size:14px;color:#397ac3;opacity:.85;cursor:pointer}::ng-deep .common-dashboard .back:hover{opacity:1}@media (max-width:640px){.common-dashboard .greeting{padding:15px 0}.common-dashboard .greeting .greeting-title{font-size:16px}.common-dashboard .greeting .long-title{font-size:20px;padding:0}}"]
|
|
@@ -47867,739 +47867,6 @@ ShareLinkByPermissionComponent.propDecorators = {
|
|
|
47867
47867
|
lstItem: [{ type: Input }]
|
|
47868
47868
|
};
|
|
47869
47869
|
|
|
47870
|
-
class SplashComponentV1Component extends ComponentBase {
|
|
47871
|
-
constructor(injector, _moduleConfigService, _permissionService, _deviceDetectorService, _userService, _router, _authenService, _globalService) {
|
|
47872
|
-
super(injector);
|
|
47873
|
-
this._moduleConfigService = _moduleConfigService;
|
|
47874
|
-
this._permissionService = _permissionService;
|
|
47875
|
-
this._deviceDetectorService = _deviceDetectorService;
|
|
47876
|
-
this._userService = _userService;
|
|
47877
|
-
this._router = _router;
|
|
47878
|
-
this._authenService = _authenService;
|
|
47879
|
-
this._globalService = _globalService;
|
|
47880
|
-
this.defaultAvatar = '';
|
|
47881
|
-
this.appSwitcherItems = [];
|
|
47882
|
-
this.loaded = false;
|
|
47883
|
-
this.currentDate = new Date();
|
|
47884
|
-
this.showDefaultSetting = false;
|
|
47885
|
-
this.fileApi = '';
|
|
47886
|
-
this.isOnMobile = false;
|
|
47887
|
-
this.daysInWeek = ['Chủ nhật', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
|
|
47888
|
-
this.rootContext.fireEvent('MAIN_CONTENT_ONLY', true);
|
|
47889
|
-
this.environment = this._moduleConfigService.getConfig().environment;
|
|
47890
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
47891
|
-
this.fileApi = `${this.environment.apiDomain.fileEndpoint}/${this.environment.apiVersion}/FileObject`;
|
|
47892
|
-
setInterval(() => {
|
|
47893
|
-
this.currentDate = new Date();
|
|
47894
|
-
}, 1000);
|
|
47895
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != null && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
|
|
47896
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting;
|
|
47897
|
-
}
|
|
47898
|
-
else {
|
|
47899
|
-
if (this.environment.appMetadata.main.showDefaultSetting != null && this.environment.appMetadata.main.showDefaultSetting != undefined) {
|
|
47900
|
-
this.showDefaultSetting = this.environment.appMetadata.main.showDefaultSetting;
|
|
47901
|
-
}
|
|
47902
|
-
else {
|
|
47903
|
-
this.showDefaultSetting = false;
|
|
47904
|
-
}
|
|
47905
|
-
}
|
|
47906
|
-
// Config for authentication
|
|
47907
|
-
this._globalService.setHeaderState(false);
|
|
47908
|
-
this._globalService.setMenuState(false);
|
|
47909
|
-
this.underconstruction = this.environment.underconstruction;
|
|
47910
|
-
}
|
|
47911
|
-
ngOnInit() {
|
|
47912
|
-
if (this._deviceDetectorService.isMobile()) {
|
|
47913
|
-
this.isOnMobile = true;
|
|
47914
|
-
}
|
|
47915
|
-
if (this.rootContext.data.currentUser) {
|
|
47916
|
-
if (this.rootContext.data.currentUser.gender == 0) {
|
|
47917
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultFemaleAvatar;
|
|
47918
|
-
}
|
|
47919
|
-
else {
|
|
47920
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
47921
|
-
}
|
|
47922
|
-
}
|
|
47923
|
-
this.rootContext.replaySubscribe(ComCtxConstants.ROOT.USER_LOADED, rs => {
|
|
47924
|
-
this.currentUser = this._userService.getCurrentUser();
|
|
47925
|
-
this.loadAppMetadata();
|
|
47926
|
-
this.loaded = true;
|
|
47927
|
-
});
|
|
47928
|
-
if (this.rootModel.allowAnonymous) {
|
|
47929
|
-
this.loaded = true;
|
|
47930
|
-
this.loadAppMetadata();
|
|
47931
|
-
}
|
|
47932
|
-
}
|
|
47933
|
-
loadAppMetadata() {
|
|
47934
|
-
const prmsAppSwicherItem = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
47935
|
-
const arr = [];
|
|
47936
|
-
for (const ind in this.environment.appMetadata.appSwitcher) {
|
|
47937
|
-
const element = this.environment.appMetadata.appSwitcher[ind];
|
|
47938
|
-
// const clientId = this.environment.authenticationSettings.clientId;
|
|
47939
|
-
if (this.rootModel.allowAnonymous && element.allowAnonymous) {
|
|
47940
|
-
arr.push(element);
|
|
47941
|
-
}
|
|
47942
|
-
else if (this.currentUser) {
|
|
47943
|
-
// if (element.code === 'CMS-MSMV') {
|
|
47944
|
-
// if (this._permissionService.isAuthorized(element.code, 'CMS-MSMV/SURVEYSHEETS?PLANID=7B40AED6-C7AB-44E6-ADDC-DC71C548D05C&VIEW=0', false)) {
|
|
47945
|
-
// // const isAuthorized = await this._permissionService.isAuthorized(element.code, `test/lksjeflksejflseifjseifjslkejfkiki/test/kkjlskejflsekfjseklfj`.toUpperCase());
|
|
47946
|
-
// arr.push(element);
|
|
47947
|
-
// }
|
|
47948
|
-
// continue;
|
|
47949
|
-
// }
|
|
47950
|
-
const isAuthorized = yield this._permissionService.isAuthorized(element.code, `${element.code}.MODULE.${element.code}`.toUpperCase(), true);
|
|
47951
|
-
if (isAuthorized) {
|
|
47952
|
-
arr.push(element);
|
|
47953
|
-
}
|
|
47954
|
-
}
|
|
47955
|
-
}
|
|
47956
|
-
resolve(arr);
|
|
47957
|
-
}));
|
|
47958
|
-
prmsAppSwicherItem.then(rs => {
|
|
47959
|
-
this.appSwitcherItems.length = 0;
|
|
47960
|
-
if (rs) {
|
|
47961
|
-
rs.forEach(element => {
|
|
47962
|
-
if (element.visible) {
|
|
47963
|
-
if (!this.currentUser) { // allow anonymous
|
|
47964
|
-
this.appSwitcherItems.push(element);
|
|
47965
|
-
}
|
|
47966
|
-
else {
|
|
47967
|
-
if (this.currentUser.maNguoiHoc && this.currentUser.issuperuser.toLowerCase() != 'true') {
|
|
47968
|
-
if (element.code.toLowerCase() == 'sv' || element.code.toLowerCase() == 'user') {
|
|
47969
|
-
this.appSwitcherItems.push(element);
|
|
47970
|
-
}
|
|
47971
|
-
}
|
|
47972
|
-
else {
|
|
47973
|
-
this.appSwitcherItems.push(element);
|
|
47974
|
-
}
|
|
47975
|
-
}
|
|
47976
|
-
}
|
|
47977
|
-
});
|
|
47978
|
-
if (this.appSwitcherItems.length === 1) {
|
|
47979
|
-
setTimeout(x => this.switchApp(this.appSwitcherItems[0]), 100);
|
|
47980
|
-
}
|
|
47981
|
-
}
|
|
47982
|
-
});
|
|
47983
|
-
}
|
|
47984
|
-
switchApp(item) {
|
|
47985
|
-
this.loaded = false;
|
|
47986
|
-
if (item.target == '_blank') {
|
|
47987
|
-
let url = item.url;
|
|
47988
|
-
if (item.defaultRedirect) {
|
|
47989
|
-
url += `/${item.defaultRedirect}`;
|
|
47990
|
-
}
|
|
47991
|
-
top.location.href = url;
|
|
47992
|
-
}
|
|
47993
|
-
else {
|
|
47994
|
-
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
47995
|
-
this._router.navigateByUrl(item.defaultRedirect);
|
|
47996
|
-
this.rootContext.data.currentAppMetadata = this.environment.appMetadata.appSwitcher.find(x => x.code == item.code);
|
|
47997
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined && this.rootContext.data.currentAppMetadata.showDefaultSetting != null) {
|
|
47998
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting && this.showDefaultSetting;
|
|
47999
|
-
}
|
|
48000
|
-
}
|
|
48001
|
-
}
|
|
48002
|
-
}
|
|
48003
|
-
logout() {
|
|
48004
|
-
this._authenService.logout();
|
|
48005
|
-
}
|
|
48006
|
-
goToPersonal() {
|
|
48007
|
-
const userMenu = this.environment.appMetadata.appSwitcher.find(x => x.code == 'USER');
|
|
48008
|
-
this.switchApp(userMenu);
|
|
48009
|
-
}
|
|
48010
|
-
getCurrentUserAvatar() {
|
|
48011
|
-
if (this.rootContext.data.currentUser && this.rootContext.data.currentUser.avatar) {
|
|
48012
|
-
return `${this.fileApi}/public/${this.rootContext.data.currentUser.avatar}/Download`;
|
|
48013
|
-
}
|
|
48014
|
-
else {
|
|
48015
|
-
return this.defaultAvatar;
|
|
48016
|
-
}
|
|
48017
|
-
}
|
|
48018
|
-
getNgayTrongTuan() {
|
|
48019
|
-
return this.daysInWeek[this.currentDate.getDay()];
|
|
48020
|
-
}
|
|
48021
|
-
showProfilePage() {
|
|
48022
|
-
if (this._userService.isSinhVienAccount()) {
|
|
48023
|
-
return false;
|
|
48024
|
-
}
|
|
48025
|
-
return true;
|
|
48026
|
-
}
|
|
48027
|
-
ngOnDestroy() {
|
|
48028
|
-
super.ngOnDestroy();
|
|
48029
|
-
this._globalService.setHeaderState(true);
|
|
48030
|
-
this._globalService.setMenuState(true);
|
|
48031
|
-
}
|
|
48032
|
-
login() {
|
|
48033
|
-
this.rootContext.fireEvent('LOGIN');
|
|
48034
|
-
}
|
|
48035
|
-
}
|
|
48036
|
-
SplashComponentV1Component.decorators = [
|
|
48037
|
-
{ type: Component, args: [{
|
|
48038
|
-
selector: 'splash-component-v1',
|
|
48039
|
-
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 *ngIf=\"!environment.appMetadata.main.isHiddenSplashLogo\" class=\"tn-custom-logo\"\n [src]=\"environment.appMetadata.main.logo\" [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>",
|
|
48040
|
-
providers: [ComponentContextService],
|
|
48041
|
-
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:space-evenly}.modules-v1 .module-icons .img-title{padding-top:20px}.modules-v1 .module-icons .img-title .tn-custom-logo{max-height:125px}.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}}"]
|
|
48042
|
-
},] }
|
|
48043
|
-
];
|
|
48044
|
-
SplashComponentV1Component.ctorParameters = () => [
|
|
48045
|
-
{ type: Injector },
|
|
48046
|
-
{ type: ModuleConfigService },
|
|
48047
|
-
{ type: PermissionService },
|
|
48048
|
-
{ type: DeviceDetectorService },
|
|
48049
|
-
{ type: UserService },
|
|
48050
|
-
{ type: Router },
|
|
48051
|
-
{ type: AuthenService },
|
|
48052
|
-
{ type: GlobalService }
|
|
48053
|
-
];
|
|
48054
|
-
|
|
48055
|
-
class SplashComponentV2Component extends ComponentBase {
|
|
48056
|
-
constructor(injector, _moduleConfigService, _permissionService, _deviceDetectorService, _userService, _router, _authenService, _globalService) {
|
|
48057
|
-
super(injector);
|
|
48058
|
-
this._moduleConfigService = _moduleConfigService;
|
|
48059
|
-
this._permissionService = _permissionService;
|
|
48060
|
-
this._deviceDetectorService = _deviceDetectorService;
|
|
48061
|
-
this._userService = _userService;
|
|
48062
|
-
this._router = _router;
|
|
48063
|
-
this._authenService = _authenService;
|
|
48064
|
-
this._globalService = _globalService;
|
|
48065
|
-
this.defaultAvatar = '';
|
|
48066
|
-
this.appSwitcherItems = [];
|
|
48067
|
-
this.loaded = false;
|
|
48068
|
-
this.currentDate = new Date();
|
|
48069
|
-
this.showDefaultSetting = false;
|
|
48070
|
-
this.fileApi = '';
|
|
48071
|
-
this.isOnMobile = false;
|
|
48072
|
-
this.daysInWeek = ['Chủ nhật', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
|
|
48073
|
-
this.rootContext.fireEvent('MAIN_CONTENT_ONLY', true);
|
|
48074
|
-
this.environment = this._moduleConfigService.getConfig().environment;
|
|
48075
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
48076
|
-
this.fileApi = this.environment.apiDomain.fileEndpoint;
|
|
48077
|
-
setInterval(() => {
|
|
48078
|
-
this.currentDate = new Date();
|
|
48079
|
-
}, 1000);
|
|
48080
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != null && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
|
|
48081
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting;
|
|
48082
|
-
}
|
|
48083
|
-
else {
|
|
48084
|
-
if (this.environment.appMetadata.main.showDefaultSetting != null && this.environment.appMetadata.main.showDefaultSetting != undefined) {
|
|
48085
|
-
this.showDefaultSetting = this.environment.appMetadata.main.showDefaultSetting;
|
|
48086
|
-
}
|
|
48087
|
-
else {
|
|
48088
|
-
this.showDefaultSetting = false;
|
|
48089
|
-
}
|
|
48090
|
-
}
|
|
48091
|
-
// Config for authentication
|
|
48092
|
-
this._globalService.setHeaderState(false);
|
|
48093
|
-
this._globalService.setMenuState(false);
|
|
48094
|
-
this.underconstruction = this.environment.underconstruction;
|
|
48095
|
-
}
|
|
48096
|
-
ngOnInit() {
|
|
48097
|
-
if (this._deviceDetectorService.isMobile()) {
|
|
48098
|
-
this.isOnMobile = true;
|
|
48099
|
-
}
|
|
48100
|
-
if (this.rootContext.data.currentUser) {
|
|
48101
|
-
if (this.rootContext.data.currentUser.gender == 0) {
|
|
48102
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultFemaleAvatar;
|
|
48103
|
-
}
|
|
48104
|
-
else {
|
|
48105
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
48106
|
-
}
|
|
48107
|
-
}
|
|
48108
|
-
this.rootContext.replaySubscribe(ComCtxConstants.ROOT.USER_LOADED, rs => {
|
|
48109
|
-
this.currentUser = this._userService.getCurrentUser();
|
|
48110
|
-
this.loadAppMetadata();
|
|
48111
|
-
this.loaded = true;
|
|
48112
|
-
});
|
|
48113
|
-
if (this.rootModel.allowAnonymous) {
|
|
48114
|
-
this.loaded = true;
|
|
48115
|
-
this.loadAppMetadata();
|
|
48116
|
-
}
|
|
48117
|
-
}
|
|
48118
|
-
loadAppMetadata() {
|
|
48119
|
-
const prmsAppSwicherItem = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
48120
|
-
const arr = [];
|
|
48121
|
-
for (const ind in this.environment.appMetadata.appSwitcher) {
|
|
48122
|
-
const element = this.environment.appMetadata.appSwitcher[ind];
|
|
48123
|
-
const clientId = this.environment.authenticationSettings.clientId;
|
|
48124
|
-
if (this.rootModel.allowAnonymous && element.allowAnonymous) {
|
|
48125
|
-
arr.push(element);
|
|
48126
|
-
}
|
|
48127
|
-
else if (this.currentUser) {
|
|
48128
|
-
const isAuthorized = yield this._permissionService.isAuthorized(element.code, `${element.code}.MODULE.${element.code}`.toUpperCase(), true);
|
|
48129
|
-
if (isAuthorized) {
|
|
48130
|
-
arr.push(element);
|
|
48131
|
-
}
|
|
48132
|
-
}
|
|
48133
|
-
}
|
|
48134
|
-
resolve(arr);
|
|
48135
|
-
}));
|
|
48136
|
-
prmsAppSwicherItem.then(rs => {
|
|
48137
|
-
this.appSwitcherItems.length = 0;
|
|
48138
|
-
if (rs) {
|
|
48139
|
-
rs.forEach(element => {
|
|
48140
|
-
if (element.visible) {
|
|
48141
|
-
if (!this.currentUser) { // allow anonymous
|
|
48142
|
-
this.appSwitcherItems.push(element);
|
|
48143
|
-
}
|
|
48144
|
-
else {
|
|
48145
|
-
if (this.currentUser.maNguoiHoc && this.currentUser.issuperuser.toLowerCase() != 'true') {
|
|
48146
|
-
if (element.code.toLowerCase() == 'sv' || element.code.toLowerCase() == 'user') {
|
|
48147
|
-
this.appSwitcherItems.push(element);
|
|
48148
|
-
}
|
|
48149
|
-
}
|
|
48150
|
-
else {
|
|
48151
|
-
this.appSwitcherItems.push(element);
|
|
48152
|
-
}
|
|
48153
|
-
}
|
|
48154
|
-
}
|
|
48155
|
-
});
|
|
48156
|
-
if (this.appSwitcherItems.length === 1) {
|
|
48157
|
-
setTimeout(x => this.switchApp(this.appSwitcherItems[0]), 100);
|
|
48158
|
-
}
|
|
48159
|
-
}
|
|
48160
|
-
});
|
|
48161
|
-
}
|
|
48162
|
-
switchApp(item) {
|
|
48163
|
-
this.loaded = false;
|
|
48164
|
-
if (item.target == '_blank') {
|
|
48165
|
-
let url = item.url;
|
|
48166
|
-
if (item.defaultRedirect) {
|
|
48167
|
-
url += `/${item.defaultRedirect}`;
|
|
48168
|
-
}
|
|
48169
|
-
top.location.href = url;
|
|
48170
|
-
}
|
|
48171
|
-
else {
|
|
48172
|
-
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
48173
|
-
this._router.navigateByUrl(item.defaultRedirect);
|
|
48174
|
-
this.rootContext.data.currentAppMetadata = this.environment.appMetadata.appSwitcher.find(x => x.code == item.code);
|
|
48175
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined && this.rootContext.data.currentAppMetadata.showDefaultSetting != null) {
|
|
48176
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting && this.showDefaultSetting;
|
|
48177
|
-
}
|
|
48178
|
-
}
|
|
48179
|
-
}
|
|
48180
|
-
}
|
|
48181
|
-
logout() {
|
|
48182
|
-
this._authenService.logout();
|
|
48183
|
-
}
|
|
48184
|
-
goToPersonal() {
|
|
48185
|
-
const userMenu = this.environment.appMetadata.appSwitcher.find(x => x.code == 'USER');
|
|
48186
|
-
this.switchApp(userMenu);
|
|
48187
|
-
}
|
|
48188
|
-
getCurrentUserAvatar() {
|
|
48189
|
-
if (this.rootContext.data.currentUser && this.rootContext.data.currentUser.avatar) {
|
|
48190
|
-
return `${this.fileApi}/file/public/${this.rootContext.data.currentUser.avatar}/Download`;
|
|
48191
|
-
}
|
|
48192
|
-
else {
|
|
48193
|
-
return this.defaultAvatar;
|
|
48194
|
-
}
|
|
48195
|
-
}
|
|
48196
|
-
getNgayTrongTuan() {
|
|
48197
|
-
return this.daysInWeek[this.currentDate.getDay()];
|
|
48198
|
-
}
|
|
48199
|
-
showProfilePage() {
|
|
48200
|
-
if (this._userService.isSinhVienAccount()) {
|
|
48201
|
-
return false;
|
|
48202
|
-
}
|
|
48203
|
-
return true;
|
|
48204
|
-
}
|
|
48205
|
-
ngOnDestroy() {
|
|
48206
|
-
super.ngOnDestroy();
|
|
48207
|
-
this._globalService.setHeaderState(true);
|
|
48208
|
-
this._globalService.setMenuState(true);
|
|
48209
|
-
}
|
|
48210
|
-
login() {
|
|
48211
|
-
this.rootContext.fireEvent('LOGIN');
|
|
48212
|
-
}
|
|
48213
|
-
}
|
|
48214
|
-
SplashComponentV2Component.decorators = [
|
|
48215
|
-
{ type: Component, args: [{
|
|
48216
|
-
selector: 'splash-component-v2',
|
|
48217
|
-
template: "<div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n</div>\n<div *ngIf=\"loaded\" class=\"modules-v2\">\n <div class=\"welcome-user\">\n <div class=\"profile-image\">\n <div class=\"tn-full-name\">{{currentUser.fullName}}</div>\n <img class=\"custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n <div *ngIf=\"currentUser\" class=\"login\">\n <a class=\"tn-icon-signout\" title=\"\u0110\u0103ng xu\u1EA5t\" (click)=\"logout()\">\n <i class=\"pi pi-sign-out\"></i>\n </a>\n </div>\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 *ngIf=\"!currentUser\" class=\"login\">\n <a class=\"tn-icon-signin\" title=\"\u0110\u0103ng nh\u1EADp\" (click)=\"login()\">\n <i class=\"pi pi-sign-in\"></i>\u0110\u0103ng nh\u1EADp\n </a>\n </div>\n </div>\n\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\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</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>",
|
|
48218
|
-
providers: [ComponentContextService],
|
|
48219
|
-
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-v2{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-v2 div>span{display:inline-block;min-width:100px;height:120px;width:120px;margin:10px;box-shadow:1px 2px 9px 1px #dfd1d1;border-radius:5px;white-space:normal}.modules-v2 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-v2 div>span>a,.modules-v2 div>span>a>span{width:100%;color:#fff;text-decoration:unset;text-align:center}.modules-v2 div>span>a>span{display:inline-block;line-height:1.2;padding:0 5px}.modules-v2 div>span>a>i{font-size:3.5em;width:100%}.modules-v2 .module-icons{text-align:center;color:#666;display:flex;flex-direction:column;justify-content:center;background:hsla(0,0%,100%,.9490196078431372);padding:40px 60px;border-radius:10px;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.modules-v2 .module-icons h2{font-size:25px;color:#271756;margin-bottom:15px;margin-top:15px}.modules-v2 .module-icons h1{color:#2f70ac;font-size:35px;margin-top:0;margin-bottom:0}.modules-v2 .module-icons .img-title{margin-bottom:80px}.modules-v2 .module-icons .img-title img.tn-custom-logo{margin-bottom:30px}.modules-v2 .module-icons .img-title a.tn-icon-signin{cursor:pointer;background:#002c6c;padding:10px;display:inline-flex;color:#fff;justify-content:center;align-items:center;border-radius:5px}.modules-v2 .module-icons .img-title a.tn-icon-signin i{margin-right:5px}.modules-v2 .module-icons .div1111-wrapper{margin:0 auto 80px}.modules-v2 .module-icons .div1111-wrapper .div1111{white-space:nowrap;width:100%;display:flex;flex-wrap:wrap}.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#2f70ac;transition:.3s}.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher:hover{background:#002c6c;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher:hover span{color:#fff}.modules-v2 .module-icons .clock-wrapper{color:#fff;text-align:center;margin-top:auto;margin-bottom:auto}.modules-v2 .module-icons .clock-wrapper h4{font-size:20px;font-weight:500;margin-top:10px;margin-bottom:0;color:#2f70ac}.modules-v2 .module-icons .clock-wrapper h1{margin-bottom:0;font-size:40px}.modules-v2 .welcome-user{text-align:center;display:flex;color:#333;position:absolute;top:20px;right:20px;background:hsla(0,0%,100%,.9019607843137255);padding:10px;border-radius:10px;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.modules-v2 .welcome-user .wrp-login{margin:auto;color:#333;display:flex;flex-direction:column;align-items:center}.modules-v2 .welcome-user .wrp-login h2{font-size:20px;margin-top:0;margin-bottom:5px;font-weight:500}.modules-v2 .profile-image{display:flex;justify-content:center;align-items:center}.modules-v2 .profile-image .tn-full-name{font-size:18px;margin-right:10px}.modules-v2 .profile-image img{border-radius:50%;height:40px;width:40px;-o-object-fit:contain;object-fit:contain;background:#fff;margin-right:10px}.modules-v2 .profile-image .login{display:grid;grid-gap:10px}.modules-v2 .profile-image .login a.tn-icon-signout{border-radius:50%;cursor:pointer;width:40px;height:40px;display:flex;justify-content:center;align-items:center;background:#002c6c}.modules-v2 .profile-image .login a.tn-icon-signout i{font-size:16px;color:#edc16f}@media (max-width:1368px){.modules-v2 .clock{margin:0 20px;font-size:1.5em}.modules-v2 .data-time{margin:10px 0 20px;font-size:1em}}@media (max-width:1200px){.modules-v2 .welcome-user{top:10px;right:10px}}@media (max-width:768px){.modules-v2 .module-icons .img-title .title h2{font-size:28px}.modules-v2 .module-icons .img-title .title h1{font-size:32px}}@media (max-width:640px){.modules-v2 .welcome-user{top:10px;right:10px;width:calc(100% - 20px);justify-content:flex-end}.modules-v2 .module-icons{padding:20px;margin:10px}.modules-v2 .module-icons .img-title{margin-bottom:40px}.modules-v2 .module-icons .img-title .title h1{font-size:19px}.modules-v2 .module-icons .img-title .title h2{font-size:16px;margin-top:0;margin-bottom:10px}.modules-v2 .module-icons .div1111-wrapper{margin-bottom:50px}.modules-v2 .module-icons .div1111-wrapper .div1111{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr))}.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.modules-v2 .module-icons div>span{width:100px;height:100px}.modules-v2 .module-icons div>span>a>i{font-size:3em;top:15px}.modules-v2 .module-icons .clock-wrapper h4{font-size:16px;margin-top:5px}.modules-v2 .module-icons .clock-wrapper h1{font-size:30px}}@media (max-width:375px){.modules-v2 .module-icons .img-title{margin-bottom:0}.modules-v2 .module-icons .img-title img.tn-custom-logo{width:100px;margin-bottom:10px}.modules-v2 .module-icons .img-title .title{padding:0}.modules-v2 .module-icons .img-title .title h2{margin-bottom:10px;font-size:14px}.modules-v2 .module-icons .div1111-wrapper{margin-bottom:0}.modules-v2 .module-icons .div1111-wrapper .div1111{display:flex;justify-content:center}.modules-v2 .module-icons .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}}@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}}"]
|
|
48220
|
-
},] }
|
|
48221
|
-
];
|
|
48222
|
-
SplashComponentV2Component.ctorParameters = () => [
|
|
48223
|
-
{ type: Injector },
|
|
48224
|
-
{ type: ModuleConfigService },
|
|
48225
|
-
{ type: PermissionService },
|
|
48226
|
-
{ type: DeviceDetectorService },
|
|
48227
|
-
{ type: UserService },
|
|
48228
|
-
{ type: Router },
|
|
48229
|
-
{ type: AuthenService },
|
|
48230
|
-
{ type: GlobalService }
|
|
48231
|
-
];
|
|
48232
|
-
|
|
48233
|
-
class SplashComponentV3Component extends ComponentBase {
|
|
48234
|
-
constructor(injector, _moduleConfigService, _permissionService, _deviceDetectorService, _userService, _router, _authenService, _globalService) {
|
|
48235
|
-
super(injector);
|
|
48236
|
-
this._moduleConfigService = _moduleConfigService;
|
|
48237
|
-
this._permissionService = _permissionService;
|
|
48238
|
-
this._deviceDetectorService = _deviceDetectorService;
|
|
48239
|
-
this._userService = _userService;
|
|
48240
|
-
this._router = _router;
|
|
48241
|
-
this._authenService = _authenService;
|
|
48242
|
-
this._globalService = _globalService;
|
|
48243
|
-
this.defaultAvatar = '';
|
|
48244
|
-
this.appSwitcherItems = [];
|
|
48245
|
-
this.loaded = false;
|
|
48246
|
-
this.currentDate = new Date();
|
|
48247
|
-
this.showDefaultSetting = false;
|
|
48248
|
-
this.fileApi = '';
|
|
48249
|
-
this.isOnMobile = false;
|
|
48250
|
-
this.daysInWeek = ['Chủ nhật', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
|
|
48251
|
-
this.rootContext.fireEvent('MAIN_CONTENT_ONLY', true);
|
|
48252
|
-
this.environment = this._moduleConfigService.getConfig().environment;
|
|
48253
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
48254
|
-
this.fileApi = `${this.environment.apiDomain.fileEndpoint}/${this.environment.apiVersion}/FileObject`;
|
|
48255
|
-
setInterval(() => {
|
|
48256
|
-
this.currentDate = new Date();
|
|
48257
|
-
}, 1000);
|
|
48258
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != null && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
|
|
48259
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting;
|
|
48260
|
-
}
|
|
48261
|
-
else {
|
|
48262
|
-
if (this.environment.appMetadata.main.showDefaultSetting != null && this.environment.appMetadata.main.showDefaultSetting != undefined) {
|
|
48263
|
-
this.showDefaultSetting = this.environment.appMetadata.main.showDefaultSetting;
|
|
48264
|
-
}
|
|
48265
|
-
else {
|
|
48266
|
-
this.showDefaultSetting = false;
|
|
48267
|
-
}
|
|
48268
|
-
}
|
|
48269
|
-
// Config for authentication
|
|
48270
|
-
this._globalService.setHeaderState(false);
|
|
48271
|
-
this._globalService.setMenuState(false);
|
|
48272
|
-
this.underconstruction = this.environment.underconstruction;
|
|
48273
|
-
}
|
|
48274
|
-
ngOnInit() {
|
|
48275
|
-
if (this._deviceDetectorService.isMobile()) {
|
|
48276
|
-
this.isOnMobile = true;
|
|
48277
|
-
}
|
|
48278
|
-
if (this.rootContext.data.currentUser) {
|
|
48279
|
-
if (this.rootContext.data.currentUser.gender == 0) {
|
|
48280
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultFemaleAvatar;
|
|
48281
|
-
}
|
|
48282
|
-
else {
|
|
48283
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
48284
|
-
}
|
|
48285
|
-
}
|
|
48286
|
-
this.rootContext.replaySubscribe(ComCtxConstants.ROOT.USER_LOADED, rs => {
|
|
48287
|
-
this.currentUser = this._userService.getCurrentUser();
|
|
48288
|
-
this.loadAppMetadata();
|
|
48289
|
-
this.loaded = true;
|
|
48290
|
-
});
|
|
48291
|
-
if (this.rootModel.allowAnonymous) {
|
|
48292
|
-
this.loaded = true;
|
|
48293
|
-
this.loadAppMetadata();
|
|
48294
|
-
}
|
|
48295
|
-
}
|
|
48296
|
-
loadAppMetadata() {
|
|
48297
|
-
const prmsAppSwicherItem = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
48298
|
-
const arr = [];
|
|
48299
|
-
for (const ind in this.environment.appMetadata.appSwitcher) {
|
|
48300
|
-
const element = this.environment.appMetadata.appSwitcher[ind];
|
|
48301
|
-
// const clientId = this.environment.authenticationSettings.clientId;
|
|
48302
|
-
if (this.rootModel.allowAnonymous && element.allowAnonymous) {
|
|
48303
|
-
arr.push(element);
|
|
48304
|
-
}
|
|
48305
|
-
else if (this.currentUser) {
|
|
48306
|
-
// if (element.code === 'CMS-MSMV') {
|
|
48307
|
-
// if (this._permissionService.isAuthorized(element.code, 'CMS-MSMV/SURVEYSHEETS?PLANID=7B40AED6-C7AB-44E6-ADDC-DC71C548D05C&VIEW=0', false)) {
|
|
48308
|
-
// // const isAuthorized = await this._permissionService.isAuthorized(element.code, `test/lksjeflksejflseifjseifjslkejfkiki/test/kkjlskejflsekfjseklfj`.toUpperCase());
|
|
48309
|
-
// arr.push(element);
|
|
48310
|
-
// }
|
|
48311
|
-
// continue;
|
|
48312
|
-
// }
|
|
48313
|
-
const isAuthorized = yield this._permissionService.isAuthorized(element.code, `${element.code}.MODULE.${element.code}`.toUpperCase(), true);
|
|
48314
|
-
if (isAuthorized) {
|
|
48315
|
-
arr.push(element);
|
|
48316
|
-
}
|
|
48317
|
-
}
|
|
48318
|
-
}
|
|
48319
|
-
resolve(arr);
|
|
48320
|
-
}));
|
|
48321
|
-
prmsAppSwicherItem.then(rs => {
|
|
48322
|
-
this.appSwitcherItems.length = 0;
|
|
48323
|
-
if (rs) {
|
|
48324
|
-
rs.forEach(element => {
|
|
48325
|
-
if (element.visible) {
|
|
48326
|
-
if (!this.currentUser) { // allow anonymous
|
|
48327
|
-
this.appSwitcherItems.push(element);
|
|
48328
|
-
}
|
|
48329
|
-
else {
|
|
48330
|
-
if (this.currentUser.maNguoiHoc && this.currentUser.issuperuser.toLowerCase() != 'true') {
|
|
48331
|
-
if (element.code.toLowerCase() == 'sv' || element.code.toLowerCase() == 'user') {
|
|
48332
|
-
this.appSwitcherItems.push(element);
|
|
48333
|
-
}
|
|
48334
|
-
}
|
|
48335
|
-
else {
|
|
48336
|
-
this.appSwitcherItems.push(element);
|
|
48337
|
-
}
|
|
48338
|
-
}
|
|
48339
|
-
}
|
|
48340
|
-
});
|
|
48341
|
-
if (this.appSwitcherItems.length === 1) {
|
|
48342
|
-
setTimeout(x => this.switchApp(this.appSwitcherItems[0]), 100);
|
|
48343
|
-
}
|
|
48344
|
-
}
|
|
48345
|
-
});
|
|
48346
|
-
}
|
|
48347
|
-
switchApp(item) {
|
|
48348
|
-
this.loaded = false;
|
|
48349
|
-
if (item.target == '_blank') {
|
|
48350
|
-
let url = item.url;
|
|
48351
|
-
if (item.defaultRedirect) {
|
|
48352
|
-
url += `/${item.defaultRedirect}`;
|
|
48353
|
-
}
|
|
48354
|
-
top.location.href = url;
|
|
48355
|
-
}
|
|
48356
|
-
else {
|
|
48357
|
-
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
48358
|
-
this._router.navigateByUrl(item.defaultRedirect);
|
|
48359
|
-
this.rootContext.data.currentAppMetadata = this.environment.appMetadata.appSwitcher.find(x => x.code == item.code);
|
|
48360
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined && this.rootContext.data.currentAppMetadata.showDefaultSetting != null) {
|
|
48361
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting && this.showDefaultSetting;
|
|
48362
|
-
}
|
|
48363
|
-
}
|
|
48364
|
-
}
|
|
48365
|
-
}
|
|
48366
|
-
logout() {
|
|
48367
|
-
this._authenService.logout();
|
|
48368
|
-
}
|
|
48369
|
-
goToPersonal() {
|
|
48370
|
-
const userMenu = this.environment.appMetadata.appSwitcher.find(x => x.code == 'USER');
|
|
48371
|
-
this.switchApp(userMenu);
|
|
48372
|
-
}
|
|
48373
|
-
getCurrentUserAvatar() {
|
|
48374
|
-
if (this.rootContext.data.currentUser && this.rootContext.data.currentUser.avatar) {
|
|
48375
|
-
return `${this.fileApi}/public/${this.rootContext.data.currentUser.avatar}/Download`;
|
|
48376
|
-
}
|
|
48377
|
-
else {
|
|
48378
|
-
return this.defaultAvatar;
|
|
48379
|
-
}
|
|
48380
|
-
}
|
|
48381
|
-
getNgayTrongTuan() {
|
|
48382
|
-
return this.daysInWeek[this.currentDate.getDay()];
|
|
48383
|
-
}
|
|
48384
|
-
showProfilePage() {
|
|
48385
|
-
if (this._userService.isSinhVienAccount()) {
|
|
48386
|
-
return false;
|
|
48387
|
-
}
|
|
48388
|
-
return true;
|
|
48389
|
-
}
|
|
48390
|
-
ngOnDestroy() {
|
|
48391
|
-
super.ngOnDestroy();
|
|
48392
|
-
this._globalService.setHeaderState(true);
|
|
48393
|
-
this._globalService.setMenuState(true);
|
|
48394
|
-
}
|
|
48395
|
-
login() {
|
|
48396
|
-
this.rootContext.fireEvent('LOGIN');
|
|
48397
|
-
}
|
|
48398
|
-
}
|
|
48399
|
-
SplashComponentV3Component.decorators = [
|
|
48400
|
-
{ type: Component, args: [{
|
|
48401
|
-
selector: 'splash-component-v3',
|
|
48402
|
-
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>",
|
|
48403
|
-
providers: [ComponentContextService],
|
|
48404
|
-
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}}"]
|
|
48405
|
-
},] }
|
|
48406
|
-
];
|
|
48407
|
-
SplashComponentV3Component.ctorParameters = () => [
|
|
48408
|
-
{ type: Injector },
|
|
48409
|
-
{ type: ModuleConfigService },
|
|
48410
|
-
{ type: PermissionService },
|
|
48411
|
-
{ type: DeviceDetectorService },
|
|
48412
|
-
{ type: UserService },
|
|
48413
|
-
{ type: Router },
|
|
48414
|
-
{ type: AuthenService },
|
|
48415
|
-
{ type: GlobalService }
|
|
48416
|
-
];
|
|
48417
|
-
|
|
48418
|
-
class SplashComponentV4Component extends ComponentBase {
|
|
48419
|
-
constructor(injector, _moduleConfigService, _permissionService, _deviceDetectorService, _userService, _router, _authenService, _globalService) {
|
|
48420
|
-
super(injector);
|
|
48421
|
-
this._moduleConfigService = _moduleConfigService;
|
|
48422
|
-
this._permissionService = _permissionService;
|
|
48423
|
-
this._deviceDetectorService = _deviceDetectorService;
|
|
48424
|
-
this._userService = _userService;
|
|
48425
|
-
this._router = _router;
|
|
48426
|
-
this._authenService = _authenService;
|
|
48427
|
-
this._globalService = _globalService;
|
|
48428
|
-
this.defaultAvatar = '';
|
|
48429
|
-
this.appSwitcherItems = [];
|
|
48430
|
-
this.loaded = false;
|
|
48431
|
-
this.currentDate = new Date();
|
|
48432
|
-
this.showDefaultSetting = false;
|
|
48433
|
-
this.fileApi = '';
|
|
48434
|
-
this.isOnMobile = false;
|
|
48435
|
-
this.daysInWeek = ['Chủ nhật', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
|
|
48436
|
-
this.rootContext.fireEvent('MAIN_CONTENT_ONLY', true);
|
|
48437
|
-
this.environment = this._moduleConfigService.getConfig().environment;
|
|
48438
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
48439
|
-
this.fileApi = `${this.environment.apiDomain.fileEndpoint}/${this.environment.apiVersion}/FileObject`;
|
|
48440
|
-
setInterval(() => {
|
|
48441
|
-
this.currentDate = new Date();
|
|
48442
|
-
}, 1000);
|
|
48443
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != null && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
|
|
48444
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting;
|
|
48445
|
-
}
|
|
48446
|
-
else {
|
|
48447
|
-
if (this.environment.appMetadata.main.showDefaultSetting != null && this.environment.appMetadata.main.showDefaultSetting != undefined) {
|
|
48448
|
-
this.showDefaultSetting = this.environment.appMetadata.main.showDefaultSetting;
|
|
48449
|
-
}
|
|
48450
|
-
else {
|
|
48451
|
-
this.showDefaultSetting = false;
|
|
48452
|
-
}
|
|
48453
|
-
}
|
|
48454
|
-
// Config for authentication
|
|
48455
|
-
this._globalService.setHeaderState(false);
|
|
48456
|
-
this._globalService.setMenuState(false);
|
|
48457
|
-
this.underconstruction = this.environment.underconstruction;
|
|
48458
|
-
}
|
|
48459
|
-
ngOnInit() {
|
|
48460
|
-
if (this._deviceDetectorService.isMobile()) {
|
|
48461
|
-
this.isOnMobile = true;
|
|
48462
|
-
}
|
|
48463
|
-
if (this.rootContext.data.currentUser) {
|
|
48464
|
-
if (this.rootContext.data.currentUser.gender == 0) {
|
|
48465
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultFemaleAvatar;
|
|
48466
|
-
}
|
|
48467
|
-
else {
|
|
48468
|
-
this.defaultAvatar = this.environment.appMetadata.main.defaultMaleAvatar;
|
|
48469
|
-
}
|
|
48470
|
-
}
|
|
48471
|
-
this.rootContext.replaySubscribe(ComCtxConstants.ROOT.USER_LOADED, rs => {
|
|
48472
|
-
this.currentUser = this._userService.getCurrentUser();
|
|
48473
|
-
this.loadAppMetadata();
|
|
48474
|
-
this.loaded = true;
|
|
48475
|
-
});
|
|
48476
|
-
if (this.rootModel.allowAnonymous) {
|
|
48477
|
-
this.loaded = true;
|
|
48478
|
-
this.loadAppMetadata();
|
|
48479
|
-
}
|
|
48480
|
-
}
|
|
48481
|
-
loadAppMetadata() {
|
|
48482
|
-
const prmsAppSwicherItem = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
48483
|
-
const arr = [];
|
|
48484
|
-
for (const ind in this.environment.appMetadata.appSwitcher) {
|
|
48485
|
-
const element = this.environment.appMetadata.appSwitcher[ind];
|
|
48486
|
-
// const clientId = this.environment.authenticationSettings.clientId;
|
|
48487
|
-
if (this.rootModel.allowAnonymous && element.allowAnonymous) {
|
|
48488
|
-
arr.push(element);
|
|
48489
|
-
}
|
|
48490
|
-
else if (this.currentUser) {
|
|
48491
|
-
// if (element.code === 'CMS-MSMV') {
|
|
48492
|
-
// if (this._permissionService.isAuthorized(element.code, 'CMS-MSMV/SURVEYSHEETS?PLANID=7B40AED6-C7AB-44E6-ADDC-DC71C548D05C&VIEW=0', false)) {
|
|
48493
|
-
// // const isAuthorized = await this._permissionService.isAuthorized(element.code, `test/lksjeflksejflseifjseifjslkejfkiki/test/kkjlskejflsekfjseklfj`.toUpperCase());
|
|
48494
|
-
// arr.push(element);
|
|
48495
|
-
// }
|
|
48496
|
-
// continue;
|
|
48497
|
-
// }
|
|
48498
|
-
const isAuthorized = yield this._permissionService.isAuthorized(element.code, `${element.code}.MODULE.${element.code}`.toUpperCase(), true);
|
|
48499
|
-
if (isAuthorized) {
|
|
48500
|
-
arr.push(element);
|
|
48501
|
-
}
|
|
48502
|
-
}
|
|
48503
|
-
}
|
|
48504
|
-
resolve(arr);
|
|
48505
|
-
}));
|
|
48506
|
-
prmsAppSwicherItem.then(rs => {
|
|
48507
|
-
this.appSwitcherItems.length = 0;
|
|
48508
|
-
if (rs) {
|
|
48509
|
-
rs.forEach(element => {
|
|
48510
|
-
if (element.visible) {
|
|
48511
|
-
if (!this.currentUser) { // allow anonymous
|
|
48512
|
-
this.appSwitcherItems.push(element);
|
|
48513
|
-
}
|
|
48514
|
-
else {
|
|
48515
|
-
if (this.currentUser.maNguoiHoc && this.currentUser.issuperuser.toLowerCase() != 'true') {
|
|
48516
|
-
if (element.code.toLowerCase() == 'sv' || element.code.toLowerCase() == 'user') {
|
|
48517
|
-
this.appSwitcherItems.push(element);
|
|
48518
|
-
}
|
|
48519
|
-
}
|
|
48520
|
-
else {
|
|
48521
|
-
this.appSwitcherItems.push(element);
|
|
48522
|
-
}
|
|
48523
|
-
}
|
|
48524
|
-
}
|
|
48525
|
-
});
|
|
48526
|
-
if (this.appSwitcherItems.length === 1) {
|
|
48527
|
-
setTimeout(x => this.switchApp(this.appSwitcherItems[0]), 100);
|
|
48528
|
-
}
|
|
48529
|
-
}
|
|
48530
|
-
});
|
|
48531
|
-
}
|
|
48532
|
-
switchApp(item) {
|
|
48533
|
-
this.loaded = false;
|
|
48534
|
-
if (item.target == '_blank') {
|
|
48535
|
-
let url = item.url;
|
|
48536
|
-
if (item.defaultRedirect) {
|
|
48537
|
-
url += `/${item.defaultRedirect}`;
|
|
48538
|
-
}
|
|
48539
|
-
top.location.href = url;
|
|
48540
|
-
}
|
|
48541
|
-
else {
|
|
48542
|
-
if (item.defaultRedirect != '' && !this.rootContext.data.flags.menuTopOpenning) {
|
|
48543
|
-
this._router.navigateByUrl(item.defaultRedirect);
|
|
48544
|
-
this.rootContext.data.currentAppMetadata = this.environment.appMetadata.appSwitcher.find(x => x.code == item.code);
|
|
48545
|
-
if (this.rootContext.data.currentAppMetadata && this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined && this.rootContext.data.currentAppMetadata.showDefaultSetting != null) {
|
|
48546
|
-
this.showDefaultSetting = this.rootContext.data.currentAppMetadata.showDefaultSetting && this.showDefaultSetting;
|
|
48547
|
-
}
|
|
48548
|
-
}
|
|
48549
|
-
}
|
|
48550
|
-
}
|
|
48551
|
-
logout() {
|
|
48552
|
-
this._authenService.logout();
|
|
48553
|
-
}
|
|
48554
|
-
goToPersonal() {
|
|
48555
|
-
const userMenu = this.environment.appMetadata.appSwitcher.find(x => x.code == 'USER');
|
|
48556
|
-
this.switchApp(userMenu);
|
|
48557
|
-
}
|
|
48558
|
-
getCurrentUserAvatar() {
|
|
48559
|
-
if (this.rootContext.data.currentUser && this.rootContext.data.currentUser.avatar) {
|
|
48560
|
-
return `${this.fileApi}/public/${this.rootContext.data.currentUser.avatar}/Download`;
|
|
48561
|
-
}
|
|
48562
|
-
else {
|
|
48563
|
-
return this.defaultAvatar;
|
|
48564
|
-
}
|
|
48565
|
-
}
|
|
48566
|
-
getNgayTrongTuan() {
|
|
48567
|
-
return this.daysInWeek[this.currentDate.getDay()];
|
|
48568
|
-
}
|
|
48569
|
-
showProfilePage() {
|
|
48570
|
-
if (this._userService.isSinhVienAccount()) {
|
|
48571
|
-
return false;
|
|
48572
|
-
}
|
|
48573
|
-
return true;
|
|
48574
|
-
}
|
|
48575
|
-
ngOnDestroy() {
|
|
48576
|
-
super.ngOnDestroy();
|
|
48577
|
-
this._globalService.setHeaderState(true);
|
|
48578
|
-
this._globalService.setMenuState(true);
|
|
48579
|
-
}
|
|
48580
|
-
login() {
|
|
48581
|
-
this.rootContext.fireEvent('LOGIN');
|
|
48582
|
-
}
|
|
48583
|
-
}
|
|
48584
|
-
SplashComponentV4Component.decorators = [
|
|
48585
|
-
{ type: Component, args: [{
|
|
48586
|
-
selector: 'splash-component-v4',
|
|
48587
|
-
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>",
|
|
48588
|
-
providers: [ComponentContextService],
|
|
48589
|
-
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:#3b5cc3;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher span{color:#253c85;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:#253c85}.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:#253c85;font-size:35px;margin-top:0;margin-bottom:0}.modules-v1 .welcome-user{text-align:center;width:35%;align-self:stretch;background-color:rgba(37,60,133,.9803921568627451);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 #3d60af;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}}"]
|
|
48590
|
-
},] }
|
|
48591
|
-
];
|
|
48592
|
-
SplashComponentV4Component.ctorParameters = () => [
|
|
48593
|
-
{ type: Injector },
|
|
48594
|
-
{ type: ModuleConfigService },
|
|
48595
|
-
{ type: PermissionService },
|
|
48596
|
-
{ type: DeviceDetectorService },
|
|
48597
|
-
{ type: UserService },
|
|
48598
|
-
{ type: Router },
|
|
48599
|
-
{ type: AuthenService },
|
|
48600
|
-
{ type: GlobalService }
|
|
48601
|
-
];
|
|
48602
|
-
|
|
48603
47870
|
class StateMachinesConnectionReceiverRoleComponent extends DataFormBase {
|
|
48604
47871
|
constructor(injector, _dmChucVuService) {
|
|
48605
47872
|
super(injector);
|
|
@@ -54811,11 +54078,6 @@ function coreDeclaration() {
|
|
|
54811
54078
|
ProcessWorkflowFormComponent,
|
|
54812
54079
|
ProcessWorkflowTargetComponent,
|
|
54813
54080
|
ChoYKienFormComponent,
|
|
54814
|
-
SplashComponentComponent,
|
|
54815
|
-
SplashComponentV1Component,
|
|
54816
|
-
SplashComponentV2Component,
|
|
54817
|
-
SplashComponentV3Component,
|
|
54818
|
-
SplashComponentV4Component,
|
|
54819
54081
|
StateComponent,
|
|
54820
54082
|
StateMetadataComponent,
|
|
54821
54083
|
StateMachinesConnectionMetadataComponent,
|
|
@@ -54917,6 +54179,11 @@ function coreDeclaration() {
|
|
|
54917
54179
|
CheckReadyComponent,
|
|
54918
54180
|
WorkflowButtonComponent,
|
|
54919
54181
|
TnAccordionTabComponent,
|
|
54182
|
+
SplashComponentComponent,
|
|
54183
|
+
// SplashComponentV1Component,
|
|
54184
|
+
// SplashComponentV2Component,
|
|
54185
|
+
// SplashComponentV3Component,
|
|
54186
|
+
// SplashComponentV4Component,
|
|
54920
54187
|
// CommonAppComponentComponent,
|
|
54921
54188
|
// AppTopBarBaseComponent,
|
|
54922
54189
|
// AppTopBarV1Component,
|
|
@@ -55100,5 +54367,5 @@ class Pair {
|
|
|
55100
54367
|
* Generated bundle index. Do not edit.
|
|
55101
54368
|
*/
|
|
55102
54369
|
|
|
55103
|
-
export { AccessDeniedComponent, Action, ActionChoYKienBase, ActionThuHoiBase, ActionUpdateModel, AddressControlSchema, AddressService, AdvanceSearchData, AdvanceSearchSetting, AnnouncementReadsService, AnnouncementsService, AppComponentBase, AppListService, ApplicationContextService, ApprovalPipe, ArrayPair, AtLeastOneRowTableValidator, AuthenService, AuthorizeDirective, AutoCompleteControlSchema, AutoCompletePickerControlSchema, AutocompleteDatasourceComponent, AvatarUploaderComponent, BaseCauHinhWorkflowComponent, BaseCongViecComponent, BaseCongViecFormComponent, BaseDmLinhVucCongViecComponent, BaseDmLoaiCongViecComponent, BaseDmPriorityComponent, BaseMenuService, BaseModule, BaseService, BooleanFormatPipe, ButtonControlSchema, ButtonPermission, ButtonPermissions, ButtonTextActionCongViec, CONFIG_CALENDAR_VIETNAMESE, CalculationEngineService, CanBoHoSoService, CanBo_HoSo_CoCauToChucService, CauHinhWorkflowService, CccdValidator, CellExcel, ChatBoxComponent, ChatSendMessageBoxComponent, CheckBoxListControlSchema, CheckControlVisibleService, CheckDuplicateFieldsValidator, CheckDuplicateValidator, CheckboxControlSchema, ChipsControlSchema, ClientV5Service, CoCauToChucControlSchema, CoCauToChucNewService, CoCauToChucPickerComponent, CoCauToChucPickerControlSchema, CoCauToChucPickerControlSchemaNew, CoCauToChucService, CodeValidator, ColorBlack, ColorControlSchema, ColorPickerControlSchema, ColorWhite, Column, ColumnSchemaBase, ColumnSetting, ColumnSettingDetail, ComCtxConstants, CommandType, CommonDashboardComponent, CommonErrorCode, CommonLibComponent, CommonSearchFormComponent, CommonService, CompareValidator, ComponentBase, ComponentBaseWithButton, ComponentConstants, ComponentContextService, ConditionalBuilderService, CongViecLienQuanService, CongViecNextFirstStepComponent, CongViecPickerControlSchema, CongViecService, ContainerSchema, ControlTreeNode, ControlType, ConvertMoneyToWordPipe, CoreConfigService, CrudBase, CrudFormComponent, CrudFormCustomFunction, CrudFormData, CrudFormSetting, CrudListComponent, CrudListConfig, CrudListCustomFunction, CrudListData, CrudListHelper, CrudListSetting, CrudService, CustomControlSchema, CustomRouterService, CustomizeUiModel, CustomizeUiService, DanhmucApiService, DataExcel, DataFormBase, DataListBase, DataSourceControlSchema, DataSourceGioiTinh, DataSourcePermissionBase, DataSourceStateType, DataSourceTargetType, DataSourceUserRule, DataSourceUserSender, DataSourceWorkflowCheckboxOption, DataSourceWorkflowCoreStatus, DataType, DateCompareValidator, DateTimeControlSchema, DateTimeRangeControlSchema, DbOrganizationOrganizationService, DbOrganizationPositionService, Deadline, DeadlineType, DhvinhGuardService, DialogModel, DmChucVuService, DmLinhVucCongViecService, DmLoaiCongViecService, DmPriorityService, DomService, DownloadLinkService, DropdownComponent, DropdownControlSchema, DropdownOptions, DummyWorkflowCode, DynamicComponentService, ENUM_DON_VI_HANH_CHINH, EXPLORER_TYPES, EXPORT_VERSION_V4, EXPORT_VERSION_V5, EditFileCommand, EditorControlSchema, EformService, EmailValidator, EntityMedataDataSetting, EntityMetadataService, EntityPickerColumn, EntityPickerControlSchema, EntityWorkflowType, EnumActionType, EnumAppSwitcherCode, EnumCanBo, EnumControlPickerType, EnumFileLayout, EnumGetRefType, EnumGioiTinh, EnumHocHamHocVi, EnumLoaiDanhSachCongViec, EnumLoaiVanBanBase$1 as EnumLoaiVanBanBase, EnumPermissionType, EnumProcessWorkflowType, EnumStateByMenuCongViec, EnumStateType, EnumTargetType, EnumTypeSplash, EnumUserRule, EnumUserSource, EnumWFNhomTrangThai, EnumWorkflowCheckboxOption, EnumWorkflowCoreCodeSettingKey, EnumWorkflowHistoryStatus, ErrorType, EventData, EventType, ExactOneValueInTableValidator, ExportAllMode, ExportItem, ExportItemType, ExportItemsMode, ExportManyModel, ExportManyResultModel, ExportModel, ExportService, ExportWithoutTemplateModel, Extension, ExtensionsConst, FILE_TYPES, FederationService, FieldCheckboxCrudList, FieldColExpandCrudList, FieldColReorderCrudList, FieldDefineHasTask, FieldDefineIsTaskFormControl, FieldDefineIsWorkflowControl, FieldFunctionCrudList, FieldIndexInDataSource, FieldOrderCrudList, FieldRowSpan, FieldWorkflowCodeInCrudForm, FileDataService, FileExplorerService, FileExtensions, FileManagerComponent, FileManagerControlSchema, FileManagerMode, FileManagerSetting, FileObjectService, FilePickerDialogComponent, FilePickerSetting, FileType, FileTypeFlag, FileUploadComponent, FileUploadControlSchema, FileUploadMode, FileUploadSetting, FileV4Service, Filter, FolderService, FormControlBase, FormControlBaseWithService, FormSchemaBase, FormSchemaBaseWithService, FormState, Gender, GenerateLinkDownloadDTO, GenericGuardChildService, GenericGuardService, GlobalService, GmailCorrector, GridInfo, GuardService, GuardSvService, HeightType, HighPerformanceService, HighlightPipe, HoSoDoiTacService, HtmlFormatPipe, HttpOptions, ImageService, ImageUploaderControlSchema, Include, JsPlumbOption, KeyFieldGetRefType, KeyFilterStateByMenuCongViec, KeyFlashShow, KeyFunctionReload, KeyValueComponent, KeyValueControlSchema, LabelSchema, LabelWFNhomTrangThai, LabelWorkflowCoreStatus, LengthValidator, ListHelperService, LoaiPhieuDeXuat, LocalCacheService, LowerCorrector, MA_THONG_BAO_PHAN_HE, MaActionBatDauQuyTrinh, ManagerType, MaskControlSchema, MasterDataItem, MasterDataPipe, MasterDataService, MenuService, MenuSource, MergeConfigModel, MethodResult, ModelKySoDonVi, ModelSchema, ModuleConfigService, MultiTranslateHttpLoader, MultipleReferenceDataFormatPipe, NameValidator, NodeService, NotificationObjectType, NotificationService, NotifierService, NotifierType, NumberCompareValidator, NumberOnlyValidator, NumberRangeControlSchema, Operator, OrganizationFormatPipe, OrganizationNameFormatPipe, OrganizationPickerControlSchema, OrganizationService, OrganizationsFormatPipe, PageInfo, PageSetting, Pair, PassportValidator, PasswordValidator, Pattern, PercentControlSchema, PermissionBase, PermissionConstant, PermissionService, PermissionStorage, PermissionTypes, PermissionUtilsComponent, PersonalSetting, PhanQuyenModel, PhoneNumberValidator, PhoneValidator, PopupSize, PositionService, PrintService, PublicFunction, QueryBuilderComponent, QueryBuilderGroupComponent, QueryBuilderRuleComponent, QueryGroup, QueryRule, RELOAD_FILE_LIST, RadioButtonListControlSchema, RandomDataService, RefField, ReferenceDataFormatPipe, ReferenceTextControlSchema, RegexSplitFieldByItem, ReponseResult, ReportQueueComponent, RequiredFieldsValidator, RequiredValidator, RowColorOption, RowExcel, SHARE_COMPONENT_ID, SHARE_EVENT, SafeHtmlPipe, SafeStylePipe, SafeUrlPipe, SameValueValidator, ScalarValueValidator, SchemaBase, SecurePipe, ServiceFileUploadComponent, ServiceRequestModel, ServiceRequestModelV5, SessionTypes, SharedFolderType, SignalRService, SimpleDicItem, SimpleDictionary, Sort, SortDirs, SpanControlSchema, SplashComponentComponent, StartupBusinessComponentBase, StateComponent, StateMachineTopic, StateMachinesConnectionMetadataComponent, StateMachinesDesignerComponent, StateMachinesService, StateMetadataComponent, Status, StatusAction, StatusGroup, StatusOption, StatusOrg, StatusUser, StorageService, StorageUpdatedService, StringCompareOption, StringFormatPipe, SummaryPipe, SwitchControlSchema, TBL_DM_COSODAOTAO_CONSTS, TBL_DM_PHONGHOC_CONSTS, TBL_KTX_NGUOITHUE_HOSO, TBL_TS_PHIEUDEXUAT, TBL_TS_TAISANCODINH_CONSTS, TabViewData, TableSchema, TagSeparator, TaiLieuComponent, TaxCodeValidator, TemplateConstant, TemplateControlSchema, TemplateInstanceService, TemplateService, TemplateTextItem, TemplateTextMany, TemplateTextV4Service, TemplateType, TemplateV4Service, TenContainer, TextAlign, TextAreaControlSchema, TextControlSchema, TextControlSchemaWithService, TitleSchema, TnClientCommand, TnClientService, TnComponentConfig, TnCustomScrollbarComponent, TnDatePipe, TnMenu, TnMenuItem, TnReorderableColumnDirective, TnReorderableRowDirective, TnSortIcon, TnSortableColumnDirective, TnTreeTableToggler, TnUser, TnxSharedModule, TopicReloadCongViecV5, TopicReloadCountCongViecV5, TopicReloadNotification, TrangThaiMasterData, TrangThais, TreeDataOption, TreeListBase, TreeNode, TrimCorrector, TrimEndCorrector, TrimStartCorrector, TypeDanhMucAPI, UniqueFieldInTableValidator, UniqueNumberService, UpperCorrector, UserGroupRealService, UserGroupService, UserOnlineDetailsService, UserPickerControlSchema, UserPickerDialogComponent, UserPublicInfo, UserService, UserType, UserV5Service, Validation, ValueType, VanBanPickerControlSchema, ViewContainerRefDirective, VirtualBaseService, WorkflowConfigAdvance, WorkflowCoreStatusEnum, WorkflowFieldStateCode, WorkflowHistoryService, WorkflowPermissionDetailService, WorkflowPickerComponent, WorkflowService, WorkflowSetting, WorkflowSettingNew, WorkflowSettingsService, WrapPickerControlSchema, addDay, addZero, appendDefaultFilter, clearAll, clone, cloneOld, coreDeclaration, coreModuleImport, coreProvider, createJsPlumnInstance, createOrgPickerControl, createOrgPickerControlNew, createRolePickerControl, createUserGroupPickerControl, createUserPickerControl, dataSourceIcon, dateDiff, fileTypeSource, genQueryFromFilters, getDateFromStringDateVN, getDayOfWeek, getEnvironmentByName, getEnvironmentData, getListMenuByName, getMenuData, getMonday, getStringDate, getStringDateTime, getStringDateVN, getStringDateVNLocal, getTimeSpan, isArray, isBoolean, isDate, isFunction, isLiteralObject, isNumber, isObjectOld, isRegular, isSimpleType, isString, isValidDate, isValidTime, keyUserSurveyLocal, loadRemoteModule, loadRemotePageModule, mapProperty, maximumPageSize, mergeJSON, mergeJSONOld, moduleConfigFunc, monthDiff, multipleSort, romanize, setMetadataConnection, setMetadataState, translateStateMachine, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14, ɵ15, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, LoggerService as ɵa, DropdownService as ɵb, ProcessWorkflowFormComponent as ɵba, CongViecDinhKemService as ɵbb, CongViecThayDoiService as ɵbc, AddressComponent as ɵbd, AfterViewCheckedComponent as ɵbe, AdvanceSearchComponent as ɵbf, AutoCompletePickerComponent as ɵbg, ImageUploaderComponent as ɵbh, CheckBoxListComponent as ɵbi, CoCauToChucPickerListComponent as ɵbj, CoCauToChucPickerListNewComponent as ɵbk, FormBuilderComponent as ɵbl, BaseCongViecTestComponent as ɵbm, BaseCauHinhWorkflowDetailComponent as ɵbn, BaseDmLoaiCongViecFormComponent as ɵbo, BaseDmLinhVucCongViecFormComponent as ɵbp, BaseDmPriorityFormComponent as ɵbq, BaseCongviecDinhkemComponent as ɵbr, BaseCongviecDinhkemFormComponent as ɵbs, DatetimePickerComponent as ɵbt, DatetimePickerRangeComponent as ɵbu, DynamicNodeComponent as ɵbv, EntityPickerBoxComponent as ɵbw, EntityPickerDataComponent as ɵbx, EntityPickerSelectedComponent as ɵby, EntityPickerComponent as ɵbz, EntityPickerService as ɵc, EntityPickerDialogComponent as ɵca, EntityPickerTreeDataComponent as ɵcb, EntityPickerTreeSelectedComponent as ɵcc, EntityPermissionComponent as ɵcd, EquationEditorComponent as ɵce, MaskComponent as ɵcf, NumberPickerRangeComponent as ɵcg, PagingNextBackOnlyComponent as ɵch, RadioButtonListComponent as ɵci, VanBanPickerComponent as ɵcj, VanBanDenService as ɵck, VanBanDiService as ɵcl, VanBanPickerDialogComponent as ɵcm, VanbanDiPickerComponent as ɵcn, VanbanDenPickerComponent as ɵco, CongViecPickerComponent as ɵcp, SettingsComponent as ɵcq, SettingsRowComponent as ɵcr, SettingsWorkflowComponent as ɵcs, SettingsWorkflowNo1Component as ɵct, SimpleWorkflowFormComponent as ɵcu, ProcessWorkflowTargetComponent as ɵcv, ChoYKienFormComponent as ɵcw, SplashComponentV1Component as ɵcx, SplashComponentV2Component as ɵcy, SplashComponentV3Component as ɵcz, ExceptionHandlerService as ɵd, SplashComponentV4Component as ɵda, StateMachinesConnectionReceiverComponent as ɵdb, StateMachinesConnectionReceiverConditionComponent as ɵdc, StateMachinesConnectionReceiverDepartmentComponent as ɵdd, StateMachinesConnectionReceiverGroupComponent as ɵde, StateMachinesConnectionReceiverUserComponent as ɵdf, StateMachinesConnectionReceiverRoleComponent as ɵdg, StateMachinesConnectionSenderComponent as ɵdh, StartWorkflowComponent as ɵdi, ShareLinkByPermissionComponent as ɵdj, WorkflowSettingNewComponent as ɵdk, PermissionSharingComponent as ɵdl, WorkflowPermissionService as ɵdm, TnCheckboxComponent as ɵdn, TnDialogComponent as ɵdo, TnColorPickerComponent as ɵdp, TnTinymceComponent as ɵdq, TnTabViewComponent as ɵdr, TableDetailFormComponent as ɵds, FileIconPipe as ɵdt, FileSizePipe as ɵdu, QuickAddFormComponent as ɵdv, PreventShiftTabDirective as ɵdw, TnTemplateDirective as ɵdx, UserPickerComponent as ɵdy, UserPickerBoxComponent as ɵdz, CanBo_HoSoService as ɵe, CoCauToChucTestService as ɵea, TnAppHelpComponent as ɵeb, PathNameService as ɵec, HelperCurrentPageComponent as ɵed, TnAppNotificationListComponent as ɵee, TnAppNotificationComponent as ɵef, FolderFormComponent as ɵeg, FileFormComponent as ɵeh, FileViewerComponent as ɵei, FileVersionListComponent as ɵej, ViewDetailComponent as ɵek, WorkflowHistoryComponent as ɵel, WorkflowHistoryDialogComponent as ɵem, WorkflowHistoryNewComponent as ɵen, WorkflowSettingComponent as ɵeo, WorkflowSettingDialogComponent as ɵep, WorkflowPermissionComponent as ɵeq, WorkflowPermissionFormComponent as ɵer, ReferenceTextBoxComponent as ɵes, QrCodeGeneratorComponent as ɵet, AddNewsComponent as ɵeu, ArticleService as ɵev, NewsCategoryService as ɵew, UniversalLinkProcessorComponent as ɵex, SignatureDetailComponent as ɵey, KySoSimDanhSachChuKyComponent as ɵez, ListBase as ɵf, KySoSimChuKyUserService as ɵfa, FileKySoSimComponent as ɵfb, KySoSimSignPDFService as ɵfc, TaiLieuCuaToiComponent as ɵfd, KhaiThacTaiLieuDungChungComponent as ɵfe, DanhMucDungChungService as ɵff, TnTemplateComponent as ɵfg, DropdownSettingFormComponent as ɵfh, CheckReadyComponent as ɵfi, WorkflowButtonComponent as ɵfj, TnAccordionTabComponent as ɵfk, ListComponentBase as ɵg, TreeTableComponent as ɵh, NotFoundComponent as ɵi, SendAccessTokenInterceptor as ɵj, LogInterceptor as ɵk, PermissionUtilsInterceptor as ɵl, TraceInterceptor as ɵm, EntityWorkflowSettingService as ɵn, EntityWorkflowHistoryService as ɵo, EntityPermissionService as ɵp, ChatService as ɵq, MyDriveService as ɵr, ContentsService as ɵs, StatusExtendsService as ɵt, MessageBoardService as ɵu, FileExplorerNewService as ɵv, FileVersionService as ɵw, FileManagerService as ɵx, DM_ChucVuService as ɵy, RoleService as ɵz };
|
|
54370
|
+
export { AccessDeniedComponent, Action, ActionChoYKienBase, ActionThuHoiBase, ActionUpdateModel, AddressControlSchema, AddressService, AdvanceSearchData, AdvanceSearchSetting, AnnouncementReadsService, AnnouncementsService, AppComponentBase, AppListService, ApplicationContextService, ApprovalPipe, ArrayPair, AtLeastOneRowTableValidator, AuthenService, AuthorizeDirective, AutoCompleteControlSchema, AutoCompletePickerControlSchema, AutocompleteDatasourceComponent, AvatarUploaderComponent, BaseCauHinhWorkflowComponent, BaseCongViecComponent, BaseCongViecFormComponent, BaseDmLinhVucCongViecComponent, BaseDmLoaiCongViecComponent, BaseDmPriorityComponent, BaseMenuService, BaseModule, BaseService, BooleanFormatPipe, ButtonControlSchema, ButtonPermission, ButtonPermissions, ButtonTextActionCongViec, CONFIG_CALENDAR_VIETNAMESE, CalculationEngineService, CanBoHoSoService, CanBo_HoSo_CoCauToChucService, CauHinhWorkflowService, CccdValidator, CellExcel, ChatBoxComponent, ChatSendMessageBoxComponent, CheckBoxListControlSchema, CheckControlVisibleService, CheckDuplicateFieldsValidator, CheckDuplicateValidator, CheckboxControlSchema, ChipsControlSchema, ClientV5Service, CoCauToChucControlSchema, CoCauToChucNewService, CoCauToChucPickerComponent, CoCauToChucPickerControlSchema, CoCauToChucPickerControlSchemaNew, CoCauToChucService, CodeValidator, ColorBlack, ColorControlSchema, ColorPickerControlSchema, ColorWhite, Column, ColumnSchemaBase, ColumnSetting, ColumnSettingDetail, ComCtxConstants, CommandType, CommonDashboardComponent, CommonErrorCode, CommonLibComponent, CommonSearchFormComponent, CommonService, CompareValidator, ComponentBase, ComponentBaseWithButton, ComponentConstants, ComponentContextService, ConditionalBuilderService, CongViecLienQuanService, CongViecNextFirstStepComponent, CongViecPickerControlSchema, CongViecService, ContainerSchema, ControlTreeNode, ControlType, ConvertMoneyToWordPipe, CoreConfigService, CrudBase, CrudFormComponent, CrudFormCustomFunction, CrudFormData, CrudFormSetting, CrudListComponent, CrudListConfig, CrudListCustomFunction, CrudListData, CrudListHelper, CrudListSetting, CrudService, CustomControlSchema, CustomRouterService, CustomizeUiModel, CustomizeUiService, DanhmucApiService, DataExcel, DataFormBase, DataListBase, DataSourceControlSchema, DataSourceGioiTinh, DataSourcePermissionBase, DataSourceStateType, DataSourceTargetType, DataSourceUserRule, DataSourceUserSender, DataSourceWorkflowCheckboxOption, DataSourceWorkflowCoreStatus, DataType, DateCompareValidator, DateTimeControlSchema, DateTimeRangeControlSchema, DbOrganizationOrganizationService, DbOrganizationPositionService, Deadline, DeadlineType, DhvinhGuardService, DialogModel, DmChucVuService, DmLinhVucCongViecService, DmLoaiCongViecService, DmPriorityService, DomService, DownloadLinkService, DropdownComponent, DropdownControlSchema, DropdownOptions, DummyWorkflowCode, DynamicComponentService, ENUM_DON_VI_HANH_CHINH, EXPLORER_TYPES, EXPORT_VERSION_V4, EXPORT_VERSION_V5, EditFileCommand, EditorControlSchema, EformService, EmailValidator, EntityMedataDataSetting, EntityMetadataService, EntityPickerColumn, EntityPickerControlSchema, EntityWorkflowType, EnumActionType, EnumAppSwitcherCode, EnumCanBo, EnumControlPickerType, EnumFileLayout, EnumGetRefType, EnumGioiTinh, EnumHocHamHocVi, EnumLoaiDanhSachCongViec, EnumLoaiVanBanBase$1 as EnumLoaiVanBanBase, EnumPermissionType, EnumProcessWorkflowType, EnumStateByMenuCongViec, EnumStateType, EnumTargetType, EnumTypeSplash, EnumUserRule, EnumUserSource, EnumWFNhomTrangThai, EnumWorkflowCheckboxOption, EnumWorkflowCoreCodeSettingKey, EnumWorkflowHistoryStatus, ErrorType, EventData, EventType, ExactOneValueInTableValidator, ExportAllMode, ExportItem, ExportItemType, ExportItemsMode, ExportManyModel, ExportManyResultModel, ExportModel, ExportService, ExportWithoutTemplateModel, Extension, ExtensionsConst, FILE_TYPES, FederationService, FieldCheckboxCrudList, FieldColExpandCrudList, FieldColReorderCrudList, FieldDefineHasTask, FieldDefineIsTaskFormControl, FieldDefineIsWorkflowControl, FieldFunctionCrudList, FieldIndexInDataSource, FieldOrderCrudList, FieldRowSpan, FieldWorkflowCodeInCrudForm, FileDataService, FileExplorerService, FileExtensions, FileManagerComponent, FileManagerControlSchema, FileManagerMode, FileManagerSetting, FileObjectService, FilePickerDialogComponent, FilePickerSetting, FileType, FileTypeFlag, FileUploadComponent, FileUploadControlSchema, FileUploadMode, FileUploadSetting, FileV4Service, Filter, FolderService, FormControlBase, FormControlBaseWithService, FormSchemaBase, FormSchemaBaseWithService, FormState, Gender, GenerateLinkDownloadDTO, GenericGuardChildService, GenericGuardService, GlobalService, GmailCorrector, GridInfo, GuardService, GuardSvService, HeightType, HighPerformanceService, HighlightPipe, HoSoDoiTacService, HtmlFormatPipe, HttpOptions, ImageService, ImageUploaderControlSchema, Include, JsPlumbOption, KeyFieldGetRefType, KeyFilterStateByMenuCongViec, KeyFlashShow, KeyFunctionReload, KeyValueComponent, KeyValueControlSchema, LabelSchema, LabelWFNhomTrangThai, LabelWorkflowCoreStatus, LengthValidator, ListHelperService, LoaiPhieuDeXuat, LocalCacheService, LowerCorrector, MA_THONG_BAO_PHAN_HE, MaActionBatDauQuyTrinh, ManagerType, MaskControlSchema, MasterDataItem, MasterDataPipe, MasterDataService, MenuService, MenuSource, MergeConfigModel, MethodResult, ModelKySoDonVi, ModelSchema, ModuleConfigService, MultiTranslateHttpLoader, MultipleReferenceDataFormatPipe, NameValidator, NodeService, NotificationObjectType, NotificationService, NotifierService, NotifierType, NumberCompareValidator, NumberOnlyValidator, NumberRangeControlSchema, Operator, OrganizationFormatPipe, OrganizationNameFormatPipe, OrganizationPickerControlSchema, OrganizationService, OrganizationsFormatPipe, PageInfo, PageSetting, Pair, PassportValidator, PasswordValidator, Pattern, PercentControlSchema, PermissionBase, PermissionConstant, PermissionService, PermissionStorage, PermissionTypes, PermissionUtilsComponent, PersonalSetting, PhanQuyenModel, PhoneNumberValidator, PhoneValidator, PopupSize, PositionService, PrintService, PublicFunction, QueryBuilderComponent, QueryBuilderGroupComponent, QueryBuilderRuleComponent, QueryGroup, QueryRule, RELOAD_FILE_LIST, RadioButtonListControlSchema, RandomDataService, RefField, ReferenceDataFormatPipe, ReferenceTextControlSchema, RegexSplitFieldByItem, ReponseResult, ReportQueueComponent, RequiredFieldsValidator, RequiredValidator, RowColorOption, RowExcel, SHARE_COMPONENT_ID, SHARE_EVENT, SafeHtmlPipe, SafeStylePipe, SafeUrlPipe, SameValueValidator, ScalarValueValidator, SchemaBase, SecurePipe, ServiceFileUploadComponent, ServiceRequestModel, ServiceRequestModelV5, SessionTypes, SharedFolderType, SignalRService, SimpleDicItem, SimpleDictionary, Sort, SortDirs, SpanControlSchema, SplashComponentComponent, StartupBusinessComponentBase, StateComponent, StateMachineTopic, StateMachinesConnectionMetadataComponent, StateMachinesDesignerComponent, StateMachinesService, StateMetadataComponent, Status, StatusAction, StatusGroup, StatusOption, StatusOrg, StatusUser, StorageService, StorageUpdatedService, StringCompareOption, StringFormatPipe, SummaryPipe, SwitchControlSchema, TBL_DM_COSODAOTAO_CONSTS, TBL_DM_PHONGHOC_CONSTS, TBL_KTX_NGUOITHUE_HOSO, TBL_TS_PHIEUDEXUAT, TBL_TS_TAISANCODINH_CONSTS, TabViewData, TableSchema, TagSeparator, TaiLieuComponent, TaxCodeValidator, TemplateConstant, TemplateControlSchema, TemplateInstanceService, TemplateService, TemplateTextItem, TemplateTextMany, TemplateTextV4Service, TemplateType, TemplateV4Service, TenContainer, TextAlign, TextAreaControlSchema, TextControlSchema, TextControlSchemaWithService, TitleSchema, TnClientCommand, TnClientService, TnComponentConfig, TnCustomScrollbarComponent, TnDatePipe, TnMenu, TnMenuItem, TnReorderableColumnDirective, TnReorderableRowDirective, TnSortIcon, TnSortableColumnDirective, TnTreeTableToggler, TnUser, TnxSharedModule, TopicReloadCongViecV5, TopicReloadCountCongViecV5, TopicReloadNotification, TrangThaiMasterData, TrangThais, TreeDataOption, TreeListBase, TreeNode, TrimCorrector, TrimEndCorrector, TrimStartCorrector, TypeDanhMucAPI, UniqueFieldInTableValidator, UniqueNumberService, UpperCorrector, UserGroupRealService, UserGroupService, UserOnlineDetailsService, UserPickerControlSchema, UserPickerDialogComponent, UserPublicInfo, UserService, UserType, UserV5Service, Validation, ValueType, VanBanPickerControlSchema, ViewContainerRefDirective, VirtualBaseService, WorkflowConfigAdvance, WorkflowCoreStatusEnum, WorkflowFieldStateCode, WorkflowHistoryService, WorkflowPermissionDetailService, WorkflowPickerComponent, WorkflowService, WorkflowSetting, WorkflowSettingNew, WorkflowSettingsService, WrapPickerControlSchema, addDay, addZero, appendDefaultFilter, clearAll, clone, cloneOld, coreDeclaration, coreModuleImport, coreProvider, createJsPlumnInstance, createOrgPickerControl, createOrgPickerControlNew, createRolePickerControl, createUserGroupPickerControl, createUserPickerControl, dataSourceIcon, dateDiff, fileTypeSource, genQueryFromFilters, getDateFromStringDateVN, getDayOfWeek, getEnvironmentByName, getEnvironmentData, getListMenuByName, getMenuData, getMonday, getStringDate, getStringDateTime, getStringDateVN, getStringDateVNLocal, getTimeSpan, isArray, isBoolean, isDate, isFunction, isLiteralObject, isNumber, isObjectOld, isRegular, isSimpleType, isString, isValidDate, isValidTime, keyUserSurveyLocal, loadRemoteModule, loadRemotePageModule, mapProperty, maximumPageSize, mergeJSON, mergeJSONOld, moduleConfigFunc, monthDiff, multipleSort, romanize, setMetadataConnection, setMetadataState, translateStateMachine, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14, ɵ15, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, LoggerService as ɵa, DropdownService as ɵb, ProcessWorkflowFormComponent as ɵba, CongViecDinhKemService as ɵbb, CongViecThayDoiService as ɵbc, AddressComponent as ɵbd, AfterViewCheckedComponent as ɵbe, AdvanceSearchComponent as ɵbf, AutoCompletePickerComponent as ɵbg, ImageUploaderComponent as ɵbh, CheckBoxListComponent as ɵbi, CoCauToChucPickerListComponent as ɵbj, CoCauToChucPickerListNewComponent as ɵbk, FormBuilderComponent as ɵbl, BaseCongViecTestComponent as ɵbm, BaseCauHinhWorkflowDetailComponent as ɵbn, BaseDmLoaiCongViecFormComponent as ɵbo, BaseDmLinhVucCongViecFormComponent as ɵbp, BaseDmPriorityFormComponent as ɵbq, BaseCongviecDinhkemComponent as ɵbr, BaseCongviecDinhkemFormComponent as ɵbs, DatetimePickerComponent as ɵbt, DatetimePickerRangeComponent as ɵbu, DynamicNodeComponent as ɵbv, EntityPickerBoxComponent as ɵbw, EntityPickerDataComponent as ɵbx, EntityPickerSelectedComponent as ɵby, EntityPickerComponent as ɵbz, EntityPickerService as ɵc, EntityPickerDialogComponent as ɵca, EntityPickerTreeDataComponent as ɵcb, EntityPickerTreeSelectedComponent as ɵcc, EntityPermissionComponent as ɵcd, EquationEditorComponent as ɵce, MaskComponent as ɵcf, NumberPickerRangeComponent as ɵcg, PagingNextBackOnlyComponent as ɵch, RadioButtonListComponent as ɵci, VanBanPickerComponent as ɵcj, VanBanDenService as ɵck, VanBanDiService as ɵcl, VanBanPickerDialogComponent as ɵcm, VanbanDiPickerComponent as ɵcn, VanbanDenPickerComponent as ɵco, CongViecPickerComponent as ɵcp, SettingsComponent as ɵcq, SettingsRowComponent as ɵcr, SettingsWorkflowComponent as ɵcs, SettingsWorkflowNo1Component as ɵct, SimpleWorkflowFormComponent as ɵcu, ProcessWorkflowTargetComponent as ɵcv, ChoYKienFormComponent as ɵcw, StateMachinesConnectionReceiverComponent as ɵcx, StateMachinesConnectionReceiverConditionComponent as ɵcy, StateMachinesConnectionReceiverDepartmentComponent as ɵcz, ExceptionHandlerService as ɵd, StateMachinesConnectionReceiverGroupComponent as ɵda, StateMachinesConnectionReceiverUserComponent as ɵdb, StateMachinesConnectionReceiverRoleComponent as ɵdc, StateMachinesConnectionSenderComponent as ɵdd, StartWorkflowComponent as ɵde, ShareLinkByPermissionComponent as ɵdf, WorkflowSettingNewComponent as ɵdg, PermissionSharingComponent as ɵdh, WorkflowPermissionService as ɵdi, TnCheckboxComponent as ɵdj, TnDialogComponent as ɵdk, TnColorPickerComponent as ɵdl, TnTinymceComponent as ɵdm, TnTabViewComponent as ɵdn, TableDetailFormComponent as ɵdo, FileIconPipe as ɵdp, FileSizePipe as ɵdq, QuickAddFormComponent as ɵdr, PreventShiftTabDirective as ɵds, TnTemplateDirective as ɵdt, UserPickerComponent as ɵdu, UserPickerBoxComponent as ɵdv, CoCauToChucTestService as ɵdw, TnAppHelpComponent as ɵdx, PathNameService as ɵdy, HelperCurrentPageComponent as ɵdz, CanBo_HoSoService as ɵe, TnAppNotificationListComponent as ɵea, TnAppNotificationComponent as ɵeb, FolderFormComponent as ɵec, FileFormComponent as ɵed, FileViewerComponent as ɵee, FileVersionListComponent as ɵef, ViewDetailComponent as ɵeg, WorkflowHistoryComponent as ɵeh, WorkflowHistoryDialogComponent as ɵei, WorkflowHistoryNewComponent as ɵej, WorkflowSettingComponent as ɵek, WorkflowSettingDialogComponent as ɵel, WorkflowPermissionComponent as ɵem, WorkflowPermissionFormComponent as ɵen, ReferenceTextBoxComponent as ɵeo, QrCodeGeneratorComponent as ɵep, AddNewsComponent as ɵeq, ArticleService as ɵer, NewsCategoryService as ɵes, UniversalLinkProcessorComponent as ɵet, SignatureDetailComponent as ɵeu, KySoSimDanhSachChuKyComponent as ɵev, KySoSimChuKyUserService as ɵew, FileKySoSimComponent as ɵex, KySoSimSignPDFService as ɵey, TaiLieuCuaToiComponent as ɵez, ListBase as ɵf, KhaiThacTaiLieuDungChungComponent as ɵfa, DanhMucDungChungService as ɵfb, TnTemplateComponent as ɵfc, DropdownSettingFormComponent as ɵfd, CheckReadyComponent as ɵfe, WorkflowButtonComponent as ɵff, TnAccordionTabComponent as ɵfg, ListComponentBase as ɵg, TreeTableComponent as ɵh, NotFoundComponent as ɵi, SendAccessTokenInterceptor as ɵj, LogInterceptor as ɵk, PermissionUtilsInterceptor as ɵl, TraceInterceptor as ɵm, EntityWorkflowSettingService as ɵn, EntityWorkflowHistoryService as ɵo, EntityPermissionService as ɵp, ChatService as ɵq, MyDriveService as ɵr, ContentsService as ɵs, StatusExtendsService as ɵt, MessageBoardService as ɵu, FileExplorerNewService as ɵv, FileVersionService as ɵw, FileManagerService as ɵx, DM_ChucVuService as ɵy, RoleService as ɵz };
|
|
55104
54371
|
//# sourceMappingURL=tnx-shared.js.map
|