@igo2/common 19.0.0-next.8 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action/src/action.theming.scss +5 -1
- package/action/src/actionbar/actionbar-item.theming.scss +1 -13
- package/entity/src/entity-selector/entity-selector.theming.scss +1 -1
- package/entity/src/entity-table/entity-table.theming.scss +1 -17
- package/entity/src/entity.theming.scss +6 -1
- package/fesm2022/igo2-common-action.mjs +16 -16
- 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 +11 -11
- 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 +11 -11
- package/fesm2022/igo2-common-custom-html.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 +30 -30
- 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 +50 -50
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +8 -8
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +11 -8
- 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 +18 -24
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +11 -11
- 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 +11 -11
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +8 -8
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +98 -0
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -0
- 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-tool.mjs +15 -15
- 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/icon/icon/icon.component.d.ts +2 -1
- package/interactive-tour/interactive-tour.service.d.ts +0 -1
- package/package.json +12 -6
- package/panel/src/panel.theming.scss +1 -11
- package/resizable-bar/index.d.ts +5 -0
- package/resizable-bar/public_api.d.ts +2 -0
- package/resizable-bar/resizable-bar.component.d.ts +23 -0
- package/resizable-bar/shared/resize.directive.d.ts +12 -0
- package/src/common.theme.scss +18 -0
- package/src/style/partial/common-utils.scss +2 -0
- package/tool/src/toolbox/toolbox.theming.scss +1 -84
- package/action/src/actionbar/actionbar.theming.scss +0 -22
- package/collapsible/src/collapsible.theming.scss +0 -22
- package/home-button/src/home-button.theming.scss +0 -18
- package/interactive-tour/src/interactive-tour.theming.scss +0 -32
- package/list/src/list.theming.scss +0 -58
- package/src/common-theme.scss +0 -19
|
@@ -15,10 +15,10 @@ class WidgetService {
|
|
|
15
15
|
create(widgetCls) {
|
|
16
16
|
return this.dynamicComponentService.create(widgetCls);
|
|
17
17
|
}
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
19
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WidgetService, deps: [{ token: i1.DynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WidgetService, providedIn: 'root' });
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WidgetService, decorators: [{
|
|
22
22
|
type: Injectable,
|
|
23
23
|
args: [{
|
|
24
24
|
providedIn: 'root'
|
|
@@ -115,10 +115,10 @@ class WidgetOutletComponent {
|
|
|
115
115
|
}
|
|
116
116
|
this.widget = undefined;
|
|
117
117
|
}
|
|
118
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
119
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
118
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WidgetOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: WidgetOutletComponent, isStandalone: true, selector: "igo-widget-outlet", inputs: { widget: "widget", inputs: "inputs", subscribers: "subscribers" }, outputs: { complete: "complete", cancel: "cancel" }, ngImport: i0, template: "<igo-dynamic-outlet\n *ngIf=\"widget\"\n [component]=\"widget\"\n [inputs]=\"inputs\"\n [subscribers]=\"getEffectiveSubscribers()\"\n>\n</igo-dynamic-outlet>\n", styles: [":host igo-dynamic-outlet{height:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicOutletComponent, selector: "igo-dynamic-outlet", inputs: ["component", "inputs", "subscribers"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
120
120
|
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WidgetOutletComponent, decorators: [{
|
|
122
122
|
type: Component,
|
|
123
123
|
args: [{ selector: 'igo-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, DynamicOutletComponent], template: "<igo-dynamic-outlet\n *ngIf=\"widget\"\n [component]=\"widget\"\n [inputs]=\"inputs\"\n [subscribers]=\"getEffectiveSubscribers()\"\n>\n</igo-dynamic-outlet>\n", styles: [":host igo-dynamic-outlet{height:100%}\n"] }]
|
|
124
124
|
}], propDecorators: { widget: [{
|
|
@@ -137,11 +137,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
137
137
|
* @deprecated import the WidgetOutletComponent directly
|
|
138
138
|
*/
|
|
139
139
|
class IgoWidgetOutletModule {
|
|
140
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
141
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
142
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
140
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetOutletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
141
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetOutletModule, imports: [WidgetOutletComponent], exports: [WidgetOutletComponent] });
|
|
142
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetOutletModule, imports: [WidgetOutletComponent] });
|
|
143
143
|
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetOutletModule, decorators: [{
|
|
145
145
|
type: NgModule,
|
|
146
146
|
args: [{
|
|
147
147
|
imports: [WidgetOutletComponent],
|
|
@@ -153,11 +153,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
153
153
|
* @deprecated import the WidgetOutletComponent directly
|
|
154
154
|
*/
|
|
155
155
|
class IgoWidgetModule {
|
|
156
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
157
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
158
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
156
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
157
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetModule, imports: [IgoWidgetOutletModule], exports: [IgoWidgetOutletModule] });
|
|
158
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetModule, providers: [WidgetService], imports: [IgoWidgetOutletModule, IgoWidgetOutletModule] });
|
|
159
159
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWidgetModule, decorators: [{
|
|
161
161
|
type: NgModule,
|
|
162
162
|
args: [{
|
|
163
163
|
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 } 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 constructor(private dynamicComponentService: DynamicComponentService) {}\n\n create(widgetCls: any): Widget {\n return this.dynamicComponentService.create(widgetCls as WidgetComponent);\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\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: [NgIf, DynamicOutletComponent]\n})\nexport class WidgetOutletComponent implements OnDestroy {\n /**\n * Widget subscribers to 'cancel' and 'complete'\n * @internal\n */\n private baseSubscribers = {\n cancel: (event: any) => this.onCancel(event),\n complete: (event: any) => this.onComplete(event)\n };\n\n /**\n * Widget\n */\n @Input() widget: DynamicComponent<WidgetComponent>;\n\n /**\n * Widget inputs\n */\n @Input() inputs: Record<string, any>;\n\n /**\n * Widget subscribers\n */\n @Input() subscribers: Record<string, (event: any) => void> = {};\n\n /**\n * Event emitted when the widget emits 'complete'\n */\n @Output() complete = new EventEmitter<any>();\n\n /**\n * Event emitted when the widget emits 'cancel'\n */\n @Output() cancel = new EventEmitter<any>();\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: any) => 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: any) => {\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: any) {\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: any) {\n this.complete.emit(event);\n this.destroyWidget();\n }\n\n /**\n * Destroy the current widget\n */\n private destroyWidget() {\n if (this.widget !== undefined) {\n this.widget.destroy();\n }\n this.widget = undefined;\n }\n}\n","<igo-dynamic-outlet\n *ngIf=\"widget\"\n [component]=\"widget\"\n [inputs]=\"inputs\"\n [subscribers]=\"getEffectiveSubscribers()\"\n>\n</igo-dynamic-outlet>\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":";;;;;;AAIM,MAAO,MAAO,SAAQ,gBAAiC,CAAA;AAAG;;MCMnD,aAAa,CAAA;AACJ,IAAA,uBAAA;AAApB,IAAA,WAAA,CAAoB,uBAAgD,EAAA;QAAhD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;;AAE3C,IAAA,MAAM,CAAC,SAAc,EAAA;QACnB,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAA4B,CAAC;;
|
|
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 } 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 constructor(private dynamicComponentService: DynamicComponentService) {}\n\n create(widgetCls: any): Widget {\n return this.dynamicComponentService.create(widgetCls as WidgetComponent);\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\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: [NgIf, DynamicOutletComponent]\n})\nexport class WidgetOutletComponent implements OnDestroy {\n /**\n * Widget subscribers to 'cancel' and 'complete'\n * @internal\n */\n private baseSubscribers = {\n cancel: (event: any) => this.onCancel(event),\n complete: (event: any) => this.onComplete(event)\n };\n\n /**\n * Widget\n */\n @Input() widget: DynamicComponent<WidgetComponent>;\n\n /**\n * Widget inputs\n */\n @Input() inputs: Record<string, any>;\n\n /**\n * Widget subscribers\n */\n @Input() subscribers: Record<string, (event: any) => void> = {};\n\n /**\n * Event emitted when the widget emits 'complete'\n */\n @Output() complete = new EventEmitter<any>();\n\n /**\n * Event emitted when the widget emits 'cancel'\n */\n @Output() cancel = new EventEmitter<any>();\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: any) => 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: any) => {\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: any) {\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: any) {\n this.complete.emit(event);\n this.destroyWidget();\n }\n\n /**\n * Destroy the current widget\n */\n private destroyWidget() {\n if (this.widget !== undefined) {\n this.widget.destroy();\n }\n this.widget = undefined;\n }\n}\n","<igo-dynamic-outlet\n *ngIf=\"widget\"\n [component]=\"widget\"\n [inputs]=\"inputs\"\n [subscribers]=\"getEffectiveSubscribers()\"\n>\n</igo-dynamic-outlet>\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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"}
|
|
@@ -215,10 +215,10 @@ class WorkspaceSelectorComponent {
|
|
|
215
215
|
this.store.activateWorkspace(workspace);
|
|
216
216
|
this.selectedChange.emit({ selected: true, value: workspace });
|
|
217
217
|
}
|
|
218
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
219
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
218
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WorkspaceSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: WorkspaceSelectorComponent, isStandalone: true, selector: "igo-workspace-selector", inputs: { store: "store", disabled: "disabled" }, 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</igo-entity-selector>\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 });
|
|
220
220
|
}
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WorkspaceSelectorComponent, decorators: [{
|
|
222
222
|
type: Component,
|
|
223
223
|
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</igo-entity-selector>\n" }]
|
|
224
224
|
}], propDecorators: { store: [{
|
|
@@ -233,11 +233,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
233
233
|
* @deprecated import the WorkspaceSelectorComponent directly
|
|
234
234
|
*/
|
|
235
235
|
class IgoWorkspaceSelectorModule {
|
|
236
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
237
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
238
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
236
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
237
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceSelectorModule, imports: [WorkspaceSelectorComponent], exports: [WorkspaceSelectorComponent] });
|
|
238
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceSelectorModule, imports: [WorkspaceSelectorComponent] });
|
|
239
239
|
}
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceSelectorModule, decorators: [{
|
|
241
241
|
type: NgModule,
|
|
242
242
|
args: [{
|
|
243
243
|
imports: [WorkspaceSelectorComponent],
|
|
@@ -301,10 +301,10 @@ class WorkspaceWidgetOutletComponent {
|
|
|
301
301
|
this.workspace.deactivateWidget();
|
|
302
302
|
this.deactivateWidget.emit(widget);
|
|
303
303
|
}
|
|
304
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
305
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
304
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WorkspaceWidgetOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
305
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: WorkspaceWidgetOutletComponent, isStandalone: true, selector: "igo-workspace-widget-outlet", inputs: { workspace: "workspace" }, outputs: { deactivateWidget: "deactivateWidget" }, ngImport: i0, template: "<ng-container *ngIf=\"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 </igo-widget-outlet>\n</ng-container>\n", styles: ["igo-widget-outlet{height:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WidgetOutletComponent, selector: "igo-widget-outlet", inputs: ["widget", "inputs", "subscribers"], outputs: ["complete", "cancel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
306
306
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WorkspaceWidgetOutletComponent, decorators: [{
|
|
308
308
|
type: Component,
|
|
309
309
|
args: [{ selector: 'igo-workspace-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, WidgetOutletComponent, AsyncPipe], template: "<ng-container *ngIf=\"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 </igo-widget-outlet>\n</ng-container>\n", styles: ["igo-widget-outlet{height:100%}\n"] }]
|
|
310
310
|
}], propDecorators: { workspace: [{
|
|
@@ -317,11 +317,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
317
317
|
* @deprecated import the WorkspaceWidgetOutletComponent directly
|
|
318
318
|
*/
|
|
319
319
|
class IgoWorkspaceWidgetOutletModule {
|
|
320
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
321
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
322
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
320
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
321
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, imports: [WorkspaceWidgetOutletComponent], exports: [WorkspaceWidgetOutletComponent] });
|
|
322
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, imports: [WorkspaceWidgetOutletComponent] });
|
|
323
323
|
}
|
|
324
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
324
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceWidgetOutletModule, decorators: [{
|
|
325
325
|
type: NgModule,
|
|
326
326
|
args: [{
|
|
327
327
|
imports: [WorkspaceWidgetOutletComponent],
|
|
@@ -337,13 +337,13 @@ const WORKSPACE_DIRECTIVES = [
|
|
|
337
337
|
* @deprecated import the components directly or WORKSPACE_DIRECTIVES for every components/directives
|
|
338
338
|
*/
|
|
339
339
|
class IgoWorkspaceModule {
|
|
340
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
341
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
340
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
341
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceModule, imports: [WorkspaceSelectorComponent,
|
|
342
342
|
WorkspaceWidgetOutletComponent], exports: [WorkspaceSelectorComponent,
|
|
343
343
|
WorkspaceWidgetOutletComponent] });
|
|
344
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
344
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceModule, imports: [WORKSPACE_DIRECTIVES] });
|
|
345
345
|
}
|
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoWorkspaceModule, decorators: [{
|
|
347
347
|
type: NgModule,
|
|
348
348
|
args: [{
|
|
349
349
|
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);\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);\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 {\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> {\n return this.options.entityStore as EntityStore<E>;\n }\n\n /**\n * Actions store (some actions activate a widget)\n */\n get actionStore(): ActionStore {\n return this.options.actionStore;\n }\n\n /**\n * Selected widget\n */\n get widget(): Widget {\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 if (this.entities$$ !== undefined) {\n this.entities$$.unsubscribe();\n }\n if (this.change$ !== undefined) {\n this.change$.unsubscribe();\n }\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 EventEmitter,\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 @Input() store: WorkspaceStore;\n\n /**\n * Wheither the selector must be disabled or not.\n */\n @Input() disabled: boolean;\n\n /**\n * Event emitted when an workspace is selected or unselected\n */\n @Output() selectedChange = new EventEmitter<{\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</igo-entity-selector>\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, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\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: [NgIf, WidgetOutletComponent, AsyncPipe]\n})\nexport class WorkspaceWidgetOutletComponent {\n /**\n * Workspace\n */\n @Input() workspace: 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 @Output() deactivateWidget = new EventEmitter<Widget>();\n\n /**\n * Observable of the workspace's active widget\n * @internal\n */\n get widget$(): BehaviorSubject<Widget> {\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, any>> {\n return this.workspace.widgetInputs$;\n }\n\n /**\n * Observable of the workspace's widget inputs\n * @internal\n */\n get widgetSubscribers$(): BehaviorSubject<\n Record<string, (event: any) => void>\n > {\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","<ng-container *ngIf=\"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 </igo-widget-outlet>\n</ng-container>\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);\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);\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 {\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> {\n return this.options.entityStore as EntityStore<E>;\n }\n\n /**\n * Actions store (some actions activate a widget)\n */\n get actionStore(): ActionStore {\n return this.options.actionStore;\n }\n\n /**\n * Selected widget\n */\n get widget(): Widget {\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 if (this.entities$$ !== undefined) {\n this.entities$$.unsubscribe();\n }\n if (this.change$ !== undefined) {\n this.change$.unsubscribe();\n }\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 EventEmitter,\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 @Input() store: WorkspaceStore;\n\n /**\n * Wheither the selector must be disabled or not.\n */\n @Input() disabled: boolean;\n\n /**\n * Event emitted when an workspace is selected or unselected\n */\n @Output() selectedChange = new EventEmitter<{\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</igo-entity-selector>\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, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\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: [NgIf, WidgetOutletComponent, AsyncPipe]\n})\nexport class WorkspaceWidgetOutletComponent {\n /**\n * Workspace\n */\n @Input() workspace: 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 @Output() deactivateWidget = new EventEmitter<Widget>();\n\n /**\n * Observable of the workspace's active widget\n * @internal\n */\n get widget$(): BehaviorSubject<Widget> {\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, any>> {\n return this.workspace.widgetInputs$;\n }\n\n /**\n * Observable of the workspace's widget inputs\n * @internal\n */\n get widgetSubscribers$(): BehaviorSubject<\n Record<string, (event: any) => void>\n > {\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","<ng-container *ngIf=\"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 </igo-widget-outlet>\n</ng-container>\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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"}
|
|
@@ -3,6 +3,7 @@ import { IconService } from '../shared/icon.service';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class IgoIconComponent {
|
|
5
5
|
private iconService;
|
|
6
|
+
color: string | null | undefined;
|
|
6
7
|
set icon(icon: string | IconSvg);
|
|
7
8
|
get icon(): string | IconSvg;
|
|
8
9
|
private _icon;
|
|
@@ -10,5 +11,5 @@ export declare class IgoIconComponent {
|
|
|
10
11
|
registerSvg(icon: IconSvg): void;
|
|
11
12
|
isSvg(icon: string | IconSvg): icon is IconSvg;
|
|
12
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgoIconComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<IgoIconComponent, "igo-icon", never, { "icon": { "alias": "icon"; "required": true; }; }, {}, never, never, true, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IgoIconComponent, "igo-icon", never, { "color": { "alias": "color"; "required": false; }; "icon": { "alias": "icon"; "required": true; }; }, {}, never, never, true, never>;
|
|
14
15
|
}
|
|
@@ -11,7 +11,6 @@ export declare class InteractiveTourService {
|
|
|
11
11
|
private interactiveTourLoader;
|
|
12
12
|
private shepherdService;
|
|
13
13
|
private previousStep;
|
|
14
|
-
private nextIndex;
|
|
15
14
|
constructor(configService: ConfigService, mediaService: MediaService, languageService: LanguageService, interactiveTourLoader: InteractiveTourLoader, shepherdService: ShepherdService);
|
|
16
15
|
isAppHaveTour(): any;
|
|
17
16
|
isToolHaveTourConfig(toolName: string): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/common",
|
|
3
|
-
"version": "19.0.0
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "IGO Community",
|
|
6
6
|
"keywords": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"style": "./style/style.css"
|
|
25
25
|
},
|
|
26
26
|
"./theme": {
|
|
27
|
-
"sass": "./src/common
|
|
27
|
+
"sass": "./src/common.theme.scss"
|
|
28
28
|
},
|
|
29
29
|
"./partial/*": {
|
|
30
30
|
"sass": "./src/style/partial/*.scss"
|
|
@@ -163,6 +163,10 @@
|
|
|
163
163
|
},
|
|
164
164
|
"./package.json": {
|
|
165
165
|
"default": "./package.json"
|
|
166
|
+
},
|
|
167
|
+
"./resizable-bar": {
|
|
168
|
+
"types": "./resizable-bar/index.d.ts",
|
|
169
|
+
"default": "./fesm2022/igo2-common-resizable-bar.mjs"
|
|
166
170
|
}
|
|
167
171
|
},
|
|
168
172
|
"dependencies": {
|
|
@@ -171,14 +175,16 @@
|
|
|
171
175
|
"peerDependencies": {
|
|
172
176
|
"@angular/common": "^19.0.0",
|
|
173
177
|
"@angular/core": "^19.0.0",
|
|
178
|
+
"@angular/forms": "^19.0.0",
|
|
179
|
+
"@angular/material-moment-adapter": "^19.0.0",
|
|
174
180
|
"@angular/material": "^19.0.0",
|
|
175
181
|
"@angular/platform-browser": "^19.0.0",
|
|
176
182
|
"@floating-ui/utils": "^0.2.0",
|
|
177
|
-
"@igo2/core": "^19.0.0
|
|
178
|
-
"@igo2/utils": "^19.0.0
|
|
183
|
+
"@igo2/core": "^19.0.0",
|
|
184
|
+
"@igo2/utils": "^19.0.0",
|
|
179
185
|
"angular-shepherd": "^19.0.0",
|
|
180
|
-
"ngx-color": "^
|
|
181
|
-
"scroll-into-view-if-needed": "^3.
|
|
186
|
+
"ngx-color": "^10.0.0",
|
|
187
|
+
"scroll-into-view-if-needed": "^3.1.0",
|
|
182
188
|
"tinycolor2": "^1.6.0",
|
|
183
189
|
"typy": "^3.3.0"
|
|
184
190
|
},
|
|
@@ -2,21 +2,11 @@
|
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
4
|
@mixin theme($theme) {
|
|
5
|
-
@include color($theme);
|
|
6
5
|
@include density($theme);
|
|
7
6
|
}
|
|
8
7
|
|
|
9
|
-
@mixin color($theme) {
|
|
10
|
-
$primary: map.get($theme, primary);
|
|
11
|
-
|
|
12
|
-
igo-panel > .igo-panel-header {
|
|
13
|
-
background-color: mat.m2-get-color-from-palette($primary);
|
|
14
|
-
color: mat.m2-get-color-from-palette($primary, default-contrast);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
8
|
@mixin density($theme) {
|
|
19
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
20
10
|
$theme: map.merge(
|
|
21
11
|
$theme,
|
|
22
12
|
(
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare const ResizeAnchorType: readonly ["top", "left", "bottom", "right"];
|
|
4
|
+
export type ResizeAnchorType = (typeof ResizeAnchorType)[number];
|
|
5
|
+
export declare const AlignmentType: readonly ["vertical", "horizontal"];
|
|
6
|
+
export type AlignmentType = (typeof AlignmentType)[number];
|
|
7
|
+
export declare class ResizableBarComponent implements OnInit {
|
|
8
|
+
alignement: AlignmentType;
|
|
9
|
+
iconRotation: string;
|
|
10
|
+
anchor: ResizeAnchorType;
|
|
11
|
+
/** En pixel */
|
|
12
|
+
min: number;
|
|
13
|
+
/** En pixel */
|
|
14
|
+
max: number;
|
|
15
|
+
change: EventEmitter<MouseEvent>;
|
|
16
|
+
get cssClass(): string;
|
|
17
|
+
ngOnInit(): void;
|
|
18
|
+
onChange(event: MouseEvent): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ResizableBarComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ResizableBarComponent, "igo-resizable-bar", never, { "anchor": { "alias": "anchor"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
|
|
21
|
+
static ngAcceptInputType_min: unknown;
|
|
22
|
+
static ngAcceptInputType_max: unknown;
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ResizeDirective {
|
|
5
|
+
mouseMove$$: Subscription;
|
|
6
|
+
mouseUp$$: Subscription;
|
|
7
|
+
change: EventEmitter<MouseEvent>;
|
|
8
|
+
onMouseDown(event: MouseEvent): void;
|
|
9
|
+
private _unsubscribe;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeDirective, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ResizeDirective, "[igoResize]", never, {}, { "change": "change"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@use '../action/src/action.theming.scss' as action;
|
|
2
|
+
@use '../entity/src/entity.theming.scss' as entity;
|
|
3
|
+
@use '../panel/src/panel.theming.scss' as panel;
|
|
4
|
+
@use '../tool/src/tool.theming.scss' as tool;
|
|
5
|
+
|
|
6
|
+
@mixin themes($theme) {
|
|
7
|
+
@include action.themes($theme);
|
|
8
|
+
@include entity.themes($theme);
|
|
9
|
+
@include panel.theme($theme);
|
|
10
|
+
@include tool.igo-tool-theming($theme);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@mixin densities($theme) {
|
|
14
|
+
@include action.densities($theme);
|
|
15
|
+
@include entity.densities($theme);
|
|
16
|
+
@include panel.theme($theme);
|
|
17
|
+
@include tool.igo-tool-theming($theme);
|
|
18
|
+
}
|
|
@@ -2,94 +2,11 @@
|
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
4
|
@mixin igo-toolbox-theming($theme) {
|
|
5
|
-
@include color($theme);
|
|
6
5
|
@include density($theme);
|
|
7
6
|
}
|
|
8
7
|
|
|
9
|
-
@mixin color($theme) {
|
|
10
|
-
$primary: map.get($theme, primary);
|
|
11
|
-
$accent: map.get($theme, accent);
|
|
12
|
-
$foreground: map.get($theme, foreground);
|
|
13
|
-
$darker-contrast: mat.m2-get-color-from-palette($primary, darker-contrast);
|
|
14
|
-
$lighter-contrast: mat.m2-get-color-from-palette($primary, lighter-contrast);
|
|
15
|
-
|
|
16
|
-
igo-toolbox {
|
|
17
|
-
&.color-primary > igo-actionbar:not(.with-title) {
|
|
18
|
-
box-shadow: unset;
|
|
19
|
-
background-color: mat.m2-get-color-from-palette($primary);
|
|
20
|
-
#lowChevron,
|
|
21
|
-
#topChevron {
|
|
22
|
-
background-color: mat.m2-get-color-from-palette($primary);
|
|
23
|
-
color: white;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
&.color-grey > igo-actionbar:not(.with-title) {
|
|
28
|
-
box-shadow: unset;
|
|
29
|
-
background-color: #737475;
|
|
30
|
-
#lowChevron,
|
|
31
|
-
#topChevron {
|
|
32
|
-
background-color: #737475;
|
|
33
|
-
color: white;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
&.color-primary,
|
|
38
|
-
&.color-grey {
|
|
39
|
-
& > igo-actionbar:not(.with-title) mat-list.mat-mdc-list-base {
|
|
40
|
-
.mat-mdc-list-item.mdc-list-item--with-leading-avatar {
|
|
41
|
-
color: white;
|
|
42
|
-
&:hover {
|
|
43
|
-
color: black;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
&.tool-activated,
|
|
47
|
-
&.children-tool-activated {
|
|
48
|
-
background-color: white;
|
|
49
|
-
color: black;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
> igo-actionbar {
|
|
56
|
-
&:not(.with-title) {
|
|
57
|
-
> mat-list {
|
|
58
|
-
& > #lowChevron,
|
|
59
|
-
& > #topChevron {
|
|
60
|
-
&:hover {
|
|
61
|
-
background-color: mat.m2-get-color-from-palette($accent, lighter);
|
|
62
|
-
color: black;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
mat-list-item {
|
|
67
|
-
color: $lighter-contrast;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
mat-list.mat-mdc-list-base igo-actionbar-item mat-list-item {
|
|
73
|
-
&:hover {
|
|
74
|
-
background-color: mat.m2-get-color-from-palette($accent, lighter);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
&.tool-activated,
|
|
78
|
-
&.children-tool-activated {
|
|
79
|
-
color: $lighter-contrast;
|
|
80
|
-
background-color: $darker-contrast;
|
|
81
|
-
|
|
82
|
-
button {
|
|
83
|
-
cursor: default;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
8
|
@mixin density($theme) {
|
|
92
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
93
10
|
$theme: map.merge(
|
|
94
11
|
$theme,
|
|
95
12
|
(
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
@mixin igo-actionbar-theming($theme) {
|
|
2
|
-
.igo-actionbar-overlay {
|
|
3
|
-
min-width: inherit !important;
|
|
4
|
-
padding-top: 0;
|
|
5
|
-
padding-bottom: 0;
|
|
6
|
-
|
|
7
|
-
.mat-mdc-list {
|
|
8
|
-
padding-top: 0;
|
|
9
|
-
}
|
|
10
|
-
.mat-mdc-list
|
|
11
|
-
.mat-mdc-list-item.mdc-list-item--with-leading-icon
|
|
12
|
-
.mdc-list-item__content
|
|
13
|
-
.mdc-list-item__primary-text {
|
|
14
|
-
padding-right: 16px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.mat-mdc-menu-content:not(:empty) {
|
|
18
|
-
padding-top: 0;
|
|
19
|
-
padding-bottom: 0;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|