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.
- package/Readme.md +2 -1
- package/assets/add-a4odXvQk.js +1 -0
- package/assets/add-group-D-NleXth.js +1 -0
- package/assets/add-user-B4SVJT5P.js +1 -0
- package/assets/app-CtWuWD5N.css +1 -0
- package/assets/app-layout-eaSzcROf.js +1 -0
- package/assets/app.js +35 -39
- package/assets/catalog-ByUICd5z.js +6 -0
- package/assets/controls/chunks/_commonjsHelpers-C6fGbg64.js +6 -0
- package/assets/controls/chunks/index-CjiZ2FIa.js +93 -0
- package/assets/controls/chunks/jsx-runtime-jIxVPx5o.js +31 -0
- package/assets/controls/chunks/use-appearance-CFLOwiSX.js +38 -0
- package/assets/controls/chunks/use-window-size-BXgBKW65.js +19 -0
- package/assets/controls/chunks/vanilla-picker-Dg97NL4h.js +529 -0
- package/assets/{RelationDialogStack-CnHFOYyR.css → controls/ckeditor.css} +1 -1
- package/assets/controls/ckeditor.es.js +83663 -0
- package/assets/controls/handsontable.css +1 -0
- package/assets/controls/handsontable.es.js +70550 -0
- package/assets/controls/jsoneditor.css +1 -0
- package/assets/controls/jsoneditor.es.js +42009 -0
- package/assets/controls/leaflet.css +1 -0
- package/assets/controls/leaflet.es.js +10299 -0
- package/assets/controls/monaco.es.js +618 -0
- package/assets/controls/toast-ui.css +1 -0
- package/assets/controls/toast-ui.es.js +41768 -0
- package/assets/dashboard-BYd8G2cW.js +3 -0
- package/assets/debounce-BMmXVQ06.js +1 -0
- package/assets/history-B8KIDy44.js +1 -0
- package/assets/init-user-8aUohVDq.js +1 -0
- package/assets/list-ChmtBGjG.js +4 -0
- package/assets/login-CO4laf6m.js +1 -0
- package/assets/manifest.json +60 -615
- package/assets/{media-manager-WcKe1EvD.js → media-manager-BDbpSSjH.js} +3 -3
- package/assets/module-D59aE9uv.js +1 -0
- package/assets/notification-DNoyfNmT.js +20 -0
- package/assets/register-DBYIMXGQ.js +1 -0
- package/assets/{ru-eW0WKkga.js → ru-rYKdQbWF.js} +1 -1
- package/assets/use-appearance-_EbbjHTh.js +1 -0
- package/assets/user-filters-list-BMFRwkYF.js +1 -0
- package/assets/welcome-37rNVUHt.js +1 -0
- package/controllers/add.d.ts +1 -1
- package/controllers/addGroup.js +3 -3
- package/controllers/addUser.js +3 -3
- package/controllers/catalog/Catalog.d.ts +1 -1
- package/controllers/catalog/Catalog.js +2 -1
- package/controllers/catalog/FrontendCatalogAdapter.d.ts +2 -12
- package/controllers/catalog/FrontendCatalogAdapter.js +3 -16
- package/controllers/catalog/FrontentCatalogAdapter.d.ts +2 -12
- package/controllers/catalog/FrontentCatalogAdapter.js +0 -16
- package/controllers/edit.js +6 -11
- package/controllers/editGroup.d.ts +1 -1
- package/controllers/editGroup.js +3 -3
- package/controllers/editUser.d.ts +1 -1
- package/controllers/editUser.js +3 -3
- package/controllers/feed.js +1 -1
- package/controllers/filter-fields/columns.js +1 -1
- package/controllers/filter-fields/getAllUserFilters.js +2 -2
- package/controllers/filter-fields/groups.js +2 -2
- package/controllers/filter-fields/savedFilters.js +1 -1
- package/controllers/history-actions/HistoryController.js +1 -1
- package/controllers/initUser.js +2 -2
- package/controllers/list.d.ts +1 -1
- package/controllers/login.d.ts +1 -1
- package/controllers/login.js +3 -3
- package/controllers/media-manager/ThumbController.js +2 -2
- package/controllers/media-manager/mediaManagerApi.js +13 -15
- package/controllers/register.d.ts +1 -1
- package/controllers/register.js +5 -5
- package/controllers/remove.d.ts +1 -1
- package/controllers/userApiKey.js +2 -2
- package/controllers/view.d.ts +1 -1
- package/controllers/view.js +5 -5
- package/controllers/widgets/Action.js +5 -2
- package/controllers/widgets/Info.js +1 -1
- package/controllers/widgets/filterInfo.js +1 -1
- package/files/favicon.png +0 -0
- package/helpers/accessRightsHelper.d.ts +6 -4
- package/helpers/accessRightsHelper.js +13 -0
- package/helpers/diffHelpers.js +1 -1
- package/helpers/fieldsHelper.d.ts +1 -1
- package/helpers/fieldsHelper.js +8 -4
- package/helpers/filterDatetimeHelper.d.ts +1 -1
- package/helpers/inertiaAddHelper.d.ts +6 -5
- package/helpers/inertiaAddHelper.js +45 -37
- package/helpers/inertiaAutHelper.js +5 -5
- package/helpers/inertiaGroupHelper.d.ts +4 -4
- package/helpers/inertiaMenuHelper.js +1 -1
- package/helpers/inertiaUserHelper.d.ts +3 -3
- package/helpers/inertiaUserHelper.js +1 -1
- package/helpers/menuHelper.d.ts +2 -2
- package/index.d.ts +18 -6
- package/index.js +18 -6
- package/interfaces/adminpanelConfig.d.ts +10 -33
- package/interfaces/global.d.ts +10 -15
- package/interfaces/listQueryBuilder.d.ts +1 -1
- package/lib/Adminizer.d.ts +25 -2
- package/lib/Adminizer.js +124 -50
- package/lib/DataAccessor.d.ts +9 -5
- package/lib/DataAccessor.js +89 -42
- package/lib/access-rights/AccessRightsHandler.d.ts +17 -0
- package/lib/access-rights/AccessRightsHandler.js +63 -0
- package/lib/ai-assistant/AbstractAiModelService.d.ts +5 -8
- package/lib/ai-assistant/AbstractAiModelService.js +3 -14
- package/lib/ai-assistant/AiAssistantHandler.d.ts +2 -2
- package/lib/app-manager/AdminizerApp.d.ts +228 -0
- package/lib/app-manager/AdminizerApp.js +17 -0
- package/lib/app-manager/AppManager.d.ts +18 -0
- package/lib/app-manager/AppManager.js +537 -0
- package/lib/app-manager/AssetHandler.d.ts +17 -0
- package/lib/app-manager/AssetHandler.js +67 -0
- package/lib/app-manager/ConfigLayerHandler.d.ts +18 -0
- package/lib/app-manager/ConfigLayerHandler.js +119 -0
- package/lib/app-manager/ControllerHandler.d.ts +25 -0
- package/lib/app-manager/ControllerHandler.js +140 -0
- package/lib/catalog/AbstractCatalog.d.ts +28 -19
- package/lib/catalog/AbstractCatalog.js +41 -10
- package/lib/catalog/CatalogHandler.d.ts +13 -0
- package/lib/catalog/CatalogHandler.js +48 -2
- package/lib/catalog/CatalogTemplateComponentHandler.d.ts +23 -0
- package/lib/catalog/CatalogTemplateComponentHandler.js +59 -0
- package/lib/controls/Control.d.ts +17 -0
- package/lib/controls/Control.js +1 -0
- package/lib/controls/ControlsHandler.d.ts +5 -6
- package/lib/controls/ControlsHandler.js +0 -13
- package/lib/controls/codeEditor/MonacoEditor.d.ts +3 -4
- package/lib/controls/codeEditor/MonacoEditor.js +13 -8
- package/lib/controls/geojsoneditor/GeoEditor.d.ts +3 -4
- package/lib/controls/geojsoneditor/GeoEditor.js +14 -9
- package/lib/controls/jsoneditor/JsonEditor.d.ts +5 -6
- package/lib/controls/jsoneditor/JsonEditor.js +14 -13
- package/lib/controls/markdown/ToastUiEditor.d.ts +5 -6
- package/lib/controls/markdown/ToastUiEditor.js +14 -13
- package/lib/controls/table/Handsontable.d.ts +5 -6
- package/lib/controls/table/Handsontable.js +14 -13
- package/lib/controls/wysiwyg/CKeditor.d.ts +5 -6
- package/lib/controls/wysiwyg/CKeditor.js +14 -13
- package/lib/filters/ConditionValidator.d.ts +1 -1
- package/lib/filters/FilterService.d.ts +18 -18
- package/lib/filters/FilterService.js +11 -11
- package/lib/history-actions/AbstractHistoryAdapter.d.ts +14 -14
- package/lib/history-actions/AbstractHistoryAdapter.js +5 -6
- package/lib/history-actions/DefaultHistoryAdapter.d.ts +7 -7
- package/lib/history-actions/DefaultHistoryAdapter.js +2 -2
- package/lib/list-query-builder/ListQueryBuilder.d.ts +1 -1
- package/lib/media-manager/AbstractMediaManager.d.ts +14 -3
- package/lib/media-manager/AbstractMediaManager.js +16 -5
- package/lib/media-manager/MediaManagerHandler.d.ts +3 -0
- package/lib/media-manager/MediaManagerHandler.js +30 -5
- package/lib/media-manager/Thumb.js +7 -13
- package/lib/media-manager/helpers/MediaManagerHelper.d.ts +6 -4
- package/lib/media-manager/helpers/MediaManagerHelper.js +18 -18
- package/lib/model/AbstractModel.d.ts +9 -5
- package/lib/model/AbstractModel.js +9 -13
- package/lib/model/InternalModelAccessFactory.js +9 -10
- package/lib/model/ModelHandler.d.ts +45 -7
- package/lib/model/ModelHandler.js +168 -11
- package/lib/model/adapter/sequelize.d.ts +2 -4
- package/lib/model/adapter/sequelize.js +16 -193
- package/lib/model/adapter/typeorm.d.ts +2 -4
- package/lib/model/adapter/typeorm.js +2 -35
- package/lib/notifications/AbstractNotificationService.d.ts +9 -9
- package/lib/notifications/AbstractNotificationService.js +8 -8
- package/lib/notifications/GeneralNotificationService.js +1 -1
- package/lib/notifications/SystemNotificationService.js +1 -1
- package/lib/ui-i18n/uiTranslationKeys.d.ts +1 -1
- package/lib/ui-i18n/uiTranslationKeys.js +1 -0
- package/lib/widgets/abstractCustom.d.ts +7 -2
- package/lib/widgets/abstractCustom.js +6 -0
- package/lib/widgets/abstractInfo.d.ts +4 -1
- package/lib/widgets/abstractWidgetBase.d.ts +2 -0
- package/lib/widgets/abstractWidgetBase.js +2 -0
- package/lib/widgets/widgetHandler.d.ts +6 -2
- package/lib/widgets/widgetHandler.js +70 -19
- package/models/{FilterAP.d.ts → Filter.d.ts} +4 -70
- package/models/Filter.js +1 -0
- package/models/FilterColumn.d.ts +10 -0
- package/models/FilterColumn.js +1 -0
- package/models/Group.d.ts +8 -0
- package/models/Group.js +1 -0
- package/models/HistoryActions.d.ts +14 -0
- package/models/HistoryActions.js +1 -0
- package/models/MediaManagerAP.d.ts +2 -54
- package/models/MediaManagerAP.js +1 -51
- package/models/MediaManagerAssociationsAP.d.ts +1 -35
- package/models/MediaManagerAssociationsAP.js +1 -33
- package/models/MediaManagerMetaAP.d.ts +2 -30
- package/models/MediaManagerMetaAP.js +1 -27
- package/models/Notification.d.ts +13 -0
- package/models/Notification.js +1 -0
- package/models/User.d.ts +23 -0
- package/models/User.js +1 -0
- package/models/UserNotification.d.ts +7 -0
- package/models/UserNotification.js +1 -0
- package/package.json +25 -30
- package/services/FeedService.d.ts +5 -5
- package/services/FeedService.js +1 -1
- package/system/Router.js +2 -10
- package/system/bindAccessRights.js +1 -1
- package/system/bindAuthorization.js +2 -2
- package/system/bindControls.js +7 -6
- package/system/bindDashboardWidgets.js +3 -2
- package/system/bindDev.js +1 -1
- package/system/bindHistory.d.ts +1 -1
- package/system/bindHistory.js +1 -1
- package/system/bindInertia.js +0 -6
- package/system/bindMediaManager.js +4 -17
- package/system/bindNotifications.d.ts +1 -1
- package/system/bindNotifications.js +1 -1
- package/system/bindReqFunctions.d.ts +1 -0
- package/system/bindReqFunctions.js +20 -3
- package/system/buildInternalModelAccess.js +2 -15
- package/system/defaults.js +5 -10
- package/system/systemModelContracts.d.ts +22 -0
- package/system/systemModelContracts.js +155 -0
- package/system/validateSystemModels.d.ts +2 -0
- package/system/validateSystemModels.js +101 -0
- package/translations/ar.json +2 -1
- package/translations/cn.json +2 -1
- package/translations/de.json +2 -1
- package/translations/en.json +1 -0
- package/translations/es.json +2 -1
- package/translations/fr.json +2 -1
- package/translations/hi.json +2 -1
- package/translations/jp.json +2 -1
- package/translations/ko.json +2 -1
- package/translations/pt.json +2 -1
- package/translations/ru.json +2 -1
- package/translations/ua.json +2 -1
- package/translations/uz.json +2 -1
- package/translations/vi.json +2 -1
- package/ui/components/VanillaJSONEditor.d.ts +1 -1
- package/ui/components/handsontable.d.ts +1 -1
- package/ui/components/ui/avatar.d.ts +3 -3
- package/ui/components/ui/badge.d.ts +1 -1
- package/ui/components/ui/breadcrumb.d.ts +7 -7
- package/ui/components/ui/button.d.ts +1 -1
- package/ui/components/ui/calendar.d.ts +1 -1
- package/ui/components/ui/card.d.ts +7 -7
- package/ui/components/ui/checkbox.d.ts +1 -1
- package/ui/components/ui/collapsible.d.ts +3 -3
- package/ui/components/ui/command.d.ts +9 -9
- package/ui/components/ui/context-menu.d.ts +15 -15
- package/ui/components/ui/dialog-stack.d.ts +10 -10
- package/ui/components/ui/dialog.d.ts +10 -10
- package/ui/components/ui/dropdown-menu.d.ts +15 -15
- package/ui/components/ui/input.d.ts +1 -1
- package/ui/components/ui/label.d.ts +1 -1
- package/ui/components/ui/menubar.d.ts +16 -16
- package/ui/components/ui/pagination.d.ts +7 -7
- package/ui/components/ui/popover.d.ts +4 -4
- package/ui/components/ui/select.d.ts +10 -10
- package/ui/components/ui/separator.d.ts +1 -1
- package/ui/components/ui/sheet.d.ts +8 -8
- package/ui/components/ui/sidebar.d.ts +23 -23
- package/ui/components/ui/skeleton.d.ts +1 -1
- package/ui/components/ui/slider.d.ts +1 -1
- package/ui/components/ui/sonner.d.ts +1 -1
- package/ui/components/ui/switch.d.ts +1 -1
- package/ui/components/ui/table.d.ts +8 -8
- package/ui/components/ui/tabs.d.ts +4 -4
- package/ui/components/ui/textarea.d.ts +1 -1
- package/ui/components/ui/tooltip.d.ts +4 -4
- package/assets/RelationDialogStack-DI2bZxQX.js +0 -20
- package/assets/add-DCQ7ZW4B.js +0 -1
- package/assets/add-group-DCVPryBo.js +0 -1
- package/assets/add-group-form-DKRXC2n-.js +0 -1
- package/assets/add-user-B7OOiYxv.js +0 -1
- package/assets/add-user-form-UXAToWQd.js +0 -1
- package/assets/app-AKbNCggP.css +0 -1
- package/assets/app-layout-6EwNBvnR.js +0 -1
- package/assets/app-shell-D8wtkECO.js +0 -1
- package/assets/app-sidebar-DfGjL-2K.js +0 -1
- package/assets/app-sidebar-header-BZbIBQjq.js +0 -1
- package/assets/breadcrumbs-CODaqVkB.js +0 -1
- package/assets/catalog-DVvFGa2X.js +0 -6
- package/assets/dashboard-BadoiH_a.js +0 -3
- package/assets/date-picker-DSOkNiNo.js +0 -1
- package/assets/del-modal-Cd4M7af8.js +0 -1
- package/assets/dynamic-controls-BsrJhPDY.js +0 -1
- package/assets/geo-json-CzR5JBXL.js +0 -1
- package/assets/handsontable-BI98OF5R.js +0 -336
- package/assets/history-D1iLA6rs.js +0 -1
- package/assets/home-DbWj-W_k.js +0 -2
- package/assets/icon-C2JNaLxH.js +0 -1
- package/assets/init-user-D2HSyXup.js +0 -1
- package/assets/input-error-CH2caTtO.js +0 -1
- package/assets/jsoneditor-DVNQmA6G.js +0 -3869
- package/assets/list-CVoljVUw.js +0 -4
- package/assets/login-DFSLEO17.js +0 -1
- package/assets/material-icon-Bx9pGQiQ.js +0 -1
- package/assets/module-DJsC37CM.js +0 -1
- package/assets/monaco-Bl4zdWCn.js +0 -11
- package/assets/nav-footer-BiSQkPt4.js +0 -1
- package/assets/nav-main-rTH0PfDw.js +0 -1
- package/assets/nav-user-Bj6cWs0a.js +0 -1
- package/assets/notification-DKrNfaAB.js +0 -20
- package/assets/pagination-render-AKJvTIRA.js +0 -1
- package/assets/register-BTP4uxsK.js +0 -1
- package/assets/theme-switcher-Dm8EOGzx.js +0 -1
- package/assets/toast-editor-DOg_gvSp.js +0 -668
- package/assets/user-filters-list-C9R9J6Om.js +0 -1
- package/assets/user-info-BgSbT02v.js +0 -1
- package/assets/user-menu-content-TQTXHIv6.js +0 -1
- package/assets/vanilla-picker-B3LgXoKV.js +0 -2
- package/assets/vendor-l0sNRNKZ.js +0 -1
- package/assets/welcome-BwDlAOGh.js +0 -1
- package/controllers/navigation/edit.d.ts +0 -1
- package/controllers/navigation/edit.js +0 -8
- package/lib/ai-assistant/DummyAiModelService.d.ts +0 -8
- package/lib/ai-assistant/DummyAiModelService.js +0 -14
- package/lib/ai-assistant/OpenAiModelService.d.ts +0 -24
- package/lib/ai-assistant/OpenAiModelService.js +0 -184
- package/lib/catalog/Navigation.d.ts +0 -49
- package/lib/catalog/Navigation.js +0 -492
- package/lib/controls/AbstractControls.d.ts +0 -30
- package/lib/controls/AbstractControls.js +0 -14
- package/lib/media-manager/DefaultMediaManager.d.ts +0 -20
- package/lib/media-manager/DefaultMediaManager.js +0 -127
- package/lib/media-manager/Items.d.ts +0 -50
- package/lib/media-manager/Items.js +0 -296
- package/models/FilterAP.js +0 -68
- package/models/FilterColumnAP.d.ts +0 -32
- package/models/FilterColumnAP.js +0 -21
- package/models/GroupAP.d.ts +0 -31
- package/models/GroupAP.js +0 -22
- package/models/HistoryActionsAP.d.ts +0 -56
- package/models/HistoryActionsAP.js +0 -42
- package/models/NavigationAP.d.ts +0 -22
- package/models/NavigationAP.js +0 -16
- package/models/NotificationAP.d.ts +0 -44
- package/models/NotificationAP.js +0 -30
- package/models/UserAP.d.ts +0 -81
- package/models/UserAP.js +0 -57
- package/models/UserNotificationAP.d.ts +0 -26
- package/models/UserNotificationAP.js +0 -18
- package/system/bindAiAssistant.d.ts +0 -2
- package/system/bindAiAssistant.js +0 -30
- package/system/bindModels.d.ts +0 -2
- package/system/bindModels.js +0 -48
- package/system/bindNavigation.d.ts +0 -2
- package/system/bindNavigation.js +0 -38
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Control, ControlType } from "./Control";
|
|
2
2
|
export declare class ControlsHandler {
|
|
3
3
|
private controls;
|
|
4
|
-
add(control:
|
|
5
|
-
get<T extends ControlType>(type: T, name: string):
|
|
6
|
-
getByType<T extends ControlType>(type: T):
|
|
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,
|
|
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 {
|
|
2
|
-
|
|
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(
|
|
7
|
+
constructor(routePrefix: string);
|
|
9
8
|
getConfig(): Config;
|
|
10
9
|
getCssPath(): string | undefined;
|
|
11
10
|
getJsPath(): string | undefined;
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
|
|
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(
|
|
12
|
-
|
|
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
|
|
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 {
|
|
2
|
-
|
|
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(
|
|
7
|
+
constructor(routePrefix: string);
|
|
9
8
|
getConfig(): Config | undefined;
|
|
10
9
|
getCssPath(): string | undefined;
|
|
11
10
|
getJsPath(): string | undefined;
|
|
@@ -1,24 +1,29 @@
|
|
|
1
|
-
|
|
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(
|
|
12
|
-
|
|
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
|
|
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 {
|
|
2
|
-
|
|
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(
|
|
7
|
+
constructor(routePrefix: string);
|
|
9
8
|
getConfig(): Config | undefined;
|
|
10
|
-
getJsPath():
|
|
11
|
-
getCssPath(): undefined;
|
|
9
|
+
getJsPath(): string;
|
|
10
|
+
getCssPath(): string | undefined;
|
|
12
11
|
getName(): string;
|
|
13
12
|
}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
|
|
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(
|
|
14
|
-
|
|
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
|
|
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 {
|
|
2
|
-
|
|
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(
|
|
7
|
+
constructor(routePrefix: string);
|
|
9
8
|
getConfig(): Config | undefined;
|
|
10
|
-
getJsPath():
|
|
11
|
-
getCssPath(): undefined;
|
|
9
|
+
getJsPath(): string;
|
|
10
|
+
getCssPath(): string | undefined;
|
|
12
11
|
getName(): string;
|
|
13
12
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
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(
|
|
19
|
-
|
|
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
|
|
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 {
|
|
2
|
-
|
|
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(
|
|
7
|
+
constructor(routePrefix: string);
|
|
9
8
|
getConfig(): Config | undefined;
|
|
10
9
|
getName(): string;
|
|
11
|
-
getJsPath():
|
|
12
|
-
getCssPath(): undefined;
|
|
10
|
+
getJsPath(): string;
|
|
11
|
+
getCssPath(): string | undefined;
|
|
13
12
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
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(
|
|
21
|
-
|
|
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
|
|
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 {
|
|
2
|
-
|
|
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(
|
|
7
|
+
constructor(routePrefix: string);
|
|
9
8
|
getConfig(): Config;
|
|
10
|
-
getJsPath():
|
|
11
|
-
getCssPath(): undefined;
|
|
9
|
+
getJsPath(): string;
|
|
10
|
+
getCssPath(): string | undefined;
|
|
12
11
|
getName(): string;
|
|
13
12
|
}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
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(
|
|
38
|
-
|
|
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
|
|
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,7 +1,7 @@
|
|
|
1
1
|
import { Adminizer } from '../Adminizer';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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:
|
|
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:
|
|
30
|
+
getFiltersForModel(modelName: string, user: User, options?: {
|
|
31
31
|
includePublic?: boolean;
|
|
32
32
|
includeSystem?: boolean;
|
|
33
|
-
}): Promise<
|
|
33
|
+
}): Promise<Filter[]>;
|
|
34
34
|
/**
|
|
35
35
|
* Check if user can view a filter
|
|
36
36
|
*/
|
|
37
|
-
canViewFilter(filter:
|
|
37
|
+
canViewFilter(filter: Filter, user: User): boolean;
|
|
38
38
|
/**
|
|
39
39
|
* Check if user can edit a filter
|
|
40
40
|
*/
|
|
41
|
-
canEditFilter(filter:
|
|
41
|
+
canEditFilter(filter: Filter, user: User): boolean;
|
|
42
42
|
/**
|
|
43
43
|
* Check if user can delete a filter
|
|
44
44
|
*/
|
|
45
|
-
canDeleteFilter(filter:
|
|
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:
|
|
53
|
+
countFilterResults(filter: Filter, user: User): Promise<number>;
|
|
54
54
|
/**
|
|
55
55
|
* Create a new filter
|
|
56
56
|
*/
|
|
57
|
-
createFilter(data: Partial<
|
|
57
|
+
createFilter(data: Partial<Filter>, user: User): Promise<Filter>;
|
|
58
58
|
/**
|
|
59
59
|
* Update a filter
|
|
60
60
|
*/
|
|
61
|
-
updateFilter(filterId: string, data: Partial<
|
|
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:
|
|
65
|
+
deleteFilter(filterId: string, user: User): Promise<void>;
|
|
66
66
|
/**
|
|
67
67
|
* Get columns for a filter
|
|
68
68
|
*/
|
|
69
|
-
getFilterColumns(filterId: string): Promise<
|
|
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<
|
|
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:
|
|
78
|
-
filter:
|
|
79
|
-
columns:
|
|
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('
|
|
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
|
|
60
|
-
if (!this.canViewFilter(
|
|
59
|
+
const savedFilter = filter;
|
|
60
|
+
if (!this.canViewFilter(savedFilter, user)) {
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
|
-
return
|
|
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('
|
|
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('
|
|
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('
|
|
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('
|
|
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('
|
|
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('
|
|
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('
|
|
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
|