@datarailsshared/datarailsshared 1.3.6 → 1.3.7
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/bundles/datarailsshared-datarailsshared.umd.js +1052 -293
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.3.7.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +2 -0
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/datarailsshared-datarailsshared.js +3 -1
- package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +12 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +83 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +87 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +73 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +34 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +24 -0
- package/esm2015/lib/dr-inputs/button/button.component.js +48 -0
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +8 -3
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.js +47 -0
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker.component.js +119 -0
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +8 -3
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +12 -5
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +9 -4
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +9 -4
- package/esm2015/lib/dr-popover/dr-popover.component.js +61 -0
- package/esm2015/lib/dr-popover/dr-popover.directive.js +72 -0
- package/esm2015/lib/dr-popover/dr-popover.module.js +23 -0
- package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +5 -12
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +5 -106
- package/esm2015/lib/models/constants.js +97 -0
- package/esm2015/lib/models/datePicker.js +37 -0
- package/esm2015/lib/models/dropdown.js +2 -0
- package/esm2015/public-api.js +36 -23
- package/fesm2015/datarailsshared-datarailsshared.js +827 -137
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +5 -0
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +11 -0
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +21 -0
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +18 -0
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +2 -0
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +11 -0
- package/lib/dr-inputs/button/button.component.d.ts +14 -0
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +3 -1
- package/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.d.ts +10 -0
- package/lib/dr-inputs/dr-date-picker/dr-date-picker.component.d.ts +28 -0
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +4 -0
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +1 -0
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
- package/lib/dr-popover/dr-popover.component.d.ts +16 -0
- package/lib/dr-popover/dr-popover.directive.d.ts +20 -0
- package/lib/dr-popover/dr-popover.module.d.ts +2 -0
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +2 -18
- package/lib/models/constants.d.ts +87 -0
- package/lib/models/datePicker.d.ts +21 -0
- package/lib/models/dropdown.d.ts +43 -0
- package/package.json +1 -1
- package/public-api.d.ts +36 -23
- package/datarailsshared-datarailsshared-1.3.6.tgz +0 -0
|
@@ -3,4 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './public-api';
|
|
5
5
|
export { components as ɵa } from './lib/date-tags/date-tag.module';
|
|
6
|
-
|
|
6
|
+
export { POPUP_ANIMATION as ɵb } from './lib/models/constants';
|
|
7
|
+
export { CustomDateFormat as ɵc } from './lib/models/datePicker';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7Y29tcG9uZW50cyBhcyDJtWF9IGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHtQT1BVUF9BTklNQVRJT04gYXMgybVifSBmcm9tICcuL2xpYi9tb2RlbHMvY29uc3RhbnRzJztcbmV4cG9ydCB7Q3VzdG9tRGF0ZUZvcm1hdCBhcyDJtWN9IGZyb20gJy4vbGliL21vZGVscy9kYXRlUGlja2VyJzsiXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class DrDropdownItemShowPipe {
|
|
3
|
+
transform(arr) {
|
|
4
|
+
return arr.filter(item => item.show ? item.show(item.data) : true);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
DrDropdownItemShowPipe.decorators = [
|
|
8
|
+
{ type: Pipe, args: [{
|
|
9
|
+
name: 'drDropdownItemShowPipe'
|
|
10
|
+
},] }
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24taXRlbS1zaG93LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQzs7O1lBTkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSx3QkFBd0I7YUFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdkckRyb3Bkb3duSXRlbVNob3dQaXBlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkl0ZW1TaG93UGlwZTxUPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShhcnI6IElEcm9wZG93bkl0ZW08VD5bXSk6IElEcm9wZG93bkl0ZW08VD5bXSB7XHJcbiAgICByZXR1cm4gYXJyLmZpbHRlcihpdGVtID0+IGl0ZW0uc2hvdyA/IGl0ZW0uc2hvdyhpdGVtLmRhdGEpIDogdHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
|
|
2
|
+
export class DrDropdownPositionDirective {
|
|
3
|
+
constructor(el, renderer) {
|
|
4
|
+
this.el = el;
|
|
5
|
+
this.renderer = renderer;
|
|
6
|
+
this.position = 'left';
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
setTimeout(this.calculatePosition.bind(this), 1);
|
|
10
|
+
}
|
|
11
|
+
calculatePosition() {
|
|
12
|
+
let defaultDelta = 10;
|
|
13
|
+
let defaultPadding = 0;
|
|
14
|
+
if (this.position === 'child') {
|
|
15
|
+
defaultDelta = 0;
|
|
16
|
+
defaultPadding = 10;
|
|
17
|
+
const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();
|
|
18
|
+
this.position = {
|
|
19
|
+
x: this.el.nativeElement.parentElement.parentElement.offsetWidth + 2,
|
|
20
|
+
y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,
|
|
21
|
+
clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,
|
|
22
|
+
clientY: parentRect.y
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
if (typeof this.position === 'string') {
|
|
26
|
+
this.renderer.setStyle(this.el.nativeElement, 'top', this.position === 'bottom' ?
|
|
27
|
+
this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :
|
|
28
|
+
this.drDropdownPosition.y + 'px');
|
|
29
|
+
this.renderer.setStyle(this.el.nativeElement, 'left', this.position === 'right' ?
|
|
30
|
+
this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :
|
|
31
|
+
this.drDropdownPosition.x + 'px');
|
|
32
|
+
const menuHeight = this.el.nativeElement.offsetHeight;
|
|
33
|
+
const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;
|
|
34
|
+
const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;
|
|
35
|
+
const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;
|
|
36
|
+
if (heightMoreWindowBottom) {
|
|
37
|
+
this.position = 'top';
|
|
38
|
+
}
|
|
39
|
+
if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {
|
|
40
|
+
this.position = 'top-left';
|
|
41
|
+
this.renderer.setStyle(this.el.nativeElement, 'transform', 'translate(-100%, calc(-100% + ' + this.drDropdownPosition.height + 'px))');
|
|
42
|
+
}
|
|
43
|
+
if (heightMoreWindowTop && heightMoreWindowBottom) {
|
|
44
|
+
this.position = 'left-center';
|
|
45
|
+
}
|
|
46
|
+
if (this.position === 'bottom-left') {
|
|
47
|
+
this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(-90%, ${this.drDropdownPosition.height + this.drDropdownPosition.height / 2}px)`);
|
|
48
|
+
}
|
|
49
|
+
const className = this.position === 'top' ? 'content-top'
|
|
50
|
+
: this.position === 'top-left' ? 'content-top-left'
|
|
51
|
+
: this.position === 'bottom' ? 'content-bottom'
|
|
52
|
+
: this.position === 'bottom-left' ? 'content-bottom-left'
|
|
53
|
+
: this.position === 'left' ? 'content-left'
|
|
54
|
+
: this.position === 'left-center' ? 'content-left-center'
|
|
55
|
+
: this.position === 'right' ? 'content-right' : '';
|
|
56
|
+
this.renderer.addClass(this.el.nativeElement, className);
|
|
57
|
+
this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const widthMoreWindowRight = window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;
|
|
61
|
+
const deltaWidth = widthMoreWindowRight < 0 ? widthMoreWindowRight : defaultDelta;
|
|
62
|
+
const widthMoreWindowBottom = window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;
|
|
63
|
+
const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;
|
|
64
|
+
this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');
|
|
65
|
+
this.renderer.setStyle(this.el.nativeElement, 'left', (this.position.x + deltaWidth) + 'px');
|
|
66
|
+
this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
DrDropdownPositionDirective.decorators = [
|
|
71
|
+
{ type: Directive, args: [{
|
|
72
|
+
selector: '[drDropdownPosition]'
|
|
73
|
+
},] }
|
|
74
|
+
];
|
|
75
|
+
DrDropdownPositionDirective.ctorParameters = () => [
|
|
76
|
+
{ type: ElementRef },
|
|
77
|
+
{ type: Renderer2 }
|
|
78
|
+
];
|
|
79
|
+
DrDropdownPositionDirective.propDecorators = {
|
|
80
|
+
drDropdownPosition: [{ type: Input }],
|
|
81
|
+
position: [{ type: Input }]
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNaEYsTUFBTSxPQUFPLDJCQUEyQjtJQUtwQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGdEQsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFHN0QsQ0FBQztJQUVELFFBQVE7UUFDSixVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFO1lBQzNCLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDakIsY0FBYyxHQUFHLEVBQUUsQ0FBQztZQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0YsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDWixDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQztnQkFDcEUsQ0FBQyxFQUFFLElBQUksQ0FBQyxF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QUFDO1lBQy9ILE1BQU0sV0FBVyxHQUFHLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNyRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDckU7SUFDTCxDQUFDOzs7WUE1RUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7YUFDbkM7OztZQUxtQixVQUFVO1lBQWlCLFNBQVM7OztpQ0FRbkQsS0FBSzt1QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSURyb3Bkb3duQ29vcmRpbmF0ZSwgRWxQb3NpdGlvbiB9IGZyb20gJy4uL21vZGVscy9kcm9wZG93bic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2RyRHJvcGRvd25Qb3NpdGlvbl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEckRyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpIGRyRHJvcGRvd25Qb3NpdGlvbjtcclxuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiBFbFBvc2l0aW9uIHwgSURyb3Bkb3duQ29vcmRpbmF0ZSA9ICdsZWZ0JztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzZXRUaW1lb3V0KHRoaXMuY2FsY3VsYXRlUG9zaXRpb24uYmluZCh0aGlzKSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlUG9zaXRpb24oKSB7XHJcbiAgICAgICAgbGV0IGRlZmF1bHREZWx0YSA9IDEwO1xyXG4gICAgICAgIGxldCBkZWZhdWx0UGFkZGluZyA9IDA7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnY2hpbGQnKSB7XHJcbiAgICAgICAgICAgIGRlZmF1bHREZWx0YSA9IDA7XHJcbiAgICAgICAgICAgIGRlZmF1bHRQYWRkaW5nID0gMTA7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgeDogdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCArIDIsXHJcbiAgICAgICAgICAgICAgICB5OiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFRvcCAtIDksXHJcbiAgICAgICAgICAgICAgICBjbGllbnRYOiBwYXJlbnRSZWN0LnggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgY2xpZW50WTogcGFyZW50UmVjdC55XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zaXRpb24gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndG9wJyxcclxuICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55IC0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0ICsgJ3B4JyA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55ICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnbGVmdCcsXHJcbiAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JyA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ud2lkdGggKyAncHgnIDpcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggKyAncHgnKTtcclxuICAgICAgICAgICAgY29uc3QgbWVudUhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vcmVXaW5kb3dCb3R0b20gPSBtZW51SGVpZ2h0ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSA+IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgICAgICAgY29uc3QgaGVpZ2h0TW9yZVdpbmRvd1RvcCA9IG1lbnVIZWlnaHQgLSB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0IC8gMiA+IDQ4OyAvLyBoZWFkZXIgaGVpZ2h0O1xyXG4gICAgICAgICAgICBjb25zdCB3aWR0aE1vcmVXaW5kb3dSaWdodCA9IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggKyAyNTAgPiB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgICAgICAgICAgaWYgKGhlaWdodE1vcmVXaW5kb3dCb3R0b20pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAndG9wJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaGVpZ2h0TW9yZVdpbmRvd0JvdHRvbSAmJiB3aWR0aE1vcmVXaW5kb3dSaWdodCAmJiAhaGVpZ2h0TW9yZVdpbmRvd1RvcCB8fCB0aGlzLnBvc2l0aW9uID09PSAndG9wLWxlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gJ3RvcC1sZWZ0JztcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJyxcclxuICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSgtMTAwJSwgY2FsYygtMTAwJSArICcgKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgKyAncHgpKScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChoZWlnaHRNb3JlV2luZG93VG9wICYmIGhlaWdodE1vcmVXaW5kb3dCb3R0b20pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAnbGVmdC1jZW50ZXInO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tLWxlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUoLTkwJSwgJHt0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgLyAyfXB4KWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ2NvbnRlbnQtdG9wJ1xyXG4gICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcC1sZWZ0JyA/ICdjb250ZW50LXRvcC1sZWZ0J1xyXG4gICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyA/ICdjb250ZW50LWJvdHRvbSdcclxuICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tLWxlZnQnID8gJ2NvbnRlbnQtYm90dG9tLWxlZnQnXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcgPyAnY29udGVudC1sZWZ0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdC1jZW50ZXInID8gJ2NvbnRlbnQtbGVmdC1jZW50ZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JyA/ICdjb250ZW50LXJpZ2h0JyA6ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd6LWluZGV4JywgJzEwMDEwJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGhNb3JlV2luZG93UmlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMucG9zaXRpb24uY2xpZW50WCAtIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtIGRlZmF1bHRQYWRkaW5nO1xyXG4gICAgICAgICAgICBjb25zdCBkZWx0YVdpZHRoID0gd2lkdGhNb3JlV2luZG93UmlnaHQgPCAwID8gd2lkdGhNb3JlV2luZG93UmlnaHQgOiBkZWZhdWx0RGVsdGE7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIHRoaXMucG9zaXRpb24uY2xpZW50WSAtIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSBkZWZhdWx0UGFkZGluZztcclxuICAgICAgICAgICAgY29uc3QgZGVsdGFIZWlnaHQgPSB3aWR0aE1vcmVXaW5kb3dCb3R0b20gPCAwID8gd2lkdGhNb3JlV2luZG93Qm90dG9tIDogZGVmYXVsdERlbHRhO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RvcCcsICh0aGlzLnBvc2l0aW9uLnkgKyBkZWx0YUhlaWdodCkgKyAncHgnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgKHRoaXMucG9zaXRpb24ueCArIGRlbHRhV2lkdGgpICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnei1pbmRleCcsICcxMDAxMCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { DrDropdownService } from './dr-dropdown.service';
|
|
3
|
+
export class DrDropdownComponent {
|
|
4
|
+
constructor(menuService, cdr) {
|
|
5
|
+
this.menuService = menuService;
|
|
6
|
+
this.cdr = cdr;
|
|
7
|
+
this.position = 'left';
|
|
8
|
+
}
|
|
9
|
+
set options(data) {
|
|
10
|
+
if (data) {
|
|
11
|
+
this.option = data.option;
|
|
12
|
+
this.position = data.position;
|
|
13
|
+
this.list = data.list || [];
|
|
14
|
+
this.list.forEach(item => {
|
|
15
|
+
var _a;
|
|
16
|
+
if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
|
|
17
|
+
item.childOptions = {
|
|
18
|
+
list: item.children,
|
|
19
|
+
position: 'child'
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
this.cdr.markForCheck();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
onClickedOutside() {
|
|
27
|
+
if (this.firstInit) {
|
|
28
|
+
this.menuService.destroy();
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.firstInit = true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
hide() {
|
|
35
|
+
this.menuService.destroy();
|
|
36
|
+
}
|
|
37
|
+
disabled(act) {
|
|
38
|
+
if (!act.disabled) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
if (typeof act.disabled === 'boolean') {
|
|
42
|
+
return act.disabled;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return act.disabled(act.data);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
tooltipToShow(act) {
|
|
49
|
+
return act.toolTipIfDisabled && this.disabled(act) && act.toolTip
|
|
50
|
+
|| act.toolTip && !act.toolTipIfDisabled ? act.toolTip : act.title;
|
|
51
|
+
}
|
|
52
|
+
action(act) {
|
|
53
|
+
if (!this.disabled(act)) {
|
|
54
|
+
if (act.action) {
|
|
55
|
+
act.action(act.data);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.menuService.actionItem.next({ event: act.event || act.title || 'default', data: act.data });
|
|
59
|
+
}
|
|
60
|
+
this.hide();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
onActionIconClick(actionIcon, data) {
|
|
64
|
+
if (!this.disabled(actionIcon)) {
|
|
65
|
+
actionIcon.action(data);
|
|
66
|
+
this.hide();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
DrDropdownComponent.decorators = [
|
|
71
|
+
{ type: Component, args: [{
|
|
72
|
+
selector: 'dr-dropdown',
|
|
73
|
+
template: "<div #menuContainer\r\n (clickOutside)=\"onClickedOutside()\"\r\n [drDropdownPosition]=\"option\"\r\n [position]=\"position\"\r\n class=\"dr-dropdown\">\r\n <div class=\"dr-dropdown__container\">\r\n <div *ngFor=\"let act of list | drDropdownItemShowPipe\"\r\n (click)=\"action(act)\"\r\n [drTooltip]=\"tooltipToShow(act)\"\r\n [drTooltipPosition]=\"'top'\"\r\n [drTooltipOptions]=\"{ withoutArrow: true }\"\r\n class=\"dr-dropdown__container__item\"\r\n [class.item-disabled]=\"disabled(act)\">\r\n\r\n <i *ngIf=\"act.icon\" [class]=\"act.icon\"></i>\r\n <span class=\"dr-dropdown__container__item__text\">{{act.title}}</span>\r\n <i *ngFor=\"let actionIcon of act.actionIcons\"\r\n [class]=\"actionIcon.icon\"\r\n (click)=\"onActionIconClick(actionIcon, act.data)\"></i>\r\n <i *ngIf=\"act.children?.length\" class=\"dr-icon-arrow-right\"></i>\r\n <dr-dropdown *ngIf=\"act.children?.length\" [options]=\"act.childOptions\"></dr-dropdown>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
74
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
75
|
+
styles: ["::ng-deep .dr-dropdown__container__item .dr-dropdown{visibility:hidden}::ng-deep .dr-dropdown__container__item:hover .dr-dropdown{visibility:visible}.dr-dropdown{position:absolute;z-index:-1;top:0;left:0;width:auto}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;border-radius:4px;box-shadow:0 4px 8px 1px #00000040;padding:8px 0;overflow-y:auto;max-height:60vh}.dr-dropdown__container__item{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}.dr-dropdown__container__item:hover{background-color:#f6f7f8}.dr-dropdown__container__item.item-disabled{color:#bcbcbc;pointer-events:none}.dr-dropdown__container__item i:first-child{margin-right:8px}.dr-dropdown__container__item__text{margin-right:auto}.dr-dropdown__container__item i,.dr-dropdown__container__item__text{color:#151b3f}.dr-dropdown.content-top{transform:translate(-50%,-100%)}.dr-dropdown.content-top-left{transform:translate(-100%,-100%)}.dr-dropdown.content-bottom{transform:translate(-50%,50%)}.dr-dropdown.content-bottom-left{transform:translate(-90%,35%)}.dr-dropdown.content-left{transform:translate(-100%)}.dr-dropdown.content-left-center{transform:translate(-100%,-50%)}.dr-dropdown.content-right{transform:translate(5%)}\n"]
|
|
76
|
+
},] }
|
|
77
|
+
];
|
|
78
|
+
DrDropdownComponent.ctorParameters = () => [
|
|
79
|
+
{ type: DrDropdownService },
|
|
80
|
+
{ type: ChangeDetectorRef }
|
|
81
|
+
];
|
|
82
|
+
DrDropdownComponent.propDecorators = {
|
|
83
|
+
viewMenu: [{ type: ViewChild, args: ['listMenu',] }],
|
|
84
|
+
menuContainer: [{ type: ViewChild, args: ['menuContainer',] }],
|
|
85
|
+
options: [{ type: Input }]
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVExRCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQXNCLFdBQThCLEVBQVUsR0FBc0I7UUFBOUQsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFKcEYsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFLcEQsQ0FBQztJQUVELElBQWEsT0FBTyxDQUFDLElBQW1DO1FBQ3RELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFOztnQkFDdkIsSUFBSSxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLE1BQU0sRUFBRTtvQkFDekIsSUFBSSxDQUFDLFlBQVksR0FBRzt3QkFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUNuQixRQUFRLEVBQUUsT0FBTztxQkFDbEIsQ0FBQztpQkFDSDtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFzRDtRQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUNyQjthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsR0FBMkI7UUFDdkMsT0FBTyxHQUFHLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTztlQUM5RCxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBdUI7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLElBQUksU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQzthQUNoRztZQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQW9DLEVBQUUsSUFBUztRQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM5QixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7O1lBL0VGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsMHBDQUEyQztnQkFFM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFQUSxpQkFBaUI7WUFGUSxpQkFBaUI7Ozt1QkFZaEQsU0FBUyxTQUFDLFVBQVU7NEJBQ3BCLFNBQVMsU0FBQyxlQUFlO3NCQVN6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJRHJvcGRvd25JdGVtLCBFbFBvc2l0aW9uLCBJRHJvcGRvd25BY3Rpb25JY29uLCBJRHJvcGRvd24sIElEcm9wZG93bkNvb3JkaW5hdGV9IGZyb20gJy4uL21vZGVscy9kcm9wZG93bic7XHJcbmltcG9ydCB7IERyRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZHItZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkNvbXBvbmVudCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2xpc3RNZW51Jykgdmlld01lbnU6IEhUTUxFbGVtZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ21lbnVDb250YWluZXInKSBtZW51Q29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICBvcHRpb246IGFueTtcclxuICBwb3NpdGlvbjogRWxQb3NpdGlvbiB8IElEcm9wZG93bkNvb3JkaW5hdGUgPSAnbGVmdCc7XHJcbiAgbGlzdDogSURyb3Bkb3duSXRlbTx1bmtub3duPltdO1xyXG4gIHByaXZhdGUgZmlyc3RJbml0OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWVudVNlcnZpY2U6IERyRHJvcGRvd25TZXJ2aWNlLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBvcHRpb25zKGRhdGE6IElEcm9wZG93bjxJRHJvcGRvd25JdGVtPGFueT4+KSB7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICB0aGlzLm9wdGlvbiA9IGRhdGEub3B0aW9uO1xyXG4gICAgICB0aGlzLnBvc2l0aW9uID0gZGF0YS5wb3NpdGlvbjtcclxuICAgICAgdGhpcy5saXN0ID0gZGF0YS5saXN0IHx8IFtdO1xyXG4gICAgICB0aGlzLmxpc3QuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBpdGVtLmNoaWxkT3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgbGlzdDogaXRlbS5jaGlsZHJlbixcclxuICAgICAgICAgICAgcG9zaXRpb246ICdjaGlsZCdcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrZWRPdXRzaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlyc3RJbml0KSB7XHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maXJzdEluaXQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWVudVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgZGlzYWJsZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+IHwgSURyb3Bkb3duQWN0aW9uSWNvbjxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWFjdC5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIGFjdC5kaXNhYmxlZCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIHJldHVybiBhY3QuZGlzYWJsZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYWN0LmRpc2FibGVkKGFjdC5kYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvb2x0aXBUb1Nob3coYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBhY3QudG9vbFRpcElmRGlzYWJsZWQgJiYgdGhpcy5kaXNhYmxlZChhY3QpICYmIGFjdC50b29sVGlwXHJcbiAgICB8fCBhY3QudG9vbFRpcCAmJiAhYWN0LnRvb2xUaXBJZkRpc2FibGVkID8gYWN0LnRvb2xUaXAgOiBhY3QudGl0bGU7XHJcbiAgfVxyXG5cclxuICBhY3Rpb24oYWN0OiBJRHJvcGRvd25JdGVtPGFueT4pIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZChhY3QpKSB7XHJcbiAgICAgIGlmIChhY3QuYWN0aW9uKSB7XHJcbiAgICAgICAgYWN0LmFjdGlvbihhY3QuZGF0YSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5hY3Rpb25JdGVtLm5leHQoe2V2ZW50OiBhY3QuZXZlbnQgfHwgYWN0LnRpdGxlIHx8ICdkZWZhdWx0JywgZGF0YTogYWN0LmRhdGF9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQWN0aW9uSWNvbkNsaWNrKGFjdGlvbkljb246IElEcm9wZG93bkFjdGlvbkljb248YW55PiwgZGF0YTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoYWN0aW9uSWNvbikpIHtcclxuICAgICAgYWN0aW9uSWNvbi5hY3Rpb24oZGF0YSk7XHJcbiAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ComponentFactoryResolver, Directive, ElementRef, HostListener, Inject, Input, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { DrDropdownComponent } from './dr-dropdown.component';
|
|
4
|
+
import { DrDropdownService } from './dr-dropdown.service';
|
|
5
|
+
export class DrDropdownDirective {
|
|
6
|
+
constructor(componentFactoryResolver, viewContainerRef, service, el, _document) {
|
|
7
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
8
|
+
this.viewContainerRef = viewContainerRef;
|
|
9
|
+
this.service = service;
|
|
10
|
+
this.el = el;
|
|
11
|
+
this._document = _document;
|
|
12
|
+
this.position = 'left';
|
|
13
|
+
}
|
|
14
|
+
elementClick() {
|
|
15
|
+
const option = this.el.nativeElement.getBoundingClientRect();
|
|
16
|
+
this._document.querySelectorAll('dr-dropdown').forEach(item => item.remove());
|
|
17
|
+
if (this.contentCmpRef && this.contentCmpRef.destroyCbs) {
|
|
18
|
+
this.contentCmpRef.destroy();
|
|
19
|
+
this.contentCmpRef = null;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.service.destroy();
|
|
23
|
+
this.showMenu({
|
|
24
|
+
option,
|
|
25
|
+
position: this.position,
|
|
26
|
+
list: this.drDropdown,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
documentClick(e) {
|
|
31
|
+
const menuItem = e.target.classList;
|
|
32
|
+
if (menuItem.contains('dr-dropdown__container__item') || menuItem.contains('dr-dropdown__container__item__text')) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const elems = this._document.querySelectorAll('dr-dropdown');
|
|
36
|
+
if (!e.target.contains(this.el.nativeElement) && this.contentCmpRef || elems.length && !e.target.contains(this.el.nativeElement)) {
|
|
37
|
+
setTimeout(() => elems.forEach(item => item.remove()), 100);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
showMenu(options) {
|
|
41
|
+
let componentFactory;
|
|
42
|
+
componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrDropdownComponent);
|
|
43
|
+
this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);
|
|
44
|
+
this.service.addMenu = this.contentCmpRef;
|
|
45
|
+
this._document.querySelector('nb-layout').appendChild(this.contentCmpRef.location.nativeElement);
|
|
46
|
+
this.contentCmpRef.instance.options = options;
|
|
47
|
+
}
|
|
48
|
+
ngOnDestroy() {
|
|
49
|
+
if (this.contentCmpRef) {
|
|
50
|
+
this.contentCmpRef.destroy();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
DrDropdownDirective.decorators = [
|
|
55
|
+
{ type: Directive, args: [{
|
|
56
|
+
selector: '[drDropdown]'
|
|
57
|
+
},] }
|
|
58
|
+
];
|
|
59
|
+
DrDropdownDirective.ctorParameters = () => [
|
|
60
|
+
{ type: ComponentFactoryResolver },
|
|
61
|
+
{ type: ViewContainerRef },
|
|
62
|
+
{ type: DrDropdownService },
|
|
63
|
+
{ type: ElementRef },
|
|
64
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
65
|
+
];
|
|
66
|
+
DrDropdownDirective.propDecorators = {
|
|
67
|
+
position: [{ type: Input }],
|
|
68
|
+
drDropdown: [{ type: Input }],
|
|
69
|
+
contentCmpRef: [{ type: ViewChild, args: [DrDropdownComponent, { static: true, read: ViewContainerRef },] }],
|
|
70
|
+
elementClick: [{ type: HostListener, args: ['click',] }],
|
|
71
|
+
documentClick: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUsxRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLFlBQW9CLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsT0FBMEIsRUFDMUIsRUFBYyxFQUNJLFNBQWM7UUFKaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDSSxjQUFTLEdBQVQsU0FBUyxDQUFLO1FBUjNDLGFBQVEsR0FBZSxNQUFNLENBQUM7SUFTdkMsQ0FBQztJQUVzQixZQUFZO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNaLE1BQU07Z0JBQ04sUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7SUFFSCxDQUFDO0lBRTZDLGFBQWEsQ0FBQyxDQUFDO1FBQzNELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsb0NBQW9DLENBQUMsRUFBRTtZQUNoSCxPQUFPO1NBQ1I7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDaEksVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsT0FBcUI7UUFDcEMsSUFBSSxnQkFBdUQsQ0FBQztRQUM1RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQzs7O1lBekRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7O1lBakJDLHdCQUF3QjtZQVF4QixnQkFBZ0I7WUFLVCxpQkFBaUI7WUFYeEIsVUFBVTs0Q0EwQkcsTUFBTSxTQUFDLFFBQVE7Ozt1QkFSM0IsS0FBSzt5QkFDTCxLQUFLOzRCQUNMLFNBQVMsU0FBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDOzJCQVNyRSxZQUFZLFNBQUMsT0FBTzs0QkFpQnBCLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeSxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJRHJvcGRvd25JdGVtLCBFbFBvc2l0aW9uLCBJRHJvcGRvd24gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBEckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kci1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEckRyb3Bkb3duU2VydmljZSB9IGZyb20gJy4vZHItZHJvcGRvd24uc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkckRyb3Bkb3duXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBwb3NpdGlvbjogRWxQb3NpdGlvbiA9ICdsZWZ0JztcclxuICBASW5wdXQoKSBkckRyb3Bkb3duOiBJRHJvcGRvd25JdGVtPFQ+W107XHJcbiAgQFZpZXdDaGlsZChEckRyb3Bkb3duQ29tcG9uZW50LCB7c3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgY29udGVudENtcFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBEckRyb3Bkb3duU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnkpIHtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgZWxlbWVudENsaWNrKCkge1xyXG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5fZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZHItZHJvcGRvd24nKS5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5yZW1vdmUoKSk7XHJcbiAgICBpZiAodGhpcy5jb250ZW50Q21wUmVmICYmIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95Q2JzKSB7XHJcbiAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuY29udGVudENtcFJlZiA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlcnZpY2UuZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLnNob3dNZW51KHtcclxuICAgICAgICBvcHRpb24sXHJcbiAgICAgICAgcG9zaXRpb246IHRoaXMucG9zaXRpb24sXHJcbiAgICAgICAgbGlzdDogdGhpcy5kckRyb3Bkb3duLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSkgZG9jdW1lbnRDbGljayhlKSB7XHJcbiAgICBjb25zdCBtZW51SXRlbSA9IGUudGFyZ2V0LmNsYXNzTGlzdDtcclxuICAgIGlmIChtZW51SXRlbS5jb250YWlucygnZHItZHJvcGRvd25fX2NvbnRhaW5lcl9faXRlbScpIHx8IG1lbnVJdGVtLmNvbnRhaW5zKCdkci1kcm9wZG93bl9fY29udGFpbmVyX19pdGVtX190ZXh0JykpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWxlbXMgPSB0aGlzLl9kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkci1kcm9wZG93bicpO1xyXG4gICAgaWYgKCFlLnRhcmdldC5jb250YWlucyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpICYmIHRoaXMuY29udGVudENtcFJlZiB8fCBlbGVtcy5sZW5ndGggJiYgIWUudGFyZ2V0LmNvbnRhaW5zKHRoaXMuZWwubmF0aXZlRWxlbWVudCkpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5yZW1vdmUoKSksIDEwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNob3dNZW51KG9wdGlvbnM6IElEcm9wZG93bjxUPikge1xyXG4gICAgbGV0IGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8RHJEcm9wZG93bkNvbXBvbmVudD47XHJcbiAgICBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRHJEcm9wZG93bkNvbXBvbmVudCk7XHJcbiAgICB0aGlzLmNvbnRlbnRDbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmFkZE1lbnUgPSB0aGlzLmNvbnRlbnRDbXBSZWY7XHJcbiAgICB0aGlzLl9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCduYi1sYXlvdXQnKS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRDbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLmNvbnRlbnRDbXBSZWYuaW5zdGFuY2Uub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5jb250ZW50Q21wUmVmKSB7XHJcbiAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DrDropdownPositionDirective } from './dr-dropdown-position.directive';
|
|
3
|
+
import { DrDropdownDirective } from './dr-dropdown.directive';
|
|
4
|
+
import { DrDropdownComponent } from './dr-dropdown.component';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
|
|
7
|
+
import { DrDropdownItemShowPipe } from './dr-dropdown-item-show.pipe';
|
|
8
|
+
import { DrDropdownService } from './dr-dropdown.service';
|
|
9
|
+
export class DrDropdownModule {
|
|
10
|
+
}
|
|
11
|
+
DrDropdownModule.decorators = [
|
|
12
|
+
{ type: NgModule, args: [{
|
|
13
|
+
imports: [
|
|
14
|
+
CommonModule,
|
|
15
|
+
DrTooltipModule,
|
|
16
|
+
],
|
|
17
|
+
declarations: [
|
|
18
|
+
DrDropdownDirective,
|
|
19
|
+
DrDropdownPositionDirective,
|
|
20
|
+
DrDropdownComponent,
|
|
21
|
+
DrDropdownItemShowPipe,
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
DrDropdownDirective,
|
|
25
|
+
DrDropdownPositionDirective,
|
|
26
|
+
DrDropdownComponent,
|
|
27
|
+
DrDropdownItemShowPipe,
|
|
28
|
+
],
|
|
29
|
+
providers: [
|
|
30
|
+
DrDropdownService,
|
|
31
|
+
],
|
|
32
|
+
},] }
|
|
33
|
+
];
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQXdCMUQsTUFBTSxPQUFPLGdCQUFnQjs7O1lBdEI1QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtpQkFDaEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtvQkFDbkIsMkJBQTJCO29CQUMzQixtQkFBbUI7b0JBQ25CLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsMkJBQTJCO29CQUMzQixtQkFBbUI7b0JBQ25CLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtpQkFDbEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERyRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRHJEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vZHItZHJvcGRvd24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRHJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHItZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IERyRHJvcGRvd25JdGVtU2hvd1BpcGUgfSBmcm9tICcuL2RyLWRyb3Bkb3duLWl0ZW0tc2hvdy5waXBlJztcclxuaW1wb3J0IHsgRHJEcm9wZG93blNlcnZpY2UgfSBmcm9tICcuL2RyLWRyb3Bkb3duLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBEclRvb2x0aXBNb2R1bGUsXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERyRHJvcGRvd25EaXJlY3RpdmUsXHJcbiAgICBEckRyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUsXHJcbiAgICBEckRyb3Bkb3duQ29tcG9uZW50LFxyXG4gICAgRHJEcm9wZG93bkl0ZW1TaG93UGlwZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIERyRHJvcGRvd25EaXJlY3RpdmUsXHJcbiAgICBEckRyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUsXHJcbiAgICBEckRyb3Bkb3duQ29tcG9uZW50LFxyXG4gICAgRHJEcm9wZG93bkl0ZW1TaG93UGlwZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRHJEcm9wZG93blNlcnZpY2UsXHJcbiAgXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEckRyb3Bkb3duTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DrDropdownService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.actionItem = new Subject();
|
|
7
|
+
}
|
|
8
|
+
set addMenu(item) {
|
|
9
|
+
this.menuInView = item;
|
|
10
|
+
}
|
|
11
|
+
destroy() {
|
|
12
|
+
if (this.menuInView) {
|
|
13
|
+
this.menuInView.destroy();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
DrDropdownService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DrDropdownService_Factory() { return new DrDropdownService(); }, token: DrDropdownService, providedIn: "root" });
|
|
18
|
+
DrDropdownService.decorators = [
|
|
19
|
+
{ type: Injectable, args: [{
|
|
20
|
+
providedIn: 'root'
|
|
21
|
+
},] }
|
|
22
|
+
];
|
|
23
|
+
DrDropdownService.ctorParameters = () => [];
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPL0IsTUFBTSxPQUFPLGlCQUFpQjtJQUs1QjtRQUhBLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUlyRCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsSUFBdUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7Ozs7WUFuQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRHJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHItZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSURyb3Bkb3duQWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25TZXJ2aWNlIHtcclxuXHJcbiAgYWN0aW9uSXRlbSA9IG5ldyBTdWJqZWN0PElEcm9wZG93bkFjdGlvbjx1bmtub3duPj4oKTtcclxuICBwcm90ZWN0ZWQgbWVudUluVmlldzogQ29tcG9uZW50UmVmPERyRHJvcGRvd25Db21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIHNldCBhZGRNZW51KGl0ZW06IENvbXBvbmVudFJlZjxEckRyb3Bkb3duQ29tcG9uZW50Pikge1xyXG4gICAgdGhpcy5tZW51SW5WaWV3ID0gaXRlbTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5tZW51SW5WaWV3KSB7XHJcbiAgICAgIHRoaXMubWVudUluVmlldy5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
export class DrButtonComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.theme = 'primary';
|
|
5
|
+
this.isBold = false;
|
|
6
|
+
this.isLoading = false;
|
|
7
|
+
this.click = new EventEmitter();
|
|
8
|
+
}
|
|
9
|
+
onClick($event) {
|
|
10
|
+
this.click.emit($event);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
DrButtonComponent.decorators = [
|
|
14
|
+
{ type: Component, args: [{
|
|
15
|
+
selector: 'dr-button',
|
|
16
|
+
template: "<button (click)=\"onClick($event)\" [attr.disabled]=\"disabled\" [attr.is-loading]=\"isLoading\" [attr.bold]=\"isBold\"\r\n [attr.icon]=\"icon ? true : false\" [attr.theme]=\"theme\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <i *ngIf=\"icon\" class=\"dr\" [ngClass]=\"icon\"></i>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n <i *ngIf=\"isLoading\" class=\"dr dr-spinner\"></i>\r\n</button>",
|
|
17
|
+
styles: [":host{display:inline-block}:host button[theme]{cursor:pointer;border-radius:16px;padding:5px 16px;font-family:\"Poppins\";font-style:normal;font-weight:400;font-size:14px;line-height:22px;color:#4e566c;border:1px solid #7F7FDD;display:flex;justify-content:space-between;align-items:center;height:32px}:host button[theme] .dr{padding:0;margin-left:5.35px;margin-right:8.64px}:host button[theme] .dr-spinner{animation-name:rotate;animation-iteration-count:infinite;animation-duration:1s}@keyframes rotate{0%{transform:rotate()}to{transform:rotate(360deg)}}:host button[theme][theme~=secondary]{padding:5px 16px;background:#FFFFFF;border-radius:16px;min-width:90px}:host button[theme][theme~=secondary]:hover:not([disabled=\"true\"]){color:#4e566c;transition:.2ms ease-in all;background:#F2F2FB;box-shadow:0 4px 14px #0000001a;border:1px solid #4646CE;border-radius:16px}:host button[theme][theme~=secondary]:active{box-shadow:none;background:#F2F2FB}:host button[theme][theme~=secondary][disabled=true]{background:#F0F1F4;color:#727583;border:none}:host button[theme][theme~=secondary][is-loading=true]{justify-content:center;padding:5px 16px}:host button[theme][theme~=primary]{background:#4646CE;color:#fff;border:none;min-width:90px}:host button[theme][theme~=primary]:hover:not([disabled=\"true\"]){transition:.2ms ease-in all;background:linear-gradient(96.89deg,#25258C 0%,#4646CE 100%);box-shadow:0 4px 14px #0000001a;border-radius:16px;border:none}:host button[theme][theme~=primary]:hover[disabled=false]{border:none}:host button[theme][theme~=primary]:active{background:#25258C}:host button[theme][theme~=primary][disabled=true]{background:#F0F1F4;color:#727583;border:none}:host button[theme][theme~=primary][is-loading=true]{justify-content:center;padding:5px 16px}:host button[theme][theme~=ghost]{background:none;border:none;color:#151b3f;padding:4px 8px}:host button[theme][theme~=ghost] .dr{margin-left:4.5px;margin-right:12.5px}:host button[theme][theme~=ghost]:hover:not([disabled=\"true\"]){color:#4646ce;background:#F2F2FB;border-radius:4px}:host button[theme][theme~=ghost][disabled=true]{color:#727583}:host button[theme][theme~=text-link]{background:none;border:none;color:#0b5af9;text-decoration:underline}:host button[theme][theme~=text-link][disabled=true]{color:#727583}:host button[theme][theme~=primary-icon]{padding:8px;width:28px;height:28px;justify-content:center;color:#fff;background:#4646CE;border:none}:host button[theme][theme~=primary-icon]:hover,:host button[theme][theme~=primary-icon]:active{background:linear-gradient(96.89deg,#131318 0%,#4646CE 100%)}:host button[theme][theme~=primary-icon][disabled=true]{color:#bcbcbc;background:#E5E6EA}:host button[theme][theme~=primary-icon] .dr{margin:0}:host button[theme][theme~=secondary-icon]{background:white;padding:8px;width:28px;height:28px;justify-content:center;color:#4e566c;border:1px solid #7F7FDD}:host button[theme][theme~=secondary-icon]:hover,:host button[theme][theme~=secondary-icon]:active{color:#4646ce;background:#F2F2FB}:host button[theme][theme~=secondary-icon][disabled=true]{color:#bcbcbc;background:#E5E6EA;border:none}:host button[theme][theme~=secondary-icon] .dr{margin:0}:host button[theme][theme~=icon]{background:none;padding:8px;width:28px;height:28px;justify-content:center;color:#4e566c;border:none}:host button[theme][theme~=icon]:hover,:host button[theme][theme~=icon]:active{background:#F0F3FC;color:#4646ce}:host button[theme][theme~=icon][disabled=true]{color:#bcbcbc;border:none}:host button[theme][theme~=icon][disabled=true]:hover,:host button[theme][theme~=icon][disabled=true]:active{background:none}:host button[theme][theme~=icon] .dr{margin:0}:host button[theme][bold=true]{font-weight:600}:host button[theme][icon=true]{padding-left:8px}:host button[theme][icon=false]{justify-content:center}\n"]
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
DrButtonComponent.ctorParameters = () => [];
|
|
21
|
+
DrButtonComponent.propDecorators = {
|
|
22
|
+
title: [{ type: Input }],
|
|
23
|
+
theme: [{ type: Input }],
|
|
24
|
+
disabled: [{ type: Input }],
|
|
25
|
+
icon: [{ type: Input }],
|
|
26
|
+
isBold: [{ type: Input }],
|
|
27
|
+
isLoading: [{ type: Input }],
|
|
28
|
+
click: [{ type: Output }]
|
|
29
|
+
};
|
|
30
|
+
// Examples:
|
|
31
|
+
/*
|
|
32
|
+
<dr-button [icon]="'dr-icon-arrow-down'">hello</dr-button>
|
|
33
|
+
<dr-button [icon]="'dr-icon-refresh'" [theme]="'primary-icon'"></dr-button>
|
|
34
|
+
<dr-button [icon]="'dr-icon-refresh'" [isDisabled]="true" [theme]="'primary-icon'"></dr-button>
|
|
35
|
+
|
|
36
|
+
<dr-button [icon]="'dr-icon-refresh'" [theme]="'secondary-icon'"></dr-button>
|
|
37
|
+
<dr-button [icon]="'dr-icon-share'" [isDisabled]="true" [theme]="'secondary-icon'"></dr-button>
|
|
38
|
+
|
|
39
|
+
<dr-button [icon]="'dr-icon-share'" [theme]="'icon'"></dr-button>
|
|
40
|
+
<dr-button [icon]="'dr-icon-share'" [isDisabled]="true" [theme]="'icon'"></dr-button>
|
|
41
|
+
|
|
42
|
+
<dr-button [isDisabled]="false" [icon]="'dr-icon-refresh'">Primary</dr-button>
|
|
43
|
+
<dr-button [isDisabled]="false" >Primary</dr-button>
|
|
44
|
+
<dr-button [isDisabled]="false" [icon]="'dr-icon-refresh'" [theme]="'secondary'">Secondary</dr-button>
|
|
45
|
+
<dr-button [isDisabled]="false" [icon]="'dr-icon-refresh'" [theme]="'ghost'">Ghost</dr-button>
|
|
46
|
+
<dr-button [isDisabled]="false" [theme]="'text-link'">Text Link</dr-button>
|
|
47
|
+
*/
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFTNUI7UUFQUyxVQUFLLEdBQWUsU0FBUyxDQUFDO1FBRzlCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUxQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRVYsT0FBTyxDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7O1lBbEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsdWJBQXNDOzthQUV2Qzs7OztvQkFFRSxLQUFLO29CQUNMLEtBQUs7dUJBQ0wsS0FBSzttQkFDTCxLQUFLO3FCQUNMLEtBQUs7d0JBQ0wsS0FBSztvQkFFTCxNQUFNOztBQU9ULGFBQWE7QUFDYjs7Ozs7Ozs7Ozs7Ozs7OztFQWdCRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbnR5cGUgQnV0dG9uVHlwZSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3ByaW1hcnktaWNvbicgfFxyXG4gICdzZWNvbmRhcnktaWNvbicgfCAnaWNvbicgfCAnZ2hvc3QnIHwgJ2xpbmstYnRuJyB8ICd0ZXh0LWxpbmsnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEckJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSB0aGVtZTogQnV0dG9uVHlwZSA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNCb2xkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgb25DbGljaygkZXZlbnQpIHtcclxuICAgIHRoaXMuY2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxufVxyXG4vLyAgRXhhbXBsZXM6XHJcbi8qXHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tYXJyb3ctZG93bidcIj5oZWxsbzwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXJlZnJlc2gnXCIgW3RoZW1lXT1cIidwcmltYXJ5LWljb24nXCI+PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIiBbaXNEaXNhYmxlZF09XCJ0cnVlXCIgW3RoZW1lXT1cIidwcmltYXJ5LWljb24nXCI+PC9kci1idXR0b24+XHJcblxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXJlZnJlc2gnXCIgW3RoZW1lXT1cIidzZWNvbmRhcnktaWNvbidcIj48L2RyLWJ1dHRvbj5cclxuPGRyLWJ1dHRvbiBbaWNvbl09XCInZHItaWNvbi1zaGFyZSdcIiBbaXNEaXNhYmxlZF09XCJ0cnVlXCIgW3RoZW1lXT1cIidzZWNvbmRhcnktaWNvbidcIj48L2RyLWJ1dHRvbj5cclxuXHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tc2hhcmUnXCIgW3RoZW1lXT1cIidpY29uJ1wiPjwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXNoYXJlJ1wiIFtpc0Rpc2FibGVkXT1cInRydWVcIiBbdGhlbWVdPVwiJ2ljb24nXCI+PC9kci1idXR0b24+XHJcblxyXG48ZHItYnV0dG9uIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIj5QcmltYXJ5PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2lzRGlzYWJsZWRdPVwiZmFsc2VcIiA+UHJpbWFyeTwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIiBbdGhlbWVdPVwiJ3NlY29uZGFyeSdcIj5TZWNvbmRhcnk8L2RyLWJ1dHRvbj5cclxuPGRyLWJ1dHRvbiBbaXNEaXNhYmxlZF09XCJmYWxzZVwiIFtpY29uXT1cIidkci1pY29uLXJlZnJlc2gnXCIgW3RoZW1lXT1cIidnaG9zdCdcIj5HaG9zdDwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW3RoZW1lXT1cIid0ZXh0LWxpbmsnXCI+VGV4dCBMaW5rPC9kci1idXR0b24+XHJcbiovIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
3
|
export class CheckboxComponent {
|
|
4
|
-
constructor() {
|
|
4
|
+
constructor(cdr) {
|
|
5
|
+
this.cdr = cdr;
|
|
5
6
|
this.disabled = false;
|
|
6
7
|
this.checkedChange = new EventEmitter();
|
|
7
8
|
this.onChange = () => { };
|
|
@@ -9,6 +10,7 @@ export class CheckboxComponent {
|
|
|
9
10
|
}
|
|
10
11
|
writeValue(value) {
|
|
11
12
|
this.checkedStatus = value;
|
|
13
|
+
this.cdr.markForCheck();
|
|
12
14
|
}
|
|
13
15
|
registerOnChange(fn) {
|
|
14
16
|
this.onChange = fn;
|
|
@@ -38,9 +40,12 @@ CheckboxComponent.decorators = [
|
|
|
38
40
|
styles: ["input+span{vertical-align:middle;line-height:30px}input+span,input+span:before{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}input{visibility:hidden;position:absolute}label input+span{position:relative;z-index:19;display:inline-block;margin:0 5px 0 0;line-height:17px;min-height:14px;min-width:14px}label input+span:hover{cursor:pointer}label input+span:before{content:\"\";font-size:14px;border-radius:0;display:inline-block;text-align:center;vertical-align:middle;padding:1px;min-height:12px;line-height:12px;min-width:12px;margin-right:5px;border:1.5px solid #85889C;background-color:#f4f4f4;font-weight:normal;margin-top:-1px}label input+span:before,label:hover input+span:before{background-color:#fff;border-color:#85889c;color:#579bf2;border-radius:2px}label input:checked+span:before,label:hover input:checked+span:before{content:url('data:image/svg+xml; utf8, <svg width=\"12\" height=\"10\" viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M1 5L4.5 8.5L11 1.5\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/> </svg>');background:#579BF2;border-color:#579bf2;color:#fff}label input:disabled+span:before{border-color:#bcbcbc;pointer-events:none}label input[disabled]:checked+span:before{background:#BCBCBC;border-color:#bcbcbc;pointer-events:none}label input:not([disabled])+span:hover:after{content:\"\";width:28px;height:28px;background:#F6F7F8;border-radius:50%;position:absolute;left:-6px;top:-5px;z-index:-1}\n"]
|
|
39
41
|
},] }
|
|
40
42
|
];
|
|
43
|
+
CheckboxComponent.ctorParameters = () => [
|
|
44
|
+
{ type: ChangeDetectorRef }
|
|
45
|
+
];
|
|
41
46
|
CheckboxComponent.propDecorators = {
|
|
42
47
|
checkedStatus: [{ type: Input }],
|
|
43
48
|
disabled: [{ type: Input }],
|
|
44
49
|
checkedChange: [{ type: Output }]
|
|
45
50
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVl6RSxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBTjFDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDUCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0MsYUFBUSxHQUE2QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDOUMsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVZLENBQUM7SUFFOUMsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHFPQUF3QztnQkFFeEMsU0FBUyxFQUFFO29CQUNULEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2lCQUMxRTtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLFNBQVM7O2FBQzNDOzs7WUFsQkMsaUJBQWlCOzs7NEJBb0JoQixLQUFLO3VCQUVMLEtBQUs7NEJBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZHItY2hlY2tib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IENoZWNrYm94Q29tcG9uZW50LCBtdWx0aTogdHJ1ZX1cclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpXHJcbiAgY2hlY2tlZFN0YXR1czogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG9uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG4gIFxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuY2hlY2tlZFN0YXR1cyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWUoKSB7XHJcbiAgICB0aGlzLmNoZWNrZWRTdGF0dXMgPSAhdGhpcy5jaGVja2VkU3RhdHVzO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWRTdGF0dXMpO1xyXG4gICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkU3RhdHVzKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Directive, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
3
|
+
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
4
|
+
import { MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
5
|
+
import { CustomDateFormat } from '../../models/datePicker';
|
|
6
|
+
export class DrDatePickerFormatDirective {
|
|
7
|
+
constructor(matDateFormat, ngControl) {
|
|
8
|
+
this.matDateFormat = matDateFormat;
|
|
9
|
+
this.ngControl = ngControl;
|
|
10
|
+
}
|
|
11
|
+
set datePickerFormat(format) {
|
|
12
|
+
var _a;
|
|
13
|
+
if (this.configDateParse) {
|
|
14
|
+
this.matDateFormat.updateDateFormat(this.configDateParse, this.configDateDisplay);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this.matDateFormat.updateDateFormat({ dateInput: format });
|
|
18
|
+
}
|
|
19
|
+
const value = this.ngControl.value;
|
|
20
|
+
(_a = this.ngControl.valueAccessor) === null || _a === void 0 ? void 0 : _a.writeValue(value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
DrDatePickerFormatDirective.decorators = [
|
|
24
|
+
{ type: Directive, args: [{
|
|
25
|
+
selector: '[drDatePickerFormat]',
|
|
26
|
+
providers: [
|
|
27
|
+
{
|
|
28
|
+
provide: DateAdapter,
|
|
29
|
+
useClass: MomentDateAdapter
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
provide: MAT_DATE_FORMATS,
|
|
33
|
+
useClass: CustomDateFormat
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},] }
|
|
37
|
+
];
|
|
38
|
+
DrDatePickerFormatDirective.ctorParameters = () => [
|
|
39
|
+
{ type: CustomDateFormat, decorators: [{ type: Inject, args: [MAT_DATE_FORMATS,] }] },
|
|
40
|
+
{ type: NgControl, decorators: [{ type: Optional }] }
|
|
41
|
+
];
|
|
42
|
+
DrDatePickerFormatDirective.propDecorators = {
|
|
43
|
+
configDateParse: [{ type: Input }],
|
|
44
|
+
configDateDisplay: [{ type: Input }],
|
|
45
|
+
datePickerFormat: [{ type: Input, args: ['drDatePickerFormat',] }]
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXItZm9ybWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1kYXRlLXBpY2tlci9kci1kYXRlLXBpY2tlci1mb3JtYXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0seUJBQXlCLENBQUM7QUFlbkYsTUFBTSxPQUFPLDJCQUEyQjtJQWtCdEMsWUFDbUMsYUFBK0IsRUFDNUMsU0FBb0I7UUFEUCxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUUxQyxDQUFDO0lBbEJELElBQ0ksZ0JBQWdCLENBQUMsTUFBYzs7UUFDakMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNuQyxNQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSwwQ0FBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7O1lBN0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7cUJBQzVCO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7d0JBQ3pCLFFBQVEsRUFBRSxnQkFBZ0I7cUJBQzNCO2lCQUNGO2FBQ0Y7OztZQWRRLGdCQUFnQix1QkFrQ3BCLE1BQU0sU0FBQyxnQkFBZ0I7WUFyQ25CLFNBQVMsdUJBc0NiLFFBQVE7Ozs4QkFuQlYsS0FBSztnQ0FDTCxLQUFLOytCQUVMLEtBQUssU0FBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNb21lbnREYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZUZvcm1hdCwgRGF0ZURpc3BsYXksIERhdGVQYXJzZSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRlUGlja2VyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RyRGF0ZVBpY2tlckZvcm1hdF0nLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcclxuICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLFxyXG4gICAgICB1c2VDbGFzczogQ3VzdG9tRGF0ZUZvcm1hdFxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERyRGF0ZVBpY2tlckZvcm1hdERpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZ0RhdGVQYXJzZTogRGF0ZVBhcnNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWdEYXRlRGlzcGxheTogRGF0ZURpc3BsYXk7XHJcblxyXG4gIEBJbnB1dCgnZHJEYXRlUGlja2VyRm9ybWF0JylcclxuICBzZXQgZGF0ZVBpY2tlckZvcm1hdChmb3JtYXQ6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnRGF0ZVBhcnNlKSB7XHJcbiAgICAgIHRoaXMubWF0RGF0ZUZvcm1hdC51cGRhdGVEYXRlRm9ybWF0KFxyXG4gICAgICAgIHRoaXMuY29uZmlnRGF0ZVBhcnNlLFxyXG4gICAgICAgIHRoaXMuY29uZmlnRGF0ZURpc3BsYXlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF0RGF0ZUZvcm1hdC51cGRhdGVEYXRlRm9ybWF0KHtkYXRlSW5wdXQ6IGZvcm1hdH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm5nQ29udHJvbC52YWx1ZTtcclxuICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3I/LndyaXRlVmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9EQVRFX0ZPUk1BVFMpIHB1YmxpYyBtYXREYXRlRm9ybWF0OiBDdXN0b21EYXRlRm9ybWF0LFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gIH1cclxufVxyXG4iXX0=
|