@clr/angular 15.0.0-beta.1 → 15.0.0-beta.3
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/clarity.api.md +158 -489
- package/clr-angular.module.d.ts +12 -15
- package/data/datagrid/datagrid-column.d.ts +1 -22
- package/data/datagrid/datagrid-pagination.d.ts +2 -2
- package/data/datagrid/datagrid.module.d.ts +13 -13
- package/data/stack-view/index.d.ts +0 -2
- package/data/stack-view/stack-block.d.ts +1 -17
- package/data/stack-view/stack-view.d.ts +1 -11
- package/data/stack-view/stack-view.module.d.ts +5 -7
- package/data/tree-view/tree-node.d.ts +6 -6
- package/esm2020/accordion/accordion-panel.mjs +3 -3
- package/esm2020/accordion/stepper/stepper-panel.mjs +3 -3
- package/esm2020/clr-angular.module.mjs +1 -13
- package/esm2020/data/datagrid/datagrid-action-overflow.mjs +10 -10
- package/esm2020/data/datagrid/datagrid-column-separator.mjs +16 -15
- package/esm2020/data/datagrid/datagrid-column-toggle.mjs +18 -20
- package/esm2020/data/datagrid/datagrid-column.mjs +2 -48
- package/esm2020/data/datagrid/datagrid-detail.mjs +8 -6
- package/esm2020/data/datagrid/datagrid-filter.mjs +10 -10
- package/esm2020/data/datagrid/datagrid-pagination.mjs +10 -5
- package/esm2020/data/datagrid/datagrid-row-detail.mjs +7 -8
- package/esm2020/data/datagrid/datagrid-row.mjs +3 -3
- package/esm2020/data/datagrid/datagrid.module.mjs +9 -9
- package/esm2020/data/stack-view/index.mjs +1 -3
- package/esm2020/data/stack-view/stack-block.mjs +2 -8
- package/esm2020/data/stack-view/stack-header.mjs +2 -23
- package/esm2020/data/stack-view/stack-view.mjs +4 -28
- package/esm2020/data/stack-view/stack-view.module.mjs +3 -23
- package/esm2020/data/tree-view/tree-node.mjs +30 -26
- package/esm2020/forms/datepicker/date-container.mjs +9 -9
- package/esm2020/forms/datepicker/datepicker.module.mjs +5 -5
- package/esm2020/layout/nav/nav-level.mjs +23 -10
- package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +3 -7
- package/esm2020/modal/modal.mjs +8 -19
- package/esm2020/modal/modal.module.mjs +5 -5
- package/esm2020/popover/dropdown/dropdown-item.mjs +30 -33
- package/esm2020/utils/cdk/cdk-drag.module.mjs +37 -0
- package/esm2020/utils/cdk/cdk-trap-focus.module.mjs +37 -0
- package/esm2020/utils/i18n/common-strings.default.mjs +2 -3
- package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
- package/esm2020/utils/index.mjs +1 -5
- package/esm2020/wizard/wizard.mjs +6 -30
- package/fesm2015/clr-angular.mjs +259 -1990
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +306 -2033
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/datepicker/datepicker.module.d.ts +6 -6
- package/layout/nav/nav-level.d.ts +12 -4
- package/layout/vertical-nav/vertical-nav-group.d.ts +1 -2
- package/modal/modal.d.ts +1 -4
- package/modal/modal.module.d.ts +3 -3
- package/package.json +2 -1
- package/popover/dropdown/dropdown-item.d.ts +7 -13
- package/src/utils/popover/README.md +1 -1
- package/utils/cdk/cdk-drag.module.d.ts +17 -0
- package/utils/cdk/cdk-trap-focus.module.d.ts +17 -0
- package/utils/i18n/common-strings.interface.d.ts +0 -17
- package/utils/index.d.ts +0 -4
- package/wizard/wizard.d.ts +2 -13
- package/data/stack-view/stack-control.d.ts +0 -16
- package/data/stack-view/stack-input.d.ts +0 -10
- package/data/stack-view/stack-select.d.ts +0 -9
- package/esm2020/data/stack-view/stack-control.mjs +0 -34
- package/esm2020/data/stack-view/stack-input.mjs +0 -42
- package/esm2020/data/stack-view/stack-select.mjs +0 -48
- package/esm2020/utils/a11y/aria-live.service.mjs +0 -163
- package/esm2020/utils/a11y/index.mjs +0 -7
- package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +0 -42
- package/esm2020/utils/drag-and-drop/drag-event.mjs +0 -16
- package/esm2020/utils/drag-and-drop/drag-handle.mjs +0 -35
- package/esm2020/utils/drag-and-drop/draggable/draggable.mjs +0 -135
- package/esm2020/utils/drag-and-drop/draggable-ghost.mjs +0 -124
- package/esm2020/utils/drag-and-drop/droppable/droppable.mjs +0 -222
- package/esm2020/utils/drag-and-drop/if-dragged.mjs +0 -47
- package/esm2020/utils/drag-and-drop/index.mjs +0 -14
- package/esm2020/utils/drag-and-drop/interfaces/drag-event.interface.mjs +0 -15
- package/esm2020/utils/drag-and-drop/interfaces/drop-tolerance.interface.mjs +0 -7
- package/esm2020/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.mjs +0 -54
- package/esm2020/utils/drag-and-drop/providers/drag-event-listener.service.mjs +0 -179
- package/esm2020/utils/drag-and-drop/providers/drag-handle-registrar.service.mjs +0 -60
- package/esm2020/utils/drag-and-drop/providers/draggable-snapshot.service.mjs +0 -38
- package/esm2020/utils/drag-and-drop/providers/global-drag-mode.service.mjs +0 -26
- package/esm2020/utils/focus-trap/focus-trap-config.interface.mjs +0 -7
- package/esm2020/utils/focus-trap/focus-trap-tracker.service.mjs +0 -32
- package/esm2020/utils/focus-trap/focus-trap.directive.mjs +0 -158
- package/esm2020/utils/focus-trap/focus-trap.mjs +0 -141
- package/esm2020/utils/focus-trap/focus-trap.module.mjs +0 -24
- package/esm2020/utils/focus-trap/index.mjs +0 -9
- package/esm2020/utils/for-type-ahead/for-type-ahead.mjs +0 -54
- package/esm2020/utils/for-type-ahead/for-type-ahead.module.mjs +0 -23
- package/esm2020/utils/for-type-ahead/for-type-ahead.service.mjs +0 -29
- package/esm2020/utils/for-type-ahead/index.mjs +0 -8
- package/utils/a11y/aria-live.service.d.ts +0 -93
- package/utils/a11y/index.d.ts +0 -1
- package/utils/drag-and-drop/drag-and-drop.module.d.ts +0 -14
- package/utils/drag-and-drop/drag-event.d.ts +0 -8
- package/utils/drag-and-drop/drag-handle.d.ts +0 -11
- package/utils/drag-and-drop/draggable/draggable.d.ts +0 -36
- package/utils/drag-and-drop/draggable-ghost.d.ts +0 -30
- package/utils/drag-and-drop/droppable/droppable.d.ts +0 -42
- package/utils/drag-and-drop/if-dragged.d.ts +0 -13
- package/utils/drag-and-drop/index.d.ts +0 -8
- package/utils/drag-and-drop/interfaces/drag-event.interface.d.ts +0 -22
- package/utils/drag-and-drop/interfaces/drop-tolerance.interface.d.ts +0 -6
- package/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.d.ts +0 -16
- package/utils/drag-and-drop/providers/drag-event-listener.service.d.ts +0 -39
- package/utils/drag-and-drop/providers/drag-handle-registrar.service.d.ts +0 -18
- package/utils/drag-and-drop/providers/draggable-snapshot.service.d.ts +0 -16
- package/utils/drag-and-drop/providers/global-drag-mode.service.d.ts +0 -10
- package/utils/focus-trap/focus-trap-config.interface.d.ts +0 -3
- package/utils/focus-trap/focus-trap-tracker.service.d.ts +0 -12
- package/utils/focus-trap/focus-trap.d.ts +0 -29
- package/utils/focus-trap/focus-trap.directive.d.ts +0 -38
- package/utils/focus-trap/focus-trap.module.d.ts +0 -10
- package/utils/focus-trap/index.d.ts +0 -3
- package/utils/for-type-ahead/for-type-ahead.d.ts +0 -15
- package/utils/for-type-ahead/for-type-ahead.module.d.ts +0 -8
- package/utils/for-type-ahead/for-type-ahead.service.d.ts +0 -11
- package/utils/for-type-ahead/index.d.ts +0 -2
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
7
|
-
import { PLATFORM_ID } from '@angular/core';
|
|
8
|
-
import { Inject, Injectable } from '@angular/core';
|
|
9
|
-
import { uniqueIdFactory } from '../id-generator/id-generator.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export var ClrAriaLivePoliteness;
|
|
12
|
-
(function (ClrAriaLivePoliteness) {
|
|
13
|
-
ClrAriaLivePoliteness["off"] = "off";
|
|
14
|
-
ClrAriaLivePoliteness["polite"] = "polite";
|
|
15
|
-
ClrAriaLivePoliteness["assertive"] = "assertive";
|
|
16
|
-
})(ClrAriaLivePoliteness || (ClrAriaLivePoliteness = {}));
|
|
17
|
-
/**
|
|
18
|
-
* Time in milliseconds before inserting the content into the container
|
|
19
|
-
*/
|
|
20
|
-
const ARIA_LIVE_TICK = 100;
|
|
21
|
-
/**
|
|
22
|
-
* @deprecated
|
|
23
|
-
*
|
|
24
|
-
* -- ClrAriaLiveService is deprecated in 5.0 to be removed in 6.0 --
|
|
25
|
-
* Please consider using the LiveAnnouncer in the Angular Material CDK
|
|
26
|
-
* if your project needs this functionality.
|
|
27
|
-
* More info: https://material.angular.io/cdk/a11y/overview#example-1
|
|
28
|
-
*
|
|
29
|
-
* This service handle `aria-live` accessibility attribute. The issue is that you need
|
|
30
|
-
* to have the DOM Element with attribute `aria-live` before you could insert content
|
|
31
|
-
* and SR (Screen Reader) pick the change and announce it.
|
|
32
|
-
*
|
|
33
|
-
* ```typescript
|
|
34
|
-
* import { ClrAriaLiveService } from 'src/clr-angular/utils/a11y/aria-live.service';
|
|
35
|
-
*
|
|
36
|
-
* @Component({
|
|
37
|
-
* selector: 'clr-demo-component',
|
|
38
|
-
* providers: [ClrAriaLiveService],
|
|
39
|
-
* template: `
|
|
40
|
-
* <ng-content></ng-content>
|
|
41
|
-
* `,
|
|
42
|
-
* })
|
|
43
|
-
* export class DemoComponent {
|
|
44
|
-
* constructor(ariaLiveService: ClrAriaLiveService) {}
|
|
45
|
-
*
|
|
46
|
-
* public actionThatWillTriggerChange() {
|
|
47
|
-
* this.ariaLiveService.announce('message that I want to announce to SR');
|
|
48
|
-
* }
|
|
49
|
-
* }
|
|
50
|
-
* ```
|
|
51
|
-
*
|
|
52
|
-
*/
|
|
53
|
-
export class ClrAriaLiveService {
|
|
54
|
-
constructor(ngZone, _document, platformId) {
|
|
55
|
-
this.ngZone = ngZone;
|
|
56
|
-
this.platformId = platformId;
|
|
57
|
-
this._id = `clr-aria-live-element-${uniqueIdFactory()}`;
|
|
58
|
-
this.document = _document;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* get access to the internal HTML `id` that gonna be used for the AriaLive container.
|
|
62
|
-
* @return ID of the DOM Element as string.
|
|
63
|
-
*/
|
|
64
|
-
get id() {
|
|
65
|
-
return this._id;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Append text content inside the AriaLive Container. This method will check if the
|
|
69
|
-
* DOM Element is existing if not it will create one for us and the will apply the text.
|
|
70
|
-
*
|
|
71
|
-
* ```typescript
|
|
72
|
-
* this.ariaLiveService.announce(this.el.nativeElement);
|
|
73
|
-
* // or
|
|
74
|
-
* this.ariaLiveService.announce('Message to announce to SR');
|
|
75
|
-
* ```
|
|
76
|
-
*
|
|
77
|
-
* @remark
|
|
78
|
-
* When second argument is `AriaLivePoliteness.off` we won't create aria container or update it.
|
|
79
|
-
* The reason for that is that we don't want to do additional work if the SR will ignore it.
|
|
80
|
-
*
|
|
81
|
-
* @param message - This could be simple string or HTMLElement
|
|
82
|
-
* @param politeness - 'polite', 'assertive' or 'off'
|
|
83
|
-
*/
|
|
84
|
-
announce(message, politeness = ClrAriaLivePoliteness.polite) {
|
|
85
|
-
if (politeness === ClrAriaLivePoliteness.off) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
if (!this.ariaLiveElement && isPlatformBrowser(this.platformId)) {
|
|
89
|
-
this.ariaLiveElement = this.createContainer();
|
|
90
|
-
}
|
|
91
|
-
message = typeof message !== 'string' && isPlatformBrowser(this.platformId) ? message.textContent : message;
|
|
92
|
-
// when there is no message do NOTHING!
|
|
93
|
-
if (!message) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
this.ariaLiveElement.setAttribute('aria-live', politeness);
|
|
97
|
-
// This 100ms timeout is necessary for some browser + screen-reader combinations:
|
|
98
|
-
// - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.
|
|
99
|
-
// - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a
|
|
100
|
-
// second time without clearing and then using a non-zero delay.
|
|
101
|
-
// (using JAWS 17 at time of this writing).
|
|
102
|
-
this.ngZone.runOutsideAngular(() => {
|
|
103
|
-
// This clearTimeout will stop all older messages from announcing
|
|
104
|
-
// in the case where the messages are comming too fast we gonna try to append only
|
|
105
|
-
// the last one. That's what the SR will try to do anyway.
|
|
106
|
-
clearTimeout(this.previousTimeout);
|
|
107
|
-
this.previousTimeout = setTimeout(() => {
|
|
108
|
-
this.ariaLiveElement.textContent = message;
|
|
109
|
-
}, ARIA_LIVE_TICK);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* onDestroy life cycle - must stop all active setTimeouts and remove the AriaLive
|
|
114
|
-
* container from the document.
|
|
115
|
-
*/
|
|
116
|
-
ngOnDestroy() {
|
|
117
|
-
clearTimeout(this.previousTimeout);
|
|
118
|
-
if (isPlatformBrowser(this.platformId) && this.ariaLiveElement) {
|
|
119
|
-
this.document.body.removeChild(this.ariaLiveElement);
|
|
120
|
-
this.ariaLiveElement = null;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Create AriaLive DOM element as a last child of the document.
|
|
125
|
-
* After the element is created, we gonna apply Clarity class to hide it from
|
|
126
|
-
* the screen and set the `aria-live` politness.
|
|
127
|
-
*
|
|
128
|
-
* `clr-sr-only` is the CSS class that is used to hide the element from the screen.
|
|
129
|
-
*
|
|
130
|
-
* @remark
|
|
131
|
-
* Calling this method multiple times will create multiple DOM Elements, that
|
|
132
|
-
* won't be tracked and will be GC after the service is destroyed.
|
|
133
|
-
*
|
|
134
|
-
* @return AriaLive container as HTMLElement
|
|
135
|
-
*
|
|
136
|
-
*/
|
|
137
|
-
createContainer() {
|
|
138
|
-
const ariaLiveElement = this.document.createElement('div');
|
|
139
|
-
ariaLiveElement.setAttribute('id', this.id);
|
|
140
|
-
// Use clarity screen reader class to hide the dom element
|
|
141
|
-
// and fix the scrollbar shake
|
|
142
|
-
ariaLiveElement.classList.add('clr-sr-only');
|
|
143
|
-
ariaLiveElement.setAttribute('aria-atomic', 'true');
|
|
144
|
-
ariaLiveElement.setAttribute('aria-live', ClrAriaLivePoliteness.polite);
|
|
145
|
-
this.document.body.appendChild(ariaLiveElement);
|
|
146
|
-
return ariaLiveElement;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
ClrAriaLiveService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrAriaLiveService, deps: [{ token: i0.NgZone }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
150
|
-
ClrAriaLiveService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrAriaLiveService, providedIn: 'root' });
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrAriaLiveService, decorators: [{
|
|
152
|
-
type: Injectable,
|
|
153
|
-
args: [{
|
|
154
|
-
providedIn: 'root',
|
|
155
|
-
}]
|
|
156
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
157
|
-
type: Inject,
|
|
158
|
-
args: [DOCUMENT]
|
|
159
|
-
}] }, { type: undefined, decorators: [{
|
|
160
|
-
type: Inject,
|
|
161
|
-
args: [PLATFORM_ID]
|
|
162
|
-
}] }]; } });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpYS1saXZlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9hMTF5L2FyaWEtbGl2ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUV2RSxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLG9DQUFXLENBQUE7SUFDWCwwQ0FBaUIsQ0FBQTtJQUNqQixnREFBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUloQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBRTNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixZQUFvQixNQUFjLEVBQW9CLFNBQWMsRUFBK0IsVUFBZTtRQUE5RixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQWlFLGVBQVUsR0FBVixVQUFVLENBQUs7UUFJMUcsUUFBRyxHQUFHLHlCQUF5QixlQUFlLEVBQUUsRUFBRSxDQUFDO1FBSHpELElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFHRDs7O09BR0c7SUFDSCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0gsUUFBUSxDQUFDLE9BQTZCLEVBQUUsYUFBb0MscUJBQXFCLENBQUMsTUFBTTtRQUN0RyxJQUFJLFVBQVUsS0FBSyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQy9ELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQy9DO1FBRUQsT0FBTyxHQUFHLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUU1Ryx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUzRCxpRkFBaUY7UUFDakYsd0ZBQXdGO1FBQ3hGLDJGQUEyRjtRQUMzRixrRUFBa0U7UUFDbEUsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLGlFQUFpRTtZQUNqRSxrRkFBa0Y7WUFDbEYsMERBQTBEO1lBQzFELFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxPQUFpQixDQUFDO1lBQ3ZELENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNLLGVBQWU7UUFDckIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0QsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLDBEQUEwRDtRQUMxRCw4QkFBOEI7UUFDOUIsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsZUFBZSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsZUFBZSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7OytHQTdHVSxrQkFBa0Isd0NBS2UsUUFBUSxhQUEwQixXQUFXO21IQUw5RSxrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNc0MsTUFBTTsyQkFBQyxRQUFROzswQkFBbUIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgdW5pcXVlSWRGYWN0b3J5IH0gZnJvbSAnLi4vaWQtZ2VuZXJhdG9yL2lkLWdlbmVyYXRvci5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gQ2xyQXJpYUxpdmVQb2xpdGVuZXNzIHtcbiAgb2ZmID0gJ29mZicsXG4gIHBvbGl0ZSA9ICdwb2xpdGUnLFxuICBhc3NlcnRpdmUgPSAnYXNzZXJ0aXZlJyxcbn1cblxuLyoqXG4gKiBUaW1lIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgaW5zZXJ0aW5nIHRoZSBjb250ZW50IGludG8gdGhlIGNvbnRhaW5lclxuICovXG5jb25zdCBBUklBX0xJVkVfVElDSyA9IDEwMDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICpcbiAqIC0tIENsckFyaWFMaXZlU2VydmljZSBpcyBkZXByZWNhdGVkIGluIDUuMCB0byBiZSByZW1vdmVkIGluIDYuMCAtLVxuICogUGxlYXNlIGNvbnNpZGVyIHVzaW5nIHRoZSBMaXZlQW5ub3VuY2VyIGluIHRoZSBBbmd1bGFyIE1hdGVyaWFsIENES1xuICogaWYgeW91ciBwcm9qZWN0IG5lZWRzIHRoaXMgZnVuY3Rpb25hbGl0eS5cbiAqIE1vcmUgaW5mbzogaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2Nkay9hMTF5L292ZXJ2aWV3I2V4YW1wbGUtMVxuICpcbiAqIFRoaXMgc2VydmljZSBoYW5kbGUgYGFyaWEtbGl2ZWAgYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGUuIFRoZSBpc3N1ZSBpcyB0aGF0IHlvdSBuZWVkXG4gKiB0byBoYXZlIHRoZSBET00gRWxlbWVudCB3aXRoIGF0dHJpYnV0ZSBgYXJpYS1saXZlYCBiZWZvcmUgeW91IGNvdWxkIGluc2VydCBjb250ZW50XG4gKiBhbmQgU1IgKFNjcmVlbiBSZWFkZXIpIHBpY2sgdGhlIGNoYW5nZSBhbmQgYW5ub3VuY2UgaXQuXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgQ2xyQXJpYUxpdmVTZXJ2aWNlIH0gZnJvbSAnc3JjL2Nsci1hbmd1bGFyL3V0aWxzL2ExMXkvYXJpYS1saXZlLnNlcnZpY2UnO1xuICpcbiAqIEBDb21wb25lbnQoe1xuICogc2VsZWN0b3I6ICdjbHItZGVtby1jb21wb25lbnQnLFxuICogcHJvdmlkZXJzOiBbQ2xyQXJpYUxpdmVTZXJ2aWNlXSxcbiAqIHRlbXBsYXRlOiBgXG4gKiAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAqIGAsXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIERlbW9Db21wb25lbnQge1xuICogIGNvbnN0cnVjdG9yKGFyaWFMaXZlU2VydmljZTogQ2xyQXJpYUxpdmVTZXJ2aWNlKSB7fVxuICpcbiAqICBwdWJsaWMgYWN0aW9uVGhhdFdpbGxUcmlnZ2VyQ2hhbmdlKCkge1xuICogICAgdGhpcy5hcmlhTGl2ZVNlcnZpY2UuYW5ub3VuY2UoJ21lc3NhZ2UgdGhhdCBJIHdhbnQgdG8gYW5ub3VuY2UgdG8gU1InKTtcbiAqICB9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJBcmlhTGl2ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGFyaWFMaXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHByZXZpb3VzVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgQEluamVjdChET0NVTUVOVCkgX2RvY3VtZW50OiBhbnksIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55KSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IF9kb2N1bWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2lkID0gYGNsci1hcmlhLWxpdmUtZWxlbWVudC0ke3VuaXF1ZUlkRmFjdG9yeSgpfWA7XG4gIC8qKlxuICAgKiBnZXQgYWNjZXNzIHRvIHRoZSBpbnRlcm5hbCBIVE1MIGBpZGAgdGhhdCBnb25uYSBiZSB1c2VkIGZvciB0aGUgQXJpYUxpdmUgY29udGFpbmVyLlxuICAgKiBAcmV0dXJuIElEIG9mIHRoZSBET00gRWxlbWVudCBhcyBzdHJpbmcuXG4gICAqL1xuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kIHRleHQgY29udGVudCBpbnNpZGUgdGhlIEFyaWFMaXZlIENvbnRhaW5lci4gVGhpcyBtZXRob2Qgd2lsbCBjaGVjayBpZiB0aGVcbiAgICogRE9NIEVsZW1lbnQgaXMgZXhpc3RpbmcgaWYgbm90IGl0IHdpbGwgY3JlYXRlIG9uZSBmb3IgdXMgYW5kIHRoZSB3aWxsIGFwcGx5IHRoZSB0ZXh0LlxuICAgKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHRoaXMuYXJpYUxpdmVTZXJ2aWNlLmFubm91bmNlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAqIC8vIG9yXG4gICAqIHRoaXMuYXJpYUxpdmVTZXJ2aWNlLmFubm91bmNlKCdNZXNzYWdlIHRvIGFubm91bmNlIHRvIFNSJyk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcmVtYXJrXG4gICAqIFdoZW4gc2Vjb25kIGFyZ3VtZW50IGlzIGBBcmlhTGl2ZVBvbGl0ZW5lc3Mub2ZmYCB3ZSB3b24ndCBjcmVhdGUgYXJpYSBjb250YWluZXIgb3IgdXBkYXRlIGl0LlxuICAgKiBUaGUgcmVhc29uIGZvciB0aGF0IGlzIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBkbyBhZGRpdGlvbmFsIHdvcmsgaWYgdGhlIFNSIHdpbGwgaWdub3JlIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoaXMgY291bGQgYmUgc2ltcGxlIHN0cmluZyBvciBIVE1MRWxlbWVudFxuICAgKiBAcGFyYW0gcG9saXRlbmVzcyAtICdwb2xpdGUnLCAnYXNzZXJ0aXZlJyBvciAnb2ZmJ1xuICAgKi9cbiAgYW5ub3VuY2UobWVzc2FnZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQsIHBvbGl0ZW5lc3M6IENsckFyaWFMaXZlUG9saXRlbmVzcyA9IENsckFyaWFMaXZlUG9saXRlbmVzcy5wb2xpdGUpOiB2b2lkIHtcbiAgICBpZiAocG9saXRlbmVzcyA9PT0gQ2xyQXJpYUxpdmVQb2xpdGVuZXNzLm9mZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5hcmlhTGl2ZUVsZW1lbnQgJiYgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5hcmlhTGl2ZUVsZW1lbnQgPSB0aGlzLmNyZWF0ZUNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIG1lc3NhZ2UgPSB0eXBlb2YgbWVzc2FnZSAhPT0gJ3N0cmluZycgJiYgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSA/IG1lc3NhZ2UudGV4dENvbnRlbnQgOiBtZXNzYWdlO1xuXG4gICAgLy8gd2hlbiB0aGVyZSBpcyBubyBtZXNzYWdlIGRvIE5PVEhJTkchXG4gICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcmlhTGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWxpdmUnLCBwb2xpdGVuZXNzKTtcblxuICAgIC8vIFRoaXMgMTAwbXMgdGltZW91dCBpcyBuZWNlc3NhcnkgZm9yIHNvbWUgYnJvd3NlciArIHNjcmVlbi1yZWFkZXIgY29tYmluYXRpb25zOlxuICAgIC8vIC0gQm90aCBKQVdTIGFuZCBOVkRBIG92ZXIgSUUxMSB3aWxsIG5vdCBhbm5vdW5jZSBhbnl0aGluZyB3aXRob3V0IGEgbm9uLXplcm8gdGltZW91dC5cbiAgICAvLyAtIFdpdGggQ2hyb21lIGFuZCBJRTExIHdpdGggTlZEQSBvciBKQVdTLCBhIHJlcGVhdGVkIChpZGVudGljYWwpIG1lc3NhZ2Ugd29uJ3QgYmUgcmVhZCBhXG4gICAgLy8gICBzZWNvbmQgdGltZSB3aXRob3V0IGNsZWFyaW5nIGFuZCB0aGVuIHVzaW5nIGEgbm9uLXplcm8gZGVsYXkuXG4gICAgLy8gKHVzaW5nIEpBV1MgMTcgYXQgdGltZSBvZiB0aGlzIHdyaXRpbmcpLlxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIC8vIFRoaXMgY2xlYXJUaW1lb3V0IHdpbGwgc3RvcCBhbGwgb2xkZXIgbWVzc2FnZXMgZnJvbSBhbm5vdW5jaW5nXG4gICAgICAvLyBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgbWVzc2FnZXMgYXJlIGNvbW1pbmcgdG9vIGZhc3Qgd2UgZ29ubmEgdHJ5IHRvIGFwcGVuZCBvbmx5XG4gICAgICAvLyB0aGUgbGFzdCBvbmUuIFRoYXQncyB3aGF0IHRoZSBTUiB3aWxsIHRyeSB0byBkbyBhbnl3YXkuXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5wcmV2aW91c1RpbWVvdXQpO1xuICAgICAgdGhpcy5wcmV2aW91c1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5hcmlhTGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBtZXNzYWdlIGFzIHN0cmluZztcbiAgICAgIH0sIEFSSUFfTElWRV9USUNLKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBvbkRlc3Ryb3kgbGlmZSBjeWNsZSAtIG11c3Qgc3RvcCBhbGwgYWN0aXZlIHNldFRpbWVvdXRzIGFuZCByZW1vdmUgdGhlIEFyaWFMaXZlXG4gICAqIGNvbnRhaW5lciBmcm9tIHRoZSBkb2N1bWVudC5cbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnByZXZpb3VzVGltZW91dCk7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5hcmlhTGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmFyaWFMaXZlRWxlbWVudCk7XG4gICAgICB0aGlzLmFyaWFMaXZlRWxlbWVudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBBcmlhTGl2ZSBET00gZWxlbWVudCBhcyBhIGxhc3QgY2hpbGQgb2YgdGhlIGRvY3VtZW50LlxuICAgKiBBZnRlciB0aGUgZWxlbWVudCBpcyBjcmVhdGVkLCB3ZSBnb25uYSBhcHBseSBDbGFyaXR5IGNsYXNzIHRvIGhpZGUgaXQgZnJvbVxuICAgKiB0aGUgc2NyZWVuIGFuZCBzZXQgdGhlIGBhcmlhLWxpdmVgIHBvbGl0bmVzcy5cbiAgICpcbiAgICogYGNsci1zci1vbmx5YCBpcyB0aGUgQ1NTIGNsYXNzIHRoYXQgaXMgdXNlZCB0byBoaWRlIHRoZSBlbGVtZW50IGZyb20gdGhlIHNjcmVlbi5cbiAgICpcbiAgICogQHJlbWFya1xuICAgKiBDYWxsaW5nIHRoaXMgbWV0aG9kIG11bHRpcGxlIHRpbWVzIHdpbGwgY3JlYXRlIG11bHRpcGxlIERPTSBFbGVtZW50cywgdGhhdFxuICAgKiB3b24ndCBiZSB0cmFja2VkIGFuZCB3aWxsIGJlIEdDIGFmdGVyIHRoZSBzZXJ2aWNlIGlzIGRlc3Ryb3llZC5cbiAgICpcbiAgICogQHJldHVybiBBcmlhTGl2ZSBjb250YWluZXIgYXMgSFRNTEVsZW1lbnRcbiAgICpcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBhcmlhTGl2ZUVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgYXJpYUxpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmlkKTtcbiAgICAvLyBVc2UgY2xhcml0eSBzY3JlZW4gcmVhZGVyIGNsYXNzIHRvIGhpZGUgdGhlIGRvbSBlbGVtZW50XG4gICAgLy8gYW5kIGZpeCB0aGUgc2Nyb2xsYmFyIHNoYWtlXG4gICAgYXJpYUxpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Nsci1zci1vbmx5Jyk7XG5cbiAgICBhcmlhTGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWF0b21pYycsICd0cnVlJyk7XG4gICAgYXJpYUxpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1saXZlJywgQ2xyQXJpYUxpdmVQb2xpdGVuZXNzLnBvbGl0ZSk7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYXJpYUxpdmVFbGVtZW50KTtcblxuICAgIHJldHVybiBhcmlhTGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
export * from './aria-live.service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9hMTF5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2FyaWEtbGl2ZS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import { NgModule } from '@angular/core';
|
|
8
|
-
import { ClrDragHandle } from './drag-handle';
|
|
9
|
-
import { ClrDraggableGhost } from './draggable-ghost';
|
|
10
|
-
import { ClrDraggable } from './draggable/draggable';
|
|
11
|
-
import { ClrDroppable } from './droppable/droppable';
|
|
12
|
-
import { ClrIfDragged } from './if-dragged';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export const CLR_DRAG_AND_DROP_DIRECTIVES = [
|
|
15
|
-
ClrDraggable,
|
|
16
|
-
ClrDroppable,
|
|
17
|
-
ClrIfDragged,
|
|
18
|
-
ClrDragHandle,
|
|
19
|
-
ClrDraggableGhost,
|
|
20
|
-
];
|
|
21
|
-
export class ClrDragAndDropModule {
|
|
22
|
-
}
|
|
23
|
-
ClrDragAndDropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDragAndDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24
|
-
ClrDragAndDropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: ClrDragAndDropModule, declarations: [ClrDraggable,
|
|
25
|
-
ClrDroppable,
|
|
26
|
-
ClrIfDragged,
|
|
27
|
-
ClrDragHandle,
|
|
28
|
-
ClrDraggableGhost], imports: [CommonModule], exports: [ClrDraggable,
|
|
29
|
-
ClrDroppable,
|
|
30
|
-
ClrIfDragged,
|
|
31
|
-
ClrDragHandle,
|
|
32
|
-
ClrDraggableGhost] });
|
|
33
|
-
ClrDragAndDropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDragAndDropModule, imports: [CommonModule] });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDragAndDropModule, decorators: [{
|
|
35
|
-
type: NgModule,
|
|
36
|
-
args: [{
|
|
37
|
-
imports: [CommonModule],
|
|
38
|
-
declarations: [CLR_DRAG_AND_DROP_DIRECTIVES],
|
|
39
|
-
exports: [CLR_DRAG_AND_DROP_DIRECTIVES],
|
|
40
|
-
}]
|
|
41
|
-
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9kcmFnLWFuZC1kcm9wL2RyYWctYW5kLWRyb3AubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFNUMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQWdCO0lBQ3ZELFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLGFBQWE7SUFDYixpQkFBaUI7Q0FDbEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFaL0IsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYTtRQUNiLGlCQUFpQixhQUlQLFlBQVksYUFSdEIsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYTtRQUNiLGlCQUFpQjtrSEFRTixvQkFBb0IsWUFKckIsWUFBWTsyRkFJWCxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xyRHJhZ0hhbmRsZSB9IGZyb20gJy4vZHJhZy1oYW5kbGUnO1xuaW1wb3J0IHsgQ2xyRHJhZ2dhYmxlR2hvc3QgfSBmcm9tICcuL2RyYWdnYWJsZS1naG9zdCc7XG5pbXBvcnQgeyBDbHJEcmFnZ2FibGUgfSBmcm9tICcuL2RyYWdnYWJsZS9kcmFnZ2FibGUnO1xuaW1wb3J0IHsgQ2xyRHJvcHBhYmxlIH0gZnJvbSAnLi9kcm9wcGFibGUvZHJvcHBhYmxlJztcbmltcG9ydCB7IENscklmRHJhZ2dlZCB9IGZyb20gJy4vaWYtZHJhZ2dlZCc7XG5cbmV4cG9ydCBjb25zdCBDTFJfRFJBR19BTkRfRFJPUF9ESVJFQ1RJVkVTOiBUeXBlPGFueT5bXSA9IFtcbiAgQ2xyRHJhZ2dhYmxlLFxuICBDbHJEcm9wcGFibGUsXG4gIENscklmRHJhZ2dlZCxcbiAgQ2xyRHJhZ0hhbmRsZSxcbiAgQ2xyRHJhZ2dhYmxlR2hvc3QsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQ0xSX0RSQUdfQU5EX0RST1BfRElSRUNUSVZFU10sXG4gIGV4cG9ydHM6IFtDTFJfRFJBR19BTkRfRFJPUF9ESVJFQ1RJVkVTXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRHJhZ0FuZERyb3BNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
// This class is used to convert an internal event
|
|
7
|
-
// to an external event to be emitted.
|
|
8
|
-
export class ClrDragEvent {
|
|
9
|
-
constructor(dragEvent) {
|
|
10
|
-
this.dragPosition = dragEvent.dragPosition;
|
|
11
|
-
this.group = dragEvent.group;
|
|
12
|
-
this.dragDataTransfer = dragEvent.dragDataTransfer;
|
|
13
|
-
this.dropPointPosition = dragEvent.dropPointPosition;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2RyYWctYW5kLWRyb3AvZHJhZy1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBSUgsa0RBQWtEO0FBQ2xELHNDQUFzQztBQUN0QyxNQUFNLE9BQU8sWUFBWTtJQU12QixZQUFZLFNBQWdDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRHJhZ0V2ZW50SW50ZXJmYWNlLCBEcmFnUG9pbnRQb3NpdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9kcmFnLWV2ZW50LmludGVyZmFjZSc7XG5cbi8vIFRoaXMgY2xhc3MgaXMgdXNlZCB0byBjb252ZXJ0IGFuIGludGVybmFsIGV2ZW50XG4vLyB0byBhbiBleHRlcm5hbCBldmVudCB0byBiZSBlbWl0dGVkLlxuZXhwb3J0IGNsYXNzIENsckRyYWdFdmVudDxUPiB7XG4gIGRyYWdQb3NpdGlvbjogRHJhZ1BvaW50UG9zaXRpb247XG4gIGdyb3VwOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgZHJhZ0RhdGFUcmFuc2ZlcjogVDtcbiAgZHJvcFBvaW50UG9zaXRpb246IERyYWdQb2ludFBvc2l0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKGRyYWdFdmVudDogRHJhZ0V2ZW50SW50ZXJmYWNlPFQ+KSB7XG4gICAgdGhpcy5kcmFnUG9zaXRpb24gPSBkcmFnRXZlbnQuZHJhZ1Bvc2l0aW9uO1xuICAgIHRoaXMuZ3JvdXAgPSBkcmFnRXZlbnQuZ3JvdXA7XG4gICAgdGhpcy5kcmFnRGF0YVRyYW5zZmVyID0gZHJhZ0V2ZW50LmRyYWdEYXRhVHJhbnNmZXI7XG4gICAgdGhpcy5kcm9wUG9pbnRQb3NpdGlvbiA9IGRyYWdFdmVudC5kcm9wUG9pbnRQb3NpdGlvbjtcbiAgfVxufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { Directive, Optional } from '@angular/core';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./providers/drag-handle-registrar.service";
|
|
9
|
-
export class ClrDragHandle {
|
|
10
|
-
constructor(el, dragHandleRegistrar) {
|
|
11
|
-
this.el = el;
|
|
12
|
-
this.dragHandleRegistrar = dragHandleRegistrar;
|
|
13
|
-
if (!this.dragHandleRegistrar) {
|
|
14
|
-
// ClrDragHandleRegistrar is provided in ClrDraggable so we expect it to be present here
|
|
15
|
-
// as clrDragHandle is required to be used only inside of a clrDraggable directive.
|
|
16
|
-
throw new Error('The clrDragHandle directive can only be used inside of a clrDraggable directive.');
|
|
17
|
-
}
|
|
18
|
-
this.dragHandleRegistrar.registerCustomHandle(this.el.nativeElement);
|
|
19
|
-
}
|
|
20
|
-
ngOnDestroy() {
|
|
21
|
-
this.dragHandleRegistrar.unregisterCustomHandle();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
ClrDragHandle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDragHandle, deps: [{ token: i0.ElementRef }, { token: i1.DragHandleRegistrarService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
-
ClrDragHandle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ClrDragHandle, selector: "[clrDragHandle]", host: { properties: { "class.drag-handle": "true" } }, ngImport: i0 });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDragHandle, decorators: [{
|
|
27
|
-
type: Directive,
|
|
28
|
-
args: [{
|
|
29
|
-
selector: '[clrDragHandle]',
|
|
30
|
-
host: { '[class.drag-handle]': 'true' },
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DragHandleRegistrarService, decorators: [{
|
|
33
|
-
type: Optional
|
|
34
|
-
}] }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9kcmFnLWFuZC1kcm9wL2RyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUF5QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEzRSxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFvQixFQUFjLEVBQXNCLG1CQUFrRDtRQUF0RixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQXNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBK0I7UUFDeEcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM3Qix3RkFBd0Y7WUFDeEYsbUZBQW1GO1lBQ25GLE1BQU0sSUFBSSxLQUFLLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztTQUNyRztRQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDcEQsQ0FBQzs7MEdBWlUsYUFBYTs4RkFBYixhQUFhOzJGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFO2lCQUN4Qzs7MEJBRXNDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFnSGFuZGxlUmVnaXN0cmFyU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RyYWctaGFuZGxlLXJlZ2lzdHJhci5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckRyYWdIYW5kbGVdJyxcbiAgaG9zdDogeyAnW2NsYXNzLmRyYWctaGFuZGxlXSc6ICd0cnVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEcmFnSGFuZGxlPFQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkcmFnSGFuZGxlUmVnaXN0cmFyOiBEcmFnSGFuZGxlUmVnaXN0cmFyU2VydmljZTxUPikge1xuICAgIGlmICghdGhpcy5kcmFnSGFuZGxlUmVnaXN0cmFyKSB7XG4gICAgICAvLyBDbHJEcmFnSGFuZGxlUmVnaXN0cmFyIGlzIHByb3ZpZGVkIGluIENsckRyYWdnYWJsZSBzbyB3ZSBleHBlY3QgaXQgdG8gYmUgcHJlc2VudCBoZXJlXG4gICAgICAvLyBhcyBjbHJEcmFnSGFuZGxlIGlzIHJlcXVpcmVkIHRvIGJlIHVzZWQgb25seSBpbnNpZGUgb2YgYSBjbHJEcmFnZ2FibGUgZGlyZWN0aXZlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgY2xyRHJhZ0hhbmRsZSBkaXJlY3RpdmUgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgb2YgYSBjbHJEcmFnZ2FibGUgZGlyZWN0aXZlLicpO1xuICAgIH1cbiAgICB0aGlzLmRyYWdIYW5kbGVSZWdpc3RyYXIucmVnaXN0ZXJDdXN0b21IYW5kbGUodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZHJhZ0hhbmRsZVJlZ2lzdHJhci51bnJlZ2lzdGVyQ3VzdG9tSGFuZGxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { ContentChild, Directive, EventEmitter, Output, } from '@angular/core';
|
|
7
|
-
import { Input } from '@angular/core';
|
|
8
|
-
import { DomAdapter } from '../../dom-adapter/dom-adapter';
|
|
9
|
-
import { ClrDragEvent } from '../drag-event';
|
|
10
|
-
import { ClrDraggableGhost } from '../draggable-ghost';
|
|
11
|
-
import { ClrIfDragged } from '../if-dragged';
|
|
12
|
-
import { DragEventListenerService } from '../providers/drag-event-listener.service';
|
|
13
|
-
import { DragHandleRegistrarService } from '../providers/drag-handle-registrar.service';
|
|
14
|
-
import { DraggableSnapshotService } from '../providers/draggable-snapshot.service';
|
|
15
|
-
import { GlobalDragModeService } from '../providers/global-drag-mode.service';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "../providers/drag-event-listener.service";
|
|
18
|
-
import * as i2 from "../providers/drag-handle-registrar.service";
|
|
19
|
-
import * as i3 from "../providers/draggable-snapshot.service";
|
|
20
|
-
import * as i4 from "../providers/global-drag-mode.service";
|
|
21
|
-
export class ClrDraggable {
|
|
22
|
-
constructor(el, dragEventListener, dragHandleRegistrar, viewContainerRef, cfr, injector, draggableSnapshot, globalDragMode) {
|
|
23
|
-
this.el = el;
|
|
24
|
-
this.dragEventListener = dragEventListener;
|
|
25
|
-
this.dragHandleRegistrar = dragHandleRegistrar;
|
|
26
|
-
this.viewContainerRef = viewContainerRef;
|
|
27
|
-
this.cfr = cfr;
|
|
28
|
-
this.injector = injector;
|
|
29
|
-
this.draggableSnapshot = draggableSnapshot;
|
|
30
|
-
this.globalDragMode = globalDragMode;
|
|
31
|
-
this.subscriptions = [];
|
|
32
|
-
this.dragOn = false;
|
|
33
|
-
this.dragStartEmitter = new EventEmitter();
|
|
34
|
-
this.dragMoveEmitter = new EventEmitter();
|
|
35
|
-
this.dragEndEmitter = new EventEmitter();
|
|
36
|
-
this.draggableEl = this.el.nativeElement;
|
|
37
|
-
this.componentFactory = this.cfr.resolveComponentFactory(ClrDraggableGhost);
|
|
38
|
-
}
|
|
39
|
-
set dataTransfer(value) {
|
|
40
|
-
this.dragEventListener.dragDataTransfer = value;
|
|
41
|
-
}
|
|
42
|
-
set group(value) {
|
|
43
|
-
this.dragEventListener.group = value;
|
|
44
|
-
}
|
|
45
|
-
set dragStartDelay(value) {
|
|
46
|
-
if (typeof value === 'number') {
|
|
47
|
-
this.dragEventListener.dragStartDelay = value;
|
|
48
|
-
}
|
|
49
|
-
else if (typeof value === 'string') {
|
|
50
|
-
this.dragEventListener.dragStartDelay = parseInt(value, 10) || 0;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
createDefaultGhost(event) {
|
|
54
|
-
this.draggableSnapshot.capture(this.draggableEl, event);
|
|
55
|
-
// NOTE: The default ghost element will appear
|
|
56
|
-
// next to the clrDraggable in the DOM as a sibling element.
|
|
57
|
-
this.viewContainerRef.createComponent(this.componentFactory, 0, this.injector, [
|
|
58
|
-
[this.draggableEl.cloneNode(true)],
|
|
59
|
-
]);
|
|
60
|
-
}
|
|
61
|
-
destroyDefaultGhost() {
|
|
62
|
-
this.viewContainerRef.clear();
|
|
63
|
-
this.draggableSnapshot.discard();
|
|
64
|
-
}
|
|
65
|
-
ngAfterContentInit() {
|
|
66
|
-
this.dragHandleRegistrar.defaultHandleEl = this.draggableEl;
|
|
67
|
-
this.subscriptions.push(this.dragEventListener.dragStarted.subscribe((event) => {
|
|
68
|
-
this.globalDragMode.enter();
|
|
69
|
-
this.dragOn = true;
|
|
70
|
-
if (!this.customGhost) {
|
|
71
|
-
this.createDefaultGhost(event);
|
|
72
|
-
}
|
|
73
|
-
this.dragStartEmitter.emit(new ClrDragEvent(event));
|
|
74
|
-
}));
|
|
75
|
-
this.subscriptions.push(this.dragEventListener.dragMoved.subscribe((event) => {
|
|
76
|
-
this.dragMoveEmitter.emit(new ClrDragEvent(event));
|
|
77
|
-
}));
|
|
78
|
-
this.subscriptions.push(this.dragEventListener.dragEnded.subscribe((event) => {
|
|
79
|
-
this.globalDragMode.exit();
|
|
80
|
-
this.dragOn = false;
|
|
81
|
-
if (!this.customGhost) {
|
|
82
|
-
this.destroyDefaultGhost();
|
|
83
|
-
}
|
|
84
|
-
this.dragEndEmitter.emit(new ClrDragEvent(event));
|
|
85
|
-
}));
|
|
86
|
-
}
|
|
87
|
-
ngOnDestroy() {
|
|
88
|
-
this.subscriptions.forEach((sub) => sub.unsubscribe());
|
|
89
|
-
this.dragEventListener.detachDragListeners();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
ClrDraggable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDraggable, deps: [{ token: i0.ElementRef }, { token: i1.DragEventListenerService }, { token: i2.DragHandleRegistrarService }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i3.DraggableSnapshotService }, { token: i4.GlobalDragModeService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
93
|
-
ClrDraggable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ClrDraggable, selector: "[clrDraggable]", inputs: { dataTransfer: ["clrDraggable", "dataTransfer"], group: ["clrGroup", "group"], dragStartDelay: ["clrDragStartDelay", "dragStartDelay"] }, outputs: { dragStartEmitter: "clrDragStart", dragMoveEmitter: "clrDragMove", dragEndEmitter: "clrDragEnd" }, host: { properties: { "class.draggable": "true", "class.being-dragged": "dragOn" } }, providers: [
|
|
94
|
-
DragEventListenerService,
|
|
95
|
-
DragHandleRegistrarService,
|
|
96
|
-
DraggableSnapshotService,
|
|
97
|
-
GlobalDragModeService,
|
|
98
|
-
DomAdapter,
|
|
99
|
-
], queries: [{ propertyName: "customGhost", first: true, predicate: ClrIfDragged, descendants: true }], ngImport: i0 });
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDraggable, decorators: [{
|
|
101
|
-
type: Directive,
|
|
102
|
-
args: [{
|
|
103
|
-
selector: '[clrDraggable]',
|
|
104
|
-
providers: [
|
|
105
|
-
DragEventListenerService,
|
|
106
|
-
DragHandleRegistrarService,
|
|
107
|
-
DraggableSnapshotService,
|
|
108
|
-
GlobalDragModeService,
|
|
109
|
-
DomAdapter,
|
|
110
|
-
],
|
|
111
|
-
host: { '[class.draggable]': 'true', '[class.being-dragged]': 'dragOn' },
|
|
112
|
-
}]
|
|
113
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DragEventListenerService }, { type: i2.DragHandleRegistrarService }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i3.DraggableSnapshotService }, { type: i4.GlobalDragModeService }]; }, propDecorators: { customGhost: [{
|
|
114
|
-
type: ContentChild,
|
|
115
|
-
args: [ClrIfDragged]
|
|
116
|
-
}], dataTransfer: [{
|
|
117
|
-
type: Input,
|
|
118
|
-
args: ['clrDraggable']
|
|
119
|
-
}], group: [{
|
|
120
|
-
type: Input,
|
|
121
|
-
args: ['clrGroup']
|
|
122
|
-
}], dragStartDelay: [{
|
|
123
|
-
type: Input,
|
|
124
|
-
args: ['clrDragStartDelay']
|
|
125
|
-
}], dragStartEmitter: [{
|
|
126
|
-
type: Output,
|
|
127
|
-
args: ['clrDragStart']
|
|
128
|
-
}], dragMoveEmitter: [{
|
|
129
|
-
type: Output,
|
|
130
|
-
args: ['clrDragMove']
|
|
131
|
-
}], dragEndEmitter: [{
|
|
132
|
-
type: Output,
|
|
133
|
-
args: ['clrDragEnd']
|
|
134
|
-
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZHJhZy1hbmQtZHJvcC9kcmFnZ2FibGUvZHJhZ2dhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBSUwsWUFBWSxFQUNaLFNBQVMsRUFFVCxZQUFZLEVBR1osTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7O0FBYTlFLE1BQU0sT0FBTyxZQUFZO0lBTXZCLFlBQ1UsRUFBYyxFQUNkLGlCQUE4QyxFQUM5QyxtQkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLEdBQTZCLEVBQzdCLFFBQWtCLEVBQ2xCLGlCQUE4QyxFQUM5QyxjQUFxQztRQVByQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtRQUM5Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQStCO1FBQ2xELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMs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QUFFO2lCQUN6RTt5VkFxQjZCLFdBQVc7c0JBQXRDLFlBQVk7dUJBQUMsWUFBWTtnQkFHdEIsWUFBWTtzQkFEZixLQUFLO3VCQUFDLGNBQWM7Z0JBTWpCLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxVQUFVO2dCQU1iLGNBQWM7c0JBRGpCLEtBQUs7dUJBQUMsbUJBQW1CO2dCQXVCRixnQkFBZ0I7c0JBQXZDLE1BQU07dUJBQUMsY0FBYztnQkFDQyxlQUFlO3NCQUFyQyxNQUFNO3VCQUFDLGFBQWE7Z0JBQ0MsY0FBYztzQkFBbkMsTUFBTTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnRGYWN0b3J5LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERvbUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9kb20tYWRhcHRlci9kb20tYWRhcHRlcic7XG5pbXBvcnQgeyBDbHJEcmFnRXZlbnQgfSBmcm9tICcuLi9kcmFnLWV2ZW50JztcbmltcG9ydCB7IENsckRyYWdnYWJsZUdob3N0IH0gZnJvbSAnLi4vZHJhZ2dhYmxlLWdob3N0JztcbmltcG9ydCB7IENscklmRHJhZ2dlZCB9IGZyb20gJy4uL2lmLWRyYWdnZWQnO1xuaW1wb3J0IHsgRHJhZ0V2ZW50SW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kcmFnLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEcmFnRXZlbnRMaXN0ZW5lclNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvZHJhZy1ldmVudC1saXN0ZW5lci5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdIYW5kbGVSZWdpc3RyYXJTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RyYWctaGFuZGxlLXJlZ2lzdHJhci5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdnYWJsZVNuYXBzaG90U2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9kcmFnZ2FibGUtc25hcHNob3Quc2VydmljZSc7XG5pbXBvcnQgeyBHbG9iYWxEcmFnTW9kZVNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvZ2xvYmFsLWRyYWctbW9kZS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckRyYWdnYWJsZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBEcmFnRXZlbnRMaXN0ZW5lclNlcnZpY2UsXG4gICAgRHJhZ0hhbmRsZVJlZ2lzdHJhclNlcnZpY2UsXG4gICAgRHJhZ2dhYmxlU25hcHNob3RTZXJ2aWNlLFxuICAgIEdsb2JhbERyYWdNb2RlU2VydmljZSxcbiAgICBEb21BZGFwdGVyLFxuICBdLFxuICBob3N0OiB7ICdbY2xhc3MuZHJhZ2dhYmxlXSc6ICd0cnVlJywgJ1tjbGFzcy5iZWluZy1kcmFnZ2VkXSc6ICdkcmFnT24nIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRyYWdnYWJsZTxUPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZHJhZ2dhYmxlRWw6IGFueTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Q2xyRHJhZ2dhYmxlR2hvc3Q8VD4+O1xuICBkcmFnT24gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZHJhZ0V2ZW50TGlzdGVuZXI6IERyYWdFdmVudExpc3RlbmVyU2VydmljZTxUPixcbiAgICBwcml2YXRlIGRyYWdIYW5kbGVSZWdpc3RyYXI6IERyYWdIYW5kbGVSZWdpc3RyYXJTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGNmcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgZHJhZ2dhYmxlU25hcHNob3Q6IERyYWdnYWJsZVNuYXBzaG90U2VydmljZTxUPixcbiAgICBwcml2YXRlIGdsb2JhbERyYWdNb2RlOiBHbG9iYWxEcmFnTW9kZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5kcmFnZ2FibGVFbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeTxDbHJEcmFnZ2FibGVHaG9zdDxUPj4oQ2xyRHJhZ2dhYmxlR2hvc3QpO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZChDbHJJZkRyYWdnZWQpIGN1c3RvbUdob3N0OiBDbHJJZkRyYWdnZWQ8VD47XG5cbiAgQElucHV0KCdjbHJEcmFnZ2FibGUnKVxuICBzZXQgZGF0YVRyYW5zZmVyKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kcmFnRGF0YVRyYW5zZmVyID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ2Nsckdyb3VwJylcbiAgc2V0IGdyb3VwKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRoaXMuZHJhZ0V2ZW50TGlzdGVuZXIuZ3JvdXAgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyRHJhZ1N0YXJ0RGVsYXknKVxuICBzZXQgZHJhZ1N0YXJ0RGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLmRyYWdFdmVudExpc3RlbmVyLmRyYWdTdGFydERlbGF5ID0gdmFsdWU7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLmRyYWdFdmVudExpc3RlbmVyLmRyYWdTdGFydERlbGF5ID0gcGFyc2VJbnQodmFsdWUsIDEwKSB8fCAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGVmYXVsdEdob3N0KGV2ZW50OiBEcmFnRXZlbnRJbnRlcmZhY2U8VD4pIHtcbiAgICB0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmNhcHR1cmUodGhpcy5kcmFnZ2FibGVFbCwgZXZlbnQpO1xuICAgIC8vIE5PVEU6IFRoZSBkZWZhdWx0IGdob3N0IGVsZW1lbnQgd2lsbCBhcHBlYXJcbiAgICAvLyBuZXh0IHRvIHRoZSBjbHJEcmFnZ2FibGUgaW4gdGhlIERPTSBhcyBhIHNpYmxpbmcgZWxlbWVudC5cbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50RmFjdG9yeSwgMCwgdGhpcy5pbmplY3RvciwgW1xuICAgICAgW3RoaXMuZHJhZ2dhYmxlRWwuY2xvbmVOb2RlKHRydWUpXSxcbiAgICBdKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveURlZmF1bHRHaG9zdCgpIHtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICB0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmRpc2NhcmQoKTtcbiAgfVxuXG4gIEBPdXRwdXQoJ2NsckRyYWdTdGFydCcpIGRyYWdTdGFydEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDbHJEcmFnRXZlbnQ8VD4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCdjbHJEcmFnTW92ZScpIGRyYWdNb3ZlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENsckRyYWdFdmVudDxUPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ2NsckRyYWdFbmQnKSBkcmFnRW5kRW1pdHRlcjogRXZlbnRFbWl0dGVyPENsckRyYWdFdmVudDxUPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuZHJhZ0hhbmRsZVJlZ2lzdHJhci5kZWZhdWx0SGFuZGxlRWwgPSB0aGlzLmRyYWdnYWJsZUVsO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmRyYWdFdmVudExpc3RlbmVyLmRyYWdTdGFydGVkLnN1YnNjcmliZSgoZXZlbnQ6IERyYWdFdmVudEludGVyZmFjZTxUPikgPT4ge1xuICAgICAgICB0aGlzLmdsb2JhbERyYWdNb2RlLmVudGVyKCk7XG4gICAgICAgIHRoaXMuZHJhZ09uID0gdHJ1ZTtcbiAgICAgICAgaWYgKCF0aGlzLmN1c3RvbUdob3N0KSB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0R2hvc3QoZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kcmFnU3RhcnRFbWl0dGVyLmVtaXQobmV3IENsckRyYWdFdmVudChldmVudCkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kcmFnTW92ZWQuc3Vic2NyaWJlKChldmVudDogRHJhZ0V2ZW50SW50ZXJmYWNlPFQ+KSA9PiB7XG4gICAgICAgIHRoaXMuZHJhZ01vdmVFbWl0dGVyLmVtaXQobmV3IENsckRyYWdFdmVudChldmVudCkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kcmFnRW5kZWQuc3Vic2NyaWJlKChldmVudDogRHJhZ0V2ZW50SW50ZXJmYWNlPFQ+KSA9PiB7XG4gICAgICAgIHRoaXMuZ2xvYmFsRHJhZ01vZGUuZXhpdCgpO1xuICAgICAgICB0aGlzLmRyYWdPbiA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuY3VzdG9tR2hvc3QpIHtcbiAgICAgICAgICB0aGlzLmRlc3Ryb3lEZWZhdWx0R2hvc3QoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyYWdFbmRFbWl0dGVyLmVtaXQobmV3IENsckRyYWdFdmVudChldmVudCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kZXRhY2hEcmFnTGlzdGVuZXJzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
3
|
-
* This software is released under MIT license.
|
|
4
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
|
-
*/
|
|
6
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
7
|
-
import { Component, HostBinding, Optional } from '@angular/core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "./providers/drag-event-listener.service";
|
|
10
|
-
import * as i2 from "./providers/draggable-snapshot.service";
|
|
11
|
-
export class ClrDraggableGhost {
|
|
12
|
-
constructor(el, dragEventListener, draggableSnapshot, renderer, ngZone) {
|
|
13
|
-
this.el = el;
|
|
14
|
-
this.dragEventListener = dragEventListener;
|
|
15
|
-
this.draggableSnapshot = draggableSnapshot;
|
|
16
|
-
this.renderer = renderer;
|
|
17
|
-
this.ngZone = ngZone;
|
|
18
|
-
this.subscriptions = [];
|
|
19
|
-
this.leaveAnimConfig = { value: 0, params: { top: '0px', left: '0px' } };
|
|
20
|
-
if (!this.dragEventListener || !this.draggableSnapshot) {
|
|
21
|
-
throw new Error('The clr-draggable-ghost component can only be used inside of a clrDraggable directive.');
|
|
22
|
-
}
|
|
23
|
-
this.draggableGhostEl = this.el.nativeElement;
|
|
24
|
-
// Need to use Renderer2 as it runs outside of NgZone
|
|
25
|
-
this.renderer.addClass(this.draggableGhostEl, 'draggable-ghost');
|
|
26
|
-
// Register the ghost element in DragEventListener to pass in a ClrDragEvent.
|
|
27
|
-
this.dragEventListener.ghostElement = this.draggableGhostEl;
|
|
28
|
-
// Default ghost size gets the size of ClrDraggable element.
|
|
29
|
-
this.setDefaultGhostSize(this.draggableGhostEl);
|
|
30
|
-
const offset = {
|
|
31
|
-
top: this.draggableSnapshot.hasDraggableState
|
|
32
|
-
? this.draggableSnapshot.dragEvent.dragPosition.pageY - this.draggableSnapshot.clientRect.top
|
|
33
|
-
: 0,
|
|
34
|
-
left: this.draggableSnapshot.hasDraggableState
|
|
35
|
-
? this.draggableSnapshot.dragEvent.dragPosition.pageX - this.draggableSnapshot.clientRect.left
|
|
36
|
-
: 0,
|
|
37
|
-
};
|
|
38
|
-
let isAnimationConfigured = false;
|
|
39
|
-
this.subscriptions.push(this.dragEventListener.dragMoved.subscribe((event) => {
|
|
40
|
-
// On the first drag move event, we configure the animation as it's dependent on the first drag event.
|
|
41
|
-
if (!isAnimationConfigured) {
|
|
42
|
-
if (this.draggableSnapshot.hasDraggableState) {
|
|
43
|
-
this.animateToOnLeave(`${this.draggableSnapshot.clientRect.top}px`, `${this.draggableSnapshot.clientRect.left}px`);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.animateToOnLeave(`${this.dragEventListener.dragStartPosition.pageY}px`, `${this.dragEventListener.dragStartPosition.pageY}px`);
|
|
47
|
-
}
|
|
48
|
-
isAnimationConfigured = true;
|
|
49
|
-
}
|
|
50
|
-
// Position the draggable ghost.
|
|
51
|
-
const topLeftPosition = this.findTopLeftPosition(event.dragPosition, offset);
|
|
52
|
-
this.setPositionStyle(this.draggableGhostEl, topLeftPosition.pageX, topLeftPosition.pageY);
|
|
53
|
-
this.dragEventListener.dropPointPosition = this.findDropPointPosition(topLeftPosition);
|
|
54
|
-
}));
|
|
55
|
-
}
|
|
56
|
-
setDefaultGhostSize(el) {
|
|
57
|
-
if (this.draggableSnapshot.hasDraggableState) {
|
|
58
|
-
this.setSizeStyle(el, this.draggableSnapshot.clientRect.width, this.draggableSnapshot.clientRect.height);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
animateToOnLeave(top, left) {
|
|
62
|
-
this.ngZone.run(() => {
|
|
63
|
-
this.leaveAnimConfig = { value: 0, params: { top: top, left: left } };
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
findTopLeftPosition(dragPosition, offset) {
|
|
67
|
-
return { pageX: dragPosition.pageX - offset.left, pageY: dragPosition.pageY - offset.top };
|
|
68
|
-
}
|
|
69
|
-
findDropPointPosition(topLeftPosition) {
|
|
70
|
-
if (this.draggableSnapshot.hasDraggableState) {
|
|
71
|
-
return {
|
|
72
|
-
pageX: topLeftPosition.pageX + this.draggableSnapshot.clientRect.width / 2,
|
|
73
|
-
pageY: topLeftPosition.pageY + this.draggableSnapshot.clientRect.height / 2,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
return topLeftPosition;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
setSizeStyle(el, width, height) {
|
|
81
|
-
this.renderer.setStyle(el, 'width', `${width}px`);
|
|
82
|
-
this.renderer.setStyle(el, 'height', `${height}px`);
|
|
83
|
-
}
|
|
84
|
-
setPositionStyle(el, left, top) {
|
|
85
|
-
this.renderer.setStyle(el, 'left', `${left}px`);
|
|
86
|
-
this.renderer.setStyle(el, 'top', `${top}px`);
|
|
87
|
-
this.renderer.setStyle(el, 'visibility', 'visible');
|
|
88
|
-
}
|
|
89
|
-
ngOnDestroy() {
|
|
90
|
-
this.subscriptions.forEach((sub) => sub.unsubscribe());
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
ClrDraggableGhost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDraggableGhost, deps: [{ token: i0.ElementRef }, { token: i1.DragEventListenerService, optional: true }, { token: i2.DraggableSnapshotService, optional: true }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
-
ClrDraggableGhost.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: ClrDraggableGhost, selector: "clr-draggable-ghost", host: { properties: { "@leaveAnimation": "this.leaveAnimConfig" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, animations: [
|
|
95
|
-
trigger('leaveAnimation', [
|
|
96
|
-
transition(':leave', [
|
|
97
|
-
style({ left: '*', top: '*' }),
|
|
98
|
-
animate('0.2s ease-in-out', style({ top: '{{top}}', left: '{{left}}' })),
|
|
99
|
-
]),
|
|
100
|
-
]),
|
|
101
|
-
] });
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDraggableGhost, decorators: [{
|
|
103
|
-
type: Component,
|
|
104
|
-
args: [{
|
|
105
|
-
selector: 'clr-draggable-ghost',
|
|
106
|
-
template: `<ng-content></ng-content>`,
|
|
107
|
-
animations: [
|
|
108
|
-
trigger('leaveAnimation', [
|
|
109
|
-
transition(':leave', [
|
|
110
|
-
style({ left: '*', top: '*' }),
|
|
111
|
-
animate('0.2s ease-in-out', style({ top: '{{top}}', left: '{{left}}' })),
|
|
112
|
-
]),
|
|
113
|
-
]),
|
|
114
|
-
],
|
|
115
|
-
}]
|
|
116
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DragEventListenerService, decorators: [{
|
|
117
|
-
type: Optional
|
|
118
|
-
}] }, { type: i2.DraggableSnapshotService, decorators: [{
|
|
119
|
-
type: Optional
|
|
120
|
-
}] }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { leaveAnimConfig: [{
|
|
121
|
-
type: HostBinding,
|
|
122
|
-
args: ['@leaveAnimation']
|
|
123
|
-
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLWdob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZHJhZy1hbmQtZHJvcC9kcmFnZ2FibGUtZ2hvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBcUIsUUFBUSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7O0FBNEIzRyxNQUFNLE9BQU8saUJBQWlCO0lBTzVCLFlBQ1UsRUFBYyxFQUNGLGlCQUE4QyxFQUM5QyxpQkFBOEMsRUFDMUQsUUFBbUIsRUFDbkIsTUFBYztRQUpkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDRixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBQzlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkI7UUFDMUQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBVGhCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUVYLG9CQUFlLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFTbEcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7U0FDM0c7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFOUMscURBQXFEO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFD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QUE5QyxXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRHJhZ0V2ZW50SW50ZXJmYWNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2RyYWctZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERyYWdFdmVudExpc3RlbmVyU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RyYWctZXZlbnQtbGlzdGVuZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnZ2FibGVTbmFwc2hvdFNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9kcmFnZ2FibGUtc25hcHNob3Quc2VydmljZSc7XG5cbnR5cGUgUGFnZVBvc2l0aW9uID0ge1xuICBwYWdlWDogbnVtYmVyO1xuICBwYWdlWTogbnVtYmVyO1xufTtcbnR5cGUgT2Zmc2V0UG9zaXRpb24gPSB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZHJhZ2dhYmxlLWdob3N0JyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2xlYXZlQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBzdHlsZSh7IGxlZnQ6ICcqJywgdG9wOiAnKicgfSksXG4gICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IHRvcDogJ3t7dG9wfX0nLCBsZWZ0OiAne3tsZWZ0fX0nIH0pKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEcmFnZ2FibGVHaG9zdDxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZHJhZ2dhYmxlR2hvc3RFbDogYW55O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBASG9zdEJpbmRpbmcoJ0BsZWF2ZUFuaW1hdGlvbicpIGxlYXZlQW5pbUNvbmZpZyA9IHsgdmFsdWU6IDAsIHBhcmFtczogeyB0b3A6ICcwcHgnLCBsZWZ0OiAnMHB4JyB9IH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRyYWdFdmVudExpc3RlbmVyOiBEcmFnRXZlbnRMaXN0ZW5lclNlcnZpY2U8VD4sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkcmFnZ2FibGVTbmFwc2hvdDogRHJhZ2dhYmxlU25hcHNob3RTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIGlmICghdGhpcy5kcmFnRXZlbnRMaXN0ZW5lciB8fCAhdGhpcy5kcmFnZ2FibGVTbmFwc2hvdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgY2xyLWRyYWdnYWJsZS1naG9zdCBjb21wb25lbnQgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgb2YgYSBjbHJEcmFnZ2FibGUgZGlyZWN0aXZlLicpO1xuICAgIH1cblxuICAgIHRoaXMuZHJhZ2dhYmxlR2hvc3RFbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgIC8vIE5lZWQgdG8gdXNlIFJlbmRlcmVyMiBhcyBpdCBydW5zIG91dHNpZGUgb2YgTmdab25lXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRyYWdnYWJsZUdob3N0RWwsICdkcmFnZ2FibGUtZ2hvc3QnKTtcblxuICAgIC8vIFJlZ2lzdGVyIHRoZSBnaG9zdCBlbGVtZW50IGluIERyYWdFdmVudExpc3RlbmVyIHRvIHBhc3MgaW4gYSBDbHJEcmFnRXZlbnQuXG4gICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5naG9zdEVsZW1lbnQgPSB0aGlzLmRyYWdnYWJsZUdob3N0RWw7XG5cbiAgICAvLyBEZWZhdWx0IGdob3N0IHNpemUgZ2V0cyB0aGUgc2l6ZSBvZiBDbHJEcmFnZ2FibGUgZWxlbWVudC5cbiAgICB0aGlzLnNldERlZmF1bHRHaG9zdFNpemUodGhpcy5kcmFnZ2FibGVHaG9zdEVsKTtcblxuICAgIGNvbnN0IG9mZnNldDogT2Zmc2V0UG9zaXRpb24gPSB7XG4gICAgICB0b3A6IHRoaXMuZHJhZ2dhYmxlU25hcHNob3QuaGFzRHJhZ2dhYmxlU3RhdGVcbiAgICAgICAgPyB0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmRyYWdFdmVudC5kcmFnUG9zaXRpb24ucGFnZVkgLSB0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmNsaWVudFJlY3QudG9wXG4gICAgICAgIDogMCxcbiAgICAgIGxlZnQ6IHRoaXMuZHJhZ2dhYmxlU25hcHNob3QuaGFzRHJhZ2dhYmxlU3RhdGVcbiAgICAgICAgPyB0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmRyYWdFdmVudC5kcmFnUG9zaXRpb24ucGFnZVggLSB0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmNsaWVudFJlY3QubGVmdFxuICAgICAgICA6IDAsXG4gICAgfTtcblxuICAgIGxldCBpc0FuaW1hdGlvbkNvbmZpZ3VyZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kcmFnTW92ZWQuc3Vic2NyaWJlKChldmVudDogRHJhZ0V2ZW50SW50ZXJmYWNlPFQ+KSA9PiB7XG4gICAgICAgIC8vIE9uIHRoZSBmaXJzdCBkcmFnIG1vdmUgZXZlbnQsIHdlIGNvbmZpZ3VyZSB0aGUgYW5pbWF0aW9uIGFzIGl0J3MgZGVwZW5kZW50IG9uIHRoZSBmaXJzdCBkcmFnIGV2ZW50LlxuICAgICAgICBpZiAoIWlzQW5pbWF0aW9uQ29uZmlndXJlZCkge1xuICAgICAgICAgIGlmICh0aGlzLmRyYWdnYWJsZVNuYXBzaG90Lmhhc0RyYWdnYWJsZVN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmFuaW1hdGVUb09uTGVhdmUoXG4gICAgICAgICAgICAgIGAke3RoaXMuZHJhZ2dhYmxlU25hcHNob3QuY2xpZW50UmVjdC50b3B9cHhgLFxuICAgICAgICAgICAgICBgJHt0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmNsaWVudFJlY3QubGVmdH1weGBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0ZVRvT25MZWF2ZShcbiAgICAgICAgICAgICAgYCR7dGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kcmFnU3RhcnRQb3NpdGlvbi5wYWdlWX1weGAsXG4gICAgICAgICAgICAgIGAke3RoaXMuZHJhZ0V2ZW50TGlzdGVuZXIuZHJhZ1N0YXJ0UG9zaXRpb24ucGFnZVl9cHhgXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpc0FuaW1hdGlvbkNvbmZpZ3VyZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb24gdGhlIGRyYWdnYWJsZSBnaG9zdC5cbiAgICAgICAgY29uc3QgdG9wTGVmdFBvc2l0aW9uOiBQYWdlUG9zaXRpb24gPSB0aGlzLmZpbmRUb3BMZWZ0UG9zaXRpb24oZXZlbnQuZHJhZ1Bvc2l0aW9uLCBvZmZzZXQpO1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uU3R5bGUodGhpcy5kcmFnZ2FibGVHaG9zdEVsLCB0b3BMZWZ0UG9zaXRpb24ucGFnZVgsIHRvcExlZnRQb3NpdGlvbi5wYWdlWSk7XG4gICAgICAgIHRoaXMuZHJhZ0V2ZW50TGlzdGVuZXIuZHJvcFBvaW50UG9zaXRpb24gPSB0aGlzLmZpbmREcm9wUG9pbnRQb3NpdGlvbih0b3BMZWZ0UG9zaXRpb24pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREZWZhdWx0R2hvc3RTaXplKGVsOiBOb2RlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlU25hcHNob3QuaGFzRHJhZ2dhYmxlU3RhdGUpIHtcbiAgICAgIHRoaXMuc2V0U2l6ZVN0eWxlKGVsLCB0aGlzLmRyYWdnYWJsZVNuYXBzaG90LmNsaWVudFJlY3Qud2lkdGgsIHRoaXMuZHJhZ2dhYmxlU25hcHNob3QuY2xpZW50UmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYW5pbWF0ZVRvT25MZWF2ZSh0b3A6IHN0cmluZywgbGVmdDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgIHRoaXMubGVhdmVBbmltQ29uZmlnID0geyB2YWx1ZTogMCwgcGFyYW1zOiB7IHRvcDogdG9wLCBsZWZ0OiBsZWZ0IH0gfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFRvcExlZnRQb3NpdGlvbihkcmFnUG9zaXRpb246IFBhZ2VQb3NpdGlvbiwgb2Zmc2V0OiBPZmZzZXRQb3NpdGlvbik6IFBhZ2VQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHsgcGFnZVg6IGRyYWdQb3NpdGlvbi5wYWdlWCAtIG9mZnNldC5sZWZ0LCBwYWdlWTogZHJhZ1Bvc2l0aW9uLnBhZ2VZIC0gb2Zmc2V0LnRvcCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRHJvcFBvaW50UG9zaXRpb24odG9wTGVmdFBvc2l0aW9uOiBQYWdlUG9zaXRpb24pOiBQYWdlUG9zaXRpb24ge1xuICAgIGlmICh0aGlzLmRyYWdnYWJsZVNuYXBzaG90Lmhhc0RyYWdnYWJsZVN0YXRlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWdlWDogdG9wTGVmdFBvc2l0aW9uLnBhZ2VYICsgdGhpcy5kcmFnZ2FibGVTbmFwc2hvdC5jbGllbnRSZWN0LndpZHRoIC8gMixcbiAgICAgICAgcGFnZVk6IHRvcExlZnRQb3NpdGlvbi5wYWdlWSArIHRoaXMuZHJhZ2dhYmxlU25hcHNob3QuY2xpZW50UmVjdC5oZWlnaHQgLyAyLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRvcExlZnRQb3NpdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFNpemVTdHlsZShlbDogTm9kZSwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsLCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWwsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb25TdHlsZShlbDogTm9kZSwgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWwsICdsZWZ0JywgYCR7bGVmdH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWwsICd0b3AnLCBgJHt0b3B9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3ViOiBTdWJzY3JpcHRpb24pID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIl19
|