@talrace/ngx-noder 0.0.4 → 0.0.5
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/add-link-dialog/add-link-dialog.component.mjs +9 -5
- package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +10 -6
- 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/image/components/image.component.mjs +4 -3
- package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +4 -2
- package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +6 -12
- package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +3 -2
- package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +6 -4
- package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +7 -5
- package/esm2022/lib/+shared/editor/editor.component.mjs +5 -12
- package/esm2022/lib/+shared/editor/editor.module.mjs +1 -4
- package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +1 -1
- package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +15 -5
- package/esm2022/lib/+shared/editor-title/editor-title.component.mjs +83 -0
- package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +2 -2
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +77 -91
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +11 -1
- package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +3 -3
- package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +2 -2
- package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +2 -2
- package/esm2022/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.mjs +194 -0
- package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +3 -3
- package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +2 -2
- 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 +2 -2
- package/esm2022/lib/+shared/helpers/scaling.helper.mjs +9 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/talrace-ngx-noder.mjs +455 -398
- 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 +14 -2
- 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 +22 -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 {
|
|
@@ -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],
|
|
@@ -46,7 +47,7 @@ export class AddLinkDialogComponent {
|
|
|
46
47
|
this.onApply();
|
|
47
48
|
}
|
|
48
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AddLinkDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: AddLinkDialogComponent, isStandalone: true, selector: "app-add-link-dialog", 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{height:300px;width:430px;
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", 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
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AddLinkDialogComponent, decorators: [{
|
|
52
53
|
type: Component,
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxpbmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvYWRkLWxpbmstZGlhbG9nL2FkZC1saW5rLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2FkZC1saW5rLWRpYWxvZy9hZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7QUFFaEUsTUFBTSxPQUFPLG9CQUFvQjtJQU83QixZQUFtQixNQUFzQztRQUNyRCxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztDQUNKO0FBbUJELE1BQU0sT0FBTyxzQkFBc0I7SUFLL0IsWUFDVyxTQUErQyxFQUN0QixJQUEwQixFQUNsRCxFQUFlO1FBRmhCLGNBQVMsR0FBVCxTQUFTLENBQXNDO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQXNCO1FBQ2xELE9BQUUsR0FBRixFQUFFLENBQWE7UUFQTyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBUzNDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs4R0EvQlEsc0JBQXNCLDhDQU9uQixlQUFlO2tHQVBsQixzQkFBc0IsNElDM0NuQyx3MUNBNENBLHkwQkRmUSxZQUFZLDhCQUNaLGVBQWUsMk5BQ2YsZUFBZSx5YkFDZixrQkFBa0IsdVlBQ2xCLGFBQWEsbUxBQ2IsY0FBYywwV0FDZCxtQkFBbUIsbWxDQUNuQixlQUFlOzsyRkFPVixzQkFBc0I7a0JBakJsQyxTQUFTO2lDQUNNLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2xCLFlBQ1MscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OzBCQVMxQyxNQUFNOzJCQUFDLGVBQWU7bUVBTk8sS0FBSztzQkFBdEMsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFZhbGlkYXRpb25IZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL3ZhbGlkYXRpb24uaGVscGVyJztcblxuZXhwb3J0IGNsYXNzIEFkZExpbmtEaWFsb2dPcHRpb25zIHtcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgdGV4dDogc3RyaW5nO1xuICAgIHB1YmxpYyB0ZXh0UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwdWJsaWMgbGluazogc3RyaW5nO1xuICAgIHB1YmxpYyBsaW5rUGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihmaWVsZHM/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
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ConfirmDialogComponent, isStandalone: true, selector: "app-confirm-dialog", 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}.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"], 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
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", 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
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFnQnZELE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBNEMsSUFBaUIsRUFBVSxHQUF5QztRQUFwRSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBc0M7UUFGOUUsVUFBSyxHQUFHLElBQUksQ0FBQztJQUVvRSxDQUFDO0lBRXBILE9BQU8sQ0FBQyxNQUFlO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7OEdBUFEsc0JBQXNCLGtCQUdYLGVBQWU7a0dBSDFCLHNCQUFzQiwySUNwQm5DLHN5QkEwQkEsNnJCRFhjLFlBQVksOEJBQUUsZUFBZSw4QkFBRSxlQUFlLDJOQUFFLGFBQWE7OzJGQUs5RCxzQkFBc0I7a0JBUGxDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQzlELG9CQUFvQjs7MEJBT2pCLE1BQU07MkJBQUMsZUFBZTtvRUFGRCxLQUFLO3NCQUF0QyxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGlhbG9nRGF0YSB7XG4gICAgY2FuY2VsPzogc3RyaW5nO1xuICAgIGNvbmZpcm0/OiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ2FwcC1jb25maXJtLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdjb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ub2Rlci1tb2RhbCcpIG1vZGFsID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSURpYWxvZ0RhdGEsIHByaXZhdGUgcmVmOiBNYXREaWFsb2dSZWY8Q29uZmlybURpYWxvZ0NvbXBvbmVudD4pIHt9XG5cbiAgICBvbkNsb3NlKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZi5jbG9zZShzdGF0dXMpO1xuICAgIH1cbn1cbiIsIjxwIGNsYXNzPVwidGl0bGVcIj57eyBkYXRhLnRpdGxlID8gZGF0YS50aXRsZSA6ICdDb25maXJtYXRpb24nIH19PC9wPlxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8cD57eyBkYXRhLm1lc3NhZ2UgfX08L3A+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBpZD1cImNvbmZpcm0tZGlhbG9nLWNhbmNlbC1idG5cIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKGZhbHNlKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1jYW5jZWwtdGhpblwiPjwvbWF0LWljb24+XG4gICAgICAgIHt7IGRhdGEuY2FuY2VsID8gZGF0YS5jYW5jZWwgOiAnQ2FuY2VsJyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgaWQ9XCJjb25maXJtLWRpYWxvZy1jb25maXJtLWJ0blwiXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ0blwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKHRydWUpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWRvbmUtdGhpblwiPjwvbWF0LWljb24+XG4gICAgICAgIHt7IGRhdGEuY29uZmlybSA/IGRhdGEuY29uZmlybSA6ICdEZWxldGUnIH19XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|