@talrace/ngx-noder 0.0.4 → 0.0.6
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 +72 -64
- package/esm2022/lib/+shared/abstract/base-api.service.mjs +4 -4
- package/esm2022/lib/+shared/abstract/observer.component.mjs +4 -4
- package/esm2022/lib/+shared/add-link-dialog/add-link-dialog.component.mjs +11 -7
- package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +12 -8
- package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/core/editor.mjs +7 -14
- package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +9 -8
- package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +7 -6
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +6 -4
- package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +9 -15
- package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +6 -5
- package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +8 -6
- package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +10 -8
- package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/editor.component.mjs +7 -14
- package/esm2022/lib/+shared/editor/editor.module.mjs +5 -8
- package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +1 -1
- package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +18 -8
- package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +4 -4
- package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +4 -4
- package/esm2022/lib/+shared/editor-title/editor-title.component.mjs +83 -0
- package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +78 -92
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +15 -5
- package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +4 -4
- package/esm2022/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.mjs +194 -0
- package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.mjs +126 -0
- package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +4 -4
- package/esm2022/lib/+shared/helpers/scaling.helper.mjs +9 -0
- package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +4 -4
- package/esm2022/lib/+shared/services/commands.service.mjs +4 -4
- package/esm2022/lib/+shared/services/custom-icon.service.mjs +4 -4
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/talrace-ngx-noder.mjs +545 -488
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/+shared/add-link-dialog/add-link-dialog.component.d.ts +1 -0
- package/lib/+shared/confirm-dialog/confirm-dialog.component.d.ts +1 -0
- package/lib/+shared/editor/core/editor.d.ts +3 -3
- package/lib/+shared/editor/core/helpers/rendering.helper.d.ts +3 -3
- package/lib/+shared/editor/custom-components/shared/abstract/base.component.d.ts +3 -1
- package/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.d.ts +1 -1
- package/lib/+shared/editor/custom-components/table/components/table-cell.component.d.ts +2 -2
- package/lib/+shared/editor/custom-components/table/components/table.component.d.ts +0 -2
- package/lib/+shared/editor/editor.component.d.ts +1 -5
- package/lib/+shared/editor/editor.module.d.ts +15 -16
- package/lib/+shared/editor/execution/models/general-properties.model.d.ts +1 -0
- package/lib/+shared/editor/execution/regulator.service.d.ts +2 -2
- package/lib/+shared/editor-title/editor-title.component.d.ts +24 -0
- package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +31 -30
- package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +19 -16
- package/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.d.ts +73 -0
- package/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.d.ts +49 -0
- package/lib/+shared/helpers/scaling.helper.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/src/_ngx-noder.theme.scss +10 -8
- package/src/lib/+shared/add-link-dialog/_add-link-dialog.theme.scss +3 -3
- package/src/lib/+shared/confirm-dialog/_theme.scss +6 -6
- package/src/lib/+shared/editor/_editor.theme.scss +84 -15
- package/src/lib/+shared/editor/_theme.scss +0 -2
- package/src/lib/+shared/editor-title/_editor-title.theme.scss +28 -0
- package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +1 -24
- package/src/lib/+shared/editor-toolbar/_theme.scss +16 -2
- package/src/lib/+shared/editor-toolbar/font/_font.theme.scss +12 -0
- package/src/lib/+shared/editor-toolbar/font-size/_font-size.theme.scss +14 -0
- package/src/lib/+shared/editor-toolbar/font-style/_font-style.theme.scss +21 -0
- package/src/lib/+shared/editor-toolbar/format/_format.theme.scss +21 -0
- package/src/lib/+shared/editor-toolbar/menu-dropdowns/_menu-dropdowns.theme.scss +26 -0
- package/src/lib/+shared/editor-toolbar/numbering/_numbering.theme.scss +52 -11
- package/src/lib/+shared/editor-toolbar/toolbar-actions/_toolbar-actions.theme.scss +21 -0
- package/src/lib/+shared/editor-toolbar/undo-redo/_undo-redo.theme.scss +16 -0
- package/src/lib/+shared/insert-table/_insert-table.theme.scss +9 -6
- package/src/scss/_mixins.scss +2 -37
- package/esm2022/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.mjs +0 -35
- package/esm2022/lib/+shared/editor-header/editor-header.component.mjs +0 -314
- package/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.d.ts +0 -14
- package/lib/+shared/editor-header/editor-header.component.d.ts +0 -101
- package/src/lib/+shared/editor/custom-components/external-element/element-toolbar/_element-toolbar.theme.scss +0 -10
- package/src/lib/+shared/editor-header/_editor-header.theme.scss +0 -106
package/README.md
CHANGED
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
## Description
|
|
4
4
|
|
|
5
5
|
Rich Text Editor for Angular with basic WORD features and ability to create and use your own custom components. The package also provides customizable toolbar, header, custom search in editor and basic interfaces of custom components which you can overwrite to suit your needs in your application.\
|
|
6
|
+
|
|
6
7
|
#### You can get information about the API and more NgxNoder examples from the [documentation].
|
|
7
8
|
|
|
8
9
|
## Installation
|
|
9
10
|
|
|
10
11
|
Run this command to add ngx-noder package to your project
|
|
12
|
+
|
|
11
13
|
```console
|
|
12
14
|
npm i @talrace/ngx-noder
|
|
13
15
|
```
|
|
@@ -21,10 +23,10 @@ import { EditorModule } from '@talrace/ngx-noder';
|
|
|
21
23
|
|
|
22
24
|
@NgModule({
|
|
23
25
|
// ...
|
|
24
|
-
|
|
26
|
+
imports: [EditorModule]
|
|
25
27
|
// ...
|
|
26
28
|
})
|
|
27
|
-
export class SomeModule{}
|
|
29
|
+
export class SomeModule {}
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
If you need save your changes in document, you need provide CommandsService in your module. This service provides passing commands from the editor to your application for further saving and applying them to your document.
|
|
@@ -34,52 +36,55 @@ import { CommandsService } from '@talrace/ngx-noder';
|
|
|
34
36
|
|
|
35
37
|
@NgModule({
|
|
36
38
|
// ...
|
|
37
|
-
|
|
39
|
+
provides: [CommandsService]
|
|
38
40
|
// ...
|
|
39
41
|
})
|
|
40
|
-
export class SomeModule{}
|
|
42
|
+
export class SomeModule {}
|
|
41
43
|
```
|
|
42
44
|
|
|
43
45
|
### Editor Toolbar
|
|
44
46
|
|
|
45
47
|
Import editor toolbar module, if you need toolbar for your editor. This module provides ready-made toolbar with buttons that covers all basic logic of the document content editing functionality.
|
|
48
|
+
|
|
46
49
|
```typescript
|
|
47
50
|
import { EditorToolbarModule } from '@talrace/ngx-noder';
|
|
48
51
|
|
|
49
52
|
@NgModule({
|
|
50
53
|
// ...
|
|
51
|
-
|
|
54
|
+
imports: [EditorToolbarModule]
|
|
52
55
|
// ...
|
|
53
56
|
})
|
|
54
|
-
export class SomeModule{}
|
|
57
|
+
export class SomeModule {}
|
|
55
58
|
```
|
|
56
59
|
|
|
57
60
|
### Editor Header
|
|
58
61
|
|
|
59
62
|
Import standalone editor header component, if you need header for your editor. This component provides editor header component with buttons that contains basic functional with document and part of the document content editing functionality.
|
|
63
|
+
|
|
60
64
|
```typescript
|
|
61
65
|
import { EditorHeaderComponent } from '@talrace/ngx-noder';
|
|
62
66
|
|
|
63
67
|
@NgModule({
|
|
64
68
|
// ...
|
|
65
|
-
|
|
69
|
+
imports: [EditorHeaderComponent]
|
|
66
70
|
// ...
|
|
67
71
|
})
|
|
68
|
-
export class SomeModule{}
|
|
72
|
+
export class SomeModule {}
|
|
69
73
|
```
|
|
70
74
|
|
|
71
75
|
### Editor Search
|
|
72
76
|
|
|
73
77
|
Import standalone editor search component, if you need custom search in your editor. This component provides custom search component and search and replace functionality in editor.
|
|
78
|
+
|
|
74
79
|
```typescript
|
|
75
80
|
import { EditorSearchDialogComponent } from '@talrace/ngx-noder';
|
|
76
81
|
|
|
77
82
|
@NgModule({
|
|
78
83
|
// ...
|
|
79
|
-
|
|
84
|
+
imports: [EditorSearchDialogComponent]
|
|
80
85
|
// ...
|
|
81
86
|
})
|
|
82
|
-
export class SomeModule{}
|
|
87
|
+
export class SomeModule {}
|
|
83
88
|
```
|
|
84
89
|
|
|
85
90
|
### Editor Service
|
|
@@ -91,7 +96,7 @@ import { EditorService } from '@talrace/ngx-noder';
|
|
|
91
96
|
|
|
92
97
|
@NgModule({
|
|
93
98
|
// ...
|
|
94
|
-
provides: [EditorService]
|
|
99
|
+
provides: [EditorService]
|
|
95
100
|
// ...
|
|
96
101
|
})
|
|
97
102
|
export class SomeModule {}
|
|
@@ -102,62 +107,70 @@ export class SomeModule {}
|
|
|
102
107
|
Example of full-featured NgxNoder with toolbar, header, custom search and receiving commands from editor.
|
|
103
108
|
|
|
104
109
|
app.module.ts
|
|
110
|
+
|
|
105
111
|
```typescript
|
|
106
112
|
import { NgModule } from '@angular/core';
|
|
107
113
|
import { BrowserModule } from '@angular/platform-browser';
|
|
108
114
|
import { AppComponent } from './app.component';
|
|
109
|
-
import {
|
|
110
|
-
EditorHeaderComponent,
|
|
111
|
-
EditorModule,
|
|
112
|
-
EditorSearchDialogComponent,
|
|
113
|
-
EditorToolbarModule
|
|
114
|
-
} from '@talrace/ngx-noder';
|
|
115
|
+
import { EditorHeaderComponent, EditorModule, EditorSearchDialogComponent, EditorToolbarModule } from '@talrace/ngx-noder';
|
|
115
116
|
|
|
116
117
|
@NgModule({
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
EditorModule,
|
|
122
|
-
EditorSearchDialogComponent,
|
|
123
|
-
EditorToolbarModule
|
|
124
|
-
],
|
|
125
|
-
providers: [CommandsService],
|
|
126
|
-
bootstrap: [AppComponent]
|
|
118
|
+
declarations: [AppComponent],
|
|
119
|
+
imports: [BrowserModule, EditorHeaderComponent, EditorModule, EditorSearchDialogComponent, EditorToolbarModule],
|
|
120
|
+
providers: [CommandsService],
|
|
121
|
+
bootstrap: [AppComponent]
|
|
127
122
|
})
|
|
128
|
-
export class AppModule{}
|
|
123
|
+
export class AppModule {}
|
|
129
124
|
```
|
|
130
125
|
|
|
131
126
|
app.component.html
|
|
127
|
+
|
|
132
128
|
```html
|
|
133
|
-
<app-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
129
|
+
<app-page-header>
|
|
130
|
+
<app-editor-toolbar
|
|
131
|
+
[showActions]="(isViewOnly$ | async) === false"
|
|
132
|
+
[isViewOnly]="isViewOnly$ | async"
|
|
133
|
+
[hasSelection]="hasSelection$ | async"
|
|
134
|
+
[clipboardData]="clipboardData$ | async"
|
|
135
|
+
[historyInfo]="historyInfo$ | async"
|
|
136
|
+
[styles]="styles$ | async"
|
|
137
|
+
(openFileFromDisk)="onConvertFile($event)"
|
|
138
|
+
(addCustomElement)="addCustomElement($event)"
|
|
139
|
+
(insertPageBreak)="onInsertPageBreak()"
|
|
140
|
+
(createDocument)="createDocument()"
|
|
141
|
+
(saveAs)="onSave()"
|
|
142
|
+
(print)="onPrint()"
|
|
143
|
+
(delete)="onDelete()"
|
|
144
|
+
(rename)="rename$.next()"
|
|
145
|
+
(undo)="onUndo()"
|
|
146
|
+
(redo)="onRedo()"
|
|
147
|
+
(openEditMenu)="onOpenEditMenu()"
|
|
148
|
+
(cutSelected)="onCutSelected()"
|
|
149
|
+
(copySelected)="onCopySelected()"
|
|
150
|
+
(pasteClipboardData)="onPasteClipboardData()"
|
|
151
|
+
(selectAll)="onSelectAll()"
|
|
152
|
+
(removeSelected)="onRemoveSelected()"
|
|
153
|
+
(insertImage)="onInsertImage($event)"
|
|
154
|
+
(insertLink)="onInsertLink()"
|
|
155
|
+
(insertTable)="onInsertTable($event)"
|
|
156
|
+
(createElement)="createElement($event)"
|
|
157
|
+
(changeParagraphStyle)="onSetParagraphStyle($event)"
|
|
158
|
+
(changeTextStyle)="onSetTextStyle($event)"
|
|
159
|
+
(setNumberingTemplateType)="onSetNumberingTemplateType($event)"
|
|
160
|
+
(removeNumberings)="onRemoveNumberings()" />
|
|
161
|
+
</app-page-header>
|
|
155
162
|
<app-editor
|
|
156
163
|
#editor
|
|
157
|
-
[content]="content$ | async"
|
|
164
|
+
[content]="content$ | async" />
|
|
165
|
+
<app-editor-title
|
|
166
|
+
[title]="title"
|
|
167
|
+
[rename$]="rename$.asObservable()"
|
|
168
|
+
(changeMode)="onModeChanged($event)"
|
|
169
|
+
(renameDocumentTitle)="onRenameDocumentTitle($event)" />
|
|
158
170
|
```
|
|
159
171
|
|
|
160
172
|
app.component.ts
|
|
173
|
+
|
|
161
174
|
```typescript
|
|
162
175
|
import { Store } from '@ngxs/store';
|
|
163
176
|
import { BehaviorSubject, filter, Observable, Subscription, take, tap } from 'rxjs';
|
|
@@ -177,14 +190,14 @@ import {
|
|
|
177
190
|
} from '@talrace/ngx-noder';
|
|
178
191
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
|
179
192
|
|
|
180
|
-
import { CreateOperation } from
|
|
193
|
+
import { CreateOperation } from '../../store/operations/operations.actions';
|
|
181
194
|
import { NoderState } from '../../store/noder/noder.state';
|
|
182
195
|
import { ObserverComponent } from '../../../+shared/abstract/observer.component';
|
|
183
196
|
|
|
184
197
|
@Component({
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
198
|
+
selector: 'app-root',
|
|
199
|
+
templateUrl: './app.component.html',
|
|
200
|
+
styleUrls: ['./app.component.scss']
|
|
188
201
|
})
|
|
189
202
|
export class AppComponent extends ObserverComponent implements OnInit {
|
|
190
203
|
isViewOnly$: Observable<boolean>;
|
|
@@ -198,11 +211,7 @@ export class AppComponent extends ObserverComponent implements OnInit {
|
|
|
198
211
|
|
|
199
212
|
@ViewChild('editor', { static: true }) editor: EditorComponent;
|
|
200
213
|
|
|
201
|
-
constructor(
|
|
202
|
-
private editorService: EditorService,
|
|
203
|
-
private store: Store,
|
|
204
|
-
private commandService: CommandsService
|
|
205
|
-
) {
|
|
214
|
+
constructor(private editorService: EditorService, private store: Store, private commandService: CommandsService) {
|
|
206
215
|
super();
|
|
207
216
|
const mode: Mode = this.store.selectSnapshot(NoderState.mode);
|
|
208
217
|
this.editorService.setIsViewOnly(mode !== Mode.Edit);
|
|
@@ -210,9 +219,7 @@ export class AppComponent extends ObserverComponent implements OnInit {
|
|
|
210
219
|
}
|
|
211
220
|
|
|
212
221
|
ngOnInit() {
|
|
213
|
-
this.subscriptions.push(
|
|
214
|
-
this.createCommandSubscription()
|
|
215
|
-
);
|
|
222
|
+
this.subscriptions.push(this.createCommandSubscription());
|
|
216
223
|
}
|
|
217
224
|
|
|
218
225
|
onPrint(): void {
|
|
@@ -254,12 +261,13 @@ export class AppComponent extends ObserverComponent implements OnInit {
|
|
|
254
261
|
this.store.dispatch(new CreateOperation(command));
|
|
255
262
|
})
|
|
256
263
|
)
|
|
257
|
-
.subscribe()
|
|
264
|
+
.subscribe();
|
|
258
265
|
}
|
|
259
266
|
}
|
|
260
267
|
```
|
|
261
268
|
|
|
262
269
|
app.component.scss
|
|
270
|
+
|
|
263
271
|
```scss
|
|
264
272
|
// styles of your app component
|
|
265
273
|
:host {
|
|
@@ -90,10 +90,10 @@ export class BaseApiService {
|
|
|
90
90
|
}
|
|
91
91
|
return ctor(val);
|
|
92
92
|
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
94
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseApiService, deps: [{ token: i1.HttpClient }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
94
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaseApiService, ngImport: i0 }); }
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseApiService, decorators: [{
|
|
97
97
|
type: Directive
|
|
98
98
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Store }] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvYWJzdHJhY3QvYmFzZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQWlDLFdBQVcsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBSTlDLE1BQU0sT0FBZ0IsY0FBYztJQUtoQyxZQUFzQixJQUFnQixFQUFZLEtBQVk7UUFBeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLFVBQUssR0FBTCxLQUFLLENBQU87UUFKcEQsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFFNUIsY0FBUyxHQUFRLEVBQUUsQ0FBQztJQUVxQyxDQUFDO0lBRTNELFdBQVcsQ0FBQyxRQUEyQjtRQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sTUFBTSxRQUFRLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFUyxPQUFPLENBQUksR0FBVyxFQUFFLElBQXVCLEVBQUUsVUFBdUIsSUFBSSxFQUFFLGtCQUFrQixHQUFHLElBQUk7UUFDN0csSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMs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Q0FBQztJQUNuQixDQUFDO0lBRVMsVUFBVSxDQUFDLFVBQXVCLElBQUk7UUFDNUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUM1QztJQUNMLENBQUM7SUFFUyxPQUFPLENBQUksR0FBb0IsRUFBRSxJQUF1QjtRQUM5RCxNQUFNLEdBQUcsR0FBUSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RELElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQzs4R0E5SGlCLGNBQWM7a0dBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQXBpU2VydmljZSB7XG4gICAgcHJvdGVjdGVkIGFwaVJlbGF0aXZlUGF0aCA9ICcvYXBpLyc7XG5cbiAgICBwcml2YXRlIF9pbkZsaWdodDogYW55ID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZSkge31cblxuICAgIHB1YmxpYyBoYW5kbGVFcnJvcihyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPEh0dHBFcnJvclJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCR7cmVzcG9uc2Uuc3RhdHVzfSAtICR7cmVzcG9uc2Uuc3RhdHVzVGV4dCB8fCByZXNwb25zZS5lcnJvcn1gKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gcmVzcG9uc2UpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBodHRwR2V0PFQ+KHVybDogc3RyaW5nLCBjdG9yOiAodmFsdWU6IGFueSkgPT4gVCwgaGVhZGVyczogSHR0cEhlYWRlcnMgPSBudWxsLCB1c2VBcGlSZWxhdGl2ZVBhdGggPSB0cnVlKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIGlmICh0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFQ+KHVzZUFwaVJlbGF0aXZlUGF0aCA/IGAke3RoaXMuYXBpUmVsYXRpdmVQYXRofSR7dXJsfWAgOiB1cmwsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKGhlYWRlcnMpIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlczogSHR0cFJlc3BvbnNlPFQ+KSA9PiB0aGlzLm1hcFR5cGU8VD4ocmVzLCBjdG9yKSksXG4gICAgICAgICAgICAgICAgc2hhcmUoKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmNsZWFySW5GbGlnaHQodXJsKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuX2luRmxpZ2h0W3VybC50b0xvd2VyQ2FzZSgpXSA9IHJlcXVlc3Q7XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGh0dHBHZXRCbG9iKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIGlmICh0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hcGlSZWxhdGl2ZVBhdGh9JHt1cmx9YCwge1xuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaHR0cFBvc3Q8VD4oXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICAgICBjdG9yOiAodmFsdWU6IGFueSkgPT4gVCxcbiAgICAgICAgZGF0YTogYW55ID0gbnVsbCxcbiAgICAgICAgaGVhZGVyczogSHR0cEhlYWRlcnMgPSBudWxsLFxuICAgICAgICB1c2VBcGlSZWxhdGl2ZVBhdGggPSB0cnVlXG4gICAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3Q6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8VD4odXNlQXBpUmVsYXRpdmVQYXRoID8gdGhpcy5hcGlSZWxhdGl2ZVBhdGggKyB1cmwgOiB1cmwsIGRhdGEsIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhoZWFkZXJzKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzOiBIdHRwUmVzcG9uc2U8VD4pID0+IHRoaXMubWFwVHlwZTxUPihyZXMsIGN0b3IpKSxcbiAgICAgICAgICAgICAgICBzaGFyZSgpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcikpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBodHRwUG9zdEZpbGU8VD4odXJsOiBzdHJpbmcsIGZpbGU6IEJsb2IpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuc2V0KCdmaWxlJywgZmlsZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KHVybCwgeCA9PiB4LCBmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGh0dHBQdXQ8VD4odXJsOiBzdHJpbmcsIGN0b3I6ICh2YWx1ZTogYW55KSA9PiBULCBkYXRhOiBhbnkgPSBudWxsLCBoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5odHRwXG4gICAgICAgICAgICAucHV0PFQ+KHRoaXMuYXBpUmVsYXRpdmVQYXRoICsgdXJsLCBkYXRhLCB7IG9ic2VydmU6ICdyZXNwb25zZScsIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhoZWFkZXJzKSB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXM6IEh0dHBSZXNwb25zZTxUPikgPT4gdGhpcy5tYXBUeXBlPFQ+KHJlcywgY3RvcikpLFxuICAgICAgICAgICAgICAgIHNoYXJlKCksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGh0dHBEZWxldGU8VD4oXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICAgICBpZDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgY3RvcjogKHZhbHVlOiBhbnkpID0+IFQsXG4gICAgICAgIGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbFxuICAgICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBpZCA/IHRoaXMuYXBpUmVsYXRpdmVQYXRoICsgdXJsICsgJy8nICsgaWQgOiB0aGlzLmFwaVJlbGF0aXZlUGF0aCArIHVybDtcbiAgICAgICAgY29uc3QgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5odHRwXG4gICAgICAgICAgICAuZGVsZXRlKHBhdGgsIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhoZWFkZXJzKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzOiBIdHRwUmVzcG9uc2U8VD4pID0+IHRoaXMubWFwVHlwZTxUPihyZXMsIGN0b3IpKSxcbiAgICAgICAgICAgICAgICBzaGFyZSgpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHJlcXVlc3Quc3Vic2NyaWJlKHsgZXJyb3I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpIH0pO1xuXG4gICAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRIZWFkZXJzKGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbCk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhlYWRlcnMuc2V0KCdyZXF1aXJlLXVzZXInLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJJbkZsaWdodCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5GbGlnaHRbdXJsLnRvTG93ZXJDYXNlKCldKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5faW5GbGlnaHRbdXJsLnRvTG93ZXJDYXNlKCldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1hcFR5cGU8VD4ocmVzOiBIdHRwUmVzcG9uc2U8VD4sIGN0b3I6ICh2YWx1ZTogYW55KSA9PiBUKTogYW55IHtcbiAgICAgICAgY29uc3QgdmFsOiBhbnkgPSByZXMuc3RhdHVzID09PSAyMDQgPyBudWxsIDogcmVzLmJvZHk7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbCA9PT0gJ1tdJykge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWwubWFwKHggPT4gY3Rvcih4KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGN0b3IodmFsKTtcbiAgICB9XG59XG4iXX0=
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvYWJzdHJhY3QvYmFzZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQWlDLFdBQVcsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBSTlDLE1BQU0sT0FBZ0IsY0FBYztJQUtoQyxZQUFzQixJQUFnQixFQUFZLEtBQVk7UUFBeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLFVBQUssR0FBTCxLQUFLLENBQU87UUFKcEQsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFFNUIsY0FBUyxHQUFRLEVBQUUsQ0FBQztJQUVxQyxDQUFDO0lBRTNELFdBQVcsQ0FBQyxRQUEyQjtRQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sTUFBTSxRQUFRLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFUyxPQUFPLENBQUksR0FBVyxFQUFFLElBQXVCLEVBQUUsVUFBdUIsSUFBSSxFQUFFLGtCQUFrQixHQUFHLElBQUk7UUFDN0csSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMs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Q0FBQztJQUNuQixDQUFDO0lBRVMsVUFBVSxDQUFDLFVBQXVCLElBQUk7UUFDNUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUM1QztJQUNMLENBQUM7SUFFUyxPQUFPLENBQUksR0FBb0IsRUFBRSxJQUF1QjtRQUM5RCxNQUFNLEdBQUcsR0FBUSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RELElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0E5SGlCLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQXBpU2VydmljZSB7XG4gICAgcHJvdGVjdGVkIGFwaVJlbGF0aXZlUGF0aCA9ICcvYXBpLyc7XG5cbiAgICBwcml2YXRlIF9pbkZsaWdodDogYW55ID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZSkge31cblxuICAgIHB1YmxpYyBoYW5kbGVFcnJvcihyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPEh0dHBFcnJvclJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCR7cmVzcG9uc2Uuc3RhdHVzfSAtICR7cmVzcG9uc2Uuc3RhdHVzVGV4dCB8fCByZXNwb25zZS5lcnJvcn1gKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gcmVzcG9uc2UpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBodHRwR2V0PFQ+KHVybDogc3RyaW5nLCBjdG9yOiAodmFsdWU6IGFueSkgPT4gVCwgaGVhZGVyczogSHR0cEhlYWRlcnMgPSBudWxsLCB1c2VBcGlSZWxhdGl2ZVBhdGggPSB0cnVlKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIGlmICh0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFQ+KHVzZUFwaVJlbGF0aXZlUGF0aCA/IGAke3RoaXMuYXBpUmVsYXRpdmVQYXRofSR7dXJsfWAgOiB1cmwsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKGhlYWRlcnMpIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlczogSHR0cFJlc3BvbnNlPFQ+KSA9PiB0aGlzLm1hcFR5cGU8VD4ocmVzLCBjdG9yKSksXG4gICAgICAgICAgICAgICAgc2hhcmUoKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmNsZWFySW5GbGlnaHQodXJsKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuX2luRmxpZ2h0W3VybC50b0xvd2VyQ2FzZSgpXSA9IHJlcXVlc3Q7XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGh0dHBHZXRCbG9iKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIGlmICh0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pbkZsaWdodFt1cmwudG9Mb3dlckNhc2UoKV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hcGlSZWxhdGl2ZVBhdGh9JHt1cmx9YCwge1xuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaHR0cFBvc3Q8VD4oXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICAgICBjdG9yOiAodmFsdWU6IGFueSkgPT4gVCxcbiAgICAgICAgZGF0YTogYW55ID0gbnVsbCxcbiAgICAgICAgaGVhZGVyczogSHR0cEhlYWRlcnMgPSBudWxsLFxuICAgICAgICB1c2VBcGlSZWxhdGl2ZVBhdGggPSB0cnVlXG4gICAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3Q6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8VD4odXNlQXBpUmVsYXRpdmVQYXRoID8gdGhpcy5hcGlSZWxhdGl2ZVBhdGggKyB1cmwgOiB1cmwsIGRhdGEsIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhoZWFkZXJzKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzOiBIdHRwUmVzcG9uc2U8VD4pID0+IHRoaXMubWFwVHlwZTxUPihyZXMsIGN0b3IpKSxcbiAgICAgICAgICAgICAgICBzaGFyZSgpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcikpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBodHRwUG9zdEZpbGU8VD4odXJsOiBzdHJpbmcsIGZpbGU6IEJsb2IpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuc2V0KCdmaWxlJywgZmlsZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KHVybCwgeCA9PiB4LCBmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGh0dHBQdXQ8VD4odXJsOiBzdHJpbmcsIGN0b3I6ICh2YWx1ZTogYW55KSA9PiBULCBkYXRhOiBhbnkgPSBudWxsLCBoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5odHRwXG4gICAgICAgICAgICAucHV0PFQ+KHRoaXMuYXBpUmVsYXRpdmVQYXRoICsgdXJsLCBkYXRhLCB7IG9ic2VydmU6ICdyZXNwb25zZScsIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhoZWFkZXJzKSB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXM6IEh0dHBSZXNwb25zZTxUPikgPT4gdGhpcy5tYXBUeXBlPFQ+KHJlcywgY3RvcikpLFxuICAgICAgICAgICAgICAgIHNoYXJlKCksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGh0dHBEZWxldGU8VD4oXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICAgICBpZDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgY3RvcjogKHZhbHVlOiBhbnkpID0+IFQsXG4gICAgICAgIGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbFxuICAgICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBpZCA/IHRoaXMuYXBpUmVsYXRpdmVQYXRoICsgdXJsICsgJy8nICsgaWQgOiB0aGlzLmFwaVJlbGF0aXZlUGF0aCArIHVybDtcbiAgICAgICAgY29uc3QgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5odHRwXG4gICAgICAgICAgICAuZGVsZXRlKHBhdGgsIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyhoZWFkZXJzKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzOiBIdHRwUmVzcG9uc2U8VD4pID0+IHRoaXMubWFwVHlwZTxUPihyZXMsIGN0b3IpKSxcbiAgICAgICAgICAgICAgICBzaGFyZSgpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHJlcXVlc3Quc3Vic2NyaWJlKHsgZXJyb3I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpIH0pO1xuXG4gICAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRIZWFkZXJzKGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbCk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhlYWRlcnMuc2V0KCdyZXF1aXJlLXVzZXInLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJJbkZsaWdodCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5GbGlnaHRbdXJsLnRvTG93ZXJDYXNlKCldKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5faW5GbGlnaHRbdXJsLnRvTG93ZXJDYXNlKCldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1hcFR5cGU8VD4ocmVzOiBIdHRwUmVzcG9uc2U8VD4sIGN0b3I6ICh2YWx1ZTogYW55KSA9PiBUKTogYW55IHtcbiAgICAgICAgY29uc3QgdmFsOiBhbnkgPSByZXMuc3RhdHVzID09PSAyMDQgPyBudWxsIDogcmVzLmJvZHk7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbCA9PT0gJ1tdJykge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWwubWFwKHggPT4gY3Rvcih4KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGN0b3IodmFsKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -15,10 +15,10 @@ export class ObserverComponent {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObserverComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ObserverComponent, ngImport: i0 }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObserverComponent, decorators: [{
|
|
22
22
|
type: Directive
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9hYnN0cmFjdC9vYnNlcnZlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFJckQsTUFBTSxPQUFnQixpQkFBaUI7SUFEdkM7UUFFSSxrQkFBYSxHQUFtQixFQUFFLENBQUM7S0FjdEM7SUFaRyxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVTLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ25CO1NBQ0o7SUFDTCxDQUFDOytHQWRpQixpQkFBaUI7bUdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT2JzZXJ2ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2xlYXJTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB3aGlsZSAodGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgcyA9IHRoaXMuc3Vic2NyaXB0aW9ucy5zaGlmdCgpO1xuICAgICAgICAgICAgaWYgKHMgJiYgcy51bnN1YnNjcmliZSkge1xuICAgICAgICAgICAgICAgIHMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Inject } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
4
4
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
@@ -27,6 +27,7 @@ export class AddLinkDialogComponent {
|
|
|
27
27
|
this.dialogRef = dialogRef;
|
|
28
28
|
this.data = data;
|
|
29
29
|
this.fb = fb;
|
|
30
|
+
this.modal = true;
|
|
30
31
|
dialogRef.disableClose = true;
|
|
31
32
|
this.form = this.fb.group({
|
|
32
33
|
text: [data.text, Validators.required],
|
|
@@ -45,10 +46,10 @@ export class AddLinkDialogComponent {
|
|
|
45
46
|
}
|
|
46
47
|
this.onApply();
|
|
47
48
|
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddLinkDialogComponent, isStandalone: true, selector: "app-add-link-dialog", host: { properties: { "class.noder-modal": "this.modal" } }, ngImport: i0, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.textPlaceholder }} is required.</mat-error>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
51
|
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkDialogComponent, decorators: [{
|
|
52
53
|
type: Component,
|
|
53
54
|
args: [{ standalone: true, imports: [
|
|
54
55
|
CommonModule,
|
|
@@ -59,9 +60,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
59
60
|
MatInputModule,
|
|
60
61
|
ReactiveFormsModule,
|
|
61
62
|
TranslateModule
|
|
62
|
-
], selector: 'app-add-link-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.textPlaceholder }} is required.</mat-error>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n Apply\n </button>\n</div>\n", styles: [":host{height:300px;width:430px;
|
|
63
|
+
], selector: 'app-add-link-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.textPlaceholder }} is required.</mat-error>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"] }]
|
|
63
64
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: AddLinkDialogOptions, decorators: [{
|
|
64
65
|
type: Inject,
|
|
65
66
|
args: [MAT_DIALOG_DATA]
|
|
66
|
-
}] }, { type: i2.FormBuilder }]
|
|
67
|
-
|
|
67
|
+
}] }, { type: i2.FormBuilder }], propDecorators: { modal: [{
|
|
68
|
+
type: HostBinding,
|
|
69
|
+
args: ['class.noder-modal']
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxpbmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvYWRkLWxpbmstZGlhbG9nL2FkZC1saW5rLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2FkZC1saW5rLWRpYWxvZy9hZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7QUFFaEUsTUFBTSxPQUFPLG9CQUFvQjtJQU83QixZQUFtQixNQUFzQztRQUNyRCxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztDQUNKO0FBbUJELE1BQU0sT0FBTyxzQkFBc0I7SUFLL0IsWUFDVyxTQUErQyxFQUN0QixJQUEwQixFQUNsRCxFQUFlO1FBRmhCLGNBQVMsR0FBVCxTQUFTLENBQXNDO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQXNCO1FBQ2xELE9BQUUsR0FBRixFQUFFLENBQWE7UUFQTyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBUzNDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQzsrR0EvQlEsc0JBQXNCLDhDQU9uQixlQUFlO21HQVBsQixzQkFBc0IsNElDM0NuQyx3MUNBNENBLHkwQkRmUSxZQUFZLDhCQUNaLGVBQWUsMk5BQ2YsZUFBZSx5YkFDZixrQkFBa0IsdVlBQ2xCLGFBQWEsbUxBQ2IsY0FBYywwV0FDZCxtQkFBbUIsbWxDQUNuQixlQUFlOzs0RkFPVixzQkFBc0I7a0JBakJsQyxTQUFTO2lDQUNNLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2xCLFlBQ1MscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OzBCQVMxQyxNQUFNOzJCQUFDLGVBQWU7bUVBTk8sS0FBSztzQkFBdEMsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFZhbGlkYXRpb25IZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL3ZhbGlkYXRpb24uaGVscGVyJztcblxuZXhwb3J0IGNsYXNzIEFkZExpbmtEaWFsb2dPcHRpb25zIHtcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgdGV4dDogc3RyaW5nO1xuICAgIHB1YmxpYyB0ZXh0UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwdWJsaWMgbGluazogc3RyaW5nO1xuICAgIHB1YmxpYyBsaW5rUGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihmaWVsZHM/OiBQYXJ0aWFsPEFkZExpbmtEaWFsb2dPcHRpb25zPikge1xuICAgICAgICBpZiAoZmllbGRzKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGZpZWxkcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGVcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAnYXBwLWFkZC1saW5rLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdhZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydhZGQtbGluay1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRMaW5rRGlhbG9nQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vZGVyLW1vZGFsJykgbW9kYWwgPSB0cnVlO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwPHsgdGV4dDogRm9ybUNvbnRyb2w8c3RyaW5nPjsgbGluazogRm9ybUNvbnRyb2w8c3RyaW5nPiB9PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkTGlua0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQWRkTGlua0RpYWxvZ09wdGlvbnMsXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXG4gICAgKSB7XG4gICAgICAgIGRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIHRleHQ6IFtkYXRhLnRleHQsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgbGluazogW2RhdGEubGluaywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRpb25IZWxwZXIudXJsVmFsaWRhdG9yXV1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IHRleHQ6IHRoaXMuZm9ybS5jb250cm9scy50ZXh0LnZhbHVlLCBsaW5rOiB0aGlzLmZvcm0uY29udHJvbHMubGluay52YWx1ZSB9KTtcbiAgICB9XG5cbiAgICBvbkVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25BcHBseSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZT57eyBkYXRhLnRpdGxlIH19PC9kaXY+XG48ZGl2XG4gICAgbWF0LWRpYWxvZy1jb250ZW50XG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgZGF0YS50ZXh0UGxhY2Vob2xkZXIgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uY29udHJvbHMudGV4dFwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyKClcIlxuICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgPG1hdC1lcnJvcj5UaGUge3sgZGF0YS50ZXh0UGxhY2Vob2xkZXIgfX0gaXMgcmVxdWlyZWQuPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBkYXRhLmxpbmtQbGFjZWhvbGRlciB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy5saW5rXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoKVwiXG4gICAgICAgICAgICByZXF1aXJlZCAvPlxuICAgICAgICA8bWF0LWVycm9yPlRoZSB7eyBkYXRhLmxpbmtQbGFjZWhvbGRlciB9fSBpcyByZXF1aXJlZC48L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1jYW5jZWwtdGhpblwiPjwvbWF0LWljb24+XG4gICAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgY2xhc3M9XCJhcHBseS1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHkoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1kb25lLXRoaW5cIj48L21hdC1pY29uPlxuICAgICAgICBBcHBseVxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { Component, HostBinding, Inject } from '@angular/core';
|
|
3
|
+
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
3
4
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatDialogModule, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
5
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/material/dialog";
|
|
@@ -11,18 +11,22 @@ export class ConfirmDialogComponent {
|
|
|
11
11
|
constructor(data, ref) {
|
|
12
12
|
this.data = data;
|
|
13
13
|
this.ref = ref;
|
|
14
|
+
this.modal = true;
|
|
14
15
|
}
|
|
15
16
|
onClose(status) {
|
|
16
17
|
this.ref.close(status);
|
|
17
18
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmDialogComponent, isStandalone: true, selector: "app-confirm-dialog", host: { properties: { "class.noder-modal": "this.modal" } }, ngImport: i0, template: "<p class=\"title\">{{ data.title ? data.title : 'Confirmation' }}</p>\n<div class=\"content\">\n <p>{{ data.message }}</p>\n</div>\n<div class=\"actions\">\n <button\n id=\"confirm-dialog-cancel-btn\"\n mat-button\n (click)=\"onClose(false)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n {{ data.cancel ? data.cancel : 'Cancel' }}\n </button>\n <button\n id=\"confirm-dialog-confirm-btn\"\n mat-raised-button\n class=\"delete-btn\"\n color=\"primary\"\n (click)=\"onClose(true)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n {{ data.confirm ? data.confirm : 'Delete' }}\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-width:400px;max-width:440px;min-height:208px}.title{font-size:18px;font-weight:700;text-transform:capitalize;padding:24px 24px 12px;margin:0;border-bottom-width:1px;border-bottom-style:solid}.content{display:flex;flex:1;font-size:16px;line-height:20px;padding:20px 24px 16px}.content p{margin:0;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;justify-content:center;margin-bottom:24px;gap:8px}.actions button{height:40px;width:120px;text-transform:uppercase}.actions button mat-icon{font-size:24px;height:24px;width:24px}.actions button .mat-button-toggle-label-content{padding:0 2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
20
21
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
22
23
|
type: Component,
|
|
23
|
-
args: [{ standalone: true, imports: [CommonModule, MatDialogModule, MatButtonModule, MatIconModule], selector: 'app-confirm-dialog', template: "<p class=\"title\">{{ data.title ? data.title : 'Confirmation' }}</p>\n<div class=\"content\">\n <p>{{ data.message }}</p>\n</div>\n<div class=\"actions\">\n <button\n id=\"confirm-dialog-cancel-btn\"\n mat-button\n (click)=\"onClose(false)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n {{ data.cancel ? data.cancel : 'Cancel' }}\n </button>\n <button\n id=\"confirm-dialog-confirm-btn\"\n mat-raised-button\n class=\"delete-btn\"\n color=\"primary\"\n (click)=\"onClose(true)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n {{ data.confirm ? data.confirm : 'Delete' }}\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-width:400px;max-width:440px;min-height:208px}.title{font-size:18px;font-weight:700;text-transform:capitalize;padding:24px 24px 12px;margin:0}.content{display:flex;flex:1;font-size:16px;line-height:20px;padding:20px 24px 16px}.content p{margin:0;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;justify-content:center;margin-bottom:24px;gap:8px}.actions button{height:40px;width:120px}.actions button mat-icon{font-size:24px;height:24px;width:24px}.actions button .mat-button-toggle-label-content{padding:0 2px}\n"] }]
|
|
24
|
+
args: [{ standalone: true, imports: [CommonModule, MatDialogModule, MatButtonModule, MatIconModule], selector: 'app-confirm-dialog', template: "<p class=\"title\">{{ data.title ? data.title : 'Confirmation' }}</p>\n<div class=\"content\">\n <p>{{ data.message }}</p>\n</div>\n<div class=\"actions\">\n <button\n id=\"confirm-dialog-cancel-btn\"\n mat-button\n (click)=\"onClose(false)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n {{ data.cancel ? data.cancel : 'Cancel' }}\n </button>\n <button\n id=\"confirm-dialog-confirm-btn\"\n mat-raised-button\n class=\"delete-btn\"\n color=\"primary\"\n (click)=\"onClose(true)\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n {{ data.confirm ? data.confirm : 'Delete' }}\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-width:400px;max-width:440px;min-height:208px}.title{font-size:18px;font-weight:700;text-transform:capitalize;padding:24px 24px 12px;margin:0;border-bottom-width:1px;border-bottom-style:solid}.content{display:flex;flex:1;font-size:16px;line-height:20px;padding:20px 24px 16px}.content p{margin:0;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;justify-content:center;margin-bottom:24px;gap:8px}.actions button{height:40px;width:120px;text-transform:uppercase}.actions button mat-icon{font-size:24px;height:24px;width:24px}.actions button .mat-button-toggle-label-content{padding:0 2px}\n"] }]
|
|
24
25
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
25
26
|
type: Inject,
|
|
26
27
|
args: [MAT_DIALOG_DATA]
|
|
27
|
-
}] }, { type: i1.MatDialogRef }]
|
|
28
|
-
|
|
28
|
+
}] }, { type: i1.MatDialogRef }], propDecorators: { modal: [{
|
|
29
|
+
type: HostBinding,
|
|
30
|
+
args: ['class.noder-modal']
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFnQnZELE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBNEMsSUFBaUIsRUFBVSxHQUF5QztRQUFwRSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBc0M7UUFGOUUsVUFBSyxHQUFHLElBQUksQ0FBQztJQUVvRSxDQUFDO0lBRXBILE9BQU8sQ0FBQyxNQUFlO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBUFEsc0JBQXNCLGtCQUdYLGVBQWU7bUdBSDFCLHNCQUFzQiwySUNwQm5DLHN5QkEwQkEsNnJCRFhjLFlBQVksOEJBQUUsZUFBZSw4QkFBRSxlQUFlLDJOQUFFLGFBQWE7OzRGQUs5RCxzQkFBc0I7a0JBUGxDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQzlELG9CQUFvQjs7MEJBT2pCLE1BQU07MkJBQUMsZUFBZTtvRUFGRCxLQUFLO3NCQUF0QyxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGlhbG9nRGF0YSB7XG4gICAgY2FuY2VsPzogc3RyaW5nO1xuICAgIGNvbmZpcm0/OiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ2FwcC1jb25maXJtLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdjb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ub2Rlci1tb2RhbCcpIG1vZGFsID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSURpYWxvZ0RhdGEsIHByaXZhdGUgcmVmOiBNYXREaWFsb2dSZWY8Q29uZmlybURpYWxvZ0NvbXBvbmVudD4pIHt9XG5cbiAgICBvbkNsb3NlKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZi5jbG9zZShzdGF0dXMpO1xuICAgIH1cbn1cbiIsIjxwIGNsYXNzPVwidGl0bGVcIj57eyBkYXRhLnRpdGxlID8gZGF0YS50aXRsZSA6ICdDb25maXJtYXRpb24nIH19PC9wPlxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8cD57eyBkYXRhLm1lc3NhZ2UgfX08L3A+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBpZD1cImNvbmZpcm0tZGlhbG9nLWNhbmNlbC1idG5cIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKGZhbHNlKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1jYW5jZWwtdGhpblwiPjwvbWF0LWljb24+XG4gICAgICAgIHt7IGRhdGEuY2FuY2VsID8gZGF0YS5jYW5jZWwgOiAnQ2FuY2VsJyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgaWQ9XCJjb25maXJtLWRpYWxvZy1jb25maXJtLWJ0blwiXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ0blwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKHRydWUpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWRvbmUtdGhpblwiPjwvbWF0LWljb24+XG4gICAgICAgIHt7IGRhdGEuY29uZmlybSA/IGRhdGEuY29uZmlybSA6ICdEZWxldGUnIH19XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|