kempo 4.2.20 → 4.2.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/bin/cli.js +4 -21
  2. package/dist/admin/accounts/groups/[name]/index.page.html +24 -24
  3. package/dist/admin/accounts/groups/index.page.html +30 -30
  4. package/dist/admin/accounts/permissions/index.page.html +30 -30
  5. package/dist/admin/accounts/users/[id]/index.page.html +17 -17
  6. package/dist/admin/accounts/users/index.page.html +18 -18
  7. package/dist/admin/components/AddGroupControl.js +1 -5
  8. package/dist/admin/components/AddGroupControl.js.map +1 -1
  9. package/dist/admin/components/AdminTableControl.js +2 -0
  10. package/dist/admin/components/AdminTableControl.js.map +1 -0
  11. package/dist/admin/components/ClearExpiredSessionsControl.js +1 -5
  12. package/dist/admin/components/ClearExpiredSessionsControl.js.map +1 -1
  13. package/dist/admin/components/GroupDeleteSelected.js +1 -5
  14. package/dist/admin/components/GroupDeleteSelected.js.map +1 -1
  15. package/dist/admin/components/GroupRemoveRecord.js +1 -5
  16. package/dist/admin/components/GroupRemoveRecord.js.map +1 -1
  17. package/dist/admin/components/TableRowDelete.js +1 -3
  18. package/dist/admin/components/TableRowDelete.js.map +1 -1
  19. package/dist/admin/components/TableRowLink.js +1 -7
  20. package/dist/admin/components/TableRowLink.js.map +1 -1
  21. package/dist/admin/components/tableControls/AddMember.js +1 -5
  22. package/dist/admin/components/tableControls/AddMember.js.map +1 -1
  23. package/dist/admin/components/tableControls/AddPermission.js +1 -5
  24. package/dist/admin/components/tableControls/AddPermission.js.map +1 -1
  25. package/dist/admin/components/tableControls/InstallExtension.js +1 -5
  26. package/dist/admin/components/tableControls/InstallExtension.js.map +1 -1
  27. package/dist/admin/components/tableControls/UninstallExtension.js +1 -5
  28. package/dist/admin/components/tableControls/UninstallExtension.js.map +1 -1
  29. package/dist/admin/content/fragments/index.page.html +28 -28
  30. package/dist/admin/content/globals/index.page.html +28 -28
  31. package/dist/admin/content/pages/index.page.html +28 -28
  32. package/dist/admin/content/templates/index.page.html +28 -28
  33. package/dist/admin/extensions/index.page.html +18 -18
  34. package/dist/admin/init.js.map +1 -1
  35. package/dist/admin/settings/index.page.html +30 -30
  36. package/dist/kempo/api/admin-globals/DELETE.js +1 -1
  37. package/dist/kempo/api/admin-globals/DELETE.js.map +1 -1
  38. package/dist/kempo/api/admin-globals/GET.js +1 -1
  39. package/dist/kempo/api/admin-globals/GET.js.map +1 -1
  40. package/dist/kempo/api/admin-globals/POST.js +1 -1
  41. package/dist/kempo/api/admin-globals/POST.js.map +1 -1
  42. package/dist/kempo/api/admin-globals/[id]/GET.js +1 -1
  43. package/dist/kempo/api/admin-globals/[id]/GET.js.map +1 -1
  44. package/dist/kempo/api/admin-globals/[id]/PUT.js +1 -1
  45. package/dist/kempo/api/admin-globals/[id]/PUT.js.map +1 -1
  46. package/dist/kempo/api/admin-globals/[id]/disable/PUT.js +1 -1
  47. package/dist/kempo/api/admin-globals/[id]/disable/PUT.js.map +1 -1
  48. package/dist/kempo/api/admin-globals/[id]/enable/PUT.js +1 -1
  49. package/dist/kempo/api/admin-globals/[id]/enable/PUT.js.map +1 -1
  50. package/dist/kempo/api/extensions/DELETE.js +1 -1
  51. package/dist/kempo/api/extensions/DELETE.js.map +1 -1
  52. package/dist/kempo/api/extensions/POST.js +1 -1
  53. package/dist/kempo/api/extensions/POST.js.map +1 -1
  54. package/dist/kempo/api/extensions/[name]/disable/POST.js +1 -1
  55. package/dist/kempo/api/extensions/[name]/disable/POST.js.map +1 -1
  56. package/dist/kempo/api/extensions/[name]/enable/POST.js +1 -1
  57. package/dist/kempo/api/extensions/[name]/enable/POST.js.map +1 -1
  58. package/dist/kempo/api/extensions/[name]/update/POST.js +1 -1
  59. package/dist/kempo/api/extensions/[name]/update/POST.js.map +1 -1
  60. package/dist/kempo/api/extensions/[name]/update-check/GET.js +1 -1
  61. package/dist/kempo/api/extensions/[name]/update-check/GET.js.map +1 -1
  62. package/dist/kempo/api/pages/search/GET.js +1 -1
  63. package/dist/kempo/api/pages/search/GET.js.map +1 -1
  64. package/dist/kempo/api/settings/public/GET.js +1 -1
  65. package/dist/kempo/api/settings/public/GET.js.map +1 -1
  66. package/dist/kempo/api/user/[userid]/name/GET.js +2 -0
  67. package/dist/kempo/api/user/[userid]/name/GET.js.map +1 -0
  68. package/dist/kempo/components/UserDisplayName.js +2 -0
  69. package/dist/kempo/components/UserDisplayName.js.map +1 -0
  70. package/dist/kempo/sdk.js +1 -1
  71. package/dist/kempo/sdk.js.map +1 -1
  72. package/middleware/kempo.js +70 -45
  73. package/package.json +15 -8
  74. package/server/utils/admin-global-content/createAdminGlobalContent.js +4 -3
  75. package/server/utils/admin-global-content/deleteAdminGlobalContent.js +2 -2
  76. package/server/utils/admin-global-content/deleteAdminGlobalContentByOwner.js +2 -2
  77. package/server/utils/admin-global-content/disableAdminGlobalContent.js +2 -2
  78. package/server/utils/admin-global-content/enableAdminGlobalContent.js +2 -2
  79. package/server/utils/admin-global-content/getAdminGlobalContent.js +2 -2
  80. package/server/utils/admin-global-content/helpers.js +12 -1
  81. package/server/utils/admin-global-content/listAdminGlobalContent.js +2 -2
  82. package/server/utils/admin-global-content/updateAdminGlobalContent.js +2 -2
  83. package/server/utils/email/sendEmail.js +9 -3
  84. package/server/utils/extensions/uninstallExtension.js +54 -21
  85. package/server/utils/hooks/triggerHook.js +8 -1
package/bin/cli.js CHANGED
@@ -289,18 +289,6 @@ if(!useDefaults){
289
289
  }
290
290
  }
291
291
 
292
- let wantsDrizzleStudio = false;
293
-
294
- if(!useDefaults){
295
- const { drizzleStudio } = await inquirer.prompt([{
296
- type: 'confirm',
297
- name: 'drizzleStudio',
298
- message: 'Would you like to install drizzle-studio? It is used for interacting with the database during development, not recommended for production.',
299
- default: true
300
- }]);
301
- wantsDrizzleStudio = drizzleStudio;
302
- }
303
-
304
292
  /*
305
293
  Step 3: Scaffold project files
306
294
  */
@@ -309,19 +297,15 @@ console.log('\n--- Scaffolding project files ---\n');
309
297
 
310
298
  const pkgPath = join(projectDir, 'package.json');
311
299
  if(!existsSync(pkgPath)){
312
- const scripts = {
313
- dev: 'kempo-server --root public --port 9876',
314
- start: 'kempo-server --root public --port 9876'
315
- };
316
- if(wantsDrizzleStudio){
317
- scripts['db:studio'] = 'drizzle-kit studio';
318
- }
319
300
  writeFileSync(pkgPath, JSON.stringify({
320
301
  name: projectName,
321
302
  version: '1.0.0',
322
303
  type: 'module',
323
304
  private: true,
324
- scripts
305
+ scripts: {
306
+ dev: 'kempo-server --root public --port 9876',
307
+ start: 'kempo-server --root public --port 9876'
308
+ }
325
309
  }, null, 2) + '\n');
326
310
  console.log('Created package.json');
327
311
  }
@@ -527,5 +511,4 @@ Next steps:
527
511
  Then open:
528
512
  http://localhost:9876 (your site)
529
513
  http://localhost:9876/admin (admin panel)
530
- ${wantsDrizzleStudio ? '\nTo view your database:\n npm run db:studio\n' : ''}
531
514
  `);
@@ -5,14 +5,14 @@
5
5
  <content>
6
6
  <script type="module" src="/kempo-ui/components/Icon.js"></script>
7
7
  <script type="module" src="/kempo-ui/components/Table.js"></script>
8
- <script type="module" src="/kempo-ui/components/tableControls/FirstPage.js"></script>
9
- <script type="module" src="/kempo-ui/components/tableControls/PrevPage.js"></script>
10
- <script type="module" src="/kempo-ui/components/tableControls/NextPage.js"></script>
11
- <script type="module" src="/kempo-ui/components/tableControls/LastPage.js"></script>
12
- <script type="module" src="/kempo-ui/components/tableControls/PageSelect.js"></script>
13
- <script type="module" src="/kempo-ui/components/tableControls/PageSize.js"></script>
14
- <script type="module" src="/kempo-ui/components/tableControls/DeleteRecord.js"></script>
15
- <script type="module" src="/kempo-ui/components/tableControls/DeleteSelected.js"></script>
8
+ <script type="module" src="/kempo-ui/components/controls/TcFirstPage.js"></script>
9
+ <script type="module" src="/kempo-ui/components/controls/TcPrevPage.js"></script>
10
+ <script type="module" src="/kempo-ui/components/controls/TcNextPage.js"></script>
11
+ <script type="module" src="/kempo-ui/components/controls/TcLastPage.js"></script>
12
+ <script type="module" src="/kempo-ui/components/controls/TcPageSelect.js"></script>
13
+ <script type="module" src="/kempo-ui/components/controls/TcPageSize.js"></script>
14
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteRecord.js"></script>
15
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteSelected.js"></script>
16
16
  <script type="module" src="/admin/components/tableControls/AddMember.js"></script>
17
17
  <script type="module" src="/admin/components/tableControls/AddPermission.js"></script>
18
18
  <script type="module" src="/admin/components/TableRowLink.js"></script>
@@ -65,19 +65,19 @@
65
65
  <p id="usersMembersMsg" style="display:none">All users are automatically members of this group.</p>
66
66
  <k-table id="membersTable" enable-pages page-size="10" page-size-options="[10,25,50]" placeholder="This group has no members.">
67
67
  <admin-table-row-link slot="before" url-pattern="/admin/accounts/users/{id}" field-name="id"></admin-table-row-link>
68
- <k-tc-delete-selected id="tcDeleteSelected" slot="top" style="display:none;"></k-tc-delete-selected>
68
+ <kc-tc-delete-selected id="tcDeleteSelected" slot="top" style="display:none;"></kc-tc-delete-selected>
69
69
  <admin-add-member id="tcAddMember" slot="top" style="display:none;"></admin-add-member>
70
70
  <div class="d-f full" style="align-items: center;">
71
71
  <div>
72
- <k-tc-first-page></k-tc-first-page>
73
- <k-tc-prev-page></k-tc-prev-page>
74
- <k-tc-next-page></k-tc-next-page>
75
- <k-tc-last-page></k-tc-last-page>
72
+ <kc-tc-first-page></kc-tc-first-page>
73
+ <kc-tc-prev-page></kc-tc-prev-page>
74
+ <kc-tc-next-page></kc-tc-next-page>
75
+ <kc-tc-last-page></kc-tc-last-page>
76
76
  </div>
77
77
  <div class="flex"></div>
78
- <div><k-tc-page-select></k-tc-page-select></div>
78
+ <div><kc-tc-page-select></kc-tc-page-select></div>
79
79
  <div class="flex"></div>
80
- <div><k-tc-page-size></k-tc-page-size></div>
80
+ <div><kc-tc-page-size></kc-tc-page-size></div>
81
81
  </div>
82
82
  </k-table>
83
83
  </div>
@@ -87,19 +87,19 @@
87
87
  <h2>Permissions</h2>
88
88
  <p id="adminPermsMsg" style="display:none">Members of this group automatically have all permissions.</p>
89
89
  <k-table id="permissionsTable" enable-pages page-size="10" page-size-options="[10,25,50]" placeholder="No permissions assigned to this group.">
90
- <k-tc-delete-selected id="tcDeleteSelectedPerm" slot="top" style="display:none;"></k-tc-delete-selected>
90
+ <kc-tc-delete-selected id="tcDeleteSelectedPerm" slot="top" style="display:none;"></kc-tc-delete-selected>
91
91
  <admin-add-permission id="tcAddPermission" slot="top" style="display:none;"></admin-add-permission>
92
92
  <div class="d-f full" style="align-items: center;">
93
93
  <div>
94
- <k-tc-first-page></k-tc-first-page>
95
- <k-tc-prev-page></k-tc-prev-page>
96
- <k-tc-next-page></k-tc-next-page>
97
- <k-tc-last-page></k-tc-last-page>
94
+ <kc-tc-first-page></kc-tc-first-page>
95
+ <kc-tc-prev-page></kc-tc-prev-page>
96
+ <kc-tc-next-page></kc-tc-next-page>
97
+ <kc-tc-last-page></kc-tc-last-page>
98
98
  </div>
99
99
  <div class="flex"></div>
100
- <div><k-tc-page-select></k-tc-page-select></div>
100
+ <div><kc-tc-page-select></kc-tc-page-select></div>
101
101
  <div class="flex"></div>
102
- <div><k-tc-page-size></k-tc-page-size></div>
102
+ <div><kc-tc-page-size></kc-tc-page-size></div>
103
103
  </div>
104
104
  </k-table>
105
105
  </div>
@@ -239,7 +239,7 @@
239
239
  $tcDeleteSelected.style.display = '';
240
240
  $tcAddMember.style.display = '';
241
241
 
242
- const del = document.createElement('k-tc-delete-record');
242
+ const del = document.createElement('kc-tc-delete-record');
243
243
  del.setAttribute('slot', 'after');
244
244
  $membersTable.appendChild(del);
245
245
  }
@@ -318,7 +318,7 @@
318
318
  $tcAddPermission.groupName = groupName;
319
319
  $tcAddPermission.style.display = '';
320
320
 
321
- const delPerm = document.createElement('k-tc-delete-record');
321
+ const delPerm = document.createElement('kc-tc-delete-record');
322
322
  delPerm.setAttribute('slot', 'after');
323
323
  $permissionsTable.appendChild(delPerm);
324
324
 
@@ -4,15 +4,15 @@
4
4
  <page title="Groups - Admin">
5
5
  <content>
6
6
  <script type="module" src="/kempo-ui/components/Table.js"></script>
7
- <script type="module" src="/kempo-ui/components/tableControls/FirstPage.js"></script>
8
- <script type="module" src="/kempo-ui/components/tableControls/PrevPage.js"></script>
9
- <script type="module" src="/kempo-ui/components/tableControls/NextPage.js"></script>
10
- <script type="module" src="/kempo-ui/components/tableControls/LastPage.js"></script>
11
- <script type="module" src="/kempo-ui/components/tableControls/PageSelect.js"></script>
12
- <script type="module" src="/kempo-ui/components/tableControls/PageSize.js"></script>
13
- <script type="module" src="/kempo-ui/components/tableControls/Edit.js"></script>
14
- <script type="module" src="/kempo-ui/components/tableControls/DeleteRecord.js"></script>
15
- <script type="module" src="/kempo-ui/components/tableControls/DeleteSelected.js"></script>
7
+ <script type="module" src="/kempo-ui/components/controls/TcFirstPage.js"></script>
8
+ <script type="module" src="/kempo-ui/components/controls/TcPrevPage.js"></script>
9
+ <script type="module" src="/kempo-ui/components/controls/TcNextPage.js"></script>
10
+ <script type="module" src="/kempo-ui/components/controls/TcLastPage.js"></script>
11
+ <script type="module" src="/kempo-ui/components/controls/TcPageSelect.js"></script>
12
+ <script type="module" src="/kempo-ui/components/controls/TcPageSize.js"></script>
13
+ <script type="module" src="/kempo-ui/components/controls/TcEdit.js"></script>
14
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteRecord.js"></script>
15
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteSelected.js"></script>
16
16
  <script type="module" src="/admin/components/TableRowLink.js"></script>
17
17
  <script type="module" src="/kempo/components/Permission.js"></script>
18
18
 
@@ -29,21 +29,21 @@
29
29
  <div slot="top" class="d-f full" style="align-items: center;">
30
30
  <div>
31
31
  <k-permission has="system:group:delete">
32
- <k-tc-delete-selected></k-tc-delete-selected>
32
+ <kc-tc-delete-selected></kc-tc-delete-selected>
33
33
  </k-permission>
34
34
  </div>
35
35
  </div>
36
36
  <div class="d-f full" style="align-items: center;">
37
37
  <div>
38
- <k-tc-first-page></k-tc-first-page>
39
- <k-tc-prev-page></k-tc-prev-page>
40
- <k-tc-next-page></k-tc-next-page>
41
- <k-tc-last-page></k-tc-last-page>
38
+ <kc-tc-first-page></kc-tc-first-page>
39
+ <kc-tc-prev-page></kc-tc-prev-page>
40
+ <kc-tc-next-page></kc-tc-next-page>
41
+ <kc-tc-last-page></kc-tc-last-page>
42
42
  </div>
43
43
  <div class="flex"></div>
44
- <div><k-tc-page-select></k-tc-page-select></div>
44
+ <div><kc-tc-page-select></kc-tc-page-select></div>
45
45
  <div class="flex"></div>
46
- <div><k-tc-page-size></k-tc-page-size></div>
46
+ <div><kc-tc-page-size></kc-tc-page-size></div>
47
47
  </div>
48
48
  </k-table>
49
49
 
@@ -52,15 +52,15 @@
52
52
  <admin-table-row-link slot="before" url-pattern="/admin/accounts/groups/{name}" field-name="name"></admin-table-row-link>
53
53
  <div class="d-f full" style="align-items: center;">
54
54
  <div>
55
- <k-tc-first-page></k-tc-first-page>
56
- <k-tc-prev-page></k-tc-prev-page>
57
- <k-tc-next-page></k-tc-next-page>
58
- <k-tc-last-page></k-tc-last-page>
55
+ <kc-tc-first-page></kc-tc-first-page>
56
+ <kc-tc-prev-page></kc-tc-prev-page>
57
+ <kc-tc-next-page></kc-tc-next-page>
58
+ <kc-tc-last-page></kc-tc-last-page>
59
59
  </div>
60
60
  <div class="flex"></div>
61
- <div><k-tc-page-select></k-tc-page-select></div>
61
+ <div><kc-tc-page-select></kc-tc-page-select></div>
62
62
  <div class="flex"></div>
63
- <div><k-tc-page-size></k-tc-page-size></div>
63
+ <div><kc-tc-page-size></kc-tc-page-size></div>
64
64
  </div>
65
65
  </k-table>
66
66
 
@@ -69,15 +69,15 @@
69
69
  <admin-table-row-link slot="before" url-pattern="/admin/accounts/groups/{name}" field-name="name"></admin-table-row-link>
70
70
  <div class="d-f full" style="align-items: center;">
71
71
  <div>
72
- <k-tc-first-page></k-tc-first-page>
73
- <k-tc-prev-page></k-tc-prev-page>
74
- <k-tc-next-page></k-tc-next-page>
75
- <k-tc-last-page></k-tc-last-page>
72
+ <kc-tc-first-page></kc-tc-first-page>
73
+ <kc-tc-prev-page></kc-tc-prev-page>
74
+ <kc-tc-next-page></kc-tc-next-page>
75
+ <kc-tc-last-page></kc-tc-last-page>
76
76
  </div>
77
77
  <div class="flex"></div>
78
- <div><k-tc-page-select></k-tc-page-select></div>
78
+ <div><kc-tc-page-select></kc-tc-page-select></div>
79
79
  <div class="flex"></div>
80
- <div><k-tc-page-size></k-tc-page-size></div>
80
+ <div><kc-tc-page-size></kc-tc-page-size></div>
81
81
  </div>
82
82
  </k-table>
83
83
 
@@ -129,7 +129,7 @@
129
129
  const setupTable = ($table, owner, loadFn) => {
130
130
  if(canEdit && owner !== 'system') { // Prevent editor control for system groups
131
131
  $table.setAttribute('request-edit', '');
132
- const edit = document.createElement('k-tc-edit');
132
+ const edit = document.createElement('kc-tc-edit');
133
133
  edit.setAttribute('slot', 'after');
134
134
  $table.appendChild(edit);
135
135
  }
@@ -137,7 +137,7 @@
137
137
  if(canDelete && owner === 'custom'){
138
138
  $table.setAttribute('request-delete', '');
139
139
  $table.setAttribute('enable-selection', '');
140
- const del = document.createElement('k-tc-delete-record');
140
+ const del = document.createElement('kc-tc-delete-record');
141
141
  del.setAttribute('slot', 'after');
142
142
  $table.appendChild(del);
143
143
  }
@@ -4,15 +4,15 @@
4
4
  <page title="Permissions - Admin">
5
5
  <content>
6
6
  <script type="module" src="/kempo-ui/components/Table.js"></script>
7
- <script type="module" src="/kempo-ui/components/tableControls/FirstPage.js"></script>
8
- <script type="module" src="/kempo-ui/components/tableControls/PrevPage.js"></script>
9
- <script type="module" src="/kempo-ui/components/tableControls/NextPage.js"></script>
10
- <script type="module" src="/kempo-ui/components/tableControls/LastPage.js"></script>
11
- <script type="module" src="/kempo-ui/components/tableControls/PageSelect.js"></script>
12
- <script type="module" src="/kempo-ui/components/tableControls/PageSize.js"></script>
13
- <script type="module" src="/kempo-ui/components/tableControls/Edit.js"></script>
14
- <script type="module" src="/kempo-ui/components/tableControls/DeleteRecord.js"></script>
15
- <script type="module" src="/kempo-ui/components/tableControls/DeleteSelected.js"></script>
7
+ <script type="module" src="/kempo-ui/components/controls/TcFirstPage.js"></script>
8
+ <script type="module" src="/kempo-ui/components/controls/TcPrevPage.js"></script>
9
+ <script type="module" src="/kempo-ui/components/controls/TcNextPage.js"></script>
10
+ <script type="module" src="/kempo-ui/components/controls/TcLastPage.js"></script>
11
+ <script type="module" src="/kempo-ui/components/controls/TcPageSelect.js"></script>
12
+ <script type="module" src="/kempo-ui/components/controls/TcPageSize.js"></script>
13
+ <script type="module" src="/kempo-ui/components/controls/TcEdit.js"></script>
14
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteRecord.js"></script>
15
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteSelected.js"></script>
16
16
  <script type="module" src="/kempo-ui/components/Tags.js"></script>
17
17
  <script type="module" src="/kempo/components/Permission.js"></script>
18
18
 
@@ -28,21 +28,21 @@
28
28
  <div slot="top" class="d-f full" style="align-items: center;">
29
29
  <div>
30
30
  <k-permission has="system:permissions:manage">
31
- <k-tc-delete-selected></k-tc-delete-selected>
31
+ <kc-tc-delete-selected></kc-tc-delete-selected>
32
32
  </k-permission>
33
33
  </div>
34
34
  </div>
35
35
  <div class="d-f full" style="align-items: center;">
36
36
  <div>
37
- <k-tc-first-page></k-tc-first-page>
38
- <k-tc-prev-page></k-tc-prev-page>
39
- <k-tc-next-page></k-tc-next-page>
40
- <k-tc-last-page></k-tc-last-page>
37
+ <kc-tc-first-page></kc-tc-first-page>
38
+ <kc-tc-prev-page></kc-tc-prev-page>
39
+ <kc-tc-next-page></kc-tc-next-page>
40
+ <kc-tc-last-page></kc-tc-last-page>
41
41
  </div>
42
42
  <div class="flex"></div>
43
- <div><k-tc-page-select></k-tc-page-select></div>
43
+ <div><kc-tc-page-select></kc-tc-page-select></div>
44
44
  <div class="flex"></div>
45
- <div><k-tc-page-size></k-tc-page-size></div>
45
+ <div><kc-tc-page-size></kc-tc-page-size></div>
46
46
  </div>
47
47
  </k-table>
48
48
 
@@ -50,15 +50,15 @@
50
50
  <k-table id="extensionTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No extension permissions installed.">
51
51
  <div class="d-f full" style="align-items: center;">
52
52
  <div>
53
- <k-tc-first-page></k-tc-first-page>
54
- <k-tc-prev-page></k-tc-prev-page>
55
- <k-tc-next-page></k-tc-next-page>
56
- <k-tc-last-page></k-tc-last-page>
53
+ <kc-tc-first-page></kc-tc-first-page>
54
+ <kc-tc-prev-page></kc-tc-prev-page>
55
+ <kc-tc-next-page></kc-tc-next-page>
56
+ <kc-tc-last-page></kc-tc-last-page>
57
57
  </div>
58
58
  <div class="flex"></div>
59
- <div><k-tc-page-select></k-tc-page-select></div>
59
+ <div><kc-tc-page-select></kc-tc-page-select></div>
60
60
  <div class="flex"></div>
61
- <div><k-tc-page-size></k-tc-page-size></div>
61
+ <div><kc-tc-page-size></kc-tc-page-size></div>
62
62
  </div>
63
63
  </k-table>
64
64
 
@@ -66,15 +66,15 @@
66
66
  <k-table id="systemTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No system permissions found.">
67
67
  <div class="d-f full" style="align-items: center;">
68
68
  <div>
69
- <k-tc-first-page></k-tc-first-page>
70
- <k-tc-prev-page></k-tc-prev-page>
71
- <k-tc-next-page></k-tc-next-page>
72
- <k-tc-last-page></k-tc-last-page>
69
+ <kc-tc-first-page></kc-tc-first-page>
70
+ <kc-tc-prev-page></kc-tc-prev-page>
71
+ <kc-tc-next-page></kc-tc-next-page>
72
+ <kc-tc-last-page></kc-tc-last-page>
73
73
  </div>
74
74
  <div class="flex"></div>
75
- <div><k-tc-page-select></k-tc-page-select></div>
75
+ <div><kc-tc-page-select></kc-tc-page-select></div>
76
76
  <div class="flex"></div>
77
- <div><k-tc-page-size></k-tc-page-size></div>
77
+ <div><kc-tc-page-size></kc-tc-page-size></div>
78
78
  </div>
79
79
  </k-table>
80
80
 
@@ -126,7 +126,7 @@
126
126
  const setupTable = ($table, owner, loadFn) => {
127
127
  if(canManage && owner !== 'system'){
128
128
  $table.setAttribute('request-edit', '');
129
- const edit = document.createElement('k-tc-edit');
129
+ const edit = document.createElement('kc-tc-edit');
130
130
  edit.setAttribute('slot', 'after');
131
131
  $table.appendChild(edit);
132
132
  }
@@ -134,7 +134,7 @@
134
134
  if(canManage && owner === 'custom'){
135
135
  $table.setAttribute('request-delete', '');
136
136
  $table.setAttribute('enable-selection', '');
137
- const del = document.createElement('k-tc-delete-record');
137
+ const del = document.createElement('kc-tc-delete-record');
138
138
  del.setAttribute('slot', 'after');
139
139
  $table.appendChild(del);
140
140
  }
@@ -6,14 +6,14 @@
6
6
  <script type="module" src="/kempo-ui/components/Toggle.js"></script>
7
7
  <script type="module" src="/kempo-ui/components/Icon.js"></script>
8
8
  <script type="module" src="/kempo-ui/components/Table.js"></script>
9
- <script type="module" src="/kempo-ui/components/tableControls/FirstPage.js"></script>
10
- <script type="module" src="/kempo-ui/components/tableControls/PrevPage.js"></script>
11
- <script type="module" src="/kempo-ui/components/tableControls/NextPage.js"></script>
12
- <script type="module" src="/kempo-ui/components/tableControls/LastPage.js"></script>
13
- <script type="module" src="/kempo-ui/components/tableControls/PageSelect.js"></script>
14
- <script type="module" src="/kempo-ui/components/tableControls/PageSize.js"></script>
15
- <script type="module" src="/kempo-ui/components/tableControls/DeleteRecord.js"></script>
16
- <script type="module" src="/kempo-ui/components/tableControls/DeleteSelected.js"></script>
9
+ <script type="module" src="/kempo-ui/components/controls/TcFirstPage.js"></script>
10
+ <script type="module" src="/kempo-ui/components/controls/TcPrevPage.js"></script>
11
+ <script type="module" src="/kempo-ui/components/controls/TcNextPage.js"></script>
12
+ <script type="module" src="/kempo-ui/components/controls/TcLastPage.js"></script>
13
+ <script type="module" src="/kempo-ui/components/controls/TcPageSelect.js"></script>
14
+ <script type="module" src="/kempo-ui/components/controls/TcPageSize.js"></script>
15
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteRecord.js"></script>
16
+ <script type="module" src="/kempo-ui/components/controls/TcDeleteSelected.js"></script>
17
17
  <script type="module" src="/admin/components/GroupDeleteSelected.js"></script>
18
18
  <script type="module" src="/admin/components/AddGroupControl.js"></script>
19
19
  <script type="module" src="/admin/components/ClearExpiredSessionsControl.js"></script>
@@ -65,7 +65,7 @@
65
65
  <h2>Groups</h2>
66
66
  <k-table id="groupsTable" request-delete placeholder="Not a member of any groups.">
67
67
  <admin-table-row-link slot="before" url-pattern="/admin/accounts/groups/{name}" field-name="name"></admin-table-row-link>
68
- <k-tc-delete-record slot="after"></k-tc-delete-record>
68
+ <kc-tc-delete-record slot="after"></kc-tc-delete-record>
69
69
  <div slot="top" id="groupsTableTop" class="d-f full" style="display:none; align-items: center;">
70
70
  <div><admin-group-delete-selected></admin-group-delete-selected></div>
71
71
  <div class="flex"></div>
@@ -78,23 +78,23 @@
78
78
  <div class="card">
79
79
  <h2>Sessions</h2>
80
80
  <k-table id="sessionsTable" enable-pages page-size="10" page-size-options="[10,25,50]" placeholder="No active sessions.">
81
- <k-tc-delete-record slot="after"></k-tc-delete-record>
81
+ <kc-tc-delete-record slot="after"></kc-tc-delete-record>
82
82
  <div slot="top" class="d-f full" style="align-items: center;">
83
- <div><k-tc-delete-selected></k-tc-delete-selected></div>
83
+ <div><kc-tc-delete-selected></kc-tc-delete-selected></div>
84
84
  <div class="flex"></div>
85
85
  <div><admin-clear-expired-sessions id="clearExpiredBtn" style="display:none;"></admin-clear-expired-sessions></div>
86
86
  </div>
87
87
  <div class="d-f full" style="align-items: center;">
88
88
  <div>
89
- <k-tc-first-page></k-tc-first-page>
90
- <k-tc-prev-page></k-tc-prev-page>
91
- <k-tc-next-page></k-tc-next-page>
92
- <k-tc-last-page></k-tc-last-page>
89
+ <kc-tc-first-page></kc-tc-first-page>
90
+ <kc-tc-prev-page></kc-tc-prev-page>
91
+ <kc-tc-next-page></kc-tc-next-page>
92
+ <kc-tc-last-page></kc-tc-last-page>
93
93
  </div>
94
94
  <div class="flex"></div>
95
- <div><k-tc-page-select></k-tc-page-select></div>
95
+ <div><kc-tc-page-select></kc-tc-page-select></div>
96
96
  <div class="flex"></div>
97
- <div><k-tc-page-size></k-tc-page-size></div>
97
+ <div><kc-tc-page-size></kc-tc-page-size></div>
98
98
  </div>
99
99
  </k-table>
100
100
  </div>
@@ -9,39 +9,39 @@
9
9
  ></script>
10
10
  <script
11
11
  type="module"
12
- src="/kempo-ui/components/tableControls/FirstPage.js"
12
+ src="/kempo-ui/components/controls/TcFirstPage.js"
13
13
  ></script>
14
14
  <script
15
15
  type="module"
16
- src="/kempo-ui/components/tableControls/PrevPage.js"
16
+ src="/kempo-ui/components/controls/TcPrevPage.js"
17
17
  ></script>
18
18
  <script
19
19
  type="module"
20
- src="/kempo-ui/components/tableControls/NextPage.js"
20
+ src="/kempo-ui/components/controls/TcNextPage.js"
21
21
  ></script>
22
22
  <script
23
23
  type="module"
24
- src="/kempo-ui/components/tableControls/LastPage.js"
24
+ src="/kempo-ui/components/controls/TcLastPage.js"
25
25
  ></script>
26
26
  <script
27
27
  type="module"
28
- src="/kempo-ui/components/tableControls/PageSelect.js"
28
+ src="/kempo-ui/components/controls/TcPageSelect.js"
29
29
  ></script>
30
30
  <script
31
31
  type="module"
32
- src="/kempo-ui/components/tableControls/PageSize.js"
32
+ src="/kempo-ui/components/controls/TcPageSize.js"
33
33
  ></script>
34
34
  <script
35
35
  type="module"
36
- src="/kempo-ui/components/tableControls/Edit.js"
36
+ src="/kempo-ui/components/controls/TcEdit.js"
37
37
  ></script>
38
38
  <script
39
39
  type="module"
40
- src="/kempo-ui/components/tableControls/DeleteRecord.js"
40
+ src="/kempo-ui/components/controls/TcDeleteRecord.js"
41
41
  ></script>
42
42
  <script
43
43
  type="module"
44
- src="/kempo-ui/components/tableControls/DeleteSelected.js"
44
+ src="/kempo-ui/components/controls/TcDeleteSelected.js"
45
45
  ></script>
46
46
  <script
47
47
  type="module"
@@ -87,7 +87,7 @@
87
87
  >
88
88
  <div>
89
89
  <k-permission has="system:user:delete">
90
- <k-tc-delete-selected></k-tc-delete-selected>
90
+ <kc-tc-delete-selected></kc-tc-delete-selected>
91
91
  </k-permission>
92
92
  </div>
93
93
  </div>
@@ -96,18 +96,18 @@
96
96
  style="align-items: center;"
97
97
  >
98
98
  <div>
99
- <k-tc-first-page></k-tc-first-page>
100
- <k-tc-prev-page></k-tc-prev-page>
101
- <k-tc-next-page></k-tc-next-page>
102
- <k-tc-last-page></k-tc-last-page>
99
+ <kc-tc-first-page></kc-tc-first-page>
100
+ <kc-tc-prev-page></kc-tc-prev-page>
101
+ <kc-tc-next-page></kc-tc-next-page>
102
+ <kc-tc-last-page></kc-tc-last-page>
103
103
  </div>
104
104
  <div class="flex"></div>
105
105
  <div>
106
- <k-tc-page-select></k-tc-page-select>
106
+ <kc-tc-page-select></kc-tc-page-select>
107
107
  </div>
108
108
  <div class="flex"></div>
109
109
  <div>
110
- <k-tc-page-size></k-tc-page-size>
110
+ <kc-tc-page-size></kc-tc-page-size>
111
111
  </div>
112
112
  </div>
113
113
  </k-table>
@@ -124,7 +124,7 @@
124
124
 
125
125
  if (myPerms.has('system:user:update')) {
126
126
  $table.setAttribute('request-edit', '');
127
- const edit = document.createElement('k-tc-edit');
127
+ const edit = document.createElement('kc-tc-edit');
128
128
  edit.setAttribute('slot', 'after');
129
129
  $table.appendChild(edit);
130
130
  }
@@ -132,7 +132,7 @@
132
132
  if (myPerms.has('system:user:delete')) {
133
133
  $table.setAttribute('request-delete', '');
134
134
  $table.setAttribute('enable-selection', '');
135
- const del = document.createElement('k-tc-delete-record');
135
+ const del = document.createElement('kc-tc-delete-record');
136
136
  del.setAttribute('slot', 'after');
137
137
  $table.appendChild(del);
138
138
  }
@@ -1,6 +1,2 @@
1
- import o from"/kempo-ui/components/tableControls/TableControl.js";import{html as t}from"/kempo-ui/lit-all.min.js";import"/kempo-ui/components/Icon.js";export default class n extends o{render(){return t`
2
- <button class="no-btn icon-btn" title="Add to Group">
3
- <k-icon name="add"></k-icon>
4
- </button>
5
- `}}customElements.define("admin-add-group-control",n);
1
+ import t from"./AdminTableControl.js";import{html as e}from"/kempo-ui/lit-all.min.js";import"/kempo-ui/components/Icon.js";export default class o extends t{connectedCallback(){super.connectedCallback(),this.hasAttribute("title")||(this.title="Add to Group")}render(){return e`<k-icon name="add"></k-icon>`}}customElements.define("admin-add-group-control",o);
6
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\admin\components\AddGroupControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\admin\\components\\AddGroupControl.js","names":["TableControl","html","AddGroupControl","render","customElements","define"],"sources":["0"],"sourcesContent":["import TableControl from '/kempo-ui/components/tableControls/TableControl.js';\r\nimport { html } from '/kempo-ui/lit-all.min.js';\r\nimport '/kempo-ui/components/Icon.js';\r\n\r\nexport default class AddGroupControl extends TableControl {\r\n render() {\r\n return html`\r\n <button class=\"no-btn icon-btn\" title=\"Add to Group\">\r\n <k-icon name=\"add\"></k-icon>\r\n </button>\r\n `;\r\n }\r\n}\r\n\r\ncustomElements.define('admin-add-group-control', AddGroupControl);\r\n"],"mappings":"OAAOA,MAAkB,oEAChBC,MAAY,iCACd,8CAEQ,MAAMC,UAAwBF,EAC3C,MAAAG,GACE,OAAOF,CAAI;;;;KAKb,EAGFG,eAAeC,OAAO,0BAA2BH","ignoreList":[]}
1
+ {"version":3,"file":"src\\admin\\components\\AddGroupControl.js","names":["AdminTableControl","html","AddGroupControl","connectedCallback","super","this","hasAttribute","title","render","customElements","define"],"sources":["0"],"sourcesContent":["import AdminTableControl from './AdminTableControl.js';\nimport { html } from '/kempo-ui/lit-all.min.js';\nimport '/kempo-ui/components/Icon.js';\n\nexport default class AddGroupControl extends AdminTableControl {\n connectedCallback(){\n super.connectedCallback();\n if(!this.hasAttribute('title')) this.title = 'Add to Group';\n }\n\n render(){ return html`<k-icon name=\"add\"></k-icon>`; }\n}\n\ncustomElements.define('admin-add-group-control', AddGroupControl);\n"],"mappings":"OAAOA,MAAuB,wCACrBC,MAAY,iCACd,8CAEQ,MAAMC,UAAwBF,EAC3C,iBAAAG,GACEC,MAAMD,oBACFE,KAAKC,aAAa,WAAUD,KAAKE,MAAQ,eAC/C,CAEA,MAAAC,GAAU,OAAOP,CAAI,8BAAgC,EAGvDQ,eAAeC,OAAO,0BAA2BR","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import t from"/kempo-ui/components/controls/ButtonControl.js";export default class o extends t{get table(){return this.host}get record(){const t=this.closest(".record"),o=t?.dataset?.index;return void 0===o?null:this.host?.records?.[o]??null}}
2
+ //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\admin\components\AdminTableControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src\\admin\\components\\AdminTableControl.js","names":["ButtonControl","AdminTableControl","table","this","host","record","row","closest","index","dataset","undefined","records"],"sources":["0"],"sourcesContent":["import ButtonControl from '/kempo-ui/components/controls/ButtonControl.js';\n\n/*\n Shared base for the admin's table controls.\n\n kempo-ui's Control resolves its host through closest('[controlled]'), which k-table sets on\n itself, but it deliberately leaves the per-row lookup to each control. Rather than repeat that\n lookup in every admin control, it lives here once — it is the one place coupled to k-table's row\n markup (`.record[data-index]` indexing into `host.records`).\n\n Controls that sit in a row get a `record`; controls placed at the table level get `null`.\n*/\nexport default class AdminTableControl extends ButtonControl {\n get table(){\n return this.host;\n }\n\n get record(){\n const row = this.closest('.record');\n const index = row?.dataset?.index;\n if(index === undefined) return null;\n return this.host?.records?.[index] ?? null;\n }\n}\n"],"mappings":"OAAOA,MAAmB,gEAYX,MAAMC,UAA0BD,EAC7C,SAAIE,GACF,OAAOC,KAAKC,IACd,CAEA,UAAIC,GACF,MAAMC,EAAMH,KAAKI,QAAQ,WACnBC,EAAQF,GAAKG,SAASD,MAC5B,YAAaE,IAAVF,EAA4B,KACxBL,KAAKC,MAAMO,UAAUH,IAAU,IACxC","ignoreList":[]}
@@ -1,6 +1,2 @@
1
- import e from"/kempo-ui/components/tableControls/TableControl.js";import{html as o}from"/kempo-ui/lit-all.min.js";import"/kempo-ui/components/Icon.js";export default class n extends e{render(){return o`
2
- <button class="no-btn icon-btn" title="Clear Expired Sessions">
3
- <k-icon name="timer_off"></k-icon>
4
- </button>
5
- `}}customElements.define("admin-clear-expired-sessions",n);
1
+ import e from"./AdminTableControl.js";import{html as t}from"/kempo-ui/lit-all.min.js";import"/kempo-ui/components/Icon.js";export default class i extends e{connectedCallback(){super.connectedCallback(),this.hasAttribute("title")||(this.title="Clear Expired Sessions")}render(){return t`<k-icon name="timer_off"></k-icon>`}}customElements.define("admin-clear-expired-sessions",i);
6
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\admin\components\ClearExpiredSessionsControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\admin\\components\\ClearExpiredSessionsControl.js","names":["TableControl","html","ClearExpiredSessionsControl","render","customElements","define"],"sources":["0"],"sourcesContent":["import TableControl from '/kempo-ui/components/tableControls/TableControl.js';\r\nimport { html } from '/kempo-ui/lit-all.min.js';\r\nimport '/kempo-ui/components/Icon.js';\r\n\r\nexport default class ClearExpiredSessionsControl extends TableControl {\r\n render() {\r\n return html`\r\n <button class=\"no-btn icon-btn\" title=\"Clear Expired Sessions\">\r\n <k-icon name=\"timer_off\"></k-icon>\r\n </button>\r\n `;\r\n }\r\n}\r\n\r\ncustomElements.define('admin-clear-expired-sessions', ClearExpiredSessionsControl);\r\n"],"mappings":"OAAOA,MAAkB,oEAChBC,MAAY,iCACd,8CAEQ,MAAMC,UAAoCF,EACvD,MAAAG,GACE,OAAOF,CAAI;;;;KAKb,EAGFG,eAAeC,OAAO,+BAAgCH","ignoreList":[]}
1
+ {"version":3,"file":"src\\admin\\components\\ClearExpiredSessionsControl.js","names":["AdminTableControl","html","ClearExpiredSessionsControl","connectedCallback","super","this","hasAttribute","title","render","customElements","define"],"sources":["0"],"sourcesContent":["import AdminTableControl from './AdminTableControl.js';\nimport { html } from '/kempo-ui/lit-all.min.js';\nimport '/kempo-ui/components/Icon.js';\n\nexport default class ClearExpiredSessionsControl extends AdminTableControl {\n connectedCallback(){\n super.connectedCallback();\n if(!this.hasAttribute('title')) this.title = 'Clear Expired Sessions';\n }\n\n render(){ return html`<k-icon name=\"timer_off\"></k-icon>`; }\n}\n\ncustomElements.define('admin-clear-expired-sessions', ClearExpiredSessionsControl);\n"],"mappings":"OAAOA,MAAuB,wCACrBC,MAAY,iCACd,8CAEQ,MAAMC,UAAoCF,EACvD,iBAAAG,GACEC,MAAMD,oBACFE,KAAKC,aAAa,WAAUD,KAAKE,MAAQ,yBAC/C,CAEA,MAAAC,GAAU,OAAOP,CAAI,oCAAsC,EAG7DQ,eAAeC,OAAO,+BAAgCR","ignoreList":[]}
@@ -1,6 +1,2 @@
1
- import e from"/kempo-ui/components/tableControls/TableControl.js";import{html as t}from"/kempo-ui/lit-all.min.js";import"/kempo-ui/components/Icon.js";export default class s extends e{constructor(){super({maxWidth:null}),this.selectionChangeHandler=()=>this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.onTableEvent("selectionChange",this.selectionChangeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.table&&this.table.removeEventListener("selectionChange",this.selectionChangeHandler)}deleteSelected=()=>{if(!this.table)return;const e=this.table.getSelectedRecords(),t=e.filter(e=>"system:Users"!==e.name);if(!t.length)return;const s=e.some(e=>"system:Users"===e.name);this.dispatchEvent(new CustomEvent("groupRemoveSelected",{detail:{records:t,systemUsersSkipped:s},bubbles:!0}))};get deletableCount(){return this.table?this.table.getSelectedRecords().filter(e=>"system:Users"!==e.name).length:0}render(){return t`
2
- <button class="no-btn icon-btn" ?disabled="${0===this.deletableCount}" @click="${this.deleteSelected}">
3
- <k-icon name="delete"></k-icon>
4
- </button>
5
- `}}customElements.define("admin-group-delete-selected",s);
1
+ import e from"./AdminTableControl.js";import{html as t}from"/kempo-ui/lit-all.min.js";import"/kempo-ui/components/Icon.js";export default class s extends e{static hostEvents=["selectionChange"];connectedCallback(){super.connectedCallback(),this.hasAttribute("title")||(this.title="Remove Selected")}get deletableCount(){return this.table?this.table.getSelectedRecords().filter(e=>"system:Users"!==e.name).length:0}willUpdate(){this.disabled=0===this.deletableCount}handleAction(){if(!this.table)return;const e=this.table.getSelectedRecords(),t=e.filter(e=>"system:Users"!==e.name);t.length&&this.dispatchEvent(new CustomEvent("groupRemoveSelected",{detail:{records:t,systemUsersSkipped:e.some(e=>"system:Users"===e.name)},bubbles:!0}))}render(){return t`<k-icon name="delete"></k-icon>`}}customElements.define("admin-group-delete-selected",s);
6
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\admin\components\GroupDeleteSelected.js.map