@likable-hair/svelte 3.3.21 → 3.3.22

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 (200) hide show
  1. package/dist/components/composed/buttons/ActivableButton.svelte +6 -2
  2. package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +36 -32
  3. package/dist/components/composed/common/MenuOrDrawer.svelte +21 -5
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +50 -36
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +29 -13
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +34 -30
  7. package/dist/components/composed/common/QuickActions.svelte +52 -20
  8. package/dist/components/composed/common/QuickActions.svelte.d.ts +24 -20
  9. package/dist/components/composed/common/ToolTip.svelte +31 -22
  10. package/dist/components/composed/common/ToolTip.svelte.d.ts +32 -43
  11. package/dist/components/composed/forms/AsyncAutocomplete.svelte +44 -23
  12. package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +44 -39
  13. package/dist/components/composed/forms/AvatarDropdown.svelte +57 -27
  14. package/dist/components/composed/forms/AvatarDropdown.svelte.d.ts +45 -41
  15. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +35 -17
  16. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte.d.ts +41 -37
  17. package/dist/components/composed/forms/CountriesAutocomplete.svelte +16 -7
  18. package/dist/components/composed/forms/CountriesAutocomplete.svelte.d.ts +31 -60
  19. package/dist/components/composed/forms/DatePickerTextField.svelte +166 -114
  20. package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +67 -63
  21. package/dist/components/composed/forms/Dropdown.svelte +51 -21
  22. package/dist/components/composed/forms/Dropdown.svelte.d.ts +48 -43
  23. package/dist/components/composed/forms/IconsDropdown.svelte +61 -33
  24. package/dist/components/composed/forms/IconsDropdown.svelte.d.ts +30 -26
  25. package/dist/components/composed/forms/LabelAndSelect.svelte +32 -7
  26. package/dist/components/composed/forms/LabelAndSelect.svelte.d.ts +35 -31
  27. package/dist/components/composed/forms/LabelAndTextField.svelte +30 -5
  28. package/dist/components/composed/forms/LabelAndTextField.svelte.d.ts +46 -42
  29. package/dist/components/composed/forms/ToggleList.svelte +59 -33
  30. package/dist/components/composed/forms/ToggleList.svelte.d.ts +21 -17
  31. package/dist/components/composed/forms/YearPickerTextField.svelte +114 -74
  32. package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +53 -49
  33. package/dist/components/composed/list/DynamicTable.svelte +1102 -707
  34. package/dist/components/composed/list/DynamicTable.svelte.d.ts +369 -365
  35. package/dist/components/composed/list/PaginatedTable.svelte +139 -76
  36. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +108 -108
  37. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +58 -30
  38. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +25 -21
  39. package/dist/components/composed/search/DynamicFilters.svelte +103 -82
  40. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +31 -27
  41. package/dist/components/composed/search/FilterEditor.svelte +106 -77
  42. package/dist/components/composed/search/FilterEditor.svelte.d.ts +37 -33
  43. package/dist/components/composed/search/Filters.svelte +361 -292
  44. package/dist/components/composed/search/Filters.svelte.d.ts +55 -51
  45. package/dist/components/composed/search/GlobalSearchTextField.svelte +79 -41
  46. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +43 -39
  47. package/dist/components/composed/search/MobileFilterEditor.svelte +135 -93
  48. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +39 -35
  49. package/dist/components/composed/search/SearchBar.svelte +28 -5
  50. package/dist/components/composed/search/SearchBar.svelte.d.ts +34 -30
  51. package/dist/components/composed/search/SearchResults.svelte +42 -7
  52. package/dist/components/composed/search/SearchResults.svelte.d.ts +40 -36
  53. package/dist/components/composed/shop/ProductCard.svelte +18 -4
  54. package/dist/components/composed/shop/ProductCard.svelte.d.ts +32 -28
  55. package/dist/components/composed/shop/ProductsGrid.svelte +22 -2
  56. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +44 -40
  57. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +77 -38
  58. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +109 -69
  59. package/dist/components/layouts/StableDividedSideBarLayout.svelte +47 -17
  60. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +50 -32
  61. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +53 -30
  62. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +103 -63
  63. package/dist/components/simple/buttons/Button.svelte +78 -32
  64. package/dist/components/simple/buttons/Button.svelte.d.ts +47 -35
  65. package/dist/components/simple/buttons/LinkButton.svelte +54 -22
  66. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +50 -33
  67. package/dist/components/simple/charts/GanymedeBarChart.svelte +172 -134
  68. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +50 -46
  69. package/dist/components/simple/charts/GanymedeLineChart.svelte +157 -115
  70. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +51 -47
  71. package/dist/components/simple/charts/GanymedePieChart.svelte +62 -39
  72. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +37 -33
  73. package/dist/components/simple/common/Card.svelte +20 -1
  74. package/dist/components/simple/common/Card.svelte.d.ts +51 -38
  75. package/dist/components/simple/common/CollapsibleDivider.svelte +23 -11
  76. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +29 -25
  77. package/dist/components/simple/common/Divider.svelte +8 -2
  78. package/dist/components/simple/common/Divider.svelte.d.ts +23 -19
  79. package/dist/components/simple/common/Gesture.svelte +64 -46
  80. package/dist/components/simple/common/Gesture.svelte.d.ts +21 -17
  81. package/dist/components/simple/common/InfiniteScroll.svelte +52 -29
  82. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +24 -20
  83. package/dist/components/simple/common/IntersectionObserver.svelte +45 -32
  84. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +34 -21
  85. package/dist/components/simple/common/MediaQuery.svelte +30 -21
  86. package/dist/components/simple/common/MediaQuery.svelte.d.ts +34 -30
  87. package/dist/components/simple/common/Menu.svelte +290 -201
  88. package/dist/components/simple/common/Menu.svelte.d.ts +51 -40
  89. package/dist/components/simple/common/Playground.svelte +18 -17
  90. package/dist/components/simple/common/Playground.svelte.d.ts +19 -15
  91. package/dist/components/simple/common/VerticalDraggableList.svelte +35 -16
  92. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +33 -29
  93. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +32 -26
  94. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +16 -12
  95. package/dist/components/simple/dates/Calendar.svelte +52 -28
  96. package/dist/components/simple/dates/Calendar.svelte.d.ts +45 -41
  97. package/dist/components/simple/dates/DatePicker.svelte +90 -60
  98. package/dist/components/simple/dates/DatePicker.svelte.d.ts +44 -40
  99. package/dist/components/simple/dates/MonthSelector.svelte +37 -15
  100. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +35 -31
  101. package/dist/components/simple/dates/TimePicker.svelte +45 -31
  102. package/dist/components/simple/dates/TimePicker.svelte.d.ts +24 -20
  103. package/dist/components/simple/dates/TimePickerTextField.svelte +56 -35
  104. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +28 -24
  105. package/dist/components/simple/dates/YearSelector.svelte +54 -29
  106. package/dist/components/simple/dates/YearSelector.svelte.d.ts +35 -31
  107. package/dist/components/simple/dialogs/Dialog.svelte +92 -62
  108. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +42 -28
  109. package/dist/components/simple/forms/Autocomplete.svelte +201 -142
  110. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +83 -79
  111. package/dist/components/simple/forms/Checkbox.svelte +40 -24
  112. package/dist/components/simple/forms/Checkbox.svelte.d.ts +25 -21
  113. package/dist/components/simple/forms/FileInput.svelte +88 -48
  114. package/dist/components/simple/forms/FileInput.svelte.d.ts +37 -33
  115. package/dist/components/simple/forms/FileInputList.svelte +52 -34
  116. package/dist/components/simple/forms/FileInputList.svelte.d.ts +43 -39
  117. package/dist/components/simple/forms/RadioButton.svelte +11 -3
  118. package/dist/components/simple/forms/RadioButton.svelte.d.ts +31 -27
  119. package/dist/components/simple/forms/Select.svelte +16 -3
  120. package/dist/components/simple/forms/Select.svelte.d.ts +24 -20
  121. package/dist/components/simple/forms/SimpleTextField.svelte +53 -6
  122. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +64 -60
  123. package/dist/components/simple/forms/Switch.svelte +30 -16
  124. package/dist/components/simple/forms/Switch.svelte.d.ts +25 -21
  125. package/dist/components/simple/forms/Textarea.svelte +27 -2
  126. package/dist/components/simple/forms/Textarea.svelte.d.ts +41 -37
  127. package/dist/components/simple/forms/Textfield.svelte +56 -18
  128. package/dist/components/simple/forms/Textfield.svelte.d.ts +55 -51
  129. package/dist/components/simple/forms/TreeEditor.svelte +141 -95
  130. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +42 -38
  131. package/dist/components/simple/forms/TreeEditorItem.svelte +77 -42
  132. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +54 -50
  133. package/dist/components/simple/forms/VerticalSwitch.svelte +11 -1
  134. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +32 -28
  135. package/dist/components/simple/forms/VerticalTextSwitch.svelte +15 -3
  136. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +30 -26
  137. package/dist/components/simple/lists/ColorInvertedSelector.svelte +53 -23
  138. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +46 -42
  139. package/dist/components/simple/lists/HierarchyMenu.svelte +38 -19
  140. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +34 -30
  141. package/dist/components/simple/lists/Paginator.svelte +50 -41
  142. package/dist/components/simple/lists/Paginator.svelte.d.ts +23 -19
  143. package/dist/components/simple/lists/SelectableMenuList.svelte +43 -15
  144. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +24 -20
  145. package/dist/components/simple/lists/SelectableVerticalList.svelte +99 -57
  146. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +51 -47
  147. package/dist/components/simple/lists/SidebarMenuList.svelte +115 -70
  148. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +26 -22
  149. package/dist/components/simple/lists/SimpleTable.svelte +264 -154
  150. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +70 -66
  151. package/dist/components/simple/loaders/CircularLoader.svelte +16 -5
  152. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +19 -15
  153. package/dist/components/simple/loaders/Skeleton.svelte +3 -2
  154. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +16 -12
  155. package/dist/components/simple/media/AttachmentDownloader.svelte +17 -3
  156. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +32 -28
  157. package/dist/components/simple/media/Avatar.svelte +18 -12
  158. package/dist/components/simple/media/Avatar.svelte.d.ts +31 -20
  159. package/dist/components/simple/media/Carousel.svelte +29 -11
  160. package/dist/components/simple/media/Carousel.svelte.d.ts +28 -24
  161. package/dist/components/simple/media/DescriptiveAvatar.svelte +12 -4
  162. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +44 -28
  163. package/dist/components/simple/media/FlagIcon.svelte +8 -5
  164. package/dist/components/simple/media/FlagIcon.svelte.d.ts +19 -15
  165. package/dist/components/simple/media/Gallery.svelte +49 -29
  166. package/dist/components/simple/media/Gallery.svelte.d.ts +27 -23
  167. package/dist/components/simple/media/Icon.svelte +9 -4
  168. package/dist/components/simple/media/Icon.svelte.d.ts +24 -20
  169. package/dist/components/simple/media/Image.svelte +42 -20
  170. package/dist/components/simple/media/Image.svelte.d.ts +44 -33
  171. package/dist/components/simple/media/ImageGrid.svelte +37 -12
  172. package/dist/components/simple/media/ImageGrid.svelte.d.ts +32 -28
  173. package/dist/components/simple/navigation/Breadcrumb.svelte +28 -10
  174. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +26 -22
  175. package/dist/components/simple/navigation/Chip.svelte +44 -23
  176. package/dist/components/simple/navigation/Chip.svelte.d.ts +42 -31
  177. package/dist/components/simple/navigation/Drawer.svelte +107 -65
  178. package/dist/components/simple/navigation/Drawer.svelte.d.ts +50 -37
  179. package/dist/components/simple/navigation/HeaderMenu.svelte +40 -23
  180. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +39 -35
  181. package/dist/components/simple/navigation/Navigator.svelte +30 -8
  182. package/dist/components/simple/navigation/Navigator.svelte.d.ts +28 -24
  183. package/dist/components/simple/navigation/TabSwitcher.svelte +83 -47
  184. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +38 -34
  185. package/dist/components/simple/notifiers/AlertBanner.svelte +43 -15
  186. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +41 -37
  187. package/dist/components/simple/progress/ProgressBar.svelte +20 -13
  188. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +21 -17
  189. package/dist/components/simple/timeline/SimpleTimeLine.svelte +19 -5
  190. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +39 -35
  191. package/dist/components/simple/typography/Code.svelte +27 -12
  192. package/dist/components/simple/typography/Code.svelte.d.ts +28 -24
  193. package/dist/stores/debounce.d.ts +0 -1
  194. package/dist/stores/layouts/unstableSidebarOpened.d.ts +0 -1
  195. package/dist/stores/mediaQuery.d.ts +0 -1
  196. package/dist/stores/theme.d.ts +0 -1
  197. package/dist/utils/filters/builder.d.ts +2 -0
  198. package/dist/utils/filters/builder.js +20 -0
  199. package/dist/utils/filters/modifiers/where.d.ts +10 -3
  200. package/package.json +1 -1
@@ -1,85 +1,148 @@
1
- <script context="module">import SimpleTable, {} from "../../simple/lists/SimpleTable.svelte";
2
- import Icon from "../../simple/media/Icon.svelte";
3
- import Paginator from "../../simple/lists/Paginator.svelte";
4
- import Dropdown from "../forms/Dropdown.svelte";
5
- import { createEventDispatcher } from "svelte";
1
+ <script lang="ts" context="module">
2
+ import SimpleTable, { type CalculateRowClasses, type CalculateRowStyles } from "../../simple/lists/SimpleTable.svelte";
3
+ import Icon from "../../simple/media/Icon.svelte";
4
+ import Paginator from "../../simple/lists/Paginator.svelte";
5
+ import Dropdown from "../forms/Dropdown.svelte";
6
+ import { createEventDispatcher, type ComponentEvents, type ComponentProps } from "svelte";
7
+
8
+ type ArrayElement<ArrayType extends readonly unknown[]> =
9
+ ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
10
+
11
+ export type Header = ArrayElement<
12
+ NonNullable<ComponentProps<SimpleTable>["headers"]>
13
+ >;
6
14
  </script>
7
15
 
8
- <script>import Filters from "../search/Filters.svelte";
9
- import SearchBar from "../search/SearchBar.svelte";
10
- import Converter from "../../../utils/filters/filters";
11
- let clazz = {};
12
- export { clazz as class };
13
- export let headers = [], items = [], sortedBy = void 0, sortDirection = void 0, page = 1, maxPage = void 0, rowsPerPageOptions = [
14
- { label: "20", value: 20 },
15
- { label: "50", value: 50 },
16
- { label: "100", value: 100 }
17
- ], hideRowsPerPage = false, totalElements = void 0, rowsPerPage = 20, filters = [], searchBarColumns = void 0, searchBarVisible = true, searchBarPlaceholder = "Type something to search...", lang = "en", editFilterMode = "one-edit", showActiveFilters = true, resizableColumns = false, resizedColumnSizeWithPadding = {}, pointerOnRowHover = void 0, doubleClickActive = false, doubleClickDelay = 250;
18
- export let calculateRowStyles = void 0;
19
- export let calculateRowClasses = void 0;
20
- let searchBarInput, searchText = void 0, sortModify;
21
- let dispatch = createEventDispatcher();
22
- let rowsPerPageSelection = [];
23
- $:
24
- rowsPerPageSelection = [
16
+ <script lang="ts">
17
+ import Filters from "../search/Filters.svelte";
18
+ import SearchBar from "../search/SearchBar.svelte";
19
+ import type Builder from "../../../utils/filters/builder";
20
+ import Converter from "../../../utils/filters/filters";
21
+
22
+ let clazz: {
23
+ simpleTable?: ComponentProps<SimpleTable>['class']
24
+ } = {};
25
+ export { clazz as class };
26
+
27
+ export let headers: ComponentProps<SimpleTable>['headers'] = [],
28
+ items: ComponentProps<SimpleTable>['items'] = [],
29
+ sortedBy: ComponentProps<SimpleTable>['sortedBy'] = undefined,
30
+ sortDirection: ComponentProps<SimpleTable>['sortDirection'] = undefined,
31
+ page: NonNullable<ComponentProps<Paginator>['page']> = 1,
32
+ maxPage: ComponentProps<Paginator>['maxPage'] = undefined,
33
+ rowsPerPageOptions: ComponentProps<Dropdown>['items'] = [
34
+ { label: '20', value: 20 },
35
+ { label: '50', value: 50 },
36
+ { label: '100', value: 100 },
37
+ ],
38
+ hideRowsPerPage: boolean = false,
39
+ totalElements: number | undefined = undefined,
40
+ rowsPerPage: number = 20,
41
+ filters: ComponentProps<Filters>['filters'] = [],
42
+ searchBarColumns: string[] | undefined = undefined,
43
+ searchBarVisible: boolean = true,
44
+ searchBarPlaceholder: string = "Type something to search...",
45
+ lang: 'it' | 'en' = 'en',
46
+ editFilterMode: 'one-edit' | 'multi-edit' = 'one-edit',
47
+ showActiveFilters: boolean = true,
48
+ resizableColumns: boolean = false,
49
+ resizedColumnSizeWithPadding: { [value: string]: number } = {},
50
+ pointerOnRowHover: boolean | undefined = undefined,
51
+ doubleClickActive: ComponentProps<SimpleTable>['doubleClickActive'] = false,
52
+ doubleClickDelay: ComponentProps<SimpleTable>['doubleClickDelay'] = 250;
53
+
54
+
55
+ export let calculateRowStyles: CalculateRowStyles | undefined = undefined;
56
+ export let calculateRowClasses: CalculateRowClasses | undefined = undefined;
57
+
58
+ let searchBarInput: HTMLElement,
59
+ searchText: string | undefined = undefined,
60
+ sortModify: Header['sortModify']
61
+
62
+ let dispatch = createEventDispatcher<{
63
+ paginationChange: {
64
+ rowsPerPage: number,
65
+ page: number,
66
+ builder: Builder
67
+ },
68
+ filtersChange: {
69
+ builder: Builder
70
+ }
71
+ }>()
72
+
73
+ let rowsPerPageSelection: ComponentProps<Dropdown>['values'] = []
74
+
75
+ $: rowsPerPageSelection = [
25
76
  { label: rowsPerPage.toString(), value: rowsPerPage }
26
- ];
27
- $:
28
- if (totalElements !== void 0)
29
- maxPage = Math.max(Math.round(totalElements / rowsPerPage), 1);
30
- function handleRowsPerPageChange(e) {
31
- rowsPerPage = Number(e.detail.selection?.[0].value);
32
- handlePaginationChange();
33
- }
34
- function handlePaginationChange() {
35
- let builder = buildFilters();
36
- dispatch("paginationChange", {
37
- rowsPerPage,
38
- page,
39
- builder
40
- });
41
- }
42
- function handleSearchChange(searchText2) {
43
- let builder = buildFilters({ searchText: searchText2 });
44
- dispatch("filtersChange", {
45
- builder
46
- });
47
- }
48
- $:
49
- handleSearchChange(searchText);
50
- function handleSort(e) {
51
- sortModify = e.detail.sortModify;
52
- handleFiltersChange();
53
- }
54
- function handleFiltersChange() {
55
- let builder = buildFilters({ searchText });
56
- dispatch("filtersChange", {
57
- builder
58
- });
59
- }
60
- function buildFilters(params) {
61
- let converter = new Converter();
62
- let builder;
63
- builder = converter.createBuilder({
64
- filters: filters || []
65
- });
66
- if (!!params?.searchText && !!searchBarColumns && searchBarColumns.length > 0) {
67
- builder.where((b) => {
68
- b.where(searchBarColumns[0], "ilike", "%" + params?.searchText + "%");
69
- for (let i = 1; i < searchBarColumns.length; i += 1) {
70
- b.orWhere(searchBarColumns[i], "ilike", "%" + params?.searchText + "%");
71
- }
72
- });
77
+ ]
78
+
79
+ $: if(totalElements !== undefined) maxPage = Math.max(Math.round(totalElements/rowsPerPage), 1)
80
+
81
+ function handleRowsPerPageChange(e: CustomEvent<{ selection: ComponentProps<Dropdown>['items']}>) {
82
+ rowsPerPage = Number(e.detail.selection?.[0].value)
83
+ handlePaginationChange()
73
84
  }
74
- if (!!sortedBy) {
75
- if (sortModify) {
76
- builder = sortModify({ builder, sortDirection: sortDirection || "asc" });
77
- } else {
78
- builder.orderBy(sortedBy, sortDirection || "asc");
85
+
86
+ function handlePaginationChange() {
87
+ let builder = buildFilters()
88
+
89
+ dispatch('paginationChange', {
90
+ rowsPerPage, page, builder
91
+ })
92
+ }
93
+
94
+ function handleSearchChange(searchText: string | undefined) {
95
+ let builder = buildFilters({searchText})
96
+
97
+ dispatch('filtersChange', {
98
+ builder
99
+ })
100
+ }
101
+
102
+ $: handleSearchChange(searchText)
103
+
104
+ function handleSort(e: ComponentEvents<SimpleTable>['sort']) {
105
+ sortModify = e.detail.sortModify
106
+ handleFiltersChange()
107
+ }
108
+
109
+ function handleFiltersChange() {
110
+ let builder = buildFilters({searchText})
111
+
112
+ dispatch('filtersChange', {
113
+ builder
114
+ })
115
+ }
116
+
117
+ function buildFilters(params?:{searchText?:string | undefined}){
118
+ let converter = new Converter()
119
+ let builder: Builder
120
+ builder = converter.createBuilder({
121
+ filters: filters || []
122
+ })
123
+
124
+ if(!!params?.searchText && !!searchBarColumns && searchBarColumns.length > 0) {
125
+
126
+ builder.where(b => {
127
+ b.where(searchBarColumns![0], 'ilike', '%' + params?.searchText + '%')
128
+ for(let i = 1; i < searchBarColumns!.length; i += 1) {
129
+ b.orWhere(searchBarColumns![i], 'ilike', '%' + params?.searchText + '%')
130
+ }
131
+ })
132
+ }
133
+
134
+ if (!!sortedBy) {
135
+ if(sortModify){
136
+ builder = sortModify({ builder, sortDirection: sortDirection || 'asc' })
137
+ }
138
+ else {
139
+ builder.orderBy(sortedBy, sortDirection || "asc");
140
+ }
79
141
  }
142
+
143
+ return builder
80
144
  }
81
- return builder;
82
- }
145
+
83
146
  </script>
84
147
 
85
148
  <div class="paginated-table">
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import SimpleTable, { type CalculateRowClasses, type CalculateRowStyles } from "../../simple/lists/SimpleTable.svelte";
3
2
  import Paginator from "../../simple/lists/Paginator.svelte";
4
3
  import Dropdown from "../forms/Dropdown.svelte";
@@ -6,113 +5,114 @@ import { type ComponentProps } from "svelte";
6
5
  type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
7
6
  export type Header = ArrayElement<NonNullable<ComponentProps<SimpleTable>["headers"]>>;
8
7
  import Filters from "../search/Filters.svelte";
9
- import type Builder from "../../../utils/filters/builder";
10
- declare const __propDef: {
11
- props: {
12
- class?: {
13
- simpleTable?: ComponentProps<SimpleTable>['class'];
14
- } | undefined;
15
- headers?: ComponentProps<SimpleTable>['headers'];
16
- items?: ComponentProps<SimpleTable>['items'];
17
- sortedBy?: ComponentProps<SimpleTable>['sortedBy'];
18
- sortDirection?: ComponentProps<SimpleTable>['sortDirection'];
19
- page?: number | undefined;
20
- maxPage?: ComponentProps<Paginator>['maxPage'];
21
- rowsPerPageOptions?: ComponentProps<Dropdown>['items'];
22
- hideRowsPerPage?: boolean | undefined;
23
- totalElements?: number | undefined;
24
- rowsPerPage?: number | undefined;
25
- filters?: ComponentProps<Filters>['filters'];
26
- searchBarColumns?: string[] | undefined;
27
- searchBarVisible?: boolean | undefined;
28
- searchBarPlaceholder?: string | undefined;
29
- lang?: "it" | "en" | undefined;
30
- editFilterMode?: "one-edit" | "multi-edit" | undefined;
31
- showActiveFilters?: boolean | undefined;
32
- resizableColumns?: boolean | undefined;
33
- resizedColumnSizeWithPadding?: {
34
- [value: string]: number;
35
- } | undefined;
36
- pointerOnRowHover?: boolean | undefined;
37
- doubleClickActive?: ComponentProps<SimpleTable>['doubleClickActive'];
38
- doubleClickDelay?: ComponentProps<SimpleTable>['doubleClickDelay'];
39
- calculateRowStyles?: CalculateRowStyles | undefined;
40
- calculateRowClasses?: CalculateRowClasses | undefined;
8
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
9
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
10
+ $$bindings?: Bindings;
11
+ } & Exports;
12
+ (internal: unknown, props: Props & {
13
+ $$events?: Events;
14
+ $$slots?: Slots;
15
+ }): Exports & {
16
+ $set?: any;
17
+ $on?: any;
41
18
  };
42
- events: {
43
- removeFilter: CustomEvent<{
44
- filter: import("../../../utils/filters/filters").Filter;
45
- }>;
46
- removeAllFilters: CustomEvent<undefined>;
47
- sort: CustomEvent<{
48
- sortedBy: string | undefined;
49
- sortDirection: string;
50
- sortModify: ((params: {
51
- builder: Builder;
52
- sortDirection: "desc" | "asc";
53
- }) => Builder) | undefined;
54
- }>;
55
- rowClick: CustomEvent<{
56
- item: import("../../simple/lists/SimpleTable.svelte").Item;
57
- }>;
58
- rowDoubleClick: CustomEvent<{
59
- item: import("../../simple/lists/SimpleTable.svelte").Item;
60
- }>;
61
- } & {
62
- [evt: string]: CustomEvent<any>;
19
+ z_$$bindings?: Bindings;
20
+ }
21
+ declare const PaginatedTable: $$__sveltets_2_IsomorphicComponent<{
22
+ class?: {
23
+ simpleTable?: ComponentProps<SimpleTable>["class"];
63
24
  };
64
- slots: {
65
- 'search-bar': {
66
- handleSearchChange: (searchText: string | undefined) => void;
67
- };
68
- 'filter-append': {};
69
- 'custom-filter-chip': {
70
- filter: import("../../../utils/filters/filters").Filter;
71
- };
72
- 'custom-filter': {
73
- filter: import("../../../utils/filters/filters").Filter;
74
- updateFunction: (filterName: string, newValue: any, newValid: boolean) => void;
75
- mAndDown: boolean;
76
- };
77
- header: {
78
- head: import("../../simple/lists/SimpleTable.svelte").Header;
79
- };
80
- headerLabel: {};
81
- custom: {
82
- index: any;
83
- columnIndex: any;
84
- header: import("../../simple/lists/SimpleTable.svelte").Header;
85
- item: import("../../simple/lists/SimpleTable.svelte").Item;
86
- };
87
- rowActions: {
88
- index: any;
89
- item: import("../../simple/lists/SimpleTable.svelte").Item;
90
- };
91
- append: {
92
- index: any;
93
- item: import("../../simple/lists/SimpleTable.svelte").Item;
94
- };
95
- footer: {
96
- hideRowsPerPage: boolean;
97
- rowsPerPageOptions: import("../forms/Dropdown.svelte").Item[] | undefined;
98
- rowsPerPageSelection: import("../forms/Dropdown.svelte").Item[];
99
- totalElements: number | undefined;
100
- page: number;
101
- maxPage: number | undefined;
102
- rowsPerPage: number;
103
- handlePaginationChange: () => void;
104
- };
105
- rangeDescriptor: {
106
- page: number;
107
- maxPage: number | undefined;
108
- rowsPerPage: number;
109
- totalElements: number | undefined;
110
- };
25
+ headers?: ComponentProps<SimpleTable>["headers"];
26
+ items?: ComponentProps<SimpleTable>["items"];
27
+ sortedBy?: ComponentProps<SimpleTable>["sortedBy"];
28
+ sortDirection?: ComponentProps<SimpleTable>["sortDirection"];
29
+ page?: NonNullable<ComponentProps<Paginator>["page"]>;
30
+ maxPage?: ComponentProps<Paginator>["maxPage"];
31
+ rowsPerPageOptions?: ComponentProps<Dropdown>["items"];
32
+ hideRowsPerPage?: boolean;
33
+ totalElements?: number | undefined;
34
+ rowsPerPage?: number;
35
+ filters?: ComponentProps<Filters>["filters"];
36
+ searchBarColumns?: string[] | undefined;
37
+ searchBarVisible?: boolean;
38
+ searchBarPlaceholder?: string;
39
+ lang?: "it" | "en";
40
+ editFilterMode?: "one-edit" | "multi-edit";
41
+ showActiveFilters?: boolean;
42
+ resizableColumns?: boolean;
43
+ resizedColumnSizeWithPadding?: {
44
+ [value: string]: number;
111
45
  };
112
- };
113
- export type PaginatedTableProps = typeof __propDef.props;
114
- export type PaginatedTableEvents = typeof __propDef.events;
115
- export type PaginatedTableSlots = typeof __propDef.slots;
116
- export default class PaginatedTable extends SvelteComponent<PaginatedTableProps, PaginatedTableEvents, PaginatedTableSlots> {
117
- }
118
- export {};
46
+ pointerOnRowHover?: boolean | undefined;
47
+ doubleClickActive?: ComponentProps<SimpleTable>["doubleClickActive"];
48
+ doubleClickDelay?: ComponentProps<SimpleTable>["doubleClickDelay"];
49
+ calculateRowStyles?: CalculateRowStyles | undefined;
50
+ calculateRowClasses?: CalculateRowClasses | undefined;
51
+ }, {
52
+ removeFilter: CustomEvent<{
53
+ filter: import("../../../utils/filters/filters").Filter;
54
+ }>;
55
+ removeAllFilters: CustomEvent<undefined>;
56
+ sort: CustomEvent<{
57
+ sortedBy: string | undefined;
58
+ sortDirection: string;
59
+ sortModify: import("../../simple/lists/SimpleTable.svelte").Header["sortModify"];
60
+ }>;
61
+ rowClick: CustomEvent<{
62
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
63
+ }>;
64
+ rowDoubleClick: CustomEvent<{
65
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
66
+ }>;
67
+ } & {
68
+ [evt: string]: CustomEvent<any>;
69
+ }, {
70
+ 'search-bar': {
71
+ handleSearchChange: (searchText: string | undefined) => void;
72
+ };
73
+ 'filter-append': {};
74
+ 'custom-filter-chip': {
75
+ filter: import("../../../utils/filters/filters").Filter;
76
+ };
77
+ 'custom-filter': {
78
+ filter: import("../../../utils/filters/filters").Filter;
79
+ updateFunction: (filterName: string, newValue: any, newValid: boolean) => void;
80
+ mAndDown: boolean;
81
+ };
82
+ header: {
83
+ head: import("../../simple/lists/SimpleTable.svelte").Header;
84
+ };
85
+ headerLabel: {};
86
+ custom: {
87
+ index: any;
88
+ columnIndex: any;
89
+ header: import("../../simple/lists/SimpleTable.svelte").Header;
90
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
91
+ };
92
+ rowActions: {
93
+ index: any;
94
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
95
+ };
96
+ append: {
97
+ index: any;
98
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
99
+ };
100
+ footer: {
101
+ hideRowsPerPage: boolean;
102
+ rowsPerPageOptions: import("../forms/Dropdown.svelte").Item[] | undefined;
103
+ rowsPerPageSelection: import("../forms/Dropdown.svelte").Item[];
104
+ totalElements: number | undefined;
105
+ page: number;
106
+ maxPage: number | undefined;
107
+ rowsPerPage: number;
108
+ handlePaginationChange: () => void;
109
+ };
110
+ rangeDescriptor: {
111
+ page: number;
112
+ maxPage: number | undefined;
113
+ rowsPerPage: number;
114
+ totalElements: number | undefined;
115
+ };
116
+ }, {}, string>;
117
+ type PaginatedTable = InstanceType<typeof PaginatedTable>;
118
+ export default PaginatedTable;
@@ -1,41 +1,69 @@
1
- <script context="module">export function isProgressItem(obj) {
2
- return (obj.label === void 0 || typeof obj.label === "string") && (obj.color === void 0 || typeof obj.color === "string") && typeof obj.value === "number";
3
- }
1
+ <script lang="ts" context="module">
2
+ export type ProgressItem = {
3
+ label?: string,
4
+ color?: string,
5
+ value: number,
6
+ valueLabel?: string | number
7
+ };
8
+
9
+ export function isProgressItem(obj: any): obj is ProgressItem {
10
+ return (
11
+ (obj.label === undefined || typeof obj.label === 'string') &&
12
+ (obj.color === undefined || typeof obj.color === 'string') &&
13
+ typeof obj.value === 'number'
14
+ );
15
+ }
4
16
  </script>
5
17
 
6
- <script>import "./HorizontalStackedProgress.css";
7
- import ProgressBar from "../../simple/progress/ProgressBar.svelte";
8
- export let progresses = [], labelVisible = true, labelValueVisible = true, labelTextVisible = true, legendVisible = false, legendValueVisible = true, legendTextVisible = true, hideLabelUnderPercentage = void 0;
9
- let colors = [
10
- "rgb(var(--global-color-primary-500))",
11
- "rgb(var(--global-color-primary-300))",
12
- "rgb(var(--global-color-primary-700))",
13
- "rgb(var(--global-color-primary-500), .5)",
14
- "rgb(var(--global-color-primary-600), .5)",
15
- "rgb(var(--global-color-primary-700), .5)"
16
- ];
17
- $:
18
- total = progresses.reduce((p, c, i, a) => {
19
- if (isProgressItem(c)) {
20
- return p + c.value;
18
+ <script lang="ts">
19
+ import './HorizontalStackedProgress.css'
20
+ import ProgressBar from "../../simple/progress/ProgressBar.svelte";
21
+
22
+ export let progresses: (
23
+ number |
24
+ ProgressItem
25
+ )[] = [],
26
+ labelVisible: boolean = true,
27
+ labelValueVisible: boolean = true,
28
+ labelTextVisible: boolean = true,
29
+ legendVisible: boolean = false,
30
+ legendValueVisible: boolean = true,
31
+ legendTextVisible: boolean = true,
32
+ hideLabelUnderPercentage: number | undefined = undefined
33
+
34
+ let colors = [
35
+ 'rgb(var(--global-color-primary-500))',
36
+ 'rgb(var(--global-color-primary-300))',
37
+ 'rgb(var(--global-color-primary-700))',
38
+ 'rgb(var(--global-color-primary-500), .5)',
39
+ 'rgb(var(--global-color-primary-600), .5)',
40
+ 'rgb(var(--global-color-primary-700), .5)'
41
+ ]
42
+
43
+ $: total = progresses.reduce<number>((p, c, i, a) => {
44
+ if(isProgressItem(c)) {
45
+ return p + c.value
21
46
  } else {
22
- return p + c;
47
+ return p + c
23
48
  }
24
- }, 0);
25
- $:
26
- progressesItems = progresses.map((p, i) => {
27
- let item;
28
- let value = isProgressItem(p) ? p.value : p;
29
- let percentage = Number((100 * value / total).toFixed(2));
30
- let color = isProgressItem(p) ? p.color : colors[i % colors.length];
49
+ }, 0)
50
+
51
+ $: progressesItems = progresses.map((p, i) => {
52
+ let item: ProgressItem & { percentage: number }
53
+ let value = isProgressItem(p) ? p.value : p
54
+ // x : 100 = value : total
55
+ let percentage = Number(((100 * value) / total).toFixed(2))
56
+ let color = isProgressItem(p) ? p.color : colors[i % colors.length]
57
+
31
58
  item = {
32
- ...isProgressItem(p) ? p : {},
59
+ ...(isProgressItem(p) ? p : {}),
33
60
  color,
34
61
  value,
35
62
  percentage
36
- };
37
- return item;
38
- }).filter((p) => p.value !== 0);
63
+ }
64
+
65
+ return item
66
+ }).filter(p => p.value !== 0)
39
67
  </script>
40
68
 
41
69
  <div class="horizontal-stacked-progress">
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type ProgressItem = {
3
2
  label?: string;
4
3
  color?: string;
@@ -7,25 +6,30 @@ export type ProgressItem = {
7
6
  };
8
7
  export declare function isProgressItem(obj: any): obj is ProgressItem;
9
8
  import './HorizontalStackedProgress.css';
10
- declare const __propDef: {
11
- props: {
12
- progresses?: (number | ProgressItem)[] | undefined;
13
- labelVisible?: boolean | undefined;
14
- labelValueVisible?: boolean | undefined;
15
- labelTextVisible?: boolean | undefined;
16
- legendVisible?: boolean | undefined;
17
- legendValueVisible?: boolean | undefined;
18
- legendTextVisible?: boolean | undefined;
19
- hideLabelUnderPercentage?: number | undefined;
9
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
10
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
11
+ $$bindings?: Bindings;
12
+ } & Exports;
13
+ (internal: unknown, props: Props & {
14
+ $$events?: Events;
15
+ $$slots?: Slots;
16
+ }): Exports & {
17
+ $set?: any;
18
+ $on?: any;
20
19
  };
21
- events: {
22
- [evt: string]: CustomEvent<any>;
23
- };
24
- slots: {};
25
- };
26
- export type HorizontalStackedProgressProps = typeof __propDef.props;
27
- export type HorizontalStackedProgressEvents = typeof __propDef.events;
28
- export type HorizontalStackedProgressSlots = typeof __propDef.slots;
29
- export default class HorizontalStackedProgress extends SvelteComponent<HorizontalStackedProgressProps, HorizontalStackedProgressEvents, HorizontalStackedProgressSlots> {
20
+ z_$$bindings?: Bindings;
30
21
  }
31
- export {};
22
+ declare const HorizontalStackedProgress: $$__sveltets_2_IsomorphicComponent<{
23
+ progresses?: (number | ProgressItem)[];
24
+ labelVisible?: boolean;
25
+ labelValueVisible?: boolean;
26
+ labelTextVisible?: boolean;
27
+ legendVisible?: boolean;
28
+ legendValueVisible?: boolean;
29
+ legendTextVisible?: boolean;
30
+ hideLabelUnderPercentage?: number | undefined;
31
+ }, {
32
+ [evt: string]: CustomEvent<any>;
33
+ }, {}, {}, string>;
34
+ type HorizontalStackedProgress = InstanceType<typeof HorizontalStackedProgress>;
35
+ export default HorizontalStackedProgress;