ngx-rs-ant 0.2.3 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/box-container/PluginManager.d.ts +15 -0
  2. package/box-container/box-container.component.d.ts +12 -0
  3. package/box-container/box-container.module.d.ts +21 -0
  4. package/box-container/box-item/box-item-host.directive.d.ts +10 -0
  5. package/box-container/box-item/box-item.component.d.ts +36 -0
  6. package/box-container/box-item/item-blank/item-blank.component.d.ts +8 -0
  7. package/box-container/box-item/item-config/item-config.component.d.ts +8 -0
  8. package/box-container/box-item/item-style/item-style.component.d.ts +10 -0
  9. package/box-container/box-item/item-style/style/style.component.d.ts +12 -0
  10. package/box-container/box-item/item-style/style-blank/style-blank.component.d.ts +5 -0
  11. package/box-container/plugin-active/divider/divider-line/divider-line.component.d.ts +12 -0
  12. package/box-container/plugin-active/divider/divider.component.d.ts +23 -0
  13. package/box-container/plugin-active/plugin-active.component.d.ts +31 -0
  14. package/box-container/plugin-hover/plugin-hover.component.d.ts +18 -0
  15. package/data-grid/data-grid.component.d.ts +7 -4
  16. package/esm2020/box-container/PluginManager.mjs +103 -0
  17. package/esm2020/box-container/box-container.component.mjs +44 -0
  18. package/esm2020/box-container/box-container.module.mjs +69 -0
  19. package/esm2020/box-container/box-item/box-item-host.directive.mjs +20 -0
  20. package/esm2020/box-container/box-item/box-item.component.mjs +169 -0
  21. package/esm2020/box-container/box-item/item-blank/item-blank.component.mjs +20 -0
  22. package/esm2020/box-container/box-item/item-config/item-config.component.mjs +35 -0
  23. package/esm2020/box-container/box-item/item-style/item-style.component.mjs +35 -0
  24. package/esm2020/box-container/box-item/item-style/style/style.component.mjs +44 -0
  25. package/esm2020/box-container/box-item/item-style/style-blank/style-blank.component.mjs +11 -0
  26. package/esm2020/box-container/plugin-active/divider/divider-line/divider-line.component.mjs +35 -0
  27. package/esm2020/box-container/plugin-active/divider/divider.component.mjs +50 -0
  28. package/esm2020/box-container/plugin-active/plugin-active.component.mjs +55 -0
  29. package/esm2020/box-container/plugin-hover/plugin-hover.component.mjs +26 -0
  30. package/esm2020/data-grid/data-grid.component.mjs +16 -9
  31. package/esm2020/data-grid/data-grid.module.mjs +4 -4
  32. package/esm2020/form/form.component.mjs +53 -0
  33. package/esm2020/form/form.module.mjs +39 -0
  34. package/esm2020/modal/modal.component.mjs +5 -5
  35. package/esm2020/modal/modal.module.mjs +8 -6
  36. package/esm2020/modal/modal.service.mjs +3 -3
  37. package/esm2020/public-api.mjs +11 -3
  38. package/fesm2015/ngx-rs-ant.mjs +902 -152
  39. package/fesm2015/ngx-rs-ant.mjs.map +1 -1
  40. package/fesm2020/ngx-rs-ant.mjs +894 -152
  41. package/fesm2020/ngx-rs-ant.mjs.map +1 -1
  42. package/form/form.component.d.ts +21 -0
  43. package/form/form.module.d.ts +11 -0
  44. package/modal/modal.component.d.ts +1 -1
  45. package/modal/modal.module.d.ts +1 -1
  46. package/package.json +4 -3
  47. package/public-api.d.ts +10 -2
@@ -0,0 +1,15 @@
1
+ import { ComponentRef, ViewContainerRef } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { BoxItemComponent } from './box-item/box-item.component';
4
+ import { ItemConfigComponent } from "./box-item/item-config/item-config.component";
5
+ import { ItemStyleComponent } from "./box-item/item-style/item-style.component";
6
+ export declare class PluginManager {
7
+ static hoverItems: any[];
8
+ static activeItem: Subject<any>;
9
+ static activeItems: any[];
10
+ static createComponent(boxItem: BoxItemComponent, index: number, style: any, config: any, editMode?: boolean, control?: any): any;
11
+ static createHoverComponent(viewContainerRef: ViewContainerRef, componentRef: ComponentRef<any>, caption: string): any;
12
+ static createActiveComponent(boxItem: BoxItemComponent, index: number, componentRef: ComponentRef<any>, style: any, config: any, showClose: boolean): any;
13
+ static getItemConfigComponent(): typeof ItemConfigComponent;
14
+ static getItemStyleComponent(): typeof ItemStyleComponent;
15
+ }
@@ -0,0 +1,12 @@
1
+ import { OnInit, ViewContainerRef } from '@angular/core';
2
+ import { UntypedFormGroup } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ export declare class BoxContainerComponent implements OnInit {
5
+ editMode: boolean;
6
+ config: any;
7
+ control?: UntypedFormGroup;
8
+ boxContainerContent: ViewContainerRef;
9
+ ngOnInit(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<BoxContainerComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<BoxContainerComponent, "rs-box-container", never, { "editMode": "editMode"; "config": "config"; "control": "control"; }, {}, never, never, false, never>;
12
+ }
@@ -0,0 +1,21 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./box-container.component";
3
+ import * as i2 from "./box-item/box-item-host.directive";
4
+ import * as i3 from "./box-item/box-item.component";
5
+ import * as i4 from "./plugin-active/plugin-active.component";
6
+ import * as i5 from "./plugin-active/divider/divider.component";
7
+ import * as i6 from "./plugin-active/divider/divider-line/divider-line.component";
8
+ import * as i7 from "./plugin-hover/plugin-hover.component";
9
+ import * as i8 from "./box-item/item-config/item-config.component";
10
+ import * as i9 from "./box-item/item-style/item-style.component";
11
+ import * as i10 from "./box-item/item-style/style-blank/style-blank.component";
12
+ import * as i11 from "./box-item/item-blank/item-blank.component";
13
+ import * as i12 from "./box-item/item-style/style/style.component";
14
+ import * as i13 from "@angular/common";
15
+ import * as i14 from "ng-devui";
16
+ import * as i15 from "@angular/forms";
17
+ export declare class BoxContainerModule {
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<BoxContainerModule, never>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BoxContainerModule, [typeof i1.BoxContainerComponent, typeof i2.BoxItemHostDirective, typeof i3.BoxItemComponent, typeof i4.PluginActiveComponent, typeof i5.DividerComponent, typeof i6.DividerLineComponent, typeof i7.PluginHoverComponent, typeof i8.ItemConfigComponent, typeof i9.ItemStyleComponent, typeof i10.StyleBlankComponent, typeof i11.ItemBlankComponent, typeof i12.StyleComponent], [typeof i13.CommonModule, typeof i14.DevUIModule, typeof i15.FormsModule], [typeof i1.BoxContainerComponent, typeof i8.ItemConfigComponent, typeof i9.ItemStyleComponent]>;
20
+ static ɵinj: i0.ɵɵInjectorDeclaration<BoxContainerModule>;
21
+ }
@@ -0,0 +1,10 @@
1
+ import { ElementRef, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class BoxItemHostDirective {
4
+ private el;
5
+ viewContainerRef: ViewContainerRef;
6
+ hostId: any;
7
+ constructor(el: ElementRef, viewContainerRef: ViewContainerRef);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<BoxItemHostDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BoxItemHostDirective, "[rsBoxItemHost]", never, { "hostId": "hostId"; }, {}, never, never, false, never>;
10
+ }
@@ -0,0 +1,36 @@
1
+ import { EventEmitter, OnInit, QueryList } from '@angular/core';
2
+ import { BoxItemHostDirective } from './box-item-host.directive';
3
+ import * as i0 from "@angular/core";
4
+ export declare class BoxItemComponent implements OnInit {
5
+ editMode: boolean;
6
+ style: any;
7
+ config: any;
8
+ control: any;
9
+ pDirection?: 'row' | 'column';
10
+ get _direction(): any;
11
+ get _style(): {};
12
+ leaveOneItem: EventEmitter<any>;
13
+ itemHosts: QueryList<BoxItemHostDirective>;
14
+ ngOnInit(): void;
15
+ load(): void;
16
+ private createBlankComponent;
17
+ calcStyle(item: any): {
18
+ flex: string;
19
+ height: string;
20
+ pointerEvents: string;
21
+ width?: undefined;
22
+ } | {
23
+ width: string;
24
+ flex: string;
25
+ pointerEvents: string;
26
+ height?: undefined;
27
+ } | {
28
+ pointerEvents: string;
29
+ flex?: undefined;
30
+ height?: undefined;
31
+ width?: undefined;
32
+ };
33
+ private _calcStyle;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<BoxItemComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<BoxItemComponent, "rs-box-item", never, {}, { "leaveOneItem": "leaveOneItem"; }, never, never, false, never>;
36
+ }
@@ -0,0 +1,8 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ItemBlankComponent {
4
+ dropItem: EventEmitter<any>;
5
+ dropEvent($event: any): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemBlankComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ItemBlankComponent, "rs-item-blank", never, {}, { "dropItem": "dropItem"; }, never, never, false, never>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { OnInit, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ItemConfigComponent implements OnInit {
4
+ pageConfigContent: ViewContainerRef;
5
+ ngOnInit(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemConfigComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ItemConfigComponent, "rs-item-config", never, {}, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { ChangeDetectorRef, OnInit, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ItemStyleComponent implements OnInit {
4
+ private changeDetectorRef;
5
+ pageStyleContent: ViewContainerRef;
6
+ constructor(changeDetectorRef: ChangeDetectorRef);
7
+ ngOnInit(): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ItemStyleComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<ItemStyleComponent, "rs-item-style", never, {}, {}, never, never, false, never>;
10
+ }
@@ -0,0 +1,12 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class StyleComponent implements OnInit {
4
+ style: any;
5
+ width: number | undefined;
6
+ height: number | undefined;
7
+ ngOnInit(): void;
8
+ select(name: string, value: any): void;
9
+ typing(name: string, value: any): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<StyleComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<StyleComponent, "rs-style", never, {}, {}, never, never, false, never>;
12
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class StyleBlankComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<StyleBlankComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<StyleBlankComponent, "rs-style-blank", never, {}, {}, never, never, false, never>;
5
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DividerLineComponent {
3
+ direction?: 'row' | 'column';
4
+ targetElement: any;
5
+ get _style(): {
6
+ height?: undefined;
7
+ } | {
8
+ height: string;
9
+ };
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<DividerLineComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<DividerLineComponent, "rs-divider-line", never, { "direction": "direction"; "targetElement": "targetElement"; }, {}, never, never, false, never>;
12
+ }
@@ -0,0 +1,23 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DividerComponent {
4
+ direction?: 'row' | 'column';
5
+ targetElement: any;
6
+ dividerClick: EventEmitter<any>;
7
+ get _style(): {
8
+ top?: undefined;
9
+ left?: undefined;
10
+ transform?: undefined;
11
+ } | {
12
+ top: string;
13
+ left: string;
14
+ transform: string;
15
+ } | {
16
+ top: string;
17
+ left: string;
18
+ transform?: undefined;
19
+ };
20
+ onClick(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<DividerComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<DividerComponent, "rs-divider", never, { "direction": "direction"; "targetElement": "targetElement"; }, { "dividerClick": "dividerClick"; }, never, never, false, never>;
23
+ }
@@ -0,0 +1,31 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PluginActiveComponent implements OnInit {
4
+ name: string;
5
+ showClose: boolean;
6
+ showDivider: boolean;
7
+ itemRemove: EventEmitter<any>;
8
+ targetElement: any;
9
+ targetRect: any;
10
+ _targetRect: any;
11
+ width: number;
12
+ _width: number;
13
+ height: number;
14
+ _height: number;
15
+ get _style(): {
16
+ width?: undefined;
17
+ height?: undefined;
18
+ top?: undefined;
19
+ left?: undefined;
20
+ } | {
21
+ width: string;
22
+ height: string;
23
+ top: string;
24
+ left: string;
25
+ };
26
+ ngOnInit(): void;
27
+ onItemCloseIconClick($event: any): void;
28
+ splitItem(direction: 'row' | 'column'): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<PluginActiveComponent, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<PluginActiveComponent, "rs-plugin-active", never, {}, {}, never, never, false, never>;
31
+ }
@@ -0,0 +1,18 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PluginHoverComponent {
3
+ name: string;
4
+ targetElement: any;
5
+ get _style(): {
6
+ width?: undefined;
7
+ height?: undefined;
8
+ top?: undefined;
9
+ left?: undefined;
10
+ } | {
11
+ width: string;
12
+ height: string;
13
+ top: string;
14
+ left: string;
15
+ };
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<PluginHoverComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<PluginHoverComponent, "rs-plugin-hover", never, {}, {}, never, never, false, never>;
18
+ }
@@ -1,16 +1,19 @@
1
1
  import { OnInit } from '@angular/core';
2
+ import { DxDataGridComponent } from "devextreme-angular";
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class DataGridComponent implements OnInit {
4
5
  tenant: any;
5
6
  className: any;
6
- view: any;
7
- filter: any;
7
+ view?: any;
8
+ filter?: any;
8
9
  service: any;
9
10
  dataSource: any;
10
11
  columns: any[];
11
12
  typeMap: any;
13
+ height?: any;
14
+ dxDataGrid: DxDataGridComponent;
12
15
  ngOnInit(): void;
13
- load(): void;
16
+ reload(): void;
14
17
  static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "service": "service"; }, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "service": "service"; "height": "height"; }, {}, never, never, false, never>;
16
19
  }
@@ -0,0 +1,103 @@
1
+ import { PluginFactory } from 'coast-plugin-register';
2
+ import { PluginActiveComponent } from './plugin-active/plugin-active.component';
3
+ import { PluginHoverComponent } from './plugin-hover/plugin-hover.component';
4
+ import { Subject } from 'rxjs';
5
+ import { ItemConfigComponent } from "./box-item/item-config/item-config.component";
6
+ import { ItemStyleComponent } from "./box-item/item-style/item-style.component";
7
+ import { UntypedFormControl } from "@angular/forms";
8
+ export class PluginManager {
9
+ static createComponent(boxItem, index, style, config, editMode = false, control) {
10
+ const plugin = PluginFactory.get(config.name);
11
+ if (!plugin) {
12
+ console.error('undefined plugin: ' + config.name);
13
+ return;
14
+ }
15
+ const viewContainerRef = boxItem.itemHosts.get(index)?.viewContainerRef;
16
+ viewContainerRef.clear();
17
+ const componentRef = viewContainerRef.createComponent(plugin.component);
18
+ const instance = componentRef.instance;
19
+ Object.assign(instance, config.pluginConfig);
20
+ if (plugin.category === 'form') {
21
+ if (editMode) {
22
+ instance.control = new UntypedFormControl('');
23
+ }
24
+ else {
25
+ instance.control = control.get(config.pluginConfig.field);
26
+ }
27
+ }
28
+ if (editMode) {
29
+ instance.onRemove = () => {
30
+ boxItem.config.list.splice(index, 1, { type: 'blank', style: boxItem.config.list[index].style });
31
+ boxItem.load();
32
+ };
33
+ if (plugin.type === 'default') {
34
+ componentRef.location.nativeElement.style.pointerEvents = 'all';
35
+ for (let child of componentRef.location.nativeElement.children) {
36
+ child.style.pointerEvents = 'none';
37
+ }
38
+ }
39
+ this.createHoverComponent(viewContainerRef, componentRef, plugin.caption);
40
+ this.createActiveComponent(boxItem, index, componentRef, style, {
41
+ caption: plugin.caption,
42
+ config
43
+ }, true);
44
+ }
45
+ return componentRef;
46
+ }
47
+ static createHoverComponent(viewContainerRef, componentRef, caption) {
48
+ const hoverComponentRef = viewContainerRef.createComponent(PluginHoverComponent);
49
+ hoverComponentRef.instance.name = caption;
50
+ hoverComponentRef.instance.targetElement = componentRef.location.nativeElement;
51
+ const hoverElement = hoverComponentRef.location.nativeElement;
52
+ componentRef.location.nativeElement.appendChild(hoverElement);
53
+ this.hoverItems.push(componentRef.location.nativeElement);
54
+ componentRef.location.nativeElement.addEventListener('mouseenter', ($event) => {
55
+ for (let hoverItem of this.hoverItems) {
56
+ hoverItem.classList.remove('plugin-hover');
57
+ }
58
+ $event.target.classList.add('plugin-hover');
59
+ });
60
+ componentRef.location.nativeElement.addEventListener('mouseleave', ($event) => {
61
+ $event.target.classList.remove('plugin-hover');
62
+ $event.target.parentElement.parentElement.classList.add('plugin-hover');
63
+ });
64
+ return hoverComponentRef;
65
+ }
66
+ static createActiveComponent(boxItem, index, componentRef, style, config, showClose) {
67
+ const viewContainerRef = boxItem.itemHosts.get(index)?.viewContainerRef;
68
+ const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);
69
+ activeComponentRef.instance.name = config.caption;
70
+ activeComponentRef.instance.showClose = showClose;
71
+ activeComponentRef.instance.targetElement = componentRef.location.nativeElement;
72
+ const activeElement = activeComponentRef.location.nativeElement;
73
+ componentRef.location.nativeElement.appendChild(activeElement);
74
+ this.activeItems.push(componentRef.location.nativeElement);
75
+ componentRef.location.nativeElement.addEventListener('click', ($event) => {
76
+ $event.stopPropagation();
77
+ for (let activeItem of this.activeItems) {
78
+ activeItem.classList.remove('plugin-active');
79
+ }
80
+ if (this.activeItems.indexOf($event.target) < 0) {
81
+ return;
82
+ }
83
+ this.activeItem.next({ boxItem, index, style, config: config.config });
84
+ $event.target.classList.add('plugin-active');
85
+ });
86
+ activeComponentRef.instance.itemRemove.subscribe(() => {
87
+ this.activeItem.next('');
88
+ viewContainerRef.clear();
89
+ componentRef.instance.onRemove();
90
+ });
91
+ return activeComponentRef;
92
+ }
93
+ static getItemConfigComponent() {
94
+ return ItemConfigComponent;
95
+ }
96
+ static getItemStyleComponent() {
97
+ return ItemStyleComponent;
98
+ }
99
+ }
100
+ PluginManager.hoverItems = [];
101
+ PluginManager.activeItem = new Subject();
102
+ PluginManager.activeItems = [];
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2JveC1jb250YWluZXIvUGx1Z2luTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQXlCLEVBQUUsS0FBYSxFQUFFLEtBQVUsRUFBRSxNQUFXLEVBQUUsUUFBUSxHQUFHLEtBQUssRUFBRSxPQUFhO1FBQ3ZILE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRCxPQUFPO1NBQ1I7UUFDRCxNQUFNLGdCQUFnQixHQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLGdCQUFnQixDQUFDO1FBQzdFLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUs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IjpbImltcG9ydCB7Q29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQbHVnaW5GYWN0b3J5fSBmcm9tICdjb2FzdC1wbHVnaW4tcmVnaXN0ZXInO1xyXG5pbXBvcnQge1BsdWdpbkFjdGl2ZUNvbXBvbmVudH0gZnJvbSAnLi9wbHVnaW4tYWN0aXZlL3BsdWdpbi1hY3RpdmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtQbHVnaW5Ib3ZlckNvbXBvbmVudH0gZnJvbSAnLi9wbHVnaW4taG92ZXIvcGx1Z2luLWhvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Qm94SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0l0ZW1Db25maWdDb21wb25lbnR9IGZyb20gXCIuL2JveC1pdGVtL2l0ZW0tY29uZmlnL2l0ZW0tY29uZmlnLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0l0ZW1TdHlsZUNvbXBvbmVudH0gZnJvbSBcIi4vYm94LWl0ZW0vaXRlbS1zdHlsZS9pdGVtLXN0eWxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1VudHlwZWRGb3JtQ29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGx1Z2luTWFuYWdlciB7XHJcbiAgc3RhdGljIGhvdmVySXRlbXM6IGFueVtdID0gW107XHJcbiAgc3RhdGljIGFjdGl2ZUl0ZW0gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgc3RhdGljIGFjdGl2ZUl0ZW1zOiBhbnlbXSA9IFtdO1xyXG5cclxuICBzdGF0aWMgY3JlYXRlQ29tcG9uZW50KGJveEl0ZW06IEJveEl0ZW1Db21wb25lbnQsIGluZGV4OiBudW1iZXIsIHN0eWxlOiBhbnksIGNvbmZpZzogYW55LCBlZGl0TW9kZSA9IGZhbHNlLCBjb250cm9sPzogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHBsdWdpbiA9IFBsdWdpbkZhY3RvcnkuZ2V0KGNvbmZpZy5uYW1lKTtcclxuICAgIGlmICghcGx1Z2luKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ3VuZGVmaW5lZCBwbHVnaW46ICcgKyBjb25maWcubmFtZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWY6IGFueSA9IGJveEl0ZW0uaXRlbUhvc3RzLmdldChpbmRleCk/LnZpZXdDb250YWluZXJSZWY7XHJcbiAgICB2aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChwbHVnaW4uY29tcG9uZW50KTtcclxuICAgIGNvbnN0IGluc3RhbmNlOiBhbnkgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICBPYmplY3QuYXNzaWduKGluc3RhbmNlLCBjb25maWcucGx1Z2luQ29uZmlnKTtcclxuICAgIGlmIChwbHVnaW4uY2F0ZWdvcnkgPT09ICdmb3JtJykge1xyXG4gICAgICBpZiAoZWRpdE1vZGUpIHtcclxuICAgICAgICBpbnN0YW5jZS5jb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaW5zdGFuY2UuY29udHJvbCA9IGNvbnRyb2wuZ2V0KGNvbmZpZy5wbHVnaW5Db25maWcuZmllbGQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZWRpdE1vZGUpIHtcclxuICAgICAgaW5zdGFuY2Uub25SZW1vdmUgPSAoKSA9PiB7XHJcbiAgICAgICAgYm94SXRlbS5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZTogYm94SXRlbS5jb25maWcubGlzdFtpbmRleF0uc3R5bGV9KTtcclxuICAgICAgICBib3hJdGVtLmxvYWQoKTtcclxuICAgICAgfTtcclxuICAgICAgaWYgKHBsdWdpbi50eXBlID09PSAnZGVmYXVsdCcpIHtcclxuICAgICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2FsbCc7XHJcbiAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4pIHtcclxuICAgICAgICAgIGNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY3JlYXRlSG92ZXJDb21wb25lbnQodmlld0NvbnRhaW5lclJlZiwgY29tcG9uZW50UmVmLCBwbHVnaW4uY2FwdGlvbik7XHJcbiAgICAgIHRoaXMuY3JlYXRlQWN0aXZlQ29tcG9uZW50KGJveEl0ZW0sIGluZGV4LCBjb21wb25lbnRSZWYsIHN0eWxlLCB7XHJcbiAgICAgICAgY2FwdGlvbjogcGx1Z2luLmNhcHRpb24sXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgIH0sIHRydWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjcmVhdGVIb3ZlckNvbXBvbmVudCh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCBjYXB0aW9uOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgaG92ZXJDb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChQbHVnaW5Ib3ZlckNvbXBvbmVudCk7XHJcbiAgICBob3ZlckNvbXBvbmVudFJlZi5pbnN0YW5jZS5uYW1lID0gY2FwdGlvbjtcclxuICAgIGhvdmVyQ29tcG9uZW50UmVmLmluc3RhbmNlLnRhcmdldEVsZW1lbnQgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGhvdmVyRWxlbWVudCA9IGhvdmVyQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChob3ZlckVsZW1lbnQpO1xyXG4gICAgdGhpcy5ob3Zlckl0ZW1zLnB1c2goY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgkZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICBmb3IgKGxldCBob3Zlckl0ZW0gb2YgdGhpcy5ob3Zlckl0ZW1zKSB7XHJcbiAgICAgICAgaG92ZXJJdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ3BsdWdpbi1ob3ZlcicpO1xyXG4gICAgICB9XHJcbiAgICAgICRldmVudC50YXJnZXQuY2xhc3NMaXN0LmFkZCgncGx1Z2luLWhvdmVyJyk7XHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoJGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgJGV2ZW50LnRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdwbHVnaW4taG92ZXInKTtcclxuICAgICAgJGV2ZW50LnRhcmdldC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncGx1Z2luLWhvdmVyJyk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBob3ZlckNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjcmVhdGVBY3RpdmVDb21wb25lbnQoYm94SXRlbTogQm94SXRlbUNvbXBvbmVudCwgaW5kZXg6IG51bWJlciwgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBhbnksIGNvbmZpZzogYW55LCBzaG93Q2xvc2U6IGJvb2xlYW4pOiBhbnkge1xyXG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZjogYW55ID0gYm94SXRlbS5pdGVtSG9zdHMuZ2V0KGluZGV4KT8udmlld0NvbnRhaW5lclJlZjtcclxuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFBsdWdpbkFjdGl2ZUNvbXBvbmVudCk7XHJcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2UubmFtZSA9IGNvbmZpZy5jYXB0aW9uO1xyXG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnNob3dDbG9zZSA9IHNob3dDbG9zZTtcclxuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS50YXJnZXRFbGVtZW50ID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gYWN0aXZlQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChhY3RpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuYWN0aXZlSXRlbXMucHVzaChjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XHJcbiAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGZvciAobGV0IGFjdGl2ZUl0ZW0gb2YgdGhpcy5hY3RpdmVJdGVtcykge1xyXG4gICAgICAgIGFjdGl2ZUl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgncGx1Z2luLWFjdGl2ZScpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2ZUl0ZW1zLmluZGV4T2YoJGV2ZW50LnRhcmdldCkgPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbS5uZXh0KHtib3hJdGVtLCBpbmRleCwgc3R5bGUsIGNvbmZpZzogY29uZmlnLmNvbmZpZ30pO1xyXG4gICAgICAkZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ3BsdWdpbi1hY3RpdmUnKTtcclxuICAgIH0pO1xyXG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1SZW1vdmUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5hY3RpdmVJdGVtLm5leHQoJycpO1xyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vblJlbW92ZSgpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYWN0aXZlQ29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEl0ZW1Db25maWdDb21wb25lbnQoKSB7XHJcbiAgICByZXR1cm4gSXRlbUNvbmZpZ0NvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRJdGVtU3R5bGVDb21wb25lbnQoKSB7XHJcbiAgICByZXR1cm4gSXRlbVN0eWxlQ29tcG9uZW50O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { BoxItemComponent } from './box-item/box-item.component';
3
+ import * as i0 from "@angular/core";
4
+ export class BoxContainerComponent {
5
+ constructor() {
6
+ this.editMode = false;
7
+ this.config = {
8
+ direction: 'row',
9
+ list: [{ type: 'blank', style: {} }]
10
+ };
11
+ }
12
+ ngOnInit() {
13
+ const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);
14
+ const instance = boxItemComponentRef.instance;
15
+ instance.editMode = this.editMode;
16
+ instance.config = this.config;
17
+ instance.control = this.control;
18
+ instance.leaveOneItem?.subscribe((item) => {
19
+ if (item.type === 'item') {
20
+ Object.assign(instance.config, item);
21
+ }
22
+ else {
23
+ instance.config.direction = 'row';
24
+ }
25
+ instance.load();
26
+ });
27
+ }
28
+ }
29
+ BoxContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ BoxContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxContainerComponent, selector: "rs-box-container", inputs: { editMode: "editMode", config: "config", control: "control" }, viewQueries: [{ propertyName: "boxContainerContent", first: true, predicate: ["boxContainerContent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:auto;position:relative;display:flex;overflow:auto}\n"] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'rs-box-container', template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:auto;position:relative;display:flex;overflow:auto}\n"] }]
34
+ }], propDecorators: { editMode: [{
35
+ type: Input
36
+ }], config: [{
37
+ type: Input
38
+ }], control: [{
39
+ type: Input
40
+ }], boxContainerContent: [{
41
+ type: ViewChild,
42
+ args: ['boxContainerContent', { static: true, read: ViewContainerRef }]
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFRL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQU9FLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsV0FBTSxHQUFRO1lBQ1osU0FBUyxFQUFFLEtBQUs7WUFDaEIsSUFBSSxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztTQUNuQyxDQUFDO0tBb0JIO0lBZkMsUUFBUTtRQUNOLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztRQUM5QyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxRQUFRLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDbkM7WUFDRCxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEExQlUscUJBQXFCO3NHQUFyQixxQkFBcUIsdU9BVXVCLGdCQUFnQiwyQ0NuQnpFLHNEQUNBOzJGRFFhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7OEJBTTVCLFFBQVE7c0JBRFAsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBTU4sT0FBTztzQkFETixLQUFLO2dCQUVvRSxtQkFBbUI7c0JBQTVGLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCb3hJdGVtQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge1VudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycy1ib3gtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JveC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ib3gtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQm94Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgZWRpdE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgZGlyZWN0aW9uOiAncm93JyxcbiAgICBsaXN0OiBbe3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX1dXG4gIH07XG4gIEBJbnB1dCgpXG4gIGNvbnRyb2w/OiBVbnR5cGVkRm9ybUdyb3VwO1xuICBAVmlld0NoaWxkKCdib3hDb250YWluZXJDb250ZW50Jywge3N0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZn0pIGJveENvbnRhaW5lckNvbnRlbnQhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJveEl0ZW1Db21wb25lbnRSZWYgPSB0aGlzLmJveENvbnRhaW5lckNvbnRlbnQuY3JlYXRlQ29tcG9uZW50KEJveEl0ZW1Db21wb25lbnQpO1xuICAgIGNvbnN0IGluc3RhbmNlID0gYm94SXRlbUNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBpbnN0YW5jZS5lZGl0TW9kZSA9IHRoaXMuZWRpdE1vZGU7XG4gICAgaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgaW5zdGFuY2UuY29udHJvbCA9IHRoaXMuY29udHJvbDtcbiAgICBpbnN0YW5jZS5sZWF2ZU9uZUl0ZW0/LnN1YnNjcmliZSgoaXRlbTogYW55KSA9PiB7XG4gICAgICBpZiAoaXRlbS50eXBlID09PSAnaXRlbScpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihpbnN0YW5jZS5jb25maWcsIGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zdGFuY2UuY29uZmlnLmRpcmVjdGlvbiA9ICdyb3cnO1xuICAgICAgfVxuICAgICAgaW5zdGFuY2UubG9hZCgpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICNib3hDb250YWluZXJDb250ZW50PjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,69 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BoxContainerComponent } from './box-container.component';
4
+ import { BoxItemHostDirective } from './box-item/box-item-host.directive';
5
+ import { BoxItemComponent } from './box-item/box-item.component';
6
+ import { DevUIModule } from 'ng-devui';
7
+ import { PluginActiveComponent } from "./plugin-active/plugin-active.component";
8
+ import { PluginHoverComponent } from "./plugin-hover/plugin-hover.component";
9
+ import { DividerComponent } from "./plugin-active/divider/divider.component";
10
+ import { DividerLineComponent } from "./plugin-active/divider/divider-line/divider-line.component";
11
+ import { ItemConfigComponent } from './box-item/item-config/item-config.component';
12
+ import { ItemStyleComponent } from './box-item/item-style/item-style.component';
13
+ import { StyleBlankComponent } from './box-item/item-style/style-blank/style-blank.component';
14
+ import { ItemBlankComponent } from './box-item/item-blank/item-blank.component';
15
+ import { FormsModule } from "@angular/forms";
16
+ import { StyleComponent } from './box-item/item-style/style/style.component';
17
+ import * as i0 from "@angular/core";
18
+ export class BoxContainerModule {
19
+ }
20
+ BoxContainerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ BoxContainerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerModule, declarations: [BoxContainerComponent,
22
+ BoxItemHostDirective,
23
+ BoxItemComponent,
24
+ PluginActiveComponent,
25
+ DividerComponent,
26
+ DividerLineComponent,
27
+ PluginHoverComponent,
28
+ ItemConfigComponent,
29
+ ItemStyleComponent,
30
+ StyleBlankComponent,
31
+ ItemBlankComponent,
32
+ StyleComponent], imports: [CommonModule,
33
+ DevUIModule,
34
+ FormsModule], exports: [BoxContainerComponent,
35
+ ItemConfigComponent,
36
+ ItemStyleComponent] });
37
+ BoxContainerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerModule, imports: [CommonModule,
38
+ DevUIModule,
39
+ FormsModule] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations: [
44
+ BoxContainerComponent,
45
+ BoxItemHostDirective,
46
+ BoxItemComponent,
47
+ PluginActiveComponent,
48
+ DividerComponent,
49
+ DividerLineComponent,
50
+ PluginHoverComponent,
51
+ ItemConfigComponent,
52
+ ItemStyleComponent,
53
+ StyleBlankComponent,
54
+ ItemBlankComponent,
55
+ StyleComponent
56
+ ],
57
+ imports: [
58
+ CommonModule,
59
+ DevUIModule,
60
+ FormsModule
61
+ ],
62
+ exports: [
63
+ BoxContainerComponent,
64
+ ItemConfigComponent,
65
+ ItemStyleComponent
66
+ ]
67
+ }]
68
+ }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWNvbnRhaW5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1jb250YWluZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDakcsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDNUYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7QUE0QjNFLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkF4QjNCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsY0FBYyxhQUdkLFlBQVk7UUFDWixXQUFXO1FBQ1gsV0FBVyxhQUdYLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsa0JBQWtCO2dIQUdULGtCQUFrQixZQVYzQixZQUFZO1FBQ1osV0FBVztRQUNYLFdBQVc7MkZBUUYsa0JBQWtCO2tCQTFCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtCb3hDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vYm94LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0JveEl0ZW1Ib3N0RGlyZWN0aXZlfSBmcm9tICcuL2JveC1pdGVtL2JveC1pdGVtLWhvc3QuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtCb3hJdGVtQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGV2VUlNb2R1bGV9IGZyb20gJ25nLWRldnVpJztcclxuaW1wb3J0IHtQbHVnaW5BY3RpdmVDb21wb25lbnR9IGZyb20gXCIuL3BsdWdpbi1hY3RpdmUvcGx1Z2luLWFjdGl2ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtQbHVnaW5Ib3ZlckNvbXBvbmVudH0gZnJvbSBcIi4vcGx1Z2luLWhvdmVyL3BsdWdpbi1ob3Zlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEaXZpZGVyQ29tcG9uZW50fSBmcm9tIFwiLi9wbHVnaW4tYWN0aXZlL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEaXZpZGVyTGluZUNvbXBvbmVudH0gZnJvbSBcIi4vcGx1Z2luLWFjdGl2ZS9kaXZpZGVyL2RpdmlkZXItbGluZS9kaXZpZGVyLWxpbmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7SXRlbUNvbmZpZ0NvbXBvbmVudH0gZnJvbSAnLi9ib3gtaXRlbS9pdGVtLWNvbmZpZy9pdGVtLWNvbmZpZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge0l0ZW1TdHlsZUNvbXBvbmVudH0gZnJvbSAnLi9ib3gtaXRlbS9pdGVtLXN0eWxlL2l0ZW0tc3R5bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdHlsZUJsYW5rQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2l0ZW0tc3R5bGUvc3R5bGUtYmxhbmsvc3R5bGUtYmxhbmsuY29tcG9uZW50JztcclxuaW1wb3J0IHtJdGVtQmxhbmtDb21wb25lbnR9IGZyb20gJy4vYm94LWl0ZW0vaXRlbS1ibGFuay9pdGVtLWJsYW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1N0eWxlQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2l0ZW0tc3R5bGUvc3R5bGUvc3R5bGUuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBCb3hDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBCb3hJdGVtSG9zdERpcmVjdGl2ZSxcclxuICAgIEJveEl0ZW1Db21wb25lbnQsXHJcbiAgICBQbHVnaW5BY3RpdmVDb21wb25lbnQsXHJcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgRGl2aWRlckxpbmVDb21wb25lbnQsXHJcbiAgICBQbHVnaW5Ib3ZlckNvbXBvbmVudCxcclxuICAgIEl0ZW1Db25maWdDb21wb25lbnQsXHJcbiAgICBJdGVtU3R5bGVDb21wb25lbnQsXHJcbiAgICBTdHlsZUJsYW5rQ29tcG9uZW50LFxyXG4gICAgSXRlbUJsYW5rQ29tcG9uZW50LFxyXG4gICAgU3R5bGVDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIERldlVJTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEJveENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIEl0ZW1Db25maWdDb21wb25lbnQsXHJcbiAgICBJdGVtU3R5bGVDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb3hDb250YWluZXJNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BoxItemHostDirective {
4
+ constructor(el, viewContainerRef) {
5
+ this.el = el;
6
+ this.viewContainerRef = viewContainerRef;
7
+ this.el.nativeElement.hostId = this.hostId;
8
+ }
9
+ }
10
+ BoxItemHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemHostDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
11
+ BoxItemHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: { hostId: "hostId" }, ngImport: i0 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemHostDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[rsBoxItemHost]'
16
+ }]
17
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { hostId: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0taG9zdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLWhvc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQzs7QUFLN0UsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUFvQixFQUFjLEVBQVMsZ0JBQWtDO1FBQXpELE9BQUUsR0FBRixFQUFFLENBQVk7UUFBUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzNFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUM7O2lIQU5VLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7Z0lBR0MsTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JzQm94SXRlbUhvc3RdJ1xufSlcbmV4cG9ydCBjbGFzcyBCb3hJdGVtSG9zdERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpXG4gIGhvc3RJZDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lmhvc3RJZCA9IHRoaXMuaG9zdElkO1xuICB9XG59XG4iXX0=