diff --git a/packages/analytics/analytics-utilities/src/dashboardSchema.ts b/packages/analytics/analytics-utilities/src/dashboardSchema.ts
index 89897cf0a4..1ae6c8c38b 100644
--- a/packages/analytics/analytics-utilities/src/dashboardSchema.ts
+++ b/packages/analytics/analytics-utilities/src/dashboardSchema.ts
@@ -496,6 +496,10 @@ export const tileConfigSchema = {
properties: {
definition: tileDefinitionSchema,
layout: tileLayoutSchema,
+ id: {
+ type: 'string',
+ description: 'Unique identifier for the tile. If not provided, one will be generated.',
+ },
},
required: ['definition', 'layout'],
additionalProperties: false,
diff --git a/packages/analytics/dashboard-renderer/package.json b/packages/analytics/dashboard-renderer/package.json
index 0ec8952c8c..73d076d140 100644
--- a/packages/analytics/dashboard-renderer/package.json
+++ b/packages/analytics/dashboard-renderer/package.json
@@ -66,7 +66,7 @@
"extends": "../../../package.json"
},
"distSizeChecker": {
- "errorLimit": "512KB"
+ "errorLimit": "600KB"
},
"peerDependencies": {
"@kong-ui-public/analytics-chart": "workspace:^",
diff --git a/packages/analytics/dashboard-renderer/sandbox/index.ts b/packages/analytics/dashboard-renderer/sandbox/index.ts
index 5698f2ef3c..11c25d0f20 100644
--- a/packages/analytics/dashboard-renderer/sandbox/index.ts
+++ b/packages/analytics/dashboard-renderer/sandbox/index.ts
@@ -20,6 +20,11 @@ const router = createRouter({
name: 'home',
component: () => import('./pages/RendererDemo.vue'),
},
+ {
+ path: '/editable',
+ name: 'editable',
+ component: () => import('./pages/EditableDashboardDemo.vue'),
+ },
{
path: '/',
name: 'dynamic',
@@ -39,6 +44,10 @@ const appLinks: SandboxNavigationItem[] = ([
name: 'Static Dashboard',
to: { name: 'home' },
},
+ {
+ name: 'Editable Dashboard',
+ to: { name: 'editable' },
+ },
{
name: 'Dynamic Dashboard',
to: { name: 'dynamic' },
diff --git a/packages/analytics/dashboard-renderer/sandbox/pages/DynamicDashboardDemo.vue b/packages/analytics/dashboard-renderer/sandbox/pages/DynamicDashboardDemo.vue
index 0ab1e67073..ffde761832 100644
--- a/packages/analytics/dashboard-renderer/sandbox/pages/DynamicDashboardDemo.vue
+++ b/packages/analytics/dashboard-renderer/sandbox/pages/DynamicDashboardDemo.vue
@@ -171,6 +171,7 @@ const context: DashboardRendererContext = {
type: 'relative',
time_range: '24h',
},
+ editable: true,
}
const handleUpdateTiles = (tiles: any) => {
diff --git a/packages/analytics/dashboard-renderer/sandbox/pages/EditableDashboardDemo.vue b/packages/analytics/dashboard-renderer/sandbox/pages/EditableDashboardDemo.vue
new file mode 100644
index 0000000000..4d8ddfed3c
--- /dev/null
+++ b/packages/analytics/dashboard-renderer/sandbox/pages/EditableDashboardDemo.vue
@@ -0,0 +1,245 @@
+
+ This is a slotted tile This is another slotted tile
+ Custom Slot
+ Custom Slot 2
+
-