@likable-hair/svelte 3.3.30 → 3.3.32

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