apps.component.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <page-header> </page-header>
  2. <nz-card [nzBordered]="false">
  3. <form nz-form [nzLayout]="'inline'" (ngSubmit)="onSearch()" class="search__form">
  4. <div nz-row [nzGutter]="{ xs: 8, sm: 8, md: 24, lg: 24, xl: 48, xxl: 48 }">
  5. <div nz-col nzMd="10" nzSm="24">
  6. <nz-form-item>
  7. <nz-form-label nzFor="appName">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
  8. <nz-form-control>
  9. <input nz-input [(ngModel)]="query.params.appName" [ngModelOptions]="{ standalone: true }" name="appName"
  10. placeholder="" id="appName" />
  11. </nz-form-control>
  12. </nz-form-item>
  13. </div>
  14. <div nz-col nzMd="10" nzSm="24">
  15. <nz-form-item>
  16. <nz-form-label nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}</nz-form-label>
  17. <nz-form-control>
  18. <nz-select [(ngModel)]="query.params.protocol" [ngModelOptions]="{ standalone: true }">
  19. <nz-option nzValue="" nzLabel="ALL"></nz-option>
  20. <nz-option nzValue="OAuth_v2.0" nzLabel="OAuth v2.0"></nz-option>
  21. <nz-option nzValue="OAuth_v2.1" nzLabel="OAuth v2.1"></nz-option>
  22. <nz-option nzValue="OpenID_Connect_v1.0" nzLabel="OpenID Connect v1.0"></nz-option>
  23. <nz-option nzValue="SAML_v2.0" nzLabel="SAML v2.0"> </nz-option>
  24. <nz-option nzValue="CAS" nzLabel="CAS"></nz-option>
  25. <nz-option nzValue="JWT" nzLabel="JWT"></nz-option>
  26. <nz-option nzValue="Token_Based" nzLabel="Token Based"></nz-option>
  27. <nz-option nzValue="Form_Based" nzLabel="Form Based"></nz-option>
  28. <nz-option nzValue="Extend_API" nzLabel="Extend API"></nz-option>
  29. <nz-option nzValue="Basic" nzLabel="Basic"></nz-option>
  30. </nz-select>
  31. </nz-form-control>
  32. </nz-form-item>
  33. </div>
  34. <div nz-col [nzSpan]="query.expandForm ? 24 : 4" [class.text-right]="query.expandForm">
  35. <nz-form-item>
  36. <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
  37. i18n }}</button>
  38. <button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
  39. i18n }}</button>
  40. <button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
  41. {{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
  42. </nz-form-item>
  43. </div>
  44. </div>
  45. </form>
  46. </nz-card>
  47. <nz-card>
  48. <div nz-col [nzSpan]="24" class="table-list-toolbar">
  49. <button nz-button nz-dropdown [nzType]="'primary'" [nzDropdownMenu]="menuAddApps">
  50. {{ 'mxk.text.add' | i18n }}
  51. <i nz-icon nzType="down"></i>
  52. </button>
  53. <nz-dropdown-menu #menuAddApps="nzDropdownMenu">
  54. <ul nz-menu>
  55. <li nz-menu-item (click)="onAdd($event, 'OAuth_v2.0')">{{ 'mxk.apps.protocol.oauth2.0' | i18n }}</li>
  56. <li nz-menu-item (click)="onAdd($event, 'SAML_v2.0')">{{ 'mxk.apps.protocol.saml2.0' | i18n }}</li>
  57. <li nz-menu-item (click)="onAdd($event, 'CAS')">{{ 'mxk.apps.protocol.cas' | i18n }}</li>
  58. <li nz-menu-item (click)="onAdd($event, 'JWT')">{{ 'mxk.apps.protocol.jwt' | i18n }}</li>
  59. <li nz-menu-item (click)="onAdd($event, 'Token_Based')">{{ 'mxk.apps.protocol.tokenbased' | i18n }}</li>
  60. <li nz-menu-item (click)="onAdd($event, 'Form_Based')">{{ 'mxk.apps.protocol.formbased' | i18n }}</li>
  61. <li nz-menu-item (click)="onAdd($event, 'Extend_API')">{{ 'mxk.apps.protocol.extendapi' | i18n }}</li>
  62. <li nz-menu-item (click)="onAdd($event, 'Basic')">{{ 'mxk.apps.protocol.basic' | i18n }}</li>
  63. </ul>
  64. </nz-dropdown-menu>
  65. <button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
  66. 'mxk.text.delete' | i18n
  67. }}</button>
  68. </div>
  69. <nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
  70. [nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
  71. [nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
  72. (nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
  73. <thead>
  74. <tr>
  75. <th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
  76. (nzCheckedChange)="onTableAllChecked($event)"></th>
  77. <th nzAlign="center" style="display: none">Id</th>
  78. <th nzAlign="center">{{ 'mxk.apps.icon' | i18n }}</th>
  79. <th nzAlign="center">{{ 'mxk.apps.name' | i18n }}</th>
  80. <th nzAlign="center">{{ 'mxk.apps.protocol' | i18n }}</th>
  81. <th nzAlign="center">{{ 'mxk.apps.category' | i18n }}</th>
  82. <th nzAlign="center">{{ 'mxk.text.status' | i18n }}</th>
  83. <th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
  84. </tr>
  85. </thead>
  86. <tbody>
  87. <tr *ngFor="let data of query.results.rows">
  88. <td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
  89. (nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
  90. <td nzAlign="left" style="display: none">
  91. <span>{{ data.id }}</span>
  92. </td>
  93. <td nzAlign="center"><img height="30" border="0px" src="{{ data.iconBase64 }}" /></td>
  94. <td nzAlign="left"> {{ data.appName }}</td>
  95. <td nzAlign="left"> {{ data.protocol }}</td>
  96. <td nzAlign="left">
  97. <div *ngIf="data.category == 'none'">{{ 'mxk.apps.category.none' | i18n }}</div>
  98. <div *ngIf="data.category == '1011'">{{ 'mxk.apps.category.1011' | i18n }}</div>
  99. <div *ngIf="data.category == '1012'">{{ 'mxk.apps.category.1012' | i18n }}</div>
  100. <div *ngIf="data.category == '1013'">{{ 'mxk.apps.category.1013' | i18n }}</div>
  101. <div *ngIf="data.category == '1014'">{{ 'mxk.apps.category.1014' | i18n }}</div>
  102. <div *ngIf="data.category == '1015'">{{ 'mxk.apps.category.1015' | i18n }}</div>
  103. <div *ngIf="data.category == '1016'">{{ 'mxk.apps.category.1016' | i18n }}</div>
  104. <div *ngIf="data.category == '1017'">{{ 'mxk.apps.category.1017' | i18n }}</div>
  105. <div *ngIf="data.category == '1111'">{{ 'mxk.apps.category.1111' | i18n }}</div>
  106. <div *ngIf="data.category == '1112'">{{ 'mxk.apps.category.1112' | i18n }}</div>
  107. <div *ngIf="data.category == '1113'">{{ 'mxk.apps.category.1113' | i18n }}</div>
  108. <div *ngIf="data.category == '1114'">{{ 'mxk.apps.category.1114' | i18n }}</div>
  109. <div *ngIf="data.category == '1211'">{{ 'mxk.apps.category.1211' | i18n }}</div>
  110. <div *ngIf="data.category == '1212'">{{ 'mxk.apps.category.1212' | i18n }}</div>
  111. <div *ngIf="data.category == '1213'">{{ 'mxk.apps.category.1213' | i18n }}</div>
  112. <div *ngIf="data.category == '1214'">{{ 'mxk.apps.category.1214' | i18n }}</div>
  113. <div *ngIf="data.category == '1215'">{{ 'mxk.apps.category.1215' | i18n }}</div>
  114. <div *ngIf="data.category == '1311'">{{ 'mxk.apps.category.1311' | i18n }}</div>
  115. <div *ngIf="data.category == '1411'">{{ 'mxk.apps.category.1411' | i18n }}</div>
  116. <div *ngIf="data.category == '1511'">{{ 'mxk.apps.category.1511' | i18n }}</div>
  117. <div *ngIf="data.category == '1512'">{{ 'mxk.apps.category.1512' | i18n }}</div>
  118. <div *ngIf="data.category == '1611'">{{ 'mxk.apps.category.1611' | i18n }}</div>
  119. <div *ngIf="data.category == '1711'">{{ 'mxk.apps.category.1711' | i18n }}</div>
  120. <div *ngIf="data.category == '1712'">{{ 'mxk.apps.category.1712' | i18n }}</div>
  121. <div *ngIf="data.category == '1811'">{{ 'mxk.apps.category.1811' | i18n }}</div>
  122. <div *ngIf="data.category == '1812'">{{ 'mxk.apps.category.1812' | i18n }}</div>
  123. <div *ngIf="data.category == '1911'">{{ 'mxk.apps.category.1911' | i18n }}</div>
  124. <div *ngIf="data.category == '1912'">{{ 'mxk.apps.category.1912' | i18n }}</div>
  125. </td>
  126. <td nzAlign="center"> <i *ngIf="data.status == 1" nz-icon nzType="check-circle" nzTheme="fill"
  127. style="color: green"></i></td>
  128. <td nzAlign="left" nzBreakWord="false">
  129. <div nz-col>
  130. <button nz-button type="button" (click)="onResourcesMgmt($event, data.id, data.appName)"
  131. style="float: left">{{
  132. 'mxk.apps.resources' | i18n
  133. }}</button>
  134. <button nz-button type="button" (click)="onEdit($event, data.id, data.protocol)" style="float: left">{{
  135. 'mxk.text.edit' | i18n
  136. }}</button>
  137. <button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n
  138. }}</button>
  139. </div>
  140. </td>
  141. </tr>
  142. </tbody>
  143. </nz-table>
  144. </nz-card>