Bladeren bron

frontend format code

MaxKey 2 jaren geleden
bovenliggende
commit
95e51d2774
100 gewijzigde bestanden met toevoegingen van 1502 en 1374 verwijderingen
  1. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/app.component.ts
  2. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/app.module.ts
  3. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/core/core.module.ts
  4. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/core/index.ts
  5. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/core/module-import-guard.ts
  6. 29 30
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Accounts.ts
  7. 30 31
      maxkey-web-frontend/maxkey-web-app/src/app/entity/AccountsStrategy.ts
  8. 21 22
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Adapters.ts
  9. 49 50
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Apps.ts
  10. 23 23
      maxkey-web-frontend/maxkey-web-app/src/app/entity/BaseEntity.ts
  11. 12 13
      maxkey-web-frontend/maxkey-web-app/src/app/entity/ChangePassword.ts
  12. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/entity/EmailSenders.ts
  13. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/entity/GroupMembers.ts
  14. 47 48
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Groups.ts
  15. 16 17
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Institutions.ts
  16. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/entity/LdapContext.ts
  17. 6 7
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Message.ts
  18. 40 41
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Organizations.ts
  19. 11 12
      maxkey-web-frontend/maxkey-web-app/src/app/entity/PageResults.ts
  20. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/entity/PasswordPolicy.ts
  21. 29 30
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Resources.ts
  22. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/entity/RoleMembers.ts
  23. 48 49
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Roles.ts
  24. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/entity/SmsProvider.ts
  25. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/entity/SocialsAssociate.ts
  26. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/entity/SocialsProvider.ts
  27. 59 60
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Synchronizers.ts
  28. 10 11
      maxkey-web-frontend/maxkey-web-app/src/app/entity/TimeBased.ts
  29. 34 35
      maxkey-web-frontend/maxkey-web-app/src/app/entity/TreeNodes.ts
  30. 166 166
      maxkey-web-frontend/maxkey-web-app/src/app/entity/Users.ts
  31. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/clear-storage.component.ts
  32. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/fullscreen.component.ts
  33. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/i18n.component.ts
  34. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/icon.component.ts
  35. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/notify.component.ts
  36. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/rtl.component.ts
  37. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/search.component.ts
  38. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/task.component.ts
  39. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/user.component.ts
  40. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/layout/blank/blank.component.ts
  41. 1 2
      maxkey-web-frontend/maxkey-web-app/src/app/layout/layout.module.ts
  42. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/layout/passport/passport.component.html
  43. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/layout/passport/passport.component.ts
  44. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/routes/access/access.module.ts
  45. 42 18
      maxkey-web-frontend/maxkey-web-app/src/app/routes/access/sessions/sessions.component.html
  46. 25 25
      maxkey-web-frontend/maxkey-web-app/src/app/routes/access/sessions/sessions.component.ts
  47. 25 26
      maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit-login-apps/audit-login-apps.component.ts
  48. 25 26
      maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit-logins/audit-logins.component.ts
  49. 25 26
      maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit-system-logs/audit-system-logs.component.ts
  50. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit.module.ts
  51. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/authz-mgt.component.ts
  52. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/authz.module.ts
  53. 4 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/credential/credential.component.ts
  54. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/oauth2-approve/oauth2-approve.component.html
  55. 6 6
      maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/oauth2-approve/oauth2-approve.component.ts
  56. 4 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/accouts/accouts.component.ts
  57. 5 6
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/config.module.ts
  58. 4 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/password/password.component.ts
  59. 438 277
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/profile/profile.component.html
  60. 4 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/profile/profile.component.ts
  61. 25 25
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/socials-associate/socials-associate.component.ts
  62. 25 25
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/socials-provider/socials-provider.component.ts
  63. 4 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/config/timebased/timebased.component.ts
  64. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/routes/dashboard/dashboard-routing.module.ts
  65. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/dashboard/dashboard.module.ts
  66. 7 3
      maxkey-web-frontend/maxkey-web-app/src/app/routes/dashboard/home/home.component.html
  67. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/callback.component.ts
  68. 6 7
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/forgot/forgot.component.ts
  69. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/jwt-auth.component.ts
  70. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/lock/lock.component.ts
  71. 17 11
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.html
  72. 3 3
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.ts
  73. 2 2
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/logout.component.ts
  74. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/passport-routing.module.ts
  75. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/passport.module.ts
  76. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/register-result/register-result.component.ts
  77. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/register/register.component.ts
  78. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/routes-routing.module.ts
  79. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/routes/routes.module.ts
  80. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/style/color.service.ts
  81. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/style/colors/colors.component.ts
  82. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/style/gridmasonry/gridmasonry.component.ts
  83. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/style/style-routing.module.ts
  84. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/style/style.module.ts
  85. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/style/typography/typography.component.ts
  86. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/widgets/widgets-routing.module.ts
  87. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/widgets/widgets.module.ts
  88. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/routes/widgets/widgets/widgets.component.ts
  89. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/service/authn.service.ts
  90. 13 13
      maxkey-web-frontend/maxkey-web-app/src/app/service/base.service.ts
  91. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/email-senders.service.ts
  92. 1 1
      maxkey-web-frontend/maxkey-web-app/src/app/service/forgot-password.service.ts
  93. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/group-members.service.ts
  94. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/group-privileges.service.ts
  95. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/history.service.ts
  96. 4 5
      maxkey-web-frontend/maxkey-web-app/src/app/service/image-captcha.service.ts
  97. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/institutions.service.ts
  98. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/oauth2-approve.service.ts
  99. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/organizations.service.ts
  100. 3 4
      maxkey-web-frontend/maxkey-web-app/src/app/service/password-policy.service.ts

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/app.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core';
 import { NavigationEnd, NavigationError, RouteConfigLoadStart, Router } from '@angular/router';

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/app.module.ts

@@ -122,4 +122,4 @@ import { Observable } from 'rxjs';
   providers: [...LANG_PROVIDES, ...INTERCEPTOR_PROVIDES, ...I18NSERVICE_PROVIDES, ...APPINIT_PROVIDES],
   bootstrap: [AppComponent]
 })
-export class AppModule { }
+export class AppModule {}

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/core/core.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NgModule, Optional, SkipSelf } from '@angular/core';
 

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/core/index.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 export * from './i18n/i18n.service';
 export * from './module-import-guard';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/core/module-import-guard.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 // https://angular.io/guide/styleguide#style-04-12
 export function throwIfAlreadyLoaded(parentModule: any, moduleName: string): void {

+ 29 - 30
maxkey-web-frontend/maxkey-web-app/src/app/entity/Accounts.ts

@@ -1,54 +1,53 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class Accounts extends BaseEntity {
-    strategyId!: String;
-    strategyName!: String;
-    appId!: String;
-    appName!: String;
-    userId!: String;
-    username!: String;
-    displayName!: String;
-    relatedUsername!: String;
-    relatedPassword!: String;
-    createType!: String;
-    confirmPassword!: String;
+  strategyId!: String;
+  strategyName!: String;
+  appId!: String;
+  appName!: String;
+  userId!: String;
+  username!: String;
+  displayName!: String;
+  relatedUsername!: String;
+  relatedPassword!: String;
+  createType!: String;
+  confirmPassword!: String;
 
-    constructor() {
-        super();
-        this.createType = 'manual';
-    }
+  constructor() {
+    super();
+    this.createType = 'manual';
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
     }
+  }
 
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
+  }
 }

+ 30 - 31
maxkey-web-frontend/maxkey-web-app/src/app/entity/AccountsStrategy.ts

@@ -1,55 +1,54 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class AccountsStrategy extends BaseEntity {
-    name!: String;
-    appId!: String;
-    appName!: String;
-    filters!: String;
-    orgIdsList!: String;
-    mapping!: String;
-    suffixes!: String;
-    createType!: String;
-    switch_dynamic: boolean = false;
-    picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
-    picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  name!: String;
+  appId!: String;
+  appName!: String;
+  filters!: String;
+  orgIdsList!: String;
+  mapping!: String;
+  suffixes!: String;
+  createType!: String;
+  switch_dynamic: boolean = false;
+  picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
 
-    constructor() {
-        super();
-        this.createType = 'manual';
-        this.mapping = 'username';
-    }
+  constructor() {
+    super();
+    this.createType = 'manual';
+    this.mapping = 'username';
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
     }
+  }
 
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
+  }
 }

+ 21 - 22
maxkey-web-frontend/maxkey-web-app/src/app/entity/Adapters.ts

@@ -1,45 +1,44 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class Adapters extends BaseEntity {
-    name!: String;
-    protocol!: String;
-    adapter!: String;
-    switch_dynamic: boolean = false;
+  name!: String;
+  protocol!: String;
+  adapter!: String;
+  switch_dynamic: boolean = false;
 
-    constructor() {
-        super();
-    }
+  constructor() {
+    super();
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
     }
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
+  }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
+  }
 }

+ 49 - 50
maxkey-web-frontend/maxkey-web-app/src/app/entity/Apps.ts

@@ -1,76 +1,75 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class Apps extends BaseEntity {
-    name!: String;
-    loginUrl!: String;
-    category!: String;
-    protocol!: String;
-    secret!: String;
-    iconBase64!: String;
-    visible!: String;
-    inducer!: String;
-    vendor!: String;
-    vendorUrl!: String;
-    credential!: String;
-    sharedUsername!: String;
-    sharedPassword!: String;
-    systemUserAttr!: String;
-    principal!: String;
-    credentials!: String;
+  name!: String;
+  loginUrl!: String;
+  category!: String;
+  protocol!: String;
+  secret!: String;
+  iconBase64!: String;
+  visible!: String;
+  inducer!: String;
+  vendor!: String;
+  vendorUrl!: String;
+  credential!: String;
+  sharedUsername!: String;
+  sharedPassword!: String;
+  systemUserAttr!: String;
+  principal!: String;
+  credentials!: String;
 
-    logoutUrl!: String;
-    logoutType!: String;
-    isExtendAttr!: String;
-    extendAttr!: String;
-    userPropertys!: String;
-    isSignature!: String;
-    isAdapter!: String;
-    adapterId!: String;
-    adapterName!: String;
-    adapter!: String;
-    iconId!: String;
+  logoutUrl!: String;
+  logoutType!: String;
+  isExtendAttr!: String;
+  extendAttr!: String;
+  userPropertys!: String;
+  isSignature!: String;
+  isAdapter!: String;
+  adapterId!: String;
+  adapterName!: String;
+  adapter!: String;
+  iconId!: String;
 
-    select_userPropertys!: String[];
+  select_userPropertys!: String[];
 
-    constructor() {
-        super();
-        this.category = 'none';
-        this.visible = '0';
-        this.isAdapter = '0';
-        this.logoutType = '0';
-    }
+  constructor() {
+    super();
+    this.category = 'none';
+    this.visible = '0';
+    this.isAdapter = '0';
+    this.logoutType = '0';
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
     }
+  }
 
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
+  }
 }

+ 23 - 23
maxkey-web-frontend/maxkey-web-app/src/app/entity/BaseEntity.ts

@@ -15,30 +15,30 @@
  */
 
 export class BaseEntity {
-    id!: String;
-    instId!: String;
-    instName!: String;
-    sortIndex!: Number;
-    status!: Number;
-    description!: String;
-    switch_status: boolean = false;
-    str_status!: String;
+  id!: String;
+  instId!: String;
+  instName!: String;
+  sortIndex!: Number;
+  status!: Number;
+  description!: String;
+  switch_status: boolean = false;
+  str_status!: String;
 
-    constructor() {
-        this.status = 1;
+  constructor() {
+    this.status = 1;
+  }
+  init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
+      this.str_status = `${this.status}`;
     }
-    init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-            this.str_status = `${this.status}`;
-        }
-    }
-    trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
+  }
+  trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
+  }
 }

+ 12 - 13
maxkey-web-frontend/maxkey-web-app/src/app/entity/ChangePassword.ts

@@ -1,30 +1,29 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 
 export class ChangePassword extends BaseEntity {
-    userId!: String;
-    username!: String;
-    email!: String;
-    mobile!: String;
-    displayName!: String;
-    oldPassword!: String;
-    password!: String;
-    confirmPassword!: String;
-    decipherable!: String;
+  userId!: String;
+  username!: String;
+  email!: String;
+  mobile!: String;
+  displayName!: String;
+  oldPassword!: String;
+  password!: String;
+  confirmPassword!: String;
+  decipherable!: String;
 }

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/entity/EmailSenders.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/entity/GroupMembers.ts

@@ -1,20 +1,19 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 
-export class GroupMembers extends BaseEntity { }
+export class GroupMembers extends BaseEntity {}

+ 47 - 48
maxkey-web-frontend/maxkey-web-app/src/app/entity/Groups.ts

@@ -1,73 +1,72 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class Groups extends BaseEntity {
-    name!: String;
-    dynamic!: String;
-    filters!: String;
-    orgIdsList!: String;
-    resumeTime!: String;
-    suspendTime!: String;
-    isdefault!: String;
+  name!: String;
+  dynamic!: String;
+  filters!: String;
+  orgIdsList!: String;
+  resumeTime!: String;
+  suspendTime!: String;
+  isdefault!: String;
 
-    switch_dynamic: boolean = false;
-    picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
-    picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  switch_dynamic: boolean = false;
+  picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
 
-    constructor() {
-        super();
-    }
+  constructor() {
+    super();
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
-        if (this.dynamic == '1') {
-            this.switch_dynamic = true;
-        }
-        if (this.resumeTime != '') {
-            this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
-        }
-        if (this.suspendTime != '') {
-            this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
+    }
+    if (this.dynamic == '1') {
+      this.switch_dynamic = true;
+    }
+    if (this.resumeTime != '') {
+      this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
+    }
+    if (this.suspendTime != '') {
+      this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
+    }
+  }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
+    }
+    if (this.switch_dynamic) {
+      this.dynamic = '1';
+    } else {
+      this.dynamic = '0';
     }
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
-        if (this.switch_dynamic) {
-            this.dynamic = '1';
-        } else {
-            this.dynamic = '0';
-        }
 
-        if (this.picker_resumeTime) {
-            this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
-        }
-        if (this.picker_suspendTime) {
-            this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
-        }
+    if (this.picker_resumeTime) {
+      this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
+    }
+    if (this.picker_suspendTime) {
+      this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
     }
+  }
 }

+ 16 - 17
maxkey-web-frontend/maxkey-web-app/src/app/entity/Institutions.ts

@@ -1,34 +1,33 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 
 export class Institutions extends BaseEntity {
-    name!: String;
-    fullName!: String;
-    contact!: String;
-    email!: String;
-    phone!: String;
-    address!: String;
-    logo!: String;
-    frontTitle!: String;
-    consoleTitle!: String;
-    domain!: String;
-    captchaType!: String;
-    captchaSupport!: String;
-    defaultUri!: String;
+  name!: String;
+  fullName!: String;
+  contact!: String;
+  email!: String;
+  phone!: String;
+  address!: String;
+  logo!: String;
+  frontTitle!: String;
+  consoleTitle!: String;
+  domain!: String;
+  captchaType!: String;
+  captchaSupport!: String;
+  defaultUri!: String;
 }

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/entity/LdapContext.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 

+ 6 - 7
maxkey-web-frontend/maxkey-web-app/src/app/entity/Message.ts

@@ -1,25 +1,24 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 import { NzSafeAny } from 'ng-zorro-antd/core/types';
 
 export class Message<NzSafeAny> {
-    code: number = 0;
-    message: string = '';
-    data: any;
+  code: number = 0;
+  message: string = '';
+  data: any;
 }

+ 40 - 41
maxkey-web-frontend/maxkey-web-app/src/app/entity/Organizations.ts

@@ -1,62 +1,61 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 
 export class Organizations extends BaseEntity {
-    code!: String;
-    name!: String;
-    fullName!: String;
-    parentId!: String;
-    parentCode!: string;
-    parentName!: String;
-    type!: String;
-    codePath!: String;
-    namePath!: String;
-    level!: Number;
-    division!: String;
-    country!: String;
-    region!: String;
-    locality!: String;
-    street!: String;
-    address!: String;
-    contact!: String;
-    postalCode!: String;
-    phone!: String;
-    fax!: String;
-    email!: String;
-    switch_dynamic: boolean = false;
+  code!: String;
+  name!: String;
+  fullName!: String;
+  parentId!: String;
+  parentCode!: string;
+  parentName!: String;
+  type!: String;
+  codePath!: String;
+  namePath!: String;
+  level!: Number;
+  division!: String;
+  country!: String;
+  region!: String;
+  locality!: String;
+  street!: String;
+  address!: String;
+  contact!: String;
+  postalCode!: String;
+  phone!: String;
+  fax!: String;
+  email!: String;
+  switch_dynamic: boolean = false;
 
-    constructor() {
-        super();
-        this.status = 1;
-    }
+  constructor() {
+    super();
+    this.status = 1;
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
     }
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
+  }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
+  }
 }

+ 11 - 12
maxkey-web-frontend/maxkey-web-app/src/app/entity/PageResults.ts

@@ -1,31 +1,30 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 import { NzSafeAny } from 'ng-zorro-antd/core/types';
 
 export class PageResults {
-    page: number = 0;
-    total: number = 0;
-    totalPage: number = 0;
-    records: number = 0;
-    rows: any[] = [];
+  page: number = 0;
+  total: number = 0;
+  totalPage: number = 0;
+  records: number = 0;
+  rows: any[] = [];
 
-    init(data: any): void {
-        Object.assign(this, data);
-    }
+  init(data: any): void {
+    Object.assign(this, data);
+  }
 }

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/entity/PasswordPolicy.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 

+ 29 - 30
maxkey-web-frontend/maxkey-web-app/src/app/entity/Resources.ts

@@ -1,51 +1,50 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 
 export class Resources extends BaseEntity {
-    name!: String;
-    appId!: String;
-    appName!: String;
-    parentId!: String;
-    parentName!: String;
-    resourceType!: String;
-    resourceIcon!: String;
-    resourceStyle!: String;
-    resourceUrl!: String;
-    resourceAction!: String;
-    switch_dynamic: boolean = false;
+  name!: String;
+  appId!: String;
+  appName!: String;
+  parentId!: String;
+  parentName!: String;
+  resourceType!: String;
+  resourceIcon!: String;
+  resourceStyle!: String;
+  resourceUrl!: String;
+  resourceAction!: String;
+  switch_dynamic: boolean = false;
 
-    constructor() {
-        super();
-        this.status = 1;
-    }
+  constructor() {
+    super();
+    this.status = 1;
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
     }
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
+  }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
+  }
 }

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/entity/RoleMembers.ts

@@ -1,20 +1,19 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 
-export class RoleMembers extends BaseEntity { }
+export class RoleMembers extends BaseEntity {}

+ 48 - 49
maxkey-web-frontend/maxkey-web-app/src/app/entity/Roles.ts

@@ -1,74 +1,73 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class Roles extends BaseEntity {
-    name!: String;
-    dynamic!: String;
-    filters!: String;
-    orgIdsList!: String;
-    resumeTime!: String;
-    suspendTime!: String;
-    isdefault!: String;
-    switch_dynamic: boolean = false;
-    picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
-    picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  name!: String;
+  dynamic!: String;
+  filters!: String;
+  orgIdsList!: String;
+  resumeTime!: String;
+  suspendTime!: String;
+  isdefault!: String;
+  switch_dynamic: boolean = false;
+  picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
 
-    constructor() {
-        super();
-        this.status = 1;
-    }
+  constructor() {
+    super();
+    this.status = 1;
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
-        if (this.dynamic == '1') {
-            this.switch_dynamic = true;
-        }
-        if (this.resumeTime != '') {
-            this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
-        }
-        if (this.suspendTime != '') {
-            this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
+    }
+    if (this.dynamic == '1') {
+      this.switch_dynamic = true;
+    }
+    if (this.resumeTime != '') {
+      this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
+    }
+    if (this.suspendTime != '') {
+      this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
     }
+  }
 
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
-        if (this.switch_dynamic) {
-            this.dynamic = '1';
-        } else {
-            this.dynamic = '0';
-        }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
+    }
+    if (this.switch_dynamic) {
+      this.dynamic = '1';
+    } else {
+      this.dynamic = '0';
+    }
 
-        if (this.picker_resumeTime) {
-            this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
-        }
-        if (this.picker_suspendTime) {
-            this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
-        }
+    if (this.picker_resumeTime) {
+      this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
+    }
+    if (this.picker_suspendTime) {
+      this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
     }
+  }
 }

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/entity/SmsProvider.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/entity/SocialsAssociate.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 import { SocialsProvider } from './SocialsProvider';
@@ -35,5 +34,5 @@ export class SocialsAssociate extends SocialsProvider {
     Object.assign(this, data);
   }
 
-  override trans(): void { }
+  override trans(): void {}
 }

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/entity/SocialsProvider.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { BaseEntity } from './BaseEntity';
 

+ 59 - 60
maxkey-web-frontend/maxkey-web-app/src/app/entity/Synchronizers.ts

@@ -1,84 +1,83 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class Synchronizers extends BaseEntity {
-    name!: String;
-    filters!: String;
-    sourceType!: String;
-    service!: String;
-    resumeTime!: String;
-    suspendTime!: String;
-    scheduler!: String;
-    syncStartTime!: Number;
-    providerUrl!: String;
-    driverClass!: String;
-    principal!: String;
-    credentials!: String;
-    sslSwitch!: Number;
-    basedn!: String;
-    msadDomain!: String;
-    trustStore!: String;
-    trustStorePassword!: String;
-    switch_sslSwitch: boolean = false;
-    picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
-    picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  name!: String;
+  filters!: String;
+  sourceType!: String;
+  service!: String;
+  resumeTime!: String;
+  suspendTime!: String;
+  scheduler!: String;
+  syncStartTime!: Number;
+  providerUrl!: String;
+  driverClass!: String;
+  principal!: String;
+  credentials!: String;
+  sslSwitch!: Number;
+  basedn!: String;
+  msadDomain!: String;
+  trustStore!: String;
+  trustStorePassword!: String;
+  switch_sslSwitch: boolean = false;
+  picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
+  picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
 
-    constructor() {
-        super();
-        this.status = 1;
-        this.sourceType != 'API';
-    }
+  constructor() {
+    super();
+    this.status = 1;
+    this.sourceType != 'API';
+  }
 
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
-        if (this.sslSwitch == 1) {
-            this.switch_sslSwitch = true;
-        }
-        if (this.resumeTime != '') {
-            this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
-        }
-        if (this.suspendTime != '') {
-            this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
-        }
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
+    }
+    if (this.sslSwitch == 1) {
+      this.switch_sslSwitch = true;
+    }
+    if (this.resumeTime != '') {
+      this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
+    }
+    if (this.suspendTime != '') {
+      this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
     }
+  }
 
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
-        if (this.switch_sslSwitch) {
-            this.sslSwitch = 1;
-        } else {
-            this.sslSwitch = 0;
-        }
-        if (this.picker_resumeTime) {
-            this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
-        }
-        if (this.picker_suspendTime) {
-            this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
-        }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
+    }
+    if (this.switch_sslSwitch) {
+      this.sslSwitch = 1;
+    } else {
+      this.sslSwitch = 0;
+    }
+    if (this.picker_resumeTime) {
+      this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
+    }
+    if (this.picker_suspendTime) {
+      this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
     }
+  }
 }

+ 10 - 11
maxkey-web-frontend/maxkey-web-app/src/app/entity/TimeBased.ts

@@ -1,30 +1,29 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import format from 'date-fns/format';
 
 import { BaseEntity } from './BaseEntity';
 
 export class TimeBased extends BaseEntity {
-    displayName!: String;
-    username!: String;
-    digits!: String;
-    period!: String;
-    sharedSecret!: String;
-    hexSharedSecret!: String;
-    rqCode!: String;
+  displayName!: String;
+  username!: String;
+  digits!: String;
+  period!: String;
+  sharedSecret!: String;
+  hexSharedSecret!: String;
+  rqCode!: String;
 }

+ 34 - 35
maxkey-web-frontend/maxkey-web-app/src/app/entity/TreeNodes.ts

@@ -1,55 +1,54 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NzFormatEmitEvent, NzTreeNode, NzTreeNodeOptions } from 'ng-zorro-antd/tree';
 export class TreeNodes {
-    activated!: NzTreeNode;
-    request!: any[];
-    nodes!: any[];
-    checkable!: boolean;
-    checkedKeys!: any[];
-    selectedKeys!: any[];
-    _rootNode!: any;
-    constructor(checkable: boolean) {
-        this.checkable = checkable;
-        this.checkedKeys = [];
-        this.selectedKeys = [];
-    }
+  activated!: NzTreeNode;
+  request!: any[];
+  nodes!: any[];
+  checkable!: boolean;
+  checkedKeys!: any[];
+  selectedKeys!: any[];
+  _rootNode!: any;
+  constructor(checkable: boolean) {
+    this.checkable = checkable;
+    this.checkedKeys = [];
+    this.selectedKeys = [];
+  }
 
-    init(treeAttrs: any) {
-        this._rootNode = { title: treeAttrs.rootNode.title, key: treeAttrs.rootNode.key, expanded: true, isLeaf: false };
-        this.request = treeAttrs.nodes;
-    }
+  init(treeAttrs: any) {
+    this._rootNode = { title: treeAttrs.rootNode.title, key: treeAttrs.rootNode.key, expanded: true, isLeaf: false };
+    this.request = treeAttrs.nodes;
+  }
 
-    build(): any[] {
-        return this.buildTree(this._rootNode);
-    }
+  build(): any[] {
+    return this.buildTree(this._rootNode);
+  }
 
-    buildTree(rootNode: any): any[] {
-        let treeNodes: any[] = [];
-        for (let node of this.request) {
-            if (node.key != rootNode.key && node.parentKey == rootNode.key) {
-                let treeNode = { title: node.title, key: node.key, expanded: false, isLeaf: true };
-                this.buildTree(treeNode);
-                treeNodes.push(treeNode);
-                rootNode.isLeaf = false;
-            }
-        }
-        rootNode.children = treeNodes;
-        return [rootNode];
+  buildTree(rootNode: any): any[] {
+    let treeNodes: any[] = [];
+    for (let node of this.request) {
+      if (node.key != rootNode.key && node.parentKey == rootNode.key) {
+        let treeNode = { title: node.title, key: node.key, expanded: false, isLeaf: true };
+        this.buildTree(treeNode);
+        treeNodes.push(treeNode);
+        rootNode.isLeaf = false;
+      }
     }
+    rootNode.children = treeNodes;
+    return [rootNode];
+  }
 }

+ 166 - 166
maxkey-web-frontend/maxkey-web-app/src/app/entity/Users.ts

@@ -17,173 +17,173 @@
 import { BaseEntity } from './BaseEntity';
 
 export class Users extends BaseEntity {
-    username!: String;
-    password!: String;
-    decipherable!: String;
-    sharedSecret!: String;
-    sharedCounter!: String;
-    /**
-     * "Employee", "Supplier","Dealer","Contractor",Partner,Customer "Intern",
-     * "Temp", "External", and "Unknown" .
-     */
-    userType!: String;
-
-    userState!: String;
-    windowsAccount!: String;
-
-    // for user name
-    displayName!: String;
-    nickName!: String;
-    nameZhSpell!: String;
-    nameZhShortSpell!: String;
-    givenName!: String;
-    middleName!: String;
-    familyName!: String;
-    honorificPrefix!: String;
-    honorificSuffix!: String;
-    formattedName!: String;
-
-    married!: Number;
-    gender!: Number;
-    birthDate!: String;
-    picture!: String;
-    pictureId!: String;
-    pictureBase64!: string;
-    idType!: Number;
-    idCardNo!: String;
-    webSite!: String;
-    startWorkDate!: String;
-
-    // for security
-    authnType!: String;
-    email!: String;
-    emailVerified!: Number;
-    mobile!: String;
-    mobileVerified!: String;
-    passwordQuestion!: String;
-    passwordAnswer!: String;
-
-    // for apps login protected
-    appLoginAuthnType!: String;
-    appLoginPassword!: String;
-    protectedApps!: String;
-    protectedAppsMap!: String;
-
-    passwordLastSetTime!: String;
-    badPasswordCount!: Number;
-    badPasswordTime!: String;
-    unLockTime!: String;
-    isLocked!: Number;
-    lastLoginTime!: String;
-    lastLoginIp!: String;
-    lastLogoffTime!: String;
-    passwordSetType!: Number;
-    loginCount!: Number;
-    regionHistory!: String;
-    passwordHistory!: String;
-
-    locale!: String;
-    timeZone!: String;
-    preferredLanguage!: String;
-
-    // for work
-    workCountry!: String;
-    workRegion!: String; // province;
-    workLocality!: String; // city;
-    workStreetAddress!: String;
-    workAddressFormatted!: String;
-    workEmail!: String;
-    workPhoneNumber!: String;
-    workPostalCode!: String;
-    workFax!: String;
-    workOfficeName!: String;
-    // for home
-    homeCountry!: String;
-    homeRegion!: String; // province;
-    homeLocality!: String; // city;
-    homeStreetAddress!: String;
-    homeAddressFormatted!: String;
-    homeEmail!: String;
-    homePhoneNumber!: String;
-    homePostalCode!: String;
-    homeFax!: String;
-    // for company
-    employeeNumber!: String;
-    costCenter!: String;
-    organization!: String;
-    division!: String;
-    departmentId!: String;
-    department!: String;
-    jobTitle!: String;
-    jobLevel!: String;
-    managerId!: String;
-    manager!: String;
-    assistantId!: String;
-    assistant!: String;
-    entryDate!: String;
-    quitDate!: String;
-
-    // for social contact
-    defineIm!: String;
-    theme!: String;
-    /*
-     * for extended Attribute from userType extraAttribute for database
-     * extraAttributeName & extraAttributeValue for page submit
-     */
-    //protected String extraAttribute;
-    //protected String extraAttributeName;
-    //protected String extraAttributeValue;
-    //@JsonIgnore
-    //protected HashMap<String, String> extraAttributeMap;
-
-    online!: Number;
-
-    gridList!: Number;
-    switch_dynamic: boolean = false;
-
-    gender_select!: String;
-    str_married!: String;
-    str_idType!: String;
-    constructor() {
-        super();
-        this.status = 1;
-        this.sortIndex = 1;
-        this.gender = 1;
-        this.userType = 'EMPLOYEE';
-        this.userState = 'RESIDENT';
-        this.gender_select = '1';
-        this.str_married = '0';
-        this.str_idType = '0';
+  username!: String;
+  password!: String;
+  decipherable!: String;
+  sharedSecret!: String;
+  sharedCounter!: String;
+  /**
+   * "Employee", "Supplier","Dealer","Contractor",Partner,Customer "Intern",
+   * "Temp", "External", and "Unknown" .
+   */
+  userType!: String;
+
+  userState!: String;
+  windowsAccount!: String;
+
+  // for user name
+  displayName!: String;
+  nickName!: String;
+  nameZhSpell!: String;
+  nameZhShortSpell!: String;
+  givenName!: String;
+  middleName!: String;
+  familyName!: String;
+  honorificPrefix!: String;
+  honorificSuffix!: String;
+  formattedName!: String;
+
+  married!: Number;
+  gender!: Number;
+  birthDate!: String;
+  picture!: String;
+  pictureId!: String;
+  pictureBase64!: string;
+  idType!: Number;
+  idCardNo!: String;
+  webSite!: String;
+  startWorkDate!: String;
+
+  // for security
+  authnType!: String;
+  email!: String;
+  emailVerified!: Number;
+  mobile!: String;
+  mobileVerified!: String;
+  passwordQuestion!: String;
+  passwordAnswer!: String;
+
+  // for apps login protected
+  appLoginAuthnType!: String;
+  appLoginPassword!: String;
+  protectedApps!: String;
+  protectedAppsMap!: String;
+
+  passwordLastSetTime!: String;
+  badPasswordCount!: Number;
+  badPasswordTime!: String;
+  unLockTime!: String;
+  isLocked!: Number;
+  lastLoginTime!: String;
+  lastLoginIp!: String;
+  lastLogoffTime!: String;
+  passwordSetType!: Number;
+  loginCount!: Number;
+  regionHistory!: String;
+  passwordHistory!: String;
+
+  locale!: String;
+  timeZone!: String;
+  preferredLanguage!: String;
+
+  // for work
+  workCountry!: String;
+  workRegion!: String; // province;
+  workLocality!: String; // city;
+  workStreetAddress!: String;
+  workAddressFormatted!: String;
+  workEmail!: String;
+  workPhoneNumber!: String;
+  workPostalCode!: String;
+  workFax!: String;
+  workOfficeName!: String;
+  // for home
+  homeCountry!: String;
+  homeRegion!: String; // province;
+  homeLocality!: String; // city;
+  homeStreetAddress!: String;
+  homeAddressFormatted!: String;
+  homeEmail!: String;
+  homePhoneNumber!: String;
+  homePostalCode!: String;
+  homeFax!: String;
+  // for company
+  employeeNumber!: String;
+  costCenter!: String;
+  organization!: String;
+  division!: String;
+  departmentId!: String;
+  department!: String;
+  jobTitle!: String;
+  jobLevel!: String;
+  managerId!: String;
+  manager!: String;
+  assistantId!: String;
+  assistant!: String;
+  entryDate!: String;
+  quitDate!: String;
+
+  // for social contact
+  defineIm!: String;
+  theme!: String;
+  /*
+   * for extended Attribute from userType extraAttribute for database
+   * extraAttributeName & extraAttributeValue for page submit
+   */
+  //protected String extraAttribute;
+  //protected String extraAttributeName;
+  //protected String extraAttributeValue;
+  //@JsonIgnore
+  //protected HashMap<String, String> extraAttributeMap;
+
+  online!: Number;
+
+  gridList!: Number;
+  switch_dynamic: boolean = false;
+
+  gender_select!: String;
+  str_married!: String;
+  str_idType!: String;
+  constructor() {
+    super();
+    this.status = 1;
+    this.sortIndex = 1;
+    this.gender = 1;
+    this.userType = 'EMPLOYEE';
+    this.userState = 'RESIDENT';
+    this.gender_select = '1';
+    this.str_married = '0';
+    this.str_idType = '0';
+  }
+
+  override init(data: any): void {
+    Object.assign(this, data);
+    if (this.status == 1) {
+      this.switch_status = true;
     }
-
-    override init(data: any): void {
-        Object.assign(this, data);
-        if (this.status == 1) {
-            this.switch_status = true;
-        }
-        if (this.gender == 1) {
-            this.gender_select = '1';
-        } else {
-            this.gender_select = '2';
-        }
-        this.str_status = `${this.status}`;
-        this.str_married = `${this.married}`;
-        this.str_idType = `${this.idType}`;
+    if (this.gender == 1) {
+      this.gender_select = '1';
+    } else {
+      this.gender_select = '2';
+    }
+    this.str_status = `${this.status}`;
+    this.str_married = `${this.married}`;
+    this.str_idType = `${this.idType}`;
+  }
+  override trans(): void {
+    if (this.switch_status) {
+      this.status = 1;
+    } else {
+      this.status = 0;
     }
-    override trans(): void {
-        if (this.switch_status) {
-            this.status = 1;
-        } else {
-            this.status = 0;
-        }
-
-        if (this.gender_select == '1') {
-            this.gender = 1;
-        } else {
-            this.gender = 2;
-        }
-        this.status = Number.parseInt(`${this.str_status}`);
-        this.married = Number.parseInt(`${this.str_married}`);
-        this.idType = Number.parseInt(`${this.str_idType}`);
+
+    if (this.gender_select == '1') {
+      this.gender = 1;
+    } else {
+      this.gender = 2;
     }
+    this.status = Number.parseInt(`${this.str_status}`);
+    this.married = Number.parseInt(`${this.str_married}`);
+    this.idType = Number.parseInt(`${this.str_idType}`);
+  }
 }

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/clear-storage.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
 import { NzMessageService } from 'ng-zorro-antd/message';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/fullscreen.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
 import screenfull from 'screenfull';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/i18n.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { DOCUMENT } from '@angular/common';
 import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/icon.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
 

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/notify.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
 import { NoticeIconList, NoticeIconSelect, NoticeItem } from '@delon/abc/notice-icon';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/rtl.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
 import { RTLService } from '@delon/theme';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/search.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import {
   AfterViewInit,

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/task.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
 

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/layout/basic/widgets/user.component.ts

@@ -74,7 +74,7 @@ export class HeaderUserComponent {
     return this.settings.user;
   }
 
-  constructor(private settings: SettingsService, private router: Router, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) { }
+  constructor(private settings: SettingsService, private router: Router, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {}
 
   logout(): void {
     //this.tokenService.clear();

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/layout/blank/blank.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component } from '@angular/core';
 
@@ -24,4 +23,4 @@ import { Component } from '@angular/core';
     '[class.alain-blank]': 'true'
   }
 })
-export class LayoutBlankComponent { }
+export class LayoutBlankComponent {}

+ 1 - 2
maxkey-web-frontend/maxkey-web-app/src/app/layout/layout.module.ts

@@ -22,7 +22,6 @@ import { GlobalFooterModule } from '@delon/abc/global-footer';
 import { NoticeIconModule } from '@delon/abc/notice-icon';
 import { AlainThemeModule } from '@delon/theme';
 import { SettingDrawerModule } from '@delon/theme/setting-drawer';
-
 //import { ThemeBtnModule } from '@delon/theme/theme-btn';
 import { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete';
 import { NzAvatarModule } from 'ng-zorro-antd/avatar';
@@ -93,4 +92,4 @@ const PASSPORT = [LayoutPassportComponent];
   declarations: [...COMPONENTS, ...HEADERCOMPONENTS, ...PASSPORT],
   exports: [...COMPONENTS, ...PASSPORT]
 })
-export class LayoutModule { }
+export class LayoutModule {}

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/layout/passport/passport.component.html

@@ -39,4 +39,4 @@
     </global-footer>
   </div>
 </div>
-<theme-btn></theme-btn>
+<theme-btn></theme-btn>

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/layout/passport/passport.component.ts

@@ -46,7 +46,7 @@ export class LayoutPassportComponent implements OnInit {
     private authnService: AuthnService,
     @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService,
     private route: ActivatedRoute
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.inst = this.authnService.getInst();

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/routes/access/access.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { CommonModule } from '@angular/common';
 import { NgModule } from '@angular/core';
@@ -37,4 +36,4 @@ const COMPONENTS = [SessionsComponent];
   imports: [NzIconModule, SharedModule, CommonModule, RouterModule.forChild(routes)],
   exports: [RouterModule]
 })
-export class AccessModule { }
+export class AccessModule {}

+ 42 - 18
maxkey-web-frontend/maxkey-web-app/src/app/routes/access/sessions/sessions.component.html

@@ -5,8 +5,14 @@
         <nz-form-item>
           <nz-form-label nzFor="startDatePicker">{{ 'mxk.text.startDate' | i18n }}</nz-form-label>
           <nz-form-control>
-            <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.startDatePicker"
-              [ngModelOptions]="{ standalone: true }" name="startDatePicker" nzPlaceHolder="startDatePicker">
+            <nz-date-picker
+              nzShowTime
+              nzFormat="yyyy-MM-dd HH:mm:ss"
+              [(ngModel)]="query.params.startDatePicker"
+              [ngModelOptions]="{ standalone: true }"
+              name="startDatePicker"
+              nzPlaceHolder="startDatePicker"
+            >
             </nz-date-picker>
           </nz-form-control>
         </nz-form-item>
@@ -15,19 +21,25 @@
         <nz-form-item>
           <nz-form-label nzFor="endDatePicker">{{ 'mxk.text.endDate' | i18n }}</nz-form-label>
           <nz-form-control>
-            <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.endDatePicker"
-              [ngModelOptions]="{ standalone: true }" name="endDatePicker" nzPlaceHolder="endDatePicker">
+            <nz-date-picker
+              nzShowTime
+              nzFormat="yyyy-MM-dd HH:mm:ss"
+              [(ngModel)]="query.params.endDatePicker"
+              [ngModelOptions]="{ standalone: true }"
+              name="endDatePicker"
+              nzPlaceHolder="endDatePicker"
+            >
             </nz-date-picker>
           </nz-form-control>
         </nz-form-item>
       </div>
 
       <div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
-        <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
-          i18n }}</button>
+        <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
         <button nz-button type="reset" (click)="onReset()" class="mx-sm">{{ 'mxk.text.reset' | i18n }}</button>
         <button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm d-none">
-          {{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
+          {{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
+        >
       </div>
     </div>
   </form>
@@ -36,18 +48,27 @@
   <div nz-col [nzSpan]="24" class="table-list-toolbar">
     <button nz-button type="button" (click)="onTerminate($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
       'mxk.text.terminate' | i18n
-      }}</button>
+    }}</button>
   </div>
   <div nz-col [nzSpan]="24">
-    <nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzShowSizeChanger [nzBordered]="true"
-      [nzData]="query.results.rows" [nzFrontPagination]="false" [nzTotal]="query.results.records"
-      [nzPageSizeOptions]="query.params.pageSizeOptions" [nzPageSize]="query.params.pageSize"
-      [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
-      (nzQueryParams)="onQueryParamsChange($event)">
+    <nz-table
+      #dynamicTable
+      nzTableLayout="auto"
+      nzSize="small"
+      nzShowSizeChanger
+      [nzBordered]="true"
+      [nzData]="query.results.rows"
+      [nzFrontPagination]="false"
+      [nzTotal]="query.results.records"
+      [nzPageSizeOptions]="query.params.pageSizeOptions"
+      [nzPageSize]="query.params.pageSize"
+      [nzPageIndex]="query.params.pageNumber"
+      [nzLoading]="this.query.tableLoading"
+      (nzQueryParams)="onQueryParamsChange($event)"
+    >
       <thead>
         <tr>
-          <th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
-            (nzCheckedChange)="onTableAllChecked($event)"></th>
+          <th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
           <th nzAlign="center">{{ 'mxk.history.login.sessionId' | i18n }}</th>
           <th nzAlign="center">{{ 'mxk.history.login.username' | i18n }}</th>
           <th nzAlign="center">{{ 'mxk.history.login.displayName' | i18n }}</th>
@@ -59,8 +80,11 @@
       </thead>
       <tbody>
         <tr *ngFor="let data of query.results.rows">
-          <td [nzChecked]="query.tableCheckedId.has(data.sessionId)" [nzDisabled]="data.disabled"
-            (nzCheckedChange)="onTableItemChecked(data.sessionId, $event)"></td>
+          <td
+            [nzChecked]="query.tableCheckedId.has(data.sessionId)"
+            [nzDisabled]="data.disabled"
+            (nzCheckedChange)="onTableItemChecked(data.sessionId, $event)"
+          ></td>
           <td nzAlign="left">
             <span>{{ data.sessionId }}</span>
           </td>
@@ -74,4 +98,4 @@
       </tbody>
     </nz-table>
   </div>
-</nz-card>
+</nz-card>

+ 25 - 25
maxkey-web-frontend/maxkey-web-app/src/app/routes/access/sessions/sessions.component.ts

@@ -56,29 +56,29 @@ export class SessionsComponent implements OnInit {
     indeterminate: boolean;
     checked: boolean;
   } = {
-      params: {
-        username: '',
-        displayName: '',
-        employeeNumber: '',
-        startDate: '',
-        endDate: '',
-        startDatePicker: addDays(new Date(), -30),
-        endDatePicker: new Date(),
-        pageSize: 10,
-        pageNumber: 1,
-        pageSizeOptions: [10, 20, 50]
-      },
-      results: {
-        records: 0,
-        rows: []
-      },
-      expandForm: false,
-      submitLoading: false,
-      tableLoading: false,
-      tableCheckedId: new Set<String>(),
-      indeterminate: false,
-      checked: false
-    };
+    params: {
+      username: '',
+      displayName: '',
+      employeeNumber: '',
+      startDate: '',
+      endDate: '',
+      startDatePicker: addDays(new Date(), -30),
+      endDatePicker: new Date(),
+      pageSize: 10,
+      pageNumber: 1,
+      pageSizeOptions: [10, 20, 50]
+    },
+    results: {
+      records: 0,
+      rows: []
+    },
+    expandForm: false,
+    submitLoading: false,
+    tableLoading: false,
+    tableCheckedId: new Set<String>(),
+    indeterminate: false,
+    checked: false
+  };
 
   constructor(
     private fb: FormBuilder,
@@ -86,7 +86,7 @@ export class SessionsComponent implements OnInit {
     private msg: NzMessageService,
     @Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.fetch();
@@ -102,7 +102,7 @@ export class SessionsComponent implements OnInit {
     this.fetch();
   }
 
-  onReset(): void { }
+  onReset(): void {}
 
   onTerminate(e: MouseEvent): void {
     e.preventDefault();

+ 25 - 26
maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit-login-apps/audit-login-apps.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
 import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@@ -51,26 +50,26 @@ export class AuditLoginAppsComponent implements OnInit {
     submitLoading: boolean;
     tableLoading: boolean;
   } = {
-      params: {
-        username: '',
-        displayName: '',
-        employeeNumber: '',
-        startDate: '',
-        endDate: '',
-        startDatePicker: addDays(new Date(), -30),
-        endDatePicker: new Date(),
-        pageSize: 10,
-        pageNumber: 1,
-        pageSizeOptions: [10, 20, 50]
-      },
-      results: {
-        records: 0,
-        rows: []
-      },
-      expandForm: false,
-      submitLoading: false,
-      tableLoading: false
-    };
+    params: {
+      username: '',
+      displayName: '',
+      employeeNumber: '',
+      startDate: '',
+      endDate: '',
+      startDatePicker: addDays(new Date(), -30),
+      endDatePicker: new Date(),
+      pageSize: 10,
+      pageNumber: 1,
+      pageSizeOptions: [10, 20, 50]
+    },
+    results: {
+      records: 0,
+      rows: []
+    },
+    expandForm: false,
+    submitLoading: false,
+    tableLoading: false
+  };
 
   constructor(
     private fb: FormBuilder,
@@ -78,7 +77,7 @@ export class AuditLoginAppsComponent implements OnInit {
     private msg: NzMessageService,
     private cdr: ChangeDetectorRef,
     private http: _HttpClient
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.fetch();
@@ -88,7 +87,7 @@ export class AuditLoginAppsComponent implements OnInit {
     this.fetch();
   }
 
-  onReset(): void { }
+  onReset(): void {}
 
   onQueryParamsChange(tableQueryParams: NzTableQueryParams): void {
     this.query.params.pageNumber = tableQueryParams.pageIndex;

+ 25 - 26
maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit-logins/audit-logins.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
 import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@@ -52,33 +51,33 @@ export class AuditLoginsComponent implements OnInit {
     submitLoading: boolean;
     tableLoading: boolean;
   } = {
-      params: {
-        username: '',
-        displayName: '',
-        employeeNumber: '',
-        startDate: '',
-        endDate: '',
-        startDatePicker: addDays(new Date(), -30),
-        endDatePicker: new Date(),
-        pageSize: 10,
-        pageNumber: 1,
-        pageSizeOptions: [10, 20, 50]
-      },
-      results: {
-        records: 0,
-        rows: []
-      },
-      expandForm: false,
-      submitLoading: false,
-      tableLoading: false
-    };
+    params: {
+      username: '',
+      displayName: '',
+      employeeNumber: '',
+      startDate: '',
+      endDate: '',
+      startDatePicker: addDays(new Date(), -30),
+      endDatePicker: new Date(),
+      pageSize: 10,
+      pageNumber: 1,
+      pageSizeOptions: [10, 20, 50]
+    },
+    results: {
+      records: 0,
+      rows: []
+    },
+    expandForm: false,
+    submitLoading: false,
+    tableLoading: false
+  };
 
   constructor(
     private fb: FormBuilder,
     private historyService: HistoryService,
     private msg: NzMessageService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.fetch();
@@ -88,7 +87,7 @@ export class AuditLoginsComponent implements OnInit {
     this.fetch();
   }
 
-  onReset(): void { }
+  onReset(): void {}
 
   onQueryParamsChange(tableQueryParams: NzTableQueryParams): void {
     this.query.params.pageNumber = tableQueryParams.pageIndex;

+ 25 - 26
maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit-system-logs/audit-system-logs.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
 import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@@ -52,33 +51,33 @@ export class AuditSystemLogsComponent implements OnInit {
     submitLoading: boolean;
     tableLoading: boolean;
   } = {
-      params: {
-        username: '',
-        displayName: '',
-        employeeNumber: '',
-        startDate: '',
-        endDate: '',
-        startDatePicker: addDays(new Date(), -30),
-        endDatePicker: new Date(),
-        pageSize: 10,
-        pageNumber: 1,
-        pageSizeOptions: [10, 20, 50]
-      },
-      results: {
-        records: 0,
-        rows: []
-      },
-      expandForm: false,
-      submitLoading: false,
-      tableLoading: false
-    };
+    params: {
+      username: '',
+      displayName: '',
+      employeeNumber: '',
+      startDate: '',
+      endDate: '',
+      startDatePicker: addDays(new Date(), -30),
+      endDatePicker: new Date(),
+      pageSize: 10,
+      pageNumber: 1,
+      pageSizeOptions: [10, 20, 50]
+    },
+    results: {
+      records: 0,
+      rows: []
+    },
+    expandForm: false,
+    submitLoading: false,
+    tableLoading: false
+  };
 
   constructor(
     private fb: FormBuilder,
     private historyService: HistoryService,
     private msg: NzMessageService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.fetch();
@@ -88,7 +87,7 @@ export class AuditSystemLogsComponent implements OnInit {
     this.fetch();
   }
 
-  onReset(): void { }
+  onReset(): void {}
 
   onQueryParamsChange(tableQueryParams: NzTableQueryParams): void {
     this.query.params.pageNumber = tableQueryParams.pageIndex;

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/routes/audit/audit.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { CommonModule } from '@angular/common';
 import { NgModule } from '@angular/core';
@@ -50,4 +49,4 @@ const COMPONENTS = [AuditLoginsComponent, AuditLoginAppsComponent, AuditSystemLo
   imports: [SharedModule, CommonModule, RouterModule.forChild(routes)],
   exports: [RouterModule]
 })
-export class AuditModule { }
+export class AuditModule {}

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/authz-mgt.component.ts

@@ -28,7 +28,7 @@ import { SocialsProviderService } from '../../service/socials-provider.service';
   template: ``
 })
 export class AuthzMgtComponent implements OnInit {
-  constructor() { }
+  constructor() {}
 
   ngOnInit(): void {
     let baseUrl = '';

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/authz.module.ts

@@ -60,4 +60,4 @@ const COMPONENTS = [CredentialComponent];
   imports: [SharedModule, CommonModule, RouterModule.forChild(routes)],
   exports: [RouterModule]
 })
-export class AuthzModule { }
+export class AuthzModule {}

+ 4 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/credential/credential.component.ts

@@ -32,9 +32,9 @@ export class CredentialComponent implements OnInit {
     submitting: boolean;
     model: Accounts;
   } = {
-      submitting: false,
-      model: new Accounts()
-    };
+    submitting: false,
+    model: new Accounts()
+  };
   redirect_uri: string = '';
   formGroup: FormGroup = new FormGroup({});
 
@@ -49,7 +49,7 @@ export class CredentialComponent implements OnInit {
     private accountsService: AccountsService,
     private msg: NzMessageService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.accountsService.get(this.route.snapshot.queryParams['appId']).subscribe(res => {

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/oauth2-approve/oauth2-approve.component.html

@@ -40,4 +40,4 @@
     </div>
     <div nz-col nzMd="6"></div>
   </form>
-</nz-card>
+</nz-card>

+ 6 - 6
maxkey-web-frontend/maxkey-web-app/src/app/routes/authz/oauth2-approve/oauth2-approve.component.ts

@@ -38,11 +38,11 @@ export class Oauth2ApproveComponent implements OnInit {
       approval_prompt?: string;
     };
   } = {
-      submitting: false,
-      model: {
-        approval_prompt: 'force'
-      }
-    };
+    submitting: false,
+    model: {
+      approval_prompt: 'force'
+    }
+  };
   redirect_uri: string = '';
   formGroup: FormGroup = new FormGroup({});
 
@@ -52,7 +52,7 @@ export class Oauth2ApproveComponent implements OnInit {
     private route: ActivatedRoute,
     private msg: NzMessageService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.oauth2ApproveService.get(this.route.snapshot.queryParams['oauth_approval']).subscribe(res => {

+ 4 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/accouts/accouts.component.ts

@@ -38,9 +38,9 @@ export class AccoutsComponent implements OnInit {
     submitting: boolean;
     model: Accounts;
   } = {
-      submitting: false,
-      model: new Accounts()
-    };
+    submitting: false,
+    model: new Accounts()
+  };
   redirect_uri: string = '';
   formGroup: FormGroup = new FormGroup({});
 
@@ -57,7 +57,7 @@ export class AccoutsComponent implements OnInit {
     private msg: NzMessageService,
     @Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     if (this.appId) {

+ 5 - 6
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/config.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { CommonModule } from '@angular/common';
 import { NgModule } from '@angular/core';
@@ -28,12 +27,12 @@ import { NzPageHeaderModule } from 'ng-zorro-antd/page-header';
 import { NzPaginationModule } from 'ng-zorro-antd/pagination';
 import { NzStepsModule } from 'ng-zorro-antd/steps';
 
+import { AccoutsComponent } from './accouts/accouts.component';
 import { PasswordComponent } from './password/password.component';
 import { ProfileComponent } from './profile/profile.component';
 import { SocialsAssociateComponent } from './socials-associate/socials-associate.component';
 import { SocialsProviderComponent } from './socials-provider/socials-provider.component';
 import { TimebasedComponent } from './timebased/timebased.component';
-import { AccoutsComponent } from './accouts/accouts.component';
 
 const routes: Routes = [
   {
@@ -69,4 +68,4 @@ const COMPONENTS = [ProfileComponent];
   imports: [SharedModule, CommonModule, RouterModule.forChild(routes)],
   exports: [RouterModule]
 })
-export class ConfigModule { }
+export class ConfigModule {}

+ 4 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/password/password.component.ts

@@ -33,9 +33,9 @@ export class PasswordComponent implements OnInit {
     submitting: boolean;
     model: ChangePassword;
   } = {
-      submitting: false,
-      model: new ChangePassword()
-    };
+    submitting: false,
+    model: new ChangePassword()
+  };
 
   formGroup: FormGroup = new FormGroup({});
 
@@ -50,7 +50,7 @@ export class PasswordComponent implements OnInit {
     private msg: NzMessageService,
     @Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.formGroup = this.fb.group({

+ 438 - 277
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/profile/profile.component.html

@@ -10,36 +10,46 @@
                 <nz-form-item style="display: none">
                   <nz-form-label [nzMd]="8" nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
                   <nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
-                    <input [(ngModel)]="form.model.id" [ngModelOptions]="{ standalone: true }" nz-input name="id"
-                      id="id" />
-                    <input [(ngModel)]="form.model.pictureId" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="pictureId" id="pictureId" />
+                    <input [(ngModel)]="form.model.id" [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
+                    <input
+                      [(ngModel)]="form.model.pictureId"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="pictureId"
+                      id="pictureId"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
                   <div nz-row style="width: 100%; margin-bottom: 18px">
-                    <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="name">{{ 'mxk.users.displayName' | i18n }}
-                    </nz-form-label>
-                    <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                      nzErrorTip="The input is not valid displayName!">
-                      <input [(ngModel)]="form.model.displayName" [ngModelOptions]="{ standalone: true }" nz-input
-                        name="displayName" id="displayName" />
+                    <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="name">{{ 'mxk.users.displayName' | i18n }} </nz-form-label>
+                    <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid displayName!">
+                      <input
+                        [(ngModel)]="form.model.displayName"
+                        [ngModelOptions]="{ standalone: true }"
+                        nz-input
+                        name="displayName"
+                        id="displayName"
+                      />
                     </nz-form-control>
                   </div>
                   <div nz-row style="width: 100%; margin-bottom: 18px">
-                    <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="username">{{ 'mxk.users.username' | i18n }}
-                    </nz-form-label>
-                    <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                      nzErrorTip="The input is not valid username!">
-                      <input [(ngModel)]="form.model.username" disabled [ngModelOptions]="{ standalone: true }" nz-input
-                        name="username" id="username" />
+                    <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="username">{{ 'mxk.users.username' | i18n }} </nz-form-label>
+                    <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid username!">
+                      <input
+                        [(ngModel)]="form.model.username"
+                        disabled
+                        [ngModelOptions]="{ standalone: true }"
+                        nz-input
+                        name="username"
+                        id="username"
+                      />
                     </nz-form-control>
                   </div>
                   <div nz-row style="width: 100%">
                     <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="gender">{{ 'mxk.users.gender' | i18n }}</nz-form-label>
                     <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid gender!">
-                      <nz-radio-group [(ngModel)]="form.model.gender_select" [ngModelOptions]="{ standalone: true }"
-                        nzButtonStyle="solid">
+                      <nz-radio-group [(ngModel)]="form.model.gender_select" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
                         <label nz-radio-button nzValue="2">{{ 'mxk.users.gender.male' | i18n }}</label>
                         <label nz-radio-button nzValue="1">{{ 'mxk.users.gender.female' | i18n }}</label>
                       </nz-radio-group>
@@ -48,19 +58,28 @@
                 </nz-form-item>
 
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="uploadFile">{{ 'mxk.users.picture' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="uploadFile">{{ 'mxk.users.picture' | i18n }} </nz-form-label>
                   <div nz-col class="clearfix" nzSm="16" nzXs="24">
-                    <nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
-                      nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
-                      (nzChange)="uploadImageChange($event)">
+                    <nz-upload
+                      nzAction="/file/upload/"
+                      nzListType="picture-card"
+                      [(nzFileList)]="fileList"
+                      nzName="uploadFile"
+                      [nzShowButton]="fileList.length < 1"
+                      [nzPreview]="handlePreview"
+                      (nzChange)="uploadImageChange($event)"
+                    >
                       <div>
                         <i nz-icon nzType="plus"></i>
                         <div style="margin-top: 8px">Upload</div>
                       </div>
                     </nz-upload>
-                    <nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
-                      (nzOnCancel)="previewVisible = false">
+                    <nz-modal
+                      [nzVisible]="previewVisible"
+                      [nzContent]="modalContent"
+                      [nzFooter]="null"
+                      (nzOnCancel)="previewVisible = false"
+                    >
                       <ng-template #modalContent>
                         <img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
                       </ng-template>
@@ -70,55 +89,77 @@
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="employeeNumber">{{ 'mxk.users.employeeNumber' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid employeeNumber!">
-                    <input [(ngModel)]="form.model.employeeNumber" disabled [ngModelOptions]="{ standalone: true }"
-                      nz-input name="employeeNumber" id="employeeNumber" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="employeeNumber">{{ 'mxk.users.employeeNumber' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid employeeNumber!">
+                    <input
+                      [(ngModel)]="form.model.employeeNumber"
+                      disabled
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="employeeNumber"
+                      id="employeeNumber"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="windowsAccount">{{ 'mxk.users.windowsAccount' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="windowsAccount">{{ 'mxk.users.windowsAccount' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid status!">
-                    <input disabled [(ngModel)]="form.model.windowsAccount" [ngModelOptions]="{ standalone: true }"
-                      nz-input name="windowsAccount" id="windowsAccount" />
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.windowsAccount"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="windowsAccount"
+                      id="windowsAccount"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="mobile">{{ 'mxk.users.mobile' | i18n }}</nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid mobile!">
-                    <input disabled [(ngModel)]="form.model.mobile" readonly [ngModelOptions]="{ standalone: true }"
-                      nz-input name="mobile" id="mobile" />
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid mobile!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.mobile"
+                      readonly
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="mobile"
+                      id="mobile"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="email">{{ 'mxk.users.email' | i18n }}</nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid email!">
-                    <input disabled [(ngModel)]="form.model.email" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="email" id="email" />
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid email!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.email"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="email"
+                      id="email"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
 
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="userType">{{ 'mxk.users.userType' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid userType!">
-                    <nz-select disabled [(ngModel)]="form.model.userType" [ngModelOptions]="{ standalone: true }"
-                      name="userType" id="userType">
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="userType">{{ 'mxk.users.userType' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid userType!">
+                    <nz-select
+                      disabled
+                      [(ngModel)]="form.model.userType"
+                      [ngModelOptions]="{ standalone: true }"
+                      name="userType"
+                      id="userType"
+                    >
                       <nz-option nzValue="EMPLOYEE" nzLabel="{{ 'mxk.users.userType.employee' | i18n }}"> </nz-option>
                       <nz-option nzValue="SUPPLIER" nzLabel="{{ 'mxk.users.userType.supplier' | i18n }}"> </nz-option>
                       <nz-option nzValue="CUSTOMER" nzLabel="{{ 'mxk.users.userType.customer' | i18n }}"> </nz-option>
-                      <nz-option nzValue="CONTRACTOR" nzLabel="{{ 'mxk.users.userType.contractor' | i18n }}">
-                      </nz-option>
+                      <nz-option nzValue="CONTRACTOR" nzLabel="{{ 'mxk.users.userType.contractor' | i18n }}"> </nz-option>
                       <nz-option nzValue="DEALER" nzLabel="{{ 'mxk.users.userType.dealer' | i18n }}"></nz-option>
                       <nz-option nzValue="PARTNER" nzLabel="{{ 'mxk.users.userType.partner' | i18n }}"></nz-option>
                       <nz-option nzValue="EXTERNAL" nzLabel="{{ 'mxk.users.userType.external' | i18n }}"></nz-option>
@@ -128,15 +169,17 @@
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="userState">{{ 'mxk.users.userstate' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid userState!">
-                    <nz-select disabled [(ngModel)]="form.model.userState" [ngModelOptions]="{ standalone: true }"
-                      name="userState" id="userState">
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="userState">{{ 'mxk.users.userstate' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid userState!">
+                    <nz-select
+                      disabled
+                      [(ngModel)]="form.model.userState"
+                      [ngModelOptions]="{ standalone: true }"
+                      name="userState"
+                      id="userState"
+                    >
                       <nz-option nzValue="RESIDENT" nzLabel="{{ 'mxk.users.userstate.resident' | i18n }}"> </nz-option>
-                      <nz-option nzValue="WITHDRAWN" nzLabel="{{ 'mxk.users.userstate.withdrawn' | i18n }}">
-                      </nz-option>
+                      <nz-option nzValue="WITHDRAWN" nzLabel="{{ 'mxk.users.userstate.withdrawn' | i18n }}"> </nz-option>
                       <nz-option nzValue="INACTIVE" nzLabel="{{ 'mxk.users.userstate.inactive' | i18n }}"> </nz-option>
                       <nz-option nzValue="RETIREE" nzLabel="{{ 'mxk.users.userstate.retiree' | i18n }}"></nz-option>
                     </nz-select>
@@ -146,21 +189,28 @@
 
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid sortIndex!">
-                    <nz-input-number disabled [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }"
-                      [nzMin]="1" [nzMax]="100000" [nzStep]="1"></nz-input-number>
-                  </nz-form-control>
-                </nz-form-item>
-                <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid status!">
-                    <nz-select disabled [(ngModel)]="form.model.str_status" [ngModelOptions]="{ standalone: true }"
-                      name="status" id="status">
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
+                    <nz-input-number
+                      disabled
+                      [(ngModel)]="form.model.sortIndex"
+                      [ngModelOptions]="{ standalone: true }"
+                      [nzMin]="1"
+                      [nzMax]="100000"
+                      [nzStep]="1"
+                    ></nz-input-number>
+                  </nz-form-control>
+                </nz-form-item>
+                <nz-form-item>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid status!">
+                    <nz-select
+                      disabled
+                      [(ngModel)]="form.model.str_status"
+                      [ngModelOptions]="{ standalone: true }"
+                      name="status"
+                      id="status"
+                    >
                       <nz-option nzValue="1" nzLabel="{{ 'mxk.users.status.active' | i18n }}"></nz-option>
                       <nz-option nzValue="2" nzLabel="{{ 'mxk.users.status.inactive' | i18n }}"></nz-option>
                       <nz-option nzValue="4" nzLabel="{{ 'mxk.users.status.forbidden' | i18n }}"></nz-option>
@@ -174,37 +224,53 @@
             <nz-tab nzTitle="{{ 'mxk.users.tab.personal' | i18n }}">
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="familyName">{{ 'mxk.users.familyName' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="familyName">{{ 'mxk.users.familyName' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="16" nzErrorTip="The input is not valid familyName!">
-                    <input [(ngModel)]="form.model.familyName" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="familyName" id="familyName" />
+                    <input
+                      [(ngModel)]="form.model.familyName"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="familyName"
+                      id="familyName"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="middleName">{{ 'mxk.users.middleName' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="middleName">{{ 'mxk.users.middleName' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid middleName!">
-                    <input [(ngModel)]="form.model.middleName" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="middleName" id="middleName" />
+                    <input
+                      [(ngModel)]="form.model.middleName"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="middleName"
+                      id="middleName"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="givenName">{{ 'mxk.users.givenName' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="givenName">{{ 'mxk.users.givenName' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid givenName!">
-                    <input [(ngModel)]="form.model.givenName" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="givenName" id="givenName" />
+                    <input
+                      [(ngModel)]="form.model.givenName"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="givenName"
+                      id="givenName"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="nickName">{{ 'mxk.users.nickName' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="nickName">{{ 'mxk.users.nickName' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid nickName!">
-                    <input [(ngModel)]="form.model.nickName" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="nickName" id="nickName" />
+                    <input
+                      [(ngModel)]="form.model.nickName"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="nickName"
+                      id="nickName"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
@@ -212,8 +278,7 @@
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="idType">{{ 'mxk.users.idtype' | i18n }}</nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid idType!">
-                    <nz-select [(ngModel)]="form.model.str_idType" [ngModelOptions]="{ standalone: true }" name="idType"
-                      id="idType">
+                    <nz-select [(ngModel)]="form.model.str_idType" [ngModelOptions]="{ standalone: true }" name="idType" id="idType">
                       <nz-option nzValue="0" nzLabel="{{ 'mxk.users.idtype.unknown' | i18n }}"></nz-option>
                       <nz-option nzValue="1" nzLabel="{{ 'mxk.users.idtype.idcard' | i18n }}"></nz-option>
                       <nz-option nzValue="2" nzLabel="{{ 'mxk.users.idtype.passport' | i18n }}"></nz-option>
@@ -223,11 +288,15 @@
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="idCardNo">{{ 'mxk.users.idCardNo' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="idCardNo">{{ 'mxk.users.idCardNo' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid idCardNo!">
-                    <input [(ngModel)]="form.model.idCardNo" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="idCardNo" id="idCardNo" />
+                    <input
+                      [(ngModel)]="form.model.idCardNo"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="idCardNo"
+                      id="idCardNo"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
@@ -235,8 +304,7 @@
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="married">{{ 'mxk.users.married' | i18n }}</nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid married!">
-                    <nz-select [(ngModel)]="form.model.str_married" [ngModelOptions]="{ standalone: true }"
-                      name="married" id="married">
+                    <nz-select [(ngModel)]="form.model.str_married" [ngModelOptions]="{ standalone: true }" name="married" id="married">
                       <nz-option nzValue="0" nzLabel="{{ 'mxk.users.married.unknown' | i18n }}"></nz-option>
                       <nz-option nzValue="1" nzLabel="{{ 'mxk.users.married.single' | i18n }}"></nz-option>
                       <nz-option nzValue="2" nzLabel="{{ 'mxk.users.married.married' | i18n }}"></nz-option>
@@ -246,30 +314,43 @@
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="birthDate">{{ 'mxk.users.birthDate' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="birthDate">{{ 'mxk.users.birthDate' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid birthDate!">
-                    <input [(ngModel)]="form.model.birthDate" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="birthDate" id="birthDate" />
+                    <input
+                      [(ngModel)]="form.model.birthDate"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="birthDate"
+                      id="birthDate"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="preferredLanguage">{{ 'mxk.users.preferredLanguage' |
-                    i18n }}
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="preferredLanguage"
+                    >{{ 'mxk.users.preferredLanguage' | i18n }}
                   </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid preferredLanguage!">
-                    <input [(ngModel)]="form.model.preferredLanguage" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="preferredLanguage" id="preferredLanguage" />
+                    <input
+                      [(ngModel)]="form.model.preferredLanguage"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="preferredLanguage"
+                      id="preferredLanguage"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="startWorkDate">{{ 'mxk.users.startWorkDate' | i18n }}
-                  </nz-form-label>
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="startWorkDate">{{ 'mxk.users.startWorkDate' | i18n }} </nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid startWorkDate!">
-                    <input [(ngModel)]="form.model.startWorkDate" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="startWorkDate" id="startWorkDate" />
+                    <input
+                      [(ngModel)]="form.model.startWorkDate"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="startWorkDate"
+                      id="startWorkDate"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
@@ -277,15 +358,19 @@
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="webSite">{{ 'mxk.users.website' | i18n }}</nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid webSite!">
-                    <input [(ngModel)]="form.model.webSite" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="webSite" id="webSite" />
+                    <input [(ngModel)]="form.model.webSite" [ngModelOptions]="{ standalone: true }" nz-input name="webSite" id="webSite" />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="defineIm">{{ 'mxk.users.ims' | i18n }}</nz-form-label>
                   <nz-form-control [nzSm]="16" [nzXs]="24" nzErrorTip="The input is not valid defineIm!">
-                    <input [(ngModel)]="form.model.defineIm" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="defineIm" id="defineIm" />
+                    <input
+                      [(ngModel)]="form.model.defineIm"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="defineIm"
+                      id="defineIm"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
@@ -293,120 +378,169 @@
             <nz-tab nzTitle="{{ 'mxk.users.tab.business' | i18n }}">
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="organization">{{ 'mxk.users.organization' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid organization!">
-                    <input disabled [(ngModel)]="form.model.organization" [ngModelOptions]="{ standalone: true }"
-                      nz-input name="organization" id="organization" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="organization">{{ 'mxk.users.organization' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid organization!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.organization"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="organization"
+                      id="organization"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="division">{{ 'mxk.users.division' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid division!">
-                    <input disabled [(ngModel)]="form.model.division" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="division" id="division" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="division">{{ 'mxk.users.division' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid division!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.division"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="division"
+                      id="division"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="departmentId">{{ 'mxk.users.departmentId' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid departmentId!">
-                    <input disabled [(ngModel)]="form.model.departmentId" [ngModelOptions]="{ standalone: true }"
-                      nz-input name="departmentId" id="departmentId" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="departmentId">{{ 'mxk.users.departmentId' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid departmentId!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.departmentId"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="departmentId"
+                      id="departmentId"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="department">{{ 'mxk.users.department' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid department!">
-                    <input disabled [(ngModel)]="form.model.department" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="department" id="department" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="department">{{ 'mxk.users.department' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid department!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.department"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="department"
+                      id="department"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="costCenter">{{ 'mxk.users.costCenter' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid departmentId!">
-                    <input disabled [(ngModel)]="form.model.costCenter" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="costCenter" id="costCenter" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="costCenter">{{ 'mxk.users.costCenter' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid departmentId!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.costCenter"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="costCenter"
+                      id="costCenter"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="jobLevel">{{ 'mxk.users.jobLevel' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid jobLevel!">
-                    <input disabled [(ngModel)]="form.model.jobLevel" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="jobLevel" id="jobLevel" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="jobLevel">{{ 'mxk.users.jobLevel' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid jobLevel!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.jobLevel"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="jobLevel"
+                      id="jobLevel"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="jobTitle">{{ 'mxk.users.jobTitle' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid jobTitle!">
-                    <input disabled [(ngModel)]="form.model.jobTitle" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="jobTitle" id="jobTitle" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="jobTitle">{{ 'mxk.users.jobTitle' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid jobTitle!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.jobTitle"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="jobTitle"
+                      id="jobTitle"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="manager">{{ 'mxk.users.manager' | i18n }}</nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid manager!">
-                    <input disabled [(ngModel)]="form.model.manager" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="manager" id="manager" />
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid manager!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.manager"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="manager"
+                      id="manager"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="assistant">{{ 'mxk.users.assistant' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid assistant!">
-                    <input disabled [(ngModel)]="form.model.assistant" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="assistant" id="assistant" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="assistant">{{ 'mxk.users.assistant' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid assistant!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.assistant"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="assistant"
+                      id="assistant"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workOfficeName">{{ 'mxk.users.workOfficeName' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid workOfficeName!">
-                    <input disabled [(ngModel)]="form.model.workOfficeName" [ngModelOptions]="{ standalone: true }"
-                      nz-input name="workOfficeName" id="workOfficeName" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workOfficeName">{{ 'mxk.users.workOfficeName' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid workOfficeName!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.workOfficeName"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="workOfficeName"
+                      id="workOfficeName"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="entryDate">{{ 'mxk.users.entryDate' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid entryDate!">
-                    <input disabled [(ngModel)]="form.model.entryDate" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="entryDate" id="entryDate" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="entryDate">{{ 'mxk.users.entryDate' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid entryDate!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.entryDate"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="entryDate"
+                      id="entryDate"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="quitDate">{{ 'mxk.users.quitDate' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid quitDate!">
-                    <input disabled [(ngModel)]="form.model.quitDate" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="quitDate" id="quitDate" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="quitDate">{{ 'mxk.users.quitDate' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid quitDate!">
+                    <input
+                      disabled
+                      [(ngModel)]="form.model.quitDate"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="quitDate"
+                      id="quitDate"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
@@ -414,80 +548,93 @@
             <nz-tab nzTitle="{{ 'mxk.users.tab.business.extra' | i18n }}">
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workPhoneNumber">{{ 'mxk.users.workPhoneNumber' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid workPhoneNumber!">
-                    <input [(ngModel)]="form.model.workPhoneNumber" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="workPhoneNumber" id="workPhoneNumber" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workPhoneNumber">{{ 'mxk.users.workPhoneNumber' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid workPhoneNumber!">
+                    <input
+                      [(ngModel)]="form.model.workPhoneNumber"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="workPhoneNumber"
+                      id="workPhoneNumber"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workEmail">{{ 'mxk.users.workEmail' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid workEmail!">
-                    <input [(ngModel)]="form.model.workEmail" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="workEmail" id="workEmail" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workEmail">{{ 'mxk.users.workEmail' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid workEmail!">
+                    <input
+                      [(ngModel)]="form.model.workEmail"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="workEmail"
+                      id="workEmail"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workCountry">{{ 'mxk.users.workCountry' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid workCountry!">
-                    <input [(ngModel)]="form.model.workCountry" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="workCountry" id="workCountry" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workCountry">{{ 'mxk.users.workCountry' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid workCountry!">
+                    <input
+                      [(ngModel)]="form.model.workCountry"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="workCountry"
+                      id="workCountry"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="region">{{ 'mxk.users.workRegion' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid region!">
-                    <input [(ngModel)]="form.model.workRegion" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="region" id="region" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="region">{{ 'mxk.users.workRegion' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid region!">
+                    <input [(ngModel)]="form.model.workRegion" [ngModelOptions]="{ standalone: true }" nz-input name="region" id="region" />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="locality">{{ 'mxk.users.workLocality' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid locality!">
-                    <input [(ngModel)]="form.model.workLocality" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="locality" id="locality" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="locality">{{ 'mxk.users.workLocality' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid locality!">
+                    <input
+                      [(ngModel)]="form.model.workLocality"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="locality"
+                      id="locality"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="street">{{ 'mxk.users.workStreetAddress' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid street!">
-                    <input [(ngModel)]="form.model.workStreetAddress" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="street" id="street" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="street">{{ 'mxk.users.workStreetAddress' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid street!">
+                    <input
+                      [(ngModel)]="form.model.workStreetAddress"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="street"
+                      id="street"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="postalCode">{{ 'mxk.users.workPostalCode' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid postalCode!">
-                    <input [(ngModel)]="form.model.workPostalCode" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="postalCode" id="postalCode" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="postalCode">{{ 'mxk.users.workPostalCode' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid postalCode!">
+                    <input
+                      [(ngModel)]="form.model.workPostalCode"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="postalCode"
+                      id="postalCode"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="workFax">{{ 'mxk.users.workFax' | i18n }}</nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid workFax!">
-                    <input [(ngModel)]="form.model.workFax" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="workFax" id="workFax" />
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid workFax!">
+                    <input [(ngModel)]="form.model.workFax" [ngModelOptions]="{ standalone: true }" nz-input name="workFax" id="workFax" />
                   </nz-form-control>
                 </nz-form-item>
               </div>
@@ -495,81 +642,95 @@
             <nz-tab nzTitle="{{ 'mxk.users.tab.home' | i18n }}">
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homeEmail">{{ 'mxk.users.homeEmail' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid homeEmail!">
-                    <input [(ngModel)]="form.model.homeEmail" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="homeEmail" id="homeEmail" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homeEmail">{{ 'mxk.users.homeEmail' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid homeEmail!">
+                    <input
+                      [(ngModel)]="form.model.homeEmail"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="homeEmail"
+                      id="homeEmail"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homePhoneNumber">{{ 'mxk.users.homePhoneNumber' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid homePhoneNumber!">
-                    <input [(ngModel)]="form.model.homePhoneNumber" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="homePhoneNumber" id="homePhoneNumber" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homePhoneNumber">{{ 'mxk.users.homePhoneNumber' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid homePhoneNumber!">
+                    <input
+                      [(ngModel)]="form.model.homePhoneNumber"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="homePhoneNumber"
+                      id="homePhoneNumber"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
                   <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homeFax">{{ 'mxk.users.homeFax' | i18n }}</nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid homeFax!">
-                    <input [(ngModel)]="form.model.homeFax" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="homeFax" id="homeFax" />
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid homeFax!">
+                    <input [(ngModel)]="form.model.homeFax" [ngModelOptions]="{ standalone: true }" nz-input name="homeFax" id="homeFax" />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homePostalCode">{{ 'mxk.users.homePostalCode' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid postalCode!">
-                    <input [(ngModel)]="form.model.homePostalCode" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="homePostalCode" id="homePostalCode" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homePostalCode">{{ 'mxk.users.homePostalCode' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid postalCode!">
+                    <input
+                      [(ngModel)]="form.model.homePostalCode"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="homePostalCode"
+                      id="homePostalCode"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homeCountry">{{ 'mxk.users.homeCountry' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid homeCountry!">
-                    <input [(ngModel)]="form.model.homeCountry" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="homeCountry" id="homeCountry" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homeCountry">{{ 'mxk.users.homeCountry' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid homeCountry!">
+                    <input
+                      [(ngModel)]="form.model.homeCountry"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="homeCountry"
+                      id="homeCountry"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="region">{{ 'mxk.users.homeRegion' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid region!">
-                    <input [(ngModel)]="form.model.homeRegion" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="region" id="region" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="region">{{ 'mxk.users.homeRegion' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid region!">
+                    <input [(ngModel)]="form.model.homeRegion" [ngModelOptions]="{ standalone: true }" nz-input name="region" id="region" />
                   </nz-form-control>
                 </nz-form-item>
               </div>
               <div nz-row>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="locality">{{ 'mxk.users.homeLocality' | i18n }}
-                  </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid locality!">
-                    <input [(ngModel)]="form.model.homeLocality" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="locality" id="locality" />
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="locality">{{ 'mxk.users.homeLocality' | i18n }} </nz-form-label>
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid locality!">
+                    <input
+                      [(ngModel)]="form.model.homeLocality"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="locality"
+                      id="locality"
+                    />
                   </nz-form-control>
                 </nz-form-item>
                 <nz-form-item>
-                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homeStreetAddress">{{ 'mxk.users.homeStreetAddress' |
-                    i18n }}
+                  <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="homeStreetAddress"
+                    >{{ 'mxk.users.homeStreetAddress' | i18n }}
                   </nz-form-label>
-                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
-                    nzErrorTip="The input is not valid street!">
-                    <input [(ngModel)]="form.model.homeStreetAddress" [ngModelOptions]="{ standalone: true }" nz-input
-                      name="street" id="street" />
+                  <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid street!">
+                    <input
+                      [(ngModel)]="form.model.homeStreetAddress"
+                      [ngModelOptions]="{ standalone: true }"
+                      nz-input
+                      name="street"
+                      id="street"
+                    />
                   </nz-form-control>
                 </nz-form-item>
               </div>
@@ -588,4 +749,4 @@
     </div>
     <div nz-col nzMd="3"></div>
   </div>
-</nz-card>
+</nz-card>

+ 4 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/profile/profile.component.ts

@@ -70,9 +70,9 @@ export class ProfileComponent implements OnInit {
     submitting: boolean;
     model: Users;
   } = {
-      submitting: false,
-      model: new Users()
-    };
+    submitting: false,
+    model: new Users()
+  };
 
   formGroup: FormGroup = new FormGroup({});
 
@@ -102,7 +102,7 @@ export class ProfileComponent implements OnInit {
     private msg: NzMessageService,
     @Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.usersService.getProfile().subscribe(res => {

+ 25 - 25
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/socials-associate/socials-associate.component.ts

@@ -61,29 +61,29 @@ export class SocialsAssociateComponent implements OnInit {
     indeterminate: boolean;
     checked: boolean;
   } = {
-      params: {
-        providerName: '',
-        displayName: '',
-        employeeNumber: '',
-        startDate: '',
-        endDate: '',
-        startDatePicker: addDays(new Date(), -30),
-        endDatePicker: new Date(),
-        pageSize: 10,
-        pageNumber: 1,
-        pageSizeOptions: [10, 20, 50]
-      },
-      results: {
-        records: 0,
-        rows: []
-      },
-      expandForm: false,
-      submitLoading: false,
-      tableLoading: false,
-      tableCheckedId: new Set<String>(),
-      indeterminate: false,
-      checked: false
-    };
+    params: {
+      providerName: '',
+      displayName: '',
+      employeeNumber: '',
+      startDate: '',
+      endDate: '',
+      startDatePicker: addDays(new Date(), -30),
+      endDatePicker: new Date(),
+      pageSize: 10,
+      pageNumber: 1,
+      pageSizeOptions: [10, 20, 50]
+    },
+    results: {
+      records: 0,
+      rows: []
+    },
+    expandForm: false,
+    submitLoading: false,
+    tableLoading: false,
+    tableCheckedId: new Set<String>(),
+    indeterminate: false,
+    checked: false
+  };
 
   constructor(
     private modalService: NzModalService,
@@ -94,7 +94,7 @@ export class SocialsAssociateComponent implements OnInit {
     private msg: NzMessageService,
     @Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.fetch();
@@ -110,7 +110,7 @@ export class SocialsAssociateComponent implements OnInit {
     this.fetch();
   }
 
-  onReset(): void { }
+  onReset(): void {}
 
   onAdd(e: MouseEvent, provider: string): void {
     e.preventDefault();

+ 25 - 25
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/socials-provider/socials-provider.component.ts

@@ -57,29 +57,29 @@ export class SocialsProviderComponent implements OnInit {
     indeterminate: boolean;
     checked: boolean;
   } = {
-      params: {
-        providerName: '',
-        displayName: '',
-        employeeNumber: '',
-        startDate: '',
-        endDate: '',
-        startDatePicker: addDays(new Date(), -30),
-        endDatePicker: new Date(),
-        pageSize: 10,
-        pageNumber: 1,
-        pageSizeOptions: [10, 20, 50]
-      },
-      results: {
-        records: 0,
-        rows: []
-      },
-      expandForm: false,
-      submitLoading: false,
-      tableLoading: false,
-      tableCheckedId: new Set<String>(),
-      indeterminate: false,
-      checked: false
-    };
+    params: {
+      providerName: '',
+      displayName: '',
+      employeeNumber: '',
+      startDate: '',
+      endDate: '',
+      startDatePicker: addDays(new Date(), -30),
+      endDatePicker: new Date(),
+      pageSize: 10,
+      pageNumber: 1,
+      pageSizeOptions: [10, 20, 50]
+    },
+    results: {
+      records: 0,
+      rows: []
+    },
+    expandForm: false,
+    submitLoading: false,
+    tableLoading: false,
+    tableCheckedId: new Set<String>(),
+    indeterminate: false,
+    checked: false
+  };
 
   constructor(
     private modalService: NzModalService,
@@ -89,7 +89,7 @@ export class SocialsProviderComponent implements OnInit {
     private msg: NzMessageService,
     @Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.fetch();
@@ -105,7 +105,7 @@ export class SocialsProviderComponent implements OnInit {
     this.fetch();
   }
 
-  onReset(): void { }
+  onReset(): void {}
 
   onBatchDelete(e: MouseEvent): void {
     e.preventDefault();

+ 4 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/config/timebased/timebased.component.ts

@@ -35,9 +35,9 @@ export class TimebasedComponent implements OnInit {
     submitting: boolean;
     model: TimeBased;
   } = {
-      submitting: false,
-      model: new TimeBased()
-    };
+    submitting: false,
+    model: new TimeBased()
+  };
 
   formGroup: FormGroup = new FormGroup({});
 
@@ -46,7 +46,7 @@ export class TimebasedComponent implements OnInit {
     private timeBasedService: TimeBasedService,
     private msg: NzMessageService,
     private cdr: ChangeDetectorRef
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     /*this.form = this.fb.group({

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/routes/dashboard/dashboard-routing.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NgModule } from '@angular/core';
 import { RouterModule, Routes } from '@angular/router';
@@ -29,4 +28,4 @@ const routes: Routes = [
   imports: [RouterModule.forChild(routes)],
   exports: [RouterModule]
 })
-export class DashboardRoutingModule { }
+export class DashboardRoutingModule {}

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/dashboard/dashboard.module.ts

@@ -65,4 +65,4 @@ const COMPONENTS = [HomeComponent];
   ],
   declarations: [...COMPONENTS]
 })
-export class DashboardModule { }
+export class DashboardModule {}

+ 7 - 3
maxkey-web-frontend/maxkey-web-app/src/app/routes/dashboard/home/home.component.html

@@ -1,8 +1,12 @@
 <div nz-row>
   <div nz-col nzMd="3"></div>
   <div nz-col nzMd="18">
-    <nz-list [nzLoading]="loading" [nzDataSource]="appList" [nzRenderItem]="item"
-      [nzGrid]="{ gutter: 24, xl: 6, lg: 8, md: 8, sm: 12, xs: 24 }">
+    <nz-list
+      [nzLoading]="loading"
+      [nzDataSource]="appList"
+      [nzRenderItem]="item"
+      [nzGrid]="{ gutter: 24, xl: 6, lg: 8, md: 8, sm: 12, xs: 24 }"
+    >
       <ng-template #item let-item>
         <nz-list-item>
           <nz-card nzHoverable style="">
@@ -48,4 +52,4 @@
     </nz-list>
   </div>
   <div nz-col nzMd="3"></div>
-</div>
+</div>

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/callback.component.ts

@@ -38,7 +38,7 @@ export class CallbackComponent implements OnInit {
     @Inject(ReuseTabService)
     private reuseTabService: ReuseTabService,
     private route: ActivatedRoute
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.provider = this.route.snapshot.params['provider'];

+ 6 - 7
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/forgot/forgot.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
 import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
@@ -35,9 +34,9 @@ export class ForgotComponent implements OnInit {
     submitting: boolean;
     model: ChangePassword;
   } = {
-      submitting: false,
-      model: new ChangePassword()
-    };
+    submitting: false,
+    model: new ChangePassword()
+  };
 
   imageCaptcha = '';
   formGroup: FormGroup;

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/jwt-auth.component.ts

@@ -36,7 +36,7 @@ export class JwtAuthComponent implements OnInit {
     private router: Router,
     private settingsSrv: SettingsService,
     private route: ActivatedRoute
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.jwt = this.route.snapshot.queryParams['jwt'];

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/lock/lock.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component, Inject } from '@angular/core';
 import { FormBuilder, FormGroup, Validators } from '@angular/forms';

+ 17 - 11
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.html

@@ -1,6 +1,11 @@
 <form nz-form [formGroup]="form" (ngSubmit)="submit()" role="form">
-  <nz-radio-group [(ngModel)]="loginType" [ngModelOptions]="{ standalone: true }" nzSize="large" *ngIf="switchTab"
-    style="margin-bottom: 8px; width: 100%">
+  <nz-radio-group
+    [(ngModel)]="loginType"
+    [ngModelOptions]="{ standalone: true }"
+    nzSize="large"
+    *ngIf="switchTab"
+    style="margin-bottom: 8px; width: 100%"
+  >
     <label nz-radio-button nzValue="normal" style="width: 50%; text-align: center">
       <i nz-icon nzType="user" nzTheme="outline"></i>
       {{ 'mxk.login.tab-credentials' | i18n }}
@@ -14,8 +19,7 @@
     </label>
   </nz-radio-group>
   <div nz-row *ngIf="loginType == 'normal'">
-    <nz-alert style="width: 100%" *ngIf="error" [nzType]="'error'" [nzMessage]="error" [nzShowIcon]="true"
-      class="mb-lg"></nz-alert>
+    <nz-alert style="width: 100%" *ngIf="error" [nzType]="'error'" [nzMessage]="error" [nzShowIcon]="true" class="mb-lg"></nz-alert>
     <nz-form-item style="width: 100%">
       <nz-form-control nzErrorTip="">
         <nz-input-group nzSize="large" nzPrefixIcon="user">
@@ -26,12 +30,15 @@
     <nz-form-item style="width: 100%">
       <nz-form-control nzErrorTip="">
         <nz-input-group [nzSuffix]="suffixTemplate" nzSize="large" nzPrefixIcon="key">
-          <input [type]="passwordVisible ? 'text' : 'password'" nz-input
-            placeholder="{{ 'mxk.login.text.password' | i18n }}" formControlName="password" />
+          <input
+            [type]="passwordVisible ? 'text' : 'password'"
+            nz-input
+            placeholder="{{ 'mxk.login.text.password' | i18n }}"
+            formControlName="password"
+          />
         </nz-input-group>
         <ng-template #suffixTemplate>
-          <i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
-            (click)="passwordVisible = !passwordVisible"></i>
+          <i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
         </ng-template>
       </nz-form-control>
     </nz-form-item>
@@ -68,8 +75,7 @@
           <input nz-input formControlName="otpCaptcha" placeholder="{{ 'mxk.login.text.captcha' | i18n }}" />
         </nz-input-group>
         <ng-template #suffixSendOtpCodeButton>
-          <button type="button" nz-button nzSize="large" (click)="sendOtpCode()" [disabled]="count > 0" nzBlock
-            [nzLoading]="loading">
+          <button type="button" nz-button nzSize="large" (click)="sendOtpCode()" [disabled]="count > 0" nzBlock [nzLoading]="loading">
             {{ count ? count + 's' : ('app.register.get-verification-code' | i18n) }}
           </button>
         </ng-template>
@@ -101,4 +107,4 @@
     </i>
   </ng-container>
   <a class="register d-none" routerLink="/passport/register">{{ 'mxk.login.signup' | i18n }}</a>
-</div>
+</div>

+ 3 - 3
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.ts

@@ -44,9 +44,9 @@ export class UserLoginComponent implements OnInit, OnDestroy {
     providers: NzSafeAny[];
     qrScan: string;
   } = {
-      providers: [],
-      qrScan: ''
-    };
+    providers: [],
+    qrScan: ''
+  };
 
   form: FormGroup;
   error = '';

+ 2 - 2
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/logout.component.ts

@@ -41,7 +41,7 @@ export class LogoutComponent implements OnInit {
     @Inject(ReuseTabService)
     private reuseTabService: ReuseTabService,
     private route: ActivatedRoute
-  ) { }
+  ) {}
 
   ngOnInit(): void {
     this.redirect_uri = this.route.snapshot.params[CONSTS.REDIRECT_URI];
@@ -56,7 +56,7 @@ export class LogoutComponent implements OnInit {
           if (this.redirect_uri == null || this.redirect_uri == '') {
             this.router.navigateByUrl(this.tokenService.login_url!);
           } else {
-            if (this.redirect_uri.startsWith("http")){
+            if (this.redirect_uri.startsWith('http')) {
               location.href = this.redirect_uri;
             } else {
               this.router.navigateByUrl(this.redirect_uri);

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/passport-routing.module.ts

@@ -70,4 +70,4 @@ const routes: Routes = [
   imports: [RouterModule.forChild(routes)],
   exports: [RouterModule]
 })
-export class PassportRoutingModule { }
+export class PassportRoutingModule {}

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/passport.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NgModule } from '@angular/core';
 import { SharedModule } from '@shared';
@@ -33,4 +32,4 @@ const COMPONENTS = [UserLoginComponent, UserRegisterResultComponent, UserRegiste
   imports: [SharedModule, PassportRoutingModule, NzStepsModule],
   declarations: [...COMPONENTS, ForgotComponent]
 })
-export class PassportModule { }
+export class PassportModule {}

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/register-result/register-result.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component } from '@angular/core';
 import { ActivatedRoute } from '@angular/router';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/register/register.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy } from '@angular/core';
 import { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/routes-routing.module.ts

@@ -68,4 +68,4 @@ const routes: Routes = [
   ],
   exports: [RouterModule]
 })
-export class RouteRoutingModule { }
+export class RouteRoutingModule {}

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/routes/routes.module.ts

@@ -24,4 +24,4 @@ const COMPONENTS: Array<Type<null>> = [];
   imports: [SharedModule, RouteRoutingModule],
   declarations: [...COMPONENTS]
 })
-export class RoutesModule { }
+export class RoutesModule {}

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/style/color.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Injectable } from '@angular/core';
 

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/style/colors/colors.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component } from '@angular/core';
 import { copy } from '@delon/util/browser';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/style/gridmasonry/gridmasonry.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component } from '@angular/core';
 

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/style/style-routing.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NgModule } from '@angular/core';
 import { RouterModule, Routes } from '@angular/router';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/style/style.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NgModule } from '@angular/core';
 import { SharedModule } from '@shared';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/style/typography/typography.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Component } from '@angular/core';
 

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/widgets/widgets-routing.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NgModule } from '@angular/core';
 import { RouterModule, Routes } from '@angular/router';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/widgets/widgets.module.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { NgModule, Type } from '@angular/core';
 import { G2MiniAreaModule } from '@delon/chart/mini-area';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/routes/widgets/widgets/widgets.component.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
 import { G2MiniBarData } from '@delon/chart/mini-bar';

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/service/authn.service.ts

@@ -41,7 +41,7 @@ export class AuthnService {
     private client: HttpClient,
     @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService,
     private http: _HttpClient
-  ) { }
+  ) {}
 
   setRedirectUri(redirect_uri: string) {
     this.redirect_uri = CryptoJS.enc.Base64url.parse(redirect_uri).toString(CryptoJS.enc.Utf8);

+ 13 - 13
maxkey-web-frontend/maxkey-web-app/src/app/service/base.service.ts

@@ -40,19 +40,19 @@ export class BaseService<T> {
       memberOut: string;
     };
   } = {
-      urls: {
-        base: '',
-        fetch: '/fetch',
-        add: '/add',
-        get: '/get',
-        load: '/load',
-        update: '/update',
-        delete: '/delete',
-        tree: '/tree',
-        member: '/member',
-        memberOut: '/memberOut'
-      }
-    };
+    urls: {
+      base: '',
+      fetch: '/fetch',
+      add: '/add',
+      get: '/get',
+      load: '/load',
+      update: '/update',
+      delete: '/delete',
+      tree: '/tree',
+      member: '/member',
+      memberOut: '/memberOut'
+    }
+  };
 
   constructor(httpClient: HttpClient, baseURL: string) {
     this.server.urls.base = baseURL;

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/email-senders.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';

+ 1 - 1
maxkey-web-frontend/maxkey-web-app/src/app/service/forgot-password.service.ts

@@ -20,7 +20,7 @@ import { _HttpClient, User } from '@delon/theme';
   providedIn: 'root'
 })
 export class ForgotPasswordService {
-  constructor(private http: _HttpClient) { }
+  constructor(private http: _HttpClient) {}
 
   produceOtp(param: any) {
     return this.http.get('/forgotpassword/produceOtp?_allow_anonymous=true', param);

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/group-members.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/group-privileges.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/history.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient, HttpParams } from '@angular/common/http';
 import { Injectable } from '@angular/core';

+ 4 - 5
maxkey-web-frontend/maxkey-web-app/src/app/service/image-captcha.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { Injectable } from '@angular/core';
 import { SettingsService, _HttpClient, User } from '@delon/theme';
@@ -22,7 +21,7 @@ import { SettingsService, _HttpClient, User } from '@delon/theme';
   providedIn: 'root'
 })
 export class ImageCaptchaService {
-  constructor(private http: _HttpClient) { }
+  constructor(private http: _HttpClient) {}
 
   captcha(param: any) {
     return this.http.get('/captcha?_allow_anonymous=true', param);

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/institutions.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient, HttpParams } from '@angular/common/http';
 import { Injectable } from '@angular/core';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/oauth2-approve.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/organizations.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';

+ 3 - 4
maxkey-web-frontend/maxkey-web-app/src/app/service/password-policy.service.ts

@@ -1,19 +1,18 @@
 /*
  * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';

Some files were not shown because too many files changed in this diff