@likable-hair/svelte 3.3.9 → 3.3.10
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.
- package/dist/components/composed/common/QuickActions.svelte +3 -3
- package/dist/components/composed/common/QuickActions.svelte.d.ts +1 -0
- package/dist/components/composed/list/DynamicTable.svelte +32 -28
- package/dist/components/composed/list/DynamicTable.svelte.d.ts +0 -1
- package/dist/components/composed/search/DynamicFilters.svelte +12 -3
- package/dist/components/composed/search/Filters.svelte +1 -1
- package/dist/components/simple/charts/GanymedePieChart.svelte +3 -1
- package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +2 -0
- package/dist/components/simple/navigation/Drawer.svelte +6 -4
- package/dist/components/simple/navigation/Drawer.svelte.d.ts +1 -0
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { fly } from "svelte/transition";
|
|
|
6
6
|
import { cubicIn } from "svelte/easing";
|
|
7
7
|
import MenuOrDrawer from "./MenuOrDrawer.svelte";
|
|
8
8
|
import "./QuickActions.css";
|
|
9
|
-
export let selectedItems, showSelectContainer, isSelectedAll, totalRows, slotSelectActionsContainer, disabled, loading, actionsForSelectedItems, position = "top";
|
|
9
|
+
export let selectedItems, showSelectContainer, isSelectedAll, totalRows, slotSelectActionsContainer, disabled, loading, actionsForSelectedItems, position = "top", lang = "en";
|
|
10
10
|
let actions = [], extraActions = [], moreActionsActivator, openMoreActions = false, infoActivators = {}, disabledInfoActivators = {};
|
|
11
11
|
$: {
|
|
12
12
|
if (!!slotSelectActionsContainer) {
|
|
@@ -32,7 +32,7 @@ $: {
|
|
|
32
32
|
>
|
|
33
33
|
<div>
|
|
34
34
|
<button class="select-info" on:click={() => (selectedItems = [], infoActivators = {}, disabledInfoActivators = {})}>
|
|
35
|
-
{!!isSelectedAll ? totalRows : selectedItems.length} items selected
|
|
35
|
+
{!!isSelectedAll ? totalRows : selectedItems.length} {lang == 'en' ? 'items selected' : 'righe selezionate'}
|
|
36
36
|
<Icon name="mdi-close" />
|
|
37
37
|
</button>
|
|
38
38
|
</div>
|
|
@@ -125,7 +125,7 @@ $: {
|
|
|
125
125
|
>
|
|
126
126
|
<div class="action">
|
|
127
127
|
<Icon name="mdi-dots-vertical" />
|
|
128
|
-
More
|
|
128
|
+
{lang == 'en' ? 'More' : 'Altri'}
|
|
129
129
|
</div>
|
|
130
130
|
</Button>
|
|
131
131
|
</div>
|
|
@@ -61,10 +61,12 @@ const [send, receive] = crossfade({
|
|
|
61
61
|
let clazz = {};
|
|
62
62
|
export { clazz as class };
|
|
63
63
|
const dispatch = createEventDispatcher();
|
|
64
|
-
export let headers = [], headersToShowInTable = headers, subHeaders = [], customizeHeaders = false, rows = [], sortedBy = void 0, sortDirection = "asc", cellEdit = false, noItemsText = "No items to show", showSelect = false, showSelectContainer = true, selectMode = "single", selectedItems = [], showExpand = false, loading = false, disabled = false, filters = [], searchBarColumns = void 0, searchBarVisible = false, searchBarPlaceholder = "Type to search for identification code, description and MRN...", filtersVisible = false, quickFiltersVisible = false, lang = "en", editFilterMode = "one-edit", showActiveFilters = true, quickFilters = [], actionsForSelectedItems = [],
|
|
65
|
-
let openCellEditor = false, cellEditorActivator, cellEditorContainer, menuElementCellEditor, menuElementQuickFilters, cellEditorInfoActive, saveEditDisabled = false, searchBarInput = void 0, openQuickFilter = false, quickFilterActivator, quickFilterActive, globalBuilder = new FilterBuilder(), slotSelectActionsContainer, isSelectedAll = false, calendarOpened = false, calendarOpened2 = false, selectedIndexes = [], cellEditorIndexRow, cellEditorIndexHeader, cellEditorSubItem, currentSectionNumber = 0, tableBody, tableContainer, userScrolling = true;
|
|
64
|
+
export let headers = [], headersToShowInTable = headers, subHeaders = [], customizeHeaders = false, rows = [], sortedBy = void 0, sortDirection = "asc", cellEdit = false, noItemsText = "No items to show", showSelect = false, showSelectContainer = true, selectMode = "single", selectedItems = [], showExpand = false, loading = false, disabled = false, filters = [], searchBarColumns = void 0, searchBarVisible = false, searchBarPlaceholder = "Type to search for identification code, description and MRN...", filtersVisible = false, quickFiltersVisible = false, lang = "en", editFilterMode = "one-edit", showActiveFilters = true, quickFilters = [], actionsForSelectedItems = [], totalRows = rows.length, searchText = void 0, renderedRowsNumber = 100, sectionRowsNumber = 20, sectionTreshold = 2, backwardTresholdPixel = 100, forwardTresholdPixel = 100;
|
|
65
|
+
let openCellEditor = false, cellEditorActivator, cellEditorContainer, menuElementCellEditor, menuElementQuickFilters, cellEditorInfoActive, saveEditDisabled = false, searchBarInput = void 0, openQuickFilter = false, quickFilterActivator, quickFilterActive, globalBuilder = new FilterBuilder(), slotSelectActionsContainer, isSelectedAll = false, calendarOpened = false, calendarOpened2 = false, selectedIndexes = [], cellEditorIndexRow, cellEditorIndexHeader, cellEditorSubItem, currentSectionNumber = 0, tableBody, tableContainer, userScrolling = true, totalSections = (totalRows - renderedRowsNumber) / sectionRowsNumber;
|
|
66
66
|
$:
|
|
67
|
-
|
|
67
|
+
hasMoreToRender = totalSections > currentSectionNumber;
|
|
68
|
+
$:
|
|
69
|
+
totalCachedSections = (rows.length - renderedRowsNumber) / sectionRowsNumber;
|
|
68
70
|
$:
|
|
69
71
|
renderedRows = rows.slice(currentSectionNumber * sectionRowsNumber, currentSectionNumber * sectionRowsNumber + renderedRowsNumber);
|
|
70
72
|
let openHeaderDrawer = false, headersToSelect = !!headers ? headers.filter((h) => {
|
|
@@ -573,7 +575,7 @@ function handleLoadForward() {
|
|
|
573
575
|
currentSectionNumber = currentSectionNumber + 1;
|
|
574
576
|
tableContainer.scrollTop -= topElementsHeight;
|
|
575
577
|
setTimeout(() => userScrolling = true, 20);
|
|
576
|
-
if (
|
|
578
|
+
if (totalCachedSections - sectionTreshold <= currentSectionNumber && !loading && totalRows > rows.length) {
|
|
577
579
|
dispatch("fetchData", {});
|
|
578
580
|
}
|
|
579
581
|
}
|
|
@@ -599,6 +601,7 @@ function handleLoadBackward() {
|
|
|
599
601
|
{disabled}
|
|
600
602
|
{loading}
|
|
601
603
|
{actionsForSelectedItems}
|
|
604
|
+
{lang}
|
|
602
605
|
/>
|
|
603
606
|
|
|
604
607
|
<slot name="search-bar" {handleSearchChange}>
|
|
@@ -702,8 +705,9 @@ function handleLoadBackward() {
|
|
|
702
705
|
{/if}
|
|
703
706
|
</div>
|
|
704
707
|
{/if}
|
|
705
|
-
|
|
706
|
-
|
|
708
|
+
<div class="outer-container">
|
|
709
|
+
<div class="inner-container" bind:this={tableContainer}>
|
|
710
|
+
<!-- <div class="table-container" bind:this={tableContainer}> -->
|
|
707
711
|
<InfiniteScroll
|
|
708
712
|
on:loadMore={handleLoadBackward}
|
|
709
713
|
treshold={backwardTresholdPixel}
|
|
@@ -1074,9 +1078,10 @@ function handleLoadBackward() {
|
|
|
1074
1078
|
<InfiniteScroll
|
|
1075
1079
|
on:loadMore={handleLoadForward}
|
|
1076
1080
|
treshold={forwardTresholdPixel}
|
|
1077
|
-
hasMore={
|
|
1081
|
+
hasMore={hasMoreToRender && userScrolling}
|
|
1078
1082
|
/>
|
|
1079
1083
|
</div>
|
|
1084
|
+
</div>
|
|
1080
1085
|
{/if}
|
|
1081
1086
|
|
|
1082
1087
|
<Menu
|
|
@@ -1211,7 +1216,6 @@ function handleLoadBackward() {
|
|
|
1211
1216
|
name={quickFilterActive.title}
|
|
1212
1217
|
info={quickFilterActive.info}
|
|
1213
1218
|
type="number"
|
|
1214
|
-
orientation="horizontal"
|
|
1215
1219
|
error={saveEditDisabled}
|
|
1216
1220
|
bind:value={quickFilterActive.type.value}
|
|
1217
1221
|
--simple-textfield-border-radius= 0.5rem
|
|
@@ -1295,7 +1299,7 @@ function handleLoadBackward() {
|
|
|
1295
1299
|
<button
|
|
1296
1300
|
on:click={() => setQuickFilterValue(quickFilterActive, undefined)}
|
|
1297
1301
|
>
|
|
1298
|
-
All
|
|
1302
|
+
{lang == 'en' ? 'All' : 'Tutti'}
|
|
1299
1303
|
</button>
|
|
1300
1304
|
</div>
|
|
1301
1305
|
{/if}
|
|
@@ -1331,7 +1335,7 @@ function handleLoadBackward() {
|
|
|
1331
1335
|
<div>
|
|
1332
1336
|
<DatePickerTextField
|
|
1333
1337
|
bind:selectedDate={quickFilterActive.type.from}
|
|
1334
|
-
placeholder={"From"}
|
|
1338
|
+
placeholder={lang == 'en' ? "From" : 'Da'}
|
|
1335
1339
|
--simple-textfield-width="100%"
|
|
1336
1340
|
--simple-textfield-border-radius= 0.5rem
|
|
1337
1341
|
--simple-textfield-background-color= transparent
|
|
@@ -1360,7 +1364,7 @@ function handleLoadBackward() {
|
|
|
1360
1364
|
<div>
|
|
1361
1365
|
<DatePickerTextField
|
|
1362
1366
|
bind:selectedDate={quickFilterActive.type.to}
|
|
1363
|
-
placeholder={"To"}
|
|
1367
|
+
placeholder={lang == 'en' ? "To" : 'A'}
|
|
1364
1368
|
--simple-textfield-width="100%"
|
|
1365
1369
|
--simple-textfield-border-radius= 0.5rem
|
|
1366
1370
|
--simple-textfield-background-color= transparent
|
|
@@ -1397,8 +1401,8 @@ function handleLoadBackward() {
|
|
|
1397
1401
|
<div style:grid-row="3" style:grid-column="2" style:margin-top="-15px">
|
|
1398
1402
|
<ConfirmOrCancelButtons
|
|
1399
1403
|
confirmDisable={saveEditDisabled}
|
|
1400
|
-
confirmText="Apply"
|
|
1401
|
-
cancelText="Cancel"
|
|
1404
|
+
confirmText={lang == 'en' ? "Apply" : 'Applica'}
|
|
1405
|
+
cancelText={lang == 'en' ? "Cancel" : 'Annulla'}
|
|
1402
1406
|
on:cancel-click={handleCancelClick}
|
|
1403
1407
|
on:confirm-click={() => handleApplyClick(quickFilterActive, quickFilterActive.type.key == 'custom')}
|
|
1404
1408
|
/>
|
|
@@ -1414,9 +1418,9 @@ function handleLoadBackward() {
|
|
|
1414
1418
|
position={sAndDown ? "bottom" : "right"}
|
|
1415
1419
|
>
|
|
1416
1420
|
<div style="padding: 20px;">
|
|
1417
|
-
<div class="personalize-header">Personalize your headers</div>
|
|
1421
|
+
<div class="personalize-header">{lang == 'en' ? 'Personalize your headers' : 'Personalizza le tue intestazioni'}</div>
|
|
1418
1422
|
|
|
1419
|
-
<span class="headers-show grid-col-1">Headers shown in table</span>
|
|
1423
|
+
<span class="headers-show grid-col-1">{lang == 'en' ? 'Headers shown in table' : 'Intestazioni visualizzate in tabella'}</span>
|
|
1420
1424
|
|
|
1421
1425
|
{#if headersToShow}
|
|
1422
1426
|
<VerticalDraggableList
|
|
@@ -1441,7 +1445,7 @@ function handleLoadBackward() {
|
|
|
1441
1445
|
</VerticalDraggableList>
|
|
1442
1446
|
{/if}
|
|
1443
1447
|
<Divider --divider-color=rgb(var(--global-color-contrast-100) />
|
|
1444
|
-
<span class="headers-show grid-col-1">Headers to show</span>
|
|
1448
|
+
<span class="headers-show grid-col-1">{lang == 'en' ? 'Headers to show' : 'Intestazioni da mostrare'}</span>
|
|
1445
1449
|
{#if headersToSelect && headersToSelect.length > 0}
|
|
1446
1450
|
{#each headersToSelect as header (header.id)}
|
|
1447
1451
|
<div
|
|
@@ -1467,7 +1471,7 @@ function handleLoadBackward() {
|
|
|
1467
1471
|
{/each}
|
|
1468
1472
|
{:else}
|
|
1469
1473
|
<div class="headers-show grid-col-1">
|
|
1470
|
-
<span style="text-align: center;">No headers to add</span>
|
|
1474
|
+
<span style="text-align: center;">{lang == 'en' ? 'No headers to add' : 'Nessuna intestazione da aggiungere'}</span>
|
|
1471
1475
|
</div>
|
|
1472
1476
|
{/if}
|
|
1473
1477
|
<div style="width: 100%; display: flex; justify-content: center;">
|
|
@@ -1476,7 +1480,7 @@ function handleLoadBackward() {
|
|
|
1476
1480
|
--button-width="70%"
|
|
1477
1481
|
on:click={saveHeadersToShow}
|
|
1478
1482
|
>
|
|
1479
|
-
Save preferences
|
|
1483
|
+
{lang == 'en' ? 'Save preferences' : 'Salva preferenze'}
|
|
1480
1484
|
</Button>
|
|
1481
1485
|
</div>
|
|
1482
1486
|
</div>
|
|
@@ -1484,15 +1488,15 @@ function handleLoadBackward() {
|
|
|
1484
1488
|
</MediaQuery>
|
|
1485
1489
|
|
|
1486
1490
|
<style>
|
|
1487
|
-
.
|
|
1488
|
-
overflow-x:
|
|
1491
|
+
.outer-container {
|
|
1492
|
+
overflow-x: hidden;
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
.inner-container {
|
|
1489
1496
|
overflow-y: auto;
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
);
|
|
1494
|
-
-ms-overflow-style: none;
|
|
1495
|
-
scrollbar-width: none;
|
|
1497
|
+
margin-right: -15px;
|
|
1498
|
+
padding-right: 15px;
|
|
1499
|
+
max-height: var(--dynamic-table-max-height, var(--dynamic-table-default-max-height));
|
|
1496
1500
|
}
|
|
1497
1501
|
|
|
1498
1502
|
.table {
|
|
@@ -1506,12 +1510,12 @@ function handleLoadBackward() {
|
|
|
1506
1510
|
.table-header {
|
|
1507
1511
|
position: sticky;
|
|
1508
1512
|
top: 0;
|
|
1509
|
-
z-index:
|
|
1513
|
+
z-index: 2;
|
|
1510
1514
|
}
|
|
1511
1515
|
|
|
1512
1516
|
.table-subheader {
|
|
1513
1517
|
top: var(--main-header-height);
|
|
1514
|
-
z-index:
|
|
1518
|
+
z-index: 1;
|
|
1515
1519
|
}
|
|
1516
1520
|
.table-header th {
|
|
1517
1521
|
padding: var(
|
|
@@ -149,7 +149,6 @@ declare const __propDef: {
|
|
|
149
149
|
showActiveFilters?: boolean | undefined;
|
|
150
150
|
quickFilters?: QuickFilter[] | undefined;
|
|
151
151
|
actionsForSelectedItems?: Action[] | undefined;
|
|
152
|
-
hasMoreToLoad?: boolean | undefined;
|
|
153
152
|
totalRows?: number | undefined;
|
|
154
153
|
searchText?: string | undefined;
|
|
155
154
|
renderedRowsNumber?: number | undefined;
|
|
@@ -14,7 +14,7 @@ let activeFilter = Object.values(tmpFilters).reduce((count, filter) => {
|
|
|
14
14
|
count++;
|
|
15
15
|
return count;
|
|
16
16
|
}, 0);
|
|
17
|
-
let labelsMapper = {
|
|
17
|
+
let labelsMapper = lang == "en" ? {
|
|
18
18
|
equal: { extended: "equal to", short: "equal" },
|
|
19
19
|
like: { short: "includes" },
|
|
20
20
|
ilike: { short: "includes" },
|
|
@@ -23,6 +23,15 @@ let labelsMapper = {
|
|
|
23
23
|
lower: { short: "lower", extended: "lower than" },
|
|
24
24
|
between: { short: "between", extended: "is between" },
|
|
25
25
|
different: { short: "different", extended: "different from" }
|
|
26
|
+
} : {
|
|
27
|
+
equal: { extended: "uguale a", short: "uguale" },
|
|
28
|
+
like: { short: "include" },
|
|
29
|
+
ilike: { short: "include" },
|
|
30
|
+
contains: { short: "contiene" },
|
|
31
|
+
greater: { short: "maggiore", extended: "maggiore di" },
|
|
32
|
+
lower: { short: "minore", extended: "minore di" },
|
|
33
|
+
between: { short: "compreso", extended: "\xE8 compreso tra" },
|
|
34
|
+
different: { short: "diverso", extended: "diverso da" }
|
|
26
35
|
};
|
|
27
36
|
function selectFilter(filter) {
|
|
28
37
|
selectedFilter = filter === selectedFilter ? void 0 : filter;
|
|
@@ -48,7 +57,7 @@ function handleFilterChange() {
|
|
|
48
57
|
|
|
49
58
|
{#if activeFilter > 0}
|
|
50
59
|
<div class="filter-info">
|
|
51
|
-
{activeFilter} applied
|
|
60
|
+
{activeFilter} {lang == 'en' ? 'applied' : activeFilter == 1 ? 'applicato' : 'applicati'}
|
|
52
61
|
<button class="clear-button" on:click={clearFilters}>✕</button>
|
|
53
62
|
</div>
|
|
54
63
|
{/if}
|
|
@@ -95,7 +104,7 @@ function handleFilterChange() {
|
|
|
95
104
|
</div>
|
|
96
105
|
{:else}
|
|
97
106
|
<div class="filters-content-box">
|
|
98
|
-
<p>Please select a filter to display content
|
|
107
|
+
<p>{lang == 'en' ? 'Please select a filter to display content.' : 'Seleziona un filtro per mostrarne il contenuto.'}</p>
|
|
99
108
|
</div>
|
|
100
109
|
{/if}
|
|
101
110
|
</div>
|
|
@@ -27,10 +27,12 @@ export let data = {
|
|
|
27
27
|
text: ""
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
}, showLegend = true;
|
|
30
|
+
}, showLegend = true, responsive = true, maintainAspectRatio = false;
|
|
31
31
|
let chartOptions;
|
|
32
32
|
$:
|
|
33
33
|
chartOptions = {
|
|
34
|
+
responsive,
|
|
35
|
+
maintainAspectRatio,
|
|
34
36
|
plugins: {
|
|
35
37
|
legend: {
|
|
36
38
|
display: showLegend
|
|
@@ -5,7 +5,7 @@ import { createEventDispatcher, onMount, beforeUpdate } from "svelte";
|
|
|
5
5
|
import Teleporter from "../../../utils/teleporter";
|
|
6
6
|
import Keyboarder, {} from "../../../utils/keyboarder";
|
|
7
7
|
import { BROWSER } from "esm-env";
|
|
8
|
-
export let open = false, position = "left", overlay = false, items = [], teleportedUid = void 0, _space = void 0, _openingSpeed = void 0, _backgroundColor = void 0, _color = void 0, _overflow = void 0, _borderRadius = void 0, _margin = void 0, _overlaySpeed = void 0, _overlayBackgroundColor = void 0, _overlayOpacity = void 0;
|
|
8
|
+
export let open = false, position = "left", overlay = false, closeOnClickOutside = true, items = [], teleportedUid = void 0, _space = void 0, _openingSpeed = void 0, _backgroundColor = void 0, _color = void 0, _overflow = void 0, _borderRadius = void 0, _margin = void 0, _overlaySpeed = void 0, _overlayBackgroundColor = void 0, _overlayOpacity = void 0;
|
|
9
9
|
let drawerElement, localOpen = false;
|
|
10
10
|
const dispatch = createEventDispatcher();
|
|
11
11
|
onMount(() => {
|
|
@@ -32,9 +32,11 @@ function closeDrawer() {
|
|
|
32
32
|
dispatch("close", {});
|
|
33
33
|
}
|
|
34
34
|
function handleClickOverlay() {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
if (closeOnClickOutside) {
|
|
36
|
+
open = false;
|
|
37
|
+
overlay = false;
|
|
38
|
+
dispatch("close", {});
|
|
39
|
+
}
|
|
38
40
|
}
|
|
39
41
|
let zIndex = 50;
|
|
40
42
|
beforeUpdate(() => {
|
|
@@ -7,6 +7,7 @@ declare const __propDef: {
|
|
|
7
7
|
open?: boolean | undefined;
|
|
8
8
|
position?: "left" | "right" | "bottom" | "top" | undefined;
|
|
9
9
|
overlay?: boolean | undefined;
|
|
10
|
+
closeOnClickOutside?: boolean | undefined;
|
|
10
11
|
items?: Item[] | undefined;
|
|
11
12
|
teleportedUid?: string | undefined;
|
|
12
13
|
_space?: string | undefined;
|