@igo2/common 21.0.0-next.29 → 21.0.0-next.30
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.
- package/fesm2022/igo2-common-action.mjs +14 -14
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +7 -7
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs +7 -7
- package/fesm2022/igo2-common-badge.mjs.map +1 -1
- package/fesm2022/igo2-common-clickout.mjs +7 -7
- package/fesm2022/igo2-common-clickout.mjs.map +1 -1
- package/fesm2022/igo2-common-clone.mjs +7 -7
- package/fesm2022/igo2-common-clone.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +10 -10
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs +7 -7
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +10 -10
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +10 -10
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +10 -10
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
- package/fesm2022/igo2-common-datepicker.mjs +3 -3
- package/fesm2022/igo2-common-datepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +7 -7
- package/fesm2022/igo2-common-dom.mjs.map +1 -1
- package/fesm2022/igo2-common-drag-drop.mjs +10 -10
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +14 -14
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +31 -31
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +7 -7
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +56 -56
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +7 -7
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +6 -6
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs +10 -10
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +13 -13
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +10 -10
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-keyvalue.mjs +7 -7
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +10 -10
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +7 -7
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +6 -6
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +10 -10
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs +7 -7
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
- package/fesm2022/igo2-common-spinner.mjs +10 -10
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
- package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
- package/fesm2022/igo2-common-table.mjs +7 -7
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-timepicker.mjs +3 -3
- package/fesm2022/igo2-common-timepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +14 -14
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +14 -14
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +18 -18
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-tool.mjs","sources":["../../../packages/common/tool/src/shared/toolbox.ts","../../../packages/common/tool/src/shared/tool.service.ts","../../../packages/common/tool/src/shared/tool-component.ts","../../../packages/common/tool/src/toolbox/toolbox.animation.ts","../../../packages/common/tool/src/toolbox/toolbox.component.ts","../../../packages/common/tool/src/toolbox/toolbox.component.html","../../../packages/common/tool/src/toolbox/toolbox.module.ts","../../../packages/common/tool/src/tool.module.ts","../../../packages/common/tool/src/igo2-common-tool.ts"],"sourcesContent":["import { EntityStore } from '@igo2/common/entity';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\nimport { Tool, ToolboxOptions } from './tool.interface';\n\n/**\n * Service where all available tools and their component are registered.\n */\nexport class Toolbox {\n /**\n * Observable of the active tool\n */\n activeTool$ = new BehaviorSubject<Tool | undefined>(undefined);\n\n /**\n * Ordered list of tool names to display in a toolbar\n */\n toolbar$ = new BehaviorSubject<string[]>([]);\n\n /**\n * Observable of the active tool\n */\n private activeTool$$!: Subscription;\n\n /**\n * Active tool history. Useful for activating the previous tool.\n */\n private activeToolHistory: string[] = [];\n private previousToolName!: string;\n private currentToolName!: string;\n\n /**\n * Tool store\n */\n private store = new EntityStore<Tool>([], {\n getKey: (tool: Tool) => tool.name\n });\n\n get tools$(): BehaviorSubject<Tool[]> {\n return this.store.entities$;\n }\n\n constructor(options: ToolboxOptions = {}) {\n this.setToolbar(options.toolbar || []);\n this.initStore();\n }\n\n /**\n * Destroy the toolbox\n */\n destroy() {\n this.activeTool$$?.unsubscribe();\n this.store.destroy();\n }\n\n /**\n * Return a tool\n * @param name Tool name\n * @returns tool Tool\n */\n getTool(name: string): Tool | undefined {\n return this.store.get(name);\n }\n\n /**\n * Return all tools\n * @returns Array of tools\n */\n getTools(): Tool[] {\n return this.store.all();\n }\n\n /**\n * Set tool configurations\n * @param tools Tools\n */\n setTools(tools: Tool[]) {\n this.store.load(tools);\n }\n\n /**\n * Get toolbar\n * @returns Toolbar value\n */\n getToolbar(): string[] {\n return this.toolbar$.getValue();\n }\n\n /**\n * Set toolbar\n * @param toolbar A list of tool names\n */\n setToolbar(toolbar: string[]) {\n this.toolbar$.next(toolbar || []);\n }\n\n /**\n * Activate a tool (and deactivate other tools)\n * @param name Tool name\n * @param options Tool options\n */\n activateTool(name: string, options: Record<string, any> = {}) {\n const tool = this.getTool(name);\n if (tool === undefined) {\n return;\n }\n\n this.store.state.update(tool, { active: true, options }, true);\n }\n\n /**\n * Activate the previous tool, if any\n */\n activatePreviousTool() {\n if (this.activeToolHistory.length <= 1) {\n this.deactivateTool();\n return;\n }\n const [previous] = this.activeToolHistory.splice(-2, 2);\n this.activateTool(previous);\n }\n\n getCurrentPreviousToolName(): [string, string] {\n return [this.previousToolName, this.currentToolName];\n }\n\n /**\n * Activate the tool below, if any\n */\n /* activateBelowTool() {\n const arrayTools = this.getToolbar();\n const index = arrayTools.findIndex(t => t === this.activeTool$.getValue().name);\n if (arrayTools[index + 1] !== undefined) {\n this.deactivateTool();\n const below = arrayTools[index + 1];\n this.activateTool(below);\n } else {\n this.deactivateTool();\n const below = arrayTools[0];\n this.activateTool(below);\n }\n } */\n\n /**\n * Activate the tool above, if any\n */\n /* activateAboveTool() {\n const arrayTools = this.getToolbar();\n const index = arrayTools.findIndex(t => t === this.activeTool$.getValue().name);\n if (arrayTools[index - 1] !== undefined) {\n this.deactivateTool();\n const above = arrayTools[index - 1];\n this.activateTool(above);\n } else {\n this.deactivateTool();\n const above = arrayTools[arrayTools.length - 1];\n this.activateTool(above);\n }\n } */\n\n /**\n * Deactivate the active tool\n */\n deactivateTool() {\n this.clearActiveToolHistory();\n this.store.state.updateAll({ active: false });\n }\n\n /**\n * Initialize the tool store and start observing the active tool\n */\n private initStore() {\n this.store = new EntityStore<Tool>([], {\n getKey: (entity: Tool) => entity.name\n });\n\n this.activeTool$$ = this.store.stateView\n .firstBy$((record) => record?.state?.active === true)\n .subscribe((record) => {\n if (record === undefined) {\n this.setActiveTool(undefined);\n return;\n }\n\n const tool = record.entity;\n const options = Object.assign(\n {},\n tool.options || {},\n record.state.options || {}\n );\n this.setActiveTool(Object.assign({}, tool, { options }));\n });\n }\n\n /**\n * Set the active tool and update the tool history\n * @param tool Tool\n */\n private setActiveTool(tool: Tool | undefined) {\n this.activeTool$.next(tool);\n if (tool === undefined) {\n this.clearActiveToolHistory();\n } else {\n this.activeToolHistory = this.activeToolHistory\n .filter((name: string) => name !== tool.name)\n .concat([tool.name]);\n\n this.previousToolName = this.currentToolName;\n this.currentToolName =\n this.activeToolHistory[this.activeToolHistory.length - 1];\n }\n }\n\n /**\n * Clear the tool history\n */\n private clearActiveToolHistory() {\n this.activeToolHistory = [];\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Tool } from './tool.interface';\nimport { Toolbox } from './toolbox';\n\n/**\n * Service where runtime tool configurations are registered\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ToolService {\n static tools: Record<string, Tool> = {};\n\n /**\n * Toolbox that holds main tools\n */\n public toolbox: Toolbox = new Toolbox();\n\n static register(tool: Tool) {\n ToolService.tools[tool.name] = tool;\n }\n\n constructor() {\n this.toolbox.setTools(this.getTools());\n }\n\n /**\n * Return a tool\n * @param name Tool name\n * @returns tool Tool\n */\n getTool(name: string): Tool {\n return ToolService.tools[name];\n }\n\n /**\n * Return all tools\n * @returns tTols\n */\n getTools(): Tool[] {\n return Object.values(ToolService.tools);\n }\n}\n","import { Tool } from './tool.interface';\nimport { ToolService } from './tool.service';\n\nexport function ToolComponent(tool: Partial<Tool>): (cls: any) => any {\n return (compType: any) => {\n ToolService.register(\n Object.assign({}, tool, {\n component: compType\n } as Tool)\n );\n };\n}\n","import {\n AnimationTriggerMetadata,\n animate,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\nexport function toolSlideInOut(\n speed = '300ms',\n type = 'ease-in-out'\n): AnimationTriggerMetadata {\n return trigger('toolSlideInOut', [\n state(\n 'enter',\n style({\n transform: 'translate3d(0, 0, 0)'\n })\n ),\n transition('void => enter', animate(speed + ' ' + type))\n ]);\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnDestroy,\n OnInit,\n input\n} from '@angular/core';\n\nimport { Action, ActionStore, ActionbarComponent } from '@igo2/common/action';\nimport { DynamicOutletComponent } from '@igo2/common/dynamic-component';\n\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tool } from '../shared/tool.interface';\nimport { Toolbox } from '../shared/toolbox';\nimport { ToolboxColor } from '../shared/toolbox.enums';\nimport { toolSlideInOut } from './toolbox.animation';\n\n@Component({\n selector: 'igo-toolbox',\n templateUrl: 'toolbox.component.html',\n styleUrls: ['toolbox.component.scss'],\n animations: [toolSlideInOut()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ActionbarComponent, DynamicOutletComponent, AsyncPipe]\n})\nexport class ToolboxComponent implements OnInit, OnDestroy {\n /**\n * Observable of the active tool\n */\n activeTool$ = new BehaviorSubject<Tool | undefined>(undefined);\n\n get isActive(): boolean {\n return !!this.activeTool$.value;\n }\n\n /**\n * Store of actions that toggle tools\n */\n actionStore: ActionStore = new ActionStore([]);\n\n /**\n * Observable of he anmation state\n */\n animation$ = new BehaviorSubject<string>('none');\n\n /**\n * Observable of the toolbar\n */\n toolbar$ = new BehaviorSubject<string[]>([]);\n\n /**\n * Whether the Toolbar should display actions' titles\n */\n toolbarWithTitle$: Observable<boolean> = this.activeTool$.pipe(\n map((tool: Tool | undefined) => tool === undefined)\n );\n\n /**\n * Subscription to the active tool\n */\n private activeTool$$?: Subscription;\n\n /**\n * Subscription to the toolbar\n */\n private toolbar$$?: Subscription;\n\n /**\n * Observable of the ongoing animation. This is useful when\n * multiple animations are triggered at once i.e. when the user clicks\n * too fast on different actions\n */\n private animating$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Subscription to the ongoing animation\n */\n private animating$$?: Subscription;\n\n /**\n * Toolbox\n */\n readonly toolbox = input.required<Toolbox>();\n\n /**\n * Whether the toolbox should animate the first tool entering\n */\n readonly animate = input(false);\n\n /**\n * Color of Toolbox\n */\n readonly color = input<ToolboxColor>('white');\n\n /**\n * @ignore\n */\n @HostBinding('class.color-grey')\n get classColorGrey() {\n return this.color() === 'grey';\n }\n\n /**\n * @ignore\n */\n @HostBinding('class.color-primary')\n get classColorPrimary() {\n return this.color() === 'primary';\n }\n\n /**\n * Initialize the toolbar and subscribe to the active tool\n * @internal\n */\n ngOnInit() {\n const toolbox = this.toolbox();\n this.toolbar$$ = toolbox.toolbar$.subscribe((toolbar) =>\n this.onToolbarChange(toolbar)\n );\n this.activeTool$$ = toolbox.activeTool$.subscribe((tool) =>\n this.onActiveToolChange(tool)\n );\n }\n\n /**\n * Unsubscribe to the active tool and destroy the action store\n * @internal\n */\n ngOnDestroy() {\n this.toolbar$$?.unsubscribe();\n this.activeTool$$?.unsubscribe();\n this.actionStore.destroy();\n }\n\n /**\n * Track the starting animation\n * @internal\n */\n onAnimationStart() {\n this.animating$.next(true);\n }\n\n /**\n * Untrack the completed animation\n * @internal\n */\n onAnimationComplete() {\n this.animating$.next(false);\n }\n\n /**\n * Return a tool's inputs\n * @param tool Tool\n * @returns Tool inputs\n * @internal\n */\n getToolInputs(tool: Tool): Record<string, any> {\n return tool.options || {};\n }\n\n /**\n * Initialize an action store\n * @param toolbar Toolbar\n */\n private onToolbarChange(toolbar: string[]) {\n this.setToolbar(toolbar);\n }\n\n /**\n * Activate a tool and trigger an animation or not\n * @param tool Tool to activate\n */\n private onActiveToolChange(tool: Tool | undefined) {\n if (!this.animate()) {\n this.setActiveTool(tool);\n return;\n }\n this.onAnimate(() => this.setActiveTool(tool));\n }\n\n /**\n * Set the active tool\n * @param tool Tool to activate\n */\n private setActiveTool(tool: Tool | undefined) {\n if (tool === undefined) {\n this.actionStore.state.updateAll({ active: false });\n } else {\n const action = this.actionStore.get(tool.name);\n if (action !== undefined) {\n this.actionStore.state.update(action, { active: true }, true);\n }\n }\n\n this.activeTool$.next(tool);\n if (this.animate()) {\n this.animation$.next('enter');\n }\n }\n\n /**\n * Initialize the toolbar\n */\n private setToolbar(toolbar: string[]) {\n const actions = toolbar.reduce((acc: Action[], toolName: string) => {\n const toolbox = this.toolbox();\n if (!toolbox) {\n return acc;\n }\n const tool = toolbox.getTool(toolName);\n if (tool === undefined) {\n return acc;\n }\n\n acc.push({\n id: tool.name,\n title: tool.title,\n icon: tool.icon,\n tooltip: tool.tooltip,\n args: [tool, toolbox],\n handler: (_tool: Tool, _toolbox: Toolbox) => {\n _toolbox.activateTool(_tool.name);\n },\n ngClass: (_tool: Tool) => {\n return toolbox.activeTool$.pipe(\n map((activeTool: Tool | undefined) => {\n let toolActivated = false;\n if (activeTool !== undefined && _tool.name === activeTool.name) {\n toolActivated = true;\n }\n\n let childrenToolActivated = false;\n if (\n activeTool !== undefined &&\n _tool.name === activeTool.parent\n ) {\n childrenToolActivated = true;\n }\n\n return {\n 'tool-activated': toolActivated,\n 'children-tool-activated': childrenToolActivated\n };\n })\n );\n }\n });\n return acc;\n }, []);\n this.actionStore.load(actions);\n this.toolbar$.next(toolbar);\n }\n\n /**\n * Observe the ongoing animation and ignore any incoming animation\n * while one is still ongoing.\n * @param callback Callback to execute when the animation completes\n */\n private onAnimate(callback: () => void) {\n this.unAnimate();\n this.animating$$ = this.animating$.subscribe((animation: boolean) => {\n if (!animation) {\n callback.call(this);\n this.unAnimate();\n }\n });\n }\n\n /**\n * Stop observing an animation when it's complete\n */\n private unAnimate() {\n if (this.animating$$) {\n this.animating$$.unsubscribe();\n }\n }\n}\n","@let toolbar = toolbar$ | async;\n@if (toolbar !== null && toolbar.length > 0) {\n <igo-actionbar\n [store]=\"actionStore\"\n [withIcon]=\"true\"\n [withTitle]=\"(toolbarWithTitle$ | async)!\"\n [withTooltip]=\"(toolbarWithTitle$ | async) === false\"\n [scrollActive]=\"(toolbarWithTitle$ | async)!\"\n [horizontal]=\"false\"\n />\n}\n\n@if (activeTool$ | async; as tool) {\n <div\n class=\"igo-tool-container\"\n [class]=\"{\n 'igo-tool-container-with-toolbar': !actionStore.empty,\n 'igo-tool-container-with-animation': animate()\n }\"\n [@toolSlideInOut]=\"animation$ | async\"\n (@toolSlideInOut.start)=\"onAnimationStart()\"\n (@toolSlideInOut.done)=\"onAnimationComplete()\"\n >\n <igo-dynamic-outlet\n [component]=\"tool.component\"\n [inputs]=\"getToolInputs(tool)\"\n />\n </div>\n}\n","import { NgModule } from '@angular/core';\n\nimport { ToolboxComponent } from './toolbox.component';\n\n/**\n * @deprecated import the ToolboxComponent directly\n */\n@NgModule({\n imports: [ToolboxComponent],\n exports: [ToolboxComponent]\n})\nexport class IgoToolboxModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ToolService } from './shared/tool.service';\nimport { IgoToolboxModule } from './toolbox/toolbox.module';\n\n/**\n * @deprecated import the ToolboxComponent directly\n */\n@NgModule({\n exports: [IgoToolboxModule]\n})\nexport class IgoToolModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoToolModule> {\n return {\n ngModule: IgoToolModule,\n providers: [ToolService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-tool.mjs","sources":["../../../packages/common/tool/src/shared/toolbox.ts","../../../packages/common/tool/src/shared/tool.service.ts","../../../packages/common/tool/src/shared/tool-component.ts","../../../packages/common/tool/src/toolbox/toolbox.animation.ts","../../../packages/common/tool/src/toolbox/toolbox.component.ts","../../../packages/common/tool/src/toolbox/toolbox.component.html","../../../packages/common/tool/src/toolbox/toolbox.module.ts","../../../packages/common/tool/src/tool.module.ts","../../../packages/common/tool/src/igo2-common-tool.ts"],"sourcesContent":["import { EntityStore } from '@igo2/common/entity';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\nimport { Tool, ToolboxOptions } from './tool.interface';\n\n/**\n * Service where all available tools and their component are registered.\n */\nexport class Toolbox {\n /**\n * Observable of the active tool\n */\n activeTool$ = new BehaviorSubject<Tool | undefined>(undefined);\n\n /**\n * Ordered list of tool names to display in a toolbar\n */\n toolbar$ = new BehaviorSubject<string[]>([]);\n\n /**\n * Observable of the active tool\n */\n private activeTool$$!: Subscription;\n\n /**\n * Active tool history. Useful for activating the previous tool.\n */\n private activeToolHistory: string[] = [];\n private previousToolName!: string;\n private currentToolName!: string;\n\n /**\n * Tool store\n */\n private store = new EntityStore<Tool>([], {\n getKey: (tool: Tool) => tool.name\n });\n\n get tools$(): BehaviorSubject<Tool[]> {\n return this.store.entities$;\n }\n\n constructor(options: ToolboxOptions = {}) {\n this.setToolbar(options.toolbar || []);\n this.initStore();\n }\n\n /**\n * Destroy the toolbox\n */\n destroy() {\n this.activeTool$$?.unsubscribe();\n this.store.destroy();\n }\n\n /**\n * Return a tool\n * @param name Tool name\n * @returns tool Tool\n */\n getTool(name: string): Tool | undefined {\n return this.store.get(name);\n }\n\n /**\n * Return all tools\n * @returns Array of tools\n */\n getTools(): Tool[] {\n return this.store.all();\n }\n\n /**\n * Set tool configurations\n * @param tools Tools\n */\n setTools(tools: Tool[]) {\n this.store.load(tools);\n }\n\n /**\n * Get toolbar\n * @returns Toolbar value\n */\n getToolbar(): string[] {\n return this.toolbar$.getValue();\n }\n\n /**\n * Set toolbar\n * @param toolbar A list of tool names\n */\n setToolbar(toolbar: string[]) {\n this.toolbar$.next(toolbar || []);\n }\n\n /**\n * Activate a tool (and deactivate other tools)\n * @param name Tool name\n * @param options Tool options\n */\n activateTool(name: string, options: Record<string, any> = {}) {\n const tool = this.getTool(name);\n if (tool === undefined) {\n return;\n }\n\n this.store.state.update(tool, { active: true, options }, true);\n }\n\n /**\n * Activate the previous tool, if any\n */\n activatePreviousTool() {\n if (this.activeToolHistory.length <= 1) {\n this.deactivateTool();\n return;\n }\n const [previous] = this.activeToolHistory.splice(-2, 2);\n this.activateTool(previous);\n }\n\n getCurrentPreviousToolName(): [string, string] {\n return [this.previousToolName, this.currentToolName];\n }\n\n /**\n * Activate the tool below, if any\n */\n /* activateBelowTool() {\n const arrayTools = this.getToolbar();\n const index = arrayTools.findIndex(t => t === this.activeTool$.getValue().name);\n if (arrayTools[index + 1] !== undefined) {\n this.deactivateTool();\n const below = arrayTools[index + 1];\n this.activateTool(below);\n } else {\n this.deactivateTool();\n const below = arrayTools[0];\n this.activateTool(below);\n }\n } */\n\n /**\n * Activate the tool above, if any\n */\n /* activateAboveTool() {\n const arrayTools = this.getToolbar();\n const index = arrayTools.findIndex(t => t === this.activeTool$.getValue().name);\n if (arrayTools[index - 1] !== undefined) {\n this.deactivateTool();\n const above = arrayTools[index - 1];\n this.activateTool(above);\n } else {\n this.deactivateTool();\n const above = arrayTools[arrayTools.length - 1];\n this.activateTool(above);\n }\n } */\n\n /**\n * Deactivate the active tool\n */\n deactivateTool() {\n this.clearActiveToolHistory();\n this.store.state.updateAll({ active: false });\n }\n\n /**\n * Initialize the tool store and start observing the active tool\n */\n private initStore() {\n this.store = new EntityStore<Tool>([], {\n getKey: (entity: Tool) => entity.name\n });\n\n this.activeTool$$ = this.store.stateView\n .firstBy$((record) => record?.state?.active === true)\n .subscribe((record) => {\n if (record === undefined) {\n this.setActiveTool(undefined);\n return;\n }\n\n const tool = record.entity;\n const options = Object.assign(\n {},\n tool.options || {},\n record.state.options || {}\n );\n this.setActiveTool(Object.assign({}, tool, { options }));\n });\n }\n\n /**\n * Set the active tool and update the tool history\n * @param tool Tool\n */\n private setActiveTool(tool: Tool | undefined) {\n this.activeTool$.next(tool);\n if (tool === undefined) {\n this.clearActiveToolHistory();\n } else {\n this.activeToolHistory = this.activeToolHistory\n .filter((name: string) => name !== tool.name)\n .concat([tool.name]);\n\n this.previousToolName = this.currentToolName;\n this.currentToolName =\n this.activeToolHistory[this.activeToolHistory.length - 1];\n }\n }\n\n /**\n * Clear the tool history\n */\n private clearActiveToolHistory() {\n this.activeToolHistory = [];\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Tool } from './tool.interface';\nimport { Toolbox } from './toolbox';\n\n/**\n * Service where runtime tool configurations are registered\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ToolService {\n static tools: Record<string, Tool> = {};\n\n /**\n * Toolbox that holds main tools\n */\n public toolbox: Toolbox = new Toolbox();\n\n static register(tool: Tool) {\n ToolService.tools[tool.name] = tool;\n }\n\n constructor() {\n this.toolbox.setTools(this.getTools());\n }\n\n /**\n * Return a tool\n * @param name Tool name\n * @returns tool Tool\n */\n getTool(name: string): Tool {\n return ToolService.tools[name];\n }\n\n /**\n * Return all tools\n * @returns tTols\n */\n getTools(): Tool[] {\n return Object.values(ToolService.tools);\n }\n}\n","import { Tool } from './tool.interface';\nimport { ToolService } from './tool.service';\n\nexport function ToolComponent(tool: Partial<Tool>): (cls: any) => any {\n return (compType: any) => {\n ToolService.register(\n Object.assign({}, tool, {\n component: compType\n } as Tool)\n );\n };\n}\n","import {\n AnimationTriggerMetadata,\n animate,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\nexport function toolSlideInOut(\n speed = '300ms',\n type = 'ease-in-out'\n): AnimationTriggerMetadata {\n return trigger('toolSlideInOut', [\n state(\n 'enter',\n style({\n transform: 'translate3d(0, 0, 0)'\n })\n ),\n transition('void => enter', animate(speed + ' ' + type))\n ]);\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnDestroy,\n OnInit,\n input\n} from '@angular/core';\n\nimport { Action, ActionStore, ActionbarComponent } from '@igo2/common/action';\nimport { DynamicOutletComponent } from '@igo2/common/dynamic-component';\n\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tool } from '../shared/tool.interface';\nimport { Toolbox } from '../shared/toolbox';\nimport { ToolboxColor } from '../shared/toolbox.enums';\nimport { toolSlideInOut } from './toolbox.animation';\n\n@Component({\n selector: 'igo-toolbox',\n templateUrl: 'toolbox.component.html',\n styleUrls: ['toolbox.component.scss'],\n animations: [toolSlideInOut()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ActionbarComponent, DynamicOutletComponent, AsyncPipe]\n})\nexport class ToolboxComponent implements OnInit, OnDestroy {\n /**\n * Observable of the active tool\n */\n activeTool$ = new BehaviorSubject<Tool | undefined>(undefined);\n\n get isActive(): boolean {\n return !!this.activeTool$.value;\n }\n\n /**\n * Store of actions that toggle tools\n */\n actionStore: ActionStore = new ActionStore([]);\n\n /**\n * Observable of he anmation state\n */\n animation$ = new BehaviorSubject<string>('none');\n\n /**\n * Observable of the toolbar\n */\n toolbar$ = new BehaviorSubject<string[]>([]);\n\n /**\n * Whether the Toolbar should display actions' titles\n */\n toolbarWithTitle$: Observable<boolean> = this.activeTool$.pipe(\n map((tool: Tool | undefined) => tool === undefined)\n );\n\n /**\n * Subscription to the active tool\n */\n private activeTool$$?: Subscription;\n\n /**\n * Subscription to the toolbar\n */\n private toolbar$$?: Subscription;\n\n /**\n * Observable of the ongoing animation. This is useful when\n * multiple animations are triggered at once i.e. when the user clicks\n * too fast on different actions\n */\n private animating$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Subscription to the ongoing animation\n */\n private animating$$?: Subscription;\n\n /**\n * Toolbox\n */\n readonly toolbox = input.required<Toolbox>();\n\n /**\n * Whether the toolbox should animate the first tool entering\n */\n readonly animate = input(false);\n\n /**\n * Color of Toolbox\n */\n readonly color = input<ToolboxColor>('white');\n\n /**\n * @ignore\n */\n @HostBinding('class.color-grey')\n get classColorGrey() {\n return this.color() === 'grey';\n }\n\n /**\n * @ignore\n */\n @HostBinding('class.color-primary')\n get classColorPrimary() {\n return this.color() === 'primary';\n }\n\n /**\n * Initialize the toolbar and subscribe to the active tool\n * @internal\n */\n ngOnInit() {\n const toolbox = this.toolbox();\n this.toolbar$$ = toolbox.toolbar$.subscribe((toolbar) =>\n this.onToolbarChange(toolbar)\n );\n this.activeTool$$ = toolbox.activeTool$.subscribe((tool) =>\n this.onActiveToolChange(tool)\n );\n }\n\n /**\n * Unsubscribe to the active tool and destroy the action store\n * @internal\n */\n ngOnDestroy() {\n this.toolbar$$?.unsubscribe();\n this.activeTool$$?.unsubscribe();\n this.actionStore.destroy();\n }\n\n /**\n * Track the starting animation\n * @internal\n */\n onAnimationStart() {\n this.animating$.next(true);\n }\n\n /**\n * Untrack the completed animation\n * @internal\n */\n onAnimationComplete() {\n this.animating$.next(false);\n }\n\n /**\n * Return a tool's inputs\n * @param tool Tool\n * @returns Tool inputs\n * @internal\n */\n getToolInputs(tool: Tool): Record<string, any> {\n return tool.options || {};\n }\n\n /**\n * Initialize an action store\n * @param toolbar Toolbar\n */\n private onToolbarChange(toolbar: string[]) {\n this.setToolbar(toolbar);\n }\n\n /**\n * Activate a tool and trigger an animation or not\n * @param tool Tool to activate\n */\n private onActiveToolChange(tool: Tool | undefined) {\n if (!this.animate()) {\n this.setActiveTool(tool);\n return;\n }\n this.onAnimate(() => this.setActiveTool(tool));\n }\n\n /**\n * Set the active tool\n * @param tool Tool to activate\n */\n private setActiveTool(tool: Tool | undefined) {\n if (tool === undefined) {\n this.actionStore.state.updateAll({ active: false });\n } else {\n const action = this.actionStore.get(tool.name);\n if (action !== undefined) {\n this.actionStore.state.update(action, { active: true }, true);\n }\n }\n\n this.activeTool$.next(tool);\n if (this.animate()) {\n this.animation$.next('enter');\n }\n }\n\n /**\n * Initialize the toolbar\n */\n private setToolbar(toolbar: string[]) {\n const actions = toolbar.reduce((acc: Action[], toolName: string) => {\n const toolbox = this.toolbox();\n if (!toolbox) {\n return acc;\n }\n const tool = toolbox.getTool(toolName);\n if (tool === undefined) {\n return acc;\n }\n\n acc.push({\n id: tool.name,\n title: tool.title,\n icon: tool.icon,\n tooltip: tool.tooltip,\n args: [tool, toolbox],\n handler: (_tool: Tool, _toolbox: Toolbox) => {\n _toolbox.activateTool(_tool.name);\n },\n ngClass: (_tool: Tool) => {\n return toolbox.activeTool$.pipe(\n map((activeTool: Tool | undefined) => {\n let toolActivated = false;\n if (activeTool !== undefined && _tool.name === activeTool.name) {\n toolActivated = true;\n }\n\n let childrenToolActivated = false;\n if (\n activeTool !== undefined &&\n _tool.name === activeTool.parent\n ) {\n childrenToolActivated = true;\n }\n\n return {\n 'tool-activated': toolActivated,\n 'children-tool-activated': childrenToolActivated\n };\n })\n );\n }\n });\n return acc;\n }, []);\n this.actionStore.load(actions);\n this.toolbar$.next(toolbar);\n }\n\n /**\n * Observe the ongoing animation and ignore any incoming animation\n * while one is still ongoing.\n * @param callback Callback to execute when the animation completes\n */\n private onAnimate(callback: () => void) {\n this.unAnimate();\n this.animating$$ = this.animating$.subscribe((animation: boolean) => {\n if (!animation) {\n callback.call(this);\n this.unAnimate();\n }\n });\n }\n\n /**\n * Stop observing an animation when it's complete\n */\n private unAnimate() {\n if (this.animating$$) {\n this.animating$$.unsubscribe();\n }\n }\n}\n","@let toolbar = toolbar$ | async;\n@if (toolbar !== null && toolbar.length > 0) {\n <igo-actionbar\n [store]=\"actionStore\"\n [withIcon]=\"true\"\n [withTitle]=\"(toolbarWithTitle$ | async)!\"\n [withTooltip]=\"(toolbarWithTitle$ | async) === false\"\n [scrollActive]=\"(toolbarWithTitle$ | async)!\"\n [horizontal]=\"false\"\n />\n}\n\n@if (activeTool$ | async; as tool) {\n <div\n class=\"igo-tool-container\"\n [class]=\"{\n 'igo-tool-container-with-toolbar': !actionStore.empty,\n 'igo-tool-container-with-animation': animate()\n }\"\n [@toolSlideInOut]=\"animation$ | async\"\n (@toolSlideInOut.start)=\"onAnimationStart()\"\n (@toolSlideInOut.done)=\"onAnimationComplete()\"\n >\n <igo-dynamic-outlet\n [component]=\"tool.component\"\n [inputs]=\"getToolInputs(tool)\"\n />\n </div>\n}\n","import { NgModule } from '@angular/core';\n\nimport { ToolboxComponent } from './toolbox.component';\n\n/**\n * @deprecated import the ToolboxComponent directly\n */\n@NgModule({\n imports: [ToolboxComponent],\n exports: [ToolboxComponent]\n})\nexport class IgoToolboxModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ToolService } from './shared/tool.service';\nimport { IgoToolboxModule } from './toolbox/toolbox.module';\n\n/**\n * @deprecated import the ToolboxComponent directly\n */\n@NgModule({\n exports: [IgoToolboxModule]\n})\nexport class IgoToolModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoToolModule> {\n return {\n ngModule: IgoToolModule,\n providers: [ToolService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,10 @@ class WidgetService {
|
|
|
10
10
|
create(widgetCls) {
|
|
11
11
|
return this.dynamicComponentService.create(widgetCls);
|
|
12
12
|
}
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
14
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WidgetService, providedIn: 'root' });
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WidgetService, decorators: [{
|
|
17
17
|
type: Injectable,
|
|
18
18
|
args: [{
|
|
19
19
|
providedIn: 'root'
|
|
@@ -111,10 +111,10 @@ class WidgetOutletComponent {
|
|
|
111
111
|
}
|
|
112
112
|
this.widget.set(undefined);
|
|
113
113
|
}
|
|
114
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
115
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
114
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WidgetOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: WidgetOutletComponent, isStandalone: true, selector: "igo-widget-outlet", inputs: { widget: { classPropertyName: "widget", publicName: "widget", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: true, transformFunction: null }, subscribers: { classPropertyName: "subscribers", publicName: "subscribers", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { widget: "widgetChange", complete: "complete", cancel: "cancel" }, ngImport: i0, template: "@if (widget()) {\n <igo-dynamic-outlet\n [component]=\"widget()\"\n [inputs]=\"inputs()\"\n [subscribers]=\"getEffectiveSubscribers()\"\n />\n}\n", styles: [":host igo-dynamic-outlet{height:100%}\n"], dependencies: [{ kind: "component", type: DynamicOutletComponent, selector: "igo-dynamic-outlet", inputs: ["component", "inputs", "subscribers"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
116
116
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WidgetOutletComponent, decorators: [{
|
|
118
118
|
type: Component,
|
|
119
119
|
args: [{ selector: 'igo-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DynamicOutletComponent], template: "@if (widget()) {\n <igo-dynamic-outlet\n [component]=\"widget()\"\n [inputs]=\"inputs()\"\n [subscribers]=\"getEffectiveSubscribers()\"\n />\n}\n", styles: [":host igo-dynamic-outlet{height:100%}\n"] }]
|
|
120
120
|
}], propDecorators: { widget: [{ type: i0.Input, args: [{ isSignal: true, alias: "widget", required: false }] }, { type: i0.Output, args: ["widgetChange"] }], inputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputs", required: true }] }], subscribers: [{ type: i0.Input, args: [{ isSignal: true, alias: "subscribers", required: false }] }], complete: [{ type: i0.Output, args: ["complete"] }], cancel: [{ type: i0.Output, args: ["cancel"] }] } });
|
|
@@ -123,11 +123,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
123
123
|
* @deprecated import the WidgetOutletComponent directly
|
|
124
124
|
*/
|
|
125
125
|
class IgoWidgetOutletModule {
|
|
126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
127
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
128
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
126
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetOutletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
127
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetOutletModule, imports: [WidgetOutletComponent], exports: [WidgetOutletComponent] });
|
|
128
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetOutletModule, imports: [WidgetOutletComponent] });
|
|
129
129
|
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetOutletModule, decorators: [{
|
|
131
131
|
type: NgModule,
|
|
132
132
|
args: [{
|
|
133
133
|
imports: [WidgetOutletComponent],
|
|
@@ -139,11 +139,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
139
139
|
* @deprecated import the WidgetOutletComponent directly
|
|
140
140
|
*/
|
|
141
141
|
class IgoWidgetModule {
|
|
142
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
143
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
144
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
142
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
143
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetModule, imports: [IgoWidgetOutletModule], exports: [IgoWidgetOutletModule] });
|
|
144
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetModule, providers: [WidgetService], imports: [IgoWidgetOutletModule, IgoWidgetOutletModule] });
|
|
145
145
|
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWidgetModule, decorators: [{
|
|
147
147
|
type: NgModule,
|
|
148
148
|
args: [{
|
|
149
149
|
imports: [IgoWidgetOutletModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-widget.mjs","sources":["../../../packages/common/widget/src/shared/widget.ts","../../../packages/common/widget/src/shared/widget.service.ts","../../../packages/common/widget/src/widget-outlet/widget-outlet.component.ts","../../../packages/common/widget/src/widget-outlet/widget-outlet.component.html","../../../packages/common/widget/src/widget-outlet/widget-outlet.module.ts","../../../packages/common/widget/src/widget.module.ts","../../../packages/common/widget/src/igo2-common-widget.ts"],"sourcesContent":["import { DynamicComponent } from '@igo2/common/dynamic-component';\n\nimport { WidgetComponent } from './widget.interfaces';\n\nexport class Widget extends DynamicComponent<WidgetComponent> {}\n","import { Injectable, inject } from '@angular/core';\n\nimport { DynamicComponentService } from '@igo2/common/dynamic-component';\n\nimport { Widget } from './widget';\nimport { WidgetComponent } from './widget.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WidgetService {\n private dynamicComponentService = inject(DynamicComponentService);\n\n create(widgetCls: any): Widget {\n return this.dynamicComponentService.create(widgetCls as WidgetComponent);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n input,\n model,\n output\n} from '@angular/core';\n\nimport {\n DynamicComponent,\n DynamicOutletComponent\n} from '@igo2/common/dynamic-component';\n\nimport { WidgetComponent } from '../shared/widget.interfaces';\n\n/**\n * This component dynamically renders a widget. It also subscribes\n * to the widget's 'cancel' and 'complete' events and destroys it\n * when any of those event is emitted.\n */\n@Component({\n selector: 'igo-widget-outlet',\n templateUrl: './widget-outlet.component.html',\n styleUrls: ['./widget-outlet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DynamicOutletComponent]\n})\nexport class WidgetOutletComponent implements OnDestroy {\n /**\n * Widget subscribers to 'cancel' and 'complete'\n * @internal\n */\n private baseSubscribers: Record<string, (event: string) => void> = {\n cancel: (event: string) => this.onCancel(event),\n complete: (event: string) => this.onComplete(event)\n };\n\n /**\n * Widget\n */\n readonly widget = model<DynamicComponent<WidgetComponent>>();\n\n /**\n * Widget inputs\n */\n readonly inputs = input.required<Record<string, unknown> | undefined>();\n\n /**\n * Widget subscribers\n */\n readonly subscribers = input<Record<string, (event: string) => void>>({});\n\n /**\n * Event emitted when the widget emits 'complete'\n */\n readonly complete = output<string>();\n\n /**\n * Event emitted when the widget emits 'cancel'\n */\n readonly cancel = output<string>();\n\n /**\n * Destroy the current widget and all it's inner subscriptions\n * @internal\n */\n ngOnDestroy() {\n this.destroyWidget();\n }\n\n /**\n * Get the effective subscribers. That means a combination of the base\n * subscribers and any subscriber given as input.\n * @returns Combined subscribers\n * @internal\n */\n getEffectiveSubscribers(): Record<string, (event: string) => void> {\n const subscribers = Object.assign({}, this.subscribers());\n\n // Base subscribers\n Object.keys(this.baseSubscribers).forEach((key: string) => {\n const subscriber = subscribers[key];\n const baseSubscriber = this.baseSubscribers[key];\n if (subscriber !== undefined) {\n subscribers[key] = (event: string) => {\n subscriber(event);\n baseSubscriber(event);\n };\n } else {\n subscribers[key] = baseSubscriber;\n }\n });\n\n return subscribers;\n }\n\n /**\n * When the widget emits 'cancel', propagate that event and destroy\n * the widget\n */\n private onCancel(event: string) {\n this.cancel.emit(event);\n this.destroyWidget();\n }\n\n /**\n * When the widget emits 'complete', propagate that event and destroy\n * the widget\n */\n private onComplete(event: string) {\n this.complete.emit(event);\n this.destroyWidget();\n }\n\n /**\n * Destroy the current widget\n */\n private destroyWidget() {\n const widget = this.widget();\n if (widget !== undefined) {\n widget.destroy();\n }\n this.widget.set(undefined);\n }\n}\n","@if (widget()) {\n <igo-dynamic-outlet\n [component]=\"widget()\"\n [inputs]=\"inputs()\"\n [subscribers]=\"getEffectiveSubscribers()\"\n />\n}\n","import { NgModule } from '@angular/core';\n\nimport { WidgetOutletComponent } from './widget-outlet.component';\n\n/**\n * @deprecated import the WidgetOutletComponent directly\n */\n@NgModule({\n imports: [WidgetOutletComponent],\n exports: [WidgetOutletComponent]\n})\nexport class IgoWidgetOutletModule {}\n","import { NgModule } from '@angular/core';\n\nimport { WidgetService } from './shared/widget.service';\nimport { IgoWidgetOutletModule } from './widget-outlet/widget-outlet.module';\n\n/**\n * @deprecated import the WidgetOutletComponent directly\n */\n@NgModule({\n imports: [IgoWidgetOutletModule],\n exports: [IgoWidgetOutletModule],\n declarations: [],\n providers: [WidgetService]\n})\nexport class IgoWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-common-widget.mjs","sources":["../../../packages/common/widget/src/shared/widget.ts","../../../packages/common/widget/src/shared/widget.service.ts","../../../packages/common/widget/src/widget-outlet/widget-outlet.component.ts","../../../packages/common/widget/src/widget-outlet/widget-outlet.component.html","../../../packages/common/widget/src/widget-outlet/widget-outlet.module.ts","../../../packages/common/widget/src/widget.module.ts","../../../packages/common/widget/src/igo2-common-widget.ts"],"sourcesContent":["import { DynamicComponent } from '@igo2/common/dynamic-component';\n\nimport { WidgetComponent } from './widget.interfaces';\n\nexport class Widget extends DynamicComponent<WidgetComponent> {}\n","import { Injectable, inject } from '@angular/core';\n\nimport { DynamicComponentService } from '@igo2/common/dynamic-component';\n\nimport { Widget } from './widget';\nimport { WidgetComponent } from './widget.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WidgetService {\n private dynamicComponentService = inject(DynamicComponentService);\n\n create(widgetCls: any): Widget {\n return this.dynamicComponentService.create(widgetCls as WidgetComponent);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n input,\n model,\n output\n} from '@angular/core';\n\nimport {\n DynamicComponent,\n DynamicOutletComponent\n} from '@igo2/common/dynamic-component';\n\nimport { WidgetComponent } from '../shared/widget.interfaces';\n\n/**\n * This component dynamically renders a widget. It also subscribes\n * to the widget's 'cancel' and 'complete' events and destroys it\n * when any of those event is emitted.\n */\n@Component({\n selector: 'igo-widget-outlet',\n templateUrl: './widget-outlet.component.html',\n styleUrls: ['./widget-outlet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DynamicOutletComponent]\n})\nexport class WidgetOutletComponent implements OnDestroy {\n /**\n * Widget subscribers to 'cancel' and 'complete'\n * @internal\n */\n private baseSubscribers: Record<string, (event: string) => void> = {\n cancel: (event: string) => this.onCancel(event),\n complete: (event: string) => this.onComplete(event)\n };\n\n /**\n * Widget\n */\n readonly widget = model<DynamicComponent<WidgetComponent>>();\n\n /**\n * Widget inputs\n */\n readonly inputs = input.required<Record<string, unknown> | undefined>();\n\n /**\n * Widget subscribers\n */\n readonly subscribers = input<Record<string, (event: string) => void>>({});\n\n /**\n * Event emitted when the widget emits 'complete'\n */\n readonly complete = output<string>();\n\n /**\n * Event emitted when the widget emits 'cancel'\n */\n readonly cancel = output<string>();\n\n /**\n * Destroy the current widget and all it's inner subscriptions\n * @internal\n */\n ngOnDestroy() {\n this.destroyWidget();\n }\n\n /**\n * Get the effective subscribers. That means a combination of the base\n * subscribers and any subscriber given as input.\n * @returns Combined subscribers\n * @internal\n */\n getEffectiveSubscribers(): Record<string, (event: string) => void> {\n const subscribers = Object.assign({}, this.subscribers());\n\n // Base subscribers\n Object.keys(this.baseSubscribers).forEach((key: string) => {\n const subscriber = subscribers[key];\n const baseSubscriber = this.baseSubscribers[key];\n if (subscriber !== undefined) {\n subscribers[key] = (event: string) => {\n subscriber(event);\n baseSubscriber(event);\n };\n } else {\n subscribers[key] = baseSubscriber;\n }\n });\n\n return subscribers;\n }\n\n /**\n * When the widget emits 'cancel', propagate that event and destroy\n * the widget\n */\n private onCancel(event: string) {\n this.cancel.emit(event);\n this.destroyWidget();\n }\n\n /**\n * When the widget emits 'complete', propagate that event and destroy\n * the widget\n */\n private onComplete(event: string) {\n this.complete.emit(event);\n this.destroyWidget();\n }\n\n /**\n * Destroy the current widget\n */\n private destroyWidget() {\n const widget = this.widget();\n if (widget !== undefined) {\n widget.destroy();\n }\n this.widget.set(undefined);\n }\n}\n","@if (widget()) {\n <igo-dynamic-outlet\n [component]=\"widget()\"\n [inputs]=\"inputs()\"\n [subscribers]=\"getEffectiveSubscribers()\"\n />\n}\n","import { NgModule } from '@angular/core';\n\nimport { WidgetOutletComponent } from './widget-outlet.component';\n\n/**\n * @deprecated import the WidgetOutletComponent directly\n */\n@NgModule({\n imports: [WidgetOutletComponent],\n exports: [WidgetOutletComponent]\n})\nexport class IgoWidgetOutletModule {}\n","import { NgModule } from '@angular/core';\n\nimport { WidgetService } from './shared/widget.service';\nimport { IgoWidgetOutletModule } from './widget-outlet/widget-outlet.module';\n\n/**\n * @deprecated import the WidgetOutletComponent directly\n */\n@NgModule({\n imports: [IgoWidgetOutletModule],\n exports: [IgoWidgetOutletModule],\n declarations: [],\n providers: [WidgetService]\n})\nexport class IgoWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -211,10 +211,10 @@ class WorkspaceSelectorComponent {
|
|
|
211
211
|
this.store().activateWorkspace(workspace);
|
|
212
212
|
this.selectedChange.emit({ selected: true, value: workspace });
|
|
213
213
|
}
|
|
214
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
215
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
214
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
215
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: WorkspaceSelectorComponent, isStandalone: true, selector: "igo-workspace-selector", inputs: { store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<igo-entity-selector\n [store]=\"store()\"\n [multi]=\"false\"\n [titleAccessor]=\"getWorkspaceTitle\"\n [disabled]=\"disabled()\"\n (selectedChange)=\"onSelectedChange($event)\"\n/>\n", styles: [""], dependencies: [{ kind: "component", type: EntitySelectorComponent, selector: "igo-entity-selector", inputs: ["store", "titleAccessor", "emptyText", "multi", "multiAllText", "multiNoneText", "placeholder", "disabled"], outputs: ["selectedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
216
216
|
}
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceSelectorComponent, decorators: [{
|
|
218
218
|
type: Component,
|
|
219
219
|
args: [{ selector: 'igo-workspace-selector', changeDetection: ChangeDetectionStrategy.OnPush, imports: [EntitySelectorComponent], template: "<igo-entity-selector\n [store]=\"store()\"\n [multi]=\"false\"\n [titleAccessor]=\"getWorkspaceTitle\"\n [disabled]=\"disabled()\"\n (selectedChange)=\"onSelectedChange($event)\"\n/>\n" }]
|
|
220
220
|
}], propDecorators: { store: [{ type: i0.Input, args: [{ isSignal: true, alias: "store", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], selectedChange: [{ type: i0.Output, args: ["selectedChange"] }] } });
|
|
@@ -223,11 +223,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
223
223
|
* @deprecated import the WorkspaceSelectorComponent directly
|
|
224
224
|
*/
|
|
225
225
|
class IgoWorkspaceSelectorModule {
|
|
226
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
227
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
228
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
227
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceSelectorModule, imports: [WorkspaceSelectorComponent], exports: [WorkspaceSelectorComponent] });
|
|
228
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceSelectorModule, imports: [WorkspaceSelectorComponent] });
|
|
229
229
|
}
|
|
230
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceSelectorModule, decorators: [{
|
|
231
231
|
type: NgModule,
|
|
232
232
|
args: [{
|
|
233
233
|
imports: [WorkspaceSelectorComponent],
|
|
@@ -291,10 +291,10 @@ class WorkspaceWidgetOutletComponent {
|
|
|
291
291
|
this.workspace().deactivateWidget();
|
|
292
292
|
this.deactivateWidget.emit(widget);
|
|
293
293
|
}
|
|
294
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
295
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
294
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceWidgetOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
295
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: WorkspaceWidgetOutletComponent, isStandalone: true, selector: "igo-workspace-widget-outlet", inputs: { workspace: { classPropertyName: "workspace", publicName: "workspace", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { deactivateWidget: "deactivateWidget" }, ngImport: i0, template: "@if (widget$ | async; as widget) {\n <igo-widget-outlet\n [widget]=\"widget\"\n [inputs]=\"(widgetInputs$ | async)!\"\n [subscribers]=\"(widgetSubscribers$ | async)!\"\n (cancel)=\"onWidgetCancel(widget)\"\n (complete)=\"onWidgetComplete(widget)\"\n />\n}\n", styles: ["igo-widget-outlet{height:100%}\n"], dependencies: [{ kind: "component", type: WidgetOutletComponent, selector: "igo-widget-outlet", inputs: ["widget", "inputs", "subscribers"], outputs: ["widgetChange", "complete", "cancel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
296
296
|
}
|
|
297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceWidgetOutletComponent, decorators: [{
|
|
298
298
|
type: Component,
|
|
299
299
|
args: [{ selector: 'igo-workspace-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [WidgetOutletComponent, AsyncPipe], template: "@if (widget$ | async; as widget) {\n <igo-widget-outlet\n [widget]=\"widget\"\n [inputs]=\"(widgetInputs$ | async)!\"\n [subscribers]=\"(widgetSubscribers$ | async)!\"\n (cancel)=\"onWidgetCancel(widget)\"\n (complete)=\"onWidgetComplete(widget)\"\n />\n}\n", styles: ["igo-widget-outlet{height:100%}\n"] }]
|
|
300
300
|
}], propDecorators: { workspace: [{ type: i0.Input, args: [{ isSignal: true, alias: "workspace", required: true }] }], deactivateWidget: [{ type: i0.Output, args: ["deactivateWidget"] }] } });
|
|
@@ -303,11 +303,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
303
303
|
* @deprecated import the WorkspaceWidgetOutletComponent directly
|
|
304
304
|
*/
|
|
305
305
|
class IgoWorkspaceWidgetOutletModule {
|
|
306
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
307
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
308
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
306
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
307
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, imports: [WorkspaceWidgetOutletComponent], exports: [WorkspaceWidgetOutletComponent] });
|
|
308
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, imports: [WorkspaceWidgetOutletComponent] });
|
|
309
309
|
}
|
|
310
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, decorators: [{
|
|
311
311
|
type: NgModule,
|
|
312
312
|
args: [{
|
|
313
313
|
imports: [WorkspaceWidgetOutletComponent],
|
|
@@ -323,13 +323,13 @@ const WORKSPACE_DIRECTIVES = [
|
|
|
323
323
|
* @deprecated import the components directly or WORKSPACE_DIRECTIVES for every components/directives
|
|
324
324
|
*/
|
|
325
325
|
class IgoWorkspaceModule {
|
|
326
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
327
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
326
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
327
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceModule, imports: [WorkspaceSelectorComponent,
|
|
328
328
|
WorkspaceWidgetOutletComponent], exports: [WorkspaceSelectorComponent,
|
|
329
329
|
WorkspaceWidgetOutletComponent] });
|
|
330
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
330
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceModule, imports: [WORKSPACE_DIRECTIVES] });
|
|
331
331
|
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoWorkspaceModule, decorators: [{
|
|
333
333
|
type: NgModule,
|
|
334
334
|
args: [{
|
|
335
335
|
imports: [...WORKSPACE_DIRECTIVES],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-workspace.mjs","sources":["../../../packages/common/workspace/src/shared/store.ts","../../../packages/common/workspace/src/shared/workspace.ts","../../../packages/common/workspace/src/workspace-selector/workspace-selector.component.ts","../../../packages/common/workspace/src/workspace-selector/workspace-selector.component.html","../../../packages/common/workspace/src/workspace-selector/workspace-selector.module.ts","../../../packages/common/workspace/src/workspace-widget-outlet/workspace-widget-outlet.component.ts","../../../packages/common/workspace/src/workspace-widget-outlet/workspace-widget-outlet.component.html","../../../packages/common/workspace/src/workspace-widget-outlet/workspace-widget-outlet.module.ts","../../../packages/common/workspace/src/workspace.module.ts","../../../packages/common/workspace/src/igo2-common-workspace.ts"],"sourcesContent":["import { EntityStore } from '@igo2/common/entity';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Workspace } from './workspace';\n\n/**\n * The class is a specialized version of an EntityStore that stores\n * workspaces.\n */\nexport class WorkspaceStore extends EntityStore<Workspace> {\n activeWorkspace$ = new BehaviorSubject<Workspace | undefined>(undefined);\n\n /**\n * Activate the an workspace workspace and deactivate the one currently active\n * @param workspace Workspace\n */\n activateWorkspace(workspace: Workspace) {\n const active = this.activeWorkspace$.value;\n if (active !== undefined) {\n active.deactivate();\n }\n\n this.deactivateWorkspace();\n if (workspace !== undefined) {\n this.state.update(workspace, { active: true, selected: true }, true);\n this.activeWorkspace$.next(workspace);\n workspace.activate();\n }\n }\n\n /**\n * Deactivate the current workspace\n * @param workspace Workspace\n */\n deactivateWorkspace() {\n const active = this.activeWorkspace$.value;\n if (active !== undefined) {\n active.deactivate();\n this.activeWorkspace$.next(undefined);\n }\n }\n}\n","import { ActionStore } from '@igo2/common/action';\nimport { EntityStore } from '@igo2/common/entity';\nimport { Widget } from '@igo2/common/widget';\n\nimport { BehaviorSubject, Subject, Subscription } from 'rxjs';\n\nimport { WorkspaceOptions } from './workspace.interfaces';\n\n/**\n * This class is responsible of managing the relations between\n * entities and the actions that consume them. It also defines an\n * entity table template that may be used by an entity table component.\n */\nexport class Workspace<E extends object = object> {\n /**\n * Observable of the selected widget\n */\n readonly widget$ = new BehaviorSubject<Widget | undefined>(undefined);\n\n /**\n * Observable of the selected widget's inputs\n */\n readonly widgetInputs$ = new BehaviorSubject<Record<string, any>>({});\n\n /**\n * Observable of the selected widget's subscribers\n */\n readonly widgetSubscribers$ = new BehaviorSubject<\n Record<string, (event: any) => void>\n >({});\n\n /**\n * Subscription to the selected entity\n */\n private entities$$?: Subscription;\n\n /**\n * State change that trigger an update of the actions availability\n */\n private change = new Subject<void>();\n\n /**\n * Subscription to state changes\n */\n private change$$?: Subscription;\n\n /**\n * Workspace id\n */\n get id(): string | number {\n return this.options.id;\n }\n\n /**\n * Workspace title\n */\n get title(): string {\n return this.options.title;\n }\n\n /**\n * Workspace title\n */\n get meta(): Record<string, any> {\n return this.options.meta || {};\n }\n\n /**\n * Entities store\n */\n get entityStore(): EntityStore<E> | undefined {\n return this.options.entityStore as EntityStore<E> | undefined;\n }\n\n /**\n * Actions store (some actions activate a widget)\n */\n get actionStore(): ActionStore | undefined {\n return this.options.actionStore;\n }\n\n /**\n * Selected widget\n */\n get widget(): Widget | undefined {\n return this.widget$.value;\n }\n\n /**\n * Whether a widget is selected\n */\n get hasWidget(): boolean {\n return this.widget !== undefined;\n }\n\n constructor(protected options: WorkspaceOptions) {}\n\n /**\n * Whether this strategy is active\n * @internal\n */\n get active(): boolean {\n return this.active$.value;\n }\n readonly active$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Activate the workspace. By doing that, the workspace will observe\n * the selected entity (from the store) and update the actions availability.\n * For example, some actions require an entity to be selected.\n */\n activate() {\n if (this.active === true) {\n this.deactivate();\n }\n this.active$.next(true);\n\n if (this.entityStore !== undefined) {\n this.entities$$ = this.entityStore.stateView\n .all$()\n .subscribe(() => this.onStateChange());\n }\n\n this.change.next();\n }\n\n /**\n * Deactivate the workspace. Unsubcribe to the selected entity.\n */\n deactivate() {\n this.active$.next(false);\n this.deactivateWidget();\n\n this.entities$$?.unsubscribe();\n this.change$$?.unsubscribe();\n }\n\n /**\n * Activate a widget. In itself, activating a widget doesn't render it but,\n * if an WorkspaceWidgetOutlet component is bound to this workspace, the widget will\n * show up.\n * @param widget Widget\n * @param inputs Inputs the widget will receive\n */\n activateWidget(\n widget: Widget,\n inputs: Record<string, any> = {},\n subscribers: Record<string, (event: any) => void> = {}\n ) {\n this.widget$.next(widget);\n this.widgetInputs$.next(inputs);\n this.widgetSubscribers$.next(subscribers);\n this.change.next();\n }\n\n /**\n * Deactivate a widget.\n */\n deactivateWidget() {\n this.widget$.next(undefined);\n this.change.next();\n }\n\n /**\n * When the state changes, update the actions availability.\n */\n private onStateChange() {\n this.change.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n output\n} from '@angular/core';\n\nimport {\n EntitySelectorChange,\n EntitySelectorComponent,\n getEntityTitle\n} from '@igo2/common/entity';\n\nimport { WorkspaceStore } from '../shared/store';\nimport { Workspace } from '../shared/workspace';\n\n/**\n * Drop list that activates the selected workspace emit an event.\n */\n@Component({\n selector: 'igo-workspace-selector',\n templateUrl: './workspace-selector.component.html',\n styleUrls: ['./workspace-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [EntitySelectorComponent]\n})\nexport class WorkspaceSelectorComponent {\n /**\n * Store that holds the available workspaces.\n */\n readonly store = input.required<WorkspaceStore>();\n\n /**\n * Wheither the selector must be disabled or not.\n */\n readonly disabled = input<boolean>(false);\n\n /**\n * Event emitted when an workspace is selected or unselected\n */\n readonly selectedChange = output<{\n selected: boolean;\n value: Workspace;\n }>();\n\n /**\n * @internal\n */\n getWorkspaceTitle(workspace: Workspace): string {\n return getEntityTitle(workspace);\n }\n\n /**\n * When an workspace is manually selected, select it into the\n * store and emit an event.\n * @internal\n * @param event The selection change event\n */\n onSelectedChange(event: EntitySelectorChange<Workspace>) {\n const workspace = event.value;\n this.store().activateWorkspace(workspace);\n this.selectedChange.emit({ selected: true, value: workspace });\n }\n}\n","<igo-entity-selector\n [store]=\"store()\"\n [multi]=\"false\"\n [titleAccessor]=\"getWorkspaceTitle\"\n [disabled]=\"disabled()\"\n (selectedChange)=\"onSelectedChange($event)\"\n/>\n","import { NgModule } from '@angular/core';\n\nimport { WorkspaceSelectorComponent } from './workspace-selector.component';\n\n/**\n * @deprecated import the WorkspaceSelectorComponent directly\n */\n@NgModule({\n imports: [WorkspaceSelectorComponent],\n exports: [WorkspaceSelectorComponent]\n})\nexport class IgoWorkspaceSelectorModule {}\n","import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n output\n} from '@angular/core';\n\nimport { Widget, WidgetOutletComponent } from '@igo2/common/widget';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Workspace } from '../shared/workspace';\n\n/**\n * This component dynamically render an Workspace's active widget.\n * It also deactivate that widget whenever the widget's component\n * emit the 'cancel' or 'complete' event.\n */\n@Component({\n selector: 'igo-workspace-widget-outlet',\n templateUrl: './workspace-widget-outlet.component.html',\n styleUrls: ['./workspace-widget-outlet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [WidgetOutletComponent, AsyncPipe]\n})\nexport class WorkspaceWidgetOutletComponent {\n /**\n * Workspace\n */\n readonly workspace = input.required<Workspace>();\n\n /**\n * Event emitted when a widget is deactivate which happens\n * when the widget's component emits the 'cancel' or 'complete' event.\n */\n readonly deactivateWidget = output<Widget>();\n\n /**\n * Observable of the workspace's active widget\n * @internal\n */\n get widget$(): BehaviorSubject<Widget | undefined> {\n return this.workspace().widget$;\n }\n\n /**\n * Observable of the workspace's widget inputs\n * @internal\n */\n get widgetInputs$(): BehaviorSubject<Record<string, unknown>> {\n return this.workspace().widgetInputs$;\n }\n\n /**\n * Observable of the workspace's widget inputs\n * @internal\n */\n get widgetSubscribers$():\n BehaviorSubject<Record<string, (event: unknown) => void>> | undefined {\n return this.workspace()?.widgetSubscribers$;\n }\n\n /**\n * When a widget's component emit the 'cancel' event,\n * deactivate that widget and emit the 'deactivateWidget' event.\n * @param widget Widget\n * @internal\n */\n onWidgetCancel(widget: Widget) {\n this.workspace().deactivateWidget();\n this.deactivateWidget.emit(widget);\n }\n\n /**\n * When a widget's component emit the 'cancel' event,\n * deactivate that widget and emit the 'deactivateWidget' event.\n * @param widget Widget\n * @internal\n */\n onWidgetComplete(widget: Widget) {\n this.workspace().deactivateWidget();\n this.deactivateWidget.emit(widget);\n }\n}\n","@if (widget$ | async; as widget) {\n <igo-widget-outlet\n [widget]=\"widget\"\n [inputs]=\"(widgetInputs$ | async)!\"\n [subscribers]=\"(widgetSubscribers$ | async)!\"\n (cancel)=\"onWidgetCancel(widget)\"\n (complete)=\"onWidgetComplete(widget)\"\n />\n}\n","import { NgModule } from '@angular/core';\n\nimport { WorkspaceWidgetOutletComponent } from './workspace-widget-outlet.component';\n\n/**\n * @deprecated import the WorkspaceWidgetOutletComponent directly\n */\n@NgModule({\n imports: [WorkspaceWidgetOutletComponent],\n exports: [WorkspaceWidgetOutletComponent]\n})\nexport class IgoWorkspaceWidgetOutletModule {}\n","import { NgModule } from '@angular/core';\n\nimport { WorkspaceSelectorComponent } from './workspace-selector';\nimport { WorkspaceWidgetOutletComponent } from './workspace-widget-outlet';\n\nexport const WORKSPACE_DIRECTIVES = [\n WorkspaceSelectorComponent,\n WorkspaceWidgetOutletComponent\n] as const;\n\n/**\n * @deprecated import the components directly or WORKSPACE_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...WORKSPACE_DIRECTIVES],\n exports: [...WORKSPACE_DIRECTIVES],\n declarations: []\n})\nexport class IgoWorkspaceModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-workspace.mjs","sources":["../../../packages/common/workspace/src/shared/store.ts","../../../packages/common/workspace/src/shared/workspace.ts","../../../packages/common/workspace/src/workspace-selector/workspace-selector.component.ts","../../../packages/common/workspace/src/workspace-selector/workspace-selector.component.html","../../../packages/common/workspace/src/workspace-selector/workspace-selector.module.ts","../../../packages/common/workspace/src/workspace-widget-outlet/workspace-widget-outlet.component.ts","../../../packages/common/workspace/src/workspace-widget-outlet/workspace-widget-outlet.component.html","../../../packages/common/workspace/src/workspace-widget-outlet/workspace-widget-outlet.module.ts","../../../packages/common/workspace/src/workspace.module.ts","../../../packages/common/workspace/src/igo2-common-workspace.ts"],"sourcesContent":["import { EntityStore } from '@igo2/common/entity';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Workspace } from './workspace';\n\n/**\n * The class is a specialized version of an EntityStore that stores\n * workspaces.\n */\nexport class WorkspaceStore extends EntityStore<Workspace> {\n activeWorkspace$ = new BehaviorSubject<Workspace | undefined>(undefined);\n\n /**\n * Activate the an workspace workspace and deactivate the one currently active\n * @param workspace Workspace\n */\n activateWorkspace(workspace: Workspace) {\n const active = this.activeWorkspace$.value;\n if (active !== undefined) {\n active.deactivate();\n }\n\n this.deactivateWorkspace();\n if (workspace !== undefined) {\n this.state.update(workspace, { active: true, selected: true }, true);\n this.activeWorkspace$.next(workspace);\n workspace.activate();\n }\n }\n\n /**\n * Deactivate the current workspace\n * @param workspace Workspace\n */\n deactivateWorkspace() {\n const active = this.activeWorkspace$.value;\n if (active !== undefined) {\n active.deactivate();\n this.activeWorkspace$.next(undefined);\n }\n }\n}\n","import { ActionStore } from '@igo2/common/action';\nimport { EntityStore } from '@igo2/common/entity';\nimport { Widget } from '@igo2/common/widget';\n\nimport { BehaviorSubject, Subject, Subscription } from 'rxjs';\n\nimport { WorkspaceOptions } from './workspace.interfaces';\n\n/**\n * This class is responsible of managing the relations between\n * entities and the actions that consume them. It also defines an\n * entity table template that may be used by an entity table component.\n */\nexport class Workspace<E extends object = object> {\n /**\n * Observable of the selected widget\n */\n readonly widget$ = new BehaviorSubject<Widget | undefined>(undefined);\n\n /**\n * Observable of the selected widget's inputs\n */\n readonly widgetInputs$ = new BehaviorSubject<Record<string, any>>({});\n\n /**\n * Observable of the selected widget's subscribers\n */\n readonly widgetSubscribers$ = new BehaviorSubject<\n Record<string, (event: any) => void>\n >({});\n\n /**\n * Subscription to the selected entity\n */\n private entities$$?: Subscription;\n\n /**\n * State change that trigger an update of the actions availability\n */\n private change = new Subject<void>();\n\n /**\n * Subscription to state changes\n */\n private change$$?: Subscription;\n\n /**\n * Workspace id\n */\n get id(): string | number {\n return this.options.id;\n }\n\n /**\n * Workspace title\n */\n get title(): string {\n return this.options.title;\n }\n\n /**\n * Workspace title\n */\n get meta(): Record<string, any> {\n return this.options.meta || {};\n }\n\n /**\n * Entities store\n */\n get entityStore(): EntityStore<E> | undefined {\n return this.options.entityStore as EntityStore<E> | undefined;\n }\n\n /**\n * Actions store (some actions activate a widget)\n */\n get actionStore(): ActionStore | undefined {\n return this.options.actionStore;\n }\n\n /**\n * Selected widget\n */\n get widget(): Widget | undefined {\n return this.widget$.value;\n }\n\n /**\n * Whether a widget is selected\n */\n get hasWidget(): boolean {\n return this.widget !== undefined;\n }\n\n constructor(protected options: WorkspaceOptions) {}\n\n /**\n * Whether this strategy is active\n * @internal\n */\n get active(): boolean {\n return this.active$.value;\n }\n readonly active$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Activate the workspace. By doing that, the workspace will observe\n * the selected entity (from the store) and update the actions availability.\n * For example, some actions require an entity to be selected.\n */\n activate() {\n if (this.active === true) {\n this.deactivate();\n }\n this.active$.next(true);\n\n if (this.entityStore !== undefined) {\n this.entities$$ = this.entityStore.stateView\n .all$()\n .subscribe(() => this.onStateChange());\n }\n\n this.change.next();\n }\n\n /**\n * Deactivate the workspace. Unsubcribe to the selected entity.\n */\n deactivate() {\n this.active$.next(false);\n this.deactivateWidget();\n\n this.entities$$?.unsubscribe();\n this.change$$?.unsubscribe();\n }\n\n /**\n * Activate a widget. In itself, activating a widget doesn't render it but,\n * if an WorkspaceWidgetOutlet component is bound to this workspace, the widget will\n * show up.\n * @param widget Widget\n * @param inputs Inputs the widget will receive\n */\n activateWidget(\n widget: Widget,\n inputs: Record<string, any> = {},\n subscribers: Record<string, (event: any) => void> = {}\n ) {\n this.widget$.next(widget);\n this.widgetInputs$.next(inputs);\n this.widgetSubscribers$.next(subscribers);\n this.change.next();\n }\n\n /**\n * Deactivate a widget.\n */\n deactivateWidget() {\n this.widget$.next(undefined);\n this.change.next();\n }\n\n /**\n * When the state changes, update the actions availability.\n */\n private onStateChange() {\n this.change.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n output\n} from '@angular/core';\n\nimport {\n EntitySelectorChange,\n EntitySelectorComponent,\n getEntityTitle\n} from '@igo2/common/entity';\n\nimport { WorkspaceStore } from '../shared/store';\nimport { Workspace } from '../shared/workspace';\n\n/**\n * Drop list that activates the selected workspace emit an event.\n */\n@Component({\n selector: 'igo-workspace-selector',\n templateUrl: './workspace-selector.component.html',\n styleUrls: ['./workspace-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [EntitySelectorComponent]\n})\nexport class WorkspaceSelectorComponent {\n /**\n * Store that holds the available workspaces.\n */\n readonly store = input.required<WorkspaceStore>();\n\n /**\n * Wheither the selector must be disabled or not.\n */\n readonly disabled = input<boolean>(false);\n\n /**\n * Event emitted when an workspace is selected or unselected\n */\n readonly selectedChange = output<{\n selected: boolean;\n value: Workspace;\n }>();\n\n /**\n * @internal\n */\n getWorkspaceTitle(workspace: Workspace): string {\n return getEntityTitle(workspace);\n }\n\n /**\n * When an workspace is manually selected, select it into the\n * store and emit an event.\n * @internal\n * @param event The selection change event\n */\n onSelectedChange(event: EntitySelectorChange<Workspace>) {\n const workspace = event.value;\n this.store().activateWorkspace(workspace);\n this.selectedChange.emit({ selected: true, value: workspace });\n }\n}\n","<igo-entity-selector\n [store]=\"store()\"\n [multi]=\"false\"\n [titleAccessor]=\"getWorkspaceTitle\"\n [disabled]=\"disabled()\"\n (selectedChange)=\"onSelectedChange($event)\"\n/>\n","import { NgModule } from '@angular/core';\n\nimport { WorkspaceSelectorComponent } from './workspace-selector.component';\n\n/**\n * @deprecated import the WorkspaceSelectorComponent directly\n */\n@NgModule({\n imports: [WorkspaceSelectorComponent],\n exports: [WorkspaceSelectorComponent]\n})\nexport class IgoWorkspaceSelectorModule {}\n","import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n output\n} from '@angular/core';\n\nimport { Widget, WidgetOutletComponent } from '@igo2/common/widget';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Workspace } from '../shared/workspace';\n\n/**\n * This component dynamically render an Workspace's active widget.\n * It also deactivate that widget whenever the widget's component\n * emit the 'cancel' or 'complete' event.\n */\n@Component({\n selector: 'igo-workspace-widget-outlet',\n templateUrl: './workspace-widget-outlet.component.html',\n styleUrls: ['./workspace-widget-outlet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [WidgetOutletComponent, AsyncPipe]\n})\nexport class WorkspaceWidgetOutletComponent {\n /**\n * Workspace\n */\n readonly workspace = input.required<Workspace>();\n\n /**\n * Event emitted when a widget is deactivate which happens\n * when the widget's component emits the 'cancel' or 'complete' event.\n */\n readonly deactivateWidget = output<Widget>();\n\n /**\n * Observable of the workspace's active widget\n * @internal\n */\n get widget$(): BehaviorSubject<Widget | undefined> {\n return this.workspace().widget$;\n }\n\n /**\n * Observable of the workspace's widget inputs\n * @internal\n */\n get widgetInputs$(): BehaviorSubject<Record<string, unknown>> {\n return this.workspace().widgetInputs$;\n }\n\n /**\n * Observable of the workspace's widget inputs\n * @internal\n */\n get widgetSubscribers$():\n BehaviorSubject<Record<string, (event: unknown) => void>> | undefined {\n return this.workspace()?.widgetSubscribers$;\n }\n\n /**\n * When a widget's component emit the 'cancel' event,\n * deactivate that widget and emit the 'deactivateWidget' event.\n * @param widget Widget\n * @internal\n */\n onWidgetCancel(widget: Widget) {\n this.workspace().deactivateWidget();\n this.deactivateWidget.emit(widget);\n }\n\n /**\n * When a widget's component emit the 'cancel' event,\n * deactivate that widget and emit the 'deactivateWidget' event.\n * @param widget Widget\n * @internal\n */\n onWidgetComplete(widget: Widget) {\n this.workspace().deactivateWidget();\n this.deactivateWidget.emit(widget);\n }\n}\n","@if (widget$ | async; as widget) {\n <igo-widget-outlet\n [widget]=\"widget\"\n [inputs]=\"(widgetInputs$ | async)!\"\n [subscribers]=\"(widgetSubscribers$ | async)!\"\n (cancel)=\"onWidgetCancel(widget)\"\n (complete)=\"onWidgetComplete(widget)\"\n />\n}\n","import { NgModule } from '@angular/core';\n\nimport { WorkspaceWidgetOutletComponent } from './workspace-widget-outlet.component';\n\n/**\n * @deprecated import the WorkspaceWidgetOutletComponent directly\n */\n@NgModule({\n imports: [WorkspaceWidgetOutletComponent],\n exports: [WorkspaceWidgetOutletComponent]\n})\nexport class IgoWorkspaceWidgetOutletModule {}\n","import { NgModule } from '@angular/core';\n\nimport { WorkspaceSelectorComponent } from './workspace-selector';\nimport { WorkspaceWidgetOutletComponent } from './workspace-widget-outlet';\n\nexport const WORKSPACE_DIRECTIVES = [\n WorkspaceSelectorComponent,\n WorkspaceWidgetOutletComponent\n] as const;\n\n/**\n * @deprecated import the components directly or WORKSPACE_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...WORKSPACE_DIRECTIVES],\n exports: [...WORKSPACE_DIRECTIVES],\n declarations: []\n})\nexport class IgoWorkspaceModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/common",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.30",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "IGO Community",
|
|
6
6
|
"keywords": [
|
|
@@ -186,8 +186,8 @@
|
|
|
186
186
|
"@angular/material": "^21.0.0",
|
|
187
187
|
"@angular/platform-browser": "^21.0.0",
|
|
188
188
|
"@floating-ui/utils": "^0.2.0",
|
|
189
|
-
"@igo2/core": "^21.0.0-next.
|
|
190
|
-
"@igo2/utils": "^21.0.0-next.
|
|
189
|
+
"@igo2/core": "^21.0.0-next.30",
|
|
190
|
+
"@igo2/utils": "^21.0.0-next.30",
|
|
191
191
|
"angular-shepherd": "^22.0.0",
|
|
192
192
|
"ngx-color": "^10.1.0",
|
|
193
193
|
"scroll-into-view-if-needed": "^3.1.0",
|