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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c8 as e,ci as G,bX as H,r as V,bW as k,aw as z,b7 as X,ba as Y,bb as Z,b8 as $,b9 as A,bB as q,bF as D,bG as b,bE as p,bC as W,bD as x,bU as v,B as j,aq as _,aB as J}from"./app.js";import{aZ as a}from"./handsontable-BI98OF5R.js";import{A as K}from"./app-layout-6EwNBvnR.js";import"./jsoneditor-DVNQmA6G.js";import"./monaco-Bl4zdWCn.js";import"./app-shell-D8wtkECO.js";import"./app-sidebar-DfGjL-2K.js";import"./nav-main-rTH0PfDw.js";import"./material-icon-Bx9pGQiQ.js";import"./app-sidebar-header-BZbIBQjq.js";import"./breadcrumbs-CODaqVkB.js";import"./nav-user-Bj6cWs0a.js";import"./user-info-BgSbT02v.js";import"./user-menu-content-TQTXHIv6.js";import"./theme-switcher-Dm8EOGzx.js";import"./icon-C2JNaLxH.js";import"./RelationDialogStack-DI2bZxQX.js";import"./dynamic-controls-BsrJhPDY.js";import"./input-error-CH2caTtO.js";const Q=50,ee=[];function se({visibility:o,groupNames:d,t:l}){switch(o){case"private":return e.jsxs(j,{variant:"outline",className:"gap-1 text-xs font-normal",children:[e.jsx(J,{className:"h-3 w-3"}),l("Private")]});case"public":return e.jsxs(j,{variant:"outline",className:"gap-1 text-xs font-normal border-emerald-500/50 text-emerald-600 dark:text-emerald-400",children:[e.jsx(_,{className:"h-3 w-3"}),l("Public")]});case"groups":return e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsxs(j,{variant:"outline",className:"gap-1 text-xs font-normal border-blue-500/50 text-blue-600 dark:text-blue-400",children:[e.jsx(v,{className:"h-3 w-3"}),l("Groups")]}),d&&d.map((t,u)=>e.jsx("span",{className:"text-xs text-muted-foreground",children:t},u))]});default:return e.jsx(j,{variant:"outline",className:"text-xs font-normal",children:o})}}function te({title:o,models:d,apiEndpoint:l}){const{t}=G(),[u,N]=a.useState([]),[E,I]=a.useState(d),[r,g]=a.useState(""),[m,w]=a.useState("all"),[S,y]=a.useState(0),[C,M]=a.useState(!1),[h,F]=a.useState(!1),[L,B]=a.useState(!0),T=a.useRef(null),f=a.useCallback(async(s=!1)=>{if(h)return;const n=s?0:S;s&&(N([]),y(0)),F(!0);try{const i={offset:n,limit:Q};r&&(i.search=r),m!=="all"&&(i.modelName=m);const c=(await H.get(l,{params:i})).data;N(s?c.filters:U=>[...U,...c.filters]),M(c.hasMore),y(n+c.filters.length),c.models&&c.models.length>0&&I(c.models)}catch(i){console.error("Failed to load filters:",i)}finally{F(!1),B(!1)}},[l,h,S,r,m]);a.useEffect(()=>{f(!0)},[]),a.useEffect(()=>{const s=setTimeout(()=>{f(!0)},300);return()=>clearTimeout(s)},[r]),a.useEffect(()=>{f(!0)},[m]),a.useEffect(()=>{const s=new IntersectionObserver(i=>{i[0].isIntersecting&&C&&!h&&f(!1)},{threshold:.1}),n=T.current;return n&&s.observe(n),()=>{n&&s.unobserve(n)}},[C,h,f]);const O=s=>{window.location.href=`/adminizer/model/${s.modelName}?filterId=${s.id}`},P=()=>{g("")},R=r||m!=="all";return L?e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx("p",{className:"text-muted-foreground",children:t("Loading...")})}):e.jsxs("div",{className:"flex flex-col gap-4 p-4 h-full",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h1",{className:"text-2xl font-semibold",children:o}),R&&e.jsxs(V,{variant:"destructive",size:"sm",onClick:()=>{g(""),w("all")},className:"gap-1.5",children:[e.jsx(k,{className:"h-4 w-4"}),t("Reset")]})]}),e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsxs("div",{className:"relative flex-1 max-w-sm",children:[e.jsx(z,{placeholder:t("Search filters..."),value:r,onChange:s=>g(s.target.value)}),r&&e.jsx("button",{className:"absolute right-0 top-0 h-full w-8 px-0 text-destructive cursor-pointer",onClick:P,children:e.jsx(k,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"w-52",children:e.jsxs(X,{value:m,onValueChange:w,children:[e.jsx(Y,{children:e.jsx(Z,{placeholder:t("All models")})}),e.jsxs($,{children:[e.jsx(A,{value:"all",children:t("All models")}),E.map(s=>e.jsx(A,{value:s.name,children:s.title},s.name))]})]})}),e.jsxs("span",{className:"text-sm text-muted-foreground ml-auto",children:[u.length," ",t("found")]})]}),e.jsx("div",{className:"rounded-md border",children:e.jsxs(q,{wrapperHeight:"overflow-y-auto h-[calc(100svh-300px)]",children:[e.jsx(D,{children:e.jsxs(b,{children:[e.jsx(p,{className:"w-[40%]",children:t("Filter Name")}),e.jsx(p,{className:"w-[20%]",children:t("Model")}),e.jsx(p,{className:"w-[15%]",children:t("Visibility")}),e.jsx(p,{className:"w-[10%]",children:t("API access (feed)")}),e.jsx(p,{className:"w-[15%]",children:t("Owner")})]})}),e.jsx(W,{children:u.length===0?e.jsx(b,{children:e.jsx(x,{colSpan:5,className:"text-center text-muted-foreground py-12",children:e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx(v,{className:"h-8 w-8 text-muted-foreground/50"}),e.jsx("p",{children:t("No filters found")})]})})}):u.map(s=>e.jsxs(b,{className:"cursor-pointer group",onClick:()=>O(s),children:[e.jsx(x,{className:"font-medium",children:e.jsx("span",{className:"text-primary group-hover:underline",children:s.name})}),e.jsx(x,{className:"text-muted-foreground",children:s.modelTitle}),e.jsx(x,{children:e.jsx(se,{visibility:s.visibility,groupNames:s.groupNames,t})}),e.jsx(x,{className:"text-sm text-muted-foreground",children:s.apiEnabled?t("Yes"):t("No")}),e.jsx(x,{className:"text-sm text-muted-foreground",children:e.jsx("div",{className:"flex items-center gap-1.5",children:s.isOwner?e.jsxs(e.Fragment,{children:[e.jsx(v,{className:"h-3.5 w-3.5 text-muted-foreground/50"}),t("You")]}):e.jsx(e.Fragment,{children:s.ownerName||t("Unknown")})})})]},s.id))})]})}),e.jsx("div",{ref:T,className:"h-8 flex items-center justify-center",children:h&&!L&&e.jsx("p",{className:"text-sm text-muted-foreground",children:t("Loading more...")})})]})}function Se({title:o,models:d,apiEndpoint:l}){return e.jsx(K,{breadcrumbs:ee,className:"overflow-auto h-[calc(100svh-16px)]",children:e.jsx(te,{title:o,models:d,apiEndpoint:l})})}export{Se as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c8 as a,e as l,g as i,f as c}from"./app.js";import{aZ as o}from"./handsontable-BI98OF5R.js";import"./jsoneditor-DVNQmA6G.js";import"./monaco-Bl4zdWCn.js";function m(){return o.useCallback(n=>{const t=n.trim().split(" ");if(t.length===0)return"";if(t.length===1)return t[0].charAt(0).toUpperCase();const r=t[0].charAt(0),s=t[t.length-1].charAt(0);return`${r}${s}`.toUpperCase()},[])}function h({user:e,showEmail:n=!1}){const t=m();return a.jsxs(a.Fragment,{children:[a.jsxs(l,{className:"h-8 w-8 overflow-hidden rounded-full",children:[a.jsx(i,{src:e.avatar,alt:e.login}),a.jsx(c,{className:"rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white",children:t(e.login)})]}),a.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[a.jsx("span",{className:"truncate font-medium",children:e.login}),n&&a.jsx("span",{className:"text-muted-foreground truncate text-xs",children:e.email})]})]})}export{h as UserInfo};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c8 as e,ak as a,al as n,aj as l,az as c,aC as i}from"./app.js";import{UserInfo as m}from"./user-info-BgSbT02v.js";import{aZ as p}from"./handsontable-BI98OF5R.js";import"./jsoneditor-DVNQmA6G.js";import"./monaco-Bl4zdWCn.js";function u(){return p.useCallback(()=>{document.body.style.removeProperty("pointer-events")},[])}function b({user:t,logout:r,logoutBtn:s}){const o=u();return e.jsxs(e.Fragment,{children:[e.jsx(a,{className:"p-0 font-normal",children:e.jsx("div",{className:"flex items-center gap-2 px-1 py-1.5 text-left text-sm",children:e.jsx(m,{user:t,showEmail:!0})})}),e.jsx(n,{}),e.jsx(l,{asChild:!0,children:e.jsxs(c,{className:"block w-full cursor-pointer",method:"get",href:r,as:"button",onClick:o,children:[e.jsx(i,{className:"mr-2"}),s]})})]})}export{b as UserMenuContent};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var O=function(l,n){if(!(l instanceof n))throw new TypeError("Cannot call a class as a function")},R=(function(){function l(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}return function(n,e,t){return e&&l(n.prototype,e),t&&l(n,t),n}})(),y=(function(){function l(n,e){var t=[],r=!0,i=!1,o=void 0;try{for(var c=n[Symbol.iterator](),a;!(r=(a=c.next()).done)&&(t.push(a.value),!(e&&t.length===e));r=!0);}catch(s){i=!0,o=s}finally{try{!r&&c.return&&c.return()}finally{if(i)throw o}}return t}return function(n,e){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return l(n,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})();String.prototype.startsWith=String.prototype.startsWith||function(l){return this.indexOf(l)===0};String.prototype.padStart=String.prototype.padStart||function(l,n){for(var e=this;e.length<l;)e=n+e;return e};var I={cb:"0f8ff",tqw:"aebd7",q:"-ffff",qmrn:"7fffd4",zr:"0ffff",bg:"5f5dc",bsq:"e4c4",bck:"---",nch:"ebcd",b:"--ff",bvt:"8a2be2",brwn:"a52a2a",brw:"deb887",ctb:"5f9ea0",hrt:"7fff-",chcT:"d2691e",cr:"7f50",rnw:"6495ed",crns:"8dc",crms:"dc143c",cn:"-ffff",Db:"--8b",Dcn:"-8b8b",Dgnr:"b8860b",Dgr:"a9a9a9",Dgrn:"-64-",Dkhk:"bdb76b",Dmgn:"8b-8b",Dvgr:"556b2f",Drng:"8c-",Drch:"9932cc",Dr:"8b--",Dsmn:"e9967a",Dsgr:"8fbc8f",DsTb:"483d8b",DsTg:"2f4f4f",Dtrq:"-ced1",Dvt:"94-d3",ppnk:"1493",pskb:"-bfff",mgr:"696969",grb:"1e90ff",rbrc:"b22222",rwht:"af0",stg:"228b22",chs:"-ff",gnsb:"dcdcdc",st:"8f8ff",g:"d7-",gnr:"daa520",gr:"808080",grn:"-8-0",grnw:"adff2f",hnw:"0fff0",htpn:"69b4",nnr:"cd5c5c",ng:"4b-82",vr:"0",khk:"0e68c",vnr:"e6e6fa",nrb:"0f5",wngr:"7cfc-",mnch:"acd",Lb:"add8e6",Lcr:"08080",Lcn:"e0ffff",Lgnr:"afad2",Lgr:"d3d3d3",Lgrn:"90ee90",Lpnk:"b6c1",Lsmn:"a07a",Lsgr:"20b2aa",Lskb:"87cefa",LsTg:"778899",Lstb:"b0c4de",Lw:"e0",m:"-ff-",mgrn:"32cd32",nn:"af0e6",mgnt:"-ff",mrn:"8--0",mqm:"66cdaa",mmb:"--cd",mmrc:"ba55d3",mmpr:"9370db",msg:"3cb371",mmsT:"7b68ee","":"-fa9a",mtr:"48d1cc",mmvt:"c71585",mnLb:"191970",ntc:"5fffa",mstr:"e4e1",mccs:"e4b5",vjw:"dead",nv:"--80",c:"df5e6",v:"808-0",vrb:"6b8e23",rng:"a5-",rngr:"45-",rch:"da70d6",pgnr:"eee8aa",pgrn:"98fb98",ptrq:"afeeee",pvtr:"db7093",ppwh:"efd5",pchp:"dab9",pr:"cd853f",pnk:"c0cb",pm:"dda0dd",pwrb:"b0e0e6",prp:"8-080",cc:"663399",r:"--",sbr:"bc8f8f",rb:"4169e1",sbrw:"8b4513",smn:"a8072",nbr:"4a460",sgrn:"2e8b57",ssh:"5ee",snn:"a0522d",svr:"c0c0c0",skb:"87ceeb",sTb:"6a5acd",sTgr:"708090",snw:"afa",n:"-ff7f",stb:"4682b4",tn:"d2b48c",t:"-8080",thst:"d8bfd8",tmT:"6347",trqs:"40e0d0",vt:"ee82ee",whT:"5deb3",wht:"",hts:"5f5f5",w:"-",wgrn:"9acd32"};function A(l){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,e=n>0?l.toFixed(n).replace(/0+$/,"").replace(/\.$/,""):l.toString();return e||"0"}var N=(function(){function l(n,e,t,r){O(this,l);var i=this;function o(a){if(a.startsWith("hsl")){var s=a.match(/([\-\d\.e]+)/g).map(Number),p=y(s,4),f=p[0],u=p[1],d=p[2],b=p[3];b===void 0&&(b=1),f/=360,u/=100,d/=100,i.hsla=[f,u,d,b]}else if(a.startsWith("rgb")){var m=a.match(/([\-\d\.e]+)/g).map(Number),h=y(m,4),v=h[0],g=h[1],E=h[2],k=h[3];k===void 0&&(k=1),i.rgba=[v,g,E,k]}else a.startsWith("#")?i.rgba=l.hexToRgb(a):i.rgba=l.nameToRgb(a)||l.hexToRgb(a)}if(n!==void 0)if(Array.isArray(n))this.rgba=n;else if(t===void 0){var c=n&&""+n;c&&o(c.toLowerCase())}else this.rgba=[n,e,t,r===void 0?1:r]}return R(l,[{key:"printRGB",value:function(e){var t=e?this.rgba:this.rgba.slice(0,3),r=t.map(function(i,o){return A(i,o===3?3:0)});return e?"rgba("+r+")":"rgb("+r+")"}},{key:"printHSL",value:function(e){var t=[360,100,100,1],r=["","%","%",""],i=e?this.hsla:this.hsla.slice(0,3),o=i.map(function(c,a){return A(c*t[a],a===3?3:1)+r[a]});return e?"hsla("+o+")":"hsl("+o+")"}},{key:"printHex",value:function(e){var t=this.hex;return e?t:t.substring(0,7)}},{key:"rgba",get:function(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=l.hslToRgb(this._hsla)},set:function(e){e.length===3&&(e[3]=1),this._rgba=e,this._hsla=null}},{key:"rgbString",get:function(){return this.printRGB()}},{key:"rgbaString",get:function(){return this.printRGB(!0)}},{key:"hsla",get:function(){if(this._hsla)return this._hsla;if(!this._rgba)throw new Error("No color is set");return this._hsla=l.rgbToHsl(this._rgba)},set:function(e){e.length===3&&(e[3]=1),this._hsla=e,this._rgba=null}},{key:"hslString",get:function(){return this.printHSL()}},{key:"hslaString",get:function(){return this.printHSL(!0)}},{key:"hex",get:function(){var e=this.rgba,t=e.map(function(r,i){return i<3?r.toString(16):Math.round(r*255).toString(16)});return"#"+t.map(function(r){return r.padStart(2,"0")}).join("")},set:function(e){this.rgba=l.hexToRgb(e)}}],[{key:"hexToRgb",value:function(e){var t=(e.startsWith("#")?e.slice(1):e).replace(/^(\w{3})$/,"$1F").replace(/^(\w)(\w)(\w)(\w)$/,"$1$1$2$2$3$3$4$4").replace(/^(\w{6})$/,"$1FF");if(!t.match(/^([0-9a-fA-F]{8})$/))throw new Error("Unknown hex color; "+e);var r=t.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function(i){return parseInt(i,16)});return r[3]=r[3]/255,r}},{key:"nameToRgb",value:function(e){var t=e.toLowerCase().replace("at","T").replace(/[aeiouyldf]/g,"").replace("ght","L").replace("rk","D").slice(-5,4),r=I[t];return r===void 0?r:l.hexToRgb(r.replace(/\-/g,"00").padStart(6,"f"))}},{key:"rgbToHsl",value:function(e){var t=y(e,4),r=t[0],i=t[1],o=t[2],c=t[3];r/=255,i/=255,o/=255;var a=Math.max(r,i,o),s=Math.min(r,i,o),p=void 0,f=void 0,u=(a+s)/2;if(a===s)p=f=0;else{var d=a-s;switch(f=u>.5?d/(2-a-s):d/(a+s),a){case r:p=(i-o)/d+(i<o?6:0);break;case i:p=(o-r)/d+2;break;case o:p=(r-i)/d+4;break}p/=6}return[p,f,u,c]}},{key:"hslToRgb",value:function(e){var t=y(e,4),r=t[0],i=t[1],o=t[2],c=t[3],a=void 0,s=void 0,p=void 0;if(i===0)a=s=p=o;else{var f=function(h,v,g){return g<0&&(g+=1),g>1&&(g-=1),g<.16666666666666666?h+(v-h)*6*g:g<.5?v:g<.6666666666666666?h+(v-h)*(.6666666666666666-g)*6:h},u=o<.5?o*(1+i):o+i-o*i,d=2*o-u;a=f(d,u,r+1/3),s=f(d,u,r),p=f(d,u,r-1/3)}var b=[a*255,s*255,p*255].map(Math.round);return b[3]=c,b}}]),l})(),z=(function(){function l(){O(this,l),this._events=[]}return R(l,[{key:"add",value:function(e,t,r){e.addEventListener(t,r,!1),this._events.push({target:e,type:t,handler:r})}},{key:"remove",value:function(e,t,r){this._events=this._events.filter(function(i){var o=!0;return e&&e!==i.target&&(o=!1),t&&t!==i.type&&(o=!1),r&&r!==i.handler&&(o=!1),o&&l._doRemove(i.target,i.type,i.handler),!o})}},{key:"destroy",value:function(){this._events.forEach(function(e){return l._doRemove(e.target,e.type,e.handler)}),this._events=[]}}],[{key:"_doRemove",value:function(e,t,r){e.removeEventListener(t,r,!1)}}]),l})();function F(l){var n=document.createElement("div");return n.innerHTML=l,n.firstElementChild}function L(l,n,e){var t=!1;function r(a,s,p){return Math.max(s,Math.min(a,p))}function i(a,s,p){if(p&&(t=!0),!!t){a.preventDefault();var f=n.getBoundingClientRect(),u=f.width,d=f.height,b=s.clientX,m=s.clientY,h=r(b-f.left,0,u),v=r(m-f.top,0,d);e(h/u,v/d)}}function o(a,s){var p=a.buttons===void 0?a.which:a.buttons;p===1?i(a,a,s):t=!1}function c(a,s){a.touches.length===1?i(a,a.touches[0],s):t=!1}l.add(n,"mousedown",function(a){o(a,!0)}),l.add(n,"touchstart",function(a){c(a,!0)}),l.add(window,"mousemove",o),l.add(n,"touchmove",c),l.add(window,"mouseup",function(a){t=!1}),l.add(n,"touchend",function(a){t=!1}),l.add(n,"touchcancel",function(a){t=!1})}var U=`linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,
|
|
2
|
-
linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em`,B=360,P="keydown",x="mousedown",T="focusin";function _(l,n){return(n||document).querySelector(l)}function G(l){l.preventDefault(),l.stopPropagation()}function H(l,n,e,t,r){l.add(n,P,function(i){e.indexOf(i.key)>=0&&t(i)})}var K=(function(){function l(n){O(this,l),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex",cancelButton:!1,defaultColor:"#0cf"},this._events=new z,this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(n)}return R(l,[{key:"setOptions",value:function(e){var t=this;if(!e)return;var r=this.settings;function i(s,p,f){for(var u in s)p[u]=s[u]}if(e instanceof HTMLElement)r.parent=e;else{r.parent&&e.parent&&r.parent!==e.parent&&(this._events.remove(r.parent),this._popupInited=!1),i(e,r),e.onChange&&(this.onChange=e.onChange),e.onDone&&(this.onDone=e.onDone),e.onOpen&&(this.onOpen=e.onOpen),e.onClose&&(this.onClose=e.onClose);var o=e.color||e.colour;o&&this._setColor(o)}var c=r.parent;if(c&&r.popup&&!this._popupInited){var a=function(p){return t.openHandler(p)};this._events.add(c,"click",a),H(this._events,c,[" ","Spacebar","Enter"],a),this._popupInited=!0}else e.parent&&!r.popup&&this.show()}},{key:"openHandler",value:function(e){if(this.show()){e&&e.preventDefault(),this.settings.parent.style.pointerEvents="none";var t=e&&e.type===P?this._domEdit:this.domElement;setTimeout(function(){return t.focus()},100),this.onOpen&&this.onOpen(this.colour)}}},{key:"closeHandler",value:function(e){var t=e&&e.type,r=!1;if(!e)r=!0;else if(t===x||t===T){var i=(this.__containedEvent||0)+100;e.timeStamp>i&&(r=!0)}else G(e),r=!0;r&&this.hide()&&(this.settings.parent.style.pointerEvents="",t!==x&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function(e,t){this.closeHandler(),this.setOptions(e),t&&this.openHandler()}},{key:"setColor",value:function(e,t){this._setColor(e,{silent:t})}},{key:"_setColor",value:function(e,t){if(typeof e=="string"&&(e=e.trim()),!!e){t=t||{};var r=void 0;try{r=new N(e)}catch(o){if(t.failSilently)return;throw o}if(!this.settings.alpha){var i=r.hsla;i[3]=1,r.hsla=i}this.colour=this.color=r,this._setHSLA(null,null,null,null,t)}}},{key:"setColour",value:function(e,t){this.setColor(e,t)}},{key:"show",value:function(){var e=this.settings.parent;if(!e)return!1;if(this.domElement){var t=this._toggleDOM(!0);return this._setPosition(),t}var r=this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>',i=F(r);return this.domElement=i,this._domH=_(".picker_hue",i),this._domSL=_(".picker_sl",i),this._domA=_(".picker_alpha",i),this._domEdit=_(".picker_editor input",i),this._domSample=_(".picker_sample",i),this._domOkay=_(".picker_done button",i),this._domCancel=_(".picker_cancel button",i),i.classList.add("layout_"+this.settings.layout),this.settings.alpha||i.classList.add("no_alpha"),this.settings.editor||i.classList.add("no_editor"),this.settings.cancelButton||i.classList.add("no_cancel"),this._ifPopup(function(){return i.classList.add("popup")}),this._setPosition(),this.colour?this._updateUI():this._setColor(this.settings.defaultColor),this._bindEvents(),!0}},{key:"hide",value:function(){return this._toggleDOM(!1)}},{key:"destroy",value:function(){this._events.destroy(),this.domElement&&this.settings.parent.removeChild(this.domElement)}},{key:"_bindEvents",value:function(){var e=this,t=this,r=this.domElement,i=this._events;function o(s,p,f){i.add(s,p,f)}o(r,"click",function(s){return s.preventDefault()}),L(i,this._domH,function(s,p){return t._setHSLA(s)}),L(i,this._domSL,function(s,p){return t._setHSLA(null,s,1-p)}),this.settings.alpha&&L(i,this._domA,function(s,p){return t._setHSLA(null,null,null,1-p)});var c=this._domEdit;o(c,"input",function(s){t._setColor(this.value,{fromEditor:!0,failSilently:!0})}),o(c,"focus",function(s){var p=this;p.selectionStart===p.selectionEnd&&p.select()}),this._ifPopup(function(){var s=function(u){return e.closeHandler(u)};o(window,x,s),o(window,T,s),H(i,r,["Esc","Escape"],s);var p=function(u){e.__containedEvent=u.timeStamp};o(r,x,p),o(r,T,p),o(e._domCancel,"click",s)});var a=function(p){e._ifPopup(function(){return e.closeHandler(p)}),e.onDone&&e.onDone(e.colour)};o(this._domOkay,"click",a),H(i,r,["Enter"],a)}},{key:"_setPosition",value:function(){var e=this.settings.parent,t=this.domElement;e!==t.parentNode&&e.appendChild(t),this._ifPopup(function(r){getComputedStyle(e).position==="static"&&(e.style.position="relative");var i=r===!0?"popup_right":"popup_"+r;["popup_top","popup_bottom","popup_left","popup_right"].forEach(function(o){o===i?t.classList.add(o):t.classList.remove(o)}),t.classList.add(i)})}},{key:"_setHSLA",value:function(e,t,r,i,o){o=o||{};var c=this.colour,a=c.hsla;[e,t,r,i].forEach(function(s,p){(s||s===0)&&(a[p]=s)}),c.hsla=a,this._updateUI(o),this.onChange&&!o.silent&&this.onChange(c)}},{key:"_updateUI",value:function(e){if(!this.domElement)return;e=e||{};var t=this.colour,r=t.hsla,i="hsl("+r[0]*B+", 100%, 50%)",o=t.hslString,c=t.hslaString,a=this._domH,s=this._domSL,p=this._domA,f=_(".picker_selector",a),u=_(".picker_selector",s),d=_(".picker_selector",p);function b(M,S,C){S.style.left=C*100+"%"}function m(M,S,C){S.style.top=C*100+"%"}b(a,f,r[0]),this._domSL.style.backgroundColor=this._domH.style.color=i,b(s,u,r[1]),m(s,u,1-r[2]),s.style.color=o,m(p,d,1-r[3]);var h=o,v=h.replace("hsl","hsla").replace(")",", 0)"),g="linear-gradient("+[h,v]+")";if(this._domA.style.background=g+", "+U,!e.fromEditor){var E=this.settings.editorFormat,k=this.settings.alpha,w=void 0;switch(E){case"rgb":w=t.printRGB(k);break;case"hsl":w=t.printHSL(k);break;default:w=t.printHex(k)}this._domEdit.value=w}this._domSample.style.color=c}},{key:"_ifPopup",value:function(e,t){this.settings.parent&&this.settings.popup?e&&e(this.settings.popup):t&&t()}},{key:"_toggleDOM",value:function(e){var t=this.domElement;if(!t)return!1;var r=e?"":"none",i=t.style.display!==r;return i&&(t.style.display=r),i}}]),l})();{var D=document.createElement("style");D.textContent='.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}',document.documentElement.firstElementChild.appendChild(D),K.StyleElement=D}export{K as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ck as o,c8 as t}from"./app.js";import{A as p}from"./app-layout-6EwNBvnR.js";import"./jsoneditor-DVNQmA6G.js";import"./handsontable-BI98OF5R.js";import"./monaco-Bl4zdWCn.js";import"./app-shell-D8wtkECO.js";import"./app-sidebar-DfGjL-2K.js";import"./nav-main-rTH0PfDw.js";import"./material-icon-Bx9pGQiQ.js";import"./app-sidebar-header-BZbIBQjq.js";import"./breadcrumbs-CODaqVkB.js";import"./nav-user-Bj6cWs0a.js";import"./user-info-BgSbT02v.js";import"./user-menu-content-TQTXHIv6.js";import"./theme-switcher-Dm8EOGzx.js";import"./icon-C2JNaLxH.js";import"./RelationDialogStack-DI2bZxQX.js";import"./dynamic-controls-BsrJhPDY.js";import"./input-error-CH2caTtO.js";const i=[];function L(){const r=o();return t.jsx(p,{breadcrumbs:i,children:t.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[r.props.title&&t.jsx("div",{className:"text-3xl mb-8",children:r.props.title}),t.jsx("div",{className:"text-3xl mb-8",children:"Adminizer"}),r.props.text&&t.jsx("div",{dangerouslySetInnerHTML:{__html:r.props.text}})]})})}export{L as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function edit(req: ReqType, res: ResType): Promise<void>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ControllerHelper } from "../../helpers/controllerHelper.js";
|
|
2
|
-
import { DataAccessor } from "../../lib/DataAccessor.js";
|
|
3
|
-
export default async function edit(req, res) {
|
|
4
|
-
let modelResource = ControllerHelper.findModelResource(req);
|
|
5
|
-
let dataAccessor = new DataAccessor(req.adminizer, req.user, modelResource, "edit");
|
|
6
|
-
let record = await modelResource.model.findOne({ where: { id: req.params.id } }, dataAccessor);
|
|
7
|
-
return res.redirect(`${req.adminizer.config.routePrefix}/catalog/navigation/${record.label}`);
|
|
8
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AbstractAiModelService } from './AbstractAiModelService';
|
|
2
|
-
import { AiAssistantMessage } from '../../interfaces/types';
|
|
3
|
-
import { UserAP } from '../../models/UserAP';
|
|
4
|
-
import { Adminizer } from '../Adminizer';
|
|
5
|
-
export declare class DummyAiModelService extends AbstractAiModelService {
|
|
6
|
-
constructor(adminizer: Adminizer);
|
|
7
|
-
generateReply(_prompt: string, _history: AiAssistantMessage[], _user: UserAP): Promise<string>;
|
|
8
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AbstractAiModelService } from './AbstractAiModelService.js';
|
|
2
|
-
const DUMMY_RESPONSE = 'Ai-assystant dummy in deveploment';
|
|
3
|
-
export class DummyAiModelService extends AbstractAiModelService {
|
|
4
|
-
constructor(adminizer) {
|
|
5
|
-
super(adminizer, {
|
|
6
|
-
id: 'dummy',
|
|
7
|
-
name: 'Dummy assistant',
|
|
8
|
-
description: 'Development placeholder model that returns a static response.',
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
async generateReply(_prompt, _history, _user) {
|
|
12
|
-
return DUMMY_RESPONSE;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { AbstractAiModelService } from './AbstractAiModelService';
|
|
2
|
-
import { AiAssistantMessage } from '../../interfaces/types';
|
|
3
|
-
import { UserAP } from '../../models/UserAP';
|
|
4
|
-
import { Adminizer } from '../Adminizer';
|
|
5
|
-
import { ActionType } from '../../interfaces/adminpanelConfig';
|
|
6
|
-
import { ModelResource } from '../../interfaces/types';
|
|
7
|
-
import { DataAccessor } from '../DataAccessor';
|
|
8
|
-
type DataAccessorFactory = (modelResource: ModelResource, user: UserAP, action: ActionType) => DataAccessor;
|
|
9
|
-
export declare class OpenAiModelService extends AbstractAiModelService {
|
|
10
|
-
private readonly createAccessor;
|
|
11
|
-
constructor(adminizer: Adminizer, accessorFactory?: DataAccessorFactory);
|
|
12
|
-
generateReply(prompt: string, _history: AiAssistantMessage[], user: UserAP): Promise<string>;
|
|
13
|
-
private handleCreate;
|
|
14
|
-
private parseInstruction;
|
|
15
|
-
private usageMessage;
|
|
16
|
-
private resolveModelResource;
|
|
17
|
-
private normalizeModelConfig;
|
|
18
|
-
private userHasPermission;
|
|
19
|
-
private getPermissionToken;
|
|
20
|
-
private extractPrimaryKey;
|
|
21
|
-
private extractString;
|
|
22
|
-
private extractObject;
|
|
23
|
-
}
|
|
24
|
-
export {};
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { AbstractAiModelService } from './AbstractAiModelService.js';
|
|
2
|
-
import { Adminizer } from '../Adminizer.js';
|
|
3
|
-
import { DataAccessor } from '../DataAccessor.js';
|
|
4
|
-
const ACTION_TOKENS = {
|
|
5
|
-
add: 'create',
|
|
6
|
-
edit: 'update',
|
|
7
|
-
list: 'read',
|
|
8
|
-
view: 'read',
|
|
9
|
-
remove: 'delete',
|
|
10
|
-
};
|
|
11
|
-
export class OpenAiModelService extends AbstractAiModelService {
|
|
12
|
-
createAccessor;
|
|
13
|
-
constructor(adminizer, accessorFactory) {
|
|
14
|
-
super(adminizer, {
|
|
15
|
-
id: 'openai',
|
|
16
|
-
name: 'OpenAI fixture agent',
|
|
17
|
-
description: 'Executes structured commands with DataAccessor using the current user permissions.',
|
|
18
|
-
});
|
|
19
|
-
this.createAccessor = accessorFactory ?? ((modelResource, user, action) => new DataAccessor(adminizer, user, modelResource, action));
|
|
20
|
-
}
|
|
21
|
-
async generateReply(prompt, _history, user) {
|
|
22
|
-
const instruction = this.parseInstruction(prompt);
|
|
23
|
-
if (!instruction) {
|
|
24
|
-
return this.usageMessage();
|
|
25
|
-
}
|
|
26
|
-
switch (instruction.action) {
|
|
27
|
-
case 'create':
|
|
28
|
-
return this.handleCreate(instruction, user);
|
|
29
|
-
default:
|
|
30
|
-
return `Unsupported action "${instruction.action}". The OpenAI agent currently supports only the "create" action.`;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
async handleCreate(instruction, user) {
|
|
34
|
-
const modelResource = this.resolveModelResource(instruction.modelResource);
|
|
35
|
-
if (!modelResource || !modelResource.model) {
|
|
36
|
-
return `Model "${instruction.modelResource}" is not available in this project.`;
|
|
37
|
-
}
|
|
38
|
-
if (!this.userHasPermission(modelResource, user, 'add')) {
|
|
39
|
-
return `User "${user.login}" does not have permission to create ${modelResource.name} records.`;
|
|
40
|
-
}
|
|
41
|
-
if (!instruction.payload || typeof instruction.payload !== 'object') {
|
|
42
|
-
return 'The "create" action requires a "data" object with field values.';
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
const accessor = this.createAccessor(modelResource, user, 'add');
|
|
46
|
-
const created = await modelResource.model.create(instruction.payload, accessor);
|
|
47
|
-
const preview = JSON.stringify(created, null, 2);
|
|
48
|
-
const recordId = this.extractPrimaryKey(created, modelResource);
|
|
49
|
-
const idMessage = recordId !== undefined ? ` (id: ${recordId})` : '';
|
|
50
|
-
return `Record created in ${modelResource.name}${idMessage}:\n${preview}`;
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
54
|
-
Adminizer.log.error('OpenAI agent failed to create record', error);
|
|
55
|
-
return `Failed to create ${modelResource.name} record: ${message}`;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
parseInstruction(prompt) {
|
|
59
|
-
try {
|
|
60
|
-
const parsed = JSON.parse(prompt);
|
|
61
|
-
if (!parsed || typeof parsed !== 'object') {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
const rawAction = this.extractString(parsed, ['action', 'type']);
|
|
65
|
-
if (!rawAction) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
const action = rawAction.toLowerCase();
|
|
69
|
-
if (!['create', 'list', 'update', 'delete'].includes(action)) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
const modelResource = this.extractString(parsed, ['modelResource', 'model']);
|
|
73
|
-
if (!modelResource) {
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
const payload = this.extractObject(parsed, ['data', 'payload', 'record']);
|
|
77
|
-
const criteria = this.extractObject(parsed, ['criteria', 'where', 'filter']);
|
|
78
|
-
return {
|
|
79
|
-
action: action,
|
|
80
|
-
modelResource,
|
|
81
|
-
payload,
|
|
82
|
-
criteria,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
usageMessage() {
|
|
90
|
-
return [
|
|
91
|
-
'Provide JSON instructions so the OpenAI agent can execute them with your permissions.',
|
|
92
|
-
'Example:',
|
|
93
|
-
'```json',
|
|
94
|
-
'{',
|
|
95
|
-
' "action": "create",',
|
|
96
|
-
' "modelResource": "Example",',
|
|
97
|
-
' "data": { "title": "Hello from the agent" }',
|
|
98
|
-
'}',
|
|
99
|
-
'```',
|
|
100
|
-
'The agent uses DataAccessor, so any field-level restrictions from your account are respected.',
|
|
101
|
-
].join('\n');
|
|
102
|
-
}
|
|
103
|
-
resolveModelResource(modelName) {
|
|
104
|
-
const models = this.adminizer.config.models;
|
|
105
|
-
if (!models) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
const loweredName = modelName.toLowerCase();
|
|
109
|
-
const match = Object.entries(models).find(([key, config]) => {
|
|
110
|
-
if (key.toLowerCase() === loweredName) {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
if (typeof config === 'object' && config && 'model' in config && typeof config.model === 'string') {
|
|
114
|
-
return config.model.toLowerCase() === loweredName;
|
|
115
|
-
}
|
|
116
|
-
return false;
|
|
117
|
-
});
|
|
118
|
-
if (!match) {
|
|
119
|
-
return null;
|
|
120
|
-
}
|
|
121
|
-
const [configName, configValue] = match;
|
|
122
|
-
const normalizedConfig = this.normalizeModelConfig(configName, configValue);
|
|
123
|
-
const model = this.adminizer.modelHandler.model.get(normalizedConfig.model);
|
|
124
|
-
if (!model) {
|
|
125
|
-
return null;
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
name: configName,
|
|
129
|
-
uri: `${this.adminizer.config.routePrefix}/model/${configName}`,
|
|
130
|
-
config: normalizedConfig,
|
|
131
|
-
model,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
normalizeModelConfig(name, config) {
|
|
135
|
-
const baseConfig = {
|
|
136
|
-
model: name,
|
|
137
|
-
icon: 'description',
|
|
138
|
-
title: name,
|
|
139
|
-
list: true,
|
|
140
|
-
add: true,
|
|
141
|
-
edit: true,
|
|
142
|
-
remove: true,
|
|
143
|
-
view: true,
|
|
144
|
-
};
|
|
145
|
-
if (typeof config === 'boolean') {
|
|
146
|
-
return config ? baseConfig : { ...baseConfig, list: false, add: false, edit: false, remove: false, view: false };
|
|
147
|
-
}
|
|
148
|
-
return { ...baseConfig, ...config };
|
|
149
|
-
}
|
|
150
|
-
userHasPermission(modelResource, user, action) {
|
|
151
|
-
const token = this.getPermissionToken(modelResource, action);
|
|
152
|
-
return this.adminizer.accessRightsHelper.hasPermission(token, user);
|
|
153
|
-
}
|
|
154
|
-
getPermissionToken(modelResource, action) {
|
|
155
|
-
const verb = ACTION_TOKENS[action];
|
|
156
|
-
const modelName = modelResource.model?.modelname ?? modelResource.config?.model ?? modelResource.name;
|
|
157
|
-
return `${verb}-${modelName}-model`.toLowerCase();
|
|
158
|
-
}
|
|
159
|
-
extractPrimaryKey(record, modelResource) {
|
|
160
|
-
if (!record) {
|
|
161
|
-
return undefined;
|
|
162
|
-
}
|
|
163
|
-
const primaryKey = modelResource.model?.primaryKey ?? 'id';
|
|
164
|
-
return record[primaryKey];
|
|
165
|
-
}
|
|
166
|
-
extractString(source, keys) {
|
|
167
|
-
for (const key of keys) {
|
|
168
|
-
const value = source?.[key];
|
|
169
|
-
if (typeof value === 'string' && value.trim().length > 0) {
|
|
170
|
-
return value.trim();
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return undefined;
|
|
174
|
-
}
|
|
175
|
-
extractObject(source, keys) {
|
|
176
|
-
for (const key of keys) {
|
|
177
|
-
const value = source?.[key];
|
|
178
|
-
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
179
|
-
return value;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
return undefined;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { AbstractCatalog, ActionHandler, Item } from "./AbstractCatalog";
|
|
2
|
-
import { NavigationConfig } from "../../interfaces/adminpanelConfig";
|
|
3
|
-
import { Adminizer } from "../Adminizer";
|
|
4
|
-
export interface NavItem extends Item {
|
|
5
|
-
urlPath?: string;
|
|
6
|
-
modelId?: string | number;
|
|
7
|
-
targetBlank?: boolean;
|
|
8
|
-
visible?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare class StorageService {
|
|
11
|
-
protected storageMap: Map<string | number, NavItem>;
|
|
12
|
-
protected id: string;
|
|
13
|
-
protected model: string;
|
|
14
|
-
protected readonly adminizer: Adminizer;
|
|
15
|
-
readonly ready: Promise<void>;
|
|
16
|
-
constructor(adminizer: Adminizer, id: string, model: string);
|
|
17
|
-
private navigationModel;
|
|
18
|
-
initModel(): Promise<void>;
|
|
19
|
-
getId(): string;
|
|
20
|
-
buildTree(): Promise<any>;
|
|
21
|
-
populateFromTree(tree: any[]): Promise<void>;
|
|
22
|
-
setElement(id: string | number, item: NavItem, init?: boolean): Promise<NavItem>;
|
|
23
|
-
removeElementById(id: string | number): Promise<void>;
|
|
24
|
-
findElementById(id: string | number): Promise<NavItem | undefined>;
|
|
25
|
-
findElementByModelId(modelId: string | number): Promise<NavItem[] | undefined>;
|
|
26
|
-
saveToDB(): Promise<void>;
|
|
27
|
-
findElementsByParentId(parentId: string | number, type: string | null): Promise<NavItem[]>;
|
|
28
|
-
getAllElements(): Promise<NavItem[]>;
|
|
29
|
-
search(s: string, type: string): Promise<NavItem[]>;
|
|
30
|
-
}
|
|
31
|
-
export declare class StorageServices {
|
|
32
|
-
protected storages: StorageService[];
|
|
33
|
-
constructor();
|
|
34
|
-
add(storage: StorageService): void;
|
|
35
|
-
get(id: string): StorageService;
|
|
36
|
-
getAll(): StorageService[];
|
|
37
|
-
/** Resolves when all sections have finished loading from the database */
|
|
38
|
-
ready(): Promise<void>;
|
|
39
|
-
}
|
|
40
|
-
export declare class Navigation extends AbstractCatalog {
|
|
41
|
-
readonly name: string;
|
|
42
|
-
readonly slug: string;
|
|
43
|
-
readonly icon: string;
|
|
44
|
-
readonly actionHandlers: ActionHandler[];
|
|
45
|
-
idList: string[];
|
|
46
|
-
storageServices: StorageServices;
|
|
47
|
-
constructor(adminizer: Adminizer, config: NavigationConfig);
|
|
48
|
-
getIdList(): Promise<string[]>;
|
|
49
|
-
}
|