kempo 4.2.18 → 4.2.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app-public/CATCH.page.html +15 -0
- package/app-public/kempo-global.global.html +0 -6
- package/dist/admin/accounts/groups/[name]/index.page.html +112 -2
- package/dist/admin/accounts/groups/index.page.html +87 -2
- package/dist/admin/accounts/permissions/index.page.html +84 -2
- package/dist/admin/accounts/users/[id]/index.page.html +117 -3
- package/dist/admin/accounts/users/index.page.html +116 -2
- package/dist/admin/components/tableControls/InstallExtension.js +2 -2
- package/dist/admin/components/tableControls/InstallExtension.js.map +1 -1
- package/dist/admin/components/tableControls/UninstallExtension.js +2 -2
- package/dist/admin/components/tableControls/UninstallExtension.js.map +1 -1
- package/dist/admin/content/fragments/edit/index.page.html +8 -1
- package/dist/admin/content/fragments/index.page.html +87 -2
- package/dist/admin/content/globals/edit/index.page.html +8 -1
- package/dist/admin/content/globals/index.page.html +102 -7
- package/dist/admin/content/pages/edit/index.page.html +8 -1
- package/dist/admin/content/pages/index.page.html +224 -27
- package/dist/admin/content/templates/edit/index.page.html +8 -1
- package/dist/admin/content/templates/index.page.html +116 -2
- package/dist/admin/default.template.html +20 -1
- package/dist/admin/extensions/index.page.html +59 -2
- package/dist/admin/icons/extension_add.svg +1 -0
- package/dist/admin/icons/extension_remove.svg +1 -0
- package/dist/admin/index.page.html +5 -1
- package/dist/admin/nav.fragment.html +84 -2
- package/dist/admin/settings/[owner]/[name]/index.page.html +110 -4
- package/dist/admin/settings/index.page.html +87 -2
- package/dist/kempo/api/fragments/DELETE.js +1 -1
- package/dist/kempo/api/fragments/DELETE.js.map +1 -1
- package/dist/kempo/api/fragments/GET.js +1 -1
- package/dist/kempo/api/fragments/GET.js.map +1 -1
- package/dist/kempo/api/fragments/POST.js +1 -1
- package/dist/kempo/api/fragments/POST.js.map +1 -1
- package/dist/kempo/api/fragments/disable/PUT.js +1 -1
- package/dist/kempo/api/fragments/disable/PUT.js.map +1 -1
- package/dist/kempo/api/fragments/enable/PUT.js +1 -1
- package/dist/kempo/api/fragments/enable/PUT.js.map +1 -1
- package/dist/kempo/api/fragments/file/GET.js +1 -1
- package/dist/kempo/api/fragments/file/GET.js.map +1 -1
- package/dist/kempo/api/fragments/file/PATCH.js +1 -1
- package/dist/kempo/api/fragments/file/PATCH.js.map +1 -1
- package/dist/kempo/api/fragments/file/PUT.js +1 -1
- package/dist/kempo/api/fragments/file/PUT.js.map +1 -1
- package/dist/kempo/api/fragments/lock/PUT.js +1 -1
- package/dist/kempo/api/fragments/lock/PUT.js.map +1 -1
- package/dist/kempo/api/globals/DELETE.js +1 -1
- package/dist/kempo/api/globals/DELETE.js.map +1 -1
- package/dist/kempo/api/globals/GET.js +1 -1
- package/dist/kempo/api/globals/GET.js.map +1 -1
- package/dist/kempo/api/globals/POST.js +1 -1
- package/dist/kempo/api/globals/POST.js.map +1 -1
- package/dist/kempo/api/globals/disable/PUT.js +1 -1
- package/dist/kempo/api/globals/disable/PUT.js.map +1 -1
- package/dist/kempo/api/globals/enable/PUT.js +1 -1
- package/dist/kempo/api/globals/enable/PUT.js.map +1 -1
- package/dist/kempo/api/globals/entry/GET.js +1 -1
- package/dist/kempo/api/globals/entry/GET.js.map +1 -1
- package/dist/kempo/api/globals/entry/PUT.js +1 -1
- package/dist/kempo/api/globals/entry/PUT.js.map +1 -1
- package/dist/kempo/api/globals/lock/PUT.js +1 -1
- package/dist/kempo/api/globals/lock/PUT.js.map +1 -1
- package/dist/kempo/api/pages/DELETE.js +1 -1
- package/dist/kempo/api/pages/DELETE.js.map +1 -1
- package/dist/kempo/api/pages/GET.js +1 -1
- package/dist/kempo/api/pages/GET.js.map +1 -1
- package/dist/kempo/api/pages/POST.js +1 -1
- package/dist/kempo/api/pages/POST.js.map +1 -1
- package/dist/kempo/api/pages/directories/GET.js +1 -1
- package/dist/kempo/api/pages/directories/GET.js.map +1 -1
- package/dist/kempo/api/pages/disable/PUT.js +1 -1
- package/dist/kempo/api/pages/disable/PUT.js.map +1 -1
- package/dist/kempo/api/pages/enable/PUT.js +1 -1
- package/dist/kempo/api/pages/enable/PUT.js.map +1 -1
- package/dist/kempo/api/pages/file/GET.js +1 -1
- package/dist/kempo/api/pages/file/GET.js.map +1 -1
- package/dist/kempo/api/pages/file/PATCH.js +1 -1
- package/dist/kempo/api/pages/file/PATCH.js.map +1 -1
- package/dist/kempo/api/pages/file/PUT.js +1 -1
- package/dist/kempo/api/pages/file/PUT.js.map +1 -1
- package/dist/kempo/api/pages/lock/PUT.js +1 -1
- package/dist/kempo/api/pages/lock/PUT.js.map +1 -1
- package/dist/kempo/api/pages/rescan/POST.js +2 -0
- package/dist/kempo/api/pages/rescan/POST.js.map +1 -0
- package/dist/kempo/api/pages/search/GET.js +1 -1
- package/dist/kempo/api/pages/search/GET.js.map +1 -1
- package/dist/kempo/api/pages/templates/GET.js +1 -1
- package/dist/kempo/api/pages/templates/GET.js.map +1 -1
- package/dist/kempo/api/templates/DELETE.js +1 -1
- package/dist/kempo/api/templates/DELETE.js.map +1 -1
- package/dist/kempo/api/templates/GET.js +1 -1
- package/dist/kempo/api/templates/GET.js.map +1 -1
- package/dist/kempo/api/templates/POST.js +1 -1
- package/dist/kempo/api/templates/POST.js.map +1 -1
- package/dist/kempo/api/templates/disable/PUT.js +1 -1
- package/dist/kempo/api/templates/disable/PUT.js.map +1 -1
- package/dist/kempo/api/templates/enable/PUT.js +1 -1
- package/dist/kempo/api/templates/enable/PUT.js.map +1 -1
- package/dist/kempo/api/templates/file/GET.js +1 -1
- package/dist/kempo/api/templates/file/GET.js.map +1 -1
- package/dist/kempo/api/templates/file/PATCH.js +1 -1
- package/dist/kempo/api/templates/file/PATCH.js.map +1 -1
- package/dist/kempo/api/templates/file/PUT.js +1 -1
- package/dist/kempo/api/templates/file/PUT.js.map +1 -1
- package/dist/kempo/api/templates/lock/PUT.js +1 -1
- package/dist/kempo/api/templates/lock/PUT.js.map +1 -1
- package/dist/kempo/icons/browse.svg +1 -0
- package/dist/kempo/icons/cards_stack.svg +1 -0
- package/dist/kempo/icons/content.svg +1 -0
- package/dist/kempo/icons/deployed_code_update.svg +1 -0
- package/dist/kempo/icons/docs.svg +1 -0
- package/dist/kempo/icons/drive_file_move.svg +1 -0
- package/dist/kempo/icons/extension.svg +1 -0
- package/dist/kempo/icons/globe.svg +1 -0
- package/dist/kempo/icons/group.svg +1 -0
- package/dist/kempo/icons/lock.svg +1 -0
- package/dist/kempo/icons/lock_add.svg +1 -0
- package/dist/kempo/icons/manage-accounts.svg +1 -0
- package/dist/kempo/icons/person.svg +1 -0
- package/dist/kempo/icons/person_add.svg +1 -0
- package/dist/kempo/icons/preview.svg +1 -0
- package/dist/kempo/icons/save.svg +1 -0
- package/dist/kempo/icons/timer_off.svg +1 -0
- package/dist/kempo/icons/visibility.svg +1 -0
- package/dist/kempo/sdk.js +1 -1
- package/dist/kempo/sdk.js.map +1 -1
- package/middleware/kempo.js +50 -1
- package/package.json +3 -3
- package/server/utils/fragments/listFragments.js +10 -1
- package/server/utils/hooks/triggerHook.js +7 -12
- package/server/utils/pages/listPages.js +57 -7
- package/app-public/kempo-global.global-disabled.html +0 -0
- package/app-public/new-page.page.html +0 -17
- package/app-public/test.page.html +0 -21
- package/dist/kempo/icons/format_indent_decrease.svg +0 -1
- package/dist/kempo/icons/format_indent_increase.svg +0 -1
- package/dist/kempo/icons/format_quote.svg +0 -1
- package/dist/kempo/icons/redo.svg +0 -1
- package/dist/kempo/icons/subscript.svg +0 -1
- package/dist/kempo/icons/superscript.svg +0 -1
- package/dist/kempo/icons/undo.svg +0 -1
|
@@ -1,7 +1,118 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
locked: true
|
|
3
3
|
-->
|
|
4
|
-
<page title="Users - Admin"
|
|
4
|
+
<page title="Users - Admin">
|
|
5
|
+
<content>
|
|
6
|
+
<script
|
|
7
|
+
type="module"
|
|
8
|
+
src="/kempo-ui/components/Table.js"
|
|
9
|
+
></script>
|
|
10
|
+
<script
|
|
11
|
+
type="module"
|
|
12
|
+
src="/kempo-ui/components/tableControls/FirstPage.js"
|
|
13
|
+
></script>
|
|
14
|
+
<script
|
|
15
|
+
type="module"
|
|
16
|
+
src="/kempo-ui/components/tableControls/PrevPage.js"
|
|
17
|
+
></script>
|
|
18
|
+
<script
|
|
19
|
+
type="module"
|
|
20
|
+
src="/kempo-ui/components/tableControls/NextPage.js"
|
|
21
|
+
></script>
|
|
22
|
+
<script
|
|
23
|
+
type="module"
|
|
24
|
+
src="/kempo-ui/components/tableControls/LastPage.js"
|
|
25
|
+
></script>
|
|
26
|
+
<script
|
|
27
|
+
type="module"
|
|
28
|
+
src="/kempo-ui/components/tableControls/PageSelect.js"
|
|
29
|
+
></script>
|
|
30
|
+
<script
|
|
31
|
+
type="module"
|
|
32
|
+
src="/kempo-ui/components/tableControls/PageSize.js"
|
|
33
|
+
></script>
|
|
34
|
+
<script
|
|
35
|
+
type="module"
|
|
36
|
+
src="/kempo-ui/components/tableControls/Edit.js"
|
|
37
|
+
></script>
|
|
38
|
+
<script
|
|
39
|
+
type="module"
|
|
40
|
+
src="/kempo-ui/components/tableControls/DeleteRecord.js"
|
|
41
|
+
></script>
|
|
42
|
+
<script
|
|
43
|
+
type="module"
|
|
44
|
+
src="/kempo-ui/components/tableControls/DeleteSelected.js"
|
|
45
|
+
></script>
|
|
46
|
+
<script
|
|
47
|
+
type="module"
|
|
48
|
+
src="/kempo-ui/components/Toggle.js"
|
|
49
|
+
></script>
|
|
50
|
+
<script
|
|
51
|
+
type="module"
|
|
52
|
+
src="/admin/components/TableRowLink.js"
|
|
53
|
+
></script>
|
|
54
|
+
<script
|
|
55
|
+
type="module"
|
|
56
|
+
src="/kempo/components/Permission.js"
|
|
57
|
+
></script>
|
|
58
|
+
<div
|
|
59
|
+
class="d-f mb"
|
|
60
|
+
style="align-items: center;"
|
|
61
|
+
>
|
|
62
|
+
<h1 class="flex mb0">Users</h1>
|
|
63
|
+
<k-permission has="system:user:create">
|
|
64
|
+
<button
|
|
65
|
+
id="createUserBtn"
|
|
66
|
+
class="primary"
|
|
67
|
+
>Create User</button>
|
|
68
|
+
</k-permission>
|
|
69
|
+
</div>
|
|
70
|
+
<k-table
|
|
71
|
+
id="usersTable"
|
|
72
|
+
enable-pages
|
|
73
|
+
page-size="10"
|
|
74
|
+
page-size-options="[10,25,50]"
|
|
75
|
+
placeholder="No users found."
|
|
76
|
+
filtered-placeholder="No users match your search."
|
|
77
|
+
>
|
|
78
|
+
<admin-table-row-link
|
|
79
|
+
slot="before"
|
|
80
|
+
url-pattern="/admin/accounts/users/{id}"
|
|
81
|
+
field-name="id"
|
|
82
|
+
></admin-table-row-link>
|
|
83
|
+
<div
|
|
84
|
+
slot="top"
|
|
85
|
+
class="d-f full"
|
|
86
|
+
style="align-items: center;"
|
|
87
|
+
>
|
|
88
|
+
<div>
|
|
89
|
+
<k-permission has="system:user:delete">
|
|
90
|
+
<k-tc-delete-selected></k-tc-delete-selected>
|
|
91
|
+
</k-permission>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
<div
|
|
95
|
+
class="d-f full"
|
|
96
|
+
style="align-items: center;"
|
|
97
|
+
>
|
|
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>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="flex"></div>
|
|
105
|
+
<div>
|
|
106
|
+
<k-tc-page-select></k-tc-page-select>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="flex"></div>
|
|
109
|
+
<div>
|
|
110
|
+
<k-tc-page-size></k-tc-page-size>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</k-table>
|
|
114
|
+
<script type="module">
|
|
115
|
+
import { getUsers, createUser, updateUser, deleteUsers, getAllCurrentUserPermissions } from '/kempo/sdk.js';
|
|
5
116
|
import { html } from '/kempo-ui/lit-all.min.js';
|
|
6
117
|
import Toast from '/kempo-ui/components/Toast.js';
|
|
7
118
|
import Dialog from '/kempo-ui/components/Dialog.js';
|
|
@@ -157,4 +268,7 @@
|
|
|
157
268
|
cancelText: 'Cancel'
|
|
158
269
|
});
|
|
159
270
|
});
|
|
160
|
-
}
|
|
271
|
+
}
|
|
272
|
+
</script>
|
|
273
|
+
</content>
|
|
274
|
+
</page>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"/kempo-ui/components/tableControls/TableControl.js";import{html as o}from"/kempo-ui/lit-all.min.js";import n from"/kempo-ui/components/Dialog.js";import e from"/kempo-ui/components/Toast.js";import"/kempo-ui/components/Icon.js";export default class s extends t{install=async()=>{this.record&&n.confirm(`Install "${this.record.name}"?`,async t=>{if(!t)return;const{installExtension:o}=await import("/kempo/sdk.js"),[n]=await o(this.record.name);n?e.error(n.msg||"Failed to install extension"):(e.success(`"${this.record.name}" installed successfully`),this.table.deleteRecord(this.record))})};render(){return o`
|
|
2
2
|
<button class="no-btn icon-btn" title="Install Extension" @click="${this.install}">
|
|
3
|
-
<k-icon name="
|
|
3
|
+
<k-icon name="extension_add"></k-icon>
|
|
4
4
|
</button>
|
|
5
5
|
`}}customElements.define("admin-install-extension",s);
|
|
6
6
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\admin\components\tableControls\InstallExtension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\admin\\components\\tableControls\\InstallExtension.js","names":["TableControl","html","Dialog","Toast","InstallExtension","install","async","this","record","confirm","name","confirmed","installExtension","import","error","msg","success","table","deleteRecord","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 Dialog from '/kempo-ui/components/Dialog.js';\r\nimport Toast from '/kempo-ui/components/Toast.js';\r\nimport '/kempo-ui/components/Icon.js';\r\n\r\nexport default class InstallExtension extends TableControl {\r\n install = async () => {\r\n if(!this.record) return;\r\n\r\n Dialog.confirm(`Install \"${this.record.name}\"?`, async confirmed => {\r\n if(!confirmed) return;\r\n\r\n const { installExtension } = await import('/kempo/sdk.js');\r\n const [error] = await installExtension(this.record.name);\r\n\r\n if(error){\r\n Toast.error(error.msg || 'Failed to install extension');\r\n return;\r\n }\r\n\r\n Toast.success(`\"${this.record.name}\" installed successfully`);\r\n this.table.deleteRecord(this.record);\r\n });\r\n };\r\n\r\n render(){\r\n return html`\r\n <button class=\"no-btn icon-btn\" title=\"Install Extension\" @click=\"${this.install}\">\r\n <k-icon name=\"
|
|
1
|
+
{"version":3,"file":"src\\admin\\components\\tableControls\\InstallExtension.js","names":["TableControl","html","Dialog","Toast","InstallExtension","install","async","this","record","confirm","name","confirmed","installExtension","import","error","msg","success","table","deleteRecord","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 Dialog from '/kempo-ui/components/Dialog.js';\r\nimport Toast from '/kempo-ui/components/Toast.js';\r\nimport '/kempo-ui/components/Icon.js';\r\n\r\nexport default class InstallExtension extends TableControl {\r\n install = async () => {\r\n if(!this.record) return;\r\n\r\n Dialog.confirm(`Install \"${this.record.name}\"?`, async confirmed => {\r\n if(!confirmed) return;\r\n\r\n const { installExtension } = await import('/kempo/sdk.js');\r\n const [error] = await installExtension(this.record.name);\r\n\r\n if(error){\r\n Toast.error(error.msg || 'Failed to install extension');\r\n return;\r\n }\r\n\r\n Toast.success(`\"${this.record.name}\" installed successfully`);\r\n this.table.deleteRecord(this.record);\r\n });\r\n };\r\n\r\n render(){\r\n return html`\r\n <button class=\"no-btn icon-btn\" title=\"Install Extension\" @click=\"${this.install}\">\r\n <k-icon name=\"extension_add\"></k-icon>\r\n </button>\r\n `;\r\n }\r\n}\r\n\r\ncustomElements.define('admin-install-extension', InstallExtension);\r\n"],"mappings":"OAAOA,MAAkB,oEAChBC,MAAY,kCACdC,MAAY,wCACZC,MAAW,sCACX,8CAEQ,MAAMC,UAAyBJ,EAC5CK,QAAUC,UACJC,KAAKC,QAETN,EAAOO,QAAQ,YAAYF,KAAKC,OAAOE,SAAUJ,UAC/C,IAAIK,EAAW,OAEf,MAAMC,iBAAEA,SAA2BC,OAAO,kBACnCC,SAAeF,EAAiBL,KAAKC,OAAOE,MAEhDI,EACDX,EAAMW,MAAMA,EAAMC,KAAO,gCAI3BZ,EAAMa,QAAQ,IAAIT,KAAKC,OAAOE,gCAC9BH,KAAKU,MAAMC,aAAaX,KAAKC,YAIjC,MAAAW,GACE,OAAOlB,CAAI;0EAC2DM,KAAKF;;;KAI7E,EAGFe,eAAeC,OAAO,0BAA2BjB","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import n from"/kempo-ui/components/tableControls/TableControl.js";import{html as
|
|
1
|
+
import n from"/kempo-ui/components/tableControls/TableControl.js";import{html as e}from"/kempo-ui/lit-all.min.js";import t from"/kempo-ui/components/Dialog.js";import o from"/kempo-ui/components/Toast.js";import"/kempo-ui/components/Icon.js";export default class s extends n{uninstall=async()=>{this.record&&t.confirm(`Uninstall "${this.record.name}"? This may delete extension data.`,async n=>{if(!n)return;const{uninstallExtension:e}=await import("/kempo/sdk.js"),[t]=await e(this.record.name);t?o.error(t.msg||"Failed to uninstall extension"):(o.success(`"${this.record.name}" uninstalled successfully`),this.table.deleteRecord(this.record))})};render(){return e`
|
|
2
2
|
<button class="no-btn icon-btn" title="Uninstall Extension" @click="${this.uninstall}">
|
|
3
|
-
<k-icon name="
|
|
3
|
+
<k-icon name="extension_remove"></k-icon>
|
|
4
4
|
</button>
|
|
5
5
|
`}}customElements.define("admin-uninstall-extension",s);
|
|
6
6
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\admin\components\tableControls\UninstallExtension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\admin\\components\\tableControls\\UninstallExtension.js","names":["TableControl","html","Dialog","Toast","UninstallExtension","uninstall","async","this","record","confirm","name","confirmed","uninstallExtension","import","error","msg","success","table","deleteRecord","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 Dialog from '/kempo-ui/components/Dialog.js';\r\nimport Toast from '/kempo-ui/components/Toast.js';\r\nimport '/kempo-ui/components/Icon.js';\r\n\r\nexport default class UninstallExtension extends TableControl {\r\n uninstall = async () => {\r\n if(!this.record) return;\r\n\r\n Dialog.confirm(`Uninstall \"${this.record.name}\"? This may delete extension data.`, async confirmed => {\r\n if(!confirmed) return;\r\n\r\n const { uninstallExtension } = await import('/kempo/sdk.js');\r\n const [error] = await uninstallExtension(this.record.name);\r\n\r\n if(error){\r\n Toast.error(error.msg || 'Failed to uninstall extension');\r\n return;\r\n }\r\n\r\n Toast.success(`\"${this.record.name}\" uninstalled successfully`);\r\n this.table.deleteRecord(this.record);\r\n });\r\n };\r\n\r\n render(){\r\n return html`\r\n <button class=\"no-btn icon-btn\" title=\"Uninstall Extension\" @click=\"${this.uninstall}\">\r\n <k-icon name=\"
|
|
1
|
+
{"version":3,"file":"src\\admin\\components\\tableControls\\UninstallExtension.js","names":["TableControl","html","Dialog","Toast","UninstallExtension","uninstall","async","this","record","confirm","name","confirmed","uninstallExtension","import","error","msg","success","table","deleteRecord","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 Dialog from '/kempo-ui/components/Dialog.js';\r\nimport Toast from '/kempo-ui/components/Toast.js';\r\nimport '/kempo-ui/components/Icon.js';\r\n\r\nexport default class UninstallExtension extends TableControl {\r\n uninstall = async () => {\r\n if(!this.record) return;\r\n\r\n Dialog.confirm(`Uninstall \"${this.record.name}\"? This may delete extension data.`, async confirmed => {\r\n if(!confirmed) return;\r\n\r\n const { uninstallExtension } = await import('/kempo/sdk.js');\r\n const [error] = await uninstallExtension(this.record.name);\r\n\r\n if(error){\r\n Toast.error(error.msg || 'Failed to uninstall extension');\r\n return;\r\n }\r\n\r\n Toast.success(`\"${this.record.name}\" uninstalled successfully`);\r\n this.table.deleteRecord(this.record);\r\n });\r\n };\r\n\r\n render(){\r\n return html`\r\n <button class=\"no-btn icon-btn\" title=\"Uninstall Extension\" @click=\"${this.uninstall}\">\r\n <k-icon name=\"extension_remove\"></k-icon>\r\n </button>\r\n `;\r\n }\r\n}\r\n\r\ncustomElements.define('admin-uninstall-extension', UninstallExtension);\r\n"],"mappings":"OAAOA,MAAkB,oEAChBC,MAAY,kCACdC,MAAY,wCACZC,MAAW,sCACX,8CAEQ,MAAMC,UAA2BJ,EAC9CK,UAAYC,UACNC,KAAKC,QAETN,EAAOO,QAAQ,cAAcF,KAAKC,OAAOE,yCAA0CJ,UACjF,IAAIK,EAAW,OAEf,MAAMC,mBAAEA,SAA6BC,OAAO,kBACrCC,SAAeF,EAAmBL,KAAKC,OAAOE,MAElDI,EACDX,EAAMW,MAAMA,EAAMC,KAAO,kCAI3BZ,EAAMa,QAAQ,IAAIT,KAAKC,OAAOE,kCAC9BH,KAAKU,MAAMC,aAAaX,KAAKC,YAIjC,MAAAW,GACE,OAAOlB,CAAI;4EAC6DM,KAAKF;;;KAI/E,EAGFe,eAAeC,OAAO,4BAA6BjB","ignoreList":[]}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
locked: true
|
|
3
3
|
-->
|
|
4
|
-
<page title="Edit Fragment - Admin"
|
|
4
|
+
<page title="Edit Fragment - Admin">
|
|
5
|
+
<content>
|
|
6
|
+
<admin-fragment-editor></admin-fragment-editor>
|
|
7
|
+
</content>
|
|
8
|
+
<content location="head">
|
|
9
|
+
<script type="module" src="/admin/components/FragmentEditor.js"></script>
|
|
10
|
+
</content>
|
|
11
|
+
</page>
|
|
@@ -1,7 +1,88 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
locked: true
|
|
3
3
|
-->
|
|
4
|
-
<page title="Fragments - Admin"
|
|
4
|
+
<page title="Fragments - Admin">
|
|
5
|
+
<content>
|
|
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/DeleteRecord.js"></script>
|
|
14
|
+
<script type="module" src="/kempo-ui/components/tableControls/DeleteSelected.js"></script>
|
|
15
|
+
<script type="module" src="/kempo-ui/components/Icon.js"></script>
|
|
16
|
+
<script type="module" src="/admin/components/TableRowLink.js"></script>
|
|
17
|
+
<script type="module" src="/kempo/components/Permission.js"></script>
|
|
18
|
+
|
|
19
|
+
<div class="d-f mb" style="align-items: center; gap: var(--spacer);">
|
|
20
|
+
<h1 class="flex mb0">Fragments</h1>
|
|
21
|
+
<k-permission has="system:fragments:create">
|
|
22
|
+
<button id="createFragmentBtn" class="primary">Create Fragment</button>
|
|
23
|
+
</k-permission>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
<h2>Custom Fragments</h2>
|
|
27
|
+
<k-table id="customTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No custom fragments have been created yet.">
|
|
28
|
+
<admin-table-row-link slot="before" url-pattern="/admin/content/fragments/edit?fragment={editPath}" field-name="editPath"></admin-table-row-link>
|
|
29
|
+
<div slot="top" class="d-f full" style="align-items: center;">
|
|
30
|
+
<div>
|
|
31
|
+
<k-permission has="system:fragments:delete">
|
|
32
|
+
<k-tc-delete-selected></k-tc-delete-selected>
|
|
33
|
+
</k-permission>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="d-f full" style="align-items: center;">
|
|
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>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="flex"></div>
|
|
44
|
+
<div><k-tc-page-select></k-tc-page-select></div>
|
|
45
|
+
<div class="flex"></div>
|
|
46
|
+
<div><k-tc-page-size></k-tc-page-size></div>
|
|
47
|
+
</div>
|
|
48
|
+
</k-table>
|
|
49
|
+
|
|
50
|
+
<h2>Extension Fragments</h2>
|
|
51
|
+
<k-table id="extensionTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No extension fragments installed.">
|
|
52
|
+
<admin-table-row-link slot="before" url-pattern="/admin/content/fragments/edit?fragment={editPath}" field-name="editPath"></admin-table-row-link>
|
|
53
|
+
<div class="d-f full" style="align-items: center;">
|
|
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>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="flex"></div>
|
|
61
|
+
<div><k-tc-page-select></k-tc-page-select></div>
|
|
62
|
+
<div class="flex"></div>
|
|
63
|
+
<div><k-tc-page-size></k-tc-page-size></div>
|
|
64
|
+
</div>
|
|
65
|
+
</k-table>
|
|
66
|
+
|
|
67
|
+
<h2>System Fragments</h2>
|
|
68
|
+
<k-table id="systemTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No system fragments found.">
|
|
69
|
+
<admin-table-row-link slot="before" url-pattern="/admin/content/fragments/edit?fragment={editPath}" field-name="editPath"></admin-table-row-link>
|
|
70
|
+
<div class="d-f full" style="align-items: center;">
|
|
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>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="flex"></div>
|
|
78
|
+
<div><k-tc-page-select></k-tc-page-select></div>
|
|
79
|
+
<div class="flex"></div>
|
|
80
|
+
<div><k-tc-page-size></k-tc-page-size></div>
|
|
81
|
+
</div>
|
|
82
|
+
</k-table>
|
|
83
|
+
|
|
84
|
+
<script type="module">
|
|
85
|
+
import { listFragments, listDirectories, createFragment, deleteFragments, getAllCurrentUserPermissions } from '/kempo/sdk.js';
|
|
5
86
|
import { html } from '/kempo-ui/lit-all.min.js';
|
|
6
87
|
import Dialog from '/kempo-ui/components/Dialog.js';
|
|
7
88
|
import Toast from '/kempo-ui/components/Toast.js';
|
|
@@ -166,4 +247,8 @@
|
|
|
166
247
|
updateSlug();
|
|
167
248
|
});
|
|
168
249
|
$dialog.querySelector('#dlg-name').addEventListener('input', updateSlug);
|
|
169
|
-
})
|
|
250
|
+
});
|
|
251
|
+
</script>
|
|
252
|
+
</content>
|
|
253
|
+
</page>
|
|
254
|
+
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
locked: true
|
|
3
3
|
-->
|
|
4
|
-
<page title="Edit Global Content - Admin"
|
|
4
|
+
<page title="Edit Global Content - Admin">
|
|
5
|
+
<content>
|
|
6
|
+
<admin-global-content-editor></admin-global-content-editor>
|
|
7
|
+
</content>
|
|
8
|
+
<content location="head">
|
|
9
|
+
<script type="module" src="/admin/components/GlobalContentEditor.js"></script>
|
|
10
|
+
</content>
|
|
11
|
+
</page>
|
|
@@ -1,7 +1,89 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
locked: true
|
|
3
3
|
-->
|
|
4
|
-
<page title="Global Content - Admin"
|
|
4
|
+
<page title="Global Content - Admin">
|
|
5
|
+
<content>
|
|
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/DeleteRecord.js"></script>
|
|
14
|
+
<script type="module" src="/kempo-ui/components/tableControls/DeleteSelected.js"></script>
|
|
15
|
+
<script type="module" src="/kempo-ui/components/Icon.js"></script>
|
|
16
|
+
<script type="module" src="/kempo-ui/components/Combobox.js"></script>
|
|
17
|
+
<script type="module" src="/admin/components/TableRowLink.js"></script>
|
|
18
|
+
<script type="module" src="/kempo/components/Permission.js"></script>
|
|
19
|
+
|
|
20
|
+
<div class="d-f mb" style="align-items: center; gap: var(--spacer);">
|
|
21
|
+
<h1 class="flex mb0">Global Content</h1>
|
|
22
|
+
<k-permission has="system:globals:create">
|
|
23
|
+
<button id="createGlobalBtn" class="primary">Create Global Content</button>
|
|
24
|
+
</k-permission>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<h2>Custom</h2>
|
|
28
|
+
<k-table id="customTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No custom global content has been created yet.">
|
|
29
|
+
<admin-table-row-link slot="before" url-pattern="/admin/content/globals/edit?id={id}" field-name="id"></admin-table-row-link>
|
|
30
|
+
<div slot="top" class="d-f full" style="align-items: center;">
|
|
31
|
+
<div>
|
|
32
|
+
<k-permission has="system:globals:delete">
|
|
33
|
+
<k-tc-delete-selected></k-tc-delete-selected>
|
|
34
|
+
</k-permission>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="d-f full" style="align-items: center;">
|
|
38
|
+
<div>
|
|
39
|
+
<k-tc-first-page></k-tc-first-page>
|
|
40
|
+
<k-tc-prev-page></k-tc-prev-page>
|
|
41
|
+
<k-tc-next-page></k-tc-next-page>
|
|
42
|
+
<k-tc-last-page></k-tc-last-page>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="flex"></div>
|
|
45
|
+
<div><k-tc-page-select></k-tc-page-select></div>
|
|
46
|
+
<div class="flex"></div>
|
|
47
|
+
<div><k-tc-page-size></k-tc-page-size></div>
|
|
48
|
+
</div>
|
|
49
|
+
</k-table>
|
|
50
|
+
|
|
51
|
+
<h2>Extensions</h2>
|
|
52
|
+
<k-table id="extensionTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No extension global content installed.">
|
|
53
|
+
<admin-table-row-link slot="before" url-pattern="/admin/content/globals/edit?id={id}" field-name="id"></admin-table-row-link>
|
|
54
|
+
<div class="d-f full" style="align-items: center;">
|
|
55
|
+
<div>
|
|
56
|
+
<k-tc-first-page></k-tc-first-page>
|
|
57
|
+
<k-tc-prev-page></k-tc-prev-page>
|
|
58
|
+
<k-tc-next-page></k-tc-next-page>
|
|
59
|
+
<k-tc-last-page></k-tc-last-page>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="flex"></div>
|
|
62
|
+
<div><k-tc-page-select></k-tc-page-select></div>
|
|
63
|
+
<div class="flex"></div>
|
|
64
|
+
<div><k-tc-page-size></k-tc-page-size></div>
|
|
65
|
+
</div>
|
|
66
|
+
</k-table>
|
|
67
|
+
|
|
68
|
+
<h2>System</h2>
|
|
69
|
+
<k-table id="systemTable" enable-pages page-size="25" page-size-options="[10,25,50,100]" placeholder="No system global content found.">
|
|
70
|
+
<admin-table-row-link slot="before" url-pattern="/admin/content/globals/edit?id={id}" field-name="id"></admin-table-row-link>
|
|
71
|
+
<div class="d-f full" style="align-items: center;">
|
|
72
|
+
<div>
|
|
73
|
+
<k-tc-first-page></k-tc-first-page>
|
|
74
|
+
<k-tc-prev-page></k-tc-prev-page>
|
|
75
|
+
<k-tc-next-page></k-tc-next-page>
|
|
76
|
+
<k-tc-last-page></k-tc-last-page>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="flex"></div>
|
|
79
|
+
<div><k-tc-page-select></k-tc-page-select></div>
|
|
80
|
+
<div class="flex"></div>
|
|
81
|
+
<div><k-tc-page-size></k-tc-page-size></div>
|
|
82
|
+
</div>
|
|
83
|
+
</k-table>
|
|
84
|
+
|
|
85
|
+
<script type="module">
|
|
86
|
+
import { listGlobalContent, listTemplates, listFragments, createGlobalContent, deleteGlobalContent, getAllCurrentUserPermissions } from '/kempo/sdk.js';
|
|
5
87
|
import { html } from '/kempo-ui/lit-all.min.js';
|
|
6
88
|
import Dialog from '/kempo-ui/components/Dialog.js';
|
|
7
89
|
import Toast from '/kempo-ui/components/Toast.js';
|
|
@@ -86,7 +168,7 @@
|
|
|
86
168
|
*/
|
|
87
169
|
|
|
88
170
|
document.getElementById('createGlobalBtn')?.addEventListener('click', async () => {
|
|
89
|
-
const [tplError, tplData] = await listTemplates();
|
|
171
|
+
const [[tplError, tplData], [fragError, fragData]] = await Promise.all([listTemplates(), listFragments()]);
|
|
90
172
|
const locations = new Set();
|
|
91
173
|
if(!tplError && tplData?.templates){
|
|
92
174
|
for(const t of tplData.templates){
|
|
@@ -95,6 +177,11 @@
|
|
|
95
177
|
}
|
|
96
178
|
}
|
|
97
179
|
}
|
|
180
|
+
if(!fragError && fragData?.fragments){
|
|
181
|
+
for(const f of fragData.fragments){
|
|
182
|
+
for(const loc of (f.locations || [])) locations.add(loc);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
98
185
|
const locationOptions = [...locations].sort();
|
|
99
186
|
|
|
100
187
|
const $dialog = Dialog.create(html`
|
|
@@ -105,10 +192,7 @@
|
|
|
105
192
|
</div>
|
|
106
193
|
<div class="mb">
|
|
107
194
|
<label class="d-b mb-sm">Location</label>
|
|
108
|
-
<
|
|
109
|
-
<datalist id="dlg-location-list">
|
|
110
|
-
${locationOptions.map(l => html`<option value="${l}">`)}
|
|
111
|
-
</datalist>
|
|
195
|
+
<div id="dlg-location-wrap"></div>
|
|
112
196
|
<p class="mt-sm muted"><small>The template location to inject this content into.</small></p>
|
|
113
197
|
</div>
|
|
114
198
|
<div>
|
|
@@ -149,4 +233,15 @@
|
|
|
149
233
|
},
|
|
150
234
|
cancelText: 'Cancel'
|
|
151
235
|
});
|
|
152
|
-
|
|
236
|
+
|
|
237
|
+
const $combobox = document.createElement('k-combobox');
|
|
238
|
+
$combobox.id = 'dlg-location';
|
|
239
|
+
$combobox.className = 'full';
|
|
240
|
+
$combobox.setAttribute('placeholder', 'scripts');
|
|
241
|
+
$combobox.setOptions(locationOptions);
|
|
242
|
+
$dialog.querySelector('#dlg-location-wrap').appendChild($combobox);
|
|
243
|
+
});
|
|
244
|
+
</script>
|
|
245
|
+
</content>
|
|
246
|
+
</page>
|
|
247
|
+
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
locked: true
|
|
3
3
|
-->
|
|
4
|
-
<page title="Edit Page - Admin"
|
|
4
|
+
<page title="Edit Page - Admin">
|
|
5
|
+
<content>
|
|
6
|
+
<admin-page-editor></admin-page-editor>
|
|
7
|
+
</content>
|
|
8
|
+
<content location="head">
|
|
9
|
+
<script type="module" src="/admin/components/PageEditor.js"></script>
|
|
10
|
+
</content>
|
|
11
|
+
</page>
|