@praxisui/table 8.0.0-beta.63 → 8.0.0-beta.65

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.
@@ -39578,7 +39578,7 @@ class PraxisTable {
39578
39578
  if (this.aiAdapter || this.aiAdapterLoadStarted)
39579
39579
  return;
39580
39580
  this.aiAdapterLoadStarted = true;
39581
- import('./praxisui-table-table-ai.adapter-CRkIuL7q.mjs')
39581
+ import('./praxisui-table-table-ai.adapter-qfy6aMSq.mjs')
39582
39582
  .then(({ TableAiAdapter }) => {
39583
39583
  this.aiAdapter = new TableAiAdapter(this);
39584
39584
  this.initializeAiAssistantController();
@@ -51361,9 +51361,60 @@ class PraxisTable {
51361
51361
  return null;
51362
51362
  }
51363
51363
  const candidate = value;
51364
- return this.isResourceSurfaceCatalogItem(candidate.recordSurface)
51365
- ? candidate.recordSurface
51366
- : null;
51364
+ if (this.isResourceSurfaceCatalogItem(candidate.recordSurface)) {
51365
+ return candidate.recordSurface;
51366
+ }
51367
+ return this.resolveConfiguredSurfaceOpenAction(value);
51368
+ }
51369
+ resolveConfiguredSurfaceOpenAction(value) {
51370
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
51371
+ return null;
51372
+ }
51373
+ const actionConfig = value;
51374
+ if (String(actionConfig['action'] || '').trim() !== 'surface.open') {
51375
+ return null;
51376
+ }
51377
+ const actionIds = [
51378
+ String(actionConfig['id'] || '').trim(),
51379
+ String(actionConfig['key'] || '').trim(),
51380
+ String(actionConfig['code'] || '').trim(),
51381
+ ].filter(Boolean);
51382
+ if (!actionIds.length) {
51383
+ return null;
51384
+ }
51385
+ for (const surfaceContext of this.getAiAssistantRecordSurfacesContext()?.surfaces ?? []) {
51386
+ const surface = surfaceContext.resourceSurface;
51387
+ if (!this.isResourceSurfaceCatalogItem(surface)) {
51388
+ continue;
51389
+ }
51390
+ const aliases = this.recordSurfaceActionAliases(surfaceContext, surface);
51391
+ if (actionIds.some((id) => aliases.has(this.normalizeSurfaceActionAlias(id)))) {
51392
+ return surface;
51393
+ }
51394
+ }
51395
+ return null;
51396
+ }
51397
+ recordSurfaceActionAliases(context, surface) {
51398
+ const aliases = new Set();
51399
+ const add = (value) => {
51400
+ const normalized = this.normalizeSurfaceActionAlias(value);
51401
+ if (!normalized)
51402
+ return;
51403
+ aliases.add(normalized);
51404
+ aliases.add(this.normalizeSurfaceActionAlias(`open-${normalized}`));
51405
+ aliases.add(this.normalizeSurfaceActionAlias(`${normalized}.action`));
51406
+ };
51407
+ add(surface.id);
51408
+ add(context.id);
51409
+ return aliases;
51410
+ }
51411
+ normalizeSurfaceActionAlias(value) {
51412
+ return String(value || '')
51413
+ .trim()
51414
+ .toLowerCase()
51415
+ .replace(/[^a-z0-9._-]+/g, '-')
51416
+ .replace(/-+/g, '-')
51417
+ .replace(/^-|-$/g, '');
51367
51418
  }
51368
51419
  isWritableRowSurface(surface) {
51369
51420
  return surface.kind === 'FORM' || surface.kind === 'PARTIAL_FORM';
@@ -1,7 +1,7 @@
1
1
  import { firstValueFrom } from 'rxjs';
2
2
  import { BaseAiAdapter, createComponentAuthoringContext } from '@praxisui/ai';
3
3
  import { deepMerge } from '@praxisui/core';
4
- import { z as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, R as coerceTableComponentEditPlans, W as compileTableComponentEditPlans, G as TASK_PRESETS, $ as getTableComponentEditPlanCapabilities, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-D7mgtcbB.mjs';
4
+ import { z as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, R as coerceTableComponentEditPlans, W as compileTableComponentEditPlans, G as TASK_PRESETS, $ as getTableComponentEditPlanCapabilities, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-Opr6LFdK.mjs';
5
5
 
6
6
  const TABLE_COMPONENT_CONTEXT_PACK = {
7
7
  version: 'v1',
@@ -1 +1 @@
1
- export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PraxisFilter, n as PraxisFilterWidgetConfigEditor, o as PraxisTable, p as PraxisTableConfigEditor, q as PraxisTableInlineAuthoringEditorComponent, r as PraxisTableToolbar, s as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, t as TABLE_COMPONENT_AI_CAPABILITIES, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, y as TABLE_COMPONENT_EDIT_PLAN_KIND, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, G as TASK_PRESETS, H as TableDefaultsProvider, I as TableRulesEditorComponent, K as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, L as VisualFormulaBuilderComponent, O as buildTableApplyPlan, Q as coerceTableComponentEditPlan, R as coerceTableComponentEditPlans, U as compileTableComponentEditPlan, W as compileTableComponentEditPlans, X as createTableAuthoringDocument, Y as getActionId, Z as getEnum, _ as getTableCapabilities, $ as getTableComponentEditPlanCapabilities, a0 as isTableRendererSupportedByRichContentP0, a1 as mapTableRendererToRichContentP0, a2 as normalizeTableAuthoringDocument, a3 as parseLegacyOrTableDocument, a4 as providePraxisFilterMetadata, a5 as providePraxisTableMetadata, a6 as serializeTableAuthoringDocument, a7 as toCanonicalTableConfig, a8 as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-D7mgtcbB.mjs';
1
+ export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PraxisFilter, n as PraxisFilterWidgetConfigEditor, o as PraxisTable, p as PraxisTableConfigEditor, q as PraxisTableInlineAuthoringEditorComponent, r as PraxisTableToolbar, s as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, t as TABLE_COMPONENT_AI_CAPABILITIES, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, y as TABLE_COMPONENT_EDIT_PLAN_KIND, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, G as TASK_PRESETS, H as TableDefaultsProvider, I as TableRulesEditorComponent, K as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, L as VisualFormulaBuilderComponent, O as buildTableApplyPlan, Q as coerceTableComponentEditPlan, R as coerceTableComponentEditPlans, U as compileTableComponentEditPlan, W as compileTableComponentEditPlans, X as createTableAuthoringDocument, Y as getActionId, Z as getEnum, _ as getTableCapabilities, $ as getTableComponentEditPlanCapabilities, a0 as isTableRendererSupportedByRichContentP0, a1 as mapTableRendererToRichContentP0, a2 as normalizeTableAuthoringDocument, a3 as parseLegacyOrTableDocument, a4 as providePraxisFilterMetadata, a5 as providePraxisTableMetadata, a6 as serializeTableAuthoringDocument, a7 as toCanonicalTableConfig, a8 as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-Opr6LFdK.mjs';
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "8.0.0-beta.63",
3
+ "version": "8.0.0-beta.65",
4
4
  "description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
- "@praxisui/ai": "^8.0.0-beta.63",
9
- "@praxisui/core": "^8.0.0-beta.63",
10
- "@praxisui/dynamic-fields": "^8.0.0-beta.63",
11
- "@praxisui/dynamic-form": "^8.0.0-beta.63",
12
- "@praxisui/metadata-editor": "^8.0.0-beta.63",
13
- "@praxisui/rich-content": "^8.0.0-beta.63",
14
- "@praxisui/settings-panel": "^8.0.0-beta.63",
15
- "@praxisui/table-rule-builder": "^8.0.0-beta.63",
8
+ "@praxisui/ai": "^8.0.0-beta.65",
9
+ "@praxisui/core": "^8.0.0-beta.65",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.65",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.65",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.65",
13
+ "@praxisui/rich-content": "^8.0.0-beta.65",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.65",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.65",
16
16
  "@angular/cdk": "^21.0.0",
17
17
  "@angular/forms": "^21.0.0",
18
18
  "@angular/material": "^21.0.0",
19
19
  "@angular/router": "^21.0.0",
20
- "@praxisui/dialog": "^8.0.0-beta.63",
20
+ "@praxisui/dialog": "^8.0.0-beta.65",
21
21
  "rxjs": "~7.8.0"
22
22
  },
23
23
  "dependencies": {
@@ -2096,6 +2096,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2096
2096
  private isRowSurfaceAction;
2097
2097
  private isResourceSurfaceCatalogItem;
2098
2098
  private toRecordSurfaceActionConfig;
2099
+ private resolveConfiguredSurfaceOpenAction;
2100
+ private recordSurfaceActionAliases;
2101
+ private normalizeSurfaceActionAlias;
2099
2102
  private isWritableRowSurface;
2100
2103
  private isReadableRowSurface;
2101
2104
  private getDiscoveredSurfaceIcon;