@likable-hair/svelte 3.3.26 → 3.3.27

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 +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 +55 -39
  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 +1112 -713
  34. package/dist/components/composed/list/DynamicTable.svelte.d.ts +370 -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 +104 -83
  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 +362 -292
  44. package/dist/components/composed/search/Filters.svelte.d.ts +56 -52
  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 +55 -29
  58. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +85 -54
  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.css +1 -1
  116. package/dist/components/simple/forms/FileInputList.svelte +65 -41
  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 -57
  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 +19 -5
  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,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;