tnx-shared 5.2.9 → 5.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/assets/gulpfile.js +10 -2
  2. package/bundles/tnx-shared.umd.js +471 -163
  3. package/bundles/tnx-shared.umd.js.map +1 -1
  4. package/bundles/tnx-shared.umd.min.js +1 -1
  5. package/bundles/tnx-shared.umd.min.js.map +1 -1
  6. package/classes/base/component-base.d.ts +3 -0
  7. package/classes/base/component-base.d.ts.map +1 -1
  8. package/classes/base/list-base.d.ts +2 -0
  9. package/classes/base/list-base.d.ts.map +1 -1
  10. package/classes/environment-schema.d.ts +13 -4
  11. package/classes/environment-schema.d.ts.map +1 -1
  12. package/classes/form-schema.d.ts +4 -0
  13. package/classes/form-schema.d.ts.map +1 -1
  14. package/components/common-app-component/app-topbar-v1/app-topbar-v1.component.d.ts +4 -2
  15. package/components/common-app-component/app-topbar-v1/app-topbar-v1.component.d.ts.map +1 -1
  16. package/components/common-app-component/default-setting-form/default-data-settings.component.d.ts +20 -0
  17. package/components/common-app-component/default-setting-form/default-data-settings.component.d.ts.map +1 -0
  18. package/components/common-app-component/default-setting-form/default-data-settings.component.ngfactory.d.ts.map +1 -0
  19. package/components/common-app-component/default-setting-form/default-data-settings.component.scss.shim.ngstyle.d.ts.map +1 -0
  20. package/components/crud/advance-search/advance-search.component.d.ts +2 -2
  21. package/components/crud/advance-search/advance-search.component.d.ts.map +1 -1
  22. package/components/crud/crud-form/crud-form.component.d.ts.map +1 -1
  23. package/components/datetime-picker/datetime-picker.component.d.ts.map +1 -1
  24. package/components/workflow/services/workflow-settings.service.d.ts +2 -0
  25. package/components/workflow/services/workflow-settings.service.d.ts.map +1 -1
  26. package/esm2015/app-context/application-context.service.js +2 -1
  27. package/esm2015/classes/base/component-base.js +26 -10
  28. package/esm2015/classes/base/list-base.js +31 -2
  29. package/esm2015/classes/environment-schema.js +4 -4
  30. package/esm2015/classes/form-schema.js +2 -1
  31. package/esm2015/components/common-app-component/app-root-menu/app-root-menu.component.js +2 -2
  32. package/esm2015/components/common-app-component/app-topbar-v1/app-topbar-v1.component.js +24 -18
  33. package/esm2015/components/common-app-component/default-setting-form/default-data-settings.component.js +209 -0
  34. package/esm2015/components/crud/advance-search/advance-search.component.js +24 -21
  35. package/esm2015/components/crud/crud-form/crud-form.component.js +4 -2
  36. package/esm2015/components/datetime-picker/datetime-picker.component.js +7 -4
  37. package/esm2015/components/workflow/services/workflow-settings.service.js +6 -1
  38. package/esm2015/services/environment.service.js +25 -6
  39. package/esm2015/tnx-shared.js +89 -88
  40. package/esm2015/tnx-shared.module.js +3 -1
  41. package/fesm2015/tnx-shared.js +348 -61
  42. package/fesm2015/tnx-shared.js.map +1 -1
  43. package/package.json +2 -2
  44. package/services/environment.service.d.ts +19 -4
  45. package/services/environment.service.d.ts.map +1 -1
  46. package/tnx-shared.d.ts +88 -87
  47. package/tnx-shared.d.ts.map +1 -1
  48. package/tnx-shared.metadata.json +1 -1
  49. package/tnx-shared.module.d.ts +2 -1
  50. package/tnx-shared.module.d.ts.map +1 -1
  51. package/tnx-shared.module.ngfactory.d.ts.map +1 -1
  52. package/assets/Dockerfile.ci +0 -5
  53. package/assets/deploy.client.ci +0 -42
  54. package/assets/gulpfile.js.bak +0 -703
@@ -227,6 +227,7 @@
227
227
  NOTIFICATION_USER_CHANGE: 'NOTIFICATION_USER_CHANGE'
228
228
  };
229
229
 
230
+ // test
230
231
  var ApplicationContextService = /** @class */ (function () {
231
232
  function ApplicationContextService() {
232
233
  this.childsContext = [];
@@ -755,7 +756,7 @@
755
756
  EnvironmentService.prototype.getServiceEndpointByServiceInfo = function (serviceInfo) {
756
757
  var endpoint = '';
757
758
  if (serviceInfo.useLocal) {
758
- endpoint = serviceInfo.localHttpEndpoint;
759
+ endpoint = serviceInfo.localhttpendpoint;
759
760
  }
760
761
  else {
761
762
  var gateway = this.environment.appMetadata.gateway;
@@ -810,6 +811,12 @@
810
811
  }
811
812
  return endpoint;
812
813
  };
814
+ EnvironmentService.prototype.getUserSettingConfig = function () {
815
+ return this.environment.userSettingConfig;
816
+ };
817
+ EnvironmentService.prototype.getUsersHasPermissionResetPassword = function () {
818
+ return this.environment.userHasPermissionResetPassword;
819
+ };
813
820
  EnvironmentService.prototype.getHttpClientEndpoint = function (serviceCode) {
814
821
  return '';
815
822
  };
@@ -904,7 +911,13 @@
904
911
  return this.isTrue(this.environment.enablePopulateLog);
905
912
  };
906
913
  EnvironmentService.prototype.getShowDefaultSetting = function () {
907
- return this.isTrue(this.environment.appMetadata.main.showDefaultSetting);
914
+ var app = this.getObjectApp(this.appCode);
915
+ return this.isTrue(app === null || app === void 0 ? void 0 : app.showdefaultsetting);
916
+ };
917
+ EnvironmentService.prototype.getConfigDefaultSetting = function () {
918
+ var _a, _b;
919
+ var app = this.getObjectApp(this.appCode);
920
+ return (_b = (_a = app === null || app === void 0 ? void 0 : app.configdefaultsetting) === null || _a === void 0 ? void 0 : _a.column) !== null && _b !== void 0 ? _b : [];
908
921
  };
909
922
  EnvironmentService.prototype.getDisableNotification = function () {
910
923
  return this.isTrue(this.environment.disableNotification);
@@ -953,10 +966,11 @@
953
966
  return (_b = (_a = this.environment.defaultValue) === null || _a === void 0 ? void 0 : _a.kySoSim) === null || _b === void 0 ? void 0 : _b.tsaUrl;
954
967
  };
955
968
  EnvironmentService.prototype.getButtonPermissions = function () {
956
- return this.environment.buttonPermissions;
969
+ var _a;
970
+ return (_a = this.environment.buttonPermissions) !== null && _a !== void 0 ? _a : [];
957
971
  };
958
- EnvironmentService.prototype.getSettingDataDefault = function () {
959
- return this.environment.settingDataDefault;
972
+ EnvironmentService.prototype.getFieldsInDefaultSetting = function () {
973
+ return this.environment.fieldsInDefaultSetting;
960
974
  };
961
975
  EnvironmentService.prototype.getKeyPressPermissionUtils = function () {
962
976
  return this.environment.keyPressPermissionUtils;
@@ -991,6 +1005,12 @@
991
1005
  return null;
992
1006
  return this.environment.customConfig[key];
993
1007
  };
1008
+ EnvironmentService.prototype.getListDonViQuanLyNganh = function () {
1009
+ return [];
1010
+ };
1011
+ EnvironmentService.prototype.getListDonViQuanLyHocPhan = function () {
1012
+ return [];
1013
+ };
994
1014
  return EnvironmentService;
995
1015
  }());
996
1016
  EnvironmentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EnvironmentService_Factory() { return new EnvironmentService(i0.ɵɵinject(moduleConfigFunc, 8)); }, token: EnvironmentService, providedIn: "root" });
@@ -3324,9 +3344,6 @@
3324
3344
  };
3325
3345
  var mergeJSON = function (target, source) {
3326
3346
  var e_1, _a;
3327
- if (Object.keys(source).length == 0) {
3328
- return target;
3329
- }
3330
3347
  if (isArray(source)) {
3331
3348
  if (!isArray(target)) {
3332
3349
  target = [];
@@ -3354,6 +3371,9 @@
3354
3371
  target.length = i;
3355
3372
  }
3356
3373
  else if (isLiteralObject(source)) {
3374
+ if (Object.keys(source).length == 0) {
3375
+ return target;
3376
+ }
3357
3377
  if (!isLiteralObject(target))
3358
3378
  target = {};
3359
3379
  else
@@ -3847,6 +3867,7 @@
3847
3867
  var CrudFormSetting = /** @class */ (function () {
3848
3868
  function CrudFormSetting(init) {
3849
3869
  this.disableCaching = false;
3870
+ this.disableDefaultSettingCache = false;
3850
3871
  this.hiddenTrinhKy = true;
3851
3872
  this.schema = [];
3852
3873
  this.buildInSchema = [];
@@ -9087,8 +9108,9 @@
9087
9108
  callBackError(res);
9088
9109
  return;
9089
9110
  }
9090
- if (message)
9111
+ if (message) {
9091
9112
  this._injector.get(NotifierService).showSuccess(message);
9113
+ }
9092
9114
  if (callBack)
9093
9115
  callBack(res);
9094
9116
  };
@@ -9248,8 +9270,9 @@
9248
9270
  ComponentBase.prototype._getValueFromDatasource = function (itemSelected, isMultiple, funcGetLabel) {
9249
9271
  var value = null;
9250
9272
  if (isMultiple) {
9251
- if (itemSelected && itemSelected.length > 0)
9273
+ if (itemSelected && itemSelected.length > 0) {
9252
9274
  value = itemSelected.map(function (q) { return funcGetLabel(q.value); }).join(', ');
9275
+ }
9253
9276
  }
9254
9277
  else {
9255
9278
  if (itemSelected) {
@@ -9354,17 +9377,20 @@
9354
9377
  itemSelected = _b.sent();
9355
9378
  tmpSchema_1 = schema;
9356
9379
  funcGetLabel = tmpSchema_1.funcGetLabel;
9357
- if (!funcGetLabel)
9380
+ if (!funcGetLabel) {
9358
9381
  funcGetLabel = function (item) {
9359
9382
  return item.value[tmpSchema_1.displayField];
9360
9383
  };
9384
+ }
9361
9385
  value_2 = this_1._getValueFromDatasource(itemSelected, schema.multiple, function (item) { return item.ten; });
9362
9386
  if (schema.multiple) {
9363
9387
  if (itemSelected.length > 0) {
9364
- if (schema.funcGetLabel)
9388
+ if (schema.funcGetLabel) {
9365
9389
  value_2 = itemSelected.map(function (q) { return tmpSchema_1.funcGetLabel(q.value); }).join(', ');
9366
- else
9390
+ }
9391
+ else {
9367
9392
  value_2 = itemSelected.map(function (q) { return q.value[tmpSchema_1.displayField]; }).join(', ');
9393
+ }
9368
9394
  }
9369
9395
  else {
9370
9396
  value_2 = null;
@@ -9372,10 +9398,12 @@
9372
9398
  }
9373
9399
  else {
9374
9400
  if (itemSelected) {
9375
- if (schema.funcGetLabel)
9401
+ if (schema.funcGetLabel) {
9376
9402
  value_2 = schema.funcGetLabel(itemSelected.value);
9377
- else
9403
+ }
9404
+ else {
9378
9405
  value_2 = itemSelected.value[schema.displayField];
9406
+ }
9379
9407
  }
9380
9408
  }
9381
9409
  return [3 /*break*/, 19];
@@ -9386,7 +9414,7 @@
9386
9414
  itemSelected = _b.sent();
9387
9415
  tmpSchema_2 = schema;
9388
9416
  funcGetLabel = tmpSchema_2.funcGetLabel;
9389
- if (!funcGetLabel)
9417
+ if (!funcGetLabel) {
9390
9418
  funcGetLabel = function (item) {
9391
9419
  if (item) {
9392
9420
  return item[tmpSchema_2.displayField];
@@ -9395,6 +9423,7 @@
9395
9423
  return null;
9396
9424
  }
9397
9425
  };
9426
+ }
9398
9427
  value_2 = this_1._getValueFromDatasource(itemSelected, schema.multiple, funcGetLabel);
9399
9428
  return [3 /*break*/, 19];
9400
9429
  case 18:
@@ -9412,10 +9441,11 @@
9412
9441
  else {
9413
9442
  dataSource = tmpSchema._component.dropdown._options;
9414
9443
  itemSelected = dataSource.find(function (q) { return q.value == value_2; });
9415
- if (itemSelected)
9444
+ if (itemSelected) {
9416
9445
  itemSelected = {
9417
9446
  value: itemSelected
9418
9447
  };
9448
+ }
9419
9449
  }
9420
9450
  value_2 = this_1._getValueFromDatasource(itemSelected, schema.multiple, funcGetLabel);
9421
9451
  }
@@ -9606,6 +9636,13 @@
9606
9636
  });
9607
9637
  });
9608
9638
  };
9639
+ ComponentBase.prototype.getDefaultSettings = function () {
9640
+ var localData = localStorage.getItem(ComCtxConstants.LOCALSTORAGE_KEY.DEFAULT_DATA);
9641
+ if (localData != null && localData != '') {
9642
+ return JSON.parse(localData);
9643
+ }
9644
+ return {};
9645
+ };
9609
9646
  return ComponentBase;
9610
9647
  }());
9611
9648
  ComponentBase.decorators = [
@@ -13567,8 +13604,10 @@
13567
13604
  };
13568
13605
  CrudFormComponent.prototype.setDataDefault = function () {
13569
13606
  var e_25, _d;
13607
+ return;
13570
13608
  var stringDataDefault = localStorage.getItem(ComCtxConstants.LOCALSTORAGE_KEY.DEFAULT_DATA);
13571
- var getSettingDataDefault = this._environmentService.getSettingDataDefault();
13609
+ // const getSettingDataDefault = this._environmentService.getSettingDataDefault();
13610
+ var getSettingDataDefault = {};
13572
13611
  if (stringDataDefault && (this._modelData && !this._modelData.id)) {
13573
13612
  var dataCache = JSON.parse(stringDataDefault);
13574
13613
  try {
@@ -23053,6 +23092,7 @@
23053
23092
  __extends(WorkflowSettingsService, _super);
23054
23093
  function WorkflowSettingsService(http, injector, _environmentService) {
23055
23094
  var _this = _super.call(this, http, injector, '') || this;
23095
+ _this.serviceCode = 'workflow';
23056
23096
  _this.entityName = 'WorkflowSetting';
23057
23097
  _this.serviceManagers = {};
23058
23098
  _this.endPoint = _environmentService.getHttpServiceEndpointWithVersion(_this.serviceCode);
@@ -23065,6 +23105,10 @@
23065
23105
  WorkflowSettingsService.prototype.getEndpointByService = function (service) {
23066
23106
  return service.endPoint;
23067
23107
  };
23108
+ WorkflowSettingsService.prototype.changeEndpoint = function (baseService) {
23109
+ this.serviceUri = this.getEndpointByService(baseService) + "/WorkflowSetting";
23110
+ return this;
23111
+ };
23068
23112
  WorkflowSettingsService.prototype.setCurrentServiceUri = function (tableName) {
23069
23113
  var service = this.serviceManagers[tableName];
23070
23114
  if (service == undefined) {
@@ -23232,6 +23276,7 @@
23232
23276
  _this.customGetData = false;
23233
23277
  _this.readyToTrinhKy = false;
23234
23278
  _this.plusUrl = '';
23279
+ _this.defaultSettings = {};
23235
23280
  _this._environmentService = _this._injector.get(EnvironmentService);
23236
23281
  _this._notifierService = _this._injector.get(NotifierService);
23237
23282
  _this._activatedRoute = _this._injector.get(i3.ActivatedRoute);
@@ -23809,7 +23854,7 @@
23809
23854
  case 0:
23810
23855
  key = this.setting.baseService.getKeyWorkflowSetting();
23811
23856
  if (!this.setting.baseService.useWorkflow) return [3 /*break*/, 5];
23812
- return [4 /*yield*/, this._workflowSettingService.getDetailByFilter([
23857
+ return [4 /*yield*/, this._workflowSettingService.changeEndpoint(this.setting.baseService).getDetailByFilter([
23813
23858
  this.newFilter('tableName', exports.Operator.equal, key)
23814
23859
  ])];
23815
23860
  case 1:
@@ -24292,6 +24337,35 @@
24292
24337
  this.onBeforeCancel();
24293
24338
  this.showDetailForm = false;
24294
24339
  };
24340
+ // eslint-disable-next-line spaced-comment
24341
+ //#endregion
24342
+ ListBase.prototype.forceSelectDefaultData = function (cb) {
24343
+ var _this = this;
24344
+ this.defaultSettings = this.getDefaultSettings();
24345
+ var requiredFields = this._environmentService.getConfigDefaultSetting();
24346
+ var missingFields = [];
24347
+ requiredFields.forEach(function (fieldInfo) {
24348
+ if (!fieldInfo.required)
24349
+ return;
24350
+ if (!_this.defaultSettings[fieldInfo.field]) {
24351
+ missingFields.push(fieldInfo.field);
24352
+ }
24353
+ });
24354
+ if (missingFields.length) {
24355
+ var lstFieldInfo = this._environmentService.getFieldsInDefaultSetting();
24356
+ var lstFieldLabel = lstFieldInfo.filter(function (q) { return missingFields.some(function (x) { return x.toLowerCase() == q.field.toLowerCase(); }); })
24357
+ .map(function (q) { return q.label; });
24358
+ this.model.ready = false;
24359
+ this.rootContext.subscribe(ComCtxConstants.ROOT_USMART.CONFIG_DATA_DEFAULT_CLOSED, function (f) {
24360
+ _this.forceSelectDefaultData(null);
24361
+ });
24362
+ this._injector.get(NotifierService).showWarning("B\u1EA1n ph\u1EA3i c\u1EA5u h\u00ECnh th\u00F4ng tin (" + lstFieldLabel.join(', ') + ") tr\u01B0\u1EDBc");
24363
+ this.rootContext.fireEvent(ComCtxConstants.ROOT_USMART.SHOW_CONFIG_DATA_DEFAULT);
24364
+ }
24365
+ else if (cb) {
24366
+ cb(this.defaultSettings);
24367
+ }
24368
+ };
24295
24369
  return ListBase;
24296
24370
  }(ComponentBase));
24297
24371
  ListBase.decorators = [
@@ -43391,7 +43465,7 @@
43391
43465
  AppRootMenuComponent.decorators = [
43392
43466
  { type: i0.Component, args: [{
43393
43467
  selector: 'app-root-menu',
43394
- template: "<span class=\"rootMenu\" *ngIf=\"rootModel.currentAppMetadata\">\n <i class=\"pi pi-slack\" style=\"margin-right: 5px;\"></i>\n {{rootModel.currentAppMetadata.longTitle | translate}}</span>",
43468
+ template: "<span class=\"rootMenu\" *ngIf=\"rootModel.currentAppMetadata\">\n <i class=\"pi pi-slack\" style=\"margin-right: 5px;\"></i>\n {{rootModel.currentAppMetadata.longtitle | translate}}</span>\n ",
43395
43469
  providers: [ComponentContextService],
43396
43470
  styles: [""]
43397
43471
  },] }
@@ -43427,6 +43501,14 @@
43427
43501
  _this.isFirstTime = false;
43428
43502
  _this.showSettings = false;
43429
43503
  _this.allSubscriptions = [];
43504
+ _this.appDefaultSettings = [];
43505
+ _this.defaultSettingModel = new DialogModel({
43506
+ header: 'Cấu hình phân hệ',
43507
+ popupSize: new PopupSize({ width: 700, height: 350 }),
43508
+ data: {
43509
+ text: 'Thiết lập tham số mặc định'
43510
+ }
43511
+ });
43430
43512
  _this.message = '';
43431
43513
  _this.defaultAvatar = _this._environmentService.getDefaultMaleAvatar();
43432
43514
  _this.config.isProduction = _this._environmentService.getIsProduction();
@@ -43434,7 +43516,10 @@
43434
43516
  _this.config.logo = _this._environmentService.getLogo();
43435
43517
  _this.config.owner = _this._environmentService.getOwner();
43436
43518
  _this.fileApi = _this._environmentService.getHttpServiceEndpoint('file');
43437
- if (_this.rootContext.data.currentAppMetadata && _this.rootContext.data.currentAppMetadata.showDefaultSetting != null && _this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
43519
+ _this.appDefaultSettings = _this._environmentService.getConfigDefaultSetting();
43520
+ if (_this.rootContext.data.currentAppMetadata
43521
+ && _this.rootContext.data.currentAppMetadata.showDefaultSetting != null
43522
+ && _this.rootContext.data.currentAppMetadata.showDefaultSetting != undefined) {
43438
43523
  _this.showDefaultSetting = _this.rootContext.data.currentAppMetadata.showDefaultSetting;
43439
43524
  }
43440
43525
  else {
@@ -43443,13 +43528,13 @@
43443
43528
  if (!_this.rootContext.data.currentUser) {
43444
43529
  _this.rootContext.data.currentUser = {};
43445
43530
  }
43446
- // this.allSubscriptions.push(this.rootContext.subscribe(ComCtxConstants.ROOT.USER_INFO_CHANGED, rs => {
43447
- // this._cd.detectChanges();
43448
- // }));
43449
43531
  _this.rootContext.replaySubscribeOnce(ComCtxConstants.ROOT.USER_LOADED, function (rs) {
43450
43532
  _this.currentUser = _this._userService.getCurrentUser();
43451
43533
  _this.loadMenuMetadata();
43452
43534
  });
43535
+ _this.rootContext.subscribe(ComCtxConstants.ROOT_USMART.SHOW_CONFIG_DATA_DEFAULT, function (rs) {
43536
+ _this.showDefaultSettingForm();
43537
+ });
43453
43538
  if (_this.rootModel.allowAnonymous) {
43454
43539
  _this.loadMenuMetadata();
43455
43540
  }
@@ -43557,9 +43642,6 @@
43557
43642
  var dataCacheDefault = JSON.parse(stringDataDefault);
43558
43643
  this.formatDefaultDataSetting(dataCacheDefault);
43559
43644
  }
43560
- else {
43561
- this.defaultDataSetting = 'Thiết lập tham số mặc định';
43562
- }
43563
43645
  };
43564
43646
  AppTopBarV1Component.prototype.ngOnDestroy = function () {
43565
43647
  this.allSubscriptions.forEach(function (element) {
@@ -43573,8 +43655,8 @@
43573
43655
  AppTopBarV1Component.prototype.formatDefaultDataSetting = function (data) {
43574
43656
  var _this = this;
43575
43657
  var dataSetting = '';
43576
- var fields = ['instanceIdHeDaoTao', 'heDaoTao', 'namHoc', 'hocKy', 'instanceIdNamHoc', 'instanceIdHocKy', 'idDotThi'];
43577
- var fieldPluses = ['code', 'code', 'ten', 'ten', 'ten', 'ten', 'ten'];
43658
+ var fields = ['idHe', 'namHoc', 'idHocKy', 'idDotThi'];
43659
+ var fieldPluses = ['code', 'ten', 'ten', 'ten'];
43578
43660
  fields.forEach(function (field, index) {
43579
43661
  if (!_this.checkHidden(field)) {
43580
43662
  var _f = "" + field + fieldPluses[index];
@@ -43586,10 +43668,10 @@
43586
43668
  if (dataSetting.length > 0) {
43587
43669
  dataSetting = dataSetting.substring(0, dataSetting.length - 1);
43588
43670
  }
43589
- this.defaultDataSetting = dataSetting;
43671
+ this.defaultSettingModel.data.text = dataSetting;
43590
43672
  };
43591
43673
  AppTopBarV1Component.prototype.checkHidden = function (field) {
43592
- return this.rootModel.currentAppMetadata.configDefaultSetting && !this.rootModel.currentAppMetadata.configDefaultSetting.column.some(function (p) { return p.field == field; });
43674
+ return this.appDefaultSettings.some(function (p) { return p.field == field; });
43593
43675
  };
43594
43676
  AppTopBarV1Component.prototype.getCurrentUserFullName = function () {
43595
43677
  return this.rootContext.data.currentUser && this.rootContext.data.currentUser.fullName ? this.rootContext.data.currentUser.fullName : 'Khách';
@@ -43728,11 +43810,8 @@
43728
43810
  }
43729
43811
  this._authenService.logout();
43730
43812
  };
43731
- AppTopBarV1Component.prototype.settingDefault = function () {
43732
- this.model.dataModelSetting = {
43733
- data: {},
43734
- showSettings: true
43735
- };
43813
+ AppTopBarV1Component.prototype.showDefaultSettingForm = function () {
43814
+ this.defaultSettingModel.showEditForm = true;
43736
43815
  };
43737
43816
  AppTopBarV1Component.prototype.onShowSettings = function (ev) {
43738
43817
  this.rootContext.fireEvent(ComCtxConstants.ROOT_USMART.CONFIG_DATA_DEFAULT_OPENED);
@@ -43801,7 +43880,7 @@
43801
43880
  AppTopBarV1Component.decorators = [
43802
43881
  { type: i0.Component, args: [{
43803
43882
  selector: 'app-topbar-v1',
43804
- template: "<div class=\"topbar clearfix tn-l-top-bar\">\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !config.isProduction }\">\n <div class=\"tn-l-left-menu-toggle-block\">\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\n (click)=\"_commonService.onMenuButtonClick($event)\">\n <i class=\"pi pi-chevron-left\"></i>\n </a>\n </div>\n\n <div class=\"topbar-logo tn-l-logo-wrapper\">\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\n <img class=\"topbar-logo tn-l-logo\" [src]=\"config.logo\" (click)=\"goToHome()\" /></a>\n </div>\n <div class=\"topbar-title tn-l-logo-title-block\">\n <div class=\"topbar-owner\">\n {{config.owner}}\n </div>\n <div class=\"topbar-description\">\n {{config.title}}\n </div>\n </div>\n </div>\n <div class=\"setting-default-container\">\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\n (click)=\"settingDefault()\">\n </a>\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\n </ng-container>\n </div>\n <div #notify class=\"notify-message\">\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\n </div>\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !config.isProduction}\"\n oncontextmenu=\"return false\">\n <div class=\"tn-l-top-bar-right-block-1\">\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\n </a>\n </div>\n\n <div class=\"tn-l-top-bar-right-block-2\">\n <ul class=\"topbar-items fadeInDown\" [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\n <li *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\" #profile\n class=\"profile-item tn-l-top-bar-menu-item\"\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\n\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\n <div class=\"profile-image-wrapper topbar-icon-left\">\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\n [src]=\"getCurrentUserAvatar()\" />\n </div>\n <div class=\"profile-info-wrapper\">\n <div class=\"topbar-item-name-wrapper\"\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\n </div>\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\n </div>\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\n </a>\n\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\n <ng-container *ngIf=\"currentUser\">\n <li role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-inbox\"></i>\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\n </a>\n </li>\n <li role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-user-edit\"></i>\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\n </a>\n </li>\n <li role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\n <i class=\"pi pi-sign-out\"></i>\n <span>\u0110\u0103ng xu\u1EA5t</span>\n </a>\n </li>\n </ng-container>\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"login()\">\n <i class=\"pi pi-sign-in\"></i>\n <span>\u0110\u0103ng nh\u1EADp</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\" tn-app-help>\n </li>\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\n class=\"tn-l-top-bar-menu-item\" #messages\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\n <a href=\"#\" tabindex=\"7\" class=\"tn-l-top-bar-menu-item-inner\" style=\"height: 30px;\"\n pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\n (click)=\"_commonService.onTopbarItemClick($event,modules)\">\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <!-- <i class=\"pi pi-microsoft\"></i> -->\n </span>\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\n </a>\n <ul class=\"app-switcher layout-menu fadeInDown\">\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\n <li role=\"menuitem\" class=\"wrapper-appswitch\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\n (click)=\"switchApp(item, true)\">\n <span class=\"tn-l-switcher-item-inner\">\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"></i>\n <div class=\"tn-l-switcher-item-label\">\n {{ item.title | translate}}\n </div>\n </span>\n </a>\n </ng-container>\n </li>\n </tn-custom-scrollbar>\n </ul>\n </li>\n </ul>\n </div>\n </div>\n</div>",
43883
+ template: "<div class=\"topbar clearfix tn-l-top-bar\">\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !config.isProduction }\">\n <div class=\"tn-l-left-menu-toggle-block\">\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\n (click)=\"_commonService.onMenuButtonClick($event)\">\n <i class=\"pi pi-chevron-left\"></i>\n </a>\n </div>\n\n <div class=\"topbar-logo tn-l-logo-wrapper\">\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\n <img class=\"topbar-logo tn-l-logo\" [src]=\"config.logo\" (click)=\"goToHome()\" /></a>\n </div>\n <div class=\"topbar-title tn-l-logo-title-block\">\n <div class=\"topbar-owner\">\n {{config.owner}}\n </div>\n <div class=\"topbar-description\">\n {{config.title}}\n </div>\n </div>\n </div>\n <div class=\"setting-default-container\">\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\n (click)=\"showDefaultSettingForm()\">\n </a>\n <h3 class=\"tn-l-default-detting\" (click)=\"showDefaultSettingForm()\">\n {{defaultSettingModel.data.text}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\n </ng-container>\n </div>\n <div #notify class=\"notify-message\">\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\n </div>\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !config.isProduction}\"\n oncontextmenu=\"return false\">\n <div class=\"tn-l-top-bar-right-block-1\">\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\n </a>\n </div>\n\n <div class=\"tn-l-top-bar-right-block-2\">\n <ul class=\"topbar-items fadeInDown\" [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\n <li *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\" #profile\n class=\"profile-item tn-l-top-bar-menu-item\"\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\n\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\n <div class=\"profile-image-wrapper topbar-icon-left\">\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\n [src]=\"getCurrentUserAvatar()\" />\n </div>\n <div class=\"profile-info-wrapper\">\n <div class=\"topbar-item-name-wrapper\"\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\n </div>\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\n </div>\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\n </a>\n\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\n <ng-container *ngIf=\"currentUser\">\n <li role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-inbox\"></i>\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\n </a>\n </li>\n <li role=\"menuitem\">\n <a href=\"#\" (click)=\"onEditInfo($event)\">\n <i class=\"pi pi-user-edit\"></i>\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\n </a>\n </li>\n <li role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\n <i class=\"pi pi-sign-out\"></i>\n <span>\u0110\u0103ng xu\u1EA5t</span>\n </a>\n </li>\n </ng-container>\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\n <a href=\"javascript:;\" (click)=\"login()\">\n <i class=\"pi pi-sign-in\"></i>\n <span>\u0110\u0103ng nh\u1EADp</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\" tn-app-help>\n </li>\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\n class=\"tn-l-top-bar-menu-item\" #messages\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\n <a href=\"#\" tabindex=\"7\" class=\"tn-l-top-bar-menu-item-inner\" style=\"height: 30px;\"\n pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\n (click)=\"_commonService.onTopbarItemClick($event,modules)\">\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path fill=\"currentColor\"\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\n </path>\n </svg>\n <!-- <i class=\"pi pi-microsoft\"></i> -->\n </span>\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\n </a>\n <ul class=\"app-switcher layout-menu fadeInDown\">\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\n <li role=\"menuitem\" class=\"wrapper-appswitch\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\n (click)=\"switchApp(item, true)\">\n <span class=\"tn-l-switcher-item-inner\">\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"></i>\n <div class=\"tn-l-switcher-item-label\">\n {{ item.title | translate}}\n </div>\n </span>\n </a>\n </ng-container>\n </li>\n </tn-custom-scrollbar>\n </ul>\n </li>\n </ul>\n </div>\n </div>\n</div>\n\n<tn-dialog *ngIf=\"defaultSettingModel.showEditForm\" [header]=\"defaultSettingModel.header | translate\"\n [popupSize]=\"defaultSettingModel.popupSize\" (onHide)=\"defaultSettingModel.showEditForm = false\">\n <default-data-settings #formBase (onHide)=\"defaultSettingModel.showEditForm = false;\"></default-data-settings>\n</tn-dialog>",
43805
43884
  providers: [ComponentContextService],
43806
43885
  styles: [".topBarSearchButton:disabled{background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important;opacity:1}::ng-deep app-topbar a{outline:none}input:disabled::-moz-placeholder{color:#b1b1b1}input:disabled:-ms-input-placeholder{color:#b1b1b1}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{float:none;margin-top:0}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;float:none;justify-content:center;order:0;text-align:right}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{-ms-grid-row-align:stretch;align-items:center;align-self:stretch;box-shadow:0 0 5px 0 rgba(0,0,0,.3764705882352941);display:flex}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{height:40px;margin:0;width:auto}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{font-size:0;height:auto;margin:0;padding-left:8px;padding-right:8px;width:auto}.tn-l-top-bar{display:flex}.topbar-description,.topbar-owner{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{display:flex;float:none;width:auto}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{display:block;height:28px;margin:auto;width:30px}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{justify-content:center}.notify-message,.setting-default-container{align-items:center;display:flex;margin-left:30px}.notify-message{flex:1 1;overflow:hidden}.notify-message>marquee{color:#ff0;font-size:500;white-space:nowrap}.search-item{margin-right:10px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{background:#fff}.tn-l-switcher-item-label{color:#52abff;text-align:center;text-shadow:none}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{color:#52abff;font-size:38px;margin:5px auto;text-shadow:none}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a.switcher-item{margin-top:0;width:unset}::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a.switcher-item:nth-child(3n+0){border-left:none}::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a.switcher-item:nth-child(3n+1){border-right:none}::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a.switcher-item:nth-child(3n+2){border:none}::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a.switcher-item:nth-child(3n+1):last-child,::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a.switcher-item:nth-child(3n+2):last-child{width:unset}::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a span{line-height:1.2}::ng-deep .layout-wrapper app-topbar-v1 .topbar .topbar-left{box-shadow:none}::ng-deep .layout-wrapper app-topbar-v1 .wrapper-appswitch{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));text-align:center}@media (max-width:1024px){::ng-deep .layout-wrapper app-topbar-v1 .layout-menu li a.switcher-item{width:unset}}@media (min-width:1025px){.tn-l-top-bar-right{align-items:center;display:flex;justify-content:space-between}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding:0 15px}.topbar-items.topbar-items.topbar-items{align-items:center;display:flex;flex-direction:row-reverse;justify-content:flex-start;margin:0}.topbar-items.topbar-items.topbar-items,.topbar-items.topbar-items.topbar-items>li{float:none}::ng-deep .topbar .topbar-items>li>a{margin-top:0}::ng-deep .topbar .topbar-items>li>a>span>i{color:#fff;font-size:24px}.topbar .topbar-items>li>a.UserPane{height:auto;line-height:inherit;top:0}a.UserPane .profile-image.profile-image.profile-image.profile-image{margin-top:0}}@media (min-width:1025px) and (max-width:1400px){.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-right:19px}.search-item{margin-right:0}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding-left:15px}.topbar-items>li.profile-item{margin-left:14px}}@media (max-width:1024px){.tn-l-m-default-setting{align-items:center;color:#fff;display:flex;font-size:28px;height:36px;justify-content:center;width:36px}.tn-l-default-detting{display:none}::ng-deep .layout-menu-static-mobile-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{text-align:left}.topbar .topbar-right #topbar-menu-button{align-items:center;display:flex;justify-content:center;width:36px}.tn-l-top-bar-right-block-1{display:flex}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{padding-left:5px;padding-right:5px}.tn-l-logo-title-block,.tn-l-top-bar-left,.topbar-description,.topbar-owner{overflow:hidden}.topbar-description,.topbar-owner{text-overflow:ellipsis}.tn-l-top-bar-menu-item:empty{display:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{padding-left:0;padding-right:0}.topbar-title.topbar-title.topbar-title.topbar-title{margin:0}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:14px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:10px}.tn-l-top-bar-right{flex:1;position:relative}.topbar-menu-button span.topbar-badge{right:-4px}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{align-items:center;display:flex;justify-content:flex-end;padding:0 .5em}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right #topbar-menu-button{margin-left:.5em;position:relative;right:0;top:0}.app-switcher.layout-menu.layout-menu.layout-menu.layout-menu{width:270px}.profile-image-wrapper{order:0}.tn-l-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:220px}::ng-deep app-topbar .tn-l-top-bar-menu-item .topbar-icon-left{align-items:center;display:flex;justify-content:center}.tn-l-topbar-item-role-wrapper{display:none}}"]
43807
43886
  },] }
@@ -45292,7 +45371,7 @@
45292
45371
  _schema_1.panelClass = 'dropdown-advs';
45293
45372
  }
45294
45373
  });
45295
- if (!this.setting.disableCaching) {
45374
+ if (!this.setting.disableDefaultSettingCache) {
45296
45375
  this.setDataDefault(this.setting.schema);
45297
45376
  }
45298
45377
  this.modelCrudForm.data = this.model.data;
@@ -45304,45 +45383,38 @@
45304
45383
  });
45305
45384
  };
45306
45385
  AdvanceSearchComponent.prototype.setDataDefault = function (formSchema) {
45307
- var e_1, _a;
45386
+ var _this = this;
45308
45387
  var dataCache = this._localCacheService.getDataDefault();
45309
- var getSettingDataDefault = this._environmentService.getSettingDataDefault();
45310
- try {
45311
- for (var formSchema_1 = __values(formSchema), formSchema_1_1 = formSchema_1.next(); !formSchema_1_1.done; formSchema_1_1 = formSchema_1.next()) {
45312
- var item = formSchema_1_1.value;
45313
- if (item instanceof DropdownControlSchema) {
45314
- var control = item;
45315
- var key = (control.field + (control.valueField == 'id' ? '' : control.valueField));
45316
- var value = dataCache[key];
45317
- if (value) {
45318
- this.model.data[control.field] = value;
45319
- }
45320
- else if (getSettingDataDefault) { // lấy cấu hình field mapPing
45321
- var fieldMapGetCache = getSettingDataDefault[control.field];
45322
- if (fieldMapGetCache) {
45323
- var key_1 = (fieldMapGetCache + (control.valueField == 'id' ? '' : control.valueField));
45324
- value = dataCache[key_1];
45325
- if (value) {
45326
- this.model.data[control.field] = value;
45327
- }
45328
- }
45329
- }
45330
- }
45331
- else {
45332
- var value = dataCache[item.field];
45333
- if (value) {
45334
- this.model.data[item.field] = value;
45335
- }
45336
- }
45388
+ var advanceSearchFieldCache = this.parentSetting.advanceSearchFieldCache;
45389
+ if (!advanceSearchFieldCache || !Object.keys(advanceSearchFieldCache).length) {
45390
+ advanceSearchFieldCache = {};
45391
+ var lstFieldInfo = this._environmentService.getFieldsInDefaultSetting();
45392
+ if (lstFieldInfo) {
45393
+ lstFieldInfo.forEach(function (fieldInfo) {
45394
+ advanceSearchFieldCache[fieldInfo.field] = fieldInfo.field;
45395
+ });
45337
45396
  }
45338
45397
  }
45339
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
45340
- finally {
45341
- try {
45342
- if (formSchema_1_1 && !formSchema_1_1.done && (_a = formSchema_1.return)) _a.call(formSchema_1);
45398
+ if (!advanceSearchFieldCache || !Object.keys(advanceSearchFieldCache).length)
45399
+ return;
45400
+ Object.keys(advanceSearchFieldCache).forEach(function (field) {
45401
+ var control = formSchema.find(function (q) { return q.field == field; });
45402
+ if (!control)
45403
+ return;
45404
+ if (control instanceof DropdownControlSchema) {
45405
+ var key = control.field + (control.valueField == 'id' ? '' : control.valueField);
45406
+ var value = dataCache[key];
45407
+ if (value) {
45408
+ _this.model.data[control.field] = value;
45409
+ }
45343
45410
  }
45344
- finally { if (e_1) throw e_1.error; }
45345
- }
45411
+ else {
45412
+ var value = dataCache[control.field];
45413
+ if (value) {
45414
+ _this.model.data[control.field] = value;
45415
+ }
45416
+ }
45417
+ });
45346
45418
  };
45347
45419
  AdvanceSearchComponent.prototype.ngAfterViewInit = function () {
45348
45420
  };
@@ -45878,8 +45950,9 @@
45878
45950
  this.control.disabled = isDisabled;
45879
45951
  };
45880
45952
  DatetimePickerComponent.prototype.getPanelClass = function () {
45881
- if (this.control.appendTo == 'body')
45953
+ if (this.control.appendTo == 'body') {
45882
45954
  return this.control.panelClass + " p-fixed";
45955
+ }
45883
45956
  return this.control.panelClass;
45884
45957
  };
45885
45958
  DatetimePickerComponent.prototype.onFocusCalendar = function (evt) {
@@ -45955,10 +46028,12 @@
45955
46028
  var mm = String(date.getMinutes());
45956
46029
  if (mm.length == 1)
45957
46030
  mm = '0' + mm;
45958
- if (!showTime)
46031
+ if (!showTime) {
45959
46032
  return dd + "/" + MM + "/" + yyyy;
45960
- else
46033
+ }
46034
+ else {
45961
46035
  return dd + "/" + MM + "/" + yyyy + " " + hh + ":" + mm;
46036
+ }
45962
46037
  }
45963
46038
  else if (isValidTime(date)) {
45964
46039
  var hh = String(date.getHours());
@@ -57499,6 +57574,237 @@
57499
57574
  },] }
57500
57575
  ];
57501
57576
 
57577
+ var DefaultDataSettingsComponent = /** @class */ (function (_super) {
57578
+ __extends(DefaultDataSettingsComponent, _super);
57579
+ function DefaultDataSettingsComponent(injector, _environmentService
57580
+ // private _tbl_DM_NguoiHoc_HeDaoTaoService: tbl_DM_NguoiHoc_HeDaoTaoService,
57581
+ // private _tbl_HeThong_HocKyService: tbl_HeThong_HocKyService,
57582
+ // private _tbl_HeThong_NamHocService: tbl_HeThong_NamHocService,
57583
+ // private _tbl_Thi_DotThiService: tbl_Thi_DotThiService,
57584
+ // private _tbl_Thi_Dkt_DotService: tbl_Thi_Dkt_DotService,
57585
+ ) {
57586
+ var _this = _super.call(this, injector) || this;
57587
+ _this._environmentService = _environmentService;
57588
+ _this.settingKey = '';
57589
+ _this.onShow = new i0.EventEmitter();
57590
+ _this.onHide = new i0.EventEmitter();
57591
+ _this.appDefaultSettings = [];
57592
+ _this.cacheDataSource = {};
57593
+ _this.doNotCheckBaseService = true;
57594
+ return _this;
57595
+ }
57596
+ DefaultDataSettingsComponent.prototype.ngOnInit = function () {
57597
+ var _this = this;
57598
+ this.appDefaultSettings = this._environmentService.getConfigDefaultSetting();
57599
+ this.setting.schema = [
57600
+ new DropdownControlSchema({
57601
+ field: 'idHe',
57602
+ mdWidth: 6,
57603
+ label: this._translateService.instant('Hệ đào tạo'),
57604
+ // baseService: this._tbl_DM_NguoiHoc_HeDaoTaoService,
57605
+ fieldPlus: 'code',
57606
+ appendTo: 'body',
57607
+ callbackDataFinish: function (data) {
57608
+ _this.cacheDataSource['idHe'] = data;
57609
+ },
57610
+ enableCaching: false,
57611
+ required: this.getRequired('idHe'),
57612
+ hidden: this.checkHidden('idHe')
57613
+ }),
57614
+ new DropdownControlSchema({
57615
+ field: 'namHoc',
57616
+ label: this._translateService.instant('Năm học'),
57617
+ required: this.getRequired('namHoc'),
57618
+ mdWidth: 3,
57619
+ // baseService: this._tbl_HeThong_NamHocService,
57620
+ fieldPlus: 'id',
57621
+ valueField: 'nam',
57622
+ appendTo: 'body',
57623
+ callbackDataFinish: function (data) {
57624
+ _this.cacheDataSource['namHoc'] = data;
57625
+ },
57626
+ sortField: 'ten',
57627
+ sortDir: -1,
57628
+ enableCaching: false,
57629
+ placeholder: 'Chọn năm',
57630
+ hidden: this.checkHidden('namHoc')
57631
+ }),
57632
+ new DropdownControlSchema({
57633
+ field: 'idHocKy',
57634
+ label: this._translateService.instant('Học kỳ'),
57635
+ required: this.getRequired('idHocKy'),
57636
+ placeholder: 'Chọn học kỳ',
57637
+ showClear: true,
57638
+ mdWidth: 3,
57639
+ // baseService: this._tbl_HeThong_HocKyService,
57640
+ fieldPlus: 'code',
57641
+ appendTo: 'body',
57642
+ bindingFilters: [
57643
+ this.newBindingFilter('namHoc', exports.Operator.equal, 'namHoc')
57644
+ ],
57645
+ callbackDataFinish: function (data) {
57646
+ _this.cacheDataSource['idHocKy'] = data;
57647
+ },
57648
+ enableCaching: false,
57649
+ hidden: this.checkHidden('idHocKy')
57650
+ }),
57651
+ new DropdownControlSchema({
57652
+ field: 'idDotThi',
57653
+ label: this._translateService.instant('Đợt thi'),
57654
+ required: this.getRequired('idDotThi'),
57655
+ placeholder: 'Chọn đợt thi',
57656
+ showClear: true,
57657
+ mdWidth: 12,
57658
+ // baseService: this._tbl_Thi_DotThiService,
57659
+ fieldPlus: 'code',
57660
+ displayField: 'tenDotThi',
57661
+ callbackDataFinish: function (data) {
57662
+ _this.cacheDataSource['idDotThi'] = data;
57663
+ },
57664
+ appendTo: 'body',
57665
+ bindingFilters: [
57666
+ this.newBindingFilter('namHoc', exports.Operator.equal, 'namHoc'),
57667
+ this.newBindingFilter('idHocKy', exports.Operator.equal, 'idHocKy')
57668
+ ],
57669
+ enableCaching: false,
57670
+ hidden: this.checkHidden('idDotThi')
57671
+ }),
57672
+ new DropdownControlSchema({
57673
+ field: 'idDotDangKyThi',
57674
+ label: this._translateService.instant('Đợt đăng ký thi'),
57675
+ placeholder: 'Chọn đợt đăng ký thi',
57676
+ showClear: true,
57677
+ mdWidth: 12,
57678
+ // baseService: this._tbl_Thi_Dkt_DotService,
57679
+ displayField: 'ten',
57680
+ callbackDataFinish: function (data) {
57681
+ _this.cacheDataSource['idDotDangKyThi'] = data;
57682
+ },
57683
+ appendTo: 'body',
57684
+ bindingFilters: [
57685
+ this.newBindingFilter('idDotThi', exports.Operator.equal, 'idDotThi'),
57686
+ ],
57687
+ enableCaching: false,
57688
+ hidden: this.checkHidden('idDotDangKyThi')
57689
+ })
57690
+ ];
57691
+ this.getDataCache();
57692
+ };
57693
+ DefaultDataSettingsComponent.prototype.checkHidden = function (field) {
57694
+ return this.appDefaultSettings.some(function (p) { return p.field == field; });
57695
+ };
57696
+ DefaultDataSettingsComponent.prototype.getRequired = function (field) {
57697
+ return this.appDefaultSettings.some(function (p) { return p.field == field && p.required; });
57698
+ };
57699
+ DefaultDataSettingsComponent.prototype.getDataCache = function () {
57700
+ var e_1, _a;
57701
+ var stringDataDefault = localStorage.getItem(ComCtxConstants.LOCALSTORAGE_KEY.DEFAULT_DATA);
57702
+ if (stringDataDefault) {
57703
+ var dataCache = JSON.parse(stringDataDefault);
57704
+ try {
57705
+ for (var _b = __values(this.setting.schema), _c = _b.next(); !_c.done; _c = _b.next()) {
57706
+ var item = _c.value;
57707
+ var value = dataCache[item.field];
57708
+ if (value) {
57709
+ this.model.data[item.field] = value;
57710
+ }
57711
+ }
57712
+ }
57713
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
57714
+ finally {
57715
+ try {
57716
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
57717
+ }
57718
+ finally { if (e_1) throw e_1.error; }
57719
+ }
57720
+ }
57721
+ };
57722
+ DefaultDataSettingsComponent.prototype.setCodeAndLabel = function (fields, itemSource) {
57723
+ var _this = this;
57724
+ fields.forEach(function (field) {
57725
+ _this.model.data[field + "code"] = itemSource.code;
57726
+ _this.model.data[field + "ten"] = itemSource.label;
57727
+ });
57728
+ };
57729
+ DefaultDataSettingsComponent.prototype.saveCommonSetting = function () {
57730
+ return __awaiter(this, void 0, void 0, function () {
57731
+ var valid, component, itemHe, component, itemNamHoc, component, itemHocKy, defaultData, _loop_1, this_1, field;
57732
+ var _this = this;
57733
+ return __generator(this, function (_a) {
57734
+ switch (_a.label) {
57735
+ case 0: return [4 /*yield*/, this._getResultValidate()];
57736
+ case 1:
57737
+ valid = _a.sent();
57738
+ if (!valid)
57739
+ return [2 /*return*/];
57740
+ // Các đoạn code bên dưới có thể không tối ưu nhưng nhằm mục đích đồng bộ cấu hình giữa các phân hệ,
57741
+ // tránh những bug gặp lại quá nhiều lần trong quá trình triển khai
57742
+ if (this.model.data.idHe) {
57743
+ component = (this.setting.schema.find(function (item) { return item.field == 'idHe'; }))._component;
57744
+ itemHe = component.dataSourceInternal.find(function (item) { return item.value.id == _this.model.data.idHe; }).value;
57745
+ this.model.data.idHe = itemHe.id;
57746
+ this.model.data.idHeDaoTao = itemHe.id;
57747
+ this.model.data.codeHeDaoTao = itemHe.code;
57748
+ this.setCodeAndLabel(['idHe', 'idHeDaoTao', 'codeHeDaoTao'], itemHe);
57749
+ }
57750
+ if (this.model.data.namHoc != null) {
57751
+ component = (this.setting.schema.find(function (item) { return item.field == 'namHoc'; }))._component;
57752
+ itemNamHoc = component.dataSourceInternal.find(function (item) { return item.value == _this.model.data.namHoc; }).value;
57753
+ this.setCodeAndLabel(['namHoc'], itemNamHoc);
57754
+ }
57755
+ if (this.model.data.idHocKy != null) {
57756
+ component = (this.setting.schema.find(function (item) { return item.field == 'idHocKy'; }))._component;
57757
+ itemHocKy = component.dataSourceInternal.find(function (item) { return item.value == _this.model.data.idHocKy; }).value;
57758
+ this.model.data.codeHocKy = itemHocKy.code;
57759
+ this.setCodeAndLabel(['idHocKy', 'codeHocKy'], itemHocKy);
57760
+ }
57761
+ defaultData = Object.assign(Object.assign({}, this.model.data), { syncProduct: true });
57762
+ _loop_1 = function (field) {
57763
+ defaultData[field] = this_1.model.data[field];
57764
+ if (!this_1.cacheDataSource[field])
57765
+ this_1.cacheDataSource[field] = [];
57766
+ var data = this_1.cacheDataSource[field].find(function (p) { return p.value === _this.model.data[field]; });
57767
+ if (data) {
57768
+ defaultData[field + 'code'] = data.code;
57769
+ defaultData[field + 'ten'] = data.label;
57770
+ }
57771
+ };
57772
+ this_1 = this;
57773
+ for (field in this.model.data) {
57774
+ _loop_1(field);
57775
+ }
57776
+ localStorage.setItem(ComCtxConstants.LOCALSTORAGE_KEY.DEFAULT_DATA, JSON.stringify(defaultData));
57777
+ window.location.reload();
57778
+ this.cancel(null);
57779
+ return [2 /*return*/];
57780
+ }
57781
+ });
57782
+ });
57783
+ };
57784
+ DefaultDataSettingsComponent.prototype.cancel = function (evt) {
57785
+ this.onHide.emit();
57786
+ };
57787
+ return DefaultDataSettingsComponent;
57788
+ }(DataFormBase));
57789
+ DefaultDataSettingsComponent.decorators = [
57790
+ { type: i0.Component, args: [{
57791
+ selector: 'default-data-settings',
57792
+ template: "<crud-form #crudForm [setting]=\"setting\" [context]=\"context\" [disableCaching]=\"true\" [(data)]=\"model.data\"\n (onFormReady)=\"_handleFormReady($event)\">\n</crud-form>\n<ng-template #buttonTemplate>\n <button *ngIf=\"!model.data.__disableEdit && !__isFormView\" pButton type=\"button\" icon=\"pi pi-save\"\n class=\"p-button-text\" [label]=\"'FORM.SAVE' | translate\" (click)=\"saveCommonSetting()\"></button>\n <button pButton preventTab type=\"button\" icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\n [label]=\"'FORM.CANCEL' | translate\" (click)=\"cancel($event)\"></button>\n</ng-template>",
57793
+ changeDetection: i0.ChangeDetectionStrategy.Default,
57794
+ providers: [ComponentContextService],
57795
+ styles: [""]
57796
+ },] }
57797
+ ];
57798
+ DefaultDataSettingsComponent.ctorParameters = function () { return [
57799
+ { type: i0.Injector },
57800
+ { type: EnvironmentService }
57801
+ ]; };
57802
+ DefaultDataSettingsComponent.propDecorators = {
57803
+ settingKey: [{ type: i0.Input }],
57804
+ onShow: [{ type: i0.Output }],
57805
+ onHide: [{ type: i0.Output }]
57806
+ };
57807
+
57502
57808
  function coreDeclaration() {
57503
57809
  return [
57504
57810
  AddressComponent,
@@ -57535,6 +57841,7 @@
57535
57841
  CongViecNextFirstStepComponent,
57536
57842
  DatetimePickerComponent,
57537
57843
  DatetimePickerRangeComponent,
57844
+ DefaultDataSettingsComponent,
57538
57845
  DynamicNodeComponent,
57539
57846
  DropdownComponent,
57540
57847
  EntityPickerBoxComponent,
@@ -58276,97 +58583,98 @@
58276
58583
  exports.ɵbv = BaseCongviecDinhkemFormComponent;
58277
58584
  exports.ɵbw = DatetimePickerComponent;
58278
58585
  exports.ɵbx = DatetimePickerRangeComponent;
58279
- exports.ɵby = DynamicNodeComponent;
58280
- exports.ɵbz = EntityPickerBoxComponent;
58586
+ exports.ɵby = DefaultDataSettingsComponent;
58587
+ exports.ɵbz = DynamicNodeComponent;
58281
58588
  exports.ɵc = CanBo_HoSoService;
58282
- exports.ɵca = EntityPickerDataComponent;
58283
- exports.ɵcb = EntityPickerSelectedComponent;
58284
- exports.ɵcc = EntityPickerComponent;
58285
- exports.ɵcd = EntityPickerDialogComponent;
58286
- exports.ɵce = EntityPermissionComponent;
58287
- exports.ɵcf = EquationEditorComponent;
58288
- exports.ɵcg = MaskComponent;
58289
- exports.ɵch = NumberPickerRangeComponent;
58290
- exports.ɵci = PagingNextBackOnlyComponent;
58291
- exports.ɵcj = RadioButtonListComponent;
58292
- exports.ɵck = VanBanPickerComponent;
58293
- exports.ɵcl = VanBanDenService;
58294
- exports.ɵcm = VanBanDiService;
58295
- exports.ɵcn = VanBanPickerDialogComponent;
58296
- exports.ɵco = VanbanDiPickerComponent;
58297
- exports.ɵcp = VanbanDenPickerComponent;
58298
- exports.ɵcq = CongViecPickerComponent;
58299
- exports.ɵcr = CongViecService$1;
58300
- exports.ɵcs = TaskWorkflowHistoriesService;
58301
- exports.ɵct = SettingsComponent;
58302
- exports.ɵcu = SettingsRowComponent;
58303
- exports.ɵcv = SettingsWorkflowComponent;
58304
- exports.ɵcw = SettingsWorkflowNo1Component;
58305
- exports.ɵcx = SimpleWorkflowFormComponent;
58306
- exports.ɵcy = ProcessWorkflowTargetComponent;
58307
- exports.ɵcz = DmChucVuService;
58589
+ exports.ɵca = EntityPickerBoxComponent;
58590
+ exports.ɵcb = EntityPickerDataComponent;
58591
+ exports.ɵcc = EntityPickerSelectedComponent;
58592
+ exports.ɵcd = EntityPickerComponent;
58593
+ exports.ɵce = EntityPickerDialogComponent;
58594
+ exports.ɵcf = EntityPermissionComponent;
58595
+ exports.ɵcg = EquationEditorComponent;
58596
+ exports.ɵch = MaskComponent;
58597
+ exports.ɵci = NumberPickerRangeComponent;
58598
+ exports.ɵcj = PagingNextBackOnlyComponent;
58599
+ exports.ɵck = RadioButtonListComponent;
58600
+ exports.ɵcl = VanBanPickerComponent;
58601
+ exports.ɵcm = VanBanDenService;
58602
+ exports.ɵcn = VanBanDiService;
58603
+ exports.ɵco = VanBanPickerDialogComponent;
58604
+ exports.ɵcp = VanbanDiPickerComponent;
58605
+ exports.ɵcq = VanbanDenPickerComponent;
58606
+ exports.ɵcr = CongViecPickerComponent;
58607
+ exports.ɵcs = CongViecService$1;
58608
+ exports.ɵct = TaskWorkflowHistoriesService;
58609
+ exports.ɵcu = SettingsComponent;
58610
+ exports.ɵcv = SettingsRowComponent;
58611
+ exports.ɵcw = SettingsWorkflowComponent;
58612
+ exports.ɵcx = SettingsWorkflowNo1Component;
58613
+ exports.ɵcy = SimpleWorkflowFormComponent;
58614
+ exports.ɵcz = ProcessWorkflowTargetComponent;
58308
58615
  exports.ɵd = ListBase;
58309
- exports.ɵda = ChoYKienFormComponent;
58310
- exports.ɵdb = SplashComponentV1Component;
58311
- exports.ɵdc = SplashComponentV2Component;
58312
- exports.ɵdd = StateMachinesConnectionReceiverComponent;
58313
- exports.ɵde = StateMachinesConnectionReceiverConditionComponent;
58314
- exports.ɵdf = StateMachinesConnectionReceiverDepartmentComponent;
58315
- exports.ɵdg = StateMachinesConnectionReceiverGroupComponent;
58316
- exports.ɵdh = StateMachinesConnectionReceiverUserComponent;
58317
- exports.ɵdi = StateMachinesConnectionReceiverRoleComponent;
58318
- exports.ɵdj = StateMachinesConnectionSenderComponent;
58319
- exports.ɵdk = StartWorkflowComponent;
58320
- exports.ɵdl = ShareLinkByPermissionComponent;
58321
- exports.ɵdm = WorkflowSettingNewComponent;
58322
- exports.ɵdn = PermissionSharingComponent;
58323
- exports.ɵdo = WorkflowPermissionService;
58324
- exports.ɵdp = TnCheckboxComponent;
58325
- exports.ɵdq = TnDialogComponent;
58326
- exports.ɵdr = TnColorPickerComponent;
58327
- exports.ɵds = TnTinymceComponent;
58328
- exports.ɵdt = TnTabViewComponent;
58329
- exports.ɵdu = TableDetailFormComponent;
58330
- exports.ɵdv = FileIconPipe;
58331
- exports.ɵdw = FileSizePipe;
58332
- exports.ɵdx = QuickAddFormComponent;
58333
- exports.ɵdy = PreventShiftTabDirective;
58334
- exports.ɵdz = TnTemplateDirective;
58616
+ exports.ɵda = DmChucVuService;
58617
+ exports.ɵdb = ChoYKienFormComponent;
58618
+ exports.ɵdc = SplashComponentV1Component;
58619
+ exports.ɵdd = SplashComponentV2Component;
58620
+ exports.ɵde = StateMachinesConnectionReceiverComponent;
58621
+ exports.ɵdf = StateMachinesConnectionReceiverConditionComponent;
58622
+ exports.ɵdg = StateMachinesConnectionReceiverDepartmentComponent;
58623
+ exports.ɵdh = StateMachinesConnectionReceiverGroupComponent;
58624
+ exports.ɵdi = StateMachinesConnectionReceiverUserComponent;
58625
+ exports.ɵdj = StateMachinesConnectionReceiverRoleComponent;
58626
+ exports.ɵdk = StateMachinesConnectionSenderComponent;
58627
+ exports.ɵdl = StartWorkflowComponent;
58628
+ exports.ɵdm = ShareLinkByPermissionComponent;
58629
+ exports.ɵdn = WorkflowSettingNewComponent;
58630
+ exports.ɵdo = PermissionSharingComponent;
58631
+ exports.ɵdp = WorkflowPermissionService;
58632
+ exports.ɵdq = TnCheckboxComponent;
58633
+ exports.ɵdr = TnDialogComponent;
58634
+ exports.ɵds = TnColorPickerComponent;
58635
+ exports.ɵdt = TnTinymceComponent;
58636
+ exports.ɵdu = TnTabViewComponent;
58637
+ exports.ɵdv = TableDetailFormComponent;
58638
+ exports.ɵdw = FileIconPipe;
58639
+ exports.ɵdx = FileSizePipe;
58640
+ exports.ɵdy = QuickAddFormComponent;
58641
+ exports.ɵdz = PreventShiftTabDirective;
58335
58642
  exports.ɵe = TreeTableComponent;
58336
- exports.ɵea = UserPickerComponent;
58337
- exports.ɵeb = UserPickerBoxComponent;
58338
- exports.ɵec = TnAppHelpComponent;
58339
- exports.ɵed = PathNameService;
58340
- exports.ɵee = HelperCurrentPageComponent;
58341
- exports.ɵef = TnAppNotificationListComponent;
58342
- exports.ɵeg = TnAppNotificationComponent;
58343
- exports.ɵeh = FolderFormComponent;
58344
- exports.ɵei = FileFormComponent;
58345
- exports.ɵej = FileViewerComponent;
58346
- exports.ɵek = FileVersionListComponent;
58347
- exports.ɵel = WorkflowHistoryComponent;
58348
- exports.ɵem = WorkflowHistoryDialogComponent;
58349
- exports.ɵen = WorkflowHistoryNewComponent;
58350
- exports.ɵeo = WorkflowSettingComponent;
58351
- exports.ɵep = WorkflowSettingDialogComponent;
58352
- exports.ɵeq = WorkflowPermissionComponent;
58353
- exports.ɵer = WorkflowPermissionFormComponent;
58354
- exports.ɵes = QrCodeGeneratorComponent;
58355
- exports.ɵet = AccessDeniedV1Component;
58356
- exports.ɵeu = AddNewsComponent;
58357
- exports.ɵev = ArticleService;
58358
- exports.ɵew = NewsCategoryService;
58359
- exports.ɵex = SignatureDetailComponent;
58360
- exports.ɵey = KySoSimDanhSachChuKyComponent;
58361
- exports.ɵez = KySoSimChuKyUserService;
58643
+ exports.ɵea = TnTemplateDirective;
58644
+ exports.ɵeb = UserPickerComponent;
58645
+ exports.ɵec = UserPickerBoxComponent;
58646
+ exports.ɵed = TnAppHelpComponent;
58647
+ exports.ɵee = PathNameService;
58648
+ exports.ɵef = HelperCurrentPageComponent;
58649
+ exports.ɵeg = TnAppNotificationListComponent;
58650
+ exports.ɵeh = TnAppNotificationComponent;
58651
+ exports.ɵei = FolderFormComponent;
58652
+ exports.ɵej = FileFormComponent;
58653
+ exports.ɵek = FileViewerComponent;
58654
+ exports.ɵel = FileVersionListComponent;
58655
+ exports.ɵem = WorkflowHistoryComponent;
58656
+ exports.ɵen = WorkflowHistoryDialogComponent;
58657
+ exports.ɵeo = WorkflowHistoryNewComponent;
58658
+ exports.ɵep = WorkflowSettingComponent;
58659
+ exports.ɵeq = WorkflowSettingDialogComponent;
58660
+ exports.ɵer = WorkflowPermissionComponent;
58661
+ exports.ɵes = WorkflowPermissionFormComponent;
58662
+ exports.ɵet = QrCodeGeneratorComponent;
58663
+ exports.ɵeu = AccessDeniedV1Component;
58664
+ exports.ɵev = AddNewsComponent;
58665
+ exports.ɵew = ArticleService;
58666
+ exports.ɵex = NewsCategoryService;
58667
+ exports.ɵey = SignatureDetailComponent;
58668
+ exports.ɵez = KySoSimDanhSachChuKyComponent;
58362
58669
  exports.ɵf = UniversalLinkProcessorComponent;
58363
- exports.ɵfa = FileKySoSimComponent;
58364
- exports.ɵfb = KySoSimSignPDFService;
58365
- exports.ɵfc = TaiLieuCuaToiComponent;
58366
- exports.ɵfd = KhaiThacTaiLieuDungChungComponent;
58367
- exports.ɵfe = DanhMucDungChungService;
58368
- exports.ɵff = TnTemplateComponent;
58369
- exports.ɵfg = CheckReadyComponent;
58670
+ exports.ɵfa = KySoSimChuKyUserService;
58671
+ exports.ɵfb = FileKySoSimComponent;
58672
+ exports.ɵfc = KySoSimSignPDFService;
58673
+ exports.ɵfd = TaiLieuCuaToiComponent;
58674
+ exports.ɵfe = KhaiThacTaiLieuDungChungComponent;
58675
+ exports.ɵff = DanhMucDungChungService;
58676
+ exports.ɵfg = TnTemplateComponent;
58677
+ exports.ɵfh = CheckReadyComponent;
58370
58678
  exports.ɵg = NotFoundComponent;
58371
58679
  exports.ɵh = SendAccessTokenInterceptor;
58372
58680
  exports.ɵi = LogInterceptor;