@covalent/markdown-navigator 4.0.0 → 4.1.0-develop.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +70 -58
  2. package/_markdon-navigator-theme.scss +22 -0
  3. package/covalent-markdown-navigator.d.ts +2 -2
  4. package/esm2020/covalent-markdown-navigator.mjs +5 -0
  5. package/esm2020/markdown-navigator-window/markdown-navigator-window.component.mjs +84 -0
  6. package/esm2020/markdown-navigator-window-directive/markdown-navigator-window.directive.mjs +32 -0
  7. package/esm2020/markdown-navigator-window-service/markdown-navigator-window.service.mjs +130 -0
  8. package/esm2020/markdown-navigator.component.mjs +391 -0
  9. package/esm2020/markdown-navigator.module.mjs +77 -0
  10. package/esm2020/public_api.mjs +6 -0
  11. package/fesm2015/covalent-markdown-navigator.mjs +712 -0
  12. package/fesm2015/covalent-markdown-navigator.mjs.map +1 -0
  13. package/fesm2020/covalent-markdown-navigator.mjs +700 -0
  14. package/fesm2020/covalent-markdown-navigator.mjs.map +1 -0
  15. package/markdown-navigator-window/markdown-navigator-window.component.d.ts +15 -12
  16. package/markdown-navigator-window-directive/markdown-navigator-window.directive.d.ts +4 -1
  17. package/markdown-navigator-window-service/markdown-navigator-window.service.d.ts +3 -0
  18. package/markdown-navigator.component.d.ts +22 -20
  19. package/markdown-navigator.module.d.ts +17 -0
  20. package/package.json +38 -19
  21. package/{public-api.d.ts → public_api.d.ts} +1 -0
  22. package/bundles/covalent-markdown-navigator.umd.js +0 -1650
  23. package/bundles/covalent-markdown-navigator.umd.js.map +0 -1
  24. package/bundles/covalent-markdown-navigator.umd.min.js +0 -16
  25. package/bundles/covalent-markdown-navigator.umd.min.js.map +0 -1
  26. package/covalent-markdown-navigator.metadata.json +0 -1
  27. package/esm2015/covalent-markdown-navigator.js +0 -11
  28. package/esm2015/index.js +0 -7
  29. package/esm2015/markdown-navigator-window/markdown-navigator-window.component.js +0 -129
  30. package/esm2015/markdown-navigator-window-directive/markdown-navigator-window.directive.js +0 -50
  31. package/esm2015/markdown-navigator-window-service/markdown-navigator-window.service.js +0 -254
  32. package/esm2015/markdown-navigator.component.js +0 -698
  33. package/esm2015/markdown-navigator.module.js +0 -41
  34. package/esm2015/public-api.js +0 -10
  35. package/fesm2015/covalent-markdown-navigator.js +0 -1181
  36. package/fesm2015/covalent-markdown-navigator.js.map +0 -1
  37. package/index.d.ts +0 -1
  38. package/markdown-navigator-window/markdown-navigator-window.component.scss +0 -8
  39. package/markdown-navigator.component.scss +0 -50
package/README.md CHANGED
@@ -6,26 +6,26 @@ A component for rendering and navigating through markdown, such as documentation
6
6
 
7
7
  #### Inputs
8
8
 
9
- + items: IMarkdownNavigatorItem[]
10
- + List of IMarkdownNavigatorItems to be rendered
11
- + labels?: IMarkdownNavigatorLabels
12
- + Translated labels
13
- + startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[]
14
- + Item or path to jump to
15
- + compareWith?: IMarkdownNavigatorCompareWith
16
- + Function used to find startAt item
17
- + Defaults to comparison by strict equality (===)
18
- + footer:? Type<any>
19
- + Custom component to be used as global footer
20
- + copyCodeToClipboard?: boolean
21
- + Display copy button on code snippets to copy code to clipboard.
22
- + copyCodeTooltips?: ICopyCodeTooltips
23
- + Tooltips for copy button to copy and upon copying.
9
+ - items: IMarkdownNavigatorItem[]
10
+ - List of IMarkdownNavigatorItems to be rendered
11
+ - labels?: IMarkdownNavigatorLabels
12
+ - Translated labels
13
+ - startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[]
14
+ - Item or path to jump to
15
+ - compareWith?: IMarkdownNavigatorCompareWith
16
+ - Function used to find startAt item
17
+ - Defaults to comparison by strict equality (===)
18
+ - footer:? Type<any>
19
+ - Custom component to be used as global footer
20
+ - copyCodeToClipboard?: boolean
21
+ - Display copy button on code snippets to copy code to clipboard.
22
+ - copyCodeTooltips?: ICopyCodeTooltips
23
+ - Tooltips for copy button to copy and upon copying.
24
24
 
25
25
  #### Outputs
26
26
 
27
- + buttonClicked: ITdFlavoredMarkdownButtonClickEvent
28
- + Emitted when a button is clicked
27
+ - buttonClicked: ITdFlavoredMarkdownButtonClickEvent
28
+ - Emitted when a button is clicked
29
29
 
30
30
  For reference:
31
31
 
@@ -55,7 +55,7 @@ interface ICopyCodeTooltips {
55
55
  ```typescript
56
56
  import { CovalentMarkdownNavigatorModule } from '@covalent/markdown-navigator';
57
57
  @NgModule({
58
- imports: [CovalentMarkdownNavigatorModule]
58
+ imports: [CovalentMarkdownNavigatorModule],
59
59
  })
60
60
  export class MyModule {}
61
61
  ```
@@ -79,12 +79,12 @@ const items = [
79
79
  {
80
80
  id: 'td-loading',
81
81
  url: 'https://raw.githubusercontent.com/Teradata/covalent/develop/src/platform/core/loading/README.md',
82
- title: 'tdLoading'
83
- }
84
- ]
85
- }
86
- ]
87
- }
82
+ title: 'tdLoading',
83
+ },
84
+ ],
85
+ },
86
+ ],
87
+ },
88
88
  ];
89
89
  ```
90
90
 
@@ -96,35 +96,34 @@ A component that contains a MarkdownNavigator component and a toolbar
96
96
 
97
97
  #### Inputs
98
98
 
99
- + items: IMarkdownNavigatorItem[]
100
- + List of IMarkdownNavigatorItems to be rendered
101
- + labels?: IMarkdownNavigatorLabels
102
- + Translated labels
103
- + startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[]
104
- + Item or path to jump to
105
- + compareWith?: IMarkdownNavigatorCompareWith
106
- + Function used to find startAt item
107
- + Defaults to comparison by strict equality (===)
108
- + toolbarColor?: ThemePalette
109
- + Toolbar color
110
- + Defaults to 'primary'
111
- + footer:? Type<any>;
112
- + Custom component to be used as global footer
113
-
99
+ - items: IMarkdownNavigatorItem[]
100
+ - List of IMarkdownNavigatorItems to be rendered
101
+ - labels?: IMarkdownNavigatorLabels
102
+ - Translated labels
103
+ - startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[]
104
+ - Item or path to jump to
105
+ - compareWith?: IMarkdownNavigatorCompareWith
106
+ - Function used to find startAt item
107
+ - Defaults to comparison by strict equality (===)
108
+ - toolbarColor?: ThemePalette
109
+ - Toolbar color
110
+ - Defaults to 'primary'
111
+ - footer:? Type<any>;
112
+ - Custom component to be used as global footer
114
113
 
115
114
  #### Outputs
116
115
 
117
- + closed: void
118
- + Event emitted when the close button is clicked.
119
- + buttonClicked: ITdFlavoredMarkdownButtonClickEvent
120
- + Emitted when a button is clicked
116
+ - closed: void
117
+ - Event emitted when the close button is clicked.
118
+ - buttonClicked: ITdFlavoredMarkdownButtonClickEvent
119
+ - Emitted when a button is clicked
121
120
 
122
121
  ## Setup
123
122
 
124
123
  ```typescript
125
124
  import { CovalentMarkdownNavigatorModule } from '@covalent/markdown-navigator';
126
125
  @NgModule({
127
- imports: [CovalentMarkdownNavigatorModule]
126
+ imports: [CovalentMarkdownNavigatorModule],
128
127
  })
129
128
  export class MyModule {}
130
129
  ```
@@ -143,8 +142,8 @@ A service that opens a MarkdownNavigatorWindowComponent inside a draggable dialo
143
142
 
144
143
  #### Methods
145
144
 
146
- + open: function(config: IMarkdownNavigatorWindowConfig)
147
- + Opens a MarkdownNavigatorWindowComponent inside a draggable dialog.
145
+ - open: function(config: IMarkdownNavigatorWindowConfig)
146
+ - Opens a MarkdownNavigatorWindowComponent inside a draggable dialog.
148
147
 
149
148
  For reference:
150
149
 
@@ -165,7 +164,7 @@ interface IMarkdownNavigatorWindowConfig {
165
164
  ```typescript
166
165
  import { CovalentMarkdownNavigatorModule } from '@covalent/markdown-navigator';
167
166
  @NgModule({
168
- imports: [CovalentMarkdownNavigatorModule]
167
+ imports: [CovalentMarkdownNavigatorModule],
169
168
  })
170
169
  export class MyModule {}
171
170
  ```
@@ -176,17 +175,24 @@ export class MyModule {}
176
175
  import {
177
176
  TdMarkdownNavigatorWindowComponent,
178
177
  TdMarkdownNavigatorWindowService,
179
- IMarkdownNavigatorItem
178
+ IMarkdownNavigatorItem,
180
179
  } from '@covalent/markdown-navigator';
181
180
  import { MatDialogRef } from '@angular/material/dialog';
182
181
 
183
182
  export class SampleComponent {
184
- constructor(private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService) {}
183
+ constructor(
184
+ private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService
185
+ ) {}
185
186
 
186
187
  ngOnInit(): void {
187
- const ref: MatDialogRef<TdMarkdownNavigatorWindowComponent> = this._markdownNavigatorWindowService.open({
188
- items: [{ url: 'https://github.com/Teradata/covalent/blob/develop/README.md' }]
189
- });
188
+ const ref: MatDialogRef<TdMarkdownNavigatorWindowComponent> =
189
+ this._markdownNavigatorWindowService.open({
190
+ items: [
191
+ {
192
+ url: 'https://github.com/Teradata/covalent/blob/develop/README.md',
193
+ },
194
+ ],
195
+ });
190
196
  ref.afterOpened().subscribe(() => {});
191
197
  ref.afterClosed().subscribe(() => {});
192
198
  }
@@ -201,17 +207,17 @@ A directive that calls the TdMarkdownNavigatorWindowService open method on click
201
207
 
202
208
  #### Inputs
203
209
 
204
- + tdMarkdownNavigatorWindow: IMarkdownNavigatorWindowConfig
205
- + Config to open window with
206
- + disabled: boolean
207
- + Whether disabled or not
210
+ - tdMarkdownNavigatorWindow: IMarkdownNavigatorWindowConfig
211
+ - Config to open window with
212
+ - disabled: boolean
213
+ - Whether disabled or not
208
214
 
209
215
  ## Setup
210
216
 
211
217
  ```typescript
212
218
  import { CovalentMarkdownNavigatorModule } from '@covalent/markdown-navigator';
213
219
  @NgModule({
214
- imports: [CovalentMarkdownNavigatorModule]
220
+ imports: [CovalentMarkdownNavigatorModule],
215
221
  })
216
222
  export class MyModule {}
217
223
  ```
@@ -221,5 +227,11 @@ export class MyModule {}
221
227
  Example:
222
228
 
223
229
  ```html
224
- <button mat-button [tdMarkdownNavigatorWindow]="{ items: [] }" [disabled]="false">Open window</button>
230
+ <button
231
+ mat-button
232
+ [tdMarkdownNavigatorWindow]="{ items: [] }"
233
+ [disabled]="false"
234
+ >
235
+ Open window
236
+ </button>
225
237
  ```
@@ -0,0 +1,22 @@
1
+ @mixin covalent-markdown-navigator-typography($fontConfig) {
2
+ td-markdown-navigator {
3
+ td-breadcrumbs .mat-button {
4
+ @include mat-typography-level-to-styles($fontConfig, caption);
5
+ }
6
+
7
+ .breadcrumb-current-title {
8
+ @include mat-typography-level-to-styles($fontConfig, headline);
9
+ }
10
+ }
11
+ }
12
+
13
+ @mixin covalent-markdown-navigator-theme($theme) {
14
+ $foreground: map-get($theme, foreground);
15
+ $secondary: map-get($foreground, secondary-text);
16
+
17
+ td-markdown-navigator {
18
+ td-breadcrumbs {
19
+ color: $secondary;
20
+ }
21
+ }
22
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './index';
5
- export { TdMarkdownNavigatorWindowDirective as ɵa } from './markdown-navigator-window-directive/markdown-navigator-window.directive';
4
+ /// <amd-module name="@covalent/markdown-navigator" />
5
+ export * from './public_api';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtbWFya2Rvd24tbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL2NvdmFsZW50LW1hcmtkb3duLW5hdmlnYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1,84 @@
1
+ import { Component, Output, EventEmitter, Input, ChangeDetectionStrategy, Type, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@covalent/core/dialogs";
4
+ import * as i2 from "../markdown-navigator.component";
5
+ export const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS = {
6
+ title: 'Help',
7
+ close: 'Close',
8
+ dock: 'Dock',
9
+ unDock: 'Undock',
10
+ };
11
+ export class TdMarkdownNavigatorWindowComponent {
12
+ constructor() {
13
+ this.toolbarColor = 'primary';
14
+ this.docked = false;
15
+ this.copyCodeToClipboard = false;
16
+ this.copyCodeTooltips = {};
17
+ this.closed = new EventEmitter();
18
+ this.dockToggled = new EventEmitter();
19
+ this.buttonClicked = new EventEmitter();
20
+ }
21
+ get markdownNavigatorLabels() {
22
+ if (!this.labels) {
23
+ return undefined;
24
+ }
25
+ const { goHome, goBack, emptyState } = this.labels;
26
+ return {
27
+ goHome,
28
+ goBack,
29
+ emptyState,
30
+ };
31
+ }
32
+ get titleLabel() {
33
+ return ((this.labels && this.labels.title) ||
34
+ DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title);
35
+ }
36
+ get closeLabel() {
37
+ return ((this.labels && this.labels.close) ||
38
+ DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close);
39
+ }
40
+ get toggleDockedStateLabel() {
41
+ if (this.docked) {
42
+ return ((this.labels && this.labels.unDock) ||
43
+ DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock);
44
+ }
45
+ else {
46
+ return ((this.labels && this.labels.dock) ||
47
+ DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock);
48
+ }
49
+ }
50
+ toggleDockedState() {
51
+ this.dockToggled.emit(this.docked);
52
+ }
53
+ }
54
+ TdMarkdownNavigatorWindowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdMarkdownNavigatorWindowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
+ TdMarkdownNavigatorWindowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdMarkdownNavigatorWindowComponent, selector: "td-markdown-navigator-window", inputs: { items: "items", labels: "labels", toolbarColor: "toolbarColor", startAt: "startAt", compareWith: "compareWith", docked: "docked", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", footer: "footer" }, outputs: { closed: "closed", dockToggled: "dockToggled", buttonClicked: "buttonClicked" }, ngImport: i0, template: "<td-window-dialog\n [toolbarColor]=\"toolbarColor\"\n [docked]=\"docked\"\n [title]=\"titleLabel\"\n [toggleDockedStateLabel]=\"toggleDockedStateLabel\"\n [closeLabel]=\"closeLabel\"\n (dockToggled)=\"toggleDockedState()\"\n (closed)=\"closed.emit()\"\n>\n <td-markdown-navigator\n [items]=\"items\"\n [labels]=\"markdownNavigatorLabels\"\n [style.display]=\"docked ? 'none' : 'inherit'\"\n [startAt]=\"startAt\"\n [compareWith]=\"compareWith\"\n [footer]=\"footer\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-markdown-navigator>\n</td-window-dialog>\n", styles: [":host{height:100%;display:flex;flex-direction:column}td-markdown-navigator{height:calc(100% - 56px)}\n"], components: [{ type: i1.TdWindowDialogComponent, selector: "td-window-dialog", inputs: ["toolbarColor", "docked", "title", "toggleDockedStateLabel", "closeLabel"], outputs: ["dockToggled", "closed"] }, { type: i2.TdMarkdownNavigatorComponent, selector: "td-markdown-navigator", inputs: ["items", "labels", "startAt", "copyCodeToClipboard", "copyCodeTooltips", "footer", "compareWith"], outputs: ["buttonClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdMarkdownNavigatorWindowComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'td-markdown-navigator-window', changeDetection: ChangeDetectionStrategy.OnPush, template: "<td-window-dialog\n [toolbarColor]=\"toolbarColor\"\n [docked]=\"docked\"\n [title]=\"titleLabel\"\n [toggleDockedStateLabel]=\"toggleDockedStateLabel\"\n [closeLabel]=\"closeLabel\"\n (dockToggled)=\"toggleDockedState()\"\n (closed)=\"closed.emit()\"\n>\n <td-markdown-navigator\n [items]=\"items\"\n [labels]=\"markdownNavigatorLabels\"\n [style.display]=\"docked ? 'none' : 'inherit'\"\n [startAt]=\"startAt\"\n [compareWith]=\"compareWith\"\n [footer]=\"footer\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-markdown-navigator>\n</td-window-dialog>\n", styles: [":host{height:100%;display:flex;flex-direction:column}td-markdown-navigator{height:calc(100% - 56px)}\n"] }]
59
+ }], propDecorators: { items: [{
60
+ type: Input
61
+ }], labels: [{
62
+ type: Input
63
+ }], toolbarColor: [{
64
+ type: Input
65
+ }], startAt: [{
66
+ type: Input
67
+ }], compareWith: [{
68
+ type: Input
69
+ }], docked: [{
70
+ type: Input
71
+ }], copyCodeToClipboard: [{
72
+ type: Input
73
+ }], copyCodeTooltips: [{
74
+ type: Input
75
+ }], footer: [{
76
+ type: Input
77
+ }], closed: [{
78
+ type: Output
79
+ }], dockToggled: [{
80
+ type: Output
81
+ }], buttonClicked: [{
82
+ type: Output
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93L21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDOzs7O0FBaUJ2QixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FDbkQ7SUFDRSxLQUFLLEVBQUUsTUFBTTtJQUNiLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtDQUNqQixDQUFDO0FBUUosTUFBTSxPQUFPLGtDQUFrQztJQU4vQztRQVNXLGlCQUFZLEdBQWlCLFNBQVMsQ0FBQztRQUd2QyxXQUFNLEdBQUksS0FBSyxDQUFDO1FBQ2hCLHdCQUFtQixHQUFJLEtBQUssQ0FBQztRQUM3QixxQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO1FBR3pDLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELGtCQUFhLEdBQ3JCLElBQUksWUFBWSxFQUFFLENBQUM7S0E4Q3RCO0lBNUNDLElBQUksdUJBQXVCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDZCxPQUFPO1lBQ0wsTUFBTTtZQUNOLE1BQU07WUFDTixVQUFVO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2xDLHdDQUF3QyxDQUFDLEtBQUssQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2xDLHdDQUF3QyxDQUFDLEtBQUssQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUNuQyx3Q0FBd0MsQ0FBQyxNQUFNLENBQ2hELENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDakMsd0NBQXdDLENBQUMsSUFBSSxDQUM5QyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OytIQTNEVSxrQ0FBa0M7bUhBQWxDLGtDQUFrQyxpWkN0Qy9DLHNyQkFxQkE7MkZEaUJhLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gIElNYXJrZG93bk5hdmlnYXRvckxhYmVscyxcbiAgSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGgsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICdAY292YWxlbnQvZmxhdm9yZWQtbWFya2Rvd24nO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHNcbiAgZXh0ZW5kcyBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgY2xvc2U/OiBzdHJpbmc7XG4gIGRvY2s/OiBzdHJpbmc7XG4gIHVuRG9jaz86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPVxuICB7XG4gICAgdGl0bGU6ICdIZWxwJyxcbiAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICBkb2NrOiAnRG9jaycsXG4gICAgdW5Eb2NrOiAnVW5kb2NrJyxcbiAgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBASW5wdXQoKSBsYWJlbHM/OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHM7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgQElucHV0KCkgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgQElucHV0KCkgZG9ja2VkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvQ2xpcGJvYXJkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcbiAgQElucHV0KCkgZm9vdGVyPzogVHlwZTxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZ2V0IG1hcmtkb3duTmF2aWdhdG9yTGFiZWxzKCk6IElNYXJrZG93bk5hdmlnYXRvckxhYmVscyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmxhYmVscykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCB7IGdvSG9tZSwgZ29CYWNrLCBlbXB0eVN0YXRlIH06IElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscyA9XG4gICAgICB0aGlzLmxhYmVscztcbiAgICByZXR1cm4ge1xuICAgICAgZ29Ib21lLFxuICAgICAgZ29CYWNrLFxuICAgICAgZW1wdHlTdGF0ZSxcbiAgICB9O1xuICB9XG4gIGdldCB0aXRsZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy50aXRsZSkgfHxcbiAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX1dJTkRPV19MQUJFTFMudGl0bGVcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsb3NlTGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLmNsb3NlKSB8fFxuICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfV0lORE9XX0xBQkVMUy5jbG9zZVxuICAgICk7XG4gIH1cblxuICBnZXQgdG9nZ2xlRG9ja2VkU3RhdGVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmRvY2tlZCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLnVuRG9jaykgfHxcbiAgICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfV0lORE9XX0xBQkVMUy51bkRvY2tcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5kb2NrKSB8fFxuICAgICAgICBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLmRvY2tcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRG9ja2VkU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5kb2NrVG9nZ2xlZC5lbWl0KHRoaXMuZG9ja2VkKTtcbiAgfVxufVxuIiwiPHRkLXdpbmRvdy1kaWFsb2dcbiAgW3Rvb2xiYXJDb2xvcl09XCJ0b29sYmFyQ29sb3JcIlxuICBbZG9ja2VkXT1cImRvY2tlZFwiXG4gIFt0aXRsZV09XCJ0aXRsZUxhYmVsXCJcbiAgW3RvZ2dsZURvY2tlZFN0YXRlTGFiZWxdPVwidG9nZ2xlRG9ja2VkU3RhdGVMYWJlbFwiXG4gIFtjbG9zZUxhYmVsXT1cImNsb3NlTGFiZWxcIlxuICAoZG9ja1RvZ2dsZWQpPVwidG9nZ2xlRG9ja2VkU3RhdGUoKVwiXG4gIChjbG9zZWQpPVwiY2xvc2VkLmVtaXQoKVwiXG4+XG4gIDx0ZC1tYXJrZG93bi1uYXZpZ2F0b3JcbiAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgIFtsYWJlbHNdPVwibWFya2Rvd25OYXZpZ2F0b3JMYWJlbHNcIlxuICAgIFtzdHlsZS5kaXNwbGF5XT1cImRvY2tlZCA/ICdub25lJyA6ICdpbmhlcml0J1wiXG4gICAgW3N0YXJ0QXRdPVwic3RhcnRBdFwiXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoXCJcbiAgICBbZm9vdGVyXT1cImZvb3RlclwiXG4gICAgW2NvcHlDb2RlVG9DbGlwYm9hcmRdPVwiY29weUNvZGVUb0NsaXBib2FyZFwiXG4gICAgW2NvcHlDb2RlVG9vbHRpcHNdPVwiY29weUNvZGVUb29sdGlwc1wiXG4gICAgKGJ1dHRvbkNsaWNrZWQpPVwiYnV0dG9uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuICA+PC90ZC1tYXJrZG93bi1uYXZpZ2F0b3I+XG48L3RkLXdpbmRvdy1kaWFsb2c+XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { TdMarkdownNavigatorWindowService, } from '../markdown-navigator-window-service/markdown-navigator-window.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../markdown-navigator-window-service/markdown-navigator-window.service";
5
+ export class TdMarkdownNavigatorWindowDirective {
6
+ constructor(_markdownNavigatorWindowService) {
7
+ this._markdownNavigatorWindowService = _markdownNavigatorWindowService;
8
+ this.disabled = false;
9
+ }
10
+ click() {
11
+ if (!this.disabled && this.config) {
12
+ this._markdownNavigatorWindowService.open(this.config);
13
+ }
14
+ }
15
+ }
16
+ TdMarkdownNavigatorWindowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdMarkdownNavigatorWindowDirective, deps: [{ token: i1.TdMarkdownNavigatorWindowService }], target: i0.ɵɵFactoryTarget.Directive });
17
+ TdMarkdownNavigatorWindowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: TdMarkdownNavigatorWindowDirective, selector: "[tdMarkdownNavigatorWindow]", inputs: { config: ["tdMarkdownNavigatorWindow", "config"], disabled: "disabled" }, host: { listeners: { "click": "click()" } }, ngImport: i0 });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdMarkdownNavigatorWindowDirective, decorators: [{
19
+ type: Directive,
20
+ args: [{
21
+ selector: '[tdMarkdownNavigatorWindow]',
22
+ }]
23
+ }], ctorParameters: function () { return [{ type: i1.TdMarkdownNavigatorWindowService }]; }, propDecorators: { config: [{
24
+ type: Input,
25
+ args: ['tdMarkdownNavigatorWindow']
26
+ }], disabled: [{
27
+ type: Input
28
+ }], click: [{
29
+ type: HostListener,
30
+ args: ['click']
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1kaXJlY3RpdmUvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFDTCxnQ0FBZ0MsR0FFakMsTUFBTSx3RUFBd0UsQ0FBQzs7O0FBS2hGLE1BQU0sT0FBTyxrQ0FBa0M7SUFHN0MsWUFDVSwrQkFBaUU7UUFBakUsb0NBQStCLEdBQS9CLCtCQUErQixDQUFrQztRQUZsRSxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBR3ZCLENBQUM7SUFFbUIsS0FBSztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7K0hBWFUsa0NBQWtDO21IQUFsQyxrQ0FBa0M7MkZBQWxDLGtDQUFrQztrQkFIOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2lCQUN4Qzt1SEFFcUMsTUFBTTtzQkFBekMsS0FBSzt1QkFBQywyQkFBMkI7Z0JBQ3pCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS2lCLEtBQUs7c0JBQTNCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2UsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbmZpZyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1zZXJ2aWNlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZE1hcmtkb3duTmF2aWdhdG9yV2luZG93XScsXG59KVxuZXhwb3J0IGNsYXNzIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaXJlY3RpdmUge1xuICBASW5wdXQoJ3RkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3cnKSBjb25maWc/OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX21hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZTogVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2VcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmIHRoaXMuY29uZmlnKSB7XG4gICAgICB0aGlzLl9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uub3Blbih0aGlzLmNvbmZpZyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,130 @@
1
+ import { Injectable, Inject, RendererFactory2, } from '@angular/core';
2
+ import { TdMarkdownNavigatorWindowComponent, } from '../markdown-navigator-window/markdown-navigator-window.component';
3
+ import { TdDialogService, ResizableDraggableDialog, } from '@covalent/core/dialogs';
4
+ import { DOCUMENT } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@covalent/core/dialogs";
7
+ const CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';
8
+ const DEFAULT_POSITION = { bottom: '0px', right: '0px' };
9
+ const DEFAULT_WIDTH = '360px';
10
+ const DEFAULT_HEIGHT = '75vh';
11
+ const MIN_HEIGHT = '56px';
12
+ const MAX_WIDTH = '100vw';
13
+ const DEFAULT_DRAGGABLE_DIALOG_CONFIG = {
14
+ hasBackdrop: false,
15
+ closeOnNavigation: true,
16
+ panelClass: [CDK_OVERLAY_CUSTOM_CLASS],
17
+ position: DEFAULT_POSITION,
18
+ height: DEFAULT_HEIGHT,
19
+ width: DEFAULT_WIDTH,
20
+ maxWidth: MAX_WIDTH,
21
+ };
22
+ export class TdMarkdownNavigatorWindowService {
23
+ constructor(_tdDialogService, _document, rendererFactory) {
24
+ this._tdDialogService = _tdDialogService;
25
+ this._document = _document;
26
+ this.rendererFactory = rendererFactory;
27
+ this.markdownNavigatorWindowDialogsOpen = 0;
28
+ this._renderer2 = rendererFactory.createRenderer(undefined, null);
29
+ }
30
+ open(config) {
31
+ this.close();
32
+ const configClass = config?.dialogConfig?.panelClass;
33
+ const panelClass = configClass && !Array.isArray(configClass) ? [configClass] : [];
34
+ const draggableConfig = {
35
+ ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,
36
+ ...config.dialogConfig,
37
+ ...panelClass,
38
+ };
39
+ const { matDialogRef, dragRefSubject, } = this._tdDialogService.openDraggable({
40
+ component: TdMarkdownNavigatorWindowComponent,
41
+ config: draggableConfig,
42
+ dragHandleSelectors: ['.td-window-dialog-toolbar'],
43
+ draggableClass: 'td-draggable-markdown-navigator-window',
44
+ });
45
+ this.markdownNavigatorWindowDialog = matDialogRef;
46
+ this.markdownNavigatorWindowDialog.componentInstance.items = config.items;
47
+ this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;
48
+ this.markdownNavigatorWindowDialog.componentInstance.startAt =
49
+ config.startAt;
50
+ this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =
51
+ config.copyCodeToClipboard;
52
+ this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =
53
+ config.copyCodeTooltips;
54
+ this.markdownNavigatorWindowDialog.componentInstance.compareWith =
55
+ config.compareWith;
56
+ this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =
57
+ 'toolbarColor' in config ? config.toolbarColor : 'primary';
58
+ this.markdownNavigatorWindowDialogsOpen++;
59
+ this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;
60
+ dragRefSubject.subscribe((dragRf) => {
61
+ this.dragRef = dragRf;
62
+ this.resizableDraggableDialog = new ResizableDraggableDialog(this._document, this._renderer2, this.markdownNavigatorWindowDialog, this.dragRef);
63
+ });
64
+ this._handleEvents();
65
+ return this.markdownNavigatorWindowDialog;
66
+ }
67
+ close() {
68
+ if (this.markdownNavigatorWindowDialog) {
69
+ if (this.resizableDraggableDialog) {
70
+ this.resizableDraggableDialog.detach();
71
+ }
72
+ this.markdownNavigatorWindowDialog.close();
73
+ }
74
+ }
75
+ get isOpen() {
76
+ return this.markdownNavigatorWindowDialogsOpen > 0;
77
+ }
78
+ _handleEvents() {
79
+ let position;
80
+ let dimensions;
81
+ this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() => this.close());
82
+ this.markdownNavigatorWindowDialog.componentInstance.dockToggled.subscribe((docked) => {
83
+ if (docked) {
84
+ this.markdownNavigatorWindowDialog.componentInstance.docked = false;
85
+ this.markdownNavigatorWindowDialog.updateSize(dimensions.width, dimensions.height);
86
+ this.markdownNavigatorWindowDialog.updatePosition({
87
+ top: '0px',
88
+ right: '0px',
89
+ bottom: '0px',
90
+ left: '0px',
91
+ });
92
+ this.dragRef.setFreeDragPosition(position);
93
+ this.dragRef.disabled = false;
94
+ this.resizableDraggableDialog.attach();
95
+ }
96
+ else {
97
+ dimensions = this._getDialogSize(this.markdownNavigatorWindowDialog);
98
+ position = this.dragRef.getFreeDragPosition();
99
+ this.markdownNavigatorWindowDialog.componentInstance.docked = true;
100
+ this.markdownNavigatorWindowDialog.updateSize(DEFAULT_WIDTH, MIN_HEIGHT);
101
+ this.markdownNavigatorWindowDialog.updatePosition(DEFAULT_POSITION);
102
+ this.dragRef.reset();
103
+ this.dragRef.disabled = true;
104
+ this.resizableDraggableDialog.detach();
105
+ }
106
+ });
107
+ this.markdownNavigatorWindowDialog
108
+ .afterClosed()
109
+ .toPromise()
110
+ .then(() => {
111
+ this.markdownNavigatorWindowDialogsOpen--;
112
+ });
113
+ }
114
+ _getDialogSize(dialogRef) {
115
+ const { width, height } = getComputedStyle(this._document.getElementById(dialogRef.id).parentElement);
116
+ return {
117
+ width,
118
+ height,
119
+ };
120
+ }
121
+ }
122
+ TdMarkdownNavigatorWindowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdMarkdownNavigatorWindowService, deps: [{ token: i1.TdDialogService }, { token: DOCUMENT }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
123
+ TdMarkdownNavigatorWindowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdMarkdownNavigatorWindowService });
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdMarkdownNavigatorWindowService, decorators: [{
125
+ type: Injectable
126
+ }], ctorParameters: function () { return [{ type: i1.TdDialogService }, { type: undefined, decorators: [{
127
+ type: Inject,
128
+ args: [DOCUMENT]
129
+ }] }, { type: i0.RendererFactory2 }]; } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctc2VydmljZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sZ0JBQWdCLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsZUFBZSxFQUVmLHdCQUF3QixHQUN6QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBbUIzQyxNQUFNLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sZ0JBQWdCLEdBQW1CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDekUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDO0FBQzlCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUM5QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDMUIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDO0FBRTFCLE1BQU0sK0JBQStCLEdBQW9CO0lBQ3ZELFdBQVcsRUFBRSxLQUFLO0lBQ2xCLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsVUFBVSxFQUFFLENBQUMsd0JBQXdCLENBQUM7SUFDdEMsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixNQUFNLEVBQUUsY0FBYztJQUN0QixLQUFLLEVBQUUsYUFBYTtJQUNwQixRQUFRLEVBQUUsU0FBUztDQUNwQixDQUFDO0FBUUYsTUFBTSxPQUFPLGdDQUFnQztJQU8zQyxZQUNV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biAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0LFxuICBSZW5kZXJlckZhY3RvcnkyLFxuICBSZW5kZXJlcjIsXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTWF0RGlhbG9nUmVmLFxuICBNYXREaWFsb2dDb25maWcsXG4gIERpYWxvZ1Bvc2l0aW9uLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50LFxuICBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGREaWFsb2dTZXJ2aWNlLFxuICBJRHJhZ2dhYmxlUmVmcyxcbiAgUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nLFxufSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcbmltcG9ydCB7IERyYWdSZWYsIFBvaW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcC9kcmFnLXJlZic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLFxuICBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQ29weUNvZGVUb29sdGlwcyB9IGZyb20gJ0Bjb3ZhbGVudC9oaWdobGlnaHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbmZpZyB7XG4gIGl0ZW1zOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW107XG4gIGRpYWxvZ0NvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgbGFiZWxzPzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93TGFiZWxzO1xuICB0b29sYmFyQ29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIHN0YXJ0QXQ/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBjb21wYXJlV2l0aD86IElNYXJrZG93bk5hdmlnYXRvckNvbXBhcmVXaXRoO1xuICBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcbiAgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzO1xuICBmb290ZXI/OiBUeXBlPGFueT47XG59XG5cbmNvbnN0IENES19PVkVSTEFZX0NVU1RPTV9DTEFTUyA9ICd0ZC13aW5kb3ctZGlhbG9nJztcblxuY29uc3QgREVGQVVMVF9QT1NJVElPTjogRGlhbG9nUG9zaXRpb24gPSB7IGJvdHRvbTogJzBweCcsIHJpZ2h0OiAnMHB4JyB9O1xuY29uc3QgREVGQVVMVF9XSURUSCA9ICczNjBweCc7XG5jb25zdCBERUZBVUxUX0hFSUdIVCA9ICc3NXZoJztcbmNvbnN0IE1JTl9IRUlHSFQgPSAnNTZweCc7XG5jb25zdCBNQVhfV0lEVEggPSAnMTAwdncnO1xuXG5jb25zdCBERUZBVUxUX0RSQUdHQUJMRV9ESUFMT0dfQ09ORklHOiBNYXREaWFsb2dDb25maWcgPSB7XG4gIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gIHBhbmVsQ2xhc3M6IFtDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1NdLFxuICBwb3NpdGlvbjogREVGQVVMVF9QT1NJVElPTixcbiAgaGVpZ2h0OiBERUZBVUxUX0hFSUdIVCxcbiAgd2lkdGg6IERFRkFVTFRfV0lEVEgsXG4gIG1heFdpZHRoOiBNQVhfV0lEVEgsXG59O1xuXG5pbnRlcmZhY2UgSURpYWxvZ0RpbWVuc2lvbnMge1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjI7XG4gIHByaXZhdGUgZHJhZ1JlZiE6IERyYWdSZWY7XG4gIHByaXZhdGUgcmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nITogUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nO1xuICBwcml2YXRlIG1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nITogTWF0RGlhbG9nUmVmPFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQ+O1xuICBwcml2YXRlIG1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4gPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3RkRGlhbG9nU2VydmljZTogVGREaWFsb2dTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy5fcmVuZGVyZXIyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbihcbiAgICBjb25maWc6IElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbmZpZ1xuICApOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4ge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIGNvbnN0IGNvbmZpZ0NsYXNzID0gY29uZmlnPy5kaWFsb2dDb25maWc/LnBhbmVsQ2xhc3M7XG4gICAgY29uc3QgcGFuZWxDbGFzcyA9XG4gICAgICBjb25maWdDbGFzcyAmJiAhQXJyYXkuaXNBcnJheShjb25maWdDbGFzcykgPyBbY29uZmlnQ2xhc3NdIDogW107XG5cbiAgICBjb25zdCBkcmFnZ2FibGVDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIC4uLkRFRkFVTFRfRFJBR0dBQkxFX0RJQUxPR19DT05GSUcsXG4gICAgICAuLi5jb25maWcuZGlhbG9nQ29uZmlnLFxuICAgICAgLi4ucGFuZWxDbGFzcyxcbiAgICB9O1xuICAgIGNvbnN0IHtcbiAgICAgIG1hdERpYWxvZ1JlZixcbiAgICAgIGRyYWdSZWZTdWJqZWN0LFxuICAgIH06IElEcmFnZ2FibGVSZWZzPFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQ+ID0gdGhpcy5fdGREaWFsb2dTZXJ2aWNlLm9wZW5EcmFnZ2FibGUoXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCxcbiAgICAgICAgY29uZmlnOiBkcmFnZ2FibGVDb25maWcsXG4gICAgICAgIGRyYWdIYW5kbGVTZWxlY3RvcnM6IFsnLnRkLXdpbmRvdy1kaWFsb2ctdG9vbGJhciddLFxuICAgICAgICBkcmFnZ2FibGVDbGFzczogJ3RkLWRyYWdnYWJsZS1tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93JyxcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cgPSBtYXREaWFsb2dSZWY7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5pdGVtcyA9IGNvbmZpZy5pdGVtcztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmxhYmVscyA9IGNvbmZpZy5sYWJlbHM7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5zdGFydEF0ID1cbiAgICAgIGNvbmZpZy5zdGFydEF0O1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuY29weUNvZGVUb0NsaXBib2FyZCA9XG4gICAgICBjb25maWcuY29weUNvZGVUb0NsaXBib2FyZDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9vbHRpcHMgPVxuICAgICAgY29uZmlnLmNvcHlDb2RlVG9vbHRpcHM7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5jb21wYXJlV2l0aCA9XG4gICAgICBjb25maWcuY29tcGFyZVdpdGg7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS50b29sYmFyQ29sb3IgPVxuICAgICAgJ3Rvb2xiYXJDb2xvcicgaW4gY29uZmlnID8gY29uZmlnLnRvb2xiYXJDb2xvciA6ICdwcmltYXJ5JztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4rKztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmZvb3RlciA9IGNvbmZpZy5mb290ZXI7XG4gICAgZHJhZ1JlZlN1YmplY3Quc3Vic2NyaWJlKChkcmFnUmY6IERyYWdSZWYpID0+IHtcbiAgICAgIHRoaXMuZHJhZ1JlZiA9IGRyYWdSZjtcbiAgICAgIHRoaXMucmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nID0gbmV3IFJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyhcbiAgICAgICAgdGhpcy5fZG9jdW1lbnQsXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMixcbiAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZyxcbiAgICAgICAgdGhpcy5kcmFnUmVmXG4gICAgICApO1xuICAgIH0pO1xuICAgIHRoaXMuX2hhbmRsZUV2ZW50cygpO1xuICAgIHJldHVybiB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nKSB7XG4gICAgICBpZiAodGhpcy5yZXNpemFibGVEcmFnZ2FibGVEaWFsb2cpIHtcbiAgICAgICAgdGhpcy5yZXNpemFibGVEcmFnZ2FibGVEaWFsb2cuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dzT3BlbiA+IDA7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVFdmVudHMoKTogdm9pZCB7XG4gICAgbGV0IHBvc2l0aW9uOiBQb2ludDtcbiAgICBsZXQgZGltZW5zaW9uczogSURpYWxvZ0RpbWVuc2lvbnM7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICApO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja1RvZ2dsZWQuc3Vic2NyaWJlKFxuICAgICAgKGRvY2tlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoZG9ja2VkKSB7XG4gICAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5kb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLnVwZGF0ZVNpemUoXG4gICAgICAgICAgICBkaW1lbnNpb25zLndpZHRoLFxuICAgICAgICAgICAgZGltZW5zaW9ucy5oZWlnaHRcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cudXBkYXRlUG9zaXRpb24oe1xuICAgICAgICAgICAgdG9wOiAnMHB4JyxcbiAgICAgICAgICAgIHJpZ2h0OiAnMHB4JyxcbiAgICAgICAgICAgIGJvdHRvbTogJzBweCcsXG4gICAgICAgICAgICBsZWZ0OiAnMHB4JyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmRyYWdSZWYuc2V0RnJlZURyYWdQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgICAgICAgdGhpcy5kcmFnUmVmLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5yZXNpemFibGVEcmFnZ2FibGVEaWFsb2cuYXR0YWNoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGltZW5zaW9ucyA9IHRoaXMuX2dldERpYWxvZ1NpemUodGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZyk7XG4gICAgICAgICAgcG9zaXRpb24gPSB0aGlzLmRyYWdSZWYuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xuICAgICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLnVwZGF0ZVNpemUoXG4gICAgICAgICAgICBERUZBVUxUX1dJRFRILFxuICAgICAgICAgICAgTUlOX0hFSUdIVFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy51cGRhdGVQb3NpdGlvbihERUZBVUxUX1BPU0lUSU9OKTtcbiAgICAgICAgICB0aGlzLmRyYWdSZWYucmVzZXQoKTtcbiAgICAgICAgICB0aGlzLmRyYWdSZWYuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMucmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nLmRldGFjaCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dzT3Blbi0tO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREaWFsb2dTaXplKFxuICAgIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQ+XG4gICk6IElEaWFsb2dEaW1lbnNpb25zIHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldENvbXB1dGVkU3R5bGUoXG4gICAgICB0aGlzLl9kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaWFsb2dSZWYuaWQpLnBhcmVudEVsZW1lbnRcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICB9O1xuICB9XG59XG4iXX0=