ng-tailwind 6.2.0 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ngt-checkbox/ngt-checkbox.component.d.ts +6 -6
- package/components/ngt-datatable/ngt-datatable.component.d.ts +24 -24
- package/components/ngt-date/ngt-date.component.d.ts +8 -8
- package/components/ngt-dropdown/ngt-dropdown.component.d.ts +6 -6
- package/components/ngt-floating-button/ngt-floating-button.component.d.ts +13 -13
- package/components/ngt-form/ngt-form.component.d.ts +4 -4
- package/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.d.ts +5 -5
- package/components/ngt-popover/ngt-popover.component.d.ts +6 -6
- package/components/ngt-select/ngt-select.component.d.ts +8 -8
- package/components/ngt-shining/ngt-shining.component.d.ts +6 -6
- package/components/ngt-slider/ngt-slider.component.d.ts +6 -6
- package/components/ngt-svg/ngt-svg.module.d.ts +2 -3
- package/fesm2022/ng-tailwind.mjs +464 -455
- package/fesm2022/ng-tailwind.mjs.map +1 -1
- package/package.json +1 -3
- package/services/http/ngt-http-validation.service.d.ts +3 -5
- package/esm2022/animations/ngt-angular-animations.mjs +0 -34
- package/esm2022/base/ngt-base-ng-model.mjs +0 -90
- package/esm2022/components/ngt-action/ngt-action.component.mjs +0 -96
- package/esm2022/components/ngt-action/ngt-action.module.mjs +0 -28
- package/esm2022/components/ngt-button/ngt-button.component.mjs +0 -142
- package/esm2022/components/ngt-button/ngt-button.module.mjs +0 -28
- package/esm2022/components/ngt-checkbox/ngt-checkbox.component.mjs +0 -192
- package/esm2022/components/ngt-checkbox/ngt-checkbox.module.mjs +0 -28
- package/esm2022/components/ngt-content/ngt-content.component.mjs +0 -32
- package/esm2022/components/ngt-content/ngt-content.module.mjs +0 -20
- package/esm2022/components/ngt-context-menu/ngt-context-menu.component.mjs +0 -25
- package/esm2022/components/ngt-context-menu/ngt-context-menu.directive.mjs +0 -89
- package/esm2022/components/ngt-context-menu/ngt-context-menu.module.mjs +0 -33
- package/esm2022/components/ngt-datatable/ngt-datatable.component.mjs +0 -470
- package/esm2022/components/ngt-datatable/ngt-datatable.module.mjs +0 -99
- package/esm2022/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +0 -57
- package/esm2022/components/ngt-datatable/ngt-td/ngt-td.component.mjs +0 -62
- package/esm2022/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +0 -113
- package/esm2022/components/ngt-datatable/ngt-th/ngt-th.component.mjs +0 -228
- package/esm2022/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +0 -127
- package/esm2022/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +0 -55
- package/esm2022/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +0 -86
- package/esm2022/components/ngt-date/ngt-date.component.mjs +0 -436
- package/esm2022/components/ngt-date/ngt-date.module.mjs +0 -40
- package/esm2022/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +0 -19
- package/esm2022/components/ngt-dropdown/ngt-dropdown.component.mjs +0 -205
- package/esm2022/components/ngt-dropdown/ngt-dropdown.module.mjs +0 -21
- package/esm2022/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +0 -54
- package/esm2022/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +0 -66
- package/esm2022/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +0 -94
- package/esm2022/components/ngt-dropzone/ngt-dropzone.component.mjs +0 -496
- package/esm2022/components/ngt-dropzone/ngt-dropzone.meta.mjs +0 -24
- package/esm2022/components/ngt-dropzone/ngt-dropzone.module.mjs +0 -55
- package/esm2022/components/ngt-floating-button/ngt-floating-button.component.mjs +0 -119
- package/esm2022/components/ngt-floating-button/ngt-floating-button.module.mjs +0 -28
- package/esm2022/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +0 -22
- package/esm2022/components/ngt-form/ngt-form.component.mjs +0 -207
- package/esm2022/components/ngt-form/ngt-form.module.mjs +0 -29
- package/esm2022/components/ngt-header-nav/ngt-header-nav.component.mjs +0 -39
- package/esm2022/components/ngt-header-nav/ngt-header-nav.module.mjs +0 -20
- package/esm2022/components/ngt-helper/ngt-helper.component.mjs +0 -69
- package/esm2022/components/ngt-helper/ngt-helper.module.mjs +0 -28
- package/esm2022/components/ngt-input/ngt-input.component.mjs +0 -844
- package/esm2022/components/ngt-input/ngt-input.module.mjs +0 -47
- package/esm2022/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +0 -46
- package/esm2022/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +0 -33
- package/esm2022/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +0 -40
- package/esm2022/components/ngt-modal/ngt-modal.component.mjs +0 -122
- package/esm2022/components/ngt-modal/ngt-modal.module.mjs +0 -39
- package/esm2022/components/ngt-multi-select/ngt-multi-select.component.mjs +0 -503
- package/esm2022/components/ngt-multi-select/ngt-multi-select.module.mjs +0 -52
- package/esm2022/components/ngt-pagination/ngt-pagination.component.mjs +0 -162
- package/esm2022/components/ngt-pagination/ngt-pagination.module.mjs +0 -36
- package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +0 -59
- package/esm2022/components/ngt-popover/ngt-popover.component.mjs +0 -85
- package/esm2022/components/ngt-popover/ngt-popover.directive.mjs +0 -130
- package/esm2022/components/ngt-popover/ngt-popover.module.mjs +0 -36
- package/esm2022/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +0 -34
- package/esm2022/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +0 -35
- package/esm2022/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +0 -57
- package/esm2022/components/ngt-portlet/ngt-portlet.component.mjs +0 -74
- package/esm2022/components/ngt-portlet/ngt-portlet.module.mjs +0 -47
- package/esm2022/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +0 -19
- package/esm2022/components/ngt-radio-button/ngt-radio-button.component.mjs +0 -153
- package/esm2022/components/ngt-radio-button/ngt-radio-button.module.mjs +0 -29
- package/esm2022/components/ngt-section/ngt-section.component.mjs +0 -151
- package/esm2022/components/ngt-section/ngt-section.module.mjs +0 -32
- package/esm2022/components/ngt-select/ngt-select.component.mjs +0 -670
- package/esm2022/components/ngt-select/ngt-select.directive.mjs +0 -36
- package/esm2022/components/ngt-select/ngt-select.module.mjs +0 -65
- package/esm2022/components/ngt-shining/ngt-shining.component.mjs +0 -40
- package/esm2022/components/ngt-shining/ngt-shining.module.mjs +0 -20
- package/esm2022/components/ngt-sidenav/ngt-sidenav.component.mjs +0 -132
- package/esm2022/components/ngt-sidenav/ngt-sidenav.module.mjs +0 -20
- package/esm2022/components/ngt-slider/ngt-slider.component.mjs +0 -100
- package/esm2022/components/ngt-slider/ngt-slider.module.mjs +0 -24
- package/esm2022/components/ngt-svg/ngt-svg.component.mjs +0 -53
- package/esm2022/components/ngt-svg/ngt-svg.module.mjs +0 -28
- package/esm2022/components/ngt-tag/ngt-tag.component.mjs +0 -37
- package/esm2022/components/ngt-tag/ngt-tag.module.mjs +0 -24
- package/esm2022/components/ngt-textarea/ngt-textarea.component.mjs +0 -238
- package/esm2022/components/ngt-textarea/ngt-textarea.module.mjs +0 -43
- package/esm2022/components/ngt-validation/ngt-validation.component.mjs +0 -26
- package/esm2022/components/ngt-validation/ngt-validation.module.mjs +0 -20
- package/esm2022/directives/ngt-stylizable/ngt-stylizable.directive.mjs +0 -299
- package/esm2022/directives/ngt-stylizable/ngt-stylizable.module.mjs +0 -20
- package/esm2022/enums/size.enum.mjs +0 -11
- package/esm2022/helpers/enum/enum.mjs +0 -7
- package/esm2022/helpers/form/form.mjs +0 -14
- package/esm2022/helpers/input-mask/input-mask.helper.mjs +0 -26
- package/esm2022/helpers/promise/promise-helper.mjs +0 -4
- package/esm2022/helpers/routing/route.mjs +0 -11
- package/esm2022/helpers/uuid.mjs +0 -10
- package/esm2022/ng-tailwind.mjs +0 -5
- package/esm2022/public-api.mjs +0 -127
- package/esm2022/services/http/ngt-attachment-http.service.mjs +0 -3
- package/esm2022/services/http/ngt-http-form.service.mjs +0 -3
- package/esm2022/services/http/ngt-http-resource.service.mjs +0 -3
- package/esm2022/services/http/ngt-http-validation.service.mjs +0 -3
- package/esm2022/services/http/ngt-http.service.mjs +0 -3
- package/esm2022/services/http/ngt-translate.service.mjs +0 -3
- package/esm2022/services/ngt-stylizable/ngt-stylizable.service.mjs +0 -279
- package/esm2022/services/validation/ngt-ability-validation.service.mjs +0 -3
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';
|
|
5
|
-
import { NgtCheckboxModule } from '../ngt-checkbox/ngt-checkbox.module';
|
|
6
|
-
import { NgtHelperModule } from '../ngt-helper/ngt-helper.module';
|
|
7
|
-
import { NgtInputModule } from '../ngt-input/ngt-input.module';
|
|
8
|
-
import { NgtShiningModule } from '../ngt-shining/ngt-shining.module';
|
|
9
|
-
import { NgtValidationModule } from '../ngt-validation/ngt-validation.module';
|
|
10
|
-
import { NgtMultiSelectComponent } from './ngt-multi-select.component';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class NgtMultiSelectModule {
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtMultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgtMultiSelectModule, declarations: [NgtMultiSelectComponent], imports: [CommonModule,
|
|
15
|
-
FormsModule,
|
|
16
|
-
NgtValidationModule,
|
|
17
|
-
NgtShiningModule,
|
|
18
|
-
NgtHelperModule,
|
|
19
|
-
NgtInputModule,
|
|
20
|
-
NgtCheckboxModule,
|
|
21
|
-
NgtStylizableModule], exports: [NgtMultiSelectComponent] }); }
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtMultiSelectModule, imports: [CommonModule,
|
|
23
|
-
FormsModule,
|
|
24
|
-
NgtValidationModule,
|
|
25
|
-
NgtShiningModule,
|
|
26
|
-
NgtHelperModule,
|
|
27
|
-
NgtInputModule,
|
|
28
|
-
NgtCheckboxModule,
|
|
29
|
-
NgtStylizableModule] }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtMultiSelectModule, decorators: [{
|
|
32
|
-
type: NgModule,
|
|
33
|
-
args: [{
|
|
34
|
-
declarations: [
|
|
35
|
-
NgtMultiSelectComponent
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
NgtMultiSelectComponent
|
|
39
|
-
],
|
|
40
|
-
imports: [
|
|
41
|
-
CommonModule,
|
|
42
|
-
FormsModule,
|
|
43
|
-
NgtValidationModule,
|
|
44
|
-
NgtShiningModule,
|
|
45
|
-
NgtHelperModule,
|
|
46
|
-
NgtInputModule,
|
|
47
|
-
NgtCheckboxModule,
|
|
48
|
-
NgtStylizableModule
|
|
49
|
-
]
|
|
50
|
-
}]
|
|
51
|
-
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LW11bHRpLXNlbGVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtbXVsdGktc2VsZWN0L25ndC1tdWx0aS1zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQW9CdkUsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBaEJ6Qix1QkFBdUIsYUFNdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLG1CQUFtQixhQVZuQix1QkFBdUI7Z0hBYWxCLG9CQUFvQixZQVZ6QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsbUJBQW1COzs0RkFHZCxvQkFBb0I7a0JBbEJoQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVix1QkFBdUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDTCx1QkFBdUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLG1CQUFtQjtxQkFDdEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICcuLi9uZ3QtY2hlY2tib3gvbmd0LWNoZWNrYm94Lm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3RIZWxwZXJNb2R1bGUgfSBmcm9tICcuLi9uZ3QtaGVscGVyL25ndC1oZWxwZXIubW9kdWxlJztcbmltcG9ydCB7IE5ndElucHV0TW9kdWxlIH0gZnJvbSAnLi4vbmd0LWlucHV0L25ndC1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0U2hpbmluZ01vZHVsZSB9IGZyb20gJy4uL25ndC1zaGluaW5nL25ndC1zaGluaW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3RWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IE5ndE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE5ndE11bHRpU2VsZWN0Q29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE5ndE11bHRpU2VsZWN0Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5ndFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgICAgIE5ndFNoaW5pbmdNb2R1bGUsXG4gICAgICAgIE5ndEhlbHBlck1vZHVsZSxcbiAgICAgICAgTmd0SW5wdXRNb2R1bGUsXG4gICAgICAgIE5ndENoZWNrYm94TW9kdWxlLFxuICAgICAgICBOZ3RTdHlsaXphYmxlTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RNdWx0aVNlbGVjdE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
|
|
2
|
-
import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../services/http/ngt-translate.service";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "@angular/forms";
|
|
7
|
-
import * as i4 from "../../directives/ngt-stylizable/ngt-stylizable.directive";
|
|
8
|
-
import * as i5 from "../ngt-action/ngt-action.component";
|
|
9
|
-
import * as i6 from "../ngt-select/ngt-select.component";
|
|
10
|
-
import * as i7 from "../ngt-select/ngt-select.directive";
|
|
11
|
-
export class NgtPaginationComponent {
|
|
12
|
-
constructor(injector, ngtTranslateService) {
|
|
13
|
-
this.injector = injector;
|
|
14
|
-
this.ngtTranslateService = ngtTranslateService;
|
|
15
|
-
this.onPageChange = new EventEmitter();
|
|
16
|
-
this.onPerPageChange = new EventEmitter();
|
|
17
|
-
this.displayPagination = true;
|
|
18
|
-
this.pagination = {
|
|
19
|
-
count: null,
|
|
20
|
-
page: 1,
|
|
21
|
-
pages: null,
|
|
22
|
-
total: null,
|
|
23
|
-
from: null,
|
|
24
|
-
to: null,
|
|
25
|
-
per_page: null
|
|
26
|
-
};
|
|
27
|
-
this.pages = [];
|
|
28
|
-
this.registersPerPageOptions = [
|
|
29
|
-
5, 10, 15, 30, 50, 100
|
|
30
|
-
];
|
|
31
|
-
this.currentRegistersPerPage = 15;
|
|
32
|
-
this.ngtPaginationNextPreviousButtonStyle = new NgtStylizableService();
|
|
33
|
-
this.ngtPaginationNextPreviousSectionButtonStyle = new NgtStylizableService();
|
|
34
|
-
this.ngtPaginationFirstLastButtonStyle = new NgtStylizableService();
|
|
35
|
-
this.ngtPaginationActivePageButtonStyle = new NgtStylizableService();
|
|
36
|
-
this.ngtPaginationPageButtonStyle = new NgtStylizableService();
|
|
37
|
-
this.ngtPaginationNextPreviousButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {
|
|
38
|
-
h: 'h-6',
|
|
39
|
-
w: 'w-6',
|
|
40
|
-
color: {
|
|
41
|
-
text: 'text-white',
|
|
42
|
-
bg: 'bg-gray-700'
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
this.ngtPaginationNextPreviousSectionButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {
|
|
46
|
-
h: 'h-6',
|
|
47
|
-
w: 'w-6',
|
|
48
|
-
color: {
|
|
49
|
-
text: 'text-white',
|
|
50
|
-
bg: 'bg-gray-300'
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
this.ngtPaginationFirstLastButtonStyle.load(this.injector, 'NgtPaginationFirstLastButton', {
|
|
54
|
-
h: 'h-6',
|
|
55
|
-
w: 'w-6',
|
|
56
|
-
color: {
|
|
57
|
-
text: 'text-white',
|
|
58
|
-
bg: 'bg-gray-900'
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
this.ngtPaginationActivePageButtonStyle.load(this.injector, 'NgtPaginationActivePageButton', {
|
|
62
|
-
h: 'h-6',
|
|
63
|
-
w: 'w-6',
|
|
64
|
-
color: {
|
|
65
|
-
text: 'text-white',
|
|
66
|
-
bg: 'bg-gray-500'
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
this.ngtPaginationPageButtonStyle.load(this.injector, 'NgtPaginationPageButton', {
|
|
70
|
-
h: 'h-6',
|
|
71
|
-
w: 'w-6',
|
|
72
|
-
color: {
|
|
73
|
-
text: 'text-white',
|
|
74
|
-
bg: 'bg-gray-300'
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
onRegistersPerPageChange(value) {
|
|
79
|
-
if (value && this.pagination.per_page != value) {
|
|
80
|
-
this.pagination.per_page = value;
|
|
81
|
-
this.currentRegistersPerPage = value;
|
|
82
|
-
this.onPerPageChange.emit(value);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async goToPage(page) {
|
|
86
|
-
this.onPageChange.emit(page);
|
|
87
|
-
}
|
|
88
|
-
async goToPreviousPage() {
|
|
89
|
-
if ((this.pagination.page - 1) > 0) {
|
|
90
|
-
return this.goToPage(this.pagination.page - 1);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
async goToNextPage() {
|
|
94
|
-
if ((this.pagination.page + 1) <= this.pagination.pages) {
|
|
95
|
-
return this.goToPage(this.pagination.page + 1);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
async goToPreviousSection() {
|
|
99
|
-
return this.goToPage(this.sectionStartPage - 1);
|
|
100
|
-
}
|
|
101
|
-
async goToNextSection() {
|
|
102
|
-
return this.goToPage(this.sectionEndPage + 1);
|
|
103
|
-
}
|
|
104
|
-
async goToFirstPage() {
|
|
105
|
-
if (this.pagination.page != 1) {
|
|
106
|
-
return this.goToPage(1);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
async goToLastPage() {
|
|
110
|
-
if (this.pagination.page != this.pagination.pages) {
|
|
111
|
-
return this.goToPage(this.pagination.pages);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
getCurrentPage() {
|
|
115
|
-
return this.pagination.page;
|
|
116
|
-
}
|
|
117
|
-
getPagination() {
|
|
118
|
-
return this.pagination;
|
|
119
|
-
}
|
|
120
|
-
proccessPagination(meta) {
|
|
121
|
-
this.pages = [];
|
|
122
|
-
this.pagination = meta.pagination;
|
|
123
|
-
this.sectionStartPage = Math.floor((this.pagination.page - 1) / this.pagesInterval) * this.pagesInterval + 1;
|
|
124
|
-
this.sectionEndPage = this.sectionStartPage + (this.pagesInterval - 1);
|
|
125
|
-
const totalPages = this.pagination.pages;
|
|
126
|
-
for (let i = this.sectionStartPage; i <= this.sectionEndPage && i <= totalPages; i++) {
|
|
127
|
-
this.pages.push(i);
|
|
128
|
-
}
|
|
129
|
-
this.bindDisplayedButtonSections(this.sectionStartPage, this.sectionEndPage, totalPages);
|
|
130
|
-
this.displayPagination = true;
|
|
131
|
-
}
|
|
132
|
-
resetPagination() {
|
|
133
|
-
this.pagination = {
|
|
134
|
-
count: null,
|
|
135
|
-
page: 1,
|
|
136
|
-
pages: null,
|
|
137
|
-
total: null,
|
|
138
|
-
from: null,
|
|
139
|
-
to: null,
|
|
140
|
-
per_page: null
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
bindDisplayedButtonSections(sectionStartPage, sectionEndPage, totalPages) {
|
|
144
|
-
this.displayPreviousSectionButton = sectionStartPage > 1;
|
|
145
|
-
this.displayNextSectionButton = sectionEndPage < totalPages;
|
|
146
|
-
}
|
|
147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPaginationComponent, deps: [{ token: i0.Injector }, { token: i1.NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgtPaginationComponent, selector: "ngt-pagination", inputs: { pagesInterval: "pagesInterval" }, outputs: { onPageChange: "onPageChange", onPerPageChange: "onPerPageChange" }, ngImport: i0, template: "<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationActivePageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationPageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"text-xs ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "gap", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }, { kind: "component", type: i5.NgtActionComponent, selector: "ngt-action", inputs: ["href", "icon", "ngtStyle", "isDisabled", "forceEnable"] }, { kind: "component", type: i6.NgtSelectComponent, selector: "ngt-select", inputs: ["label", "labelIcon", "labelIconColor", "helpTitle", "helpText", "helpTextColor", "shining", "loading", "loadingText", "notFoundText", "dropdownPosition", "typeToSearchText", "clearAllTooltip", "placeholder", "createText", "labelForId", "dropdownPanelMinHeight", "helperReverseYPosition", "helperAutoXReverse", "name", "autoLoad", "allowCreate", "allowOriginalItemsUnselect", "isDisabled", "isReadonly", "remoteResource", "hideSelected", "bindLabel", "bindValue", "items", "inputAttrs", "closeOnSelect", "clearable", "groupBy", "maxSelectedItems", "multiple", "searchable", "clearSearchOnAdd", "virtualScroll", "tabIndex", "typeahead", "guessCompareWith", "autoSelectUniqueOption", "groupValue", "trackBy", "sortSelectedItemsFn", "isAllowedToRemoveFn", "isRequired", "compareWith"], outputs: ["onLoadRemoteResource", "onSelectedItemRemove", "onClear", "onClose"] }, { kind: "directive", type: i7.NgtSelectOptionTmp, selector: "[ngt-select-option]" }] }); }
|
|
149
|
-
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPaginationComponent, decorators: [{
|
|
151
|
-
type: Component,
|
|
152
|
-
args: [{ selector: 'ngt-pagination', template: "<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationActivePageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationPageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"text-xs ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>\n" }]
|
|
153
|
-
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgtTranslateService, decorators: [{
|
|
154
|
-
type: Optional
|
|
155
|
-
}] }], propDecorators: { pagesInterval: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], onPageChange: [{
|
|
158
|
-
type: Output
|
|
159
|
-
}], onPerPageChange: [{
|
|
160
|
-
type: Output
|
|
161
|
-
}] } });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBhZ2luYXRpb24vbmd0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBhZ2luYXRpb24vbmd0LXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7OztBQU01RixNQUFNLE9BQU8sc0JBQXNCO0lBcUMvQixZQUNZLFFBQWtCLEVBRW5CLG1CQUF3QztRQUZ2QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRW5CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFyQ2xDLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEQsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWFyRSxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFFbEMsZUFBVSxHQUFzQjtZQUNuQyxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxDQUFDO1lBQ1AsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxJQUFJO1lBQ1YsRUFBRSxFQUFFLElBQUk7WUFDUixRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDO1FBRUssVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLDRCQUF1QixHQUFHO1lBQzdCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFB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RyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxjQUFjLEdBQUcsVUFBVSxDQUFDO0lBQ2hFLENBQUM7K0dBbkxRLHNCQUFzQjttR0FBdEIsc0JBQXNCLGlMQ1ZuQyxza0xBeUdBOzs0RkQvRmEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNJLGdCQUFnQjs7MEJBMENyQixRQUFRO3lDQXRDRyxhQUFhO3NCQUE1QixLQUFLO2dCQUVXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsZUFBZTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmd0SHR0cE1ldGEsIE5ndEh0dHBQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9uZ3QtaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IE5ndFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL25ndC10cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndC1wYWdpbmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5ndFBhZ2luYXRpb25Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwYWdlc0ludGVydmFsOiBudW1iZXI7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblBlclBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIFN0eWxlcyAqL1xuICAgIHB1YmxpYyBuZ3RQYWdpbmF0aW9uQWN0aXZlUGFnZUJ1dHRvblN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcbiAgICBwdWJsaWMgbmd0UGFnaW5hdGlvbk5leHRQcmV2aW91c0J1dHRvblN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcbiAgICBwdWJsaWMgbmd0UGFnaW5hdGlvbk5leHRQcmV2aW91c1NlY3Rpb25CdXR0b25TdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG4gICAgcHVibGljIG5ndFBhZ2luYXRpb25GaXJzdExhc3RCdXR0b25TdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG4gICAgcHVibGljIG5ndFBhZ2luYXRpb25QYWdlQnV0dG9uU3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHVibGljIHNlY3Rpb25TdGFydFBhZ2U6IG51bWJlcjtcbiAgICBwdWJsaWMgc2VjdGlvbkVuZFBhZ2U6IG51bWJlcjtcbiAgICBwdWJsaWMgZGlzcGxheU5leHRTZWN0aW9uQnV0dG9uOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaXNwbGF5UHJldmlvdXNTZWN0aW9uQnV0dG9uOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaXNwbGF5UGFnaW5hdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwdWJsaWMgcGFnaW5hdGlvbjogTmd0SHR0cFBhZ2luYXRpb24gPSB7XG4gICAgICAgIGNvdW50OiBudWxsLFxuICAgICAgICBwYWdlOiAxLFxuICAgICAgICBwYWdlczogbnVsbCxcbiAgICAgICAgdG90YWw6IG51bGwsXG4gICAgICAgIGZyb206IG51bGwsXG4gICAgICAgIHRvOiBudWxsLFxuICAgICAgICBwZXJfcGFnZTogbnVsbFxuICAgIH07XG5cbiAgICBwdWJsaWMgcGFnZXMgPSBbXTtcblxuICAgIHB1YmxpYyByZWdpc3RlcnNQZXJQYWdlT3B0aW9ucyA9IFtcbiAgICAgICAgNSwgMTAsIDE1LCAzMCwgNTAsIDEwMFxuICAgIF07XG5cbiAgICBwdWJsaWMgY3VycmVudFJlZ2lzdGVyc1BlclBhZ2U6IG51bWJlciA9IDE1O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgcHVibGljIG5ndFRyYW5zbGF0ZVNlcnZpY2U6IE5ndFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzQnV0dG9uU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzU2VjdGlvbkJ1dHRvblN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbkZpcnN0TGFzdEJ1dHRvblN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbkFjdGl2ZVBhZ2VCdXR0b25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25QYWdlQnV0dG9uU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcblxuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b25TdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzQnV0dG9uJywge1xuICAgICAgICAgICAgaDogJ2gtNicsXG4gICAgICAgICAgICB3OiAndy02JyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUnLFxuICAgICAgICAgICAgICAgIGJnOiAnYmctZ3JheS03MDAnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbk5leHRQcmV2aW91c1NlY3Rpb25CdXR0b25TdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzQnV0dG9uJywge1xuICAgICAgICAgICAgaDogJ2gtNicsXG4gICAgICAgICAgICB3OiAndy02JyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUnLFxuICAgICAgICAgICAgICAgIGJnOiAnYmctZ3JheS0zMDAnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbkZpcnN0TGFzdEJ1dHRvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFBhZ2luYXRpb25GaXJzdExhc3RCdXR0b24nLCB7XG4gICAgICAgICAgICBoOiAnaC02JyxcbiAgICAgICAgICAgIHc6ICd3LTYnLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXG4gICAgICAgICAgICAgICAgYmc6ICdiZy1ncmF5LTkwMCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uQWN0aXZlUGFnZUJ1dHRvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFBhZ2luYXRpb25BY3RpdmVQYWdlQnV0dG9uJywge1xuICAgICAgICAgICAgaDogJ2gtNicsXG4gICAgICAgICAgICB3OiAndy02JyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUnLFxuICAgICAgICAgICAgICAgIGJnOiAnYmctZ3JheS01MDAnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvblBhZ2VCdXR0b25TdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RQYWdpbmF0aW9uUGFnZUJ1dHRvbicsIHtcbiAgICAgICAgICAgIGg6ICdoLTYnLFxuICAgICAgICAgICAgdzogJ3ctNicsXG4gICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlJyxcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWdyYXktMzAwJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25SZWdpc3RlcnNQZXJQYWdlQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMucGFnaW5hdGlvbi5wZXJfcGFnZSAhPSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uLnBlcl9wYWdlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRSZWdpc3RlcnNQZXJQYWdlID0gdmFsdWU7XG5cbiAgICAgICAgICAgIHRoaXMub25QZXJQYWdlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdvVG9QYWdlKHBhZ2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnb1RvUHJldmlvdXNQYWdlKCkge1xuICAgICAgICBpZiAoKHRoaXMucGFnaW5hdGlvbi5wYWdlIC0gMSkgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSh0aGlzLnBhZ2luYXRpb24ucGFnZSAtIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdvVG9OZXh0UGFnZSgpIHtcbiAgICAgICAgaWYgKCh0aGlzLnBhZ2luYXRpb24ucGFnZSArIDEpIDw9IHRoaXMucGFnaW5hdGlvbi5wYWdlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ29Ub1BhZ2UodGhpcy5wYWdpbmF0aW9uLnBhZ2UgKyAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnb1RvUHJldmlvdXNTZWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSh0aGlzLnNlY3Rpb25TdGFydFBhZ2UgLSAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ29Ub05leHRTZWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSh0aGlzLnNlY3Rpb25FbmRQYWdlICsgMSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdvVG9GaXJzdFBhZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb24ucGFnZSAhPSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnb1RvTGFzdFBhZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb24ucGFnZSAhPSB0aGlzLnBhZ2luYXRpb24ucGFnZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKHRoaXMucGFnaW5hdGlvbi5wYWdlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFBhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2luYXRpb24ucGFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFnaW5hdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJvY2Nlc3NQYWdpbmF0aW9uKG1ldGE6IE5ndEh0dHBNZXRhKSB7XG4gICAgICAgIHRoaXMucGFnZXMgPSBbXTtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID0gbWV0YS5wYWdpbmF0aW9uO1xuXG4gICAgICAgIHRoaXMuc2VjdGlvblN0YXJ0UGFnZSA9IE1hdGguZmxvb3IoKHRoaXMucGFnaW5hdGlvbi5wYWdlIC0gMSkgLyB0aGlzLnBhZ2VzSW50ZXJ2YWwpICogdGhpcy5wYWdlc0ludGVydmFsICsgMTtcbiAgICAgICAgdGhpcy5zZWN0aW9uRW5kUGFnZSA9IHRoaXMuc2VjdGlvblN0YXJ0UGFnZSArICh0aGlzLnBhZ2VzSW50ZXJ2YWwgLSAxKTtcblxuICAgICAgICBjb25zdCB0b3RhbFBhZ2VzID0gdGhpcy5wYWdpbmF0aW9uLnBhZ2VzO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSB0aGlzLnNlY3Rpb25TdGFydFBhZ2U7IGkgPD0gdGhpcy5zZWN0aW9uRW5kUGFnZSAmJiBpIDw9IHRvdGFsUGFnZXM7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5wYWdlcy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5iaW5kRGlzcGxheWVkQnV0dG9uU2VjdGlvbnModGhpcy5zZWN0aW9uU3RhcnRQYWdlLCB0aGlzLnNlY3Rpb25FbmRQYWdlLCB0b3RhbFBhZ2VzKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5UGFnaW5hdGlvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0UGFnaW5hdGlvbigpIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID0ge1xuICAgICAgICAgICAgY291bnQ6IG51bGwsXG4gICAgICAgICAgICBwYWdlOiAxLFxuICAgICAgICAgICAgcGFnZXM6IG51bGwsXG4gICAgICAgICAgICB0b3RhbDogbnVsbCxcbiAgICAgICAgICAgIGZyb206IG51bGwsXG4gICAgICAgICAgICB0bzogbnVsbCxcbiAgICAgICAgICAgIHBlcl9wYWdlOiBudWxsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kRGlzcGxheWVkQnV0dG9uU2VjdGlvbnMoc2VjdGlvblN0YXJ0UGFnZTogbnVtYmVyLCBzZWN0aW9uRW5kUGFnZTogbnVtYmVyLCB0b3RhbFBhZ2VzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5UHJldmlvdXNTZWN0aW9uQnV0dG9uID0gc2VjdGlvblN0YXJ0UGFnZSA+IDE7XG4gICAgICAgIHRoaXMuZGlzcGxheU5leHRTZWN0aW9uQnV0dG9uID0gc2VjdGlvbkVuZFBhZ2UgPCB0b3RhbFBhZ2VzO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ7eyBkaXNwbGF5UGFnaW5hdGlvbiA/ICdmbGV4JyA6ICdoaWRkZW4nIH19IGl0ZW1zLWNlbnRlciB3LWZ1bGwgaC1mdWxsIHJlbGF0aXZlXCI+XG4gICAgPHVsIGNsYXNzPVwiZmxleCBqdXN0aWZ5LXN0YXJ0XCI+XG4gICAgICAgIDwhLS0gRklSU1QgLS0+XG4gICAgICAgIDxsaSAoY2xpY2spPSdnb1RvRmlyc3RQYWdlKCknIGNsYXNzPVwibXItMlwiPlxuICAgICAgICAgICAgPG5ndC1hY3Rpb24gW25ndFN0eWxlXT0nbmd0UGFnaW5hdGlvbkZpcnN0TGFzdEJ1dHRvblN0eWxlJyBbZm9yY2VFbmFibGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJmaWxsLWN1cnJlbnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIi1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XCJcbiAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjQxIDcuNDFMMTcgNmwtNiA2bDYgNmwxLjQxLTEuNDFMMTMuODMgMTJsNC41OC00LjU5bS02IDBMMTEgNmwtNiA2bDYgNmwxLjQxLTEuNDFMNy44MyAxMmw0LjU4LTQuNTl6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvbmd0LWFjdGlvbj5cbiAgICAgICAgPC9saT5cblxuICAgICAgICA8IS0tIFBSRVZJT1VTIC0tPlxuICAgICAgICA8bGkgKGNsaWNrKT0nZ29Ub1ByZXZpb3VzUGFnZSgpJyBjbGFzcz1cIm1yLTJcIj5cbiAgICAgICAgICAgIDxuZ3QtYWN0aW9uIFtuZ3RTdHlsZV09J25ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b25TdHlsZScgW2ZvcmNlRW5hYmxlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiZmlsbC1jdXJyZW50XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcIlxuICAgICAgICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS40MSAxNi41OEwxMC44MyAxMmw0LjU4LTQuNTlMMTQgNmwtNiA2bDYgNmwxLjQxLTEuNDJ6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvbmd0LWFjdGlvbj5cbiAgICAgICAgPC9saT5cblxuICAgICAgICA8IS0tIFBSRVZJT1VTIFNFQ1RJT04gLS0+XG4gICAgICAgIDxsaSAqbmdJZj1cImRpc3BsYXlQcmV2aW91c1NlY3Rpb25CdXR0b25cIiAoY2xpY2spPSdnb1RvUHJldmlvdXNTZWN0aW9uKCknIGNsYXNzPVwibXItMlwiPlxuICAgICAgICAgICAgPG5ndC1hY3Rpb24gW25ndFN0eWxlXT0nbmd0UGFnaW5hdGlvbk5leHRQcmV2aW91c1NlY3Rpb25CdXR0b25TdHlsZScgW2ZvcmNlRW5hYmxlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiZmlsbC1jdXJyZW50XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNCAxMmEyIDIgMCAxIDEgMC00IDIgMiAwIDAgMSAwIDR6bTYgMGEyIDIgMCAxIDEgMC00IDIgMiAwIDAgMSAwIDR6bTYgMGEyIDIgMCAxIDEgMC00IDIgMiAwIDAgMSAwIDR6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvbmd0LWFjdGlvbj5cbiAgICAgICAgPC9saT5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj0nbGV0IHBhZ2Ugb2YgcGFnZXMnPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0ncGFnZSA9PSBwYWdpbmF0aW9uLnBhZ2UnPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1yLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5ndC1hY3Rpb24gY2xhc3M9XCJ0ZXh0LXhzXCIgW25ndFN0eWxlXT0nbmd0UGFnaW5hdGlvbkFjdGl2ZVBhZ2VCdXR0b25TdHlsZScgW2ZvcmNlRW5hYmxlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZ3QtYWN0aW9uPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0ncGFnZSAhPT0gcGFnaW5hdGlvbi5wYWdlJz5cbiAgICAgICAgICAgICAgICA8bGkgKGNsaWNrKT0nZ29Ub1BhZ2UocGFnZSknIGNsYXNzPVwibXItMlwiPlxuICAgICAgICAgICAgICAgICAgICA8bmd0LWFjdGlvbiBjbGFzcz1cInRleHQteHNcIiBbbmd0U3R5bGVdPSduZ3RQYWdpbmF0aW9uUGFnZUJ1dHRvblN0eWxlJyBbZm9yY2VFbmFibGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgcGFnZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L25ndC1hY3Rpb24+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gTkVYVCBTRUNUSU9OIC0tPlxuICAgICAgICA8bGkgKm5nSWY9XCJkaXNwbGF5TmV4dFNlY3Rpb25CdXR0b25cIiAoY2xpY2spPSdnb1RvTmV4dFNlY3Rpb24oKScgY2xhc3M9XCJtci0yXCI+XG4gICAgICAgICAgICA8bmd0LWFjdGlvbiBbbmd0U3R5bGVdPSduZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzU2VjdGlvbkJ1dHRvblN0eWxlJyBbZm9yY2VFbmFibGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJmaWxsLWN1cnJlbnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00IDEyYTIgMiAwIDEgMSAwLTQgMiAyIDAgMCAxIDAgNHptNiAwYTIgMiAwIDEgMSAwLTQgMiAyIDAgMCAxIDAgNHptNiAwYTIgMiAwIDEgMSAwLTQgMiAyIDAgMCAxIDAgNHpcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9uZ3QtYWN0aW9uPlxuICAgICAgICA8L2xpPlxuXG4gICAgICAgIDwhLS0gTkVYVCAtLT5cbiAgICAgICAgPGxpIChjbGljayk9J2dvVG9OZXh0UGFnZSgpJyBjbGFzcz1cIm1yLTJcIj5cbiAgICAgICAgICAgIDxuZ3QtYWN0aW9uIFtuZ3RTdHlsZV09J25ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b25TdHlsZScgW2ZvcmNlRW5hYmxlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiZmlsbC1jdXJyZW50XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcIlxuICAgICAgICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjU5IDE2LjU4TDEzLjE3IDEyTDguNTkgNy40MUwxMCA2bDYgNmwtNiA2bC0xLjQxLTEuNDJ6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvbmd0LWFjdGlvbj5cbiAgICAgICAgPC9saT5cblxuICAgICAgICA8IS0tIExBU1QgLS0+XG4gICAgICAgIDxsaSAoY2xpY2spPSdnb1RvTGFzdFBhZ2UoKScgY2xhc3M9XCJtci0yXCI+XG4gICAgICAgICAgICA8bmd0LWFjdGlvbiBbbmd0U3R5bGVdPSduZ3RQYWdpbmF0aW9uRmlyc3RMYXN0QnV0dG9uU3R5bGUnIFtmb3JjZUVuYWJsZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImZpbGwtY3VycmVudFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcIlxuICAgICAgICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNS41OSA3LjQxTDcgNmw2IDZsLTYgNmwtMS40MS0xLjQxTDEwLjE3IDEyTDUuNTkgNy40MW02IDBMMTMgNmw2IDZsLTYgNmwtMS40MS0xLjQxTDE2LjE3IDEybC00LjU4LTQuNTl6XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvbmd0LWFjdGlvbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuXG4gICAgPCEtLSBSRUdJU1RFUlMgUEVSIFBBR0UgLS0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHctYXV0byBhYnNvbHV0ZSByaWdodC0wXCI+XG4gICAgICAgIDxuZ3Qtc2VsZWN0IGNsYXNzPSdibG9jayB3LTIwIGxlZnQtMCcgW3NlYXJjaGFibGVdPSdmYWxzZScgW2NsZWFyYWJsZV09J2ZhbHNlJyBkcm9wZG93blBvc2l0aW9uPSd0b3AnXG4gICAgICAgICAgICBbaXRlbXNdPSdyZWdpc3RlcnNQZXJQYWdlT3B0aW9ucycgbmFtZT0ncmVnaXN0ZXJzUGVyUGFnZVNlbGVjdCcgWyhuZ01vZGVsKV09XCJjdXJyZW50UmVnaXN0ZXJzUGVyUGFnZVwiXG4gICAgICAgICAgICBoPSdoLWF1dG8nIChuZ01vZGVsQ2hhbmdlKT0nb25SZWdpc3RlcnNQZXJQYWdlQ2hhbmdlKCRldmVudCknIG5ndC1zdHlsaXphYmxlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgbmd0LXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICAgICAge3sgaXRlbSA/IGl0ZW0gOiAnJyB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZ3Qtc2VsZWN0PlxuXG4gICAgICAgIDxQIGNsYXNzPVwidGV4dC14cyBtbC0yXCI+XG4gICAgICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFBhZ2luYXRpb24ocGFnaW5hdGlvbi5mcm9tLCBwYWdpbmF0aW9uLnRvLCBwYWdpbmF0aW9uLnRvdGFsKSB9fVxuICAgICAgICA8L1A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';
|
|
5
|
-
import { NgtActionModule } from '../ngt-action/ngt-action.module';
|
|
6
|
-
import { NgtSelectModule } from '../ngt-select/ngt-select.module';
|
|
7
|
-
import { NgtPaginationComponent } from './ngt-pagination.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class NgtPaginationModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgtPaginationModule, declarations: [NgtPaginationComponent], imports: [CommonModule,
|
|
12
|
-
FormsModule,
|
|
13
|
-
NgtStylizableModule,
|
|
14
|
-
NgtActionModule,
|
|
15
|
-
NgtSelectModule], exports: [NgtPaginationComponent] }); }
|
|
16
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPaginationModule, imports: [CommonModule,
|
|
17
|
-
FormsModule,
|
|
18
|
-
NgtStylizableModule,
|
|
19
|
-
NgtActionModule,
|
|
20
|
-
NgtSelectModule] }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPaginationModule, decorators: [{
|
|
23
|
-
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
declarations: [NgtPaginationComponent],
|
|
26
|
-
exports: [NgtPaginationComponent],
|
|
27
|
-
imports: [
|
|
28
|
-
CommonModule,
|
|
29
|
-
FormsModule,
|
|
30
|
-
NgtStylizableModule,
|
|
31
|
-
NgtActionModule,
|
|
32
|
-
NgtSelectModule,
|
|
33
|
-
]
|
|
34
|
-
}]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBhZ2luYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBhZ2luYXRpb24vbmd0LXBhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWFwRSxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFWYixzQkFBc0IsYUFHakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGVBQWUsYUFOVCxzQkFBc0I7Z0hBU3ZCLG1CQUFtQixZQVB4QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsZUFBZTs7NEZBR1YsbUJBQW1CO2tCQVgvQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTtxQkFDbEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0QWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vbmd0LWFjdGlvbi9uZ3QtYWN0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3RTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi9uZ3Qtc2VsZWN0L25ndC1zZWxlY3QubW9kdWxlJztcbmltcG9ydCB7IE5ndFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25ndC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTmd0UGFnaW5hdGlvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW05ndFBhZ2luYXRpb25Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmd0U3R5bGl6YWJsZU1vZHVsZSxcbiAgICAgICAgTmd0QWN0aW9uTW9kdWxlLFxuICAgICAgICBOZ3RTZWxlY3RNb2R1bGUsXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RQYWdpbmF0aW9uTW9kdWxlIHsgfVxuIl19
|
package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { Component, EventEmitter, HostListener, Output } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class NgtPopoverTooltipComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.onMouseHoverEvent = new EventEmitter();
|
|
8
|
-
this.onMouseLeaveEvent = new EventEmitter();
|
|
9
|
-
this.position = NgtPopoverPosition.DEFAULT;
|
|
10
|
-
this.positionClasses = {
|
|
11
|
-
[NgtPopoverPosition.TOP]: '-mt-10',
|
|
12
|
-
[NgtPopoverPosition.BOTTOM]: '-mb-10',
|
|
13
|
-
};
|
|
14
|
-
this.popoverTemplateStyle = 'text-xxs';
|
|
15
|
-
}
|
|
16
|
-
onMouseLeave() {
|
|
17
|
-
this.onMouseLeaveEvent.emit();
|
|
18
|
-
}
|
|
19
|
-
onMouseEnter() {
|
|
20
|
-
this.onMouseHoverEvent.emit();
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPopoverTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgtPopoverTooltipComponent, selector: "ngt-popover-tooltip", outputs: { onMouseHoverEvent: "onMouseHoverEvent", onMouseLeaveEvent: "onMouseLeaveEvent" }, host: { listeners: { "mouseleave": "onMouseLeave()", "mouseenter": "onMouseEnter()" } }, ngImport: i0, template: "<div class=\"bg-white rounded-lg shadow-2xl border border-gray-200 absolute max-w-7xl\"\n [ngClass]=\"positionClasses[position]\" [style.left.px]=\"positionX\" [style.top.px]=\"positionY\"\n style=\"z-index: 999999 !important; width: max-content !important;\" (click)=\"$event.stopPropagation()\"\n @enterAnimation>\n\n <div *ngIf=\"!popoverTemplate; else showTemplate\"\n class=\"px-2 py-1 text-gray-700 whitespace-nowrap {{popoverTemplateStyle}}\">\n {{ popover }}\n </div>\n\n <ng-template #showTemplate>\n <ng-container [ngTemplateOutlet]=\"popoverTemplate\"></ng-container>\n </ng-template>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
24
|
-
trigger('enterAnimation', [
|
|
25
|
-
state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),
|
|
26
|
-
transition(':enter', [
|
|
27
|
-
animate(200)
|
|
28
|
-
])
|
|
29
|
-
]),
|
|
30
|
-
] }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPopoverTooltipComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'ngt-popover-tooltip', animations: [
|
|
35
|
-
trigger('enterAnimation', [
|
|
36
|
-
state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),
|
|
37
|
-
transition(':enter', [
|
|
38
|
-
animate(200)
|
|
39
|
-
])
|
|
40
|
-
]),
|
|
41
|
-
], template: "<div class=\"bg-white rounded-lg shadow-2xl border border-gray-200 absolute max-w-7xl\"\n [ngClass]=\"positionClasses[position]\" [style.left.px]=\"positionX\" [style.top.px]=\"positionY\"\n style=\"z-index: 999999 !important; width: max-content !important;\" (click)=\"$event.stopPropagation()\"\n @enterAnimation>\n\n <div *ngIf=\"!popoverTemplate; else showTemplate\"\n class=\"px-2 py-1 text-gray-700 whitespace-nowrap {{popoverTemplateStyle}}\">\n {{ popover }}\n </div>\n\n <ng-template #showTemplate>\n <ng-container [ngTemplateOutlet]=\"popoverTemplate\"></ng-container>\n </ng-template>\n</div>" }]
|
|
42
|
-
}], propDecorators: { onMouseHoverEvent: [{
|
|
43
|
-
type: Output
|
|
44
|
-
}], onMouseLeaveEvent: [{
|
|
45
|
-
type: Output
|
|
46
|
-
}], onMouseLeave: [{
|
|
47
|
-
type: HostListener,
|
|
48
|
-
args: ['mouseleave']
|
|
49
|
-
}], onMouseEnter: [{
|
|
50
|
-
type: HostListener,
|
|
51
|
-
args: ['mouseenter']
|
|
52
|
-
}] } });
|
|
53
|
-
export var NgtPopoverPosition;
|
|
54
|
-
(function (NgtPopoverPosition) {
|
|
55
|
-
NgtPopoverPosition["DEFAULT"] = "TOP";
|
|
56
|
-
NgtPopoverPosition["TOP"] = "TOP";
|
|
57
|
-
NgtPopoverPosition["BOTTOM"] = "BOTTOM";
|
|
58
|
-
})(NgtPopoverPosition || (NgtPopoverPosition = {}));
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBvcG92ZXItdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtcG9wb3Zlci9uZ3QtcG9wb3Zlci10b29sdGlwL25ndC1wb3BvdmVyLXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBvcG92ZXIvbmd0LXBvcG92ZXItdG9vbHRpcC9uZ3QtcG9wb3Zlci10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7O0FBYzNGLE1BQU0sT0FBTywwQkFBMEI7SUFadkM7UUFhcUIsc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0Qsc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJckUsYUFBUSxHQUF1QixrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFJMUQsb0JBQWUsR0FBUTtZQUMxQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVE7WUFDbEMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRO1NBQ3hDLENBQUM7UUFFSyx5QkFBb0IsR0FBVyxVQUFVLENBQUM7S0FXcEQ7SUFSVSxZQUFZO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFHTSxZQUFZO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBekJRLDBCQUEwQjttR0FBMUIsMEJBQTBCLGlQQ2Z2Qyx1b0JBYU0sdVlEUFU7WUFDUixPQUFPLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3RCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRSxVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDO2lCQUNmLENBQUM7YUFDTCxDQUFDO1NBQ0w7OzRGQUVRLDBCQUEwQjtrQkFadEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FFbkI7d0JBQ1IsT0FBTyxDQUFDLGdCQUFnQixFQUFFOzRCQUN0QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDcEUsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDZixDQUFDO3lCQUNMLENBQUM7cUJBQ0w7OEJBR2dCLGlCQUFpQjtzQkFBakMsTUFBTTtnQkFDVSxpQkFBaUI7c0JBQWpDLE1BQU07Z0JBZ0JBLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsWUFBWTtnQkFNbkIsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxZQUFZOztBQU05QixNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzFCLHFDQUFlLENBQUE7SUFDZixpQ0FBVyxDQUFBO0lBQ1gsdUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtcG9wb3Zlci10b29sdGlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LXBvcG92ZXItdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdlbnRlckFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0yMHB4KScsIG9wYWNpdHk6IDAgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoMjAwKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSksXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RQb3BvdmVyVG9vbHRpcENvbXBvbmVudHtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uTW91c2VIb3ZlckV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbk1vdXNlTGVhdmVFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIHBvcG92ZXI6IHN0cmluZztcbiAgICBwdWJsaWMgcG9wb3ZlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyBwb3NpdGlvbjogTmd0UG9wb3ZlclBvc2l0aW9uID0gTmd0UG9wb3ZlclBvc2l0aW9uLkRFRkFVTFQ7XG4gICAgcHVibGljIHBvc2l0aW9uWDogbnVtYmVyO1xuICAgIHB1YmxpYyBwb3NpdGlvblk6IG51bWJlcjtcblxuICAgIHB1YmxpYyBwb3NpdGlvbkNsYXNzZXM6IGFueSA9IHtcbiAgICAgICAgW05ndFBvcG92ZXJQb3NpdGlvbi5UT1BdOiAnLW10LTEwJyxcbiAgICAgICAgW05ndFBvcG92ZXJQb3NpdGlvbi5CT1RUT01dOiAnLW1iLTEwJyxcbiAgICB9O1xuXG4gICAgcHVibGljIHBvcG92ZXJUZW1wbGF0ZVN0eWxlOiBzdHJpbmcgPSAndGV4dC14eHMnO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gICAgcHVibGljIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vdXNlTGVhdmVFdmVudC5lbWl0KCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gICAgcHVibGljIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vdXNlSG92ZXJFdmVudC5lbWl0KCk7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBOZ3RQb3BvdmVyUG9zaXRpb24ge1xuICAgIERFRkFVTFQgPSAnVE9QJyxcbiAgICBUT1AgPSAnVE9QJyxcbiAgICBCT1RUT00gPSAnQk9UVE9NJyxcbn1cbiIsIjxkaXYgY2xhc3M9XCJiZy13aGl0ZSByb3VuZGVkLWxnIHNoYWRvdy0yeGwgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCBhYnNvbHV0ZSBtYXgtdy03eGxcIlxuICAgIFtuZ0NsYXNzXT1cInBvc2l0aW9uQ2xhc3Nlc1twb3NpdGlvbl1cIiBbc3R5bGUubGVmdC5weF09XCJwb3NpdGlvblhcIiBbc3R5bGUudG9wLnB4XT1cInBvc2l0aW9uWVwiXG4gICAgc3R5bGU9XCJ6LWluZGV4OiA5OTk5OTkgIWltcG9ydGFudDsgd2lkdGg6IG1heC1jb250ZW50ICFpbXBvcnRhbnQ7XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgQGVudGVyQW5pbWF0aW9uPlxuXG4gICAgPGRpdiAqbmdJZj1cIiFwb3BvdmVyVGVtcGxhdGU7IGVsc2Ugc2hvd1RlbXBsYXRlXCJcbiAgICAgICAgY2xhc3M9XCJweC0yIHB5LTEgdGV4dC1ncmF5LTcwMCB3aGl0ZXNwYWNlLW5vd3JhcCB7e3BvcG92ZXJUZW1wbGF0ZVN0eWxlfX1cIj5cbiAgICAgICAge3sgcG9wb3ZlciB9fVxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNzaG93VGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9wb3ZlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Optional, Output, Self, ViewChild } from '@angular/core';
|
|
2
|
-
import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../directives/ngt-stylizable/ngt-stylizable.directive";
|
|
5
|
-
import * as i2 from "../../services/http/ngt-translate.service";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "../ngt-dropdown/ngt-dropdown.component";
|
|
8
|
-
export class NgtPopoverComponent {
|
|
9
|
-
constructor(ngtStylizableDirective, ngtTranslateService, injector) {
|
|
10
|
-
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
11
|
-
this.ngtTranslateService = ngtTranslateService;
|
|
12
|
-
this.injector = injector;
|
|
13
|
-
this.openMethod = NgtPopoverOpenMethod.HOVER;
|
|
14
|
-
this.onClick = new EventEmitter();
|
|
15
|
-
this.stylesToCompile = ['h', 'w', 'px', 'py', 'm', 'mx', 'my', 'shadow', 'text', 'border', 'color.border', 'color.bg', 'color.text'];
|
|
16
|
-
if (this.ngtStylizableDirective) {
|
|
17
|
-
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
this.ngtStyle = new NgtStylizableService();
|
|
21
|
-
}
|
|
22
|
-
this.ngtStyle.load(this.injector, 'NgtPopover', {
|
|
23
|
-
text: 'text-sm',
|
|
24
|
-
fontCase: '',
|
|
25
|
-
py: 'py-3',
|
|
26
|
-
px: 'px-2',
|
|
27
|
-
border: 'border',
|
|
28
|
-
color: {
|
|
29
|
-
border: 'border-gray-400',
|
|
30
|
-
text: 'text-black',
|
|
31
|
-
bg: 'bg-white'
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
fireClickEvent() {
|
|
36
|
-
if (this.clickTimeout) {
|
|
37
|
-
clearTimeout(this.clickTimeout);
|
|
38
|
-
}
|
|
39
|
-
this.clickTimeout = setTimeout(() => {
|
|
40
|
-
this.onClick.emit();
|
|
41
|
-
const event = new MouseEvent('click', { bubbles: true });
|
|
42
|
-
event.preventDefault();
|
|
43
|
-
event.stopPropagation();
|
|
44
|
-
this.hostDiv.nativeElement.dispatchEvent(event);
|
|
45
|
-
}, 500);
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPopoverComponent, deps: [{ token: i1.NgtStylizableDirective, optional: true, self: true }, { token: i2.NgtTranslateService, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgtPopoverComponent, selector: "ngt-popover", inputs: { closeTimeout: "closeTimeout", openMethod: "openMethod", closeOnClick: "closeOnClick", placeOnBottom: "placeOnBottom", placeOnLeft: "placeOnLeft" }, outputs: { onClick: "onClick" }, viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: ["dropdownRef"], descendants: true, static: true }, { propertyName: "hostDiv", first: true, predicate: ["hostDiv"], descendants: true }], ngImport: i0, template: "<ngt-dropdown class=\"flex w-full hover:opacity-100\" [closeOnClick]=\"closeOnClick\" [openMethod]=\"openMethod\"\n [autoYReverse]=\"false\" [reverseXPosition]=\"!placeOnLeft\" [reverseYPosition]=\"!placeOnBottom\"\n [closeTimeout]=\"closeTimeout\" (onHostClick)=\"fireClickEvent()\" #dropdownRef>\n <div #hostDiv host>\n <ng-content></ng-content>\n </div>\n\n <div class=\"bg-gray-100 text-sm rounded-lg hover:opacity-100 text-gray-800 shadow-lg -mb-4\"\n [ngClass]=\"ngtStyle.compile(stylesToCompile)\" container>\n\n <ng-content select=\"[popover-content]\"></ng-content>\n </div>\n</ngt-dropdown>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.NgtDropdownComponent, selector: "ngt-dropdown", inputs: ["scrollable", "autoXReverse", "autoYReverse", "reverseXPosition", "reverseYPosition", "closeOnClick", "closeTimeout", "openMethod"], outputs: ["onToggle", "onHostClick"] }] }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtPopoverComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'ngt-popover', template: "<ngt-dropdown class=\"flex w-full hover:opacity-100\" [closeOnClick]=\"closeOnClick\" [openMethod]=\"openMethod\"\n [autoYReverse]=\"false\" [reverseXPosition]=\"!placeOnLeft\" [reverseYPosition]=\"!placeOnBottom\"\n [closeTimeout]=\"closeTimeout\" (onHostClick)=\"fireClickEvent()\" #dropdownRef>\n <div #hostDiv host>\n <ng-content></ng-content>\n </div>\n\n <div class=\"bg-gray-100 text-sm rounded-lg hover:opacity-100 text-gray-800 shadow-lg -mb-4\"\n [ngClass]=\"ngtStyle.compile(stylesToCompile)\" container>\n\n <ng-content select=\"[popover-content]\"></ng-content>\n </div>\n</ngt-dropdown>\n" }]
|
|
53
|
-
}], ctorParameters: () => [{ type: i1.NgtStylizableDirective, decorators: [{
|
|
54
|
-
type: Optional
|
|
55
|
-
}, {
|
|
56
|
-
type: Self
|
|
57
|
-
}] }, { type: i2.NgtTranslateService, decorators: [{
|
|
58
|
-
type: Optional
|
|
59
|
-
}] }, { type: i0.Injector }], propDecorators: { dropdownRef: [{
|
|
60
|
-
type: ViewChild,
|
|
61
|
-
args: ['dropdownRef', { static: true }]
|
|
62
|
-
}], hostDiv: [{
|
|
63
|
-
type: ViewChild,
|
|
64
|
-
args: ['hostDiv']
|
|
65
|
-
}], closeTimeout: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], openMethod: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], closeOnClick: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], placeOnBottom: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], placeOnLeft: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], onClick: [{
|
|
76
|
-
type: Output
|
|
77
|
-
}] } });
|
|
78
|
-
export var NgtPopoverOpenMethod;
|
|
79
|
-
(function (NgtPopoverOpenMethod) {
|
|
80
|
-
NgtPopoverOpenMethod["CLICK"] = "CLICK";
|
|
81
|
-
NgtPopoverOpenMethod["POPOVER_CLICK"] = "POPOVER_CLICK";
|
|
82
|
-
NgtPopoverOpenMethod["RIGHT_CLICK"] = "RIGHT_CLICK";
|
|
83
|
-
NgtPopoverOpenMethod["HOVER"] = "HOVER";
|
|
84
|
-
})(NgtPopoverOpenMethod || (NgtPopoverOpenMethod = {}));
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBvcG92ZXIvbmd0LXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBvcG92ZXIvbmd0LXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQVksS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl4SCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7O0FBTzVGLE1BQU0sT0FBTyxtQkFBbUI7SUFtQjVCLFlBRVcsc0JBQThDLEVBRTlDLG1CQUF3QyxFQUN2QyxRQUFrQjtRQUhuQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRTlDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDdkMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQW5CZCxlQUFVLEdBQVcsb0JBQW9CLENBQUMsS0FBSyxDQUFDO1FBTS9DLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUkxRCxvQkFBZSxHQUFrQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBV2xKLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMxRSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRTtZQUM1QyxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxFQUFFO1lBQ1osRUFBRSxFQUFFLE1BQU07WUFDVixFQUFFLEVBQUUsTUFBTTtZQUNWLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUssRUFBRTtnQkFDSCxNQUFNLEVBQUUsaUJBQWlCO2dCQUN6QixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsRUFBRSxFQUFFLFVBQVU7YUFDakI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVwQixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUV2RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXhCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDOytHQTdEUSxtQkFBbUI7bUdBQW5CLG1CQUFtQixpY0NYaEMsbXBCQWFBOzs0RkRGYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksYUFBYTs7MEJBd0JsQixRQUFROzswQkFBSSxJQUFJOzswQkFFaEIsUUFBUTtnRUFyQnNDLFdBQVc7c0JBQTdELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDYixPQUFPO3NCQUFuQyxTQUFTO3VCQUFDLFNBQVM7Z0JBRUosWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUVVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUVXLE9BQU87c0JBQXZCLE1BQU07O0FBcURYLE1BQU0sQ0FBTixJQUFZLG9CQUtYO0FBTEQsV0FBWSxvQkFBb0I7SUFDNUIsdUNBQWUsQ0FBQTtJQUNmLHVEQUErQixDQUFBO0lBQy9CLG1EQUEyQixDQUFBO0lBQzNCLHVDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUxXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFLL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTZWxmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5ndFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL25ndC10cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndC1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuXG5leHBvcnQgY2xhc3MgTmd0UG9wb3ZlckNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25SZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgZHJvcGRvd25SZWY6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnaG9zdERpdicpIHB1YmxpYyBob3N0RGl2OiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgcHVibGljIGNsb3NlVGltZW91dDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvcGVuTWV0aG9kOiBzdHJpbmcgPSBOZ3RQb3BvdmVyT3Blbk1ldGhvZC5IT1ZFUjtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uQ2xpY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlT25Cb3R0b206IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlT25MZWZ0OiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBuZ3RTdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG5cbiAgICBwdWJsaWMgc3R5bGVzVG9Db21waWxlOiBBcnJheTxzdHJpbmc+ID0gWydoJywgJ3cnLCAncHgnLCAncHknLCAnbScsICdteCcsICdteScsICdzaGFkb3cnLCAndGV4dCcsICdib3JkZXInLCAnY29sb3IuYm9yZGVyJywgJ2NvbG9yLmJnJywgJ2NvbG9yLnRleHQnXTtcblxuICAgIHByaXZhdGUgY2xpY2tUaW1lb3V0O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpXG4gICAgICAgIHB1YmxpYyBuZ3RTdHlsaXphYmxlRGlyZWN0aXZlOiBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwdWJsaWMgbmd0VHJhbnNsYXRlU2VydmljZTogTmd0VHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSB0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUuZ2V0Tmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0UG9wb3ZlcicsIHtcbiAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXNtJyxcbiAgICAgICAgICAgIGZvbnRDYXNlOiAnJyxcbiAgICAgICAgICAgIHB5OiAncHktMycsXG4gICAgICAgICAgICBweDogJ3B4LTInLFxuICAgICAgICAgICAgYm9yZGVyOiAnYm9yZGVyJyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnYm9yZGVyLWdyYXktNDAwJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC1ibGFjaycsXG4gICAgICAgICAgICAgICAgYmc6ICdiZy13aGl0ZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaXJlQ2xpY2tFdmVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xpY2tUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jbGlja1RpbWVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGlja1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25DbGljay5lbWl0KCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1vdXNlRXZlbnQoJ2NsaWNrJywge2J1YmJsZXM6IHRydWV9KTtcblxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLmhvc3REaXYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIE5ndFBvcG92ZXJPcGVuTWV0aG9kIHtcbiAgICBDTElDSyA9ICdDTElDSycsXG4gICAgUE9QT1ZFUl9DTElDSyA9ICdQT1BPVkVSX0NMSUNLJyxcbiAgICBSSUdIVF9DTElDSyA9ICdSSUdIVF9DTElDSycsXG4gICAgSE9WRVIgPSAnSE9WRVInXG59XG4iLCI8bmd0LWRyb3Bkb3duIGNsYXNzPVwiZmxleCB3LWZ1bGwgaG92ZXI6b3BhY2l0eS0xMDBcIiBbY2xvc2VPbkNsaWNrXT1cImNsb3NlT25DbGlja1wiIFtvcGVuTWV0aG9kXT1cIm9wZW5NZXRob2RcIlxuICAgICAgICAgICAgW2F1dG9ZUmV2ZXJzZV09XCJmYWxzZVwiIFtyZXZlcnNlWFBvc2l0aW9uXT1cIiFwbGFjZU9uTGVmdFwiIFtyZXZlcnNlWVBvc2l0aW9uXT1cIiFwbGFjZU9uQm90dG9tXCJcbiAgICAgICAgICAgIFtjbG9zZVRpbWVvdXRdPVwiY2xvc2VUaW1lb3V0XCIgKG9uSG9zdENsaWNrKT1cImZpcmVDbGlja0V2ZW50KClcIiAjZHJvcGRvd25SZWY+XG4gICAgPGRpdiAjaG9zdERpdiBob3N0PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYmctZ3JheS0xMDAgdGV4dC1zbSByb3VuZGVkLWxnIGhvdmVyOm9wYWNpdHktMTAwIHRleHQtZ3JheS04MDAgc2hhZG93LWxnIC1tYi00XCJcbiAgICAgICAgW25nQ2xhc3NdPVwibmd0U3R5bGUuY29tcGlsZShzdHlsZXNUb0NvbXBpbGUpXCIgY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwb3BvdmVyLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZ3QtZHJvcGRvd24+XG4iXX0=
|