c3-components 0.0.7 → 0.0.8
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/esm2022/c3-components.mjs +5 -0
- package/esm2022/lib/c3-dialog/c3-dialog.module.mjs +52 -0
- package/esm2022/lib/c3-dialog/components/c3-dialog-confirm.component.mjs +51 -0
- package/esm2022/lib/c3-dialog/components/c3-dialog-embed-child.component.mjs +32 -0
- package/esm2022/lib/c3-dialog/components/c3-dialog-prompt.component.mjs +95 -0
- package/esm2022/lib/c3-dialog/services/c3-dialog.service.mjs +79 -0
- package/esm2022/lib/c3-dropdown/c3-dropdown.module.mjs +20 -0
- package/esm2022/lib/c3-dropdown/components/c3-dropdown.component.mjs +45 -0
- package/esm2022/lib/c3-dropdown/directives/c3-dropdown.trigger.mjs +128 -0
- package/esm2022/lib/c3-file-viewer/c3-file-viewer.module.mjs +51 -0
- package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.mjs +17 -0
- package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.mjs +20 -0
- package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.mjs +23 -0
- package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.mjs +32 -0
- package/esm2022/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.mjs +86 -0
- package/esm2022/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.mjs +37 -0
- package/esm2022/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.mjs +26 -0
- package/esm2022/lib/c3-file-viewer/consts/default.config.mjs +40 -0
- package/esm2022/lib/c3-file-viewer/directives/full-screen.directive.mjs +66 -0
- package/esm2022/lib/c3-file-viewer/models/custom-file-event.model.mjs +7 -0
- package/esm2022/lib/c3-file-viewer/models/file-metadata.mjs +2 -0
- package/esm2022/lib/c3-file-viewer/models/file-viewer-config.model.mjs +2 -0
- package/esm2022/lib/c3-file-viewer/models/file-viewer.mjs +206 -0
- package/esm2022/lib/c3-file-viewer/models/http.client.mjs +2 -0
- package/esm2022/lib/c3-safe-url/pipes/c3-safe-url.pipe.mjs +21 -0
- package/esm2022/public-api.mjs +35 -0
- package/fesm2022/c3-components.mjs +1057 -0
- package/fesm2022/c3-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/c3-dialog/c3-dialog.module.d.ts +15 -0
- package/lib/c3-dialog/components/c3-dialog-confirm.component.d.ts +23 -0
- package/lib/c3-dialog/components/c3-dialog-embed-child.component.d.ts +18 -0
- package/lib/c3-dialog/components/c3-dialog-prompt.component.d.ts +31 -0
- package/lib/c3-dialog/services/c3-dialog.service.d.ts +19 -0
- package/lib/c3-dropdown/c3-dropdown.module.d.ts +10 -0
- package/lib/c3-dropdown/components/c3-dropdown.component.d.ts +15 -0
- package/lib/c3-dropdown/directives/c3-dropdown.trigger.d.ts +45 -0
- package/lib/c3-file-viewer/c3-file-viewer.module.d.ts +18 -0
- package/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.d.ts +8 -0
- package/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.d.ts +9 -0
- package/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.d.ts +9 -0
- package/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.d.ts +12 -0
- package/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.d.ts +25 -0
- package/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.d.ts +12 -0
- package/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.d.ts +8 -0
- package/lib/c3-file-viewer/consts/default.config.d.ts +2 -0
- package/lib/c3-file-viewer/directives/full-screen.directive.d.ts +12 -0
- package/lib/c3-file-viewer/models/custom-file-event.model.d.ts +5 -0
- package/lib/c3-file-viewer/models/file-metadata.d.ts +12 -0
- package/lib/c3-file-viewer/models/file-viewer-config.model.d.ts +48 -0
- package/lib/c3-file-viewer/models/file-viewer.d.ts +65 -0
- package/lib/c3-file-viewer/models/http.client.d.ts +14 -0
- package/lib/c3-safe-url/pipes/c3-safe-url.pipe.d.ts +10 -0
- package/package.json +13 -4
- package/{src/public-api.ts → public-api.d.ts} +0 -8
- package/CONTRIBUTING.md +0 -80
- package/ng-package.json +0 -19
- package/src/lib/c3-dialog/c3-dialog.module.ts +0 -30
- package/src/lib/c3-dialog/components/c3-dialog-confirm.component.ts +0 -44
- package/src/lib/c3-dialog/components/c3-dialog-embed-child.component.ts +0 -40
- package/src/lib/c3-dialog/components/c3-dialog-prompt.component.ts +0 -81
- package/src/lib/c3-dialog/services/c3-dialog.service.ts +0 -87
- package/src/lib/c3-dropdown/c3-dropdown.module.ts +0 -12
- package/src/lib/c3-dropdown/components/c3-dropdown.component.spec.ts +0 -22
- package/src/lib/c3-dropdown/components/c3-dropdown.component.ts +0 -39
- package/src/lib/c3-dropdown/directives/c3-dropdown.trigger.ts +0 -161
- package/src/lib/c3-file/c3-download/c3-download.module.ts +0 -10
- package/src/lib/c3-file/c3-download/c3-download.service.ts +0 -16
- package/src/lib/c3-file/c3-input-file/c3-input-file.module.ts +0 -30
- package/src/lib/c3-file/c3-input-file/class/c3-input-file.ts +0 -62
- package/src/lib/c3-file/c3-input-file/components/c3-input-file/c3-input-file.component.html +0 -7
- package/src/lib/c3-file/c3-input-file/components/c3-input-file/c3-input-file.component.ts +0 -96
- package/src/lib/c3-file/c3-input-file/components/c3-input-file-container/c3-input-file-container.component.ts +0 -53
- package/src/lib/c3-file/c3-input-file/components/c3-input-file-displayer/c3-input-file-displayer.component.ts +0 -107
- package/src/lib/c3-file/c3-input-file/components/c3-input-file-trigger/c3-input-file-trigger.component.ts +0 -22
- package/src/lib/c3-file/c3-input-file/directives/c3-input-file-trigger.directive.ts +0 -27
- package/src/lib/c3-file-upload/c3-file-upload.module.ts +0 -8
- package/src/lib/c3-file-viewer/c3-file-viewer.module.ts +0 -34
- package/src/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.html +0 -185
- package/src/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.spec.ts +0 -23
- package/src/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.ts +0 -15
- package/src/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.html +0 -7
- package/src/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.spec.ts +0 -23
- package/src/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.ts +0 -14
- package/src/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.html +0 -7
- package/src/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.spec.ts +0 -23
- package/src/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.ts +0 -25
- package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.css +0 -0
- package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.html +0 -1
- package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.spec.ts +0 -23
- package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.ts +0 -35
- package/src/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.html +0 -32
- package/src/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.spec.ts +0 -23
- package/src/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.ts +0 -93
- package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.spec.ts +0 -23
- package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.ts +0 -34
- package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.spec.ts +0 -22
- package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.ts +0 -12
- package/src/lib/c3-file-viewer/consts/default.config.ts +0 -41
- package/src/lib/c3-file-viewer/directives/full-screen.directive.spec.ts +0 -11
- package/src/lib/c3-file-viewer/directives/full-screen.directive.ts +0 -68
- package/src/lib/c3-file-viewer/models/custom-file-event.model.ts +0 -9
- package/src/lib/c3-file-viewer/models/file-metadata.ts +0 -13
- package/src/lib/c3-file-viewer/models/file-viewer-config.model.ts +0 -53
- package/src/lib/c3-file-viewer/models/file-viewer.ts +0 -259
- package/src/lib/c3-file-viewer/models/http.client.ts +0 -23
- package/src/lib/c3-highlight-text/c3-highlight-text.module.ts +0 -12
- package/src/lib/c3-menu/c3-menu.module.ts +0 -12
- package/src/lib/c3-modal/c3-modal.module.ts +0 -12
- package/src/lib/c3-navbar/c3-navbar.module.ts +0 -12
- package/src/lib/c3-pdf-dialog/c3-pdf-dialog.module.ts +0 -12
- package/src/lib/c3-rounded-title/c3-rounded-title.module.ts +0 -12
- package/src/lib/c3-safe-url/pipes/c3-safe-url.pipe.spec.ts +0 -8
- package/src/lib/c3-safe-url/pipes/c3-safe-url.pipe.ts +0 -13
- package/src/lib/c3-tabs/c3-tabs.module.ts +0 -12
- package/tailwind.config.js +0 -8
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/{src/lib → lib}/c3-dropdown/styles/_c3-dropdown.sass +0 -0
- /package/{src/lib → lib}/c3-file-viewer/styles/_c3-file-viewer.sass +0 -0
- /package/{src/lib → lib}/c3-styles/_c3-core.sass +0 -0
- /package/{src/lib → lib}/c3-styles/_c3-root-variables.sass +0 -0
- /package/{src/lib → lib}/c3-styles/_utils.sass +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2MzLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { ConfirmDialogComponent } from './components/c3-dialog-confirm.component';
|
|
9
|
+
import { C3DialogEmbedChildComponent } from './components/c3-dialog-embed-child.component';
|
|
10
|
+
import { C3PromptDialogComponent } from './components/c3-dialog-prompt.component';
|
|
11
|
+
import { C3DialogService } from './services/c3-dialog.service';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class C3DialogModule {
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: C3DialogModule, declarations: [ConfirmDialogComponent,
|
|
16
|
+
C3PromptDialogComponent,
|
|
17
|
+
C3DialogEmbedChildComponent], imports: [CommonModule,
|
|
18
|
+
MatDialogModule,
|
|
19
|
+
MatButtonModule,
|
|
20
|
+
MatFormFieldModule,
|
|
21
|
+
MatInputModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
ReactiveFormsModule] }); }
|
|
24
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogModule, providers: [C3DialogService], imports: [CommonModule,
|
|
25
|
+
MatDialogModule,
|
|
26
|
+
MatButtonModule,
|
|
27
|
+
MatFormFieldModule,
|
|
28
|
+
MatInputModule,
|
|
29
|
+
FormsModule,
|
|
30
|
+
ReactiveFormsModule] }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogModule, decorators: [{
|
|
33
|
+
type: NgModule,
|
|
34
|
+
args: [{
|
|
35
|
+
declarations: [
|
|
36
|
+
ConfirmDialogComponent,
|
|
37
|
+
C3PromptDialogComponent,
|
|
38
|
+
C3DialogEmbedChildComponent,
|
|
39
|
+
],
|
|
40
|
+
imports: [
|
|
41
|
+
CommonModule,
|
|
42
|
+
MatDialogModule,
|
|
43
|
+
MatButtonModule,
|
|
44
|
+
MatFormFieldModule,
|
|
45
|
+
MatInputModule,
|
|
46
|
+
FormsModule,
|
|
47
|
+
ReactiveFormsModule,
|
|
48
|
+
],
|
|
49
|
+
providers: [C3DialogService],
|
|
50
|
+
}]
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1kaWFsb2cvYzMtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQW1CL0QsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQWZ2QixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLDJCQUEyQixhQUczQixZQUFZO1lBQ1osZUFBZTtZQUNmLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7Z0hBSVYsY0FBYyxhQUZkLENBQUMsZUFBZSxDQUFDLFlBUjFCLFlBQVk7WUFDWixlQUFlO1lBQ2YsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsV0FBVztZQUNYLG1CQUFtQjs7NEZBSVYsY0FBYztrQkFqQjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jMy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2MzLWRpYWxvZy1lbWJlZC1jaGlsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzNQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYzMtZGlhbG9nLXByb21wdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzNEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jMy1kaWFsb2cuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG4gICAgQzNQcm9tcHREaWFsb2dDb21wb25lbnQsXG4gICAgQzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0MzRGlhbG9nU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEMzRGlhbG9nTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
export class ConfirmDialogComponent {
|
|
7
|
+
constructor(dialogRef, data) {
|
|
8
|
+
this.dialogRef = dialogRef;
|
|
9
|
+
this.data = data;
|
|
10
|
+
}
|
|
11
|
+
onNoClick() {
|
|
12
|
+
this.dialogRef.close();
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: ConfirmDialogComponent, selector: "ConfirmDialogComponent", ngImport: i0, template: `
|
|
16
|
+
<mat-dialog-content>
|
|
17
|
+
<div [innerHtml]="data.text"></div>
|
|
18
|
+
</mat-dialog-content>
|
|
19
|
+
<mat-dialog-actions class="flex flex-row justify-end items-center">
|
|
20
|
+
<button mat-button mat-dialog-close [color]="data.reject?.color">
|
|
21
|
+
{{ data.reject?.text }}
|
|
22
|
+
</button>
|
|
23
|
+
<button mat-button [color]="data.accept?.color" [mat-dialog-close]="true">
|
|
24
|
+
{{ data.accept?.text }}
|
|
25
|
+
</button>
|
|
26
|
+
</mat-dialog-actions>
|
|
27
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: 'ConfirmDialogComponent',
|
|
33
|
+
template: `
|
|
34
|
+
<mat-dialog-content>
|
|
35
|
+
<div [innerHtml]="data.text"></div>
|
|
36
|
+
</mat-dialog-content>
|
|
37
|
+
<mat-dialog-actions class="flex flex-row justify-end items-center">
|
|
38
|
+
<button mat-button mat-dialog-close [color]="data.reject?.color">
|
|
39
|
+
{{ data.reject?.text }}
|
|
40
|
+
</button>
|
|
41
|
+
<button mat-button [color]="data.accept?.color" [mat-dialog-close]="true">
|
|
42
|
+
{{ data.accept?.text }}
|
|
43
|
+
</button>
|
|
44
|
+
</mat-dialog-actions>
|
|
45
|
+
`,
|
|
46
|
+
}]
|
|
47
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [MAT_DIALOG_DATA]
|
|
50
|
+
}] }]; } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWRpYWxvZy9jb21wb25lbnRzL2MzLWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBZ0N6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1MsU0FBK0MsRUFFL0MsSUFBbUI7UUFGbkIsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFFL0MsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUN6QixDQUFDO0lBRUosU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0FUVSxzQkFBc0IsOENBR3ZCLGVBQWU7bUdBSGQsc0JBQXNCLDhEQWR2Qjs7Ozs7Ozs7Ozs7O0dBWVQ7OzRGQUVVLHNCQUFzQjtrQkFoQmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDtpQkFDRjs7MEJBSUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtQ29uZmlnIHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgcmVqZWN0Pzoge1xyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbiAgICB0ZXh0Pzogc3RyaW5nO1xyXG4gIH07XHJcbiAgYWNjZXB0Pzoge1xyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgfTtcclxuICB3aWR0aD86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdDb25maXJtRGlhbG9nQ29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cImRhdGEudGV4dFwiPjwvZGl2PlxyXG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2UgW2NvbG9yXT1cImRhdGEucmVqZWN0Py5jb2xvclwiPlxyXG4gICAgICAgIHt7IGRhdGEucmVqZWN0Py50ZXh0IH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW2NvbG9yXT1cImRhdGEuYWNjZXB0Py5jb2xvclwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIj5cclxuICAgICAgICB7eyBkYXRhLmFjY2VwdD8udGV4dCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxyXG4gICAgcHVibGljIGRhdGE6IENvbmZpcm1Db25maWdcclxuICApIHt9XHJcblxyXG4gIG9uTm9DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component, Inject, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
export class C3DialogEmbedChildComponent {
|
|
6
|
+
constructor(dialogRef, data, _cdr) {
|
|
7
|
+
this.dialogRef = dialogRef;
|
|
8
|
+
this.data = data;
|
|
9
|
+
this._cdr = _cdr;
|
|
10
|
+
}
|
|
11
|
+
ngAfterViewInit() {
|
|
12
|
+
this.createdComponent = this.target.createComponent(this.data.component);
|
|
13
|
+
this._cdr.detectChanges();
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogEmbedChildComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: C3DialogEmbedChildComponent, selector: "C3DialogEmbedChildComponent", viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `<mat-dialog-content>
|
|
17
|
+
<ng-template #target></ng-template>
|
|
18
|
+
</mat-dialog-content>`, isInline: true, dependencies: [{ kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogEmbedChildComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{ selector: 'C3DialogEmbedChildComponent', template: `<mat-dialog-content>
|
|
23
|
+
<ng-template #target></ng-template>
|
|
24
|
+
</mat-dialog-content>` }]
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
26
|
+
type: Inject,
|
|
27
|
+
args: [MAT_DIALOG_DATA]
|
|
28
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { target: [{
|
|
29
|
+
type: ViewChild,
|
|
30
|
+
args: ['target', { read: ViewContainerRef }]
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLWVtYmVkLWNoaWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1kaWFsb2cvY29tcG9uZW50cy9jMy1kaWFsb2ctZW1iZWQtY2hpbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3pFLE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFDUyxTQUFtRSxFQUVuRSxJQUVOLEVBQ08sSUFBdUI7UUFMeEIsY0FBUyxHQUFULFNBQVMsQ0FBMEQ7UUFFbkUsU0FBSSxHQUFKLElBQUksQ0FFVjtRQUNPLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQzlCLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQW5CVSwyQkFBMkIsOENBUzVCLGVBQWU7bUdBVGQsMkJBQTJCLGdKQUdULGdCQUFnQiw2QkFSbkM7O3dCQUVZOzs0RkFHWCwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsNkJBQTZCLFlBQzdCOzt3QkFFWTs7MEJBWW5CLE1BQU07MkJBQUMsZUFBZTs0RUFOd0IsTUFBTTtzQkFBdEQsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEluamVjdCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnQzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50JyxcbiAgdGVtcGxhdGU6IGA8bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFyZ2V0PjwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PmAsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEMzRGlhbG9nRW1iZWRDaGlsZENvbXBvbmVudDxDb21wb25lbnlUeXBlPlxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXRcbntcbiAgQFZpZXdDaGlsZCgndGFyZ2V0JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHRhcmdldCE6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY3JlYXRlZENvbXBvbmVudD86IENvbXBvbmVudFJlZjxDb21wb25lbnlUeXBlPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50PENvbXBvbmVueVR5cGU+PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YToge1xuICAgICAgY29tcG9uZW50OiBUeXBlPENvbXBvbmVueVR5cGU+O1xuICAgIH0sXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY3JlYXRlZENvbXBvbmVudCA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmRhdGEuY29tcG9uZW50KTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/button";
|
|
8
|
+
import * as i5 from "@angular/material/form-field";
|
|
9
|
+
import * as i6 from "@angular/material/input";
|
|
10
|
+
import * as i7 from "@angular/cdk/text-field";
|
|
11
|
+
export class C3PromptDialogComponent {
|
|
12
|
+
constructor(dialogRef, data, _fb) {
|
|
13
|
+
this.dialogRef = dialogRef;
|
|
14
|
+
this.data = data;
|
|
15
|
+
this._fb = _fb;
|
|
16
|
+
this.result = this._fb.control(data.defaultValue, data.validators);
|
|
17
|
+
}
|
|
18
|
+
onNoClick() {
|
|
19
|
+
this.dialogRef.close();
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3PromptDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: C3PromptDialogComponent, selector: "PrompDialogComponent", ngImport: i0, template: `
|
|
23
|
+
<div mat-dialog-title>{{ data.text }}</div>
|
|
24
|
+
<mat-dialog-content>
|
|
25
|
+
<mat-form-field>
|
|
26
|
+
<mat-label *ngIf="data.placeholder">{{ data.placeholder }}</mat-label>
|
|
27
|
+
<input
|
|
28
|
+
*ngIf="!data.multiline"
|
|
29
|
+
matInput
|
|
30
|
+
[formControl]="result"
|
|
31
|
+
(keydown.enter)="dialogRef.close(result.value)"
|
|
32
|
+
/>
|
|
33
|
+
<textarea
|
|
34
|
+
*ngIf="data.multiline"
|
|
35
|
+
matInput
|
|
36
|
+
[formControl]="result"
|
|
37
|
+
cdkTextareaAutosize
|
|
38
|
+
></textarea>
|
|
39
|
+
</mat-form-field>
|
|
40
|
+
</mat-dialog-content>
|
|
41
|
+
<mat-dialog-actions align="center">
|
|
42
|
+
<button mat-raised-button mat-dialog-close [class]="data.reject?.color">
|
|
43
|
+
{{ data.reject?.text }}
|
|
44
|
+
</button>
|
|
45
|
+
<button
|
|
46
|
+
mat-raised-button
|
|
47
|
+
[disabled]="result.invalid || (data.required && !result.value)"
|
|
48
|
+
[class]="data.accept?.color"
|
|
49
|
+
[mat-dialog-close]="result.value"
|
|
50
|
+
>
|
|
51
|
+
{{ data.accept?.text }}
|
|
52
|
+
</button>
|
|
53
|
+
</mat-dialog-actions>
|
|
54
|
+
`, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { 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: "directive", type: i7.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3PromptDialogComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{ selector: 'PrompDialogComponent', template: `
|
|
59
|
+
<div mat-dialog-title>{{ data.text }}</div>
|
|
60
|
+
<mat-dialog-content>
|
|
61
|
+
<mat-form-field>
|
|
62
|
+
<mat-label *ngIf="data.placeholder">{{ data.placeholder }}</mat-label>
|
|
63
|
+
<input
|
|
64
|
+
*ngIf="!data.multiline"
|
|
65
|
+
matInput
|
|
66
|
+
[formControl]="result"
|
|
67
|
+
(keydown.enter)="dialogRef.close(result.value)"
|
|
68
|
+
/>
|
|
69
|
+
<textarea
|
|
70
|
+
*ngIf="data.multiline"
|
|
71
|
+
matInput
|
|
72
|
+
[formControl]="result"
|
|
73
|
+
cdkTextareaAutosize
|
|
74
|
+
></textarea>
|
|
75
|
+
</mat-form-field>
|
|
76
|
+
</mat-dialog-content>
|
|
77
|
+
<mat-dialog-actions align="center">
|
|
78
|
+
<button mat-raised-button mat-dialog-close [class]="data.reject?.color">
|
|
79
|
+
{{ data.reject?.text }}
|
|
80
|
+
</button>
|
|
81
|
+
<button
|
|
82
|
+
mat-raised-button
|
|
83
|
+
[disabled]="result.invalid || (data.required && !result.value)"
|
|
84
|
+
[class]="data.accept?.color"
|
|
85
|
+
[mat-dialog-close]="result.value"
|
|
86
|
+
>
|
|
87
|
+
{{ data.accept?.text }}
|
|
88
|
+
</button>
|
|
89
|
+
</mat-dialog-actions>
|
|
90
|
+
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
92
|
+
type: Inject,
|
|
93
|
+
args: [MAT_DIALOG_DATA]
|
|
94
|
+
}] }, { type: i2.FormBuilder }]; } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLXByb21wdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jMy1jb21wb25lbnRzL3NyYy9saWIvYzMtZGlhbG9nL2NvbXBvbmVudHMvYzMtZGlhbG9nLXByb21wdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBZ0V6RSxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQ1MsU0FBZ0QsRUFFaEQsSUFBa0IsRUFDakIsR0FBZ0I7UUFIakIsY0FBUyxHQUFULFNBQVMsQ0FBdUM7UUFFaEQsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7K0dBYlUsdUJBQXVCLDhDQUl4QixlQUFlO21HQUpkLHVCQUF1Qiw0REF6Q3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDs7NEZBU1UsdUJBQXVCO2tCQTNDbkMsU0FBUzsrQkFDRSxzQkFBc0IsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzswQkFhRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdENvbmZpZyB7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBtdWx0aWxpbmU/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW107XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIHJlamVjdD86IHtcclxuICAgIGNvbG9yOiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgfTtcclxuICBhY2NlcHQ/OiB7XHJcbiAgICBjb2xvcjogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gIH07XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWF4V2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnUHJvbXBEaWFsb2dDb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGU+e3sgZGF0YS50ZXh0IH19PC9kaXY+XHJcbiAgICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cImRhdGEucGxhY2Vob2xkZXJcIj57eyBkYXRhLnBsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAqbmdJZj1cIiFkYXRhLm11bHRpbGluZVwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlc3VsdFwiXHJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJkaWFsb2dSZWYuY2xvc2UocmVzdWx0LnZhbHVlKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5tdWx0aWxpbmVcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyZXN1bHRcIlxyXG4gICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBbY2xhc3NdPVwiZGF0YS5yZWplY3Q/LmNvbG9yXCI+XHJcbiAgICAgICAge3sgZGF0YS5yZWplY3Q/LnRleHQgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZXN1bHQuaW52YWxpZCB8fCAoZGF0YS5yZXF1aXJlZCAmJiAhcmVzdWx0LnZhbHVlKVwiXHJcbiAgICAgICAgW2NsYXNzXT1cImRhdGEuYWNjZXB0Py5jb2xvclwiXHJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwicmVzdWx0LnZhbHVlXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGRhdGEuYWNjZXB0Py50ZXh0IH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgbWF0LWZvcm0tZmllbGQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDM1Byb21wdERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgcmVzdWx0OiBGb3JtQ29udHJvbDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDM1Byb21wdERpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBkYXRhOiBQcm9tcHRDb25maWcsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXJcclxuICApIHtcclxuICAgIHRoaXMucmVzdWx0ID0gdGhpcy5fZmIuY29udHJvbChkYXRhLmRlZmF1bHRWYWx1ZSwgZGF0YS52YWxpZGF0b3JzKTtcclxuICB9XHJcblxyXG4gIG9uTm9DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConfirmDialogComponent, } from '../components/c3-dialog-confirm.component';
|
|
3
|
+
import { C3DialogEmbedChildComponent } from '../components/c3-dialog-embed-child.component';
|
|
4
|
+
import { C3PromptDialogComponent, } from '../components/c3-dialog-prompt.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/dialog";
|
|
7
|
+
export class C3DialogService {
|
|
8
|
+
constructor(dialog) {
|
|
9
|
+
this.dialog = dialog;
|
|
10
|
+
}
|
|
11
|
+
confirm(data) {
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
|
|
14
|
+
width: data.width || '250px',
|
|
15
|
+
data: {
|
|
16
|
+
text: data.text,
|
|
17
|
+
reject: {
|
|
18
|
+
color: data.reject && data.reject.color ? data.reject.color : undefined,
|
|
19
|
+
text: (data.reject && data.reject.text) || 'Annuler',
|
|
20
|
+
},
|
|
21
|
+
accept: {
|
|
22
|
+
color: (data.accept && data.accept.color) || 'primary',
|
|
23
|
+
text: (data.accept && data.accept.text) || 'Accepter',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
dialogRef.afterClosed().subscribe(async (result) => {
|
|
28
|
+
if (result)
|
|
29
|
+
resolve(true);
|
|
30
|
+
else
|
|
31
|
+
resolve(false);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
prompt(data) {
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
const dialogRef = this.dialog.open(C3PromptDialogComponent, {
|
|
38
|
+
width: data.width || '250px',
|
|
39
|
+
maxWidth: data.maxWidth || '100vw',
|
|
40
|
+
data: {
|
|
41
|
+
text: data.text,
|
|
42
|
+
defaultValue: data.defaultValue,
|
|
43
|
+
placeholder: data.placeholder,
|
|
44
|
+
multiline: data.multiline,
|
|
45
|
+
validators: data.validators,
|
|
46
|
+
required: data.required,
|
|
47
|
+
reject: {
|
|
48
|
+
color: data.reject && data.reject.color
|
|
49
|
+
? data.reject.color
|
|
50
|
+
: undefined,
|
|
51
|
+
text: (data.reject && data.reject.text) || 'Annuler',
|
|
52
|
+
},
|
|
53
|
+
accept: {
|
|
54
|
+
color: (data.accept && data.accept.color) || 'primary',
|
|
55
|
+
text: (data.accept && data.accept.text) || 'Accepter',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
dialogRef.afterClosed().subscribe(async (result) => {
|
|
60
|
+
if (result)
|
|
61
|
+
resolve(result);
|
|
62
|
+
else
|
|
63
|
+
resolve(false);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
createDialgFromComponent(config) {
|
|
68
|
+
return this.dialog.open(C3DialogEmbedChildComponent, config);
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogService, providedIn: 'root' }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DialogService, decorators: [{
|
|
74
|
+
type: Injectable,
|
|
75
|
+
args: [{
|
|
76
|
+
providedIn: 'root',
|
|
77
|
+
}]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jMy1jb21wb25lbnRzL3NyYy9saWIvYzMtZGlhbG9nL3NlcnZpY2VzL2MzLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUVMLHNCQUFzQixHQUN2QixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBRyxDQUFDO0lBRXpDLE9BQU8sQ0FBQyxJQUFtQjtRQUN6QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUN6RCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPO2dCQUM1QixJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLE1BQU0sRUFBRTt3QkFDTixLQUFLLEVBQ0gsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7d0JBQ2xFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO3FCQUNyRDtvQkFDRCxNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVM7d0JBQ3RELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVO3FCQUN0RDtpQkFDRjthQUNGLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNqRCxJQUFJLE1BQU07b0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOztvQkFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFVLElBQWtCO1FBQ2hDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2hDLHVCQUF1QixFQUN2QjtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPO2dCQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPO2dCQUNsQyxJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtvQkFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO29CQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtvQkFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUNILElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLOzRCQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLOzRCQUNuQixDQUFDLENBQUMsU0FBUzt3QkFDZixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztxQkFDckQ7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTO3dCQUN0RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVTtxQkFDdEQ7aUJBQ0Y7YUFDRixDQUNGLENBQUM7WUFFRixTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxNQUFNO29CQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzs7b0JBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QixDQUN0QixNQUVDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQXRFVSxlQUFlO21IQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7XG4gIENvbmZpcm1Db25maWcsXG4gIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvYzMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEMzRGlhbG9nRW1iZWRDaGlsZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYzMtZGlhbG9nLWVtYmVkLWNoaWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQcm9tcHRDb25maWcsXG4gIEMzUHJvbXB0RGlhbG9nQ29tcG9uZW50LFxufSBmcm9tICcuLi9jb21wb25lbnRzL2MzLWRpYWxvZy1wcm9tcHQuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEMzRGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgY29uZmlybShkYXRhOiBDb25maXJtQ29uZmlnKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICB3aWR0aDogZGF0YS53aWR0aCB8fCAnMjUwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdGV4dDogZGF0YS50ZXh0LFxuICAgICAgICAgIHJlamVjdDoge1xuICAgICAgICAgICAgY29sb3I6XG4gICAgICAgICAgICAgIGRhdGEucmVqZWN0ICYmIGRhdGEucmVqZWN0LmNvbG9yID8gZGF0YS5yZWplY3QuY29sb3IgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB0ZXh0OiAoZGF0YS5yZWplY3QgJiYgZGF0YS5yZWplY3QudGV4dCkgfHwgJ0FubnVsZXInLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYWNjZXB0OiB7XG4gICAgICAgICAgICBjb2xvcjogKGRhdGEuYWNjZXB0ICYmIGRhdGEuYWNjZXB0LmNvbG9yKSB8fCAncHJpbWFyeScsXG4gICAgICAgICAgICB0ZXh0OiAoZGF0YS5hY2NlcHQgJiYgZGF0YS5hY2NlcHQudGV4dCkgfHwgJ0FjY2VwdGVyJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgIGVsc2UgcmVzb2x2ZShmYWxzZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb21wdDxUID0gYW55PihkYXRhOiBQcm9tcHRDb25maWcpOiBQcm9taXNlPGZhbHNlIHwgVD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuPEMzUHJvbXB0RGlhbG9nQ29tcG9uZW50LCBhbnksIFQ+KFxuICAgICAgICBDM1Byb21wdERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAge1xuICAgICAgICAgIHdpZHRoOiBkYXRhLndpZHRoIHx8ICcyNTBweCcsXG4gICAgICAgICAgbWF4V2lkdGg6IGRhdGEubWF4V2lkdGggfHwgJzEwMHZ3JyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICB0ZXh0OiBkYXRhLnRleHQsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGRhdGEuZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGRhdGEucGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBtdWx0aWxpbmU6IGRhdGEubXVsdGlsaW5lLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogZGF0YS52YWxpZGF0b3JzLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGRhdGEucmVxdWlyZWQsXG4gICAgICAgICAgICByZWplY3Q6IHtcbiAgICAgICAgICAgICAgY29sb3I6XG4gICAgICAgICAgICAgICAgZGF0YS5yZWplY3QgJiYgZGF0YS5yZWplY3QuY29sb3JcbiAgICAgICAgICAgICAgICAgID8gZGF0YS5yZWplY3QuY29sb3JcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB0ZXh0OiAoZGF0YS5yZWplY3QgJiYgZGF0YS5yZWplY3QudGV4dCkgfHwgJ0FubnVsZXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjY2VwdDoge1xuICAgICAgICAgICAgICBjb2xvcjogKGRhdGEuYWNjZXB0ICYmIGRhdGEuYWNjZXB0LmNvbG9yKSB8fCAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHRleHQ6IChkYXRhLmFjY2VwdCAmJiBkYXRhLmFjY2VwdC50ZXh0KSB8fCAnQWNjZXB0ZXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIGVsc2UgcmVzb2x2ZShmYWxzZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZURpYWxnRnJvbUNvbXBvbmVudDxUPihcbiAgICBjb25maWc6IFBhcnRpYWw8TWF0RGlhbG9nQ29uZmlnPiAmIHtcbiAgICAgIGRhdGE6IHsgY29tcG9uZW50OiBUeXBlPFQ+IH07XG4gICAgfVxuICApIHtcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihDM0RpYWxvZ0VtYmVkQ2hpbGRDb21wb25lbnQsIGNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { C3DropdownComponent } from './components/c3-dropdown.component';
|
|
4
|
+
import { C3DropdownTrigger } from './directives/c3-dropdown.trigger';
|
|
5
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class C3DropdownModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownModule, declarations: [C3DropdownComponent, C3DropdownTrigger], imports: [CommonModule, OverlayModule], exports: [C3DropdownComponent, C3DropdownTrigger] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownModule, imports: [CommonModule, OverlayModule] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [CommonModule, OverlayModule],
|
|
16
|
+
declarations: [C3DropdownComponent, C3DropdownTrigger],
|
|
17
|
+
exports: [C3DropdownComponent, C3DropdownTrigger],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWRyb3Bkb3duL2MzLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBT3JELE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQUhaLG1CQUFtQixFQUFFLGlCQUFpQixhQUQzQyxZQUFZLEVBQUUsYUFBYSxhQUUzQixtQkFBbUIsRUFBRSxpQkFBaUI7Z0hBRXJDLGdCQUFnQixZQUpqQixZQUFZLEVBQUUsYUFBYTs7NEZBSTFCLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDM0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2MzLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDM0Ryb3Bkb3duVHJpZ2dlciB9IGZyb20gJy4vZGlyZWN0aXZlcy9jMy1kcm9wZG93bi50cmlnZ2VyJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDM0Ryb3Bkb3duQ29tcG9uZW50LCBDM0Ryb3Bkb3duVHJpZ2dlcl0sXG4gIGV4cG9ydHM6IFtDM0Ryb3Bkb3duQ29tcG9uZW50LCBDM0Ryb3Bkb3duVHJpZ2dlcl0sXG59KVxuZXhwb3J0IGNsYXNzIEMzRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component, TemplateRef, ViewChild, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class C3DropdownComponent {
|
|
5
|
+
constructor(_changeDetectorRef) {
|
|
6
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
7
|
+
/** Classes to be added to the container of the content. Supports the same syntax as `ngClass`. */
|
|
8
|
+
this.dropdownClass = '';
|
|
9
|
+
}
|
|
10
|
+
ngOnChanges(changes) {
|
|
11
|
+
if (changes['dropdownClass']) {
|
|
12
|
+
this._markForCheck();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
_markForCheck() {
|
|
16
|
+
this._changeDetectorRef.markForCheck();
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: C3DropdownComponent, selector: "c3-dropdown", inputs: { dropdownClass: "dropdownClass" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
20
|
+
<ng-template>
|
|
21
|
+
<div class="c3-dropdown-panel" [ngClass]="dropdownClass">
|
|
22
|
+
<ng-content></ng-content>
|
|
23
|
+
</div>
|
|
24
|
+
</ng-template>
|
|
25
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: 'c3-dropdown',
|
|
31
|
+
template: `
|
|
32
|
+
<ng-template>
|
|
33
|
+
<div class="c3-dropdown-panel" [ngClass]="dropdownClass">
|
|
34
|
+
<ng-content></ng-content>
|
|
35
|
+
</div>
|
|
36
|
+
</ng-template>
|
|
37
|
+
`,
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { template: [{
|
|
40
|
+
type: ViewChild,
|
|
41
|
+
args: [TemplateRef]
|
|
42
|
+
}], dropdownClass: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWRyb3Bkb3duL2NvbXBvbmVudHMvYzMtZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7OztBQVl2QixNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW9CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBSnpELGtHQUFrRztRQUVsRyxrQkFBYSxHQUE2RCxFQUFFLENBQUM7SUFFakIsQ0FBQztJQUU3RCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQzsrR0FqQlUsbUJBQW1CO21HQUFuQixtQkFBbUIseUlBQ25CLFdBQVcscUVBVFo7Ozs7OztHQU1UOzs0RkFFVSxtQkFBbUI7a0JBVi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7aUJBQ0Y7d0dBRXlCLFFBQVE7c0JBQS9CLFNBQVM7dUJBQUMsV0FBVztnQkFJdEIsYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MzLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiYzMtZHJvcGRvd24tcGFuZWxcIiBbbmdDbGFzc109XCJkcm9wZG93bkNsYXNzXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEMzRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqIENsYXNzZXMgdG8gYmUgYWRkZWQgdG8gdGhlIGNvbnRhaW5lciBvZiB0aGUgY29udGVudC4gU3VwcG9ydHMgdGhlIHNhbWUgc3ludGF4IGFzIGBuZ0NsYXNzYC4gKi9cbiAgQElucHV0KClcbiAgZHJvcGRvd25DbGFzczogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydkcm9wZG93bkNsYXNzJ10pIHtcbiAgICAgIHRoaXMuX21hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIF9tYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input, HostListener, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { OverlayConfig, } from '@angular/cdk/overlay';
|
|
4
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
5
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
6
|
+
import { merge, Subject, Subscription, takeUntil } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
9
|
+
export const MAT_DROPDOWN_VALUE_ACCESSOR = {
|
|
10
|
+
provide: NG_VALUE_ACCESSOR,
|
|
11
|
+
useExisting: forwardRef(() => C3DropdownTrigger),
|
|
12
|
+
multi: true,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* @description The C3DropdownTrigger directive is used to display or hide a dropdown menu
|
|
16
|
+
* C3DropdownComponent when an item is clicked.
|
|
17
|
+
* @selector [c3Dropdown]
|
|
18
|
+
* @exportAs c3DropdownTrigger
|
|
19
|
+
* @input c3Dropdown - A reference to an instance of C3DropdownComponent.
|
|
20
|
+
* @input c3DropdownDisabled - A boolean indicating whether the directive should be disabled.
|
|
21
|
+
* @input c3DropdownClass - A string, an array of strings, a set of strings or a
|
|
22
|
+
* object representing the CSS classes to be applied to the dropdown menu.
|
|
23
|
+
*/
|
|
24
|
+
export class C3DropdownTrigger {
|
|
25
|
+
/** Whether the dropdown is disabled. */
|
|
26
|
+
get dropdownDisabled() {
|
|
27
|
+
return this._dropdownDisabled;
|
|
28
|
+
}
|
|
29
|
+
set dropdownDisabled(value) {
|
|
30
|
+
this._dropdownDisabled = coerceBooleanProperty(value);
|
|
31
|
+
}
|
|
32
|
+
constructor(_element, _overlay, _viewContainerRef) {
|
|
33
|
+
this._element = _element;
|
|
34
|
+
this._overlay = _overlay;
|
|
35
|
+
this._viewContainerRef = _viewContainerRef;
|
|
36
|
+
this._closingActionsSubscription = Subscription.EMPTY;
|
|
37
|
+
this._destroyed = new Subject();
|
|
38
|
+
this._dropdownClass = '';
|
|
39
|
+
this._dropdownDisabled = false;
|
|
40
|
+
/** Classes to be passed to the dropdown menu. Supports the same syntax as `ngClass`. */
|
|
41
|
+
this.dropdownClass = '';
|
|
42
|
+
}
|
|
43
|
+
onClick() {
|
|
44
|
+
this.show();
|
|
45
|
+
}
|
|
46
|
+
ngOnChanges(changes) {
|
|
47
|
+
if (changes['dropdownClass'] && this.dropdown) {
|
|
48
|
+
this.dropdown.dropdownClass = this._dropdownClass;
|
|
49
|
+
this.dropdown._markForCheck();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this._destroyed.next();
|
|
54
|
+
this._destroyed.complete();
|
|
55
|
+
this._closingActionsSubscription.unsubscribe();
|
|
56
|
+
this.close();
|
|
57
|
+
}
|
|
58
|
+
show() {
|
|
59
|
+
if (!this.dropdown)
|
|
60
|
+
return;
|
|
61
|
+
const overlayRef = this._overlay.create(this._getOverlayConfig());
|
|
62
|
+
const portal = new TemplatePortal(this.dropdown.template, this._viewContainerRef);
|
|
63
|
+
overlayRef.attach(portal);
|
|
64
|
+
this.overlayRef = overlayRef;
|
|
65
|
+
this._closingActionsSubscription = this._menuClosingActions().subscribe(() => this.close());
|
|
66
|
+
}
|
|
67
|
+
close() {
|
|
68
|
+
if (this.overlayRef && this.overlayRef.hasAttached())
|
|
69
|
+
this.overlayRef.detach();
|
|
70
|
+
}
|
|
71
|
+
_getOverlayConfig() {
|
|
72
|
+
const belowPosition = {
|
|
73
|
+
originX: 'start',
|
|
74
|
+
originY: 'bottom',
|
|
75
|
+
overlayX: 'start',
|
|
76
|
+
overlayY: 'top',
|
|
77
|
+
};
|
|
78
|
+
const abovePosition = {
|
|
79
|
+
originX: 'start',
|
|
80
|
+
originY: 'top',
|
|
81
|
+
overlayX: 'start',
|
|
82
|
+
overlayY: 'bottom',
|
|
83
|
+
// The overlay edge connected to the trigger should have squared corners, while
|
|
84
|
+
// the opposite end has rounded corners. We apply a CSS class to swap the
|
|
85
|
+
// border-radius based on the overlay position.
|
|
86
|
+
panelClass: 'mat-autocomplete-panel-above',
|
|
87
|
+
};
|
|
88
|
+
const positionStrategy = this._overlay
|
|
89
|
+
.position()
|
|
90
|
+
.flexibleConnectedTo(this._element)
|
|
91
|
+
.withLockedPosition()
|
|
92
|
+
.withPositions([belowPosition, abovePosition]);
|
|
93
|
+
return new OverlayConfig({
|
|
94
|
+
positionStrategy,
|
|
95
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
96
|
+
hasBackdrop: true,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/** Returns a stream that emits whenever an action that should close the menu occurs. */
|
|
100
|
+
_menuClosingActions() {
|
|
101
|
+
const backdrop = this.overlayRef.backdropClick();
|
|
102
|
+
const detachments = this.overlayRef.detachments();
|
|
103
|
+
return merge(backdrop, detachments).pipe(takeUntil(this._destroyed));
|
|
104
|
+
}
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownTrigger, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
106
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: C3DropdownTrigger, selector: "[c3Dropdown]", inputs: { dropdown: ["c3Dropdown", "dropdown"], dropdownDisabled: ["c3DropdownDisabled", "dropdownDisabled"], dropdownClass: ["c3DropdownClass", "dropdownClass"] }, host: { listeners: { "click": "onClick()" } }, providers: [MAT_DROPDOWN_VALUE_ACCESSOR], exportAs: ["c3DropdownTrigger"], usesOnChanges: true, ngImport: i0 }); }
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: C3DropdownTrigger, decorators: [{
|
|
109
|
+
type: Directive,
|
|
110
|
+
args: [{
|
|
111
|
+
selector: '[c3Dropdown]',
|
|
112
|
+
exportAs: 'c3DropdownTrigger',
|
|
113
|
+
providers: [MAT_DROPDOWN_VALUE_ACCESSOR],
|
|
114
|
+
}]
|
|
115
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { dropdown: [{
|
|
116
|
+
type: Input,
|
|
117
|
+
args: ['c3Dropdown']
|
|
118
|
+
}], dropdownDisabled: [{
|
|
119
|
+
type: Input,
|
|
120
|
+
args: ['c3DropdownDisabled']
|
|
121
|
+
}], dropdownClass: [{
|
|
122
|
+
type: Input,
|
|
123
|
+
args: ['c3DropdownClass']
|
|
124
|
+
}], onClick: [{
|
|
125
|
+
type: HostListener,
|
|
126
|
+
args: ['click']
|
|
127
|
+
}] } });
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZHJvcGRvd24udHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1kcm9wZG93bi9kaXJlY3RpdmVzL2MzLWRyb3Bkb3duLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBR1YsS0FBSyxFQUVMLFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBR0wsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUUvRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBUTtJQUM5QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBTUgsTUFBTSxPQUFPLGlCQUFpQjtJQWlCNUIsd0NBQXdDO0lBQ3hDLElBQ0ksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFNRCxZQUNVLFFBQWlDLEVBQ2pDLFFBQWlCLEVBQ2pCLGlCQUFtQztRQUZuQyxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUEvQnJDLGdDQUEyQixHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO1FBQy9ELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWpDLG1CQUFjLEdBSU8sRUFBRSxDQUFDO1FBRXhCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQWUzQyx3RkFBd0Y7UUFFeEYsa0JBQWEsR0FBNkQsRUFBRSxDQUFDO0lBTTFFLENBQUM7SUFHSixPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUNsRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztRQUNGLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsQ0FDckUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sYUFBYSxHQUFzQjtZQUN2QyxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQXNCO1lBQ3ZDLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLFFBQVE7WUFFbEIsK0VBQStFO1lBQy9FLHlFQUF5RTtZQUN6RSwrQ0FBK0M7WUFDL0MsVUFBVSxFQUFFLDhCQUE4QjtTQUMzQyxDQUFDO1FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUTthQUNuQyxRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2xDLGtCQUFrQixFQUFFO2FBQ3BCLGFBQWEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBRWpELE9BQU8sSUFBSSxhQUFhLENBQUM7WUFDdkIsZ0JBQWdCO1lBQ2hCLGFBQWEsRUFBRSxrQ0FBa0M7WUFDakQsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdGQUF3RjtJQUNoRixtQkFBbUI7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5ELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7K0dBbkhVLGlCQUFpQjttR0FBakIsaUJBQWlCLDJQQUZqQixDQUFDLDJCQUEyQixDQUFDOzs0RkFFN0IsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDekM7c0pBZ0JDLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxZQUFZO2dCQUtmLGdCQUFnQjtzQkFEbkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBVTNCLGFBQWE7c0JBRFosS0FBSzt1QkFBQyxpQkFBaUI7Z0JBVXhCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBmb3J3YXJkUmVmLFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBIb3N0TGlzdGVuZXIsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIE92ZXJsYXksXG4gIE92ZXJsYXlSZWYsXG4gIE92ZXJsYXlDb25maWcsXG4gIENvbm5lY3RlZFBvc2l0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDM0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jMy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IE1BVF9EUk9QRE9XTl9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQzNEcm9wZG93blRyaWdnZXIpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRoZSBDM0Ryb3Bkb3duVHJpZ2dlciBkaXJlY3RpdmUgaXMgdXNlZCB0byBkaXNwbGF5IG9yIGhpZGUgYSBkcm9wZG93biBtZW51XG4gKiBDM0Ryb3Bkb3duQ29tcG9uZW50IHdoZW4gYW4gaXRlbSBpcyBjbGlja2VkLlxuICogQHNlbGVjdG9yIFtjM0Ryb3Bkb3duXVxuICogQGV4cG9ydEFzIGMzRHJvcGRvd25UcmlnZ2VyXG4gKiBAaW5wdXQgYzNEcm9wZG93biAtIEEgcmVmZXJlbmNlIHRvIGFuIGluc3RhbmNlIG9mIEMzRHJvcGRvd25Db21wb25lbnQuXG4gKiBAaW5wdXQgYzNEcm9wZG93bkRpc2FibGVkIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGlyZWN0aXZlIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAqIEBpbnB1dCBjM0Ryb3Bkb3duQ2xhc3MgLSBBIHN0cmluZywgYW4gYXJyYXkgb2Ygc3RyaW5ncywgYSBzZXQgb2Ygc3RyaW5ncyBvciBhXG4gKiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBDU1MgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBkcm9wZG93biBtZW51LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYzNEcm9wZG93bl0nLFxuICBleHBvcnRBczogJ2MzRHJvcGRvd25UcmlnZ2VyJyxcbiAgcHJvdmlkZXJzOiBbTUFUX0RST1BET1dOX1ZBTFVFX0FDQ0VTU09SXSxcbn0pXG5leHBvcnQgY2xhc3MgQzNEcm9wZG93blRyaWdnZXIgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWYgfCBudWxsO1xuICBwcml2YXRlIF9jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2Ryb3Bkb3duQ2xhc3M6XG4gICAgfCBzdHJpbmdcbiAgICB8IHN0cmluZ1tdXG4gICAgfCBTZXQ8c3RyaW5nPlxuICAgIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9ICcnO1xuXG4gIHByaXZhdGUgX2Ryb3Bkb3duRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVGhlIGRyb3Bkb3duIG1lbnUgaW5zdGFuY2UgKi9cbiAgQElucHV0KCdjM0Ryb3Bkb3duJylcbiAgZHJvcGRvd24/OiBDM0Ryb3Bkb3duQ29tcG9uZW50O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcm9wZG93biBpcyBkaXNhYmxlZC4gKi9cbiAgQElucHV0KCdjM0Ryb3Bkb3duRGlzYWJsZWQnKVxuICBnZXQgZHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZHJvcGRvd25EaXNhYmxlZDtcbiAgfVxuICBzZXQgZHJvcGRvd25EaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Ryb3Bkb3duRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgLyoqIENsYXNzZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBkcm9wZG93biBtZW51LiBTdXBwb3J0cyB0aGUgc2FtZSBzeW50YXggYXMgYG5nQ2xhc3NgLiAqL1xuICBASW5wdXQoJ2MzRHJvcGRvd25DbGFzcycpXG4gIGRyb3Bkb3duQ2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5zaG93KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2Ryb3Bkb3duQ2xhc3MnXSAmJiB0aGlzLmRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duLmRyb3Bkb3duQ2xhc3MgPSB0aGlzLl9kcm9wZG93bkNsYXNzO1xuICAgICAgdGhpcy5kcm9wZG93bi5fbWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kcm9wZG93bikgcmV0dXJuO1xuXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHRoaXMuX2dldE92ZXJsYXlDb25maWcoKSk7XG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuICAgICAgdGhpcy5kcm9wZG93bi50ZW1wbGF0ZSxcbiAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWZcbiAgICApO1xuICAgIG92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xuXG4gICAgdGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLl9tZW51Q2xvc2luZ0FjdGlvbnMoKS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB0aGlzLmNsb3NlKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpXG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuICAgIGNvbnN0IGJlbG93UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgfTtcbiAgICBjb25zdCBhYm92ZVBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuXG4gICAgICAvLyBUaGUgb3ZlcmxheSBlZGdlIGNvbm5lY3RlZCB0byB0aGUgdHJpZ2dlciBzaG91bGQgaGF2ZSBzcXVhcmVkIGNvcm5lcnMsIHdoaWxlXG4gICAgICAvLyB0aGUgb3Bwb3NpdGUgZW5kIGhhcyByb3VuZGVkIGNvcm5lcnMuIFdlIGFwcGx5IGEgQ1NTIGNsYXNzIHRvIHN3YXAgdGhlXG4gICAgICAvLyBib3JkZXItcmFkaXVzIGJhc2VkIG9uIHRoZSBvdmVybGF5IHBvc2l0aW9uLlxuICAgICAgcGFuZWxDbGFzczogJ21hdC1hdXRvY29tcGxldGUtcGFuZWwtYWJvdmUnLFxuICAgIH07XG5cbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnQpXG4gICAgICAud2l0aExvY2tlZFBvc2l0aW9uKClcbiAgICAgIC53aXRoUG9zaXRpb25zKFtiZWxvd1Bvc2l0aW9uLCBhYm92ZVBvc2l0aW9uXSk7XG5cbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIGEgc3RyZWFtIHRoYXQgZW1pdHMgd2hlbmV2ZXIgYW4gYWN0aW9uIHRoYXQgc2hvdWxkIGNsb3NlIHRoZSBtZW51IG9jY3Vycy4gKi9cbiAgcHJpdmF0ZSBfbWVudUNsb3NpbmdBY3Rpb25zKCkge1xuICAgIGNvbnN0IGJhY2tkcm9wID0gdGhpcy5vdmVybGF5UmVmIS5iYWNrZHJvcENsaWNrKCk7XG4gICAgY29uc3QgZGV0YWNobWVudHMgPSB0aGlzLm92ZXJsYXlSZWYhLmRldGFjaG1lbnRzKCk7XG5cbiAgICByZXR1cm4gbWVyZ2UoYmFja2Ryb3AsIGRldGFjaG1lbnRzKS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKTtcbiAgfVxufVxuIl19
|