adminizer 4.7.0-build.222 → 5.0.0-build.0

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 (341) hide show
  1. package/Readme.md +2 -1
  2. package/assets/add-a4odXvQk.js +1 -0
  3. package/assets/add-group-D-NleXth.js +1 -0
  4. package/assets/add-user-B4SVJT5P.js +1 -0
  5. package/assets/app-CtWuWD5N.css +1 -0
  6. package/assets/app-layout-eaSzcROf.js +1 -0
  7. package/assets/app.js +35 -39
  8. package/assets/catalog-ByUICd5z.js +6 -0
  9. package/assets/controls/chunks/_commonjsHelpers-C6fGbg64.js +6 -0
  10. package/assets/controls/chunks/index-CjiZ2FIa.js +93 -0
  11. package/assets/controls/chunks/jsx-runtime-jIxVPx5o.js +31 -0
  12. package/assets/controls/chunks/use-appearance-CFLOwiSX.js +38 -0
  13. package/assets/controls/chunks/use-window-size-BXgBKW65.js +19 -0
  14. package/assets/controls/chunks/vanilla-picker-Dg97NL4h.js +529 -0
  15. package/assets/{RelationDialogStack-CnHFOYyR.css → controls/ckeditor.css} +1 -1
  16. package/assets/controls/ckeditor.es.js +83663 -0
  17. package/assets/controls/handsontable.css +1 -0
  18. package/assets/controls/handsontable.es.js +70550 -0
  19. package/assets/controls/jsoneditor.css +1 -0
  20. package/assets/controls/jsoneditor.es.js +42009 -0
  21. package/assets/controls/leaflet.css +1 -0
  22. package/assets/controls/leaflet.es.js +10299 -0
  23. package/assets/controls/monaco.es.js +618 -0
  24. package/assets/controls/toast-ui.css +1 -0
  25. package/assets/controls/toast-ui.es.js +41768 -0
  26. package/assets/dashboard-BYd8G2cW.js +3 -0
  27. package/assets/debounce-BMmXVQ06.js +1 -0
  28. package/assets/history-B8KIDy44.js +1 -0
  29. package/assets/init-user-8aUohVDq.js +1 -0
  30. package/assets/list-ChmtBGjG.js +4 -0
  31. package/assets/login-CO4laf6m.js +1 -0
  32. package/assets/manifest.json +60 -615
  33. package/assets/{media-manager-WcKe1EvD.js → media-manager-BDbpSSjH.js} +3 -3
  34. package/assets/module-D59aE9uv.js +1 -0
  35. package/assets/notification-DNoyfNmT.js +20 -0
  36. package/assets/register-DBYIMXGQ.js +1 -0
  37. package/assets/{ru-eW0WKkga.js → ru-rYKdQbWF.js} +1 -1
  38. package/assets/use-appearance-_EbbjHTh.js +1 -0
  39. package/assets/user-filters-list-BMFRwkYF.js +1 -0
  40. package/assets/welcome-37rNVUHt.js +1 -0
  41. package/controllers/add.d.ts +1 -1
  42. package/controllers/addGroup.js +3 -3
  43. package/controllers/addUser.js +3 -3
  44. package/controllers/catalog/Catalog.d.ts +1 -1
  45. package/controllers/catalog/Catalog.js +2 -1
  46. package/controllers/catalog/FrontendCatalogAdapter.d.ts +2 -12
  47. package/controllers/catalog/FrontendCatalogAdapter.js +3 -16
  48. package/controllers/catalog/FrontentCatalogAdapter.d.ts +2 -12
  49. package/controllers/catalog/FrontentCatalogAdapter.js +0 -16
  50. package/controllers/edit.js +6 -11
  51. package/controllers/editGroup.d.ts +1 -1
  52. package/controllers/editGroup.js +3 -3
  53. package/controllers/editUser.d.ts +1 -1
  54. package/controllers/editUser.js +3 -3
  55. package/controllers/feed.js +1 -1
  56. package/controllers/filter-fields/columns.js +1 -1
  57. package/controllers/filter-fields/getAllUserFilters.js +2 -2
  58. package/controllers/filter-fields/groups.js +2 -2
  59. package/controllers/filter-fields/savedFilters.js +1 -1
  60. package/controllers/history-actions/HistoryController.js +1 -1
  61. package/controllers/initUser.js +2 -2
  62. package/controllers/list.d.ts +1 -1
  63. package/controllers/login.d.ts +1 -1
  64. package/controllers/login.js +3 -3
  65. package/controllers/media-manager/ThumbController.js +2 -2
  66. package/controllers/media-manager/mediaManagerApi.js +13 -15
  67. package/controllers/register.d.ts +1 -1
  68. package/controllers/register.js +5 -5
  69. package/controllers/remove.d.ts +1 -1
  70. package/controllers/userApiKey.js +2 -2
  71. package/controllers/view.d.ts +1 -1
  72. package/controllers/view.js +5 -5
  73. package/controllers/widgets/Action.js +5 -2
  74. package/controllers/widgets/Info.js +1 -1
  75. package/controllers/widgets/filterInfo.js +1 -1
  76. package/files/favicon.png +0 -0
  77. package/helpers/accessRightsHelper.d.ts +6 -4
  78. package/helpers/accessRightsHelper.js +13 -0
  79. package/helpers/diffHelpers.js +1 -1
  80. package/helpers/fieldsHelper.d.ts +1 -1
  81. package/helpers/fieldsHelper.js +8 -4
  82. package/helpers/filterDatetimeHelper.d.ts +1 -1
  83. package/helpers/inertiaAddHelper.d.ts +6 -5
  84. package/helpers/inertiaAddHelper.js +45 -37
  85. package/helpers/inertiaAutHelper.js +5 -5
  86. package/helpers/inertiaGroupHelper.d.ts +4 -4
  87. package/helpers/inertiaMenuHelper.js +1 -1
  88. package/helpers/inertiaUserHelper.d.ts +3 -3
  89. package/helpers/inertiaUserHelper.js +1 -1
  90. package/helpers/menuHelper.d.ts +2 -2
  91. package/index.d.ts +18 -6
  92. package/index.js +18 -6
  93. package/interfaces/adminpanelConfig.d.ts +10 -33
  94. package/interfaces/global.d.ts +10 -15
  95. package/interfaces/listQueryBuilder.d.ts +1 -1
  96. package/lib/Adminizer.d.ts +25 -2
  97. package/lib/Adminizer.js +124 -50
  98. package/lib/DataAccessor.d.ts +9 -5
  99. package/lib/DataAccessor.js +89 -42
  100. package/lib/access-rights/AccessRightsHandler.d.ts +17 -0
  101. package/lib/access-rights/AccessRightsHandler.js +63 -0
  102. package/lib/ai-assistant/AbstractAiModelService.d.ts +5 -8
  103. package/lib/ai-assistant/AbstractAiModelService.js +3 -14
  104. package/lib/ai-assistant/AiAssistantHandler.d.ts +2 -2
  105. package/lib/app-manager/AdminizerApp.d.ts +228 -0
  106. package/lib/app-manager/AdminizerApp.js +17 -0
  107. package/lib/app-manager/AppManager.d.ts +18 -0
  108. package/lib/app-manager/AppManager.js +537 -0
  109. package/lib/app-manager/AssetHandler.d.ts +17 -0
  110. package/lib/app-manager/AssetHandler.js +67 -0
  111. package/lib/app-manager/ConfigLayerHandler.d.ts +18 -0
  112. package/lib/app-manager/ConfigLayerHandler.js +119 -0
  113. package/lib/app-manager/ControllerHandler.d.ts +25 -0
  114. package/lib/app-manager/ControllerHandler.js +140 -0
  115. package/lib/catalog/AbstractCatalog.d.ts +28 -19
  116. package/lib/catalog/AbstractCatalog.js +41 -10
  117. package/lib/catalog/CatalogHandler.d.ts +13 -0
  118. package/lib/catalog/CatalogHandler.js +48 -2
  119. package/lib/catalog/CatalogTemplateComponentHandler.d.ts +23 -0
  120. package/lib/catalog/CatalogTemplateComponentHandler.js +59 -0
  121. package/lib/controls/Control.d.ts +17 -0
  122. package/lib/controls/Control.js +1 -0
  123. package/lib/controls/ControlsHandler.d.ts +5 -6
  124. package/lib/controls/ControlsHandler.js +0 -13
  125. package/lib/controls/codeEditor/MonacoEditor.d.ts +3 -4
  126. package/lib/controls/codeEditor/MonacoEditor.js +13 -8
  127. package/lib/controls/geojsoneditor/GeoEditor.d.ts +3 -4
  128. package/lib/controls/geojsoneditor/GeoEditor.js +14 -9
  129. package/lib/controls/jsoneditor/JsonEditor.d.ts +5 -6
  130. package/lib/controls/jsoneditor/JsonEditor.js +14 -13
  131. package/lib/controls/markdown/ToastUiEditor.d.ts +5 -6
  132. package/lib/controls/markdown/ToastUiEditor.js +14 -13
  133. package/lib/controls/table/Handsontable.d.ts +5 -6
  134. package/lib/controls/table/Handsontable.js +14 -13
  135. package/lib/controls/wysiwyg/CKeditor.d.ts +5 -6
  136. package/lib/controls/wysiwyg/CKeditor.js +14 -13
  137. package/lib/filters/ConditionValidator.d.ts +1 -1
  138. package/lib/filters/FilterService.d.ts +18 -18
  139. package/lib/filters/FilterService.js +11 -11
  140. package/lib/history-actions/AbstractHistoryAdapter.d.ts +14 -14
  141. package/lib/history-actions/AbstractHistoryAdapter.js +5 -6
  142. package/lib/history-actions/DefaultHistoryAdapter.d.ts +7 -7
  143. package/lib/history-actions/DefaultHistoryAdapter.js +2 -2
  144. package/lib/list-query-builder/ListQueryBuilder.d.ts +1 -1
  145. package/lib/media-manager/AbstractMediaManager.d.ts +14 -3
  146. package/lib/media-manager/AbstractMediaManager.js +16 -5
  147. package/lib/media-manager/MediaManagerHandler.d.ts +3 -0
  148. package/lib/media-manager/MediaManagerHandler.js +30 -5
  149. package/lib/media-manager/Thumb.js +7 -13
  150. package/lib/media-manager/helpers/MediaManagerHelper.d.ts +6 -4
  151. package/lib/media-manager/helpers/MediaManagerHelper.js +18 -18
  152. package/lib/model/AbstractModel.d.ts +9 -5
  153. package/lib/model/AbstractModel.js +9 -13
  154. package/lib/model/InternalModelAccessFactory.js +9 -10
  155. package/lib/model/ModelHandler.d.ts +45 -7
  156. package/lib/model/ModelHandler.js +168 -11
  157. package/lib/model/adapter/sequelize.d.ts +2 -4
  158. package/lib/model/adapter/sequelize.js +16 -193
  159. package/lib/model/adapter/typeorm.d.ts +2 -4
  160. package/lib/model/adapter/typeorm.js +2 -35
  161. package/lib/notifications/AbstractNotificationService.d.ts +9 -9
  162. package/lib/notifications/AbstractNotificationService.js +8 -8
  163. package/lib/notifications/GeneralNotificationService.js +1 -1
  164. package/lib/notifications/SystemNotificationService.js +1 -1
  165. package/lib/ui-i18n/uiTranslationKeys.d.ts +1 -1
  166. package/lib/ui-i18n/uiTranslationKeys.js +1 -0
  167. package/lib/widgets/abstractCustom.d.ts +7 -2
  168. package/lib/widgets/abstractCustom.js +6 -0
  169. package/lib/widgets/abstractInfo.d.ts +4 -1
  170. package/lib/widgets/abstractWidgetBase.d.ts +2 -0
  171. package/lib/widgets/abstractWidgetBase.js +2 -0
  172. package/lib/widgets/widgetHandler.d.ts +6 -2
  173. package/lib/widgets/widgetHandler.js +70 -19
  174. package/models/{FilterAP.d.ts → Filter.d.ts} +4 -70
  175. package/models/Filter.js +1 -0
  176. package/models/FilterColumn.d.ts +10 -0
  177. package/models/FilterColumn.js +1 -0
  178. package/models/Group.d.ts +8 -0
  179. package/models/Group.js +1 -0
  180. package/models/HistoryActions.d.ts +14 -0
  181. package/models/HistoryActions.js +1 -0
  182. package/models/MediaManagerAP.d.ts +2 -54
  183. package/models/MediaManagerAP.js +1 -51
  184. package/models/MediaManagerAssociationsAP.d.ts +1 -35
  185. package/models/MediaManagerAssociationsAP.js +1 -33
  186. package/models/MediaManagerMetaAP.d.ts +2 -30
  187. package/models/MediaManagerMetaAP.js +1 -27
  188. package/models/Notification.d.ts +13 -0
  189. package/models/Notification.js +1 -0
  190. package/models/User.d.ts +23 -0
  191. package/models/User.js +1 -0
  192. package/models/UserNotification.d.ts +7 -0
  193. package/models/UserNotification.js +1 -0
  194. package/package.json +25 -30
  195. package/services/FeedService.d.ts +5 -5
  196. package/services/FeedService.js +1 -1
  197. package/system/Router.js +2 -10
  198. package/system/bindAccessRights.js +1 -1
  199. package/system/bindAuthorization.js +2 -2
  200. package/system/bindControls.js +7 -6
  201. package/system/bindDashboardWidgets.js +3 -2
  202. package/system/bindDev.js +1 -1
  203. package/system/bindHistory.d.ts +1 -1
  204. package/system/bindHistory.js +1 -1
  205. package/system/bindInertia.js +0 -6
  206. package/system/bindMediaManager.js +4 -17
  207. package/system/bindNotifications.d.ts +1 -1
  208. package/system/bindNotifications.js +1 -1
  209. package/system/bindReqFunctions.d.ts +1 -0
  210. package/system/bindReqFunctions.js +20 -3
  211. package/system/buildInternalModelAccess.js +2 -15
  212. package/system/defaults.js +5 -10
  213. package/system/systemModelContracts.d.ts +22 -0
  214. package/system/systemModelContracts.js +155 -0
  215. package/system/validateSystemModels.d.ts +2 -0
  216. package/system/validateSystemModels.js +101 -0
  217. package/translations/ar.json +2 -1
  218. package/translations/cn.json +2 -1
  219. package/translations/de.json +2 -1
  220. package/translations/en.json +1 -0
  221. package/translations/es.json +2 -1
  222. package/translations/fr.json +2 -1
  223. package/translations/hi.json +2 -1
  224. package/translations/jp.json +2 -1
  225. package/translations/ko.json +2 -1
  226. package/translations/pt.json +2 -1
  227. package/translations/ru.json +2 -1
  228. package/translations/ua.json +2 -1
  229. package/translations/uz.json +2 -1
  230. package/translations/vi.json +2 -1
  231. package/ui/components/VanillaJSONEditor.d.ts +1 -1
  232. package/ui/components/handsontable.d.ts +1 -1
  233. package/ui/components/ui/avatar.d.ts +3 -3
  234. package/ui/components/ui/badge.d.ts +1 -1
  235. package/ui/components/ui/breadcrumb.d.ts +7 -7
  236. package/ui/components/ui/button.d.ts +1 -1
  237. package/ui/components/ui/calendar.d.ts +1 -1
  238. package/ui/components/ui/card.d.ts +7 -7
  239. package/ui/components/ui/checkbox.d.ts +1 -1
  240. package/ui/components/ui/collapsible.d.ts +3 -3
  241. package/ui/components/ui/command.d.ts +9 -9
  242. package/ui/components/ui/context-menu.d.ts +15 -15
  243. package/ui/components/ui/dialog-stack.d.ts +10 -10
  244. package/ui/components/ui/dialog.d.ts +10 -10
  245. package/ui/components/ui/dropdown-menu.d.ts +15 -15
  246. package/ui/components/ui/input.d.ts +1 -1
  247. package/ui/components/ui/label.d.ts +1 -1
  248. package/ui/components/ui/menubar.d.ts +16 -16
  249. package/ui/components/ui/pagination.d.ts +7 -7
  250. package/ui/components/ui/popover.d.ts +4 -4
  251. package/ui/components/ui/select.d.ts +10 -10
  252. package/ui/components/ui/separator.d.ts +1 -1
  253. package/ui/components/ui/sheet.d.ts +8 -8
  254. package/ui/components/ui/sidebar.d.ts +23 -23
  255. package/ui/components/ui/skeleton.d.ts +1 -1
  256. package/ui/components/ui/slider.d.ts +1 -1
  257. package/ui/components/ui/sonner.d.ts +1 -1
  258. package/ui/components/ui/switch.d.ts +1 -1
  259. package/ui/components/ui/table.d.ts +8 -8
  260. package/ui/components/ui/tabs.d.ts +4 -4
  261. package/ui/components/ui/textarea.d.ts +1 -1
  262. package/ui/components/ui/tooltip.d.ts +4 -4
  263. package/assets/RelationDialogStack-DI2bZxQX.js +0 -20
  264. package/assets/add-DCQ7ZW4B.js +0 -1
  265. package/assets/add-group-DCVPryBo.js +0 -1
  266. package/assets/add-group-form-DKRXC2n-.js +0 -1
  267. package/assets/add-user-B7OOiYxv.js +0 -1
  268. package/assets/add-user-form-UXAToWQd.js +0 -1
  269. package/assets/app-AKbNCggP.css +0 -1
  270. package/assets/app-layout-6EwNBvnR.js +0 -1
  271. package/assets/app-shell-D8wtkECO.js +0 -1
  272. package/assets/app-sidebar-DfGjL-2K.js +0 -1
  273. package/assets/app-sidebar-header-BZbIBQjq.js +0 -1
  274. package/assets/breadcrumbs-CODaqVkB.js +0 -1
  275. package/assets/catalog-DVvFGa2X.js +0 -6
  276. package/assets/dashboard-BadoiH_a.js +0 -3
  277. package/assets/date-picker-DSOkNiNo.js +0 -1
  278. package/assets/del-modal-Cd4M7af8.js +0 -1
  279. package/assets/dynamic-controls-BsrJhPDY.js +0 -1
  280. package/assets/geo-json-CzR5JBXL.js +0 -1
  281. package/assets/handsontable-BI98OF5R.js +0 -336
  282. package/assets/history-D1iLA6rs.js +0 -1
  283. package/assets/home-DbWj-W_k.js +0 -2
  284. package/assets/icon-C2JNaLxH.js +0 -1
  285. package/assets/init-user-D2HSyXup.js +0 -1
  286. package/assets/input-error-CH2caTtO.js +0 -1
  287. package/assets/jsoneditor-DVNQmA6G.js +0 -3869
  288. package/assets/list-CVoljVUw.js +0 -4
  289. package/assets/login-DFSLEO17.js +0 -1
  290. package/assets/material-icon-Bx9pGQiQ.js +0 -1
  291. package/assets/module-DJsC37CM.js +0 -1
  292. package/assets/monaco-Bl4zdWCn.js +0 -11
  293. package/assets/nav-footer-BiSQkPt4.js +0 -1
  294. package/assets/nav-main-rTH0PfDw.js +0 -1
  295. package/assets/nav-user-Bj6cWs0a.js +0 -1
  296. package/assets/notification-DKrNfaAB.js +0 -20
  297. package/assets/pagination-render-AKJvTIRA.js +0 -1
  298. package/assets/register-BTP4uxsK.js +0 -1
  299. package/assets/theme-switcher-Dm8EOGzx.js +0 -1
  300. package/assets/toast-editor-DOg_gvSp.js +0 -668
  301. package/assets/user-filters-list-C9R9J6Om.js +0 -1
  302. package/assets/user-info-BgSbT02v.js +0 -1
  303. package/assets/user-menu-content-TQTXHIv6.js +0 -1
  304. package/assets/vanilla-picker-B3LgXoKV.js +0 -2
  305. package/assets/vendor-l0sNRNKZ.js +0 -1
  306. package/assets/welcome-BwDlAOGh.js +0 -1
  307. package/controllers/navigation/edit.d.ts +0 -1
  308. package/controllers/navigation/edit.js +0 -8
  309. package/lib/ai-assistant/DummyAiModelService.d.ts +0 -8
  310. package/lib/ai-assistant/DummyAiModelService.js +0 -14
  311. package/lib/ai-assistant/OpenAiModelService.d.ts +0 -24
  312. package/lib/ai-assistant/OpenAiModelService.js +0 -184
  313. package/lib/catalog/Navigation.d.ts +0 -49
  314. package/lib/catalog/Navigation.js +0 -492
  315. package/lib/controls/AbstractControls.d.ts +0 -30
  316. package/lib/controls/AbstractControls.js +0 -14
  317. package/lib/media-manager/DefaultMediaManager.d.ts +0 -20
  318. package/lib/media-manager/DefaultMediaManager.js +0 -127
  319. package/lib/media-manager/Items.d.ts +0 -50
  320. package/lib/media-manager/Items.js +0 -296
  321. package/models/FilterAP.js +0 -68
  322. package/models/FilterColumnAP.d.ts +0 -32
  323. package/models/FilterColumnAP.js +0 -21
  324. package/models/GroupAP.d.ts +0 -31
  325. package/models/GroupAP.js +0 -22
  326. package/models/HistoryActionsAP.d.ts +0 -56
  327. package/models/HistoryActionsAP.js +0 -42
  328. package/models/NavigationAP.d.ts +0 -22
  329. package/models/NavigationAP.js +0 -16
  330. package/models/NotificationAP.d.ts +0 -44
  331. package/models/NotificationAP.js +0 -30
  332. package/models/UserAP.d.ts +0 -81
  333. package/models/UserAP.js +0 -57
  334. package/models/UserNotificationAP.d.ts +0 -26
  335. package/models/UserNotificationAP.js +0 -18
  336. package/system/bindAiAssistant.d.ts +0 -2
  337. package/system/bindAiAssistant.js +0 -30
  338. package/system/bindModels.d.ts +0 -2
  339. package/system/bindModels.js +0 -48
  340. package/system/bindNavigation.d.ts +0 -2
  341. package/system/bindNavigation.js +0 -38
@@ -0,0 +1 @@
1
+ export {};
@@ -1,10 +1,9 @@
1
- import { AbstractControls, ControlType } from "./AbstractControls";
1
+ import { Control, ControlType } from "./Control";
2
2
  export declare class ControlsHandler {
3
3
  private controls;
4
- add(control: AbstractControls): void;
5
- get<T extends ControlType>(type: T, name: string): AbstractControls | undefined;
6
- getByType<T extends ControlType>(type: T): AbstractControls[];
4
+ add(control: Control): void;
5
+ get<T extends ControlType>(type: T, name: string): Control | undefined;
6
+ getByType<T extends ControlType>(type: T): Control[];
7
7
  remove(type: ControlType, name: string): boolean;
8
- getAll(): Record<ControlType, AbstractControls[]>;
9
- collectAndGenerateStyleLinks(): string[];
8
+ getAll(): Record<ControlType, Control[]>;
10
9
  }
@@ -33,17 +33,4 @@ export class ControlsHandler {
33
33
  Array.from(group.values())
34
34
  ]));
35
35
  }
36
- collectAndGenerateStyleLinks() {
37
- const stylesheets = [];
38
- const allControls = this.getAll();
39
- Object.values(allControls).forEach(controls => {
40
- controls.forEach(control => {
41
- const cssPath = control.getCssPath();
42
- if (cssPath) {
43
- stylesheets.push(cssPath);
44
- }
45
- });
46
- });
47
- return stylesheets;
48
- }
49
36
  }
@@ -1,11 +1,10 @@
1
- import { AbstractControls, ControlType, Config, Path } from "../AbstractControls";
2
- import { Adminizer } from "../../Adminizer";
3
- export declare class MonacoEditor extends AbstractControls {
1
+ import { Control, ControlType, Config, Path } from "../Control";
2
+ export declare class MonacoEditor implements Control {
4
3
  readonly config: Config;
5
4
  readonly name: string;
6
5
  readonly path: Path;
7
6
  readonly type: ControlType;
8
- constructor(adminizer: Adminizer);
7
+ constructor(routePrefix: string);
9
8
  getConfig(): Config;
10
9
  getCssPath(): string | undefined;
11
10
  getJsPath(): string | undefined;
@@ -1,15 +1,18 @@
1
- import { AbstractControls } from "../AbstractControls.js";
2
- export class MonacoEditor extends AbstractControls {
1
+ export class MonacoEditor {
3
2
  config = {
4
3
  language: "javascript",
5
4
  };
6
5
  name = 'monaco';
7
- path = {
8
- cssPath: "", jsPath: { dev: "", production: "" }
9
- };
6
+ path;
10
7
  type = 'codeEditor';
11
- constructor(adminizer) {
12
- super(adminizer);
8
+ constructor(routePrefix) {
9
+ this.path = {
10
+ cssPath: "",
11
+ jsPath: {
12
+ dev: "/src/assets/js/controls/monaco.tsx",
13
+ production: `${routePrefix}/assets/controls/monaco.es.js`
14
+ }
15
+ };
13
16
  }
14
17
  getConfig() {
15
18
  return this.config;
@@ -18,7 +21,9 @@ export class MonacoEditor extends AbstractControls {
18
21
  return undefined;
19
22
  }
20
23
  getJsPath() {
21
- return undefined;
24
+ return process.env.ADMINIZER_ENV === 'dev'
25
+ ? this.path.jsPath.dev
26
+ : this.path.jsPath.production;
22
27
  }
23
28
  getName() {
24
29
  return this.name;
@@ -1,11 +1,10 @@
1
- import { AbstractControls, ControlType, Config, Path } from "../AbstractControls";
2
- import { Adminizer } from "../../Adminizer";
3
- export declare class GeoEditor extends AbstractControls {
1
+ import { Control, ControlType, Config, Path } from "../Control";
2
+ export declare class GeoEditor implements Control {
4
3
  readonly config: Config;
5
4
  readonly name: string;
6
5
  readonly path: Path;
7
6
  readonly type: ControlType;
8
- constructor(adminizer: Adminizer);
7
+ constructor(routePrefix: string);
9
8
  getConfig(): Config | undefined;
10
9
  getCssPath(): string | undefined;
11
10
  getJsPath(): string | undefined;
@@ -1,24 +1,29 @@
1
- import { AbstractControls } from "../AbstractControls.js";
2
- export class GeoEditor extends AbstractControls {
1
+ export class GeoEditor {
3
2
  config = {
4
3
  mode: "all"
5
4
  };
6
5
  name = "leaflet";
7
- path = {
8
- cssPath: "", jsPath: { dev: "", production: "" }
9
- };
6
+ path;
10
7
  type = 'geoJson';
11
- constructor(adminizer) {
12
- super(adminizer);
8
+ constructor(routePrefix) {
9
+ this.path = {
10
+ cssPath: `${routePrefix}/assets/controls/leaflet.css`,
11
+ jsPath: {
12
+ dev: "/src/assets/js/controls/leaflet.tsx",
13
+ production: `${routePrefix}/assets/controls/leaflet.es.js`
14
+ }
15
+ };
13
16
  }
14
17
  getConfig() {
15
18
  return this.config;
16
19
  }
17
20
  getCssPath() {
18
- return undefined;
21
+ return process.env.ADMINIZER_ENV === 'dev' ? undefined : this.path.cssPath;
19
22
  }
20
23
  getJsPath() {
21
- return undefined;
24
+ return process.env.ADMINIZER_ENV === 'dev'
25
+ ? this.path.jsPath.dev
26
+ : this.path.jsPath.production;
22
27
  }
23
28
  getName() {
24
29
  return this.name;
@@ -1,13 +1,12 @@
1
- import { AbstractControls, ControlType, Path, Config } from "../AbstractControls";
2
- import { Adminizer } from "../../Adminizer";
3
- export declare class JsonEditor extends AbstractControls {
1
+ import { Control, ControlType, Path, Config } from "../Control";
2
+ export declare class JsonEditor implements Control {
4
3
  readonly config: Record<string, string | string[] | object | number | boolean>;
5
4
  readonly name: string;
6
5
  readonly path: Path;
7
6
  readonly type: ControlType;
8
- constructor(adminizer: Adminizer);
7
+ constructor(routePrefix: string);
9
8
  getConfig(): Config | undefined;
10
- getJsPath(): undefined;
11
- getCssPath(): undefined;
9
+ getJsPath(): string;
10
+ getCssPath(): string | undefined;
12
11
  getName(): string;
13
12
  }
@@ -1,26 +1,27 @@
1
- import { AbstractControls } from "../AbstractControls.js";
2
- export class JsonEditor extends AbstractControls {
1
+ export class JsonEditor {
3
2
  config = {};
4
3
  name = 'jsoneditor';
5
- path = {
6
- cssPath: "",
7
- jsPath: {
8
- dev: "",
9
- production: ""
10
- }
11
- };
4
+ path;
12
5
  type = 'jsonEditor';
13
- constructor(adminizer) {
14
- super(adminizer);
6
+ constructor(routePrefix) {
7
+ this.path = {
8
+ cssPath: `${routePrefix}/assets/controls/jsoneditor.css`,
9
+ jsPath: {
10
+ dev: "/src/assets/js/controls/jsoneditor.tsx",
11
+ production: `${routePrefix}/assets/controls/jsoneditor.es.js`
12
+ }
13
+ };
15
14
  }
16
15
  getConfig() {
17
16
  return this.config;
18
17
  }
19
18
  getJsPath() {
20
- return undefined;
19
+ return process.env.ADMINIZER_ENV === 'dev'
20
+ ? this.path.jsPath.dev
21
+ : this.path.jsPath.production;
21
22
  }
22
23
  getCssPath() {
23
- return undefined;
24
+ return process.env.ADMINIZER_ENV === 'dev' ? undefined : this.path.cssPath;
24
25
  }
25
26
  getName() {
26
27
  return this.name;
@@ -1,13 +1,12 @@
1
- import { AbstractControls, ControlType, Path, Config } from "../AbstractControls";
2
- import { Adminizer } from "../../Adminizer";
3
- export declare class ToastUiEditor extends AbstractControls {
1
+ import { Control, ControlType, Path, Config } from "../Control";
2
+ export declare class ToastUiEditor implements Control {
4
3
  readonly config: Record<string, string | string[] | object | number | boolean>;
5
4
  readonly name: string;
6
5
  readonly path: Path;
7
6
  readonly type: ControlType;
8
- constructor(adminizer: Adminizer);
7
+ constructor(routePrefix: string);
9
8
  getConfig(): Config | undefined;
10
- getJsPath(): undefined;
11
- getCssPath(): undefined;
9
+ getJsPath(): string;
10
+ getCssPath(): string | undefined;
12
11
  getName(): string;
13
12
  }
@@ -1,5 +1,4 @@
1
- import { AbstractControls } from "../AbstractControls.js";
2
- export class ToastUiEditor extends AbstractControls {
1
+ export class ToastUiEditor {
3
2
  config = {
4
3
  hideModeSwitch: true,
5
4
  height: '400px',
@@ -7,25 +6,27 @@ export class ToastUiEditor extends AbstractControls {
7
6
  previewStyle: 'vertical',
8
7
  };
9
8
  name = 'toast-ui';
10
- path = {
11
- cssPath: "",
12
- jsPath: {
13
- dev: "",
14
- production: ""
15
- }
16
- };
9
+ path;
17
10
  type = 'markdown';
18
- constructor(adminizer) {
19
- super(adminizer);
11
+ constructor(routePrefix) {
12
+ this.path = {
13
+ cssPath: `${routePrefix}/assets/controls/toast-ui.css`,
14
+ jsPath: {
15
+ dev: "/src/assets/js/controls/toast-ui.tsx",
16
+ production: `${routePrefix}/assets/controls/toast-ui.es.js`
17
+ }
18
+ };
20
19
  }
21
20
  getConfig() {
22
21
  return this.config;
23
22
  }
24
23
  getJsPath() {
25
- return undefined;
24
+ return process.env.ADMINIZER_ENV === 'dev'
25
+ ? this.path.jsPath.dev
26
+ : this.path.jsPath.production;
26
27
  }
27
28
  getCssPath() {
28
- return undefined;
29
+ return process.env.ADMINIZER_ENV === 'dev' ? undefined : this.path.cssPath;
29
30
  }
30
31
  getName() {
31
32
  return this.name;
@@ -1,13 +1,12 @@
1
- import { AbstractControls, ControlType, Config, Path } from "../AbstractControls";
2
- import { Adminizer } from "../../Adminizer";
3
- export declare class Handsontable extends AbstractControls {
1
+ import { Control, ControlType, Config, Path } from "../Control";
2
+ export declare class Handsontable implements Control {
4
3
  readonly config: Config;
5
4
  readonly name: string;
6
5
  readonly path: Path;
7
6
  readonly type: ControlType;
8
- constructor(adminizer: Adminizer);
7
+ constructor(routePrefix: string);
9
8
  getConfig(): Config | undefined;
10
9
  getName(): string;
11
- getJsPath(): undefined;
12
- getCssPath(): undefined;
10
+ getJsPath(): string;
11
+ getCssPath(): string | undefined;
13
12
  }
@@ -1,5 +1,4 @@
1
- import { AbstractControls } from "../AbstractControls.js";
2
- export class Handsontable extends AbstractControls {
1
+ export class Handsontable {
3
2
  config = {
4
3
  rowHeaders: true,
5
4
  height: 'auto',
@@ -9,16 +8,16 @@ export class Handsontable extends AbstractControls {
9
8
  licenseKey: 'non-commercial-and-evaluation', // for non-commercial use only
10
9
  };
11
10
  name = "handsontable";
12
- path = {
13
- cssPath: "",
14
- jsPath: {
15
- dev: "",
16
- production: ""
17
- }
18
- };
11
+ path;
19
12
  type = 'table';
20
- constructor(adminizer) {
21
- super(adminizer);
13
+ constructor(routePrefix) {
14
+ this.path = {
15
+ cssPath: `${routePrefix}/assets/controls/handsontable.css`,
16
+ jsPath: {
17
+ dev: "/src/assets/js/controls/handsontable.tsx",
18
+ production: `${routePrefix}/assets/controls/handsontable.es.js`
19
+ }
20
+ };
22
21
  }
23
22
  getConfig() {
24
23
  return this.config;
@@ -27,9 +26,11 @@ export class Handsontable extends AbstractControls {
27
26
  return this.name;
28
27
  }
29
28
  getJsPath() {
30
- return undefined;
29
+ return process.env.ADMINIZER_ENV === 'dev'
30
+ ? this.path.jsPath.dev
31
+ : this.path.jsPath.production;
31
32
  }
32
33
  getCssPath() {
33
- return undefined;
34
+ return process.env.ADMINIZER_ENV === 'dev' ? undefined : this.path.cssPath;
34
35
  }
35
36
  }
@@ -1,13 +1,12 @@
1
- import { AbstractControls, ControlType, Config, Path } from "../AbstractControls";
2
- import { Adminizer } from "../../Adminizer";
3
- export declare class CKeditor extends AbstractControls {
1
+ import { Control, ControlType, Config, Path } from "../Control";
2
+ export declare class CKeditor implements Control {
4
3
  readonly name: string;
5
4
  readonly type: ControlType;
6
5
  readonly path: Path;
7
6
  readonly config: Config;
8
- constructor(adminizer: Adminizer);
7
+ constructor(routePrefix: string);
9
8
  getConfig(): Config;
10
- getJsPath(): undefined;
11
- getCssPath(): undefined;
9
+ getJsPath(): string;
10
+ getCssPath(): string | undefined;
12
11
  getName(): string;
13
12
  }
@@ -1,14 +1,7 @@
1
- import { AbstractControls } from "../AbstractControls.js";
2
- export class CKeditor extends AbstractControls {
1
+ export class CKeditor {
3
2
  name = 'ckeditor';
4
3
  type = 'wysiwyg';
5
- path = {
6
- cssPath: "",
7
- jsPath: {
8
- dev: "",
9
- production: ""
10
- }
11
- };
4
+ path;
12
5
  config = {
13
6
  items: [
14
7
  'sourceEditing',
@@ -34,17 +27,25 @@ export class CKeditor extends AbstractControls {
34
27
  'indent',
35
28
  ],
36
29
  };
37
- constructor(adminizer) {
38
- super(adminizer);
30
+ constructor(routePrefix) {
31
+ this.path = {
32
+ cssPath: `${routePrefix}/assets/controls/ckeditor.css`,
33
+ jsPath: {
34
+ dev: "/src/assets/js/controls/ckeditor.tsx",
35
+ production: `${routePrefix}/assets/controls/ckeditor.es.js`
36
+ }
37
+ };
39
38
  }
40
39
  getConfig() {
41
40
  return this.config;
42
41
  }
43
42
  getJsPath() {
44
- return undefined;
43
+ return process.env.ADMINIZER_ENV === 'dev'
44
+ ? this.path.jsPath.dev
45
+ : this.path.jsPath.production;
45
46
  }
46
47
  getCssPath() {
47
- return undefined;
48
+ return process.env.ADMINIZER_ENV === 'dev' ? undefined : this.path.cssPath;
48
49
  }
49
50
  getName() {
50
51
  return this.name;
@@ -1,4 +1,4 @@
1
- import { FilterCondition, FilterOperator } from '../../models/FilterAP';
1
+ import { FilterCondition, FilterOperator } from '../../models/Filter';
2
2
  /**
3
3
  * Security event types for logging suspicious filter attempts
4
4
  */
@@ -1,7 +1,7 @@
1
1
  import { Adminizer } from '../Adminizer';
2
- import { FilterAP } from '../../models/FilterAP';
3
- import { FilterColumnAP } from '../../models/FilterColumnAP';
4
- import { UserAP } from '../../models/UserAP';
2
+ import { Filter } from '../../models/Filter';
3
+ import { FilterColumn } from '../../models/FilterColumn';
4
+ import { User } from '../../models/User';
5
5
  /**
6
6
  * FilterService - manages filter operations
7
7
  *
@@ -23,26 +23,26 @@ export declare class FilterService {
23
23
  * Get filter by ID with access control
24
24
  * Returns null when filter is not found or user has no access.
25
25
  */
26
- getFilterById(filterId: string, user: UserAP): Promise<FilterAP | null>;
26
+ getFilterById(filterId: string, user: User): Promise<Filter | null>;
27
27
  /**
28
28
  * Get filters for a model accessible by user
29
29
  */
30
- getFiltersForModel(modelName: string, user: UserAP, options?: {
30
+ getFiltersForModel(modelName: string, user: User, options?: {
31
31
  includePublic?: boolean;
32
32
  includeSystem?: boolean;
33
- }): Promise<FilterAP[]>;
33
+ }): Promise<Filter[]>;
34
34
  /**
35
35
  * Check if user can view a filter
36
36
  */
37
- canViewFilter(filter: FilterAP, user: UserAP): boolean;
37
+ canViewFilter(filter: Filter, user: User): boolean;
38
38
  /**
39
39
  * Check if user can edit a filter
40
40
  */
41
- canEditFilter(filter: FilterAP, user: UserAP): boolean;
41
+ canEditFilter(filter: Filter, user: User): boolean;
42
42
  /**
43
43
  * Check if user can delete a filter
44
44
  */
45
- canDeleteFilter(filter: FilterAP, user: UserAP): boolean;
45
+ canDeleteFilter(filter: Filter, user: User): boolean;
46
46
  /**
47
47
  * Count records matching a filter's conditions
48
48
  *
@@ -50,33 +50,33 @@ export declare class FilterService {
50
50
  * @param user - User requesting the count (for access control)
51
51
  * @returns Number of matching records, or -1 on error
52
52
  */
53
- countFilterResults(filter: FilterAP, user: UserAP): Promise<number>;
53
+ countFilterResults(filter: Filter, user: User): Promise<number>;
54
54
  /**
55
55
  * Create a new filter
56
56
  */
57
- createFilter(data: Partial<FilterAP>, user: UserAP): Promise<FilterAP>;
57
+ createFilter(data: Partial<Filter>, user: User): Promise<Filter>;
58
58
  /**
59
59
  * Update a filter
60
60
  */
61
- updateFilter(filterId: string, data: Partial<FilterAP>, user: UserAP): Promise<FilterAP>;
61
+ updateFilter(filterId: string, data: Partial<Filter>, user: User): Promise<Filter>;
62
62
  /**
63
63
  * Delete a filter
64
64
  */
65
- deleteFilter(filterId: string, user: UserAP): Promise<void>;
65
+ deleteFilter(filterId: string, user: User): Promise<void>;
66
66
  /**
67
67
  * Get columns for a filter
68
68
  */
69
- getFilterColumns(filterId: string): Promise<FilterColumnAP[]>;
69
+ getFilterColumns(filterId: string): Promise<FilterColumn[]>;
70
70
  /**
71
71
  * Update columns for a filter (replace all)
72
72
  */
73
- updateFilterColumns(filterId: string, columns: Partial<FilterColumnAP>[], user: UserAP): Promise<FilterColumnAP[]>;
73
+ updateFilterColumns(filterId: string, columns: Partial<FilterColumn>[], user: User): Promise<FilterColumn[]>;
74
74
  /**
75
75
  * Get filter with columns loaded
76
76
  */
77
- getFilterWithColumns(filterId: string, user: UserAP): Promise<{
78
- filter: FilterAP | null;
79
- columns: FilterColumnAP[];
77
+ getFilterWithColumns(filterId: string, user: User): Promise<{
78
+ filter: Filter | null;
79
+ columns: FilterColumn[];
80
80
  }>;
81
81
  }
82
82
  export default FilterService;
@@ -51,22 +51,22 @@ export class FilterService {
51
51
  * Returns null when filter is not found or user has no access.
52
52
  */
53
53
  async getFilterById(filterId, user) {
54
- const filterModel = this.adminizer.modelHandler.internal('filters').get('FilterAP');
54
+ const filterModel = this.adminizer.modelHandler.internal('filters').get('Filter');
55
55
  const filter = await filterModel.findOne({ where: { id: filterId } });
56
56
  if (!filter) {
57
57
  return null;
58
58
  }
59
- const filterAP = filter;
60
- if (!this.canViewFilter(filterAP, user)) {
59
+ const savedFilter = filter;
60
+ if (!this.canViewFilter(savedFilter, user)) {
61
61
  return null;
62
62
  }
63
- return filterAP;
63
+ return savedFilter;
64
64
  }
65
65
  /**
66
66
  * Get filters for a model accessible by user
67
67
  */
68
68
  async getFiltersForModel(modelName, user, options) {
69
- const filterModel = this.adminizer.modelHandler.internal('filters').get('FilterAP');
69
+ const filterModel = this.adminizer.modelHandler.internal('filters').get('Filter');
70
70
  const filters = [];
71
71
  // Build base criteria
72
72
  const baseCriteria = { modelName };
@@ -205,7 +205,7 @@ export class FilterService {
205
205
  * Create a new filter
206
206
  */
207
207
  async createFilter(data, user) {
208
- const filterModel = this.adminizer.modelHandler.internal('filters').get('FilterAP');
208
+ const filterModel = this.adminizer.modelHandler.internal('filters').get('Filter');
209
209
  // Generate UUID if not provided
210
210
  if (!data.id) {
211
211
  data.id = crypto.randomUUID();
@@ -230,7 +230,7 @@ export class FilterService {
230
230
  if (!this.canEditFilter(filter, user)) {
231
231
  throw new Error('Access denied');
232
232
  }
233
- const filterModel = this.adminizer.modelHandler.internal('filters').get('FilterAP');
233
+ const filterModel = this.adminizer.modelHandler.internal('filters').get('Filter');
234
234
  // Don't allow changing owner
235
235
  delete data.ownerId;
236
236
  delete data.id;
@@ -253,7 +253,7 @@ export class FilterService {
253
253
  throw new Error('Access denied');
254
254
  }
255
255
  // Delete columns first - find by filter association and delete by ID
256
- const columnModel = this.adminizer.modelHandler.internal('filters').get('FilterColumnAP');
256
+ const columnModel = this.adminizer.modelHandler.internal('filters').get('FilterColumn');
257
257
  if (columnModel) {
258
258
  // Find columns for this filter
259
259
  const columns = await columnModel.find({ where: { filter: filterId } });
@@ -263,7 +263,7 @@ export class FilterService {
263
263
  }
264
264
  }
265
265
  // Delete filter by ID only
266
- const filterModel = this.adminizer.modelHandler.internal('filters').get('FilterAP');
266
+ const filterModel = this.adminizer.modelHandler.internal('filters').get('Filter');
267
267
  if (filterModel) {
268
268
  // Use destroyOne with explicit ID to avoid cascade
269
269
  await filterModel.destroyOne({ where: { id: filterId } });
@@ -273,7 +273,7 @@ export class FilterService {
273
273
  * Get columns for a filter
274
274
  */
275
275
  async getFilterColumns(filterId) {
276
- const columnModel = this.adminizer.modelHandler.internal('filters').get('FilterColumnAP');
276
+ const columnModel = this.adminizer.modelHandler.internal('filters').get('FilterColumn');
277
277
  const columns = await columnModel.find({ where: { filter: filterId } });
278
278
  // Sort by order
279
279
  return columns.sort((a, b) => (a.order || 0) - (b.order || 0));
@@ -289,7 +289,7 @@ export class FilterService {
289
289
  if (!this.canEditFilter(filter, user)) {
290
290
  throw new Error('Access denied');
291
291
  }
292
- const columnModel = this.adminizer.modelHandler.internal('filters').get('FilterColumnAP');
292
+ const columnModel = this.adminizer.modelHandler.internal('filters').get('FilterColumn');
293
293
  // Delete existing columns
294
294
  await columnModel.destroy({ where: { filter: filterId } });
295
295
  // Create new columns