@wordpress/dataviews 9.1.1-next.f56bd8138.0 → 10.0.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 +44 -1
- package/README.md +140 -38
- package/build/components/dataform/index.js +52 -28
- package/build/components/dataform/index.js.map +7 -1
- package/build/components/dataform-context/index.js +33 -25
- package/build/components/dataform-context/index.js.map +7 -1
- package/build/components/dataviews/index.js +193 -156
- package/build/components/dataviews/index.js.map +7 -1
- package/build/components/dataviews-bulk-actions/index.js +264 -155
- package/build/components/dataviews-bulk-actions/index.js.map +7 -1
- package/build/components/dataviews-context/index.js +40 -36
- package/build/components/dataviews-context/index.js.map +7 -1
- package/build/components/dataviews-filters/add-filter.js +78 -73
- package/build/components/dataviews-filters/add-filter.js.map +7 -1
- package/build/components/dataviews-filters/filter.js +473 -263
- package/build/components/dataviews-filters/filter.js.map +7 -1
- package/build/components/dataviews-filters/filters-toggled.js +46 -0
- package/build/components/dataviews-filters/filters-toggled.js.map +7 -0
- package/build/components/dataviews-filters/filters.js +101 -0
- package/build/components/dataviews-filters/filters.js.map +7 -0
- package/build/components/dataviews-filters/index.js +46 -197
- package/build/components/dataviews-filters/index.js.map +7 -1
- package/build/components/dataviews-filters/input-widget.js +88 -89
- package/build/components/dataviews-filters/input-widget.js.map +7 -1
- package/build/components/dataviews-filters/reset-filters.js +50 -34
- package/build/components/dataviews-filters/reset-filters.js.map +7 -1
- package/build/components/dataviews-filters/search-widget.js +301 -205
- package/build/components/dataviews-filters/search-widget.js.map +7 -1
- package/build/components/dataviews-filters/toggle.js +124 -0
- package/build/components/dataviews-filters/toggle.js.map +7 -0
- package/build/components/dataviews-filters/use-filters.js +74 -0
- package/build/components/dataviews-filters/use-filters.js.map +7 -0
- package/build/components/dataviews-filters/utils.js +26 -10
- package/build/components/dataviews-filters/utils.js.map +7 -1
- package/build/components/dataviews-footer/index.js +54 -33
- package/build/components/dataviews-footer/index.js.map +7 -1
- package/build/components/dataviews-item-actions/index.js +188 -150
- package/build/components/dataviews-item-actions/index.js.map +7 -1
- package/build/components/dataviews-layout/index.js +64 -49
- package/build/components/dataviews-layout/index.js.map +7 -1
- package/build/components/dataviews-pagination/index.js +143 -99
- package/build/components/dataviews-pagination/index.js.map +7 -1
- package/build/components/dataviews-picker/footer.js +152 -101
- package/build/components/dataviews-picker/footer.js.map +7 -1
- package/build/components/dataviews-picker/index.js +173 -147
- package/build/components/dataviews-picker/index.js.map +7 -1
- package/build/components/dataviews-search/index.js +63 -46
- package/build/components/dataviews-search/index.js.map +7 -1
- package/build/components/dataviews-selection-checkbox/index.js +45 -35
- package/build/components/dataviews-selection-checkbox/index.js.map +7 -1
- package/build/components/dataviews-view-config/index.js +587 -512
- package/build/components/dataviews-view-config/index.js.map +7 -1
- package/build/components/dataviews-view-config/infinite-scroll-toggle.js +56 -39
- package/build/components/dataviews-view-config/infinite-scroll-toggle.js.map +7 -1
- package/build/constants.js +215 -108
- package/build/constants.js.map +7 -1
- package/build/dataform-controls/array.js +109 -145
- package/build/dataform-controls/array.js.map +7 -1
- package/build/dataform-controls/checkbox.js +56 -66
- package/build/dataform-controls/checkbox.js.map +7 -1
- package/build/dataform-controls/color.js +112 -119
- package/build/dataform-controls/color.js.map +7 -1
- package/build/dataform-controls/date.js +531 -349
- package/build/dataform-controls/date.js.map +7 -1
- package/build/dataform-controls/datetime.js +189 -148
- package/build/dataform-controls/datetime.js.map +7 -1
- package/build/dataform-controls/email.js +52 -32
- package/build/dataform-controls/email.js.map +7 -1
- package/build/dataform-controls/index.js +83 -63
- package/build/dataform-controls/index.js.map +7 -1
- package/build/dataform-controls/integer.js +36 -129
- package/build/dataform-controls/integer.js.map +7 -1
- package/build/dataform-controls/number.js +39 -0
- package/build/dataform-controls/number.js.map +7 -0
- package/build/dataform-controls/password.js +66 -38
- package/build/dataform-controls/password.js.map +7 -1
- package/build/dataform-controls/radio.js +61 -64
- package/build/dataform-controls/radio.js.map +7 -1
- package/build/dataform-controls/select.js +70 -88
- package/build/dataform-controls/select.js.map +7 -1
- package/build/dataform-controls/telephone.js +52 -32
- package/build/dataform-controls/telephone.js.map +7 -1
- package/build/dataform-controls/text.js +52 -30
- package/build/dataform-controls/text.js.map +7 -1
- package/build/dataform-controls/textarea.js +62 -71
- package/build/dataform-controls/textarea.js.map +7 -1
- package/build/dataform-controls/toggle-group.js +73 -66
- package/build/dataform-controls/toggle-group.js.map +7 -1
- package/build/dataform-controls/toggle.js +57 -67
- package/build/dataform-controls/toggle.js.map +7 -1
- package/build/dataform-controls/url.js +52 -32
- package/build/dataform-controls/url.js.map +7 -1
- package/build/dataform-controls/utils/get-custom-validity.js +35 -0
- package/build/dataform-controls/utils/get-custom-validity.js.map +7 -0
- package/build/dataform-controls/utils/relative-date-control.js +122 -0
- package/build/dataform-controls/utils/relative-date-control.js.map +7 -0
- package/build/dataform-controls/utils/validated-input.js +67 -71
- package/build/dataform-controls/utils/validated-input.js.map +7 -1
- package/build/dataform-controls/utils/validated-number.js +167 -0
- package/build/dataform-controls/utils/validated-number.js.map +7 -0
- package/build/dataform-layouts/card/index.js +217 -0
- package/build/dataform-layouts/card/index.js.map +7 -0
- package/build/dataform-layouts/data-form-layout.js +95 -0
- package/build/dataform-layouts/data-form-layout.js.map +7 -0
- package/build/dataform-layouts/get-summary-fields.js +45 -0
- package/build/dataform-layouts/get-summary-fields.js.map +7 -0
- package/build/dataform-layouts/index.js +99 -0
- package/build/dataform-layouts/index.js.map +7 -0
- package/build/dataform-layouts/is-combined-field.js +31 -0
- package/build/dataform-layouts/is-combined-field.js.map +7 -0
- package/build/dataform-layouts/normalize-form-fields.js +104 -0
- package/build/dataform-layouts/normalize-form-fields.js.map +7 -0
- package/build/dataform-layouts/panel/dropdown.js +159 -0
- package/build/dataform-layouts/panel/dropdown.js.map +7 -0
- package/build/dataform-layouts/panel/index.js +152 -0
- package/build/dataform-layouts/panel/index.js.map +7 -0
- package/build/dataform-layouts/panel/modal.js +176 -0
- package/build/dataform-layouts/panel/modal.js.map +7 -0
- package/build/dataform-layouts/panel/summary-button.js +93 -0
- package/build/dataform-layouts/panel/summary-button.js.map +7 -0
- package/build/dataform-layouts/regular/index.js +139 -0
- package/build/dataform-layouts/regular/index.js.map +7 -0
- package/build/dataform-layouts/row/index.js +120 -0
- package/build/dataform-layouts/row/index.js.map +7 -0
- package/build/dataviews-layouts/grid/index.js +337 -278
- package/build/dataviews-layouts/grid/index.js.map +7 -1
- package/build/dataviews-layouts/grid/preview-size-picker.js +94 -69
- package/build/dataviews-layouts/grid/preview-size-picker.js.map +7 -1
- package/build/dataviews-layouts/index.js +75 -48
- package/build/dataviews-layouts/index.js.map +7 -1
- package/build/dataviews-layouts/list/index.js +441 -354
- package/build/dataviews-layouts/list/index.js.map +7 -1
- package/build/dataviews-layouts/picker-grid/index.js +366 -297
- package/build/dataviews-layouts/picker-grid/index.js.map +7 -1
- package/build/dataviews-layouts/table/column-header-menu.js +144 -133
- package/build/dataviews-layouts/table/column-header-menu.js.map +7 -1
- package/build/dataviews-layouts/table/column-primary.js +86 -66
- package/build/dataviews-layouts/table/column-primary.js.map +7 -1
- package/build/dataviews-layouts/table/density-picker.js +86 -46
- package/build/dataviews-layouts/table/density-picker.js.map +7 -1
- package/build/dataviews-layouts/table/index.js +354 -319
- package/build/dataviews-layouts/table/index.js.map +7 -1
- package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js +55 -47
- package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +7 -1
- package/build/dataviews-layouts/utils/get-data-by-group.js +24 -13
- package/build/dataviews-layouts/utils/get-data-by-group.js.map +7 -1
- package/build/dataviews-layouts/utils/grid-items.js +51 -34
- package/build/dataviews-layouts/utils/grid-items.js.map +7 -1
- package/build/dataviews-layouts/utils/item-click-wrapper.js +53 -31
- package/build/dataviews-layouts/utils/item-click-wrapper.js.map +7 -1
- package/build/dataviews-layouts/utils/preview-size-picker.js +94 -69
- package/build/dataviews-layouts/utils/preview-size-picker.js.map +7 -1
- package/build/field-types/array.js +46 -41
- package/build/field-types/array.js.map +7 -1
- package/build/field-types/boolean.js +52 -47
- package/build/field-types/boolean.js.map +7 -1
- package/build/field-types/color.js +79 -81
- package/build/field-types/color.js.map +7 -1
- package/build/field-types/date.js +69 -48
- package/build/field-types/date.js.map +7 -1
- package/build/field-types/datetime.js +62 -43
- package/build/field-types/datetime.js.map +7 -1
- package/build/field-types/email.js +58 -47
- package/build/field-types/email.js.map +7 -1
- package/build/field-types/index.js +84 -89
- package/build/field-types/index.js.map +7 -1
- package/build/field-types/integer.js +68 -45
- package/build/field-types/integer.js.map +7 -1
- package/build/field-types/media.js +25 -27
- package/build/field-types/media.js.map +7 -1
- package/build/field-types/number.js +95 -0
- package/build/field-types/number.js.map +7 -0
- package/build/field-types/password.js +40 -39
- package/build/field-types/password.js.map +7 -1
- package/build/field-types/telephone.js +55 -45
- package/build/field-types/telephone.js.map +7 -1
- package/build/field-types/text.js +55 -46
- package/build/field-types/text.js.map +7 -1
- package/build/field-types/url.js +55 -45
- package/build/field-types/url.js.map +7 -1
- package/build/field-types/utils/render-from-elements.js +52 -0
- package/build/field-types/utils/render-from-elements.js.map +7 -0
- package/build/hooks/index.js +39 -0
- package/build/hooks/index.js.map +7 -0
- package/build/hooks/use-elements.js +63 -0
- package/build/hooks/use-elements.js.map +7 -0
- package/build/hooks/use-form-validity.js +426 -0
- package/build/hooks/use-form-validity.js.map +7 -0
- package/build/index.js +50 -45
- package/build/index.js.map +7 -1
- package/build/lock-unlock.js +31 -14
- package/build/lock-unlock.js.map +7 -1
- package/build/types/dataform.js +17 -0
- package/build/types/dataform.js.map +7 -0
- package/build/types/dataviews.js +17 -0
- package/build/types/dataviews.js.map +7 -0
- package/build/types/field-api.js +17 -0
- package/build/types/field-api.js.map +7 -0
- package/build/types/index.js +17 -0
- package/build/types/index.js.map +7 -0
- package/build/types/private.js +17 -0
- package/build/types/private.js.map +7 -0
- package/build/utils/filter-sort-and-paginate.js +285 -0
- package/build/utils/filter-sort-and-paginate.js.map +7 -0
- package/build/utils/has-elements.js +27 -0
- package/build/utils/has-elements.js.map +7 -0
- package/build/utils/normalize-fields.js +160 -0
- package/build/utils/normalize-fields.js.map +7 -0
- package/build-module/components/dataform/index.js +25 -25
- package/build-module/components/dataform/index.js.map +7 -1
- package/build-module/components/dataform-context/index.js +11 -19
- package/build-module/components/dataform-context/index.js.map +7 -1
- package/build-module/components/dataviews/index.js +156 -131
- package/build-module/components/dataviews/index.js.map +7 -1
- package/build-module/components/dataviews-bulk-actions/index.js +227 -140
- package/build-module/components/dataviews-bulk-actions/index.js.map +7 -1
- package/build-module/components/dataviews-context/index.js +20 -30
- package/build-module/components/dataviews-context/index.js.map +7 -1
- package/build-module/components/dataviews-filters/add-filter.js +60 -68
- package/build-module/components/dataviews-filters/add-filter.js.map +7 -1
- package/build-module/components/dataviews-filters/filter.js +454 -232
- package/build-module/components/dataviews-filters/filter.js.map +7 -1
- package/build-module/components/dataviews-filters/filters-toggled.js +16 -0
- package/build-module/components/dataviews-filters/filters-toggled.js.map +7 -0
- package/build-module/components/dataviews-filters/filters.js +71 -0
- package/build-module/components/dataviews-filters/filters.js.map +7 -0
- package/build-module/components/dataviews-filters/index.js +11 -187
- package/build-module/components/dataviews-filters/index.js.map +7 -1
- package/build-module/components/dataviews-filters/input-widget.js +57 -81
- package/build-module/components/dataviews-filters/input-widget.js.map +7 -1
- package/build-module/components/dataviews-filters/reset-filters.js +33 -30
- package/build-module/components/dataviews-filters/reset-filters.js.map +7 -1
- package/build-module/components/dataviews-filters/search-widget.js +276 -195
- package/build-module/components/dataviews-filters/search-widget.js.map +7 -1
- package/build-module/components/dataviews-filters/toggle.js +94 -0
- package/build-module/components/dataviews-filters/toggle.js.map +7 -0
- package/build-module/components/dataviews-filters/use-filters.js +54 -0
- package/build-module/components/dataviews-filters/use-filters.js.map +7 -0
- package/build-module/components/dataviews-filters/utils.js +5 -6
- package/build-module/components/dataviews-filters/utils.js.map +7 -1
- package/build-module/components/dataviews-footer/index.js +28 -26
- package/build-module/components/dataviews-footer/index.js.map +7 -1
- package/build-module/components/dataviews-item-actions/index.js +171 -144
- package/build-module/components/dataviews-item-actions/index.js.map +7 -1
- package/build-module/components/dataviews-layout/index.js +35 -42
- package/build-module/components/dataviews-layout/index.js.map +7 -1
- package/build-module/components/dataviews-pagination/index.js +115 -92
- package/build-module/components/dataviews-pagination/index.js.map +7 -1
- package/build-module/components/dataviews-picker/footer.js +122 -93
- package/build-module/components/dataviews-picker/footer.js.map +7 -1
- package/build-module/components/dataviews-picker/index.js +139 -125
- package/build-module/components/dataviews-picker/index.js.map +7 -1
- package/build-module/components/dataviews-search/index.js +30 -35
- package/build-module/components/dataviews-search/index.js.map +7 -1
- package/build-module/components/dataviews-selection-checkbox/index.js +28 -31
- package/build-module/components/dataviews-selection-checkbox/index.js.map +7 -1
- package/build-module/components/dataviews-view-config/index.js +579 -504
- package/build-module/components/dataviews-view-config/index.js.map +7 -1
- package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js +28 -33
- package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js.map +7 -1
- package/build-module/constants.js +157 -101
- package/build-module/constants.js.map +7 -1
- package/build-module/dataform-controls/array.js +82 -141
- package/build-module/dataform-controls/array.js.map +7 -1
- package/build-module/dataform-controls/checkbox.js +28 -61
- package/build-module/dataform-controls/checkbox.js.map +7 -1
- package/build-module/dataform-controls/color.js +89 -115
- package/build-module/dataform-controls/color.js.map +7 -1
- package/build-module/dataform-controls/date.js +524 -337
- package/build-module/dataform-controls/date.js.map +7 -1
- package/build-module/dataform-controls/datetime.js +162 -139
- package/build-module/dataform-controls/datetime.js.map +7 -1
- package/build-module/dataform-controls/email.js +28 -28
- package/build-module/dataform-controls/email.js.map +7 -1
- package/build-module/dataform-controls/index.js +36 -43
- package/build-module/dataform-controls/index.js.map +7 -1
- package/build-module/dataform-controls/integer.js +8 -123
- package/build-module/dataform-controls/integer.js.map +7 -1
- package/build-module/dataform-controls/number.js +9 -0
- package/build-module/dataform-controls/number.js.map +7 -0
- package/build-module/dataform-controls/password.js +37 -30
- package/build-module/dataform-controls/password.js.map +7 -1
- package/build-module/dataform-controls/radio.js +34 -60
- package/build-module/dataform-controls/radio.js.map +7 -1
- package/build-module/dataform-controls/select.js +43 -84
- package/build-module/dataform-controls/select.js.map +7 -1
- package/build-module/dataform-controls/telephone.js +28 -28
- package/build-module/dataform-controls/telephone.js.map +7 -1
- package/build-module/dataform-controls/text.js +25 -26
- package/build-module/dataform-controls/text.js.map +7 -1
- package/build-module/dataform-controls/textarea.js +35 -67
- package/build-module/dataform-controls/textarea.js.map +7 -1
- package/build-module/dataform-controls/toggle-group.js +50 -62
- package/build-module/dataform-controls/toggle-group.js.map +7 -1
- package/build-module/dataform-controls/toggle.js +29 -62
- package/build-module/dataform-controls/toggle.js.map +7 -1
- package/build-module/dataform-controls/url.js +28 -28
- package/build-module/dataform-controls/url.js.map +7 -1
- package/build-module/dataform-controls/utils/get-custom-validity.js +15 -0
- package/build-module/dataform-controls/utils/get-custom-validity.js.map +7 -0
- package/build-module/dataform-controls/utils/relative-date-control.js +97 -0
- package/build-module/dataform-controls/utils/relative-date-control.js.map +7 -0
- package/build-module/dataform-controls/utils/validated-input.js +40 -67
- package/build-module/dataform-controls/utils/validated-input.js.map +7 -1
- package/build-module/dataform-controls/utils/validated-number.js +142 -0
- package/build-module/dataform-controls/utils/validated-number.js.map +7 -0
- package/build-module/dataform-layouts/card/index.js +183 -0
- package/build-module/dataform-layouts/card/index.js.map +7 -0
- package/build-module/dataform-layouts/data-form-layout.js +61 -0
- package/build-module/dataform-layouts/data-form-layout.js.map +7 -0
- package/build-module/dataform-layouts/get-summary-fields.js +21 -0
- package/build-module/dataform-layouts/get-summary-fields.js.map +7 -0
- package/build-module/dataform-layouts/index.js +68 -0
- package/build-module/dataform-layouts/index.js.map +7 -0
- package/build-module/dataform-layouts/is-combined-field.js +7 -0
- package/build-module/dataform-layouts/is-combined-field.js.map +7 -0
- package/build-module/dataform-layouts/normalize-form-fields.js +79 -0
- package/build-module/dataform-layouts/normalize-form-fields.js.map +7 -0
- package/build-module/dataform-layouts/panel/dropdown.js +136 -0
- package/build-module/dataform-layouts/panel/dropdown.js.map +7 -0
- package/build-module/dataform-layouts/panel/index.js +125 -0
- package/build-module/dataform-layouts/panel/index.js.map +7 -0
- package/build-module/dataform-layouts/panel/modal.js +151 -0
- package/build-module/dataform-layouts/panel/modal.js.map +7 -0
- package/build-module/dataform-layouts/panel/summary-button.js +73 -0
- package/build-module/dataform-layouts/panel/summary-button.js.map +7 -0
- package/build-module/dataform-layouts/regular/index.js +115 -0
- package/build-module/dataform-layouts/regular/index.js.map +7 -0
- package/build-module/dataform-layouts/row/index.js +95 -0
- package/build-module/dataform-layouts/row/index.js.map +7 -0
- package/build-module/dataviews-layouts/grid/index.js +316 -267
- package/build-module/dataviews-layouts/grid/index.js.map +7 -1
- package/build-module/dataviews-layouts/grid/preview-size-picker.js +66 -63
- package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +7 -1
- package/build-module/dataviews-layouts/index.js +53 -42
- package/build-module/dataviews-layouts/index.js.map +7 -1
- package/build-module/dataviews-layouts/list/index.js +422 -339
- package/build-module/dataviews-layouts/list/index.js.map +7 -1
- package/build-module/dataviews-layouts/picker-grid/index.js +344 -288
- package/build-module/dataviews-layouts/picker-grid/index.js.map +7 -1
- package/build-module/dataviews-layouts/table/column-header-menu.js +129 -127
- package/build-module/dataviews-layouts/table/column-header-menu.js.map +7 -1
- package/build-module/dataviews-layouts/table/column-primary.js +71 -62
- package/build-module/dataviews-layouts/table/column-primary.js.map +7 -1
- package/build-module/dataviews-layouts/table/density-picker.js +61 -40
- package/build-module/dataviews-layouts/table/density-picker.js.map +7 -1
- package/build-module/dataviews-layouts/table/index.js +326 -302
- package/build-module/dataviews-layouts/table/index.js.map +7 -1
- package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js +31 -40
- package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +7 -1
- package/build-module/dataviews-layouts/utils/get-data-by-group.js +7 -10
- package/build-module/dataviews-layouts/utils/get-data-by-group.js.map +7 -1
- package/build-module/dataviews-layouts/utils/grid-items.js +19 -28
- package/build-module/dataviews-layouts/utils/grid-items.js.map +7 -1
- package/build-module/dataviews-layouts/utils/item-click-wrapper.js +32 -28
- package/build-module/dataviews-layouts/utils/item-click-wrapper.js.map +7 -1
- package/build-module/dataviews-layouts/utils/preview-size-picker.js +66 -63
- package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +7 -1
- package/build-module/field-types/array.js +32 -37
- package/build-module/field-types/array.js.map +7 -1
- package/build-module/field-types/boolean.js +22 -41
- package/build-module/field-types/boolean.js.map +7 -1
- package/build-module/field-types/color.js +51 -72
- package/build-module/field-types/color.js.map +7 -1
- package/build-module/field-types/date.js +51 -44
- package/build-module/field-types/date.js.map +7 -1
- package/build-module/field-types/datetime.js +43 -39
- package/build-module/field-types/datetime.js.map +7 -1
- package/build-module/field-types/email.js +39 -42
- package/build-module/field-types/email.js.map +7 -1
- package/build-module/field-types/index.js +43 -72
- package/build-module/field-types/index.js.map +7 -1
- package/build-module/field-types/integer.js +52 -41
- package/build-module/field-types/integer.js.map +7 -1
- package/build-module/field-types/media.js +7 -23
- package/build-module/field-types/media.js.map +7 -1
- package/build-module/field-types/number.js +77 -0
- package/build-module/field-types/number.js.map +7 -0
- package/build-module/field-types/password.js +12 -36
- package/build-module/field-types/password.js.map +7 -1
- package/build-module/field-types/telephone.js +36 -40
- package/build-module/field-types/telephone.js.map +7 -1
- package/build-module/field-types/text.js +36 -41
- package/build-module/field-types/text.js.map +7 -1
- package/build-module/field-types/url.js +36 -40
- package/build-module/field-types/url.js.map +7 -1
- package/build-module/field-types/utils/render-from-elements.js +22 -0
- package/build-module/field-types/utils/render-from-elements.js.map +7 -0
- package/build-module/hooks/index.js +5 -0
- package/build-module/hooks/index.js.map +7 -0
- package/build-module/hooks/use-elements.js +43 -0
- package/build-module/hooks/use-elements.js.map +7 -0
- package/build-module/hooks/use-form-validity.js +392 -0
- package/build-module/hooks/use-form-validity.js.map +7 -0
- package/build-module/index.js +15 -7
- package/build-module/index.js.map +7 -1
- package/build-module/lock-unlock.js +8 -7
- package/build-module/lock-unlock.js.map +7 -1
- package/build-module/types/dataform.js +1 -0
- package/build-module/types/dataform.js.map +7 -0
- package/build-module/types/dataviews.js +1 -0
- package/build-module/types/dataviews.js.map +7 -0
- package/build-module/types/field-api.js +1 -0
- package/build-module/types/field-api.js.map +7 -0
- package/build-module/types/index.js +1 -0
- package/build-module/types/index.js.map +7 -0
- package/build-module/types/private.js +1 -0
- package/build-module/types/private.js.map +7 -0
- package/build-module/utils/filter-sort-and-paginate.js +278 -0
- package/build-module/utils/filter-sort-and-paginate.js.map +7 -0
- package/build-module/utils/has-elements.js +7 -0
- package/build-module/utils/has-elements.js.map +7 -0
- package/build-module/utils/normalize-fields.js +134 -0
- package/build-module/utils/normalize-fields.js.map +7 -0
- package/build-style/style-rtl.css +81 -217
- package/build-style/style.css +81 -217
- package/build-types/components/dataform/index.d.ts +1 -1
- package/build-types/components/dataform/index.d.ts.map +1 -1
- package/build-types/components/dataform-context/index.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-bulk-actions/index.d.ts +1 -1
- package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
- package/build-types/components/dataviews-context/index.d.ts +1 -1
- package/build-types/components/dataviews-filters/filter.d.ts +1 -1
- package/build-types/components/dataviews-filters/filter.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/search-widget.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-item-actions/index.d.ts.map +1 -1
- package/build-types/components/dataviews-picker/footer.d.ts.map +1 -1
- 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-selection-checkbox/index.d.ts +1 -1
- package/build-types/dataform-controls/array.d.ts +1 -1
- package/build-types/dataform-controls/array.d.ts.map +1 -1
- package/build-types/dataform-controls/checkbox.d.ts +1 -1
- package/build-types/dataform-controls/checkbox.d.ts.map +1 -1
- package/build-types/dataform-controls/color.d.ts +1 -1
- package/build-types/dataform-controls/color.d.ts.map +1 -1
- package/build-types/dataform-controls/date.d.ts +1 -1
- package/build-types/dataform-controls/date.d.ts.map +1 -1
- package/build-types/dataform-controls/datetime.d.ts +1 -1
- package/build-types/dataform-controls/datetime.d.ts.map +1 -1
- package/build-types/dataform-controls/email.d.ts +1 -1
- package/build-types/dataform-controls/email.d.ts.map +1 -1
- package/build-types/dataform-controls/index.d.ts.map +1 -1
- package/build-types/dataform-controls/integer.d.ts +4 -1
- package/build-types/dataform-controls/integer.d.ts.map +1 -1
- package/build-types/dataform-controls/number.d.ts +6 -0
- package/build-types/dataform-controls/number.d.ts.map +1 -0
- package/build-types/dataform-controls/password.d.ts +1 -1
- package/build-types/dataform-controls/password.d.ts.map +1 -1
- package/build-types/dataform-controls/radio.d.ts +1 -1
- package/build-types/dataform-controls/radio.d.ts.map +1 -1
- package/build-types/dataform-controls/select.d.ts +1 -1
- package/build-types/dataform-controls/select.d.ts.map +1 -1
- package/build-types/dataform-controls/telephone.d.ts +1 -1
- package/build-types/dataform-controls/telephone.d.ts.map +1 -1
- package/build-types/dataform-controls/text.d.ts +1 -1
- package/build-types/dataform-controls/text.d.ts.map +1 -1
- package/build-types/dataform-controls/textarea.d.ts +1 -1
- package/build-types/dataform-controls/textarea.d.ts.map +1 -1
- package/build-types/dataform-controls/toggle-group.d.ts +1 -1
- package/build-types/dataform-controls/toggle-group.d.ts.map +1 -1
- package/build-types/dataform-controls/toggle.d.ts +1 -1
- package/build-types/dataform-controls/toggle.d.ts.map +1 -1
- package/build-types/dataform-controls/url.d.ts +1 -1
- package/build-types/dataform-controls/url.d.ts.map +1 -1
- package/build-types/dataform-controls/utils/get-custom-validity.d.ts +9 -0
- package/build-types/dataform-controls/utils/get-custom-validity.d.ts.map +1 -0
- package/build-types/dataform-controls/utils/relative-date-control.d.ts +5 -0
- package/build-types/dataform-controls/utils/relative-date-control.d.ts.map +1 -0
- package/build-types/dataform-controls/utils/validated-input.d.ts +1 -1
- package/build-types/dataform-controls/utils/validated-input.d.ts.map +1 -1
- package/build-types/dataform-controls/utils/validated-number.d.ts +9 -0
- package/build-types/dataform-controls/utils/validated-number.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/card/index.d.ts +1 -1
- package/build-types/dataform-layouts/card/index.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/data-form-layout.d.ts +5 -3
- package/build-types/dataform-layouts/data-form-layout.d.ts.map +1 -0
- package/build-types/dataform-layouts/get-summary-fields.d.ts +12 -0
- package/build-types/dataform-layouts/get-summary-fields.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/index.d.ts +0 -5
- package/build-types/dataform-layouts/index.d.ts.map +1 -0
- package/build-types/dataform-layouts/is-combined-field.d.ts.map +1 -0
- package/build-types/{normalize-form-fields.d.ts → dataform-layouts/normalize-form-fields.d.ts} +1 -1
- package/build-types/dataform-layouts/normalize-form-fields.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/panel/dropdown.d.ts +8 -7
- package/build-types/dataform-layouts/panel/dropdown.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/panel/index.d.ts +1 -1
- package/build-types/dataform-layouts/panel/index.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/panel/modal.d.ts +5 -5
- package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -0
- package/build-types/dataform-layouts/panel/summary-button.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/regular/index.d.ts +1 -1
- package/build-types/dataform-layouts/regular/index.d.ts.map +1 -0
- package/build-types/{dataforms-layouts → dataform-layouts}/row/index.d.ts +1 -1
- package/build-types/dataform-layouts/row/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/picker-grid/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts +1 -1
- package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts.map +1 -1
- package/build-types/field-types/array.d.ts.map +1 -1
- package/build-types/field-types/boolean.d.ts +2 -1
- package/build-types/field-types/boolean.d.ts.map +1 -1
- package/build-types/field-types/color.d.ts +2 -1
- package/build-types/field-types/color.d.ts.map +1 -1
- package/build-types/field-types/date.d.ts +4 -3
- package/build-types/field-types/date.d.ts.map +1 -1
- package/build-types/field-types/datetime.d.ts +3 -2
- package/build-types/field-types/datetime.d.ts.map +1 -1
- package/build-types/field-types/email.d.ts +3 -2
- package/build-types/field-types/email.d.ts.map +1 -1
- package/build-types/field-types/index.d.ts.map +1 -1
- package/build-types/field-types/integer.d.ts +2 -1
- package/build-types/field-types/integer.d.ts.map +1 -1
- package/build-types/field-types/media.d.ts +2 -5
- package/build-types/field-types/media.d.ts.map +1 -1
- package/build-types/field-types/number.d.ts +21 -0
- package/build-types/field-types/number.d.ts.map +1 -0
- package/build-types/field-types/password.d.ts +4 -3
- package/build-types/field-types/password.d.ts.map +1 -1
- package/build-types/field-types/telephone.d.ts +4 -3
- package/build-types/field-types/telephone.d.ts.map +1 -1
- package/build-types/field-types/text.d.ts +4 -3
- package/build-types/field-types/text.d.ts.map +1 -1
- package/build-types/field-types/url.d.ts +4 -3
- package/build-types/field-types/url.d.ts.map +1 -1
- package/build-types/field-types/utils/render-from-elements.d.ts +6 -0
- package/build-types/field-types/utils/render-from-elements.d.ts.map +1 -0
- package/build-types/hooks/index.d.ts +5 -0
- package/build-types/hooks/index.d.ts.map +1 -0
- package/build-types/hooks/use-elements.d.ts +12 -0
- package/build-types/hooks/use-elements.d.ts.map +1 -0
- package/build-types/hooks/use-form-validity.d.ts +16 -0
- package/build-types/hooks/use-form-validity.d.ts.map +1 -0
- package/build-types/index.d.ts +2 -2
- package/build-types/index.d.ts.map +1 -1
- package/build-types/{components/dataform/stories/index.story.d.ts → stories/dataform.story.d.ts} +16 -6
- package/build-types/stories/dataform.story.d.ts.map +1 -0
- package/build-types/{components/dataviews-picker/stories/index.story.d.ts → stories/dataviews-picker.story.d.ts} +2 -2
- package/build-types/stories/dataviews-picker.story.d.ts.map +1 -0
- package/build-types/{components/dataviews/stories/fixtures.d.ts → stories/dataviews.fixtures.d.ts} +2 -2
- package/build-types/stories/dataviews.fixtures.d.ts.map +1 -0
- package/build-types/{components/dataviews/stories/index.story.d.ts → stories/dataviews.story.d.ts} +3 -3
- package/build-types/stories/dataviews.story.d.ts.map +1 -0
- package/build-types/stories/field-types.story.d.ts +157 -0
- package/build-types/stories/field-types.story.d.ts.map +1 -0
- package/build-types/test/use-form-validity.d.ts +2 -0
- package/build-types/test/use-form-validity.d.ts.map +1 -0
- package/build-types/types/dataform.d.ts +112 -0
- package/build-types/types/dataform.d.ts.map +1 -0
- package/build-types/types/dataviews.d.ts +341 -0
- package/build-types/types/dataviews.d.ts.map +1 -0
- package/build-types/types/field-api.d.ts +298 -0
- package/build-types/types/field-api.d.ts.map +1 -0
- package/build-types/types/index.d.ts +4 -0
- package/build-types/types/index.d.ts.map +1 -0
- package/build-types/{private-types.d.ts → types/private.d.ts} +1 -1
- package/build-types/types/private.d.ts.map +1 -0
- package/build-types/{filter-and-sort-data-view.d.ts → utils/filter-sort-and-paginate.d.ts} +3 -3
- package/build-types/utils/filter-sort-and-paginate.d.ts.map +1 -0
- package/build-types/utils/has-elements.d.ts +6 -0
- package/build-types/utils/has-elements.d.ts.map +1 -0
- package/build-types/utils/normalize-fields.d.ts +9 -0
- package/build-types/utils/normalize-fields.d.ts.map +1 -0
- package/build-wp/index.js +3241 -2787
- package/package.json +16 -18
- package/src/components/dataform/index.tsx +9 -3
- package/src/components/dataform-context/index.tsx +3 -1
- package/src/components/dataviews/index.tsx +10 -16
- package/src/components/dataviews/style.scss +4 -0
- package/src/components/dataviews-bulk-actions/index.tsx +1 -2
- package/src/components/dataviews-bulk-actions/style.scss +3 -0
- package/src/components/dataviews-context/index.ts +1 -1
- package/src/components/dataviews-filters/filter.tsx +11 -5
- 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/search-widget.tsx +30 -3
- package/src/components/dataviews-filters/style.scss +21 -6
- package/src/components/dataviews-filters/toggle.tsx +118 -0
- package/src/components/dataviews-filters/use-filters.ts +75 -0
- package/src/components/dataviews-footer/style.scss +4 -0
- package/src/components/dataviews-item-actions/index.tsx +6 -2
- package/src/components/dataviews-item-actions/style.scss +3 -0
- package/src/components/dataviews-pagination/style.scss +3 -0
- package/src/components/dataviews-picker/footer.tsx +2 -4
- package/src/components/dataviews-picker/index.tsx +10 -16
- package/src/components/dataviews-picker/style.scss +2 -0
- package/src/components/dataviews-selection-checkbox/index.tsx +1 -1
- package/src/components/dataviews-selection-checkbox/style.scss +3 -0
- package/src/components/dataviews-view-config/style.scss +3 -0
- package/src/dataform-controls/array.tsx +16 -82
- package/src/dataform-controls/checkbox.tsx +5 -41
- package/src/dataform-controls/color.tsx +5 -37
- package/src/dataform-controls/date.tsx +375 -238
- package/src/dataform-controls/datetime.tsx +92 -60
- package/src/dataform-controls/email.tsx +2 -0
- package/src/dataform-controls/index.tsx +4 -1
- package/src/dataform-controls/integer.tsx +3 -179
- package/src/dataform-controls/number.tsx +10 -0
- package/src/dataform-controls/password.tsx +2 -0
- package/src/dataform-controls/radio.tsx +24 -55
- package/src/dataform-controls/select.tsx +14 -61
- package/src/dataform-controls/style.scss +2 -0
- package/src/dataform-controls/telephone.tsx +2 -0
- package/src/dataform-controls/text.tsx +2 -0
- package/src/dataform-controls/textarea.tsx +6 -42
- package/src/dataform-controls/toggle-group.tsx +38 -64
- package/src/dataform-controls/toggle.tsx +6 -42
- package/src/dataform-controls/url.tsx +2 -0
- package/src/dataform-controls/utils/get-custom-validity.ts +24 -0
- package/src/dataform-controls/{relative-date-control.tsx → utils/relative-date-control.tsx} +37 -25
- package/src/dataform-controls/utils/validated-input.tsx +4 -40
- package/src/dataform-controls/utils/validated-number.tsx +171 -0
- package/src/{dataforms-layouts → dataform-layouts}/card/index.tsx +106 -8
- package/src/dataform-layouts/card/style.scss +24 -0
- package/src/{dataforms-layouts → dataform-layouts}/data-form-layout.tsx +22 -5
- package/src/dataform-layouts/get-summary-fields.ts +42 -0
- package/src/{dataforms-layouts → dataform-layouts}/index.tsx +32 -2
- package/src/{normalize-form-fields.ts → dataform-layouts/normalize-form-fields.ts} +28 -1
- package/src/{dataforms-layouts → dataform-layouts}/panel/dropdown.tsx +36 -15
- package/src/{dataforms-layouts → dataform-layouts}/panel/index.tsx +88 -55
- package/src/{dataforms-layouts → dataform-layouts}/panel/modal.tsx +42 -31
- package/src/{dataforms-layouts → dataform-layouts}/panel/style.scss +3 -0
- package/src/{dataforms-layouts → dataform-layouts}/regular/index.tsx +5 -1
- package/src/{dataforms-layouts → dataform-layouts}/regular/style.scss +2 -0
- package/src/{dataforms-layouts → dataform-layouts}/row/index.tsx +9 -4
- package/src/dataform-layouts/style.scss +5 -0
- package/src/dataviews-layouts/grid/index.tsx +1 -1
- package/src/dataviews-layouts/grid/style.scss +8 -3
- package/src/dataviews-layouts/list/index.tsx +0 -2
- package/src/dataviews-layouts/list/style.scss +3 -0
- package/src/dataviews-layouts/picker-grid/index.tsx +16 -9
- package/src/dataviews-layouts/picker-grid/style.scss +8 -4
- package/src/dataviews-layouts/table/column-header-menu.tsx +1 -1
- package/src/dataviews-layouts/table/index.tsx +1 -1
- package/src/dataviews-layouts/table/style.scss +9 -0
- package/src/dataviews-layouts/utils/grid-items.scss +2 -0
- package/src/dataviews-layouts/utils/item-click-wrapper.tsx +40 -2
- package/src/field-types/array.tsx +1 -0
- package/src/field-types/boolean.tsx +4 -3
- package/src/field-types/color.tsx +4 -10
- package/src/field-types/{date.ts → date.tsx} +5 -16
- package/src/field-types/datetime.tsx +8 -21
- package/src/field-types/email.tsx +7 -11
- package/src/field-types/index.tsx +13 -23
- package/src/field-types/integer.tsx +7 -11
- package/src/field-types/media.tsx +3 -17
- package/src/field-types/number.tsx +92 -0
- package/src/field-types/password.tsx +8 -21
- package/src/field-types/telephone.tsx +8 -21
- package/src/field-types/text.tsx +8 -21
- package/src/field-types/url.tsx +8 -21
- package/src/field-types/utils/render-from-elements.tsx +29 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/use-elements.ts +66 -0
- package/src/hooks/use-form-validity.ts +571 -0
- package/src/index.ts +2 -2
- package/src/{components/dataform/stories/index.story.tsx → stories/dataform.story.tsx} +455 -63
- package/src/{components/dataviews-picker/stories/index.story.tsx → stories/dataviews-picker.story.tsx} +5 -9
- package/src/{components/dataviews/stories/fixtures.tsx → stories/dataviews.fixtures.tsx} +36 -5
- package/src/{components/dataviews/stories/index.story.tsx → stories/dataviews.story.tsx} +8 -9
- package/src/{field-types/stories/index.story.tsx → stories/field-types.story.tsx} +244 -48
- package/src/style.scss +19 -18
- package/src/test/dataform.tsx +36 -0
- package/src/test/dataviews-picker.tsx +1 -1
- package/src/test/dataviews.tsx +1 -2
- package/src/test/{filter-and-sort-data-view.js → filter-sort-and-paginate.js} +63 -16
- package/src/test/normalize-fields.ts +23 -1
- package/src/test/normalize-form-fields.ts +54 -5
- package/src/test/use-form-validity.ts +546 -0
- package/src/types/dataform.ts +144 -0
- package/src/types/dataviews.ts +443 -0
- package/src/types/field-api.ts +381 -0
- package/src/types/index.ts +3 -0
- package/src/{filter-and-sort-data-view.ts → utils/filter-sort-and-paginate.ts} +4 -4
- package/src/utils/has-elements.ts +11 -0
- package/src/{normalize-fields.ts → utils/normalize-fields.ts} +13 -8
- package/tsconfig.tsbuildinfo +1 -1
- package/build/dataform-controls/relative-date-control.js +0 -105
- package/build/dataform-controls/relative-date-control.js.map +0 -1
- package/build/dataforms-layouts/card/index.js +0 -136
- package/build/dataforms-layouts/card/index.js.map +0 -1
- package/build/dataforms-layouts/data-form-layout.js +0 -71
- package/build/dataforms-layouts/data-form-layout.js.map +0 -1
- package/build/dataforms-layouts/index.js +0 -58
- package/build/dataforms-layouts/index.js.map +0 -1
- package/build/dataforms-layouts/is-combined-field.js +0 -14
- package/build/dataforms-layouts/is-combined-field.js.map +0 -1
- package/build/dataforms-layouts/panel/dropdown.js +0 -120
- package/build/dataforms-layouts/panel/dropdown.js.map +0 -1
- package/build/dataforms-layouts/panel/index.js +0 -126
- package/build/dataforms-layouts/panel/index.js.map +0 -1
- package/build/dataforms-layouts/panel/modal.js +0 -120
- package/build/dataforms-layouts/panel/modal.js.map +0 -1
- package/build/dataforms-layouts/panel/summary-button.js +0 -67
- package/build/dataforms-layouts/panel/summary-button.js.map +0 -1
- package/build/dataforms-layouts/regular/index.js +0 -116
- package/build/dataforms-layouts/regular/index.js.map +0 -1
- package/build/dataforms-layouts/row/index.js +0 -113
- package/build/dataforms-layouts/row/index.js.map +0 -1
- package/build/filter-and-sort-data-view.js +0 -313
- package/build/filter-and-sort-data-view.js.map +0 -1
- package/build/normalize-fields.js +0 -155
- package/build/normalize-fields.js.map +0 -1
- package/build/normalize-form-fields.js +0 -81
- package/build/normalize-form-fields.js.map +0 -1
- package/build/private-types.js +0 -6
- package/build/private-types.js.map +0 -1
- package/build/types.js +0 -6
- package/build/types.js.map +0 -1
- package/build/utils.js +0 -22
- package/build/utils.js.map +0 -1
- package/build/validation.js +0 -61
- package/build/validation.js.map +0 -1
- package/build-module/dataform-controls/relative-date-control.js +0 -96
- package/build-module/dataform-controls/relative-date-control.js.map +0 -1
- package/build-module/dataforms-layouts/card/index.js +0 -127
- package/build-module/dataforms-layouts/card/index.js.map +0 -1
- package/build-module/dataforms-layouts/data-form-layout.js +0 -62
- package/build-module/dataforms-layouts/data-form-layout.js.map +0 -1
- package/build-module/dataforms-layouts/index.js +0 -51
- package/build-module/dataforms-layouts/index.js.map +0 -1
- package/build-module/dataforms-layouts/is-combined-field.js +0 -8
- package/build-module/dataforms-layouts/is-combined-field.js.map +0 -1
- package/build-module/dataforms-layouts/panel/dropdown.js +0 -113
- package/build-module/dataforms-layouts/panel/dropdown.js.map +0 -1
- package/build-module/dataforms-layouts/panel/index.js +0 -119
- package/build-module/dataforms-layouts/panel/index.js.map +0 -1
- package/build-module/dataforms-layouts/panel/modal.js +0 -113
- package/build-module/dataforms-layouts/panel/modal.js.map +0 -1
- package/build-module/dataforms-layouts/panel/summary-button.js +0 -60
- package/build-module/dataforms-layouts/panel/summary-button.js.map +0 -1
- package/build-module/dataforms-layouts/regular/index.js +0 -109
- package/build-module/dataforms-layouts/regular/index.js.map +0 -1
- package/build-module/dataforms-layouts/row/index.js +0 -106
- package/build-module/dataforms-layouts/row/index.js.map +0 -1
- package/build-module/filter-and-sort-data-view.js +0 -305
- package/build-module/filter-and-sort-data-view.js.map +0 -1
- package/build-module/normalize-fields.js +0 -145
- package/build-module/normalize-fields.js.map +0 -1
- package/build-module/normalize-form-fields.js +0 -73
- package/build-module/normalize-form-fields.js.map +0 -1
- package/build-module/private-types.js +0 -2
- package/build-module/private-types.js.map +0 -1
- package/build-module/types.js +0 -2
- package/build-module/types.js.map +0 -1
- package/build-module/utils.js +0 -16
- package/build-module/utils.js.map +0 -1
- package/build-module/validation.js +0 -54
- package/build-module/validation.js.map +0 -1
- package/build-types/components/dataform/stories/index.story.d.ts.map +0 -1
- package/build-types/components/dataviews/stories/fixtures.d.ts.map +0 -1
- package/build-types/components/dataviews/stories/index.story.d.ts.map +0 -1
- package/build-types/components/dataviews-picker/stories/index.story.d.ts.map +0 -1
- package/build-types/dataform-controls/relative-date-control.d.ts +0 -47
- package/build-types/dataform-controls/relative-date-control.d.ts.map +0 -1
- package/build-types/dataforms-layouts/card/index.d.ts.map +0 -1
- package/build-types/dataforms-layouts/data-form-layout.d.ts.map +0 -1
- package/build-types/dataforms-layouts/index.d.ts.map +0 -1
- package/build-types/dataforms-layouts/is-combined-field.d.ts.map +0 -1
- package/build-types/dataforms-layouts/panel/dropdown.d.ts.map +0 -1
- package/build-types/dataforms-layouts/panel/index.d.ts.map +0 -1
- package/build-types/dataforms-layouts/panel/modal.d.ts.map +0 -1
- package/build-types/dataforms-layouts/panel/summary-button.d.ts.map +0 -1
- package/build-types/dataforms-layouts/regular/index.d.ts.map +0 -1
- package/build-types/dataforms-layouts/row/index.d.ts.map +0 -1
- package/build-types/field-types/stories/index.story.d.ts +0 -85
- package/build-types/field-types/stories/index.story.d.ts.map +0 -1
- package/build-types/filter-and-sort-data-view.d.ts.map +0 -1
- package/build-types/normalize-fields.d.ts +0 -12
- package/build-types/normalize-fields.d.ts.map +0 -1
- package/build-types/normalize-form-fields.d.ts.map +0 -1
- package/build-types/private-types.d.ts.map +0 -1
- package/build-types/test/validation.d.ts +0 -2
- package/build-types/test/validation.d.ts.map +0 -1
- package/build-types/types.d.ts +0 -688
- package/build-types/types.d.ts.map +0 -1
- package/build-types/utils.d.ts +0 -6
- package/build-types/utils.d.ts.map +0 -1
- package/build-types/validation.d.ts +0 -12
- package/build-types/validation.d.ts.map +0 -1
- package/src/dataforms-layouts/card/style.scss +0 -10
- package/src/test/validation.ts +0 -312
- package/src/types.ts +0 -891
- package/src/utils.ts +0 -15
- package/src/validation.ts +0 -91
- /package/build-types/{dataforms-layouts → dataform-layouts}/is-combined-field.d.ts +0 -0
- /package/build-types/{dataforms-layouts → dataform-layouts}/panel/summary-button.d.ts +0 -0
- /package/src/{dataforms-layouts → dataform-layouts}/is-combined-field.ts +0 -0
- /package/src/{dataforms-layouts → dataform-layouts}/panel/summary-button.tsx +0 -0
- /package/src/{dataforms-layouts → dataform-layouts}/row/style.scss +0 -0
- /package/src/{components/dataviews/stories/style.css → stories/dataviews.style.css} +0 -0
- /package/src/{private-types.tsx → types/private.ts} +0 -0
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { __experimentalHStack as HStack, __experimentalSpacer as Spacer, __experimentalVStack as VStack, __experimentalHeading as Heading } from '@wordpress/components';
|
|
5
|
-
import { useContext } from '@wordpress/element';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import DataFormContext from '../../components/dataform-context';
|
|
12
|
-
import { DataFormLayout } from '../data-form-layout';
|
|
13
|
-
import { isCombinedField } from '../is-combined-field';
|
|
14
|
-
import { normalizeLayout } from '../../normalize-form-fields';
|
|
15
|
-
import { getFormFieldLayout } from '..';
|
|
16
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
|
-
function Header({
|
|
18
|
-
title
|
|
19
|
-
}) {
|
|
20
|
-
return /*#__PURE__*/_jsx(VStack, {
|
|
21
|
-
className: "dataforms-layouts-row__header",
|
|
22
|
-
spacing: 4,
|
|
23
|
-
children: /*#__PURE__*/_jsxs(HStack, {
|
|
24
|
-
alignment: "center",
|
|
25
|
-
children: [/*#__PURE__*/_jsx(Heading, {
|
|
26
|
-
level: 2,
|
|
27
|
-
size: 13,
|
|
28
|
-
children: title
|
|
29
|
-
}), /*#__PURE__*/_jsx(Spacer, {})]
|
|
30
|
-
})
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
const EMPTY_WRAPPER = ({
|
|
34
|
-
children
|
|
35
|
-
}) => /*#__PURE__*/_jsx(_Fragment, {
|
|
36
|
-
children: children
|
|
37
|
-
});
|
|
38
|
-
export default function FormRowField({
|
|
39
|
-
data,
|
|
40
|
-
field,
|
|
41
|
-
onChange,
|
|
42
|
-
hideLabelFromVision
|
|
43
|
-
}) {
|
|
44
|
-
const {
|
|
45
|
-
fields
|
|
46
|
-
} = useContext(DataFormContext);
|
|
47
|
-
const layout = normalizeLayout({
|
|
48
|
-
...field.layout,
|
|
49
|
-
type: 'row'
|
|
50
|
-
});
|
|
51
|
-
if (isCombinedField(field)) {
|
|
52
|
-
const form = {
|
|
53
|
-
fields: field.children.map(child => {
|
|
54
|
-
if (typeof child === 'string') {
|
|
55
|
-
return {
|
|
56
|
-
id: child
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return child;
|
|
60
|
-
})
|
|
61
|
-
};
|
|
62
|
-
return /*#__PURE__*/_jsxs("div", {
|
|
63
|
-
className: "dataforms-layouts-row__field",
|
|
64
|
-
children: [!hideLabelFromVision && field.label && /*#__PURE__*/_jsx(Header, {
|
|
65
|
-
title: field.label
|
|
66
|
-
}), /*#__PURE__*/_jsx(HStack, {
|
|
67
|
-
alignment: layout.alignment,
|
|
68
|
-
spacing: 4,
|
|
69
|
-
children: /*#__PURE__*/_jsx(DataFormLayout, {
|
|
70
|
-
data: data,
|
|
71
|
-
form: form,
|
|
72
|
-
onChange: onChange,
|
|
73
|
-
as: EMPTY_WRAPPER,
|
|
74
|
-
children: (FieldLayout, nestedField) => /*#__PURE__*/_jsx("div", {
|
|
75
|
-
className: "dataforms-layouts-row__field-control",
|
|
76
|
-
children: /*#__PURE__*/_jsx(FieldLayout, {
|
|
77
|
-
data: data,
|
|
78
|
-
field: nestedField,
|
|
79
|
-
onChange: onChange,
|
|
80
|
-
hideLabelFromVision: hideLabelFromVision
|
|
81
|
-
})
|
|
82
|
-
}, nestedField.id)
|
|
83
|
-
})
|
|
84
|
-
})]
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
const fieldDefinition = fields.find(f => f.id === field.id);
|
|
88
|
-
if (!fieldDefinition || !fieldDefinition.Edit) {
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
const RegularLayout = getFormFieldLayout('regular')?.component;
|
|
92
|
-
if (!RegularLayout) {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
return /*#__PURE__*/_jsx(_Fragment, {
|
|
96
|
-
children: /*#__PURE__*/_jsx("div", {
|
|
97
|
-
className: "dataforms-layouts-row__field-control",
|
|
98
|
-
children: /*#__PURE__*/_jsx(RegularLayout, {
|
|
99
|
-
data: data,
|
|
100
|
-
field: fieldDefinition,
|
|
101
|
-
onChange: onChange
|
|
102
|
-
})
|
|
103
|
-
})
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalHStack","HStack","__experimentalSpacer","Spacer","__experimentalVStack","VStack","__experimentalHeading","Heading","useContext","DataFormContext","DataFormLayout","isCombinedField","normalizeLayout","getFormFieldLayout","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Header","title","className","spacing","children","alignment","level","size","EMPTY_WRAPPER","FormRowField","data","field","onChange","hideLabelFromVision","fields","layout","type","form","map","child","id","label","as","FieldLayout","nestedField","fieldDefinition","find","f","Edit","RegularLayout","component"],"sources":["@wordpress/dataviews/src/dataforms-layouts/row/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { FieldLayoutProps, Form, NormalizedRowLayout } from '../../types';\nimport DataFormContext from '../../components/dataform-context';\nimport { DataFormLayout } from '../data-form-layout';\nimport { isCombinedField } from '../is-combined-field';\nimport { normalizeLayout } from '../../normalize-form-fields';\nimport { getFormFieldLayout } from '..';\n\nfunction Header( { title }: { title: string } ) {\n\treturn (\n\t\t<VStack className=\"dataforms-layouts-row__header\" spacing={ 4 }>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_WRAPPER = ( { children }: { children: React.ReactNode } ) => (\n\t<>{ children }</>\n);\n\nexport default function FormRowField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: FieldLayoutProps< Item > ) {\n\tconst { fields } = useContext( DataFormContext );\n\n\tconst layout = normalizeLayout( {\n\t\t...field.layout,\n\t\ttype: 'row',\n\t} ) as NormalizedRowLayout;\n\n\tif ( isCombinedField( field ) ) {\n\t\tconst form: Form = {\n\t\t\tfields: field.children.map( ( child ) => {\n\t\t\t\tif ( typeof child === 'string' ) {\n\t\t\t\t\treturn { id: child };\n\t\t\t\t}\n\t\t\t\treturn child;\n\t\t\t} ),\n\t\t};\n\n\t\treturn (\n\t\t\t<div className=\"dataforms-layouts-row__field\">\n\t\t\t\t{ ! hideLabelFromVision && field.label && (\n\t\t\t\t\t<Header title={ field.label } />\n\t\t\t\t) }\n\t\t\t\t<HStack alignment={ layout.alignment } spacing={ 4 }>\n\t\t\t\t\t<DataFormLayout\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tform={ form }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tas={ EMPTY_WRAPPER }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( FieldLayout, nestedField ) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={ nestedField.id }\n\t\t\t\t\t\t\t\tclassName=\"dataforms-layouts-row__field-control\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<FieldLayout\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tfield={ nestedField }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DataFormLayout>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst fieldDefinition = fields.find( ( f ) => f.id === field.id );\n\n\tif ( ! fieldDefinition || ! fieldDefinition.Edit ) {\n\t\treturn null;\n\t}\n\n\tconst RegularLayout = getFormFieldLayout( 'regular' )?.component;\n\tif ( ! RegularLayout ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"dataforms-layouts-row__field-control\">\n\t\t\t\t<RegularLayout\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tfield={ fieldDefinition }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import removeAccents from 'remove-accents';
|
|
5
|
-
import { subDays, subWeeks, subMonths, subYears } from 'date-fns';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* WordPress dependencies
|
|
9
|
-
*/
|
|
10
|
-
import { getDate } from '@wordpress/date';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Internal dependencies
|
|
14
|
-
*/
|
|
15
|
-
import { OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_NONE, OPERATOR_IS_ANY, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL, OPERATOR_LESS_THAN, OPERATOR_GREATER_THAN, OPERATOR_LESS_THAN_OR_EQUAL, OPERATOR_GREATER_THAN_OR_EQUAL, OPERATOR_BEFORE, OPERATOR_AFTER, OPERATOR_BEFORE_INC, OPERATOR_AFTER_INC, OPERATOR_CONTAINS, OPERATOR_NOT_CONTAINS, OPERATOR_STARTS_WITH, OPERATOR_BETWEEN, OPERATOR_ON, OPERATOR_NOT_ON, OPERATOR_IN_THE_PAST, OPERATOR_OVER } from './constants';
|
|
16
|
-
import { normalizeFields } from './normalize-fields';
|
|
17
|
-
function normalizeSearchInput(input = '') {
|
|
18
|
-
return removeAccents(input.trim().toLowerCase());
|
|
19
|
-
}
|
|
20
|
-
const EMPTY_ARRAY = [];
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Calculates a date offset from now.
|
|
24
|
-
*
|
|
25
|
-
* @param value Number of units to offset.
|
|
26
|
-
* @param unit Unit of time to offset.
|
|
27
|
-
* @return Date offset from now.
|
|
28
|
-
*/
|
|
29
|
-
function getRelativeDate(value, unit) {
|
|
30
|
-
switch (unit) {
|
|
31
|
-
case 'days':
|
|
32
|
-
return subDays(new Date(), value);
|
|
33
|
-
case 'weeks':
|
|
34
|
-
return subWeeks(new Date(), value);
|
|
35
|
-
case 'months':
|
|
36
|
-
return subMonths(new Date(), value);
|
|
37
|
-
case 'years':
|
|
38
|
-
return subYears(new Date(), value);
|
|
39
|
-
default:
|
|
40
|
-
return new Date();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Applies the filtering, sorting and pagination to the raw data based on the view configuration.
|
|
46
|
-
*
|
|
47
|
-
* @param data Raw data.
|
|
48
|
-
* @param view View config.
|
|
49
|
-
* @param fields Fields config.
|
|
50
|
-
*
|
|
51
|
-
* @return Filtered, sorted and paginated data.
|
|
52
|
-
*/
|
|
53
|
-
export function filterSortAndPaginate(data, view, fields) {
|
|
54
|
-
if (!data) {
|
|
55
|
-
return {
|
|
56
|
-
data: EMPTY_ARRAY,
|
|
57
|
-
paginationInfo: {
|
|
58
|
-
totalItems: 0,
|
|
59
|
-
totalPages: 0
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
const _fields = normalizeFields(fields);
|
|
64
|
-
let filteredData = [...data];
|
|
65
|
-
// Handle global search.
|
|
66
|
-
if (view.search) {
|
|
67
|
-
const normalizedSearch = normalizeSearchInput(view.search);
|
|
68
|
-
filteredData = filteredData.filter(item => {
|
|
69
|
-
return _fields.filter(field => field.enableGlobalSearch).some(field => {
|
|
70
|
-
const fieldValue = field.getValue({
|
|
71
|
-
item
|
|
72
|
-
});
|
|
73
|
-
const values = Array.isArray(fieldValue) ? fieldValue : [fieldValue];
|
|
74
|
-
return values.some(value => normalizeSearchInput(String(value)).includes(normalizedSearch));
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
if (view.filters && view.filters?.length > 0) {
|
|
79
|
-
view.filters.forEach(filter => {
|
|
80
|
-
const field = _fields.find(_field => _field.id === filter.field);
|
|
81
|
-
if (field) {
|
|
82
|
-
if (filter.operator === OPERATOR_IS_ANY && filter?.value?.length > 0) {
|
|
83
|
-
filteredData = filteredData.filter(item => {
|
|
84
|
-
const fieldValue = field.getValue({
|
|
85
|
-
item
|
|
86
|
-
});
|
|
87
|
-
if (Array.isArray(fieldValue)) {
|
|
88
|
-
return filter.value.some(filterValue => fieldValue.includes(filterValue));
|
|
89
|
-
} else if (typeof fieldValue === 'string') {
|
|
90
|
-
return filter.value.includes(fieldValue);
|
|
91
|
-
}
|
|
92
|
-
return false;
|
|
93
|
-
});
|
|
94
|
-
} else if (filter.operator === OPERATOR_IS_NONE && filter?.value?.length > 0) {
|
|
95
|
-
filteredData = filteredData.filter(item => {
|
|
96
|
-
const fieldValue = field.getValue({
|
|
97
|
-
item
|
|
98
|
-
});
|
|
99
|
-
if (Array.isArray(fieldValue)) {
|
|
100
|
-
return !filter.value.some(filterValue => fieldValue.includes(filterValue));
|
|
101
|
-
} else if (typeof fieldValue === 'string') {
|
|
102
|
-
return !filter.value.includes(fieldValue);
|
|
103
|
-
}
|
|
104
|
-
return false;
|
|
105
|
-
});
|
|
106
|
-
} else if (filter.operator === OPERATOR_IS_ALL && filter?.value?.length > 0) {
|
|
107
|
-
filteredData = filteredData.filter(item => {
|
|
108
|
-
return filter.value.every(value => {
|
|
109
|
-
return field.getValue({
|
|
110
|
-
item
|
|
111
|
-
})?.includes(value);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
} else if (filter.operator === OPERATOR_IS_NOT_ALL && filter?.value?.length > 0) {
|
|
115
|
-
filteredData = filteredData.filter(item => {
|
|
116
|
-
return filter.value.every(value => {
|
|
117
|
-
return !field.getValue({
|
|
118
|
-
item
|
|
119
|
-
})?.includes(value);
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
} else if (filter.operator === OPERATOR_IS) {
|
|
123
|
-
filteredData = filteredData.filter(item => {
|
|
124
|
-
return filter.value === field.getValue({
|
|
125
|
-
item
|
|
126
|
-
}) || filter.value === undefined;
|
|
127
|
-
});
|
|
128
|
-
} else if (filter.operator === OPERATOR_IS_NOT) {
|
|
129
|
-
filteredData = filteredData.filter(item => {
|
|
130
|
-
return filter.value !== field.getValue({
|
|
131
|
-
item
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
} else if (filter.operator === OPERATOR_ON && filter.value !== undefined) {
|
|
135
|
-
const filterDate = getDate(filter.value);
|
|
136
|
-
filteredData = filteredData.filter(item => {
|
|
137
|
-
const fieldDate = getDate(field.getValue({
|
|
138
|
-
item
|
|
139
|
-
}));
|
|
140
|
-
return filterDate.getTime() === fieldDate.getTime();
|
|
141
|
-
});
|
|
142
|
-
} else if (filter.operator === OPERATOR_NOT_ON && filter.value !== undefined) {
|
|
143
|
-
const filterDate = getDate(filter.value);
|
|
144
|
-
filteredData = filteredData.filter(item => {
|
|
145
|
-
const fieldDate = getDate(field.getValue({
|
|
146
|
-
item
|
|
147
|
-
}));
|
|
148
|
-
return filterDate.getTime() !== fieldDate.getTime();
|
|
149
|
-
});
|
|
150
|
-
} else if (filter.operator === OPERATOR_LESS_THAN && filter.value !== undefined) {
|
|
151
|
-
filteredData = filteredData.filter(item => {
|
|
152
|
-
const fieldValue = field.getValue({
|
|
153
|
-
item
|
|
154
|
-
});
|
|
155
|
-
return fieldValue < filter.value;
|
|
156
|
-
});
|
|
157
|
-
} else if (filter.operator === OPERATOR_GREATER_THAN && filter.value !== undefined) {
|
|
158
|
-
filteredData = filteredData.filter(item => {
|
|
159
|
-
const fieldValue = field.getValue({
|
|
160
|
-
item
|
|
161
|
-
});
|
|
162
|
-
return fieldValue > filter.value;
|
|
163
|
-
});
|
|
164
|
-
} else if (filter.operator === OPERATOR_LESS_THAN_OR_EQUAL && filter.value !== undefined) {
|
|
165
|
-
filteredData = filteredData.filter(item => {
|
|
166
|
-
const fieldValue = field.getValue({
|
|
167
|
-
item
|
|
168
|
-
});
|
|
169
|
-
return fieldValue <= filter.value;
|
|
170
|
-
});
|
|
171
|
-
} else if (filter.operator === OPERATOR_GREATER_THAN_OR_EQUAL && filter.value !== undefined) {
|
|
172
|
-
filteredData = filteredData.filter(item => {
|
|
173
|
-
const fieldValue = field.getValue({
|
|
174
|
-
item
|
|
175
|
-
});
|
|
176
|
-
return fieldValue >= filter.value;
|
|
177
|
-
});
|
|
178
|
-
} else if (filter.operator === OPERATOR_CONTAINS && filter?.value !== undefined) {
|
|
179
|
-
filteredData = filteredData.filter(item => {
|
|
180
|
-
const fieldValue = field.getValue({
|
|
181
|
-
item
|
|
182
|
-
});
|
|
183
|
-
return typeof fieldValue === 'string' && filter.value && fieldValue.toLowerCase().includes(String(filter.value).toLowerCase());
|
|
184
|
-
});
|
|
185
|
-
} else if (filter.operator === OPERATOR_NOT_CONTAINS && filter?.value !== undefined) {
|
|
186
|
-
filteredData = filteredData.filter(item => {
|
|
187
|
-
const fieldValue = field.getValue({
|
|
188
|
-
item
|
|
189
|
-
});
|
|
190
|
-
return typeof fieldValue === 'string' && filter.value && !fieldValue.toLowerCase().includes(String(filter.value).toLowerCase());
|
|
191
|
-
});
|
|
192
|
-
} else if (filter.operator === OPERATOR_STARTS_WITH && filter?.value !== undefined) {
|
|
193
|
-
filteredData = filteredData.filter(item => {
|
|
194
|
-
const fieldValue = field.getValue({
|
|
195
|
-
item
|
|
196
|
-
});
|
|
197
|
-
return typeof fieldValue === 'string' && filter.value && fieldValue.toLowerCase().startsWith(String(filter.value).toLowerCase());
|
|
198
|
-
});
|
|
199
|
-
} else if (filter.operator === OPERATOR_BEFORE && filter.value !== undefined) {
|
|
200
|
-
const filterValue = getDate(filter.value);
|
|
201
|
-
filteredData = filteredData.filter(item => {
|
|
202
|
-
const fieldValue = getDate(field.getValue({
|
|
203
|
-
item
|
|
204
|
-
}));
|
|
205
|
-
return fieldValue < filterValue;
|
|
206
|
-
});
|
|
207
|
-
} else if (filter.operator === OPERATOR_AFTER && filter.value !== undefined) {
|
|
208
|
-
const filterValue = getDate(filter.value);
|
|
209
|
-
filteredData = filteredData.filter(item => {
|
|
210
|
-
const fieldValue = getDate(field.getValue({
|
|
211
|
-
item
|
|
212
|
-
}));
|
|
213
|
-
return fieldValue > filterValue;
|
|
214
|
-
});
|
|
215
|
-
} else if (filter.operator === OPERATOR_BEFORE_INC && filter.value !== undefined) {
|
|
216
|
-
const filterValue = getDate(filter.value);
|
|
217
|
-
filteredData = filteredData.filter(item => {
|
|
218
|
-
const fieldValue = getDate(field.getValue({
|
|
219
|
-
item
|
|
220
|
-
}));
|
|
221
|
-
return fieldValue <= filterValue;
|
|
222
|
-
});
|
|
223
|
-
} else if (filter.operator === OPERATOR_AFTER_INC && filter.value !== undefined) {
|
|
224
|
-
const filterValue = getDate(filter.value);
|
|
225
|
-
filteredData = filteredData.filter(item => {
|
|
226
|
-
const fieldValue = getDate(field.getValue({
|
|
227
|
-
item
|
|
228
|
-
}));
|
|
229
|
-
return fieldValue >= filterValue;
|
|
230
|
-
});
|
|
231
|
-
} else if (filter.operator === OPERATOR_BETWEEN && Array.isArray(filter.value) && filter.value.length === 2 && filter.value[0] !== undefined && filter.value[1] !== undefined) {
|
|
232
|
-
filteredData = filteredData.filter(item => {
|
|
233
|
-
const fieldValue = field.getValue({
|
|
234
|
-
item
|
|
235
|
-
});
|
|
236
|
-
if (typeof fieldValue === 'number' || fieldValue instanceof Date || typeof fieldValue === 'string') {
|
|
237
|
-
return fieldValue >= filter.value[0] && fieldValue <= filter.value[1];
|
|
238
|
-
}
|
|
239
|
-
return false;
|
|
240
|
-
});
|
|
241
|
-
} else if (filter.operator === OPERATOR_IN_THE_PAST && filter.value?.value !== undefined && filter.value?.unit !== undefined) {
|
|
242
|
-
const targetDate = getRelativeDate(filter.value.value, filter.value.unit);
|
|
243
|
-
filteredData = filteredData.filter(item => {
|
|
244
|
-
const fieldValue = getDate(field.getValue({
|
|
245
|
-
item
|
|
246
|
-
}));
|
|
247
|
-
return fieldValue >= targetDate && fieldValue <= new Date();
|
|
248
|
-
});
|
|
249
|
-
} else if (filter.operator === OPERATOR_OVER && filter.value?.value !== undefined && filter.value?.unit !== undefined) {
|
|
250
|
-
const targetDate = getRelativeDate(filter.value.value, filter.value.unit);
|
|
251
|
-
filteredData = filteredData.filter(item => {
|
|
252
|
-
const fieldValue = getDate(field.getValue({
|
|
253
|
-
item
|
|
254
|
-
}));
|
|
255
|
-
return fieldValue < targetDate;
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// Handle sorting.
|
|
263
|
-
const sortByField = view.sort?.field ? _fields.find(field => {
|
|
264
|
-
return field.id === view.sort?.field;
|
|
265
|
-
}) : null;
|
|
266
|
-
const groupByField = view.groupByField ? _fields.find(field => {
|
|
267
|
-
return field.id === view.groupByField;
|
|
268
|
-
}) : null;
|
|
269
|
-
if (sortByField || groupByField) {
|
|
270
|
-
filteredData.sort((a, b) => {
|
|
271
|
-
if (groupByField) {
|
|
272
|
-
const groupCompare = groupByField.sort(a, b, 'asc');
|
|
273
|
-
|
|
274
|
-
// If items are in different groups, return the group comparison result.
|
|
275
|
-
// Otherwise, fall back to sorting by the sort field.
|
|
276
|
-
if (groupCompare !== 0) {
|
|
277
|
-
return groupCompare;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
if (sortByField) {
|
|
281
|
-
var _view$sort$direction;
|
|
282
|
-
return sortByField.sort(a, b, (_view$sort$direction = view.sort?.direction) !== null && _view$sort$direction !== void 0 ? _view$sort$direction : 'desc');
|
|
283
|
-
}
|
|
284
|
-
return 0;
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
// Handle pagination.
|
|
289
|
-
let totalItems = filteredData.length;
|
|
290
|
-
let totalPages = 1;
|
|
291
|
-
if (view.page !== undefined && view.perPage !== undefined) {
|
|
292
|
-
const start = (view.page - 1) * view.perPage;
|
|
293
|
-
totalItems = filteredData?.length || 0;
|
|
294
|
-
totalPages = Math.ceil(totalItems / view.perPage);
|
|
295
|
-
filteredData = filteredData?.slice(start, start + view.perPage);
|
|
296
|
-
}
|
|
297
|
-
return {
|
|
298
|
-
data: filteredData,
|
|
299
|
-
paginationInfo: {
|
|
300
|
-
totalItems,
|
|
301
|
-
totalPages
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
//# sourceMappingURL=filter-and-sort-data-view.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["removeAccents","subDays","subWeeks","subMonths","subYears","getDate","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_NONE","OPERATOR_IS_ANY","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_LESS_THAN","OPERATOR_GREATER_THAN","OPERATOR_LESS_THAN_OR_EQUAL","OPERATOR_GREATER_THAN_OR_EQUAL","OPERATOR_BEFORE","OPERATOR_AFTER","OPERATOR_BEFORE_INC","OPERATOR_AFTER_INC","OPERATOR_CONTAINS","OPERATOR_NOT_CONTAINS","OPERATOR_STARTS_WITH","OPERATOR_BETWEEN","OPERATOR_ON","OPERATOR_NOT_ON","OPERATOR_IN_THE_PAST","OPERATOR_OVER","normalizeFields","normalizeSearchInput","input","trim","toLowerCase","EMPTY_ARRAY","getRelativeDate","value","unit","Date","filterSortAndPaginate","data","view","fields","paginationInfo","totalItems","totalPages","_fields","filteredData","search","normalizedSearch","filter","item","field","enableGlobalSearch","some","fieldValue","getValue","values","Array","isArray","String","includes","filters","length","forEach","find","_field","id","operator","filterValue","every","undefined","filterDate","fieldDate","getTime","startsWith","targetDate","sortByField","sort","groupByField","a","b","groupCompare","_view$sort$direction","direction","page","perPage","start","Math","ceil","slice"],"sources":["@wordpress/dataviews/src/filter-and-sort-data-view.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { subDays, subWeeks, subMonths, subYears } from 'date-fns';\n\n/**\n * WordPress dependencies\n */\nimport { getDate } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n} from './constants';\nimport { normalizeFields } from './normalize-fields';\nimport type { Field, View } from './types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\n\n/**\n * Calculates a date offset from now.\n *\n * @param value Number of units to offset.\n * @param unit Unit of time to offset.\n * @return Date offset from now.\n */\nfunction getRelativeDate( value: number, unit: string ): Date {\n\tswitch ( unit ) {\n\t\tcase 'days':\n\t\t\treturn subDays( new Date(), value );\n\t\tcase 'weeks':\n\t\t\treturn subWeeks( new Date(), value );\n\t\tcase 'months':\n\t\t\treturn subMonths( new Date(), value );\n\t\tcase 'years':\n\t\t\treturn subYears( new Date(), value );\n\t\tdefault:\n\t\t\treturn new Date();\n\t}\n}\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param data Raw data.\n * @param view View config.\n * @param fields Fields config.\n *\n * @return Filtered, sorted and paginated data.\n */\nexport function filterSortAndPaginate< Item >(\n\tdata: Item[],\n\tview: View,\n\tfields: Field< Item >[]\n): {\n\tdata: Item[];\n\tpaginationInfo: { totalItems: number; totalPages: number };\n} {\n\tif ( ! data ) {\n\t\treturn {\n\t\t\tdata: EMPTY_ARRAY,\n\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t};\n\t}\n\tconst _fields = normalizeFields( fields );\n\tlet filteredData = [ ...data ];\n\t// Handle global search.\n\tif ( view.search ) {\n\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\treturn _fields\n\t\t\t\t.filter( ( field ) => field.enableGlobalSearch )\n\t\t\t\t.some( ( field ) => {\n\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\tconst values = Array.isArray( fieldValue )\n\t\t\t\t\t\t? fieldValue\n\t\t\t\t\t\t: [ fieldValue ];\n\t\t\t\t\treturn values.some( ( value ) =>\n\t\t\t\t\t\tnormalizeSearchInput( String( value ) ).includes(\n\t\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t} );\n\t}\n\n\tif ( view.filters && view.filters?.length > 0 ) {\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tconst field = _fields.find(\n\t\t\t\t( _field ) => _field.id === filter.field\n\t\t\t);\n\t\t\tif ( field ) {\n\t\t\t\tif (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn ! filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn ! field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tfilter.value === field.getValue( { item } ) ||\n\t\t\t\t\t\t\tfilter.value === undefined\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_ON &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterDate = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldDate = getDate( field.getValue( { item } ) );\n\t\t\t\t\t\treturn filterDate.getTime() === fieldDate.getTime();\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_ON &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterDate = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldDate = getDate( field.getValue( { item } ) );\n\t\t\t\t\t\treturn filterDate.getTime() !== fieldDate.getTime();\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_LESS_THAN &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue < filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_GREATER_THAN &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue > filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_LESS_THAN_OR_EQUAL &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue <= filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_GREATER_THAN_OR_EQUAL &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue >= filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_CONTAINS &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\tfieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_CONTAINS &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\t! fieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_STARTS_WITH &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\tfieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.startsWith(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BEFORE &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue < filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_AFTER &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue > filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BEFORE_INC &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue <= filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_AFTER_INC &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue >= filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BETWEEN &&\n\t\t\t\t\tArray.isArray( filter.value ) &&\n\t\t\t\t\tfilter.value.length === 2 &&\n\t\t\t\t\tfilter.value[ 0 ] !== undefined &&\n\t\t\t\t\tfilter.value[ 1 ] !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof fieldValue === 'number' ||\n\t\t\t\t\t\t\tfieldValue instanceof Date ||\n\t\t\t\t\t\t\ttypeof fieldValue === 'string'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tfieldValue >= filter.value[ 0 ] &&\n\t\t\t\t\t\t\t\tfieldValue <= filter.value[ 1 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IN_THE_PAST &&\n\t\t\t\t\tfilter.value?.value !== undefined &&\n\t\t\t\t\tfilter.value?.unit !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst targetDate = getRelativeDate(\n\t\t\t\t\t\tfilter.value.value,\n\t\t\t\t\t\tfilter.value.unit\n\t\t\t\t\t);\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tfieldValue >= targetDate && fieldValue <= new Date()\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_OVER &&\n\t\t\t\t\tfilter.value?.value !== undefined &&\n\t\t\t\t\tfilter.value?.unit !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst targetDate = getRelativeDate(\n\t\t\t\t\t\tfilter.value.value,\n\t\t\t\t\t\tfilter.value.unit\n\t\t\t\t\t);\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue < targetDate;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tconst sortByField = view.sort?.field\n\t\t? _fields.find( ( field ) => {\n\t\t\t\treturn field.id === view.sort?.field;\n\t\t } )\n\t\t: null;\n\tconst groupByField = view.groupByField\n\t\t? _fields.find( ( field ) => {\n\t\t\t\treturn field.id === view.groupByField;\n\t\t } )\n\t\t: null;\n\tif ( sortByField || groupByField ) {\n\t\tfilteredData.sort( ( a, b ) => {\n\t\t\tif ( groupByField ) {\n\t\t\t\tconst groupCompare = groupByField.sort( a, b, 'asc' );\n\n\t\t\t\t// If items are in different groups, return the group comparison result.\n\t\t\t\t// Otherwise, fall back to sorting by the sort field.\n\t\t\t\tif ( groupCompare !== 0 ) {\n\t\t\t\t\treturn groupCompare;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( sortByField ) {\n\t\t\t\treturn sortByField.sort( a, b, view.sort?.direction ?? 'desc' );\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t} );\n\t}\n\n\t// Handle pagination.\n\tlet totalItems = filteredData.length;\n\tlet totalPages = 1;\n\tif ( view.page !== undefined && view.perPage !== undefined ) {\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\ttotalItems = filteredData?.length || 0;\n\t\ttotalPages = Math.ceil( totalItems / view.perPage );\n\t\tfilteredData = filteredData?.slice( start, start + view.perPage );\n\t}\n\n\treturn {\n\t\tdata: filteredData,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t},\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Internal dependencies
|
|
7
|
-
*/
|
|
8
|
-
import getFieldTypeDefinition from './field-types';
|
|
9
|
-
import { getControl } from './dataform-controls';
|
|
10
|
-
import { ALL_OPERATORS, OPERATOR_BETWEEN, SINGLE_SELECTION_OPERATORS } from './constants';
|
|
11
|
-
const getValueFromId = id => ({
|
|
12
|
-
item
|
|
13
|
-
}) => {
|
|
14
|
-
const path = id.split('.');
|
|
15
|
-
let value = item;
|
|
16
|
-
for (const segment of path) {
|
|
17
|
-
if (value.hasOwnProperty(segment)) {
|
|
18
|
-
value = value[segment];
|
|
19
|
-
} else {
|
|
20
|
-
value = undefined;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return value;
|
|
24
|
-
};
|
|
25
|
-
export const setValueFromId = id => ({
|
|
26
|
-
value
|
|
27
|
-
}) => {
|
|
28
|
-
const path = id.split('.');
|
|
29
|
-
const result = {};
|
|
30
|
-
let current = result;
|
|
31
|
-
for (const segment of path.slice(0, -1)) {
|
|
32
|
-
current[segment] = {};
|
|
33
|
-
current = current[segment];
|
|
34
|
-
}
|
|
35
|
-
current[path.at(-1)] = value;
|
|
36
|
-
return result;
|
|
37
|
-
};
|
|
38
|
-
function getFilterBy(field, fieldTypeDefinition) {
|
|
39
|
-
if (field.filterBy === false) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
if (typeof field.filterBy === 'object') {
|
|
43
|
-
let operators = field.filterBy.operators;
|
|
44
|
-
|
|
45
|
-
// Assign default values if no operator was provided.
|
|
46
|
-
if (!operators || !Array.isArray(operators)) {
|
|
47
|
-
operators = !!fieldTypeDefinition.filterBy ? fieldTypeDefinition.filterBy.defaultOperators : [];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Make sure only valid operators are included.
|
|
51
|
-
let validOperators = ALL_OPERATORS;
|
|
52
|
-
if (typeof fieldTypeDefinition.filterBy === 'object') {
|
|
53
|
-
validOperators = fieldTypeDefinition.filterBy.validOperators;
|
|
54
|
-
}
|
|
55
|
-
operators = operators.filter(operator => validOperators.includes(operator));
|
|
56
|
-
|
|
57
|
-
// The `between` operator is not supported when elements are provided.
|
|
58
|
-
if (field.elements && operators.includes(OPERATOR_BETWEEN)) {
|
|
59
|
-
operators = operators.filter(operator => operator !== OPERATOR_BETWEEN);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Do not allow mixing single & multiselection operators.
|
|
63
|
-
// Remove multiselection operators if any of the single selection ones is present.
|
|
64
|
-
const hasSingleSelectionOperator = operators.some(operator => SINGLE_SELECTION_OPERATORS.includes(operator));
|
|
65
|
-
if (hasSingleSelectionOperator) {
|
|
66
|
-
operators = operators.filter(operator =>
|
|
67
|
-
// The 'Between' operator is unique as it can be combined with single selection operators.
|
|
68
|
-
[...SINGLE_SELECTION_OPERATORS, OPERATOR_BETWEEN].includes(operator));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// If no operators are left at this point,
|
|
72
|
-
// the filters should be disabled.
|
|
73
|
-
if (operators.length === 0) {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
return {
|
|
77
|
-
isPrimary: !!field.filterBy.isPrimary,
|
|
78
|
-
operators
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
if (fieldTypeDefinition.filterBy === false) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
let defaultOperators = fieldTypeDefinition.filterBy.defaultOperators;
|
|
85
|
-
// The `between` operator is not supported when elements are provided.
|
|
86
|
-
if (field.elements && defaultOperators.includes(OPERATOR_BETWEEN)) {
|
|
87
|
-
defaultOperators = defaultOperators.filter(operator => operator !== OPERATOR_BETWEEN);
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
operators: defaultOperators
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Apply default values and normalize the fields config.
|
|
96
|
-
*
|
|
97
|
-
* @param fields Fields config.
|
|
98
|
-
* @return Normalized fields config.
|
|
99
|
-
*/
|
|
100
|
-
export function normalizeFields(fields) {
|
|
101
|
-
return fields.map(field => {
|
|
102
|
-
var _field$sort, _field$render, _field$enableHiding, _ref, _field$enableSorting, _ref2, _field$readOnly;
|
|
103
|
-
const fieldTypeDefinition = getFieldTypeDefinition(field.type);
|
|
104
|
-
const getValue = field.getValue || getValueFromId(field.id);
|
|
105
|
-
const setValue = field.setValue || setValueFromId(field.id);
|
|
106
|
-
const sort = (_field$sort = field.sort) !== null && _field$sort !== void 0 ? _field$sort : function sort(a, b, direction) {
|
|
107
|
-
return fieldTypeDefinition.sort(getValue({
|
|
108
|
-
item: a
|
|
109
|
-
}), getValue({
|
|
110
|
-
item: b
|
|
111
|
-
}), direction);
|
|
112
|
-
};
|
|
113
|
-
const isValid = {
|
|
114
|
-
...fieldTypeDefinition.isValid,
|
|
115
|
-
...field.isValid
|
|
116
|
-
};
|
|
117
|
-
const Edit = getControl(field, fieldTypeDefinition);
|
|
118
|
-
const render = (_field$render = field.render) !== null && _field$render !== void 0 ? _field$render : function render({
|
|
119
|
-
item,
|
|
120
|
-
field: renderedField
|
|
121
|
-
}) {
|
|
122
|
-
return fieldTypeDefinition.render({
|
|
123
|
-
item,
|
|
124
|
-
field: renderedField
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
const filterBy = getFilterBy(field, fieldTypeDefinition);
|
|
128
|
-
return {
|
|
129
|
-
...field,
|
|
130
|
-
label: field.label || field.id,
|
|
131
|
-
header: field.header || field.label || field.id,
|
|
132
|
-
getValue,
|
|
133
|
-
setValue,
|
|
134
|
-
render,
|
|
135
|
-
sort,
|
|
136
|
-
isValid,
|
|
137
|
-
Edit,
|
|
138
|
-
enableHiding: (_field$enableHiding = field.enableHiding) !== null && _field$enableHiding !== void 0 ? _field$enableHiding : true,
|
|
139
|
-
enableSorting: (_ref = (_field$enableSorting = field.enableSorting) !== null && _field$enableSorting !== void 0 ? _field$enableSorting : fieldTypeDefinition.enableSorting) !== null && _ref !== void 0 ? _ref : true,
|
|
140
|
-
filterBy,
|
|
141
|
-
readOnly: (_ref2 = (_field$readOnly = field.readOnly) !== null && _field$readOnly !== void 0 ? _field$readOnly : fieldTypeDefinition.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false
|
|
142
|
-
};
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=normalize-fields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getFieldTypeDefinition","getControl","ALL_OPERATORS","OPERATOR_BETWEEN","SINGLE_SELECTION_OPERATORS","getValueFromId","id","item","path","split","value","segment","hasOwnProperty","undefined","setValueFromId","result","current","slice","at","getFilterBy","field","fieldTypeDefinition","filterBy","operators","Array","isArray","defaultOperators","validOperators","filter","operator","includes","elements","hasSingleSelectionOperator","some","length","isPrimary","normalizeFields","fields","map","_field$sort","_field$render","_field$enableHiding","_ref","_field$enableSorting","_ref2","_field$readOnly","type","getValue","setValue","sort","a","b","direction","isValid","Edit","render","renderedField","label","header","enableHiding","enableSorting","readOnly"],"sources":["@wordpress/dataviews/src/normalize-fields.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { FunctionComponent } from 'react';\n\n/**\n * Internal dependencies\n */\nimport getFieldTypeDefinition from './field-types';\nimport type {\n\tDataViewRenderFieldProps,\n\tField,\n\tFieldTypeDefinition,\n\tNormalizedFilterByConfig,\n\tNormalizedField,\n} from './types';\nimport { getControl } from './dataform-controls';\nimport {\n\tALL_OPERATORS,\n\tOPERATOR_BETWEEN,\n\tSINGLE_SELECTION_OPERATORS,\n} from './constants';\n\nconst getValueFromId =\n\t( id: string ) =>\n\t( { item }: { item: any } ) => {\n\t\tconst path = id.split( '.' );\n\t\tlet value = item;\n\t\tfor ( const segment of path ) {\n\t\t\tif ( value.hasOwnProperty( segment ) ) {\n\t\t\t\tvalue = value[ segment ];\n\t\t\t} else {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t};\n\nexport const setValueFromId =\n\t( id: string ) =>\n\t( { value }: { value: any } ) => {\n\t\tconst path = id.split( '.' );\n\t\tconst result: any = {};\n\t\tlet current = result;\n\n\t\tfor ( const segment of path.slice( 0, -1 ) ) {\n\t\t\tcurrent[ segment ] = {};\n\t\t\tcurrent = current[ segment ];\n\t\t}\n\n\t\tcurrent[ path.at( -1 )! ] = value;\n\t\treturn result;\n\t};\n\nfunction getFilterBy< Item >(\n\tfield: Field< Item >,\n\tfieldTypeDefinition: FieldTypeDefinition< Item >\n): NormalizedFilterByConfig | false {\n\tif ( field.filterBy === false ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof field.filterBy === 'object' ) {\n\t\tlet operators = field.filterBy.operators;\n\n\t\t// Assign default values if no operator was provided.\n\t\tif ( ! operators || ! Array.isArray( operators ) ) {\n\t\t\toperators = !! fieldTypeDefinition.filterBy\n\t\t\t\t? fieldTypeDefinition.filterBy.defaultOperators\n\t\t\t\t: [];\n\t\t}\n\n\t\t// Make sure only valid operators are included.\n\t\tlet validOperators = ALL_OPERATORS;\n\t\tif ( typeof fieldTypeDefinition.filterBy === 'object' ) {\n\t\t\tvalidOperators = fieldTypeDefinition.filterBy.validOperators;\n\t\t}\n\t\toperators = operators.filter( ( operator ) =>\n\t\t\tvalidOperators.includes( operator )\n\t\t);\n\n\t\t// The `between` operator is not supported when elements are provided.\n\t\tif ( field.elements && operators.includes( OPERATOR_BETWEEN ) ) {\n\t\t\toperators = operators.filter(\n\t\t\t\t( operator ) => operator !== OPERATOR_BETWEEN\n\t\t\t);\n\t\t}\n\n\t\t// Do not allow mixing single & multiselection operators.\n\t\t// Remove multiselection operators if any of the single selection ones is present.\n\t\tconst hasSingleSelectionOperator = operators.some( ( operator ) =>\n\t\t\tSINGLE_SELECTION_OPERATORS.includes( operator )\n\t\t);\n\t\tif ( hasSingleSelectionOperator ) {\n\t\t\toperators = operators.filter( ( operator ) =>\n\t\t\t\t// The 'Between' operator is unique as it can be combined with single selection operators.\n\t\t\t\t[ ...SINGLE_SELECTION_OPERATORS, OPERATOR_BETWEEN ].includes(\n\t\t\t\t\toperator\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t// If no operators are left at this point,\n\t\t// the filters should be disabled.\n\t\tif ( operators.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn {\n\t\t\tisPrimary: !! field.filterBy.isPrimary,\n\t\t\toperators,\n\t\t};\n\t}\n\n\tif ( fieldTypeDefinition.filterBy === false ) {\n\t\treturn false;\n\t}\n\n\tlet defaultOperators = fieldTypeDefinition.filterBy.defaultOperators;\n\t// The `between` operator is not supported when elements are provided.\n\tif ( field.elements && defaultOperators.includes( OPERATOR_BETWEEN ) ) {\n\t\tdefaultOperators = defaultOperators.filter(\n\t\t\t( operator ) => operator !== OPERATOR_BETWEEN\n\t\t);\n\t}\n\n\treturn {\n\t\toperators: defaultOperators,\n\t};\n}\n\n/**\n * Apply default values and normalize the fields config.\n *\n * @param fields Fields config.\n * @return Normalized fields config.\n */\nexport function normalizeFields< Item >(\n\tfields: Field< Item >[]\n): NormalizedField< Item >[] {\n\treturn fields.map( ( field ) => {\n\t\tconst fieldTypeDefinition = getFieldTypeDefinition< Item >(\n\t\t\tfield.type\n\t\t);\n\t\tconst getValue = field.getValue || getValueFromId( field.id );\n\t\tconst setValue = field.setValue || setValueFromId( field.id );\n\n\t\tconst sort =\n\t\t\tfield.sort ??\n\t\t\tfunction sort( a, b, direction ) {\n\t\t\t\treturn fieldTypeDefinition.sort(\n\t\t\t\t\tgetValue( { item: a } ),\n\t\t\t\t\tgetValue( { item: b } ),\n\t\t\t\t\tdirection\n\t\t\t\t);\n\t\t\t};\n\n\t\tconst isValid = {\n\t\t\t...fieldTypeDefinition.isValid,\n\t\t\t...field.isValid,\n\t\t};\n\n\t\tconst Edit = getControl( field, fieldTypeDefinition );\n\n\t\tconst render =\n\t\t\tfield.render ??\n\t\t\tfunction render( {\n\t\t\t\titem,\n\t\t\t\tfield: renderedField,\n\t\t\t}: DataViewRenderFieldProps< Item > ) {\n\t\t\t\treturn (\n\t\t\t\t\tfieldTypeDefinition.render as FunctionComponent<\n\t\t\t\t\t\tDataViewRenderFieldProps< Item >\n\t\t\t\t\t>\n\t\t\t\t )( { item, field: renderedField } );\n\t\t\t};\n\n\t\tconst filterBy = getFilterBy( field, fieldTypeDefinition );\n\n\t\treturn {\n\t\t\t...field,\n\t\t\tlabel: field.label || field.id,\n\t\t\theader: field.header || field.label || field.id,\n\t\t\tgetValue,\n\t\t\tsetValue,\n\t\t\trender,\n\t\t\tsort,\n\t\t\tisValid,\n\t\t\tEdit,\n\t\t\tenableHiding: field.enableHiding ?? true,\n\t\t\tenableSorting:\n\t\t\t\tfield.enableSorting ??\n\t\t\t\tfieldTypeDefinition.enableSorting ??\n\t\t\t\ttrue,\n\t\t\tfilterBy,\n\t\t\treadOnly: field.readOnly ?? fieldTypeDefinition.readOnly ?? false,\n\t\t};\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
|