mapa-library-ui 0.71.1 → 0.72.1

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 (137) hide show
  1. package/esm2020/lib/core/interfaces/element-option.interface.mjs +1 -1
  2. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  3. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  4. package/esm2020/src/lib/components/capability/lib/core/interfaces/element-option.interface.mjs +1 -1
  5. package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  6. package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  7. package/esm2020/src/lib/components/chart/lib/core/interfaces/element-option.interface.mjs +1 -1
  8. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  9. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  10. package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.mjs +47 -262
  11. package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.module.mjs +15 -50
  12. package/esm2020/src/lib/components/dropdown/lib/core/elements/index.mjs +10 -0
  13. package/esm2020/src/lib/components/dropdown/lib/core/elements/input-text.mjs +8 -0
  14. package/esm2020/src/lib/components/dropdown/lib/core/elements/radio-button.mjs +8 -0
  15. package/esm2020/src/lib/components/dropdown/lib/core/elements/slide-toggle.mjs +8 -0
  16. package/esm2020/src/lib/components/dropdown/lib/core/elements/textarea.mjs +8 -0
  17. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/button-icon.interface.mjs +2 -0
  18. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/chart-options.interface.mjs +2 -0
  19. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/classification.interface.mjs +2 -0
  20. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/dialog-data.interface.mjs +2 -0
  21. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/element-option.interface.mjs +1 -1
  22. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/index.mjs +7 -0
  23. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/table-column.interface.mjs +2 -0
  24. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/table-row-click-event.interface.mjs +2 -0
  25. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  26. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  27. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.mjs +47 -262
  28. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.mjs +15 -50
  29. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/index.mjs +10 -0
  30. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/input-text.mjs +8 -0
  31. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/radio-button.mjs +8 -0
  32. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/slide-toggle.mjs +8 -0
  33. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/textarea.mjs +8 -0
  34. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/button-icon.interface.mjs +2 -0
  35. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/chart-options.interface.mjs +2 -0
  36. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/classification.interface.mjs +2 -0
  37. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/dialog-data.interface.mjs +2 -0
  38. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/element-option.interface.mjs +1 -1
  39. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/index.mjs +7 -0
  40. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/table-column.interface.mjs +2 -0
  41. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/table-row-click-event.interface.mjs +2 -0
  42. package/esm2020/src/lib/components/form/lib/core/interfaces/element-option.interface.mjs +1 -1
  43. package/esm2020/src/lib/components/group-report/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  44. package/esm2020/src/lib/components/group-report/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  45. package/esm2020/src/lib/components/group-report/lib/core/interfaces/element-option.interface.mjs +1 -1
  46. package/esm2020/src/lib/components/nav-list/lib/core/interfaces/element-option.interface.mjs +1 -1
  47. package/esm2020/src/lib/components/radio-button/lib/core/interfaces/element-option.interface.mjs +1 -1
  48. package/esm2020/src/lib/components/scale/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  49. package/esm2020/src/lib/components/scale/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  50. package/esm2020/src/lib/components/scale/lib/core/interfaces/element-option.interface.mjs +1 -1
  51. package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.component.mjs +20 -10
  52. package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.module.mjs +5 -1
  53. package/esm2020/src/lib/components/scale-parameterization/lib/core/interfaces/element-option.interface.mjs +1 -1
  54. package/esm2020/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.mjs +1 -1
  55. package/esm2020/src/lib/components/textarea/lib/core/interfaces/element-option.interface.mjs +1 -1
  56. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +25 -10
  57. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  58. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +23 -8
  59. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  60. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs +75 -371
  61. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
  62. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +75 -371
  63. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  64. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs +25 -10
  65. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
  66. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +24 -10
  67. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  68. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +22 -8
  69. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  70. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs +77 -361
  71. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
  72. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +77 -361
  73. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  74. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs +24 -10
  75. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
  76. package/lib/core/interfaces/element-option.interface.d.ts +1 -0
  77. package/mapa-library-ui-0.72.1.tgz +0 -0
  78. package/package.json +1 -1
  79. package/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  80. package/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  81. package/src/lib/components/capability/lib/core/interfaces/element-option.interface.d.ts +1 -0
  82. package/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  83. package/src/lib/components/chart/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  84. package/src/lib/components/chart/lib/core/interfaces/element-option.interface.d.ts +1 -0
  85. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  86. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  87. package/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.d.ts +12 -67
  88. package/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.module.d.ts +4 -11
  89. package/src/lib/components/dropdown/lib/core/elements/index.d.ts +9 -0
  90. package/src/lib/components/dropdown/lib/core/elements/input-text.d.ts +4 -0
  91. package/src/lib/components/dropdown/lib/core/elements/radio-button.d.ts +4 -0
  92. package/src/lib/components/dropdown/lib/core/elements/slide-toggle.d.ts +4 -0
  93. package/src/lib/components/dropdown/lib/core/elements/textarea.d.ts +4 -0
  94. package/src/lib/components/dropdown/lib/core/interfaces/button-icon.interface.d.ts +6 -0
  95. package/src/lib/components/dropdown/lib/core/interfaces/chart-options.interface.d.ts +19 -0
  96. package/src/lib/components/dropdown/lib/core/interfaces/classification.interface.d.ts +6 -0
  97. package/src/lib/components/dropdown/lib/core/interfaces/dialog-data.interface.d.ts +11 -0
  98. package/src/lib/components/dropdown/lib/core/interfaces/element-option.interface.d.ts +1 -0
  99. package/src/lib/components/dropdown/lib/core/interfaces/index.d.ts +6 -0
  100. package/src/lib/components/dropdown/lib/core/interfaces/table-column.interface.d.ts +19 -0
  101. package/src/lib/components/dropdown/lib/core/interfaces/table-row-click-event.interface.d.ts +4 -0
  102. package/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  103. package/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  104. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.d.ts +12 -67
  105. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.d.ts +4 -11
  106. package/src/lib/components/dropdown-tree/lib/core/elements/index.d.ts +9 -0
  107. package/src/lib/components/dropdown-tree/lib/core/elements/input-text.d.ts +4 -0
  108. package/src/lib/components/dropdown-tree/lib/core/elements/radio-button.d.ts +4 -0
  109. package/src/lib/components/dropdown-tree/lib/core/elements/slide-toggle.d.ts +4 -0
  110. package/src/lib/components/dropdown-tree/lib/core/elements/textarea.d.ts +4 -0
  111. package/src/lib/components/dropdown-tree/lib/core/interfaces/button-icon.interface.d.ts +6 -0
  112. package/src/lib/components/dropdown-tree/lib/core/interfaces/chart-options.interface.d.ts +19 -0
  113. package/src/lib/components/dropdown-tree/lib/core/interfaces/classification.interface.d.ts +6 -0
  114. package/src/lib/components/dropdown-tree/lib/core/interfaces/dialog-data.interface.d.ts +11 -0
  115. package/src/lib/components/dropdown-tree/lib/core/interfaces/element-option.interface.d.ts +1 -0
  116. package/src/lib/components/dropdown-tree/lib/core/interfaces/index.d.ts +6 -0
  117. package/src/lib/components/dropdown-tree/lib/core/interfaces/table-column.interface.d.ts +19 -0
  118. package/src/lib/components/dropdown-tree/lib/core/interfaces/table-row-click-event.interface.d.ts +4 -0
  119. package/src/lib/components/form/lib/core/interfaces/element-option.interface.d.ts +1 -0
  120. package/src/lib/components/group-report/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  121. package/src/lib/components/group-report/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  122. package/src/lib/components/group-report/lib/core/interfaces/element-option.interface.d.ts +1 -0
  123. package/src/lib/components/nav-list/lib/core/interfaces/element-option.interface.d.ts +1 -0
  124. package/src/lib/components/radio-button/lib/core/interfaces/element-option.interface.d.ts +1 -0
  125. package/src/lib/components/scale/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  126. package/src/lib/components/scale/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  127. package/src/lib/components/scale/lib/core/interfaces/element-option.interface.d.ts +1 -0
  128. package/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.component.d.ts +3 -1
  129. package/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.module.d.ts +7 -6
  130. package/src/lib/components/scale-parameterization/lib/core/interfaces/element-option.interface.d.ts +1 -0
  131. package/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.d.ts +1 -0
  132. package/src/lib/components/textarea/lib/core/interfaces/element-option.interface.d.ts +1 -0
  133. package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/checklist-database.mjs +0 -58
  134. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/checklist-database.mjs +0 -58
  135. package/mapa-library-ui-0.71.1.tgz +0 -0
  136. package/src/lib/components/dropdown/lib/components/dropdown-tree/src/checklist-database.d.ts +0 -13
  137. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/checklist-database.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-dropdown-tree.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/elements/element-base.ts","../../../projects/mapa-library-ui/src/lib/core/elements/dropdown.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/button/src/button.module.ts","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/src/checklist-database.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/public-api.ts","../../../projects/mapa-library-ui/src/dropdown.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-dropdown-tree.ts"],"sourcesContent":["import { ElementGroup } from \"../interfaces/element-group.interface\";\nimport { ElementOption } from \"../interfaces/element-option.interface\";\nimport { ActionButton } from \"./action-button\";\nimport { ElementSearch } from \"./element-search\";\nimport { Errors } from \"./errors\";\nexport interface Status {\n label: string;\n}\n\nexport class ElementBase {\n value: string;\n key: string;\n label: string;\n required: boolean;\n order: number;\n controlType: string;\n type: string;\n placeholder?: string;\n readonly: boolean;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options: ElementOption[] | ElementGroup[];\n tree: any[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength!: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n status?: Status[];\n checkParent?: boolean;\n checkChildren?: boolean;\n\n constructor(\n options: {\n value?: string;\n key?: string;\n label?: string;\n required?: boolean;\n order?: number;\n controlType?: string;\n type?: string;\n placeholder?: string;\n readonly?: boolean;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options?: ElementOption[] | ElementGroup[];\n tree?: any[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength?: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n status?: Status[];\n checkParent?: boolean;\n checkChildren?: boolean;\n } = {}\n ) {\n this.value = options.value || \"\";\n this.key = options.key || \"\";\n this.label = options.label || \"\";\n this.required = !!options.required;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || \"\";\n this.type = options.type || \"\";\n this.placeholder = options.placeholder || \"\";\n this.readonly = options.readonly || false;\n this.hint = options.hint || \"\";\n this.prefix = options.prefix || \"\";\n this.suffix = options.suffix || \"\";\n this.autosize = options.autosize || false;\n this.autosizeMinWidth = options.autosizeMinWidth || \"212px\";\n this.autosizeMaxWidth = options.autosizeMaxWidth || \"400px\";\n this.autosizeMinRow = options.autosizeMinRow || 2;\n this.autosizeMaxRow = options.autosizeMaxRow || 5;\n this.options = options.options || [];\n this.tree = options.tree || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n this.maxLength = options.maxLength || null;\n this.errors = options.errors || undefined;\n this.actionButton = options.actionButton || undefined;\n this.mask = options.mask || undefined;\n this.autocomplete = options.autocomplete || \"\";\n this.clearValue =\n options.clearValue !== undefined ? options.clearValue : true;\n this.status = options.status || undefined;\n this.checkParent = options.checkParent || false;\n this.checkChildren = options.checkChildren || false;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'mapa-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent {\n @Input() color: 'primary' | 'accent' | 'basic' | null | undefined;\n @Input() disabled!: boolean;\n @Output() clicked: EventEmitter<void> = new EventEmitter<void>();\n\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button> ","import {\n AfterViewInit,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { MatSelect } from \"@angular/material/select\";\n\nimport { ReplaySubject } from \"rxjs/internal/ReplaySubject\";\nimport { Subject } from \"rxjs/internal/Subject\";\n//import { take, takeUntil } from \"rxjs/operators\";\n\nimport { ElementOption } from \"../../../core/interfaces/element-option.interface\";\nimport { Dropdown } from \"../../../core/elements/dropdown\";\nimport { ElementGroup } from \"../../../core/interfaces/element-group.interface\";\n\n@Component({\n selector: \"mapa-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownComponent implements OnInit, OnDestroy, OnChanges {\n @Input() formControl!: FormControl;\n @Input() formControlSearch!: FormControl;\n @Input() element!: Dropdown;\n @Input() border: \"soft\" | \"tag\" | \"highlight\" | null | undefined;\n\n @ViewChild(\"dropdown\", { static: true }) dropdown!: MatSelect;\n\n public filteredOptions: ReplaySubject<ElementOption[]> = new ReplaySubject<\n ElementOption[]\n >(1);\n public filteredGroups: ReplaySubject<ElementGroup[]> = new ReplaySubject<\n ElementGroup[]\n >(1);\n protected filteredOptionsCache: ElementOption[] = [];\n protected filteredGroupCache: ElementGroup[] = [];\n protected _onDestroy = new Subject<void>();\n\n isIndeterminate = false;\n isChecked = false;\n isOptionsGroup = false;\n\n get selectedOptions() {\n const value = this.formControl?.value || [];\n return Array.isArray(value)? value: [value];\n }\n\n constructor() {}\n\n ngOnInit() {\n this.setOptions();\n\n if (this.element.search) {\n this.element.search.formControl?.valueChanges\n //.pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n this.filterOptions();\n this.setToggleAllCheckboxState();\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes[\"element\"].previousValue?.controlType === \"dropdown\" &&\n changes[\"element\"].previousValue?.options !== changes[\"element\"].currentValue?.options\n ) {\n this.element.options = changes[\"element\"].currentValue.options;\n this.setOptions();\n }\n }\n\n ngOnDestroy() {\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n setOptions(): void {\n this.isOptionsGroup = this.isElementGroup(this.element.options[0]);\n\n if (this.isOptionsGroup) {\n this.filteredGroupCache = (this.element\n .options as ElementGroup[]).slice();\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n this.filteredOptionsCache = (this.element\n .options as ElementOption[]).slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected filterOptionsFromGroup(\n group: ElementGroup,\n value: string\n ): ElementOption[] {\n const filterValue = value.toLocaleLowerCase();\n\n return group.label.toLocaleLowerCase().includes(filterValue)\n ? group.options\n : group.options.filter((item) =>\n item.value.toLocaleLowerCase().includes(filterValue)\n );\n }\n\n protected filterOptions() {\n if (!this.element.options) {\n return;\n }\n // get the search keyword\n let search = this.element.search?.formControl?.value.toLowerCase();\n\n if (this.isOptionsGroup) {\n const groups = this.element.options as ElementGroup[];\n this.filteredGroupCache = groups\n .map((group: ElementGroup) => ({\n label: group.label,\n options: this.filterOptionsFromGroup(group, search),\n }))\n .filter((group) => group.options.length > 0);\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n const options = this.element.options as ElementOption[];\n if (!search) {\n this.filteredOptionsCache = options.slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n return;\n }\n // filter the options\n this.filteredOptionsCache = options.filter(\n (option: ElementOption) =>\n option.value.toLowerCase().indexOf(search) > -1\n );\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected setToggleAllCheckboxState() {\n let filteredLength = 0;\n let search = this.element.search?.formControl?.value;\n\n if (search && search.value) {\n this.filteredOptionsCache.forEach((el) => {\n if (search.value.toLowerCase().indexOf(el) > -1) {\n filteredLength++;\n }\n });\n this.isIndeterminate =\n filteredLength > 0 && filteredLength < this.filteredOptionsCache.length;\n this.isChecked =\n filteredLength > 0 &&\n filteredLength === this.filteredOptionsCache.length;\n }\n }\n\n toggleSelectAll(selectAllValue: boolean) {\n this.filteredOptions.subscribe((options: ElementOption[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(options);\n } else {\n this.formControl?.patchValue([]);\n }\n });\n this.filteredGroups.subscribe((groups: ElementGroup[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(\n groups.map((group: ElementGroup) => group.options)\n );\n } else {\n this.formControl?.patchValue([]);\n }\n });\n }\n\n isElementGroup(object: ElementGroup | ElementOption): object is ElementGroup {\n try {\n return (\n (object as ElementGroup).label !== undefined &&\n (object as ElementGroup).options !== undefined\n );\n } catch (e) {\n return false;\n }\n }\n\n compareFn(c1: any, c2: any): boolean {\n return c1 && c2 ? c1.key === c2.key : c1 === c2;\n }\n \n hasValue(): boolean {\n return !!this.formControl.value;\n }\n\n clearValue(event: any): void {\n event.stopPropagation();\n this.formControl.setValue(null);\n }\n}\n","<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n \n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class MapaButtonModule {}\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './src/button.component';\nexport * from './src/button.module';\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatIconModule } from \"@angular/material/icon\";\n\nimport { MapaDropdownComponent } from \"./dropdown.component\";\nimport { MAT_SELECT_CONFIG, MatSelectModule } from \"@angular/material/select\";\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MapaButtonModule } from \"../../button/public-api\";\n\n@NgModule({\n declarations: [MapaDropdownComponent],\n exports: [MapaDropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MapaButtonModule,\n MatListModule,\n MatIconModule,\n MatSelectModule,\n NgxMatSelectSearchModule,\n ],\n providers: [\n {\n provide: MAT_SELECT_CONFIG,\n useValue: { overlayPanelClass: \"mapa-overlay-dropdown\" },\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: \"outline\" },\n },\n ],\n})\nexport class MapaDropdownModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { DataNode } from \"./dropdown.component\";\n\n@Injectable({ providedIn: \"root\" })\nexport class ChecklistDatabase {\n dataChange = new BehaviorSubject<DataNode[]>([]);\n treeData!: any[];\n\n get data(): DataNode[] {\n return this.dataChange.value;\n }\n\n constructor() {}\n\n initialize(treeData: DataNode[]) {\n this.treeData = treeData;\n // Build the tree nodes from Json object. The result is a list of `TodoItemNode` with nested\n // file node as children.\n const data = treeData;\n\n // Notify the change.\n this.dataChange.next(data);\n }\n\n public filter(filterText: string) {\n let filteredTreeData;\n if (filterText) {\n // Filter the tree\n function filter(array: any[], text: string) {\n const getChildren = (\n result: any[],\n object: { value: string; children: any[] }\n ) => {\n if (\n object.value?.toLowerCase().includes(text?.toLowerCase()) ||\n object.children?.some((child) =>\n child.value?.toLowerCase().includes(text?.toLowerCase())\n )\n ) {\n result.push(object);\n return result;\n }\n if (Array.isArray(object.children) && object.children.length > 0) {\n const children = object.children.reduce(getChildren, []);\n if (children.length) result.push({ ...object, children });\n }\n return result;\n };\n\n return array.reduce(getChildren, []);\n }\n\n filteredTreeData = filter(this.treeData, filterText);\n } else {\n // Return the initial tree\n filteredTreeData = this.treeData;\n }\n\n // Build the tree nodes from Json object. The result is a list of `TodoItemNode` with nested\n // file node as children.\n const data = filteredTreeData;\n // Notify the change.\n this.dataChange.next(data);\n }\n}\n","import {\n AfterViewInit,\n Component,\n Input,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { DropdownTree } from '../../../core/elements/dropdown-tree';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport {\n MatTreeFlattener,\n MatTreeFlatDataSource,\n MatTree,\n} from '@angular/material/tree';\nimport { Observable } from 'rxjs';\nimport { ChecklistDatabase } from './checklist-database';\nimport { MatAutocomplete } from '@angular/material/autocomplete';\nimport { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\n\nexport class DataNode {\n key!: string;\n value!: string;\n children?: DataNode[];\n isLeaf?: boolean;\n\n constructor() {}\n}\n\n/** Flat to-do item node with expandable and level information */\nexport class DataFlatNode {\n key!: string;\n value!: string;\n level!: number;\n expandable!: boolean;\n\n constructor() {}\n}\n\n@Component({\n selector: 'mapa-dropdown-tree',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownTreeComponent implements OnInit, AfterViewInit {\n @Input() formGroup!: FormGroup;\n @Input() element!: DropdownTree;\n @ViewChild('auto') autocomplete!: MatAutocomplete;\n @ViewChild('tree') tree!: MatTree<DataNode>;\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n @ViewChild('toggleAllCheckbox') toggleAllCheckbox!: MatCheckbox;\n\n isMenuExpanded: boolean = false;\n\n /** Map from flat node to nested node. This helps us finding the nested node to be modified */\n flatNodeMap = new Map<DataFlatNode, DataNode>();\n\n /** Map from nested node to flattened node. This helps us to keep the same object for selection */\n nestedNodeMap = new Map<DataNode, DataFlatNode>();\n\n /** A selected parent node to be inserted */\n selectedParent: DataFlatNode | null = null;\n\n /** The new item's name */\n newItemName = '';\n\n treeControl!: FlatTreeControl<DataFlatNode>;\n\n treeFlattener!: MatTreeFlattener<DataNode, DataFlatNode>;\n\n dataSource!: MatTreeFlatDataSource<DataNode, DataFlatNode>;\n\n /** The selection for checklist */\n checklistSelection = new SelectionModel<DataFlatNode>(true);\n\n /// Filtering\n myControl = new FormControl();\n options: string[] = [];\n filteredOptions!: Observable<string[]>;\n\n constructor(private _database: ChecklistDatabase) {}\n\n ngOnInit(): void {\n this._database.initialize(this.element.tree);\n this.treeFlattener = new MatTreeFlattener(\n this.transformer,\n this.getLevel,\n this.isExpandable,\n this.getChildren\n );\n this.treeControl = new FlatTreeControl<DataFlatNode>(\n this.getLevel,\n this.isExpandable\n );\n this.dataSource = new MatTreeFlatDataSource(\n this.treeControl,\n this.treeFlattener\n );\n\n this._database.dataChange.subscribe((data) => {\n this.dataSource.data = data;\n this.treeControl.expandAll();\n });\n\n this.checklistSelection.changed.subscribe((selection) => {\n if (selection.source.selected.length > 0) {\n this.formGroup.get(this.element.key)?.patchValue(\n this.element.multiple\n ? selection.source.selected.map((checked) => {\n return { value: checked.value, key: checked.key };\n })\n : {\n value: selection.source.selected[0].value,\n key: selection.source.selected[0].key,\n },\n { emitEvent: false }\n );\n }\n });\n\n this.formGroup.get(this.element.key)?.valueChanges.subscribe((value) => {\n if (value) {\n if (this.element.multiple) {\n const allValuesKeys = this.element.multiple\n ? value.map((item: any) => item.key)\n : [value.key];\n\n this.treeControl.dataNodes.map((node) => {\n if (allValuesKeys.includes(node.key)) {\n if (this.element.multiple && node.level === 0) {\n this.todoItemSelectionToggle(node);\n } else {\n this.todoLeafItemSelectionToggle(node);\n }\n }\n });\n } else {\n this.selectSingleItem(\n this.treeControl.dataNodes?.find(\n (node) => node.key === value.key\n ) as DataFlatNode\n );\n }\n }\n });\n }\n\n ngAfterViewInit() {\n this.treeControl.expandAll();\n }\n\n toggleAll(event: MatCheckboxChange) {\n const checked = event.checked;\n\n this.treeControl.dataNodes.map((node) => {\n if (checked) {\n this.checklistSelection.deselect(node);\n } else {\n this.checklistSelection.select(node);\n }\n\n this.checklistSelection.toggle(node);\n const descendants = this.treeControl.getDescendants(node);\n this.checklistSelection.select(...descendants);\n\n if (checked) {\n descendants.every((child) => this.checklistSelection.deselect(child));\n } else {\n descendants.every((child) => this.checklistSelection.select(child));\n }\n });\n }\n\n clearAll() {\n this.checklistSelection.clear();\n if (this.element.multiple) {\n this.formGroup.get(this.element.key)?.patchValue([]);\n this.toggleAllCheckbox.checked = false;\n } else {\n this.formGroup.get(this.element.key)?.patchValue(null);\n }\n }\n\n onPanelChange() {\n this.isMenuExpanded = !this.isMenuExpanded;\n }\n\n filter(array: any[], text: string) {\n const getNodes = (\n result: any[],\n object: { name: string; children: any[] }\n ) => {\n if (object.name?.toLowerCase().includes(text)) {\n result.push(object);\n return result;\n }\n if (Array.isArray(object.children)) {\n const children = object.children.reduce(getNodes, []);\n if (children.length) result.push({ ...object, children });\n }\n return result;\n };\n\n this.element.tree = array.reduce(getNodes, []);\n }\n\n getLevel = (node: DataFlatNode) => node.level;\n\n isExpandable = (node: DataFlatNode) => node.expandable;\n\n getChildren = (node: DataNode): DataNode[] => node.children!;\n\n hasChild = (_: number, _nodeData: DataFlatNode) => _nodeData.expandable;\n\n hasNoContent = (_: number, _nodeData: DataFlatNode) => _nodeData.value === '';\n\n /**\n * Transformer to convert nested node to flat node. Record the nodes in maps for later use.\n */\n transformer = (node: DataNode, level: number) => {\n const existingNode = this.nestedNodeMap.get(node);\n const flatNode =\n existingNode && existingNode.value === node.value\n ? existingNode\n : new DataFlatNode();\n flatNode.key = node.key;\n flatNode.value = node.value;\n flatNode.level = level;\n flatNode.expandable = !!node.children;\n this.flatNodeMap.set(flatNode, node);\n this.nestedNodeMap.set(node, flatNode);\n return flatNode;\n };\n\n /** Whether all the descendants of the node are selected. */\n descendantsAllSelected(node: DataFlatNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n const descAllSelected = descendants.every((child) =>\n this.checklistSelection.isSelected(child)\n );\n return descAllSelected;\n }\n\n /** Whether part of the descendants are selected */\n descendantsPartiallySelected(node: DataFlatNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n const result = descendants.some((child) =>\n this.checklistSelection.isSelected(child)\n );\n return result && !this.descendantsAllSelected(node);\n }\n\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\n todoItemSelectionToggle(node: DataFlatNode): void {\n this.checklistSelection.toggle(node);\n\n if (this.element.checkChildren) {\n const descendants = this.treeControl.getDescendants(node);\n this.checklistSelection.isSelected(node)\n ? this.checklistSelection.select(...descendants)\n : this.checklistSelection.deselect(...descendants);\n\n // Force update for the parent\n descendants.every((child) => this.checklistSelection.isSelected(child));\n this.checkAllParentsSelection(node);\n }\n }\n\n /** Toggle a leaf to-do item selection. Check all the parents to see if they changed */\n todoLeafItemSelectionToggle(node: DataFlatNode): void {\n this.checklistSelection.toggle(node);\n\n this.checkAllParentsSelection(node);\n }\n\n /* Checks all the parents when a leaf node is selected/unselected */\n checkAllParentsSelection(node: DataFlatNode): void {\n let parent: DataFlatNode | null = this.getParentNode(node);\n while (parent) {\n this.checkRootNodeSelection(parent);\n parent = this.getParentNode(parent);\n }\n }\n\n /** Check root node checked state and change it accordingly */\n checkRootNodeSelection(node: DataFlatNode): void {\n const nodeSelected = this.checklistSelection.isSelected(node);\n const descendants = this.treeControl.getDescendants(node);\n const descAllSelected = descendants.every((child) =>\n this.checklistSelection.isSelected(child)\n );\n\n if (nodeSelected && !descAllSelected) {\n this.checklistSelection.deselect(node);\n } else if (!nodeSelected && descAllSelected) {\n this.checklistSelection.select(node);\n }\n }\n\n /* Get the parent node of a node */\n getParentNode(node: DataFlatNode): DataFlatNode | null {\n const currentLevel = this.getLevel(node);\n\n if (currentLevel < 1) {\n return null;\n }\n\n const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\n\n for (let i = startIndex; i >= 0; i--) {\n const currentNode = this.treeControl.dataNodes[i];\n\n if (this.getLevel(currentNode) < currentLevel) {\n return currentNode;\n }\n }\n return null;\n }\n\n getSelectedItems(): string {\n if (!this.checklistSelection.selected.length)\n return this.element.placeholder || '';\n \n return this.checklistSelection.selected ? this.checklistSelection.selected\n .map((s) => s?.value || s || '')\n .join(',')\n .toString()\n .replace(/\\,/g, ', ') : this.element.placeholder || '';\n }\n\n filterChanged(event: any): void {\n const filterText = event.target?.value;\n\n // ChecklistDatabase.filter method which actually filters the tree and gives back a tree structure\n this._database.filter(filterText);\n }\n\n clearSearchValue(): void {\n this.element.search?.formControl?.setValue('');\n this._database.filter('');\n }\n\n selectSingleItem(node: DataFlatNode, emitEvent: boolean = false): void {\n this.checklistSelection.clear();\n this.checklistSelection.select(node);\n this.formGroup\n .get(this.element.key)\n ?.patchValue({ value: node.value, key: node.key }, { emitEvent });\n this.trigger.closeMenu();\n }\n\n hasValue(): boolean {\n return !!this.formGroup.get(this.element.key)?.value;\n }\n\n clearValue(event: any): void {\n event.stopPropagation();\n this.formGroup.get(this.element.key)?.patchValue(null);\n this.checklistSelection.clear();\n }\n\n isAllNodeSelected(): boolean {\n return !!(\n this.treeControl.dataNodes.length ===\n this.checklistSelection.selected.length\n );\n }\n}\n","<form\n [formGroup]=\"formGroup\"\n *ngIf=\"formGroup && element\"\n class=\"mapa-dropdown-tree\"\n>\n <label *ngIf=\"element.label\" class=\"mapa-dropdown-tree__label\">\n {{ element.label }}\n </label>\n <button\n class=\"mapa-dropdown-tree__dropdown\"\n #menuOption=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"menu\"\n >\n <div class=\"mapa-dropdown-tree__dropdown--value\">\n {{ getSelectedItems() }}\n </div>\n\n <mat-icon *ngIf=\"hasValue()\" (click)=\"clearValue($event)\" matSuffix\n >close</mat-icon\n >\n <mat-icon>\n {{ menuOption.menuOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}\n </mat-icon>\n </button>\n \n <div class=\"mapa-dropdown-tree__hint\" *ngIf=\"element.hint\">{{ element.hint }}</div>\n \n <mat-menu #menu=\"matMenu\">\n <div (click)=\"$event.stopPropagation()\">\n <div class=\"mapa-dropdown-tree__search\" *ngIf=\"element.search\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n #searchInput\n [formControl]=\"element.search?.formControl!\"\n [placeholder]=\"element.search?.placeholder || ''\"\n (keydown)=\"$event.stopPropagation()\"\n (keyup)=\"filterChanged($event)\"\n />\n <mat-icon\n *ngIf=\"!!element.search?.formControl?.value && !element.search?.formControl?.disabled\"\n (click)=\"clearSearchValue()\"\n matSuffix\n >close</mat-icon\n >\n </mat-form-field>\n </div>\n <section [formGroup]=\"formGroup\">\n <label\n *ngIf=\"element.multiple === true\"\n class=\"mapa-dropdown-tree__toggle-all mapa-dropdown-tree__checkbox\"\n >\n <mat-checkbox\n #toggleAllCheckbox\n class=\"checklist-leaf-node\"\n (change)=\"toggleAll($event)\"\n [checked]=\"isAllNodeSelected()\"\n [indeterminate]=\"!isAllNodeSelected() && checklistSelection.hasValue()\"\n color=\"accent\"\n >Selecionar todos</mat-checkbox\n >\n </label>\n\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node\n *matTreeNodeDef=\"let node\"\n matTreeNodePadding\n matTreeNodePaddingIndent=\"13\"\n [class.mapa-dropdown-tree__checkbox--checked]=\"checklistSelection.isSelected(node)\"\n >\n <label class=\"mapa-dropdown-tree__checkbox\">\n <button mat-icon-button disabled></button>\n <!-- LEAF CHECKBOX -->\n <mat-checkbox\n *ngIf=\"element.multiple === true; else noCheckbox\"\n class=\"checklist-leaf-node\"\n [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"todoLeafItemSelectionToggle(node)\"\n color=\"accent\"\n >{{node.value}}</mat-checkbox\n >\n <ng-template #noCheckbox>\n <div (click)=\"selectSingleItem(node, true)\">\n {{node.value}}\n </div>\n </ng-template>\n </label>\n </mat-tree-node>\n\n <mat-tree-node\n *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodePadding\n matTreeNodePaddingIndent=\"13\"\n [class.mapa-dropdown-tree__checkbox--checked]=\"checklistSelection.isSelected(node)\"\n >\n <label class=\"mapa-dropdown-tree__checkbox\">\n <!-- <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'toggle ' + node.filename\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{treeControl.isExpanded(node) ? 'expand_more' :\n 'chevron_right'}}\n </mat-icon>\n </button> -->\n <!-- [checked]=\"descendantsAllSelected(node)\" -->\n <!-- PARENT CHECKBOX -->\n <mat-checkbox\n *ngIf=\"element.multiple === true; else noCheckbox\"\n [checked]=\"checklistSelection.isSelected(node)\"\n [indeterminate]=\"descendantsPartiallySelected(node)\"\n (change)=\"todoItemSelectionToggle(node)\"\n color=\"accent\"\n >\n {{node.value}}</mat-checkbox\n >\n <ng-template #noCheckbox>\n <div (click)=\"selectSingleItem(node, true)\">\n {{node.value}}\n </div>\n </ng-template>\n </label>\n </mat-tree-node>\n </mat-tree>\n </section>\n <button\n *ngIf=\"element.multiple === true\"\n mat-button\n class=\"mapa-dropdown-tree__button\"\n color=\"primary\"\n (click)=\"clearAll()\"\n >\n Limpar todos\n </button>\n </div>\n </mat-menu>\n</form>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatIconModule } from \"@angular/material/icon\";\n\nimport { MapaDropdownTreeComponent } from \"./dropdown.component\";\nimport { MAT_SELECT_CONFIG, MatSelectModule } from \"@angular/material/select\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MapaButtonModule } from \"../../button/public-api\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatTreeModule } from \"@angular/material/tree\";\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, MatAutocompleteModule } from \"@angular/material/autocomplete\";\nimport { MAT_MENU_DEFAULT_OPTIONS, MatMenuModule } from \"@angular/material/menu\";\n\n@NgModule({\n declarations: [MapaDropdownTreeComponent],\n exports: [MapaDropdownTreeComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MapaButtonModule,\n MatListModule,\n MatIconModule,\n MatInputModule,\n MatSelectModule,\n MatTreeModule,\n MatCheckboxModule,\n MatAutocompleteModule,\n MatMenuModule,\n ],\n providers: [\n {\n provide: MAT_MENU_DEFAULT_OPTIONS,\n useValue: { overlayPanelClass: \"mapa-overlay-dropdown-tree\" },\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: \"outline\" },\n },\n ],\n})\nexport class MapaDropdownTreeModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown-tree\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\n\nexport * from './lib/components/dropdown/public-api';\nexport * from './lib/components/dropdown-tree/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './dropdown';\n"],"names":["i2","i3.ButtonComponent","i1.ChecklistDatabase","i4","i5","i6","i7","i8"],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-dropdown-tree.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/elements/element-base.ts","../../../projects/mapa-library-ui/src/lib/core/elements/dropdown.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/button/src/button.module.ts","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown-tree/public-api.ts","../../../projects/mapa-library-ui/src/dropdown.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-dropdown-tree.ts"],"sourcesContent":["import { ElementGroup } from \"../interfaces/element-group.interface\";\nimport { ElementOption } from \"../interfaces/element-option.interface\";\nimport { ActionButton } from \"./action-button\";\nimport { ElementSearch } from \"./element-search\";\nimport { Errors } from \"./errors\";\nexport interface Status {\n label: string;\n}\n\nexport class ElementBase {\n value: string;\n key: string;\n label: string;\n required: boolean;\n order: number;\n controlType: string;\n type: string;\n placeholder?: string;\n readonly: boolean;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options: ElementOption[] | ElementGroup[];\n tree: any[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength!: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n status?: Status[];\n checkParent?: boolean;\n checkChildren?: boolean;\n\n constructor(\n options: {\n value?: string;\n key?: string;\n label?: string;\n required?: boolean;\n order?: number;\n controlType?: string;\n type?: string;\n placeholder?: string;\n readonly?: boolean;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options?: ElementOption[] | ElementGroup[];\n tree?: any[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength?: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n status?: Status[];\n checkParent?: boolean;\n checkChildren?: boolean;\n } = {}\n ) {\n this.value = options.value || \"\";\n this.key = options.key || \"\";\n this.label = options.label || \"\";\n this.required = !!options.required;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || \"\";\n this.type = options.type || \"\";\n this.placeholder = options.placeholder || \"\";\n this.readonly = options.readonly || false;\n this.hint = options.hint || \"\";\n this.prefix = options.prefix || \"\";\n this.suffix = options.suffix || \"\";\n this.autosize = options.autosize || false;\n this.autosizeMinWidth = options.autosizeMinWidth || \"212px\";\n this.autosizeMaxWidth = options.autosizeMaxWidth || \"400px\";\n this.autosizeMinRow = options.autosizeMinRow || 2;\n this.autosizeMaxRow = options.autosizeMaxRow || 5;\n this.options = options.options || [];\n this.tree = options.tree || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n this.maxLength = options.maxLength || null;\n this.errors = options.errors || undefined;\n this.actionButton = options.actionButton || undefined;\n this.mask = options.mask || undefined;\n this.autocomplete = options.autocomplete || \"\";\n this.clearValue =\n options.clearValue !== undefined ? options.clearValue : true;\n this.status = options.status || undefined;\n this.checkParent = options.checkParent || false;\n this.checkChildren = options.checkChildren || false;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'mapa-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent {\n @Input() color: 'primary' | 'accent' | 'basic' | null | undefined;\n @Input() disabled!: boolean;\n @Output() clicked: EventEmitter<void> = new EventEmitter<void>();\n\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button> ","import {\n AfterViewInit,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { MatSelect } from \"@angular/material/select\";\n\nimport { ReplaySubject } from \"rxjs/internal/ReplaySubject\";\nimport { Subject } from \"rxjs/internal/Subject\";\n//import { take, takeUntil } from \"rxjs/operators\";\n\nimport { ElementOption } from \"../../../core/interfaces/element-option.interface\";\nimport { Dropdown } from \"../../../core/elements/dropdown\";\nimport { ElementGroup } from \"../../../core/interfaces/element-group.interface\";\nimport { MatCheckboxChange } from \"@angular/material/checkbox\";\n\n@Component({\n selector: \"mapa-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownComponent implements OnInit, OnDestroy, OnChanges {\n @Input() formControl!: FormControl;\n @Input() formControlSearch!: FormControl;\n @Input() element!: Dropdown;\n @Input() border: \"soft\" | \"tag\" | \"highlight\" | null | undefined;\n\n @ViewChild(\"dropdown\", { static: true }) dropdown!: MatSelect;\n\n public filteredOptions: ReplaySubject<ElementOption[]> = new ReplaySubject<\n ElementOption[]\n >(1);\n public filteredGroups: ReplaySubject<ElementGroup[]> = new ReplaySubject<\n ElementGroup[]\n >(1);\n protected filteredOptionsCache: ElementOption[] = [];\n protected filteredGroupCache: ElementGroup[] = [];\n protected _onDestroy = new Subject<void>();\n\n isIndeterminate = false;\n isChecked = false;\n isOptionsGroup = false;\n\n get selectedOptions() {\n const value = this.formControl?.value || [];\n return Array.isArray(value)? value: [value];\n }\n\n constructor() {}\n\n ngOnInit() {\n this.setOptions();\n\n if (this.element.search) {\n this.element.search.formControl?.valueChanges\n //.pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n this.filterOptions();\n this.setToggleAllCheckboxState();\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes[\"element\"].previousValue?.controlType === \"dropdown\" &&\n changes[\"element\"].previousValue?.options !== changes[\"element\"].currentValue?.options\n ) {\n this.element.options = changes[\"element\"].currentValue.options;\n this.setOptions();\n }\n }\n\n ngOnDestroy() {\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n setOptions(): void {\n this.isOptionsGroup = this.isElementGroup(this.element.options[0]);\n\n if (this.isOptionsGroup) {\n this.filteredGroupCache = (this.element\n .options as ElementGroup[]).slice();\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n this.filteredOptionsCache = (this.element\n .options as ElementOption[]).slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected filterOptionsFromGroup(\n group: ElementGroup,\n value: string\n ): ElementOption[] {\n const filterValue = value.toLocaleLowerCase();\n\n return group.label.toLocaleLowerCase().includes(filterValue)\n ? group.options\n : group.options.filter((item) =>\n item.value.toLocaleLowerCase().includes(filterValue)\n );\n }\n\n protected filterOptions() {\n if (!this.element.options) {\n return;\n }\n // get the search keyword\n let search = this.element.search?.formControl?.value.toLowerCase();\n\n if (this.isOptionsGroup) {\n const groups = this.element.options as ElementGroup[];\n this.filteredGroupCache = groups\n .map((group: ElementGroup) => ({\n label: group.label,\n options: this.filterOptionsFromGroup(group, search),\n }))\n .filter((group) => group.options.length > 0);\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n const options = this.element.options as ElementOption[];\n if (!search) {\n this.filteredOptionsCache = options.slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n return;\n }\n // filter the options\n this.filteredOptionsCache = options.filter(\n (option: ElementOption) =>\n option.value.toLowerCase().indexOf(search) > -1\n );\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected setToggleAllCheckboxState() {\n let filteredLength = 0;\n let search = this.element.search?.formControl?.value;\n\n if (search && search.value) {\n this.filteredOptionsCache.forEach((el) => {\n if (search.value.toLowerCase().indexOf(el) > -1) {\n filteredLength++;\n }\n });\n this.isIndeterminate =\n filteredLength > 0 && filteredLength < this.filteredOptionsCache.length;\n this.isChecked =\n filteredLength > 0 &&\n filteredLength === this.filteredOptionsCache.length;\n }\n }\n\n toggleSelectAll(event: MatCheckboxChange) {\n const selectAllValue = event.checked;\n this.filteredOptions.subscribe((options: ElementOption[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(options);\n } else {\n this.formControl?.patchValue([]);\n }\n });\n this.filteredGroups.subscribe((groups: ElementGroup[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(\n groups.map((group: ElementGroup) => group.options)\n );\n } else {\n this.formControl?.patchValue([]);\n }\n });\n }\n\n toggleSelection(change: MatCheckboxChange): void {\n if (change.checked) {\n this.formControl?.setValue(this.filteredOptions);\n } else {\n this.formControl?.setValue([]);\n }\n } \n \n isElementGroup(object: ElementGroup | ElementOption): object is ElementGroup {\n try {\n return (\n (object as ElementGroup).label !== undefined &&\n (object as ElementGroup).options !== undefined\n );\n } catch (e) {\n return false;\n }\n }\n\n compareFn(c1: any, c2: any): boolean {\n return c1 && c2 ? c1.key === c2.key : c1 === c2;\n }\n \n hasValue(): boolean {\n return !!this.formControl.value;\n }\n\n clearValue(event: any): void {\n event.stopPropagation();\n this.formControl.setValue(null);\n }\n}\n","<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"element.search.toggleAllCheckbox!\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n ></ngx-mat-select-search>\n </mat-option>\n <mat-option\n *ngIf=\"element.multiple\"\n class=\"mapa-dropdown__option--select-all\"\n >\n <mat-checkbox\n class=\"mat-option\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleSelectAll($event)\"\n >\n Selecionar todos\n </mat-checkbox>\n </mat-option>\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option\n *ngFor=\"let option of group.options\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </ng-template>\n\n <mat-option\n *ngFor=\"let option of selectedOptions\"\n hidden\n [value]=\"option\"\n [ngClass]=\"[\n 'mapa-dropdown__option--children-level-' + option.childrenLevel\n ]\"\n >\n <span [innerHTML]=\"option.value\"></span>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"element.hint\">{{ element.hint }}</mat-hint>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class MapaButtonModule {}\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './src/button.component';\nexport * from './src/button.module';\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatIconModule } from \"@angular/material/icon\";\n\nimport { MapaDropdownComponent } from \"./dropdown.component\";\nimport { MAT_SELECT_CONFIG, MatSelectModule } from \"@angular/material/select\";\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MapaButtonModule } from \"../../button/public-api\";\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\n\n@NgModule({\n declarations: [MapaDropdownComponent],\n exports: [MapaDropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MapaButtonModule,\n MatListModule,\n MatIconModule,\n MatSelectModule,\n NgxMatSelectSearchModule,\n ],\n providers: [\n {\n provide: MAT_SELECT_CONFIG,\n useValue: { overlayPanelClass: \"mapa-overlay-dropdown\" },\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: \"outline\" },\n },\n ],\n})\nexport class MapaDropdownModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","import {\n Component,\n ChangeDetectorRef,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Dropdown, DropdownTree } from '../../../core/elements';\nimport { ElementOption } from '../../../core/interfaces';\nimport { timer } from 'rxjs';\n\nexport class DataNode {\n key!: string;\n value!: string;\n children?: DataNode[];\n isLeaf?: boolean;\n\n constructor() {}\n}\n\n/** Flat to-do item node with expandable and level information */\nexport class DataFlatNode {\n key!: string;\n value!: string;\n level!: number;\n expandable!: boolean;\n\n constructor() {}\n}\n\n@Component({\n selector: 'mapa-dropdown-tree',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownTreeComponent implements OnInit {\n @Input() formGroup!: FormGroup;\n @Input() element!: DropdownTree;\n elementOption!: Dropdown;\n formControl!: FormControl;\n\n showDropdown = false;\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n const options = this.formatTree(this.element.tree);\n\n this.elementOption = {\n ...this.element,\n options,\n };\n\n this.formControl = this.getFormControl(this.elementOption);\n\n timer(200).subscribe(() => {\n this.showDropdown = true;\n this.cdr.detectChanges();\n });\n }\n\n getFormControl(element: Dropdown): FormControl {\n return this.formGroup.get(element.key) as FormControl<any>;\n }\n\n formatTree(tree: DataNode[], childrenLevel: number = 0): ElementOption[] {\n const options: ElementOption[] = [];\n\n tree.map((item: DataNode) => {\n options.push({\n value: item.value,\n key: item.key,\n childrenLevel,\n });\n if (item.children) {\n options.push(\n ...this.formatTree(\n this.formatTreeChildren(item.children, childrenLevel + 1),\n childrenLevel + 1\n )\n );\n }\n });\n\n return options;\n }\n\n formatTreeChildren(\n children: DataNode[],\n childrenLevel: number\n ): ElementOption[] {\n const options: ElementOption[] = [];\n\n children.map((item) => {\n options.push({\n value: item.value,\n key: item.key,\n childrenLevel,\n });\n });\n\n return options;\n }\n}\n","<section [formGroup]=\"formGroup\" *ngIf=\"showDropdown\">\n <mapa-dropdown\n [formControl]=\"formControl\"\n [element]=\"elementOption\"\n ></mapa-dropdown>\n</section>\n","import { forwardRef, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatIconModule } from \"@angular/material/icon\";\n\nimport { MapaDropdownTreeComponent } from \"./dropdown.component\";\nimport { MapaDropdownModule } from \"../../dropdown/public-api\";\n\n@NgModule({\n declarations: [MapaDropdownTreeComponent],\n exports: [MapaDropdownTreeComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MapaDropdownModule,\n MatListModule,\n MatIconModule,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MapaDropdownTreeComponent),\n multi: true,\n },\n ],\n})\nexport class MapaDropdownTreeModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown-tree\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\n\nexport * from './lib/components/dropdown/public-api';\nexport * from './lib/components/dropdown-tree/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './dropdown';\n"],"names":["i4.ButtonComponent","i3.MapaDropdownComponent"],"mappings":"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"}