@wordpress/dataviews 0.9.0 → 1.1.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 +8 -0
- package/README.md +0 -8
- package/build/add-filter.js.map +1 -1
- package/build/bulk-actions.js.map +1 -1
- package/build/constants.js +1 -26
- package/build/constants.js.map +1 -1
- package/build/dataviews.js +3 -6
- package/build/dataviews.js.map +1 -1
- package/build/dropdown-menu-helper.js.map +1 -1
- package/build/filter-and-sort-data-view.js +72 -65
- package/build/filter-and-sort-data-view.js.map +1 -1
- package/build/filter-summary.js +4 -2
- package/build/filter-summary.js.map +1 -1
- package/build/filters.js.map +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/item-actions.js.map +1 -1
- package/build/layouts.js +38 -0
- package/build/layouts.js.map +1 -0
- package/build/lock-unlock.js.map +1 -1
- package/build/normalize-fields.js +7 -2
- package/build/normalize-fields.js.map +1 -1
- package/build/pagination.js.map +1 -1
- package/build/reset-filters.js.map +1 -1
- package/build/search-widget.js +5 -4
- package/build/search-widget.js.map +1 -1
- package/build/search.js.map +1 -1
- package/build/single-selection-checkbox.js +1 -1
- package/build/single-selection-checkbox.js.map +1 -1
- package/build/types.js +6 -0
- package/build/types.js.map +1 -0
- package/build/utils.js.map +1 -1
- package/build/view-actions.js +2 -1
- package/build/view-actions.js.map +1 -1
- package/build/view-grid.js +43 -15
- package/build/view-grid.js.map +1 -1
- package/build/view-list.js +4 -22
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +5 -11
- package/build/view-table.js.map +1 -1
- package/build-module/add-filter.js.map +1 -1
- package/build-module/bulk-actions.js.map +1 -1
- package/build-module/constants.js +1 -25
- package/build-module/constants.js.map +1 -1
- package/build-module/dataviews.js +3 -6
- package/build-module/dataviews.js.map +1 -1
- package/build-module/dropdown-menu-helper.js.map +1 -1
- package/build-module/filter-and-sort-data-view.js +72 -65
- package/build-module/filter-and-sort-data-view.js.map +1 -1
- package/build-module/filter-summary.js +3 -2
- package/build-module/filter-summary.js.map +1 -1
- package/build-module/filters.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/item-actions.js.map +1 -1
- package/build-module/layouts.js +30 -0
- package/build-module/layouts.js.map +1 -0
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/normalize-fields.js +7 -2
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/pagination.js.map +1 -1
- package/build-module/reset-filters.js.map +1 -1
- package/build-module/search-widget.js +4 -3
- package/build-module/search-widget.js.map +1 -1
- package/build-module/search.js.map +1 -1
- package/build-module/single-selection-checkbox.js +1 -1
- package/build-module/single-selection-checkbox.js.map +1 -1
- package/build-module/types.js +2 -0
- package/build-module/types.js.map +1 -0
- package/build-module/utils.js.map +1 -1
- package/build-module/view-actions.js +2 -1
- package/build-module/view-actions.js.map +1 -1
- package/build-module/view-grid.js +43 -15
- package/build-module/view-grid.js.map +1 -1
- package/build-module/view-list.js +6 -24
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +5 -11
- package/build-module/view-table.js.map +1 -1
- package/build-style/style-rtl.css +60 -45
- package/build-style/style.css +60 -45
- package/build-types/constants.d.ts +45 -0
- package/build-types/constants.d.ts.map +1 -0
- package/build-types/filter-and-sort-data-view.d.ts +18 -0
- package/build-types/filter-and-sort-data-view.d.ts.map +1 -0
- package/build-types/normalize-fields.d.ts +12 -0
- package/build-types/normalize-fields.d.ts.map +1 -0
- package/build-types/types.d.ts +122 -0
- package/build-types/types.d.ts.map +1 -0
- package/package.json +11 -11
- package/src/{constants.js → constants.ts} +1 -35
- package/src/dataviews.js +2 -5
- package/src/filter-and-sort-data-view.ts +164 -0
- package/src/filter-summary.js +4 -4
- package/src/index.js +1 -1
- package/src/layouts.js +39 -0
- package/src/normalize-fields.ts +23 -0
- package/src/search-widget.js +4 -3
- package/src/single-selection-checkbox.js +1 -1
- package/src/stories/fixtures.js +0 -2
- package/src/style.scss +65 -51
- package/src/types.ts +144 -0
- package/src/view-actions.js +2 -1
- package/src/view-grid.js +91 -52
- package/src/view-list.js +4 -24
- package/src/view-table.js +7 -11
- package/tsconfig.json +20 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/src/filter-and-sort-data-view.js +0 -154
- package/src/normalize-fields.js +0 -17
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 1.1.0 (2024-05-02)
|
|
6
|
+
|
|
7
|
+
## 1.0.0 (2024-04-19)
|
|
8
|
+
|
|
9
|
+
### Breaking changes
|
|
10
|
+
|
|
11
|
+
- Removed the `onDetailsChange` event only available for the list layout. We are looking into adding actions to the list layout, including primary ones.
|
|
12
|
+
|
|
5
13
|
## 0.9.0 (2024-04-03)
|
|
6
14
|
|
|
7
15
|
### Enhancement
|
package/README.md
CHANGED
|
@@ -275,18 +275,10 @@ Whether the data is loading. `false` by default.
|
|
|
275
275
|
|
|
276
276
|
Array of layouts supported. By default, all are: `table`, `grid`, `list`.
|
|
277
277
|
|
|
278
|
-
### `deferredRendering`: `boolean`
|
|
279
|
-
|
|
280
|
-
Whether the items should be rendered asynchronously. Useful when there's a field that takes a lot of time (e.g.: previews). `false` by default.
|
|
281
|
-
|
|
282
278
|
### `onSelectionChange`: `function`
|
|
283
279
|
|
|
284
280
|
Callback that signals the user selected one of more items, and takes them as parameter. So far, only the `list` view implements it.
|
|
285
281
|
|
|
286
|
-
### `onDetailsChange`: `function`
|
|
287
|
-
|
|
288
|
-
Callback that signals the user triggered the details for one of more items, and takes them as paremeter. So far, only the `list` view implements it.
|
|
289
|
-
|
|
290
282
|
## Types
|
|
291
283
|
|
|
292
284
|
### Layouts
|
package/build/add-filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","AddFilter","filters","view","onChangeView","setOpenedFilter","ref","length","every","isPrimary","inactiveFilters","filter","isVisible","_react","createElement","trigger","Button","__experimentalIsFocusable","size","className","variant","disabled","__","map","key","field","onClick","page","value","undefined","operator","operators","name","_default","exports","default","forwardRef"],"sources":["@wordpress/dataviews/src/add-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nfunction AddFilter( { filters, view, onChangeView, setOpenedFilter }, ref ) {\n\tif ( ! filters.length || filters.every( ( { isPrimary } ) => isPrimary ) ) {\n\t\treturn null;\n\t}\n\tconst inactiveFilters = filters.filter( ( filter ) => ! filter.isVisible );\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-filters-button\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdisabled={ ! inactiveFilters.length }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t{ inactiveFilters.map( ( filter ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetOpenedFilter( filter.field );\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ filter.name }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default forwardRef( AddFilter );\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,MAAM;EACLI,cAAc,EAAEC,YAAY;EAC5BC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEnC,SAASC,SAASA,CAAE;EAAEC,OAAO;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAgB,CAAC,EAAEC,GAAG,EAAG;EAC3E,IAAK,CAAEJ,OAAO,CAACK,MAAM,IAAIL,OAAO,CAACM,KAAK,CAAE,CAAE;IAAEC;EAAU,CAAC,KAAMA,SAAU,CAAC,EAAG;IAC1E,OAAO,IAAI;EACZ;EACA,MAAMC,eAAe,GAAGR,OAAO,CAACS,MAAM,CAAIA,MAAM,IAAM,CAAEA,MAAM,CAACC,SAAU,CAAC;EAC1E,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,YAAY;IACZqB,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAA4B,MAAM;MACNC,yBAAyB;MACzBC,IAAI,EAAC,SAAS;MACdC,SAAS,EAAC,0BAA0B;MACpCC,OAAO,EAAC,UAAU;MAClBC,QAAQ,EAAG,CAAEX,eAAe,CAACH,MAAQ;MACrCD,GAAG,EAAGA;IAAK,GAET,IAAAgB,QAAE,EAAE,YAAa,CACZ;EACR,GAECZ,eAAe,CAACa,GAAG,CAAIZ,MAAM,IAAM;IACpC,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAClB,gBAAgB;MAChB4B,GAAG,EAAGb,MAAM,CAACc,KAAO;MACpBC,OAAO,EAAGA,CAAA,KAAM;QACfrB,eAAe,CAAEM,MAAM,CAACc,KAAM,CAAC;QAC/BrB,YAAY,CAAE;UACb,GAAGD,IAAI;UACPwB,IAAI,EAAE,CAAC;UACPzB,OAAO,EAAE,CACR,IAAKC,IAAI,CAACD,OAAO,IAAI,EAAE,CAAE,EACzB;YACCuB,KAAK,EAAEd,MAAM,CAACc,KAAK;YACnBG,KAAK,EAAEC,SAAS;YAChBC,QAAQ,EAAEnB,MAAM,CAACoB,SAAS,CAAE,CAAC;UAC9B,CAAC;QAEH,CAAE,CAAC;MACJ;IAAG,GAEH,IAAAlB,MAAA,CAAAC,aAAA,EAAChB,qBAAqB,QACnBa,MAAM,CAACqB,IACa,CACN,CAAC;EAErB,CAAE,CACW,CAAC;AAEjB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAEnC,SAAU,CAAC"}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","AddFilter","filters","view","onChangeView","setOpenedFilter","ref","length","every","isPrimary","inactiveFilters","filter","isVisible","_react","createElement","trigger","Button","__experimentalIsFocusable","size","className","variant","disabled","__","map","key","field","onClick","page","value","undefined","operator","operators","name","_default","exports","default","forwardRef"],"sources":["@wordpress/dataviews/src/add-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nfunction AddFilter( { filters, view, onChangeView, setOpenedFilter }, ref ) {\n\tif ( ! filters.length || filters.every( ( { isPrimary } ) => isPrimary ) ) {\n\t\treturn null;\n\t}\n\tconst inactiveFilters = filters.filter( ( filter ) => ! filter.isVisible );\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-filters-button\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdisabled={ ! inactiveFilters.length }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t{ inactiveFilters.map( ( filter ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetOpenedFilter( filter.field );\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ filter.name }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default forwardRef( AddFilter );\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,MAAM;EACLI,cAAc,EAAEC,YAAY;EAC5BC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEnC,SAASC,SAASA,CAAE;EAAEC,OAAO;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAgB,CAAC,EAAEC,GAAG,EAAG;EAC3E,IAAK,CAAEJ,OAAO,CAACK,MAAM,IAAIL,OAAO,CAACM,KAAK,CAAE,CAAE;IAAEC;EAAU,CAAC,KAAMA,SAAU,CAAC,EAAG;IAC1E,OAAO,IAAI;EACZ;EACA,MAAMC,eAAe,GAAGR,OAAO,CAACS,MAAM,CAAIA,MAAM,IAAM,CAAEA,MAAM,CAACC,SAAU,CAAC;EAC1E,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,YAAY;IACZqB,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAA4B,MAAM;MACNC,yBAAyB;MACzBC,IAAI,EAAC,SAAS;MACdC,SAAS,EAAC,0BAA0B;MACpCC,OAAO,EAAC,UAAU;MAClBC,QAAQ,EAAG,CAAEX,eAAe,CAACH,MAAQ;MACrCD,GAAG,EAAGA;IAAK,GAET,IAAAgB,QAAE,EAAE,YAAa,CACZ;EACR,GAECZ,eAAe,CAACa,GAAG,CAAIZ,MAAM,IAAM;IACpC,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAClB,gBAAgB;MAChB4B,GAAG,EAAGb,MAAM,CAACc,KAAO;MACpBC,OAAO,EAAGA,CAAA,KAAM;QACfrB,eAAe,CAAEM,MAAM,CAACc,KAAM,CAAC;QAC/BrB,YAAY,CAAE;UACb,GAAGD,IAAI;UACPwB,IAAI,EAAE,CAAC;UACPzB,OAAO,EAAE,CACR,IAAKC,IAAI,CAACD,OAAO,IAAI,EAAE,CAAE,EACzB;YACCuB,KAAK,EAAEd,MAAM,CAACc,KAAK;YACnBG,KAAK,EAAEC,SAAS;YAChBC,QAAQ,EAAEnB,MAAM,CAACoB,SAAS,CAAE,CAAC;UAC9B,CAAC;QAEH,CAAE,CAAC;MACJ;IAAG,GAEH,IAAAlB,MAAA,CAAAC,aAAA,EAAChB,qBAAqB,QACnBa,MAAM,CAACqB,IACa,CACN,CAAC;EAErB,CAAE,CACW,CAAC;AAEjB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAEnC,SAAU,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","useHasAPossibleBulkAction","actions","item","useMemo","some","action","supportsBulk","isEligible","useSomeItemHasAPossibleBulkAction","data","ActionWithModal","selectedItems","setActionWithModal","onMenuOpenChange","eligibleItems","filter","RenderModal","hideModalHeader","onCloseModal","useCallback","undefined","_react","createElement","Modal","title","label","__experimentalHideHeader","onRequestClose","overlayClassName","items","closeModal","onPerform","BulkActionItem","shouldShowModal","key","id","disabled","length","hideOnClick","onClick","callback","suffix","ActionsMenuGroup","Fragment","map","BulkActions","selection","onSelectionChange","getItemId","bulkActions","isMenuOpen","useState","actionWithModal","selectableItems","numberSelectableItems","areAllSelected","includes","hasNonSelectableItemSelected","useEffect","selectedItem","open","onOpenChange","__","style","minWidth","trigger","Button","className","__next40pxDefaultSize","variant","size","sprintf","_n"],"sources":["@wordpress/dataviews/src/bulk-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\nexport function useHasAPossibleBulkAction( actions, item ) {\n\treturn useMemo( () => {\n\t\treturn actions.some( ( action ) => {\n\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t} );\n\t}, [ actions, item ] );\n}\n\nexport function useSomeItemHasAPossibleBulkAction( actions, data ) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nfunction ActionWithModal( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n\tonMenuOpenChange,\n} ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\tconst { RenderModal, hideModalHeader } = action;\n\tconst onCloseModal = useCallback( () => {\n\t\tsetActionWithModal( undefined );\n\t}, [ setActionWithModal ] );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ ! hideModalHeader && action.label }\n\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\tonRequestClose={ onCloseModal }\n\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t>\n\t\t\t<RenderModal\n\t\t\t\titems={ eligibleItems }\n\t\t\t\tcloseModal={ onCloseModal }\n\t\t\t\tonPerform={ () => onMenuOpenChange( false ) }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nfunction BulkActionItem( { action, selectedItems, setActionWithModal } ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\n\tconst shouldShowModal = !! action.RenderModal;\n\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tkey={ action.id }\n\t\t\tdisabled={ eligibleItems.length === 0 }\n\t\t\thideOnClick={ ! shouldShowModal }\n\t\t\tonClick={ async () => {\n\t\t\t\tif ( shouldShowModal ) {\n\t\t\t\t\tsetActionWithModal( action );\n\t\t\t\t} else {\n\t\t\t\t\tawait action.callback( eligibleItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tsuffix={\n\t\t\t\teligibleItems.length > 0 ? eligibleItems.length : undefined\n\t\t\t}\n\t\t>\n\t\t\t{ action.label }\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction ActionsMenuGroup( { actions, selectedItems, setActionWithModal } ) {\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t\t<BulkActionItem\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</DropdownMenuGroup>\n\t\t\t<DropdownMenuSeparator />\n\t\t</>\n\t);\n}\n\nexport default function BulkActions( {\n\tdata,\n\tactions,\n\tselection,\n\tonSelectionChange,\n\tgetItemId,\n} ) {\n\tconst bulkActions = useMemo(\n\t\t() => actions.filter( ( action ) => action.supportsBulk ),\n\t\t[ actions ]\n\t);\n\tconst [ isMenuOpen, onMenuOpenChange ] = useState( false );\n\tconst [ actionWithModal, setActionWithModal ] = useState();\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn bulkActions.some( ( action ) => action.isEligible( item ) );\n\t\t} );\n\t}, [ data, bulkActions ] );\n\n\tconst numberSelectableItems = selectableItems.length;\n\tconst areAllSelected =\n\t\tselection && selection.length === numberSelectableItems;\n\n\tconst selectedItems = useMemo( () => {\n\t\treturn data.filter( ( item ) =>\n\t\t\tselection.includes( getItemId( item ) )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tconst hasNonSelectableItemSelected = useMemo( () => {\n\t\treturn selectedItems.some( ( item ) => {\n\t\t\treturn ! selectableItems.includes( item );\n\t\t} );\n\t}, [ selectedItems, selectableItems ] );\n\tuseEffect( () => {\n\t\tif ( hasNonSelectableItemSelected ) {\n\t\t\tonSelectionChange(\n\t\t\t\tselectedItems.filter( ( selectedItem ) => {\n\t\t\t\t\treturn selectableItems.some( ( item ) => {\n\t\t\t\t\t\treturn getItemId( selectedItem ) === getItemId( item );\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [\n\t\thasNonSelectableItemSelected,\n\t\tselectedItems,\n\t\tselectableItems,\n\t\tgetItemId,\n\t\tonSelectionChange,\n\t] );\n\n\tif ( bulkActions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\topen={ isMenuOpen }\n\t\t\t\tonOpenChange={ onMenuOpenChange }\n\t\t\t\tlabel={ __( 'Bulk actions' ) }\n\t\t\t\tstyle={ { minWidth: '240px' } }\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-bulk-edit-button\"\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ selection.length\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of items. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'Edit %d item',\n\t\t\t\t\t\t\t\t\t\t'Edit %d items',\n\t\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Bulk edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\tactions={ bulkActions }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t/>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ areAllSelected }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={ numberSelectableItems }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select all' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ selection.length === 0 }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Deselect' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</DropdownMenu>\n\t\t\t{ actionWithModal && (\n\t\t\t\t<ActionWithModal\n\t\t\t\t\taction={ actionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tonMenuOpenChange={ onMenuOpenChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA,MAAM;EACLI,cAAc,EAAEC,YAAY;EAC5BC,mBAAmB,EAAEC,iBAAiB;EACtCC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAE5B,SAASC,yBAAyBA,CAAEC,OAAO,EAAEC,IAAI,EAAG;EAC1D,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,OAAOF,OAAO,CAACG,IAAI,CAAIC,MAAM,IAAM;MAClC,OAAOA,MAAM,CAACC,YAAY,IAAID,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAC;IACxD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,OAAO,EAAEC,IAAI,CAAG,CAAC;AACvB;AAEO,SAASM,iCAAiCA,CAAEP,OAAO,EAAEQ,IAAI,EAAG;EAClE,OAAO,IAAAN,gBAAO,EAAE,MAAM;IACrB,OAAOM,IAAI,CAACL,IAAI,CAAIF,IAAI,IAAM;MAC7B,OAAOD,OAAO,CAACG,IAAI,CAAIC,MAAM,IAAM;QAClC,OAAOA,MAAM,CAACC,YAAY,IAAID,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAC;MACxD,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,OAAO,EAAEQ,IAAI,CAAG,CAAC;AACvB;AAEA,SAASC,eAAeA,CAAE;EACzBL,MAAM;EACNM,aAAa;EACbC,kBAAkB;EAClBC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,IAAAX,gBAAO,EAAE,MAAM;IACpC,OAAOQ,aAAa,CAACI,MAAM,CAAIb,IAAI,IAAMG,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAE,CAAC;EACrE,CAAC,EAAE,CAAEG,MAAM,EAAEM,aAAa,CAAG,CAAC;EAC9B,MAAM;IAAEK,WAAW;IAAEC;EAAgB,CAAC,GAAGZ,MAAM;EAC/C,MAAMa,YAAY,GAAG,IAAAC,oBAAW,EAAE,MAAM;IACvCP,kBAAkB,CAAEQ,SAAU,CAAC;EAChC,CAAC,EAAE,CAAER,kBAAkB,CAAG,CAAC;EAC3B,OACC,IAAAS,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAsC,KAAK;IACLC,KAAK,EAAG,CAAEP,eAAe,IAAIZ,MAAM,CAACoB,KAAO;IAC3CC,wBAAwB,EAAG,CAAC,CAAET,eAAiB;IAC/CU,cAAc,EAAGT,YAAc;IAC/BU,gBAAgB,EAAC;EAAwB,GAEzC,IAAAP,MAAA,CAAAC,aAAA,EAACN,WAAW;IACXa,KAAK,EAAGf,aAAe;IACvBgB,UAAU,EAAGZ,YAAc;IAC3Ba,SAAS,EAAGA,CAAA,KAAMlB,gBAAgB,CAAE,KAAM;EAAG,CAC7C,CACK,CAAC;AAEV;AAEA,SAASmB,cAAcA,CAAE;EAAE3B,MAAM;EAAEM,aAAa;EAAEC;AAAmB,CAAC,EAAG;EACxE,MAAME,aAAa,GAAG,IAAAX,gBAAO,EAAE,MAAM;IACpC,OAAOQ,aAAa,CAACI,MAAM,CAAIb,IAAI,IAAMG,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAE,CAAC;EACrE,CAAC,EAAE,CAAEG,MAAM,EAAEM,aAAa,CAAG,CAAC;EAE9B,MAAMsB,eAAe,GAAG,CAAC,CAAE5B,MAAM,CAACW,WAAW;EAE7C,OACC,IAAAK,MAAA,CAAAC,aAAA,EAAC3B,gBAAgB;IAChBuC,GAAG,EAAG7B,MAAM,CAAC8B,EAAI;IACjBC,QAAQ,EAAGtB,aAAa,CAACuB,MAAM,KAAK,CAAG;IACvCC,WAAW,EAAG,CAAEL,eAAiB;IACjCM,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrB,IAAKN,eAAe,EAAG;QACtBrB,kBAAkB,CAAEP,MAAO,CAAC;MAC7B,CAAC,MAAM;QACN,MAAMA,MAAM,CAACmC,QAAQ,CAAE1B,aAAc,CAAC;MACvC;IACD,CAAG;IACH2B,MAAM,EACL3B,aAAa,CAACuB,MAAM,GAAG,CAAC,GAAGvB,aAAa,CAACuB,MAAM,GAAGjB;EAClD,GAECf,MAAM,CAACoB,KACQ,CAAC;AAErB;AAEA,SAASiB,gBAAgBA,CAAE;EAAEzC,OAAO;EAAEU,aAAa;EAAEC;AAAmB,CAAC,EAAG;EAC3E,OACC,IAAAS,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAsB,QAAA,QACC,IAAAtB,MAAA,CAAAC,aAAA,EAAC7B,iBAAiB,QACfQ,OAAO,CAAC2C,GAAG,CAAIvC,MAAM,IACtB,IAAAgB,MAAA,CAAAC,aAAA,EAACU,cAAc;IACdE,GAAG,EAAG7B,MAAM,CAAC8B,EAAI;IACjB9B,MAAM,EAAGA,MAAQ;IACjBM,aAAa,EAAGA,aAAe;IAC/BC,kBAAkB,EAAGA;EAAoB,CACzC,CACA,CACgB,CAAC,EACpB,IAAAS,MAAA,CAAAC,aAAA,EAACzB,qBAAqB,MAAE,CACvB,CAAC;AAEL;AAEe,SAASgD,WAAWA,CAAE;EACpCpC,IAAI;EACJR,OAAO;EACP6C,SAAS;EACTC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,WAAW,GAAG,IAAA9C,gBAAO,EAC1B,MAAMF,OAAO,CAACc,MAAM,CAAIV,MAAM,IAAMA,MAAM,CAACC,YAAa,CAAC,EACzD,CAAEL,OAAO,CACV,CAAC;EACD,MAAM,CAAEiD,UAAU,EAAErC,gBAAgB,CAAE,GAAG,IAAAsC,iBAAQ,EAAE,KAAM,CAAC;EAC1D,MAAM,CAAEC,eAAe,EAAExC,kBAAkB,CAAE,GAAG,IAAAuC,iBAAQ,EAAC,CAAC;EAC1D,MAAME,eAAe,GAAG,IAAAlD,gBAAO,EAAE,MAAM;IACtC,OAAOM,IAAI,CAACM,MAAM,CAAIb,IAAI,IAAM;MAC/B,OAAO+C,WAAW,CAAC7C,IAAI,CAAIC,MAAM,IAAMA,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAE,CAAC;IACnE,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEO,IAAI,EAAEwC,WAAW,CAAG,CAAC;EAE1B,MAAMK,qBAAqB,GAAGD,eAAe,CAAChB,MAAM;EACpD,MAAMkB,cAAc,GACnBT,SAAS,IAAIA,SAAS,CAACT,MAAM,KAAKiB,qBAAqB;EAExD,MAAM3C,aAAa,GAAG,IAAAR,gBAAO,EAAE,MAAM;IACpC,OAAOM,IAAI,CAACM,MAAM,CAAIb,IAAI,IACzB4C,SAAS,CAACU,QAAQ,CAAER,SAAS,CAAE9C,IAAK,CAAE,CACvC,CAAC;EACF,CAAC,EAAE,CAAE4C,SAAS,EAAErC,IAAI,EAAEuC,SAAS,CAAG,CAAC;EAEnC,MAAMS,4BAA4B,GAAG,IAAAtD,gBAAO,EAAE,MAAM;IACnD,OAAOQ,aAAa,CAACP,IAAI,CAAIF,IAAI,IAAM;MACtC,OAAO,CAAEmD,eAAe,CAACG,QAAQ,CAAEtD,IAAK,CAAC;IAC1C,CAAE,CAAC;EACJ,CAAC,EAAE,CAAES,aAAa,EAAE0C,eAAe,CAAG,CAAC;EACvC,IAAAK,kBAAS,EAAE,MAAM;IAChB,IAAKD,4BAA4B,EAAG;MACnCV,iBAAiB,CAChBpC,aAAa,CAACI,MAAM,CAAI4C,YAAY,IAAM;QACzC,OAAON,eAAe,CAACjD,IAAI,CAAIF,IAAI,IAAM;UACxC,OAAO8C,SAAS,CAAEW,YAAa,CAAC,KAAKX,SAAS,CAAE9C,IAAK,CAAC;QACvD,CAAE,CAAC;MACJ,CAAE,CACH,CAAC;IACF;EACD,CAAC,EAAE,CACFuD,4BAA4B,EAC5B9C,aAAa,EACb0C,eAAe,EACfL,SAAS,EACTD,iBAAiB,CAChB,CAAC;EAEH,IAAKE,WAAW,CAACZ,MAAM,KAAK,CAAC,EAAG;IAC/B,OAAO,IAAI;EACZ;EACA,OACC,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAsB,QAAA,QACC,IAAAtB,MAAA,CAAAC,aAAA,EAAC/B,YAAY;IACZqE,IAAI,EAAGV,UAAY;IACnBW,YAAY,EAAGhD,gBAAkB;IACjCY,KAAK,EAAG,IAAAqC,QAAE,EAAE,cAAe,CAAG;IAC9BC,KAAK,EAAG;MAAEC,QAAQ,EAAE;IAAQ,CAAG;IAC/BC,OAAO,EACN,IAAA5C,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAiF,MAAM;MACNC,SAAS,EAAC,4BAA4B;MACtCC,qBAAqB;MACrBC,OAAO,EAAC,UAAU;MAClBC,IAAI,EAAC;IAAS,GAEZxB,SAAS,CAACT,MAAM,GACf,IAAAkC,aAAO,GACP;IACA,IAAAC,QAAE,EACD,cAAc,EACd,eAAe,EACf1B,SAAS,CAACT,MACX,CAAC,EACDS,SAAS,CAACT,MACV,CAAC,GACD,IAAAyB,QAAE,EAAE,WAAY,CACZ;EACR,GAED,IAAAzC,MAAA,CAAAC,aAAA,EAACoB,gBAAgB;IAChBzC,OAAO,EAAGgD,WAAa;IACvBrC,kBAAkB,EAAGA,kBAAoB;IACzCD,aAAa,EAAGA;EAAe,CAC/B,CAAC,EACF,IAAAU,MAAA,CAAAC,aAAA,EAAC7B,iBAAiB,QACjB,IAAA4B,MAAA,CAAAC,aAAA,EAAC3B,gBAAgB;IAChByC,QAAQ,EAAGmB,cAAgB;IAC3BjB,WAAW,EAAG,KAAO;IACrBC,OAAO,EAAGA,CAAA,KAAM;MACfQ,iBAAiB,CAAEM,eAAgB,CAAC;IACrC,CAAG;IACHZ,MAAM,EAAGa;EAAuB,GAE9B,IAAAQ,QAAE,EAAE,YAAa,CACF,CAAC,EACnB,IAAAzC,MAAA,CAAAC,aAAA,EAAC3B,gBAAgB;IAChByC,QAAQ,EAAGU,SAAS,CAACT,MAAM,KAAK,CAAG;IACnCC,WAAW,EAAG,KAAO;IACrBC,OAAO,EAAGA,CAAA,KAAM;MACfQ,iBAAiB,CAAE,EAAG,CAAC;IACxB;EAAG,GAED,IAAAe,QAAE,EAAE,UAAW,CACA,CACA,CACN,CAAC,EACbV,eAAe,IAChB,IAAA/B,MAAA,CAAAC,aAAA,EAACZ,eAAe;IACfL,MAAM,EAAG+C,eAAiB;IAC1BzC,aAAa,EAAGA,aAAe;IAC/BC,kBAAkB,EAAGA,kBAAoB;IACzCC,gBAAgB,EAAGA;EAAkB,CACrC,CAED,CAAC;AAEL"}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","useHasAPossibleBulkAction","actions","item","useMemo","some","action","supportsBulk","isEligible","useSomeItemHasAPossibleBulkAction","data","ActionWithModal","selectedItems","setActionWithModal","onMenuOpenChange","eligibleItems","filter","RenderModal","hideModalHeader","onCloseModal","useCallback","undefined","_react","createElement","Modal","title","label","__experimentalHideHeader","onRequestClose","overlayClassName","items","closeModal","onPerform","BulkActionItem","shouldShowModal","key","id","disabled","length","hideOnClick","onClick","callback","suffix","ActionsMenuGroup","Fragment","map","BulkActions","selection","onSelectionChange","getItemId","bulkActions","isMenuOpen","useState","actionWithModal","selectableItems","numberSelectableItems","areAllSelected","includes","hasNonSelectableItemSelected","useEffect","selectedItem","open","onOpenChange","__","style","minWidth","trigger","Button","className","__next40pxDefaultSize","variant","size","sprintf","_n"],"sources":["@wordpress/dataviews/src/bulk-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\nexport function useHasAPossibleBulkAction( actions, item ) {\n\treturn useMemo( () => {\n\t\treturn actions.some( ( action ) => {\n\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t} );\n\t}, [ actions, item ] );\n}\n\nexport function useSomeItemHasAPossibleBulkAction( actions, data ) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nfunction ActionWithModal( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n\tonMenuOpenChange,\n} ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\tconst { RenderModal, hideModalHeader } = action;\n\tconst onCloseModal = useCallback( () => {\n\t\tsetActionWithModal( undefined );\n\t}, [ setActionWithModal ] );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ ! hideModalHeader && action.label }\n\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\tonRequestClose={ onCloseModal }\n\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t>\n\t\t\t<RenderModal\n\t\t\t\titems={ eligibleItems }\n\t\t\t\tcloseModal={ onCloseModal }\n\t\t\t\tonPerform={ () => onMenuOpenChange( false ) }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nfunction BulkActionItem( { action, selectedItems, setActionWithModal } ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\n\tconst shouldShowModal = !! action.RenderModal;\n\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tkey={ action.id }\n\t\t\tdisabled={ eligibleItems.length === 0 }\n\t\t\thideOnClick={ ! shouldShowModal }\n\t\t\tonClick={ async () => {\n\t\t\t\tif ( shouldShowModal ) {\n\t\t\t\t\tsetActionWithModal( action );\n\t\t\t\t} else {\n\t\t\t\t\tawait action.callback( eligibleItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tsuffix={\n\t\t\t\teligibleItems.length > 0 ? eligibleItems.length : undefined\n\t\t\t}\n\t\t>\n\t\t\t{ action.label }\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction ActionsMenuGroup( { actions, selectedItems, setActionWithModal } ) {\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t\t<BulkActionItem\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</DropdownMenuGroup>\n\t\t\t<DropdownMenuSeparator />\n\t\t</>\n\t);\n}\n\nexport default function BulkActions( {\n\tdata,\n\tactions,\n\tselection,\n\tonSelectionChange,\n\tgetItemId,\n} ) {\n\tconst bulkActions = useMemo(\n\t\t() => actions.filter( ( action ) => action.supportsBulk ),\n\t\t[ actions ]\n\t);\n\tconst [ isMenuOpen, onMenuOpenChange ] = useState( false );\n\tconst [ actionWithModal, setActionWithModal ] = useState();\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn bulkActions.some( ( action ) => action.isEligible( item ) );\n\t\t} );\n\t}, [ data, bulkActions ] );\n\n\tconst numberSelectableItems = selectableItems.length;\n\tconst areAllSelected =\n\t\tselection && selection.length === numberSelectableItems;\n\n\tconst selectedItems = useMemo( () => {\n\t\treturn data.filter( ( item ) =>\n\t\t\tselection.includes( getItemId( item ) )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tconst hasNonSelectableItemSelected = useMemo( () => {\n\t\treturn selectedItems.some( ( item ) => {\n\t\t\treturn ! selectableItems.includes( item );\n\t\t} );\n\t}, [ selectedItems, selectableItems ] );\n\tuseEffect( () => {\n\t\tif ( hasNonSelectableItemSelected ) {\n\t\t\tonSelectionChange(\n\t\t\t\tselectedItems.filter( ( selectedItem ) => {\n\t\t\t\t\treturn selectableItems.some( ( item ) => {\n\t\t\t\t\t\treturn getItemId( selectedItem ) === getItemId( item );\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [\n\t\thasNonSelectableItemSelected,\n\t\tselectedItems,\n\t\tselectableItems,\n\t\tgetItemId,\n\t\tonSelectionChange,\n\t] );\n\n\tif ( bulkActions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\topen={ isMenuOpen }\n\t\t\t\tonOpenChange={ onMenuOpenChange }\n\t\t\t\tlabel={ __( 'Bulk actions' ) }\n\t\t\t\tstyle={ { minWidth: '240px' } }\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-bulk-edit-button\"\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ selection.length\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of items. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'Edit %d item',\n\t\t\t\t\t\t\t\t\t\t'Edit %d items',\n\t\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Bulk edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\tactions={ bulkActions }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t/>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ areAllSelected }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={ numberSelectableItems }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select all' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ selection.length === 0 }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Deselect' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</DropdownMenu>\n\t\t\t{ actionWithModal && (\n\t\t\t\t<ActionWithModal\n\t\t\t\t\taction={ actionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tonMenuOpenChange={ onMenuOpenChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA,MAAM;EACLI,cAAc,EAAEC,YAAY;EAC5BC,mBAAmB,EAAEC,iBAAiB;EACtCC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAE5B,SAASC,yBAAyBA,CAAEC,OAAO,EAAEC,IAAI,EAAG;EAC1D,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,OAAOF,OAAO,CAACG,IAAI,CAAIC,MAAM,IAAM;MAClC,OAAOA,MAAM,CAACC,YAAY,IAAID,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAC;IACxD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,OAAO,EAAEC,IAAI,CAAG,CAAC;AACvB;AAEO,SAASM,iCAAiCA,CAAEP,OAAO,EAAEQ,IAAI,EAAG;EAClE,OAAO,IAAAN,gBAAO,EAAE,MAAM;IACrB,OAAOM,IAAI,CAACL,IAAI,CAAIF,IAAI,IAAM;MAC7B,OAAOD,OAAO,CAACG,IAAI,CAAIC,MAAM,IAAM;QAClC,OAAOA,MAAM,CAACC,YAAY,IAAID,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAC;MACxD,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,OAAO,EAAEQ,IAAI,CAAG,CAAC;AACvB;AAEA,SAASC,eAAeA,CAAE;EACzBL,MAAM;EACNM,aAAa;EACbC,kBAAkB;EAClBC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,IAAAX,gBAAO,EAAE,MAAM;IACpC,OAAOQ,aAAa,CAACI,MAAM,CAAIb,IAAI,IAAMG,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAE,CAAC;EACrE,CAAC,EAAE,CAAEG,MAAM,EAAEM,aAAa,CAAG,CAAC;EAC9B,MAAM;IAAEK,WAAW;IAAEC;EAAgB,CAAC,GAAGZ,MAAM;EAC/C,MAAMa,YAAY,GAAG,IAAAC,oBAAW,EAAE,MAAM;IACvCP,kBAAkB,CAAEQ,SAAU,CAAC;EAChC,CAAC,EAAE,CAAER,kBAAkB,CAAG,CAAC;EAC3B,OACC,IAAAS,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAsC,KAAK;IACLC,KAAK,EAAG,CAAEP,eAAe,IAAIZ,MAAM,CAACoB,KAAO;IAC3CC,wBAAwB,EAAG,CAAC,CAAET,eAAiB;IAC/CU,cAAc,EAAGT,YAAc;IAC/BU,gBAAgB,EAAC;EAAwB,GAEzC,IAAAP,MAAA,CAAAC,aAAA,EAACN,WAAW;IACXa,KAAK,EAAGf,aAAe;IACvBgB,UAAU,EAAGZ,YAAc;IAC3Ba,SAAS,EAAGA,CAAA,KAAMlB,gBAAgB,CAAE,KAAM;EAAG,CAC7C,CACK,CAAC;AAEV;AAEA,SAASmB,cAAcA,CAAE;EAAE3B,MAAM;EAAEM,aAAa;EAAEC;AAAmB,CAAC,EAAG;EACxE,MAAME,aAAa,GAAG,IAAAX,gBAAO,EAAE,MAAM;IACpC,OAAOQ,aAAa,CAACI,MAAM,CAAIb,IAAI,IAAMG,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAE,CAAC;EACrE,CAAC,EAAE,CAAEG,MAAM,EAAEM,aAAa,CAAG,CAAC;EAE9B,MAAMsB,eAAe,GAAG,CAAC,CAAE5B,MAAM,CAACW,WAAW;EAE7C,OACC,IAAAK,MAAA,CAAAC,aAAA,EAAC3B,gBAAgB;IAChBuC,GAAG,EAAG7B,MAAM,CAAC8B,EAAI;IACjBC,QAAQ,EAAGtB,aAAa,CAACuB,MAAM,KAAK,CAAG;IACvCC,WAAW,EAAG,CAAEL,eAAiB;IACjCM,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrB,IAAKN,eAAe,EAAG;QACtBrB,kBAAkB,CAAEP,MAAO,CAAC;MAC7B,CAAC,MAAM;QACN,MAAMA,MAAM,CAACmC,QAAQ,CAAE1B,aAAc,CAAC;MACvC;IACD,CAAG;IACH2B,MAAM,EACL3B,aAAa,CAACuB,MAAM,GAAG,CAAC,GAAGvB,aAAa,CAACuB,MAAM,GAAGjB;EAClD,GAECf,MAAM,CAACoB,KACQ,CAAC;AAErB;AAEA,SAASiB,gBAAgBA,CAAE;EAAEzC,OAAO;EAAEU,aAAa;EAAEC;AAAmB,CAAC,EAAG;EAC3E,OACC,IAAAS,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAsB,QAAA,QACC,IAAAtB,MAAA,CAAAC,aAAA,EAAC7B,iBAAiB,QACfQ,OAAO,CAAC2C,GAAG,CAAIvC,MAAM,IACtB,IAAAgB,MAAA,CAAAC,aAAA,EAACU,cAAc;IACdE,GAAG,EAAG7B,MAAM,CAAC8B,EAAI;IACjB9B,MAAM,EAAGA,MAAQ;IACjBM,aAAa,EAAGA,aAAe;IAC/BC,kBAAkB,EAAGA;EAAoB,CACzC,CACA,CACgB,CAAC,EACpB,IAAAS,MAAA,CAAAC,aAAA,EAACzB,qBAAqB,MAAE,CACvB,CAAC;AAEL;AAEe,SAASgD,WAAWA,CAAE;EACpCpC,IAAI;EACJR,OAAO;EACP6C,SAAS;EACTC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,WAAW,GAAG,IAAA9C,gBAAO,EAC1B,MAAMF,OAAO,CAACc,MAAM,CAAIV,MAAM,IAAMA,MAAM,CAACC,YAAa,CAAC,EACzD,CAAEL,OAAO,CACV,CAAC;EACD,MAAM,CAAEiD,UAAU,EAAErC,gBAAgB,CAAE,GAAG,IAAAsC,iBAAQ,EAAE,KAAM,CAAC;EAC1D,MAAM,CAAEC,eAAe,EAAExC,kBAAkB,CAAE,GAAG,IAAAuC,iBAAQ,EAAC,CAAC;EAC1D,MAAME,eAAe,GAAG,IAAAlD,gBAAO,EAAE,MAAM;IACtC,OAAOM,IAAI,CAACM,MAAM,CAAIb,IAAI,IAAM;MAC/B,OAAO+C,WAAW,CAAC7C,IAAI,CAAIC,MAAM,IAAMA,MAAM,CAACE,UAAU,CAAEL,IAAK,CAAE,CAAC;IACnE,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEO,IAAI,EAAEwC,WAAW,CAAG,CAAC;EAE1B,MAAMK,qBAAqB,GAAGD,eAAe,CAAChB,MAAM;EACpD,MAAMkB,cAAc,GACnBT,SAAS,IAAIA,SAAS,CAACT,MAAM,KAAKiB,qBAAqB;EAExD,MAAM3C,aAAa,GAAG,IAAAR,gBAAO,EAAE,MAAM;IACpC,OAAOM,IAAI,CAACM,MAAM,CAAIb,IAAI,IACzB4C,SAAS,CAACU,QAAQ,CAAER,SAAS,CAAE9C,IAAK,CAAE,CACvC,CAAC;EACF,CAAC,EAAE,CAAE4C,SAAS,EAAErC,IAAI,EAAEuC,SAAS,CAAG,CAAC;EAEnC,MAAMS,4BAA4B,GAAG,IAAAtD,gBAAO,EAAE,MAAM;IACnD,OAAOQ,aAAa,CAACP,IAAI,CAAIF,IAAI,IAAM;MACtC,OAAO,CAAEmD,eAAe,CAACG,QAAQ,CAAEtD,IAAK,CAAC;IAC1C,CAAE,CAAC;EACJ,CAAC,EAAE,CAAES,aAAa,EAAE0C,eAAe,CAAG,CAAC;EACvC,IAAAK,kBAAS,EAAE,MAAM;IAChB,IAAKD,4BAA4B,EAAG;MACnCV,iBAAiB,CAChBpC,aAAa,CAACI,MAAM,CAAI4C,YAAY,IAAM;QACzC,OAAON,eAAe,CAACjD,IAAI,CAAIF,IAAI,IAAM;UACxC,OAAO8C,SAAS,CAAEW,YAAa,CAAC,KAAKX,SAAS,CAAE9C,IAAK,CAAC;QACvD,CAAE,CAAC;MACJ,CAAE,CACH,CAAC;IACF;EACD,CAAC,EAAE,CACFuD,4BAA4B,EAC5B9C,aAAa,EACb0C,eAAe,EACfL,SAAS,EACTD,iBAAiB,CAChB,CAAC;EAEH,IAAKE,WAAW,CAACZ,MAAM,KAAK,CAAC,EAAG;IAC/B,OAAO,IAAI;EACZ;EACA,OACC,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAsB,QAAA,QACC,IAAAtB,MAAA,CAAAC,aAAA,EAAC/B,YAAY;IACZqE,IAAI,EAAGV,UAAY;IACnBW,YAAY,EAAGhD,gBAAkB;IACjCY,KAAK,EAAG,IAAAqC,QAAE,EAAE,cAAe,CAAG;IAC9BC,KAAK,EAAG;MAAEC,QAAQ,EAAE;IAAQ,CAAG;IAC/BC,OAAO,EACN,IAAA5C,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAiF,MAAM;MACNC,SAAS,EAAC,4BAA4B;MACtCC,qBAAqB;MACrBC,OAAO,EAAC,UAAU;MAClBC,IAAI,EAAC;IAAS,GAEZxB,SAAS,CAACT,MAAM,GACf,IAAAkC,aAAO,GACP;IACA,IAAAC,QAAE,EACD,cAAc,EACd,eAAe,EACf1B,SAAS,CAACT,MACX,CAAC,EACDS,SAAS,CAACT,MACV,CAAC,GACD,IAAAyB,QAAE,EAAE,WAAY,CACZ;EACR,GAED,IAAAzC,MAAA,CAAAC,aAAA,EAACoB,gBAAgB;IAChBzC,OAAO,EAAGgD,WAAa;IACvBrC,kBAAkB,EAAGA,kBAAoB;IACzCD,aAAa,EAAGA;EAAe,CAC/B,CAAC,EACF,IAAAU,MAAA,CAAAC,aAAA,EAAC7B,iBAAiB,QACjB,IAAA4B,MAAA,CAAAC,aAAA,EAAC3B,gBAAgB;IAChByC,QAAQ,EAAGmB,cAAgB;IAC3BjB,WAAW,EAAG,KAAO;IACrBC,OAAO,EAAGA,CAAA,KAAM;MACfQ,iBAAiB,CAAEM,eAAgB,CAAC;IACrC,CAAG;IACHZ,MAAM,EAAGa;EAAuB,GAE9B,IAAAQ,QAAE,EAAE,YAAa,CACF,CAAC,EACnB,IAAAzC,MAAA,CAAAC,aAAA,EAAC3B,gBAAgB;IAChByC,QAAQ,EAAGU,SAAS,CAACT,MAAM,KAAK,CAAG;IACnCC,WAAW,EAAG,KAAO;IACrBC,OAAO,EAAGA,CAAA,KAAM;MACfQ,iBAAiB,CAAE,EAAG,CAAC;IACxB;EAAG,GAED,IAAAe,QAAE,EAAE,UAAW,CACA,CACA,CACN,CAAC,EACbV,eAAe,IAChB,IAAA/B,MAAA,CAAAC,aAAA,EAACZ,eAAe;IACfL,MAAM,EAAG+C,eAAiB;IAC1BzC,aAAa,EAAGA,aAAe;IAC/BC,kBAAkB,EAAGA,kBAAoB;IACzCC,gBAAgB,EAAGA;EAAkB,CACrC,CAED,CAAC;AAEL","ignoreList":[]}
|
package/build/constants.js
CHANGED
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports.
|
|
6
|
+
exports.SORTING_DIRECTIONS = exports.OPERATOR_IS_NOT_ALL = exports.OPERATOR_IS_NOT = exports.OPERATOR_IS_NONE = exports.OPERATOR_IS_ANY = exports.OPERATOR_IS_ALL = exports.OPERATOR_IS = exports.OPERATORS = exports.LAYOUT_TABLE = exports.LAYOUT_LIST = exports.LAYOUT_GRID = exports.ALL_OPERATORS = void 0;
|
|
8
7
|
var _i18n = require("@wordpress/i18n");
|
|
9
|
-
var _icons = require("@wordpress/icons");
|
|
10
|
-
var _viewTable = _interopRequireDefault(require("./view-table"));
|
|
11
|
-
var _viewGrid = _interopRequireDefault(require("./view-grid"));
|
|
12
|
-
var _viewList = _interopRequireDefault(require("./view-list"));
|
|
13
8
|
/**
|
|
14
9
|
* WordPress dependencies
|
|
15
10
|
*/
|
|
16
11
|
|
|
17
|
-
/**
|
|
18
|
-
* Internal dependencies
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
12
|
// Filter operators.
|
|
22
13
|
const OPERATOR_IS = exports.OPERATOR_IS = 'is';
|
|
23
14
|
const OPERATOR_IS_NOT = exports.OPERATOR_IS_NOT = 'isNot';
|
|
@@ -67,20 +58,4 @@ const SORTING_DIRECTIONS = exports.SORTING_DIRECTIONS = {
|
|
|
67
58
|
const LAYOUT_TABLE = exports.LAYOUT_TABLE = 'table';
|
|
68
59
|
const LAYOUT_GRID = exports.LAYOUT_GRID = 'grid';
|
|
69
60
|
const LAYOUT_LIST = exports.LAYOUT_LIST = 'list';
|
|
70
|
-
const VIEW_LAYOUTS = exports.VIEW_LAYOUTS = [{
|
|
71
|
-
type: LAYOUT_TABLE,
|
|
72
|
-
label: (0, _i18n.__)('Table'),
|
|
73
|
-
component: _viewTable.default,
|
|
74
|
-
icon: _icons.blockTable
|
|
75
|
-
}, {
|
|
76
|
-
type: LAYOUT_GRID,
|
|
77
|
-
label: (0, _i18n.__)('Grid'),
|
|
78
|
-
component: _viewGrid.default,
|
|
79
|
-
icon: _icons.category
|
|
80
|
-
}, {
|
|
81
|
-
type: LAYOUT_LIST,
|
|
82
|
-
label: (0, _i18n.__)('List'),
|
|
83
|
-
component: _viewList.default,
|
|
84
|
-
icon: (0, _i18n.isRTL)() ? _icons.formatListBulletsRTL : _icons.formatListBullets
|
|
85
|
-
}];
|
|
86
61
|
//# sourceMappingURL=constants.js.map
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","
|
|
1
|
+
{"version":3,"names":["_i18n","require","OPERATOR_IS","exports","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","ALL_OPERATORS","OPERATORS","key","label","__","SORTING_DIRECTIONS","asc","desc","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST"],"sources":["@wordpress/dataviews/src/constants.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n// Filter operators.\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_IS_ALL = 'isAll';\nexport const OPERATOR_IS_NOT_ALL = 'isNotAll';\n\nexport const ALL_OPERATORS = [\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n];\nexport const OPERATORS = {\n\t[ OPERATOR_IS ]: {\n\t\tkey: 'is-filter',\n\t\tlabel: __( 'Is' ),\n\t},\n\t[ OPERATOR_IS_NOT ]: {\n\t\tkey: 'is-not-filter',\n\t\tlabel: __( 'Is not' ),\n\t},\n\t[ OPERATOR_IS_ANY ]: {\n\t\tkey: 'is-any-filter',\n\t\tlabel: __( 'Is any' ),\n\t},\n\t[ OPERATOR_IS_NONE ]: {\n\t\tkey: 'is-none-filter',\n\t\tlabel: __( 'Is none' ),\n\t},\n\t[ OPERATOR_IS_ALL ]: {\n\t\tkey: 'is-all-filter',\n\t\tlabel: __( 'Is all' ),\n\t},\n\t[ OPERATOR_IS_NOT_ALL ]: {\n\t\tkey: 'is-not-all-filter',\n\t\tlabel: __( 'Is not all' ),\n\t},\n};\n\n// Sorting\nexport const SORTING_DIRECTIONS = {\n\tasc: { label: __( 'Sort ascending' ) },\n\tdesc: { label: __( 'Sort descending' ) },\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAI;AACxB,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,OAAO;AAC/B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,OAAO;AAC/B,MAAMC,gBAAgB,GAAAH,OAAA,CAAAG,gBAAA,GAAG,QAAQ;AACjC,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,OAAO;AAC/B,MAAMC,mBAAmB,GAAAL,OAAA,CAAAK,mBAAA,GAAG,UAAU;AAEtC,MAAMC,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAG,CAC5BP,WAAW,EACXE,eAAe,EACfC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,CACnB;AACM,MAAME,SAAS,GAAAP,OAAA,CAAAO,SAAA,GAAG;EACxB,CAAER,WAAW,GAAI;IAChBS,GAAG,EAAE,WAAW;IAChBC,KAAK,EAAE,IAAAC,QAAE,EAAE,IAAK;EACjB,CAAC;EACD,CAAET,eAAe,GAAI;IACpBO,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;EACrB,CAAC;EACD,CAAER,eAAe,GAAI;IACpBM,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;EACrB,CAAC;EACD,CAAEP,gBAAgB,GAAI;IACrBK,GAAG,EAAE,gBAAgB;IACrBC,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU;EACtB,CAAC;EACD,CAAEN,eAAe,GAAI;IACpBI,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;EACrB,CAAC;EACD,CAAEL,mBAAmB,GAAI;IACxBG,GAAG,EAAE,mBAAmB;IACxBC,KAAK,EAAE,IAAAC,QAAE,EAAE,YAAa;EACzB;AACD,CAAC;;AAED;AACO,MAAMC,kBAAkB,GAAAX,OAAA,CAAAW,kBAAA,GAAG;EACjCC,GAAG,EAAE;IAAEH,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB;EAAE,CAAC;EACtCG,IAAI,EAAE;IAAEJ,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB;EAAE;AACxC,CAAC;;AAED;AACO,MAAMI,YAAY,GAAAd,OAAA,CAAAc,YAAA,GAAG,OAAO;AAC5B,MAAMC,WAAW,GAAAf,OAAA,CAAAe,WAAA,GAAG,MAAM;AAC1B,MAAMC,WAAW,GAAAhB,OAAA,CAAAgB,WAAA,GAAG,MAAM","ignoreList":[]}
|
package/build/dataviews.js
CHANGED
|
@@ -13,6 +13,7 @@ var _viewActions = _interopRequireDefault(require("./view-actions"));
|
|
|
13
13
|
var _filters = _interopRequireDefault(require("./filters"));
|
|
14
14
|
var _search = _interopRequireDefault(require("./search"));
|
|
15
15
|
var _constants = require("./constants");
|
|
16
|
+
var _layouts = require("./layouts");
|
|
16
17
|
var _bulkActions = _interopRequireDefault(require("./bulk-actions"));
|
|
17
18
|
var _normalizeFields = require("./normalize-fields");
|
|
18
19
|
/**
|
|
@@ -46,9 +47,7 @@ function DataViews({
|
|
|
46
47
|
isLoading = false,
|
|
47
48
|
paginationInfo,
|
|
48
49
|
supportedLayouts,
|
|
49
|
-
onSelectionChange = defaultOnSelectionChange
|
|
50
|
-
onDetailsChange = null,
|
|
51
|
-
deferredRendering = false
|
|
50
|
+
onSelectionChange = defaultOnSelectionChange
|
|
52
51
|
}) {
|
|
53
52
|
const [selection, setSelection] = (0, _element.useState)([]);
|
|
54
53
|
const [openedFilter, setOpenedFilter] = (0, _element.useState)(null);
|
|
@@ -63,7 +62,7 @@ function DataViews({
|
|
|
63
62
|
setSelection(items.map(item => getItemId(item)));
|
|
64
63
|
onSelectionChange(items);
|
|
65
64
|
}, [setSelection, getItemId, onSelectionChange]);
|
|
66
|
-
const ViewComponent =
|
|
65
|
+
const ViewComponent = _layouts.VIEW_LAYOUTS.find(v => v.type === view.type).component;
|
|
67
66
|
const _fields = (0, _element.useMemo)(() => (0, _normalizeFields.normalizeFields)(fields), [fields]);
|
|
68
67
|
const hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(actions, data);
|
|
69
68
|
return (0, _react.createElement)("div", {
|
|
@@ -106,9 +105,7 @@ function DataViews({
|
|
|
106
105
|
getItemId: getItemId,
|
|
107
106
|
isLoading: isLoading,
|
|
108
107
|
onSelectionChange: onSetSelection,
|
|
109
|
-
onDetailsChange: onDetailsChange,
|
|
110
108
|
selection: selection,
|
|
111
|
-
deferredRendering: deferredRendering,
|
|
112
109
|
setOpenedFilter: setOpenedFilter
|
|
113
110
|
}), (0, _react.createElement)(_pagination.default, {
|
|
114
111
|
view: view,
|
package/build/dataviews.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_bulkActions","_normalizeFields","defaultGetItemId","item","id","defaultOnSelectionChange","useSomeItemHasAPossibleBulkAction","actions","data","useMemo","some","action","supportsBulk","isEligible","DataViews","view","onChangeView","fields","search","searchLabel","undefined","getItemId","isLoading","paginationInfo","supportedLayouts","onSelectionChange","
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_layouts","_bulkActions","_normalizeFields","defaultGetItemId","item","id","defaultOnSelectionChange","useSomeItemHasAPossibleBulkAction","actions","data","useMemo","some","action","supportsBulk","isEligible","DataViews","view","onChangeView","fields","search","searchLabel","undefined","getItemId","isLoading","paginationInfo","supportedLayouts","onSelectionChange","selection","setSelection","useState","openedFilter","setOpenedFilter","useEffect","length","newSelection","filter","includes","onSetSelection","useCallback","items","map","ViewComponent","VIEW_LAYOUTS","find","v","type","component","_fields","normalizeFields","hasPossibleBulkAction","_react","createElement","className","__experimentalHStack","alignment","justify","wrap","default","label","LAYOUT_TABLE","LAYOUT_GRID"],"sources":["@wordpress/dataviews/src/dataviews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nimport BulkActions from './bulk-actions';\nimport { normalizeFields } from './normalize-fields';\n\nconst defaultGetItemId = ( item ) => item.id;\nconst defaultOnSelectionChange = () => {};\n\nfunction useSomeItemHasAPossibleBulkAction( actions, data ) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nexport default function DataViews( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = [],\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tsupportedLayouts,\n\tonSelectionChange = defaultOnSelectionChange,\n} ) {\n\tconst [ selection, setSelection ] = useState( [] );\n\tconst [ openedFilter, setOpenedFilter ] = useState( null );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tselection.length > 0 &&\n\t\t\tselection.some(\n\t\t\t\t( id ) => ! data.some( ( item ) => getItemId( item ) === id )\n\t\t\t)\n\t\t) {\n\t\t\tconst newSelection = selection.filter( ( id ) =>\n\t\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t\t);\n\t\t\tsetSelection( newSelection );\n\t\t\tonSelectionChange(\n\t\t\t\tdata.filter( ( item ) =>\n\t\t\t\t\tnewSelection.includes( getItemId( item ) )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selection, data, getItemId, onSelectionChange ] );\n\n\tconst onSetSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items.map( ( item ) => getItemId( item ) ) );\n\t\t\tonSelectionChange( items );\n\t\t},\n\t\t[ setSelection, getItemId, onSelectionChange ]\n\t);\n\n\tconst ViewComponent = VIEW_LAYOUTS.find(\n\t\t( v ) => v.type === view.type\n\t).component;\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\n\tconst hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(\n\t\tactions,\n\t\tdata\n\t);\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"start\"\n\t\t\t\tclassName=\"dataviews-filters__view-actions\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews-filters__container\"\n\t\t\t\t\twrap\n\t\t\t\t>\n\t\t\t\t\t{ search && (\n\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<Filters\n\t\t\t\t\t\tfields={ _fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t\t<BulkActions\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t<ViewActions\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<ViewComponent\n\t\t\t\tfields={ _fields }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tisLoading={ isLoading }\n\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t/>\n\t\t\t<Pagination\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_primitives","_lockUnlock","DropdownMenuItemV2","DropdownMenuItem","unlock","componentsPrivateApis","radioCheck","_react","createElement","SVG","xmlns","viewBox","Circle","cx","cy","r","DropdownMenuRadioItemCustom","exports","forwardRef","checked","name","value","hideOnClick","onChange","onClick","props","ref","onClickHandler","e","target","role","prefix","Icon","icon","className"],"sources":["@wordpress/dataviews/src/dropdown-menu-helper.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { DropdownMenuItemV2: DropdownMenuItem } = unlock(\n\tcomponentsPrivateApis\n);\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\n/**\n * A custom implementation of a radio menu item using the standard menu item\n * component, which allows deselecting selected values.\n */\nexport const DropdownMenuRadioItemCustom = forwardRef(\n\tfunction DropdownMenuRadioItemCustom(\n\t\t{ checked, name, value, hideOnClick, onChange, onClick, ...props },\n\t\tref\n\t) {\n\t\tconst onClickHandler = ( e ) => {\n\t\t\tonClick?.( e );\n\t\t\tonChange?.( { ...e, target: { ...e.target, value } } );\n\t\t};\n\t\treturn (\n\t\t\t<DropdownMenuItem\n\t\t\t\tref={ ref }\n\t\t\t\trole=\"menuitemradio\"\n\t\t\t\tname={ name }\n\t\t\t\taria-checked={ checked }\n\t\t\t\thideOnClick={ !! hideOnClick }\n\t\t\t\tprefix={\n\t\t\t\t\tchecked ? (\n\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__custom-menu-radio-item-prefix\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t></span>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tonClick={ onClickHandler }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,MAAM;EAAEI,kBAAkB,EAAEC;AAAiB,CAAC,GAAG,IAAAC,kBAAM,EACtDC,uBACD,CAAC;AAED,MAAMC,UAAU,GACf,IAAAC,MAAA,CAAAC,aAAA,EAACR,WAAA,CAAAS,GAAG;EAACC,KAAK,EAAC,4BAA4B;EAACC,OAAO,EAAC;AAAW,GAC1D,IAAAJ,MAAA,CAAAC,aAAA,EAACR,WAAA,CAAAY,MAAM;EAACC,EAAE,EAAG,EAAI;EAACC,EAAE,EAAG,EAAI;EAACC,CAAC,EAAG;AAAG,CAAS,CACxC,CACL;;AAED;AACA;AACA;AACA;AACO,MAAMC,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,IAAAE,mBAAU,EACpD,SAASF,2BAA2BA,CACnC;EAAEG,OAAO;EAAEC,IAAI;EAAEC,KAAK;EAAEC,WAAW;EAAEC,QAAQ;EAAEC,OAAO;EAAE,GAAGC;AAAM,CAAC,EAClEC,GAAG,EACF;EACD,MAAMC,cAAc,GAAKC,CAAC,IAAM;IAC/BJ,OAAO,GAAII,CAAE,CAAC;IACdL,QAAQ,GAAI;MAAE,GAAGK,CAAC;MAAEC,MAAM,EAAE;QAAE,GAAGD,CAAC,CAACC,MAAM;QAAER;MAAM;IAAE,CAAE,CAAC;EACvD,CAAC;EACD,OACC,IAAAd,MAAA,CAAAC,aAAA,EAACL,gBAAgB;IAChBuB,GAAG,EAAGA,GAAK;IACXI,IAAI,EAAC,eAAe;IACpBV,IAAI,EAAGA,IAAM;IACb,gBAAeD,OAAS;IACxBG,WAAW,EAAG,CAAC,CAAEA,WAAa;IAC9BS,MAAM,EACLZ,OAAO,GACN,IAAAZ,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAmC,IAAI;MAACC,IAAI,EAAG3B;IAAY,CAAE,CAAC,GAE5B,IAAAC,MAAA,CAAAC,aAAA;MACC0B,SAAS,EAAC,kDAAkD;MAC5D,eAAY;IAAM,CACZ,CAER;IACDV,OAAO,EAAGG,cAAgB;IAAA,GACrBF;EAAK,CACV,CAAC;AAEJ,CACD,CAAC"}
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_primitives","_lockUnlock","DropdownMenuItemV2","DropdownMenuItem","unlock","componentsPrivateApis","radioCheck","_react","createElement","SVG","xmlns","viewBox","Circle","cx","cy","r","DropdownMenuRadioItemCustom","exports","forwardRef","checked","name","value","hideOnClick","onChange","onClick","props","ref","onClickHandler","e","target","role","prefix","Icon","icon","className"],"sources":["@wordpress/dataviews/src/dropdown-menu-helper.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { DropdownMenuItemV2: DropdownMenuItem } = unlock(\n\tcomponentsPrivateApis\n);\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\n/**\n * A custom implementation of a radio menu item using the standard menu item\n * component, which allows deselecting selected values.\n */\nexport const DropdownMenuRadioItemCustom = forwardRef(\n\tfunction DropdownMenuRadioItemCustom(\n\t\t{ checked, name, value, hideOnClick, onChange, onClick, ...props },\n\t\tref\n\t) {\n\t\tconst onClickHandler = ( e ) => {\n\t\t\tonClick?.( e );\n\t\t\tonChange?.( { ...e, target: { ...e.target, value } } );\n\t\t};\n\t\treturn (\n\t\t\t<DropdownMenuItem\n\t\t\t\tref={ ref }\n\t\t\t\trole=\"menuitemradio\"\n\t\t\t\tname={ name }\n\t\t\t\taria-checked={ checked }\n\t\t\t\thideOnClick={ !! hideOnClick }\n\t\t\t\tprefix={\n\t\t\t\t\tchecked ? (\n\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__custom-menu-radio-item-prefix\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t></span>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tonClick={ onClickHandler }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,MAAM;EAAEI,kBAAkB,EAAEC;AAAiB,CAAC,GAAG,IAAAC,kBAAM,EACtDC,uBACD,CAAC;AAED,MAAMC,UAAU,GACf,IAAAC,MAAA,CAAAC,aAAA,EAACR,WAAA,CAAAS,GAAG;EAACC,KAAK,EAAC,4BAA4B;EAACC,OAAO,EAAC;AAAW,GAC1D,IAAAJ,MAAA,CAAAC,aAAA,EAACR,WAAA,CAAAY,MAAM;EAACC,EAAE,EAAG,EAAI;EAACC,EAAE,EAAG,EAAI;EAACC,CAAC,EAAG;AAAG,CAAS,CACxC,CACL;;AAED;AACA;AACA;AACA;AACO,MAAMC,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,IAAAE,mBAAU,EACpD,SAASF,2BAA2BA,CACnC;EAAEG,OAAO;EAAEC,IAAI;EAAEC,KAAK;EAAEC,WAAW;EAAEC,QAAQ;EAAEC,OAAO;EAAE,GAAGC;AAAM,CAAC,EAClEC,GAAG,EACF;EACD,MAAMC,cAAc,GAAKC,CAAC,IAAM;IAC/BJ,OAAO,GAAII,CAAE,CAAC;IACdL,QAAQ,GAAI;MAAE,GAAGK,CAAC;MAAEC,MAAM,EAAE;QAAE,GAAGD,CAAC,CAACC,MAAM;QAAER;MAAM;IAAE,CAAE,CAAC;EACvD,CAAC;EACD,OACC,IAAAd,MAAA,CAAAC,aAAA,EAACL,gBAAgB;IAChBuB,GAAG,EAAGA,GAAK;IACXI,IAAI,EAAC,eAAe;IACpBV,IAAI,EAAGA,IAAM;IACb,gBAAeD,OAAS;IACxBG,WAAW,EAAG,CAAC,CAAEA,WAAa;IAC9BS,MAAM,EACLZ,OAAO,GACN,IAAAZ,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAmC,IAAI;MAACC,IAAI,EAAG3B;IAAY,CAAE,CAAC,GAE5B,IAAAC,MAAA,CAAAC,aAAA;MACC0B,SAAS,EAAC,kDAAkD;MAC5D,eAAY;IAAM,CACZ,CAER;IACDV,OAAO,EAAGG,cAAgB;IAAA,GACrBF;EAAK,CACV,CAAC;AAEJ,CACD,CAAC","ignoreList":[]}
|
|
@@ -24,11 +24,11 @@ const EMPTY_ARRAY = [];
|
|
|
24
24
|
/**
|
|
25
25
|
* Applies the filtering, sorting and pagination to the raw data based on the view configuration.
|
|
26
26
|
*
|
|
27
|
-
* @param
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
27
|
+
* @param data Raw data.
|
|
28
|
+
* @param view View config.
|
|
29
|
+
* @param fields Fields config.
|
|
30
30
|
*
|
|
31
|
-
* @return
|
|
31
|
+
* @return Filtered, sorted and paginated data.
|
|
32
32
|
*/
|
|
33
33
|
function filterSortAndPaginate(data, view, fields) {
|
|
34
34
|
if (!data) {
|
|
@@ -56,58 +56,60 @@ function filterSortAndPaginate(data, view, fields) {
|
|
|
56
56
|
if (view.filters.length > 0) {
|
|
57
57
|
view.filters.forEach(filter => {
|
|
58
58
|
const field = _fields.find(_field => _field.id === filter.field);
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
64
|
-
if (Array.isArray(fieldValue)) {
|
|
65
|
-
return filter.value.some(filterValue => fieldValue.includes(filterValue));
|
|
66
|
-
} else if (typeof fieldValue === 'string') {
|
|
67
|
-
return filter.value.includes(fieldValue);
|
|
68
|
-
}
|
|
69
|
-
return false;
|
|
70
|
-
});
|
|
71
|
-
} else if (filter.operator === _constants.OPERATOR_IS_NONE && filter?.value?.length > 0) {
|
|
72
|
-
filteredData = filteredData.filter(item => {
|
|
73
|
-
const fieldValue = field.getValue({
|
|
74
|
-
item
|
|
75
|
-
});
|
|
76
|
-
if (Array.isArray(fieldValue)) {
|
|
77
|
-
return !filter.value.some(filterValue => fieldValue.includes(filterValue));
|
|
78
|
-
} else if (typeof fieldValue === 'string') {
|
|
79
|
-
return !filter.value.includes(fieldValue);
|
|
80
|
-
}
|
|
81
|
-
return false;
|
|
82
|
-
});
|
|
83
|
-
} else if (filter.operator === _constants.OPERATOR_IS_ALL && filter?.value?.length > 0) {
|
|
84
|
-
filteredData = filteredData.filter(item => {
|
|
85
|
-
return filter.value.every(value => {
|
|
86
|
-
return field.getValue({
|
|
59
|
+
if (field) {
|
|
60
|
+
if (filter.operator === _constants.OPERATOR_IS_ANY && filter?.value?.length > 0) {
|
|
61
|
+
filteredData = filteredData.filter(item => {
|
|
62
|
+
const fieldValue = field.getValue({
|
|
87
63
|
item
|
|
88
|
-
})
|
|
64
|
+
});
|
|
65
|
+
if (Array.isArray(fieldValue)) {
|
|
66
|
+
return filter.value.some(filterValue => fieldValue.includes(filterValue));
|
|
67
|
+
} else if (typeof fieldValue === 'string') {
|
|
68
|
+
return filter.value.includes(fieldValue);
|
|
69
|
+
}
|
|
70
|
+
return false;
|
|
89
71
|
});
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return filter.value.every(value => {
|
|
94
|
-
return !field.getValue({
|
|
72
|
+
} else if (filter.operator === _constants.OPERATOR_IS_NONE && filter?.value?.length > 0) {
|
|
73
|
+
filteredData = filteredData.filter(item => {
|
|
74
|
+
const fieldValue = field.getValue({
|
|
95
75
|
item
|
|
96
|
-
})
|
|
76
|
+
});
|
|
77
|
+
if (Array.isArray(fieldValue)) {
|
|
78
|
+
return !filter.value.some(filterValue => fieldValue.includes(filterValue));
|
|
79
|
+
} else if (typeof fieldValue === 'string') {
|
|
80
|
+
return !filter.value.includes(fieldValue);
|
|
81
|
+
}
|
|
82
|
+
return false;
|
|
97
83
|
});
|
|
98
|
-
})
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
84
|
+
} else if (filter.operator === _constants.OPERATOR_IS_ALL && filter?.value?.length > 0) {
|
|
85
|
+
filteredData = filteredData.filter(item => {
|
|
86
|
+
return filter.value.every(value => {
|
|
87
|
+
return field.getValue({
|
|
88
|
+
item
|
|
89
|
+
}).includes(value);
|
|
90
|
+
});
|
|
103
91
|
});
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
92
|
+
} else if (filter.operator === _constants.OPERATOR_IS_NOT_ALL && filter?.value?.length > 0) {
|
|
93
|
+
filteredData = filteredData.filter(item => {
|
|
94
|
+
return filter.value.every(value => {
|
|
95
|
+
return !field.getValue({
|
|
96
|
+
item
|
|
97
|
+
}).includes(value);
|
|
98
|
+
});
|
|
109
99
|
});
|
|
110
|
-
})
|
|
100
|
+
} else if (filter.operator === _constants.OPERATOR_IS) {
|
|
101
|
+
filteredData = filteredData.filter(item => {
|
|
102
|
+
return filter.value === field.getValue({
|
|
103
|
+
item
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
} else if (filter.operator === _constants.OPERATOR_IS_NOT) {
|
|
107
|
+
filteredData = filteredData.filter(item => {
|
|
108
|
+
return filter.value !== field.getValue({
|
|
109
|
+
item
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
111
113
|
}
|
|
112
114
|
});
|
|
113
115
|
}
|
|
@@ -118,24 +120,29 @@ function filterSortAndPaginate(data, view, fields) {
|
|
|
118
120
|
const fieldToSort = _fields.find(field => {
|
|
119
121
|
return field.id === fieldId;
|
|
120
122
|
});
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
if (fieldToSort) {
|
|
124
|
+
filteredData.sort((a, b) => {
|
|
125
|
+
var _fieldToSort$getValue, _fieldToSort$getValue2;
|
|
126
|
+
const valueA = (_fieldToSort$getValue = fieldToSort.getValue({
|
|
127
|
+
item: a
|
|
128
|
+
})) !== null && _fieldToSort$getValue !== void 0 ? _fieldToSort$getValue : '';
|
|
129
|
+
const valueB = (_fieldToSort$getValue2 = fieldToSort.getValue({
|
|
130
|
+
item: b
|
|
131
|
+
})) !== null && _fieldToSort$getValue2 !== void 0 ? _fieldToSort$getValue2 : '';
|
|
132
|
+
return view.sort?.direction === 'asc' ? valueA.localeCompare(valueB) : valueB.localeCompare(valueA);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
131
135
|
}
|
|
132
136
|
|
|
133
137
|
// Handle pagination.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
138
|
+
let totalItems = filteredData.length;
|
|
139
|
+
let totalPages = 1;
|
|
140
|
+
if (view.page !== undefined && view.perPage !== undefined) {
|
|
141
|
+
const start = (view.page - 1) * view.perPage;
|
|
142
|
+
totalItems = filteredData?.length || 0;
|
|
143
|
+
totalPages = Math.ceil(totalItems / view.perPage);
|
|
144
|
+
filteredData = filteredData?.slice(start, start + view.perPage);
|
|
145
|
+
}
|
|
139
146
|
return {
|
|
140
147
|
data: filteredData,
|
|
141
148
|
paginationInfo: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_removeAccents","_interopRequireDefault","require","_constants","_normalizeFields","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","filterSortAndPaginate","data","view","fields","paginationInfo","totalItems","totalPages","_fields","normalizeFields","filteredData","search","normalizedSearch","filter","item","field","enableGlobalSearch","map","getValue","some","includes","filters","length","forEach","find","_field","id","operator","OPERATOR_IS_ANY","value","fieldValue","Array","isArray","filterValue","OPERATOR_IS_NONE","OPERATOR_IS_ALL","every","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","sort","fieldId","fieldToSort","a","b","_fieldToSort$getValue","_fieldToSort$getValue2","valueA","valueB","direction","localeCompare","hasPagination","page","perPage","start","Math","ceil","slice"],"sources":["@wordpress/dataviews/src/filter-and-sort-data-view.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\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} from './constants';\nimport { normalizeFields } from './normalize-fields';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param {any[]} data Raw data.\n * @param {Object} view View config.\n * @param {Object[]} fields Fields config.\n *\n * @return {Object} { data: any[], paginationInfo: { totalItems: number, totalPages: number } }\n */\nexport function filterSortAndPaginate( data, view, fields ) {\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.map( ( field ) => {\n\t\t\t\t\treturn normalizeSearchInput( field.getValue( { item } ) );\n\t\t\t\t} )\n\t\t\t\t.some( ( field ) => field.includes( normalizedSearch ) );\n\t\t} );\n\t}\n\n\tif ( 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 (\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\tfilter?.value?.length > 0\n\t\t\t) {\n\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\treturn filter.value.some( ( filterValue ) =>\n\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t} else if (\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\tfilter?.value?.length > 0\n\t\t\t) {\n\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\treturn ! filter.value.some( ( filterValue ) =>\n\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t} else if (\n\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\tfilter?.value?.length > 0\n\t\t\t) {\n\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\treturn filter.value.every( ( value ) => {\n\t\t\t\t\t\treturn field.getValue( { item } ).includes( value );\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} else if (\n\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\tfilter?.value?.length > 0\n\t\t\t) {\n\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\treturn filter.value.every( ( value ) => {\n\t\t\t\t\t\treturn ! field.getValue( { item } ).includes( value );\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\treturn filter.value === field.getValue( { item } );\n\t\t\t\t} );\n\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tif ( view.sort ) {\n\t\tconst fieldId = view.sort.field;\n\t\tconst fieldToSort = _fields.find( ( field ) => {\n\t\t\treturn field.id === fieldId;\n\t\t} );\n\t\tfilteredData.sort( ( a, b ) => {\n\t\t\tconst valueA = fieldToSort.getValue( { item: a } ) ?? '';\n\t\t\tconst valueB = fieldToSort.getValue( { item: b } ) ?? '';\n\t\t\treturn view.sort.direction === 'asc'\n\t\t\t\t? valueA.localeCompare( valueB )\n\t\t\t\t: valueB.localeCompare( valueA );\n\t\t} );\n\t}\n\n\t// Handle pagination.\n\tconst hasPagination = view.page && view.perPage;\n\tconst start = hasPagination ? ( view.page - 1 ) * view.perPage : 0;\n\tconst totalItems = filteredData?.length || 0;\n\tconst totalPages = hasPagination\n\t\t? Math.ceil( totalItems / view.perPage )\n\t\t: 1;\n\tfilteredData = hasPagination\n\t\t? filteredData?.slice( start, start + view.perPage )\n\t\t: filteredData;\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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"}
|
|
1
|
+
{"version":3,"names":["_removeAccents","_interopRequireDefault","require","_constants","_normalizeFields","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","filterSortAndPaginate","data","view","fields","paginationInfo","totalItems","totalPages","_fields","normalizeFields","filteredData","search","normalizedSearch","filter","item","field","enableGlobalSearch","map","getValue","some","includes","filters","length","forEach","find","_field","id","operator","OPERATOR_IS_ANY","value","fieldValue","Array","isArray","filterValue","OPERATOR_IS_NONE","OPERATOR_IS_ALL","every","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","sort","fieldId","fieldToSort","a","b","_fieldToSort$getValue","_fieldToSort$getValue2","valueA","valueB","direction","localeCompare","page","undefined","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';\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} from './constants';\nimport { normalizeFields } from './normalize-fields';\nimport type { Data, Field, View } from './types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: Data = [];\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(\n\tdata: Data,\n\tview: View,\n\tfields: Field[]\n): { data: Data; paginationInfo: { totalItems: number; totalPages: number } } {\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.map( ( field ) => {\n\t\t\t\t\treturn normalizeSearchInput( field.getValue( { item } ) );\n\t\t\t\t} )\n\t\t\t\t.some( ( field ) => field.includes( normalizedSearch ) );\n\t\t} );\n\t}\n\n\tif ( 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.getValue( { item } ).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 filter.value === field.getValue( { item } );\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}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tif ( view.sort ) {\n\t\tconst fieldId = view.sort.field;\n\t\tconst fieldToSort = _fields.find( ( field ) => {\n\t\t\treturn field.id === fieldId;\n\t\t} );\n\t\tif ( fieldToSort ) {\n\t\t\tfilteredData.sort( ( a, b ) => {\n\t\t\t\tconst valueA = fieldToSort.getValue( { item: a } ) ?? '';\n\t\t\t\tconst valueB = fieldToSort.getValue( { item: b } ) ?? '';\n\t\t\t\treturn view.sort?.direction === 'asc'\n\t\t\t\t\t? valueA.localeCompare( valueB )\n\t\t\t\t\t: valueB.localeCompare( valueA );\n\t\t\t} );\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":[]}
|
package/build/filter-summary.js
CHANGED
|
@@ -11,7 +11,6 @@ var _components = require("@wordpress/components");
|
|
|
11
11
|
var _i18n = require("@wordpress/i18n");
|
|
12
12
|
var _element = require("@wordpress/element");
|
|
13
13
|
var _icons = require("@wordpress/icons");
|
|
14
|
-
var _keycodes = require("@wordpress/keycodes");
|
|
15
14
|
var _searchWidget = _interopRequireDefault(require("./search-widget"));
|
|
16
15
|
var _constants = require("./constants");
|
|
17
16
|
/**
|
|
@@ -22,6 +21,9 @@ var _constants = require("./constants");
|
|
|
22
21
|
* WordPress dependencies
|
|
23
22
|
*/
|
|
24
23
|
|
|
24
|
+
const ENTER = 'Enter';
|
|
25
|
+
const SPACE = ' ';
|
|
26
|
+
|
|
25
27
|
/**
|
|
26
28
|
* Internal dependencies
|
|
27
29
|
*/
|
|
@@ -163,7 +165,7 @@ function FilterSummary({
|
|
|
163
165
|
tabIndex: 0,
|
|
164
166
|
onClick: onToggle,
|
|
165
167
|
onKeyDown: event => {
|
|
166
|
-
if ([
|
|
168
|
+
if ([ENTER, SPACE].includes(event.key)) {
|
|
167
169
|
onToggle();
|
|
168
170
|
event.preventDefault();
|
|
169
171
|
}
|