adminforth 1.0.54 → 1.0.56
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/dist/modules/codeInjector.js +21 -32
- package/dist/spa/index.html +2 -2
- package/dist/spa/package-lock.json +1 -189
- package/dist/spa/package.json +1 -6
- package/dist/spa/spa/src/App.vue +1 -1
- package/dist/spa/spa/src/components/Filters.vue +2 -2
- package/dist/spa/spa/src/components/ResourceForm.vue +3 -3
- package/dist/spa/spa/src/views/CreateView.vue +2 -2
- package/dist/spa/spa/src/views/EditView.vue +2 -2
- package/dist/spa/spa/src/views/HomeView.vue +8 -0
- package/dist/spa/spa/src/views/ListView.vue +4 -4
- package/dist/spa/spa/src/views/ShowView.vue +2 -2
- package/dist/spa/src/App.vue +57 -76
- package/dist/spa/src/components/AcceptModal.vue +1 -1
- package/dist/spa/src/components/CustomDatePicker.vue +3 -3
- package/dist/spa/src/components/CustomDateRangePicker.vue +3 -3
- package/dist/spa/src/components/Dropdown.vue +4 -13
- package/dist/spa/src/components/Filters.vue +22 -55
- package/dist/spa/src/components/MenuLink.vue +2 -2
- package/dist/spa/src/components/ResourceForm.vue +99 -157
- package/dist/spa/src/components/ValueRenderer.vue +1 -11
- package/dist/spa/src/router/index.ts +2 -3
- package/dist/spa/src/stores/core.ts +33 -22
- package/dist/spa/src/utils.ts +3 -5
- package/dist/spa/src/views/CreateView.vue +7 -15
- package/dist/spa/src/views/EditView.vue +8 -36
- package/dist/spa/src/views/HomeView.vue +8 -0
- package/dist/spa/src/views/ListView.vue +23 -35
- package/dist/spa/src/views/LoginView.vue +1 -1
- package/dist/spa/src/views/ResourceParent.vue +1 -1
- package/dist/spa/src/views/ShowView.vue +9 -20
- package/dist/spa/tailwind.config.js +2 -5
- package/modules/codeInjector.ts +25 -36
- package/package.json +1 -1
- package/spa/src/App.vue +1 -1
- package/spa/src/components/Filters.vue +2 -2
- package/spa/src/components/ResourceForm.vue +3 -3
- package/spa/src/views/CreateView.vue +2 -2
- package/spa/src/views/EditView.vue +2 -2
- package/spa/src/views/ListView.vue +4 -4
- package/spa/src/views/ShowView.vue +2 -2
- package/dist/spa/src/components/CustomRangePicker.vue +0 -148
|
@@ -157,23 +157,23 @@ class CodeInjector {
|
|
|
157
157
|
}).join('\n');
|
|
158
158
|
// for each custom component generate import statement
|
|
159
159
|
const customComponentsDir = (_c = this.adminforth.config.customization) === null || _c === void 0 ? void 0 : _c.customComponentsDir;
|
|
160
|
+
const customResourceComponents = [];
|
|
161
|
+
this.adminforth.config.resources.forEach((resource) => {
|
|
162
|
+
resource.columns.forEach((field) => {
|
|
163
|
+
if (field.component) {
|
|
164
|
+
Object.values(field.component).forEach((filePath) => {
|
|
165
|
+
if (!customResourceComponents.includes(filePath)) {
|
|
166
|
+
customResourceComponents.push(filePath);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
});
|
|
160
172
|
let customComponentsImports = '';
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
fs.stat(`${customComponentsDir}/${filePath}`, (err, data) => {
|
|
166
|
-
if (err) {
|
|
167
|
-
console.log(err);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
if (data.isFile()) {
|
|
171
|
-
const componentName = getComponentNameFromPath(filePath);
|
|
172
|
-
customComponentsImports += `import ${componentName} from '@/custom/${filePath}';\n`;
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}
|
|
173
|
+
customResourceComponents.forEach((filePath) => {
|
|
174
|
+
const componentName = getComponentNameFromPath(filePath);
|
|
175
|
+
customComponentsImports += `import ${componentName} from '${filePath}';\n`;
|
|
176
|
+
});
|
|
177
177
|
// Generate Vue.component statements for each icon
|
|
178
178
|
const iconComponents = uniqueIcons.map((icon) => {
|
|
179
179
|
const [collection, iconName] = icon.split(':');
|
|
@@ -184,21 +184,10 @@ class CodeInjector {
|
|
|
184
184
|
}).join('\n');
|
|
185
185
|
// Generate Vue.component statements for each custom component
|
|
186
186
|
let customComponentsComponents = '';
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
if (err) {
|
|
192
|
-
console.log('Custom components importing error: ', err);
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
if (data.isFile()) {
|
|
196
|
-
const componentName = getComponentNameFromPath(filePath);
|
|
197
|
-
customComponentsComponents += `app.component('${componentName}', ${componentName});\n`;
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
}
|
|
187
|
+
customResourceComponents.forEach((filePath) => {
|
|
188
|
+
const componentName = getComponentNameFromPath(filePath);
|
|
189
|
+
customComponentsComponents += `app.component('${componentName}', ${componentName});\n`;
|
|
190
|
+
});
|
|
202
191
|
let imports = iconImports + '\n';
|
|
203
192
|
imports += customComponentsImports + '\n';
|
|
204
193
|
if ((_d = this.adminforth.config.customization) === null || _d === void 0 ? void 0 : _d.vueUsesFile) {
|
|
@@ -222,7 +211,7 @@ class CodeInjector {
|
|
|
222
211
|
tailwindConfigContent = tailwindConfigContent.replace('/* IMPORTANT:ADMINFORTH TAILWIND STYLES */', stylesText);
|
|
223
212
|
yield fs.promises.writeFile(tailwindConfigPath, tailwindConfigContent);
|
|
224
213
|
}
|
|
225
|
-
/* generate custom
|
|
214
|
+
/* generate custom routes */
|
|
226
215
|
const homepageMenuItem = this.adminforth.config.menu.find((mi) => mi.homepage);
|
|
227
216
|
let childrenHomePageMenuItem = this.adminforth.config.menu.find((mi) => { var _a; return mi.children && ((_a = mi.children) === null || _a === void 0 ? void 0 : _a.find((mi) => mi.homepage)); });
|
|
228
217
|
let childrenHomepage = (_h = childrenHomePageMenuItem === null || childrenHomePageMenuItem === void 0 ? void 0 : childrenHomePageMenuItem.children) === null || _h === void 0 ? void 0 : _h.find((mi) => mi.homepage);
|
package/dist/spa/index.html
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
</script> -->
|
|
17
17
|
|
|
18
18
|
</head>
|
|
19
|
-
<body
|
|
20
|
-
<div id="app" class="min-h-screen
|
|
19
|
+
<body>
|
|
20
|
+
<div id="app" class="min-h-screen dark:bg-gray-800"></div>
|
|
21
21
|
<script type="module" src="/src/main.ts"></script>
|
|
22
22
|
</body>
|
|
23
23
|
</html>
|
|
@@ -9,17 +9,12 @@
|
|
|
9
9
|
"version": "0.0.0",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
|
|
12
|
-
"@unhead/vue": "^1.9.12",
|
|
13
|
-
"@vueuse/core": "^10.10.0",
|
|
14
12
|
"dayjs": "^1.11.11",
|
|
15
|
-
"debounce": "^2.1.0",
|
|
16
13
|
"flowbite": "^2.3.0",
|
|
17
14
|
"flowbite-datepicker": "^1.2.6",
|
|
18
15
|
"pinia": "^2.1.7",
|
|
19
|
-
"unhead": "^1.9.12",
|
|
20
16
|
"vue": "^3.4.21",
|
|
21
|
-
"vue-router": "^4.3.0"
|
|
22
|
-
"vue-slider-component": "^4.1.0-beta.7"
|
|
17
|
+
"vue-router": "^4.3.0"
|
|
23
18
|
},
|
|
24
19
|
"devDependencies": {
|
|
25
20
|
"@rushstack/eslint-patch": "^1.8.0",
|
|
@@ -955,11 +950,6 @@
|
|
|
955
950
|
"undici-types": "~5.26.4"
|
|
956
951
|
}
|
|
957
952
|
},
|
|
958
|
-
"node_modules/@types/web-bluetooth": {
|
|
959
|
-
"version": "0.0.20",
|
|
960
|
-
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
|
|
961
|
-
"integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
|
|
962
|
-
},
|
|
963
953
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
|
964
954
|
"version": "7.9.0",
|
|
965
955
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.9.0.tgz",
|
|
@@ -1151,58 +1141,6 @@
|
|
|
1151
1141
|
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
|
|
1152
1142
|
"dev": true
|
|
1153
1143
|
},
|
|
1154
|
-
"node_modules/@unhead/dom": {
|
|
1155
|
-
"version": "1.9.12",
|
|
1156
|
-
"resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.9.12.tgz",
|
|
1157
|
-
"integrity": "sha512-3MY1TbZmEjGNZapi3wvJW0vWNS2CLKHt7/m57sScDHCNvNBe1mTwrIOhtZFDgAndhml2EVQ68RMa0Vhum/M+cw==",
|
|
1158
|
-
"dependencies": {
|
|
1159
|
-
"@unhead/schema": "1.9.12",
|
|
1160
|
-
"@unhead/shared": "1.9.12"
|
|
1161
|
-
},
|
|
1162
|
-
"funding": {
|
|
1163
|
-
"url": "https://github.com/sponsors/harlan-zw"
|
|
1164
|
-
}
|
|
1165
|
-
},
|
|
1166
|
-
"node_modules/@unhead/schema": {
|
|
1167
|
-
"version": "1.9.12",
|
|
1168
|
-
"resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.9.12.tgz",
|
|
1169
|
-
"integrity": "sha512-ue2FKyIZKsuZDpWJBMlBGwMm4s+vFeU3NUWsNt8Z+2JkOUIqO/VG43LxNgY1M595bOS71Gdxk+G9VtzfKJ5uEA==",
|
|
1170
|
-
"dependencies": {
|
|
1171
|
-
"hookable": "^5.5.3",
|
|
1172
|
-
"zhead": "^2.2.4"
|
|
1173
|
-
},
|
|
1174
|
-
"funding": {
|
|
1175
|
-
"url": "https://github.com/sponsors/harlan-zw"
|
|
1176
|
-
}
|
|
1177
|
-
},
|
|
1178
|
-
"node_modules/@unhead/shared": {
|
|
1179
|
-
"version": "1.9.12",
|
|
1180
|
-
"resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.9.12.tgz",
|
|
1181
|
-
"integrity": "sha512-72wlLXG3FP3sXUrwd42Uv8jYpHSg4R6IFJcsl+QisRjKM89JnjOFSw1DqWO4IOftW5xOxS4J5v7SQyJ4NJo7Bw==",
|
|
1182
|
-
"dependencies": {
|
|
1183
|
-
"@unhead/schema": "1.9.12"
|
|
1184
|
-
},
|
|
1185
|
-
"funding": {
|
|
1186
|
-
"url": "https://github.com/sponsors/harlan-zw"
|
|
1187
|
-
}
|
|
1188
|
-
},
|
|
1189
|
-
"node_modules/@unhead/vue": {
|
|
1190
|
-
"version": "1.9.12",
|
|
1191
|
-
"resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.9.12.tgz",
|
|
1192
|
-
"integrity": "sha512-keE4EuswgzCqVU7zmZprU+ToMvNWc3s8NoLreH5AtJd2u0FgBygD8sxRVyEnZw1KwFYOJ2C7yD2TChSKZioPGQ==",
|
|
1193
|
-
"dependencies": {
|
|
1194
|
-
"@unhead/schema": "1.9.12",
|
|
1195
|
-
"@unhead/shared": "1.9.12",
|
|
1196
|
-
"hookable": "^5.5.3",
|
|
1197
|
-
"unhead": "1.9.12"
|
|
1198
|
-
},
|
|
1199
|
-
"funding": {
|
|
1200
|
-
"url": "https://github.com/sponsors/harlan-zw"
|
|
1201
|
-
},
|
|
1202
|
-
"peerDependencies": {
|
|
1203
|
-
"vue": ">=2.7 || >=3"
|
|
1204
|
-
}
|
|
1205
|
-
},
|
|
1206
1144
|
"node_modules/@vitejs/plugin-vue": {
|
|
1207
1145
|
"version": "5.0.4",
|
|
1208
1146
|
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz",
|
|
@@ -1392,89 +1330,6 @@
|
|
|
1392
1330
|
"integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==",
|
|
1393
1331
|
"dev": true
|
|
1394
1332
|
},
|
|
1395
|
-
"node_modules/@vueuse/core": {
|
|
1396
|
-
"version": "10.10.0",
|
|
1397
|
-
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.10.0.tgz",
|
|
1398
|
-
"integrity": "sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==",
|
|
1399
|
-
"dependencies": {
|
|
1400
|
-
"@types/web-bluetooth": "^0.0.20",
|
|
1401
|
-
"@vueuse/metadata": "10.10.0",
|
|
1402
|
-
"@vueuse/shared": "10.10.0",
|
|
1403
|
-
"vue-demi": ">=0.14.7"
|
|
1404
|
-
},
|
|
1405
|
-
"funding": {
|
|
1406
|
-
"url": "https://github.com/sponsors/antfu"
|
|
1407
|
-
}
|
|
1408
|
-
},
|
|
1409
|
-
"node_modules/@vueuse/core/node_modules/vue-demi": {
|
|
1410
|
-
"version": "0.14.8",
|
|
1411
|
-
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz",
|
|
1412
|
-
"integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
|
|
1413
|
-
"hasInstallScript": true,
|
|
1414
|
-
"bin": {
|
|
1415
|
-
"vue-demi-fix": "bin/vue-demi-fix.js",
|
|
1416
|
-
"vue-demi-switch": "bin/vue-demi-switch.js"
|
|
1417
|
-
},
|
|
1418
|
-
"engines": {
|
|
1419
|
-
"node": ">=12"
|
|
1420
|
-
},
|
|
1421
|
-
"funding": {
|
|
1422
|
-
"url": "https://github.com/sponsors/antfu"
|
|
1423
|
-
},
|
|
1424
|
-
"peerDependencies": {
|
|
1425
|
-
"@vue/composition-api": "^1.0.0-rc.1",
|
|
1426
|
-
"vue": "^3.0.0-0 || ^2.6.0"
|
|
1427
|
-
},
|
|
1428
|
-
"peerDependenciesMeta": {
|
|
1429
|
-
"@vue/composition-api": {
|
|
1430
|
-
"optional": true
|
|
1431
|
-
}
|
|
1432
|
-
}
|
|
1433
|
-
},
|
|
1434
|
-
"node_modules/@vueuse/metadata": {
|
|
1435
|
-
"version": "10.10.0",
|
|
1436
|
-
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.10.0.tgz",
|
|
1437
|
-
"integrity": "sha512-UNAo2sTCAW5ge6OErPEHb5z7NEAg3XcO9Cj7OK45aZXfLLH1QkexDcZD77HBi5zvEiLOm1An+p/4b5K3Worpug==",
|
|
1438
|
-
"funding": {
|
|
1439
|
-
"url": "https://github.com/sponsors/antfu"
|
|
1440
|
-
}
|
|
1441
|
-
},
|
|
1442
|
-
"node_modules/@vueuse/shared": {
|
|
1443
|
-
"version": "10.10.0",
|
|
1444
|
-
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.10.0.tgz",
|
|
1445
|
-
"integrity": "sha512-2aW33Ac0Uk0U+9yo3Ypg9s5KcR42cuehRWl7vnUHadQyFvCktseyxxEPBi1Eiq4D2yBGACOnqLZpx1eMc7g5Og==",
|
|
1446
|
-
"dependencies": {
|
|
1447
|
-
"vue-demi": ">=0.14.7"
|
|
1448
|
-
},
|
|
1449
|
-
"funding": {
|
|
1450
|
-
"url": "https://github.com/sponsors/antfu"
|
|
1451
|
-
}
|
|
1452
|
-
},
|
|
1453
|
-
"node_modules/@vueuse/shared/node_modules/vue-demi": {
|
|
1454
|
-
"version": "0.14.8",
|
|
1455
|
-
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz",
|
|
1456
|
-
"integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
|
|
1457
|
-
"hasInstallScript": true,
|
|
1458
|
-
"bin": {
|
|
1459
|
-
"vue-demi-fix": "bin/vue-demi-fix.js",
|
|
1460
|
-
"vue-demi-switch": "bin/vue-demi-switch.js"
|
|
1461
|
-
},
|
|
1462
|
-
"engines": {
|
|
1463
|
-
"node": ">=12"
|
|
1464
|
-
},
|
|
1465
|
-
"funding": {
|
|
1466
|
-
"url": "https://github.com/sponsors/antfu"
|
|
1467
|
-
},
|
|
1468
|
-
"peerDependencies": {
|
|
1469
|
-
"@vue/composition-api": "^1.0.0-rc.1",
|
|
1470
|
-
"vue": "^3.0.0-0 || ^2.6.0"
|
|
1471
|
-
},
|
|
1472
|
-
"peerDependenciesMeta": {
|
|
1473
|
-
"@vue/composition-api": {
|
|
1474
|
-
"optional": true
|
|
1475
|
-
}
|
|
1476
|
-
}
|
|
1477
|
-
},
|
|
1478
1333
|
"node_modules/acorn": {
|
|
1479
1334
|
"version": "8.11.3",
|
|
1480
1335
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
|
@@ -1861,17 +1716,6 @@
|
|
|
1861
1716
|
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
|
|
1862
1717
|
"dev": true
|
|
1863
1718
|
},
|
|
1864
|
-
"node_modules/debounce": {
|
|
1865
|
-
"version": "2.1.0",
|
|
1866
|
-
"resolved": "https://registry.npmjs.org/debounce/-/debounce-2.1.0.tgz",
|
|
1867
|
-
"integrity": "sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==",
|
|
1868
|
-
"engines": {
|
|
1869
|
-
"node": ">=18"
|
|
1870
|
-
},
|
|
1871
|
-
"funding": {
|
|
1872
|
-
"url": "https://github.com/sponsors/sindresorhus"
|
|
1873
|
-
}
|
|
1874
|
-
},
|
|
1875
1719
|
"node_modules/debug": {
|
|
1876
1720
|
"version": "4.3.4",
|
|
1877
1721
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
|
@@ -2525,11 +2369,6 @@
|
|
|
2525
2369
|
"he": "bin/he"
|
|
2526
2370
|
}
|
|
2527
2371
|
},
|
|
2528
|
-
"node_modules/hookable": {
|
|
2529
|
-
"version": "5.5.3",
|
|
2530
|
-
"resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
|
|
2531
|
-
"integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
|
|
2532
|
-
},
|
|
2533
2372
|
"node_modules/ignore": {
|
|
2534
2373
|
"version": "5.3.1",
|
|
2535
2374
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
|
|
@@ -3973,20 +3812,6 @@
|
|
|
3973
3812
|
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
|
|
3974
3813
|
"dev": true
|
|
3975
3814
|
},
|
|
3976
|
-
"node_modules/unhead": {
|
|
3977
|
-
"version": "1.9.12",
|
|
3978
|
-
"resolved": "https://registry.npmjs.org/unhead/-/unhead-1.9.12.tgz",
|
|
3979
|
-
"integrity": "sha512-s6VxcTV45hy8c/IioKQOonFnAO+kBOSpgDfqEHhnU0YVSQYaRPEp9pzW1qSPf0lx+bg9RKeOQyNNbSGGUP26aQ==",
|
|
3980
|
-
"dependencies": {
|
|
3981
|
-
"@unhead/dom": "1.9.12",
|
|
3982
|
-
"@unhead/schema": "1.9.12",
|
|
3983
|
-
"@unhead/shared": "1.9.12",
|
|
3984
|
-
"hookable": "^5.5.3"
|
|
3985
|
-
},
|
|
3986
|
-
"funding": {
|
|
3987
|
-
"url": "https://github.com/sponsors/harlan-zw"
|
|
3988
|
-
}
|
|
3989
|
-
},
|
|
3990
3815
|
"node_modules/update-browserslist-db": {
|
|
3991
3816
|
"version": "1.0.16",
|
|
3992
3817
|
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
|
|
@@ -4145,11 +3970,6 @@
|
|
|
4145
3970
|
"vue": "^3.2.0"
|
|
4146
3971
|
}
|
|
4147
3972
|
},
|
|
4148
|
-
"node_modules/vue-slider-component": {
|
|
4149
|
-
"version": "4.1.0-beta.7",
|
|
4150
|
-
"resolved": "https://registry.npmjs.org/vue-slider-component/-/vue-slider-component-4.1.0-beta.7.tgz",
|
|
4151
|
-
"integrity": "sha512-Qb7K920ZG7PoQswoF6Ias+i3W2rd3k4fpk04JUl82kEUcN86Yg6et7bVSKWt/7VpQe8a5IT3BqCKSCOZ7AJgCA=="
|
|
4152
|
-
},
|
|
4153
3973
|
"node_modules/vue-template-compiler": {
|
|
4154
3974
|
"version": "2.7.16",
|
|
4155
3975
|
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
|
|
@@ -4333,14 +4153,6 @@
|
|
|
4333
4153
|
"funding": {
|
|
4334
4154
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
4335
4155
|
}
|
|
4336
|
-
},
|
|
4337
|
-
"node_modules/zhead": {
|
|
4338
|
-
"version": "2.2.4",
|
|
4339
|
-
"resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz",
|
|
4340
|
-
"integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==",
|
|
4341
|
-
"funding": {
|
|
4342
|
-
"url": "https://github.com/sponsors/harlan-zw"
|
|
4343
|
-
}
|
|
4344
4156
|
}
|
|
4345
4157
|
}
|
|
4346
4158
|
}
|
package/dist/spa/package.json
CHANGED
|
@@ -13,17 +13,12 @@
|
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
|
|
16
|
-
"@unhead/vue": "^1.9.12",
|
|
17
|
-
"@vueuse/core": "^10.10.0",
|
|
18
16
|
"dayjs": "^1.11.11",
|
|
19
|
-
"debounce": "^2.1.0",
|
|
20
17
|
"flowbite": "^2.3.0",
|
|
21
18
|
"flowbite-datepicker": "^1.2.6",
|
|
22
19
|
"pinia": "^2.1.7",
|
|
23
|
-
"unhead": "^1.9.12",
|
|
24
20
|
"vue": "^3.4.21",
|
|
25
|
-
"vue-router": "^4.3.0"
|
|
26
|
-
"vue-slider-component": "^4.1.0-beta.7"
|
|
21
|
+
"vue-router": "^4.3.0"
|
|
27
22
|
},
|
|
28
23
|
"devDependencies": {
|
|
29
24
|
"@rushstack/eslint-patch": "^1.8.0",
|
package/dist/spa/spa/src/App.vue
CHANGED
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
<aside
|
|
58
58
|
v-if="loggedIn"
|
|
59
59
|
|
|
60
|
-
id="logo-sidebar" class="fixed border-none top-0 left-0 z-
|
|
60
|
+
id="logo-sidebar" class="fixed border-none top-0 left-0 z-40 w-64 h-screen transition-transform -translate-x-full bg-nav-menu-bg border-r border- sm:translate-x-0 dark:bg-gray-800 dark:border-gray-700" aria-label="Sidebar">
|
|
61
61
|
<div class="h-full px-3 pb-4 overflow-y-auto bg-nav-menu-bg dark:bg-gray-800">
|
|
62
62
|
<div class="flex ms-2 md:me-24 m-4 ">
|
|
63
63
|
<img src="https://flowbite.com/docs/images/logo.svg" class="h-8 me-3" alt="FlowBite Logo" />
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<!-- drawer component -->
|
|
3
3
|
<div id="drawer-navigation"
|
|
4
4
|
|
|
5
|
-
class="fixed top-14 right-0 z-
|
|
5
|
+
class="fixed top-14 right-0 z-50 p-4 overflow-y-auto transition-transform translate-x-full bg-white w-80 dark:bg-gray-800 shadow-xl dark:shadow-black"
|
|
6
6
|
|
|
7
7
|
:class="show ? 'top-0 transform-none' : ''"
|
|
8
8
|
tabindex="-1" aria-labelledby="drawer-navigation-label"
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
</div>
|
|
93
93
|
</div>
|
|
94
94
|
|
|
95
|
-
<div v-if="show" drawer-backdrop="" class="bg-gray-900/50 dark:bg-gray-900/80 fixed inset-0 z-
|
|
95
|
+
<div v-if="show" drawer-backdrop="" class="bg-gray-900/50 dark:bg-gray-900/80 fixed inset-0 z-30"
|
|
96
96
|
@click="$emit('hide')">
|
|
97
97
|
</div>
|
|
98
98
|
</template>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div>
|
|
2
|
+
<div class="rounded-default">
|
|
3
3
|
|
|
4
4
|
<div
|
|
5
|
-
class="relative shadow-resourse-form-shadow sm:rounded-lg dark:shadow-2xl dark:shadow-black"
|
|
5
|
+
class="relative shadow-resourse-form-shadow sm:rounded-lg dark:shadow-2xl dark:shadow-black rounded-default"
|
|
6
6
|
>
|
|
7
7
|
<form autocomplete="off" @submit.prevent>
|
|
8
|
-
<table class="w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400">
|
|
8
|
+
<table class="w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400 ">
|
|
9
9
|
<thead class="text-xs text-gray-700 uppercase bg-form-view-heading dark:bg-gray-700 dark:text-gray-400">
|
|
10
10
|
<tr>
|
|
11
11
|
<th scope="col" class="px-6 py-3">
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
<BreadcrumbsWithButtons>
|
|
5
5
|
<!-- save and cancle -->
|
|
6
6
|
<button @click="$router.back()"
|
|
7
|
-
class="flex items-center py-1 px-3 me-2 mb-2 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
7
|
+
class="flex items-center py-1 px-3 me-2 mb-2 text-sm font-medium rounded-default text-gray-900 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
8
8
|
>
|
|
9
9
|
Cancel
|
|
10
10
|
</button>
|
|
11
11
|
|
|
12
12
|
<button @click="saveRecord"
|
|
13
|
-
class="flex items-center py-1 px-3 mb-2 text-sm font-medium text-red-600 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-red-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-red-500 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700 disabled:opacity-50"
|
|
13
|
+
class="flex items-center py-1 px-3 mb-2 text-sm font-medium rounded-default text-red-600 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-red-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-red-500 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700 disabled:opacity-50"
|
|
14
14
|
:disabled="saving || (validating && !isValid)"
|
|
15
15
|
>
|
|
16
16
|
<svg v-if="saving" x
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
<BreadcrumbsWithButtons>
|
|
5
5
|
<!-- save and cancle -->
|
|
6
6
|
<button @click="$router.back()"
|
|
7
|
-
class="flex items-center py-1 px-3 me-2 mb-2 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
7
|
+
class="flex items-center py-1 px-3 me-2 mb-2 text-sm font-medium text-gray-900 rounded-default focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
8
8
|
>
|
|
9
9
|
Cancel
|
|
10
10
|
</button>
|
|
11
11
|
|
|
12
12
|
<button @click="saveRecord"
|
|
13
|
-
class="flex items-center py-1 px-3 mb-2 text-sm font-medium text-red-600 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-red-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-red-500 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
13
|
+
class="flex items-center py-1 px-3 mb-2 text-sm font-medium rounded-default text-red-600 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-red-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-red-500 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
14
14
|
:disabled="saving || (validating && !isValid)"
|
|
15
15
|
>
|
|
16
16
|
<IconFloppyDiskSolid class="w-4 h-4" />
|
|
@@ -44,14 +44,14 @@
|
|
|
44
44
|
|
|
45
45
|
<RouterLink v-if="allowedActions.create"
|
|
46
46
|
:to="{ name: 'resource-create', params: { resourceId: $route.params.resourceId } }"
|
|
47
|
-
class="flex items-center py-1 px-3 mb-2 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
47
|
+
class="flex items-center py-1 px-3 mb-2 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700 rounded-default"
|
|
48
48
|
>
|
|
49
49
|
<IconPlusOutline class="w-4 h-4 me-2"/>
|
|
50
50
|
Create
|
|
51
51
|
</RouterLink>
|
|
52
52
|
|
|
53
53
|
<button
|
|
54
|
-
class="flex gap-1 items-center py-1 px-3 me-2 mb-2 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
54
|
+
class="flex gap-1 items-center py-1 px-3 me-2 mb-2 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700 rounded-default"
|
|
55
55
|
@click="()=>{filtersShow = !filtersShow}"
|
|
56
56
|
>
|
|
57
57
|
<IconFilterOutline class="w-4 h-4 me-2"/>
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
</BreadcrumbsWithButtons>
|
|
66
66
|
|
|
67
67
|
<!-- table -->
|
|
68
|
-
<div class="relative overflow-x-auto shadow-list-table-shadow dark:shadow-black
|
|
68
|
+
<div class="relative overflow-x-auto shadow-list-table-shadow dark:shadow-black rounded-default">
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
<!-- skelet loader -->
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
<span class="sr-only">Loading...</span>
|
|
90
90
|
</div>
|
|
91
91
|
|
|
92
|
-
<table v-else class="w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400">
|
|
92
|
+
<table v-else class="w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400 rounded-default">
|
|
93
93
|
<thead class="text-xs text-view-table-heading-text bg-list-view-table-heading dark:bg-gray-700 dark:text-gray-400">
|
|
94
94
|
<tr>
|
|
95
95
|
<th scope="col" class="p-4">
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</RouterLink>
|
|
10
10
|
|
|
11
11
|
<button @click="deleteRecord"
|
|
12
|
-
class="flex items-center py-1 px-3 mb-2 text-sm font-medium text-red-600 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-red-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-red-500 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
12
|
+
class="flex items-center py-1 px-3 mb-2 text-sm font-medium rounded-default text-red-600 focus:outline-none bg-white rounded border border-gray-300 hover:bg-gray-100 hover:text-red-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-red-500 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
13
13
|
>
|
|
14
14
|
<IconTrashBinSolid class="w-4 h-4" />
|
|
15
15
|
Delete
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
v-else
|
|
30
30
|
class="relative overflow-x-auto shadow-resourse-form-shadow "
|
|
31
31
|
>
|
|
32
|
-
<table class="w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400">
|
|
32
|
+
<table class="w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400 rounded-default">
|
|
33
33
|
<thead class="text-xs text-gray-700 uppercase bg-form-view-heading dark:bg-gray-700 dark:text-gray-400">
|
|
34
34
|
<tr>
|
|
35
35
|
<th scope="col" class="px-6 py-3">
|