@elementor/editor-variables 3.33.0-136 → 3.33.0-138
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/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +39 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +39 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -13
- package/src/batch-operations.ts +4 -1
- package/src/components/variables-manager/variables-manager-table.tsx +29 -1
- package/src/hooks/use-prop-variables.ts +8 -2
- package/src/storage.ts +1 -0
- package/src/types.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elementor/editor-variables",
|
|
3
|
-
"version": "3.33.0-
|
|
3
|
+
"version": "3.33.0-138",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Elementor Team",
|
|
6
6
|
"homepage": "https://elementor.com/",
|
|
@@ -39,19 +39,19 @@
|
|
|
39
39
|
"dev": "tsup --config=../../tsup.dev.ts"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@elementor/editor": "3.33.0-
|
|
43
|
-
"@elementor/editor-canvas": "3.33.0-
|
|
44
|
-
"@elementor/editor-controls": "3.33.0-
|
|
45
|
-
"@elementor/editor-current-user": "3.33.0-
|
|
46
|
-
"@elementor/editor-editing-panel": "3.33.0-
|
|
47
|
-
"@elementor/editor-panels": "3.33.0-
|
|
48
|
-
"@elementor/editor-props": "3.33.0-
|
|
49
|
-
"@elementor/editor-ui": "3.33.0-
|
|
50
|
-
"@elementor/editor-v1-adapters": "3.33.0-
|
|
51
|
-
"@elementor/http-client": "3.33.0-
|
|
42
|
+
"@elementor/editor": "3.33.0-138",
|
|
43
|
+
"@elementor/editor-canvas": "3.33.0-138",
|
|
44
|
+
"@elementor/editor-controls": "3.33.0-138",
|
|
45
|
+
"@elementor/editor-current-user": "3.33.0-138",
|
|
46
|
+
"@elementor/editor-editing-panel": "3.33.0-138",
|
|
47
|
+
"@elementor/editor-panels": "3.33.0-138",
|
|
48
|
+
"@elementor/editor-props": "3.33.0-138",
|
|
49
|
+
"@elementor/editor-ui": "3.33.0-138",
|
|
50
|
+
"@elementor/editor-v1-adapters": "3.33.0-138",
|
|
51
|
+
"@elementor/http-client": "3.33.0-138",
|
|
52
52
|
"@elementor/icons": "1.46.0",
|
|
53
|
-
"@elementor/mixpanel": "3.33.0-
|
|
54
|
-
"@elementor/schema": "3.33.0-
|
|
53
|
+
"@elementor/mixpanel": "3.33.0-138",
|
|
54
|
+
"@elementor/schema": "3.33.0-138",
|
|
55
55
|
"@elementor/ui": "1.36.12",
|
|
56
56
|
"@wordpress/i18n": "^5.13.0"
|
|
57
57
|
},
|
package/src/batch-operations.ts
CHANGED
|
@@ -47,7 +47,9 @@ export const buildOperationsArray = (
|
|
|
47
47
|
} );
|
|
48
48
|
} else if (
|
|
49
49
|
! variable.deleted &&
|
|
50
|
-
( original.label !== variable.label ||
|
|
50
|
+
( original.label !== variable.label ||
|
|
51
|
+
original.value !== variable.value ||
|
|
52
|
+
original.order !== variable.order )
|
|
51
53
|
) {
|
|
52
54
|
operations.push( {
|
|
53
55
|
type: 'update',
|
|
@@ -55,6 +57,7 @@ export const buildOperationsArray = (
|
|
|
55
57
|
variable: {
|
|
56
58
|
...( original.label !== variable.label && { label: variable.label } ),
|
|
57
59
|
...( original.value !== variable.value && { value: variable.value } ),
|
|
60
|
+
...( original.order !== variable.order && { order: variable.order } ),
|
|
58
61
|
},
|
|
59
62
|
} );
|
|
60
63
|
}
|
|
@@ -69,8 +69,17 @@ export const VariablesManagerTable = ( {
|
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
+
useEffect( () => {
|
|
73
|
+
const sortedIds = [ ...ids ].sort( sortVariablesOrder( variables ) );
|
|
74
|
+
|
|
75
|
+
if ( JSON.stringify( sortedIds ) !== JSON.stringify( ids ) ) {
|
|
76
|
+
setIds( sortedIds );
|
|
77
|
+
}
|
|
78
|
+
}, [ ids, variables, setIds ] );
|
|
79
|
+
|
|
72
80
|
const rows = ids
|
|
73
81
|
.filter( ( id ) => ! variables[ id ].deleted )
|
|
82
|
+
.sort( sortVariablesOrder( variables ) )
|
|
74
83
|
.map( ( id ) => {
|
|
75
84
|
const variable = variables[ id ];
|
|
76
85
|
const variableType = getVariableType( variable.type );
|
|
@@ -103,7 +112,19 @@ export const VariablesManagerTable = ( {
|
|
|
103
112
|
<TableBody>
|
|
104
113
|
<UnstableSortableProvider
|
|
105
114
|
value={ ids }
|
|
106
|
-
onChange={
|
|
115
|
+
onChange={ ( newIds ) => {
|
|
116
|
+
const updatedVariables = { ...variables };
|
|
117
|
+
newIds.forEach( ( id, index ) => {
|
|
118
|
+
if ( updatedVariables[ id ] ) {
|
|
119
|
+
updatedVariables[ id ] = {
|
|
120
|
+
...updatedVariables[ id ],
|
|
121
|
+
order: index + 1,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
} );
|
|
125
|
+
handleOnChange( updatedVariables );
|
|
126
|
+
setIds( newIds );
|
|
127
|
+
} }
|
|
107
128
|
variant="static"
|
|
108
129
|
restrictAxis
|
|
109
130
|
dragOverlay={ ( { children: dragOverlayChildren, ...dragOverlayProps } ) => (
|
|
@@ -255,3 +276,10 @@ export const VariablesManagerTable = ( {
|
|
|
255
276
|
</TableContainer>
|
|
256
277
|
);
|
|
257
278
|
};
|
|
279
|
+
function sortVariablesOrder( variables: TVariablesList ): ( a: string, b: string ) => number {
|
|
280
|
+
return ( a, b ) => {
|
|
281
|
+
const orderA = variables[ a ]?.order ?? Number.MAX_SAFE_INTEGER;
|
|
282
|
+
const orderB = variables[ b ]?.order ?? Number.MAX_SAFE_INTEGER;
|
|
283
|
+
return orderA - orderB;
|
|
284
|
+
};
|
|
285
|
+
}
|
|
@@ -34,9 +34,14 @@ export const useFilteredVariables = ( searchValue: string, propTypeKey: string )
|
|
|
34
34
|
|
|
35
35
|
const typeFilteredVariables = useVariableSelectionFilter( baseVariables );
|
|
36
36
|
const searchFilteredVariables = filterVariablesBySearchValue( typeFilteredVariables, searchValue );
|
|
37
|
+
const sortedVariables = searchFilteredVariables.sort( ( a, b ) => {
|
|
38
|
+
const orderA = a.order ?? Number.MAX_SAFE_INTEGER;
|
|
39
|
+
const orderB = b.order ?? Number.MAX_SAFE_INTEGER;
|
|
40
|
+
return orderA - orderB;
|
|
41
|
+
} );
|
|
37
42
|
|
|
38
43
|
return {
|
|
39
|
-
list:
|
|
44
|
+
list: sortedVariables,
|
|
40
45
|
hasMatches: searchFilteredVariables.length > 0,
|
|
41
46
|
isSourceNotEmpty: typeFilteredVariables.length > 0,
|
|
42
47
|
hasNoCompatibleVariables: baseVariables.length > 0 && typeFilteredVariables.length === 0,
|
|
@@ -64,10 +69,11 @@ const normalizeVariables = ( propKey: string ) => {
|
|
|
64
69
|
|
|
65
70
|
return Object.entries( variables )
|
|
66
71
|
.filter( ( [ , variable ] ) => variable.type === propKey )
|
|
67
|
-
.map( ( [ key, { label, value } ] ) => ( {
|
|
72
|
+
.map( ( [ key, { label, value, order } ] ) => ( {
|
|
68
73
|
key,
|
|
69
74
|
label,
|
|
70
75
|
value,
|
|
76
|
+
order,
|
|
71
77
|
} ) );
|
|
72
78
|
};
|
|
73
79
|
|
package/src/storage.ts
CHANGED