@acorex-platform/framework-client 0.0.57 → 0.0.58

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.
Files changed (52) hide show
  1. package/fesm2022/acorex-platform-framework-client-common.mjs +31 -33
  2. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-framework-client-core.mjs +157 -2
  4. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +55 -19
  6. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
  7. package/fesm2022/{acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-BqPaHKPM.mjs → acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CyZpdazq.mjs} +6 -6
  8. package/fesm2022/{acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-BqPaHKPM.mjs.map → acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CyZpdazq.mjs.map} +1 -1
  9. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +639 -212
  10. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs +32 -16
  12. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs.map +1 -1
  13. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Cmzwhmjw.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-jeOx-Rb8.mjs} +207 -143
  14. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-jeOx-Rb8.mjs.map +1 -0
  15. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-K9HAtqL6.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-B93uWhea.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-K9HAtqL6.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-B93uWhea.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-BZECKfez.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-DITHE0f6.mjs} +2 -2
  18. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-BZECKfez.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-DITHE0f6.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-BuDpC58x.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-f5rLdctT.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-BuDpC58x.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-f5rLdctT.mjs.map} +1 -1
  21. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  22. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +59 -3
  23. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  24. package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-D5pndfBW.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-D9WiRo-_.mjs} +225 -136
  25. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-D9WiRo-_.mjs.map +1 -0
  26. package/fesm2022/{acorex-platform-framework-client-layout-widgets-code-editor-widget-column.component-BL621E1r.mjs → acorex-platform-framework-client-layout-widgets-code-editor-widget-column.component-DqJIiEyu.mjs} +9 -3
  27. package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-column.component-DqJIiEyu.mjs.map +1 -0
  28. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BFgrSnfT.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-kwbJdTwe.mjs} +2 -2
  29. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BFgrSnfT.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-kwbJdTwe.mjs.map} +1 -1
  30. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-Ctjz1PjP.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-Bke-Wy-4.mjs} +2 -2
  31. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-Ctjz1PjP.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-Bke-Wy-4.mjs.map} +1 -1
  32. package/fesm2022/{acorex-platform-framework-client-layout-widgets-triggers-widget-editor.component-B_OM0T7i.mjs → acorex-platform-framework-client-layout-widgets-triggers-widget-editor.component-C-r7txgg.mjs} +21 -17
  33. package/fesm2022/acorex-platform-framework-client-layout-widgets-triggers-widget-editor.component-C-r7txgg.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
  35. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +48 -9
  36. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
  37. package/fesm2022/acorex-platform-framework-client-workflow.mjs +47 -1
  38. package/fesm2022/acorex-platform-framework-client-workflow.mjs.map +1 -1
  39. package/package.json +2 -2
  40. package/types/acorex-platform-framework-client-common.d.ts +2 -3
  41. package/types/acorex-platform-framework-client-core.d.ts +67 -2
  42. package/types/acorex-platform-framework-client-layout-builder.d.ts +4 -3
  43. package/types/acorex-platform-framework-client-layout-components.d.ts +119 -7
  44. package/types/acorex-platform-framework-client-layout-designer.d.ts +2 -0
  45. package/types/acorex-platform-framework-client-layout-entity.d.ts +16 -9
  46. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +14 -1
  47. package/types/acorex-platform-framework-client-layout-widgets.d.ts +6 -0
  48. package/types/acorex-platform-framework-client-workflow.d.ts +29 -2
  49. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Cmzwhmjw.mjs.map +0 -1
  50. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-D5pndfBW.mjs.map +0 -1
  51. package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-column.component-BL621E1r.mjs.map +0 -1
  52. package/fesm2022/acorex-platform-framework-client-layout-widgets-triggers-widget-editor.component-B_OM0T7i.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-framework-client-layout-widgets-code-editor-widget-column.component-BL621E1r.mjs","sources":["../../../../../libs/framework/client/layout/widgets/src/lib/widgets/advance/code-editor/code-editor-widget-column.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPColumnWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\nimport { coerceCodeEditorText } from './code-editor-value.util';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-code-editor-widget-column',\n template: `\n @if (displayText()) {\n <span [title]=\"fullValue()\" class=\"text-xs font-mono text-muted\">\n {{ displayText() }}\n </span>\n } @else {\n <span class=\"text-muted\">---</span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n inputs: ['rawValue', 'rowData'],\n})\nexport class AXPCodeEditorWidgetColumnComponent extends AXPColumnWidgetComponent<string> {\n //#region ---- Computed Properties ----\n\n protected fullValue = computed(() => coerceCodeEditorText(this.rawValue));\n\n protected displayText = computed(() => {\n const value = this.fullValue();\n if (!value) {\n return '';\n }\n\n const trimmed = value.trim().replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n\n // If empty after trimming, return empty\n if (!trimmed) {\n return '';\n }\n\n // Get max length from options (default: 100 characters)\n const options = this.options;\n const maxLength = (options?.['maxLength'] as number) ?? 100;\n\n // If value is shorter than max length, return as-is\n if (trimmed.length <= maxLength) {\n return trimmed;\n }\n\n // Truncate and add ellipsis\n return trimmed.substring(0, maxLength) + '...';\n });\n\n //#endregion\n}\n\n//#endregion\n\n"],"names":[],"mappings":";;;;;AAAA;AAOA;AAEA;AAiBM,MAAO,kCAAmC,SAAQ,wBAAgC,CAAA;AAfxF,IAAA,WAAA,GAAA;;;QAkBc,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;sFAAC;AAE/D,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAClC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;YAC9B,IAAI,CAAC,KAAK,EAAE;AACR,gBAAA,OAAO,EAAE;YACb;YAEA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;;YAGxE,IAAI,CAAC,OAAO,EAAE;AACV,gBAAA,OAAO,EAAE;YACb;;AAGA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;YAC5B,MAAM,SAAS,GAAI,OAAO,GAAG,WAAW,CAAY,IAAI,GAAG;;AAG3D,YAAA,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;AAC7B,gBAAA,OAAO,OAAO;YAClB;;YAGA,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK;QAClD,CAAC;wFAAC;AAGL,IAAA;8GAhCY,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAbjC;;;;;;;;AAQX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKU,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAf9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,QAAQ,EAAE;;;;;;;;AAQX,EAAA,CAAA;oBACC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;AAClC,iBAAA;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-framework-client-layout-widgets-triggers-widget-editor.component-B_OM0T7i.mjs","sources":["../../../../../libs/framework/client/layout/widgets/src/lib/widgets/property-editors/triggers/triggers-widget-editor.component.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPStateMessageComponent } from '@acorex-platform/framework-client/layout/components';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPWidgetTrigger, AXPWidgetTriggers } from '@acorex-platform/framework-shared/core';\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\n\n@Component({\n selector: 'axp-triggers-widget-editor',\n template: `\n <div class=\"flex flex-col gap-2\">\n @if (hasTriggers()) {\n @for (trigger of triggers(); let i = $index; track i) {\n <div\n class=\"flex items-center gap-2 px-2 py-1 rounded-lg border shadow-sm lightest-surface hover:shadow-md transition-shadow\"\n >\n <!-- Trigger Icon -->\n <div\n class=\"flex items-center justify-center w-8 h-8 rounded-md bg-pink-100 text-pink-600 font-semibold shrink-0\"\n >\n <ax-icon icon=\"fa-light fa-bolt\" ></ax-icon>\n </div>\n\n <!-- Trigger Details -->\n <div class=\"flex-1 flex flex-col min-w-0\">\n <!-- Event -->\n <div class=\"flex items-center gap-2\">\n <span class=\"text-xs font-semibold text-gray-500 uppercase tracking-wide w-16\">\n {{ '@general:widgets.triggers.event.label' | translate | async }}\n </span>\n <span\n class=\"text-sm font-mono text-primary cursor-pointer underline truncate\"\n (click)=\"openEventEditor(i)\"\n [title]=\"trigger.event || ''\"\n >\n @if (trigger.event) {\n {{ getEventPreview(trigger.event) }}\n } @else {\n <span class=\"not-italic\">\n {{ '@general:widgets.triggers.event.placeholder' | translate | async }}\n </span>\n }\n </span>\n </div>\n\n <!-- Action -->\n <div class=\"flex items-center gap-2\">\n <span class=\"text-xs font-semibold text-gray-500 uppercase tracking-wide w-16\">\n {{ '@general:widgets.triggers.action.label' | translate | async }}\n </span>\n <span\n class=\"text-sm font-mono text-success cursor-pointer underline truncate\"\n (click)=\"openActionEditor(i)\"\n [title]=\"getActionFullText(trigger.action)\"\n >\n @if (trigger.action) {\n {{ getActionPreview(trigger.action) }}\n } @else {\n <span class=\"not-italic\">\n {{ '@general:widgets.triggers.action.placeholder' | translate | async }}\n </span>\n }\n </span>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex items-center gap-2 shrink-0 ax-sm\">\n <ax-button\n look=\"blank\"\n color=\"danger\"\n [disabled]=\"disabled()\"\n (onClick)=\"handleRemoveTrigger(i)\"\n class=\"px-3\"\n >\n <ax-icon icon=\"fa-light fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n } @else {\n <axp-state-message\n icon=\"fa-light fa-bolt\"\n [description]=\"'@general:widgets.triggers.empty-state.title'\"\n >\n <ax-button\n slot=\"actions\"\n [text]=\"'@general:widgets.triggers.add-first-trigger' | translate | async\"\n look=\"twotone\"\n [disabled]=\"disabled()\"\n (onClick)=\"handleAddTrigger()\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </axp-state-message>\n }\n\n @if (hasTriggers()) {\n <!-- Add Trigger Button -->\n <div class=\"flex items-center justify-end\">\n <ax-button\n [text]=\"'@general:widgets.triggers.add-trigger' | translate | async\"\n look=\"twotone\"\n color=\"primary\"\n [disabled]=\"disabled()\"\n (onClick)=\"handleAddTrigger()\"\n class=\"px-3\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule, AXPStateMessageComponent],\n})\nexport class AXPTriggersWidgetEditComponent extends AXPValueWidgetComponent<AXPWidgetTriggers> {\n //#region ---- Services & Dependencies ----\n\n private readonly popupService = inject(AXPopupService);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n\n protected triggers = computed<AXPWidgetTriggers>(() => {\n const value = this.getValue();\n return Array.isArray(value) ? value : [];\n });\n\n protected hasTriggers = computed<boolean>(() => {\n return this.triggers().length > 0;\n });\n\n //#endregion\n\n //#region ---- Public Methods ----\n\n protected getEventPreview(event: string): string {\n const preview = event.length > 50 ? event.substring(0, 50) + '...' : event;\n return preview;\n }\n\n protected getActionPreview(action: string | string[]): string {\n const actionStr = Array.isArray(action) ? action.join(', ') : action;\n const preview = actionStr.length > 50 ? actionStr.substring(0, 50) + '...' : actionStr;\n return preview;\n }\n\n protected getActionFullText(action: string | string[]): string {\n return Array.isArray(action) ? action.join('\\n') : action;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n protected handleAddTrigger(): void {\n const newTrigger: AXPWidgetTrigger = {\n event: '',\n action: '',\n };\n const currentTriggers = [...this.triggers()];\n currentTriggers.push(newTrigger);\n this.setValue(currentTriggers);\n }\n\n protected handleRemoveTrigger(index: number): void {\n const currentTriggers = [...this.triggers()];\n currentTriggers.splice(index, 1);\n this.setValue(currentTriggers);\n }\n\n protected async openEventEditor(index: number): Promise<void> {\n const trigger = this.triggers()[index];\n if (!trigger) return;\n\n const { AXPTriggerExpressionEditorPopupComponent } = await import(\n './trigger-expression-editor-popup.component'\n );\n\n const result = await this.popupService.open(AXPTriggerExpressionEditorPopupComponent, {\n title: '@general:widgets.triggers.edit-event-expression',\n size: 'lg',\n data: {\n value: signal(trigger.event),\n },\n });\n\n if (result?.data?.value) {\n const updatedTriggers = [...this.triggers()];\n updatedTriggers[index] = {\n ...updatedTriggers[index],\n event: result.data.value,\n };\n this.setValue(updatedTriggers);\n }\n }\n\n protected async openActionEditor(index: number): Promise<void> {\n const trigger = this.triggers()[index];\n if (!trigger) return;\n\n // Convert action to string for editing (if array, join with newlines)\n const actionValue = Array.isArray(trigger.action)\n ? trigger.action.join('\\n')\n : trigger.action || '';\n\n const { AXPTriggerExpressionEditorPopupComponent } = await import(\n './trigger-expression-editor-popup.component'\n );\n\n const result = await this.popupService.open(AXPTriggerExpressionEditorPopupComponent, {\n title: '@general:widgets.triggers.edit-action-expression',\n size: 'lg',\n data: {\n value: signal(actionValue),\n },\n });\n\n if (result?.data?.value !== undefined) {\n const updatedTriggers = [...this.triggers()];\n // Convert back to array if multiple lines, otherwise keep as string\n const actionResult = result.data.value;\n const action = actionResult.includes('\\n')\n ? actionResult.split('\\n').filter((l: string) => l.trim())\n : actionResult;\n\n updatedTriggers[index] = {\n ...updatedTriggers[index],\n action: action,\n };\n this.setValue(updatedTriggers);\n }\n }\n\n //#endregion\n}\n\n"],"names":["i3","i4"],"mappings":"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"}