@covalent/markdown-navigator 10.4.0-beta.3 → 10.4.0
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/README.md +69 -23
- package/fesm2022/covalent-markdown-navigator.mjs +85 -81
- package/fesm2022/covalent-markdown-navigator.mjs.map +1 -1
- package/markdown-navigator.component.d.ts +5 -1
- package/markdown-navigator.module.d.ts +3 -0
- package/package.json +4 -4
- package/styles/markdown-navigator-icons.scss +8 -0
package/README.md
CHANGED
|
@@ -62,6 +62,65 @@ import { CovalentMarkdownNavigatorModule } from '@covalent/markdown-navigator';
|
|
|
62
62
|
export class MyModule {}
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
+
## Covalent Icons Support (Optional)
|
|
66
|
+
|
|
67
|
+
The Markdown Navigator automatically detects Covalent Icons and applies the correct font styling. Covalent Icons are **completely optional** - the component works perfectly with Material Icons only.
|
|
68
|
+
|
|
69
|
+
### Icon Detection (Built-in)
|
|
70
|
+
|
|
71
|
+
The component includes icon detection out-of-the-box. **No additional setup or installation required.**
|
|
72
|
+
|
|
73
|
+
Icon detection is bundled within the component and works with any version of `@covalent/icons` installed in your project.
|
|
74
|
+
|
|
75
|
+
### Rendering Covalent Icons (Optional)
|
|
76
|
+
|
|
77
|
+
If you want to **render** Covalent Icons (not just Material Icons), you need to install the icon fonts:
|
|
78
|
+
|
|
79
|
+
**Option 1: Using with Covalent Design System**
|
|
80
|
+
|
|
81
|
+
If your project already uses other Covalent components with the following in your global styles:
|
|
82
|
+
|
|
83
|
+
```scss
|
|
84
|
+
@use '@covalent/icons';
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Covalent Icons will work automatically.
|
|
88
|
+
|
|
89
|
+
**Option 2: Standalone Installation**
|
|
90
|
+
|
|
91
|
+
1. **Install the icons package:**
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm install @covalent/icons
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
2. **Import in your global styles** (`src/styles.scss`):
|
|
98
|
+
```scss
|
|
99
|
+
@import '@covalent/markdown-navigator/styles/markdown-navigator-icons.scss';
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Icon Usage
|
|
103
|
+
|
|
104
|
+
Both icon types work the same way in your data:
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
// Material Icons (always available via Google Fonts)
|
|
108
|
+
{
|
|
109
|
+
title: 'Notebooks',
|
|
110
|
+
icon: 'book',
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Covalent Icons (requires @covalent/icons for rendering)
|
|
114
|
+
{
|
|
115
|
+
title: 'Vector Store',
|
|
116
|
+
icon: 'variable_outlined', // Auto-detected as Covalent icon
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Note:** If a Covalent icon is used but `@covalent/icons` is not installed, the icon will display as an empty box. Material Icons always work without additional setup.
|
|
121
|
+
|
|
122
|
+
The component automatically detects which font to use based on the icon name. No additional configuration needed in your TypeScript code.
|
|
123
|
+
|
|
65
124
|
## Usage
|
|
66
125
|
|
|
67
126
|
```html
|
|
@@ -176,27 +235,20 @@ export class MyModule {}
|
|
|
176
235
|
## Usage
|
|
177
236
|
|
|
178
237
|
```typescript
|
|
179
|
-
import {
|
|
180
|
-
TdMarkdownNavigatorWindowComponent,
|
|
181
|
-
TdMarkdownNavigatorWindowService,
|
|
182
|
-
IMarkdownNavigatorItem,
|
|
183
|
-
} from '@covalent/markdown-navigator';
|
|
238
|
+
import { TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowService, IMarkdownNavigatorItem } from '@covalent/markdown-navigator';
|
|
184
239
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
185
240
|
|
|
186
241
|
export class SampleComponent {
|
|
187
|
-
constructor(
|
|
188
|
-
private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService
|
|
189
|
-
) {}
|
|
242
|
+
constructor(private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService) {}
|
|
190
243
|
|
|
191
244
|
ngOnInit(): void {
|
|
192
|
-
const ref: MatDialogRef<TdMarkdownNavigatorWindowComponent> =
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
});
|
|
245
|
+
const ref: MatDialogRef<TdMarkdownNavigatorWindowComponent> = this._markdownNavigatorWindowService.open({
|
|
246
|
+
items: [
|
|
247
|
+
{
|
|
248
|
+
url: 'https://github.com/Teradata/covalent/blob/main/README.md',
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
});
|
|
200
252
|
ref.afterOpened().subscribe(() => {});
|
|
201
253
|
ref.afterClosed().subscribe(() => {});
|
|
202
254
|
}
|
|
@@ -231,11 +283,5 @@ export class MyModule {}
|
|
|
231
283
|
Example:
|
|
232
284
|
|
|
233
285
|
```html
|
|
234
|
-
<button
|
|
235
|
-
mat-button
|
|
236
|
-
[tdMarkdownNavigatorWindow]="{ items: [] }"
|
|
237
|
-
[disabled]="false"
|
|
238
|
-
>
|
|
239
|
-
Open window
|
|
240
|
-
</button>
|
|
286
|
+
<button mat-button [tdMarkdownNavigatorWindow]="{ items: [] }" [disabled]="false">Open window</button>
|
|
241
287
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, SecurityContext, Component,
|
|
3
|
-
import * as
|
|
2
|
+
import { EventEmitter, SecurityContext, ChangeDetectionStrategy, Component, HostListener, ViewChild, Output, Input, Injectable, Inject, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
5
5
|
import * as i1 from '@covalent/markdown';
|
|
6
6
|
import { removeLeadingHash, TdMarkdownLoaderService, isAnchorLink } from '@covalent/markdown';
|
|
@@ -9,65 +9,50 @@ import * as i2 from '@angular/platform-browser';
|
|
|
9
9
|
import * as i3 from '@angular/common/http';
|
|
10
10
|
import { firstValueFrom } from 'rxjs';
|
|
11
11
|
import { MatButtonModule } from '@angular/material/button';
|
|
12
|
-
import * as
|
|
12
|
+
import * as i6 from '@angular/material/tooltip';
|
|
13
13
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
14
|
-
import * as
|
|
14
|
+
import * as i7 from '@angular/material/list';
|
|
15
15
|
import { MatListModule } from '@angular/material/list';
|
|
16
|
-
import * as
|
|
16
|
+
import * as i4 from '@angular/material/icon';
|
|
17
17
|
import { MatIconModule } from '@angular/material/icon';
|
|
18
|
-
import * as
|
|
18
|
+
import * as i8 from '@angular/material/progress-bar';
|
|
19
19
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
20
20
|
import { TdMessageComponent } from '@covalent/core/message';
|
|
21
|
-
import { TdBreadcrumbsComponent } from '@covalent/core/breadcrumbs';
|
|
22
|
-
import * as i7 from '@angular/material/divider';
|
|
21
|
+
import { TdBreadcrumbsComponent, TdBreadcrumbComponent } from '@covalent/core/breadcrumbs';
|
|
23
22
|
import * as i1$1 from '@covalent/core/dialogs';
|
|
24
23
|
import { TdWindowDialogComponent, ResizableDraggableDialog, TdDialogService } from '@covalent/core/dialogs';
|
|
25
24
|
|
|
26
25
|
const _c0 = ["markdownWrapper"];
|
|
27
26
|
const _c1 = () => ({});
|
|
28
27
|
function TdMarkdownNavigatorComponent_ng_container_0_mat_progress_bar_1_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
-
i0.ɵɵelement(0, "mat-progress-bar",
|
|
28
|
+
i0.ɵɵelement(0, "mat-progress-bar", 9);
|
|
30
29
|
} }
|
|
31
|
-
function
|
|
30
|
+
function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
32
31
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
33
32
|
i0.ɵɵelementContainerStart(0);
|
|
34
|
-
i0.ɵɵelementStart(1, "a",
|
|
35
|
-
i0.ɵɵlistener("click", function
|
|
33
|
+
i0.ɵɵelementStart(1, "a", 13);
|
|
34
|
+
i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template_a_click_1_listener() { const index_r4 = i0.ɵɵrestoreView(_r3).index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.goBack(ctx_r1.historyStack.length - index_r4)); });
|
|
36
35
|
i0.ɵɵtext(2);
|
|
37
36
|
i0.ɵɵelementEnd();
|
|
38
37
|
i0.ɵɵelementContainerEnd();
|
|
39
38
|
} if (rf & 2) {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
i0.ɵɵattribute("data-test", "back-button");
|
|
39
|
+
const item_r5 = ctx.$implicit;
|
|
40
|
+
const index_r4 = ctx.index;
|
|
43
41
|
i0.ɵɵadvance();
|
|
44
|
-
i0.ɵɵ
|
|
45
|
-
} }
|
|
46
|
-
function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
47
|
-
i0.ɵɵelementStart(0, "mat-icon", 16);
|
|
48
|
-
i0.ɵɵtext(1, "chevron_right");
|
|
49
|
-
i0.ɵɵelementEnd();
|
|
50
|
-
} }
|
|
51
|
-
function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
-
i0.ɵɵelementContainerStart(0);
|
|
53
|
-
i0.ɵɵtemplate(1, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_container_1_Template, 3, 2, "ng-container", 14)(2, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_template_2_Template, 2, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
54
|
-
i0.ɵɵelementContainerEnd();
|
|
55
|
-
} if (rf & 2) {
|
|
56
|
-
const isLast_r6 = ctx.last;
|
|
57
|
-
const lastBreadCrumb_r7 = i0.ɵɵreference(3);
|
|
42
|
+
i0.ɵɵattribute("data-test", "back-button-" + index_r4);
|
|
58
43
|
i0.ɵɵadvance();
|
|
59
|
-
i0.ɵɵ
|
|
44
|
+
i0.ɵɵtextInterpolate(item_r5.title);
|
|
60
45
|
} }
|
|
61
46
|
function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
62
47
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
63
48
|
i0.ɵɵelementContainerStart(0);
|
|
64
|
-
i0.ɵɵelementStart(1, "td-breadcrumbs")(2, "a",
|
|
49
|
+
i0.ɵɵelementStart(1, "td-breadcrumbs")(2, "a", 10);
|
|
65
50
|
i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.reset()); });
|
|
66
51
|
i0.ɵɵtext(3, "Home");
|
|
67
52
|
i0.ɵɵelementEnd();
|
|
68
|
-
i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template,
|
|
53
|
+
i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template, 3, 2, "ng-container", 11);
|
|
69
54
|
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵelementStart(5, "div",
|
|
55
|
+
i0.ɵɵelementStart(5, "div", 12);
|
|
71
56
|
i0.ɵɵtext(6);
|
|
72
57
|
i0.ɵɵelementEnd();
|
|
73
58
|
i0.ɵɵelement(7, "mat-divider");
|
|
@@ -79,7 +64,7 @@ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf,
|
|
|
79
64
|
i0.ɵɵproperty("matTooltip", (tmp_2_0 = ctx_r1.goHomeLabel) !== null && tmp_2_0 !== undefined ? tmp_2_0 : "");
|
|
80
65
|
i0.ɵɵattribute("data-test", "home-button");
|
|
81
66
|
i0.ɵɵadvance(2);
|
|
82
|
-
i0.ɵɵproperty("ngForOf", ctx_r1.
|
|
67
|
+
i0.ɵɵproperty("ngForOf", ctx_r1.navigationBreadcrumbs);
|
|
83
68
|
i0.ɵɵadvance();
|
|
84
69
|
i0.ɵɵattribute("data-test", "title");
|
|
85
70
|
i0.ɵɵadvance();
|
|
@@ -88,16 +73,16 @@ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf,
|
|
|
88
73
|
i0.ɵɵstyleProp("position", "relative");
|
|
89
74
|
} }
|
|
90
75
|
function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_message_2_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
-
i0.ɵɵelement(0, "td-message",
|
|
76
|
+
i0.ɵɵelement(0, "td-message", 17);
|
|
92
77
|
} if (rf & 2) {
|
|
93
78
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
94
79
|
i0.ɵɵproperty("sublabel", ctx_r1.markdownLoaderError);
|
|
95
80
|
i0.ɵɵattribute("data-test", "markdown-loader-error");
|
|
96
81
|
} }
|
|
97
82
|
function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
-
const
|
|
99
|
-
i0.ɵɵelementStart(0, "td-flavored-markdown-loader",
|
|
100
|
-
i0.ɵɵlistener("loadFailed", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template_td_flavored_markdown_loader_loadFailed_0_listener($event) { i0.ɵɵrestoreView(
|
|
83
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
84
|
+
i0.ɵɵelementStart(0, "td-flavored-markdown-loader", 18);
|
|
85
|
+
i0.ɵɵlistener("loadFailed", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template_td_flavored_markdown_loader_loadFailed_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleMarkdownLoaderError($event)); })("buttonClicked", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template_td_flavored_markdown_loader_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });
|
|
101
86
|
i0.ɵɵelementEnd();
|
|
102
87
|
} if (rf & 2) {
|
|
103
88
|
let tmp_4_0;
|
|
@@ -107,9 +92,9 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_
|
|
|
107
92
|
i0.ɵɵproperty("url", (tmp_4_0 = ctx_r1.url) !== null && tmp_4_0 !== undefined ? tmp_4_0 : "")("httpOptions", (tmp_5_0 = ctx_r1.httpOptions) !== null && tmp_5_0 !== undefined ? tmp_5_0 : i0.ɵɵpureFunction0(5, _c1))("anchor", (tmp_6_0 = ctx_r1.anchor) !== null && tmp_6_0 !== undefined ? tmp_6_0 : "")("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
|
|
108
93
|
} }
|
|
109
94
|
function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template(rf, ctx) { if (rf & 1) {
|
|
110
|
-
const
|
|
111
|
-
i0.ɵɵelementStart(0, "td-flavored-markdown",
|
|
112
|
-
i0.ɵɵlistener("buttonClicked", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(
|
|
95
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
96
|
+
i0.ɵɵelementStart(0, "td-flavored-markdown", 19);
|
|
97
|
+
i0.ɵɵlistener("buttonClicked", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });
|
|
113
98
|
i0.ɵɵelementEnd();
|
|
114
99
|
} if (rf & 2) {
|
|
115
100
|
let tmp_4_0;
|
|
@@ -119,8 +104,8 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_
|
|
|
119
104
|
i0.ɵɵproperty("content", (tmp_4_0 = ctx_r1.markdownString) !== null && tmp_4_0 !== undefined ? tmp_4_0 : "")("hostedUrl", (tmp_5_0 = ctx_r1.url) !== null && tmp_5_0 !== undefined ? tmp_5_0 : "")("anchor", (tmp_6_0 = ctx_r1.anchor) !== null && tmp_6_0 !== undefined ? tmp_6_0 : "")("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
|
|
120
105
|
} }
|
|
121
106
|
function TdMarkdownNavigatorComponent_ng_container_0_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
122
|
-
i0.ɵɵelementStart(0, "div",
|
|
123
|
-
i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_message_2_Template, 1, 2, "td-message",
|
|
107
|
+
i0.ɵɵelementStart(0, "div", 14, 0);
|
|
108
|
+
i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_message_2_Template, 1, 2, "td-message", 6)(3, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template, 1, 6, "td-flavored-markdown-loader", 15)(4, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template, 1, 5, "td-flavored-markdown", 16);
|
|
124
109
|
i0.ɵɵelementEnd();
|
|
125
110
|
} if (rf & 2) {
|
|
126
111
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -132,42 +117,44 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_Template(rf, ctx) { i
|
|
|
132
117
|
i0.ɵɵproperty("ngIf", ctx_r1.showTdMarkdown);
|
|
133
118
|
} }
|
|
134
119
|
function TdMarkdownNavigatorComponent_ng_container_0_td_message_5_Template(rf, ctx) { if (rf & 1) {
|
|
135
|
-
i0.ɵɵelement(0, "td-message",
|
|
120
|
+
i0.ɵɵelement(0, "td-message", 17);
|
|
136
121
|
} if (rf & 2) {
|
|
137
122
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
138
123
|
i0.ɵɵproperty("sublabel", ctx_r1.childrenUrlError);
|
|
139
124
|
i0.ɵɵattribute("data-test", "children-url-error");
|
|
140
125
|
} }
|
|
141
126
|
function TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template(rf, ctx) { if (rf & 1) {
|
|
142
|
-
const
|
|
143
|
-
i0.ɵɵelementStart(0, "button",
|
|
144
|
-
i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template_button_click_0_listener() { const
|
|
145
|
-
i0.ɵɵelementStart(1, "mat-icon",
|
|
127
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
128
|
+
i0.ɵɵelementStart(0, "button", 22);
|
|
129
|
+
i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template_button_click_0_listener() { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleItemSelected(item_r9)); });
|
|
130
|
+
i0.ɵɵelementStart(1, "mat-icon", 23);
|
|
146
131
|
i0.ɵɵtext(2);
|
|
147
132
|
i0.ɵɵelementEnd();
|
|
148
|
-
i0.ɵɵelementStart(3, "span",
|
|
133
|
+
i0.ɵɵelementStart(3, "span", 24);
|
|
149
134
|
i0.ɵɵtext(4);
|
|
150
135
|
i0.ɵɵelementEnd();
|
|
151
|
-
i0.ɵɵelementStart(5, "span",
|
|
136
|
+
i0.ɵɵelementStart(5, "span", 25);
|
|
152
137
|
i0.ɵɵtext(6);
|
|
153
138
|
i0.ɵɵelementEnd();
|
|
154
139
|
i0.ɵɵelement(7, "mat-divider");
|
|
155
140
|
i0.ɵɵelementEnd();
|
|
156
141
|
} if (rf & 2) {
|
|
157
|
-
const
|
|
158
|
-
const
|
|
142
|
+
const item_r9 = ctx.$implicit;
|
|
143
|
+
const index_r10 = ctx.index;
|
|
159
144
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
160
|
-
i0.ɵɵproperty("id", "td-markdown-navigator-list-item-" + (
|
|
161
|
-
i0.ɵɵadvance(
|
|
162
|
-
i0.ɵɵ
|
|
145
|
+
i0.ɵɵproperty("id", "td-markdown-navigator-list-item-" + (item_r9.id ? item_r9.id : index_r10))("matTooltip", ctx_r1.getTitle(item_r9));
|
|
146
|
+
i0.ɵɵadvance();
|
|
147
|
+
i0.ɵɵproperty("fontSet", ctx_r1.isCovalentIcon(item_r9) ? "covalent-icons" : "");
|
|
148
|
+
i0.ɵɵadvance();
|
|
149
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getIcon(item_r9), " ");
|
|
163
150
|
i0.ɵɵadvance(2);
|
|
164
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.getTitle(
|
|
151
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getTitle(item_r9), " ");
|
|
165
152
|
i0.ɵɵadvance(2);
|
|
166
|
-
i0.ɵɵtextInterpolate(
|
|
153
|
+
i0.ɵɵtextInterpolate(item_r9.description);
|
|
167
154
|
} }
|
|
168
155
|
function TdMarkdownNavigatorComponent_ng_container_0_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
169
|
-
i0.ɵɵelementStart(0, "div",
|
|
170
|
-
i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template, 8,
|
|
156
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "mat-action-list");
|
|
157
|
+
i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template, 8, 6, "button", 21);
|
|
171
158
|
i0.ɵɵelementEnd()();
|
|
172
159
|
} if (rf & 2) {
|
|
173
160
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -179,9 +166,9 @@ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_7_Template(rf,
|
|
|
179
166
|
} }
|
|
180
167
|
function TdMarkdownNavigatorComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
181
168
|
i0.ɵɵelementContainerStart(0);
|
|
182
|
-
i0.ɵɵtemplate(1, TdMarkdownNavigatorComponent_ng_container_0_mat_progress_bar_1_Template, 1, 0, "mat-progress-bar",
|
|
183
|
-
i0.ɵɵelementStart(3, "div",
|
|
184
|
-
i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_div_4_Template, 5, 3, "div",
|
|
169
|
+
i0.ɵɵtemplate(1, TdMarkdownNavigatorComponent_ng_container_0_mat_progress_bar_1_Template, 1, 0, "mat-progress-bar", 3)(2, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template, 8, 7, "ng-container", 1);
|
|
170
|
+
i0.ɵɵelementStart(3, "div", 4);
|
|
171
|
+
i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_div_4_Template, 5, 3, "div", 5)(5, TdMarkdownNavigatorComponent_ng_container_0_td_message_5_Template, 1, 2, "td-message", 6)(6, TdMarkdownNavigatorComponent_ng_container_0_div_6_Template, 3, 1, "div", 7)(7, TdMarkdownNavigatorComponent_ng_container_0_ng_container_7_Template, 1, 0, "ng-container", 8);
|
|
185
172
|
i0.ɵɵelementEnd();
|
|
186
173
|
i0.ɵɵelementContainerEnd();
|
|
187
174
|
} if (rf & 2) {
|
|
@@ -200,7 +187,7 @@ function TdMarkdownNavigatorComponent_ng_container_0_Template(rf, ctx) { if (rf
|
|
|
200
187
|
i0.ɵɵproperty("ngComponentOutlet", ctx_r1.footerComponent);
|
|
201
188
|
} }
|
|
202
189
|
function TdMarkdownNavigatorComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
203
|
-
i0.ɵɵelementStart(0, "div",
|
|
190
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "mat-icon", 27);
|
|
204
191
|
i0.ɵɵtext(2, "subject");
|
|
205
192
|
i0.ɵɵelementEnd();
|
|
206
193
|
i0.ɵɵelementStart(3, "h2");
|
|
@@ -221,6 +208,15 @@ class TdMarkdownNavigatorComponent {
|
|
|
221
208
|
_changeDetectorRef;
|
|
222
209
|
_sanitizer;
|
|
223
210
|
_http;
|
|
211
|
+
_matIconRegistry;
|
|
212
|
+
constructor(_markdownUrlLoaderService, _changeDetectorRef, _sanitizer, _http, _matIconRegistry) {
|
|
213
|
+
this._markdownUrlLoaderService = _markdownUrlLoaderService;
|
|
214
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
215
|
+
this._sanitizer = _sanitizer;
|
|
216
|
+
this._http = _http;
|
|
217
|
+
this._matIconRegistry = _matIconRegistry;
|
|
218
|
+
this._matIconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons mat-ligature-font');
|
|
219
|
+
}
|
|
224
220
|
/**
|
|
225
221
|
* items: IMarkdownNavigatorItem[]
|
|
226
222
|
*
|
|
@@ -274,12 +270,6 @@ class TdMarkdownNavigatorComponent {
|
|
|
274
270
|
loading = false;
|
|
275
271
|
markdownLoaderError;
|
|
276
272
|
childrenUrlError;
|
|
277
|
-
constructor(_markdownUrlLoaderService, _changeDetectorRef, _sanitizer, _http) {
|
|
278
|
-
this._markdownUrlLoaderService = _markdownUrlLoaderService;
|
|
279
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
280
|
-
this._sanitizer = _sanitizer;
|
|
281
|
-
this._http = _http;
|
|
282
|
-
}
|
|
283
273
|
clickListener(event) {
|
|
284
274
|
const element = event.srcElement;
|
|
285
275
|
if (element.matches('a[href]') &&
|
|
@@ -359,6 +349,9 @@ class TdMarkdownNavigatorComponent {
|
|
|
359
349
|
}
|
|
360
350
|
return '';
|
|
361
351
|
}
|
|
352
|
+
get navigationBreadcrumbs() {
|
|
353
|
+
return this.historyStack.slice(0, -1);
|
|
354
|
+
}
|
|
362
355
|
async ngOnChanges(changes) {
|
|
363
356
|
if (changes['items']) {
|
|
364
357
|
this.reset();
|
|
@@ -468,7 +461,13 @@ class TdMarkdownNavigatorComponent {
|
|
|
468
461
|
'').trim();
|
|
469
462
|
}
|
|
470
463
|
getIcon(item) {
|
|
471
|
-
|
|
464
|
+
const icon = item?.icon || 'subject';
|
|
465
|
+
return icon.split(';')[0];
|
|
466
|
+
}
|
|
467
|
+
isCovalentIcon(item) {
|
|
468
|
+
if (!item?.icon)
|
|
469
|
+
return false;
|
|
470
|
+
return item?.icon?.includes(';covalent');
|
|
472
471
|
}
|
|
473
472
|
handleChildrenUrlError(error) {
|
|
474
473
|
this.childrenUrlError = error.message;
|
|
@@ -567,7 +566,7 @@ class TdMarkdownNavigatorComponent {
|
|
|
567
566
|
}
|
|
568
567
|
this._changeDetectorRef.markForCheck();
|
|
569
568
|
}
|
|
570
|
-
static ɵfac = function TdMarkdownNavigatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorComponent)(i0.ɵɵdirectiveInject(i1.TdMarkdownLoaderService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(i3.HttpClient)); };
|
|
569
|
+
static ɵfac = function TdMarkdownNavigatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorComponent)(i0.ɵɵdirectiveInject(i1.TdMarkdownLoaderService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(i3.HttpClient), i0.ɵɵdirectiveInject(i4.MatIconRegistry)); };
|
|
571
570
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorComponent, selectors: [["td-markdown-navigator"]], viewQuery: function TdMarkdownNavigatorComponent_Query(rf, ctx) { if (rf & 1) {
|
|
572
571
|
i0.ɵɵviewQuery(_c0, 5);
|
|
573
572
|
} if (rf & 2) {
|
|
@@ -575,17 +574,18 @@ class TdMarkdownNavigatorComponent {
|
|
|
575
574
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.markdownWrapper = _t.first);
|
|
576
575
|
} }, hostBindings: function TdMarkdownNavigatorComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
577
576
|
i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_click_HostBindingHandler($event) { return ctx.clickListener($event); });
|
|
578
|
-
} }, inputs: { items: "items", labels: "labels", startAt: "startAt", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", footer: "footer", compareWith: "compareWith" }, outputs: { buttonClicked: "buttonClicked", itemSelected: "itemSelected" }, features: [i0.ɵɵProvidersFeature([TdMarkdownLoaderService]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [["
|
|
579
|
-
i0.ɵɵtemplate(0, TdMarkdownNavigatorComponent_ng_container_0_Template, 8, 6, "ng-container",
|
|
577
|
+
} }, inputs: { items: "items", labels: "labels", startAt: "startAt", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", footer: "footer", compareWith: "compareWith" }, outputs: { buttonClicked: "buttonClicked", itemSelected: "itemSelected" }, features: [i0.ɵɵProvidersFeature([TdMarkdownLoaderService]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [["markdownWrapper", ""], [4, "ngIf"], ["layout", "column", "layout-align", "center center", "class", "empty-state", 4, "ngIf"], ["mode", "indeterminate", "color", "accent", 4, "ngIf"], ["id", "td-markdown-navigator-content", 1, "scroll-area"], ["class", "markdown-wrapper", 4, "ngIf"], ["color", "warn", "icon", "error", 3, "sublabel", 4, "ngIf"], ["class", "td-markdown-list", 4, "ngIf"], [4, "ngComponentOutlet"], ["mode", "indeterminate", "color", "accent"], ["td-breadcrumb", "", 3, "click", "matTooltip"], [4, "ngFor", "ngForOf"], [1, "breadcrumb-current-title"], ["td-breadcrumb", "", 3, "click"], [1, "markdown-wrapper"], [3, "url", "httpOptions", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "loadFailed", "buttonClicked", 4, "ngIf"], [3, "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "buttonClicked", 4, "ngIf"], ["color", "warn", "icon", "error", 3, "sublabel"], [3, "loadFailed", "buttonClicked", "url", "httpOptions", "anchor", "copyCodeToClipboard", "copyCodeTooltips"], [3, "buttonClicked", "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips"], [1, "td-markdown-list"], ["mat-list-item", "", "matTooltipPosition", "before", "matTooltipShowDelay", "500", 3, "id", "matTooltip", "click", 4, "ngFor", "ngForOf"], ["mat-list-item", "", "matTooltipPosition", "before", "matTooltipShowDelay", "500", 3, "click", "id", "matTooltip"], ["matListItemIcon", "", 3, "fontSet"], ["matListItemTitle", "", 1, "truncate"], ["matListItemLine", "", 1, "truncate"], ["layout", "column", "layout-align", "center center", 1, "empty-state"], ["matListItemAvatar", ""]], template: function TdMarkdownNavigatorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
578
|
+
i0.ɵɵtemplate(0, TdMarkdownNavigatorComponent_ng_container_0_Template, 8, 6, "ng-container", 1)(1, TdMarkdownNavigatorComponent_div_1_Template, 5, 1, "div", 2);
|
|
580
579
|
} if (rf & 2) {
|
|
581
580
|
i0.ɵɵproperty("ngIf", !ctx.showEmptyState);
|
|
582
581
|
i0.ɵɵadvance();
|
|
583
582
|
i0.ɵɵproperty("ngIf", ctx.showEmptyState);
|
|
584
|
-
} }, dependencies: [CommonModule,
|
|
585
|
-
MatTooltipModule,
|
|
583
|
+
} }, dependencies: [CommonModule, i5.NgComponentOutlet, i5.NgForOf, i5.NgIf, MatButtonModule,
|
|
584
|
+
MatTooltipModule, i6.MatTooltip, MatListModule, i7.MatActionList, i7.MatListItem, i7.MatListItemAvatar, i7.MatListItemIcon, i7.MatDivider, i7.MatListItemLine, i7.MatListItemTitle, MatIconModule, i4.MatIcon, MatProgressBarModule, i8.MatProgressBar, TdFlavoredMarkdownComponent,
|
|
586
585
|
TdFlavoredMarkdownLoaderComponent,
|
|
587
586
|
TdMessageComponent,
|
|
588
|
-
TdBreadcrumbsComponent
|
|
587
|
+
TdBreadcrumbsComponent,
|
|
588
|
+
TdBreadcrumbComponent], styles: ["[_nghost-%COMP%]{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}[_nghost-%COMP%] .breadcrumb-current-title[_ngcontent-%COMP%]{margin-bottom:16px;padding-left:16px}[_nghost-%COMP%] .breadcrumb-end-icon[_ngcontent-%COMP%]{margin-left:8px;font-size:16px;width:16px;height:16px}[_nghost-%COMP%] .scroll-area[_ngcontent-%COMP%]{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}[_nghost-%COMP%] .markdown-wrapper[_ngcontent-%COMP%]{padding:16px 16px 0}[_nghost-%COMP%] .td-markdown-list[_ngcontent-%COMP%] > .mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] td-breadcrumbs[_ngcontent-%COMP%]{padding:8px 8px 0 16px}[_nghost-%COMP%] td-flavored-markdown-loader[_ngcontent-%COMP%] .mat-progress-bar{top:0;left:0;right:0;position:absolute}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}[_nghost-%COMP%] .td-markdown-list[_ngcontent-%COMP%] .mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines[_ngcontent-%COMP%] .mdc-list-item__primary-text[_ngcontent-%COMP%]:before{display:block;height:16px;vertical-align:baseline}.truncate[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state[_ngcontent-%COMP%]{padding:32px}.empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4em}"], changeDetection: 0 });
|
|
589
589
|
}
|
|
590
590
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorComponent, [{
|
|
591
591
|
type: Component,
|
|
@@ -600,8 +600,9 @@ class TdMarkdownNavigatorComponent {
|
|
|
600
600
|
TdFlavoredMarkdownLoaderComponent,
|
|
601
601
|
TdMessageComponent,
|
|
602
602
|
TdBreadcrumbsComponent,
|
|
603
|
-
|
|
604
|
-
|
|
603
|
+
TdBreadcrumbComponent,
|
|
604
|
+
], providers: [TdMarkdownLoaderService], template: "<ng-container *ngIf=\"!showEmptyState\">\n <mat-progress-bar\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n ></mat-progress-bar>\n <ng-container *ngIf=\"showHeader\">\n <td-breadcrumbs>\n <a\n td-breadcrumb\n [matTooltip]=\"goHomeLabel ?? ''\"\n (click)=\"reset()\"\n [attr.data-test]=\"'home-button'\"\n >Home</a\n >\n <ng-container\n *ngFor=\"\n let item of navigationBreadcrumbs;\n last as isLast;\n index as index\n \"\n >\n <a\n td-breadcrumb\n (click)=\"goBack(historyStack.length - index)\"\n [attr.data-test]=\"'back-button-' + index\"\n >{{ item.title }}</a\n >\n </ng-container>\n </td-breadcrumbs>\n <div class=\"breadcrumb-current-title\" [attr.data-test]=\"'title'\">\n {{ currentItemTitle }}\n </div>\n\n <mat-divider [style.position]=\"'relative'\"></mat-divider>\n </ng-container>\n\n <div class=\"scroll-area\" id=\"td-markdown-navigator-content\">\n <div\n *ngIf=\"showTdMarkdownLoader || showTdMarkdown\"\n class=\"markdown-wrapper\"\n #markdownWrapper\n >\n <td-message\n *ngIf=\"markdownLoaderError\"\n [sublabel]=\"markdownLoaderError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'markdown-loader-error'\"\n ></td-message>\n <td-flavored-markdown-loader\n *ngIf=\"showTdMarkdownLoader\"\n [url]=\"url ?? ''\"\n [httpOptions]=\"httpOptions ?? {}\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (loadFailed)=\"handleMarkdownLoaderError($event)\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown-loader>\n <td-flavored-markdown\n *ngIf=\"showTdMarkdown\"\n [content]=\"markdownString ?? ''\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown>\n </div>\n\n <td-message\n *ngIf=\"childrenUrlError\"\n [sublabel]=\"childrenUrlError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'children-url-error'\"\n ></td-message>\n <div *ngIf=\"showMenu\" class=\"td-markdown-list\">\n <mat-action-list>\n <button\n *ngFor=\"let item of currentMenuItems; index as index\"\n [id]=\"\n 'td-markdown-navigator-list-item-' + (item.id ? item.id : index)\n \"\n (click)=\"handleItemSelected(item)\"\n mat-list-item\n [matTooltip]=\"getTitle(item)\"\n matTooltipPosition=\"before\"\n matTooltipShowDelay=\"500\"\n >\n <mat-icon\n matListItemIcon\n [fontSet]=\"isCovalentIcon(item) ? 'covalent-icons' : ''\"\n >\n {{ getIcon(item) }}\n </mat-icon>\n <span matListItemTitle class=\"truncate\">\n {{ getTitle(item) }}\n </span>\n <span matListItemLine class=\"truncate\">{{ item.description }}</span>\n <mat-divider></mat-divider>\n </button>\n </mat-action-list>\n </div>\n\n <ng-container *ngComponentOutlet=\"footerComponent\"></ng-container>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"showEmptyState\"\n layout=\"column\"\n layout-align=\"center center\"\n class=\"empty-state\"\n>\n <mat-icon matListItemAvatar>subject</mat-icon>\n <h2>{{ emptyStateLabel }}</h2>\n</div>\n", styles: [":host{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}:host .breadcrumb-current-title{margin-bottom:16px;padding-left:16px}:host .breadcrumb-end-icon{margin-left:8px;font-size:16px;width:16px;height:16px}:host .scroll-area{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}:host .markdown-wrapper{padding:16px 16px 0}:host .td-markdown-list>.mat-list{padding-top:0}:host td-breadcrumbs{padding:8px 8px 0 16px}:host td-flavored-markdown-loader ::ng-deep .mat-progress-bar{top:0;left:0;right:0;position:absolute}:host .title{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}:host .td-markdown-list .mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text:before{display:block;height:16px;vertical-align:baseline}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:32px}.empty-state mat-icon{font-size:4em}\n"] }]
|
|
605
|
+
}], () => [{ type: i1.TdMarkdownLoaderService }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.HttpClient }, { type: i4.MatIconRegistry }], { items: [{
|
|
605
606
|
type: Input
|
|
606
607
|
}], labels: [{
|
|
607
608
|
type: Input
|
|
@@ -626,7 +627,7 @@ class TdMarkdownNavigatorComponent {
|
|
|
626
627
|
type: HostListener,
|
|
627
628
|
args: ['click', ['$event']]
|
|
628
629
|
}] }); })();
|
|
629
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorComponent, { className: "TdMarkdownNavigatorComponent", filePath: "markdown-navigator.component.ts", lineNumber:
|
|
630
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorComponent, { className: "TdMarkdownNavigatorComponent", filePath: "markdown-navigator.component.ts", lineNumber: 95 }); })();
|
|
630
631
|
function getTitleFromUrl(url) {
|
|
631
632
|
if (url) {
|
|
632
633
|
const temp = new URL(url);
|
|
@@ -889,7 +890,10 @@ class TdMarkdownNavigatorWindowDirective {
|
|
|
889
890
|
* Please migrate to using standalone components as soon as possible.
|
|
890
891
|
*/
|
|
891
892
|
class CovalentMarkdownNavigatorModule {
|
|
892
|
-
|
|
893
|
+
constructor(iconRegistry, sanitizer) {
|
|
894
|
+
iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons');
|
|
895
|
+
}
|
|
896
|
+
static ɵfac = function CovalentMarkdownNavigatorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentMarkdownNavigatorModule)(i0.ɵɵinject(i4.MatIconRegistry), i0.ɵɵinject(i2.DomSanitizer)); };
|
|
893
897
|
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentMarkdownNavigatorModule });
|
|
894
898
|
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TdMarkdownNavigatorWindowService, TdDialogService], imports: [CommonModule,
|
|
895
899
|
TdMarkdownNavigatorComponent,
|
|
@@ -911,7 +915,7 @@ class CovalentMarkdownNavigatorModule {
|
|
|
911
915
|
],
|
|
912
916
|
providers: [TdMarkdownNavigatorWindowService, TdDialogService],
|
|
913
917
|
}]
|
|
914
|
-
}],
|
|
918
|
+
}], () => [{ type: i4.MatIconRegistry }, { type: i2.DomSanitizer }], null); })();
|
|
915
919
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentMarkdownNavigatorModule, { imports: [CommonModule,
|
|
916
920
|
TdMarkdownNavigatorComponent,
|
|
917
921
|
TdMarkdownNavigatorWindowComponent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-markdown-navigator.mjs","sources":["../../../../libs/markdown-navigator/src/markdown-navigator.component.html","../../../../libs/markdown-navigator/src/markdown-navigator.component.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window/markdown-navigator-window.component.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window/markdown-navigator-window.component.html","../../../../libs/markdown-navigator/src/markdown-navigator-window-service/markdown-navigator-window.service.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window-directive/markdown-navigator-window.directive.ts","../../../../libs/markdown-navigator/src/markdown-navigator.module.ts","../../../../libs/markdown-navigator/src/covalent-markdown-navigator.ts"],"sourcesContent":["<ng-container *ngIf=\"!showEmptyState\">\n <mat-progress-bar\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n ></mat-progress-bar>\n <ng-container *ngIf=\"showHeader\">\n <td-breadcrumbs>\n <a\n td-breadcrumb\n [matTooltip]=\"goHomeLabel ?? ''\"\n (click)=\"reset()\"\n [attr.data-test]=\"'home-button'\"\n >Home</a\n >\n <ng-container\n *ngFor=\"let stack of historyStack; last as isLast; index as index\"\n >\n <ng-container *ngIf=\"!isLast; else lastBreadCrumb\">\n <a\n td-breadcrumb\n (click)=\"goBack(historyStack.length - index)\"\n [attr.data-test]=\"'back-button'\"\n >{{ stack.title }}</a\n >\n </ng-container>\n <ng-template #lastBreadCrumb>\n <mat-icon class=\"breadcrumb-end-icon\">chevron_right</mat-icon>\n </ng-template>\n </ng-container>\n </td-breadcrumbs>\n <div class=\"breadcrumb-current-title\" [attr.data-test]=\"'title'\">\n {{ currentItemTitle }}\n </div>\n\n <mat-divider [style.position]=\"'relative'\"></mat-divider>\n </ng-container>\n\n <div class=\"scroll-area\" id=\"td-markdown-navigator-content\">\n <div\n *ngIf=\"showTdMarkdownLoader || showTdMarkdown\"\n class=\"markdown-wrapper\"\n #markdownWrapper\n >\n <td-message\n *ngIf=\"markdownLoaderError\"\n [sublabel]=\"markdownLoaderError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'markdown-loader-error'\"\n ></td-message>\n <td-flavored-markdown-loader\n *ngIf=\"showTdMarkdownLoader\"\n [url]=\"url ?? ''\"\n [httpOptions]=\"httpOptions ?? {}\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (loadFailed)=\"handleMarkdownLoaderError($event)\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown-loader>\n <td-flavored-markdown\n *ngIf=\"showTdMarkdown\"\n [content]=\"markdownString ?? ''\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown>\n </div>\n\n <td-message\n *ngIf=\"childrenUrlError\"\n [sublabel]=\"childrenUrlError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'children-url-error'\"\n ></td-message>\n <div *ngIf=\"showMenu\" class=\"td-markdown-list\">\n <mat-action-list>\n <button\n *ngFor=\"let item of currentMenuItems; index as index\"\n [id]=\"\n 'td-markdown-navigator-list-item-' + (item.id ? item.id : index)\n \"\n (click)=\"handleItemSelected(item)\"\n mat-list-item\n [matTooltip]=\"getTitle(item)\"\n matTooltipPosition=\"before\"\n matTooltipShowDelay=\"500\"\n >\n <mat-icon matListItemIcon>\n {{ getIcon(item) }}\n </mat-icon>\n <span matListItemTitle class=\"truncate\">\n {{ getTitle(item) }}\n </span>\n <span matListItemLine class=\"truncate\">{{ item.description }}</span>\n <mat-divider></mat-divider>\n </button>\n </mat-action-list>\n </div>\n\n <ng-container *ngComponentOutlet=\"footerComponent\"></ng-container>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"showEmptyState\"\n layout=\"column\"\n layout-align=\"center center\"\n class=\"empty-state\"\n>\n <mat-icon matListItemAvatar>subject</mat-icon>\n <h2>{{ emptyStateLabel }}</h2>\n</div>\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n HostListener,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Type,\n Output,\n EventEmitter,\n SecurityContext,\n} from '@angular/core';\nimport {\n removeLeadingHash,\n isAnchorLink,\n TdMarkdownLoaderService,\n} from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent, TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent } from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\nimport { firstValueFrom } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TdDialogComponent } from '@covalent/core/dialogs';\nimport { TdMessageComponent } from '@covalent/core/message';\nimport { TdBreadcrumbsComponent } from '@covalent/core/breadcrumbs';\nimport { CommonModule } from '@angular/common';\n\nexport interface IMarkdownNavigatorItem {\n id?: string;\n title?: string;\n url?: string;\n httpOptions?: object;\n markdownString?: string; // raw markdown\n anchor?: string;\n children?: IMarkdownNavigatorItem[];\n childrenUrl?: string;\n description?: string;\n icon?: string;\n footer?: Type<any>;\n startAtLink?: IMarkdownNavigatorItem;\n}\n\nexport interface IMarkdownNavigatorLabels {\n goHome?: string;\n goBack?: string;\n emptyState?: string;\n}\n\nexport type IMarkdownNavigatorCompareWith = (\n o1: IMarkdownNavigatorItem,\n o2: IMarkdownNavigatorItem\n) => boolean;\n\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS: IMarkdownNavigatorLabels = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\n\n@Component({\n selector: 'td-markdown-navigator',\n templateUrl: './markdown-navigator.component.html',\n styleUrls: ['./markdown-navigator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n ],\n providers: [TdMarkdownLoaderService],\n})\nexport class TdMarkdownNavigatorComponent implements OnChanges {\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n @Input() items?: IMarkdownNavigatorItem[];\n\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n @Input() labels?: IMarkdownNavigatorLabels;\n\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n @Input() startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard? = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n @Input() footer?: any;\n\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n @Input() compareWith?: IMarkdownNavigatorCompareWith;\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n @Output() itemSelected: EventEmitter<IMarkdownNavigatorItem> =\n new EventEmitter();\n\n @ViewChild('markdownWrapper') markdownWrapper!: ElementRef;\n\n historyStack: IMarkdownNavigatorItem[] = []; // history\n currentMarkdownItem?: IMarkdownNavigatorItem; // currently rendered\n currentMenuItems?: IMarkdownNavigatorItem[] = []; // current menu items\n\n loading = false;\n\n markdownLoaderError?: string;\n childrenUrlError?: string;\n\n constructor(\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n private _http: HttpClient\n ) {}\n\n @HostListener('click', ['$event'])\n clickListener(event: Event): void {\n const element: HTMLElement = <HTMLElement>event.srcElement;\n if (\n element.matches('a[href]') &&\n isMarkdownHref(<HTMLAnchorElement>element)\n ) {\n this.handleLinkClick(event);\n }\n }\n\n get showGoBackButton(): boolean {\n return this.historyStack.length > 0;\n }\n\n get showHeader(): boolean {\n return !!this.currentItemTitle;\n }\n\n get showMenu(): boolean {\n const showMenu = this.currentMenuItems && this.currentMenuItems.length > 0;\n return showMenu ?? false;\n }\n\n get showTdMarkdownLoader(): boolean {\n return (\n !!this.currentMarkdownItem &&\n !!this.currentMarkdownItem.url &&\n !this.showTdMarkdown\n );\n }\n\n get showTdMarkdown(): boolean {\n return (\n !!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString\n );\n }\n\n get url(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n\n get footerComponent(): any {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions(): object | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n return undefined;\n }\n get markdownString(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n return undefined;\n }\n\n get anchor(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n return undefined;\n }\n\n get showEmptyState(): boolean {\n return !this.items || this.items.length < 1;\n }\n\n get goHomeLabel(): string | undefined {\n return (\n (this.labels && this.labels.goHome) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome\n );\n }\n\n get goBackLabel(): string | undefined {\n return (\n (this.labels && this.labels.goBack) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack\n );\n }\n\n get emptyStateLabel(): string | undefined {\n return (\n (this.labels && this.labels.emptyState) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState\n );\n }\n\n get currentItemTitle(): string {\n if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n } else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n if (changes['items']) {\n this.reset();\n }\n if (changes['startAt'] && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n\n hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors(): void {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n\n reset(): void {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (\n this.items &&\n this.items.length === 1 &&\n !this.hasChildrenOrChildrenUrl(this.items[0])\n ) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n } else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this.itemSelected.emit(undefined);\n this._changeDetectorRef.markForCheck();\n }\n\n goBack(goBackLength = 2): void {\n this.loading = false;\n this.clearErrors();\n let parent: IMarkdownNavigatorItem | undefined =\n this.historyStack[this.historyStack.length - goBackLength];\n\n if (parent?.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -goBackLength);\n }\n\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(\n 0,\n this.historyStack.length - goBackLength + 1\n );\n this.setChildrenAsCurrentMenuItems(parent);\n } else {\n this.reset();\n }\n this.itemSelected.emit(parent);\n this._changeDetectorRef.markForCheck();\n }\n\n handleItemSelected(item: IMarkdownNavigatorItem): void {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this.itemSelected.emit(item);\n this._changeDetectorRef.markForCheck();\n }\n\n async setChildrenAsCurrentMenuItems(\n item: IMarkdownNavigatorItem\n ): Promise<void> {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n\n const stackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n let children: IMarkdownNavigatorItem[] = [];\n if (item.children) {\n children = item.children;\n } else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n if (\n stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every(\n (stackItem: IMarkdownNavigatorItem, index: number) =>\n stackItem === newStackSnapshot[index]\n )\n ) {\n this.currentMenuItems = children;\n }\n\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n\n async loadChildrenUrl(\n item: IMarkdownNavigatorItem\n ): Promise<IMarkdownNavigatorItem[]> {\n const sanitizedUrl =\n this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl ?? null) ??\n '';\n try {\n return await firstValueFrom<IMarkdownNavigatorItem[]>(\n this._http.get<IMarkdownNavigatorItem[]>(sanitizedUrl, {\n ...item.httpOptions,\n })\n );\n } catch (error: any) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n\n getTitle(item: IMarkdownNavigatorItem): string {\n if (!item) {\n return '';\n }\n return (\n removeLeadingHash(item.anchor ?? '') ||\n item.title ||\n getTitleFromUrl(item.url ?? '') ||\n getTitleFromMarkdownString(item.markdownString ?? '') ||\n ''\n ).trim();\n }\n\n getIcon(item: IMarkdownNavigatorItem): string {\n return item?.icon || 'subject';\n }\n\n handleChildrenUrlError(error: Error): void {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error: Error): void {\n this.markdownLoaderError = error ? error.message : '';\n this._changeDetectorRef.markForCheck();\n }\n\n private async _jumpTo(\n itemOrPath: IMarkdownNavigatorItem | IMarkdownNavigatorItem[],\n children?: IMarkdownNavigatorItem[]\n ): Promise<boolean> {\n const historyStack: IMarkdownNavigatorItem[] = this.historyStack;\n let path: IMarkdownNavigatorItem[] = [];\n\n if (this.items?.length) {\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n } else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n } else {\n path = this.findPath(this.items, itemOrPath);\n }\n path.forEach((pathItem: IMarkdownNavigatorItem, index) => {\n if (index === 0) {\n this.reset();\n }\n\n this.handleItemSelected(pathItem);\n });\n }\n\n return !!path.length;\n }\n\n private async followPath(\n items: IMarkdownNavigatorItem[],\n path: IMarkdownNavigatorItem[]\n ): Promise<IMarkdownNavigatorItem[]> {\n let pathItems: IMarkdownNavigatorItem[] = [];\n let currentLevel: IMarkdownNavigatorItem[] = items;\n const compareWith: IMarkdownNavigatorCompareWith =\n this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem: IMarkdownNavigatorItem | undefined = currentLevel.find(\n (item: IMarkdownNavigatorItem) => compareWith(pathItem, item)\n );\n\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n\n if (foundItem.children) {\n currentLevel = foundItem.children;\n } else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n } else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n\n private findPath(\n items?: IMarkdownNavigatorItem[],\n item?: IMarkdownNavigatorItem\n ): IMarkdownNavigatorItem[] {\n const compareWith: IMarkdownNavigatorCompareWith =\n this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (item && compareWith(child, item)) {\n return [child];\n }\n const ancestors: IMarkdownNavigatorItem[] = this.findPath(\n child.children,\n item\n );\n if (ancestors.length) {\n return [child, ...ancestors];\n }\n }\n }\n return [];\n }\n\n private async handleLinkClick(event: Event): Promise<void> {\n event.preventDefault();\n const link: HTMLAnchorElement = <HTMLAnchorElement>event.target;\n const url: URL = new URL(link.href);\n const urlParts = url.href.split('/');\n const id = urlParts[urlParts.length - 1].split('.md')[0];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const pathFound = await this._jumpTo({ id });\n\n if (pathFound) {\n return;\n }\n\n try {\n const markdownString: string = await this._markdownUrlLoaderService.load(\n url.href\n );\n // pass in url to be able to use currentMarkdownItem.url later on\n this.handleItemSelected({ markdownString, url: url.href });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n } catch (error) {\n const win = window.open(url.href, '_blank');\n win?.focus();\n } finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n}\n\nfunction getTitleFromUrl(url: string): string {\n if (url) {\n const temp: URL = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n } else {\n const path: string[] = temp.pathname.split('/');\n const fileName: string = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return '';\n}\n\nfunction getTitleFromMarkdownString(markdownString: string): string {\n if (markdownString) {\n const firstLine: string =\n markdownString.split(/[\\r\\n]+/).find((line: string) => !!line) ?? '';\n return removeLeadingHash(firstLine).trim();\n }\n return '';\n}\n\nfunction isMarkdownHref(anchor: HTMLAnchorElement): boolean {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(\n o1: IMarkdownNavigatorItem,\n o2: IMarkdownNavigatorItem\n): boolean {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n","import {\n Component,\n Output,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n Type,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorLabels,\n IMarkdownNavigatorCompareWith,\n TdMarkdownNavigatorComponent,\n} from '../markdown-navigator.component';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\nimport { TdWindowDialogComponent } from '@covalent/core/dialogs';\n\nexport interface IMarkdownNavigatorWindowLabels\n extends IMarkdownNavigatorLabels {\n title?: string;\n close?: string;\n dock?: string;\n unDock?: string;\n}\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS: IMarkdownNavigatorWindowLabels =\n {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n };\n\n@Component({\n selector: 'td-markdown-navigator-window',\n templateUrl: './markdown-navigator-window.component.html',\n styleUrls: ['./markdown-navigator-window.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TdWindowDialogComponent, TdMarkdownNavigatorComponent],\n})\nexport class TdMarkdownNavigatorWindowComponent {\n @Input() items?: IMarkdownNavigatorItem[];\n @Input() labels?: IMarkdownNavigatorWindowLabels;\n @Input() toolbarColor: ThemePalette = 'primary';\n @Input() startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n @Input() compareWith?: IMarkdownNavigatorCompareWith;\n @Input() docked? = false;\n @Input() copyCodeToClipboard? = false;\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n @Input() footer?: Type<any>;\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n @Output() itemSelected: EventEmitter<IMarkdownNavigatorItem> =\n new EventEmitter();\n\n get markdownNavigatorLabels(): IMarkdownNavigatorLabels | undefined {\n if (!this.labels) {\n return undefined;\n }\n\n const { goHome, goBack, emptyState }: IMarkdownNavigatorWindowLabels =\n this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n get titleLabel(): string | undefined {\n return (\n (this.labels && this.labels.title) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title\n );\n }\n\n get closeLabel(): string | undefined {\n return (\n (this.labels && this.labels.close) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close\n );\n }\n\n get toggleDockedStateLabel(): string | undefined {\n if (this.docked) {\n return (\n (this.labels && this.labels.unDock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock\n );\n } else {\n return (\n (this.labels && this.labels.dock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock\n );\n }\n }\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","<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 (itemSelected)=\"itemSelected.emit($event)\"\n ></td-markdown-navigator>\n</td-window-dialog>\n","import {\n Injectable,\n Inject,\n RendererFactory2,\n Renderer2,\n Type,\n} from '@angular/core';\nimport {\n MatDialogRef,\n MatDialogConfig,\n DialogPosition,\n} from '@angular/material/dialog';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n TdMarkdownNavigatorWindowComponent,\n IMarkdownNavigatorWindowLabels,\n} from '../markdown-navigator-window/markdown-navigator-window.component';\nimport {\n TdDialogService,\n IDraggableRefs,\n ResizableDraggableDialog,\n} from '@covalent/core/dialogs';\nimport { DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorCompareWith,\n} from '../markdown-navigator.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorWindowConfig {\n items: IMarkdownNavigatorItem[];\n dialogConfig?: MatDialogConfig;\n labels?: IMarkdownNavigatorWindowLabels;\n toolbarColor?: ThemePalette;\n startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n compareWith?: IMarkdownNavigatorCompareWith;\n copyCodeToClipboard?: boolean;\n copyCodeTooltips?: ICopyCodeTooltips;\n footer?: Type<any>;\n}\n\nconst CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';\n\nconst DEFAULT_POSITION: DialogPosition = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH = '360px';\nconst DEFAULT_HEIGHT = '75vh';\nconst MAX_WIDTH = '100vw';\n\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG: MatDialogConfig = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\n\n@Injectable()\nexport class TdMarkdownNavigatorWindowService {\n private _renderer2: Renderer2;\n private dragRef!: DragRef;\n private resizableDraggableDialog!: ResizableDraggableDialog;\n private markdownNavigatorWindowDialog!: MatDialogRef<TdMarkdownNavigatorWindowComponent>;\n private markdownNavigatorWindowDialogsOpen = 0;\n\n constructor(\n private _tdDialogService: TdDialogService,\n @Inject(DOCUMENT) private _document: any,\n private rendererFactory: RendererFactory2\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n\n public open(\n config: IMarkdownNavigatorWindowConfig\n ): MatDialogRef<TdMarkdownNavigatorWindowComponent> {\n this.close();\n\n const configClass = config?.dialogConfig?.panelClass;\n const panelClass =\n configClass && !Array.isArray(configClass) ? [configClass] : [];\n\n const draggableConfig: MatDialogConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n ...panelClass,\n };\n const {\n matDialogRef,\n dragRefSubject,\n }: IDraggableRefs<TdMarkdownNavigatorWindowComponent> =\n this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt =\n config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =\n config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =\n config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith =\n config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf: DragRef) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(\n this._document,\n this._renderer2,\n this.markdownNavigatorWindowDialog,\n this.dragRef\n );\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n\n public close(): void {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n\n public get isOpen(): boolean {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n\n private _handleEvents(): void {\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() =>\n this.close()\n );\n\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport {\n TdMarkdownNavigatorWindowService,\n IMarkdownNavigatorWindowConfig,\n} from '../markdown-navigator-window-service/markdown-navigator-window.service';\n\n@Directive({\n selector: '[tdMarkdownNavigatorWindow]',\n})\nexport class TdMarkdownNavigatorWindowDirective {\n @Input('tdMarkdownNavigatorWindow') config?: IMarkdownNavigatorWindowConfig;\n @Input() disabled = false;\n constructor(\n private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService\n ) {}\n\n @HostListener('click') click(): void {\n if (!this.disabled && this.config) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\nimport { TdDialogService } from '@covalent/core/dialogs';\n\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\n@NgModule({\n imports: [\n CommonModule,\n\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n exports: [\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n providers: [TdMarkdownNavigatorWindowService, TdDialogService],\n})\nexport class CovalentMarkdownNavigatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TdMarkdownNavigatorWindowService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"covalent-markdown-navigator.mjs","sources":["../../../../libs/markdown-navigator/src/markdown-navigator.component.html","../../../../libs/markdown-navigator/src/markdown-navigator.component.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window/markdown-navigator-window.component.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window/markdown-navigator-window.component.html","../../../../libs/markdown-navigator/src/markdown-navigator-window-service/markdown-navigator-window.service.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window-directive/markdown-navigator-window.directive.ts","../../../../libs/markdown-navigator/src/markdown-navigator.module.ts","../../../../libs/markdown-navigator/src/covalent-markdown-navigator.ts"],"sourcesContent":["<ng-container *ngIf=\"!showEmptyState\">\n <mat-progress-bar\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n ></mat-progress-bar>\n <ng-container *ngIf=\"showHeader\">\n <td-breadcrumbs>\n <a\n td-breadcrumb\n [matTooltip]=\"goHomeLabel ?? ''\"\n (click)=\"reset()\"\n [attr.data-test]=\"'home-button'\"\n >Home</a\n >\n <ng-container\n *ngFor=\"\n let item of navigationBreadcrumbs;\n last as isLast;\n index as index\n \"\n >\n <a\n td-breadcrumb\n (click)=\"goBack(historyStack.length - index)\"\n [attr.data-test]=\"'back-button-' + index\"\n >{{ item.title }}</a\n >\n </ng-container>\n </td-breadcrumbs>\n <div class=\"breadcrumb-current-title\" [attr.data-test]=\"'title'\">\n {{ currentItemTitle }}\n </div>\n\n <mat-divider [style.position]=\"'relative'\"></mat-divider>\n </ng-container>\n\n <div class=\"scroll-area\" id=\"td-markdown-navigator-content\">\n <div\n *ngIf=\"showTdMarkdownLoader || showTdMarkdown\"\n class=\"markdown-wrapper\"\n #markdownWrapper\n >\n <td-message\n *ngIf=\"markdownLoaderError\"\n [sublabel]=\"markdownLoaderError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'markdown-loader-error'\"\n ></td-message>\n <td-flavored-markdown-loader\n *ngIf=\"showTdMarkdownLoader\"\n [url]=\"url ?? ''\"\n [httpOptions]=\"httpOptions ?? {}\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (loadFailed)=\"handleMarkdownLoaderError($event)\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown-loader>\n <td-flavored-markdown\n *ngIf=\"showTdMarkdown\"\n [content]=\"markdownString ?? ''\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown>\n </div>\n\n <td-message\n *ngIf=\"childrenUrlError\"\n [sublabel]=\"childrenUrlError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'children-url-error'\"\n ></td-message>\n <div *ngIf=\"showMenu\" class=\"td-markdown-list\">\n <mat-action-list>\n <button\n *ngFor=\"let item of currentMenuItems; index as index\"\n [id]=\"\n 'td-markdown-navigator-list-item-' + (item.id ? item.id : index)\n \"\n (click)=\"handleItemSelected(item)\"\n mat-list-item\n [matTooltip]=\"getTitle(item)\"\n matTooltipPosition=\"before\"\n matTooltipShowDelay=\"500\"\n >\n <mat-icon\n matListItemIcon\n [fontSet]=\"isCovalentIcon(item) ? 'covalent-icons' : ''\"\n >\n {{ getIcon(item) }}\n </mat-icon>\n <span matListItemTitle class=\"truncate\">\n {{ getTitle(item) }}\n </span>\n <span matListItemLine class=\"truncate\">{{ item.description }}</span>\n <mat-divider></mat-divider>\n </button>\n </mat-action-list>\n </div>\n\n <ng-container *ngComponentOutlet=\"footerComponent\"></ng-container>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"showEmptyState\"\n layout=\"column\"\n layout-align=\"center center\"\n class=\"empty-state\"\n>\n <mat-icon matListItemAvatar>subject</mat-icon>\n <h2>{{ emptyStateLabel }}</h2>\n</div>\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n HostListener,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Type,\n Output,\n EventEmitter,\n SecurityContext,\n} from '@angular/core';\nimport {\n removeLeadingHash,\n isAnchorLink,\n TdMarkdownLoaderService,\n} from '@covalent/markdown';\nimport {\n ITdFlavoredMarkdownButtonClickEvent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n} from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\nimport { firstValueFrom } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TdDialogComponent } from '@covalent/core/dialogs';\nimport { TdMessageComponent } from '@covalent/core/message';\nimport {\n TdBreadcrumbsComponent,\n TdBreadcrumbComponent,\n} from '@covalent/core/breadcrumbs';\nimport { CommonModule } from '@angular/common';\n\nexport interface IMarkdownNavigatorItem {\n id?: string;\n title?: string;\n url?: string;\n httpOptions?: object;\n markdownString?: string; // raw markdown\n anchor?: string;\n children?: IMarkdownNavigatorItem[];\n childrenUrl?: string;\n description?: string;\n icon?: string;\n footer?: Type<any>;\n startAtLink?: IMarkdownNavigatorItem;\n}\n\nexport interface IMarkdownNavigatorLabels {\n goHome?: string;\n goBack?: string;\n emptyState?: string;\n}\n\nexport type IMarkdownNavigatorCompareWith = (\n o1: IMarkdownNavigatorItem,\n o2: IMarkdownNavigatorItem,\n) => boolean;\n\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS: IMarkdownNavigatorLabels = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\n\n@Component({\n selector: 'td-markdown-navigator',\n templateUrl: './markdown-navigator.component.html',\n styleUrls: ['./markdown-navigator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n TdBreadcrumbComponent,\n ],\n providers: [TdMarkdownLoaderService],\n})\nexport class TdMarkdownNavigatorComponent implements OnChanges {\n constructor(\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n private _http: HttpClient,\n private _matIconRegistry: MatIconRegistry,\n ) {\n this._matIconRegistry.registerFontClassAlias(\n 'covalent-icons',\n 'covalent-icons mat-ligature-font',\n );\n }\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n @Input() items?: IMarkdownNavigatorItem[];\n\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n @Input() labels?: IMarkdownNavigatorLabels;\n\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n @Input() startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard? = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n @Input() footer?: any;\n\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n @Input() compareWith?: IMarkdownNavigatorCompareWith;\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n @Output() itemSelected: EventEmitter<IMarkdownNavigatorItem> =\n new EventEmitter();\n\n @ViewChild('markdownWrapper') markdownWrapper!: ElementRef;\n\n historyStack: IMarkdownNavigatorItem[] = []; // history\n currentMarkdownItem?: IMarkdownNavigatorItem; // currently rendered\n currentMenuItems?: IMarkdownNavigatorItem[] = []; // current menu items\n\n loading = false;\n\n markdownLoaderError?: string;\n childrenUrlError?: string;\n\n @HostListener('click', ['$event'])\n clickListener(event: Event): void {\n const element: HTMLElement = <HTMLElement>event.srcElement;\n if (\n element.matches('a[href]') &&\n isMarkdownHref(<HTMLAnchorElement>element)\n ) {\n this.handleLinkClick(event);\n }\n }\n\n get showGoBackButton(): boolean {\n return this.historyStack.length > 0;\n }\n\n get showHeader(): boolean {\n return !!this.currentItemTitle;\n }\n\n get showMenu(): boolean {\n const showMenu = this.currentMenuItems && this.currentMenuItems.length > 0;\n return showMenu ?? false;\n }\n\n get showTdMarkdownLoader(): boolean {\n return (\n !!this.currentMarkdownItem &&\n !!this.currentMarkdownItem.url &&\n !this.showTdMarkdown\n );\n }\n\n get showTdMarkdown(): boolean {\n return (\n !!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString\n );\n }\n\n get url(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n\n get footerComponent(): any {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions(): object | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n return undefined;\n }\n get markdownString(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n return undefined;\n }\n\n get anchor(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n return undefined;\n }\n\n get showEmptyState(): boolean {\n return !this.items || this.items.length < 1;\n }\n\n get goHomeLabel(): string | undefined {\n return (\n (this.labels && this.labels.goHome) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome\n );\n }\n\n get goBackLabel(): string | undefined {\n return (\n (this.labels && this.labels.goBack) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack\n );\n }\n\n get emptyStateLabel(): string | undefined {\n return (\n (this.labels && this.labels.emptyState) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState\n );\n }\n\n get currentItemTitle(): string {\n if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n } else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n\n get navigationBreadcrumbs(): IMarkdownNavigatorItem[] {\n return this.historyStack.slice(0, -1);\n }\n\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n if (changes['items']) {\n this.reset();\n }\n if (changes['startAt'] && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n\n hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors(): void {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n\n reset(): void {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (\n this.items &&\n this.items.length === 1 &&\n !this.hasChildrenOrChildrenUrl(this.items[0])\n ) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n } else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this.itemSelected.emit(undefined);\n this._changeDetectorRef.markForCheck();\n }\n\n goBack(goBackLength = 2): void {\n this.loading = false;\n this.clearErrors();\n let parent: IMarkdownNavigatorItem | undefined =\n this.historyStack[this.historyStack.length - goBackLength];\n\n if (parent?.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -goBackLength);\n }\n\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(\n 0,\n this.historyStack.length - goBackLength + 1,\n );\n this.setChildrenAsCurrentMenuItems(parent);\n } else {\n this.reset();\n }\n this.itemSelected.emit(parent);\n this._changeDetectorRef.markForCheck();\n }\n\n handleItemSelected(item: IMarkdownNavigatorItem): void {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this.itemSelected.emit(item);\n this._changeDetectorRef.markForCheck();\n }\n\n async setChildrenAsCurrentMenuItems(\n item: IMarkdownNavigatorItem,\n ): Promise<void> {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n\n const stackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n let children: IMarkdownNavigatorItem[] = [];\n if (item.children) {\n children = item.children;\n } else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n if (\n stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every(\n (stackItem: IMarkdownNavigatorItem, index: number) =>\n stackItem === newStackSnapshot[index],\n )\n ) {\n this.currentMenuItems = children;\n }\n\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n\n async loadChildrenUrl(\n item: IMarkdownNavigatorItem,\n ): Promise<IMarkdownNavigatorItem[]> {\n const sanitizedUrl =\n this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl ?? null) ??\n '';\n try {\n return await firstValueFrom<IMarkdownNavigatorItem[]>(\n this._http.get<IMarkdownNavigatorItem[]>(sanitizedUrl, {\n ...item.httpOptions,\n }),\n );\n } catch (error: any) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n\n getTitle(item: IMarkdownNavigatorItem): string {\n if (!item) {\n return '';\n }\n return (\n removeLeadingHash(item.anchor ?? '') ||\n item.title ||\n getTitleFromUrl(item.url ?? '') ||\n getTitleFromMarkdownString(item.markdownString ?? '') ||\n ''\n ).trim();\n }\n\n getIcon(item: IMarkdownNavigatorItem): string {\n const icon = item?.icon || 'subject';\n return icon.split(';')[0];\n }\n\n isCovalentIcon(item: IMarkdownNavigatorItem): boolean {\n if (!item?.icon) return false;\n return item?.icon?.includes(';covalent');\n }\n\n handleChildrenUrlError(error: Error): void {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error: Error): void {\n this.markdownLoaderError = error ? error.message : '';\n this._changeDetectorRef.markForCheck();\n }\n\n private async _jumpTo(\n itemOrPath: IMarkdownNavigatorItem | IMarkdownNavigatorItem[],\n children?: IMarkdownNavigatorItem[],\n ): Promise<boolean> {\n const historyStack: IMarkdownNavigatorItem[] = this.historyStack;\n let path: IMarkdownNavigatorItem[] = [];\n\n if (this.items?.length) {\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n } else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n } else {\n path = this.findPath(this.items, itemOrPath);\n }\n path.forEach((pathItem: IMarkdownNavigatorItem, index) => {\n if (index === 0) {\n this.reset();\n }\n\n this.handleItemSelected(pathItem);\n });\n }\n\n return !!path.length;\n }\n\n private async followPath(\n items: IMarkdownNavigatorItem[],\n path: IMarkdownNavigatorItem[],\n ): Promise<IMarkdownNavigatorItem[]> {\n let pathItems: IMarkdownNavigatorItem[] = [];\n let currentLevel: IMarkdownNavigatorItem[] = items;\n const compareWith: IMarkdownNavigatorCompareWith =\n this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem: IMarkdownNavigatorItem | undefined = currentLevel.find(\n (item: IMarkdownNavigatorItem) => compareWith(pathItem, item),\n );\n\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n\n if (foundItem.children) {\n currentLevel = foundItem.children;\n } else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n } else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n\n private findPath(\n items?: IMarkdownNavigatorItem[],\n item?: IMarkdownNavigatorItem,\n ): IMarkdownNavigatorItem[] {\n const compareWith: IMarkdownNavigatorCompareWith =\n this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (item && compareWith(child, item)) {\n return [child];\n }\n const ancestors: IMarkdownNavigatorItem[] = this.findPath(\n child.children,\n item,\n );\n if (ancestors.length) {\n return [child, ...ancestors];\n }\n }\n }\n return [];\n }\n\n private async handleLinkClick(event: Event): Promise<void> {\n event.preventDefault();\n const link: HTMLAnchorElement = <HTMLAnchorElement>event.target;\n const url: URL = new URL(link.href);\n const urlParts = url.href.split('/');\n const id = urlParts[urlParts.length - 1].split('.md')[0];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const pathFound = await this._jumpTo({ id });\n\n if (pathFound) {\n return;\n }\n\n try {\n const markdownString: string = await this._markdownUrlLoaderService.load(\n url.href,\n );\n // pass in url to be able to use currentMarkdownItem.url later on\n this.handleItemSelected({ markdownString, url: url.href });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n } catch (error) {\n const win = window.open(url.href, '_blank');\n win?.focus();\n } finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n}\n\nfunction getTitleFromUrl(url: string): string {\n if (url) {\n const temp: URL = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n } else {\n const path: string[] = temp.pathname.split('/');\n const fileName: string = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return '';\n}\n\nfunction getTitleFromMarkdownString(markdownString: string): string {\n if (markdownString) {\n const firstLine: string =\n markdownString.split(/[\\r\\n]+/).find((line: string) => !!line) ?? '';\n return removeLeadingHash(firstLine).trim();\n }\n return '';\n}\n\nfunction isMarkdownHref(anchor: HTMLAnchorElement): boolean {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(\n o1: IMarkdownNavigatorItem,\n o2: IMarkdownNavigatorItem,\n): boolean {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n","import {\n Component,\n Output,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n Type,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorLabels,\n IMarkdownNavigatorCompareWith,\n TdMarkdownNavigatorComponent,\n} from '../markdown-navigator.component';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\nimport { TdWindowDialogComponent } from '@covalent/core/dialogs';\n\nexport interface IMarkdownNavigatorWindowLabels\n extends IMarkdownNavigatorLabels {\n title?: string;\n close?: string;\n dock?: string;\n unDock?: string;\n}\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS: IMarkdownNavigatorWindowLabels =\n {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n };\n\n@Component({\n selector: 'td-markdown-navigator-window',\n templateUrl: './markdown-navigator-window.component.html',\n styleUrls: ['./markdown-navigator-window.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TdWindowDialogComponent, TdMarkdownNavigatorComponent],\n})\nexport class TdMarkdownNavigatorWindowComponent {\n @Input() items?: IMarkdownNavigatorItem[];\n @Input() labels?: IMarkdownNavigatorWindowLabels;\n @Input() toolbarColor: ThemePalette = 'primary';\n @Input() startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n @Input() compareWith?: IMarkdownNavigatorCompareWith;\n @Input() docked? = false;\n @Input() copyCodeToClipboard? = false;\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n @Input() footer?: Type<any>;\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n @Output() itemSelected: EventEmitter<IMarkdownNavigatorItem> =\n new EventEmitter();\n\n get markdownNavigatorLabels(): IMarkdownNavigatorLabels | undefined {\n if (!this.labels) {\n return undefined;\n }\n\n const { goHome, goBack, emptyState }: IMarkdownNavigatorWindowLabels =\n this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n get titleLabel(): string | undefined {\n return (\n (this.labels && this.labels.title) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title\n );\n }\n\n get closeLabel(): string | undefined {\n return (\n (this.labels && this.labels.close) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close\n );\n }\n\n get toggleDockedStateLabel(): string | undefined {\n if (this.docked) {\n return (\n (this.labels && this.labels.unDock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock\n );\n } else {\n return (\n (this.labels && this.labels.dock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock\n );\n }\n }\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","<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 (itemSelected)=\"itemSelected.emit($event)\"\n ></td-markdown-navigator>\n</td-window-dialog>\n","import {\n Injectable,\n Inject,\n RendererFactory2,\n Renderer2,\n Type,\n} from '@angular/core';\nimport {\n MatDialogRef,\n MatDialogConfig,\n DialogPosition,\n} from '@angular/material/dialog';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n TdMarkdownNavigatorWindowComponent,\n IMarkdownNavigatorWindowLabels,\n} from '../markdown-navigator-window/markdown-navigator-window.component';\nimport {\n TdDialogService,\n IDraggableRefs,\n ResizableDraggableDialog,\n} from '@covalent/core/dialogs';\nimport { DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorCompareWith,\n} from '../markdown-navigator.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorWindowConfig {\n items: IMarkdownNavigatorItem[];\n dialogConfig?: MatDialogConfig;\n labels?: IMarkdownNavigatorWindowLabels;\n toolbarColor?: ThemePalette;\n startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n compareWith?: IMarkdownNavigatorCompareWith;\n copyCodeToClipboard?: boolean;\n copyCodeTooltips?: ICopyCodeTooltips;\n footer?: Type<any>;\n}\n\nconst CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';\n\nconst DEFAULT_POSITION: DialogPosition = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH = '360px';\nconst DEFAULT_HEIGHT = '75vh';\nconst MAX_WIDTH = '100vw';\n\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG: MatDialogConfig = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\n\n@Injectable()\nexport class TdMarkdownNavigatorWindowService {\n private _renderer2: Renderer2;\n private dragRef!: DragRef;\n private resizableDraggableDialog!: ResizableDraggableDialog;\n private markdownNavigatorWindowDialog!: MatDialogRef<TdMarkdownNavigatorWindowComponent>;\n private markdownNavigatorWindowDialogsOpen = 0;\n\n constructor(\n private _tdDialogService: TdDialogService,\n @Inject(DOCUMENT) private _document: any,\n private rendererFactory: RendererFactory2\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n\n public open(\n config: IMarkdownNavigatorWindowConfig\n ): MatDialogRef<TdMarkdownNavigatorWindowComponent> {\n this.close();\n\n const configClass = config?.dialogConfig?.panelClass;\n const panelClass =\n configClass && !Array.isArray(configClass) ? [configClass] : [];\n\n const draggableConfig: MatDialogConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n ...panelClass,\n };\n const {\n matDialogRef,\n dragRefSubject,\n }: IDraggableRefs<TdMarkdownNavigatorWindowComponent> =\n this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt =\n config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =\n config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =\n config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith =\n config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf: DragRef) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(\n this._document,\n this._renderer2,\n this.markdownNavigatorWindowDialog,\n this.dragRef\n );\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n\n public close(): void {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n\n public get isOpen(): boolean {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n\n private _handleEvents(): void {\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() =>\n this.close()\n );\n\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport {\n TdMarkdownNavigatorWindowService,\n IMarkdownNavigatorWindowConfig,\n} from '../markdown-navigator-window-service/markdown-navigator-window.service';\n\n@Directive({\n selector: '[tdMarkdownNavigatorWindow]',\n})\nexport class TdMarkdownNavigatorWindowDirective {\n @Input('tdMarkdownNavigatorWindow') config?: IMarkdownNavigatorWindowConfig;\n @Input() disabled = false;\n constructor(\n private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService\n ) {}\n\n @HostListener('click') click(): void {\n if (!this.disabled && this.config) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\nimport { TdDialogService } from '@covalent/core/dialogs';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\n@NgModule({\n imports: [\n CommonModule,\n\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n exports: [\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n providers: [TdMarkdownNavigatorWindowService, TdDialogService],\n})\nexport class CovalentMarkdownNavigatorModule {\n constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TdMarkdownNavigatorWindowService","i1"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown
|
|
|
4
4
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
5
5
|
import { HttpClient } from '@angular/common/http';
|
|
6
6
|
import { ICopyCodeTooltips } from '@covalent/highlight';
|
|
7
|
+
import { MatIconRegistry } from '@angular/material/icon';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export interface IMarkdownNavigatorItem {
|
|
9
10
|
id?: string;
|
|
@@ -31,6 +32,8 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
|
|
|
31
32
|
private _changeDetectorRef;
|
|
32
33
|
private _sanitizer;
|
|
33
34
|
private _http;
|
|
35
|
+
private _matIconRegistry;
|
|
36
|
+
constructor(_markdownUrlLoaderService: TdMarkdownLoaderService, _changeDetectorRef: ChangeDetectorRef, _sanitizer: DomSanitizer, _http: HttpClient, _matIconRegistry: MatIconRegistry);
|
|
34
37
|
/**
|
|
35
38
|
* items: IMarkdownNavigatorItem[]
|
|
36
39
|
*
|
|
@@ -84,7 +87,6 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
|
|
|
84
87
|
loading: boolean;
|
|
85
88
|
markdownLoaderError?: string;
|
|
86
89
|
childrenUrlError?: string;
|
|
87
|
-
constructor(_markdownUrlLoaderService: TdMarkdownLoaderService, _changeDetectorRef: ChangeDetectorRef, _sanitizer: DomSanitizer, _http: HttpClient);
|
|
88
90
|
clickListener(event: Event): void;
|
|
89
91
|
get showGoBackButton(): boolean;
|
|
90
92
|
get showHeader(): boolean;
|
|
@@ -101,6 +103,7 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
|
|
|
101
103
|
get goBackLabel(): string | undefined;
|
|
102
104
|
get emptyStateLabel(): string | undefined;
|
|
103
105
|
get currentItemTitle(): string;
|
|
106
|
+
get navigationBreadcrumbs(): IMarkdownNavigatorItem[];
|
|
104
107
|
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
105
108
|
hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean;
|
|
106
109
|
clearErrors(): void;
|
|
@@ -111,6 +114,7 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
|
|
|
111
114
|
loadChildrenUrl(item: IMarkdownNavigatorItem): Promise<IMarkdownNavigatorItem[]>;
|
|
112
115
|
getTitle(item: IMarkdownNavigatorItem): string;
|
|
113
116
|
getIcon(item: IMarkdownNavigatorItem): string;
|
|
117
|
+
isCovalentIcon(item: IMarkdownNavigatorItem): boolean;
|
|
114
118
|
handleChildrenUrlError(error: Error): void;
|
|
115
119
|
handleMarkdownLoaderError(error: Error): void;
|
|
116
120
|
private _jumpTo;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { MatIconRegistry } from '@angular/material/icon';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
1
3
|
import * as i0 from "@angular/core";
|
|
2
4
|
import * as i1 from "@angular/common";
|
|
3
5
|
import * as i2 from "./markdown-navigator.component";
|
|
@@ -8,6 +10,7 @@ import * as i4 from "./markdown-navigator-window-directive/markdown-navigator-wi
|
|
|
8
10
|
* Please migrate to using standalone components as soon as possible.
|
|
9
11
|
*/
|
|
10
12
|
export declare class CovalentMarkdownNavigatorModule {
|
|
13
|
+
constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer);
|
|
11
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<CovalentMarkdownNavigatorModule, never>;
|
|
12
15
|
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentMarkdownNavigatorModule, never, [typeof i1.CommonModule, typeof i2.TdMarkdownNavigatorComponent, typeof i3.TdMarkdownNavigatorWindowComponent, typeof i4.TdMarkdownNavigatorWindowDirective], [typeof i2.TdMarkdownNavigatorComponent, typeof i3.TdMarkdownNavigatorWindowComponent, typeof i4.TdMarkdownNavigatorWindowDirective]>;
|
|
13
16
|
static ɵinj: i0.ɵɵInjectorDeclaration<CovalentMarkdownNavigatorModule>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@covalent/markdown-navigator",
|
|
3
|
-
"version": "10.4.0
|
|
3
|
+
"version": "10.4.0",
|
|
4
4
|
"description": "Teradata UI Platform Markdown Navigator Module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"@angular/core": "19.x.x",
|
|
29
29
|
"@angular/material": "19.x.x",
|
|
30
30
|
"@angular/cdk": "19.x.x",
|
|
31
|
-
"@covalent/core": "10.4.0
|
|
32
|
-
"@covalent/flavored-markdown": "10.4.0
|
|
33
|
-
"@covalent/highlight": "10.4.0
|
|
31
|
+
"@covalent/core": "10.4.0",
|
|
32
|
+
"@covalent/flavored-markdown": "10.4.0",
|
|
33
|
+
"@covalent/highlight": "10.4.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"tslib": "^2.8.1"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Covalent Icons for Markdown Navigator
|
|
2
|
+
// Import this file once in your global styles to enable Covalent icons support
|
|
3
|
+
|
|
4
|
+
// Override font path for npm consumers
|
|
5
|
+
$icomoon-font-path: '~@covalent/icons' !default;
|
|
6
|
+
|
|
7
|
+
// Import Covalent icons
|
|
8
|
+
@import '@covalent/icons/covalent-icons.scss';
|