appproject-components 0.0.1 → 0.0.4

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.
@@ -7,6 +7,10 @@ import { IonicModule } from '@ionic/angular';
7
7
  import { HttpClientModule } from '@angular/common/http';
8
8
  import { AppprojectComponentsService } from './appproject-components.service';
9
9
  import { ReactiveFormsModule } from '@angular/forms';
10
+ import { InputSelectComponent } from './input-select/input-select.component';
11
+ import { InputPesquisaComponent } from './input-pesquisa/input-pesquisa.component';
12
+ import { ModelTreeviewComponent } from './model-treeview/model-treeview.component';
13
+ import { InputValorComponent } from './input-valor/input-valor.component';
10
14
  import * as i0 from "@angular/core";
11
15
  export const LibConfigService = new InjectionToken('LibConfig');
12
16
  export class AppprojectComponentsModule {
@@ -26,12 +30,20 @@ export class AppprojectComponentsModule {
26
30
  AppprojectComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppprojectComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
31
  AppprojectComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: AppprojectComponentsModule, declarations: [AppprojectComponentsComponent,
28
32
  InputTextComponent,
29
- InputFormatComponent], imports: [CommonModule,
33
+ InputFormatComponent,
34
+ InputSelectComponent,
35
+ InputPesquisaComponent,
36
+ ModelTreeviewComponent,
37
+ InputValorComponent], imports: [CommonModule,
30
38
  HttpClientModule,
31
39
  IonicModule,
32
40
  ReactiveFormsModule], exports: [AppprojectComponentsComponent,
33
41
  InputTextComponent,
34
- InputFormatComponent] });
42
+ InputFormatComponent,
43
+ InputSelectComponent,
44
+ InputPesquisaComponent,
45
+ ModelTreeviewComponent,
46
+ InputValorComponent] });
35
47
  AppprojectComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppprojectComponentsModule, imports: [CommonModule,
36
48
  HttpClientModule,
37
49
  IonicModule,
@@ -42,7 +54,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
42
54
  declarations: [
43
55
  AppprojectComponentsComponent,
44
56
  InputTextComponent,
45
- InputFormatComponent
57
+ InputFormatComponent,
58
+ InputSelectComponent,
59
+ InputPesquisaComponent,
60
+ ModelTreeviewComponent,
61
+ InputValorComponent
46
62
  ],
47
63
  imports: [
48
64
  CommonModule,
@@ -53,9 +69,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
53
69
  exports: [
54
70
  AppprojectComponentsComponent,
55
71
  InputTextComponent,
56
- InputFormatComponent
72
+ InputFormatComponent,
73
+ InputSelectComponent,
74
+ InputPesquisaComponent,
75
+ ModelTreeviewComponent,
76
+ InputValorComponent
57
77
  ],
58
78
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
59
79
  }]
60
80
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcHJvamVjdC1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2FwcHByb2plY3QtY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3JELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0FBcUIzRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBaUI7UUFDOUIsT0FBTztZQUNMLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsU0FBUyxFQUFFO2dCQUNULDJCQUEyQjtnQkFDM0I7b0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtvQkFDekIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFBO0lBQ0gsQ0FBQzs7dUhBWlUsMEJBQTBCO3dIQUExQiwwQkFBMEIsaUJBakJuQyw2QkFBNkI7UUFDN0Isa0JBQWtCO1FBQ2xCLG9CQUFvQixhQUdwQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxtQkFBbUIsYUFHbkIsNkJBQTZCO1FBQzdCLGtCQUFrQjtRQUNsQixvQkFBb0I7d0hBSVgsMEJBQTBCLFlBWm5DLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjsyRkFTViwwQkFBMEI7a0JBbkJ0QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiw2QkFBNkI7d0JBQzdCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBwcm9qZWN0Q29tcG9uZW50c0NvbXBvbmVudCB9IGZyb20gJy4vYXBwcHJvamVjdC1jb21wb25lbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRGb3JtYXRDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWZvcm1hdC9pbnB1dC1mb3JtYXQuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFwcHByb2plY3RDb21wb25lbnRzU2VydmljZSB9IGZyb20gJy4vYXBwcHJvamVjdC1jb21wb25lbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIExpYkNvbmZpZyB7XG4gIGFwaVVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgTGliQ29uZmlnU2VydmljZSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMaWJDb25maWc+KCdMaWJDb25maWcnKTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXBwcHJvamVjdENvbXBvbmVudHNDb21wb25lbnQsXG4gICAgSW5wdXRUZXh0Q29tcG9uZW50LFxuICAgIElucHV0Rm9ybWF0Q29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBcHBwcm9qZWN0Q29tcG9uZW50c0NvbXBvbmVudCxcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXG4gICAgSW5wdXRGb3JtYXRDb21wb25lbnRcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIEFwcHByb2plY3RDb21wb25lbnRzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBMaWJDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcHByb2plY3RDb21wb25lbnRzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBcHBwcm9qZWN0Q29tcG9uZW50c01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBcHBwcm9qZWN0Q29tcG9uZW50c1NlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBMaWJDb25maWdTZXJ2aWNlLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcHJvamVjdC1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2FwcHByb2plY3QtY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTzFFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0FBNkIzRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBaUI7UUFDOUIsT0FBTztZQUNMLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsU0FBUyxFQUFFO2dCQUNULDJCQUEyQjtnQkFDM0I7b0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtvQkFDekIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFBO0lBQ0gsQ0FBQzs7dUhBWlUsMEJBQTBCO3dIQUExQiwwQkFBMEIsaUJBekJuQyw2QkFBNkI7UUFDN0Isa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixtQkFBbUIsYUFHbkIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsbUJBQW1CLGFBR25CLDZCQUE2QjtRQUM3QixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLG1CQUFtQjt3SEFJViwwQkFBMEIsWUFoQm5DLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjsyRkFhViwwQkFBMEI7a0JBM0J0QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiw2QkFBNkI7d0JBQzdCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCw2QkFBNkI7d0JBQzdCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEluamVjdGlvblRva2VuLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwcHJvamVjdENvbXBvbmVudHNDb21wb25lbnQgfSBmcm9tICcuL2FwcHByb2plY3QtY29tcG9uZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Rm9ybWF0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1mb3JtYXQvaW5wdXQtZm9ybWF0LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBcHBwcm9qZWN0Q29tcG9uZW50c1NlcnZpY2UgfSBmcm9tICcuL2FwcHByb2plY3QtY29tcG9uZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRQZXNxdWlzYUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtcGVzcXVpc2EvaW5wdXQtcGVzcXVpc2EuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsVHJlZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL21vZGVsLXRyZWV2aWV3L21vZGVsLXRyZWV2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dFZhbG9yQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC12YWxvci9pbnB1dC12YWxvci5jb21wb25lbnQnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGliQ29uZmlnIHtcbiAgYXBpVXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBMaWJDb25maWdTZXJ2aWNlID0gbmV3IEluamVjdGlvblRva2VuPExpYkNvbmZpZz4oJ0xpYkNvbmZpZycpO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcHBwcm9qZWN0Q29tcG9uZW50c0NvbXBvbmVudCxcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXG4gICAgSW5wdXRGb3JtYXRDb21wb25lbnQsXG4gICAgSW5wdXRTZWxlY3RDb21wb25lbnQsXG4gICAgSW5wdXRQZXNxdWlzYUNvbXBvbmVudCxcbiAgICBNb2RlbFRyZWV2aWV3Q29tcG9uZW50LFxuICAgIElucHV0VmFsb3JDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFwcHByb2plY3RDb21wb25lbnRzQ29tcG9uZW50LFxuICAgIElucHV0VGV4dENvbXBvbmVudCxcbiAgICBJbnB1dEZvcm1hdENvbXBvbmVudCxcbiAgICBJbnB1dFNlbGVjdENvbXBvbmVudCxcbiAgICBJbnB1dFBlc3F1aXNhQ29tcG9uZW50LFxuICAgIE1vZGVsVHJlZXZpZXdDb21wb25lbnQsXG4gICAgSW5wdXRWYWxvckNvbXBvbmVudFxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgQXBwcHJvamVjdENvbXBvbmVudHNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IExpYkNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXBwcHJvamVjdENvbXBvbmVudHNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFwcHByb2plY3RDb21wb25lbnRzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEFwcHByb2plY3RDb21wb25lbnRzU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IExpYkNvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,14 +1,129 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BaseInputComponent } from '../baseInputComponent';
2
4
  import * as i0 from "@angular/core";
3
- export class InputFormatComponent {
4
- constructor() { }
5
- ngOnInit() {
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@ionic/angular";
7
+ export class InputFormatComponent extends BaseInputComponent {
8
+ constructor() {
9
+ super();
10
+ this.formato = null;
11
+ this.keyEnter = null;
12
+ //control value acessor
13
+ this.data = null;
14
+ this.onChange = (data) => { };
15
+ this.onTouch = () => { };
16
+ this.disabled = false;
17
+ this.console = console;
18
+ }
19
+ writeValue(value) {
20
+ //console.log('write value', value);
21
+ this.onChange(value);
22
+ this.data = value;
23
+ }
24
+ registerOnChange(fn) {
25
+ this.onChange = fn;
26
+ }
27
+ registerOnTouched(fn) {
28
+ this.onTouch = fn;
29
+ }
30
+ setDisabledState(isDisabled) {
31
+ this.disabled = this.disabled;
32
+ }
33
+ ngOnInit() { }
34
+ digitarFormatado(event) {
35
+ console.log(event);
36
+ if ((event.keyCode >= 48 && event.keyCode <= 57)
37
+ || (event.keyCode >= 96 && event.keyCode <= 105)
38
+ || (event.keyCode == 8)
39
+ || (event.keyCode == 9)
40
+ || (event.keyCode == 39)
41
+ || (event.keyCode == 37)
42
+ || (event.keyCode == 46)) {
43
+ //console.log(this.formControlName, this.form.get(this.formControlName).value);
44
+ setTimeout(() => {
45
+ if (this.form) {
46
+ this.form.patchValue({
47
+ [this.formControlName]: this.formataCampoValor(this.form.get(this.formControlName)?.value, this.formato ?? '', event)
48
+ });
49
+ }
50
+ else {
51
+ this.data = this.formataCampoValor(this.data ?? '', this.formato ?? '', event);
52
+ this.writeValue(this.data);
53
+ }
54
+ }, 100);
55
+ return true;
56
+ }
57
+ else {
58
+ return false;
59
+ }
60
+ }
61
+ onKeyEnter() {
62
+ if (this.keyEnter != null) {
63
+ this.keyEnter();
64
+ }
65
+ }
66
+ onBlur() {
67
+ if (this.form) {
68
+ this.form.get(this.formControlName)?.markAsTouched();
69
+ }
70
+ if (this.blur) {
71
+ this.blur(this.blurArgs);
72
+ }
73
+ }
74
+ formataCampoValor(valor, Mascara, evento) {
75
+ console.log(valor);
76
+ if (!valor)
77
+ return null;
78
+ //console.log(evento);
79
+ //if (!this.keypressInteiro(evento))
80
+ // return;
81
+ var boleanoMascara;
82
+ var Digitato = evento != null ? evento.keyCode : 0;
83
+ let exp = /\-|\.|\/|\(|\)| /g;
84
+ let campoSoNumeros = valor.replace(exp, "");
85
+ var posicaoCampo = 0;
86
+ var NovoValorCampo = "";
87
+ var TamanhoMascara = campoSoNumeros.length;
88
+ ;
89
+ if (Digitato != 8) { // backspace
90
+ for (let i = 0; i <= TamanhoMascara; i++) {
91
+ boleanoMascara = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
92
+ || (Mascara.charAt(i) == "/"));
93
+ boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == "(")
94
+ || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "));
95
+ if (boleanoMascara) {
96
+ NovoValorCampo += Mascara.charAt(i);
97
+ TamanhoMascara++;
98
+ }
99
+ else {
100
+ NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
101
+ posicaoCampo++;
102
+ }
103
+ }
104
+ return NovoValorCampo;
105
+ }
106
+ else {
107
+ return valor;
108
+ }
6
109
  }
7
110
  }
8
111
  InputFormatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: InputFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- InputFormatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: InputFormatComponent, selector: "kb-input-format", ngImport: i0, template: "<p>input-format works!</p>\n", styles: [""] });
112
+ InputFormatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: InputFormatComponent, selector: "kb-input-format", inputs: { formato: "formato", keyEnter: "keyEnter" }, providers: [{
113
+ provide: NG_VALUE_ACCESSOR,
114
+ useExisting: InputFormatComponent,
115
+ multi: true
116
+ }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\"\n [disabled]=\"readonly\"></ion-input>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: ["@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:red!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid red!important}.has-focus{border:1px solid var(--ion-color-bluetool)}ion-label{margin-bottom:4px!important}ion-input{padding:4px;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:29px}.error-message{font-size:small;color:red;margin-left:15px}.item-inner{padding-right:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
10
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: InputFormatComponent, decorators: [{
11
118
  type: Component,
12
- args: [{ selector: 'kb-input-format', template: "<p>input-format works!</p>\n" }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWZvcm1hdC9pbnB1dC1mb3JtYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtZm9ybWF0L2lucHV0LWZvcm1hdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU9sRCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOztpSEFMVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix1RENQakMsOEJBQ0E7MkZETWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tiLWlucHV0LWZvcm1hdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1mb3JtYXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1mb3JtYXQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Rm9ybWF0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxwPmlucHV0LWZvcm1hdCB3b3JrcyE8L3A+XG4iXX0=
119
+ args: [{ selector: 'kb-input-format', providers: [{
120
+ provide: NG_VALUE_ACCESSOR,
121
+ useExisting: InputFormatComponent,
122
+ multi: true
123
+ }], template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\"\n [disabled]=\"readonly\"></ion-input>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: ["@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:red!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid red!important}.has-focus{border:1px solid var(--ion-color-bluetool)}ion-label{margin-bottom:4px!important}ion-input{padding:4px;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:29px}.error-message{font-size:small;color:red;margin-left:15px}.item-inner{padding-right:0!important}\n"] }]
124
+ }], ctorParameters: function () { return []; }, propDecorators: { formato: [{
125
+ type: Input
126
+ }], keyEnter: [{
127
+ type: Input
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWZvcm1hdC9pbnB1dC1mb3JtYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtZm9ybWF0L2lucHV0LWZvcm1hdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFZM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQTJCMUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTFCRCxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixhQUFRLEdBQW9CLElBQUksQ0FBQztRQUUxQyx1QkFBdUI7UUFDaEIsU0FBSSxHQUFpQixJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFhLENBQUMsSUFBWSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUMsWUFBTyxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxPQUFPLENBQUM7SUFtQnpCLENBQUM7SUFqQkQsVUFBVSxDQUFDLEtBQW1CO1FBQzVCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQU1RLFFBQVEsS0FBSyxDQUFDO0lBRXZCLGdCQUFnQixDQUFDLEtBQVU7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7ZUFDNUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQztlQUM3QyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO2VBQ3BCLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7ZUFDcEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztlQUNyQixDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2VBQ3JCLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBRTtZQUV6QiwrRUFBK0U7WUFFL0UsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7d0JBQ25CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQztxQkFDdEgsQ0FBQyxDQUFDO2lCQUNKO3FCQUFNO29CQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUMvRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUI7WUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFUixPQUFPLElBQUksQ0FBQztTQUNiO2FBQ0k7WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxNQUFXO1FBQzNELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUs7WUFDUixPQUFPLElBQUksQ0FBQztRQUNkLHNCQUFzQjtRQUV0QixvQ0FBb0M7UUFDcEMsV0FBVztRQUVYLElBQUksY0FBYyxDQUFDO1FBRW5CLElBQUksUUFBUSxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLEdBQUcsR0FBRyxtQkFBbUIsQ0FBQTtRQUM3QixJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU1QyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFBQSxDQUFDO1FBRTVDLElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxFQUFFLGFBQWE7WUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDeEMsY0FBYyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUM7dUJBQ3JFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUNoQyxjQUFjLEdBQUcsY0FBYyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQzt1QkFDekQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUM5RCxJQUFJLGNBQWMsRUFBRTtvQkFDbEIsY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BDLGNBQWMsRUFBRSxDQUFDO2lCQUNsQjtxQkFBTTtvQkFDTCxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDdEQsWUFBWSxFQUFFLENBQUM7aUJBQ2hCO2FBQ0Y7WUFDRCxPQUFPLGNBQWMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2lIQW5IVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixnR0FOcEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsaURDWkosazBDQStCUTsyRkRqQkssb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzBFQUlPLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlSW5wdXRDb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1mb3JtYXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5wdXRGb3JtYXRDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGb3JtYXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBmb3JtYXRvOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkga2V5RW50ZXI6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIFxuICAvL2NvbnRyb2wgdmFsdWUgYWNlc3NvclxuICBwdWJsaWMgZGF0YTogc3RyaW5nIHwgYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjb25zb2xlID0gY29uc29sZTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyBcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7IH1cblxuICBkaWdpdGFyRm9ybWF0YWRvKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgaWYgKChldmVudC5rZXlDb2RlID49IDQ4ICYmIGV2ZW50LmtleUNvZGUgPD0gNTcpXG4gICAgIHx8IChldmVudC5rZXlDb2RlID49IDk2ICYmIGV2ZW50LmtleUNvZGUgPD0gMTA1KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA4KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA5KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSAzOSlcbiAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzcpIFxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA0NikpIHtcblxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLmZvcm1Db250cm9sTmFtZSwgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkudmFsdWUpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZV06IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/LnZhbHVlLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5kYXRhID8/ICcnLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KTtcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gICAgICAgIFxuICB9XG5cbiAgb25LZXlFbnRlcigpIHtcbiAgICBpZiAodGhpcy5rZXlFbnRlciAhPSBudWxsKSB7XG4gICAgICB0aGlzLmtleUVudGVyKCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJsdXIpIHtcbiAgICAgIHRoaXMuYmx1cih0aGlzLmJsdXJBcmdzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRhQ2FtcG9WYWxvcih2YWxvcjogc3RyaW5nLCBNYXNjYXJhOiBzdHJpbmcsIGV2ZW50bzogYW55KSB7XG4gICAgY29uc29sZS5sb2codmFsb3IpO1xuICAgIGlmICghdmFsb3IpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICAvL2NvbnNvbGUubG9nKGV2ZW50byk7XG5cbiAgICAvL2lmICghdGhpcy5rZXlwcmVzc0ludGVpcm8oZXZlbnRvKSlcbiAgICAvLyAgcmV0dXJuO1xuXG4gICAgdmFyIGJvbGVhbm9NYXNjYXJhO1xuXG4gICAgdmFyIERpZ2l0YXRvID0gZXZlbnRvICE9IG51bGwgPyBldmVudG8ua2V5Q29kZSA6IDA7XG4gICAgbGV0IGV4cCA9IC9cXC18XFwufFxcL3xcXCh8XFwpfCAvZ1xuICAgIGxldCBjYW1wb1NvTnVtZXJvcyA9IHZhbG9yLnJlcGxhY2UoZXhwLCBcIlwiKTtcblxuICAgIHZhciBwb3NpY2FvQ2FtcG8gPSAwO1xuICAgIHZhciBOb3ZvVmFsb3JDYW1wbyA9IFwiXCI7XG4gICAgdmFyIFRhbWFuaG9NYXNjYXJhID0gY2FtcG9Tb051bWVyb3MubGVuZ3RoOztcblxuICAgIGlmIChEaWdpdGF0byAhPSA4KSB7IC8vIGJhY2tzcGFjZSBcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IFRhbWFuaG9NYXNjYXJhOyBpKyspIHtcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLVwiKSB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIuXCIpXG4gICAgICAgICAgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiL1wiKSlcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSBib2xlYW5vTWFzY2FyYSB8fCAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiKFwiKVxuICAgICAgICAgIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIilcIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiIFwiKSlcbiAgICAgICAgaWYgKGJvbGVhbm9NYXNjYXJhKSB7XG4gICAgICAgICAgTm92b1ZhbG9yQ2FtcG8gKz0gTWFzY2FyYS5jaGFyQXQoaSk7XG4gICAgICAgICAgVGFtYW5ob01hc2NhcmErKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBOb3ZvVmFsb3JDYW1wbyArPSBjYW1wb1NvTnVtZXJvcy5jaGFyQXQocG9zaWNhb0NhbXBvKTtcbiAgICAgICAgICBwb3NpY2FvQ2FtcG8rKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIE5vdm9WYWxvckNhbXBvO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsb3I7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuLS0+XG48IS0tY29tYW5kbyAtLWlubmVyLXBhZGRpbmctZW5kOiB1dGlsaXphZG8gcHJhIHJlbW92ZXIgcGFkZGluZyBkZXNuZWNlc3PDoXJpb3MtLT5cbjxkaXY+XG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiBpbmhlcml0ZWQ7LS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHRyYW5zcGFyZW50Oy0taW5uZXItcGFkZGluZy1lbmQ6IDBweDtcIlxuICAgIFtuZ0NsYXNzXT1cImZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5lcnJvcnMgJiYgKGZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZCkgPyAnZXJyb3Itc2hha2UnIDogJycgXCJcbiAgICA+XG4gICAgICA8aW9uLWxhYmVsIFtwb3NpdGlvbl09XCJsYWJlbFBvc2l0aW9uXCI+e3sgbGFiZWwgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwhLS0gZm9ybUNvbnRyb2xOYW1lPXt7Zm9ybUNvbnRyb2xOYW1lfX0gLS0+XG4gICAgICA8aW9uLWlucHV0ICNpbnB1dEZvcm1hdFxuICAgICAgdHlwZT1cInRlbFwiIFxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIG1heGxlbmd0aD1cInt7IG1heCB9fVwiIFxuICAgICAgKGtleWRvd24pPVwiZGlnaXRhckZvcm1hdGFkbygkZXZlbnQpXCIgXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25LZXlFbnRlcigpXCJcbiAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcbiAgICAgIFt2YWx1ZV09XCJkYXRhXCJcbiAgICAgIChpbnB1dCk9XCJ3cml0ZVZhbHVlKGlucHV0Rm9ybWF0LnZhbHVlKVwiXG4gICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIj48L2lvbi1pbnB1dD5cbiAgXG4gICAgPC9pb24taXRlbT5cbiAgXG4gICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JzXCIgKm5nSWY9XCJmb3JtXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0aW9uIG9mIHZhbGlkYXRpb25fbWVzc2FnZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICpuZ0lmPVwiZm9ybSAmJiBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLnR5cGUpICYmIChmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKVwiPlxuICAgICAgICAgICYjODIyNjsge3sgdmFsaWRhdGlvbi5tZXNzYWdlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PiJdfQ==