@memberjunction/ng-dashboard-viewer 6.2.0-edge.3 → 6.2.0-edge.5

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 (101) hide show
  1. package/README.md +165 -17
  2. package/dist/lib/config-dialogs/confirm-dialog.component.d.ts +3 -4
  3. package/dist/lib/config-dialogs/confirm-dialog.component.d.ts.map +1 -1
  4. package/dist/lib/config-dialogs/confirm-dialog.component.js +3 -2
  5. package/dist/lib/config-dialogs/confirm-dialog.component.js.map +1 -1
  6. package/dist/lib/config-panels/artifact-config-panel.component.d.ts.map +1 -1
  7. package/dist/lib/config-panels/artifact-config-panel.component.js +59 -50
  8. package/dist/lib/config-panels/artifact-config-panel.component.js.map +1 -1
  9. package/dist/lib/config-panels/base-config-panel.d.ts +8 -3
  10. package/dist/lib/config-panels/base-config-panel.d.ts.map +1 -1
  11. package/dist/lib/config-panels/base-config-panel.js +10 -3
  12. package/dist/lib/config-panels/base-config-panel.js.map +1 -1
  13. package/dist/lib/config-panels/query-config-panel.component.js +124 -99
  14. package/dist/lib/config-panels/query-config-panel.component.js.map +1 -1
  15. package/dist/lib/config-panels/view-config-panel.component.js +111 -103
  16. package/dist/lib/config-panels/view-config-panel.component.js.map +1 -1
  17. package/dist/lib/config-panels/weburl-config-panel.component.js +89 -80
  18. package/dist/lib/config-panels/weburl-config-panel.component.js.map +1 -1
  19. package/dist/lib/dashboard-browser/dashboard-browser.component.d.ts +79 -28
  20. package/dist/lib/dashboard-browser/dashboard-browser.component.d.ts.map +1 -1
  21. package/dist/lib/dashboard-browser/dashboard-browser.component.js +446 -447
  22. package/dist/lib/dashboard-browser/dashboard-browser.component.js.map +1 -1
  23. package/dist/lib/dashboard-card/dashboard-card.component.d.ts +69 -0
  24. package/dist/lib/dashboard-card/dashboard-card.component.d.ts.map +1 -0
  25. package/dist/lib/dashboard-card/dashboard-card.component.js +281 -0
  26. package/dist/lib/dashboard-card/dashboard-card.component.js.map +1 -0
  27. package/dist/lib/dashboard-card/dashboard-card.helpers.d.ts +18 -0
  28. package/dist/lib/dashboard-card/dashboard-card.helpers.d.ts.map +1 -0
  29. package/dist/lib/dashboard-card/dashboard-card.helpers.js +43 -0
  30. package/dist/lib/dashboard-card/dashboard-card.helpers.js.map +1 -0
  31. package/dist/lib/dashboard-card/layout-preview-cache.d.ts +15 -0
  32. package/dist/lib/dashboard-card/layout-preview-cache.d.ts.map +1 -0
  33. package/dist/lib/dashboard-card/layout-preview-cache.js +22 -0
  34. package/dist/lib/dashboard-card/layout-preview-cache.js.map +1 -0
  35. package/dist/lib/dashboard-viewer/dashboard-viewer.component.d.ts +69 -12
  36. package/dist/lib/dashboard-viewer/dashboard-viewer.component.d.ts.map +1 -1
  37. package/dist/lib/dashboard-viewer/dashboard-viewer.component.js +173 -145
  38. package/dist/lib/dashboard-viewer/dashboard-viewer.component.js.map +1 -1
  39. package/dist/lib/dashboard-viewer.module.d.ts +24 -20
  40. package/dist/lib/dashboard-viewer.module.d.ts.map +1 -1
  41. package/dist/lib/dashboard-viewer.module.js +42 -5
  42. package/dist/lib/dashboard-viewer.module.js.map +1 -1
  43. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.d.ts +7 -12
  44. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.d.ts.map +1 -1
  45. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.js +3 -1
  46. package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.js.map +1 -1
  47. package/dist/lib/dialogs/dashboard-name-dialog/dashboard-name-dialog.component.d.ts +54 -0
  48. package/dist/lib/dialogs/dashboard-name-dialog/dashboard-name-dialog.component.d.ts.map +1 -0
  49. package/dist/lib/dialogs/dashboard-name-dialog/dashboard-name-dialog.component.js +156 -0
  50. package/dist/lib/dialogs/dashboard-name-dialog/dashboard-name-dialog.component.js.map +1 -0
  51. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.d.ts +5 -11
  52. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.d.ts.map +1 -1
  53. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.js +3 -1
  54. package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.js.map +1 -1
  55. package/dist/lib/dialogs/part-dialog/dashboard-part-dialog.component.d.ts +147 -0
  56. package/dist/lib/dialogs/part-dialog/dashboard-part-dialog.component.d.ts.map +1 -0
  57. package/dist/lib/dialogs/part-dialog/dashboard-part-dialog.component.js +536 -0
  58. package/dist/lib/dialogs/part-dialog/dashboard-part-dialog.component.js.map +1 -0
  59. package/dist/lib/layout-preview/dashboard-layout-preview-node.component.d.ts +20 -0
  60. package/dist/lib/layout-preview/dashboard-layout-preview-node.component.d.ts.map +1 -0
  61. package/dist/lib/layout-preview/dashboard-layout-preview-node.component.js +80 -0
  62. package/dist/lib/layout-preview/dashboard-layout-preview-node.component.js.map +1 -0
  63. package/dist/lib/layout-preview/dashboard-layout-preview.component.d.ts +28 -0
  64. package/dist/lib/layout-preview/dashboard-layout-preview.component.d.ts.map +1 -0
  65. package/dist/lib/layout-preview/dashboard-layout-preview.component.js +62 -0
  66. package/dist/lib/layout-preview/dashboard-layout-preview.component.js.map +1 -0
  67. package/dist/lib/layout-preview/dashboard-layout-preview.d.ts +33 -0
  68. package/dist/lib/layout-preview/dashboard-layout-preview.d.ts.map +1 -0
  69. package/dist/lib/layout-preview/dashboard-layout-preview.js +138 -0
  70. package/dist/lib/layout-preview/dashboard-layout-preview.js.map +1 -0
  71. package/dist/lib/models/dashboard-layout-editor.d.ts +78 -0
  72. package/dist/lib/models/dashboard-layout-editor.d.ts.map +1 -0
  73. package/dist/lib/models/dashboard-layout-editor.js +374 -0
  74. package/dist/lib/models/dashboard-layout-editor.js.map +1 -0
  75. package/dist/lib/models/remove-part-confirm.d.ts +8 -0
  76. package/dist/lib/models/remove-part-confirm.d.ts.map +1 -0
  77. package/dist/lib/models/remove-part-confirm.js +23 -0
  78. package/dist/lib/models/remove-part-confirm.js.map +1 -0
  79. package/dist/lib/parts/artifact-part.component.js +2 -2
  80. package/dist/lib/parts/artifact-part.component.js.map +1 -1
  81. package/dist/lib/parts/query-part.component.js +2 -2
  82. package/dist/lib/parts/query-part.component.js.map +1 -1
  83. package/dist/lib/parts/view-part.component.js +2 -2
  84. package/dist/lib/parts/view-part.component.js.map +1 -1
  85. package/dist/lib/parts/weburl-part.component.d.ts +6 -0
  86. package/dist/lib/parts/weburl-part.component.d.ts.map +1 -1
  87. package/dist/lib/parts/weburl-part.component.js +34 -4
  88. package/dist/lib/parts/weburl-part.component.js.map +1 -1
  89. package/dist/lib/services/golden-layout-wrapper.service.d.ts +40 -0
  90. package/dist/lib/services/golden-layout-wrapper.service.d.ts.map +1 -1
  91. package/dist/lib/services/golden-layout-wrapper.service.js +117 -9
  92. package/dist/lib/services/golden-layout-wrapper.service.js.map +1 -1
  93. package/dist/lib/services/stack-part-actions.d.ts +11 -0
  94. package/dist/lib/services/stack-part-actions.d.ts.map +1 -0
  95. package/dist/lib/services/stack-part-actions.js +41 -0
  96. package/dist/lib/services/stack-part-actions.js.map +1 -0
  97. package/dist/public-api.d.ts +9 -0
  98. package/dist/public-api.d.ts.map +1 -1
  99. package/dist/public-api.js +13 -0
  100. package/dist/public-api.js.map +1 -1
  101. package/package.json +13 -13
@@ -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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","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\n /** @deprecated Use {@link Url}. */\n public get url() {\n return this.Url;\n }\n /** @deprecated Use {@link Url}. */\n public set url(value) {\n this.Url = value;\n }\n public SandboxMode: 'standard' | 'strict' | 'permissive' = 'standard';\n\n /** @deprecated Use {@link SandboxMode}. */\n public get sandboxMode(): 'standard' | 'strict' | 'permissive' {\n return this.SandboxMode;\n }\n /** @deprecated Use {@link SandboxMode}. */\n public set sandboxMode(value: 'standard' | 'strict' | 'permissive') {\n this.SandboxMode = value;\n }\n public AllowFullscreen = true;\n\n /** @deprecated Use {@link AllowFullscreen}. */\n public get allowFullscreen() {\n return this.AllowFullscreen;\n }\n /** @deprecated Use {@link AllowFullscreen}. */\n public set allowFullscreen(value) {\n this.AllowFullscreen = value;\n }\n public RefreshOnResize = false;\n\n /** @deprecated Use {@link RefreshOnResize}. */\n public get refreshOnResize() {\n return this.RefreshOnResize;\n }\n /** @deprecated Use {@link RefreshOnResize}. */\n public set refreshOnResize(value) {\n this.RefreshOnResize = value;\n }\n\n // Validation\n public UrlError = '';\n\n /** @deprecated Use {@link UrlError}. */\n public get urlError() {\n return this.UrlError;\n }\n /** @deprecated Use {@link UrlError}. */\n public set urlError(value) {\n this.UrlError = value;\n }\n public ShowUrlPreview = false;\n\n /** @deprecated Use {@link ShowUrlPreview}. */\n public get showUrlPreview() {\n return this.ShowUrlPreview;\n }\n /** @deprecated Use {@link ShowUrlPreview}. */\n public set showUrlPreview(value) {\n this.ShowUrlPreview = value;\n }\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 /** @deprecated Use {@link OnTitleChange}. */\n public onTitleChange(): void {\n return this.OnTitleChange();\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 /** @deprecated Use {@link OnUrlChange}. */\n public onUrlChange(): void {\n return this.OnUrlChange();\n }\n\n public OnSandboxModeChange(): void {\n this.emitConfigChanged();\n }\n\n /** @deprecated Use {@link OnSandboxModeChange}. */\n public onSandboxModeChange(): void {\n return this.OnSandboxModeChange();\n }\n\n public OnOptionChange(): void {\n this.emitConfigChanged();\n }\n\n /** @deprecated Use {@link OnOptionChange}. */\n public onOptionChange(): void {\n return this.OnOptionChange();\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 /** @deprecated Use {@link PreviewUrl}. */\n public previewUrl(): void {\n return this.PreviewUrl();\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 /** @deprecated Use {@link GetSandboxModeDescription}. */\n public getSandboxModeDescription(): string {\n return this.GetSandboxModeDescription();\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"]}
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\n /** @deprecated Use {@link Url}. */\n public get url() {\n return this.Url;\n }\n /** @deprecated Use {@link Url}. */\n public set url(value) {\n this.Url = value;\n }\n public SandboxMode: 'standard' | 'strict' | 'permissive' = 'standard';\n\n /** @deprecated Use {@link SandboxMode}. */\n public get sandboxMode(): 'standard' | 'strict' | 'permissive' {\n return this.SandboxMode;\n }\n /** @deprecated Use {@link SandboxMode}. */\n public set sandboxMode(value: 'standard' | 'strict' | 'permissive') {\n this.SandboxMode = value;\n }\n public AllowFullscreen = true;\n\n /** @deprecated Use {@link AllowFullscreen}. */\n public get allowFullscreen() {\n return this.AllowFullscreen;\n }\n /** @deprecated Use {@link AllowFullscreen}. */\n public set allowFullscreen(value) {\n this.AllowFullscreen = value;\n }\n public RefreshOnResize = false;\n\n /** @deprecated Use {@link RefreshOnResize}. */\n public get refreshOnResize() {\n return this.RefreshOnResize;\n }\n /** @deprecated Use {@link RefreshOnResize}. */\n public set refreshOnResize(value) {\n this.RefreshOnResize = value;\n }\n\n // Validation\n public UrlError = '';\n\n /** @deprecated Use {@link UrlError}. */\n public get urlError() {\n return this.UrlError;\n }\n /** @deprecated Use {@link UrlError}. */\n public set urlError(value) {\n this.UrlError = value;\n }\n public ShowUrlPreview = false;\n\n /** @deprecated Use {@link ShowUrlPreview}. */\n public get showUrlPreview() {\n return this.ShowUrlPreview;\n }\n /** @deprecated Use {@link ShowUrlPreview}. */\n public set showUrlPreview(value) {\n this.ShowUrlPreview = value;\n }\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 /** @deprecated Use {@link OnTitleChange}. */\n public onTitleChange(): void {\n return this.OnTitleChange();\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 /** @deprecated Use {@link OnUrlChange}. */\n public onUrlChange(): void {\n return this.OnUrlChange();\n }\n\n public OnSandboxModeChange(): void {\n this.emitConfigChanged();\n }\n\n /** @deprecated Use {@link OnSandboxModeChange}. */\n public onSandboxModeChange(): void {\n return this.OnSandboxModeChange();\n }\n\n public OnOptionChange(): void {\n this.emitConfigChanged();\n }\n\n /** @deprecated Use {@link OnOptionChange}. */\n public onOptionChange(): void {\n return this.OnOptionChange();\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 /** @deprecated Use {@link PreviewUrl}. */\n public previewUrl(): void {\n return this.PreviewUrl();\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 /** @deprecated Use {@link GetSandboxModeDescription}. */\n public getSandboxModeDescription(): string {\n return this.GetSandboxModeDescription();\n }\n}\n","<!-- WebURL Config Panel - Form content only, no dialog chrome -->\n<div class=\"config-panel\">\n <!-- Title -->\n @if (ShowCommonFields) {\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\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"]}
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
2
  import { MJDashboardEntity, MJDashboardCategoryEntity, DashboardUserPermissions } from '@memberjunction/core-entities';
3
+ import { MJConfirmService } from '@memberjunction/ng-ui-components';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
5
6
  * View mode for the dashboard browser
@@ -10,6 +11,7 @@ export type DashboardBrowserViewMode = 'cards' | 'list';
10
11
  */
11
12
  export interface DashboardOpenEvent {
12
13
  Dashboard: MJDashboardEntity;
14
+ /** True for a Shift, Ctrl or Cmd click outside selection mode: open the dashboard in a separate tab. */
13
15
  OpenInNewTab: boolean;
14
16
  }
15
17
  /**
@@ -19,11 +21,17 @@ export interface DashboardEditEvent {
19
21
  Dashboard: MJDashboardEntity;
20
22
  }
21
23
  /**
22
- * Event emitted when dashboards are requested for deletion
24
+ * Event emitted after the user confirms deleting dashboards. The host deletes them and does not ask again.
23
25
  */
24
26
  export interface DashboardDeleteEvent {
25
27
  Dashboards: MJDashboardEntity[];
26
28
  }
29
+ /**
30
+ * Event emitted when the user stars or unstars a dashboard on its card
31
+ */
32
+ export interface DashboardFavoriteToggleEvent {
33
+ Dashboard: MJDashboardEntity;
34
+ }
27
35
  /**
28
36
  * Event emitted when dashboards are requested to be moved to a folder
29
37
  */
@@ -80,6 +88,7 @@ export interface ViewPreferenceChangeEvent {
80
88
  */
81
89
  export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
82
90
  private cdr;
91
+ private confirmService;
83
92
  /** All dashboards to display */
84
93
  private _dashboards;
85
94
  set Dashboards(value: MJDashboardEntity[]);
@@ -92,6 +101,16 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
92
101
  private _selectedCategoryId;
93
102
  set SelectedCategoryId(value: string | null);
94
103
  get SelectedCategoryId(): string | null;
104
+ private _flatMode;
105
+ /**
106
+ * When true, shows every dashboard in `Dashboards` in one flat list and ignores
107
+ * `SelectedCategoryId`: no folder scoping, no folder cards, the breadcrumb stays at the
108
+ * root, and new dashboards and categories are created at the root. Search and the
109
+ * Config-type rule still apply. When false (the default), shows the sub-folders and
110
+ * dashboards of the selected folder.
111
+ */
112
+ set FlatMode(value: boolean);
113
+ get FlatMode(): boolean;
95
114
  /** Initial view mode */
96
115
  private _viewMode;
97
116
  set ViewMode(value: DashboardBrowserViewMode);
@@ -126,11 +145,33 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
126
145
  private _effectiveCategoryMap;
127
146
  set EffectiveCategoryMap(value: Map<string, string | null> | null);
128
147
  get EffectiveCategoryMap(): Map<string, string | null>;
148
+ /** IDs of the user's favorite dashboards. Their cards show a filled star. */
149
+ private _favoriteIds;
150
+ set FavoriteIds(value: readonly string[] | null);
151
+ get FavoriteIds(): string[];
152
+ /** Whether cards show the favorite star. Turn it on when the host handles DashboardFavoriteToggle. */
153
+ ShowFavorites: boolean;
154
+ /**
155
+ * Map of dashboard ID to the owner text its card shows ("You", or a name). A dashboard whose ID
156
+ * is not in the map shows no owner. IDs match in any letter case.
157
+ */
158
+ private _ownerLabels;
159
+ private ownerLabelById;
160
+ set OwnerLabels(value: Map<string, string> | null);
161
+ get OwnerLabels(): Map<string, string>;
162
+ /** Icon of the empty state of a flat list with no dashboards and no search. */
163
+ FlatEmptyIcon: string;
164
+ /** Title of the empty state of a flat list with no dashboards and no search. */
165
+ FlatEmptyTitle: string;
166
+ /** Message of the empty state of a flat list with no dashboards and no search. */
167
+ FlatEmptyMessage: string;
168
+ /** When true, an empty flat list with no search shows the first-run welcome instead. */
169
+ FlatEmptyWelcome: boolean;
129
170
  /** Emitted when a dashboard is opened for viewing */
130
171
  DashboardOpen: EventEmitter<DashboardOpenEvent>;
131
172
  /** Emitted when a dashboard is opened for editing */
132
173
  DashboardEdit: EventEmitter<DashboardEditEvent>;
133
- /** Emitted when dashboards are requested for deletion */
174
+ /** Emitted after the user confirms a delete. The host deletes the dashboards and does not ask again. */
134
175
  DashboardDelete: EventEmitter<DashboardDeleteEvent>;
135
176
  /** Emitted when dashboards are requested to move to a folder */
136
177
  DashboardMove: EventEmitter<DashboardMoveEvent>;
@@ -146,20 +187,18 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
146
187
  ViewModeChange: EventEmitter<ViewModeChangeEvent>;
147
188
  /** Emitted when view preference should be persisted */
148
189
  ViewPreferenceChange: EventEmitter<ViewPreferenceChangeEvent>;
190
+ /** Emitted when the user stars or unstars a dashboard on its card */
191
+ DashboardFavoriteToggle: EventEmitter<DashboardFavoriteToggleEvent>;
149
192
  /** Filtered dashboards based on search and category */
150
193
  FilteredDashboards: MJDashboardEntity[];
151
194
  /** Current search text */
152
195
  SearchText: string;
153
196
  /** Set of selected dashboard IDs */
154
197
  SelectedIds: Set<string>;
155
- /** Last clicked dashboard ID (for shift-click range selection) */
198
+ /** The last dashboard clicked in selection mode: where a Shift-click range starts */
156
199
  private lastClickedId;
157
- /** Whether delete confirmation dialog is visible */
158
- ShowDeleteConfirm: boolean;
159
200
  /** Whether move-to-folder dialog is visible */
160
201
  ShowMoveDialog: boolean;
161
- /** Dashboards pending deletion (for confirm dialog) */
162
- DashboardsPendingDelete: MJDashboardEntity[];
163
202
  /** Currently dragging dashboard ID */
164
203
  DraggingId: string | null;
165
204
  /** Drop target category ID */
@@ -186,7 +225,7 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
186
225
  /** Drop target category ID for drag-over highlighting on category cards */
187
226
  DragOverChildCategoryId: string | null;
188
227
  private readonly destroy$;
189
- constructor(cdr: ChangeDetectorRef);
228
+ constructor(cdr: ChangeDetectorRef, confirmService: MJConfirmService);
190
229
  ngOnInit(): void;
191
230
  ngOnDestroy(): void;
192
231
  /**
@@ -209,6 +248,12 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
209
248
  * Message shown in the search no-results empty state, echoing the search term.
210
249
  */
211
250
  get NoResultsMessage(): string;
251
+ /**
252
+ * Whether an empty browser shows the first-run welcome: in flat mode when the host asks for it
253
+ * (FlatEmptyWelcome) and there is no search; in folder mode at the root when there are no
254
+ * dashboards at all.
255
+ */
256
+ get ShowWelcome(): boolean;
212
257
  /**
213
258
  * Handle category filter change
214
259
  */
@@ -234,7 +279,11 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
234
279
  */
235
280
  get CurrentCategory(): MJDashboardCategoryEntity | null;
236
281
  /**
237
- * Handle dashboard click with multi-select support
282
+ * Handles a click on a dashboard. Outside selection mode every click opens the dashboard, and a
283
+ * Shift, Ctrl or Cmd click asks for a separate tab (`OpenInNewTab`). In selection mode a
284
+ * Shift-click selects the range from the last dashboard clicked in selection mode (just this one
285
+ * when there is none yet), a Ctrl or Cmd click toggles the dashboard, and a plain click clears
286
+ * the selection and opens the dashboard.
238
287
  */
239
288
  OnDashboardClick(dashboard: MJDashboardEntity, event: MouseEvent): void;
240
289
  /**
@@ -298,26 +347,20 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
298
347
  */
299
348
  ConfirmCreateCategory(): void;
300
349
  /**
301
- * Open edit dialog for single dashboard via context menu
302
- */
303
- OnEditDashboard(dashboard: MJDashboardEntity, event: Event): void;
304
- /**
305
- * Request to delete a single dashboard
306
- */
307
- OnDeleteDashboard(dashboard: MJDashboardEntity, event: Event): void;
308
- /**
309
- * Request to delete selected dashboards.
310
- * Only includes dashboards the user has permission to delete.
311
- */
312
- OnDeleteSelected(): void;
313
- /**
314
- * Confirm deletion
350
+ * Asks the host to edit one dashboard. A click event, when given, does not also reach the row or card.
315
351
  */
316
- ConfirmDelete(): void;
352
+ OnEditDashboard(dashboard: MJDashboardEntity, event?: Event): void;
317
353
  /**
318
- * Cancel deletion
354
+ * Asks the user to confirm deleting one dashboard, then emits DashboardDelete. A click event, when
355
+ * given, does not also reach the row or card.
319
356
  */
320
- CloseDeleteConfirm(): void;
357
+ OnDeleteDashboard(dashboard: MJDashboardEntity, event?: Event): Promise<void>;
358
+ /** Emits DashboardFavoriteToggle for the dashboard whose star the user clicked. */
359
+ OnToggleFavorite(dashboard: MJDashboardEntity): void;
360
+ /** Asks the user to confirm deleting the selected dashboards they may delete, then emits DashboardDelete. */
361
+ OnDeleteSelected(): Promise<void>;
362
+ /** Emits DashboardDelete and leaves selection mode when the user confirms; keeps everything when they cancel. */
363
+ private confirmAndDelete;
321
364
  /**
322
365
  * Open move-to-folder dialog for selected dashboards
323
366
  */
@@ -378,9 +421,15 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
378
421
  */
379
422
  GetCategoryName(categoryId: string | null): string;
380
423
  /**
381
- * Format date for display
424
+ * Format date for display: "Today", "Yesterday", "N days ago" (under a week), else the local date
382
425
  */
383
426
  FormatDate(date: Date): string;
427
+ /** True when the dashboard is one of the user's favorites (FavoriteIds). */
428
+ IsFavorite(dashboardId: string): boolean;
429
+ /** The owner text of the dashboard's card (from OwnerLabels), or null for none. */
430
+ OwnerLabel(dashboard: MJDashboardEntity): string | null;
431
+ /** The category path a card shows: only in flat mode, where the folder is not otherwise visible. */
432
+ CardCategoryPath(dashboard: MJDashboardEntity): string | null;
384
433
  /**
385
434
  * Track by function for ngFor
386
435
  */
@@ -442,6 +491,8 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
442
491
  TargetCategoryId: string | null;
443
492
  DashboardIds: string[];
444
493
  }): void;
494
+ /** The folder new dashboards and categories go into: the selected one, or the root in flat mode. */
495
+ private get folderIdForNewItems();
445
496
  private applyFilters;
446
497
  /**
447
498
  * Update the list of child categories for the current folder
@@ -457,6 +508,6 @@ export declare class DashboardBrowserComponent implements OnInit, OnDestroy {
457
508
  ToggleSelection(dashboardId: string): void;
458
509
  private selectRange;
459
510
  static ɵfac: i0.ɵɵFactoryDeclaration<DashboardBrowserComponent, never>;
460
- static ɵcmp: i0.ɵɵComponentDeclaration<DashboardBrowserComponent, "mj-dashboard-browser", never, { "Dashboards": { "alias": "Dashboards"; "required": false; }; "Categories": { "alias": "Categories"; "required": false; }; "SelectedCategoryId": { "alias": "SelectedCategoryId"; "required": false; }; "ViewMode": { "alias": "ViewMode"; "required": false; }; "IsLoading": { "alias": "IsLoading"; "required": false; }; "ShowCreateButton": { "alias": "ShowCreateButton"; "required": false; }; "AllowMultiSelect": { "alias": "AllowMultiSelect"; "required": false; }; "AllowDragDrop": { "alias": "AllowDragDrop"; "required": false; }; "Title": { "alias": "Title"; "required": false; }; "IconClass": { "alias": "IconClass"; "required": false; }; "DashboardPermissions": { "alias": "DashboardPermissions"; "required": false; }; "EffectiveCategoryMap": { "alias": "EffectiveCategoryMap"; "required": false; }; }, { "DashboardOpen": "DashboardOpen"; "DashboardEdit": "DashboardEdit"; "DashboardDelete": "DashboardDelete"; "DashboardMove": "DashboardMove"; "DashboardCreate": "DashboardCreate"; "CategoryCreate": "CategoryCreate"; "CategoryDelete": "CategoryDelete"; "CategoryChange": "CategoryChange"; "ViewModeChange": "ViewModeChange"; "ViewPreferenceChange": "ViewPreferenceChange"; }, never, never, false, never>;
511
+ static ɵcmp: i0.ɵɵComponentDeclaration<DashboardBrowserComponent, "mj-dashboard-browser", never, { "Dashboards": { "alias": "Dashboards"; "required": false; }; "Categories": { "alias": "Categories"; "required": false; }; "SelectedCategoryId": { "alias": "SelectedCategoryId"; "required": false; }; "FlatMode": { "alias": "FlatMode"; "required": false; }; "ViewMode": { "alias": "ViewMode"; "required": false; }; "IsLoading": { "alias": "IsLoading"; "required": false; }; "ShowCreateButton": { "alias": "ShowCreateButton"; "required": false; }; "AllowMultiSelect": { "alias": "AllowMultiSelect"; "required": false; }; "AllowDragDrop": { "alias": "AllowDragDrop"; "required": false; }; "Title": { "alias": "Title"; "required": false; }; "IconClass": { "alias": "IconClass"; "required": false; }; "DashboardPermissions": { "alias": "DashboardPermissions"; "required": false; }; "EffectiveCategoryMap": { "alias": "EffectiveCategoryMap"; "required": false; }; "FavoriteIds": { "alias": "FavoriteIds"; "required": false; }; "ShowFavorites": { "alias": "ShowFavorites"; "required": false; }; "OwnerLabels": { "alias": "OwnerLabels"; "required": false; }; "FlatEmptyIcon": { "alias": "FlatEmptyIcon"; "required": false; }; "FlatEmptyTitle": { "alias": "FlatEmptyTitle"; "required": false; }; "FlatEmptyMessage": { "alias": "FlatEmptyMessage"; "required": false; }; "FlatEmptyWelcome": { "alias": "FlatEmptyWelcome"; "required": false; }; }, { "DashboardOpen": "DashboardOpen"; "DashboardEdit": "DashboardEdit"; "DashboardDelete": "DashboardDelete"; "DashboardMove": "DashboardMove"; "DashboardCreate": "DashboardCreate"; "CategoryCreate": "CategoryCreate"; "CategoryDelete": "CategoryDelete"; "CategoryChange": "CategoryChange"; "ViewModeChange": "ViewModeChange"; "ViewPreferenceChange": "ViewPreferenceChange"; "DashboardFavoriteToggle": "DashboardFavoriteToggle"; }, never, never, false, never>;
461
512
  }
462
513
  //# sourceMappingURL=dashboard-browser.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-browser.component.d.ts","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/dashboard-browser.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-browser.component.d.ts","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/dashboard-browser.component.ts"],"names":[],"mappings":"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"}