@seniorsistemas/angular-components 17.15.4 → 17.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +378 -6
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/index.d.ts +1 -0
  6. package/components/picklist/index.d.ts +4 -0
  7. package/components/picklist/picklist/models/picklist-models.d.ts +8 -0
  8. package/components/picklist/picklist/picklist.component.d.ts +71 -0
  9. package/components/picklist/picklist.module.d.ts +2 -0
  10. package/components/table/table-column/table-columns.component.d.ts +8 -5
  11. package/esm2015/components/index.js +2 -1
  12. package/esm2015/components/picklist/index.js +5 -0
  13. package/esm2015/components/picklist/picklist/models/picklist-models.js +6 -0
  14. package/esm2015/components/picklist/picklist/picklist.component.js +305 -0
  15. package/esm2015/components/picklist/picklist.module.js +25 -0
  16. package/esm2015/components/table/table-column/table-columns.component.js +7 -6
  17. package/esm2015/locale/fallback.js +7 -2
  18. package/esm2015/seniorsistemas-angular-components.js +2 -1
  19. package/esm5/components/index.js +2 -1
  20. package/esm5/components/picklist/index.js +5 -0
  21. package/esm5/components/picklist/picklist/models/picklist-models.js +6 -0
  22. package/esm5/components/picklist/picklist/picklist.component.js +339 -0
  23. package/esm5/components/picklist/picklist.module.js +28 -0
  24. package/esm5/components/table/table-column/table-columns.component.js +7 -6
  25. package/esm5/locale/fallback.js +7 -2
  26. package/esm5/seniorsistemas-angular-components.js +2 -1
  27. package/fesm2015/seniorsistemas-angular-components.js +334 -8
  28. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  29. package/fesm5/seniorsistemas-angular-components.js +371 -8
  30. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  31. package/package.json +1 -1
  32. package/seniorsistemas-angular-components.d.ts +1 -0
  33. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -58,6 +58,7 @@ export * from "./tooltip/index";
58
58
  export * from "./utils/index";
59
59
  export * from "./workspace-switch/index";
60
60
  export * from "./label-value/index";
61
+ export * from "./picklist/index";
61
62
  /**
62
63
  * @deprecated Will be removed on a major update
63
64
  */
@@ -0,0 +1,4 @@
1
+ export { PicklistModule } from './picklist.module';
2
+ export { PicklistComponent } from './picklist/picklist.component';
3
+ export * from './picklist/models/picklist-models';
4
+ export * from './picklist/picklist.component';
@@ -0,0 +1,8 @@
1
+ export interface PickListItem<T> {
2
+ disabled?: boolean;
3
+ data: T;
4
+ }
5
+ export declare enum PicklistTemplateTypes {
6
+ ItemToSelect = "item-to-select",
7
+ SelectedItem = "selected-item"
8
+ }
@@ -0,0 +1,71 @@
1
+ import { CdkDrag, CdkDragDrop } from '@angular/cdk/drag-drop';
2
+ import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges, TemplateRef } from '@angular/core';
3
+ import { PickListItem } from './models/picklist-models';
4
+ interface InternalPicklistItem<T = any> extends PickListItem<T> {
5
+ invisible?: boolean;
6
+ selected?: boolean;
7
+ }
8
+ declare type CdkDragEvent = {
9
+ source: CdkDrag<InternalPicklistItem<any>>;
10
+ };
11
+ export declare class PicklistComponent implements AfterViewInit, OnChanges {
12
+ private cdr;
13
+ itensToSelect: PickListItem<any>[];
14
+ selectedItens: PickListItem<any>[];
15
+ availableItensLabel: string;
16
+ availableItensPlaceholder: string;
17
+ addSelectedItensLabel: string;
18
+ addAllItensLabel: string;
19
+ selectedItensLabel: string;
20
+ selectedItensPlaceholder: string;
21
+ removeSelectedItemsLabel: string;
22
+ removeAllItemsLabel: string;
23
+ showCheckbox: boolean;
24
+ filterBy: string;
25
+ selectedItensChange: EventEmitter<any[]>;
26
+ itensToSelectChange: EventEmitter<any[]>;
27
+ availableItensFilter: string;
28
+ selectedItensFilter: string;
29
+ itemToSelectTemplate: TemplateRef<any>;
30
+ itemSelectedTemplate: TemplateRef<any>;
31
+ itensToSelectFilterUtil: {
32
+ rawItensToSelect: InternalPicklistItem[];
33
+ filteredItensToSelect: InternalPicklistItem[];
34
+ };
35
+ selectedItensFilterUtil: {
36
+ rawSelectedItens: InternalPicklistItem[];
37
+ filteredSelectedItens: InternalPicklistItem[];
38
+ };
39
+ selectedItensMap: Set<InternalPicklistItem>;
40
+ itensToSelectId: string;
41
+ selectedItensId: string;
42
+ private lastSelected;
43
+ private templates;
44
+ constructor(cdr: ChangeDetectorRef);
45
+ ngAfterViewInit(): void;
46
+ ngOnChanges(changes: SimpleChanges): void;
47
+ toggleSelected(internalPicklistItem: InternalPicklistItem, containerListId: string): void;
48
+ remove(all?: boolean): void;
49
+ add(all?: boolean): void;
50
+ filterItensToSelect(): void;
51
+ filterSelectedItens(): void;
52
+ drop(event: CdkDragDrop<InternalPicklistItem[]>): void;
53
+ onDragStart(event: CdkDragEvent, dragListId: string): void;
54
+ onDragRelease(): void;
55
+ checkAllAvailableItensChange(checked: boolean): void;
56
+ checkAllSelectedItensChange(checked: boolean): void;
57
+ get disableSelectedItensCheckbox(): boolean;
58
+ get disableItensToSelectCheckbox(): boolean;
59
+ get itensToSelectAllSelected(): boolean;
60
+ get selectedItensAllSelected(): boolean;
61
+ get canAddItens(): boolean;
62
+ get canRemoveItens(): boolean;
63
+ private _checkAllSelectedByList;
64
+ private _checkAllSelectedItensChange;
65
+ private unselectedItensByListId;
66
+ private getAllElementsByListId;
67
+ private getOppositiveId;
68
+ private emitData;
69
+ }
70
+ export declare const parseItensPickList: <T>(array: T[], disabledFn?: (item: T) => boolean) => PickListItem<T>[];
71
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare class PicklistModule {
2
+ }
@@ -14,15 +14,12 @@ export declare class TableColumnsComponent implements OnChanges {
14
14
  columns: Column[];
15
15
  rowValue: any;
16
16
  locale: TableColumnLocaleOptions;
17
+ cellsData: CellData[];
17
18
  formattedColumns: ColumnValues[];
18
19
  constructor(localeService: LocaleService, viewContainerRef: ViewContainerRef, translate: TranslateService, numericService: NumericService, hostProjectConfigs: HostProjectConfigs);
19
20
  ngOnChanges(changes: SimpleChanges): void;
20
21
  isArray(value: any): boolean;
21
- getSplittedString(column: ColumnValues): {
22
- value: string;
23
- isUninformed: boolean;
24
- separator: string;
25
- }[];
22
+ private getCellData;
26
23
  private validateComponentAttributes;
27
24
  private createColumnsTemplate;
28
25
  private getColumnSeparator;
@@ -43,3 +40,9 @@ export declare class TableColumnsComponent implements OnChanges {
43
40
  private isLabelObjectArray;
44
41
  private sortColumnsBySequence;
45
42
  }
43
+ declare type CellData = {
44
+ value: string;
45
+ isUninformed: boolean;
46
+ separator: string;
47
+ }[];
48
+ export {};
@@ -58,8 +58,9 @@ export * from "./tooltip/index";
58
58
  export * from "./utils/index";
59
59
  export * from "./workspace-switch/index";
60
60
  export * from "./label-value/index";
61
+ export * from "./picklist/index";
61
62
  /**
62
63
  * @deprecated Will be removed on a major update
63
64
  */
64
65
  export * from "./number-input/index";
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFFcEM7O0dBRUc7QUFDSCxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYWNjb3JkaW9uL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmFkZ2UvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2JpZ251bWJlci1pbnB1dC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYnJlYWRjcnVtYi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYnV0dG9uL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYWxlbmRhci1tYXNrL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYXJkL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jaGVja2JveC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29kZS1lZGl0b3IvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbGxhcHNlLWxpbmsvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2wtZXJyb3JzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3VudHJ5LXBob25lLXBpY2tlci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY3VzdG9tLWZpZWxkcy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZHluYW1pYy1mb3JtL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lZGl0YWJsZS1vdmVybGF5L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbXB0eS1zdGF0ZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsZS11cGxvYWQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dhbnR0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9nbG9iYWwtc2VhcmNoL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pYS1pbnNpZ2h0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbWFnZS1jcm9wcGVyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbmZvLXNpZ24vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lubGluZS1lZGl0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rYW5iYW4vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvYWRpbmctc3RhdGUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvY2FsZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemVkLW51bWJlci1pbnB1dC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFzay9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW91c2UtZXZlbnRzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uLWJ1dHRvbi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb2JqZWN0LWNhcmQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhbmVsL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXNzd29yZC1zdHJlbmd0aC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZHVjdC1oZWFkZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2dyZXNzYmFyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yYXRpbmctc2NhbGUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGVjdC1idXR0b24vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NoYXJlZC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2lkZWJhci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2xpZGUtcGFuZWwvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NsaWRlci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3BsaXQtYnV0dG9uL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGF0cy1jYXJkL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGVwcy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3dpdGNoL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGUtaGVhZGVyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGV4dC1hcmVhLWlhL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aHVtYm5haWwvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RpZXJlZC1tZW51L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aWxlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aW1lbGluZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9rZW4tbGlzdC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9vbHRpcC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtzcGFjZS1zd2l0Y2gvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xhYmVsLXZhbHVlL2luZGV4XCI7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIG9uIGEgbWFqb3IgdXBkYXRlXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL251bWJlci1pbnB1dC9pbmRleFwiO1xuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQzs7R0FFRztBQUNILGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hY2NvcmRpb24vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FsZXJ0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9iYWRnZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmlnbnVtYmVyLWlucHV0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9icmVhZGNydW1iL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idXR0b24vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhbGVuZGFyLW1hc2svaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhcmQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NoZWNrYm94L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb2RlLWVkaXRvci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29sbGFwc2UtbGluay9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29udHJvbC1lcnJvcnMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvdW50cnktcGhvbmUtcGlja2VyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jdXN0b20tZmllbGRzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9keW5hbWljLWZvcm0vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VkaXRhYmxlLW92ZXJsYXkvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VtcHR5LXN0YXRlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWxlLXVwbG9hZC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ2FudHQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dsb2JhbC1zZWFyY2gvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lhLWluc2lnaHQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ltYWdlLWNyb3BwZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2luZm8tc2lnbi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5saW5lLWVkaXQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2thbmJhbi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9hZGluZy1zdGF0ZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbGl6ZWQtbnVtYmVyLWlucHV0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tYXNrL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb3VzZS1ldmVudHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25hdmlnYXRpb24tYnV0dG9uL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vYmplY3QtY2FyZC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFuZWwvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Bhc3N3b3JkLXN0cmVuZ3RoL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9kdWN0LWhlYWRlci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZmlsZS1waWN0dXJlLXBpY2tlci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZ3Jlc3NiYXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JhdGluZy1zY2FsZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VsZWN0LWJ1dHRvbi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2hhcmVkL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zaWRlYmFyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zbGlkZS1wYW5lbC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2xpZGVyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcGxpdC1idXR0b24vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YXRzLWNhcmQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0ZXBzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zd2l0Y2gvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZS1oZWFkZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlbXBsYXRlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXh0LWFyZWEtaWEvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RodW1ibmFpbC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGllcmVkLW1lbnUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RpbGUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RpbWVsaW5lL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2tlbi1saXN0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b29sdGlwL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29ya3NwYWNlLXN3aXRjaC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGFiZWwtdmFsdWUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BpY2tsaXN0L2luZGV4XCJcbi8qKlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIG9uIGEgbWFqb3IgdXBkYXRlXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL251bWJlci1pbnB1dC9pbmRleFwiO1xuIl19
@@ -0,0 +1,5 @@
1
+ export { PicklistModule } from './picklist.module';
2
+ export { PicklistComponent } from './picklist/picklist.component';
3
+ export * from './picklist/models/picklist-models';
4
+ export * from './picklist/picklist.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9waWNrbGlzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLCtCQUErQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUGlja2xpc3RNb2R1bGUgfSBmcm9tICcuL3BpY2tsaXN0Lm1vZHVsZSc7XG5leHBvcnQgeyBQaWNrbGlzdENvbXBvbmVudCB9IGZyb20gJy4vcGlja2xpc3QvcGlja2xpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGlja2xpc3QvbW9kZWxzL3BpY2tsaXN0LW1vZGVscydcbmV4cG9ydCAqIGZyb20gJy4vcGlja2xpc3QvcGlja2xpc3QuY29tcG9uZW50J1xuIl19
@@ -0,0 +1,6 @@
1
+ export var PicklistTemplateTypes;
2
+ (function (PicklistTemplateTypes) {
3
+ PicklistTemplateTypes["ItemToSelect"] = "item-to-select";
4
+ PicklistTemplateTypes["SelectedItem"] = "selected-item";
5
+ })(PicklistTemplateTypes || (PicklistTemplateTypes = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2xpc3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcGlja2xpc3QvcGlja2xpc3QvbW9kZWxzL3BpY2tsaXN0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLENBQU4sSUFBWSxxQkFHWDtBQUhELFdBQVkscUJBQXFCO0lBQzdCLHdEQUErQixDQUFBO0lBQy9CLHVEQUE4QixDQUFBO0FBQ2xDLENBQUMsRUFIVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBR2hDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQaWNrTGlzdEl0ZW08VD4ge1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBkYXRhOiBUO1xufVxuXG5leHBvcnQgZW51bSBQaWNrbGlzdFRlbXBsYXRlVHlwZXMge1xuICAgIEl0ZW1Ub1NlbGVjdCA9ICdpdGVtLXRvLXNlbGVjdCcsXG4gICAgU2VsZWN0ZWRJdGVtID0gJ3NlbGVjdGVkLWl0ZW0nXG59XG4iXX0=
@@ -0,0 +1,305 @@
1
+ import { __decorate } from "tslib";
2
+ import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, OnChanges, Output, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
3
+ import { pipe } from 'rxjs';
4
+ import { TemplateDirective } from './../../template/template.directive';
5
+ import { PicklistTemplateTypes } from './models/picklist-models';
6
+ let PicklistComponent = class PicklistComponent {
7
+ constructor(cdr) {
8
+ this.cdr = cdr;
9
+ this.itensToSelect = [];
10
+ this.selectedItens = [];
11
+ this.showCheckbox = false;
12
+ this.filterBy = '';
13
+ this.selectedItensChange = new EventEmitter();
14
+ this.itensToSelectChange = new EventEmitter();
15
+ this.availableItensFilter = '';
16
+ this.selectedItensFilter = '';
17
+ this.itensToSelectFilterUtil = {
18
+ rawItensToSelect: [],
19
+ filteredItensToSelect: [],
20
+ };
21
+ this.selectedItensFilterUtil = {
22
+ rawSelectedItens: [],
23
+ filteredSelectedItens: [],
24
+ };
25
+ this.selectedItensMap = new Set();
26
+ this.itensToSelectId = randomHash('itensToSelect');
27
+ this.selectedItensId = randomHash('selectedItens');
28
+ }
29
+ ngAfterViewInit() {
30
+ var _a, _b;
31
+ this.itemToSelectTemplate = (_a = this.templates.find(x => x.type === PicklistTemplateTypes.ItemToSelect)) === null || _a === void 0 ? void 0 : _a.template;
32
+ this.itemSelectedTemplate = (_b = this.templates.find(x => x.type === PicklistTemplateTypes.SelectedItem)) === null || _b === void 0 ? void 0 : _b.template;
33
+ if (!this.itemToSelectTemplate) {
34
+ console.error(`Missing template for ${PicklistTemplateTypes.ItemToSelect} add this template using sTemplate directive.`);
35
+ }
36
+ if (!this.itemSelectedTemplate) {
37
+ console.error(`Missing template for ${PicklistTemplateTypes.SelectedItem} add this template using sTemplate directive.`);
38
+ }
39
+ this.cdr.detectChanges();
40
+ }
41
+ ngOnChanges(changes) {
42
+ if (changes.itensToSelect && changes.itensToSelect.firstChange) {
43
+ this.itensToSelectFilterUtil = {
44
+ rawItensToSelect: this.itensToSelect,
45
+ filteredItensToSelect: this.itensToSelect,
46
+ };
47
+ }
48
+ if (changes.selectedItens && changes.selectedItens.firstChange) {
49
+ this.selectedItensFilterUtil = {
50
+ filteredSelectedItens: this.selectedItens,
51
+ rawSelectedItens: this.selectedItens
52
+ };
53
+ }
54
+ }
55
+ toggleSelected(internalPicklistItem, containerListId) {
56
+ if (internalPicklistItem.disabled) {
57
+ return;
58
+ }
59
+ this.unselectedItensByListId(this.getOppositiveId(containerListId));
60
+ internalPicklistItem.selected = !internalPicklistItem.selected;
61
+ if (internalPicklistItem.selected) {
62
+ this.selectedItensMap.add(internalPicklistItem);
63
+ }
64
+ else {
65
+ this.selectedItensMap.delete(internalPicklistItem);
66
+ }
67
+ this.cdr.detectChanges();
68
+ }
69
+ remove(all = false) {
70
+ const itens = filterEnabled((all ? this.selectedItensFilterUtil.rawSelectedItens : this.selectedItensMap));
71
+ if (!itens.length) {
72
+ return;
73
+ }
74
+ itens.forEach((itemRemove) => {
75
+ this.itensToSelect.push(itemRemove);
76
+ itemRemove.selected = false;
77
+ this.selectedItensMap.delete(itemRemove);
78
+ });
79
+ this.selectedItens = this.selectedItens.filter(x => !itens.includes(x));
80
+ this.selectedItensFilterUtil.rawSelectedItens = this.selectedItens;
81
+ this.filterSelectedItens();
82
+ this.filterItensToSelect();
83
+ this.emitData();
84
+ this.cdr.detectChanges();
85
+ }
86
+ add(all = false) {
87
+ const itens = filterEnabled((all ? this.itensToSelectFilterUtil.rawItensToSelect : this.selectedItensMap));
88
+ if (!itens.length) {
89
+ return;
90
+ }
91
+ itens.forEach((itemRemove) => {
92
+ this.selectedItens.push(itemRemove);
93
+ itemRemove.selected = false;
94
+ this.selectedItensMap.delete(itemRemove);
95
+ });
96
+ this.itensToSelect = this.itensToSelect.filter(x => !itens.includes(x));
97
+ this.itensToSelectFilterUtil.rawItensToSelect = this.itensToSelect;
98
+ this.filterSelectedItens();
99
+ this.filterItensToSelect();
100
+ this.emitData();
101
+ this.cdr.detectChanges();
102
+ }
103
+ filterItensToSelect() {
104
+ let searchTerm = this.availableItensFilter;
105
+ searchTerm = searchTerm.trim();
106
+ if (searchTerm) {
107
+ this.itensToSelectFilterUtil.filteredItensToSelect = this.itensToSelectFilterUtil.rawItensToSelect
108
+ .filter((item) => compareStrings(item.data[this.filterBy], searchTerm));
109
+ }
110
+ else {
111
+ this.itensToSelectFilterUtil.filteredItensToSelect = this.itensToSelectFilterUtil.rawItensToSelect;
112
+ }
113
+ this.cdr.detectChanges();
114
+ }
115
+ filterSelectedItens() {
116
+ let searchTerm = this.selectedItensFilter;
117
+ searchTerm = searchTerm.trim();
118
+ if (searchTerm) {
119
+ this.selectedItensFilterUtil.filteredSelectedItens = this.selectedItensFilterUtil.rawSelectedItens
120
+ .filter((item) => compareStrings(item.data[this.filterBy], searchTerm));
121
+ }
122
+ else {
123
+ this.selectedItensFilterUtil.filteredSelectedItens = this.selectedItensFilterUtil.rawSelectedItens;
124
+ }
125
+ }
126
+ drop(event) {
127
+ const isDifferentContainer = event.container !== event.previousContainer;
128
+ if (!isDifferentContainer) {
129
+ return;
130
+ }
131
+ const isRemovedItens = event.previousContainer.id === this.selectedItensId;
132
+ if (isRemovedItens) {
133
+ this.remove();
134
+ }
135
+ else {
136
+ this.add();
137
+ }
138
+ this.cdr.detectChanges();
139
+ }
140
+ onDragStart(event, dragListId) {
141
+ this.unselectedItensByListId(this.getOppositiveId(dragListId));
142
+ event.source.data.selected = true;
143
+ this.selectedItensMap.add(event.source.data);
144
+ this.selectedItensMap.forEach((x) => x.invisible = true);
145
+ this.cdr.detectChanges();
146
+ }
147
+ onDragRelease() {
148
+ this.selectedItensMap.forEach((item) => item.invisible = false);
149
+ }
150
+ checkAllAvailableItensChange(checked) {
151
+ this._checkAllSelectedItensChange(checked, this.itensToSelectFilterUtil.filteredItensToSelect, this.itensToSelectId);
152
+ }
153
+ checkAllSelectedItensChange(checked) {
154
+ this._checkAllSelectedItensChange(checked, this.selectedItensFilterUtil.filteredSelectedItens, this.selectedItensId);
155
+ }
156
+ get disableSelectedItensCheckbox() {
157
+ return filterEnabled(this.selectedItensFilterUtil.filteredSelectedItens).length === 0;
158
+ }
159
+ get disableItensToSelectCheckbox() {
160
+ return filterEnabled(this.itensToSelectFilterUtil.filteredItensToSelect).length === 0;
161
+ }
162
+ get itensToSelectAllSelected() {
163
+ return this._checkAllSelectedByList(this.itensToSelectFilterUtil.filteredItensToSelect);
164
+ }
165
+ get selectedItensAllSelected() {
166
+ return this._checkAllSelectedByList(this.selectedItensFilterUtil.filteredSelectedItens);
167
+ }
168
+ get canAddItens() {
169
+ return this.itensToSelect.filter((x) => x === null || x === void 0 ? void 0 : x.selected).length > 0;
170
+ }
171
+ get canRemoveItens() {
172
+ return this.selectedItens.filter((x) => x === null || x === void 0 ? void 0 : x.selected).length > 0;
173
+ }
174
+ _checkAllSelectedByList(list) {
175
+ const _listItens = filterEnabled(list);
176
+ if (!_listItens.length) {
177
+ return false;
178
+ }
179
+ else {
180
+ return _listItens.every((x) => x.selected);
181
+ }
182
+ }
183
+ _checkAllSelectedItensChange(checked, list, listId) {
184
+ this.unselectedItensByListId(listId === this.selectedItensId ? this.itensToSelectId : this.selectedItensId);
185
+ filterEnabled(list).forEach((item) => {
186
+ item.selected = checked;
187
+ this.selectedItensMap.add(item);
188
+ });
189
+ this.cdr.detectChanges();
190
+ }
191
+ unselectedItensByListId(listId) {
192
+ const clearList = this.getAllElementsByListId(listId);
193
+ clearList.forEach((x) => {
194
+ x.selected = false;
195
+ this.selectedItensMap.delete(x);
196
+ });
197
+ this.cdr.detectChanges();
198
+ }
199
+ getAllElementsByListId(listId) {
200
+ return listId === this.selectedItensId ? this.selectedItensFilterUtil.rawSelectedItens : this.itensToSelectFilterUtil.rawItensToSelect;
201
+ }
202
+ getOppositiveId(listId) {
203
+ return listId === this.selectedItensId ? this.itensToSelectId : this.selectedItensId;
204
+ }
205
+ emitData() {
206
+ this.itensToSelectChange.emit(parseValueEmit(this.itensToSelect));
207
+ this.selectedItensChange.emit(parseValueEmit(this.selectedItens));
208
+ }
209
+ };
210
+ PicklistComponent.ctorParameters = () => [
211
+ { type: ChangeDetectorRef }
212
+ ];
213
+ __decorate([
214
+ Input()
215
+ ], PicklistComponent.prototype, "itensToSelect", void 0);
216
+ __decorate([
217
+ Input()
218
+ ], PicklistComponent.prototype, "selectedItens", void 0);
219
+ __decorate([
220
+ Input()
221
+ ], PicklistComponent.prototype, "availableItensLabel", void 0);
222
+ __decorate([
223
+ Input()
224
+ ], PicklistComponent.prototype, "availableItensPlaceholder", void 0);
225
+ __decorate([
226
+ Input()
227
+ ], PicklistComponent.prototype, "addSelectedItensLabel", void 0);
228
+ __decorate([
229
+ Input()
230
+ ], PicklistComponent.prototype, "addAllItensLabel", void 0);
231
+ __decorate([
232
+ Input()
233
+ ], PicklistComponent.prototype, "selectedItensLabel", void 0);
234
+ __decorate([
235
+ Input()
236
+ ], PicklistComponent.prototype, "selectedItensPlaceholder", void 0);
237
+ __decorate([
238
+ Input()
239
+ ], PicklistComponent.prototype, "removeSelectedItemsLabel", void 0);
240
+ __decorate([
241
+ Input()
242
+ ], PicklistComponent.prototype, "removeAllItemsLabel", void 0);
243
+ __decorate([
244
+ Input()
245
+ ], PicklistComponent.prototype, "showCheckbox", void 0);
246
+ __decorate([
247
+ Input()
248
+ ], PicklistComponent.prototype, "filterBy", void 0);
249
+ __decorate([
250
+ Output()
251
+ ], PicklistComponent.prototype, "selectedItensChange", void 0);
252
+ __decorate([
253
+ Output()
254
+ ], PicklistComponent.prototype, "itensToSelectChange", void 0);
255
+ __decorate([
256
+ ContentChildren(TemplateDirective)
257
+ ], PicklistComponent.prototype, "templates", void 0);
258
+ PicklistComponent = __decorate([
259
+ Component({
260
+ selector: 's-picklist',
261
+ template: "<ng-template #previewRender let-itens=\"itens\" let-template=\"template\">\n <section class=\"picklist-items\">\n <ng-container *ngFor=\"let item of itens\">\n <ng-container *ngTemplateOutlet=\"template; context: { item: item.data }\"></ng-container>\n </ng-container>\n </section>\n</ng-template>\n\n<ng-template #picklistItensRender let-id=\"id\" let-itens=\"itens\" let-template=\"template\" let-listConnectedTo=\"listConnectedTo\">\n <div\n class=\"picklist-items\"\n cdkDropList\n [id]=\"id\"\n [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"itens\"\n [cdkDropListConnectedTo]=\"listConnectedTo\"\n (cdkDropListDropped)=\"drop($event)\">\n <div\n *ngFor=\"let item of itens\"\n cdkDrag\n [cdkDragDisabled]=\"item.disabled\"\n [cdkDragData]=\"item\"\n (click)=\"toggleSelected(item, id)\"\n (cdkDragStarted)=\"onDragStart($event, id)\"\n (cdkDragReleased)=\"onDragRelease()\"\n class=\"picklist-item\"\n [class.picklist-disabled]=\"item.disabled\"\n [class.picklist-item-invisible]=\"item.invisible\"\n [class.picklist-item-active]=\"item.selected\">\n <input\n type=\"checkbox\"\n class=\"input-checkbox\"\n [(ngModel)]=\"item.selected\"\n [disabled]=\"item.disabled\"\n *ngIf=\"showCheckbox\">\n <div class=\"picklist-content\">\n <ng-container *ngTemplateOutlet=\"template; context: { item: item.data, selected: item.selected, disabled: item.disabled }\"></ng-container>\n </div>\n <ng-container *cdkDragPreview>\n <ng-container *ngTemplateOutlet=\"previewRender; context: { itens: selectedItensMap, template: template }\"></ng-container>\n </ng-container>\n </div>\n</div>\n</ng-template>\n\n<ng-template #checkboxTitleRender let-disabled=\"disabled\" let-checked=\"checked\" let-changeFn=\"changeFn\">\n <input\n *ngIf=\"showCheckbox\"\n class=\"input-checkbox\"\n type=\"checkbox\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n (change)=\"changeFn($event.target.checked)\">\n</ng-template>\n\n<div class=\"picklist-container\">\n <div class=\"picklist-item-container\">\n <div class=\"picklist-box\">\n <div class=\"picklist-title-container\">\n <ng-container *ngIf=\"!filterBy\">\n <ng-container *ngTemplateOutlet=\"checkboxTitleRender; context: { disabled: disableItensToSelectCheckbox, checked: itensToSelectAllSelected, changeFn: checkAllAvailableItensChange.bind(this) }\"></ng-container>\n </ng-container>\n <span class=\"picklist-title\">\n {{ availableItensLabel || 'platform.angular_components.available-items' | translate }}\n </span>\n </div>\n <div class=\"picklist-filter\" *ngIf=\"filterBy && showCheckbox\">\n <ng-container *ngTemplateOutlet=\"checkboxTitleRender; context: { disabled: disableItensToSelectCheckbox, checked: itensToSelectAllSelected, changeFn: checkAllAvailableItensChange.bind(this) }\"></ng-container>\n <input\n *ngIf=\"filterBy\"\n type=\"text\"\n class=\"input-search\"\n [(ngModel)]=\"availableItensFilter\"\n (ngModelChange)=\"filterItensToSelect()\"\n [placeholder]=\"availableItensPlaceholder || 'plataform.angular_components.picklist-placeholder' | translate\">\n </div>\n <ng-container *ngTemplateOutlet=\"picklistItensRender;\n context: {\n id: itensToSelectId,\n itens: itensToSelectFilterUtil.filteredItensToSelect,\n template: itemToSelectTemplate,\n listConnectedTo: selectedItensId\n }\">\n </ng-container>\n </div>\n <div class=\"buttons-container\">\n <s-button\n [label]=\"addSelectedItensLabel || 'platform.angular_components.add' | translate\"\n priority=\"primary\"\n rightIconClass=\"fa fa-fw fa-arrow-right\"\n [disabled]=\"!canAddItens\"\n (onClick)=\"add()\"\n [auxiliary]=\"false\"\n [caret]=\"false\">\n </s-button>\n <s-button\n [label]=\"addAllItensLabel || 'platform.angular_components.add_all' | translate\"\n priority=\"link\"\n (onClick)=\"add(true)\"\n [auxiliary]=\"false\">\n </s-button>\n </div>\n </div>\n <div class=\"picklist-item-container\">\n <div class=\"picklist-box\">\n <div class=\"picklist-title-container\">\n <ng-container *ngIf=\"!filterBy\">\n <ng-container *ngTemplateOutlet=\"checkboxTitleRender; context: { disabled: disableSelectedItensCheckbox, checked: selectedItensAllSelected, changeFn: checkAllSelectedItensChange.bind(this) }\"></ng-container>\n </ng-container>\n <span class=\"picklist-title\">\n {{ selectedItensLabel || 'platform.angular_components.selected-items' | translate }}\n </span>\n </div>\n <div class=\"picklist-filter\" *ngIf=\"filterBy && showCheckbox\">\n <ng-container *ngTemplateOutlet=\"checkboxTitleRender; context: { disabled: disableSelectedItensCheckbox, checked: selectedItensAllSelected, changeFn: checkAllSelectedItensChange.bind(this) }\"></ng-container>\n <input\n *ngIf=\"filterBy\"\n type=\"text\"\n class=\"input-search\"\n [(ngModel)]=\"selectedItensFilter\"\n (ngModelChange)=\"filterSelectedItens()\"\n [placeholder]=\"selectedItensPlaceholder || 'plataform.angular_components.picklist-placeholder' | translate\">\n </div>\n <ng-container *ngTemplateOutlet=\"picklistItensRender;\n context: {\n id: selectedItensId,\n itens: selectedItensFilterUtil.filteredSelectedItens,\n template: itemSelectedTemplate,\n listConnectedTo: itensToSelectId\n }\">\n\n </ng-container>\n </div>\n <div class=\"buttons-container\">\n <s-button\n [label]=\"removeSelectedItemsLabel || 'platform.angular_components.remove' | translate\"\n priority=\"primary\"\n iconClass=\"fa fa-fw fa-arrow-left\"\n [disabled]=\"!canRemoveItens\"\n [auxiliary]=\"false\"\n (onClick)=\"remove()\"\n [caret]=\"false\">\n </s-button>\n <s-button\n [label]=\"removeAllItemsLabel || 'platform.angular_components.remove_all' | translate\"\n priority=\"link\"\n (onClick)=\"remove(true)\"\n [auxiliary]=\"false\">\n </s-button>\n </div>\n </div>\n</div>\n",
262
+ styles: [".picklist-container{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;border-radius:4px solid #dedce5;width:100%;background-color:#fff;gap:20px;padding:8px}.picklist-container .picklist-item-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1;flex:1}.picklist-container .picklist-item-container .picklist-box{border:1px solid #dedce5;padding:8px;height:100%;min-width:200px}.picklist-container .picklist-item-container .picklist-box .picklist-filter{display:-ms-flexbox;display:flex;width:100%}.picklist-container .picklist-item-container .picklist-box .picklist-filter .input-search{border:1px solid #dedce5;min-height:35px;width:100%;border-radius:3px;margin-bottom:10px;margin-top:10px;padding:0 8px;-ms-flex:1;flex:1}.picklist-container .picklist-item-container .picklist-box .picklist-title-container{width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.picklist-container .picklist-item-container .picklist-box .picklist-title-container .picklist-title{font-family:Open Sans;font-size:14px;font-weight:700;line-height:21px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.picklist-container .picklist-item-container .picklist-box .picklist-items{max-height:23em;overflow:auto;height:100%;min-height:55px}.picklist-container .picklist-item-container .picklist-box .picklist-items .picklist-content{width:100%;height:100%;padding-right:8px;border-radius:3px;margin-bottom:8px}.picklist-container .picklist-item-container .picklist-box .picklist-items .picklist-item{height:55px;border:3px;display:-ms-flexbox;display:flex}.picklist-container .picklist-item-container .picklist-box .picklist-items .picklist-item:not(.picklist-disabled){cursor:pointer}.picklist-container .picklist-item-container .picklist-box .picklist-items .picklist-item:hover:not(.picklist-disabled,.picklist-item-active,.picklist-item-invisible){background-color:#f1f7f8}.picklist-container .picklist-item-container .picklist-box .picklist-items .picklist-item-active:not(.picklist-item-invisible){background-color:#d5e8ec}.picklist-container .picklist-item-container .picklist-box .picklist-items .picklist-disabled{opacity:.5;background-color:#fbfafc}.picklist-container .picklist-item-container .picklist-box .picklist-items .picklist-item-invisible{display:none!important}.picklist-container .picklist-item-container .buttons-container{padding-top:10px;display:-ms-flexbox;display:flex}.picklist-container .picklist-item-container .input-checkbox{margin:12px}"]
263
+ })
264
+ ], PicklistComponent);
265
+ export { PicklistComponent };
266
+ const normalizeString = (str) => {
267
+ return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase();
268
+ };
269
+ const ɵ0 = normalizeString;
270
+ /**
271
+ * Compares two strings by normalizing them to a case-insensitive and accent-free form,
272
+ * and checks if the main string contains the substring.
273
+ *
274
+ * @param mainString - The string to be searched.
275
+ * @param substring - The string to search for within the main string.
276
+ * @returns A boolean indicating whether the normalized main string contains the normalized substring.
277
+ */
278
+ const compareStrings = (mainString, substring) => {
279
+ return normalizeString(mainString).includes(normalizeString(substring));
280
+ };
281
+ const ɵ1 = compareStrings;
282
+ const randomHash = (prefix = 'id') => {
283
+ return `${prefix}-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;
284
+ };
285
+ const ɵ2 = randomHash;
286
+ const filterEnabled = (list) => {
287
+ const _list = list instanceof Set ? Array.from(list) : list;
288
+ return _list.filter((x) => !x.disabled);
289
+ };
290
+ const ɵ3 = filterEnabled;
291
+ const mapData = (list) => {
292
+ return list.map((x) => x.data);
293
+ };
294
+ const ɵ4 = mapData;
295
+ const parseValueEmit = pipe(filterEnabled, mapData);
296
+ export const parseItensPickList = (array, disabledFn) => {
297
+ return array.map((x) => {
298
+ return {
299
+ data: x,
300
+ disabled: disabledFn ? disabledFn(x) : false
301
+ };
302
+ });
303
+ };
304
+ export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4 };
305
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2xpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcGlja2xpc3QvcGlja2xpc3QvcGlja2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVLLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBYy9FLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBd0M1QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZDakMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQVN4QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2Isd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUNoRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzFELHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFHekIsNEJBQXVCLEdBR25CO1lBQ0EsZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixxQkFBcUIsRUFBRSxFQUFFO1NBQzFCLENBQUE7UUFFSCw0QkFBdUIsR0FHbkI7WUFDQSxnQkFBZ0IsRUFBRSxFQUFF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RUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDN0YsQ0FBQyxDQUFBOztBQUVELE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBcUQsRUFBMEIsRUFBRTtJQUN0RyxNQUFNLEtBQUssR0FBRyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUE7O0FBRUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUF5QixFQUFFLEVBQUU7SUFDNUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFBOztBQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFFbkQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBSSxLQUFVLEVBQUUsVUFBaUMsRUFBcUIsRUFBRTtJQUN4RyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNyQixPQUFPO1lBQ0wsSUFBSSxFQUFFLENBQUM7WUFDUCxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDN0MsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi8uLi8uLi90ZW1wbGF0ZS90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGlja2xpc3RUZW1wbGF0ZVR5cGVzLCBQaWNrTGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscy9waWNrbGlzdC1tb2RlbHMnO1xuXG5pbnRlcmZhY2UgSW50ZXJuYWxQaWNrbGlzdEl0ZW08VCA9IGFueT4gZXh0ZW5kcyBQaWNrTGlzdEl0ZW08VD4ge1xuICBpbnZpc2libGU/OiBib29sZWFuXG4gIHNlbGVjdGVkPzogYm9vbGVhblxufVxuXG50eXBlIENka0RyYWdFdmVudCA9IHsgc291cmNlOiBDZGtEcmFnPEludGVybmFsUGlja2xpc3RJdGVtPGFueT4+IH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtcGlja2xpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlja2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waWNrbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBpY2tsaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgaXRlbnNUb1NlbGVjdDogUGlja0xpc3RJdGVtPGFueT5bXSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW5zOiBQaWNrTGlzdEl0ZW08YW55PltdID0gW107XG4gIEBJbnB1dCgpIGF2YWlsYWJsZUl0ZW5zTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgYXZhaWxhYmxlSXRlbnNQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBhZGRTZWxlY3RlZEl0ZW5zTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgYWRkQWxsSXRlbnNMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW5zTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVuc1BsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlbW92ZVNlbGVjdGVkSXRlbXNMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSByZW1vdmVBbGxJdGVtc0xhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dDaGVja2JveCA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWx0ZXJCeSA9ICcnO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVuc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBpdGVuc1RvU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgYXZhaWxhYmxlSXRlbnNGaWx0ZXIgPSAnJztcbiAgc2VsZWN0ZWRJdGVuc0ZpbHRlciA9ICcnO1xuICBpdGVtVG9TZWxlY3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgaXRlbVNlbGVjdGVkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIGl0ZW5zVG9TZWxlY3RGaWx0ZXJVdGlsOiB7XG4gICAgcmF3SXRlbnNUb1NlbGVjdDogSW50ZXJuYWxQaWNrbGlzdEl0ZW1bXSxcbiAgICBmaWx0ZXJlZEl0ZW5zVG9TZWxlY3Q6IEludGVybmFsUGlja2xpc3RJdGVtW10sXG4gIH0gPSB7XG4gICAgICByYXdJdGVuc1RvU2VsZWN0OiBbXSxcbiAgICAgIGZpbHRlcmVkSXRlbnNUb1NlbGVjdDogW10sXG4gICAgfVxuXG4gIHNlbGVjdGVkSXRlbnNGaWx0ZXJVdGlsOiB7XG4gICAgcmF3U2VsZWN0ZWRJdGVuczogSW50ZXJuYWxQaWNrbGlzdEl0ZW1bXVxuICAgIGZpbHRlcmVkU2VsZWN0ZWRJdGVuczogSW50ZXJuYWxQaWNrbGlzdEl0ZW1bXSxcbiAgfSA9IHtcbiAgICAgIHJhd1NlbGVjdGVkSXRlbnM6IFtdLFxuICAgICAgZmlsdGVyZWRTZWxlY3RlZEl0ZW5zOiBbXSxcbiAgICB9XG4gIHNlbGVjdGVkSXRlbnNNYXA6IFNldDxJbnRlcm5hbFBpY2tsaXN0SXRlbT4gPSBuZXcgU2V0KCk7XG4gIGl0ZW5zVG9TZWxlY3RJZCA9IHJhbmRvbUhhc2goJ2l0ZW5zVG9TZWxlY3QnKTtcbiAgc2VsZWN0ZWRJdGVuc0lkID0gcmFuZG9tSGFzaCgnc2VsZWN0ZWRJdGVucycpO1xuICBwcml2YXRlIGxhc3RTZWxlY3RlZDogJ3RvU2VsZWN0JyB8ICdzZWxlY3RlZCc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZURpcmVjdGl2ZSkgcHJpdmF0ZSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZURpcmVjdGl2ZT47XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVRvU2VsZWN0VGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlcy5maW5kKHggPT4geC50eXBlID09PSBQaWNrbGlzdFRlbXBsYXRlVHlwZXMuSXRlbVRvU2VsZWN0KT8udGVtcGxhdGU7XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWRUZW1wbGF0ZSA9IHRoaXMudGVtcGxhdGVzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBpY2tsaXN0VGVtcGxhdGVUeXBlcy5TZWxlY3RlZEl0ZW0pPy50ZW1wbGF0ZTtcbiAgICBpZiAoIXRoaXMuaXRlbVRvU2VsZWN0VGVtcGxhdGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1pc3NpbmcgdGVtcGxhdGUgZm9yICR7UGlja2xpc3RUZW1wbGF0ZVR5cGVzLkl0ZW1Ub1NlbGVjdH0gYWRkIHRoaXMgdGVtcGxhdGUgdXNpbmcgc1RlbXBsYXRlIGRpcmVjdGl2ZS5gKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLml0ZW1TZWxlY3RlZFRlbXBsYXRlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNaXNzaW5nIHRlbXBsYXRlIGZvciAke1BpY2tsaXN0VGVtcGxhdGVUeXBlcy5TZWxlY3RlZEl0ZW19IGFkZCB0aGlzIHRlbXBsYXRlIHVzaW5nIHNUZW1wbGF0ZSBkaXJlY3RpdmUuYCk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5pdGVuc1RvU2VsZWN0ICYmIGNoYW5nZXMuaXRlbnNUb1NlbGVjdC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5pdGVuc1RvU2VsZWN0RmlsdGVyVXRpbCA9IHtcbiAgICAgICAgcmF3SXRlbnNUb1NlbGVjdDogdGhpcy5pdGVuc1RvU2VsZWN0LFxuICAgICAgICBmaWx0ZXJlZEl0ZW5zVG9TZWxlY3Q6IHRoaXMuaXRlbnNUb1NlbGVjdCxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZEl0ZW5zICYmIGNoYW5nZXMuc2VsZWN0ZWRJdGVucy5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW5zRmlsdGVyVXRpbCA9IHtcbiAgICAgICAgZmlsdGVyZWRTZWxlY3RlZEl0ZW5zOiB0aGlzLnNlbGVjdGVkSXRlbnMsXG4gICAgICAgIHJhd1NlbGVjdGVkSXRlbnM6IHRoaXMuc2VsZWN0ZWRJdGVuc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdGVkKGludGVybmFsUGlja2xpc3RJdGVtOiBJbnRlcm5hbFBpY2tsaXN0SXRlbSwgY29udGFpbmVyTGlzdElkOiBzdHJpbmcpIHtcbiAgICBpZiAoaW50ZXJuYWxQaWNrbGlzdEl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy51bnNlbGVjdGVkSXRlbnNCeUxpc3RJZCh0aGlzLmdldE9wcG9zaXRpdmVJZChjb250YWluZXJMaXN0SWQpKTtcbiAgICBpbnRlcm5hbFBpY2tsaXN0SXRlbS5zZWxlY3RlZCA9ICFpbnRlcm5hbFBpY2tsaXN0SXRlbS5zZWxlY3RlZDtcbiAgICBpZiAoaW50ZXJuYWxQaWNrbGlzdEl0ZW0uc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVuc01hcC5hZGQoaW50ZXJuYWxQaWNrbGlzdEl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbnNNYXAuZGVsZXRlKGludGVybmFsUGlja2xpc3RJdGVtKTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcmVtb3ZlKGFsbCA9IGZhbHNlKSB7XG4gICAgY29uc3QgaXRlbnMgPSBmaWx0ZXJFbmFibGVkKChhbGwgPyB0aGlzLnNlbGVjdGVkSXRlbnNGaWx0ZXJVdGlsLnJhd1NlbGVjdGVkSXRlbnMgOiB0aGlzLnNlbGVjdGVkSXRlbnNNYXApKTtcbiAgICBpZiAoIWl0ZW5zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpdGVucy5mb3JFYWNoKChpdGVtUmVtb3ZlKSA9PiB7XG4gICAgICB0aGlzLml0ZW5zVG9TZWxlY3QucHVzaChpdGVtUmVtb3ZlKTtcbiAgICAgIGl0ZW1SZW1vdmUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVuc01hcC5kZWxldGUoaXRlbVJlbW92ZSk7XG4gICAgfSlcbiAgICB0aGlzLnNlbGVjdGVkSXRlbnMgPSB0aGlzLnNlbGVjdGVkSXRlbnMuZmlsdGVyKHggPT4gIWl0ZW5zLmluY2x1ZGVzKHgpKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbnNGaWx0ZXJVdGlsLnJhd1NlbGVjdGVkSXRlbnMgPSB0aGlzLnNlbGVjdGVkSXRlbnM7XG4gICAgdGhpcy5maWx0ZXJTZWxlY3RlZEl0ZW5zKCk7XG4gICAgdGhpcy5maWx0ZXJJdGVuc1RvU2VsZWN0KCk7XG4gICAgdGhpcy5lbWl0RGF0YSgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGFkZChhbGwgPSBmYWxzZSkge1xuICAgIGNvbnN0IGl0ZW5zID0gZmlsdGVyRW5hYmxlZCgoYWxsID8gdGhpcy5pdGVuc1RvU2VsZWN0RmlsdGVyVXRpbC5yYXdJdGVuc1RvU2VsZWN0IDogdGhpcy5zZWxlY3RlZEl0ZW5zTWFwKSk7XG4gICAgaWYgKCFpdGVucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXRlbnMuZm9yRWFjaCgoaXRlbVJlbW92ZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW5zLnB1c2goaXRlbVJlbW92ZSk7XG4gICAgICBpdGVtUmVtb3ZlLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbnNNYXAuZGVsZXRlKGl0ZW1SZW1vdmUpO1xuICAgIH0pXG4gICAgdGhpcy5pdGVuc1RvU2VsZWN0ID0gdGhpcy5pdGVuc1RvU2VsZWN0LmZpbHRlcih4ID0+ICFpdGVucy5pbmNsdWRlcyh4KSk7XG4gICAgdGhpcy5pdGVuc1RvU2VsZWN0RmlsdGVyVXRpbC5yYXdJdGVuc1RvU2VsZWN0ID0gdGhpcy5pdGVuc1RvU2VsZWN0O1xuICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWRJdGVucygpO1xuICAgIHRoaXMuZmlsdGVySXRlbnNUb1NlbGVjdCgpO1xuICAgIHRoaXMuZW1pdERhdGEoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBmaWx0ZXJJdGVuc1RvU2VsZWN0KCkge1xuICAgIGxldCBzZWFyY2hUZXJtID0gdGhpcy5hdmFpbGFibGVJdGVuc0ZpbHRlcjtcbiAgICBzZWFyY2hUZXJtID0gc2VhcmNoVGVybS50cmltKCk7XG4gICAgaWYgKHNlYXJjaFRlcm0pIHtcbiAgICAgIHRoaXMuaXRlbnNUb1NlbGVjdEZpbHRlclV0aWwuZmlsdGVyZWRJdGVuc1RvU2VsZWN0ID0gdGhpcy5pdGVuc1RvU2VsZWN0RmlsdGVyVXRpbC5yYXdJdGVuc1RvU2VsZWN0XG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGNvbXBhcmVTdHJpbmdzKGl0ZW0uZGF0YVt0aGlzLmZpbHRlckJ5XSwgc2VhcmNoVGVybSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLml0ZW5zVG9TZWxlY3RGaWx0ZXJVdGlsLmZpbHRlcmVkSXRlbnNUb1NlbGVjdCA9IHRoaXMuaXRlbnNUb1NlbGVjdEZpbHRlclV0aWwucmF3SXRlbnNUb1NlbGVjdDtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZmlsdGVyU2VsZWN0ZWRJdGVucygpIHtcbiAgICBsZXQgc2VhcmNoVGVybSA9IHRoaXMuc2VsZWN0ZWRJdGVuc0ZpbHRlcjtcbiAgICBzZWFyY2hUZXJtID0gc2VhcmNoVGVybS50cmltKCk7XG4gICAgaWYgKHNlYXJjaFRlcm0pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVuc0ZpbHRlclV0aWwuZmlsdGVyZWRTZWxlY3RlZEl0ZW5zID0gdGhpcy5zZWxlY3RlZEl0ZW5zRmlsdGVyVXRpbC5yYXdTZWxlY3RlZEl0ZW5zXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGNvbXBhcmVTdHJpbmdzKGl0ZW0uZGF0YVt0aGlzLmZpbHRlckJ5XSwgc2VhcmNoVGVybSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbnNGaWx0ZXJVdGlsLmZpbHRlcmVkU2VsZWN0ZWRJdGVucyA9IHRoaXMuc2VsZWN0ZWRJdGVuc0ZpbHRlclV0aWwucmF3U2VsZWN0ZWRJdGVucztcbiAgICB9XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxJbnRlcm5hbFBpY2tsaXN0SXRlbVtdPikge1xuICAgIGNvbnN0IGlzRGlmZmVyZW50Q29udGFpbmVyID0gZXZlbnQuY29udGFpbmVyICE9PSBldmVudC5wcmV2aW91c0NvbnRhaW5lcjtcbiAgICBpZiAoIWlzRGlmZmVyZW50Q29udGFpbmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNSZW1vdmVkSXRlbnMgPSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5pZCA9PT0gdGhpcy5zZWxlY3RlZEl0ZW5zSWQ7XG4gICAgaWYgKGlzUmVtb3ZlZEl0ZW5zKSB7XG4gICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZCgpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkRyYWdTdGFydChldmVudDogQ2RrRHJhZ0V2ZW50LCBkcmFnTGlzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVuc2VsZWN0ZWRJdGVuc0J5TGlzdElkKHRoaXMuZ2V0T3Bwb3NpdGl2ZUlkKGRyYWdMaXN0SWQpKTtcbiAgICBldmVudC5zb3VyY2UuZGF0YS5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW5zTWFwLmFkZChldmVudC5zb3VyY2UuZGF0YSk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW5zTWFwLmZvckVhY2goKHgpID0+IHguaW52aXNpYmxlID0gdHJ1ZSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25EcmFnUmVsZWFzZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbnNNYXAuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5pbnZpc2libGUgPSBmYWxzZSk7XG4gIH1cblxuICBjaGVja0FsbEF2YWlsYWJsZUl0ZW5zQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jaGVja0FsbFNlbGVjdGVkSXRlbnNDaGFuZ2UoY2hlY2tlZCwgdGhpcy5pdGVuc1RvU2VsZWN0RmlsdGVyVXRpbC5maWx0ZXJlZEl0ZW5zVG9TZWxlY3QsIHRoaXMuaXRlbnNUb1NlbGVjdElkKTtcbiAgfVxuXG4gIGNoZWNrQWxsU2VsZWN0ZWRJdGVuc0NoYW5nZShjaGVja2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2hlY2tBbGxTZWxlY3RlZEl0ZW5zQ2hhbmdlKGNoZWNrZWQsIHRoaXMuc2VsZWN0ZWRJdGVuc0ZpbHRlclV0aWwuZmlsdGVyZWRTZWxlY3RlZEl0ZW5zLCB0aGlzLnNlbGVjdGVkSXRlbnNJZCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZVNlbGVjdGVkSXRlbnNDaGVja2JveCgpIHtcbiAgICByZXR1cm4gZmlsdGVyRW5hYmxlZCh0aGlzLnNlbGVjdGVkSXRlbnNGaWx0ZXJVdGlsLmZpbHRlcmVkU2VsZWN0ZWRJdGVucykubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVJdGVuc1RvU2VsZWN0Q2hlY2tib3goKSB7XG4gICAgcmV0dXJuIGZpbHRlckVuYWJsZWQodGhpcy5pdGVuc1RvU2VsZWN0RmlsdGVyVXRpbC5maWx0ZXJlZEl0ZW5zVG9TZWxlY3QpLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIGdldCBpdGVuc1RvU2VsZWN0QWxsU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoZWNrQWxsU2VsZWN0ZWRCeUxpc3QodGhpcy5pdGVuc1RvU2VsZWN0RmlsdGVyVXRpbC5maWx0ZXJlZEl0ZW5zVG9TZWxlY3QpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkSXRlbnNBbGxTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2hlY2tBbGxTZWxlY3RlZEJ5TGlzdCh0aGlzLnNlbGVjdGVkSXRlbnNGaWx0ZXJVdGlsLmZpbHRlcmVkU2VsZWN0ZWRJdGVucyk7XG4gIH1cblxuICBnZXQgY2FuQWRkSXRlbnMoKSB7XG4gICAgcmV0dXJuICh0aGlzLml0ZW5zVG9TZWxlY3QgYXMgSW50ZXJuYWxQaWNrbGlzdEl0ZW1bXSkuZmlsdGVyKCh4KSA9PiB4Py5zZWxlY3RlZCkubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBjYW5SZW1vdmVJdGVucygpIHtcbiAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWRJdGVucyBhcyBJbnRlcm5hbFBpY2tsaXN0SXRlbVtdKS5maWx0ZXIoKHgpID0+IHg/LnNlbGVjdGVkKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbGxTZWxlY3RlZEJ5TGlzdChsaXN0OiBJbnRlcm5hbFBpY2tsaXN0SXRlbVtdKSB7XG4gICAgY29uc3QgX2xpc3RJdGVucyA9IGZpbHRlckVuYWJsZWQobGlzdCk7XG4gICAgaWYgKCFfbGlzdEl0ZW5zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gX2xpc3RJdGVucy5ldmVyeSgoeCkgPT4geC5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbGxTZWxlY3RlZEl0ZW5zQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4sIGxpc3Q6IEludGVybmFsUGlja2xpc3RJdGVtW10sIGxpc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy51bnNlbGVjdGVkSXRlbnNCeUxpc3RJZChsaXN0SWQgPT09IHRoaXMuc2VsZWN0ZWRJdGVuc0lkID8gdGhpcy5pdGVuc1RvU2VsZWN0SWQgOiB0aGlzLnNlbGVjdGVkSXRlbnNJZCk7XG4gICAgZmlsdGVyRW5hYmxlZChsaXN0KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLnNlbGVjdGVkID0gY2hlY2tlZDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVuc01hcC5hZGQoaXRlbSk7XG4gICAgfSlcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIHVuc2VsZWN0ZWRJdGVuc0J5TGlzdElkKGxpc3RJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY2xlYXJMaXN0ID0gdGhpcy5nZXRBbGxFbGVtZW50c0J5TGlzdElkKGxpc3RJZCk7XG4gICAgY2xlYXJMaXN0LmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVuc01hcC5kZWxldGUoeCk7XG4gICAgfSlcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbEVsZW1lbnRzQnlMaXN0SWQobGlzdElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbGlzdElkID09PSB0aGlzLnNlbGVjdGVkSXRlbnNJZCA/IHRoaXMuc2VsZWN0ZWRJdGVuc0ZpbHRlclV0aWwucmF3U2VsZWN0ZWRJdGVucyA6IHRoaXMuaXRlbnNUb1NlbGVjdEZpbHRlclV0aWwucmF3SXRlbnNUb1NlbGVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3Bwb3NpdGl2ZUlkKGxpc3RJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGxpc3RJZCA9PT0gdGhpcy5zZWxlY3RlZEl0ZW5zSWQgPyB0aGlzLml0ZW5zVG9TZWxlY3RJZCA6IHRoaXMuc2VsZWN0ZWRJdGVuc0lkO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RGF0YSgpIHtcbiAgICB0aGlzLml0ZW5zVG9TZWxlY3RDaGFuZ2UuZW1pdChwYXJzZVZhbHVlRW1pdCh0aGlzLml0ZW5zVG9TZWxlY3QpKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbnNDaGFuZ2UuZW1pdChwYXJzZVZhbHVlRW1pdCh0aGlzLnNlbGVjdGVkSXRlbnMpKTtcbiAgfVxufVxuXG5jb25zdCBub3JtYWxpemVTdHJpbmcgPSAoc3RyOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIHN0ci5ub3JtYWxpemUoXCJORkRcIikucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIikudG9Mb3dlckNhc2UoKTtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gc3RyaW5ncyBieSBub3JtYWxpemluZyB0aGVtIHRvIGEgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgYWNjZW50LWZyZWUgZm9ybSxcbiAqIGFuZCBjaGVja3MgaWYgdGhlIG1haW4gc3RyaW5nIGNvbnRhaW5zIHRoZSBzdWJzdHJpbmcuXG4gKlxuICogQHBhcmFtIG1haW5TdHJpbmcgLSBUaGUgc3RyaW5nIHRvIGJlIHNlYXJjaGVkLlxuICogQHBhcmFtIHN1YnN0cmluZyAtIFRoZSBzdHJpbmcgdG8gc2VhcmNoIGZvciB3aXRoaW4gdGhlIG1haW4gc3RyaW5nLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgbm9ybWFsaXplZCBtYWluIHN0cmluZyBjb250YWlucyB0aGUgbm9ybWFsaXplZCBzdWJzdHJpbmcuXG4gKi9cblxuY29uc3QgY29tcGFyZVN0cmluZ3MgPSAobWFpblN0cmluZzogc3RyaW5nLCBzdWJzdHJpbmc6IHN0cmluZykgPT4ge1xuICByZXR1cm4gbm9ybWFsaXplU3RyaW5nKG1haW5TdHJpbmcpLmluY2x1ZGVzKG5vcm1hbGl6ZVN0cmluZyhzdWJzdHJpbmcpKTtcbn1cblxuY29uc3QgcmFuZG9tSGFzaCA9IChwcmVmaXggPSAnaWQnKSA9PiB7XG4gIHJldHVybiBgJHtwcmVmaXh9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDkpfS0ke0RhdGUubm93KCkudG9TdHJpbmcoMzYpfWBcbn1cblxuY29uc3QgZmlsdGVyRW5hYmxlZCA9IChsaXN0OiBQaWNrTGlzdEl0ZW08YW55PltdIHwgU2V0PEludGVybmFsUGlja2xpc3RJdGVtPik6IEludGVybmFsUGlja2xpc3RJdGVtW10gPT4ge1xuICBjb25zdCBfbGlzdCA9IGxpc3QgaW5zdGFuY2VvZiBTZXQgPyBBcnJheS5mcm9tKGxpc3QpIDogbGlzdDtcbiAgcmV0dXJuIF9saXN0LmZpbHRlcigoeCkgPT4gIXguZGlzYWJsZWQpO1xufVxuXG5jb25zdCBtYXBEYXRhID0gKGxpc3Q6IFBpY2tMaXN0SXRlbTxhbnk+W10pID0+IHtcbiAgcmV0dXJuIGxpc3QubWFwKCh4KSA9PiB4LmRhdGEpO1xufVxuXG5jb25zdCBwYXJzZVZhbHVlRW1pdCA9IHBpcGUoZmlsdGVyRW5hYmxlZCwgbWFwRGF0YSlcblxuZXhwb3J0IGNvbnN0IHBhcnNlSXRlbnNQaWNrTGlzdCA9IDxUPihhcnJheTogVFtdLCBkaXNhYmxlZEZuPzogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiBQaWNrTGlzdEl0ZW08VD5bXSA9PiB7XG4gIHJldHVybiBhcnJheS5tYXAoKHgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogeCxcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZEZuID8gZGlzYWJsZWRGbih4KSA6IGZhbHNlXG4gICAgfVxuICB9KVxufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { DragDropModule } from '@angular/cdk/drag-drop';
3
+ import { CommonModule } from '@angular/common';
4
+ import { NgModule } from '@angular/core';
5
+ import { FormsModule } from '@angular/forms';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { ButtonModule } from '../button';
8
+ import { PicklistComponent } from './picklist/picklist.component';
9
+ let PicklistModule = class PicklistModule {
10
+ };
11
+ PicklistModule = __decorate([
12
+ NgModule({
13
+ declarations: [PicklistComponent],
14
+ imports: [
15
+ CommonModule,
16
+ TranslateModule,
17
+ DragDropModule,
18
+ FormsModule,
19
+ ButtonModule,
20
+ ],
21
+ exports: [PicklistComponent]
22
+ })
23
+ ], PicklistModule);
24
+ export { PicklistModule };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2xpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcGlja2xpc3QvcGlja2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBY2xFLElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7Q0FBSSxDQUFBO0FBQWxCLGNBQWM7SUFYMUIsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7UUFDakMsT0FBTyxFQUFFO1lBQ1AsWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7U0FDYjtRQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO0tBQzdCLENBQUM7R0FDVyxjQUFjLENBQUk7U0FBbEIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24nO1xuaW1wb3J0IHsgUGlja2xpc3RDb21wb25lbnQgfSBmcm9tICcuL3BpY2tsaXN0L3BpY2tsaXN0LmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUGlja2xpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtQaWNrbGlzdENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUGlja2xpc3RNb2R1bGUgeyB9XG4iXX0=