@object-ui/app-shell 5.1.1 → 5.3.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/CHANGELOG.md +322 -0
- package/dist/chrome/CommandPalette.d.ts +6 -1
- package/dist/chrome/CommandPalette.js +40 -4
- package/dist/chrome/ConsoleToaster.js +8 -1
- package/dist/chrome/ErrorBoundary.js +3 -0
- package/dist/chrome/RouteFader.d.ts +32 -0
- package/dist/chrome/RouteFader.js +52 -0
- package/dist/chrome/index.d.ts +2 -0
- package/dist/chrome/index.js +2 -0
- package/dist/chrome/toast-helpers.d.ts +48 -0
- package/dist/chrome/toast-helpers.js +59 -0
- package/dist/console/AppContent.js +108 -2
- package/dist/console/home/HomePage.js +5 -4
- package/dist/console/marketplace/MarkdownText.d.ts +19 -0
- package/dist/console/marketplace/MarkdownText.js +141 -0
- package/dist/console/marketplace/MarketplaceInstalledPage.d.ts +17 -0
- package/dist/console/marketplace/MarketplaceInstalledPage.js +64 -0
- package/dist/console/marketplace/MarketplacePackagePage.d.ts +7 -0
- package/dist/console/marketplace/MarketplacePackagePage.js +200 -0
- package/dist/console/marketplace/MarketplacePage.d.ts +8 -0
- package/dist/console/marketplace/MarketplacePage.js +94 -0
- package/dist/console/marketplace/PackageIcon.d.ts +19 -0
- package/dist/console/marketplace/PackageIcon.js +17 -0
- package/dist/console/marketplace/marketplaceApi.d.ts +122 -0
- package/dist/console/marketplace/marketplaceApi.js +207 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -5
- package/dist/layout/AppHeader.js +16 -2
- package/dist/layout/AppSidebar.js +15 -11
- package/dist/layout/InboxPopover.js +43 -3
- package/dist/observability/index.d.ts +9 -0
- package/dist/observability/index.js +9 -0
- package/dist/observability/sentry.d.ts +46 -0
- package/dist/observability/sentry.js +120 -0
- package/dist/types.d.ts +0 -46
- package/dist/views/RecordDetailView.js +79 -15
- package/package.json +26 -25
- package/src/styles.css +49 -0
- package/dist/components/DashboardRenderer.d.ts +0 -8
- package/dist/components/DashboardRenderer.js +0 -16
- package/dist/components/FormRenderer.d.ts +0 -8
- package/dist/components/FormRenderer.js +0 -31
- package/dist/components/ObjectRenderer.d.ts +0 -8
- package/dist/components/ObjectRenderer.js +0 -74
- package/dist/components/PageRenderer.d.ts +0 -7
- package/dist/components/PageRenderer.js +0 -14
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { SchemaRendererProvider } from '@object-ui/react';
|
|
4
|
-
/**
|
|
5
|
-
* ObjectRenderer - Renders object views (Grid, Kanban, List, etc.)
|
|
6
|
-
*
|
|
7
|
-
* Framework-agnostic component that renders an object view based on schema.
|
|
8
|
-
* Supports all view types registered in the ComponentRegistry.
|
|
9
|
-
*/
|
|
10
|
-
export function ObjectRenderer({ objectName, viewId, dataSource, onRecordClick: _onRecordClick, onEdit: _onEdit, objectDef: externalObjectDef, refreshKey = 0, }) {
|
|
11
|
-
const [objectDef, setObjectDef] = useState(externalObjectDef);
|
|
12
|
-
const [loading, setLoading] = useState(!externalObjectDef);
|
|
13
|
-
const [error, setError] = useState(null);
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
if (externalObjectDef) {
|
|
16
|
-
setObjectDef(externalObjectDef);
|
|
17
|
-
setLoading(false);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
// Fetch object metadata if not provided
|
|
21
|
-
if (dataSource.getMetadata) {
|
|
22
|
-
setLoading(true);
|
|
23
|
-
dataSource
|
|
24
|
-
.getMetadata()
|
|
25
|
-
.then((metadata) => {
|
|
26
|
-
const obj = metadata.objects?.find((o) => o.name === objectName);
|
|
27
|
-
if (obj) {
|
|
28
|
-
setObjectDef(obj);
|
|
29
|
-
setError(null);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
setError(`Object "${objectName}" not found`);
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
.catch((err) => {
|
|
36
|
-
setError(err.message);
|
|
37
|
-
})
|
|
38
|
-
.finally(() => {
|
|
39
|
-
setLoading(false);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
setError('Data source does not support metadata fetching');
|
|
44
|
-
setLoading(false);
|
|
45
|
-
}
|
|
46
|
-
}, [objectName, dataSource, externalObjectDef]);
|
|
47
|
-
if (loading) {
|
|
48
|
-
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: "Loading\u2026" }) }));
|
|
49
|
-
}
|
|
50
|
-
if (error) {
|
|
51
|
-
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsxs("div", { className: "text-destructive", children: ["Error: ", error] }) }));
|
|
52
|
-
}
|
|
53
|
-
if (!objectDef) {
|
|
54
|
-
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: "Object definition not found" }) }));
|
|
55
|
-
}
|
|
56
|
-
// Build view schema
|
|
57
|
-
const viewSchema = buildObjectViewSchema(objectDef, viewId);
|
|
58
|
-
return (_jsx(SchemaRendererProvider, { dataSource: dataSource, children: _jsx("div", { className: "object-renderer h-full", children: _jsxs("div", { className: "h-full p-4", children: [_jsx("h1", { className: "mb-4 text-2xl font-bold", children: objectDef.label || objectDef.name }), _jsxs("div", { className: "text-muted-foreground", children: ["View rendering for ", objectName, " (viewId: ", viewId || 'default', ")"] })] }) }, refreshKey) }));
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Helper to build view schema from object definition
|
|
62
|
-
*/
|
|
63
|
-
function buildObjectViewSchema(objectDef, viewId) {
|
|
64
|
-
// Find the requested view or use default
|
|
65
|
-
const view = viewId
|
|
66
|
-
? objectDef.views?.find((v) => v.id === viewId || v.name === viewId)
|
|
67
|
-
: objectDef.views?.[0];
|
|
68
|
-
return {
|
|
69
|
-
type: view?.type || 'grid',
|
|
70
|
-
objectName: objectDef.name,
|
|
71
|
-
viewId: view?.id,
|
|
72
|
-
...view,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { PageRendererProps } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* PageRenderer - Renders custom page schemas
|
|
4
|
-
*
|
|
5
|
-
* Framework-agnostic component that renders a page based on JSON schema.
|
|
6
|
-
*/
|
|
7
|
-
export declare function PageRenderer({ schema, pageName }: PageRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useObjectTranslation } from '@object-ui/i18n';
|
|
3
|
-
/**
|
|
4
|
-
* PageRenderer - Renders custom page schemas
|
|
5
|
-
*
|
|
6
|
-
* Framework-agnostic component that renders a page based on JSON schema.
|
|
7
|
-
*/
|
|
8
|
-
export function PageRenderer({ schema, pageName }) {
|
|
9
|
-
const { t } = useObjectTranslation();
|
|
10
|
-
if (!schema) {
|
|
11
|
-
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: t('renderer.noPageSchema') }) }));
|
|
12
|
-
}
|
|
13
|
-
return (_jsxs("div", { className: "page-renderer h-full p-4", children: [_jsx("h1", { className: "mb-4 text-2xl font-bold", children: schema.title || pageName || t('renderer.page') }), _jsx("div", { className: "text-muted-foreground", children: t('renderer.pageRendering', { name: schema.title || pageName }) })] }));
|
|
14
|
-
}
|