@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","_element","_components","_compose","_dataviewsContext","_interopRequireDefault","_jsxRuntime","DataViewsSearch","memo","Search","label","view","onChangeView","useContext","DataViewsContext","search","setSearch","debouncedSearch","useDebouncedInput","useEffect","_view$search","onChangeViewRef","useRef","viewRef","current","page","searchLabel","__","jsx","SearchControl","__nextHasNoMarginBottom","onChange","value","placeholder","size","_default","exports","default"],"sources":["@wordpress/dataviews/src/components/dataviews-search/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, memo, useContext } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\n\ninterface SearchProps {\n\tlabel?: string;\n}\n\nconst DataViewsSearch = memo( function Search( { label }: SearchProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search ?? '' );\n\t}, [ view.search, setSearch ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tconst viewRef = useRef( view );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t\tviewRef.current = view;\n\t}, [ onChangeView, view ] );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current( {\n\t\t\t...viewRef.current,\n\t\t\tpage: 1,\n\t\t\tsearch: debouncedSearch,\n\t\t} );\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Search' );\n\treturn (\n\t\t<SearchControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n} );\n\nexport default DataViewsSearch;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,iBAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAoD,IAAAM,WAAA,GAAAN,OAAA;AAXpD;AACA;AACA;;AAMA;AACA;AACA;;AAOA,MAAMO,eAAe,GAAG,IAAAC,aAAI,EAAE,SAASC,MAAMA,CAAE;EAAEC;AAAmB,CAAC,EAAG;EACvE,MAAM;IAAEC,IAAI;IAAEC;EAAa,CAAC,GAAG,IAAAC,mBAAU,EAAEC,yBAAiB,CAAC;EAC7D,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAG,IAAAC,0BAAiB,EAC/DP,IAAI,CAACI,MACN,CAAC;EACD,IAAAI,kBAAS,EAAE,MAAM;IAAA,IAAAC,YAAA;IAChBJ,SAAS,EAAAI,YAAA,GAAET,IAAI,CAACI,MAAM,cAAAK,YAAA,cAAAA,YAAA,GAAI,EAAG,CAAC;EAC/B,CAAC,EAAE,CAAET,IAAI,CAACI,MAAM,EAAEC,SAAS,CAAG,CAAC;EAC/B,MAAMK,eAAe,GAAG,IAAAC,eAAM,EAAEV,YAAa,CAAC;EAC9C,MAAMW,OAAO,GAAG,IAAAD,eAAM,EAAEX,IAAK,CAAC;EAC9B,IAAAQ,kBAAS,EAAE,MAAM;IAChBE,eAAe,CAACG,OAAO,GAAGZ,YAAY;IACtCW,OAAO,CAACC,OAAO,GAAGb,IAAI;EACvB,CAAC,EAAE,CAAEC,YAAY,EAAED,IAAI,CAAG,CAAC;EAC3B,IAAAQ,kBAAS,EAAE,MAAM;IAChBE,eAAe,CAACG,OAAO,CAAE;MACxB,GAAGD,OAAO,CAACC,OAAO;MAClBC,IAAI,EAAE,CAAC;MACPV,MAAM,EAAEE;IACT,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMS,WAAW,GAAGhB,KAAK,IAAI,IAAAiB,QAAE,EAAE,QAAS,CAAC;EAC3C,oBACC,IAAArB,WAAA,CAAAsB,GAAA,EAAC1B,WAAA,CAAA2B,aAAa;IACbC,uBAAuB;IACvBC,QAAQ,EAAGf,SAAW;IACtBgB,KAAK,EAAGjB,MAAQ;IAChBL,KAAK,EAAGgB,WAAa;IACrBO,WAAW,EAAGP,WAAa;IAC3BQ,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEW9B,eAAe","ignoreList":[]}
|
package/build/{single-selection-checkbox.js → components/dataviews-selection-checkbox/index.js}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = DataViewsSelectionCheckbox;
|
|
7
7
|
var _i18n = require("@wordpress/i18n");
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -15,9 +15,9 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
15
15
|
* Internal dependencies
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function DataViewsSelectionCheckbox({
|
|
19
19
|
selection,
|
|
20
|
-
|
|
20
|
+
onChangeSelection,
|
|
21
21
|
item,
|
|
22
22
|
getItemId,
|
|
23
23
|
primaryField,
|
|
@@ -36,7 +36,7 @@ function SingleSelectionCheckbox({
|
|
|
36
36
|
selectionLabel = checked ? (0, _i18n.__)('Select a new item') : (0, _i18n.__)('Deselect item');
|
|
37
37
|
}
|
|
38
38
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
|
|
39
|
-
className: "dataviews-
|
|
39
|
+
className: "dataviews-selection-checkbox",
|
|
40
40
|
__nextHasNoMarginBottom: true,
|
|
41
41
|
"aria-label": selectionLabel,
|
|
42
42
|
"aria-disabled": disabled,
|
|
@@ -45,8 +45,8 @@ function SingleSelectionCheckbox({
|
|
|
45
45
|
if (disabled) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [...selection, id]);
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_jsxRuntime","DataViewsSelectionCheckbox","selection","onChangeSelection","item","getItemId","primaryField","disabled","id","checked","includes","selectionLabel","getValue","sprintf","__","jsx","CheckboxControl","className","__nextHasNoMarginBottom","onChange","filter","itemId"],"sources":["@wordpress/dataviews/src/components/dataviews-selection-checkbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { Field } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface DataViewsSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\titem: Item;\n\tgetItemId: ( item: Item ) => string;\n\tprimaryField?: Field< Item >;\n\tdisabled: boolean;\n}\n\nexport default function DataViewsSelectionCheckbox< Item >( {\n\tselection,\n\tonChangeSelection,\n\titem,\n\tgetItemId,\n\tprimaryField,\n\tdisabled,\n}: DataViewsSelectionCheckboxProps< Item > ) {\n\tconst id = getItemId( item );\n\tconst checked = ! disabled && selection.includes( id );\n\tlet selectionLabel;\n\tif ( primaryField?.getValue && item ) {\n\t\t// eslint-disable-next-line @wordpress/valid-sprintf\n\t\tselectionLabel = sprintf(\n\t\t\t/* translators: %s: item title. */\n\t\t\tchecked ? __( 'Deselect item: %s' ) : __( 'Select item: %s' ),\n\t\t\tprimaryField.getValue( { item } )\n\t\t);\n\t} else {\n\t\tselectionLabel = checked\n\t\t\t? __( 'Select a new item' )\n\t\t\t: __( 'Deselect item' );\n\t}\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ checked }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tonChangeSelection(\n\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAAwD,IAAAE,WAAA,GAAAF,OAAA;AAJxD;AACA;AACA;;AAIA;AACA;AACA;;AAae,SAASG,0BAA0BA,CAAU;EAC3DC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,SAAS;EACTC,YAAY;EACZC;AACwC,CAAC,EAAG;EAC5C,MAAMC,EAAE,GAAGH,SAAS,CAAED,IAAK,CAAC;EAC5B,MAAMK,OAAO,GAAG,CAAEF,QAAQ,IAAIL,SAAS,CAACQ,QAAQ,CAAEF,EAAG,CAAC;EACtD,IAAIG,cAAc;EAClB,IAAKL,YAAY,EAAEM,QAAQ,IAAIR,IAAI,EAAG;IACrC;IACAO,cAAc,GAAG,IAAAE,aAAO,GACvB;IACAJ,OAAO,GAAG,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GAAG,IAAAA,QAAE,EAAE,iBAAkB,CAAC,EAC7DR,YAAY,CAACM,QAAQ,CAAE;MAAER;IAAK,CAAE,CACjC,CAAC;EACF,CAAC,MAAM;IACNO,cAAc,GAAGF,OAAO,GACrB,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,eAAgB,CAAC;EACzB;EACA,oBACC,IAAAd,WAAA,CAAAe,GAAA,EAAChB,WAAA,CAAAiB,eAAe;IACfC,SAAS,EAAC,8BAA8B;IACxCC,uBAAuB;IACvB,cAAaP,cAAgB;IAC7B,iBAAgBJ,QAAU;IAC1BE,OAAO,EAAGA,OAAS;IACnBU,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKZ,QAAQ,EAAG;QACf;MACD;MAEAJ,iBAAiB,CAChBD,SAAS,CAACQ,QAAQ,CAAEF,EAAG,CAAC,GACrBN,SAAS,CAACkB,MAAM,CAAIC,MAAM,IAAMb,EAAE,KAAKa,MAAO,CAAC,GAC/C,CAAE,GAAGnB,SAAS,EAAEM,EAAE,CACtB,CAAC;IACF;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -8,9 +9,10 @@ var _components = require("@wordpress/components");
|
|
|
8
9
|
var _i18n = require("@wordpress/i18n");
|
|
9
10
|
var _element = require("@wordpress/element");
|
|
10
11
|
var _icons = require("@wordpress/icons");
|
|
11
|
-
var _lockUnlock = require("
|
|
12
|
-
var _constants = require("
|
|
13
|
-
var _layouts = require("
|
|
12
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
13
|
+
var _constants = require("../../constants");
|
|
14
|
+
var _layouts = require("../../layouts");
|
|
15
|
+
var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
|
|
14
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
17
|
/**
|
|
16
18
|
* External dependencies
|
|
@@ -115,7 +117,8 @@ function FieldsVisibilityMenu({
|
|
|
115
117
|
onChangeView,
|
|
116
118
|
fields
|
|
117
119
|
}) {
|
|
118
|
-
const
|
|
120
|
+
const mandatoryFields = (0, _layouts.getMandatoryFields)(view);
|
|
121
|
+
const hidableFields = fields.filter(field => field.enableHiding !== false && !mandatoryFields.includes(field.id));
|
|
119
122
|
const viewFields = view.fields || fields.map(field => field.id);
|
|
120
123
|
if (!hidableFields?.length) {
|
|
121
124
|
return null;
|
|
@@ -137,7 +140,7 @@ function FieldsVisibilityMenu({
|
|
|
137
140
|
});
|
|
138
141
|
},
|
|
139
142
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
140
|
-
children: field.
|
|
143
|
+
children: field.label
|
|
141
144
|
})
|
|
142
145
|
}, field.id);
|
|
143
146
|
})
|
|
@@ -157,7 +160,7 @@ function SortMenu({
|
|
|
157
160
|
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
158
161
|
suffix: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
159
162
|
"aria-hidden": "true",
|
|
160
|
-
children: currentSortedField?.
|
|
163
|
+
children: currentSortedField?.label
|
|
161
164
|
}),
|
|
162
165
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
163
166
|
children: (0, _i18n.__)('Sort by')
|
|
@@ -168,7 +171,7 @@ function SortMenu({
|
|
|
168
171
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
|
|
169
172
|
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
170
173
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
171
|
-
children: field.
|
|
174
|
+
children: field.label
|
|
172
175
|
})
|
|
173
176
|
}),
|
|
174
177
|
style: {
|
|
@@ -204,12 +207,14 @@ function SortMenu({
|
|
|
204
207
|
})
|
|
205
208
|
});
|
|
206
209
|
}
|
|
207
|
-
function
|
|
208
|
-
fields,
|
|
209
|
-
view,
|
|
210
|
-
onChangeView,
|
|
210
|
+
function _DataViewsViewConfig({
|
|
211
211
|
defaultLayouts
|
|
212
212
|
}) {
|
|
213
|
+
const {
|
|
214
|
+
view,
|
|
215
|
+
fields,
|
|
216
|
+
onChangeView
|
|
217
|
+
} = (0, _element.useContext)(_dataviewsContext.default);
|
|
213
218
|
const activeView = _layouts.VIEW_LAYOUTS.find(v => view.type === v.type);
|
|
214
219
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
215
220
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
@@ -253,8 +258,6 @@ function _ViewActions({
|
|
|
253
258
|
})
|
|
254
259
|
});
|
|
255
260
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
var _default = exports.default = ViewActions;
|
|
260
|
-
//# sourceMappingURL=view-actions.js.map
|
|
261
|
+
const DataViewsViewConfig = (0, _element.memo)(_DataViewsViewConfig);
|
|
262
|
+
var _default = exports.default = DataViewsViewConfig;
|
|
263
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_icons","_lockUnlock","_constants","_layouts","_dataviewsContext","_interopRequireDefault","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuCheckboxItemV2","DropdownMenuCheckboxItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","ViewTypeMenu","view","onChangeView","defaultLayouts","list","grid","table","availableLayouts","Object","keys","length","map","layout","config","VIEW_LAYOUTS","find","v","type","jsx","value","name","checked","hideOnClick","onChange","e","target","Error","children","label","PAGE_SIZE_VALUES","PageSizeMenu","trigger","suffix","perPage","__","size","page","FieldsVisibilityMenu","fields","mandatoryFields","getMandatoryFields","hidableFields","filter","field","enableHiding","includes","id","viewFields","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","style","minWidth","SORTING_DIRECTIONS","isChecked","undefined","sortLabels","_DataViewsViewConfig","useContext","DataViewsContext","activeView","Fragment","jsxs","__experimentalHStack","spacing","expanded","flexShrink","Button","icon","cog","_x","DataViewsViewConfig","memo","_default","exports","default"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { memo, useContext } from '@wordpress/element';\nimport { cog } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { SORTING_DIRECTIONS, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS, getMandatoryFields } from '../../layouts';\nimport type { NormalizedField, View, SupportedLayouts } from '../../types';\nimport DataViewsContext from '../dataviews-context';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuCheckboxItemV2: DropdownMenuCheckboxItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tdefaultLayouts?: SupportedLayouts;\n}\n\ninterface PageSizeMenuProps {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FieldsVisibilityMenuProps< Item > {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: NormalizedField< Item >[];\n}\n\ninterface SortMenuProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface ViewActionsProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nfunction ViewTypeMenu( {\n\tview,\n\tonChangeView,\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\treturn availableLayouts.map( ( layout ) => {\n\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\tif ( ! config ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<DropdownMenuRadioItem\n\t\t\t\tkey={ layout }\n\t\t\t\tvalue={ layout }\n\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\tchecked={ layout === view.type }\n\t\t\t\thideOnClick\n\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tthrow new Error( 'Invalid dataview' );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<DropdownMenuItemLabel>{ config.label }</DropdownMenuItemLabel>\n\t\t\t</DropdownMenuRadioItem>\n\t\t);\n\t} );\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction PageSizeMenu( { view, onChangeView }: PageSizeMenuProps ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tsuffix={ <span aria-hidden=\"true\">{ view.perPage }</span> }\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Items per page' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\tvalue={ size }\n\t\t\t\t\t\tname=\"view-actions-page-size\"\n\t\t\t\t\t\tchecked={ view.perPage === size }\n\t\t\t\t\t\tonChange={ () => {\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\t// `e.target.value` holds the same value as `size` but as a string,\n\t\t\t\t\t\t\t\t// so we use `size` directly to avoid parsing to int.\n\t\t\t\t\t\t\t\tperPage: size,\n\t\t\t\t\t\t\t\tpage: 1,\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>{ size }</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction FieldsVisibilityMenu< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n}: FieldsVisibilityMenuProps< Item > ) {\n\tconst mandatoryFields = getMandatoryFields( view );\n\tconst hidableFields = fields.filter(\n\t\t( field ) =>\n\t\t\tfield.enableHiding !== false &&\n\t\t\t! mandatoryFields.includes( field.id )\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuCheckboxItem\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tvalue={ field.id }\n\t\t\t\t\t\tchecked={ viewFields.includes( field.id ) }\n\t\t\t\t\t\tonChange={ () => {\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: viewFields.includes( field.id )\n\t\t\t\t\t\t\t\t\t? viewFields.filter(\n\t\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\t: [ ...viewFields, field.id ],\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{ field.label }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuCheckboxItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction SortMenu< Item >( {\n\tfields,\n\tview,\n\tonChangeView,\n}: SortMenuProps< Item > ) {\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = fields.find(\n\t\t( field ) => field.id === view.sort?.field\n\t);\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ currentSortedField?.label }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = view.sort?.direction;\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminWidth: '220px',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\tcurrentSortedField !== undefined &&\n\t\t\t\t\t\t\t\tsortedDirection === direction &&\n\t\t\t\t\t\t\t\tfield.id === currentSortedField.id;\n\n\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\tkey={ value }\n\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// selecting a sorting option automatically deselects the\n\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// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\tname=\"view-actions-sorting\"\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tsort: {\n\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\tdirection,\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction _DataViewsViewConfig( { defaultLayouts }: ViewActionsProps ) {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\tspacing={ 1 }\n\t\t\t\texpanded={ false }\n\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ViewTypeMenu\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownMenu>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'View options',\n\t\t\t\t\t\t\t\t'View is used as a noun'\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>\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<SortMenu\n\t\t\t\t\t\t\tfields={ fields }\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\t<FieldsVisibilityMenu\n\t\t\t\t\t\t\tfields={ fields }\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\t<PageSizeMenu\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</DropdownMenuGroup>\n\t\t\t\t</DropdownMenu>\n\t\t\t</HStack>\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
|
package/build/index.js
CHANGED
|
@@ -28,8 +28,8 @@ Object.defineProperty(exports, "filterSortAndPaginate", {
|
|
|
28
28
|
return _filterAndSortDataView.filterSortAndPaginate;
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
-
var _dataviews = _interopRequireDefault(require("./dataviews"));
|
|
31
|
+
var _dataviews = _interopRequireDefault(require("./components/dataviews"));
|
|
32
|
+
var _dataform = _interopRequireDefault(require("./components/dataform"));
|
|
32
33
|
var _layouts = require("./layouts");
|
|
33
34
|
var _filterAndSortDataView = require("./filter-and-sort-data-view");
|
|
34
|
-
var _dataform = _interopRequireDefault(require("./dataform"));
|
|
35
35
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dataviews","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_dataviews","_interopRequireDefault","require","_dataform","_layouts","_filterAndSortDataView"],"sources":["@wordpress/dataviews/src/index.ts"],"sourcesContent":["export { default as DataViews } from './components/dataviews';\nexport { default as DataForm } from './components/dataform';\nexport { VIEW_LAYOUTS } from './layouts';\nexport { filterSortAndPaginate } from './filter-and-sort-data-view';\nexport type * from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = DensityPicker;
|
|
7
|
+
var _components = require("@wordpress/components");
|
|
8
|
+
var _i18n = require("@wordpress/i18n");
|
|
9
|
+
var _compose = require("@wordpress/compose");
|
|
10
|
+
var _icons = require("@wordpress/icons");
|
|
11
|
+
var _element = require("@wordpress/element");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
/**
|
|
14
|
+
* WordPress dependencies
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const viewportBreaks = {
|
|
18
|
+
xhuge: {
|
|
19
|
+
min: 3,
|
|
20
|
+
max: 6,
|
|
21
|
+
default: 5
|
|
22
|
+
},
|
|
23
|
+
huge: {
|
|
24
|
+
min: 2,
|
|
25
|
+
max: 4,
|
|
26
|
+
default: 4
|
|
27
|
+
},
|
|
28
|
+
xlarge: {
|
|
29
|
+
min: 2,
|
|
30
|
+
max: 3,
|
|
31
|
+
default: 3
|
|
32
|
+
},
|
|
33
|
+
large: {
|
|
34
|
+
min: 1,
|
|
35
|
+
max: 2,
|
|
36
|
+
default: 2
|
|
37
|
+
},
|
|
38
|
+
mobile: {
|
|
39
|
+
min: 1,
|
|
40
|
+
max: 2,
|
|
41
|
+
default: 2
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
function useViewPortBreakpoint() {
|
|
45
|
+
const isXHuge = (0, _compose.useViewportMatch)('xhuge', '>=');
|
|
46
|
+
const isHuge = (0, _compose.useViewportMatch)('huge', '>=');
|
|
47
|
+
const isXlarge = (0, _compose.useViewportMatch)('xlarge', '>=');
|
|
48
|
+
const isLarge = (0, _compose.useViewportMatch)('large', '>=');
|
|
49
|
+
const isMobile = (0, _compose.useViewportMatch)('mobile', '>=');
|
|
50
|
+
if (isXHuge) {
|
|
51
|
+
return 'xhuge';
|
|
52
|
+
}
|
|
53
|
+
if (isHuge) {
|
|
54
|
+
return 'huge';
|
|
55
|
+
}
|
|
56
|
+
if (isXlarge) {
|
|
57
|
+
return 'xlarge';
|
|
58
|
+
}
|
|
59
|
+
if (isLarge) {
|
|
60
|
+
return 'large';
|
|
61
|
+
}
|
|
62
|
+
if (isMobile) {
|
|
63
|
+
return 'mobile';
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Value is number from 0 to 100 representing how big an item is in the grid
|
|
69
|
+
// 100 being the biggest and 0 being the smallest.
|
|
70
|
+
// The size is relative to the viewport size, if one a given viewport the
|
|
71
|
+
// number of allowed items in a grid is 3 to 6 a 0 ( the smallest ) will mean that the grid will
|
|
72
|
+
// have 6 items in a row, a 100 ( the biggest ) will mean that the grid will have 3 items in a row.
|
|
73
|
+
// A value of 75 will mean that the grid will have 4 items in a row.
|
|
74
|
+
function getRangeValue(density, breakValues) {
|
|
75
|
+
const inverseDensity = breakValues.max - density;
|
|
76
|
+
const max = breakValues.max - breakValues.min;
|
|
77
|
+
return Math.round(inverseDensity * 100 / max);
|
|
78
|
+
}
|
|
79
|
+
function DensityPicker({
|
|
80
|
+
density,
|
|
81
|
+
setDensity
|
|
82
|
+
}) {
|
|
83
|
+
const viewport = useViewPortBreakpoint();
|
|
84
|
+
(0, _element.useEffect)(() => {
|
|
85
|
+
setDensity(_density => {
|
|
86
|
+
if (!viewport || !_density) {
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
89
|
+
const breakValues = viewportBreaks[viewport];
|
|
90
|
+
if (_density < breakValues.min) {
|
|
91
|
+
return breakValues.min;
|
|
92
|
+
}
|
|
93
|
+
if (_density > breakValues.max) {
|
|
94
|
+
return breakValues.max;
|
|
95
|
+
}
|
|
96
|
+
return _density;
|
|
97
|
+
});
|
|
98
|
+
}, [setDensity, viewport]);
|
|
99
|
+
if (!viewport) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
const breakValues = viewportBreaks[viewport];
|
|
103
|
+
const densityToUse = density || breakValues.default;
|
|
104
|
+
const rangeValue = getRangeValue(densityToUse, breakValues);
|
|
105
|
+
const step = 100 / (breakValues.max - breakValues.min + 1);
|
|
106
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
107
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
108
|
+
size: "compact",
|
|
109
|
+
icon: _icons.lineSolid,
|
|
110
|
+
disabled: rangeValue <= 0,
|
|
111
|
+
accessibleWhenDisabled: true,
|
|
112
|
+
label: (0, _i18n.__)('Decrease size'),
|
|
113
|
+
onClick: () => {
|
|
114
|
+
setDensity(densityToUse + 1);
|
|
115
|
+
}
|
|
116
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
|
|
117
|
+
__nextHasNoMarginBottom: true,
|
|
118
|
+
showTooltip: false,
|
|
119
|
+
className: "dataviews-density-picker__range-control",
|
|
120
|
+
label: (0, _i18n.__)('Item size'),
|
|
121
|
+
hideLabelFromVision: true,
|
|
122
|
+
value: rangeValue,
|
|
123
|
+
min: 0,
|
|
124
|
+
max: 100,
|
|
125
|
+
withInputField: false,
|
|
126
|
+
onChange: (value = 0) => {
|
|
127
|
+
const inverseValue = 100 - value;
|
|
128
|
+
setDensity(Math.round(inverseValue * (breakValues.max - breakValues.min) / 100 + breakValues.min));
|
|
129
|
+
},
|
|
130
|
+
step: step
|
|
131
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
132
|
+
size: "compact",
|
|
133
|
+
icon: _icons.plus,
|
|
134
|
+
disabled: rangeValue >= 100,
|
|
135
|
+
accessibleWhenDisabled: true,
|
|
136
|
+
label: (0, _i18n.__)('Increase size'),
|
|
137
|
+
onClick: () => {
|
|
138
|
+
setDensity(densityToUse - 1);
|
|
139
|
+
}
|
|
140
|
+
})]
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=density-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_compose","_icons","_element","_jsxRuntime","viewportBreaks","xhuge","min","max","default","huge","xlarge","large","mobile","useViewPortBreakpoint","isXHuge","useViewportMatch","isHuge","isXlarge","isLarge","isMobile","getRangeValue","density","breakValues","inverseDensity","Math","round","DensityPicker","setDensity","viewport","useEffect","_density","densityToUse","rangeValue","step","jsxs","Fragment","children","jsx","Button","size","icon","lineSolid","disabled","accessibleWhenDisabled","label","__","onClick","RangeControl","__nextHasNoMarginBottom","showTooltip","className","hideLabelFromVision","value","withInputField","onChange","inverseValue","plus"],"sources":["@wordpress/dataviews/src/layouts/grid/density-picker.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RangeControl, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { plus, lineSolid } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\n\nconst viewportBreaks = {\n\txhuge: { min: 3, max: 6, default: 5 },\n\thuge: { min: 2, max: 4, default: 4 },\n\txlarge: { min: 2, max: 3, default: 3 },\n\tlarge: { min: 1, max: 2, default: 2 },\n\tmobile: { min: 1, max: 2, default: 2 },\n};\n\nfunction useViewPortBreakpoint() {\n\tconst isXHuge = useViewportMatch( 'xhuge', '>=' );\n\tconst isHuge = useViewportMatch( 'huge', '>=' );\n\tconst isXlarge = useViewportMatch( 'xlarge', '>=' );\n\tconst isLarge = useViewportMatch( 'large', '>=' );\n\tconst isMobile = useViewportMatch( 'mobile', '>=' );\n\n\tif ( isXHuge ) {\n\t\treturn 'xhuge';\n\t}\n\tif ( isHuge ) {\n\t\treturn 'huge';\n\t}\n\tif ( isXlarge ) {\n\t\treturn 'xlarge';\n\t}\n\tif ( isLarge ) {\n\t\treturn 'large';\n\t}\n\tif ( isMobile ) {\n\t\treturn 'mobile';\n\t}\n\treturn null;\n}\n\n// Value is number from 0 to 100 representing how big an item is in the grid\n// 100 being the biggest and 0 being the smallest.\n// The size is relative to the viewport size, if one a given viewport the\n// number of allowed items in a grid is 3 to 6 a 0 ( the smallest ) will mean that the grid will\n// have 6 items in a row, a 100 ( the biggest ) will mean that the grid will have 3 items in a row.\n// A value of 75 will mean that the grid will have 4 items in a row.\nfunction getRangeValue(\n\tdensity: number,\n\tbreakValues: { min: number; max: number; default: number }\n) {\n\tconst inverseDensity = breakValues.max - density;\n\tconst max = breakValues.max - breakValues.min;\n\treturn Math.round( ( inverseDensity * 100 ) / max );\n}\n\nexport default function DensityPicker( {\n\tdensity,\n\tsetDensity,\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n} ) {\n\tconst viewport = useViewPortBreakpoint();\n\tuseEffect( () => {\n\t\tsetDensity( ( _density ) => {\n\t\t\tif ( ! viewport || ! _density ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tconst breakValues = viewportBreaks[ viewport ];\n\t\t\tif ( _density < breakValues.min ) {\n\t\t\t\treturn breakValues.min;\n\t\t\t}\n\t\t\tif ( _density > breakValues.max ) {\n\t\t\t\treturn breakValues.max;\n\t\t\t}\n\t\t\treturn _density;\n\t\t} );\n\t}, [ setDensity, viewport ] );\n\tif ( ! viewport ) {\n\t\treturn null;\n\t}\n\tconst breakValues = viewportBreaks[ viewport ];\n\tconst densityToUse = density || breakValues.default;\n\tconst rangeValue = getRangeValue( densityToUse, breakValues );\n\n\tconst step = 100 / ( breakValues.max - breakValues.min + 1 );\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ lineSolid }\n\t\t\t\tdisabled={ rangeValue <= 0 }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tlabel={ __( 'Decrease size' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDensity( densityToUse + 1 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tshowTooltip={ false }\n\t\t\t\tclassName=\"dataviews-density-picker__range-control\"\n\t\t\t\tlabel={ __( 'Item size' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tvalue={ rangeValue }\n\t\t\t\tmin={ 0 }\n\t\t\t\tmax={ 100 }\n\t\t\t\twithInputField={ false }\n\t\t\t\tonChange={ ( value = 0 ) => {\n\t\t\t\t\tconst inverseValue = 100 - value;\n\t\t\t\t\tsetDensity(\n\t\t\t\t\t\tMath.round(\n\t\t\t\t\t\t\t( inverseValue *\n\t\t\t\t\t\t\t\t( breakValues.max - breakValues.min ) ) /\n\t\t\t\t\t\t\t\t100 +\n\t\t\t\t\t\t\t\tbreakValues.min\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\tstep={ step }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ plus }\n\t\t\t\tdisabled={ rangeValue >= 100 }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tlabel={ __( 'Increase size' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDensity( densityToUse - 1 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,9 +8,9 @@ exports.default = ViewGrid;
|
|
|
8
8
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
9
9
|
var _components = require("@wordpress/components");
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
11
|
+
var _dataviewsItemActions = _interopRequireDefault(require("../../components/dataviews-item-actions"));
|
|
12
|
+
var _dataviewsSelectionCheckbox = _interopRequireDefault(require("../../components/dataviews-selection-checkbox"));
|
|
13
|
+
var _dataviewsBulkActions = require("../../components/dataviews-bulk-actions");
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
15
|
/**
|
|
16
16
|
* External dependencies
|
|
@@ -26,7 +26,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
26
26
|
|
|
27
27
|
function GridItem({
|
|
28
28
|
selection,
|
|
29
|
-
|
|
29
|
+
onChangeSelection,
|
|
30
30
|
getItemId,
|
|
31
31
|
item,
|
|
32
32
|
actions,
|
|
@@ -36,9 +36,15 @@ function GridItem({
|
|
|
36
36
|
badgeFields,
|
|
37
37
|
columnFields
|
|
38
38
|
}) {
|
|
39
|
-
const hasBulkAction = (0,
|
|
39
|
+
const hasBulkAction = (0, _dataviewsBulkActions.useHasAPossibleBulkAction)(actions, item);
|
|
40
40
|
const id = getItemId(item);
|
|
41
41
|
const isSelected = selection.includes(id);
|
|
42
|
+
const renderedMediaField = mediaField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(mediaField.render, {
|
|
43
|
+
item: item
|
|
44
|
+
}) : null;
|
|
45
|
+
const renderedPrimaryField = primaryField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(primaryField.render, {
|
|
46
|
+
item: item
|
|
47
|
+
}) : null;
|
|
42
48
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
43
49
|
spacing: 0,
|
|
44
50
|
className: (0, _clsx.default)('dataviews-view-grid__card', {
|
|
@@ -51,30 +57,26 @@ function GridItem({
|
|
|
51
57
|
if (!hasBulkAction) {
|
|
52
58
|
return;
|
|
53
59
|
}
|
|
54
|
-
|
|
60
|
+
onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [...selection, id]);
|
|
55
61
|
}
|
|
56
62
|
},
|
|
57
63
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
58
64
|
className: "dataviews-view-grid__media",
|
|
59
|
-
children:
|
|
60
|
-
item
|
|
61
|
-
})
|
|
65
|
+
children: renderedMediaField
|
|
62
66
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
63
67
|
justify: "space-between",
|
|
64
68
|
className: "dataviews-view-grid__title-actions",
|
|
65
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
69
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsSelectionCheckbox.default, {
|
|
66
70
|
item: item,
|
|
67
71
|
selection: selection,
|
|
68
|
-
|
|
72
|
+
onChangeSelection: onChangeSelection,
|
|
69
73
|
getItemId: getItemId,
|
|
70
74
|
primaryField: primaryField,
|
|
71
75
|
disabled: !hasBulkAction
|
|
72
76
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
|
|
73
77
|
className: "dataviews-view-grid__primary-field",
|
|
74
|
-
children:
|
|
75
|
-
|
|
76
|
-
})
|
|
77
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_itemActions.default, {
|
|
78
|
+
children: renderedPrimaryField
|
|
79
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsItemActions.default, {
|
|
78
80
|
item: item,
|
|
79
81
|
actions: actions,
|
|
80
82
|
isCompact: true
|
|
@@ -86,27 +88,17 @@ function GridItem({
|
|
|
86
88
|
alignment: "top",
|
|
87
89
|
justify: "flex-start",
|
|
88
90
|
children: badgeFields.map(field => {
|
|
89
|
-
const renderedValue = field.render({
|
|
90
|
-
item
|
|
91
|
-
});
|
|
92
|
-
if (!renderedValue) {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
91
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
|
|
96
92
|
className: "dataviews-view-grid__field-value",
|
|
97
|
-
children:
|
|
93
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(field.render, {
|
|
94
|
+
item: item
|
|
95
|
+
})
|
|
98
96
|
}, field.id);
|
|
99
97
|
})
|
|
100
98
|
}), !!visibleFields?.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
|
|
101
99
|
className: "dataviews-view-grid__fields",
|
|
102
|
-
spacing:
|
|
100
|
+
spacing: 1,
|
|
103
101
|
children: visibleFields.map(field => {
|
|
104
|
-
const renderedValue = field.render({
|
|
105
|
-
item
|
|
106
|
-
});
|
|
107
|
-
if (!renderedValue) {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
102
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Flex, {
|
|
111
103
|
className: (0, _clsx.default)('dataviews-view-grid__field', columnFields?.includes(field.id) ? 'is-column' : 'is-row'),
|
|
112
104
|
gap: 1,
|
|
@@ -119,13 +111,15 @@ function GridItem({
|
|
|
119
111
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
120
112
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
|
|
121
113
|
className: "dataviews-view-grid__field-name",
|
|
122
|
-
children: field.
|
|
114
|
+
children: field.label
|
|
123
115
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
|
|
124
116
|
className: "dataviews-view-grid__field-value",
|
|
125
117
|
style: {
|
|
126
118
|
maxHeight: 'none'
|
|
127
119
|
},
|
|
128
|
-
children:
|
|
120
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(field.render, {
|
|
121
|
+
item: item
|
|
122
|
+
})
|
|
129
123
|
})]
|
|
130
124
|
})
|
|
131
125
|
}, field.id);
|
|
@@ -139,9 +133,10 @@ function ViewGrid({
|
|
|
139
133
|
fields,
|
|
140
134
|
getItemId,
|
|
141
135
|
isLoading,
|
|
142
|
-
|
|
136
|
+
onChangeSelection,
|
|
143
137
|
selection,
|
|
144
|
-
view
|
|
138
|
+
view,
|
|
139
|
+
density
|
|
145
140
|
}) {
|
|
146
141
|
const mediaField = fields.find(field => field.id === view.layout?.mediaField);
|
|
147
142
|
const primaryField = fields.find(field => field.id === view.layout?.primaryField);
|
|
@@ -163,17 +158,21 @@ function ViewGrid({
|
|
|
163
158
|
badgeFields: []
|
|
164
159
|
});
|
|
165
160
|
const hasData = !!data?.length;
|
|
161
|
+
const gridStyle = density ? {
|
|
162
|
+
gridTemplateColumns: `repeat(${density}, minmax(0, 1fr))`
|
|
163
|
+
} : {};
|
|
166
164
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
167
165
|
children: [hasData && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalGrid, {
|
|
168
166
|
gap: 8,
|
|
169
167
|
columns: 2,
|
|
170
168
|
alignment: "top",
|
|
171
169
|
className: "dataviews-view-grid",
|
|
170
|
+
style: gridStyle,
|
|
172
171
|
"aria-busy": isLoading,
|
|
173
172
|
children: data.map(item => {
|
|
174
173
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridItem, {
|
|
175
174
|
selection: selection,
|
|
176
|
-
|
|
175
|
+
onChangeSelection: onChangeSelection,
|
|
177
176
|
getItemId: getItemId,
|
|
178
177
|
item: item,
|
|
179
178
|
actions: actions,
|
|
@@ -195,4 +194,4 @@ function ViewGrid({
|
|
|
195
194
|
})]
|
|
196
195
|
});
|
|
197
196
|
}
|
|
198
|
-
//# sourceMappingURL=
|
|
197
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_dataviewsItemActions","_dataviewsSelectionCheckbox","_dataviewsBulkActions","_jsxRuntime","GridItem","selection","onChangeSelection","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","useHasAPossibleBulkAction","id","isSelected","includes","renderedMediaField","render","jsx","renderedPrimaryField","jsxs","__experimentalVStack","spacing","className","clsx","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","__experimentalHStack","justify","default","disabled","isCompact","length","wrap","alignment","map","field","FlexItem","Flex","gap","expanded","style","height","direction","Fragment","label","maxHeight","ViewGrid","data","fields","isLoading","view","density","find","layout","viewFields","reduce","accumulator","key","push","hasData","gridStyle","gridTemplateColumns","__experimentalGrid","columns","Spinner","__"],"sources":["@wordpress/dataviews/src/layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from '../../components/dataviews-item-actions';\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type { Action, NormalizedField, ViewGridProps } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface GridItemProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\tactions: Action< Item >[];\n\tmediaField?: NormalizedField< Item >;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tcolumnFields?: string[];\n}\n\nfunction GridItem< Item >( {\n\tselection,\n\tonChangeSelection,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n\tbadgeFields,\n\tcolumnFields,\n}: GridItemProps< Item > ) {\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ renderedMediaField }\n\t\t\t</div>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\twrap\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 1 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-grid__field',\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'is-column'\n\t\t\t\t\t\t\t\t\t\t: 'is-row'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\tdirection={\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'column'\n\t\t\t\t\t\t\t\t\t\t: 'row'\n\t\t\t\t\t\t\t\t}\n\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<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tdensity,\n}: ViewGridProps< Item > ) {\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, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\t! viewFields.includes( field.id ) ||\n\t\t\t\t[\n\t\t\t\t\tview.layout?.mediaField,\n\t\t\t\t\tview?.layout?.primaryField,\n\t\t\t\t].includes( field.id )\n\t\t\t) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( field.id )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'visibleFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ visibleFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst gridStyle = density\n\t\t? { gridTemplateColumns: `repeat(${ density }, minmax(0, 1fr))` }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\tcolumnFields={ view.layout?.columnFields }\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</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.VIEW_LAYOUTS = void 0;
|
|
8
|
+
exports.getMandatoryFields = getMandatoryFields;
|
|
9
|
+
var _i18n = require("@wordpress/i18n");
|
|
10
|
+
var _icons = require("@wordpress/icons");
|
|
11
|
+
var _table = _interopRequireDefault(require("./table"));
|
|
12
|
+
var _grid = _interopRequireDefault(require("./grid"));
|
|
13
|
+
var _list = _interopRequireDefault(require("./list"));
|
|
14
|
+
var _constants = require("../constants");
|
|
15
|
+
/**
|
|
16
|
+
* WordPress dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
const VIEW_LAYOUTS = exports.VIEW_LAYOUTS = [{
|
|
24
|
+
type: _constants.LAYOUT_TABLE,
|
|
25
|
+
label: (0, _i18n.__)('Table'),
|
|
26
|
+
component: _table.default,
|
|
27
|
+
icon: _icons.blockTable
|
|
28
|
+
}, {
|
|
29
|
+
type: _constants.LAYOUT_GRID,
|
|
30
|
+
label: (0, _i18n.__)('Grid'),
|
|
31
|
+
component: _grid.default,
|
|
32
|
+
icon: _icons.category
|
|
33
|
+
}, {
|
|
34
|
+
type: _constants.LAYOUT_LIST,
|
|
35
|
+
label: (0, _i18n.__)('List'),
|
|
36
|
+
component: _list.default,
|
|
37
|
+
icon: (0, _i18n.isRTL)() ? _icons.formatListBulletsRTL : _icons.formatListBullets
|
|
38
|
+
}];
|
|
39
|
+
function getMandatoryFields(view) {
|
|
40
|
+
if (view.type === 'table') {
|
|
41
|
+
var _view$layout$combined;
|
|
42
|
+
return [view.layout?.primaryField].concat((_view$layout$combined = view.layout?.combinedFields?.flatMap(field => field.children)) !== null && _view$layout$combined !== void 0 ? _view$layout$combined : []).filter(item => !!item);
|
|
43
|
+
}
|
|
44
|
+
if (view.type === 'grid') {
|
|
45
|
+
return [view.layout?.primaryField, view.layout?.mediaField].filter(item => !!item);
|
|
46
|
+
}
|
|
47
|
+
if (view.type === 'list') {
|
|
48
|
+
return [view.layout?.primaryField, view.layout?.mediaField].filter(item => !!item);
|
|
49
|
+
}
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=index.js.map
|