@wordpress/dataviews 9.0.1-next.a730c9c8c.0 → 9.1.1-next.233ccab9b.0
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/CHANGELOG.md +19 -3
- package/README.md +4 -2
- package/build/components/dataviews/index.js +4 -6
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews-filters/filters-toggled.js +32 -0
- package/build/components/dataviews-filters/filters-toggled.js.map +1 -0
- package/build/components/dataviews-filters/filters.js +73 -0
- package/build/components/dataviews-filters/filters.js.map +1 -0
- package/build/components/dataviews-filters/index.js +26 -190
- package/build/components/dataviews-filters/index.js.map +1 -1
- package/build/components/dataviews-filters/toggle.js +99 -0
- package/build/components/dataviews-filters/toggle.js.map +1 -0
- package/build/components/dataviews-filters/use-filters.js +63 -0
- package/build/components/dataviews-filters/use-filters.js.map +1 -0
- package/build/components/dataviews-picker/index.js +4 -6
- package/build/components/dataviews-picker/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +22 -3
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/dataform-controls/array.js +110 -24
- package/build/dataform-controls/array.js.map +1 -1
- package/build/dataviews-layouts/picker-grid/index.js +4 -1
- package/build/dataviews-layouts/picker-grid/index.js.map +1 -1
- package/build/field-types/array.js +0 -6
- package/build/field-types/array.js.map +1 -1
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/validation.js +18 -1
- package/build/validation.js.map +1 -1
- package/build-module/components/dataviews/index.js +5 -7
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-filters/filters-toggled.js +24 -0
- package/build-module/components/dataviews-filters/filters-toggled.js.map +1 -0
- package/build-module/components/dataviews-filters/filters.js +65 -0
- package/build-module/components/dataviews-filters/filters.js.map +1 -0
- package/build-module/components/dataviews-filters/index.js +4 -186
- package/build-module/components/dataviews-filters/index.js.map +1 -1
- package/build-module/components/dataviews-filters/toggle.js +91 -0
- package/build-module/components/dataviews-filters/toggle.js.map +1 -0
- package/build-module/components/dataviews-filters/use-filters.js +56 -0
- package/build-module/components/dataviews-filters/use-filters.js.map +1 -0
- package/build-module/components/dataviews-picker/index.js +5 -7
- package/build-module/components/dataviews-picker/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +22 -3
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/dataform-controls/array.js +112 -26
- package/build-module/dataform-controls/array.js.map +1 -1
- package/build-module/dataviews-layouts/picker-grid/index.js +4 -1
- package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -1
- package/build-module/field-types/array.js +0 -6
- package/build-module/field-types/array.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/validation.js +18 -1
- package/build-module/validation.js.map +1 -1
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews/index.d.ts +3 -2
- package/build-types/components/dataviews/index.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/filters-toggled.d.ts +5 -0
- package/build-types/components/dataviews-filters/filters-toggled.d.ts.map +1 -0
- package/build-types/components/dataviews-filters/filters.d.ts +6 -0
- package/build-types/components/dataviews-filters/filters.d.ts.map +1 -0
- package/build-types/components/dataviews-filters/index.d.ts +4 -8
- package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/toggle.d.ts +3 -0
- package/build-types/components/dataviews-filters/toggle.d.ts.map +1 -0
- package/build-types/components/dataviews-filters/use-filters.d.ts +4 -0
- package/build-types/components/dataviews-filters/use-filters.d.ts.map +1 -0
- package/build-types/components/dataviews-picker/index.d.ts +3 -2
- package/build-types/components/dataviews-picker/index.d.ts.map +1 -1
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/dataform-controls/array.d.ts.map +1 -1
- package/build-types/dataviews-layouts/picker-grid/index.d.ts.map +1 -1
- package/build-types/field-types/array.d.ts.map +1 -1
- package/build-types/index.d.ts +1 -0
- package/build-types/index.d.ts.map +1 -1
- package/build-types/types.d.ts +2 -1
- package/build-types/types.d.ts.map +1 -1
- package/build-types/validation.d.ts.map +1 -1
- package/build-wp/index.js +899 -408
- package/package.json +15 -15
- package/src/components/dataform/stories/index.story.tsx +73 -1
- package/src/components/dataviews/index.tsx +8 -14
- package/src/components/dataviews/stories/index.story.tsx +1 -1
- package/src/components/dataviews-filters/filters-toggled.tsx +20 -0
- package/src/components/dataviews-filters/filters.tsx +73 -0
- package/src/components/dataviews-filters/index.tsx +4 -246
- package/src/components/dataviews-filters/toggle.tsx +118 -0
- package/src/components/dataviews-filters/use-filters.ts +73 -0
- package/src/components/dataviews-picker/index.tsx +8 -14
- package/src/components/dataviews-view-config/index.tsx +18 -3
- package/src/dataform-controls/array.tsx +137 -40
- package/src/dataviews-layouts/picker-grid/index.tsx +15 -8
- package/src/field-types/array.tsx +0 -8
- package/src/index.ts +1 -0
- package/src/test/validation.ts +192 -0
- package/src/types.ts +2 -1
- package/src/validation.ts +30 -0
- package/tsconfig.tsbuildinfo +1 -1
package/src/validation.ts
CHANGED
|
@@ -25,6 +25,14 @@ export function isItemValid< Item >(
|
|
|
25
25
|
const isEmptyNullOrUndefined = ( value: any ) =>
|
|
26
26
|
[ undefined, '', null ].includes( value );
|
|
27
27
|
|
|
28
|
+
const isArrayOrElementsEmptyNullOrUndefined = ( value: any ) => {
|
|
29
|
+
return (
|
|
30
|
+
! Array.isArray( value ) ||
|
|
31
|
+
value.length === 0 ||
|
|
32
|
+
value.every( ( element: any ) => isEmptyNullOrUndefined( element ) )
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
|
|
28
36
|
return _fields.every( ( field ) => {
|
|
29
37
|
const value = field.getValue( { item } );
|
|
30
38
|
|
|
@@ -39,6 +47,8 @@ export function isItemValid< Item >(
|
|
|
39
47
|
isEmptyNullOrUndefined( value ) ) ||
|
|
40
48
|
( field.type === 'integer' &&
|
|
41
49
|
isEmptyNullOrUndefined( value ) ) ||
|
|
50
|
+
( field.type === 'array' &&
|
|
51
|
+
isArrayOrElementsEmptyNullOrUndefined( value ) ) ||
|
|
42
52
|
( field.type === undefined && isEmptyNullOrUndefined( value ) )
|
|
43
53
|
) {
|
|
44
54
|
return false;
|
|
@@ -49,6 +59,26 @@ export function isItemValid< Item >(
|
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
61
|
|
|
62
|
+
if ( field.isValid.elements ) {
|
|
63
|
+
if ( field.elements ) {
|
|
64
|
+
const validValues = field.elements.map(
|
|
65
|
+
( element ) => element.value
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
if ( field.type === 'array' ) {
|
|
69
|
+
// For arrays, check if all values are valid elements
|
|
70
|
+
if ( Array.isArray( value ) ) {
|
|
71
|
+
return value.every( ( arrayItem ) =>
|
|
72
|
+
validValues.includes( arrayItem )
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
// For single-value fields, check if the value is a valid element
|
|
78
|
+
return validValues.includes( value );
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
52
82
|
if (
|
|
53
83
|
typeof field.isValid.custom === 'function' &&
|
|
54
84
|
field.isValid.custom( item, field ) !== null
|