@sankhyalabs/sankhyablocks 1.3.31-beta.16 → 1.3.31-beta.18

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 (190) hide show
  1. package/dist/cjs/{SnkMessageBuilder-79cf15c5.js → SnkMessageBuilder-02c2ca02.js} +137 -1
  2. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  3. package/dist/cjs/css-shim-b8158822.js +6 -0
  4. package/dist/cjs/dom-36862b77.js +75 -0
  5. package/dist/cjs/filter-item-type.enum-e2e1bc5b.js +14 -0
  6. package/dist/cjs/index-02201bc9.js +2397 -0
  7. package/dist/cjs/{index-5575fe3d.js → index-b0b676c5.js} +1598 -145
  8. package/dist/cjs/loader.cjs.js +18 -2
  9. package/dist/cjs/sankhyablocks.cjs.js +116 -4
  10. package/dist/cjs/shadow-css-346c0795.js +389 -0
  11. package/dist/cjs/snk-application.cjs.entry.js +662 -66
  12. package/dist/cjs/snk-crud.cjs.entry.js +3 -2
  13. package/dist/cjs/snk-data-unit.cjs.entry.js +23 -24
  14. package/dist/cjs/snk-filter-bar.cjs.entry.js +247 -0
  15. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +47 -0
  16. package/dist/cjs/snk-filter-detail.cjs.entry.js +49 -0
  17. package/dist/cjs/snk-filter-item.cjs.entry.js +143 -0
  18. package/dist/cjs/snk-filter-list.cjs.entry.js +91 -0
  19. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +23 -0
  20. package/dist/cjs/snk-filter-number.cjs.entry.js +24 -0
  21. package/dist/cjs/snk-filter-period.cjs.entry.js +26 -0
  22. package/dist/cjs/snk-filter-search.cjs.entry.js +44 -0
  23. package/dist/cjs/snk-filter-text.cjs.entry.js +22 -0
  24. package/dist/cjs/{snk-form_2.cjs.entry.js → snk-form.cjs.entry.js} +21 -65
  25. package/dist/cjs/snk-grid.cjs.entry.js +79 -0
  26. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -5
  27. package/dist/cjs/snk-taskbar.cjs.entry.js +17 -13
  28. package/dist/cjs/{taskbar-elements-2ae0d005.js → taskbar-elements-283c737e.js} +37 -18
  29. package/dist/cjs/taskbar-processor-6bd0d35c.js +47 -0
  30. package/dist/cjs/teste-pesquisa.cjs.entry.js +5 -5
  31. package/dist/collection/collection-manifest.json +10 -0
  32. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +7 -0
  33. package/dist/collection/components/snk-application/snk-application.js +89 -17
  34. package/dist/collection/components/snk-crud/snk-crud.js +41 -3
  35. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +88 -0
  36. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +64 -0
  37. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +65 -0
  38. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +69 -0
  39. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +118 -0
  40. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +63 -0
  41. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type.enum.js +10 -0
  42. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +118 -0
  43. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +244 -0
  44. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +233 -0
  45. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +114 -0
  46. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +305 -0
  47. package/dist/collection/components/snk-form/snk-form.js +41 -1
  48. package/dist/collection/components/snk-grid/snk-grid.css +14 -1
  49. package/dist/collection/components/snk-grid/snk-grid.js +35 -3
  50. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +35 -17
  51. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +43 -0
  52. package/dist/collection/components/snk-taskbar/snk-taskbar.js +36 -11
  53. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +24 -2
  54. package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +1 -1
  55. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +388 -0
  56. package/dist/collection/lib/message/SnkMessageBuilder.js +3 -1
  57. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +18 -0
  58. package/dist/components/SnkMessageBuilder.js +137 -2
  59. package/dist/components/filter-item-type.enum.js +12 -0
  60. package/dist/components/index.d.ts +10 -0
  61. package/dist/components/index.js +14 -0
  62. package/dist/components/index2.js +2384 -0
  63. package/dist/components/snk-application2.js +628 -30
  64. package/dist/components/snk-crud.js +29 -3
  65. package/dist/components/snk-data-unit.js +2 -3
  66. package/dist/components/snk-filter-bar.d.ts +11 -0
  67. package/dist/components/snk-filter-bar.js +6 -0
  68. package/dist/components/snk-filter-bar2.js +278 -0
  69. package/dist/components/snk-filter-binary-select.d.ts +11 -0
  70. package/dist/components/snk-filter-binary-select.js +63 -0
  71. package/dist/components/snk-filter-detail.d.ts +11 -0
  72. package/dist/components/snk-filter-detail.js +6 -0
  73. package/dist/components/snk-filter-detail2.js +63 -0
  74. package/dist/components/snk-filter-item.d.ts +11 -0
  75. package/dist/components/snk-filter-item.js +6 -0
  76. package/dist/components/snk-filter-item2.js +164 -0
  77. package/dist/components/snk-filter-list.d.ts +11 -0
  78. package/dist/components/snk-filter-list.js +6 -0
  79. package/dist/components/snk-filter-list2.js +111 -0
  80. package/dist/components/snk-filter-multi-select.d.ts +11 -0
  81. package/dist/components/snk-filter-multi-select.js +39 -0
  82. package/dist/components/snk-filter-number.d.ts +11 -0
  83. package/dist/components/snk-filter-number.js +40 -0
  84. package/dist/components/snk-filter-period.d.ts +11 -0
  85. package/dist/components/snk-filter-period.js +42 -0
  86. package/dist/components/snk-filter-search.d.ts +11 -0
  87. package/dist/components/snk-filter-search.js +62 -0
  88. package/dist/components/snk-filter-text.d.ts +11 -0
  89. package/dist/components/snk-filter-text.js +38 -0
  90. package/dist/components/snk-form2.js +21 -2
  91. package/dist/components/snk-grid2.js +42 -7
  92. package/dist/components/snk-pesquisa2.js +1 -1
  93. package/dist/components/snk-taskbar2.js +50 -27
  94. package/dist/components/taskbar-processor.js +45 -0
  95. package/dist/components/teste-pesquisa.js +1 -1
  96. package/dist/esm/{SnkMessageBuilder-3cdde541.js → SnkMessageBuilder-65d431bd.js} +137 -2
  97. package/dist/esm/app-globals-0f993ce5.js +3 -0
  98. package/dist/esm/css-shim-b3f2ee8d.js +4 -0
  99. package/dist/esm/dom-665d6011.js +73 -0
  100. package/dist/esm/filter-item-type.enum-61fbf80a.js +12 -0
  101. package/dist/esm/index-2b4d2d14.js +3262 -0
  102. package/dist/esm/index-e5b61043.js +2384 -0
  103. package/dist/esm/loader.js +18 -2
  104. package/dist/esm/sankhyablocks.js +116 -4
  105. package/dist/esm/shadow-css-b18e99d7.js +387 -0
  106. package/dist/esm/snk-application.entry.js +627 -31
  107. package/dist/esm/snk-crud.entry.js +3 -2
  108. package/dist/esm/snk-data-unit.entry.js +3 -4
  109. package/dist/esm/snk-filter-bar.entry.js +243 -0
  110. package/dist/esm/snk-filter-binary-select.entry.js +43 -0
  111. package/dist/esm/snk-filter-detail.entry.js +45 -0
  112. package/dist/esm/snk-filter-item.entry.js +139 -0
  113. package/dist/esm/snk-filter-list.entry.js +87 -0
  114. package/dist/esm/snk-filter-multi-select.entry.js +19 -0
  115. package/dist/esm/snk-filter-number.entry.js +20 -0
  116. package/dist/esm/snk-filter-period.entry.js +22 -0
  117. package/dist/esm/snk-filter-search.entry.js +40 -0
  118. package/dist/esm/snk-filter-text.entry.js +18 -0
  119. package/dist/esm/{snk-form_2.entry.js → snk-form.entry.js} +21 -64
  120. package/dist/esm/snk-grid.entry.js +75 -0
  121. package/dist/esm/snk-pesquisa.entry.js +2 -2
  122. package/dist/esm/snk-taskbar.entry.js +16 -12
  123. package/dist/esm/taskbar-elements-35d64ff9.js +90 -0
  124. package/dist/esm/taskbar-processor-aa6772c9.js +45 -0
  125. package/dist/esm/teste-pesquisa.entry.js +2 -2
  126. package/dist/sankhyablocks/SnkMessageBuilder-65d431bd.js +303 -0
  127. package/dist/sankhyablocks/app-globals-0f993ce5.js +3 -0
  128. package/dist/sankhyablocks/css-shim-b3f2ee8d.js +4 -0
  129. package/dist/sankhyablocks/dom-665d6011.js +73 -0
  130. package/dist/sankhyablocks/filter-item-type.enum-61fbf80a.js +12 -0
  131. package/dist/sankhyablocks/index-2b4d2d14.js +3262 -0
  132. package/dist/sankhyablocks/index-e5b61043.js +2384 -0
  133. package/dist/sankhyablocks/index.esm.js +1 -0
  134. package/dist/sankhyablocks/sankhyablocks.esm.js +129 -1
  135. package/dist/sankhyablocks/shadow-css-b18e99d7.js +387 -0
  136. package/dist/sankhyablocks/snk-application.entry.js +8426 -0
  137. package/dist/sankhyablocks/snk-crud.entry.js +61 -0
  138. package/dist/sankhyablocks/snk-data-unit.entry.js +272 -0
  139. package/dist/sankhyablocks/snk-filter-bar.entry.js +243 -0
  140. package/dist/sankhyablocks/snk-filter-binary-select.entry.js +43 -0
  141. package/dist/sankhyablocks/snk-filter-detail.entry.js +45 -0
  142. package/dist/sankhyablocks/snk-filter-item.entry.js +139 -0
  143. package/dist/sankhyablocks/snk-filter-list.entry.js +87 -0
  144. package/dist/sankhyablocks/snk-filter-multi-select.entry.js +19 -0
  145. package/dist/sankhyablocks/snk-filter-number.entry.js +20 -0
  146. package/dist/sankhyablocks/snk-filter-period.entry.js +22 -0
  147. package/dist/sankhyablocks/snk-filter-search.entry.js +40 -0
  148. package/dist/sankhyablocks/snk-filter-text.entry.js +18 -0
  149. package/dist/sankhyablocks/snk-form.entry.js +129 -0
  150. package/dist/sankhyablocks/snk-grid.entry.js +75 -0
  151. package/dist/sankhyablocks/snk-pesquisa.entry.js +311 -0
  152. package/dist/sankhyablocks/snk-taskbar.entry.js +156 -0
  153. package/dist/sankhyablocks/taskbar-elements-35d64ff9.js +90 -0
  154. package/dist/sankhyablocks/taskbar-processor-aa6772c9.js +45 -0
  155. package/dist/sankhyablocks/teste-pesquisa.entry.js +33 -0
  156. package/dist/types/components/snk-application/errorhandler/snk-error-handler.d.ts +1 -0
  157. package/dist/types/components/snk-application/snk-application.d.ts +9 -0
  158. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +12 -0
  159. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +7 -0
  160. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +7 -0
  161. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +13 -0
  162. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +12 -0
  163. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +7 -0
  164. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type.enum.d.ts +9 -0
  165. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +14 -0
  166. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +40 -0
  167. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +45 -0
  168. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +3 -2
  169. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +12 -0
  170. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +17 -1
  171. package/dist/types/components.d.ts +277 -2
  172. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  173. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +5 -0
  174. package/dist/types/lib/message/resources/snk-filter-bar.msg.d.ts +2 -0
  175. package/package.json +2 -2
  176. package/react/components.d.ts +0 -7
  177. package/react/components.js +0 -7
  178. package/react/components.js.map +1 -1
  179. package/dist/esm/index-cf91f542.js +0 -1817
  180. package/dist/esm/taskbar-elements-bcccc0ff.js +0 -72
  181. package/dist/sankhyablocks/p-1ba29824.entry.js +0 -74
  182. package/dist/sankhyablocks/p-2266555e.entry.js +0 -1
  183. package/dist/sankhyablocks/p-23c4c94f.js +0 -2
  184. package/dist/sankhyablocks/p-2454be94.js +0 -1
  185. package/dist/sankhyablocks/p-49743bc5.js +0 -1
  186. package/dist/sankhyablocks/p-4fa389bd.entry.js +0 -1
  187. package/dist/sankhyablocks/p-5327ba05.entry.js +0 -1
  188. package/dist/sankhyablocks/p-7a922fb4.entry.js +0 -1
  189. package/dist/sankhyablocks/p-92d6f826.entry.js +0 -1
  190. package/dist/sankhyablocks/p-bdeef7f2.entry.js +0 -1
@@ -0,0 +1,12 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterBinarySelect {
3
+ _checkOne: HTMLEzCheckElement;
4
+ _checkTwo: HTMLEzCheckElement;
5
+ value: any;
6
+ config: SnkFilterItemConfig;
7
+ isSelected(option: string): boolean;
8
+ ezChangeListener(evt: CustomEvent): void;
9
+ assertCheckedOption(updatingCheck: HTMLElement): void;
10
+ updateValue(): void;
11
+ render(): any;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterMultiSelect {
3
+ value: any;
4
+ config: SnkFilterItemConfig;
5
+ ezChangeListener(evt: CustomEvent): void;
6
+ render(): any;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterPeriod {
3
+ config: SnkFilterItemConfig;
4
+ value: number;
5
+ ezChangeListener(evt: CustomEvent): void;
6
+ render(): any;
7
+ }
@@ -0,0 +1,13 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterPeriod {
3
+ _startDate: HTMLEzDateInputElement;
4
+ _endDate: HTMLEzDateInputElement;
5
+ config: SnkFilterItemConfig;
6
+ value: Period;
7
+ ezChangeListener(): void;
8
+ render(): any;
9
+ }
10
+ export interface Period {
11
+ start?: Date;
12
+ end?: Date;
13
+ }
@@ -0,0 +1,12 @@
1
+ import { Option } from '@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box';
2
+ import { SnkFilterItemConfig } from '../snk-filter-item';
3
+ export declare class SnkFilterSearch {
4
+ config: SnkFilterItemConfig;
5
+ value: Option;
6
+ fix: () => void;
7
+ unfix: () => void;
8
+ _searchInput: HTMLEzSearchElement;
9
+ ezChangeListener(_evt: CustomEvent): void;
10
+ doSearch(mode: string, argument: string): Promise<Array<Option> | Option>;
11
+ render(): any;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterText {
3
+ config: SnkFilterItemConfig;
4
+ value: string;
5
+ ezChangeListener(evt: CustomEvent): void;
6
+ render(): any;
7
+ }
@@ -0,0 +1,9 @@
1
+ declare enum FilterItemType {
2
+ MULTI_SELECT = "MULTI_SELECT",
3
+ BINARY_SELECT = "BINARY_SELECT",
4
+ PERIOD = "PERIOD",
5
+ SEARCH = "SEARCH",
6
+ TEXT = "TEXT",
7
+ NUMBER = "NUMBER"
8
+ }
9
+ export default FilterItemType;
@@ -0,0 +1,14 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
2
+ import { SnkFilterItemConfig } from './snk-filter-item';
3
+ export declare class SnkFilterDetail {
4
+ _editor: HTMLElement;
5
+ config: SnkFilterItemConfig;
6
+ keepOpened: boolean;
7
+ getMessage: (key: string, props?: any) => string;
8
+ filterChange: EventEmitter<SnkFilterItemConfig>;
9
+ changeConfig(newConfig: SnkFilterItemConfig): void;
10
+ getContentEditor(): string;
11
+ removeItem(): void;
12
+ getPopUpHeaderButtons(): any[];
13
+ render(): any;
14
+ }
@@ -0,0 +1,40 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
2
+ export declare class SnkFilterList {
3
+ _element: HTMLElement;
4
+ _popoverContainer: HTMLElement;
5
+ _popover: HTMLElement;
6
+ _filterInput: HTMLEzFilterInputElement;
7
+ _floatingID: number;
8
+ _detailIsVisible: boolean;
9
+ _filterArgument: string;
10
+ _showAll: boolean;
11
+ label: string;
12
+ iconName: string;
13
+ items: Array<ListItem>;
14
+ getMessage: (key: string, props?: any) => string;
15
+ emptyText: string;
16
+ findFilterText: string;
17
+ buttonClass: string;
18
+ snkItemSelected: EventEmitter<string>;
19
+ private showList;
20
+ innerClickCheck: (floatingContainer: HTMLElement, node: HTMLElement) => boolean;
21
+ private hideList;
22
+ private buttonClick;
23
+ componentDidRender(): void;
24
+ buildItemElement(item: InternalListItem): HTMLElement;
25
+ itemSelected(itemName: string): void;
26
+ getFilterItems(): any;
27
+ getFooterItems(): ListItem[];
28
+ render(): any;
29
+ }
30
+ export interface ListItem {
31
+ label: string;
32
+ name: string;
33
+ kind: string;
34
+ iconName?: string;
35
+ }
36
+ interface InternalListItem extends ListItem {
37
+ iconClass?: string;
38
+ labelClass?: string;
39
+ }
40
+ export {};
@@ -0,0 +1,45 @@
1
+ import { DataUnit } from '@sankhyalabs/core';
2
+ import { SnkApplication } from '../snk-application/snk-application';
3
+ import { SnkFilterItemConfig } from './filter-item/snk-filter-item';
4
+ import { FilterProvider, Filter } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
+ import { ListItem } from './filter-list/snk-filter-list';
6
+ export declare class SnkFilterBar implements FilterProvider {
7
+ _element: HTMLElement;
8
+ _application: SnkApplication;
9
+ _updateSequence: Array<string>;
10
+ _calculateSortIndex: (item: SnkFilterItemConfig) => number;
11
+ _filtersComparator: (a: SnkFilterItemConfig, b: SnkFilterItemConfig) => number;
12
+ /**
13
+ * Recebe o DataUnit do ambiente. Se não for informado, procura pela referência
14
+ * do SnkDataUnit. Necessário para se registrar como provedor de filtros.
15
+ */
16
+ dataUnit: DataUnit;
17
+ /**
18
+ * Lista de todos os filtros disponíveis ao usuário.
19
+ */
20
+ filterConfig: Array<SnkFilterItemConfig>;
21
+ /**
22
+ * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
23
+ * através de um pequeno modulo na estrutura da aplicação:
24
+ * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
25
+ * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-bar.msg.ts"
26
+ */
27
+ private getMessage;
28
+ getFilter(_dataUnit: string): Array<Filter>;
29
+ buildDUFilter(item: SnkFilterItemConfig): {
30
+ name: string;
31
+ expression: any;
32
+ params: any[];
33
+ };
34
+ componentWillLoad(): void;
35
+ getFilterItems(): Array<HTMLElement>;
36
+ calculateUpdateSequence(item: SnkFilterItemConfig): void;
37
+ filterChangeListener(evt: CustomEvent): void;
38
+ updateFilter(newItem: SnkFilterItemConfig, clear?: boolean): boolean;
39
+ getAddListItems(): Array<ListItem>;
40
+ getActiveClass(): "" | "sc-snk-filter-bar snk-filter-bar__filter-list-items-button--active";
41
+ getAppliedListItems(): Array<ListItem>;
42
+ addFilterHandler(itemName: string): void;
43
+ appliedFilterHandler(itemName: string): void;
44
+ render(): any;
45
+ }
@@ -1,4 +1,4 @@
1
- import { Action } from "../snk-taskbar";
1
+ import { Action, CustomButton } from "../snk-taskbar";
2
2
  export declare enum TaskbarElement {
3
3
  PREVIOUS = "PREVIOUS",
4
4
  NEXT = "NEXT",
@@ -25,4 +25,5 @@ export declare enum AuthorizationElements {
25
25
  export declare enum VisibleWhenForbidden {
26
26
  CONFIG_GRID = "CONFIG_GRID"
27
27
  }
28
- export declare const buildElem: (element: TaskbarElement, className: string, getTitle: (element: TaskbarElement) => string, action: (element: string | TaskbarElement) => void, isEnabled: (element: TaskbarElement) => boolean, actions: Array<Action>) => HTMLElement;
28
+ export declare const buildCustomButton: (def: CustomButton, className: string, action: (name: string) => void, isEnabled: (name: string) => boolean) => HTMLElement;
29
+ export declare const buildElem: (element: TaskbarElement, className: string, getTitle: (name: string) => string, action: (name: string) => void, isEnabled: (name: string) => boolean, actions: Array<Action>) => HTMLElement;
@@ -0,0 +1,12 @@
1
+ import { DataState } from "../../snk-data-unit/snk-data-unit";
2
+ import { CustomButton, TaskbarManager } from "../snk-taskbar";
3
+ export default class TaskbarProcessor {
4
+ private _defaultButtons;
5
+ buttons: string;
6
+ disabledButtons: Array<string>;
7
+ customButtons: Map<string, CustomButton>;
8
+ constructor(defaultButtons: any);
9
+ process(taskbarId: string, taskbarManager: TaskbarManager, dataState: DataState, disabledButtons?: Array<string>): void;
10
+ private getButtonsArray;
11
+ private isEnabled;
12
+ }
@@ -1,6 +1,7 @@
1
1
  import { DataUnit } from '@sankhyalabs/core';
2
2
  import { EventEmitter } from '../../stencil-public-runtime';
3
3
  import { SnkApplication } from '../snk-application/snk-application';
4
+ import { DataState } from '../snk-data-unit/snk-data-unit';
4
5
  import { TaskbarElement } from './elements/taskbar-elements';
5
6
  export declare class SnkTaskbar {
6
7
  _application: SnkApplication;
@@ -8,6 +9,11 @@ export declare class SnkTaskbar {
8
9
  * Lista separada por virgula, contendo todos os elementos a serem criados
9
10
  */
10
11
  buttons: string;
12
+ /**
13
+ * Mapa com definição de botões personalizados. A chave do mapa deve ser
14
+ * passada na lista "buttons" no lugar onde o botão irá aparecer.
15
+ */
16
+ customButtons: Map<string, CustomButton>;
11
17
  /**
12
18
  * Lista de ações que devem ser usadas no botão "Mais opções"
13
19
  */
@@ -57,7 +63,7 @@ export declare class SnkTaskbar {
57
63
  private getTitle;
58
64
  private elementClick;
59
65
  private isEnabled;
60
- getElement(index: number, def: TaskbarElement): HTMLElement;
66
+ getElement(index: number, def: TaskbarElement | CustomButton): HTMLElement;
61
67
  componentWillLoad(): void;
62
68
  componentWillRender(): void;
63
69
  render(): any;
@@ -66,3 +72,13 @@ export interface Action {
66
72
  value: string;
67
73
  label: string;
68
74
  }
75
+ export interface CustomButton {
76
+ name: string;
77
+ hint: string;
78
+ text?: string;
79
+ iconName?: string;
80
+ }
81
+ export interface TaskbarManager {
82
+ getButtons: (taskbarId: string, dataState: DataState, currentButtons: Array<string>) => Array<string | CustomButton>;
83
+ isEnabled?: (taskbarId: string, dataState: DataState, buttonName: string, currentValue: boolean) => boolean;
84
+ }
@@ -11,11 +11,15 @@ import { DataUnit, Filter } from "@sankhyalabs/core";
11
11
  import { DialogType, MessageOptions } from "@sankhyalabs/ezui/dist/collection/utils";
12
12
  import { FieldConfig, RecordValidator } from "@sankhyalabs/ezui/dist/types/components/ez-form/ez-form";
13
13
  import { IGridConfig } from "@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController";
14
+ import { SnkFilterItemConfig } from "./components/snk-filter-bar/filter-item/snk-filter-item";
14
15
  import { Option } from "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box";
15
16
  import { SearchCriteria } from "./lib/http/data-fetcher/fetchers/pesquisa-fetcher";
16
- import { Action } from "./components/snk-taskbar/snk-taskbar";
17
+ import { Action, TaskbarManager } from "./components/snk-taskbar/snk-taskbar";
17
18
  import { DataState } from "./components/snk-data-unit/snk-data-unit";
18
- import { Action as Action1 } from "./components/snk-taskbar/snk-taskbar";
19
+ import { SnkFilterItemConfig as SnkFilterItemConfig1 } from "./components/snk-filter-bar/filter-item/snk-filter-item";
20
+ import { ListItem } from "./components/snk-filter-bar/filter-list/snk-filter-list";
21
+ import { Period } from "./components/snk-filter-bar/filter-item/editors/snk-filter-period";
22
+ import { Action as Action1, CustomButton } from "./components/snk-taskbar/snk-taskbar";
19
23
  export namespace Components {
20
24
  interface SnkApplication {
21
25
  /**
@@ -38,6 +42,7 @@ export namespace Components {
38
42
  * Mostra o diálogo de erro de acordo com os parâmetros passados.
39
43
  */
40
44
  "error": (title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>;
45
+ "executePreparedSearch": (mode: string, argument: string, options: any) => Promise<Array<Option> | Option>;
41
46
  "executeSearch": (searchArgument: any, fieldName: string, dataUnit: DataUnit) => Promise<Array<Option> | Option>;
42
47
  /**
43
48
  * Retorna todos os acessos do usuário logado.
@@ -63,6 +68,10 @@ export namespace Components {
63
68
  * Retorna o valor de um parâmetro do tipo data.
64
69
  */
65
70
  "getDateParam": (name: string) => Promise<Date>;
71
+ /**
72
+ * Obtém as configurações da barra de filtros
73
+ */
74
+ "getFilterBarConfig": () => Promise<Array<SnkFilterItemConfig>>;
66
75
  /**
67
76
  * Retorna o valor de um parâmetro do tipo Decimal.
68
77
  */
@@ -134,12 +143,22 @@ export namespace Components {
134
143
  "temOpcional": (opcional: string) => Promise<boolean>;
135
144
  }
136
145
  interface SnkCrud {
146
+ /**
147
+ * Ações a serem colocadas no botão "Mais opções".
148
+ */
137
149
  "actionsList": Array<Action>;
150
+ /**
151
+ * Usado para salvar as configurações dos blocos de construção.
152
+ */
138
153
  "configName": string;
139
154
  /**
140
155
  * Validador responsável por checar a integridade das informações do registro
141
156
  */
142
157
  "recordsValidator": RecordValidator;
158
+ /**
159
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
160
+ */
161
+ "taskbarManager": TaskbarManager;
143
162
  }
144
163
  interface SnkDataUnit {
145
164
  /**
@@ -180,6 +199,61 @@ export namespace Components {
180
199
  */
181
200
  "pageSize": number;
182
201
  }
202
+ interface SnkFilterBar {
203
+ /**
204
+ * Recebe o DataUnit do ambiente. Se não for informado, procura pela referência do SnkDataUnit. Necessário para se registrar como provedor de filtros.
205
+ */
206
+ "dataUnit": DataUnit;
207
+ /**
208
+ * Lista de todos os filtros disponíveis ao usuário.
209
+ */
210
+ "filterConfig": Array<SnkFilterItemConfig>;
211
+ }
212
+ interface SnkFilterBinarySelect {
213
+ "config": SnkFilterItemConfig;
214
+ "value": any;
215
+ }
216
+ interface SnkFilterDetail {
217
+ "config": SnkFilterItemConfig;
218
+ "getMessage": (key: string, props?: any) => string;
219
+ "keepOpened": boolean;
220
+ }
221
+ interface SnkFilterItem {
222
+ "config": SnkFilterItemConfig;
223
+ "getMessage": (key: string, props?: any) => string;
224
+ "showUp": (open?: boolean) => Promise<void>;
225
+ }
226
+ interface SnkFilterList {
227
+ "buttonClass": string;
228
+ "emptyText": string;
229
+ "findFilterText": string;
230
+ "getMessage": (key: string, props?: any) => string;
231
+ "iconName": string;
232
+ "items": Array<ListItem>;
233
+ "label": string;
234
+ }
235
+ interface SnkFilterMultiSelect {
236
+ "config": SnkFilterItemConfig;
237
+ "value": any;
238
+ }
239
+ interface SnkFilterNumber {
240
+ "config": SnkFilterItemConfig;
241
+ "value": number;
242
+ }
243
+ interface SnkFilterPeriod {
244
+ "config": SnkFilterItemConfig;
245
+ "value": Period;
246
+ }
247
+ interface SnkFilterSearch {
248
+ "config": SnkFilterItemConfig;
249
+ "fix": ()=>void;
250
+ "unfix": ()=>void;
251
+ "value": Option;
252
+ }
253
+ interface SnkFilterText {
254
+ "config": SnkFilterItemConfig;
255
+ "value": string;
256
+ }
183
257
  interface SnkForm {
184
258
  /**
185
259
  * Lista de ações que devem ser usadas no botão "Mais opções"
@@ -193,6 +267,10 @@ export namespace Components {
193
267
  * Validador responsável por checar a integridade das informações do registro
194
268
  */
195
269
  "recordsValidator": RecordValidator;
270
+ /**
271
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
272
+ */
273
+ "taskbarManager": TaskbarManager;
196
274
  }
197
275
  interface SnkGrid {
198
276
  /**
@@ -203,6 +281,10 @@ export namespace Components {
203
281
  * Nome usado para salvar/recuperar a configuração
204
282
  */
205
283
  "configName": string;
284
+ /**
285
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
286
+ */
287
+ "taskbarManager": TaskbarManager;
206
288
  }
207
289
  interface SnkPesquisa {
208
290
  "argument": string;
@@ -218,6 +300,10 @@ export namespace Components {
218
300
  * Lista separada por virgula, contendo todos os elementos a serem criados
219
301
  */
220
302
  "buttons": string;
303
+ /**
304
+ * Mapa com definição de botões personalizados. A chave do mapa deve ser passada na lista "buttons" no lugar onde o botão irá aparecer.
305
+ */
306
+ "customButtons": Map<string, CustomButton>;
221
307
  /**
222
308
  * Instância do DataUnit
223
309
  */
@@ -238,10 +324,26 @@ export interface SnkApplicationCustomEvent<T> extends CustomEvent<T> {
238
324
  detail: T;
239
325
  target: HTMLSnkApplicationElement;
240
326
  }
327
+ export interface SnkCrudCustomEvent<T> extends CustomEvent<T> {
328
+ detail: T;
329
+ target: HTMLSnkCrudElement;
330
+ }
241
331
  export interface SnkDataUnitCustomEvent<T> extends CustomEvent<T> {
242
332
  detail: T;
243
333
  target: HTMLSnkDataUnitElement;
244
334
  }
335
+ export interface SnkFilterDetailCustomEvent<T> extends CustomEvent<T> {
336
+ detail: T;
337
+ target: HTMLSnkFilterDetailElement;
338
+ }
339
+ export interface SnkFilterItemCustomEvent<T> extends CustomEvent<T> {
340
+ detail: T;
341
+ target: HTMLSnkFilterItemElement;
342
+ }
343
+ export interface SnkFilterListCustomEvent<T> extends CustomEvent<T> {
344
+ detail: T;
345
+ target: HTMLSnkFilterListElement;
346
+ }
245
347
  export interface SnkFormCustomEvent<T> extends CustomEvent<T> {
246
348
  detail: T;
247
349
  target: HTMLSnkFormElement;
@@ -273,6 +375,66 @@ declare global {
273
375
  prototype: HTMLSnkDataUnitElement;
274
376
  new (): HTMLSnkDataUnitElement;
275
377
  };
378
+ interface HTMLSnkFilterBarElement extends Components.SnkFilterBar, HTMLStencilElement {
379
+ }
380
+ var HTMLSnkFilterBarElement: {
381
+ prototype: HTMLSnkFilterBarElement;
382
+ new (): HTMLSnkFilterBarElement;
383
+ };
384
+ interface HTMLSnkFilterBinarySelectElement extends Components.SnkFilterBinarySelect, HTMLStencilElement {
385
+ }
386
+ var HTMLSnkFilterBinarySelectElement: {
387
+ prototype: HTMLSnkFilterBinarySelectElement;
388
+ new (): HTMLSnkFilterBinarySelectElement;
389
+ };
390
+ interface HTMLSnkFilterDetailElement extends Components.SnkFilterDetail, HTMLStencilElement {
391
+ }
392
+ var HTMLSnkFilterDetailElement: {
393
+ prototype: HTMLSnkFilterDetailElement;
394
+ new (): HTMLSnkFilterDetailElement;
395
+ };
396
+ interface HTMLSnkFilterItemElement extends Components.SnkFilterItem, HTMLStencilElement {
397
+ }
398
+ var HTMLSnkFilterItemElement: {
399
+ prototype: HTMLSnkFilterItemElement;
400
+ new (): HTMLSnkFilterItemElement;
401
+ };
402
+ interface HTMLSnkFilterListElement extends Components.SnkFilterList, HTMLStencilElement {
403
+ }
404
+ var HTMLSnkFilterListElement: {
405
+ prototype: HTMLSnkFilterListElement;
406
+ new (): HTMLSnkFilterListElement;
407
+ };
408
+ interface HTMLSnkFilterMultiSelectElement extends Components.SnkFilterMultiSelect, HTMLStencilElement {
409
+ }
410
+ var HTMLSnkFilterMultiSelectElement: {
411
+ prototype: HTMLSnkFilterMultiSelectElement;
412
+ new (): HTMLSnkFilterMultiSelectElement;
413
+ };
414
+ interface HTMLSnkFilterNumberElement extends Components.SnkFilterNumber, HTMLStencilElement {
415
+ }
416
+ var HTMLSnkFilterNumberElement: {
417
+ prototype: HTMLSnkFilterNumberElement;
418
+ new (): HTMLSnkFilterNumberElement;
419
+ };
420
+ interface HTMLSnkFilterPeriodElement extends Components.SnkFilterPeriod, HTMLStencilElement {
421
+ }
422
+ var HTMLSnkFilterPeriodElement: {
423
+ prototype: HTMLSnkFilterPeriodElement;
424
+ new (): HTMLSnkFilterPeriodElement;
425
+ };
426
+ interface HTMLSnkFilterSearchElement extends Components.SnkFilterSearch, HTMLStencilElement {
427
+ }
428
+ var HTMLSnkFilterSearchElement: {
429
+ prototype: HTMLSnkFilterSearchElement;
430
+ new (): HTMLSnkFilterSearchElement;
431
+ };
432
+ interface HTMLSnkFilterTextElement extends Components.SnkFilterText, HTMLStencilElement {
433
+ }
434
+ var HTMLSnkFilterTextElement: {
435
+ prototype: HTMLSnkFilterTextElement;
436
+ new (): HTMLSnkFilterTextElement;
437
+ };
276
438
  interface HTMLSnkFormElement extends Components.SnkForm, HTMLStencilElement {
277
439
  }
278
440
  var HTMLSnkFormElement: {
@@ -307,6 +469,16 @@ declare global {
307
469
  "snk-application": HTMLSnkApplicationElement;
308
470
  "snk-crud": HTMLSnkCrudElement;
309
471
  "snk-data-unit": HTMLSnkDataUnitElement;
472
+ "snk-filter-bar": HTMLSnkFilterBarElement;
473
+ "snk-filter-binary-select": HTMLSnkFilterBinarySelectElement;
474
+ "snk-filter-detail": HTMLSnkFilterDetailElement;
475
+ "snk-filter-item": HTMLSnkFilterItemElement;
476
+ "snk-filter-list": HTMLSnkFilterListElement;
477
+ "snk-filter-multi-select": HTMLSnkFilterMultiSelectElement;
478
+ "snk-filter-number": HTMLSnkFilterNumberElement;
479
+ "snk-filter-period": HTMLSnkFilterPeriodElement;
480
+ "snk-filter-search": HTMLSnkFilterSearchElement;
481
+ "snk-filter-text": HTMLSnkFilterTextElement;
310
482
  "snk-form": HTMLSnkFormElement;
311
483
  "snk-grid": HTMLSnkGridElement;
312
484
  "snk-pesquisa": HTMLSnkPesquisaElement;
@@ -330,12 +502,26 @@ declare namespace LocalJSX {
330
502
  "onApplicationLoading"?: (event: SnkApplicationCustomEvent<boolean>) => void;
331
503
  }
332
504
  interface SnkCrud {
505
+ /**
506
+ * Ações a serem colocadas no botão "Mais opções".
507
+ */
333
508
  "actionsList"?: Array<Action>;
509
+ /**
510
+ * Usado para salvar as configurações dos blocos de construção.
511
+ */
334
512
  "configName"?: string;
513
+ /**
514
+ * Emitido pela taskbar sempre que houver click de botão ou ação
515
+ */
516
+ "onActionClick"?: (event: SnkCrudCustomEvent<string>) => void;
335
517
  /**
336
518
  * Validador responsável por checar a integridade das informações do registro
337
519
  */
338
520
  "recordsValidator"?: RecordValidator;
521
+ /**
522
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
523
+ */
524
+ "taskbarManager"?: TaskbarManager;
339
525
  }
340
526
  interface SnkDataUnit {
341
527
  /**
@@ -387,6 +573,63 @@ declare namespace LocalJSX {
387
573
  */
388
574
  "pageSize"?: number;
389
575
  }
576
+ interface SnkFilterBar {
577
+ /**
578
+ * Recebe o DataUnit do ambiente. Se não for informado, procura pela referência do SnkDataUnit. Necessário para se registrar como provedor de filtros.
579
+ */
580
+ "dataUnit"?: DataUnit;
581
+ /**
582
+ * Lista de todos os filtros disponíveis ao usuário.
583
+ */
584
+ "filterConfig"?: Array<SnkFilterItemConfig>;
585
+ }
586
+ interface SnkFilterBinarySelect {
587
+ "config"?: SnkFilterItemConfig;
588
+ "value"?: any;
589
+ }
590
+ interface SnkFilterDetail {
591
+ "config"?: SnkFilterItemConfig;
592
+ "getMessage"?: (key: string, props?: any) => string;
593
+ "keepOpened"?: boolean;
594
+ "onFilterChange"?: (event: SnkFilterDetailCustomEvent<SnkFilterItemConfig>) => void;
595
+ }
596
+ interface SnkFilterItem {
597
+ "config"?: SnkFilterItemConfig;
598
+ "getMessage"?: (key: string, props?: any) => string;
599
+ "onFilterChange"?: (event: SnkFilterItemCustomEvent<SnkFilterItemConfig>) => void;
600
+ }
601
+ interface SnkFilterList {
602
+ "buttonClass"?: string;
603
+ "emptyText"?: string;
604
+ "findFilterText"?: string;
605
+ "getMessage"?: (key: string, props?: any) => string;
606
+ "iconName"?: string;
607
+ "items"?: Array<ListItem>;
608
+ "label"?: string;
609
+ "onSnkItemSelected"?: (event: SnkFilterListCustomEvent<string>) => void;
610
+ }
611
+ interface SnkFilterMultiSelect {
612
+ "config"?: SnkFilterItemConfig;
613
+ "value"?: any;
614
+ }
615
+ interface SnkFilterNumber {
616
+ "config"?: SnkFilterItemConfig;
617
+ "value"?: number;
618
+ }
619
+ interface SnkFilterPeriod {
620
+ "config"?: SnkFilterItemConfig;
621
+ "value"?: Period;
622
+ }
623
+ interface SnkFilterSearch {
624
+ "config"?: SnkFilterItemConfig;
625
+ "fix"?: ()=>void;
626
+ "unfix"?: ()=>void;
627
+ "value"?: Option;
628
+ }
629
+ interface SnkFilterText {
630
+ "config"?: SnkFilterItemConfig;
631
+ "value"?: string;
632
+ }
390
633
  interface SnkForm {
391
634
  /**
392
635
  * Lista de ações que devem ser usadas no botão "Mais opções"
@@ -408,6 +651,10 @@ declare namespace LocalJSX {
408
651
  * Validador responsável por checar a integridade das informações do registro
409
652
  */
410
653
  "recordsValidator"?: RecordValidator;
654
+ /**
655
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
656
+ */
657
+ "taskbarManager"?: TaskbarManager;
411
658
  }
412
659
  interface SnkGrid {
413
660
  /**
@@ -426,6 +673,10 @@ declare namespace LocalJSX {
426
673
  * Emitido sempre que houver duplo click na grade
427
674
  */
428
675
  "onGridDoubleClick"?: (event: SnkGridCustomEvent<void>) => void;
676
+ /**
677
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
678
+ */
679
+ "taskbarManager"?: TaskbarManager;
429
680
  }
430
681
  interface SnkPesquisa {
431
682
  "argument"?: string;
@@ -441,6 +692,10 @@ declare namespace LocalJSX {
441
692
  * Lista separada por virgula, contendo todos os elementos a serem criados
442
693
  */
443
694
  "buttons"?: string;
695
+ /**
696
+ * Mapa com definição de botões personalizados. A chave do mapa deve ser passada na lista "buttons" no lugar onde o botão irá aparecer.
697
+ */
698
+ "customButtons"?: Map<string, CustomButton>;
444
699
  /**
445
700
  * Instância do DataUnit
446
701
  */
@@ -464,6 +719,16 @@ declare namespace LocalJSX {
464
719
  "snk-application": SnkApplication;
465
720
  "snk-crud": SnkCrud;
466
721
  "snk-data-unit": SnkDataUnit;
722
+ "snk-filter-bar": SnkFilterBar;
723
+ "snk-filter-binary-select": SnkFilterBinarySelect;
724
+ "snk-filter-detail": SnkFilterDetail;
725
+ "snk-filter-item": SnkFilterItem;
726
+ "snk-filter-list": SnkFilterList;
727
+ "snk-filter-multi-select": SnkFilterMultiSelect;
728
+ "snk-filter-number": SnkFilterNumber;
729
+ "snk-filter-period": SnkFilterPeriod;
730
+ "snk-filter-search": SnkFilterSearch;
731
+ "snk-filter-text": SnkFilterText;
467
732
  "snk-form": SnkForm;
468
733
  "snk-grid": SnkGrid;
469
734
  "snk-pesquisa": SnkPesquisa;
@@ -478,6 +743,16 @@ declare module "@stencil/core" {
478
743
  "snk-application": LocalJSX.SnkApplication & JSXBase.HTMLAttributes<HTMLSnkApplicationElement>;
479
744
  "snk-crud": LocalJSX.SnkCrud & JSXBase.HTMLAttributes<HTMLSnkCrudElement>;
480
745
  "snk-data-unit": LocalJSX.SnkDataUnit & JSXBase.HTMLAttributes<HTMLSnkDataUnitElement>;
746
+ "snk-filter-bar": LocalJSX.SnkFilterBar & JSXBase.HTMLAttributes<HTMLSnkFilterBarElement>;
747
+ "snk-filter-binary-select": LocalJSX.SnkFilterBinarySelect & JSXBase.HTMLAttributes<HTMLSnkFilterBinarySelectElement>;
748
+ "snk-filter-detail": LocalJSX.SnkFilterDetail & JSXBase.HTMLAttributes<HTMLSnkFilterDetailElement>;
749
+ "snk-filter-item": LocalJSX.SnkFilterItem & JSXBase.HTMLAttributes<HTMLSnkFilterItemElement>;
750
+ "snk-filter-list": LocalJSX.SnkFilterList & JSXBase.HTMLAttributes<HTMLSnkFilterListElement>;
751
+ "snk-filter-multi-select": LocalJSX.SnkFilterMultiSelect & JSXBase.HTMLAttributes<HTMLSnkFilterMultiSelectElement>;
752
+ "snk-filter-number": LocalJSX.SnkFilterNumber & JSXBase.HTMLAttributes<HTMLSnkFilterNumberElement>;
753
+ "snk-filter-period": LocalJSX.SnkFilterPeriod & JSXBase.HTMLAttributes<HTMLSnkFilterPeriodElement>;
754
+ "snk-filter-search": LocalJSX.SnkFilterSearch & JSXBase.HTMLAttributes<HTMLSnkFilterSearchElement>;
755
+ "snk-filter-text": LocalJSX.SnkFilterText & JSXBase.HTMLAttributes<HTMLSnkFilterTextElement>;
481
756
  "snk-form": LocalJSX.SnkForm & JSXBase.HTMLAttributes<HTMLSnkFormElement>;
482
757
  "snk-grid": LocalJSX.SnkGrid & JSXBase.HTMLAttributes<HTMLSnkGridElement>;
483
758
  "snk-pesquisa": LocalJSX.SnkPesquisa & JSXBase.HTMLAttributes<HTMLSnkPesquisaElement>;