adminforth 2.4.0-next.19 → 2.4.0-next.190

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 (184) hide show
  1. package/commands/callTsProxy.js +14 -4
  2. package/commands/cli.js +11 -4
  3. package/commands/createApp/templates/custom/tsconfig.json.hbs +2 -3
  4. package/commands/createApp/templates/index.ts.hbs +10 -2
  5. package/commands/createApp/templates/package.json.hbs +1 -1
  6. package/commands/createApp/utils.js +27 -2
  7. package/commands/createCustomComponent/configLoader.js +3 -0
  8. package/commands/createCustomComponent/main.js +1 -0
  9. package/commands/createCustomComponent/templates/customCrud/beforeActionButtons.vue.hbs +38 -0
  10. package/commands/createPlugin/templates/custom/tsconfig.json.hbs +2 -5
  11. package/dist/dataConnectors/baseConnector.d.ts.map +1 -1
  12. package/dist/dataConnectors/baseConnector.js +46 -15
  13. package/dist/dataConnectors/baseConnector.js.map +1 -1
  14. package/dist/dataConnectors/clickhouse.d.ts.map +1 -1
  15. package/dist/dataConnectors/clickhouse.js +15 -0
  16. package/dist/dataConnectors/clickhouse.js.map +1 -1
  17. package/dist/dataConnectors/mongo.d.ts.map +1 -1
  18. package/dist/dataConnectors/mongo.js +44 -15
  19. package/dist/dataConnectors/mongo.js.map +1 -1
  20. package/dist/dataConnectors/mysql.d.ts.map +1 -1
  21. package/dist/dataConnectors/mysql.js +11 -0
  22. package/dist/dataConnectors/mysql.js.map +1 -1
  23. package/dist/dataConnectors/postgres.d.ts.map +1 -1
  24. package/dist/dataConnectors/postgres.js +11 -0
  25. package/dist/dataConnectors/postgres.js.map +1 -1
  26. package/dist/dataConnectors/sqlite.d.ts.map +1 -1
  27. package/dist/dataConnectors/sqlite.js +11 -0
  28. package/dist/dataConnectors/sqlite.js.map +1 -1
  29. package/dist/index.d.ts +2 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +20 -9
  32. package/dist/index.js.map +1 -1
  33. package/dist/modules/codeInjector.d.ts +1 -0
  34. package/dist/modules/codeInjector.d.ts.map +1 -1
  35. package/dist/modules/codeInjector.js +42 -5
  36. package/dist/modules/codeInjector.js.map +1 -1
  37. package/dist/modules/configValidator.d.ts.map +1 -1
  38. package/dist/modules/configValidator.js +74 -7
  39. package/dist/modules/configValidator.js.map +1 -1
  40. package/dist/modules/restApi.d.ts.map +1 -1
  41. package/dist/modules/restApi.js +149 -25
  42. package/dist/modules/restApi.js.map +1 -1
  43. package/dist/modules/styles.d.ts +485 -13
  44. package/dist/modules/styles.d.ts.map +1 -1
  45. package/dist/modules/styles.js +541 -31
  46. package/dist/modules/styles.js.map +1 -1
  47. package/dist/modules/utils.d.ts +2 -0
  48. package/dist/modules/utils.d.ts.map +1 -1
  49. package/dist/modules/utils.js +16 -0
  50. package/dist/modules/utils.js.map +1 -1
  51. package/dist/spa/index.html +1 -1
  52. package/dist/spa/package-lock.json +5 -4
  53. package/dist/spa/package.json +1 -1
  54. package/dist/spa/src/App.vue +54 -169
  55. package/dist/spa/src/adminforth.ts +42 -18
  56. package/dist/spa/src/afcl/BarChart.vue +2 -2
  57. package/dist/spa/src/afcl/Button.vue +6 -6
  58. package/dist/spa/src/afcl/ButtonGroup.vue +91 -0
  59. package/dist/spa/src/afcl/Card.vue +25 -0
  60. package/dist/spa/src/afcl/Checkbox.vue +21 -13
  61. package/dist/spa/src/afcl/CountryFlag.vue +4 -1
  62. package/dist/spa/src/{components/CustomDatePicker.vue → afcl/DatePicker.vue} +95 -9
  63. package/dist/spa/src/afcl/Dialog.vue +44 -27
  64. package/dist/spa/src/afcl/Dropzone.vue +12 -12
  65. package/dist/spa/src/afcl/Input.vue +6 -6
  66. package/dist/spa/src/afcl/JsonViewer.vue +25 -0
  67. package/dist/spa/src/afcl/LinkButton.vue +3 -3
  68. package/dist/spa/src/afcl/PieChart.vue +5 -5
  69. package/dist/spa/src/afcl/ProgressBar.vue +7 -7
  70. package/dist/spa/src/afcl/Select.vue +68 -34
  71. package/dist/spa/src/afcl/Skeleton.vue +6 -6
  72. package/dist/spa/src/afcl/Table.vue +213 -74
  73. package/dist/spa/src/afcl/Textarea.vue +31 -0
  74. package/dist/spa/src/afcl/Toggle.vue +32 -0
  75. package/dist/spa/src/afcl/Tooltip.vue +1 -2
  76. package/dist/spa/src/afcl/VerticalTabs.vue +16 -7
  77. package/dist/spa/src/afcl/index.ts +6 -3
  78. package/dist/spa/src/components/AcceptModal.vue +7 -7
  79. package/dist/spa/src/components/Breadcrumbs.vue +5 -5
  80. package/dist/spa/src/components/ColumnValueInput.vue +38 -18
  81. package/dist/spa/src/components/ColumnValueInputWrapper.vue +4 -3
  82. package/dist/spa/src/components/CustomDateRangePicker.vue +9 -8
  83. package/dist/spa/src/components/CustomRangePicker.vue +37 -8
  84. package/dist/spa/src/components/ErrorMessage.vue +21 -0
  85. package/dist/spa/src/components/Filters.vue +85 -39
  86. package/dist/spa/src/components/GroupsTable.vue +9 -8
  87. package/dist/spa/src/components/MenuLink.vue +90 -23
  88. package/dist/spa/src/components/ResourceForm.vue +94 -51
  89. package/dist/spa/src/components/ResourceListTable.vue +78 -80
  90. package/dist/spa/src/components/ResourceListTableVirtual.vue +70 -72
  91. package/dist/spa/src/components/ShowTable.vue +17 -12
  92. package/dist/spa/src/components/Sidebar.vue +443 -0
  93. package/dist/spa/src/components/SingleSkeletLoader.vue +6 -6
  94. package/dist/spa/src/components/SkeleteLoader.vue +3 -3
  95. package/dist/spa/src/components/ThreeDotsMenu.vue +73 -14
  96. package/dist/spa/src/components/Toast.vue +27 -9
  97. package/dist/spa/src/components/UserMenuSettingsButton.vue +68 -0
  98. package/dist/spa/src/components/ValueRenderer.vue +43 -16
  99. package/dist/spa/src/controls/BoolToggle.vue +34 -0
  100. package/dist/spa/src/i18n.ts +1 -1
  101. package/dist/spa/src/renderers/CompactField.vue +1 -1
  102. package/dist/spa/src/renderers/CompactUUID.vue +1 -1
  103. package/dist/spa/src/router/index.ts +9 -0
  104. package/dist/spa/src/shims-vue.d.ts +5 -0
  105. package/dist/spa/src/spa_types/core.ts +13 -1
  106. package/dist/spa/src/stores/core.ts +1 -1
  107. package/dist/spa/src/stores/filters.ts +29 -2
  108. package/dist/spa/src/stores/modal.ts +6 -1
  109. package/dist/spa/src/stores/toast.ts +22 -3
  110. package/dist/spa/src/types/Back.ts +133 -22
  111. package/dist/spa/src/types/Common.ts +67 -32
  112. package/dist/spa/src/types/FrontendAPI.ts +31 -5
  113. package/dist/spa/src/types/adapters/CaptchaAdapter.ts +34 -0
  114. package/dist/spa/src/types/adapters/CompletionAdapter.ts +25 -0
  115. package/dist/spa/src/types/adapters/EmailAdapter.ts +27 -0
  116. package/dist/spa/src/types/adapters/ImageGenerationAdapter.ts +50 -0
  117. package/dist/spa/src/types/adapters/ImageVisionAdapter.ts +30 -0
  118. package/dist/spa/src/types/adapters/KeyValueAdapter.ts +16 -0
  119. package/dist/spa/src/types/adapters/OAuth2Adapter.ts +34 -0
  120. package/dist/spa/src/types/adapters/StorageAdapter.ts +73 -0
  121. package/dist/spa/src/types/adapters/index.ts +8 -0
  122. package/dist/spa/src/utils.ts +217 -7
  123. package/dist/spa/src/views/CreateView.vue +18 -19
  124. package/dist/spa/src/views/EditView.vue +25 -19
  125. package/dist/spa/src/views/ListView.vue +139 -86
  126. package/dist/spa/src/views/LoginView.vue +31 -35
  127. package/dist/spa/src/views/ResourceParent.vue +2 -2
  128. package/dist/spa/src/views/SettingsView.vue +121 -0
  129. package/dist/spa/src/views/ShowView.vue +59 -39
  130. package/dist/spa/src/websocket.ts +6 -1
  131. package/dist/spa/tsconfig.app.json +1 -1
  132. package/dist/spa/vite.config.ts +45 -2
  133. package/dist/types/Back.d.ts +98 -14
  134. package/dist/types/Back.d.ts.map +1 -1
  135. package/dist/types/Back.js +15 -0
  136. package/dist/types/Back.js.map +1 -1
  137. package/dist/types/Common.d.ts +59 -29
  138. package/dist/types/Common.d.ts.map +1 -1
  139. package/dist/types/Common.js.map +1 -1
  140. package/dist/types/FrontendAPI.d.ts +31 -3
  141. package/dist/types/FrontendAPI.d.ts.map +1 -1
  142. package/dist/types/FrontendAPI.js.map +1 -1
  143. package/dist/types/adapters/CaptchaAdapter.d.ts +30 -0
  144. package/dist/types/adapters/CaptchaAdapter.d.ts.map +1 -0
  145. package/dist/types/adapters/CaptchaAdapter.js +5 -0
  146. package/dist/types/adapters/CaptchaAdapter.js.map +1 -0
  147. package/dist/types/adapters/CompletionAdapter.d.ts +20 -0
  148. package/dist/types/adapters/CompletionAdapter.d.ts.map +1 -0
  149. package/dist/types/adapters/CompletionAdapter.js +2 -0
  150. package/dist/types/adapters/CompletionAdapter.js.map +1 -0
  151. package/dist/types/adapters/EmailAdapter.d.ts +20 -0
  152. package/dist/types/adapters/EmailAdapter.d.ts.map +1 -0
  153. package/dist/types/adapters/EmailAdapter.js +2 -0
  154. package/dist/types/adapters/EmailAdapter.js.map +1 -0
  155. package/dist/types/adapters/ImageGenerationAdapter.d.ts +37 -0
  156. package/dist/types/adapters/ImageGenerationAdapter.d.ts.map +1 -0
  157. package/dist/types/adapters/ImageGenerationAdapter.js +2 -0
  158. package/dist/types/adapters/ImageGenerationAdapter.js.map +1 -0
  159. package/dist/types/adapters/ImageVisionAdapter.d.ts +25 -0
  160. package/dist/types/adapters/ImageVisionAdapter.d.ts.map +1 -0
  161. package/dist/types/adapters/ImageVisionAdapter.js +2 -0
  162. package/dist/types/adapters/ImageVisionAdapter.js.map +1 -0
  163. package/dist/types/adapters/KeyValueAdapter.d.ts +10 -0
  164. package/dist/types/adapters/KeyValueAdapter.d.ts.map +1 -0
  165. package/dist/types/adapters/KeyValueAdapter.js +2 -0
  166. package/dist/types/adapters/KeyValueAdapter.js.map +1 -0
  167. package/dist/types/adapters/OAuth2Adapter.d.ts +32 -0
  168. package/dist/types/adapters/OAuth2Adapter.d.ts.map +1 -0
  169. package/dist/types/adapters/OAuth2Adapter.js +2 -0
  170. package/dist/types/adapters/OAuth2Adapter.js.map +1 -0
  171. package/dist/types/adapters/StorageAdapter.d.ts +63 -0
  172. package/dist/types/adapters/StorageAdapter.d.ts.map +1 -0
  173. package/dist/types/adapters/StorageAdapter.js +2 -0
  174. package/dist/types/adapters/StorageAdapter.js.map +1 -0
  175. package/dist/types/adapters/index.d.ts +9 -0
  176. package/dist/types/adapters/index.d.ts.map +1 -0
  177. package/dist/types/adapters/index.js +2 -0
  178. package/dist/types/adapters/index.js.map +1 -0
  179. package/package.json +3 -2
  180. package/dist/spa/src/types/Adapters.ts +0 -213
  181. package/dist/types/Adapters.d.ts +0 -168
  182. package/dist/types/Adapters.d.ts.map +0 -1
  183. package/dist/types/Adapters.js +0 -2
  184. package/dist/types/Adapters.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ export declare function getLoginPromptHTML(loginPrompt: string | Function): Promise<string | Function>;
1
2
  export declare function guessLabelFromName(name: any): any;
2
3
  export declare const currentFileDir: (metaUrl: any) => string;
3
4
  export declare const ADMIN_FORTH_ABSOLUTE_PATH: string;
@@ -51,4 +52,5 @@ export declare function isProbablyUUIDColumn(column: {
51
52
  type?: string;
52
53
  sampleValue?: any;
53
54
  }): boolean;
55
+ export declare function slugifyString(str: string): string;
54
56
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../modules/utils.ts"],"names":[],"mappings":"AAiKA,wBAAgB,kBAAkB,CAAC,IAAI,KAAA,OAStC;AAED,eAAO,MAAM,cAAc,0BAW1B,CAAA;AAGD,eAAO,MAAM,yBAAyB,QAAmD,CAAC;AAI1F,eAAO,MAAM,kBAAkB,EAAE,MAA6B,CAAC;AAE/D,wBAAgB,wBAAwB,CAAC,QAAQ,KAAA,OAEhD;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,cAE9C;AAED,wBAAgB,SAAS,CAAC,MAAM,KAAA,EAAE,MAAM,KAAA,OAmBvC;AAMD,wBAAgB,eAAe,CAAC,GAAG,KAAA,EAAE,SAAS,SAAK,EAAE,MAAM,KAAK,MAqB/D;AAgBA,wBAAgB,UAAU,CAAC,KAAK,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,UAoBvD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,KAAA;;;;;;EAcvC;AAED,wBAAgB,UAAU,CAAC,IAAI,KAAA,UAe9B;AAED,wBAAgB,WAAW,CAAC,IAAI,KAAA,UAe/B;AAGD,wBAAgB,WAAW,CAAC,IAAI,KAAA,2CAK/B;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnE;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAC,MAAM,UAEjC;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,WAAW,KAAM;IAExB;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;IAsDlE,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAU/C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAYhD;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,KAAK,CAAsD;;IAMnE,QAAQ,CAAC,GAAG,KAAA;;;;IAON,GAAG,CAAC,GAAG,KAAA,EAAE,EAAE,KAAA;CAgBlB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAOxG"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../modules/utils.ts"],"names":[],"mappings":"AAiKA,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,8BAQtE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,KAAA,OAStC;AAED,eAAO,MAAM,cAAc,0BAW1B,CAAA;AAGD,eAAO,MAAM,yBAAyB,QAAmD,CAAC;AAI1F,eAAO,MAAM,kBAAkB,EAAE,MAA6B,CAAC;AAE/D,wBAAgB,wBAAwB,CAAC,QAAQ,KAAA,OAEhD;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,cAE9C;AAED,wBAAgB,SAAS,CAAC,MAAM,KAAA,EAAE,MAAM,KAAA,OAmBvC;AAMD,wBAAgB,eAAe,CAAC,GAAG,KAAA,EAAE,SAAS,SAAK,EAAE,MAAM,KAAK,MAqB/D;AAgBA,wBAAgB,UAAU,CAAC,KAAK,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,UAoBvD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,KAAA;;;;;;EAcvC;AAED,wBAAgB,UAAU,CAAC,IAAI,KAAA,UAe9B;AAED,wBAAgB,WAAW,CAAC,IAAI,KAAA,UAe/B;AAGD,wBAAgB,WAAW,CAAC,IAAI,KAAA,2CAK/B;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnE;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAC,MAAM,UAEjC;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,WAAW,KAAM;IAExB;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;IAsDlE,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAU/C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAYhD;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,KAAK,CAAsD;;IAMnE,QAAQ,CAAC,GAAG,KAAA;;;;IAON,GAAG,CAAC,GAAG,KAAA,EAAE,EAAE,KAAA;CAgBlB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAOxG;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMjD"}
@@ -154,6 +154,15 @@ const csscolors = {
154
154
  "yellow": "#ffff00",
155
155
  "yellowgreen": "#9acd32"
156
156
  };
157
+ export async function getLoginPromptHTML(loginPrompt) {
158
+ if (typeof loginPrompt === 'function') {
159
+ loginPrompt = await loginPrompt();
160
+ if (!loginPrompt) {
161
+ return null;
162
+ }
163
+ }
164
+ return loginPrompt;
165
+ }
157
166
  export function guessLabelFromName(name) {
158
167
  if (name.includes('_')) {
159
168
  return name.split('_').map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(' ');
@@ -450,4 +459,11 @@ export function isProbablyUUIDColumn(column) {
450
459
  }
451
460
  return false;
452
461
  }
462
+ export function slugifyString(str) {
463
+ return str
464
+ .toString()
465
+ .toLowerCase()
466
+ .replace(/\s+/g, '-')
467
+ .replace(/[^a-z0-9-_]/g, '-');
468
+ }
453
469
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../modules/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../modules/utils.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  document.documentElement.classList.remove('dark')
15
15
  }
16
16
  </script> -->
17
-
17
+ <!-- /* IMPORTANT:ADMINFORTH HEAD */ -->
18
18
  </head>
19
19
  <body class="min-h-screen flex flex-col">
20
20
  <div id="app" class="grow bg-lightHtml dark:bg-darkHtml w-full"></div>
@@ -9,7 +9,7 @@
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
11
  "@iconify-prerendered/vue-flag": "^0.28.1748584105",
12
- "@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
12
+ "@iconify-prerendered/vue-flowbite": "^0.28.1754899090",
13
13
  "@unhead/vue": "^1.9.12",
14
14
  "@vueuse/core": "^10.10.0",
15
15
  "apexcharts": "^4.7.0",
@@ -624,9 +624,10 @@
624
624
  }
625
625
  },
626
626
  "node_modules/@iconify-prerendered/vue-flowbite": {
627
- "version": "0.23.1714023977",
628
- "resolved": "https://registry.npmjs.org/@iconify-prerendered/vue-flowbite/-/vue-flowbite-0.23.1714023977.tgz",
629
- "integrity": "sha512-FYVYNdT6IjlzHg00ypgnTNEv5OmYh46+aQfzQ0MCvdg/jauPF/IaS2W5JQQRupFZ+iIvj3PRVKyN3lonD/ZqLA==",
627
+ "version": "0.28.1754899090",
628
+ "resolved": "https://registry.npmjs.org/@iconify-prerendered/vue-flowbite/-/vue-flowbite-0.28.1754899090.tgz",
629
+ "integrity": "sha512-WPXCiCRFLR0QC0kW0RbL8Gf2Fj1sjzXgFKD8blU3YaranXgfSe47AMuIFT/nFxxiVWhEDwtn/luOjyj+wuR31A==",
630
+ "license": "MIT",
630
631
  "funding": {
631
632
  "url": "https://www.buymeacoffee.com/kozack/"
632
633
  },
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@iconify-prerendered/vue-flag": "^0.28.1748584105",
17
- "@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
17
+ "@iconify-prerendered/vue-flowbite": "^0.28.1754899090",
18
18
  "@unhead/vue": "^1.9.12",
19
19
  "@vueuse/core": "^10.10.0",
20
20
  "apexcharts": "^4.7.0",
@@ -4,7 +4,7 @@
4
4
  v-if="loggedIn && routerIsReady && loginRedirectCheckIsReady && defaultLayout"
5
5
  class="fixed h-14 top-0 z-20 w-full border-b shadow-sm bg-lightNavbar shadow-headerShadow dark:bg-darkNavbar dark:border-darkSidebarDevider"
6
6
  >
7
- <div class="px-3 lg:px-5 lg:pl-3 flex items-center justify-between h-full w-full" >
7
+ <div class="af-header px-3 lg:px-5 lg:pl-3 flex items-center justify-between h-full w-full" >
8
8
  <div class="flex items-center justify-start rtl:justify-end">
9
9
  <button @click="sideBarOpen = !sideBarOpen"
10
10
  type="button" class="inline-flex items-center p-2 text-sm rounded-lg sm:hidden hover:bg-lightSidebarItemHover focus:outline-none focus:ring-2 focus:ring-lightSidebarDevider dark:text-darkSidebarIcons dark:hover:bg-darkSidebarHover dark:focus:ring-lightSidebarDevider">
@@ -24,8 +24,9 @@
24
24
  />
25
25
 
26
26
  <div class="flex items-center ms-3 ">
27
- <span
28
- @click="toggleTheme" class="cursor-pointer flex items-center gap-1 block px-4 py-2 text-sm text-black hover:bg-lightHtml dark:text-darkSidebarTextHover dark:hover:bg-darkHtml dark:hover:text-darkSidebarTextActive" role="menuitem">
27
+ <span
28
+ v-if="!coreStore.config?.singleTheme"
29
+ @click="toggleTheme" class="cursor-pointer flex items-center gap-1 block px-4 py-2 text-sm text-black dark:text-darkSidebarTextHover dark:hover:text-darkSidebarTextActive" role="menuitem">
29
30
  <IconMoonSolid class="w-5 h-5 text-blue-300" v-if="coreStore.theme !== 'dark'" />
30
31
  <IconSunSolid class="w-5 h-5 text-yellow-300" v-else />
31
32
  </span>
@@ -58,6 +59,9 @@
58
59
  :adminUser="coreStore.adminUser"
59
60
  />
60
61
  </li>
62
+ <li v-if="coreStore?.config?.settingPages && coreStore.config.settingPages.length > 0">
63
+ <UserMenuSettingsButton />
64
+ </li>
61
65
  <li>
62
66
  <button @click="logout" class="cursor-pointer flex items-center gap-1 block px-4 py-2 text-sm text-black hover:bg-html dark:text-darkSidebarTextHover dark:hover:bg-darkSidebarItemHover dark:hover:text-darkSidebarTextActive w-full" role="menuitem">{{ $t('Sign out') }}</button>
63
67
  </li>
@@ -68,114 +72,22 @@
68
72
  </div>
69
73
  </nav>
70
74
 
71
- <aside
72
- ref="sidebarAside"
75
+ <Sidebar
73
76
  v-if="loggedIn && routerIsReady && loginRedirectCheckIsReady && defaultLayout"
74
- id="logo-lightSidebar" class="fixed border-none top-0 left-0 z-30 w-64 h-screen transition-transform bg-lightSidebar dark:bg-darkSidebar border-r border-lightSidebarBorder sm:translate-x-0 dark:bg-darkSidebar dark:border-darkSidebarBorder"
75
- :class="{ '-translate-x-full': !sideBarOpen, 'transform-none': sideBarOpen }"
76
- aria-label="Sidebar"
77
- >
78
- <div class="h-full px-3 pb-4 overflow-y-auto bg-lightSidebar dark:bg-darkSidebar border-r border-lightSidebarBorder dark:border-darkSidebarBorder">
79
- <div class="flex ms-2 m-4">
80
- <img :src="loadFile(coreStore.config?.brandLogo || '@/assets/logo.svg')" :alt="`${ coreStore.config?.brandName } Logo`" class="h-8 me-3" />
81
- <span
82
- v-if="coreStore.config?.showBrandNameInSidebar"
83
- class="self-center text-lightNavbarText-size font-semibold sm:text-lightNavbarText-size whitespace-nowrap dark:text-darkSidebarText text-lightSidebarText"
84
- >
85
- {{ coreStore.config?.brandName }}
86
- </span>
87
- </div>
88
-
89
- <ul class="space-y-2 font-medium">
90
- <template v-for="(item, i) in coreStore.menu" :key="`menu-${i}`">
91
- <div v-if="item.type === 'divider'" class="border-t border-lightSidebarDevider dark:border-darkSidebarDevider"></div>
92
- <div v-else-if="item.type === 'gap'" class="flex items-center justify-center h-8"></div>
93
- <div v-else-if="item.type === 'heading'" class="flex items-center justify-left pl-2 h-8 text-lightSidebarHeading dark:text-darkSidebarHeading
94
- ">{{ item.label }}</div>
95
- <li v-else-if="item.children" class=" ">
96
- <button @click="clickOnMenuItem(i)" type="button" class="flex items-center w-full p-2 text-base text-lightSidebarText rounded-default transition duration-75 group hover:bg-lightSidebarItemHover hover:text-lightSidebarTextHover dark:text-darkSidebarText dark:hover:bg-darkSidebarHover dark:hover:text-darkSidebarTextHover"
97
- :aria-controls="`dropdown-example${i}`"
98
- :data-collapse-toggle="`dropdown-example${i}`"
99
- >
100
-
101
- <component v-if="item.icon" :is="getIcon(item.icon)" class="w-5 h-5 text-lightSidebarIcons group-hover:text-lightSidebarIconsHover transition duration-75 dark:group-hover:text-darkSidebarIconsHover dark:text-darkSidebarIcons" ></component>
102
-
103
- <span class="text-ellipsis overflow-hidden flex-1 ms-3 text-left rtl:text-right whitespace-nowrap">{{ item.label }}
104
-
105
- <span v-if="item.badge" class="inline-flex items-center justify-center w-3 h-3 p-3 ms-3 text-sm font-medium rounded-full bg-lightAnnouncementBG dark:bg-darkAnnouncementBG
106
- fill-lightAnnouncementText dark:fill-darkAccent text-lightAnnouncementText dark:text-darkAccent">
107
- <Tooltip v-if="item.badgeTooltip">
108
- {{ item.badge }}
109
- <template #tooltip>
110
- {{ item.badgeTooltip }}
111
- </template>
112
- </Tooltip>
113
- <template v-else>
114
- {{ item.badge }}
115
- </template>
116
- </span>
117
- </span>
118
-
119
- <svg :class="{'rotate-180': opened.includes(i) }" class="w-3 h-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 6">
120
- <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
121
- </svg>
122
- </button>
123
-
124
- <ul :id="`dropdown-example${i}`" role="none" class="pt-1 space-y-1" :class="{ 'hidden': !opened.includes(i) }">
125
- <template v-for="(child, j) in item.children" :key="`menu-${i}-${j}`">
126
- <li>
127
- <MenuLink :item="child" isChild="true" @click="hideSidebar"/>
128
- </li>
129
- </template>
130
- </ul>
131
- </li>
132
- <li v-else>
133
- <MenuLink :item="item" @click="hideSidebar"/>
134
- </li>
135
- </template>
136
- </ul>
137
-
138
-
139
- <div id="dropdown-cta" class="p-4 mt-6 rounded-lg bg-lightAnnouncementBG dark:bg-darkAnnouncementBG
140
- fill-lightAnnouncementText dark:fill-darkAccent text-lightAnnouncementText dark:text-darkAccent text-sm" role="alert"
141
- v-if="ctaBadge"
142
- >
143
- <div class="flex items-center mb-3" :class="!ctaBadge.title ? 'float-right' : ''">
144
- <!-- <span class="bg-lightPrimaryOpacity dark:bg-darkPrimaryOpacity text-sm font-semibold me-2 px-2.5 py-0.5 rounded "
145
- v-if="ctaBadge.title"
146
- > -->
147
- <span>
148
- {{ctaBadge.title}}
149
- </span>
150
- <button type="button"
151
- class="ms-auto -mx-1.5 -my-1.5 bg-lightPrimaryOpacity dark:bg-darkPrimaryOpacity inline-flex justify-center items-center w-6 h-6 rounded-lg p-1 hover:brightness-110"
152
-
153
- data-dismiss-target="#dropdown-cta" aria-label="Close"
154
- v-if="ctaBadge?.closable" @click="closeCTA"
155
- >
156
- <span class="sr-only">Close</span>
157
- <svg class="w-2.5 h-2.5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
158
- <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"/>
159
- </svg>
160
- </button>
161
- </div>
162
- <p class="mb-3 text-sm " v-if="ctaBadge.html" v-html="ctaBadge.html"></p>
163
- <p class="mb-3 text-sm fill-lightNavbarText dark:fill-darkPrimary text-lightNavbarText dark:text-darkNavbarPrimary" v-else>
164
- {{ ctaBadge.text }}
165
- </p>
166
- <!-- <a class="text-sm text-lightPrimary underline font-medium hover:text-blue-900 dark:text-blue-400 dark:hover:text-blue-300" href="#">Turn new navigation off</a> -->
167
- </div>
168
-
169
- <component
170
- v-for="c in coreStore?.config?.globalInjections?.sidebar || []"
171
- :is="getCustomComponent(c)"
172
- :meta="c.meta"
173
- :adminUser="coreStore.adminUser"
174
- />
175
- </div>
176
- </aside>
77
+ :sideBarOpen="sideBarOpen"
78
+ :forceIconOnly="route.meta?.sidebarAndHeader === 'preferIconOnly'"
79
+ @hideSidebar="hideSidebar"
80
+ @loadMenu="loadMenu"
81
+ @sidebarStateChange="handleSidebarStateChange"
82
+ />
177
83
 
178
- <div class="sm:ml-64 max-w-[100vw] sm:max-w-[calc(100%-16rem)]"
84
+ <div class="transition-all duration-300 ease-in-out max-w-[100vw]"
85
+ :class="{
86
+ 'sm:ml-20': isSidebarIconOnly,
87
+ 'sm:ml-[264px]': !isSidebarIconOnly,
88
+ 'sm:max-w-[calc(100%-4.5rem)]': isSidebarIconOnly,
89
+ 'sm:max-w-[calc(100%-16rem)]': !isSidebarIconOnly
90
+ }"
179
91
  v-if="loggedIn && routerIsReady && loginRedirectCheckIsReady && defaultLayout">
180
92
  <div class="p-0 dark:border-gray-700 mt-14">
181
93
  <RouterView/>
@@ -193,7 +105,7 @@
193
105
  </div>
194
106
  </div>
195
107
  <AcceptModal />
196
- <div v-if="toastStore.toasts.length>0" class="fixed bottom-5 right-5 flex gap-1 flex-col-reverse z-50">
108
+ <div v-if="toastStore.toasts.length>0" class="fixed bottom-5 right-5 flex gap-1 flex-col-reverse z-[100]">
197
109
  <transition-group
198
110
  name="fade"
199
111
  tag="div"
@@ -235,10 +147,20 @@
235
147
  @apply opacity-100;
236
148
  }
237
149
 
150
+ @media (min-width: 640px) {
151
+ .sm\:ml-18 {
152
+ margin-left: 4.5rem;
153
+ }
154
+ .sm\:max-w-\[calc\(100\%-4\.5rem\)\] {
155
+ max-width: calc(100% - 4.5rem);
156
+ }
157
+ }
158
+
159
+
238
160
  </style>
239
161
 
240
162
  <script setup lang="ts">
241
- import { computed, onMounted, ref, watch, onBeforeMount, nextTick, type Ref } from 'vue';
163
+ import { computed, onMounted, ref, watch, onBeforeMount } from 'vue';
242
164
  import { RouterView } from 'vue-router';
243
165
  import { Dropdown } from 'flowbite'
244
166
  import './index.scss'
@@ -246,19 +168,15 @@ import { useCoreStore } from '@/stores/core';
246
168
  import { useUserStore } from '@/stores/user';
247
169
  import { IconMoonSolid, IconSunSolid } from '@iconify-prerendered/vue-flowbite';
248
170
  import AcceptModal from './components/AcceptModal.vue';
249
- import MenuLink from './components/MenuLink.vue';
171
+ import Sidebar from './components/Sidebar.vue';
250
172
  import { useRoute, useRouter } from 'vue-router';
251
- import { getIcon, verySimpleHash } from '@/utils';
252
173
  import { createHead } from 'unhead'
253
- import { loadFile } from '@/utils';
174
+ import { getCustomComponent } from '@/utils';
254
175
  import Toast from './components/Toast.vue';
255
176
  import {useToastStore} from '@/stores/toast';
256
- import { getCustomComponent } from '@/utils';
257
- import type { AdminForthConfigMenuItem, AnnouncementBadgeResponse } from './types/Common';
258
- import { Tooltip } from '@/afcl';
259
177
  import { initFrontedAPI } from '@/adminforth';
260
178
  import adminforth from '@/adminforth';
261
-
179
+ import UserMenuSettingsButton from './components/UserMenuSettingsButton.vue';
262
180
 
263
181
  const coreStore = useCoreStore();
264
182
  const toastStore = useToastStore();
@@ -271,16 +189,15 @@ const sideBarOpen = ref(false);
271
189
  const defaultLayout = ref(true);
272
190
  const route = useRoute();
273
191
  const router = useRouter();
274
- //create a ref to store the opened menu items with ts type;
275
- const opened = ref<string[]>([]);
276
192
  const publicConfigLoaded = ref(false);
277
193
  const dropdownUserButton = ref(null);
278
194
 
279
- const sidebarAside = ref(null);
280
195
 
281
196
  const routerIsReady = ref(false);
282
197
  const loginRedirectCheckIsReady = ref(false);
283
198
 
199
+ const isSidebarIconOnly = ref(localStorage.getItem('afIconOnlySidebar') === 'true');
200
+
284
201
  const loggedIn = computed(() => !!coreStore?.adminUser);
285
202
 
286
203
  const theme = ref('light');
@@ -289,19 +206,16 @@ function hideSidebar(): void {
289
206
  sideBarOpen.value = false;
290
207
  }
291
208
 
209
+ function handleSidebarStateChange(state: { isSidebarIconOnly: boolean }) {
210
+ isSidebarIconOnly.value = state.isSidebarIconOnly;
211
+ }
212
+
213
+
292
214
  function toggleTheme() {
293
215
  theme.value = theme.value === 'light' ? 'dark' : 'light';
294
216
  coreStore.toggleTheme();
295
217
  }
296
218
 
297
- function clickOnMenuItem(label: string) {
298
- if (opened.value.includes(label)) {
299
- opened.value = opened.value.filter((item) => item !== label);
300
- } else {
301
- opened.value.push(label);
302
- }
303
-
304
- }
305
219
 
306
220
  async function logout() {
307
221
  userStore.unauthorize();
@@ -316,7 +230,7 @@ async function initRouter() {
316
230
 
317
231
  async function loadMenu() {
318
232
  await initRouter();
319
- if (!route.meta.customLayout) {
233
+ if (route.meta.sidebarAndHeader !== 'none') {
320
234
  // for custom layouts we don't need to fetch menu
321
235
  await coreStore.fetchMenuAndResource();
322
236
  }
@@ -324,8 +238,11 @@ async function loadMenu() {
324
238
  }
325
239
 
326
240
  function handleCustomLayout() {
327
- if (route.meta?.customLayout) {
241
+ if (route.meta?.sidebarAndHeader === 'none') {
328
242
  defaultLayout.value = false;
243
+ } else if (route.meta?.sidebarAndHeader === 'preferIconOnly') {
244
+ defaultLayout.value = true;
245
+ isSidebarIconOnly.value = true;
329
246
  } else {
330
247
  defaultLayout.value = true;
331
248
  }
@@ -361,13 +278,6 @@ watch([route, () => coreStore.resourceById, () => coreStore.config], async () =>
361
278
 
362
279
  });
363
280
 
364
- watch(()=>coreStore.menu, () => {
365
- coreStore.menu.forEach((item, i) => {
366
- if (item.open) {
367
- opened.value.push(i);
368
- };
369
- });
370
- })
371
281
 
372
282
  watch(dropdownUserButton, (dropdownUserButton) => {
373
283
  if (dropdownUserButton) {
@@ -386,11 +296,6 @@ async function loadPublicConfig() {
386
296
  publicConfigLoaded.value = true;
387
297
  }
388
298
 
389
- watch(sidebarAside, (sidebarAside) => {
390
- if (sidebarAside) {
391
- coreStore.fetchMenuBadges();
392
- }
393
- })
394
299
 
395
300
  // initialize components based on data attribute selectors
396
301
  onMounted(async () => {
@@ -410,32 +315,12 @@ onBeforeMount(()=>{
410
315
  document.documentElement.classList.toggle('dark', theme.value === 'dark');
411
316
  })
412
317
 
413
-
414
- const ctaBadge: Ref<(AnnouncementBadgeResponse & { hash: string; }) | null> = computed(() => {
415
- const badge = coreStore.config?.announcementBadge;
416
- if (!badge) {
417
- return null;
418
- }
419
- const hash = badge.closable ? verySimpleHash(JSON.stringify(badge)) : '';
420
- if (badge.closable && window.localStorage.getItem(`ctaBadge-${hash}`)) {
421
- return null;
422
- }
423
- return {...badge, hash};
424
- });
425
-
426
- function closeCTA() {
427
- if (!ctaBadge.value) {
428
- return;
318
+ watch(() => coreStore.config?.singleTheme, (singleTheme) => {
319
+ if (singleTheme) {
320
+ theme.value = singleTheme;
321
+ window.localStorage.setItem('af__theme', singleTheme);
322
+ document.documentElement.classList.toggle('dark', theme.value === 'dark');
429
323
  }
430
- const hash = ctaBadge.value.hash;
431
- window.localStorage.setItem(`ctaBadge-${hash}`, '1');
432
- nextTick( async() => {
433
- loadMenu();
434
- await coreStore.fetchMenuBadges();
435
- adminforth.menu.refreshMenuBadges();
436
- })
437
-
438
- }
439
-
324
+ }, { immediate: true })
440
325
 
441
326
  </script>
@@ -1,6 +1,5 @@
1
- import type { FilterParams, FrontendAPIInterface } from "./types/FrontendAPI";
2
- import type { FrontendAPIInterface, ConfirmParams, AlertParams, } from '@/types/FrontendAPI';
3
- import type { AdminForthFilterOperators, AdminForthResourceColumn } from '@/types/Common';
1
+ import type { FilterParams, FrontendAPIInterface, ConfirmParams, AlertParams, } from '@/types/FrontendAPI';
2
+ import type { AdminForthFilterOperators, AdminForthResourceColumnCommon } from '@/types/Common';
4
3
  import { useToastStore } from '@/stores/toast';
5
4
  import { useModalStore } from '@/stores/modal';
6
5
  import { useCoreStore } from '@/stores/core';
@@ -36,6 +35,10 @@ class FrontendAPI implements FrontendAPIInterface {
36
35
  refreshMenuBadges: () => void;
37
36
  }
38
37
 
38
+ public show: {
39
+ refresh(): void;
40
+ }
41
+
39
42
  closeUserMenuDropdown(): void {
40
43
  console.log('closeUserMenuDropdown')
41
44
  }
@@ -73,9 +76,15 @@ class FrontendAPI implements FrontendAPIInterface {
73
76
  updateFilter: this.updateListFilter.bind(this),
74
77
  clearFilters: this.clearListFilters.bind(this),
75
78
  }
79
+
80
+ this.show = {
81
+ refresh: () => {
82
+ console.log('show.refresh')
83
+ }
84
+ }
76
85
  }
77
86
 
78
- confirm(params: ConfirmParams): Promise<void> {
87
+ confirm(params: ConfirmParams): Promise<boolean> {
79
88
  return new Promise((resolve, reject) => {
80
89
  this.modalStore.setModalContent({
81
90
  content: params.message,
@@ -88,35 +97,50 @@ class FrontendAPI implements FrontendAPIInterface {
88
97
  })
89
98
  }
90
99
 
91
- alert(params: AlertParams): void {
92
- this.toastStore.addToast({
100
+ alert(params: AlertParams): void | Promise<string> | string {
101
+ const toats = {
93
102
  message: params.message,
94
103
  messageHtml: params.messageHtml,
95
104
  variant: params.variant,
96
- timeout: params.timeout
97
- })
105
+ timeout: params.timeout,
106
+ buttons: params.buttons,
107
+ }
108
+ if (params.buttons && params.buttons.length > 0) {
109
+ return new Promise<string>((resolve) => {
110
+ this.toastStore.addToast({
111
+ ...toats,
112
+ onResolve: (value?: any) => resolve(String(value ?? '')),
113
+ })
114
+ })
115
+ } else {
116
+ this.toastStore.addToast({...toats})
117
+ }
98
118
  }
99
119
 
100
120
  listFilterValidation(filter: FilterParams): boolean {
101
121
  if(router.currentRoute.value.meta.type !== 'list'){
102
122
  throw new Error(`Cannot use ${this.setListFilter.name} filter on a list page`)
103
- } else {
104
- console.log(this.coreStore.resourceColumnsWithFilters,'core store')
105
- const filterField = this.coreStore.resourceColumnsWithFilters.find((col: AdminForthResourceColumn) => col.name === filter.field)
106
- if(!filterField){
107
- throw new Error(`Field ${filter.field} is not available for filtering`)
108
- }
109
-
110
123
  }
111
124
  return true
112
125
  }
113
126
 
114
127
  setListFilter(filter: FilterParams): void {
115
128
  if(this.listFilterValidation(filter)){
116
- if(this.filtersStore.filters.some((f) => {return f.field === filter.field && f.operator === filter.operator})){
117
- throw new Error(`Filter ${filter.field} with operator ${filter.operator} already exists`)
129
+ const existingFilterIndex = this.filtersStore.filters.findIndex((f: any) => {
130
+ return f.field === filter.field && f.operator === filter.operator
131
+ });
132
+
133
+ if(existingFilterIndex !== -1){
134
+ // Update existing filter instead of throwing error
135
+ const filters = [...this.filtersStore.filters];
136
+ if (filter.value === undefined) {
137
+ filters.splice(existingFilterIndex, 1);
138
+ } else {
139
+ filters[existingFilterIndex] = filter;
140
+ }
141
+ this.filtersStore.setFilters(filters);
118
142
  } else {
119
- this.filtersStore.setFilter(filter)
143
+ this.filtersStore.setFilter(filter);
120
144
  }
121
145
  }
122
146
  }
@@ -60,7 +60,7 @@ const optionsBase = {
60
60
  tooltip: {
61
61
  shared: true,
62
62
  intersect: false,
63
- formatter: function (value) {
63
+ formatter: function (value: any) {
64
64
  return value
65
65
  },
66
66
  },
@@ -71,7 +71,7 @@ const optionsBase = {
71
71
  fontFamily: "Inter, sans-serif",
72
72
  cssClass: 'text-xs font-normal fill-gray-500 dark:fill-gray-400'
73
73
  },
74
- formatter: function (value) {
74
+ formatter: function (value: any) {
75
75
  return value
76
76
  }
77
77
  },