@memberjunction/ng-dashboard-viewer 5.3.1 → 5.4.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.
Files changed (28) hide show
  1. package/dist/__tests__/exports.test.js.map +1 -1
  2. package/dist/__tests__/index.test.js.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/breadcrumb/dashboard-breadcrumb.component.js.map +1 -1
  5. package/dist/lib/config-dialogs/confirm-dialog.component.js.map +1 -1
  6. package/dist/lib/config-dialogs/index.js.map +1 -1
  7. package/dist/lib/config-panels/artifact-config-panel.component.js.map +1 -1
  8. package/dist/lib/config-panels/base-config-panel.js.map +1 -1
  9. package/dist/lib/config-panels/index.js.map +1 -1
  10. package/dist/lib/config-panels/query-config-panel.component.js.map +1 -1
  11. package/dist/lib/config-panels/view-config-panel.component.js.map +1 -1
  12. package/dist/lib/config-panels/weburl-config-panel.component.js.map +1 -1
  13. package/dist/lib/dashboard-browser/dashboard-browser.component.js.map +1 -1
  14. package/dist/lib/dashboard-browser/index.js.map +1 -1
  15. package/dist/lib/dashboard-viewer/dashboard-viewer.component.js.map +1 -1
  16. package/dist/lib/dashboard-viewer.module.js.map +1 -1
  17. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.js.map +1 -1
  18. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.js.map +1 -1
  19. package/dist/lib/models/dashboard-types.js.map +1 -1
  20. package/dist/lib/parts/artifact-part.component.js.map +1 -1
  21. package/dist/lib/parts/base-dashboard-part.js.map +1 -1
  22. package/dist/lib/parts/index.js.map +1 -1
  23. package/dist/lib/parts/query-part.component.js.map +1 -1
  24. package/dist/lib/parts/view-part.component.js.map +1 -1
  25. package/dist/lib/parts/weburl-part.component.js.map +1 -1
  26. package/dist/lib/services/golden-layout-wrapper.service.js.map +1 -1
  27. package/dist/public-api.js.map +1 -1
  28. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\n\ndescribe('@memberjunction/ng-dashboard-viewer', () => {\n it('should have a public API entry point', () => {\n const pkgRoot = resolve(__dirname, '../..');\n const hasPublicApi = existsSync(resolve(pkgRoot, 'src/public-api.ts'));\n const hasIndex = existsSync(resolve(pkgRoot, 'src/index.ts'));\n expect(hasPublicApi || hasIndex).toBe(true);\n });\n\n it('should have a package.json with correct name', () => {\n const pkgRoot = resolve(__dirname, '../..');\n const pkg = require(resolve(pkgRoot, 'package.json'));\n expect(pkg.name).toBe('@memberjunction/ng-dashboard-viewer');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from 'vitest';\n\ndescribe('@memberjunction/ng-dashboard-viewer', () => {\n it('should have a passing test', () => {\n expect(true).toBe(true);\n });\n});\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './public-api';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-breadcrumb.component.js","sourceRoot":"","sources":["../../../src/lib/breadcrumb/dashboard-breadcrumb.component.ts","../../../src/lib/breadcrumb/dashboard-breadcrumb.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-breadcrumb.component.js","sourceRoot":"","sources":["../../../src/lib/breadcrumb/dashboard-breadcrumb.component.ts","../../../src/lib/breadcrumb/dashboard-breadcrumb.component.html"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,YAAY,EACZ,uBAAuB,EAE1B,MAAM,eAAe,CAAC;;;;ICYjB,uBAA8D;IAC9D,iCAOoC;IAAlC,AADA,AADA,AADA,wYAAsC,8BAAoB,GAAG,IAAI,KAAC,iOACtD,sCAA4B,KAAC,kMAC5B,oBAAa,KAAC,yNACnB,kCAAwB,KAAC;IACjC,uBAAkC;IAClC,4BAAM;IAAA,YAAgB;IACxB,AADwB,iBAAO,EACtB;;;;;;IARP,cAA4C;IAC5C,AADA,2FAA4C,0DACS;IAM/C,eAAgB;IAAhB,mCAAgB;;;IAKxB,uBAA8D;IAC9D,+BAAqD;IACnD,uBAAsC;IACtC,4BAAM;IAAA,YAA2B;IACnC,AADmC,iBAAO,EACnC;;;IADC,eAA2B;IAA3B,kDAA2B;;;;IA9BrC,AALF,8BAGG,gBAQ+B;IAA9B,AADA,AADA,AADA,gMAAS,kBAAW,IAAI,CAAC,KAAC,+LACd,kBAAW,IAAI,SAAS,KAAC,2LACxB,oBAAa,KAAC,uLACnB,cAAO,IAAI,SAAS,KAAC;IAC7B,oBAA0B;IAC1B,4BAAM;IAAA,YAAe;IACvB,AADuB,iBAAO,EACrB;IAET,mJAaC;IAED,kGAA6C;IAO/C,iBAAM;;;IApCJ,gDAAgC;IAK9B,cAAiD;IAAjD,iEAAiD;IAK9C,cAAkB;IAAlB,8BAAkB;IACf,eAAe;IAAf,sCAAe;IAGvB,cAaC;IAbD,iCAaC;IAED,eAMC;IAND,8EAMC;;ADbL;;;;GAIG;AAQH,MAAM,OAAO,4BAA4B;IA6EjB;IA5EpB,2CAA2C;IAC3C,SAAS;IACT,2CAA2C;IAE3C,kDAAkD;IAC1C,WAAW,GAAgC,EAAE,CAAC;IAEtD,IACI,UAAU,CAAC,KAAkC;QAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC;QAC/B,4FAA4F;QAC5F,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,wCAAwC;IAChC,kBAAkB,GAAkB,IAAI,CAAC;IAEjD,IACI,iBAAiB,CAAC,KAAoB;QACtC,IAAI,KAAK,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,4DAA4D;IACnD,gBAAgB,GAA6B,IAAI,CAAC;IAE3D,8CAA8C;IACrC,QAAQ,GAAG,wBAAwB,CAAC;IAE7C,yCAAyC;IAChC,SAAS,GAAG,YAAY,CAAC;IAElC,4DAA4D;IACnD,iBAAiB,GAAG,KAAK,CAAC;IAEnC,uDAAuD;IAC9C,aAAa,GAAG,IAAI,CAAC;IAE9B,kEAAkE;IACzD,OAAO,GAAG,IAAI,CAAC;IAExB,wCAAwC;IAC/B,IAAI,GAAuB,QAAQ,CAAC;IAE7C,2CAA2C;IAC3C,UAAU;IACV,2CAA2C;IAE3C,+DAA+D;IACrD,QAAQ,GAAG,IAAI,YAAY,EAA2B,CAAC;IAEjE,+DAA+D;IACrD,aAAa,GAAG,IAAI,YAAY,EAAuB,CAAC;IAElE,2CAA2C;IAC3C,QAAQ;IACR,2CAA2C;IAE3C,qDAAqD;IAC9C,WAAW,GAAgC,EAAE,CAAC;IAErD,4CAA4C;IACrC,kBAAkB,GAA8B,SAAS,CAAC;IAEjE,2CAA2C;IAC3C,cAAc;IACd,2CAA2C;IAE3C,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAE9C,2CAA2C;IAC3C,iBAAiB;IACjB,2CAA2C;IAE3C;;OAEG;IACI,UAAU,CAAC,UAAyB;QACvC,MAAM,QAAQ,GAAG,UAAU;YACvB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI;YACxD,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;IAC/E,CAAC;IAED,2CAA2C;IAC3C,gBAAgB;IAChB,2CAA2C;IAEpC,UAAU,CAAC,UAAyB,EAAE,KAAgB;QACzD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,YAAa,CAAC,UAAU,GAAG,MAAM,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,WAAW;QACd,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,UAAyB,EAAE,KAAgB;QACrD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACpB,gBAAgB,EAAE,UAAU;wBAC5B,YAAY,EAAE,QAAQ,CAAC,GAAG;qBAC7B,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,oBAAoB;YACxB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,2CAA2C;IAC3C,WAAW;IACX,2CAA2C;IAEpC,eAAe,CAAC,MAAc,EAAE,QAAmC;QACtE,OAAO,QAAQ,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,2CAA2C;IAC3C,kBAAkB;IAClB,2CAA2C;IAEnC,iBAAiB;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,+CAA+C;QAC/C,MAAM,IAAI,GAAgC,EAAE,CAAC;QAC7C,IAAI,SAAS,GAAkB,IAAI,CAAC,kBAAkB,CAAC;QAEvD,OAAO,SAAS,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC/D,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;sHAxLQ,4BAA4B;6DAA5B,4BAA4B;YCrCzC,8FAAe;;YAAf,sCAwCC;;;iFDHY,4BAA4B;cAPxC,SAAS;6BACI,KAAK,YACL,yBAAyB,mBAGlB,uBAAuB,CAAC,MAAM;;kBAU9C,KAAK;;kBAaL,KAAK;;kBAYL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAOL,MAAM;;kBAGN,MAAM;;kFA7DE,4BAA4B","sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { MJDashboardCategoryEntity, MJDashboardEntity } from '@memberjunction/core-entities';\n\n/**\n * Event emitted when a breadcrumb item is clicked for navigation\n */\nexport interface BreadcrumbNavigateEvent {\n CategoryId: string | null;\n Category: MJDashboardCategoryEntity | null;\n}\n\n/**\n * Event emitted when a dashboard is dropped on a breadcrumb item\n */\nexport interface BreadcrumbDropEvent {\n TargetCategoryId: string | null;\n DashboardIds: string[];\n}\n\n/**\n * Reusable breadcrumb navigation component for dashboards.\n * Shows hierarchical path from root to current location.\n * Supports drag-and-drop of dashboards onto breadcrumb items.\n */\n@Component({\n standalone: false,\n selector: 'mj-dashboard-breadcrumb',\n templateUrl: './dashboard-breadcrumb.component.html',\n styleUrls: ['./dashboard-breadcrumb.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardBreadcrumbComponent {\n // ========================================\n // Inputs\n // ========================================\n\n /** All categories for building breadcrumb path */\n private _categories: MJDashboardCategoryEntity[] = [];\n\n @Input()\n set Categories(value: MJDashboardCategoryEntity[]) {\n this._categories = value || [];\n // Rebuild breadcrumbs when categories change (they may load after CurrentCategoryId is set)\n this.updateBreadcrumbs();\n }\n get Categories(): MJDashboardCategoryEntity[] {\n return this._categories;\n }\n\n /** Current category ID (null = root) */\n private _currentCategoryId: string | null = null;\n\n @Input()\n set CurrentCategoryId(value: string | null) {\n if (value !== this._currentCategoryId) {\n this._currentCategoryId = value;\n this.updateBreadcrumbs();\n }\n }\n get CurrentCategoryId(): string | null {\n return this._currentCategoryId;\n }\n\n /** Current dashboard (when viewing a specific dashboard) */\n @Input() CurrentDashboard: MJDashboardEntity | null = null;\n\n /** Icon class for the root breadcrumb item */\n @Input() RootIcon = 'fa-solid fa-gauge-high';\n\n /** Label for the root breadcrumb item */\n @Input() RootLabel = 'Dashboards';\n\n /** Whether to show the current dashboard name at the end */\n @Input() ShowDashboardName = false;\n\n /** Whether to allow drag-drop onto breadcrumb items */\n @Input() AllowDragDrop = true;\n\n /** Whether breadcrumb is visible (e.g., hide during edit mode) */\n @Input() Visible = true;\n\n /** Size variant: 'normal' or 'large' */\n @Input() Size: 'normal' | 'large' = 'normal';\n\n // ========================================\n // Outputs\n // ========================================\n\n /** Emitted when a breadcrumb item is clicked for navigation */\n @Output() Navigate = new EventEmitter<BreadcrumbNavigateEvent>();\n\n /** Emitted when dashboards are dropped on a breadcrumb item */\n @Output() DashboardDrop = new EventEmitter<BreadcrumbDropEvent>();\n\n // ========================================\n // State\n // ========================================\n\n /** Breadcrumb trail from root to current category */\n public Breadcrumbs: MJDashboardCategoryEntity[] = [];\n\n /** Category ID being hovered during drag */\n public DragOverCategoryId: string | null | undefined = undefined;\n\n // ========================================\n // Constructor\n // ========================================\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n // ========================================\n // Public Methods\n // ========================================\n\n /**\n * Navigate to a category\n */\n public OnNavigate(categoryId: string | null): void {\n const category = categoryId\n ? this.Categories.find(c => c.ID === categoryId) || null\n : null;\n this.Navigate.emit({ CategoryId: categoryId, Category: category });\n }\n\n /**\n * Check if we're at the root level\n */\n public get IsAtRoot(): boolean {\n return !this._currentCategoryId;\n }\n\n /**\n * Get the current category\n */\n public get CurrentCategory(): MJDashboardCategoryEntity | null {\n if (!this._currentCategoryId) return null;\n return this.Categories.find(c => c.ID === this._currentCategoryId) || null;\n }\n\n // ========================================\n // Drag and Drop\n // ========================================\n\n public OnDragOver(categoryId: string | null, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n event.preventDefault();\n event.dataTransfer!.dropEffect = 'move';\n this.DragOverCategoryId = categoryId;\n this.cdr.markForCheck();\n }\n\n public OnDragLeave(): void {\n this.DragOverCategoryId = undefined;\n this.cdr.markForCheck();\n }\n\n public OnDrop(categoryId: string | null, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n event.preventDefault();\n\n const data = event.dataTransfer?.getData('application/json');\n if (data) {\n try {\n const dragData = JSON.parse(data);\n if (dragData.type === 'dashboards' && dragData.ids?.length > 0) {\n this.DashboardDrop.emit({\n TargetCategoryId: categoryId,\n DashboardIds: dragData.ids\n });\n }\n } catch {\n // Invalid drag data\n }\n }\n\n this.DragOverCategoryId = undefined;\n this.cdr.markForCheck();\n }\n\n // ========================================\n // Track By\n // ========================================\n\n public TrackByCategory(_index: number, category: MJDashboardCategoryEntity): string {\n return category.ID;\n }\n\n // ========================================\n // Private Methods\n // ========================================\n\n private updateBreadcrumbs(): void {\n this.Breadcrumbs = [];\n\n if (!this._currentCategoryId) {\n this.cdr.markForCheck();\n return;\n }\n\n // Build the path from current category to root\n const path: MJDashboardCategoryEntity[] = [];\n let currentId: string | null = this._currentCategoryId;\n\n while (currentId) {\n const category = this.Categories.find(c => c.ID === currentId);\n if (category) {\n path.unshift(category);\n currentId = category.ParentID;\n } else {\n break;\n }\n }\n\n this.Breadcrumbs = path;\n this.cdr.markForCheck();\n }\n}\n","<!-- Dashboard Breadcrumb Component -->\n@if (Visible) {\n <div\n class=\"dashboard-breadcrumb\"\n [class.large]=\"Size === 'large'\"\n >\n <!-- Root item -->\n <button\n class=\"breadcrumb-item root\"\n [class.drop-target]=\"DragOverCategoryId === null\"\n (click)=\"OnNavigate(null)\"\n (dragover)=\"OnDragOver(null, $event)\"\n (dragleave)=\"OnDragLeave()\"\n (drop)=\"OnDrop(null, $event)\">\n <i [class]=\"RootIcon\"></i>\n <span>{{ RootLabel }}</span>\n </button>\n <!-- Category path -->\n @for (crumb of Breadcrumbs; track TrackByCategory($index, crumb); let last = $last) {\n <i class=\"fa-solid fa-chevron-right breadcrumb-separator\"></i>\n <button\n class=\"breadcrumb-item\"\n [class.current]=\"last && !ShowDashboardName\"\n [class.drop-target]=\"DragOverCategoryId === crumb.ID\"\n (click)=\"!last || ShowDashboardName ? OnNavigate(crumb.ID) : null\"\n (dragover)=\"OnDragOver(crumb.ID, $event)\"\n (dragleave)=\"OnDragLeave()\"\n (drop)=\"OnDrop(crumb.ID, $event)\">\n <i class=\"fa-solid fa-folder\"></i>\n <span>{{ crumb.Name }}</span>\n </button>\n }\n <!-- Dashboard name (when viewing a specific dashboard) -->\n @if (ShowDashboardName && CurrentDashboard) {\n <i class=\"fa-solid fa-chevron-right breadcrumb-separator\"></i>\n <span class=\"breadcrumb-item current dashboard-name\">\n <i class=\"fa-solid fa-chart-line\"></i>\n <span>{{ CurrentDashboard.Name }}</span>\n </span>\n }\n </div>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/config-dialogs/confirm-dialog.component.ts","../../../src/lib/config-dialogs/confirm-dialog.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;;;;ICExF,8BAAsD;IAAnB,uLAAS,eAAQ,KAAC;IACnD,8BAA6E;IAAnC,0JAAS,wBAAwB,KAAC;IAGxE,AADF,8BAA4B,aACwE;IAChG,oBAA2B;IAC7B,iBAAM;IACN,6BAA0B;IAAA,YAAW;IAAA,iBAAK;IAC1C,4BAA2B;IAAA,YAAa;IAC1C,AAD0C,iBAAI,EACxC;IAGJ,AADF,8BAA2B,iBAGH;IAApB,2LAAS,gBAAS,KAAC;IACnB,aACF;IAAA,iBAAS;IACT,kCAAiD;IAAnB,2LAAS,eAAQ,KAAC;IAAC,aAAgB;IAGvE,AADE,AADE,AADmE,iBAAS,EACtE,EACF,EACF;;;IAhB0B,eAAoC;IAAC,AAArC,oDAAoC,oCAAmC;IAC5F,cAAmB;IAAnB,+BAAmB;IAEE,eAAW;IAAX,kCAAW;IACV,eAAa;IAAb,oCAAa;IAKtC,eAA0D;IAA1D,sEAA0D;IAE1D,cACF;IADE,mDACF;IACiD,eAAgB;IAAhB,uCAAgB;;ADZzE;;GAEG;AAOH,MAAM,OAAO,sBAAsB;IA4BX;IA3BpB,oCAAoC;IAC3B,OAAO,GAAG,KAAK,CAAC;IAEzB,oDAAoD;IAC3C,IAAI,GAAsB,SAAS,CAAC;IAE7C,mBAAmB;IACV,KAAK,GAAG,gBAAgB,CAAC;IAElC,qBAAqB;IACZ,OAAO,GAAG,mCAAmC,CAAC;IAEvD,0BAA0B;IACjB,WAAW,GAAG,SAAS,CAAC;IAEjC,yBAAyB;IAChB,UAAU,GAAG,QAAQ,CAAC;IAE/B,+EAA+E;IACtE,IAAI,GAAG,EAAE,CAAC;IAEnB,iCAAiC;IACvB,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,gCAAgC;IACtB,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAEvC,OAAO;QACV,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAEhC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACT,OAAO,mBAAmB,CAAC;YAC/B,KAAK,MAAM;gBACP,OAAO,yBAAyB,CAAC;YACrC;gBACI,OAAO,kCAAkC,CAAC;QAClD,CAAC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;gHAjDQ,sBAAsB;6DAAtB,sBAAsB;YCfnC,0FAAe;;YAAf,sCAsBC;;;iFDPY,sBAAsB;cANlC,SAAS;6BACI,KAAK,YACL,mBAAmB;;kBAM5B,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,MAAM;;kBAGN,MAAM;;kFA1BE,sBAAsB"}
1
+ {"version":3,"file":"confirm-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/config-dialogs/confirm-dialog.component.ts","../../../src/lib/config-dialogs/confirm-dialog.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;;;;ICExF,8BAAsD;IAAnB,uLAAS,eAAQ,KAAC;IACnD,8BAA6E;IAAnC,0JAAS,wBAAwB,KAAC;IAGxE,AADF,8BAA4B,aACwE;IAChG,oBAA2B;IAC7B,iBAAM;IACN,6BAA0B;IAAA,YAAW;IAAA,iBAAK;IAC1C,4BAA2B;IAAA,YAAa;IAC1C,AAD0C,iBAAI,EACxC;IAGJ,AADF,8BAA2B,iBAGH;IAApB,2LAAS,gBAAS,KAAC;IACnB,aACF;IAAA,iBAAS;IACT,kCAAiD;IAAnB,2LAAS,eAAQ,KAAC;IAAC,aAAgB;IAGvE,AADE,AADE,AADmE,iBAAS,EACtE,EACF,EACF;;;IAhB0B,eAAoC;IAAC,AAArC,oDAAoC,oCAAmC;IAC5F,cAAmB;IAAnB,+BAAmB;IAEE,eAAW;IAAX,kCAAW;IACV,eAAa;IAAb,oCAAa;IAKtC,eAA0D;IAA1D,sEAA0D;IAE1D,cACF;IADE,mDACF;IACiD,eAAgB;IAAhB,uCAAgB;;ADZzE;;GAEG;AAOH,MAAM,OAAO,sBAAsB;IA4BX;IA3BpB,oCAAoC;IAC3B,OAAO,GAAG,KAAK,CAAC;IAEzB,oDAAoD;IAC3C,IAAI,GAAsB,SAAS,CAAC;IAE7C,mBAAmB;IACV,KAAK,GAAG,gBAAgB,CAAC;IAElC,qBAAqB;IACZ,OAAO,GAAG,mCAAmC,CAAC;IAEvD,0BAA0B;IACjB,WAAW,GAAG,SAAS,CAAC;IAEjC,yBAAyB;IAChB,UAAU,GAAG,QAAQ,CAAC;IAE/B,+EAA+E;IACtE,IAAI,GAAG,EAAE,CAAC;IAEnB,iCAAiC;IACvB,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,gCAAgC;IACtB,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAEvC,OAAO;QACV,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAEhC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACT,OAAO,mBAAmB,CAAC;YAC/B,KAAK,MAAM;gBACP,OAAO,yBAAyB,CAAC;YACrC;gBACI,OAAO,kCAAkC,CAAC;QAClD,CAAC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;gHAjDQ,sBAAsB;6DAAtB,sBAAsB;YCfnC,0FAAe;;YAAf,sCAsBC;;;iFDPY,sBAAsB;cANlC,SAAS;6BACI,KAAK,YACL,mBAAmB;;kBAM5B,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,MAAM;;kBAGN,MAAM;;kFA1BE,sBAAsB","sourcesContent":["import { Component, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\n\n/**\n * Confirmation dialog types\n */\nexport type ConfirmDialogType = 'warning' | 'danger' | 'info';\n\n/**\n * A nice confirmation dialog to replace browser confirm().\n */\n@Component({\n standalone: false,\n selector: 'mj-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./config-dialog.component.css']\n})\nexport class ConfirmDialogComponent {\n /** Whether the dialog is visible */\n @Input() visible = false;\n\n /** Dialog type (affects icon and button styling) */\n @Input() type: ConfirmDialogType = 'warning';\n\n /** Dialog title */\n @Input() title = 'Confirm Action';\n\n /** Dialog message */\n @Input() message = 'Are you sure you want to proceed?';\n\n /** Confirm button text */\n @Input() confirmText = 'Confirm';\n\n /** Cancel button text */\n @Input() cancelText = 'Cancel';\n\n /** Custom icon class (optional, uses default based on type if not provided) */\n @Input() icon = '';\n\n /** Emitted when user confirms */\n @Output() confirmed = new EventEmitter<void>();\n\n /** Emitted when user cancels */\n @Output() cancelled = new EventEmitter<void>();\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n public getIcon(): string {\n if (this.icon) return this.icon;\n\n switch (this.type) {\n case 'danger':\n return 'fa-solid fa-trash';\n case 'info':\n return 'fa-solid fa-info-circle';\n default:\n return 'fa-solid fa-exclamation-triangle';\n }\n }\n\n public confirm(): void {\n this.confirmed.emit();\n }\n\n public cancel(): void {\n this.cancelled.emit();\n }\n}\n","<!-- Confirm Dialog -->\n@if (visible) {\n <div class=\"config-dialog-overlay\" (click)=\"cancel()\">\n <div class=\"config-dialog confirm-dialog\" (click)=\"$event.stopPropagation()\">\n <!-- Content -->\n <div class=\"dialog-content\">\n <div class=\"confirm-icon\" [class.warning]=\"type === 'warning'\" [class.danger]=\"type === 'danger'\">\n <i [class]=\"getIcon()\"></i>\n </div>\n <h3 class=\"confirm-title\">{{ title }}</h3>\n <p class=\"confirm-message\">{{ message }}</p>\n </div>\n <!-- Footer - Action button on left, Cancel on right -->\n <div class=\"dialog-footer\">\n <button\n [class]=\"type === 'danger' ? 'btn-danger' : 'btn-primary'\"\n (click)=\"confirm()\">\n {{ confirmText }}\n </button>\n <button class=\"btn-secondary\" (click)=\"cancel()\">{{ cancelText }}</button>\n </div>\n </div>\n </div>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config-dialogs/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config-dialogs/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,cAAc,4BAA4B,CAAC","sourcesContent":["// Utility dialogs only - config panels are used instead of part-specific config dialogs\nexport * from './confirm-dialog.component';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/artifact-config-panel.component.ts","../../../src/lib/config-panels/artifact-config-panel.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/artifact-config-panel.component.ts","../../../src/lib/config-panels/artifact-config-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ChangeDetectorRef, ViewChild, OnInit } from '@angular/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { CompositeKey, Metadata, RunView } from '@memberjunction/core';\nimport { MJArtifactVersionEntity } from '@memberjunction/core-entities';\nimport { BaseConfigPanel } from './base-config-panel';\nimport { PanelConfig } from '../models/dashboard-types';\nimport {\n TreeBranchConfig,\n TreeLeafConfig,\n TreeNode,\n TreeDropdownComponent\n} from '@memberjunction/ng-trees';\n\n/**\n * Configuration panel for Artifact parts.\n * Uses tree dropdown for collection-based artifact selection.\n */\n@RegisterClass(BaseConfigPanel, 'ArtifactPanelConfigDialog')\n@Component({\n standalone: false,\n selector: 'mj-artifact-config-panel',\n templateUrl: './artifact-config-panel.component.html',\n styleUrls: ['./config-panel.component.css']\n})\nexport class ArtifactConfigPanelComponent extends BaseConfigPanel implements OnInit {\n // ViewChild reference\n @ViewChild('artifactDropdown') artifactDropdown!: TreeDropdownComponent;\n\n // Form fields\n public title = '';\n public artifactId = '';\n public artifactName = '';\n public versionNumber: number | null = null;\n public showHeader = false; // Default false for clean dashboard embedding\n public showTabs = true;\n public showVersionSelector = true;\n public showMetadata = false;\n\n // Version selection\n public versions: MJArtifactVersionEntity[] = [];\n public isLoadingVersions = false;\n private previousArtifactName = ''; // Track for smart title updates\n\n // Collapsible section state\n public showOptions = false;\n\n // Validation\n public artifactError = '';\n\n // Tree configuration - initialized in ngOnInit with current user filter\n public CollectionConfig!: TreeBranchConfig;\n public ArtifactLeafConfig!: TreeLeafConfig;\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n\n ngOnInit(): void {\n // Get current user ID for filtering\n const md = new Metadata();\n const userId = md.CurrentUser?.ID;\n\n // Tree configuration for Collections (branches) and Artifacts (leaves)\n // Collections have hierarchical ParentID structure.\n // Filter to show only collections owned by the current user.\n this.CollectionConfig = {\n EntityName: 'MJ: Collections',\n DisplayField: 'Name',\n IDField: 'ID',\n ParentIDField: 'ParentID',\n DefaultIcon: 'fa-solid fa-folder',\n IconField: 'Icon',\n ColorField: 'Color',\n DescriptionField: 'Description',\n OrderBy: 'Name ASC',\n ExtraFilter: userId ? `OwnerID = '${userId}'` : ''\n };\n\n // Artifacts from MJ: Artifacts entity using M2M junction config.\n // The relationship is: Artifact -> ArtifactVersion -> CollectionArtifact -> Collection\n // We use JunctionConfig to properly parent artifacts under their collections.\n this.ArtifactLeafConfig = {\n EntityName: 'MJ: Artifacts',\n DisplayField: 'Name',\n IDField: 'ID',\n ParentField: '', // Using JunctionConfig instead of direct parent field\n DefaultIcon: 'fa-solid fa-cube',\n DescriptionField: 'Description',\n OrderBy: 'Name ASC',\n ExtraFilter: userId ? `UserID = '${userId}'` : '',\n // M2M junction configuration: Artifact -> ArtifactVersion -> CollectionArtifact -> Collection\n JunctionConfig: {\n EntityName: 'MJ: Collection Artifacts',\n LeafForeignKey: 'ArtifactVersionID', // Junction references ArtifactVersion, not Artifact directly\n BranchForeignKey: 'CollectionID',\n // Indirect mapping since junction references ArtifactVersion, not Artifact\n IndirectLeafMapping: {\n IntermediateEntity: 'MJ: Artifact Versions',\n IntermediateIDField: 'ID', // CollectionArtifact.ArtifactVersionID -> ArtifactVersion.ID\n LeafIDField: 'ArtifactID' // ArtifactVersion.ArtifactID -> Artifact.ID\n }\n }\n };\n }\n\n /**\n * Get the artifactId as a CompositeKey for the tree dropdown\n */\n public get ArtifactIdAsKey(): CompositeKey | null {\n return this.artifactId ? CompositeKey.FromID(this.artifactId) : null;\n }\n\n public async initFromConfig(config: PanelConfig | null): Promise<void> {\n if (config && config.type === 'Artifact') {\n this.artifactId = (config['artifactId'] as string) || '';\n this.versionNumber = (config['versionNumber'] as number) ?? null;\n this.showHeader = (config['showHeader'] as boolean) ?? false;\n this.showTabs = (config['showTabs'] as boolean) ?? true;\n this.showVersionSelector = (config['showVersionSelector'] as boolean) ?? true;\n this.showMetadata = (config['showMetadata'] as boolean) ?? false;\n } else {\n // Defaults for new Artifact panel\n this.artifactId = '';\n this.versionNumber = null;\n this.showHeader = false;\n this.showTabs = true;\n this.showVersionSelector = true;\n this.showMetadata = false;\n }\n\n this.title = this.panel?.title || '';\n this.artifactName = '';\n this.previousArtifactName = '';\n this.artifactError = '';\n this.versions = [];\n this.cdr.detectChanges();\n\n // If editing an existing artifact config, load its versions\n if (this.artifactId) {\n await this.loadVersionsForArtifact(this.artifactId);\n }\n }\n\n public buildConfig(): PanelConfig {\n return {\n type: 'Artifact',\n artifactId: this.artifactId.trim(),\n versionNumber: this.versionNumber ?? undefined,\n showHeader: this.showHeader,\n showTabs: this.showTabs,\n showVersionSelector: this.showVersionSelector,\n showMetadata: this.showMetadata\n };\n }\n\n public override validate(): { valid: boolean; errors: string[] } {\n const errors: string[] = [];\n this.artifactError = '';\n\n if (!this.artifactId.trim()) {\n this.artifactError = 'Please select an artifact';\n errors.push(this.artifactError);\n }\n\n this.cdr.detectChanges();\n return { valid: errors.length === 0, errors };\n }\n\n public getDefaultTitle(): string {\n if (this.artifactName) {\n return this.artifactName;\n }\n return 'Artifact';\n }\n\n public getTitle(): string {\n return this.title || this.getDefaultTitle();\n }\n\n // Form event handlers\n public onTitleChange(): void {\n this.emitConfigChanged();\n }\n\n /**\n * Handle artifact selection from tree dropdown\n */\n public async onArtifactSelection(node: TreeNode | TreeNode[] | null): Promise<void> {\n // Ignore null/empty selections (these happen during sync, not user interaction)\n if (!node || (Array.isArray(node) && node.length === 0)) {\n return;\n }\n\n this.artifactError = '';\n\n if (!Array.isArray(node)) {\n // Only accept leaf nodes (actual artifacts, not collections)\n if (node.Type === 'leaf') {\n const oldArtifactName = this.artifactName;\n this.artifactId = node.ID;\n this.artifactName = node.Label;\n\n // Smart title update: if title matches old name, update to new name\n if (!this.title || this.title === oldArtifactName || this.title === this.previousArtifactName) {\n this.title = node.Label;\n }\n this.previousArtifactName = node.Label;\n\n // Load versions for the selected artifact\n await this.loadVersionsForArtifact(node.ID);\n }\n }\n\n this.emitConfigChanged();\n this.cdr.detectChanges();\n }\n\n /**\n * Load all versions for a given artifact\n */\n private async loadVersionsForArtifact(artifactId: string): Promise<void> {\n this.isLoadingVersions = true;\n this.versions = [];\n this.cdr.detectChanges();\n\n try {\n const rv = new RunView();\n const result = await rv.RunView<MJArtifactVersionEntity>({\n EntityName: 'MJ: Artifact Versions',\n ExtraFilter: `ArtifactID = '${artifactId}'`,\n OrderBy: 'VersionNumber DESC',\n ResultType: 'entity_object'\n });\n\n if (result.Success && result.Results) {\n this.versions = result.Results;\n // Default to latest version (first in descending order) if no version selected\n if (this.versions.length > 0 && this.versionNumber == null) {\n this.versionNumber = this.versions[0].VersionNumber;\n }\n }\n } catch (error) {\n console.error('Failed to load artifact versions:', error);\n } finally {\n this.isLoadingVersions = false;\n this.cdr.detectChanges();\n }\n }\n\n public onVersionChange(): void {\n this.emitConfigChanged();\n }\n\n public onOptionChange(): void {\n this.emitConfigChanged();\n }\n\n public toggleOptions(): void {\n this.showOptions = !this.showOptions;\n }\n}\n","<!-- Artifact Config Panel - Compact layout with tree dropdown and collapsible sections -->\n<div class=\"config-panel config-panel--compact\">\n <!-- Artifact Selection (Primary) -->\n <div class=\"form-group\">\n <label>\n <i class=\"fa-solid fa-cube\"></i>\n Select Artifact\n <span class=\"required\">*</span>\n </label>\n <mj-tree-dropdown\n #artifactDropdown\n [BranchConfig]=\"CollectionConfig\"\n [LeafConfig]=\"ArtifactLeafConfig\"\n [Value]=\"ArtifactIdAsKey\"\n [SelectableTypes]=\"'leaf'\"\n [SelectionMode]=\"'single'\"\n [Placeholder]=\"'Search or browse artifacts...'\"\n [EnableSearch]=\"true\"\n (SelectionChange)=\"onArtifactSelection($event)\"\n [class.error]=\"artifactError\">\n </mj-tree-dropdown>\n @if (artifactError) {\n <span class=\"form-error\">{{ artifactError }}</span>\n }\n @if (!artifactError && !artifactId) {\n <span class=\"form-hint\">\n Browse collections or search to find an artifact\n </span>\n }\n @if (!artifactError && artifactId) {\n <span class=\"form-hint form-hint--selected\">\n <i class=\"fa-solid fa-check\"></i>\n Selected: {{ artifactName }}\n </span>\n }\n </div>\n\n <!-- Version Selection (Available only after artifact is selected) -->\n @if (artifactId) {\n <div class=\"form-group\">\n <label for=\"versionSelect\">\n <i class=\"fa-solid fa-code-branch\"></i>\n Version\n </label>\n <div class=\"version-select-wrapper\">\n @if (!isLoadingVersions && versions.length > 0) {\n <select\n id=\"versionSelect\"\n [(ngModel)]=\"versionNumber\"\n (change)=\"onVersionChange()\"\n class=\"form-select\">\n @for (v of versions; track v) {\n <option [ngValue]=\"v.VersionNumber\">\n v{{ v.VersionNumber }} - {{ v.__mj_CreatedAt | date:'short' }}\n </option>\n }\n </select>\n }\n @if (isLoadingVersions) {\n <span class=\"form-hint\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Loading versions...\n </span>\n }\n @if (!isLoadingVersions && versions.length === 0) {\n <span class=\"form-hint\">\n No versions available\n </span>\n }\n </div>\n @if (versions.length > 0) {\n <span class=\"form-hint\">\n Select which version to display (latest is default)\n </span>\n }\n </div>\n }\n\n <!-- Title (Optional) -->\n <div class=\"form-group\">\n <label for=\"partTitle\">\n <i class=\"fa-solid fa-heading\"></i>\n Part Title\n <span class=\"optional-tag\">(optional)</span>\n </label>\n <input\n type=\"text\"\n id=\"partTitle\"\n [(ngModel)]=\"title\"\n (input)=\"onTitleChange()\"\n [placeholder]=\"artifactName ? 'Default: ' + artifactName : 'Enter a custom title'\"\n class=\"form-input\">\n <span class=\"form-hint\">Leave empty to use artifact name as title</span>\n </div>\n\n <!-- Display Options (Collapsible) -->\n <div class=\"collapsible-section\">\n <button\n type=\"button\"\n class=\"collapsible-header\"\n (click)=\"toggleOptions()\"\n [attr.aria-expanded]=\"showOptions\">\n <span class=\"collapsible-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Display Options\n </span>\n <i class=\"collapsible-chevron fa-solid\"\n [class.fa-chevron-down]=\"!showOptions\"\n [class.fa-chevron-up]=\"showOptions\"></i>\n </button>\n\n @if (showOptions) {\n <div class=\"collapsible-content\">\n <div class=\"checkbox-group checkbox-group--compact\">\n <label class=\"checkbox-option checkbox-option--compact\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"showHeader\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-label\">Show Header</span>\n </label>\n <label class=\"checkbox-option checkbox-option--compact\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"showTabs\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-label\">Show Tabs</span>\n </label>\n <label class=\"checkbox-option checkbox-option--compact\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"showMetadata\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-label\">Show Metadata</span>\n </label>\n </div>\n </div>\n }\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"base-config-panel.js","sourceRoot":"","sources":["../../../src/lib/config-panels/base-config-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,SAAS,EAAE,MAAM,eAAe,CAAC;;AAoB1F;;;;;;;;;;GAUG;AAEH,MAAM,OAAgB,eAAe;IA0BX;IAzBtB,qCAAqC;IAC5B,QAAQ,GAAqC,IAAI,CAAC;IAE3D,8DAA8D;IACrD,KAAK,GAA0B,IAAI,CAAC;IAE7C,wDAAwD;IACxD,IACI,MAAM,CAAC,KAAyB;QAChC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACO,OAAO,GAAuB,IAAI,CAAC;IAE3C;;;OAGG;IACO,aAAa,GAAG,IAAI,YAAY,EAAqB,CAAC;IAEhE,YAAsB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAahD;;;OAGG;IACI,QAAQ;QACX,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IAYD;;OAEG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,cAAc;QACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,0BAA0B,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;YAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,UAAU,CAAC,KAAK;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC;IACN,CAAC;IAED;;;OAGG;IACO,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;yGA5FiB,eAAe;6DAAf,eAAe;;iFAAf,eAAe;cADpC,SAAS;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAgBL,MAAM"}
1
+ {"version":3,"file":"base-config-panel.js","sourceRoot":"","sources":["../../../src/lib/config-panels/base-config-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,SAAS,EAAE,MAAM,eAAe,CAAC;;AAoB1F;;;;;;;;;;GAUG;AAEH,MAAM,OAAgB,eAAe;IA0BX;IAzBtB,qCAAqC;IAC5B,QAAQ,GAAqC,IAAI,CAAC;IAE3D,8DAA8D;IACrD,KAAK,GAA0B,IAAI,CAAC;IAE7C,wDAAwD;IACxD,IACI,MAAM,CAAC,KAAyB;QAChC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACO,OAAO,GAAuB,IAAI,CAAC;IAE3C;;;OAGG;IACO,aAAa,GAAG,IAAI,YAAY,EAAqB,CAAC;IAEhE,YAAsB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAahD;;;OAGG;IACI,QAAQ;QACX,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IAYD;;OAEG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,cAAc;QACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,0BAA0B,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;YAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,UAAU,CAAC,KAAK;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC;IACN,CAAC;IAED;;;OAGG;IACO,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;yGA5FiB,eAAe;6DAAf,eAAe;;iFAAf,eAAe;cADpC,SAAS;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAgBL,MAAM","sourcesContent":["import { Input, Output, EventEmitter, ChangeDetectorRef, Directive } from '@angular/core';\nimport { MJDashboardPartTypeEntity } from '@memberjunction/core-entities';\nimport { PanelConfig, DashboardPanel } from '../models/dashboard-types';\n\n/**\n * Result emitted when configuration changes or is validated\n */\nexport interface ConfigPanelResult {\n /** The current panel configuration */\n config: PanelConfig;\n /** Current title */\n title: string;\n /** Current icon */\n icon?: string;\n /** Whether the configuration is valid */\n isValid: boolean;\n /** Validation errors (if any) */\n errors: string[];\n}\n\n/**\n * Base class for config panels.\n * Config panels contain ONLY the form content - no dialog chrome (header, footer, buttons).\n * They communicate with their container via the configChanged output.\n *\n * This allows the same panel to be used:\n * 1. Embedded in the add-panel-dialog (step 2)\n * 2. Wrapped in a dialog for editing existing panels\n *\n * Subclasses are registered with @RegisterClass and instantiated via ClassFactory.\n */\n@Directive()\nexport abstract class BaseConfigPanel {\n /** The part type being configured */\n @Input() partType: MJDashboardPartTypeEntity | null = null;\n\n /** The existing panel (for editing) or null (for creating) */\n @Input() panel: DashboardPanel | null = null;\n\n /** The initial configuration to populate form fields */\n @Input()\n set config(value: PanelConfig | null) {\n if (value !== this._config) {\n this._config = value;\n this.initFromConfig(value);\n }\n }\n get config(): PanelConfig | null {\n return this._config;\n }\n private _config: PanelConfig | null = null;\n\n /**\n * Emitted when configuration changes.\n * Container should listen to this to update save button state, etc.\n */\n @Output() configChanged = new EventEmitter<ConfigPanelResult>();\n\n constructor(protected cdr: ChangeDetectorRef) {}\n\n /**\n * Initialize form fields from a configuration.\n * Called when config input changes.\n */\n public abstract initFromConfig(config: PanelConfig | null): void;\n\n /**\n * Build the configuration object from current form values.\n */\n public abstract buildConfig(): PanelConfig;\n\n /**\n * Validate the current form values.\n * @returns Validation result with valid flag and error messages\n */\n public validate(): { valid: boolean; errors: string[] } {\n return { valid: true, errors: [] };\n }\n\n /**\n * Get the current title for the panel.\n */\n public abstract getTitle(): string;\n\n /**\n * Get the default title for this part type.\n */\n public abstract getDefaultTitle(): string;\n\n /**\n * Get the current icon for the panel.\n */\n public getIcon(): string {\n return this.panel?.icon || this.getDefaultIcon();\n }\n\n /**\n * Get the default icon for this part type.\n */\n public getDefaultIcon(): string {\n return this.partType?.Icon || 'fa-solid fa-puzzle-piece';\n }\n\n /**\n * Get the current configuration result.\n * Called by container to get the final config when saving.\n */\n public getResult(): ConfigPanelResult {\n const validation = this.validate();\n return {\n config: this.buildConfig(),\n title: this.getTitle(),\n icon: this.getIcon(),\n isValid: validation.valid,\n errors: validation.errors\n };\n }\n\n /**\n * Emit configuration changed event.\n * Call this whenever form values change.\n */\n protected emitConfigChanged(): void {\n this.configChanged.emit(this.getResult());\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config-panels/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,mFAAmF;AAEnF,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config-panels/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,mFAAmF;AAEnF,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC","sourcesContent":["// Config Panels - Standalone form components without dialog chrome\n// These can be embedded in the add-panel-dialog or wrapped in a dialog for editing\n\nexport * from './base-config-panel';\nexport * from './weburl-config-panel.component';\nexport * from './view-config-panel.component';\nexport * from './query-config-panel.component';\nexport * from './artifact-config-panel.component';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"query-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/query-config-panel.component.ts","../../../src/lib/config-panels/query-config-panel.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/query-config-panel.component.ts","../../../src/lib/config-panels/query-config-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ChangeDetectorRef, ViewChild } from '@angular/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { CompositeKey } from '@memberjunction/core';\nimport { BaseConfigPanel } from './base-config-panel';\nimport { PanelConfig } from '../models/dashboard-types';\nimport {\n TreeBranchConfig,\n TreeLeafConfig,\n TreeNode,\n TreeDropdownComponent\n} from '@memberjunction/ng-trees';\n\n/**\n * Configuration panel for Query parts.\n * Uses tree dropdown for category-based query selection.\n */\n@RegisterClass(BaseConfigPanel, 'QueryPanelConfigDialog')\n@Component({\n standalone: false,\n selector: 'mj-query-config-panel',\n templateUrl: './query-config-panel.component.html',\n styleUrls: ['./config-panel.component.css']\n})\nexport class QueryConfigPanelComponent extends BaseConfigPanel {\n // ViewChild reference\n @ViewChild('queryDropdown') queryDropdown!: TreeDropdownComponent;\n\n // Form fields\n public title = '';\n public queryId = '';\n public queryName = '';\n public showParameterControls = true;\n public parameterLayout: 'header' | 'sidebar' | 'dialog' = 'header';\n public autoRefreshSeconds = 0;\n public showExecutionMetadata = true;\n\n // Track previous selection name for smart title updates\n private previousQueryName = '';\n\n // Collapsible section state\n public showAdvancedOptions = false;\n\n // Validation\n public queryError = '';\n\n // Tree configuration for Query Categories (branches) and Queries (leaves)\n public QueryCategoryConfig: TreeBranchConfig = {\n EntityName: 'MJ: Query Categories',\n DisplayField: 'Name',\n IDField: 'ID',\n ParentIDField: 'ParentID',\n DefaultIcon: 'fa-solid fa-folder',\n DescriptionField: 'Description',\n OrderBy: 'Name ASC'\n };\n\n public QueryLeafConfig: TreeLeafConfig = {\n EntityName: 'MJ: Queries',\n DisplayField: 'Name',\n IDField: 'ID',\n ParentField: 'CategoryID',\n DefaultIcon: 'fa-solid fa-flask',\n DescriptionField: 'Description',\n OrderBy: 'Name ASC'\n };\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n\n /**\n * Get the queryId as a CompositeKey for the tree dropdown\n */\n public get QueryIdAsKey(): CompositeKey | null {\n return this.queryId ? CompositeKey.FromID(this.queryId) : null;\n }\n\n public initFromConfig(config: PanelConfig | null): void {\n if (config && config.type === 'Query') {\n this.queryId = (config['queryId'] as string) || '';\n this.queryName = (config['queryName'] as string) || '';\n this.showParameterControls = (config['showParameterControls'] as boolean) ?? true;\n this.parameterLayout = (config['parameterLayout'] as 'header' | 'sidebar' | 'dialog') || 'header';\n this.autoRefreshSeconds = (config['autoRefreshSeconds'] as number) || 0;\n this.showExecutionMetadata = (config['showExecutionMetadata'] as boolean) ?? true;\n } else {\n // Defaults for new Query panel\n this.queryId = '';\n this.queryName = '';\n this.showParameterControls = true;\n this.parameterLayout = 'header';\n this.autoRefreshSeconds = 0;\n this.showExecutionMetadata = true;\n }\n\n this.title = this.panel?.title || '';\n this.previousQueryName = '';\n this.queryError = '';\n this.cdr.detectChanges();\n }\n\n public buildConfig(): PanelConfig {\n return {\n type: 'Query',\n queryId: this.queryId.trim() || undefined,\n queryName: this.queryName.trim() || undefined,\n showParameterControls: this.showParameterControls,\n parameterLayout: this.parameterLayout,\n autoRefreshSeconds: this.autoRefreshSeconds,\n showExecutionMetadata: this.showExecutionMetadata\n };\n }\n\n public override validate(): { valid: boolean; errors: string[] } {\n const errors: string[] = [];\n this.queryError = '';\n\n if (!this.queryId.trim() && !this.queryName.trim()) {\n this.queryError = 'Please select a query';\n errors.push(this.queryError);\n }\n\n this.cdr.detectChanges();\n return { valid: errors.length === 0, errors };\n }\n\n public getDefaultTitle(): string {\n if (this.queryName) {\n return this.queryName;\n }\n return 'Query';\n }\n\n public getTitle(): string {\n return this.title || this.getDefaultTitle();\n }\n\n // Form event handlers\n public onTitleChange(): void {\n this.emitConfigChanged();\n }\n\n /**\n * Handle query selection from tree dropdown\n */\n public onQuerySelection(node: TreeNode | TreeNode[] | null): void {\n // Ignore null/empty selections (these happen during sync, not user interaction)\n if (!node || (Array.isArray(node) && node.length === 0)) {\n return;\n }\n\n this.queryError = '';\n\n if (!Array.isArray(node)) {\n // Only accept leaf nodes (actual queries, not categories)\n if (node.Type === 'leaf') {\n const oldQueryName = this.queryName;\n this.queryId = node.ID;\n this.queryName = node.Label;\n\n // Smart title update: if title matches old name, update to new name\n if (!this.title || this.title === oldQueryName || this.title === this.previousQueryName) {\n this.title = node.Label;\n }\n this.previousQueryName = node.Label;\n }\n }\n\n this.emitConfigChanged();\n this.cdr.detectChanges();\n }\n\n public onParameterLayoutChange(): void {\n this.emitConfigChanged();\n }\n\n public onAutoRefreshChange(): void {\n this.emitConfigChanged();\n }\n\n public onOptionChange(): void {\n this.emitConfigChanged();\n }\n\n public toggleAdvancedOptions(): void {\n this.showAdvancedOptions = !this.showAdvancedOptions;\n }\n\n public getParameterLayoutDescription(): string {\n switch (this.parameterLayout) {\n case 'sidebar':\n return 'Parameters displayed in a collapsible sidebar';\n case 'dialog':\n return 'Parameters shown in a popup dialog when needed';\n default:\n return 'Parameters displayed in the header area above results';\n }\n }\n}\n","<!-- Query Config Panel - Compact layout with tree dropdown and collapsible sections -->\n<div class=\"config-panel config-panel--compact\">\n <!-- Query Selection (Primary) -->\n <div class=\"form-group\">\n <label>\n <i class=\"fa-solid fa-flask\"></i>\n Select Query\n <span class=\"required\">*</span>\n </label>\n <mj-tree-dropdown\n #queryDropdown\n [BranchConfig]=\"QueryCategoryConfig\"\n [LeafConfig]=\"QueryLeafConfig\"\n [Value]=\"QueryIdAsKey\"\n [SelectableTypes]=\"'leaf'\"\n [SelectionMode]=\"'single'\"\n [Placeholder]=\"'Search or browse queries...'\"\n [EnableSearch]=\"true\"\n (SelectionChange)=\"onQuerySelection($event)\"\n [class.error]=\"queryError\">\n </mj-tree-dropdown>\n @if (queryError) {\n <span class=\"form-error\">{{ queryError }}</span>\n }\n @if (!queryError && !queryId) {\n <span class=\"form-hint\">\n Browse categories or search to find a query\n </span>\n }\n @if (!queryError && queryId) {\n <span class=\"form-hint form-hint--selected\">\n <i class=\"fa-solid fa-check\"></i>\n Selected: {{ queryName }}\n </span>\n }\n </div>\n\n <!-- Title (Optional) -->\n <div class=\"form-group\">\n <label for=\"partTitle\">\n <i class=\"fa-solid fa-heading\"></i>\n Part Title\n <span class=\"optional-tag\">(optional)</span>\n </label>\n <input\n type=\"text\"\n id=\"partTitle\"\n [(ngModel)]=\"title\"\n (input)=\"onTitleChange()\"\n [placeholder]=\"queryName ? 'Default: ' + queryName : 'Enter a custom title'\"\n class=\"form-input\">\n <span class=\"form-hint\">Leave empty to use query name as title</span>\n </div>\n\n <!-- Advanced Options (Collapsible) -->\n <div class=\"collapsible-section\">\n <button\n type=\"button\"\n class=\"collapsible-header\"\n (click)=\"toggleAdvancedOptions()\"\n [attr.aria-expanded]=\"showAdvancedOptions\">\n <span class=\"collapsible-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Display Options\n </span>\n <i class=\"collapsible-chevron fa-solid\"\n [class.fa-chevron-down]=\"!showAdvancedOptions\"\n [class.fa-chevron-up]=\"showAdvancedOptions\"></i>\n </button>\n\n @if (showAdvancedOptions) {\n <div class=\"collapsible-content\">\n <!-- Parameter Layout -->\n <div class=\"form-group\">\n <label>Parameter Layout</label>\n <div class=\"radio-group radio-group--horizontal\">\n <label class=\"radio-option radio-option--compact\" [class.selected]=\"parameterLayout === 'header'\">\n <input\n type=\"radio\"\n name=\"parameterLayout\"\n value=\"header\"\n [(ngModel)]=\"parameterLayout\"\n (change)=\"onParameterLayoutChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-label\">\n <i class=\"fa-solid fa-arrow-up-from-bracket\"></i>\n Header\n </span>\n </label>\n <label class=\"radio-option radio-option--compact\" [class.selected]=\"parameterLayout === 'sidebar'\">\n <input\n type=\"radio\"\n name=\"parameterLayout\"\n value=\"sidebar\"\n [(ngModel)]=\"parameterLayout\"\n (change)=\"onParameterLayoutChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-label\">\n <i class=\"fa-solid fa-table-columns\"></i>\n Sidebar\n </span>\n </label>\n <label class=\"radio-option radio-option--compact\" [class.selected]=\"parameterLayout === 'dialog'\">\n <input\n type=\"radio\"\n name=\"parameterLayout\"\n value=\"dialog\"\n [(ngModel)]=\"parameterLayout\"\n (change)=\"onParameterLayoutChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-label\">\n <i class=\"fa-solid fa-window-restore\"></i>\n Dialog\n </span>\n </label>\n </div>\n <span class=\"form-hint\">{{ getParameterLayoutDescription() }}</span>\n </div>\n <!-- Auto Refresh -->\n <div class=\"form-group\">\n <label for=\"autoRefresh\">\n <i class=\"fa-solid fa-rotate\"></i>\n Auto Refresh\n </label>\n <select\n class=\"form-select\"\n [(ngModel)]=\"autoRefreshSeconds\"\n (change)=\"onAutoRefreshChange()\">\n <option [ngValue]=\"0\">Disabled</option>\n <option [ngValue]=\"30\">Every 30 seconds</option>\n <option [ngValue]=\"60\">Every minute</option>\n <option [ngValue]=\"300\">Every 5 minutes</option>\n <option [ngValue]=\"600\">Every 10 minutes</option>\n </select>\n </div>\n <!-- Options -->\n <div class=\"form-group\">\n <div class=\"checkbox-group checkbox-group--compact\">\n <label class=\"checkbox-option checkbox-option--compact\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"showParameterControls\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-label\">Show Parameter Controls</span>\n </label>\n <label class=\"checkbox-option checkbox-option--compact\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"showExecutionMetadata\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-label\">Show Execution Metadata</span>\n </label>\n </div>\n </div>\n </div>\n }\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"view-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/view-config-panel.component.ts","../../../src/lib/config-panels/view-config-panel.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/view-config-panel.component.ts","../../../src/lib/config-panels/view-config-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ChangeDetectorRef, ViewChild } from '@angular/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { CompositeKey } from '@memberjunction/core';\nimport { BaseConfigPanel } from './base-config-panel';\nimport { PanelConfig } from '../models/dashboard-types';\nimport {\n TreeBranchConfig,\n TreeLeafConfig,\n TreeNode,\n TreeDropdownComponent\n} from '@memberjunction/ng-trees';\n\n/**\n * Configuration panel for View parts.\n * Uses tree dropdown for category-based view selection.\n */\n@RegisterClass(BaseConfigPanel, 'ViewPanelConfigDialog')\n@Component({\n standalone: false,\n selector: 'mj-dashboard-view-config-panel',\n templateUrl: './view-config-panel.component.html',\n styleUrls: ['./config-panel.component.css']\n})\nexport class ViewConfigPanelComponent extends BaseConfigPanel {\n // ViewChild reference\n @ViewChild('viewDropdown') viewDropdown!: TreeDropdownComponent;\n\n // Form fields\n public title = '';\n public entityName = '';\n public viewId = '';\n public viewName = '';\n public extraFilter = '';\n public displayMode: 'grid' | 'cards' | 'timeline' = 'grid';\n public allowModeSwitch = true;\n public enableSelection = true;\n public selectionMode: 'none' | 'single' | 'multiple' = 'single';\n\n // Track previous selection name for smart title updates\n private previousViewName = '';\n\n // Collapsible section states\n public showDisplayOptions = false;\n public showAdvancedOptions = false;\n\n // Validation\n public viewError = '';\n\n // Tree configuration for User View Categories (branches) and User Views (leaves)\n public ViewCategoryConfig: TreeBranchConfig = {\n EntityName: 'MJ: User View Categories',\n DisplayField: 'Name',\n IDField: 'ID',\n ParentIDField: 'ParentID',\n DefaultIcon: 'fa-solid fa-folder',\n DescriptionField: 'Description',\n OrderBy: 'Name ASC'\n };\n\n public ViewLeafConfig: TreeLeafConfig = {\n EntityName: 'MJ: User Views',\n DisplayField: 'Name',\n IDField: 'ID',\n ParentField: 'CategoryID',\n DefaultIcon: 'fa-solid fa-table',\n DescriptionField: 'Description',\n OrderBy: 'Name ASC'\n };\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n\n /**\n * Get the viewId as a CompositeKey for the tree dropdown\n */\n public get ViewIdAsKey(): CompositeKey | null {\n return this.viewId ? CompositeKey.FromID(this.viewId) : null;\n }\n\n public initFromConfig(config: PanelConfig | null): void {\n if (config && config.type === 'View') {\n this.entityName = (config['entityName'] as string) || '';\n this.viewId = (config['viewId'] as string) || '';\n this.extraFilter = (config['extraFilter'] as string) || '';\n this.displayMode = (config['displayMode'] as 'grid' | 'cards' | 'timeline') || 'grid';\n this.allowModeSwitch = (config['allowModeSwitch'] as boolean) ?? true;\n this.enableSelection = (config['enableSelection'] as boolean) ?? true;\n this.selectionMode = (config['selectionMode'] as 'none' | 'single' | 'multiple') || 'single';\n } else {\n // Defaults for new View panel\n this.entityName = '';\n this.viewId = '';\n this.extraFilter = '';\n this.displayMode = 'grid';\n this.allowModeSwitch = true;\n this.enableSelection = true;\n this.selectionMode = 'single';\n }\n\n this.title = this.panel?.title || '';\n this.viewName = '';\n this.previousViewName = '';\n this.viewError = '';\n this.cdr.detectChanges();\n }\n\n public buildConfig(): PanelConfig {\n return {\n type: 'View',\n entityName: this.entityName.trim() || undefined,\n viewId: this.viewId.trim() || undefined,\n extraFilter: this.extraFilter.trim() || undefined,\n displayMode: this.displayMode,\n allowModeSwitch: this.allowModeSwitch,\n enableSelection: this.enableSelection,\n selectionMode: this.selectionMode\n };\n }\n\n public override validate(): { valid: boolean; errors: string[] } {\n const errors: string[] = [];\n this.viewError = '';\n\n // At least entity name or view ID should be provided\n if (!this.entityName.trim() && !this.viewId.trim()) {\n this.viewError = 'Please select a saved view or enter an entity name';\n errors.push(this.viewError);\n }\n\n this.cdr.detectChanges();\n return { valid: errors.length === 0, errors };\n }\n\n public getDefaultTitle(): string {\n if (this.viewName) {\n return this.viewName;\n }\n if (this.entityName) {\n return this.entityName;\n }\n return 'View';\n }\n\n public getTitle(): string {\n return this.title || this.getDefaultTitle();\n }\n\n // Form event handlers\n public onTitleChange(): void {\n this.emitConfigChanged();\n }\n\n /**\n * Handle view selection from tree dropdown\n */\n public onViewSelection(node: TreeNode | TreeNode[] | null): void {\n // Ignore null/empty selections (these happen during sync, not user interaction)\n if (!node || (Array.isArray(node) && node.length === 0)) {\n return;\n }\n\n this.viewError = '';\n\n if (!Array.isArray(node)) {\n // Only accept leaf nodes (actual views, not categories)\n if (node.Type === 'leaf') {\n const oldViewName = this.viewName;\n this.viewId = node.ID;\n this.viewName = node.Label;\n\n // Extract entity name from the view data if available\n if (node.Data && node.Data['Entity']) {\n this.entityName = String(node.Data['Entity']);\n }\n\n // Smart title update: if title matches old name, update to new name\n if (!this.title || this.title === oldViewName || this.title === this.previousViewName) {\n this.title = node.Label;\n }\n this.previousViewName = node.Label;\n }\n }\n\n this.emitConfigChanged();\n this.cdr.detectChanges();\n }\n\n public onEntityChange(): void {\n this.viewError = '';\n this.emitConfigChanged();\n }\n\n public onDisplayModeChange(): void {\n this.emitConfigChanged();\n }\n\n public onOptionChange(): void {\n this.emitConfigChanged();\n }\n\n public onSelectionModeChange(): void {\n this.emitConfigChanged();\n }\n\n public onFilterChange(): void {\n this.emitConfigChanged();\n }\n\n public toggleDisplayOptions(): void {\n this.showDisplayOptions = !this.showDisplayOptions;\n }\n\n public toggleAdvancedOptions(): void {\n this.showAdvancedOptions = !this.showAdvancedOptions;\n }\n\n public getDisplayModeDescription(): string {\n switch (this.displayMode) {\n case 'cards':\n return 'Display records as cards in a responsive grid layout';\n case 'timeline':\n return 'Display records chronologically along a timeline';\n default:\n return 'Display records in a traditional table/grid format';\n }\n }\n}\n","<!-- View Config Panel - Compact layout with tree dropdown and collapsible sections -->\n<div class=\"config-panel config-panel--compact\">\n <!-- View Selection (Primary) -->\n <div class=\"form-group\">\n <label>\n <i class=\"fa-solid fa-table\"></i>\n Select View\n <span class=\"optional-tag\">(or enter entity below)</span>\n </label>\n <mj-tree-dropdown\n #viewDropdown\n [BranchConfig]=\"ViewCategoryConfig\"\n [LeafConfig]=\"ViewLeafConfig\"\n [Value]=\"ViewIdAsKey\"\n [SelectableTypes]=\"'leaf'\"\n [SelectionMode]=\"'single'\"\n [Placeholder]=\"'Search or browse saved views...'\"\n [EnableSearch]=\"true\"\n (SelectionChange)=\"onViewSelection($event)\"\n [class.error]=\"viewError\">\n </mj-tree-dropdown>\n @if (viewError) {\n <span class=\"form-error\">{{ viewError }}</span>\n }\n @if (!viewError && !viewId && !entityName) {\n <span class=\"form-hint\">\n Select a saved view or enter an entity name below\n </span>\n }\n @if (!viewError && viewId) {\n <span class=\"form-hint form-hint--selected\">\n <i class=\"fa-solid fa-check\"></i>\n Selected: {{ viewName }}\n </span>\n }\n </div>\n\n <!-- Entity Name (Alternative) -->\n <div class=\"form-group\">\n <label for=\"entityName\">\n <i class=\"fa-solid fa-database\"></i>\n Entity Name\n <span class=\"optional-tag\">(alternative to view)</span>\n </label>\n <input\n type=\"text\"\n id=\"entityName\"\n [(ngModel)]=\"entityName\"\n (input)=\"onEntityChange()\"\n placeholder=\"e.g., Accounts, Contacts, Users\"\n class=\"form-input\">\n <span class=\"form-hint\">\n Use this to display all records from an entity without a saved view\n </span>\n </div>\n\n <!-- Title (Optional) -->\n <div class=\"form-group\">\n <label for=\"partTitle\">\n <i class=\"fa-solid fa-heading\"></i>\n Part Title\n <span class=\"optional-tag\">(optional)</span>\n </label>\n <input\n type=\"text\"\n id=\"partTitle\"\n [(ngModel)]=\"title\"\n (input)=\"onTitleChange()\"\n [placeholder]=\"viewName || entityName ? 'Default: ' + (viewName || entityName) : 'Enter a custom title'\"\n class=\"form-input\">\n <span class=\"form-hint\">Leave empty to use view/entity name as title</span>\n </div>\n\n <!-- Display Options (Collapsible) -->\n <div class=\"collapsible-section\">\n <button\n type=\"button\"\n class=\"collapsible-header\"\n (click)=\"toggleDisplayOptions()\"\n [attr.aria-expanded]=\"showDisplayOptions\">\n <span class=\"collapsible-title\">\n <i class=\"fa-solid fa-grip\"></i>\n Display Options\n </span>\n <i class=\"collapsible-chevron fa-solid\"\n [class.fa-chevron-down]=\"!showDisplayOptions\"\n [class.fa-chevron-up]=\"showDisplayOptions\"></i>\n </button>\n\n @if (showDisplayOptions) {\n <div class=\"collapsible-content\">\n <!-- Display Mode -->\n <div class=\"form-group\">\n <label>Display Mode</label>\n <div class=\"radio-group radio-group--horizontal\">\n <label class=\"radio-option radio-option--compact\" [class.selected]=\"displayMode === 'grid'\">\n <input\n type=\"radio\"\n name=\"displayMode\"\n value=\"grid\"\n [(ngModel)]=\"displayMode\"\n (change)=\"onDisplayModeChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-label\">\n <i class=\"fa-solid fa-table-cells\"></i>\n Grid\n </span>\n </label>\n <label class=\"radio-option radio-option--compact\" [class.selected]=\"displayMode === 'cards'\">\n <input\n type=\"radio\"\n name=\"displayMode\"\n value=\"cards\"\n [(ngModel)]=\"displayMode\"\n (change)=\"onDisplayModeChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-label\">\n <i class=\"fa-solid fa-id-card\"></i>\n Cards\n </span>\n </label>\n <label class=\"radio-option radio-option--compact\" [class.selected]=\"displayMode === 'timeline'\">\n <input\n type=\"radio\"\n name=\"displayMode\"\n value=\"timeline\"\n [(ngModel)]=\"displayMode\"\n (change)=\"onDisplayModeChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-label\">\n <i class=\"fa-solid fa-timeline\"></i>\n Timeline\n </span>\n </label>\n </div>\n <span class=\"form-hint\">{{ getDisplayModeDescription() }}</span>\n </div>\n <!-- Selection Options -->\n <div class=\"form-group\">\n <div class=\"checkbox-group checkbox-group--compact\">\n <label class=\"checkbox-option checkbox-option--compact\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"allowModeSwitch\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-label\">Allow Mode Switch</span>\n </label>\n <label class=\"checkbox-option checkbox-option--compact\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"enableSelection\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-label\">Enable Selection</span>\n </label>\n </div>\n </div>\n <!-- Selection Mode -->\n @if (enableSelection) {\n <div class=\"form-group\">\n <label for=\"selectionMode\">Selection Mode</label>\n <select\n id=\"selectionMode\"\n class=\"form-select\"\n [(ngModel)]=\"selectionMode\"\n (change)=\"onSelectionModeChange()\">\n <option value=\"single\">Single Selection</option>\n <option value=\"multiple\">Multiple Selection</option>\n </select>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Advanced Options (Collapsible) -->\n <div class=\"collapsible-section\">\n <button\n type=\"button\"\n class=\"collapsible-header\"\n (click)=\"toggleAdvancedOptions()\"\n [attr.aria-expanded]=\"showAdvancedOptions\">\n <span class=\"collapsible-title\">\n <i class=\"fa-solid fa-filter\"></i>\n Advanced Filtering\n </span>\n <i class=\"collapsible-chevron fa-solid\"\n [class.fa-chevron-down]=\"!showAdvancedOptions\"\n [class.fa-chevron-up]=\"showAdvancedOptions\"></i>\n </button>\n\n @if (showAdvancedOptions) {\n <div class=\"collapsible-content\">\n <!-- Extra Filter -->\n <div class=\"form-group\">\n <label for=\"extraFilter\">\n Extra Filter\n </label>\n <input\n type=\"text\"\n id=\"extraFilter\"\n [(ngModel)]=\"extraFilter\"\n (input)=\"onFilterChange()\"\n placeholder=\"e.g., Status = 'Active'\"\n class=\"form-input\">\n <span class=\"form-hint\">\n SQL WHERE clause to filter records (applied in addition to view filters)\n </span>\n </div>\n </div>\n }\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"weburl-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/weburl-config-panel.component.ts","../../../src/lib/config-panels/weburl-config-panel.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weburl-config-panel.component.js","sourceRoot":"","sources":["../../../src/lib/config-panels/weburl-config-panel.component.ts","../../../src/lib/config-panels/weburl-config-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ChangeDetectorRef } from '@angular/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseConfigPanel } from './base-config-panel';\nimport { PanelConfig } from '../models/dashboard-types';\n\n/**\n * Configuration panel for WebURL parts.\n * Contains only the form content - no dialog chrome.\n */\n@RegisterClass(BaseConfigPanel, 'WebURLPanelConfigDialog')\n@Component({\n standalone: false,\n selector: 'mj-weburl-config-panel',\n templateUrl: './weburl-config-panel.component.html',\n styleUrls: ['./config-panel.component.css']\n})\nexport class WebURLConfigPanelComponent extends BaseConfigPanel {\n // Form fields\n public title = '';\n public url = '';\n public sandboxMode: 'standard' | 'strict' | 'permissive' = 'standard';\n public allowFullscreen = true;\n public refreshOnResize = false;\n\n // Validation\n public urlError = '';\n public showUrlPreview = false;\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n\n public initFromConfig(config: PanelConfig | null): void {\n if (config && config.type === 'WebURL') {\n this.url = (config['url'] as string) || '';\n this.sandboxMode = (config['sandboxMode'] as 'standard' | 'strict' | 'permissive') || 'standard';\n this.allowFullscreen = (config['allowFullscreen'] as boolean) ?? true;\n this.refreshOnResize = (config['refreshOnResize'] as boolean) ?? false;\n } else {\n // Defaults for new WebURL panel\n this.url = '';\n this.sandboxMode = 'standard';\n this.allowFullscreen = true;\n this.refreshOnResize = false;\n }\n\n this.title = this.panel?.title || '';\n this.urlError = '';\n this.showUrlPreview = this.url ? this.isValidUrl(this.url) : false;\n this.cdr.detectChanges();\n }\n\n public buildConfig(): PanelConfig {\n return {\n type: 'WebURL',\n url: this.url.trim(),\n sandboxMode: this.sandboxMode,\n allowFullscreen: this.allowFullscreen,\n refreshOnResize: this.refreshOnResize\n };\n }\n\n public override validate(): { valid: boolean; errors: string[] } {\n const errors: string[] = [];\n this.urlError = '';\n\n if (!this.url.trim()) {\n this.urlError = 'URL is required';\n errors.push(this.urlError);\n } else if (!this.isValidUrl(this.url.trim())) {\n this.urlError = 'Please enter a valid URL (e.g., https://example.com)';\n errors.push(this.urlError);\n }\n\n this.cdr.detectChanges();\n return { valid: errors.length === 0, errors };\n }\n\n public getDefaultTitle(): string {\n if (this.url) {\n try {\n const hostname = new URL(this.url).hostname;\n return hostname || 'Web Page';\n } catch {\n return 'Web Page';\n }\n }\n return 'Web Page';\n }\n\n public getTitle(): string {\n return this.title || this.getDefaultTitle();\n }\n\n // Form event handlers\n public onTitleChange(): void {\n this.emitConfigChanged();\n }\n\n public onUrlChange(): void {\n this.urlError = '';\n this.showUrlPreview = false;\n\n if (this.url.trim() && this.isValidUrl(this.url.trim())) {\n this.showUrlPreview = true;\n // Update title if it's still empty\n if (!this.title) {\n this.title = this.getDefaultTitle();\n }\n }\n\n this.emitConfigChanged();\n this.cdr.detectChanges();\n }\n\n public onSandboxModeChange(): void {\n this.emitConfigChanged();\n }\n\n public onOptionChange(): void {\n this.emitConfigChanged();\n }\n\n public previewUrl(): void {\n if (this.url && this.isValidUrl(this.url)) {\n window.open(this.url, '_blank', 'noopener,noreferrer');\n }\n }\n\n private isValidUrl(url: string): boolean {\n try {\n const parsed = new URL(url);\n return parsed.protocol === 'http:' || parsed.protocol === 'https:';\n } catch {\n return false;\n }\n }\n\n public getSandboxModeDescription(): string {\n switch (this.sandboxMode) {\n case 'strict':\n return 'Only allows scripts to run. Most secure but may break some sites.';\n case 'permissive':\n return 'Allows most features including popups and navigation. Use with trusted sites only.';\n default:\n return 'Allows scripts, forms, and popups. Good balance of security and compatibility.';\n }\n }\n}\n","<!-- WebURL Config Panel - Form content only, no dialog chrome -->\n<div class=\"config-panel\">\n <!-- Title -->\n <div class=\"form-group\">\n <label for=\"partTitle\">\n <i class=\"fa-solid fa-heading\"></i>\n Part Title\n </label>\n <input\n type=\"text\"\n id=\"partTitle\"\n [(ngModel)]=\"title\"\n (input)=\"onTitleChange()\"\n placeholder=\"Enter a title for this part\"\n class=\"form-input\">\n </div>\n\n <!-- URL -->\n <div class=\"form-group\">\n <label for=\"webUrl\">\n <i class=\"fa-solid fa-link\"></i>\n URL\n <span class=\"required\">*</span>\n </label>\n <div class=\"input-with-action\">\n <input\n type=\"url\"\n id=\"webUrl\"\n [(ngModel)]=\"url\"\n (input)=\"onUrlChange()\"\n placeholder=\"https://example.com\"\n class=\"form-input\"\n [class.error]=\"urlError\">\n @if (showUrlPreview) {\n <button\n class=\"input-action-btn\"\n (click)=\"previewUrl()\"\n title=\"Preview in new tab\">\n <i class=\"fa-solid fa-external-link\"></i>\n </button>\n }\n </div>\n @if (urlError) {\n <span class=\"form-error\">{{ urlError }}</span>\n }\n @if (!urlError) {\n <span class=\"form-hint\">\n Enter the full URL including https://\n </span>\n }\n </div>\n\n <!-- Security Mode -->\n <div class=\"form-group\">\n <label>\n <i class=\"fa-solid fa-shield-halved\"></i>\n Security Mode\n </label>\n <div class=\"radio-group\">\n <label class=\"radio-option\" [class.selected]=\"sandboxMode === 'standard'\">\n <input\n type=\"radio\"\n name=\"sandboxMode\"\n value=\"standard\"\n [(ngModel)]=\"sandboxMode\"\n (change)=\"onSandboxModeChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-content\">\n <span class=\"radio-label\">Standard</span>\n <span class=\"radio-badge recommended\">Recommended</span>\n </span>\n </label>\n <label class=\"radio-option\" [class.selected]=\"sandboxMode === 'strict'\">\n <input\n type=\"radio\"\n name=\"sandboxMode\"\n value=\"strict\"\n [(ngModel)]=\"sandboxMode\"\n (change)=\"onSandboxModeChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-content\">\n <span class=\"radio-label\">Strict</span>\n <span class=\"radio-badge secure\">Most Secure</span>\n </span>\n </label>\n <label class=\"radio-option\" [class.selected]=\"sandboxMode === 'permissive'\">\n <input\n type=\"radio\"\n name=\"sandboxMode\"\n value=\"permissive\"\n [(ngModel)]=\"sandboxMode\"\n (change)=\"onSandboxModeChange()\">\n <span class=\"radio-mark\"></span>\n <span class=\"radio-content\">\n <span class=\"radio-label\">Permissive</span>\n <span class=\"radio-badge warning\">Least Secure</span>\n </span>\n </label>\n </div>\n <span class=\"form-hint\">{{ getSandboxModeDescription() }}</span>\n </div>\n\n <!-- Options -->\n <div class=\"form-group\">\n <label>\n <i class=\"fa-solid fa-sliders\"></i>\n Options\n </label>\n <div class=\"checkbox-group\">\n <label class=\"checkbox-option\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"allowFullscreen\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-content\">\n <span class=\"checkbox-label\">Allow Fullscreen</span>\n <span class=\"checkbox-desc\">Enable fullscreen mode for the embedded content</span>\n </span>\n </label>\n <label class=\"checkbox-option\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"refreshOnResize\"\n (change)=\"onOptionChange()\">\n <span class=\"checkbox-mark\"></span>\n <span class=\"checkbox-content\">\n <span class=\"checkbox-label\">Refresh on Resize</span>\n <span class=\"checkbox-desc\">Reload the page when the part is resized</span>\n </span>\n </label>\n </div>\n </div>\n</div>\n"]}