@worktile/theia 15.1.3 → 15.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/contextmenu/contextmenu.component.d.ts +1 -0
- package/components/index.scss +0 -1
- package/constants/color-select.d.ts +0 -11
- package/core/toolbar-item/base-toolbar-item.d.ts +1 -1
- package/editor.component.d.ts +1 -0
- package/editor.module.d.ts +61 -63
- package/esm2020/components/contextmenu/contextmenu.component.mjs +12 -3
- package/esm2020/constants/color-select.mjs +1 -60
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +2 -2
- package/esm2020/core/with-theia.mjs +2 -1
- package/esm2020/editor.component.mjs +12 -4
- package/esm2020/editor.module.mjs +1 -4
- package/esm2020/interfaces/editor.mjs +1 -1
- package/esm2020/plugins/color/color.editor.mjs +2 -19
- package/esm2020/plugins/color/toolbar-item.component.mjs +17 -13
- package/esm2020/plugins/common/common.plugin.mjs +30 -1
- package/esm2020/plugins/table/components/table.component.mjs +26 -26
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +5 -15
- package/esm2020/plugins/table/table.types.mjs +1 -1
- package/esm2020/plugins/table/utils/cell-position.mjs +4 -1
- package/esm2020/plugins/table/utils/set-cells-background-color.mjs +22 -0
- package/esm2020/services/table-contextmenu.service.mjs +10 -31
- package/esm2020/utils/color-picker.mjs +7 -1
- package/fesm2015/worktile-theia.mjs +140 -326
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +139 -325
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +1 -0
- package/package.json +1 -1
- package/plugins/color/color.editor.d.ts +0 -1
- package/plugins/color/toolbar-item.component.d.ts +3 -4
- package/plugins/common/common.plugin.d.ts +1 -0
- package/plugins/table/components/table.component.d.ts +2 -5
- package/plugins/table/table.types.d.ts +1 -1
- package/plugins/table/utils/set-cells-background-color.d.ts +3 -0
- package/services/table-contextmenu.service.d.ts +1 -3
- package/utils/color-picker.d.ts +2 -0
- package/components/color-select/color-select.component.d.ts +0 -32
- package/components/color-select/color-select.component.scss +0 -109
- package/esm2020/components/color-select/color-select.component.mjs +0 -109
- package/esm2020/services/color-select.service.mjs +0 -63
- package/services/color-select.service.d.ts +0 -21
package/interfaces/editor.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface TheEditor extends AngularEditor, HistoryEditor {
|
|
|
18
18
|
pluginsByKey: OverrideByKey;
|
|
19
19
|
nestedStructureByKey: NestedStructureByKey;
|
|
20
20
|
extraElementOptions: ElementOptionsInfo[];
|
|
21
|
+
globalMousedown: (event: MouseEvent) => void;
|
|
21
22
|
renderElement: (element: Element) => ViewType;
|
|
22
23
|
renderLeaf: (text: Text) => ViewType;
|
|
23
24
|
isContainer: (element: Element) => boolean;
|
package/package.json
CHANGED
|
@@ -4,5 +4,4 @@ import { MarkTypes } from '../../constants/node-types';
|
|
|
4
4
|
export declare const ColorEditor: {
|
|
5
5
|
getActiveColor(editor: Editor, type: MarkTypes.color | MarkTypes.backgroundColor): string;
|
|
6
6
|
setColor(editor: Editor, color: ColorType, type: MarkTypes.color | MarkTypes.backgroundColor): void;
|
|
7
|
-
selectColor(editor: Editor, type: MarkTypes.color | MarkTypes.backgroundColor): void;
|
|
8
7
|
};
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import { ThyPopoverRef } from 'ngx-tethys/popover';
|
|
3
2
|
import { MarkTypes } from '../../constants/node-types';
|
|
4
|
-
import { TheColorSelectComponent } from '../../components/color-select/color-select.component';
|
|
5
3
|
import { TheBaseToolbarItem } from '../../core/toolbar-item/base-toolbar-item';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
export declare class TheColorToolbarItemComponent extends TheBaseToolbarItem implements OnInit {
|
|
8
|
-
colorSelectRef: ThyPopoverRef<TheColorSelectComponent>;
|
|
9
6
|
defaultColorLine: string;
|
|
10
7
|
defaultBackgroundColorLine: string;
|
|
11
|
-
get isOpenColorSelect(): TheColorSelectComponent;
|
|
12
8
|
selectedColor: string;
|
|
13
9
|
get type(): MarkTypes.color | MarkTypes.backgroundColor;
|
|
10
|
+
constructor();
|
|
14
11
|
ngOnInit(): void;
|
|
12
|
+
selectionChange(): void;
|
|
13
|
+
setSelectedColor(): void;
|
|
15
14
|
preventDefault(event: Event): void;
|
|
16
15
|
changeColor(value: string): void;
|
|
17
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<TheColorToolbarItemComponent, never>;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
+
export declare const withInternalCommon: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
|
|
1
2
|
export declare const createCommonPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, {}>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, {}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit, ElementRef, OnDestroy, ChangeDetectorRef, NgZone, AfterViewInit, Renderer2, QueryList } from '@angular/core';
|
|
2
|
-
import { Subject
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
3
|
import { Editor } from 'slate';
|
|
4
4
|
import { TheBaseElementComponent, ThePluginOption, TheModeConfig } from '../../../interfaces';
|
|
5
5
|
import { TableCellElement, TableElement } from '../../../custom-types';
|
|
@@ -10,7 +10,6 @@ import { TableService } from '../table.service';
|
|
|
10
10
|
import { ThePluginTableOption, TheTableColumn } from '../table.types';
|
|
11
11
|
import { TableFreezeColumnPipe, TableFreezeRowPipe } from '../table.pipe';
|
|
12
12
|
import { TheContextService } from '../../../services/context.service';
|
|
13
|
-
import { TheColorSelectService } from '../../../services/color-select.service';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
15
14
|
export declare class TheTableComponent extends TheBaseElementComponent<TableElement, Editor> implements OnInit, AfterViewInit, OnDestroy {
|
|
16
15
|
eventDispatcher: TableCellEventDispatcher;
|
|
@@ -25,7 +24,6 @@ export declare class TheTableComponent extends TheBaseElementComponent<TableElem
|
|
|
25
24
|
private renderer;
|
|
26
25
|
private contextService;
|
|
27
26
|
private config;
|
|
28
|
-
private colorSelectService;
|
|
29
27
|
headerRow: boolean;
|
|
30
28
|
isSelectedAllCell: boolean;
|
|
31
29
|
destroy$: Subject<void>;
|
|
@@ -44,7 +42,6 @@ export declare class TheTableComponent extends TheBaseElementComponent<TableElem
|
|
|
44
42
|
isLeftShadow: boolean;
|
|
45
43
|
previousScrollContainer: string;
|
|
46
44
|
printColumns: TheTableColumn[];
|
|
47
|
-
documentMousedown$: Subscription;
|
|
48
45
|
get columns(): TheTableColumn[];
|
|
49
46
|
get nativeElement(): HTMLElement;
|
|
50
47
|
get tbodyNativeElement(): HTMLElement;
|
|
@@ -61,7 +58,7 @@ export declare class TheTableComponent extends TheBaseElementComponent<TableElem
|
|
|
61
58
|
rowControlsButtonWrapper: QueryList<ElementRef<HTMLElement>>;
|
|
62
59
|
handleMousedown(event: MouseEvent): void;
|
|
63
60
|
onContextChange(): void;
|
|
64
|
-
constructor(elementRef: ElementRef<HTMLElement>, eventDispatcher: TableCellEventDispatcher, resizeNotifier: ColumnResizeNotifierSource, tableStore: TableStore, cdr: ChangeDetectorRef, ngZone: NgZone, tableService: TableService, theTableContextMenuService: TheTableContextMenuService, freezeColumnPipe: TableFreezeColumnPipe, freezeRowPipe: TableFreezeRowPipe, renderer: Renderer2, contextService: TheContextService, config: TheModeConfig
|
|
61
|
+
constructor(elementRef: ElementRef<HTMLElement>, eventDispatcher: TableCellEventDispatcher, resizeNotifier: ColumnResizeNotifierSource, tableStore: TableStore, cdr: ChangeDetectorRef, ngZone: NgZone, tableService: TableService, theTableContextMenuService: TheTableContextMenuService, freezeColumnPipe: TableFreezeColumnPipe, freezeRowPipe: TableFreezeRowPipe, renderer: Renderer2, contextService: TheContextService, config: TheModeConfig);
|
|
65
62
|
ngOnInit(): void;
|
|
66
63
|
/**
|
|
67
64
|
* 打印模式下,按照原宽度比例基于当前表格宽度计算列宽
|
|
@@ -48,7 +48,7 @@ export interface MenuEntity {
|
|
|
48
48
|
count?: number;
|
|
49
49
|
backgroundColor?: string;
|
|
50
50
|
actionHandle: (entity: MenuEntity) => void;
|
|
51
|
-
activeHandle?: (event: MouseEvent) => void;
|
|
51
|
+
activeHandle?: (event: MouseEvent, entity?: MenuEntity) => void;
|
|
52
52
|
deactivateHandle?: (event: MouseEvent) => void;
|
|
53
53
|
}
|
|
54
54
|
export declare enum FullscreenState {
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { NgZone } from '@angular/core';
|
|
2
2
|
import { ThyPopoverRef, ThyPopover } from 'ngx-tethys/popover';
|
|
3
|
-
import { TheColorSelectService } from './color-select.service';
|
|
4
3
|
import { TableStore } from '../plugins/table/table.store';
|
|
5
4
|
import { MenuEntity } from '../plugins/table/table.types';
|
|
6
5
|
import { TheContextMenuComponent } from '../components/contextmenu/contextmenu.component';
|
|
7
6
|
import { TheContextService } from './context.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export declare class TheTableContextMenuService {
|
|
10
|
-
private colorSelectService;
|
|
11
9
|
private tableStore;
|
|
12
10
|
private thyPopover;
|
|
13
11
|
private ngZone;
|
|
@@ -16,7 +14,7 @@ export declare class TheTableContextMenuService {
|
|
|
16
14
|
get isOpened(): TheContextMenuComponent;
|
|
17
15
|
get editor(): import("@worktile/theia").TheEditor;
|
|
18
16
|
get backgroundColor(): string;
|
|
19
|
-
constructor(
|
|
17
|
+
constructor(tableStore: TableStore, thyPopover: ThyPopover, ngZone: NgZone, theContextService: TheContextService);
|
|
20
18
|
menuEntities: MenuEntity[];
|
|
21
19
|
getSelectedCell(): {
|
|
22
20
|
row: number;
|
package/utils/color-picker.d.ts
CHANGED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { ThyPopoverRef } from 'ngx-tethys/popover';
|
|
3
|
-
import { ColorType, ColorSelectOption } from '../../constants/color-select';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TheColorSelectComponent implements OnInit {
|
|
6
|
-
private popoverRef;
|
|
7
|
-
selectedColor: string;
|
|
8
|
-
selectAction: (color: ColorType) => void;
|
|
9
|
-
showCustom: boolean;
|
|
10
|
-
colors: string[];
|
|
11
|
-
option: ColorSelectOption;
|
|
12
|
-
color: string;
|
|
13
|
-
customColor: string;
|
|
14
|
-
selectColors: {
|
|
15
|
-
rowValue: {
|
|
16
|
-
value: string;
|
|
17
|
-
classMaps: object;
|
|
18
|
-
}[];
|
|
19
|
-
tickColor: string;
|
|
20
|
-
}[];
|
|
21
|
-
handleDocumentMouseDown(event: MouseEvent): void;
|
|
22
|
-
constructor(popoverRef: ThyPopoverRef<TheColorSelectComponent>);
|
|
23
|
-
ngOnInit(): void;
|
|
24
|
-
handleMouseDown(event: MouseEvent): void;
|
|
25
|
-
handleKeydown(event: MouseEvent): void;
|
|
26
|
-
buildColors(): void;
|
|
27
|
-
_selectColor(event: MouseEvent, color: string): void;
|
|
28
|
-
colorChange(isEnter: boolean): void;
|
|
29
|
-
customInputColorEnter(event: KeyboardEvent): void;
|
|
30
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TheColorSelectComponent, never>;
|
|
31
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TheColorSelectComponent, "the-color-select", never, { "selectedColor": "selectedColor"; "selectAction": "selectAction"; "showCustom": "showCustom"; "colors": "colors"; "option": "option"; }, {}, never, never, false, never>;
|
|
32
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
@use 'ngx-tethys/styles/variables.scss';
|
|
2
|
-
|
|
3
|
-
.color-container {
|
|
4
|
-
padding: 15px;
|
|
5
|
-
line-height: 0;
|
|
6
|
-
background: variables.$white;
|
|
7
|
-
border-radius: 4px;
|
|
8
|
-
.colors {
|
|
9
|
-
position: relative;
|
|
10
|
-
display: block;
|
|
11
|
-
|
|
12
|
-
thy-icon {
|
|
13
|
-
position: absolute;
|
|
14
|
-
top: 50%;
|
|
15
|
-
left: 50%;
|
|
16
|
-
display: none;
|
|
17
|
-
color: variables.$white;
|
|
18
|
-
font-size: 12px;
|
|
19
|
-
transform: translate(-50%, -50%);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.color-item {
|
|
23
|
-
thy-icon {
|
|
24
|
-
color: variables.$white;
|
|
25
|
-
}
|
|
26
|
-
&.white span {
|
|
27
|
-
border: 1px solid variables.$gray-100;
|
|
28
|
-
thy-icon {
|
|
29
|
-
color: variables.$gray-500;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.color-item.selected thy-icon {
|
|
35
|
-
display: block;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.color-item {
|
|
40
|
-
position: relative;
|
|
41
|
-
display: inline-block;
|
|
42
|
-
margin-right: 5px;
|
|
43
|
-
margin-bottom: 5px;
|
|
44
|
-
padding: 2px;
|
|
45
|
-
border: 1px solid transparent;
|
|
46
|
-
border-radius: 2px;
|
|
47
|
-
cursor: pointer;
|
|
48
|
-
|
|
49
|
-
> span {
|
|
50
|
-
position: relative;
|
|
51
|
-
display: block;
|
|
52
|
-
width: 20px;
|
|
53
|
-
height: 20px;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
&.special-color::after {
|
|
57
|
-
position: absolute;
|
|
58
|
-
top: 11px;
|
|
59
|
-
left: 0;
|
|
60
|
-
display: block;
|
|
61
|
-
width: 24px;
|
|
62
|
-
height: 0;
|
|
63
|
-
border-bottom: 2px solid #ff0100;
|
|
64
|
-
-webkit-transform: rotate(45deg);
|
|
65
|
-
transform: rotate(45deg);
|
|
66
|
-
content: '';
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
&:hover {
|
|
70
|
-
border: 1px solid variables.$gray-300;
|
|
71
|
-
box-shadow: 0 2px 4px 0 rgba(variables.$black, 0.08);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.select-color {
|
|
76
|
-
display: flex;
|
|
77
|
-
align-items: center;
|
|
78
|
-
justify-content: center;
|
|
79
|
-
margin-top: 15px;
|
|
80
|
-
|
|
81
|
-
.color {
|
|
82
|
-
position: relative;
|
|
83
|
-
display: inline-block;
|
|
84
|
-
width: 20px;
|
|
85
|
-
height: 20px;
|
|
86
|
-
margin-right: 5px;
|
|
87
|
-
border: 1px solid variables.$gray-400;
|
|
88
|
-
border-radius: 2px;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.value {
|
|
92
|
-
display: inline-block;
|
|
93
|
-
width: 63px;
|
|
94
|
-
height: 20px;
|
|
95
|
-
margin-left: 5px;
|
|
96
|
-
padding: 0;
|
|
97
|
-
font-size: 12px;
|
|
98
|
-
letter-spacing: 0;
|
|
99
|
-
text-align: justify;
|
|
100
|
-
text-indent: 10px;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.color-select-container {
|
|
106
|
-
.thy-popover-container {
|
|
107
|
-
min-width: auto;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy, HostListener } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "ngx-tethys/popover";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "@angular/forms";
|
|
6
|
-
import * as i4 from "ngx-tethys/icon";
|
|
7
|
-
import * as i5 from "ngx-tethys/input";
|
|
8
|
-
export class TheColorSelectComponent {
|
|
9
|
-
handleDocumentMouseDown(event) {
|
|
10
|
-
if (!document.querySelector('.color-container').contains(event.target)) {
|
|
11
|
-
this.popoverRef.close();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
constructor(popoverRef) {
|
|
15
|
-
this.popoverRef = popoverRef;
|
|
16
|
-
this.showCustom = true;
|
|
17
|
-
this.selectColors = [];
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
if (this.selectedColor) {
|
|
21
|
-
this.customColor = this.selectedColor.slice(1);
|
|
22
|
-
}
|
|
23
|
-
this.buildColors();
|
|
24
|
-
}
|
|
25
|
-
handleMouseDown(event) {
|
|
26
|
-
event.stopPropagation();
|
|
27
|
-
}
|
|
28
|
-
handleKeydown(event) {
|
|
29
|
-
event.stopPropagation();
|
|
30
|
-
}
|
|
31
|
-
buildColors() {
|
|
32
|
-
const rows = parseInt((this.colors.length / this.option.perRowColorNumbers).toFixed(0), 10);
|
|
33
|
-
for (let i = 0; i < rows; i++) {
|
|
34
|
-
this.selectColors.push({
|
|
35
|
-
rowValue: [
|
|
36
|
-
...this.colors.slice(i * this.option.perRowColorNumbers, (i + 1) * this.option.perRowColorNumbers).map(color => {
|
|
37
|
-
return {
|
|
38
|
-
value: color,
|
|
39
|
-
classMaps: {
|
|
40
|
-
selected: color === this.selectedColor,
|
|
41
|
-
white: color === '#FFFFFF',
|
|
42
|
-
'mr-0': i === this.option.perRowColorNumbers - 1,
|
|
43
|
-
'mb-0': i === this.selectColors.length - 1,
|
|
44
|
-
'special-color': color === this.option.specialColor
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
})
|
|
48
|
-
],
|
|
49
|
-
tickColor: this.option.rowOptions && this.option.rowOptions[i + 1]
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
_selectColor(event, color) {
|
|
54
|
-
event.preventDefault();
|
|
55
|
-
event.stopPropagation();
|
|
56
|
-
if (this.option.specialColor && color === this.option.specialColor) {
|
|
57
|
-
color = '';
|
|
58
|
-
}
|
|
59
|
-
this.selectedColor = color;
|
|
60
|
-
this.selectAction(this.selectedColor);
|
|
61
|
-
this.popoverRef.close();
|
|
62
|
-
}
|
|
63
|
-
colorChange(isEnter) {
|
|
64
|
-
this.customColor = this.customColor.toLocaleUpperCase();
|
|
65
|
-
this.selectedColor = '#' + this.customColor;
|
|
66
|
-
if (this.customColor.length === 3) {
|
|
67
|
-
this.selectedColor = '#' + this.customColor.replace(/(.)/g, '$1$1');
|
|
68
|
-
}
|
|
69
|
-
if (this.selectedColor.length === 7 && this.selectedColor !== this.option.specialColor) {
|
|
70
|
-
this.selectColors = [];
|
|
71
|
-
this.buildColors();
|
|
72
|
-
}
|
|
73
|
-
if (isEnter) {
|
|
74
|
-
this.selectAction(this.selectedColor);
|
|
75
|
-
this.popoverRef.close();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
customInputColorEnter(event) {
|
|
79
|
-
event.stopPropagation();
|
|
80
|
-
this.selectAction(this.selectedColor);
|
|
81
|
-
this.popoverRef.close();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
TheColorSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectComponent, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
-
TheColorSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TheColorSelectComponent, selector: "the-color-select", inputs: { selectedColor: "selectedColor", selectAction: "selectAction", showCustom: "showCustom", colors: "colors", option: "option" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)", "keydown": "handleKeydown($event)" } }, ngImport: i0, template: "<div class=\"color-container\">\n <div class=\"colors\">\n <div *ngFor=\"let row of selectColors; let rowIndex = index\">\n <span\n class=\"color-item\"\n *ngFor=\"let _color of row.rowValue; let i = index\"\n [ngClass]=\"_color.classMaps\"\n (mousedown)=\"_selectColor($event, _color.value)\"\n >\n <span [ngStyle]=\"{ background: _color.value }\">\n <thy-icon thyIconName=\"check\" [ngStyle]=\"{ color: row.tickColor }\"></thy-icon>\n </span>\n </span>\n </div>\n </div>\n <div *ngIf=\"option.showCustom\" class=\"select-color\">\n <span class=\"color\" [ngStyle]=\"{ background: selectedColor }\"></span>\n #\n <input\n thyInput\n maxlength=\"6\"\n (keydown.enter)=\"customInputColorEnter($event)\"\n onkeyup=\"value=value.replace(/[^0-9A-Fa-f]/g,'')\"\n class=\"value\"\n [(ngModel)]=\"customColor\"\n (ngModelChange)=\"colorChange(false)\"\n />\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i5.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectComponent, decorators: [{
|
|
87
|
-
type: Component,
|
|
88
|
-
args: [{ selector: 'the-color-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"color-container\">\n <div class=\"colors\">\n <div *ngFor=\"let row of selectColors; let rowIndex = index\">\n <span\n class=\"color-item\"\n *ngFor=\"let _color of row.rowValue; let i = index\"\n [ngClass]=\"_color.classMaps\"\n (mousedown)=\"_selectColor($event, _color.value)\"\n >\n <span [ngStyle]=\"{ background: _color.value }\">\n <thy-icon thyIconName=\"check\" [ngStyle]=\"{ color: row.tickColor }\"></thy-icon>\n </span>\n </span>\n </div>\n </div>\n <div *ngIf=\"option.showCustom\" class=\"select-color\">\n <span class=\"color\" [ngStyle]=\"{ background: selectedColor }\"></span>\n #\n <input\n thyInput\n maxlength=\"6\"\n (keydown.enter)=\"customInputColorEnter($event)\"\n onkeyup=\"value=value.replace(/[^0-9A-Fa-f]/g,'')\"\n class=\"value\"\n [(ngModel)]=\"customColor\"\n (ngModelChange)=\"colorChange(false)\"\n />\n </div>\n</div>\n" }]
|
|
89
|
-
}], ctorParameters: function () { return [{ type: i1.ThyPopoverRef }]; }, propDecorators: { selectedColor: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], selectAction: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], showCustom: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], colors: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], option: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], handleDocumentMouseDown: [{
|
|
100
|
-
type: HostListener,
|
|
101
|
-
args: ['document: mousedown', ['$event']]
|
|
102
|
-
}], handleMouseDown: [{
|
|
103
|
-
type: HostListener,
|
|
104
|
-
args: ['mousedown', ['$event']]
|
|
105
|
-
}], handleKeydown: [{
|
|
106
|
-
type: HostListener,
|
|
107
|
-
args: ['keydown', ['$event']]
|
|
108
|
-
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2NvbG9yLXNlbGVjdC9jb2xvci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29sb3Itc2VsZWN0L2NvbG9yLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTaEcsTUFBTSxPQUFPLHVCQUF1QjtJQWtCaEMsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELFlBQW9CLFVBQWtEO1FBQWxELGVBQVUsR0FBVixVQUFVLENBQXdDO1FBbkI3RCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBVTNCLGlCQUFZLEdBQThFLEVBQUUsQ0FBQztJQVNwQixDQUFDO0lBRTFFLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQWlCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBR0QsYUFBYSxDQUFDLEtBQWlCO1FBQzNCLEtBQUssQ0FB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Q0FBQyxhQUFhLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUNELHFCQUFxQixDQUFDLEtBQW9CO1FBQ3RDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7O29IQWhHUSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwrVkNUcEMsaStCQTZCQTsyRkRwQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNO29HQUd0QyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQVNOLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFpQi9DLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXJDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgQ29sb3JUeXBlLCBDb2xvclNlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb2xvci1zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1jb2xvci1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnY29sb3Itc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDb2xvcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2VsZWN0QWN0aW9uOiAoY29sb3I6IENvbG9yVHlwZSkgPT4gdm9pZDtcblxuICAgIEBJbnB1dCgpIHNob3dDdXN0b20gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgY29sb3JzOiBzdHJpbmdbXTtcblxuICAgIEBJbnB1dCgpIG9wdGlvbjogQ29sb3JTZWxlY3RPcHRpb247XG5cbiAgICBjb2xvcjogc3RyaW5nO1xuXG4gICAgY3VzdG9tQ29sb3I6IHN0cmluZztcblxuICAgIHNlbGVjdENvbG9yczogeyByb3dWYWx1ZTogeyB2YWx1ZTogc3RyaW5nOyBjbGFzc01hcHM6IG9iamVjdCB9W107IHRpY2tDb2xvcjogc3RyaW5nIH1bXSA9IFtdO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IG1vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlRG9jdW1lbnRNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY29sb3ItY29udGFpbmVyJykuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8VGhlQ29sb3JTZWxlY3RDb21wb25lbnQ+KSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29sb3IgPSB0aGlzLnNlbGVjdGVkQ29sb3Iuc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbG9ycygpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgYnVpbGRDb2xvcnMoKSB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBwYXJzZUludCgodGhpcy5jb2xvcnMubGVuZ3RoIC8gdGhpcy5vcHRpb24ucGVyUm93Q29sb3JOdW1iZXJzKS50b0ZpeGVkKDApLCAxMCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93czsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdENvbG9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICByb3dWYWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvbG9ycy5zbGljZShpICogdGhpcy5vcHRpb24ucGVyUm93Q29sb3JOdW1iZXJzLCAoaSArIDEpICogdGhpcy5vcHRpb24ucGVyUm93Q29sb3JOdW1iZXJzKS5tYXAoY29sb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NNYXBzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBjb2xvciA9PT0gdGhpcy5zZWxlY3RlZENvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTogY29sb3IgPT09ICcjRkZGRkZGJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21yLTAnOiBpID09PSB0aGlzLm9wdGlvbi5wZXJSb3dDb2xvck51bWJlcnMgLSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWItMCc6IGkgPT09IHRoaXMuc2VsZWN0Q29sb3JzLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcGVjaWFsLWNvbG9yJzogY29sb3IgPT09IHRoaXMub3B0aW9uLnNwZWNpYWxDb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB0aWNrQ29sb3I6IHRoaXMub3B0aW9uLnJvd09wdGlvbnMgJiYgdGhpcy5vcHRpb24ucm93T3B0aW9uc1tpICsgMV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX3NlbGVjdENvbG9yKGV2ZW50OiBNb3VzZUV2ZW50LCBjb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5vcHRpb24uc3BlY2lhbENvbG9yICYmIGNvbG9yID09PSB0aGlzLm9wdGlvbi5zcGVjaWFsQ29sb3IpIHtcbiAgICAgICAgICAgIGNvbG9yID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gY29sb3I7XG4gICAgICAgIHRoaXMuc2VsZWN0QWN0aW9uKHRoaXMuc2VsZWN0ZWRDb2xvcik7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIGNvbG9yQ2hhbmdlKGlzRW50ZXI6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jdXN0b21Db2xvciA9IHRoaXMuY3VzdG9tQ29sb3IudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gJyMnICsgdGhpcy5jdXN0b21Db2xvcjtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tQ29sb3IubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sb3IgPSAnIycgKyB0aGlzLmN1c3RvbUNvbG9yLnJlcGxhY2UoLyguKS9nLCAnJDEkMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sb3IubGVuZ3RoID09PSA3ICYmIHRoaXMuc2VsZWN0ZWRDb2xvciAhPT0gdGhpcy5vcHRpb24uc3BlY2lhbENvbG9yKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdENvbG9ycyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5idWlsZENvbG9ycygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0VudGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEFjdGlvbih0aGlzLnNlbGVjdGVkQ29sb3IpO1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY3VzdG9tSW5wdXRDb2xvckVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdEFjdGlvbih0aGlzLnNlbGVjdGVkQ29sb3IpO1xuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sb3ItY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2xvcnNcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCByb3cgb2Ygc2VsZWN0Q29sb3JzOyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJjb2xvci1pdGVtXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IF9jb2xvciBvZiByb3cucm93VmFsdWU7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJfY29sb3IuY2xhc3NNYXBzXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJfc2VsZWN0Q29sb3IoJGV2ZW50LCBfY29sb3IudmFsdWUpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBfY29sb3IudmFsdWUgfVwiPlxuICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNoZWNrXCIgW25nU3R5bGVdPVwieyBjb2xvcjogcm93LnRpY2tDb2xvciB9XCI+PC90aHktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm9wdGlvbi5zaG93Q3VzdG9tXCIgY2xhc3M9XCJzZWxlY3QtY29sb3JcIj5cbiAgICA8c3BhbiBjbGFzcz1cImNvbG9yXCIgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBzZWxlY3RlZENvbG9yIH1cIj48L3NwYW4+XG4gICAgI1xuICAgIDxpbnB1dFxuICAgICAgdGh5SW5wdXRcbiAgICAgIG1heGxlbmd0aD1cIjZcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiY3VzdG9tSW5wdXRDb2xvckVudGVyKCRldmVudClcIlxuICAgICAgb25rZXl1cD1cInZhbHVlPXZhbHVlLnJlcGxhY2UoL1teMC05QS1GYS1mXS9nLCcnKVwiXG4gICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tQ29sb3JcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29sb3JDaGFuZ2UoZmFsc2UpXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { fromEvent } from 'rxjs';
|
|
3
|
-
import { filter } from 'rxjs/operators';
|
|
4
|
-
import { isColorPanel } from '../utils/color-picker';
|
|
5
|
-
import { TheColorSelectComponent } from '../components/color-select/color-select.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "ngx-tethys/popover";
|
|
8
|
-
export class TheColorSelectService {
|
|
9
|
-
get isOpenColorSelect() {
|
|
10
|
-
return this.colorSelectRef && this.colorSelectRef.componentInstance;
|
|
11
|
-
}
|
|
12
|
-
constructor(thyPopover) {
|
|
13
|
-
this.thyPopover = thyPopover;
|
|
14
|
-
this.backdropClosable = false;
|
|
15
|
-
this.hasBackdrop = false;
|
|
16
|
-
this.insideClosable = false;
|
|
17
|
-
this.placement = 'bottomLeft';
|
|
18
|
-
this.offset = 10;
|
|
19
|
-
}
|
|
20
|
-
toggleColorSelect(origin, selectedColor, colors, option, selectAction, placement, offset) {
|
|
21
|
-
if (this.isOpenColorSelect) {
|
|
22
|
-
this.colorSelectRef.close();
|
|
23
|
-
}
|
|
24
|
-
this.colorSelectRef = this.thyPopover.open(TheColorSelectComponent, {
|
|
25
|
-
initialState: {
|
|
26
|
-
selectedColor,
|
|
27
|
-
selectAction,
|
|
28
|
-
colors,
|
|
29
|
-
option
|
|
30
|
-
},
|
|
31
|
-
origin,
|
|
32
|
-
minWidth: 0,
|
|
33
|
-
backdropClosable: this.backdropClosable,
|
|
34
|
-
placement: placement || this.placement,
|
|
35
|
-
offset: offset !== null ? offset : this.offset,
|
|
36
|
-
hasBackdrop: this.hasBackdrop,
|
|
37
|
-
insideClosable: this.insideClosable,
|
|
38
|
-
panelClass: 'color-select-container',
|
|
39
|
-
originActiveClass: 'active'
|
|
40
|
-
});
|
|
41
|
-
return this.colorSelectRef;
|
|
42
|
-
}
|
|
43
|
-
closeColorSelect() {
|
|
44
|
-
if (this.isOpenColorSelect) {
|
|
45
|
-
this.colorSelectRef.close();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
preventDefaultAndStopPropagation() {
|
|
49
|
-
return fromEvent(document, 'mousedown')
|
|
50
|
-
.pipe(filter(event => {
|
|
51
|
-
return isColorPanel(event.target);
|
|
52
|
-
}))
|
|
53
|
-
.subscribe(event => {
|
|
54
|
-
event.preventDefault();
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
TheColorSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService, deps: [{ token: i1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
-
TheColorSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService, decorators: [{
|
|
61
|
-
type: Injectable
|
|
62
|
-
}], ctorParameters: function () { return [{ type: i1.ThyPopover }]; } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itc2VsZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvc2VydmljZXMvY29sb3Itc2VsZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7OztBQUk1RixNQUFNLE9BQU8scUJBQXFCO0lBYTlCLElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hFLENBQUM7SUFFRCxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBaEIxQyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFpQixZQUFZLENBQUM7UUFFdkMsV0FBTSxHQUFHLEVBQUUsQ0FBQztJQVFpQyxDQUFDO0lBRTlDLGlCQUFpQixDQUNiLE1BQW1CLEVBQ25CLGFBQXdCLEVBQ3hCLE1BQWdCLEVBQ2hCLE1BQXlCLEVBQ3pCLFlBQXdDLEVBQ3hDLFNBQXdCLEVBQ3hCLE1BQWU7UUFFZixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNoRSxZQUFZLEVBQUU7Z0JBQ1YsYUFBYTtnQkFDYixZQUFZO2dCQUNaLE1BQU07Z0JBQ04sTUFBTTthQUNUO1lBQ0QsTUFBTTtZQUNOLFFBQVEsRUFBRSxDQUFDO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxTQUFTLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ3RDLE1BQU0sRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQzlDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLHdCQUF3QjtZQUNwQyxpQkFBaUIsRUFBRSxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxnQ0FBZ0M7UUFDNUIsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQzthQUNsQyxJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1gsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7O2tIQW5FUSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0NvbG9yUGFuZWwgfSBmcm9tICcuLi91dGlscy9jb2xvci1waWNrZXInO1xuaW1wb3J0IHsgVGhlQ29sb3JTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbG9yLXNlbGVjdC9jb2xvci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IENvbG9yVHlwZSwgQ29sb3JTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoZUNvbG9yU2VsZWN0U2VydmljZSB7XG4gICAgYmFja2Ryb3BDbG9zYWJsZSA9IGZhbHNlO1xuXG4gICAgaGFzQmFja2Ryb3AgPSBmYWxzZTtcblxuICAgIGluc2lkZUNsb3NhYmxlID0gZmFsc2U7XG5cbiAgICBwbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICdib3R0b21MZWZ0JztcblxuICAgIG9mZnNldCA9IDEwO1xuXG4gICAgY29sb3JTZWxlY3RSZWY6IFRoeVBvcG92ZXJSZWY8VGhlQ29sb3JTZWxlY3RDb21wb25lbnQ+O1xuXG4gICAgZ2V0IGlzT3BlbkNvbG9yU2VsZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclNlbGVjdFJlZiAmJiB0aGlzLmNvbG9yU2VsZWN0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3Zlcikge31cblxuICAgIHRvZ2dsZUNvbG9yU2VsZWN0KFxuICAgICAgICBvcmlnaW46IEhUTUxFbGVtZW50LFxuICAgICAgICBzZWxlY3RlZENvbG9yOiBDb2xvclR5cGUsXG4gICAgICAgIGNvbG9yczogc3RyaW5nW10sXG4gICAgICAgIG9wdGlvbjogQ29sb3JTZWxlY3RPcHRpb24sXG4gICAgICAgIHNlbGVjdEFjdGlvbjogKGNvbG9yOiBDb2xvclR5cGUpID0+IHZvaWQsXG4gICAgICAgIHBsYWNlbWVudD86IFRoeVBsYWNlbWVudCxcbiAgICAgICAgb2Zmc2V0PzogbnVtYmVyXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbkNvbG9yU2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbG9yU2VsZWN0UmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb2xvclNlbGVjdFJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50LCB7XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yLFxuICAgICAgICAgICAgICAgIHNlbGVjdEFjdGlvbixcbiAgICAgICAgICAgICAgICBjb2xvcnMsXG4gICAgICAgICAgICAgICAgb3B0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0aGlzLmJhY2tkcm9wQ2xvc2FibGUsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCB8fCB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgIG9mZnNldDogb2Zmc2V0ICE9PSBudWxsID8gb2Zmc2V0IDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0aGlzLmluc2lkZUNsb3NhYmxlLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ2NvbG9yLXNlbGVjdC1jb250YWluZXInLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6ICdhY3RpdmUnXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclNlbGVjdFJlZjtcbiAgICB9XG5cbiAgICBjbG9zZUNvbG9yU2VsZWN0KCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW5Db2xvclNlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5jb2xvclNlbGVjdFJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJldmVudERlZmF1bHRBbmRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZWRvd24nKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzQ29sb3JQYW5lbChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ThyPlacement } from 'ngx-tethys/core';
|
|
2
|
-
import { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';
|
|
3
|
-
import { TheColorSelectComponent } from '../components/color-select/color-select.component';
|
|
4
|
-
import { ColorType, ColorSelectOption } from '../constants/color-select';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class TheColorSelectService {
|
|
7
|
-
private thyPopover;
|
|
8
|
-
backdropClosable: boolean;
|
|
9
|
-
hasBackdrop: boolean;
|
|
10
|
-
insideClosable: boolean;
|
|
11
|
-
placement: ThyPlacement;
|
|
12
|
-
offset: number;
|
|
13
|
-
colorSelectRef: ThyPopoverRef<TheColorSelectComponent>;
|
|
14
|
-
get isOpenColorSelect(): TheColorSelectComponent;
|
|
15
|
-
constructor(thyPopover: ThyPopover);
|
|
16
|
-
toggleColorSelect(origin: HTMLElement, selectedColor: ColorType, colors: string[], option: ColorSelectOption, selectAction: (color: ColorType) => void, placement?: ThyPlacement, offset?: number): ThyPopoverRef<TheColorSelectComponent, unknown, unknown>;
|
|
17
|
-
closeColorSelect(): void;
|
|
18
|
-
preventDefaultAndStopPropagation(): import("rxjs").Subscription;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TheColorSelectService, never>;
|
|
20
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TheColorSelectService>;
|
|
21
|
-
}
|