@sankhyalabs/ezui 5.22.0-dev.63 → 5.22.0-dev.65
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/cjs/{ez-card-item_3.cjs.entry.js → ez-card-item_2.cjs.entry.js} +0 -123
- package/dist/cjs/ez-double-list.cjs.entry.js +285 -0
- package/dist/cjs/ez-filter-input.cjs.entry.js +130 -0
- package/dist/cjs/ez-form-view.cjs.entry.js +8 -2
- package/dist/cjs/ez-list.cjs.entry.js +246 -205
- package/dist/cjs/ez-popup.cjs.entry.js +4 -1
- package/dist/cjs/ezListHelper-0d3970b4.js +90 -0
- package/dist/cjs/ezui.cjs.js +1 -1
- package/dist/cjs/index-a7b0c73d.js +10 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ez-double-list/doubleListHelper.js +82 -0
- package/dist/collection/components/ez-double-list/ez-double-list.css +62 -0
- package/dist/collection/components/ez-double-list/ez-double-list.js +418 -0
- package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +2 -1
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +6 -2
- package/dist/collection/components/ez-list/ez-list.js +273 -208
- package/dist/collection/components/ez-list/ezListHelper.js +85 -0
- package/dist/collection/components/ez-popup/ez-popup.css +1 -0
- package/dist/collection/components/ez-popup/ez-popup.js +5 -2
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +631 -218
- package/dist/esm/{ez-card-item_3.entry.js → ez-card-item_2.entry.js} +1 -123
- package/dist/esm/ez-double-list.entry.js +281 -0
- package/dist/esm/ez-filter-input.entry.js +126 -0
- package/dist/esm/ez-form-view.entry.js +8 -2
- package/dist/esm/ez-list.entry.js +246 -205
- package/dist/esm/ez-popup.entry.js +4 -1
- package/dist/esm/ezListHelper-00fb9b8d.js +87 -0
- package/dist/esm/ezui.js +1 -1
- package/dist/esm/index-baa5e267.js +10 -2
- package/dist/esm/loader.js +1 -1
- package/dist/ezui/ezui.esm.js +1 -1
- package/dist/ezui/p-13165bb1.entry.js +1 -0
- package/dist/ezui/p-17eabf46.entry.js +1 -0
- package/dist/ezui/p-2475fd6e.entry.js +1 -0
- package/dist/ezui/p-31d1fab6.entry.js +1 -0
- package/dist/ezui/p-65f471bc.entry.js +1 -0
- package/dist/ezui/p-80dfc50b.js +1 -0
- package/dist/ezui/p-e3e3fd7a.entry.js +1 -0
- package/dist/types/components/ez-double-list/doubleListHelper.d.ts +10 -0
- package/dist/types/components/ez-double-list/ez-double-list.d.ts +86 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +2 -1
- package/dist/types/components/ez-list/ez-list.d.ts +19 -3
- package/dist/types/components/ez-list/ezListHelper.d.ts +20 -0
- package/dist/types/components/ez-popup/ez-popup.d.ts +1 -1
- package/dist/types/components.d.ts +97 -6
- package/package.json +1 -1
- package/react/components.d.ts +1 -0
- package/react/components.js +1 -0
- package/react/components.js.map +1 -1
- package/dist/ezui/p-4575d511.entry.js +0 -1
- package/dist/ezui/p-bfad39eb.entry.js +0 -1
- package/dist/ezui/p-c806f32f.entry.js +0 -1
- package/dist/ezui/p-e78e0843.entry.js +0 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* O dragElement é posicionado ANTERIORMENTE ao targetIndex.
|
|
3
|
+
* Ex: no array: ["A", "B", "C", "D", "E"]
|
|
4
|
+
* se o dragItem for "B" e o targetIndex 3 (referente à "D"),
|
|
5
|
+
* "B" será posicionado logo antes de "D".
|
|
6
|
+
* O resultado será: ["A", "C", "B", "D", "E"]
|
|
7
|
+
*
|
|
8
|
+
* @param configs
|
|
9
|
+
*/
|
|
10
|
+
export function processListOnDrop(configs) {
|
|
11
|
+
let newList;
|
|
12
|
+
if (hasToMoveMultipleItems(configs)) {
|
|
13
|
+
newList = processMoveMultipleItems(configs);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
newList = processMoveSingleItem(configs);
|
|
17
|
+
configs.clearSelection();
|
|
18
|
+
}
|
|
19
|
+
return newList;
|
|
20
|
+
}
|
|
21
|
+
function hasToMoveMultipleItems(configs) {
|
|
22
|
+
const { enableMultipleSelection, listItems, dragItem, moveToFinal, targetIndex } = configs;
|
|
23
|
+
if (!enableMultipleSelection)
|
|
24
|
+
return false;
|
|
25
|
+
const selectedItemsIndexes = getSelectedIndices(listItems);
|
|
26
|
+
if (selectedItemsIndexes.length <= 1)
|
|
27
|
+
return false;
|
|
28
|
+
if (!selectedItemsIndexes.includes(dragItem.index))
|
|
29
|
+
return false;
|
|
30
|
+
if (!isContinuousSequence(selectedItemsIndexes))
|
|
31
|
+
return false;
|
|
32
|
+
if (moveToFinal)
|
|
33
|
+
return true;
|
|
34
|
+
return !selectedItemsIndexes.includes(targetIndex);
|
|
35
|
+
}
|
|
36
|
+
function processMoveSingleItem(configs) {
|
|
37
|
+
const { listItems, dragItem, targetIndex, moveToFinal } = configs;
|
|
38
|
+
const newList = [...listItems];
|
|
39
|
+
newList.splice(dragItem.index, 1);
|
|
40
|
+
if (moveToFinal) {
|
|
41
|
+
newList.push(dragItem.item);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const adjustedIndex = (targetIndex > dragItem.index) ? Math.max(0, targetIndex - 1) : targetIndex;
|
|
45
|
+
newList.splice(adjustedIndex, 0, dragItem.item);
|
|
46
|
+
}
|
|
47
|
+
return newList;
|
|
48
|
+
}
|
|
49
|
+
function processMoveMultipleItems(configs) {
|
|
50
|
+
const { listItems, moveToFinal, targetIndex } = configs;
|
|
51
|
+
const selectedItems = listItems.filter(item => item.selected);
|
|
52
|
+
const selectedItemsIndexes = getSelectedIndices(listItems);
|
|
53
|
+
const minorIndex = Math.min(...selectedItemsIndexes);
|
|
54
|
+
const majorIndex = Math.max(...selectedItemsIndexes);
|
|
55
|
+
const qtdToMove = selectedItems.length;
|
|
56
|
+
const newList = [...listItems];
|
|
57
|
+
newList.splice(minorIndex, qtdToMove);
|
|
58
|
+
if (moveToFinal) {
|
|
59
|
+
newList.push(...selectedItems);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
let adjustedIndex = (targetIndex > majorIndex) ? Math.max(0, targetIndex - qtdToMove) : targetIndex;
|
|
63
|
+
newList.splice(adjustedIndex, 0, ...selectedItems);
|
|
64
|
+
}
|
|
65
|
+
return newList;
|
|
66
|
+
}
|
|
67
|
+
export function isContinuousSequence(numbers) {
|
|
68
|
+
if (numbers.length === 0)
|
|
69
|
+
return false;
|
|
70
|
+
const sortedNumbers = [...numbers].sort((a, b) => a - b);
|
|
71
|
+
for (let i = 1; i < sortedNumbers.length; i++) {
|
|
72
|
+
if (sortedNumbers[i] !== sortedNumbers[i - 1] + 1) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
function getSelectedIndices(listItems) {
|
|
79
|
+
return listItems.reduce((indices, item, index) => {
|
|
80
|
+
if (item.selected) {
|
|
81
|
+
indices.push(index);
|
|
82
|
+
}
|
|
83
|
+
return indices;
|
|
84
|
+
}, []);
|
|
85
|
+
}
|
|
@@ -9,6 +9,7 @@ export class EzPopup {
|
|
|
9
9
|
"large": "col--sd-9",
|
|
10
10
|
"x-large": "col--sd-11",
|
|
11
11
|
"default": "ez-popup__size-limit--x-small",
|
|
12
|
+
"auto": "",
|
|
12
13
|
};
|
|
13
14
|
this.size = "medium";
|
|
14
15
|
this.opened = false;
|
|
@@ -62,6 +63,8 @@ export class EzPopup {
|
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
getGridSize() {
|
|
66
|
+
if (this.size === "auto")
|
|
67
|
+
return "";
|
|
65
68
|
return this._sizeClasses[this.size] || this._sizeClasses["medium"];
|
|
66
69
|
}
|
|
67
70
|
handlePopupHeight() {
|
|
@@ -96,8 +99,8 @@ export class EzPopup {
|
|
|
96
99
|
"type": "string",
|
|
97
100
|
"mutable": false,
|
|
98
101
|
"complexType": {
|
|
99
|
-
"original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\"",
|
|
100
|
-
"resolved": "\"large\" | \"medium\" | \"small\" | \"x-large\" | \"x-small\"",
|
|
102
|
+
"original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\" | \"auto\"",
|
|
103
|
+
"resolved": "\"auto\" | \"large\" | \"medium\" | \"small\" | \"x-large\" | \"x-small\"",
|
|
101
104
|
"references": {}
|
|
102
105
|
},
|
|
103
106
|
"required": false,
|
|
@@ -110,6 +110,12 @@ export const EzDialog: {
|
|
|
110
110
|
new (): EzDialog;
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
+
interface EzDoubleList extends Components.EzDoubleList, HTMLElement {}
|
|
114
|
+
export const EzDoubleList: {
|
|
115
|
+
prototype: EzDoubleList;
|
|
116
|
+
new (): EzDoubleList;
|
|
117
|
+
};
|
|
118
|
+
|
|
113
119
|
interface EzDropdown extends Components.EzDropdown, HTMLElement {}
|
|
114
120
|
export const EzDropdown: {
|
|
115
121
|
prototype: EzDropdown;
|