@wordpress/dataviews 3.0.0 → 4.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 +8 -1
- package/README.md +19 -4
- package/build/{dataform.js → components/dataform/index.js} +5 -5
- package/build/components/dataform/index.js.map +1 -0
- package/build/components/dataviews/index.js +115 -0
- package/build/components/dataviews/index.js.map +1 -0
- package/build/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -16
- package/build/components/dataviews-bulk-actions/index.js.map +1 -0
- package/build/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +36 -19
- package/build/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
- package/build/components/dataviews-context/index.js +36 -0
- package/build/components/dataviews-context/index.js.map +1 -0
- package/build/{add-filter.js → components/dataviews-filters/add-filter.js} +2 -2
- package/build/components/dataviews-filters/add-filter.js.map +1 -0
- package/build/{filter-summary.js → components/dataviews-filters/filter-summary.js} +9 -9
- package/build/components/dataviews-filters/filter-summary.js.map +1 -0
- package/build/{filters.js → components/dataviews-filters/index.js} +14 -15
- package/build/components/dataviews-filters/index.js.map +1 -0
- package/build/components/dataviews-filters/reset-filters.js.map +1 -0
- package/build/{search-widget.js → components/dataviews-filters/search-widget.js} +13 -13
- package/build/components/dataviews-filters/search-widget.js.map +1 -0
- package/build/{item-actions.js → components/dataviews-item-actions/index.js} +2 -2
- package/build/components/dataviews-item-actions/index.js.map +1 -0
- package/build/components/dataviews-layout/index.js +53 -0
- package/build/components/dataviews-layout/index.js.map +1 -0
- package/build/{pagination.js → components/dataviews-pagination/index.js} +16 -13
- package/build/components/dataviews-pagination/index.js.map +1 -0
- package/build/{search.js → components/dataviews-search/index.js} +10 -6
- package/build/components/dataviews-search/index.js.map +1 -0
- package/build/{single-selection-checkbox.js → components/dataviews-selection-checkbox/index.js} +6 -6
- package/build/components/dataviews-selection-checkbox/index.js.map +1 -0
- package/build/{view-actions.js → components/dataviews-view-config/index.js} +19 -16
- package/build/components/dataviews-view-config/index.js.map +1 -0
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/layouts/grid/density-picker.js +143 -0
- package/build/layouts/grid/density-picker.js.map +1 -0
- package/build/{view-grid.js → layouts/grid/index.js} +34 -35
- package/build/layouts/grid/index.js.map +1 -0
- package/build/layouts/index.js +52 -0
- package/build/layouts/index.js.map +1 -0
- package/build/{view-list.js → layouts/list/index.js} +26 -23
- package/build/layouts/list/index.js.map +1 -0
- package/build/layouts/table/column-header-menu.js +196 -0
- package/build/layouts/table/column-header-menu.js.map +1 -0
- package/build/layouts/table/index.js +350 -0
- package/build/layouts/table/index.js.map +1 -0
- package/build/normalize-fields.js +1 -1
- package/build/normalize-fields.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build-module/{dataform.js → components/dataform/index.js} +5 -5
- package/build-module/components/dataform/index.js.map +1 -0
- package/build-module/components/dataviews/index.js +108 -0
- package/build-module/components/dataviews/index.js.map +1 -0
- package/build-module/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -17
- package/build-module/components/dataviews-bulk-actions/index.js.map +1 -0
- package/build-module/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +35 -19
- package/build-module/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
- package/build-module/components/dataviews-context/index.js +30 -0
- package/build-module/components/dataviews-context/index.js.map +1 -0
- package/build-module/{add-filter.js → components/dataviews-filters/add-filter.js} +2 -2
- package/build-module/components/dataviews-filters/add-filter.js.map +1 -0
- package/build-module/{filter-summary.js → components/dataviews-filters/filter-summary.js} +9 -9
- package/build-module/components/dataviews-filters/filter-summary.js.map +1 -0
- package/build-module/{filters.js → components/dataviews-filters/index.js} +15 -16
- package/build-module/components/dataviews-filters/index.js.map +1 -0
- package/build-module/components/dataviews-filters/reset-filters.js.map +1 -0
- package/build-module/{search-widget.js → components/dataviews-filters/search-widget.js} +13 -13
- package/build-module/components/dataviews-filters/search-widget.js.map +1 -0
- package/build-module/{item-actions.js → components/dataviews-item-actions/index.js} +2 -2
- package/build-module/components/dataviews-item-actions/index.js.map +1 -0
- package/build-module/components/dataviews-layout/index.js +45 -0
- package/build-module/components/dataviews-layout/index.js.map +1 -0
- package/build-module/{pagination.js → components/dataviews-pagination/index.js} +17 -15
- package/build-module/components/dataviews-pagination/index.js.map +1 -0
- package/build-module/{search.js → components/dataviews-search/index.js} +10 -7
- package/build-module/components/dataviews-search/index.js.map +1 -0
- package/build-module/{single-selection-checkbox.js → components/dataviews-selection-checkbox/index.js} +5 -5
- package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -0
- package/build-module/{view-actions.js → components/dataviews-view-config/index.js} +19 -17
- package/build-module/components/dataviews-view-config/index.js.map +1 -0
- package/build-module/index.js +2 -2
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/grid/density-picker.js +138 -0
- package/build-module/layouts/grid/density-picker.js.map +1 -0
- package/build-module/{view-grid.js → layouts/grid/index.js} +31 -32
- package/build-module/layouts/grid/index.js.map +1 -0
- package/build-module/layouts/index.js +43 -0
- package/build-module/layouts/index.js.map +1 -0
- package/build-module/{view-list.js → layouts/list/index.js} +24 -21
- package/build-module/layouts/list/index.js.map +1 -0
- package/build-module/layouts/table/column-header-menu.js +190 -0
- package/build-module/layouts/table/column-header-menu.js.map +1 -0
- package/build-module/layouts/table/index.js +344 -0
- package/build-module/layouts/table/index.js.map +1 -0
- package/build-module/normalize-fields.js +1 -1
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-style/style-rtl.css +607 -545
- package/build-style/style.css +607 -545
- package/build-types/{dataform.d.ts → components/dataform/index.d.ts} +2 -2
- package/build-types/components/dataform/index.d.ts.map +1 -0
- package/build-types/components/dataform/stories/index.story.d.ts +11 -0
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -0
- package/build-types/{dataviews.d.ts → components/dataviews/index.d.ts} +9 -7
- package/build-types/components/dataviews/index.d.ts.map +1 -0
- package/build-types/{stories → components/dataviews/stories}/fixtures.d.ts +7 -19
- package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -0
- package/build-types/components/dataviews/stories/index.story.d.ts +46 -0
- package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -0
- package/build-types/components/dataviews-bulk-actions/index.d.ts +5 -0
- package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -0
- package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts +2 -0
- package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts.map +1 -0
- package/build-types/components/dataviews-context/index.d.ts +26 -0
- package/build-types/components/dataviews-context/index.d.ts.map +1 -0
- package/build-types/{add-filter.d.ts → components/dataviews-filters/add-filter.d.ts} +1 -2
- package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -0
- package/build-types/{filter-summary.d.ts → components/dataviews-filters/filter-summary.d.ts} +1 -1
- package/build-types/components/dataviews-filters/filter-summary.d.ts.map +1 -0
- package/build-types/components/dataviews-filters/index.d.ts +4 -0
- package/build-types/components/dataviews-filters/index.d.ts.map +1 -0
- package/build-types/{reset-filters.d.ts → components/dataviews-filters/reset-filters.d.ts} +1 -2
- package/build-types/components/dataviews-filters/reset-filters.d.ts.map +1 -0
- package/build-types/{search-widget.d.ts → components/dataviews-filters/search-widget.d.ts} +1 -2
- package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -0
- package/build-types/{item-actions.d.ts → components/dataviews-item-actions/index.d.ts} +2 -2
- package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -0
- package/build-types/components/dataviews-layout/index.d.ts +2 -0
- package/build-types/components/dataviews-layout/index.d.ts.map +1 -0
- package/build-types/components/dataviews-pagination/index.d.ts +4 -0
- package/build-types/components/dataviews-pagination/index.d.ts.map +1 -0
- package/build-types/components/dataviews-search/index.d.ts +6 -0
- package/build-types/components/dataviews-search/index.d.ts.map +1 -0
- package/build-types/components/dataviews-selection-checkbox/index.d.ts +16 -0
- package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -0
- package/build-types/components/dataviews-view-config/index.d.ts +8 -0
- package/build-types/components/dataviews-view-config/index.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/layouts/grid/density-picker.d.ts +5 -0
- package/build-types/layouts/grid/density-picker.d.ts.map +1 -0
- package/build-types/layouts/grid/index.d.ts +3 -0
- package/build-types/layouts/grid/index.d.ts.map +1 -0
- package/build-types/{layouts.d.ts → layouts/index.d.ts} +6 -5
- package/build-types/layouts/index.d.ts.map +1 -0
- package/build-types/layouts/list/index.d.ts +3 -0
- package/build-types/layouts/list/index.d.ts.map +1 -0
- package/build-types/layouts/table/column-header-menu.d.ts +17 -0
- package/build-types/layouts/table/column-header-menu.d.ts.map +1 -0
- package/build-types/layouts/table/index.d.ts +4 -0
- package/build-types/layouts/table/index.d.ts.map +1 -0
- package/build-types/types.d.ts +42 -23
- package/build-types/types.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/{dataform.tsx → components/dataform/index.tsx} +5 -5
- package/src/components/dataform/stories/index.story.tsx +42 -0
- package/src/components/dataviews/index.tsx +149 -0
- package/src/{stories → components/dataviews/stories}/fixtures.js +7 -11
- package/src/{stories → components/dataviews/stories}/index.story.js +17 -3
- package/src/components/dataviews/style.scss +97 -0
- package/src/{bulk-actions.tsx → components/dataviews-bulk-actions/index.tsx} +46 -29
- package/src/components/dataviews-bulk-actions/style.scss +7 -0
- package/src/{bulk-actions-toolbar.tsx → components/dataviews-bulk-actions-toolbar/index.tsx} +42 -30
- package/src/components/dataviews-bulk-actions-toolbar/style.scss +45 -0
- package/src/components/dataviews-context/index.ts +49 -0
- package/src/{add-filter.tsx → components/dataviews-filters/add-filter.tsx} +3 -3
- package/src/{filter-summary.tsx → components/dataviews-filters/filter-summary.tsx} +18 -10
- package/src/{filters.tsx → components/dataviews-filters/index.tsx} +10 -24
- package/src/{reset-filters.tsx → components/dataviews-filters/reset-filters.tsx} +1 -1
- package/src/{search-widget.tsx → components/dataviews-filters/search-widget.tsx} +14 -14
- package/src/components/dataviews-filters/style.scss +252 -0
- package/src/{item-actions.tsx → components/dataviews-item-actions/index.tsx} +2 -2
- package/src/components/dataviews-item-actions/style.scss +3 -0
- package/src/components/dataviews-layout/index.tsx +51 -0
- package/src/{pagination.tsx → components/dataviews-pagination/index.tsx} +13 -21
- package/src/components/dataviews-pagination/style.scss +26 -0
- package/src/{search.tsx → components/dataviews-search/index.tsx} +5 -10
- package/src/{single-selection-checkbox.tsx → components/dataviews-selection-checkbox/index.tsx} +9 -9
- package/src/components/dataviews-selection-checkbox/style.scss +14 -0
- package/src/{view-actions.tsx → components/dataviews-view-config/index.tsx} +16 -22
- package/src/index.ts +2 -2
- package/src/layouts/grid/density-picker.tsx +136 -0
- package/src/{view-grid.tsx → layouts/grid/index.tsx} +28 -29
- package/src/layouts/grid/style.scss +140 -0
- package/src/layouts/index.ts +66 -0
- package/src/{view-list.tsx → layouts/list/index.tsx} +30 -17
- package/src/layouts/list/style.scss +189 -0
- package/src/layouts/table/column-header-menu.tsx +268 -0
- package/src/layouts/table/index.tsx +471 -0
- package/src/layouts/table/style.scss +201 -0
- package/src/normalize-fields.ts +1 -1
- package/src/style.scss +11 -907
- package/src/test/filter-and-sort-data-view.js +1 -1
- package/src/types.ts +48 -24
- package/tsconfig.tsbuildinfo +1 -1
- package/build/add-filter.js.map +0 -1
- package/build/bulk-actions-toolbar.js.map +0 -1
- package/build/bulk-actions.js.map +0 -1
- package/build/dataform.js.map +0 -1
- package/build/dataviews.js +0 -125
- package/build/dataviews.js.map +0 -1
- package/build/filter-summary.js.map +0 -1
- package/build/filters.js.map +0 -1
- package/build/item-actions.js.map +0 -1
- package/build/layouts.js +0 -38
- package/build/layouts.js.map +0 -1
- package/build/pagination.js.map +0 -1
- package/build/reset-filters.js.map +0 -1
- package/build/search-widget.js.map +0 -1
- package/build/search.js.map +0 -1
- package/build/single-selection-checkbox.js.map +0 -1
- package/build/view-actions.js.map +0 -1
- package/build/view-grid.js.map +0 -1
- package/build/view-list.js.map +0 -1
- package/build/view-table.js +0 -400
- package/build/view-table.js.map +0 -1
- package/build-module/add-filter.js.map +0 -1
- package/build-module/bulk-actions-toolbar.js.map +0 -1
- package/build-module/bulk-actions.js.map +0 -1
- package/build-module/dataform.js.map +0 -1
- package/build-module/dataviews.js +0 -116
- package/build-module/dataviews.js.map +0 -1
- package/build-module/filter-summary.js.map +0 -1
- package/build-module/filters.js.map +0 -1
- package/build-module/item-actions.js.map +0 -1
- package/build-module/layouts.js +0 -30
- package/build-module/layouts.js.map +0 -1
- package/build-module/pagination.js.map +0 -1
- package/build-module/reset-filters.js.map +0 -1
- package/build-module/search-widget.js.map +0 -1
- package/build-module/search.js.map +0 -1
- package/build-module/single-selection-checkbox.js.map +0 -1
- package/build-module/view-actions.js.map +0 -1
- package/build-module/view-grid.js.map +0 -1
- package/build-module/view-list.js.map +0 -1
- package/build-module/view-table.js +0 -393
- package/build-module/view-table.js.map +0 -1
- package/build-types/add-filter.d.ts.map +0 -1
- package/build-types/bulk-actions-toolbar.d.ts +0 -13
- package/build-types/bulk-actions-toolbar.d.ts.map +0 -1
- package/build-types/bulk-actions.d.ts +0 -15
- package/build-types/bulk-actions.d.ts.map +0 -1
- package/build-types/dataform.d.ts.map +0 -1
- package/build-types/dataviews.d.ts.map +0 -1
- package/build-types/filter-summary.d.ts.map +0 -1
- package/build-types/filters.d.ts +0 -13
- package/build-types/filters.d.ts.map +0 -1
- package/build-types/item-actions.d.ts.map +0 -1
- package/build-types/layouts.d.ts.map +0 -1
- package/build-types/pagination.d.ts +0 -16
- package/build-types/pagination.d.ts.map +0 -1
- package/build-types/reset-filters.d.ts.map +0 -1
- package/build-types/search-widget.d.ts.map +0 -1
- package/build-types/search.d.ts +0 -13
- package/build-types/search.d.ts.map +0 -1
- package/build-types/single-selection-checkbox.d.ts +0 -17
- package/build-types/single-selection-checkbox.d.ts.map +0 -1
- package/build-types/stories/fixtures.d.ts.map +0 -1
- package/build-types/stories/index.story.d.ts +0 -29
- package/build-types/stories/index.story.d.ts.map +0 -1
- package/build-types/view-actions.d.ts +0 -12
- package/build-types/view-actions.d.ts.map +0 -1
- package/build-types/view-grid.d.ts +0 -4
- package/build-types/view-grid.d.ts.map +0 -1
- package/build-types/view-list.d.ts +0 -4
- package/build-types/view-list.d.ts.map +0 -1
- package/build-types/view-table.d.ts +0 -5
- package/build-types/view-table.d.ts.map +0 -1
- package/src/dataviews.tsx +0 -183
- package/src/layouts.ts +0 -39
- package/src/view-table.tsx +0 -592
- /package/build/{reset-filters.js → components/dataviews-filters/reset-filters.js} +0 -0
- /package/build-module/{reset-filters.js → components/dataviews-filters/reset-filters.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_table","_interopRequireDefault","_grid","_list","_constants","VIEW_LAYOUTS","exports","type","LAYOUT_TABLE","label","__","component","ViewTable","icon","blockTable","LAYOUT_GRID","ViewGrid","category","LAYOUT_LIST","ViewList","isRTL","formatListBulletsRTL","formatListBullets","getMandatoryFields","view","_view$layout$combined","layout","primaryField","concat","combinedFields","flatMap","field","children","filter","item","mediaField"],"sources":["@wordpress/dataviews/src/layouts/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tblockTable,\n\tcategory,\n\tformatListBullets,\n\tformatListBulletsRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './table';\nimport ViewGrid from './grid';\nimport ViewList from './list';\nimport { LAYOUT_GRID, LAYOUT_LIST, LAYOUT_TABLE } from '../constants';\nimport type { View } from '../types';\n\nexport const VIEW_LAYOUTS = [\n\t{\n\t\ttype: LAYOUT_TABLE,\n\t\tlabel: __( 'Table' ),\n\t\tcomponent: ViewTable,\n\t\ticon: blockTable,\n\t},\n\t{\n\t\ttype: LAYOUT_GRID,\n\t\tlabel: __( 'Grid' ),\n\t\tcomponent: ViewGrid,\n\t\ticon: category,\n\t},\n\t{\n\t\ttype: LAYOUT_LIST,\n\t\tlabel: __( 'List' ),\n\t\tcomponent: ViewList,\n\t\ticon: isRTL() ? formatListBulletsRTL : formatListBullets,\n\t},\n];\n\nexport function getMandatoryFields( view: View ): string[] {\n\tif ( view.type === 'table' ) {\n\t\treturn [ view.layout?.primaryField ]\n\t\t\t.concat(\n\t\t\t\tview.layout?.combinedFields?.flatMap(\n\t\t\t\t\t( field ) => field.children\n\t\t\t\t) ?? []\n\t\t\t)\n\t\t\t.filter( ( item ): item is string => !! item );\n\t}\n\n\tif ( view.type === 'grid' ) {\n\t\treturn [ view.layout?.primaryField, view.layout?.mediaField ].filter(\n\t\t\t( item ): item is string => !! item\n\t\t);\n\t}\n\n\tif ( view.type === 'list' ) {\n\t\treturn [ view.layout?.primaryField, view.layout?.mediaField ].filter(\n\t\t\t( item ): item is string => !! item\n\t\t);\n\t}\n\n\treturn [];\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAjBA;AACA;AACA;;AASA;AACA;AACA;;AAOO,MAAMO,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CAC3B;EACCE,IAAI,EAAEC,uBAAY;EAClBC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,SAAS,EAAEC,cAAS;EACpBC,IAAI,EAAEC;AACP,CAAC,EACD;EACCP,IAAI,EAAEQ,sBAAW;EACjBN,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAEK,aAAQ;EACnBH,IAAI,EAAEI;AACP,CAAC,EACD;EACCV,IAAI,EAAEW,sBAAW;EACjBT,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAEQ,aAAQ;EACnBN,IAAI,EAAE,IAAAO,WAAK,EAAC,CAAC,GAAGC,2BAAoB,GAAGC;AACxC,CAAC,CACD;AAEM,SAASC,kBAAkBA,CAAEC,IAAU,EAAa;EAC1D,IAAKA,IAAI,CAACjB,IAAI,KAAK,OAAO,EAAG;IAAA,IAAAkB,qBAAA;IAC5B,OAAO,CAAED,IAAI,CAACE,MAAM,EAAEC,YAAY,CAAE,CAClCC,MAAM,EAAAH,qBAAA,GACND,IAAI,CAACE,MAAM,EAAEG,cAAc,EAAEC,OAAO,CACjCC,KAAK,IAAMA,KAAK,CAACC,QACpB,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,EACN,CAAC,CACAQ,MAAM,CAAIC,IAAI,IAAsB,CAAC,CAAEA,IAAK,CAAC;EAChD;EAEA,IAAKV,IAAI,CAACjB,IAAI,KAAK,MAAM,EAAG;IAC3B,OAAO,CAAEiB,IAAI,CAACE,MAAM,EAAEC,YAAY,EAAEH,IAAI,CAACE,MAAM,EAAES,UAAU,CAAE,CAACF,MAAM,CACjEC,IAAI,IAAsB,CAAC,CAAEA,IAChC,CAAC;EACF;EAEA,IAAKV,IAAI,CAACjB,IAAI,KAAK,MAAM,EAAG;IAC3B,OAAO,CAAEiB,IAAI,CAACE,MAAM,EAAEC,YAAY,EAAEH,IAAI,CAACE,MAAM,EAAES,UAAU,CAAE,CAACF,MAAM,CACjEC,IAAI,IAAsB,CAAC,CAAEA,IAChC,CAAC;EACF;EAEA,OAAO,EAAE;AACV","ignoreList":[]}
|
|
@@ -12,8 +12,8 @@ var _element = require("@wordpress/element");
|
|
|
12
12
|
var _i18n = require("@wordpress/i18n");
|
|
13
13
|
var _icons = require("@wordpress/icons");
|
|
14
14
|
var _data = require("@wordpress/data");
|
|
15
|
-
var _lockUnlock = require("
|
|
16
|
-
var
|
|
15
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
16
|
+
var _dataviewsItemActions = require("../../components/dataviews-item-actions");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
18
|
/**
|
|
19
19
|
* External dependencies
|
|
@@ -83,6 +83,14 @@ function ListItem({
|
|
|
83
83
|
}, [actions, item]);
|
|
84
84
|
const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
|
|
85
85
|
const primaryActionLabel = primaryAction && (typeof primaryAction.label === 'string' ? primaryAction.label : primaryAction.label([item]));
|
|
86
|
+
const renderedMediaField = mediaField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(mediaField.render, {
|
|
87
|
+
item: item
|
|
88
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
89
|
+
className: "dataviews-view-list__media-placeholder"
|
|
90
|
+
});
|
|
91
|
+
const renderedPrimaryField = primaryField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(primaryField.render, {
|
|
92
|
+
item: item
|
|
93
|
+
}) : null;
|
|
86
94
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CompositeRow, {
|
|
87
95
|
ref: itemRef,
|
|
88
96
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {}),
|
|
@@ -115,19 +123,14 @@ function ListItem({
|
|
|
115
123
|
alignment: "flex-start",
|
|
116
124
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
117
125
|
className: "dataviews-view-list__media-wrapper",
|
|
118
|
-
children:
|
|
119
|
-
item
|
|
120
|
-
}) || /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
121
|
-
className: "dataviews-view-list__media-placeholder"
|
|
122
|
-
})
|
|
126
|
+
children: renderedMediaField
|
|
123
127
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
124
|
-
spacing:
|
|
128
|
+
spacing: 1,
|
|
129
|
+
className: "dataviews-view-list__field-wrapper",
|
|
125
130
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
126
131
|
className: "dataviews-view-list__primary-field",
|
|
127
132
|
id: labelId,
|
|
128
|
-
children:
|
|
129
|
-
item
|
|
130
|
-
})
|
|
133
|
+
children: renderedPrimaryField
|
|
131
134
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
132
135
|
className: "dataviews-view-list__fields",
|
|
133
136
|
id: descriptionId,
|
|
@@ -136,11 +139,11 @@ function ListItem({
|
|
|
136
139
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
|
|
137
140
|
as: "span",
|
|
138
141
|
className: "dataviews-view-list__field-label",
|
|
139
|
-
children: field.
|
|
142
|
+
children: field.label
|
|
140
143
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
141
144
|
className: "dataviews-view-list__field-value",
|
|
142
|
-
children: field.render
|
|
143
|
-
item
|
|
145
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(field.render, {
|
|
146
|
+
item: item
|
|
144
147
|
})
|
|
145
148
|
})]
|
|
146
149
|
}, field.id))
|
|
@@ -149,7 +152,7 @@ function ListItem({
|
|
|
149
152
|
})
|
|
150
153
|
})
|
|
151
154
|
}), eligibleActions?.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
152
|
-
spacing:
|
|
155
|
+
spacing: 3,
|
|
153
156
|
justify: "flex-end",
|
|
154
157
|
className: "dataviews-view-list__item-actions",
|
|
155
158
|
style: {
|
|
@@ -164,10 +167,10 @@ function ListItem({
|
|
|
164
167
|
label: primaryActionLabel,
|
|
165
168
|
icon: primaryAction.icon,
|
|
166
169
|
isDestructive: primaryAction.isDestructive,
|
|
167
|
-
size: "
|
|
170
|
+
size: "small",
|
|
168
171
|
onClick: () => setIsModalOpen(true)
|
|
169
172
|
}),
|
|
170
|
-
children: isModalOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
173
|
+
children: isModalOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsItemActions.ActionModal, {
|
|
171
174
|
action: primaryAction,
|
|
172
175
|
items: [item],
|
|
173
176
|
closeModal: () => setIsModalOpen(false)
|
|
@@ -181,7 +184,7 @@ function ListItem({
|
|
|
181
184
|
label: primaryActionLabel,
|
|
182
185
|
icon: primaryAction.icon,
|
|
183
186
|
isDestructive: primaryAction.isDestructive,
|
|
184
|
-
size: "
|
|
187
|
+
size: "small",
|
|
185
188
|
onClick: () => {
|
|
186
189
|
primaryAction.callback([item], {
|
|
187
190
|
registry
|
|
@@ -195,7 +198,7 @@ function ListItem({
|
|
|
195
198
|
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(CompositeItem, {
|
|
196
199
|
store: store,
|
|
197
200
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
198
|
-
size: "
|
|
201
|
+
size: "small",
|
|
199
202
|
icon: _icons.moreVertical,
|
|
200
203
|
label: (0, _i18n.__)('Actions'),
|
|
201
204
|
accessibleWhenDisabled: true,
|
|
@@ -215,7 +218,7 @@ function ListItem({
|
|
|
215
218
|
})
|
|
216
219
|
}),
|
|
217
220
|
placement: "bottom-end",
|
|
218
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
221
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsItemActions.ActionsDropdownMenuGroup, {
|
|
219
222
|
actions: eligibleActions,
|
|
220
223
|
item: item
|
|
221
224
|
})
|
|
@@ -232,7 +235,7 @@ function ViewList(props) {
|
|
|
232
235
|
fields,
|
|
233
236
|
getItemId,
|
|
234
237
|
isLoading,
|
|
235
|
-
|
|
238
|
+
onChangeSelection,
|
|
236
239
|
selection,
|
|
237
240
|
view
|
|
238
241
|
} = props;
|
|
@@ -242,7 +245,7 @@ function ViewList(props) {
|
|
|
242
245
|
const primaryField = fields.find(field => field.id === view.layout?.primaryField);
|
|
243
246
|
const viewFields = view.fields || fields.map(field => field.id);
|
|
244
247
|
const visibleFields = fields.filter(field => viewFields.includes(field.id) && ![view.layout?.primaryField, view.layout?.mediaField].includes(field.id));
|
|
245
|
-
const onSelect = item =>
|
|
248
|
+
const onSelect = item => onChangeSelection([getItemId(item)]);
|
|
246
249
|
const getItemDomId = (0, _element.useCallback)(item => item ? `${baseId}-${getItemId(item)}` : undefined, [baseId, getItemId]);
|
|
247
250
|
const store = useCompositeStore({
|
|
248
251
|
defaultActiveId: getItemDomId(selectedItem)
|
|
@@ -294,4 +297,4 @@ function ViewList(props) {
|
|
|
294
297
|
})
|
|
295
298
|
});
|
|
296
299
|
}
|
|
297
|
-
//# sourceMappingURL=
|
|
300
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","useCompositeStoreV2","useCompositeStore","CompositeV2","Composite","CompositeItemV2","CompositeItem","CompositeRowV2","CompositeRow","DropdownMenuV2","DropdownMenu","unlock","componentsPrivateApis","ListItem","actions","id","isSelected","item","mediaField","onSelect","primaryField","store","visibleFields","registry","useRegistry","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","useState","handleMouseEnter","handleMouseLeave","useEffect","current","scrollIntoView","behavior","block","inline","primaryAction","eligibleActions","useMemo","_eligibleActions","filter","action","isEligible","_primaryActions","isPrimary","icon","isModalOpen","setIsModalOpen","primaryActionLabel","label","renderedMediaField","render","jsx","className","renderedPrimaryField","ref","role","clsx","onMouseEnter","onMouseLeave","children","jsxs","__experimentalHStack","alignment","spacing","onClick","justify","__experimentalVStack","map","field","VisuallyHidden","as","length","style","flexShrink","width","Button","isDestructive","size","ActionModal","items","closeModal","callback","trigger","moreVertical","__","accessibleWhenDisabled","disabled","onKeyDown","event","key","preventDefault","move","down","up","placement","ActionsDropdownMenuGroup","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","viewFields","getItemDomId","useCallback","undefined","defaultActiveId","isActiveIdInList","state","some","activeId","hasData","Spinner"],"sources":["@wordpress/dataviews/src/layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n// Import CompositeStore type, which is not exported from @wordpress/components.\n// eslint-disable-next-line no-restricted-imports\nimport type { CompositeStore } from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsDropdownMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tid?: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tstore: CompositeStore;\n\tvisibleFields: NormalizedField< Item >[];\n}\n\nconst {\n\tuseCompositeStoreV2: useCompositeStore,\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tCompositeRowV2: CompositeRow,\n\tDropdownMenuV2: DropdownMenu,\n} = unlock( componentsPrivateApis );\n\nfunction ListItem< Item >( {\n\tactions,\n\tid,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tstore,\n\tvisibleFields,\n}: ListViewItemProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst itemRef = useRef< HTMLElement >( null );\n\tconst labelId = `${ id }-label`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst primaryActionLabel =\n\t\tprimaryAction &&\n\t\t( typeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] ) );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : (\n\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t);\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\treturn (\n\t\t<CompositeRow\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tclassName=\"dataviews-view-list__item-wrapper\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tspacing={ 0 }\n\t\t\t>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</CompositeItem>\n\t\t\t\t</div>\n\t\t\t\t{ eligibleActions?.length > 0 && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item-actions\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflexShrink: '0',\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryAction && 'RenderModal' in primaryAction && (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryActionLabel }\n\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( true )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\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\t\t{ isModalOpen && (\n\t\t\t\t\t\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\t\t\t\t\tcloseModal={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ primaryAction &&\n\t\t\t\t\t\t\t! ( 'RenderModal' in primaryAction ) && (\n\t\t\t\t\t\t\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryActionLabel }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.callback(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ item ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ registry }\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ ( event: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: string;\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreventDefault: () => void;\n\t\t\t\t\t\t\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'ArrowDown'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behaviour (open dropdown menu) and go down.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.down()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key === 'ArrowUp'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behavior (open dropdown menu) and go up.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.up()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\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\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</CompositeRow>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst getItemDomId = useCallback(\n\t\t( item?: Item ) =>\n\t\t\titem ? `${ baseId }-${ getItemId( item ) }` : undefined,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst store = useCompositeStore( {\n\t\tdefaultActiveId: getItemDomId( selectedItem ),\n\t} );\n\n\t// Manage focused item, when the active one is removed from the list.\n\tconst isActiveIdInList = store.useState(\n\t\t( state: { items: any[]; activeId: any } ) =>\n\t\t\tstate.items.some(\n\t\t\t\t( item: { id: any } ) => item.id === state.activeId\n\t\t\t)\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isActiveIdInList ) {\n\t\t\t// Prefer going down, except if there is no item below (last item), then go up (last item in list).\n\t\t\tif ( store.down() ) {\n\t\t\t\tstore.move( store.down() );\n\t\t\t} else if ( store.up() ) {\n\t\t\t\tstore.move( store.up() );\n\t\t\t}\n\t\t}\n\t}, [ isActiveIdInList ] );\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tstore={ store }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = getItemDomId( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _i18n = require("@wordpress/i18n");
|
|
8
|
+
var _icons = require("@wordpress/icons");
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
var _element = require("@wordpress/element");
|
|
11
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
12
|
+
var _utils = require("../../utils");
|
|
13
|
+
var _constants = require("../../constants");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
/**
|
|
16
|
+
* External dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* WordPress dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Internal dependencies
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
const {
|
|
28
|
+
DropdownMenuV2: DropdownMenu,
|
|
29
|
+
DropdownMenuGroupV2: DropdownMenuGroup,
|
|
30
|
+
DropdownMenuItemV2: DropdownMenuItem,
|
|
31
|
+
DropdownMenuRadioItemV2: DropdownMenuRadioItem,
|
|
32
|
+
DropdownMenuItemLabelV2: DropdownMenuItemLabel,
|
|
33
|
+
DropdownMenuSeparatorV2: DropdownMenuSeparator
|
|
34
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
35
|
+
function WithDropDownMenuSeparators({
|
|
36
|
+
children
|
|
37
|
+
}) {
|
|
38
|
+
return _element.Children.toArray(children).filter(Boolean).map((child, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_element.Fragment, {
|
|
39
|
+
children: [i > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuSeparator, {}), child]
|
|
40
|
+
}, i));
|
|
41
|
+
}
|
|
42
|
+
const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
|
|
43
|
+
fieldId,
|
|
44
|
+
view,
|
|
45
|
+
fields,
|
|
46
|
+
onChangeView,
|
|
47
|
+
onHide,
|
|
48
|
+
setOpenedFilter
|
|
49
|
+
}, ref) {
|
|
50
|
+
const combinedField = view.layout?.combinedFields?.find(f => f.id === fieldId);
|
|
51
|
+
const index = view.fields?.indexOf(fieldId);
|
|
52
|
+
if (!!combinedField) {
|
|
53
|
+
return combinedField.label;
|
|
54
|
+
}
|
|
55
|
+
const field = fields.find(f => f.id === fieldId);
|
|
56
|
+
if (!field) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const isHidable = field.enableHiding !== false;
|
|
60
|
+
const isSortable = field.enableSorting !== false;
|
|
61
|
+
const isSorted = view.sort?.field === field.id;
|
|
62
|
+
const operators = (0, _utils.sanitizeOperators)(field);
|
|
63
|
+
// Filter can be added:
|
|
64
|
+
// 1. If the field is not already part of a view's filters.
|
|
65
|
+
// 2. If the field meets the type and operator requirements.
|
|
66
|
+
// 3. If it's not primary. If it is, it should be already visible.
|
|
67
|
+
const canAddFilter = !view.filters?.some(_filter => field.id === _filter.field) && !!field.elements?.length && !!operators.length && !field.filterBy?.isPrimary;
|
|
68
|
+
if (!isSortable && !isHidable && !canAddFilter) {
|
|
69
|
+
return field.label;
|
|
70
|
+
}
|
|
71
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
|
|
72
|
+
align: "start",
|
|
73
|
+
trigger: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Button, {
|
|
74
|
+
size: "compact",
|
|
75
|
+
className: "dataviews-view-table-header-button",
|
|
76
|
+
ref: ref,
|
|
77
|
+
variant: "tertiary",
|
|
78
|
+
children: [field.label, view.sort && isSorted && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
79
|
+
"aria-hidden": "true",
|
|
80
|
+
children: _constants.sortArrows[view.sort.direction]
|
|
81
|
+
})]
|
|
82
|
+
}),
|
|
83
|
+
style: {
|
|
84
|
+
minWidth: '240px'
|
|
85
|
+
},
|
|
86
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(WithDropDownMenuSeparators, {
|
|
87
|
+
children: [isSortable && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuGroup, {
|
|
88
|
+
children: _constants.SORTING_DIRECTIONS.map(direction => {
|
|
89
|
+
const isChecked = view.sort && isSorted && view.sort.direction === direction;
|
|
90
|
+
const value = `${field.id}-${direction}`;
|
|
91
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuRadioItem, {
|
|
92
|
+
// All sorting radio items share the same name, so that
|
|
93
|
+
// selecting a sorting option automatically deselects the
|
|
94
|
+
// previously selected one, even if it is displayed in
|
|
95
|
+
// another submenu. The field and direction are passed via
|
|
96
|
+
// the `value` prop.
|
|
97
|
+
name: "view-table-sorting",
|
|
98
|
+
value: value,
|
|
99
|
+
checked: isChecked,
|
|
100
|
+
onChange: () => {
|
|
101
|
+
onChangeView({
|
|
102
|
+
...view,
|
|
103
|
+
sort: {
|
|
104
|
+
field: field.id,
|
|
105
|
+
direction
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
110
|
+
children: _constants.sortLabels[direction]
|
|
111
|
+
})
|
|
112
|
+
}, value);
|
|
113
|
+
})
|
|
114
|
+
}), canAddFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuGroup, {
|
|
115
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
116
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
117
|
+
icon: _icons.funnel
|
|
118
|
+
}),
|
|
119
|
+
onClick: () => {
|
|
120
|
+
setOpenedFilter(field.id);
|
|
121
|
+
onChangeView({
|
|
122
|
+
...view,
|
|
123
|
+
page: 1,
|
|
124
|
+
filters: [...(view.filters || []), {
|
|
125
|
+
field: field.id,
|
|
126
|
+
value: undefined,
|
|
127
|
+
operator: operators[0]
|
|
128
|
+
}]
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
132
|
+
children: (0, _i18n.__)('Add filter')
|
|
133
|
+
})
|
|
134
|
+
})
|
|
135
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(DropdownMenuGroup, {
|
|
136
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
137
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
138
|
+
icon: _icons.arrowLeft
|
|
139
|
+
}),
|
|
140
|
+
disabled: index < 1,
|
|
141
|
+
onClick: () => {
|
|
142
|
+
var _view$fields$slice;
|
|
143
|
+
if (!view.fields || index < 1) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
onChangeView({
|
|
147
|
+
...view,
|
|
148
|
+
fields: [...((_view$fields$slice = view.fields.slice(0, index - 1)) !== null && _view$fields$slice !== void 0 ? _view$fields$slice : []), field.id, view.fields[index - 1], ...view.fields.slice(index + 1)]
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
152
|
+
children: (0, _i18n.__)('Move left')
|
|
153
|
+
})
|
|
154
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
155
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
156
|
+
icon: _icons.arrowRight
|
|
157
|
+
}),
|
|
158
|
+
disabled: !view.fields || index >= view.fields.length - 1,
|
|
159
|
+
onClick: () => {
|
|
160
|
+
var _view$fields$slice2;
|
|
161
|
+
if (!view.fields || index >= view.fields.length - 1) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
onChangeView({
|
|
165
|
+
...view,
|
|
166
|
+
fields: [...((_view$fields$slice2 = view.fields.slice(0, index)) !== null && _view$fields$slice2 !== void 0 ? _view$fields$slice2 : []), view.fields[index + 1], field.id, ...view.fields.slice(index + 2)]
|
|
167
|
+
});
|
|
168
|
+
},
|
|
169
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
170
|
+
children: (0, _i18n.__)('Move right')
|
|
171
|
+
})
|
|
172
|
+
}), isHidable && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
173
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
174
|
+
icon: _icons.unseen
|
|
175
|
+
}),
|
|
176
|
+
onClick: () => {
|
|
177
|
+
const viewFields = view.fields || fields.map(f => f.id);
|
|
178
|
+
onHide(field);
|
|
179
|
+
onChangeView({
|
|
180
|
+
...view,
|
|
181
|
+
fields: viewFields.filter(id => id !== field.id)
|
|
182
|
+
});
|
|
183
|
+
},
|
|
184
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
185
|
+
children: (0, _i18n.__)('Hide')
|
|
186
|
+
})
|
|
187
|
+
})]
|
|
188
|
+
})]
|
|
189
|
+
})
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
// @ts-expect-error Lift the `Item` type argument through the forwardRef.
|
|
194
|
+
const ColumnHeaderMenu = _HeaderMenu;
|
|
195
|
+
var _default = exports.default = ColumnHeaderMenu;
|
|
196
|
+
//# sourceMappingURL=column-header-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_components","_element","_lockUnlock","_utils","_constants","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","WithDropDownMenuSeparators","children","Children","toArray","filter","Boolean","map","child","i","jsxs","Fragment","jsx","_HeaderMenu","forwardRef","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","ref","combinedField","layout","combinedFields","find","f","id","index","indexOf","label","field","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","operators","sanitizeOperators","canAddFilter","filters","some","_filter","elements","length","filterBy","isPrimary","align","trigger","Button","size","className","variant","sortArrows","direction","style","minWidth","SORTING_DIRECTIONS","isChecked","value","name","checked","onChange","sortLabels","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","arrowLeft","disabled","_view$fields$slice","slice","arrowRight","_view$fields$slice2","unseen","viewFields","ColumnHeaderMenu","_default","exports","default"],"sources":["@wordpress/dataviews/src/layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n} from '../../types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\nfunction WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst combinedField = view.layout?.combinedFields?.find(\n\t\t( f ) => f.id === fieldId\n\t);\n\tconst index = view.fields?.indexOf( fieldId ) as number;\n\tif ( !! combinedField ) {\n\t\treturn combinedField.label;\n\t}\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.label;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.label }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t},\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! view.fields || index < 1 ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\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\tfields: [\n\t\t\t\t\t\t\t\t\t...( view.fields.slice( 0, index - 1 ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\tview.fields[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...view.fields.slice( index + 1 ),\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{ __( 'Move left' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t! view.fields || index >= view.fields.length - 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t! view.fields ||\n\t\t\t\t\t\t\t\tindex >= view.fields.length - 1\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\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\tfields: [\n\t\t\t\t\t\t\t\t\t...( view.fields.slice( 0, index ) ?? [] ),\n\t\t\t\t\t\t\t\t\tview.fields[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...view.fields.slice( index + 2 ),\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{ __( 'Move right' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t{ isHidable && (\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst viewFields =\n\t\t\t\t\t\t\t\t\tview.fields || fields.map( ( f ) => f.id );\n\t\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tfields: viewFields.filter(\n\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
|