@objectstack/console 13.0.0 → 14.5.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/dist/.objectui-sha +1 -1
- package/dist/assets/{AdapterProvider-G7o889LL.js → AdapterProvider-VM9K3D39.js} +1 -1
- package/dist/assets/{AiPendingActionsPage-B_bQ89Ap.js → AiPendingActionsPage-mX_Izb42.js} +1 -1
- package/dist/assets/{ApiConsolePage-oJexbnMd.js → ApiConsolePage-CW5efCG0.js} +1 -1
- package/dist/assets/{AppDocsIndex-B2EMS--S.js → AppDocsIndex-xfVoWnj-.js} +1 -1
- package/dist/assets/{AppManagementPage-BSLRnX7p.js → AppManagementPage-DjerO44R.js} +1 -1
- package/dist/assets/{ApprovalsInboxPage-DbdgZkz_.js → ApprovalsInboxPage-CaCSwwcc.js} +1 -1
- package/dist/assets/AuditLogPage-REsiCTKG.js +1 -0
- package/dist/assets/{ComponentNavView-Be3JMpLK.js → ComponentNavView-B4EBSM-o.js} +1 -1
- package/dist/assets/{ConsoleFloatingChatbot-MtFbTLoq.js → ConsoleFloatingChatbot-DtJ5G3pF.js} +1 -1
- package/dist/assets/{CreateViewDialog-CboUdp-q.js → CreateViewDialog-FNntBig_.js} +1 -1
- package/dist/assets/{DashboardView-1nXwC0y_.js → DashboardView-Bi3eGvU3.js} +1 -1
- package/dist/assets/{DeveloperHubPage-B55QdK7b.js → DeveloperHubPage-B6pD0HUk.js} +1 -1
- package/dist/assets/{ExpressionProvider-B3pkCzAo.js → ExpressionProvider-D94jBDAc.js} +1 -1
- package/dist/assets/FlowRunsPage-DUZnmBwd.js +1 -0
- package/dist/assets/{IntegrationsPage-gLs4Ms2t.js → IntegrationsPage-EOVS24Ho.js} +2 -2
- package/dist/assets/{InterfaceListPage-CwGb2Th3.js → InterfaceListPage-2m_Tj1YU.js} +1 -1
- package/dist/assets/{ManagedByBadge-BtJfBjbT.js → ManagedByBadge-Dpgfl255.js} +1 -1
- package/dist/assets/{MarketplaceAccessDenied-Bl4faFLm.js → MarketplaceAccessDenied-DuO_FDoh.js} +1 -1
- package/dist/assets/{MarketplaceInstalledPage-BQH-qEi5.js → MarketplaceInstalledPage-DVOm5x-8.js} +1 -1
- package/dist/assets/MarketplacePackagePage-CjH5GQ5Z.js +4 -0
- package/dist/assets/{MarketplacePage-C_HnQQYH.js → MarketplacePage-gPtkwtQv.js} +1 -1
- package/dist/assets/{MetadataInspector-DwPx9ueN.js → MetadataInspector-YoFTAkMA.js} +1 -1
- package/dist/assets/{MetadataProvider-seOmvY8N.js → MetadataProvider-ByLpS5Ra.js} +1 -1
- package/dist/assets/ObjectDataPage-Dj2xHQH3.js +1 -0
- package/dist/assets/PageView-l4f-5mgO.js +1 -0
- package/dist/assets/ProfilePage-CQlOfGDf.js +1 -0
- package/dist/assets/PublicFormsPage-Mu0E7e5y.js +1 -0
- package/dist/assets/RecordDetailView-B_B-3fuJ.js +9 -0
- package/dist/assets/{RecordFormPage-Dmw4MMhg.js → RecordFormPage-BtK8VUj9.js} +1 -1
- package/dist/assets/ReportDefaultInspector-Borp5kRd.js +3 -0
- package/dist/assets/ReportView-BrjYjp74.js +2 -0
- package/dist/assets/{SearchResultsPage-quEMr1ZW.js → SearchResultsPage-CfxZkWx7.js} +1 -1
- package/dist/assets/{SettingsHub-B5Y0DjDk.js → SettingsHub-DgLunUQU.js} +1 -1
- package/dist/assets/{SettingsView-Q3e7GG0S.js → SettingsView-DFfL8vn4.js} +1 -1
- package/dist/assets/SystemHubPage-_NMRZfpb.js +1 -0
- package/dist/assets/{conversationLanguage-CgUPnufx.js → conversationLanguage-C4kzQvae.js} +1 -1
- package/dist/assets/data-adapter-Cz11MUug.js +7 -0
- package/dist/assets/{framework-CBCX6Urh.js → framework-CWU64Lvg.js} +13 -13
- package/dist/assets/getIcon-p-vXfFiY.js +1 -0
- package/dist/assets/{highlighted-body-OFNGDK62-B5Pqh6xJ.js → highlighted-body-OFNGDK62-CcYD5yKj.js} +1 -1
- package/dist/assets/i18n-DGsfMUMn.js +9 -0
- package/dist/assets/index-052ojABv.js +2 -0
- package/dist/assets/index-Dt-GIgSI.css +2 -0
- package/dist/assets/infrastructure-B9dLsgB4.js +3 -0
- package/dist/assets/marketplaceApi-BN-VhaRz.js +1 -0
- package/dist/assets/mermaid-GHXKKRXX-DWvjDOK-.js +1 -0
- package/dist/assets/metadata-admin-BcCYhjRC.js +23 -0
- package/dist/assets/plugin-calendar-CSE3oYMl.js +1 -0
- package/dist/assets/plugin-charts-DPNohuuV.js +7 -0
- package/dist/assets/plugin-chatbot-BT49v2CR.js +120 -0
- package/dist/assets/plugin-dashboard-N2kUovsm.js +6 -0
- package/dist/assets/plugin-form-mON2217z.js +1 -0
- package/dist/assets/plugin-gantt-BrBwlK5S.js +93 -0
- package/dist/assets/plugin-grid-qkHiovZ2.js +8 -0
- package/dist/assets/plugin-kanban-CAw-uo9I.js +1 -0
- package/dist/assets/plugin-map-CXsqUoPv.js +1 -0
- package/dist/assets/{plugin-markdown-CS5R-t3i.js → plugin-markdown-CFO9Lenx.js} +1 -1
- package/dist/assets/plugin-report-CH4uZunJ.js +59 -0
- package/dist/assets/{plugin-timeline-Cy03-xov.js → plugin-timeline-3MSv2v9S.js} +1 -1
- package/dist/assets/{plugin-tree-DCAEE54g.js → plugin-tree-_3HdWuAy.js} +1 -1
- package/dist/assets/plugin-view-BYrkl7Kl.js +1 -0
- package/dist/assets/plugins-views-Bf2gkCfN.js +4 -0
- package/dist/assets/{skeletons-BjaBYe9k.js → skeletons-ySdMMgAT.js} +1 -1
- package/dist/assets/src-WC2Ki4jb.js +18 -0
- package/dist/assets/{src-D6ENIa3w.js → src-X8yirhNO.js} +1 -1
- package/dist/assets/{types-DXCQOIiO.js → types-B99y2QyO.js} +1 -1
- package/dist/assets/ui-components-DHIW7RSX.js +42 -0
- package/dist/assets/{ui-layout-vWAZODrs.js → ui-layout-DeDkO2oG.js} +1 -1
- package/dist/assets/{useMetadata-D-bLZoNN.js → useMetadata-DdvHABxD.js} +1 -1
- package/dist/assets/{useRecordApprovals-jo_LH43z.js → useRecordApprovals-CL4YRGv_.js} +1 -1
- package/dist/assets/vendor-objectstack-6Mgxtaa1.js +96 -0
- package/dist/index.html +34 -6
- package/package.json +1 -1
- package/dist/assets/AuditLogPage-JHBVKm-o.js +0 -1
- package/dist/assets/FlowRunsPage-CKOKC3O1.js +0 -1
- package/dist/assets/MarketplacePackagePage-B2BXohna.js +0 -4
- package/dist/assets/ObjectDataPage-D8W0OzJe.js +0 -1
- package/dist/assets/PageView-cehnKJ9R.js +0 -1
- package/dist/assets/ProfilePage-CPk5ilAm.js +0 -1
- package/dist/assets/PublicFormsPage-5oWNwPiZ.js +0 -1
- package/dist/assets/RecordDetailView-CUcCVoa1.js +0 -9
- package/dist/assets/ReportDefaultInspector-BBTLmEl-.js +0 -11
- package/dist/assets/ReportView-BPkQVP9-.js +0 -2
- package/dist/assets/SystemHubPage-SIzLdDrE.js +0 -1
- package/dist/assets/data-adapter-BP-pyfs8.js +0 -7
- package/dist/assets/getIcon-Ci4w4xXM.js +0 -1
- package/dist/assets/index-Df624lGg.js +0 -2
- package/dist/assets/index-GDbpsyLD.css +0 -2
- package/dist/assets/infrastructure-ASGyCRMg.js +0 -3
- package/dist/assets/marketplaceApi-N63OOXW-.js +0 -1
- package/dist/assets/mermaid-GHXKKRXX-BlWXnAVk.js +0 -1
- package/dist/assets/metadata-admin-Jkl-QChK.js +0 -23
- package/dist/assets/plugin-calendar-BHRBKeJq.js +0 -1
- package/dist/assets/plugin-charts-DyKYgW3L.js +0 -7
- package/dist/assets/plugin-chatbot-CNLp4fGv.js +0 -120
- package/dist/assets/plugin-dashboard-uOZwquef.js +0 -6
- package/dist/assets/plugin-form-CX8z6nsj.js +0 -1
- package/dist/assets/plugin-gantt-CyktuI6d.js +0 -93
- package/dist/assets/plugin-grid-DNGRZzGM.js +0 -8
- package/dist/assets/plugin-kanban-B0Dwrpca.js +0 -1
- package/dist/assets/plugin-map-Co_pYpOZ.js +0 -1
- package/dist/assets/plugin-report-_y8nt0FZ.js +0 -59
- package/dist/assets/plugin-view-OZpEPOgT.js +0 -1
- package/dist/assets/plugins-views-BVxwkRdi.js +0 -4
- package/dist/assets/src-rXeXV_HX.js +0 -16
- package/dist/assets/ui-components-BOOpjWsQ.js +0 -42
- package/dist/assets/vendor-objectstack-Jcqd9154.js +0 -108
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ui-components-BL3SEdAz.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{g as n,m as r,r as i,y as a}from"./vendor-react-BGDDiZfJ.js";import{d as o}from"./infrastructure-ASGyCRMg.js";import{E as s,L as c,R as l,l as u}from"./framework-CBCX6Urh.js";import{Di as d,G as f,Hr as p,J as m,Or as h,W as g,Zs as _,na as v,xr as y,za as b}from"./ui-components-BOOpjWsQ.js";import"./AdapterProvider-G7o889LL.js";import"./MetadataProvider-seOmvY8N.js";import{r as x}from"./ExpressionProvider-B3pkCzAo.js";import{r as S}from"./useMetadata-D-bLZoNN.js";import{b as C,n as w,v as T,y as E}from"./ReportDefaultInspector-BBTLmEl-.js";import{n as D,r as ee,t as te}from"./MetadataInspector-DwPx9ueN.js";import{a as O,i as k,n as A,r as j}from"./runtime-metadata-persistence-D1KKivGr.js";import{r as M}from"./plugin-dashboard-uOZwquef.js";import{t as ne}from"./useOpenRecordList-B3tjtz1e.js";var N=e(a(),1),P=i();function F({type:e,name:t,metadataClient:n,dirty:r,onResume:i,onAfterChange:a,savedSignal:o}){let s=T(),[c,l]=(0,N.useState)(!1),[u,f]=(0,N.useState)(!1),m=(0,N.useRef)(null),h=(0,N.useCallback)(async()=>{if(!t||!n){l(!1);return}let r;try{r=await O(e,t,{metadataClient:n})}catch{l(!1);return}if(l(!!r),r&&i&&m.current!==t){m.current=t;try{i(r)}catch(e){console.error(`[RuntimeDraftBar] Resume draft failed:`,e)}}},[e,t,n,i]);(0,N.useEffect)(()=>{h()},[h]);let g=(0,N.useRef)(o);(0,N.useEffect)(()=>{o!==g.current&&(g.current=o,o&&l(!0))},[o]);let _=(0,N.useCallback)(async()=>{if(t){f(!0);try{await k(e,t,{metadataClient:n}),l(!1),a?.()}catch(e){console.error(`[RuntimeDraftBar] Publish failed:`,e)}finally{f(!1)}}},[e,t,n,a]),v=(0,N.useCallback)(async()=>{if(t&&!(typeof confirm==`function`&&!confirm(C(`engine.edit.discardDraftConfirm`,s,{type:e,name:t})))){f(!0);try{await A(e,t,{metadataClient:n}),l(!1),a?.()}catch(e){console.error(`[RuntimeDraftBar] Discard draft failed:`,e)}finally{f(!1)}}},[e,t,n,a,s]);return c?(0,P.jsxs)(`div`,{className:`mr-auto flex items-center gap-2`,"data-testid":`runtime-draft-bar`,children:[(0,P.jsxs)(`span`,{className:`text-xs text-amber-700 dark:text-amber-400`,title:E(`engine.edit.draftPending`,s),"data-testid":`runtime-draft-indicator`,children:[`● `,E(`engine.edit.draftPending`,s)]}),(0,P.jsx)(y,{variant:`ghost`,size:`sm`,onClick:v,disabled:u,className:`h-7 w-7 p-0 text-muted-foreground`,title:E(`engine.edit.discardDraft`,s),"aria-label":E(`engine.edit.discardDraft`,s),"data-testid":`runtime-draft-discard`,children:(0,P.jsx)(p,{className:`h-3.5 w-3.5`})}),(0,P.jsx)(y,{size:`sm`,onClick:_,disabled:u||r,className:`h-7 px-2 bg-emerald-600 hover:bg-emerald-700 text-emerald-50`,title:E(r?`engine.edit.publishBlockedDirty`:`engine.edit.publish`,s),"data-testid":`runtime-draft-publish`,children:u?(0,P.jsx)(b,{className:`h-3.5 w-3.5 animate-spin`}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(d,{className:`h-3.5 w-3.5 mr-1`}),E(`engine.edit.publish`,s)]})})]}):null}function I({open:e,onClose:t,config:n,onSave:r,onFieldChange:i,name:a,metadataClient:o,onAfterChange:s}){let{t:c}=u(),l=(0,N.useMemo)(()=>T(),[]),[d,f]=(0,N.useState)(!1),p=(0,N.useMemo)(()=>({...n??{}}),[n]),[m,g]=(0,N.useState)(p),_=(0,N.useRef)(m),v=(0,N.useRef)(p);v.current!==p&&(v.current=p,_.current=p,g(p),f(!1));let b=(0,N.useCallback)(e=>{let t={..._.current,...e};if(_.current=t,g(t),f(!0),i)for(let[n,r]of Object.entries(e))i(n,r,t)},[i]),x=(0,N.useCallback)(()=>{r(_.current),f(!1),t()},[r,t]),S=(0,N.useCallback)(e=>{let t={...e};_.current=t,g(t),f(!1)},[]),C=(0,N.useCallback)(()=>{t()},[t]);return e?(0,P.jsxs)(`aside`,{className:`hidden sm:flex w-[440px] shrink-0 flex-col border-l bg-background h-full`,"data-testid":`report-config-panel`,role:`complementary`,"aria-label":c(`report.editor.title`,{defaultValue:`Edit report`}),children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-4 py-2.5 shrink-0`,children:[(0,P.jsx)(`div`,{className:`text-sm font-medium truncate`,children:c(`report.editor.title`,{defaultValue:`Edit report`})}),(0,P.jsx)(y,{variant:`ghost`,size:`sm`,onClick:t,className:`h-7 w-7 p-0`,"aria-label":c(`common.close`,{defaultValue:`Close`}),"data-testid":`report-config-close`,children:(0,P.jsx)(h,{className:`h-4 w-4`})})]}),(0,P.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:(0,P.jsx)(w,{type:`report`,name:typeof m.name==`string`?m.name:``,draft:m,readOnly:!1,locale:l,onPatch:b})}),(0,P.jsxs)(`div`,{"data-testid":`report-config-footer`,className:`flex items-center justify-end gap-2 border-t px-4 py-2.5 shrink-0`,children:[(0,P.jsx)(F,{type:`report`,name:a,metadataClient:o,dirty:d,onResume:S,onAfterChange:s}),(0,P.jsx)(y,{variant:`ghost`,size:`sm`,onClick:C,"data-testid":`report-config-discard`,children:c(`common.cancel`,{defaultValue:`Cancel`})}),(0,P.jsx)(y,{size:`sm`,onClick:x,"data-testid":`report-config-save`,children:c(`common.save`,{defaultValue:`Save`})})]})]}):null}var L=t({ReportView:()=>V}),R=(0,N.lazy)(()=>n(()=>import(`./plugin-report-_y8nt0FZ.js`).then(e=>e.t).then(e=>({default:e.ReportViewer})),__vite__mapDeps([0]),import.meta.url)),z=(0,N.lazy)(()=>n(()=>import(`./plugin-report-_y8nt0FZ.js`).then(e=>e.t).then(e=>({default:e.ReportRenderer})),__vite__mapDeps([0]),import.meta.url)),B=[{value:`month`,label:`Month`,type:`text`},{value:`revenue`,label:`Revenue`,type:`number`},{value:`count`,label:`Count`,type:`number`},{value:`region`,label:`Region`,type:`text`},{value:`product`,label:`Product`,type:`text`},{value:`source`,label:`Lead Source`,type:`text`},{value:`stage`,label:`Stage`,type:`text`},{value:`amount`,label:`Amount`,type:`number`}];function V({dataSource:e}){let{t}=u(),{reportName:n}=r(),{showDebug:i}=D();c();let a=S(),d=o(),[p,h]=(0,N.useState)(!1),[y,C]=(0,N.useState)(0),{reports:w,objects:T,loading:E,refresh:O}=l(),{app:k}=x(),A=ee(w,n,k?._packageId),[F,L]=(0,N.useState)(A),[V,H]=(0,N.useState)(null),[U,W]=(0,N.useState)([]),[G,K]=(0,N.useState)(!1),q=ne(),[J,Y]=(0,N.useState)(null),X=(0,N.useCallback)(e=>{if(!e||!T?.length)return;let t=T.find(t=>t.name===e);if(!t?.fields)return;let n=t.fields;return Array.isArray(n)?n.map(e=>typeof e==`string`?{value:e,label:e,type:`text`}:{value:e.name,label:e.label||e.name,type:e.type||`text`}):Object.entries(n).map(([e,t])=>({value:e,label:t.label||e,type:t.type||`text`}))},[T]),re=(0,N.useCallback)(async({dataset:e,groupKey:t,object:n,objectFilter:r})=>{try{let i=Object.values(t).filter(e=>e!=null).map(e=>String(e)).join(` / `)||String(F?.label??F?.name??`Details`);if(n&&r){Y({object:n,filter:r,title:i});return}let o=await a.get(`dataset`,e),s=typeof o?.object==`string`?o.object:void 0;if(!s)return;let c=Array.isArray(o?.dimensions)?o.dimensions:[],l=new Map(c.filter(e=>e?.name).map(e=>[e.name,e])),u=T?.find(e=>e.name===s)?.fields,d=e=>{if(Array.isArray(u))return u.find(t=>t?.name===e);if(u&&typeof u==`object`)return u[e]},f={};for(let[e,n]of Object.entries(t)){if(n==null)continue;let t=l.get(e);if(t?.dateGranularity)continue;let r=t?.field||e,i=d(r);if(i?.type===`lookup`||i?.type===`master_detail`)continue;let a=n;if(Array.isArray(i?.options)){let e=i.options.find(e=>e?.label===n||e?.value===n);e&&e.value!=null&&(a=e.value)}f[r]=a}Y({object:s,filter:f,title:i})}catch(e){console.warn(`ReportView: drill failed`,e)}},[a,T,F]),ie=(0,N.useMemo)(()=>{let e=V||F,t=e?.objectName||e?.dataSource?.object||e?.dataSource?.resource;return X(t)??B},[V,F,X]),Z=(0,N.useCallback)(async e=>{try{a&&(await j(`report`,n,e,{metadataClient:a}),O().catch(()=>{}))}catch(e){console.warn(`[ReportView] Auto-save failed:`,e)}},[a,n,O]),ae=(0,N.useCallback)(()=>{H(F),h(!0),C(e=>e+1)},[F]),oe=(0,N.useCallback)(()=>{h(!1)},[]),se=(0,N.useMemo)(()=>V||F,[y]),ce=(0,N.useCallback)(e=>{H(e),Z(e),C(e=>e+1)},[Z]),le=(0,N.useCallback)((e,t)=>{H(n=>({...n,[e]:t}))},[]);(0,N.useEffect)(()=>{L(A)},[A]),(0,N.useEffect)(()=>{p||H(null)},[A]);let Q=V||F,ue=(0,N.useMemo)(()=>JSON.stringify(Q?.filters),[Q?.filters]),de=(0,N.useMemo)(()=>JSON.stringify(Q?.dataSource),[Q?.dataSource]),fe=(0,N.useMemo)(()=>JSON.stringify(Q?.data),[Q?.data]);if((0,N.useEffect)(()=>{if(!Q||!e){W([]);return}if(Q.data&&Array.isArray(Q.data)){W(Q.data);return}if(Q.dataSource){(async()=>{K(!0);try{let t=Q.dataSource.object||Q.dataSource.resource;if(!t){console.warn(`ReportView: dataSource missing object/resource property`),W([]);return}let n=await e.find(t,{$filter:Q.dataSource.filter,$orderby:Q.dataSource.sort,$top:Q.dataSource.limit});W(n.data||[])}catch(e){console.error(`ReportView: Failed to load data from dataSource`,e),W([])}finally{K(!1)}})();return}if(Q.objectName){(async()=>{K(!0);try{let t=await e.find(Q.objectName,{$filter:Q.filters,$orderby:Q.sort,$top:Q.limit||100});W(t.data||[])}catch(e){console.error(`ReportView: Failed to load data from objectName`,e),W([])}finally{K(!1)}})();return}W([])},[Q?.objectName,Q?.limit,ue,de,fe,e]),E)return(0,P.jsx)(`div`,{className:`h-full flex items-center justify-center p-8`,children:(0,P.jsx)(b,{className:`h-8 w-8 animate-spin text-muted-foreground`})});if(!A||!F)return!E&&!A?(0,P.jsx)(`div`,{className:`h-full flex items-center justify-center p-8`,children:(0,P.jsxs)(g,{children:[(0,P.jsx)(`div`,{className:`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted`,children:(0,P.jsx)(_,{className:`h-6 w-6 text-muted-foreground`})}),(0,P.jsx)(m,{children:t(`empty.reportNotFound`)}),(0,P.jsx)(f,{children:t(`empty.reportNotFoundDescription`,{name:n})})]})}):(0,P.jsx)(`div`,{className:`h-full flex items-center justify-center p-8`,children:(0,P.jsx)(b,{className:`h-8 w-8 animate-spin text-muted-foreground`})});let pe=e=>{let t={...e};!t.title&&t.label&&(t.title=t.label);let n=t.objectName||t.dataSource?.object||t.dataSource?.resource,r=n?T?.find(e=>e.name===n):null,i=Array.isArray(r?.fields)?r.fields:r?.fields?Object.entries(r.fields).map(([e,t])=>({name:e,...t})):[],a={};for(let e of i)e&&e.name&&(a[e.name]=e);let o=e=>{let t=e.name||e.field,n=t?a[t]:void 0;if(!n)return e;let r={...e};if(r.type===void 0&&n.type!==void 0&&(r.type=n.type),r.options===void 0&&Array.isArray(n.options)&&(r.options=n.options),r.referenceTo===void 0){let e=n.referenceTo||n.reference?.to||n.target;e&&(r.referenceTo=e)}return r.label===void 0&&n.label&&(r.label=n.label),r};if(!t.fields&&Array.isArray(t.columns)?t.fields=t.columns.map(e=>{let t=o(e);return{name:t.field||t.name,label:t.label,type:t.type,options:t.options,referenceTo:t.referenceTo,format:t.format,renderAs:t.renderAs,colorMap:t.colorMap,...t.aggregate?{aggregation:t.aggregate,showInSummary:!0}:{}}}):Array.isArray(t.fields)&&(t.fields=t.fields.map(o)),t.fields&&Array.isArray(t.fields)&&t.fields.length>0){let n=t.fields.some(e=>e.showInSummary||e.aggregation),r=t.type||t.reportType||`tabular`,i=[];(r===`summary`||n)&&i.push({type:`summary`,title:`Key Metrics`}),i.push({type:`table`,title:`Details`,columns:t.fields.map(e=>({name:e.name,label:e.label,type:e.type,options:e.options,referenceTo:e.referenceTo,format:e.format,renderAs:e.renderAs,colorMap:e.colorMap}))});let a=t.chart||t.chartConfig,o=a?.type||a?.chartType;if(o){let e=a.xAxis||a.xAxisField,t=a.yAxis||a.yAxisFields?.[0];i.push({type:`chart`,title:`Chart`,chart:{type:`chart`,chartType:o,xAxisField:e,yAxisFields:t?[t]:a.yAxisFields}})}if(Array.isArray(e.sections)){let t=e.sections.filter(e=>e.type===`chart`&&!o);i.push(...t)}t.sections=i}else t.sections||=[];return t},$=V||F,me=!!($&&(typeof $.dataset==`string`||$.type===`joined`&&Array.isArray($.blocks)&&$.blocks.some(e=>typeof e?.dataset==`string`)))||!!($&&$.objectName&&($.type===`matrix`||$.type===`joined`||$.type===`summary`||$.type===`tabular`||$.type===void 0||Array.isArray($.groupingsAcross)&&$.groupingsAcross.length>0||Array.isArray($.columns))),he={type:`report-viewer`,report:pe($),data:U,showToolbar:!0,allowExport:!0,loading:G};return(0,P.jsxs)(s,{value:{openRecordList:q},children:[(0,P.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden bg-background`,children:[(0,P.jsxs)(`div`,{className:`flex flex-col sm:flex-row justify-between sm:items-center gap-3 sm:gap-4 p-4 sm:p-6 border-b shrink-0`,children:[(0,P.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,P.jsx)(`h1`,{className:`text-lg sm:text-xl md:text-2xl font-bold tracking-tight truncate`,children:$.title||$.label||`Report Viewer`}),$.description&&(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1 line-clamp-2`,children:$.description})]}),(0,P.jsx)(`div`,{className:`shrink-0 flex items-center gap-1.5`,children:d&&(0,P.jsxs)(`button`,{type:`button`,onClick:ae,className:`inline-flex items-center gap-1.5 rounded-md border border-input bg-background px-2.5 py-1.5 text-xs font-medium text-muted-foreground shadow-sm hover:bg-accent hover:text-accent-foreground`,"data-testid":`report-edit-button`,children:[(0,P.jsx)(v,{className:`h-3.5 w-3.5`}),t(`common.edit`)]})})]}),(0,P.jsxs)(`div`,{className:`flex-1 overflow-hidden flex flex-col sm:flex-row relative`,children:[(0,P.jsx)(`div`,{className:`flex-1 min-w-0 overflow-auto p-4 sm:p-6 lg:p-8 bg-muted/5`,children:(0,P.jsx)(`div`,{className:`w-full shadow-sm border rounded-lg sm:rounded-xl bg-background overflow-hidden min-h-150`,children:(0,P.jsx)(N.Suspense,{fallback:(0,P.jsx)(`div`,{className:`p-8 text-sm text-muted-foreground`,children:t(`common.loading`,{defaultValue:`Loading…`})}),children:me?(0,P.jsx)(`div`,{className:`p-4 sm:p-6`,children:(0,P.jsx)(z,{schema:$,dataSource:e,rows:U,onDrill:re})}):(0,P.jsx)(R,{schema:he})})})}),(0,P.jsx)(I,{open:p&&d,onClose:oe,config:se,onSave:ce,onFieldChange:le,availableFields:ie,getFieldsForObject:X,name:n,metadataClient:a,onAfterChange:()=>O().catch(()=>{})}),(0,P.jsx)(te,{open:i,sections:[{title:`Report Configuration`,data:$}]})]})]}),(0,P.jsx)(M,{open:!!J,onClose:()=>Y(null),title:J?.title??``,objectName:J?.object??``,filter:J?.filter,dataSource:e})]})}export{F as n,L as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{f as t,m as n,r,y as i}from"./vendor-react-BGDDiZfJ.js";import{d as a}from"./infrastructure-ASGyCRMg.js";import{L as o}from"./framework-CBCX6Urh.js";import{$n as s,Ir as c,Lr as l,Ti as u,Ya as d,ar as f,bi as p,cc as m,ei as h,eo as g,er as _,ki as v,nr as y,ns as b,oc as x,oi as S,rr as C,tc as w,tr as T,za as E}from"./ui-components-BOOpjWsQ.js";import"./src-rXeXV_HX.js";var D=e(i(),1),O=r();function k(){let e=t(),{appName:r}=n(),i=r?`/apps/${r}`:``,k=o(),A=a(),[j,M]=(0,D.useState)({users:null,orgs:null,roles:null,permissions:null,auditLogs:null}),[N,P]=(0,D.useState)(!0),F=(0,D.useCallback)(async()=>{if(k){P(!0);try{let[e,t,n,r,i]=await Promise.all([k.find(`sys_user`).catch(()=>({data:[]})),k.find(`sys_org`).catch(()=>({data:[]})),k.find(`sys_role`).catch(()=>({data:[]})),k.find(`sys_permission`).catch(()=>({data:[]})),k.find(`sys_audit_log`).catch(()=>({data:[]}))]);M({users:e.data?.length??0,orgs:t.data?.length??0,roles:n.data?.length??0,permissions:r.data?.length??0,auditLogs:i.data?.length??0})}catch{}finally{P(!1)}}},[k]);(0,D.useEffect)(()=>{F()},[F]);let I=[{title:`Applications`,description:`Manage all configured applications`,icon:d,href:`${i}/system/apps`,countLabel:``,count:null},{title:`Metadata`,description:`Browse and edit every metadata type the platform exposes`,icon:b,href:`${i}/component/metadata/directory`,countLabel:``,count:null},{title:`Datasources`,description:`Connect external databases and sync their tables in as objects`,icon:x,href:`${i}/component/metadata/resource?type=datasource`,countLabel:``,count:null}],L=[{title:`Users`,description:`Manage system users and accounts`,icon:c,href:`${i}/system/users`,countLabel:`users`,count:j.users},{title:`Organizations`,description:`Manage organizations and teams`,icon:w,href:`${i}/system/organizations`,countLabel:`organizations`,count:j.orgs},{title:`Roles`,description:`Configure roles and access levels`,icon:p,href:`${i}/system/roles`,countLabel:`roles`,count:j.roles},{title:`Permissions`,description:`Manage permission rules and assignments`,icon:g,href:`${i}/system/permissions`,countLabel:`permissions`,count:j.permissions},{title:`Audit Log`,description:`View system activity and changes`,icon:v,href:`${i}/system/audit-log`,countLabel:`entries`,count:j.auditLogs},{title:`AI Approvals`,description:`Review actions AI agents propose before they execute`,icon:m,href:`${i}/system/ai-approvals`,countLabel:``,count:null},{title:`App Marketplace`,description:`Browse and install approved apps from the ObjectStack catalog`,icon:S,href:`${i}/system/marketplace`,countLabel:``,count:null,adminOnly:!0},{title:`Settings`,description:`Configure mail, branding, feature flags, and more`,icon:u,href:`${i}/system/settings`,countLabel:``,count:null},{title:`Developer`,description:`API console, flow runs, and public form management`,icon:h,href:`${i}/developer`,countLabel:``,count:null},{title:`Profile`,description:`View and edit your account settings`,icon:l,href:`${i}/system/profile`,countLabel:``,count:null}],R=[...I,...L].filter(e=>!e.adminOnly||A);return(0,O.jsxs)(`div`,{className:`flex flex-col gap-6 p-4 sm:p-6`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold tracking-tight`,children:`System Settings`}),(0,O.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Manage applications, users, roles, permissions, and system configuration`})]}),N&&(0,O.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,role:`status`,"aria-live":`polite`,children:[(0,O.jsx)(E,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),`Loading statistics...`]}),(0,O.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:R.map(t=>{let n=t.icon;return(0,O.jsxs)(s,{className:`cursor-pointer transition-colors hover:bg-accent/50`,onClick:()=>e(t.href),"data-testid":`hub-card-${t.title.toLowerCase().replace(/\s+/g,`-`)}`,role:`link`,tabIndex:0,"aria-label":`${t.title}: ${t.description}`,onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e(t.href))},children:[(0,O.jsxs)(y,{className:`flex flex-row items-center gap-3 pb-2`,children:[(0,O.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:(0,O.jsx)(n,{className:`h-5 w-5`})}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(C,{className:`text-base`,children:t.title}),(0,O.jsx)(T,{className:`text-xs`,children:t.description})]})]}),(0,O.jsx)(_,{className:`pt-0`,children:t.count!==null&&(0,O.jsxs)(f,{variant:`secondary`,children:[t.count,` `,t.countLabel]})})]},t.title)})})]})}export{k as SystemHubPage};
|