ngx-sp-infra 0.3.75 → 0.3.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/infra.module.mjs +13 -4
- package/esm2022/lib/models/combobox/record-combobox.mjs +15 -0
- package/esm2022/lib/widgets/ordering/ordering.component.mjs +4 -3
- package/esm2022/lib/widgets/search-combobox/search-combobox.component.mjs +134 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ngx-sp-infra.mjs +140 -5
- package/fesm2022/ngx-sp-infra.mjs.map +1 -1
- package/lib/infra.module.d.ts +8 -6
- package/lib/models/combobox/record-combobox.d.ts +15 -0
- package/lib/widgets/search-combobox/search-combobox.component.d.ts +87 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -25,9 +25,12 @@ import { LimitToPipe } from './widgets/combobox/pipes/limit-to.pipe';
|
|
|
25
25
|
import { SearchTreePipe } from './widgets/tree/pipes/search-tree.pipe';
|
|
26
26
|
import { ClickOutsideDirective } from './widgets/click-outside/clickoutside.directive';
|
|
27
27
|
import { OrderingComponent } from './widgets/ordering/ordering.component';
|
|
28
|
+
import { SearchComboboxComponent } from './widgets/search-combobox/search-combobox.component';
|
|
29
|
+
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
28
30
|
import * as i0 from "@angular/core";
|
|
29
31
|
import * as i1 from "ngx-bootstrap/modal";
|
|
30
32
|
import * as i2 from "ngx-bootstrap/accordion";
|
|
33
|
+
import * as i3 from "ngx-bootstrap/tooltip";
|
|
31
34
|
export class InfraModule {
|
|
32
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InfraModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
33
36
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: InfraModule, declarations: [LoadingComponent,
|
|
@@ -50,7 +53,8 @@ export class InfraModule {
|
|
|
50
53
|
LimitToPipe,
|
|
51
54
|
SearchTreePipe,
|
|
52
55
|
ClickOutsideDirective,
|
|
53
|
-
OrderingComponent
|
|
56
|
+
OrderingComponent,
|
|
57
|
+
SearchComboboxComponent], imports: [CommonModule, i1.ModalModule, i2.AccordionModule, i3.TooltipModule, FormsModule,
|
|
54
58
|
ReactiveFormsModule,
|
|
55
59
|
RouterModule], exports: [LoadingComponent,
|
|
56
60
|
FieldControlErrorComponent,
|
|
@@ -69,10 +73,12 @@ export class InfraModule {
|
|
|
69
73
|
ToUrlPipe,
|
|
70
74
|
CpfCnpjPipe,
|
|
71
75
|
ClickOutsideDirective,
|
|
72
|
-
OrderingComponent
|
|
76
|
+
OrderingComponent,
|
|
77
|
+
SearchComboboxComponent] }); }
|
|
73
78
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InfraModule, imports: [CommonModule,
|
|
74
79
|
ModalModule.forRoot(),
|
|
75
80
|
AccordionModule.forRoot(),
|
|
81
|
+
TooltipModule.forRoot(),
|
|
76
82
|
FormsModule,
|
|
77
83
|
ReactiveFormsModule,
|
|
78
84
|
RouterModule] }); }
|
|
@@ -101,12 +107,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
101
107
|
LimitToPipe,
|
|
102
108
|
SearchTreePipe,
|
|
103
109
|
ClickOutsideDirective,
|
|
104
|
-
OrderingComponent
|
|
110
|
+
OrderingComponent,
|
|
111
|
+
SearchComboboxComponent
|
|
105
112
|
],
|
|
106
113
|
imports: [
|
|
107
114
|
CommonModule,
|
|
108
115
|
ModalModule.forRoot(),
|
|
109
116
|
AccordionModule.forRoot(),
|
|
117
|
+
TooltipModule.forRoot(),
|
|
110
118
|
FormsModule,
|
|
111
119
|
ReactiveFormsModule,
|
|
112
120
|
RouterModule
|
|
@@ -130,8 +138,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
130
138
|
CpfCnpjPipe,
|
|
131
139
|
ClickOutsideDirective,
|
|
132
140
|
OrderingComponent,
|
|
141
|
+
SearchComboboxComponent
|
|
133
142
|
],
|
|
134
143
|
providers: [],
|
|
135
144
|
}]
|
|
136
145
|
}] });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvaW5mcmEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzFILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUEyRHRELE1BQU0sT0FBTyxXQUFXOytHQUFYLFdBQVc7Z0hBQVgsV0FBVyxpQkF2RHBCLGdCQUFnQjtZQUNoQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1QixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsU0FBUztZQUNULFdBQVc7WUFDWCxZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHVCQUF1QixhQUd2QixZQUFZLHdEQUlaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWSxhQUdaLGdCQUFnQjtZQUNoQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1QixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsU0FBUztZQUNULFdBQVc7WUFDWCxxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtnSEFJZCxXQUFXLFlBL0JwQixZQUFZO1lBQ1osV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUNyQixlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ3pCLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZOzs0RkF5QkgsV0FBVztrQkF6RHZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixTQUFTO3dCQUNULFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVyxDQUFDLE9BQU8sRUFBRTt3QkFDckIsZUFBZSxDQUFDLE9BQU8sRUFBRTt3QkFDekIsYUFBYSxDQUFDLE9BQU8sRUFBRTt3QkFDdkIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixTQUFTO3dCQUNULFdBQVc7d0JBQ1gscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEFjY29yZGlvbk1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvYWNjb3JkaW9uJztcclxuaW1wb3J0IHsgTW9kYWxNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcclxuXHJcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UvY29uZmlybS9jb25maXJtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS9jb25maXJtLW1vZGFsL2NvbmZpcm0tbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2F2ZUNvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS9zYXZlL3NhdmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mcmFCcmVhZGNydW1iSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9icmVhZGNydW1iL2luZnJhLWJyZWFkY3J1bWItaXRlbS9pbmZyYS1icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mcmFCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL2JyZWFkY3J1bWIvaW5mcmEtYnJlYWRjcnVtYi9pbmZyYS1icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvYnJlYWRjcnVtYi9wb3J0YWxyaC1icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tYm9ib3hDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmllbGRDb250cm9sRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvZmllbGQtY29udHJvbC1lcnJvci9maWVsZC1jb250cm9sLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpZWxkRXJyb3JNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL2ZpZWxkLWVycm9yLW1lc3NhZ2UvZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2FkaW5nQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL2xvYWRpbmctYnV0dG9uL2xvYWRpbmctYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvdHJlZS90cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN2Z1N0b3JhZ2VDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvc3ZnLXN0b3JhZ2Uvc3ZnLXN0b3JhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9VcmxQaXBlIH0gZnJvbSAnLi9waXBlcy90by11cmwucGlwZSc7XHJcbmltcG9ydCB7IENwZkNucGpQaXBlIH0gZnJvbSAnLi9waXBlcy9jcGYtY25wai5waXBlJztcclxuaW1wb3J0IHsgRmlsdGVyQnlQaXBlIH0gZnJvbSAnLi93aWRnZXRzL2NvbWJvYm94L3BpcGVzL2ZpbHRlci1ieS5waXBlJztcclxuaW1wb3J0IHsgTGltaXRUb1BpcGUgfSBmcm9tICcuL3dpZGdldHMvY29tYm9ib3gvcGlwZXMvbGltaXQtdG8ucGlwZSc7XHJcbmltcG9ydCB7IFNlYXJjaFRyZWVQaXBlIH0gZnJvbSAnLi93aWRnZXRzL3RyZWUvcGlwZXMvc2VhcmNoLXRyZWUucGlwZSc7XHJcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4vd2lkZ2V0cy9jbGljay1vdXRzaWRlL2NsaWNrb3V0c2lkZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPcmRlcmluZ0NvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9vcmRlcmluZy9vcmRlcmluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hDb21ib2JveENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9zZWFyY2gtY29tYm9ib3gvc2VhcmNoLWNvbWJvYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExvYWRpbmdDb21wb25lbnQsXHJcbiAgICBGaWVsZENvbnRyb2xFcnJvckNvbXBvbmVudCxcclxuICAgIEZpZWxkRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgTG9hZGluZ0J1dHRvbkNvbXBvbmVudCxcclxuICAgIEFsZXJ0Q29tcG9uZW50LFxyXG4gICAgQ29uZmlybUNvbXBvbmVudCxcclxuICAgIENvbmZpcm1Nb2RhbENvbXBvbmVudCxcclxuICAgIFNhdmVDb21wb25lbnQsXHJcbiAgICBJbmZyYUJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgICBJbmZyYUJyZWFkY3J1bWJJdGVtQ29tcG9uZW50LFxyXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcclxuICAgIENvbWJvYm94Q29tcG9uZW50LFxyXG4gICAgU3ZnU3RvcmFnZUNvbXBvbmVudCxcclxuICAgIFRyZWVDb21wb25lbnQsXHJcbiAgICBUb1VybFBpcGUsXHJcbiAgICBDcGZDbnBqUGlwZSxcclxuICAgIEZpbHRlckJ5UGlwZSxcclxuICAgIExpbWl0VG9QaXBlLFxyXG4gICAgU2VhcmNoVHJlZVBpcGUsXHJcbiAgICBDbGlja091dHNpZGVEaXJlY3RpdmUsXHJcbiAgICBPcmRlcmluZ0NvbXBvbmVudCxcclxuICAgIFNlYXJjaENvbWJvYm94Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNb2RhbE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBBY2NvcmRpb25Nb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgVG9vbHRpcE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIExvYWRpbmdDb21wb25lbnQsXHJcbiAgICBGaWVsZENvbnRyb2xFcnJvckNvbXBvbmVudCxcclxuICAgIEZpZWxkRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgTG9hZGluZ0J1dHRvbkNvbXBvbmVudCxcclxuICAgIEFsZXJ0Q29tcG9uZW50LFxyXG4gICAgQ29uZmlybUNvbXBvbmVudCxcclxuICAgIENvbmZpcm1Nb2RhbENvbXBvbmVudCxcclxuICAgIFNhdmVDb21wb25lbnQsXHJcbiAgICBJbmZyYUJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgICBJbmZyYUJyZWFkY3J1bWJJdGVtQ29tcG9uZW50LFxyXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcclxuICAgIENvbWJvYm94Q29tcG9uZW50LFxyXG4gICAgU3ZnU3RvcmFnZUNvbXBvbmVudCxcclxuICAgIFRyZWVDb21wb25lbnQsXHJcbiAgICBUb1VybFBpcGUsXHJcbiAgICBDcGZDbnBqUGlwZSxcclxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcclxuICAgIE9yZGVyaW5nQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoQ29tYm9ib3hDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZyYU1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class RecordCombobox {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.ID = 0;
|
|
4
|
+
this.LABEL = "";
|
|
5
|
+
this.AdditionalStringProperty1 = "";
|
|
6
|
+
this.AdditionalStringProperty2 = "";
|
|
7
|
+
this.AdditionalLongProperty1 = 0;
|
|
8
|
+
this.AdditionalLongProperty2 = 0;
|
|
9
|
+
this.AdditionalBooleanProperty1 = false;
|
|
10
|
+
this.AdditionalBooleanProperty2 = false;
|
|
11
|
+
this.IS_SELECTED = false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
// #endregion Interface IRecordsCombobox
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWNvbWJvYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvbW9kZWxzL2NvbWJvYm94L3JlY29yZC1jb21ib2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNXLE9BQUUsR0FBb0IsQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsOEJBQXlCLEdBQVksRUFBRSxDQUFDO1FBQ3hDLDhCQUF5QixHQUFZLEVBQUUsQ0FBQztRQUN4Qyw0QkFBdUIsR0FBWSxDQUFDLENBQUM7UUFDckMsNEJBQXVCLEdBQVksQ0FBQyxDQUFDO1FBQ3JDLCtCQUEwQixHQUFhLEtBQUssQ0FBQztRQUM3QywrQkFBMEIsR0FBYSxLQUFLLENBQUM7UUFFN0MsZ0JBQVcsR0FBb0IsS0FBSyxDQUFDO0lBQ2hELENBQUM7Q0FBQTtBQVFELHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSZWNvcmRDb21ib2JveCBpbXBsZW1lbnRzIElSZWNvcmRzQ29tYm9ib3gge1xyXG4gICAgcHVibGljIElEOiBzdHJpbmcgfCBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIExBQkVMOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIHB1YmxpYyBBZGRpdGlvbmFsU3RyaW5nUHJvcGVydHkxPzogc3RyaW5nID0gXCJcIjtcclxuICAgIHB1YmxpYyBBZGRpdGlvbmFsU3RyaW5nUHJvcGVydHkyPzogc3RyaW5nID0gXCJcIjtcclxuICAgIHB1YmxpYyBBZGRpdGlvbmFsTG9uZ1Byb3BlcnR5MT86IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgQWRkaXRpb25hbExvbmdQcm9wZXJ0eTI/OiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIEFkZGl0aW9uYWxCb29sZWFuUHJvcGVydHkxPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIEFkZGl0aW9uYWxCb29sZWFuUHJvcGVydHkyPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBJU19TRUxFQ1RFRD86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbn1cclxuXHJcblxyXG4vLyAjcmVnaW9uIEludGVyZmFjZSBJUmVjb3Jkc0NvbWJvYm94XHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlY29yZHNDb21ib2JveCB7XHJcbiAgICBJRDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgTEFCRUw6IHN0cmluZztcclxufVxyXG4vLyAjZW5kcmVnaW9uIEludGVyZmFjZSBJUmVjb3Jkc0NvbWJvYm94Il19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "
|
|
4
|
+
import * as i2 from "ngx-bootstrap/tooltip";
|
|
5
|
+
import * as i3 from "../svg-storage/svg-storage.component";
|
|
5
6
|
export class OrderingComponent {
|
|
6
7
|
// Função chamada quando o botão de ordenação é clicado
|
|
7
8
|
sort() {
|
|
@@ -37,7 +38,7 @@ export class OrderingComponent {
|
|
|
37
38
|
this.sortDirection = '';
|
|
38
39
|
}
|
|
39
40
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OrderingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: OrderingComponent, selector: "app-ordering", inputs: { isColumnClicked: "isColumnClicked", sortDirection: "sortDirection", sortAttributes: "sortAttributes" }, outputs: { sortDirectionChange: "sortDirectionChange", sortChange: "sortChange" }, ngImport: i0, template: "<ng-template [ngIf]=\"sortDirection !== 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-up'\"\n [class.rotate]=\"sortDirection !== ''\"\n [svgColor]=\"getSvgColor()\"\n tooltip=\"'Ascendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Ascendente -->\n</ng-template>\n\n<ng-template [ngIf]=\"sortDirection === 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-down'\"\n [class.rotate]=\"true\"\n [svgColor]=\"'blue'\"\n tooltip=\"'Descendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Descendente -->\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: OrderingComponent, selector: "app-ordering", inputs: { isColumnClicked: "isColumnClicked", sortDirection: "sortDirection", sortAttributes: "sortAttributes" }, outputs: { sortDirectionChange: "sortDirectionChange", sortChange: "sortChange" }, ngImport: i0, template: "<ng-template [ngIf]=\"sortDirection !== 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-up'\"\n [class.rotate]=\"sortDirection !== ''\"\n [svgColor]=\"getSvgColor()\"\n tooltip=\"'Ascendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Ascendente -->\n</ng-template>\n\n<ng-template [ngIf]=\"sortDirection === 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-down'\"\n [class.rotate]=\"true\"\n [svgColor]=\"'blue'\"\n tooltip=\"'Descendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Descendente -->\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: i3.SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }] }); }
|
|
41
42
|
}
|
|
42
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OrderingComponent, decorators: [{
|
|
43
44
|
type: Component,
|
|
@@ -53,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
53
54
|
}], sortChange: [{
|
|
54
55
|
type: Output
|
|
55
56
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy9vcmRlcmluZy9vcmRlcmluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL29yZGVyaW5nL29yZGVyaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTy9FLE1BQU0sT0FBTyxpQkFBaUI7SUFlNUIsdURBQXVEO0lBQ3ZELElBQUk7UUFDRix1Q0FBdUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRCxtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDN0QsQ0FBQztJQUVEO1FBbENTLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQzFDLHNEQUFzRDtRQUM3QyxrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUVwQyx5QkFBeUI7UUFDaEIsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO1FBRWhELDBEQUEwRDtRQUNoRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTNELHdEQUF3RDtRQUM5QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW9ELENBQUM7SUF1QjdFLENBQUM7SUFFaEIsUUFBUTtRQUNOLG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQXpDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQix5UENQOUIsaXBCQXVCQTs7NEZEaEJhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjO3dEQU1mLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFHRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtb3JkZXJpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXJpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmRlcmluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBpc0NvbHVtbkNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gRGlyZcOnw6NvIGF0dWFsIGRhIG9yZGVuYcOnw6NvICgnYXNjJywgJ2Rlc2MnIG91IHZhemlvKVxuICBASW5wdXQoKSBzb3J0RGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcblxuICAvLyBBdHJpYnV0b3MgZGUgb3JkZW5hw6fDo29cbiAgQElucHV0KCkgc29ydEF0dHJpYnV0ZXM6IHN0cmluZyB8IHN0cmluZ1tdID0gW107XG5cbiAgLy8gRXZlbnRvIGVtaXRpZG8gcXVhbmRvIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIMOpIGFsdGVyYWRhXG4gIEBPdXRwdXQoKSBzb3J0RGlyZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLy8gRXZlbnRvIGVtaXRpZG8gcXVhbmRvIG9jb3JyZSB1bWEgbXVkYW7Dp2EgbmEgb3JkZW5hw6fDo29cbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZGlyZWN0aW9uOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nIHwgc3RyaW5nW10gfT4oKTtcblxuICAvLyBGdW7Dp8OjbyBjaGFtYWRhIHF1YW5kbyBvIGJvdMOjbyBkZSBvcmRlbmHDp8OjbyDDqSBjbGljYWRvXG4gIHNvcnQoKSB7XG4gICAgLy8gSW52ZXJ0ZSBhIGRpcmXDp8OjbyBkZSBvcmRlbmHDp8OjbyBhdHVhbFxuICAgIGlmICh0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSAnZGVzYyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9ICdhc2MnO1xuICAgIH1cblxuICAgIC8vIEVtaXRlIG8gZXZlbnRvIGNvbSBhIG5vdmEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvXG4gICAgdGhpcy5zb3J0RGlyZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5zb3J0RGlyZWN0aW9uKTtcblxuICAgIC8vIEVtaXRlIG8gZXZlbnRvIGRlIG11ZGFuw6dhIG5hIG9yZGVuYcOnw6NvIGNvbSBhIGRpcmXDp8OjbyBlIG9zIGF0cmlidXRvcyBkZSBvcmRlbmHDp8Ojb1xuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHsgZGlyZWN0aW9uOiB0aGlzLnNvcnREaXJlY3Rpb24sIGNvbHVtbjogdGhpcy5zb3J0QXR0cmlidXRlcyB9KTtcbiAgfVxuXG4gIC8vIE9idMOpbSBhIGNvciBkbyDDrWNvbmUgY29tIGJhc2UgbmEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGF0dWFsXG4gIGdldFN2Z0NvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc29ydERpcmVjdGlvbiA9PT0gJ2FzYycgPyAnYmx1ZScgOiAnbGlnaHRncmF5JztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBEZWZpbmUgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gaW5pY2lhbCBjb21vIHZhemlvXG4gICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gJyc7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzb3J0RGlyZWN0aW9uICE9PSAnZGVzYydcIj5cbiAgPGFwcC1zdmctc3RvcmFnZVxuICAgIChjbGljayk9XCJzb3J0KClcIlxuICAgIFtzdmdOYW1lXT1cIidhcnJvdy11cCdcIlxuICAgIFtjbGFzcy5yb3RhdGVdPVwic29ydERpcmVjdGlvbiAhPT0gJydcIlxuICAgIFtzdmdDb2xvcl09XCJnZXRTdmdDb2xvcigpXCJcbiAgICB0b29sdGlwPVwiJ0FzY2VuZGVudGUnXCJcbiAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxuICA+PC9hcHAtc3ZnLXN0b3JhZ2U+XG4gIDwhLS0gT3JkZW5hciBBc2NlbmRlbnRlIC0tPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNvcnREaXJlY3Rpb24gPT09ICdkZXNjJ1wiPlxuICA8YXBwLXN2Zy1zdG9yYWdlXG4gICAgKGNsaWNrKT1cInNvcnQoKVwiXG4gICAgW3N2Z05hbWVdPVwiJ2Fycm93LWRvd24nXCJcbiAgICBbY2xhc3Mucm90YXRlXT1cInRydWVcIlxuICAgIFtzdmdDb2xvcl09XCInYmx1ZSdcIlxuICAgIHRvb2x0aXA9XCInRGVzY2VuZGVudGUnXCJcbiAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxuICA+PC9hcHAtc3ZnLXN0b3JhZ2U+XG4gIDwhLS0gT3JkZW5hciBEZXNjZW5kZW50ZSAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
+
import { FormUtils } from "../../utils/form-utils";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "ngx-bootstrap/tooltip";
|
|
7
|
+
import * as i4 from "../svg-storage/svg-storage.component";
|
|
8
|
+
/**
|
|
9
|
+
* @file search-combobox.component.ts
|
|
10
|
+
* @description Este arquivo contém a implementação do componente SearchComboboxComponent, que é um componente de interface do usuário
|
|
11
|
+
* para realizar pesquisas e seleções em uma lista de opções apresentada em um combobox.
|
|
12
|
+
*
|
|
13
|
+
* @component SearchComboboxComponent
|
|
14
|
+
* @selector search-combobox
|
|
15
|
+
* @standalone true
|
|
16
|
+
* @imports CommonModule, ProjectModule
|
|
17
|
+
* @templateUrl ./search-combobox.component.html
|
|
18
|
+
* @styleUrl ./search-combobox.component.scss
|
|
19
|
+
*
|
|
20
|
+
* @description
|
|
21
|
+
* O componente SearchComboboxComponent é projetado para fornecer aos usuários uma interface para pesquisar e selecionar itens de uma lista.
|
|
22
|
+
* Ele suporta a filtragem de itens com base na entrada do usuário, permitindo uma seleção mais fácil em listas extensas.
|
|
23
|
+
*
|
|
24
|
+
* ## Funcionalidades:
|
|
25
|
+
* - Pesquisa e filtragem de itens na lista do combobox.
|
|
26
|
+
* - Seleção de itens com feedback visual.
|
|
27
|
+
* - Emissão de eventos personalizados para interações do usuário, como recarregar a lista ou selecionar um item.
|
|
28
|
+
*
|
|
29
|
+
* ## Inputs:
|
|
30
|
+
* - `comboboxList`: Array de objetos representando os itens disponíveis para seleção.
|
|
31
|
+
* - `labelText`: Texto de etiqueta associado ao combobox.
|
|
32
|
+
* - `colorTheme`: Tema de cores para o componente.
|
|
33
|
+
* - `inputGroupIconName`: Nome do ícone a ser exibido no grupo de entrada.
|
|
34
|
+
* - `inputGroupIconTooltip`: Texto de dica de ferramenta para o ícone do grupo de entrada.
|
|
35
|
+
* - `mainInputPlaceholder`: Texto de espaço reservado para o input principal.
|
|
36
|
+
* - `searchInputPlaceholder`: Texto de espaço reservado para o input de pesquisa.
|
|
37
|
+
*
|
|
38
|
+
* ## Outputs:
|
|
39
|
+
* - `onReloadList`: Evento emitido quando a lista precisa ser recarregada.
|
|
40
|
+
* - `onSelectItem`: Evento emitido quando um item é selecionado.
|
|
41
|
+
*
|
|
42
|
+
* ## Métodos Públicos:
|
|
43
|
+
* - `reloadList(search: string)`: Método para recarregar a lista de itens com base na pesquisa fornecida.
|
|
44
|
+
* - `setFilterValue(id: string | number, label: string)`: Método para definir o valor do filtro.
|
|
45
|
+
*
|
|
46
|
+
* ## Propriedades:
|
|
47
|
+
* - `selectedItem`: Getter e Setter para o item selecionado atualmente.
|
|
48
|
+
* - `FormUtils`: Getter para utilitários de formulário.
|
|
49
|
+
* - `_searchInput`: Getter para o valor do input de pesquisa.
|
|
50
|
+
*
|
|
51
|
+
* ## Eventos:
|
|
52
|
+
* - `ngOnInit()`: Inicializa o componente.
|
|
53
|
+
* - `ngOnChanges(changes: SimpleChanges)`: Responde a mudanças nas propriedades de entrada.
|
|
54
|
+
*
|
|
55
|
+
* ## Utilitários:
|
|
56
|
+
* - `createFilterForm()`: Cria o formulário de filtro para a pesquisa.
|
|
57
|
+
* - `mapComboboxList()`: Mapeia a lista de combobox para o formato necessário.
|
|
58
|
+
*
|
|
59
|
+
* @note Este componente é marcado como `standalone`, permitindo seu uso sem a necessidade de importá-lo em um módulo.
|
|
60
|
+
*/
|
|
61
|
+
export class SearchComboboxComponent {
|
|
62
|
+
constructor(_formBuilder) {
|
|
63
|
+
this._formBuilder = _formBuilder;
|
|
64
|
+
this.colorTheme = "primary";
|
|
65
|
+
this.inputGroupIconTooltip = "";
|
|
66
|
+
this.mainInputPlaceholder = "Selecione uma opção...";
|
|
67
|
+
this.searchInputPlaceholder = "Pesquisa...";
|
|
68
|
+
this.onReloadList = new EventEmitter();
|
|
69
|
+
this.onSelectItem = new EventEmitter();
|
|
70
|
+
this.mappedComboboxList = [];
|
|
71
|
+
this.searchCombobox = "";
|
|
72
|
+
}
|
|
73
|
+
ngOnInit() {
|
|
74
|
+
this.createFilterForm();
|
|
75
|
+
}
|
|
76
|
+
ngOnChanges(changes) {
|
|
77
|
+
if (changes["comboboxList"] != undefined && changes["comboboxList"].currentValue != undefined) {
|
|
78
|
+
this.mappedComboboxList = this.comboboxList;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
get selectedItem() { return this._selectedItem; }
|
|
82
|
+
set selectedItem(value) {
|
|
83
|
+
this._selectedItem = value;
|
|
84
|
+
this.onSelectItem.emit(value);
|
|
85
|
+
}
|
|
86
|
+
get FormUtils() { return FormUtils; }
|
|
87
|
+
// #region FORM DATA
|
|
88
|
+
get _searchInput() { return this.filterForm.get("_searchInput")?.value; }
|
|
89
|
+
// #endregion FORM DATA
|
|
90
|
+
// #region FORM VALIDATORS
|
|
91
|
+
createFilterForm() {
|
|
92
|
+
this.filterForm = this._formBuilder.group({
|
|
93
|
+
_searchInput: [""]
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
// #endregion FORM VALIDATORS
|
|
97
|
+
// #endregion ==========> FORM BUILDER <==========
|
|
98
|
+
// #region ==========> UTILITIES <==========
|
|
99
|
+
setFilterValue(id, label) {
|
|
100
|
+
this.filterForm.controls["_searchInput"].setValue(`${id} - ${label}`);
|
|
101
|
+
this.selectedText = label;
|
|
102
|
+
this.selectedItem = { ID: id, LABEL: label, AdditionalStringProperty1: "", IS_SELECTED: true };
|
|
103
|
+
}
|
|
104
|
+
reloadList(search) {
|
|
105
|
+
this.onReloadList.emit(search);
|
|
106
|
+
}
|
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchComboboxComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SearchComboboxComponent, selector: "lib-search-combobox", inputs: { comboboxList: "comboboxList", labelText: "labelText", colorTheme: "colorTheme", inputGroupIconName: "inputGroupIconName", inputGroupIconTooltip: "inputGroupIconTooltip", mainInputPlaceholder: "mainInputPlaceholder", searchInputPlaceholder: "searchInputPlaceholder" }, outputs: { onReloadList: "onReloadList", onSelectItem: "onSelectItem" }, usesOnChanges: true, ngImport: i0, template: "<label class=\"form-label\">{{ labelText }}</label>\r\n<div class=\"input-group dropdown flex-fill glb-max-height-350px\">\r\n <button *ngIf=\"inputGroupIconName\" class=\"btn btn-{{colorTheme}}\" type=\"button\" [tooltip]=\"inputGroupIconTooltip\">\r\n <app-svg-storage [svgName]=\"inputGroupIconName\" svgSize=\"medium-small\" />\r\n </button>\r\n\r\n <input class=\"form-select text-start rounded-end\" type=\"text\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [placeholder]=\"mainInputPlaceholder\" [(ngModel)]=\"selectedText\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly>\r\n <ul class=\"dropdown-menu p-2 w-100 glb-max-height-350px overflow-y-scroll\">\r\n <div class=\"input-group mb-2\">\r\n <input #searchInput type=\"text\" id=\"searchInput\" class=\"form-control glb-input-no-glow\" [placeholder]=\"searchInputPlaceholder\" (keyup.enter)=\"reloadList(searchInput.value)\">\r\n <button class=\"btn btn-{{colorTheme}}\" (click)=\"reloadList(searchInput.value)\"> <app-svg-storage svgName=\"lupa\" svgSize=\"medium-small\" /> Pesquisar </button>\r\n </div>\r\n\r\n <ng-container *ngIf=\"mappedComboboxList; else loadingList\">\r\n <ng-container *ngIf=\"mappedComboboxList.length > 0; else emptyItemList\">\r\n <li *ngIf=\"selectedItem && selectedItem.ID\" class=\"dropdown-item\" (click)=\"setFilterValue('', '')\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\r\n <li class=\"dropdown-item\" *ngFor=\"let item of mappedComboboxList\" (click)=\"setFilterValue(item.ID, item.LABEL); selectedItem = item\">\r\n <span *ngIf=\"item.AdditionalStringProperty1 || item.AdditionalStringProperty1 != ''\" class=\"glb-fs-12 fw-bold d-inline-block w-125\">{{ item.AdditionalStringProperty1 }}</span> {{ item.LABEL }}\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #loadingList> <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> </ng-template>\r\n <ng-template #emptyItemList> <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> </ng-template>\r\n </ul>\r\n</div>\r\n", styles: [""], 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.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }] }); }
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchComboboxComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ selector: 'lib-search-combobox', template: "<label class=\"form-label\">{{ labelText }}</label>\r\n<div class=\"input-group dropdown flex-fill glb-max-height-350px\">\r\n <button *ngIf=\"inputGroupIconName\" class=\"btn btn-{{colorTheme}}\" type=\"button\" [tooltip]=\"inputGroupIconTooltip\">\r\n <app-svg-storage [svgName]=\"inputGroupIconName\" svgSize=\"medium-small\" />\r\n </button>\r\n\r\n <input class=\"form-select text-start rounded-end\" type=\"text\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [placeholder]=\"mainInputPlaceholder\" [(ngModel)]=\"selectedText\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly>\r\n <ul class=\"dropdown-menu p-2 w-100 glb-max-height-350px overflow-y-scroll\">\r\n <div class=\"input-group mb-2\">\r\n <input #searchInput type=\"text\" id=\"searchInput\" class=\"form-control glb-input-no-glow\" [placeholder]=\"searchInputPlaceholder\" (keyup.enter)=\"reloadList(searchInput.value)\">\r\n <button class=\"btn btn-{{colorTheme}}\" (click)=\"reloadList(searchInput.value)\"> <app-svg-storage svgName=\"lupa\" svgSize=\"medium-small\" /> Pesquisar </button>\r\n </div>\r\n\r\n <ng-container *ngIf=\"mappedComboboxList; else loadingList\">\r\n <ng-container *ngIf=\"mappedComboboxList.length > 0; else emptyItemList\">\r\n <li *ngIf=\"selectedItem && selectedItem.ID\" class=\"dropdown-item\" (click)=\"setFilterValue('', '')\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\r\n <li class=\"dropdown-item\" *ngFor=\"let item of mappedComboboxList\" (click)=\"setFilterValue(item.ID, item.LABEL); selectedItem = item\">\r\n <span *ngIf=\"item.AdditionalStringProperty1 || item.AdditionalStringProperty1 != ''\" class=\"glb-fs-12 fw-bold d-inline-block w-125\">{{ item.AdditionalStringProperty1 }}</span> {{ item.LABEL }}\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #loadingList> <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> </ng-template>\r\n <ng-template #emptyItemList> <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> </ng-template>\r\n </ul>\r\n</div>\r\n" }]
|
|
113
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { comboboxList: [{
|
|
114
|
+
type: Input,
|
|
115
|
+
args: [{ required: true }]
|
|
116
|
+
}], labelText: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: [{ required: true }]
|
|
119
|
+
}], colorTheme: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], inputGroupIconName: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], inputGroupIconTooltip: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], mainInputPlaceholder: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], searchInputPlaceholder: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], onReloadList: [{
|
|
130
|
+
type: Output
|
|
131
|
+
}], onSelectItem: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}] } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbWJvYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1pbmZyYS9zcmMvbGliL3dpZGdldHMvc2VhcmNoLWNvbWJvYm94L3NlYXJjaC1jb21ib2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3NlYXJjaC1jb21ib2JveC9zZWFyY2gtY29tYm9ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBS25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNVLFlBQXlCO1FBQXpCLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBdUJuQixlQUFVLEdBQVcsU0FBUyxDQUFDO1FBRS9CLDBCQUFxQixHQUFXLEVBQUUsQ0FBQztRQUNuQyx5QkFBb0IsR0FBVyx3QkFBd0IsQ0FBQztRQUN4RCwyQkFBc0IsR0FBVyxhQUFhLENBQUM7UUFFOUMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRSxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXBFLHVCQUFrQixHQUFxQixFQUFFLENBQUM7UUFDMUMsbUJBQWMsR0FBVyxFQUFFLENBQUM7SUFoQ2hDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQTBCRCxJQUFXLFlBQVksS0FBcUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN4RSxJQUFXLFlBQVksQ0FBQyxLQUFxQjtRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBUUQsSUFBVyxTQUFTLEtBQXVCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUU5RCxvQkFBb0I7SUFDcEIsSUFBVyxZQUFZLEtBQWEsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLHVCQUF1QjtJQUV2QiwwQkFBMEI7SUFDbEIsZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDeEMsWUFBWSxFQUFFLENBQUUsRUFBRSxDQUFFO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCw2QkFBNkI7SUFFN0Isa0RBQWtEO0lBR2xELDRDQUE0QztJQUNyQyxjQUFjLENBQUMsRUFBbUIsRUFBRSxLQUFhO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQVksTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTFCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNqRyxDQUFDO0lBR00sVUFBVSxDQUFDLE1BQWM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0EvRVUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK2FDbEVwQyw0d0VBMEJBOzs0RkR3Q2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjtnRkEwQkcsWUFBWTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1MsU0FBUztzQkFBMUMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRVQsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUNVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFDVSxzQkFBc0I7c0JBQXJDLEtBQUs7Z0JBRVcsWUFBWTtzQkFBNUIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHsgRm9ybVV0aWxzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2Zvcm0tdXRpbHNcIjtcclxuXHJcbmltcG9ydCB7IFJlY29yZENvbWJvYm94IH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21ib2JveC9yZWNvcmQtY29tYm9ib3hcIjtcclxuXHJcblxyXG4vKipcclxuICogQGZpbGUgc2VhcmNoLWNvbWJvYm94LmNvbXBvbmVudC50c1xyXG4gKiBAZGVzY3JpcHRpb24gRXN0ZSBhcnF1aXZvIGNvbnTDqW0gYSBpbXBsZW1lbnRhw6fDo28gZG8gY29tcG9uZW50ZSBTZWFyY2hDb21ib2JveENvbXBvbmVudCwgcXVlIMOpIHVtIGNvbXBvbmVudGUgZGUgaW50ZXJmYWNlIGRvIHVzdcOhcmlvXHJcbiAqIHBhcmEgcmVhbGl6YXIgcGVzcXVpc2FzIGUgc2VsZcOnw7VlcyBlbSB1bWEgbGlzdGEgZGUgb3DDp8O1ZXMgYXByZXNlbnRhZGEgZW0gdW0gY29tYm9ib3guXHJcbiAqIFxyXG4gKiBAY29tcG9uZW50IFNlYXJjaENvbWJvYm94Q29tcG9uZW50XHJcbiAqIEBzZWxlY3RvciBzZWFyY2gtY29tYm9ib3hcclxuICogQHN0YW5kYWxvbmUgdHJ1ZVxyXG4gKiBAaW1wb3J0cyBDb21tb25Nb2R1bGUsIFByb2plY3RNb2R1bGVcclxuICogQHRlbXBsYXRlVXJsIC4vc2VhcmNoLWNvbWJvYm94LmNvbXBvbmVudC5odG1sXHJcbiAqIEBzdHlsZVVybCAuL3NlYXJjaC1jb21ib2JveC5jb21wb25lbnQuc2Nzc1xyXG4gKiBcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIE8gY29tcG9uZW50ZSBTZWFyY2hDb21ib2JveENvbXBvbmVudCDDqSBwcm9qZXRhZG8gcGFyYSBmb3JuZWNlciBhb3MgdXN1w6FyaW9zIHVtYSBpbnRlcmZhY2UgcGFyYSBwZXNxdWlzYXIgZSBzZWxlY2lvbmFyIGl0ZW5zIGRlIHVtYSBsaXN0YS5cclxuICogRWxlIHN1cG9ydGEgYSBmaWx0cmFnZW0gZGUgaXRlbnMgY29tIGJhc2UgbmEgZW50cmFkYSBkbyB1c3XDoXJpbywgcGVybWl0aW5kbyB1bWEgc2VsZcOnw6NvIG1haXMgZsOhY2lsIGVtIGxpc3RhcyBleHRlbnNhcy5cclxuICogXHJcbiAqICMjIEZ1bmNpb25hbGlkYWRlczpcclxuICogLSBQZXNxdWlzYSBlIGZpbHRyYWdlbSBkZSBpdGVucyBuYSBsaXN0YSBkbyBjb21ib2JveC5cclxuICogLSBTZWxlw6fDo28gZGUgaXRlbnMgY29tIGZlZWRiYWNrIHZpc3VhbC5cclxuICogLSBFbWlzc8OjbyBkZSBldmVudG9zIHBlcnNvbmFsaXphZG9zIHBhcmEgaW50ZXJhw6fDtWVzIGRvIHVzdcOhcmlvLCBjb21vIHJlY2FycmVnYXIgYSBsaXN0YSBvdSBzZWxlY2lvbmFyIHVtIGl0ZW0uXHJcbiAqIFxyXG4gKiAjIyBJbnB1dHM6XHJcbiAqIC0gYGNvbWJvYm94TGlzdGA6IEFycmF5IGRlIG9iamV0b3MgcmVwcmVzZW50YW5kbyBvcyBpdGVucyBkaXNwb27DrXZlaXMgcGFyYSBzZWxlw6fDo28uXHJcbiAqIC0gYGxhYmVsVGV4dGA6IFRleHRvIGRlIGV0aXF1ZXRhIGFzc29jaWFkbyBhbyBjb21ib2JveC5cclxuICogLSBgY29sb3JUaGVtZWA6IFRlbWEgZGUgY29yZXMgcGFyYSBvIGNvbXBvbmVudGUuXHJcbiAqIC0gYGlucHV0R3JvdXBJY29uTmFtZWA6IE5vbWUgZG8gw61jb25lIGEgc2VyIGV4aWJpZG8gbm8gZ3J1cG8gZGUgZW50cmFkYS5cclxuICogLSBgaW5wdXRHcm91cEljb25Ub29sdGlwYDogVGV4dG8gZGUgZGljYSBkZSBmZXJyYW1lbnRhIHBhcmEgbyDDrWNvbmUgZG8gZ3J1cG8gZGUgZW50cmFkYS5cclxuICogLSBgbWFpbklucHV0UGxhY2Vob2xkZXJgOiBUZXh0byBkZSBlc3Bhw6dvIHJlc2VydmFkbyBwYXJhIG8gaW5wdXQgcHJpbmNpcGFsLlxyXG4gKiAtIGBzZWFyY2hJbnB1dFBsYWNlaG9sZGVyYDogVGV4dG8gZGUgZXNwYcOnbyByZXNlcnZhZG8gcGFyYSBvIGlucHV0IGRlIHBlc3F1aXNhLlxyXG4gKiBcclxuICogIyMgT3V0cHV0czpcclxuICogLSBgb25SZWxvYWRMaXN0YDogRXZlbnRvIGVtaXRpZG8gcXVhbmRvIGEgbGlzdGEgcHJlY2lzYSBzZXIgcmVjYXJyZWdhZGEuXHJcbiAqIC0gYG9uU2VsZWN0SXRlbWA6IEV2ZW50byBlbWl0aWRvIHF1YW5kbyB1bSBpdGVtIMOpIHNlbGVjaW9uYWRvLlxyXG4gKiBcclxuICogIyMgTcOpdG9kb3MgUMO6YmxpY29zOlxyXG4gKiAtIGByZWxvYWRMaXN0KHNlYXJjaDogc3RyaW5nKWA6IE3DqXRvZG8gcGFyYSByZWNhcnJlZ2FyIGEgbGlzdGEgZGUgaXRlbnMgY29tIGJhc2UgbmEgcGVzcXVpc2EgZm9ybmVjaWRhLlxyXG4gKiAtIGBzZXRGaWx0ZXJWYWx1ZShpZDogc3RyaW5nIHwgbnVtYmVyLCBsYWJlbDogc3RyaW5nKWA6IE3DqXRvZG8gcGFyYSBkZWZpbmlyIG8gdmFsb3IgZG8gZmlsdHJvLlxyXG4gKiBcclxuICogIyMgUHJvcHJpZWRhZGVzOlxyXG4gKiAtIGBzZWxlY3RlZEl0ZW1gOiBHZXR0ZXIgZSBTZXR0ZXIgcGFyYSBvIGl0ZW0gc2VsZWNpb25hZG8gYXR1YWxtZW50ZS5cclxuICogLSBgRm9ybVV0aWxzYDogR2V0dGVyIHBhcmEgdXRpbGl0w6FyaW9zIGRlIGZvcm11bMOhcmlvLlxyXG4gKiAtIGBfc2VhcmNoSW5wdXRgOiBHZXR0ZXIgcGFyYSBvIHZhbG9yIGRvIGlucHV0IGRlIHBlc3F1aXNhLlxyXG4gKiBcclxuICogIyMgRXZlbnRvczpcclxuICogLSBgbmdPbkluaXQoKWA6IEluaWNpYWxpemEgbyBjb21wb25lbnRlLlxyXG4gKiAtIGBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKWA6IFJlc3BvbmRlIGEgbXVkYW7Dp2FzIG5hcyBwcm9wcmllZGFkZXMgZGUgZW50cmFkYS5cclxuICogXHJcbiAqICMjIFV0aWxpdMOhcmlvczpcclxuICogLSBgY3JlYXRlRmlsdGVyRm9ybSgpYDogQ3JpYSBvIGZvcm11bMOhcmlvIGRlIGZpbHRybyBwYXJhIGEgcGVzcXVpc2EuXHJcbiAqIC0gYG1hcENvbWJvYm94TGlzdCgpYDogTWFwZWlhIGEgbGlzdGEgZGUgY29tYm9ib3ggcGFyYSBvIGZvcm1hdG8gbmVjZXNzw6FyaW8uXHJcbiAqIFxyXG4gKiBAbm90ZSBFc3RlIGNvbXBvbmVudGUgw6kgbWFyY2FkbyBjb21vIGBzdGFuZGFsb25lYCwgcGVybWl0aW5kbyBzZXUgdXNvIHNlbSBhIG5lY2Vzc2lkYWRlIGRlIGltcG9ydMOhLWxvIGVtIHVtIG3Ds2R1bG8uXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zZWFyY2gtY29tYm9ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtY29tYm9ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zZWFyY2gtY29tYm9ib3guY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb21ib2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlclxyXG4gICkge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVGaWx0ZXJGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1tcImNvbWJvYm94TGlzdFwiXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1tcImNvbWJvYm94TGlzdFwiXS5jdXJyZW50VmFsdWUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMubWFwcGVkQ29tYm9ib3hMaXN0ID0gdGhpcy5jb21ib2JveExpc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUklWQVRFXHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtOiBSZWNvcmRDb21ib2JveDtcclxuICAvLyAjZW5kcmVnaW9uIFBSSVZBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBQVUJMSUNcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgY29tYm9ib3hMaXN0OiBSZWNvcmRDb21ib2JveFtdO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBsYWJlbFRleHQ6IHN0cmluZztcclxuICBcclxuICBASW5wdXQoKSBwdWJsaWMgY29sb3JUaGVtZTogc3RyaW5nID0gXCJwcmltYXJ5XCI7XHJcbiAgQElucHV0KCkgcHVibGljIGlucHV0R3JvdXBJY29uTmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dEdyb3VwSWNvblRvb2x0aXA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgcHVibGljIG1haW5JbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlNlbGVjaW9uZSB1bWEgb3DDp8Ojby4uLlwiO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hJbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlBlc3F1aXNhLi4uXCI7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25SZWxvYWRMaXN0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RJdGVtOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwdWJsaWMgbWFwcGVkQ29tYm9ib3hMaXN0OiBSZWNvcmRDb21ib2JveFtdID0gW107XHJcbiAgcHVibGljIHNlYXJjaENvbWJvYm94OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRUZXh0OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtKCk6IFJlY29yZENvbWJvYm94IHsgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbTsgfVxyXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRJdGVtKHZhbHVlOiBSZWNvcmRDb21ib2JveCkge1xyXG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uU2VsZWN0SXRlbS5lbWl0KHZhbHVlKTtcclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiBQVUJMSUNcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG4gIHB1YmxpYyBmaWx0ZXJGb3JtOiBGb3JtR3JvdXA7XHJcbiAgcHVibGljIGdldCBGb3JtVXRpbHMoKTogdHlwZW9mIEZvcm1VdGlscyB7IHJldHVybiBGb3JtVXRpbHM7IH1cclxuXHJcbiAgLy8gI3JlZ2lvbiBGT1JNIERBVEFcclxuICBwdWJsaWMgZ2V0IF9zZWFyY2hJbnB1dCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5maWx0ZXJGb3JtLmdldChcIl9zZWFyY2hJbnB1dFwiKT8udmFsdWU7IH1cclxuICAvLyAjZW5kcmVnaW9uIEZPUk0gREFUQVxyXG5cclxuICAvLyAjcmVnaW9uIEZPUk0gVkFMSURBVE9SU1xyXG4gIHByaXZhdGUgY3JlYXRlRmlsdGVyRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgX3NlYXJjaElucHV0OiBbIFwiXCIgXVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb24gRk9STSBWQUxJREFUT1JTXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gRk9STSBCVUlMREVSIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxJVElFUyA8PT09PT09PT09PVxyXG4gIHB1YmxpYyBzZXRGaWx0ZXJWYWx1ZShpZDogc3RyaW5nIHwgbnVtYmVyLCBsYWJlbDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlckZvcm0uY29udHJvbHNbXCJfc2VhcmNoSW5wdXRcIl0uc2V0VmFsdWUoYCR7aWQgYXMgc3RyaW5nfSAtICR7bGFiZWx9YCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGV4dCA9IGxhYmVsO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0geyBJRDogaWQsIExBQkVMOiBsYWJlbCwgQWRkaXRpb25hbFN0cmluZ1Byb3BlcnR5MTogXCJcIiwgSVNfU0VMRUNURUQ6IHRydWUgfTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgcmVsb2FkTGlzdChzZWFyY2g6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5vblJlbG9hZExpc3QuZW1pdChzZWFyY2gpO1xyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxJVElFUyA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBNT0RBTFMgPD09PT09PT09PT1cclxuICAvLyBbLi4uXVxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gTU9EQUxTIDw9PT09PT09PT09XHJcblxyXG59XHJcbiIsIjxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eyBsYWJlbFRleHQgfX08L2xhYmVsPlxyXG48ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgZHJvcGRvd24gZmxleC1maWxsIGdsYi1tYXgtaGVpZ2h0LTM1MHB4XCI+XHJcbiAgIDxidXR0b24gKm5nSWY9XCJpbnB1dEdyb3VwSWNvbk5hbWVcIiBjbGFzcz1cImJ0biBidG4te3tjb2xvclRoZW1lfX1cIiB0eXBlPVwiYnV0dG9uXCIgW3Rvb2x0aXBdPVwiaW5wdXRHcm91cEljb25Ub29sdGlwXCI+XHJcbiAgICAgIDxhcHAtc3ZnLXN0b3JhZ2UgW3N2Z05hbWVdPVwiaW5wdXRHcm91cEljb25OYW1lXCIgc3ZnU2l6ZT1cIm1lZGl1bS1zbWFsbFwiIC8+XHJcbiAgIDwvYnV0dG9uPlxyXG5cclxuICAgPGlucHV0IGNsYXNzPVwiZm9ybS1zZWxlY3QgdGV4dC1zdGFydCByb3VuZGVkLWVuZFwiIHR5cGU9XCJ0ZXh0XCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIFtwbGFjZWhvbGRlcl09XCJtYWluSW5wdXRQbGFjZWhvbGRlclwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRUZXh0XCIgZGF0YS1icy1hdXRvLWNsb3NlPVwib3V0c2lkZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIHJlYWRvbmx5PlxyXG4gICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IHAtMiB3LTEwMCBnbGItbWF4LWhlaWdodC0zNTBweCBvdmVyZmxvdy15LXNjcm9sbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItMlwiPlxyXG4gICAgICAgICA8aW5wdXQgI3NlYXJjaElucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJzZWFyY2hJbnB1dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGdsYi1pbnB1dC1uby1nbG93XCIgW3BsYWNlaG9sZGVyXT1cInNlYXJjaElucHV0UGxhY2Vob2xkZXJcIiAoa2V5dXAuZW50ZXIpPVwicmVsb2FkTGlzdChzZWFyY2hJbnB1dC52YWx1ZSlcIj5cclxuICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4te3tjb2xvclRoZW1lfX1cIiAoY2xpY2spPVwicmVsb2FkTGlzdChzZWFyY2hJbnB1dC52YWx1ZSlcIj4gPGFwcC1zdmctc3RvcmFnZSBzdmdOYW1lPVwibHVwYVwiIHN2Z1NpemU9XCJtZWRpdW0tc21hbGxcIiAvPiBQZXNxdWlzYXIgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1hcHBlZENvbWJvYm94TGlzdDsgZWxzZSBsb2FkaW5nTGlzdFwiPlxyXG4gICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFwcGVkQ29tYm9ib3hMaXN0Lmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlJdGVtTGlzdFwiPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgc2VsZWN0ZWRJdGVtLklEXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKGNsaWNrKT1cInNldEZpbHRlclZhbHVlKCcnLCAnJylcIj4gPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+TGltcGFyIG9ww6fDo28gc2VsZWNpb25hZGE8L3NwYW4+IDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtYXBwZWRDb21ib2JveExpc3RcIiAoY2xpY2spPVwic2V0RmlsdGVyVmFsdWUoaXRlbS5JRCwgaXRlbS5MQUJFTCk7IHNlbGVjdGVkSXRlbSA9IGl0ZW1cIj5cclxuICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLkFkZGl0aW9uYWxTdHJpbmdQcm9wZXJ0eTEgfHwgaXRlbS5BZGRpdGlvbmFsU3RyaW5nUHJvcGVydHkxICE9ICcnXCIgY2xhc3M9XCJnbGItZnMtMTIgZnctYm9sZCBkLWlubGluZS1ibG9jayB3LTEyNVwiPnt7IGl0ZW0uQWRkaXRpb25hbFN0cmluZ1Byb3BlcnR5MSB9fTwvc3Bhbj4ge3sgaXRlbS5MQUJFTCB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmdMaXN0PiA8bGkgY2xhc3M9XCJkcm9wZG93bi1pdGVtIHRleHQtY2VudGVyXCI+IDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlclwiIHJvbGU9XCJzdGF0dXNcIj48c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPkNhcnJlZ2FuZG8gZGFkb3MuLi48L3NwYW4+PC9kaXY+IDwvbGk+IDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlJdGVtTGlzdD4gPGxpIGNsYXNzPVwiZHJvcGRvd24taXRlbSBmc3QtaXRhbGljXCI+TmVuaHVtIHJlZ2lzdHJvIGVuY29udHJhZG8gY29tIGVzdGEgcGVzcXVpc2EuLi48L2xpPiA8L25nLXRlbXBsYXRlPlxyXG4gICA8L3VsPlxyXG48L2Rpdj5cclxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -48,4 +48,5 @@ export * from './lib/widgets/tree/tree.component';
|
|
|
48
48
|
export * from './lib/widgets/tree/models/ret-tree';
|
|
49
49
|
export * from './lib/widgets/tree/models/tree-item';
|
|
50
50
|
export * from './lib/widgets/tree/pipes/search-tree.pipe';
|
|
51
|
-
|
|
51
|
+
export * from './lib/widgets/search-combobox/search-combobox.component';
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1pbmZyYS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWM7QUFDZCxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWM7QUFDZCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxhQUFhO0FBQ2IsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLFlBQVk7QUFDWixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxZQUFZO0FBQ1osY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGlCQUFpQjtBQUNqQixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYztBQUNkLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMseURBQXlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGluZnJhXG4gKi9cblxuLyoqIE1vZHVsZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2luZnJhLm1vZHVsZSc7XG5cbi8qKiBNZXNzYWdlICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS9jb25maXJtLW1vZGFsL2NvbmZpcm0tbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2Uvc2F2ZS9zYXZlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlL21lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlL21lc3NhZ2UtZW51bSc7XG5cbi8qKiBNb2RlbHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9Eb3dubG9hZEFycXVpdm9zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbWFpbC1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaWVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pcGFnaW5hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0LWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JldC1lcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmV0LWZlZWRiYWNrLW1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JldC1yZXBvcnQtZmlsZSc7XG5cbi8qKiBQaXBlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvY3BmLWNucGoucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9jdXJyZW5jeS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3RvLXVybC5waXBlJztcblxuLyoqIFV0aWxzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9jaGVjay11cmwtYW5kLW1ldGhvZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2Zvcm0tdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9pcC1zZXJ2aWNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvdXRpbHMnO1xuXG4vKiogVmFsaWRhdG9ycyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdG9ycy9jcGYtY25wai52YWxpZGF0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMvY3BmLWNucGoudmFsaWRhdG9yJztcblxuLyoqIFdpZGdldHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpZGdldHMvYnJlYWRjcnVtYi9pbmZyYS1icmVhZGNydW1iL2luZnJhLWJyZWFkY3J1bWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpZGdldHMvYnJlYWRjcnVtYi9pbmZyYS1icmVhZGNydW1iLWl0ZW0vaW5mcmEtYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL2JyZWFkY3J1bWIvcG9ydGFscmgtYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL2NsaWNrLW91dHNpZGUvY2xpY2tvdXRzaWRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL2ZpZWxkLWNvbnRyb2wtZXJyb3IvZmllbGQtY29udHJvbC1lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd2lkZ2V0cy9maWVsZC1lcnJvci1tZXNzYWdlL2ZpZWxkLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpZGdldHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL2xvYWRpbmctYnV0dG9uL2xvYWRpbmctYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL29yZGVyaW5nL29yZGVyaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL3N2Zy1zdG9yYWdlL3N2Zy1zdG9yYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL3RyZWUvdHJlZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd2lkZ2V0cy90cmVlL21vZGVscy9yZXQtdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL3RyZWUvbW9kZWxzL3RyZWUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL3RyZWUvcGlwZXMvc2VhcmNoLXRyZWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXRzL3NlYXJjaC1jb21ib2JveC9zZWFyY2gtY29tYm9ib3guY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -11,6 +11,8 @@ import * as i1 from 'ngx-bootstrap/modal';
|
|
|
11
11
|
import { ModalModule } from 'ngx-bootstrap/modal';
|
|
12
12
|
import { Subject } from 'rxjs';
|
|
13
13
|
import * as i1$2 from '@angular/platform-browser';
|
|
14
|
+
import * as i3 from 'ngx-bootstrap/tooltip';
|
|
15
|
+
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
14
16
|
import { take } from 'rxjs/operators';
|
|
15
17
|
import * as i1$3 from '@angular/common/http';
|
|
16
18
|
|
|
@@ -1447,7 +1449,7 @@ class OrderingComponent {
|
|
|
1447
1449
|
this.sortDirection = '';
|
|
1448
1450
|
}
|
|
1449
1451
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OrderingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1450
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: OrderingComponent, selector: "app-ordering", inputs: { isColumnClicked: "isColumnClicked", sortDirection: "sortDirection", sortAttributes: "sortAttributes" }, outputs: { sortDirectionChange: "sortDirectionChange", sortChange: "sortChange" }, ngImport: i0, template: "<ng-template [ngIf]=\"sortDirection !== 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-up'\"\n [class.rotate]=\"sortDirection !== ''\"\n [svgColor]=\"getSvgColor()\"\n tooltip=\"'Ascendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Ascendente -->\n</ng-template>\n\n<ng-template [ngIf]=\"sortDirection === 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-down'\"\n [class.rotate]=\"true\"\n [svgColor]=\"'blue'\"\n tooltip=\"'Descendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Descendente -->\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }] }); }
|
|
1452
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: OrderingComponent, selector: "app-ordering", inputs: { isColumnClicked: "isColumnClicked", sortDirection: "sortDirection", sortAttributes: "sortAttributes" }, outputs: { sortDirectionChange: "sortDirectionChange", sortChange: "sortChange" }, ngImport: i0, template: "<ng-template [ngIf]=\"sortDirection !== 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-up'\"\n [class.rotate]=\"sortDirection !== ''\"\n [svgColor]=\"getSvgColor()\"\n tooltip=\"'Ascendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Ascendente -->\n</ng-template>\n\n<ng-template [ngIf]=\"sortDirection === 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-down'\"\n [class.rotate]=\"true\"\n [svgColor]=\"'blue'\"\n tooltip=\"'Descendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Descendente -->\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }] }); }
|
|
1451
1453
|
}
|
|
1452
1454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OrderingComponent, decorators: [{
|
|
1453
1455
|
type: Component,
|
|
@@ -1464,6 +1466,133 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
1464
1466
|
type: Output
|
|
1465
1467
|
}] } });
|
|
1466
1468
|
|
|
1469
|
+
/**
|
|
1470
|
+
* @file search-combobox.component.ts
|
|
1471
|
+
* @description Este arquivo contém a implementação do componente SearchComboboxComponent, que é um componente de interface do usuário
|
|
1472
|
+
* para realizar pesquisas e seleções em uma lista de opções apresentada em um combobox.
|
|
1473
|
+
*
|
|
1474
|
+
* @component SearchComboboxComponent
|
|
1475
|
+
* @selector search-combobox
|
|
1476
|
+
* @standalone true
|
|
1477
|
+
* @imports CommonModule, ProjectModule
|
|
1478
|
+
* @templateUrl ./search-combobox.component.html
|
|
1479
|
+
* @styleUrl ./search-combobox.component.scss
|
|
1480
|
+
*
|
|
1481
|
+
* @description
|
|
1482
|
+
* O componente SearchComboboxComponent é projetado para fornecer aos usuários uma interface para pesquisar e selecionar itens de uma lista.
|
|
1483
|
+
* Ele suporta a filtragem de itens com base na entrada do usuário, permitindo uma seleção mais fácil em listas extensas.
|
|
1484
|
+
*
|
|
1485
|
+
* ## Funcionalidades:
|
|
1486
|
+
* - Pesquisa e filtragem de itens na lista do combobox.
|
|
1487
|
+
* - Seleção de itens com feedback visual.
|
|
1488
|
+
* - Emissão de eventos personalizados para interações do usuário, como recarregar a lista ou selecionar um item.
|
|
1489
|
+
*
|
|
1490
|
+
* ## Inputs:
|
|
1491
|
+
* - `comboboxList`: Array de objetos representando os itens disponíveis para seleção.
|
|
1492
|
+
* - `labelText`: Texto de etiqueta associado ao combobox.
|
|
1493
|
+
* - `colorTheme`: Tema de cores para o componente.
|
|
1494
|
+
* - `inputGroupIconName`: Nome do ícone a ser exibido no grupo de entrada.
|
|
1495
|
+
* - `inputGroupIconTooltip`: Texto de dica de ferramenta para o ícone do grupo de entrada.
|
|
1496
|
+
* - `mainInputPlaceholder`: Texto de espaço reservado para o input principal.
|
|
1497
|
+
* - `searchInputPlaceholder`: Texto de espaço reservado para o input de pesquisa.
|
|
1498
|
+
*
|
|
1499
|
+
* ## Outputs:
|
|
1500
|
+
* - `onReloadList`: Evento emitido quando a lista precisa ser recarregada.
|
|
1501
|
+
* - `onSelectItem`: Evento emitido quando um item é selecionado.
|
|
1502
|
+
*
|
|
1503
|
+
* ## Métodos Públicos:
|
|
1504
|
+
* - `reloadList(search: string)`: Método para recarregar a lista de itens com base na pesquisa fornecida.
|
|
1505
|
+
* - `setFilterValue(id: string | number, label: string)`: Método para definir o valor do filtro.
|
|
1506
|
+
*
|
|
1507
|
+
* ## Propriedades:
|
|
1508
|
+
* - `selectedItem`: Getter e Setter para o item selecionado atualmente.
|
|
1509
|
+
* - `FormUtils`: Getter para utilitários de formulário.
|
|
1510
|
+
* - `_searchInput`: Getter para o valor do input de pesquisa.
|
|
1511
|
+
*
|
|
1512
|
+
* ## Eventos:
|
|
1513
|
+
* - `ngOnInit()`: Inicializa o componente.
|
|
1514
|
+
* - `ngOnChanges(changes: SimpleChanges)`: Responde a mudanças nas propriedades de entrada.
|
|
1515
|
+
*
|
|
1516
|
+
* ## Utilitários:
|
|
1517
|
+
* - `createFilterForm()`: Cria o formulário de filtro para a pesquisa.
|
|
1518
|
+
* - `mapComboboxList()`: Mapeia a lista de combobox para o formato necessário.
|
|
1519
|
+
*
|
|
1520
|
+
* @note Este componente é marcado como `standalone`, permitindo seu uso sem a necessidade de importá-lo em um módulo.
|
|
1521
|
+
*/
|
|
1522
|
+
class SearchComboboxComponent {
|
|
1523
|
+
constructor(_formBuilder) {
|
|
1524
|
+
this._formBuilder = _formBuilder;
|
|
1525
|
+
this.colorTheme = "primary";
|
|
1526
|
+
this.inputGroupIconTooltip = "";
|
|
1527
|
+
this.mainInputPlaceholder = "Selecione uma opção...";
|
|
1528
|
+
this.searchInputPlaceholder = "Pesquisa...";
|
|
1529
|
+
this.onReloadList = new EventEmitter();
|
|
1530
|
+
this.onSelectItem = new EventEmitter();
|
|
1531
|
+
this.mappedComboboxList = [];
|
|
1532
|
+
this.searchCombobox = "";
|
|
1533
|
+
}
|
|
1534
|
+
ngOnInit() {
|
|
1535
|
+
this.createFilterForm();
|
|
1536
|
+
}
|
|
1537
|
+
ngOnChanges(changes) {
|
|
1538
|
+
if (changes["comboboxList"] != undefined && changes["comboboxList"].currentValue != undefined) {
|
|
1539
|
+
this.mappedComboboxList = this.comboboxList;
|
|
1540
|
+
}
|
|
1541
|
+
}
|
|
1542
|
+
get selectedItem() { return this._selectedItem; }
|
|
1543
|
+
set selectedItem(value) {
|
|
1544
|
+
this._selectedItem = value;
|
|
1545
|
+
this.onSelectItem.emit(value);
|
|
1546
|
+
}
|
|
1547
|
+
get FormUtils() { return FormUtils; }
|
|
1548
|
+
// #region FORM DATA
|
|
1549
|
+
get _searchInput() { return this.filterForm.get("_searchInput")?.value; }
|
|
1550
|
+
// #endregion FORM DATA
|
|
1551
|
+
// #region FORM VALIDATORS
|
|
1552
|
+
createFilterForm() {
|
|
1553
|
+
this.filterForm = this._formBuilder.group({
|
|
1554
|
+
_searchInput: [""]
|
|
1555
|
+
});
|
|
1556
|
+
}
|
|
1557
|
+
// #endregion FORM VALIDATORS
|
|
1558
|
+
// #endregion ==========> FORM BUILDER <==========
|
|
1559
|
+
// #region ==========> UTILITIES <==========
|
|
1560
|
+
setFilterValue(id, label) {
|
|
1561
|
+
this.filterForm.controls["_searchInput"].setValue(`${id} - ${label}`);
|
|
1562
|
+
this.selectedText = label;
|
|
1563
|
+
this.selectedItem = { ID: id, LABEL: label, AdditionalStringProperty1: "", IS_SELECTED: true };
|
|
1564
|
+
}
|
|
1565
|
+
reloadList(search) {
|
|
1566
|
+
this.onReloadList.emit(search);
|
|
1567
|
+
}
|
|
1568
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchComboboxComponent, deps: [{ token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1569
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SearchComboboxComponent, selector: "lib-search-combobox", inputs: { comboboxList: "comboboxList", labelText: "labelText", colorTheme: "colorTheme", inputGroupIconName: "inputGroupIconName", inputGroupIconTooltip: "inputGroupIconTooltip", mainInputPlaceholder: "mainInputPlaceholder", searchInputPlaceholder: "searchInputPlaceholder" }, outputs: { onReloadList: "onReloadList", onSelectItem: "onSelectItem" }, usesOnChanges: true, ngImport: i0, template: "<label class=\"form-label\">{{ labelText }}</label>\r\n<div class=\"input-group dropdown flex-fill glb-max-height-350px\">\r\n <button *ngIf=\"inputGroupIconName\" class=\"btn btn-{{colorTheme}}\" type=\"button\" [tooltip]=\"inputGroupIconTooltip\">\r\n <app-svg-storage [svgName]=\"inputGroupIconName\" svgSize=\"medium-small\" />\r\n </button>\r\n\r\n <input class=\"form-select text-start rounded-end\" type=\"text\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [placeholder]=\"mainInputPlaceholder\" [(ngModel)]=\"selectedText\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly>\r\n <ul class=\"dropdown-menu p-2 w-100 glb-max-height-350px overflow-y-scroll\">\r\n <div class=\"input-group mb-2\">\r\n <input #searchInput type=\"text\" id=\"searchInput\" class=\"form-control glb-input-no-glow\" [placeholder]=\"searchInputPlaceholder\" (keyup.enter)=\"reloadList(searchInput.value)\">\r\n <button class=\"btn btn-{{colorTheme}}\" (click)=\"reloadList(searchInput.value)\"> <app-svg-storage svgName=\"lupa\" svgSize=\"medium-small\" /> Pesquisar </button>\r\n </div>\r\n\r\n <ng-container *ngIf=\"mappedComboboxList; else loadingList\">\r\n <ng-container *ngIf=\"mappedComboboxList.length > 0; else emptyItemList\">\r\n <li *ngIf=\"selectedItem && selectedItem.ID\" class=\"dropdown-item\" (click)=\"setFilterValue('', '')\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\r\n <li class=\"dropdown-item\" *ngFor=\"let item of mappedComboboxList\" (click)=\"setFilterValue(item.ID, item.LABEL); selectedItem = item\">\r\n <span *ngIf=\"item.AdditionalStringProperty1 || item.AdditionalStringProperty1 != ''\" class=\"glb-fs-12 fw-bold d-inline-block w-125\">{{ item.AdditionalStringProperty1 }}</span> {{ item.LABEL }}\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #loadingList> <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> </ng-template>\r\n <ng-template #emptyItemList> <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> </ng-template>\r\n </ul>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }] }); }
|
|
1570
|
+
}
|
|
1571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SearchComboboxComponent, decorators: [{
|
|
1572
|
+
type: Component,
|
|
1573
|
+
args: [{ selector: 'lib-search-combobox', template: "<label class=\"form-label\">{{ labelText }}</label>\r\n<div class=\"input-group dropdown flex-fill glb-max-height-350px\">\r\n <button *ngIf=\"inputGroupIconName\" class=\"btn btn-{{colorTheme}}\" type=\"button\" [tooltip]=\"inputGroupIconTooltip\">\r\n <app-svg-storage [svgName]=\"inputGroupIconName\" svgSize=\"medium-small\" />\r\n </button>\r\n\r\n <input class=\"form-select text-start rounded-end\" type=\"text\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [placeholder]=\"mainInputPlaceholder\" [(ngModel)]=\"selectedText\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly>\r\n <ul class=\"dropdown-menu p-2 w-100 glb-max-height-350px overflow-y-scroll\">\r\n <div class=\"input-group mb-2\">\r\n <input #searchInput type=\"text\" id=\"searchInput\" class=\"form-control glb-input-no-glow\" [placeholder]=\"searchInputPlaceholder\" (keyup.enter)=\"reloadList(searchInput.value)\">\r\n <button class=\"btn btn-{{colorTheme}}\" (click)=\"reloadList(searchInput.value)\"> <app-svg-storage svgName=\"lupa\" svgSize=\"medium-small\" /> Pesquisar </button>\r\n </div>\r\n\r\n <ng-container *ngIf=\"mappedComboboxList; else loadingList\">\r\n <ng-container *ngIf=\"mappedComboboxList.length > 0; else emptyItemList\">\r\n <li *ngIf=\"selectedItem && selectedItem.ID\" class=\"dropdown-item\" (click)=\"setFilterValue('', '')\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\r\n <li class=\"dropdown-item\" *ngFor=\"let item of mappedComboboxList\" (click)=\"setFilterValue(item.ID, item.LABEL); selectedItem = item\">\r\n <span *ngIf=\"item.AdditionalStringProperty1 || item.AdditionalStringProperty1 != ''\" class=\"glb-fs-12 fw-bold d-inline-block w-125\">{{ item.AdditionalStringProperty1 }}</span> {{ item.LABEL }}\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #loadingList> <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> </ng-template>\r\n <ng-template #emptyItemList> <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> </ng-template>\r\n </ul>\r\n</div>\r\n" }]
|
|
1574
|
+
}], ctorParameters: () => [{ type: i2.FormBuilder }], propDecorators: { comboboxList: [{
|
|
1575
|
+
type: Input,
|
|
1576
|
+
args: [{ required: true }]
|
|
1577
|
+
}], labelText: [{
|
|
1578
|
+
type: Input,
|
|
1579
|
+
args: [{ required: true }]
|
|
1580
|
+
}], colorTheme: [{
|
|
1581
|
+
type: Input
|
|
1582
|
+
}], inputGroupIconName: [{
|
|
1583
|
+
type: Input
|
|
1584
|
+
}], inputGroupIconTooltip: [{
|
|
1585
|
+
type: Input
|
|
1586
|
+
}], mainInputPlaceholder: [{
|
|
1587
|
+
type: Input
|
|
1588
|
+
}], searchInputPlaceholder: [{
|
|
1589
|
+
type: Input
|
|
1590
|
+
}], onReloadList: [{
|
|
1591
|
+
type: Output
|
|
1592
|
+
}], onSelectItem: [{
|
|
1593
|
+
type: Output
|
|
1594
|
+
}] } });
|
|
1595
|
+
|
|
1467
1596
|
class InfraModule {
|
|
1468
1597
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InfraModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1469
1598
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: InfraModule, declarations: [LoadingComponent,
|
|
@@ -1486,7 +1615,8 @@ class InfraModule {
|
|
|
1486
1615
|
LimitToPipe,
|
|
1487
1616
|
SearchTreePipe,
|
|
1488
1617
|
ClickOutsideDirective,
|
|
1489
|
-
OrderingComponent
|
|
1618
|
+
OrderingComponent,
|
|
1619
|
+
SearchComboboxComponent], imports: [CommonModule, i1.ModalModule, i2$1.AccordionModule, i3.TooltipModule, FormsModule,
|
|
1490
1620
|
ReactiveFormsModule,
|
|
1491
1621
|
RouterModule], exports: [LoadingComponent,
|
|
1492
1622
|
FieldControlErrorComponent,
|
|
@@ -1505,10 +1635,12 @@ class InfraModule {
|
|
|
1505
1635
|
ToUrlPipe,
|
|
1506
1636
|
CpfCnpjPipe,
|
|
1507
1637
|
ClickOutsideDirective,
|
|
1508
|
-
OrderingComponent
|
|
1638
|
+
OrderingComponent,
|
|
1639
|
+
SearchComboboxComponent] }); }
|
|
1509
1640
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InfraModule, imports: [CommonModule,
|
|
1510
1641
|
ModalModule.forRoot(),
|
|
1511
1642
|
AccordionModule.forRoot(),
|
|
1643
|
+
TooltipModule.forRoot(),
|
|
1512
1644
|
FormsModule,
|
|
1513
1645
|
ReactiveFormsModule,
|
|
1514
1646
|
RouterModule] }); }
|
|
@@ -1537,12 +1669,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
1537
1669
|
LimitToPipe,
|
|
1538
1670
|
SearchTreePipe,
|
|
1539
1671
|
ClickOutsideDirective,
|
|
1540
|
-
OrderingComponent
|
|
1672
|
+
OrderingComponent,
|
|
1673
|
+
SearchComboboxComponent
|
|
1541
1674
|
],
|
|
1542
1675
|
imports: [
|
|
1543
1676
|
CommonModule,
|
|
1544
1677
|
ModalModule.forRoot(),
|
|
1545
1678
|
AccordionModule.forRoot(),
|
|
1679
|
+
TooltipModule.forRoot(),
|
|
1546
1680
|
FormsModule,
|
|
1547
1681
|
ReactiveFormsModule,
|
|
1548
1682
|
RouterModule
|
|
@@ -1566,6 +1700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
1566
1700
|
CpfCnpjPipe,
|
|
1567
1701
|
ClickOutsideDirective,
|
|
1568
1702
|
OrderingComponent,
|
|
1703
|
+
SearchComboboxComponent
|
|
1569
1704
|
],
|
|
1570
1705
|
providers: [],
|
|
1571
1706
|
}]
|
|
@@ -2339,5 +2474,5 @@ class TreeItem {
|
|
|
2339
2474
|
* Generated bundle index. Do not edit.
|
|
2340
2475
|
*/
|
|
2341
2476
|
|
|
2342
|
-
export { AlertComponent, BreadcrumbComponent, CheckUrlAndMethodService, ClickOutsideDirective, ComboboxComponent, ConfirmComponent, ConfirmModalComponent, CpfCnpjPipe, CpfCnpjValidator, CpfCnpjValidatorDirective, CurrencyPipe, DownloadArquivos, EmailAnexoRecord, EmailModel, FieldControlErrorComponent, FieldErrorMessageComponent, FormUtils, InfraBreadcrumbComponent, InfraBreadcrumbItemComponent, InfraModule, IpServiceService, LoadingButtonComponent, LoadingComponent, MessageService, OrderingComponent, ReportFile, RetError, RetFeedbackMessage, RetReportFile, RetTree, SaveComponent, SearchTreePipe, SettingsService, SvgStorageComponent, ToUrlPipe, TreeComponent, TreeItem, Utils, alertIds, alertTypes };
|
|
2477
|
+
export { AlertComponent, BreadcrumbComponent, CheckUrlAndMethodService, ClickOutsideDirective, ComboboxComponent, ConfirmComponent, ConfirmModalComponent, CpfCnpjPipe, CpfCnpjValidator, CpfCnpjValidatorDirective, CurrencyPipe, DownloadArquivos, EmailAnexoRecord, EmailModel, FieldControlErrorComponent, FieldErrorMessageComponent, FormUtils, InfraBreadcrumbComponent, InfraBreadcrumbItemComponent, InfraModule, IpServiceService, LoadingButtonComponent, LoadingComponent, MessageService, OrderingComponent, ReportFile, RetError, RetFeedbackMessage, RetReportFile, RetTree, SaveComponent, SearchComboboxComponent, SearchTreePipe, SettingsService, SvgStorageComponent, ToUrlPipe, TreeComponent, TreeItem, Utils, alertIds, alertTypes };
|
|
2343
2478
|
//# sourceMappingURL=ngx-sp-infra.mjs.map
|