@wordpress/dataviews 2.1.0 → 3.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 +24 -5
- package/README.md +5 -5
- package/build/add-filter.js +1 -1
- package/build/add-filter.js.map +1 -1
- package/build/bulk-actions-toolbar.js +5 -2
- package/build/bulk-actions-toolbar.js.map +1 -1
- package/build/bulk-actions.js +11 -21
- package/build/bulk-actions.js.map +1 -1
- package/build/dataform.js +78 -0
- package/build/dataform.js.map +1 -0
- package/build/dataviews.js +26 -31
- package/build/dataviews.js.map +1 -1
- package/build/filter-and-sort-data-view.js +4 -1
- package/build/filter-and-sort-data-view.js.map +1 -1
- package/build/filter-summary.js +6 -5
- package/build/filter-summary.js.map +1 -1
- package/build/filters.js +1 -1
- package/build/filters.js.map +1 -1
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/item-actions.js +17 -6
- package/build/item-actions.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/normalize-fields.js.map +1 -1
- package/build/pagination.js +2 -2
- package/build/pagination.js.map +1 -1
- package/build/private-types.js +6 -0
- package/build/private-types.js.map +1 -0
- package/build/reset-filters.js +1 -1
- package/build/reset-filters.js.map +1 -1
- package/build/search-widget.js +8 -6
- package/build/search-widget.js.map +1 -1
- package/build/single-selection-checkbox.js +5 -16
- package/build/single-selection-checkbox.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/utils.js.map +1 -1
- package/build/view-actions.js +76 -65
- package/build/view-actions.js.map +1 -1
- package/build/view-grid.js +7 -19
- package/build/view-grid.js.map +1 -1
- package/build/view-list.js +15 -8
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +22 -25
- package/build/view-table.js.map +1 -1
- package/build-module/add-filter.js +1 -1
- package/build-module/add-filter.js.map +1 -1
- package/build-module/bulk-actions-toolbar.js +5 -2
- package/build-module/bulk-actions-toolbar.js.map +1 -1
- package/build-module/bulk-actions.js +12 -22
- package/build-module/bulk-actions.js.map +1 -1
- package/build-module/dataform.js +72 -0
- package/build-module/dataform.js.map +1 -0
- package/build-module/dataviews.js +24 -31
- package/build-module/dataviews.js.map +1 -1
- package/build-module/filter-and-sort-data-view.js +4 -1
- package/build-module/filter-and-sort-data-view.js.map +1 -1
- package/build-module/filter-summary.js +6 -5
- package/build-module/filter-summary.js.map +1 -1
- package/build-module/filters.js +1 -1
- package/build-module/filters.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/item-actions.js +17 -6
- package/build-module/item-actions.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/pagination.js +2 -2
- package/build-module/pagination.js.map +1 -1
- package/build-module/private-types.js +2 -0
- package/build-module/private-types.js.map +1 -0
- package/build-module/reset-filters.js +1 -1
- package/build-module/reset-filters.js.map +1 -1
- package/build-module/search-widget.js +8 -6
- package/build-module/search-widget.js.map +1 -1
- package/build-module/single-selection-checkbox.js +5 -16
- package/build-module/single-selection-checkbox.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/utils.js.map +1 -1
- package/build-module/view-actions.js +80 -68
- package/build-module/view-actions.js.map +1 -1
- package/build-module/view-grid.js +7 -19
- package/build-module/view-grid.js.map +1 -1
- package/build-module/view-list.js +15 -8
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +22 -25
- package/build-module/view-table.js.map +1 -1
- package/build-style/style-rtl.css +8 -24
- package/build-style/style.css +8 -24
- package/build-types/bulk-actions-toolbar.d.ts +5 -4
- package/build-types/bulk-actions-toolbar.d.ts.map +1 -1
- package/build-types/bulk-actions.d.ts +7 -6
- package/build-types/bulk-actions.d.ts.map +1 -1
- package/build-types/dataform.d.ts +17 -0
- package/build-types/dataform.d.ts.map +1 -0
- package/build-types/dataviews.d.ts +15 -6
- package/build-types/dataviews.d.ts.map +1 -1
- package/build-types/filter-and-sort-data-view.d.ts +2 -2
- package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
- package/build-types/filter-summary.d.ts.map +1 -1
- package/build-types/filters.d.ts +3 -3
- package/build-types/filters.d.ts.map +1 -1
- package/build-types/index.d.ts +1 -0
- package/build-types/index.d.ts.map +1 -1
- package/build-types/item-actions.d.ts +10 -10
- package/build-types/item-actions.d.ts.map +1 -1
- package/build-types/normalize-fields.d.ts +2 -2
- package/build-types/normalize-fields.d.ts.map +1 -1
- package/build-types/private-types.d.ts +3 -0
- package/build-types/private-types.d.ts.map +1 -0
- package/build-types/single-selection-checkbox.d.ts +5 -5
- package/build-types/single-selection-checkbox.d.ts.map +1 -1
- package/build-types/stories/fixtures.d.ts +14 -1
- package/build-types/stories/fixtures.d.ts.map +1 -1
- package/build-types/stories/index.story.d.ts +15 -1
- package/build-types/stories/index.story.d.ts.map +1 -1
- package/build-types/types.d.ts +73 -38
- package/build-types/types.d.ts.map +1 -1
- package/build-types/utils.d.ts +2 -2
- package/build-types/utils.d.ts.map +1 -1
- package/build-types/view-actions.d.ts +4 -4
- package/build-types/view-actions.d.ts.map +1 -1
- package/build-types/view-grid.d.ts +2 -2
- package/build-types/view-grid.d.ts.map +1 -1
- package/build-types/view-list.d.ts +2 -2
- package/build-types/view-list.d.ts.map +1 -1
- package/build-types/view-table.d.ts +2 -2
- package/build-types/view-table.d.ts.map +1 -1
- package/package.json +10 -9
- package/src/add-filter.tsx +1 -1
- package/src/bulk-actions-toolbar.tsx +18 -14
- package/src/bulk-actions.tsx +31 -45
- package/src/dataform.tsx +106 -0
- package/src/dataviews.tsx +55 -60
- package/src/filter-and-sort-data-view.ts +13 -3
- package/src/filter-summary.tsx +18 -12
- package/src/filters.tsx +4 -4
- package/src/index.ts +1 -0
- package/src/item-actions.tsx +27 -24
- package/src/lock-unlock.ts +1 -1
- package/src/normalize-fields.ts +5 -3
- package/src/pagination.tsx +2 -2
- package/src/private-types.tsx +2 -0
- package/src/reset-filters.tsx +1 -1
- package/src/search-widget.tsx +6 -6
- package/src/single-selection-checkbox.tsx +14 -29
- package/src/stories/fixtures.js +17 -1
- package/src/stories/index.story.js +15 -28
- package/src/style.scss +10 -22
- package/src/test/filter-and-sort-data-view.js +16 -1
- package/src/types.ts +75 -47
- package/src/utils.ts +2 -4
- package/src/view-actions.tsx +105 -102
- package/src/view-grid.tsx +21 -38
- package/src/view-list.tsx +22 -22
- package/src/view-table.tsx +45 -45
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/build/dataviews.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_layouts","_bulkActions","_normalizeFields","_bulkActionsToolbar","_jsxRuntime","defaultGetItemId","item","id","defaultOnSelectionChange","useSomeItemHasAPossibleBulkAction","actions","data","useMemo","some","action","supportsBulk","isEligible","DataViews","view","onChangeView","fields","search","searchLabel","undefined","getItemId","isLoading","paginationInfo","supportedLayouts","onSelectionChange","selection","setSelection","useState","openedFilter","setOpenedFilter","useEffect","length","newSelection","filter","includes","onSetSelection","useCallback","items","map","ViewComponent","VIEW_LAYOUTS","find","v","type","component","_fields","normalizeFields","hasPossibleBulkAction","jsxs","className","children","__experimentalHStack","alignment","justify","wrap","jsx","default","label","LAYOUT_TABLE","LAYOUT_GRID"],"sources":["@wordpress/dataviews/src/dataviews.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nimport BulkActions from './bulk-actions';\nimport { normalizeFields } from './normalize-fields';\nimport BulkActionsToolbar from './bulk-actions-toolbar';\nimport type { Action, AnyItem, Field, View, ViewBaseProps } from './types';\n\ninterface DataViewsProps< Item extends AnyItem > {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tactions?: Action< Item >[];\n\tdata: Item[];\n\tgetItemId?: ( item: Item ) => string;\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n\tsupportedLayouts: string[];\n\tonSelectionChange?: ( items: Item[] ) => void;\n}\n\nconst defaultGetItemId = ( item: AnyItem ) => item.id;\nconst defaultOnSelectionChange = () => {};\n\nfunction useSomeItemHasAPossibleBulkAction< Item extends AnyItem >(\n\tactions: Action< Item >[],\n\tdata: Item[]\n) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn (\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nexport default function DataViews< Item extends AnyItem >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = [],\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tsupportedLayouts,\n\tonSelectionChange = defaultOnSelectionChange,\n}: DataViewsProps< Item > ) {\n\tconst [ selection, setSelection ] = useState< string[] >( [] );\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tselection.length > 0 &&\n\t\t\tselection.some(\n\t\t\t\t( id ) => ! data.some( ( item ) => getItemId( item ) === id )\n\t\t\t)\n\t\t) {\n\t\t\tconst newSelection = selection.filter( ( id ) =>\n\t\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t\t);\n\t\t\tsetSelection( newSelection );\n\t\t\tonSelectionChange(\n\t\t\t\tdata.filter( ( item ) =>\n\t\t\t\t\tnewSelection.includes( getItemId( item ) )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selection, data, getItemId, onSelectionChange ] );\n\n\tconst onSetSelection = useCallback(\n\t\t( items: Item[] ) => {\n\t\t\tsetSelection( items.map( ( item ) => getItemId( item ) ) );\n\t\t\tonSelectionChange( items );\n\t\t},\n\t\t[ setSelection, getItemId, onSelectionChange ]\n\t);\n\n\tconst ViewComponent = VIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t?.component as ComponentType< ViewBaseProps< Item > >;\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\n\tconst hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(\n\t\tactions,\n\t\tdata\n\t);\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"start\"\n\t\t\t\tclassName=\"dataviews-filters__view-actions\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews-filters__container\"\n\t\t\t\t\twrap\n\t\t\t\t>\n\t\t\t\t\t{ search && (\n\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<Filters\n\t\t\t\t\t\tfields={ _fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t\t<BulkActions\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t<ViewActions\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<ViewComponent\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tfields={ _fields }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tisLoading={ isLoading }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\tview={ view }\n\t\t\t/>\n\t\t\t<Pagination\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t/>\n\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t<BulkActionsToolbar\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAQA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,YAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,QAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,OAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAN,sBAAA,CAAAH,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,mBAAA,GAAAR,sBAAA,CAAAH,OAAA;AAAwD,IAAAY,WAAA,GAAAZ,OAAA;AAtBxD;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AA8BA,MAAMa,gBAAgB,GAAKC,IAAa,IAAMA,IAAI,CAACC,EAAE;AACrD,MAAMC,wBAAwB,GAAGA,CAAA,KAAM,CAAC,CAAC;AAEzC,SAASC,iCAAiCA,CACzCC,OAAyB,EACzBC,IAAY,EACX;EACD,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,OAAOD,IAAI,CAACE,IAAI,CAAIP,IAAI,IAAM;MAC7B,OAAOI,OAAO,CAACG,IAAI,CAAIC,MAAM,IAAM;QAClC,OACCA,MAAM,CAACC,YAAY,KACjB,CAAED,MAAM,CAACE,UAAU,IAAIF,MAAM,CAACE,UAAU,CAAEV,IAAK,CAAC,CAAE;MAEtD,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEI,OAAO,EAAEC,IAAI,CAAG,CAAC;AACvB;AAEe,SAASM,SAASA,CAA0B;EAC1DC,IAAI;EACJC,YAAY;EACZC,MAAM;EACNC,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC,SAAS;EACvBb,OAAO,GAAG,EAAE;EACZC,IAAI;EACJa,SAAS,GAAGnB,gBAAgB;EAC5BoB,SAAS,GAAG,KAAK;EACjBC,cAAc;EACdC,gBAAgB;EAChBC,iBAAiB,GAAGpB;AACG,CAAC,EAAG;EAC3B,MAAM,CAAEqB,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAc,EAAG,CAAC;EAC9D,MAAM,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAF,iBAAQ,EAAmB,IAAK,CAAC;EAE3E,IAAAG,kBAAS,EAAE,MAAM;IAChB,IACCL,SAAS,CAACM,MAAM,GAAG,CAAC,IACpBN,SAAS,CAAChB,IAAI,CACXN,EAAE,IAAM,CAAEI,IAAI,CAACE,IAAI,CAAIP,IAAI,IAAMkB,SAAS,CAAElB,IAAK,CAAC,KAAKC,EAAG,CAC7D,CAAC,EACA;MACD,MAAM6B,YAAY,GAAGP,SAAS,CAACQ,MAAM,CAAI9B,EAAE,IAC1CI,IAAI,CAACE,IAAI,CAAIP,IAAI,IAAMkB,SAAS,CAAElB,IAAK,CAAC,KAAKC,EAAG,CACjD,CAAC;MACDuB,YAAY,CAAEM,YAAa,CAAC;MAC5BR,iBAAiB,CAChBjB,IAAI,CAAC0B,MAAM,CAAI/B,IAAI,IAClB8B,YAAY,CAACE,QAAQ,CAAEd,SAAS,CAAElB,IAAK,CAAE,CAC1C,CACD,CAAC;IACF;EACD,CAAC,EAAE,CAAEuB,SAAS,EAAElB,IAAI,EAAEa,SAAS,EAAEI,iBAAiB,CAAG,CAAC;EAEtD,MAAMW,cAAc,GAAG,IAAAC,oBAAW,EAC/BC,KAAa,IAAM;IACpBX,YAAY,CAAEW,KAAK,CAACC,GAAG,CAAIpC,IAAI,IAAMkB,SAAS,CAAElB,IAAK,CAAE,CAAE,CAAC;IAC1DsB,iBAAiB,CAAEa,KAAM,CAAC;EAC3B,CAAC,EACD,CAAEX,YAAY,EAAEN,SAAS,EAAEI,iBAAiB,CAC7C,CAAC;EAED,MAAMe,aAAa,GAAGC,qBAAY,CAACC,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAK7B,IAAI,CAAC6B,IAAK,CAAC,EACrEC,SAAmD;EACtD,MAAMC,OAAO,GAAG,IAAArC,gBAAO,EAAE,MAAM,IAAAsC,gCAAe,EAAE9B,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EAEtE,MAAM+B,qBAAqB,GAAG1C,iCAAiC,CAC9DC,OAAO,EACPC,IACD,CAAC;EACD,oBACC,IAAAP,WAAA,CAAAgD,IAAA;IAAKC,SAAS,EAAC,mBAAmB;IAAAC,QAAA,gBACjC,IAAAlD,WAAA,CAAAgD,IAAA,EAAC7D,WAAA,CAAAgE,oBAAM;MACNC,SAAS,EAAC,KAAK;MACfC,OAAO,EAAC,OAAO;MACfJ,SAAS,EAAC,iCAAiC;MAAAC,QAAA,gBAE3C,IAAAlD,WAAA,CAAAgD,IAAA,EAAC7D,WAAA,CAAAgE,oBAAM;QACNE,OAAO,EAAC,OAAO;QACfJ,SAAS,EAAC,8BAA8B;QACxCK,IAAI;QAAAJ,QAAA,GAEFjC,MAAM,iBACP,IAAAjB,WAAA,CAAAuD,GAAA,EAAC7D,OAAA,CAAA8D,OAAM;UACNC,KAAK,EAAGvC,WAAa;UACrBJ,IAAI,EAAGA,IAAM;UACbC,YAAY,EAAGA;QAAc,CAC7B,CACD,eACD,IAAAf,WAAA,CAAAuD,GAAA,EAAC9D,QAAA,CAAA+D,OAAO;UACPxC,MAAM,EAAG6B,OAAS;UAClB/B,IAAI,EAAGA,IAAM;UACbC,YAAY,EAAGA,YAAc;UAC7Ba,YAAY,EAAGA,YAAc;UAC7BC,eAAe,EAAGA;QAAiB,CACnC,CAAC;MAAA,CACK,CAAC,EACP,CAAE6B,uBAAY,EAAEC,sBAAW,CAAE,CAACzB,QAAQ,CAAEpB,IAAI,CAAC6B,IAAK,CAAC,IACpDI,qBAAqB,iBACpB,IAAA/C,WAAA,CAAAuD,GAAA,EAAC1D,YAAA,CAAA2D,OAAW;QACXlD,OAAO,EAAGA,OAAS;QACnBC,IAAI,EAAGA,IAAM;QACbiB,iBAAiB,EAAGW,cAAgB;QACpCV,SAAS,EAAGA,SAAW;QACvBL,SAAS,EAAGA;MAAW,CACvB,CACD,eACF,IAAApB,WAAA,CAAAuD,GAAA,EAAC/D,YAAA,CAAAgE,OAAW;QACXxC,MAAM,EAAG6B,OAAS;QAClB/B,IAAI,EAAGA,IAAM;QACbC,YAAY,EAAGA,YAAc;QAC7BQ,gBAAgB,EAAGA;MAAkB,CACrC,CAAC;IAAA,CACK,CAAC,eACT,IAAAvB,WAAA,CAAAuD,GAAA,EAAChB,aAAa;MACbjC,OAAO,EAAGA,OAAS;MACnBC,IAAI,EAAGA,IAAM;MACbS,MAAM,EAAG6B,OAAS;MAClBzB,SAAS,EAAGA,SAAW;MACvBC,SAAS,EAAGA,SAAW;MACvBN,YAAY,EAAGA,YAAc;MAC7BS,iBAAiB,EAAGW,cAAgB;MACpCV,SAAS,EAAGA,SAAW;MACvBI,eAAe,EAAGA,eAAiB;MACnCf,IAAI,EAAGA;IAAM,CACb,CAAC,eACF,IAAAd,WAAA,CAAAuD,GAAA,EAACjE,WAAA,CAAAkE,OAAU;MACV1C,IAAI,EAAGA,IAAM;MACbC,YAAY,EAAGA,YAAc;MAC7BO,cAAc,EAAGA;IAAgB,CACjC,CAAC,EACA,CAAEoC,uBAAY,EAAEC,sBAAW,CAAE,CAACzB,QAAQ,CAAEpB,IAAI,CAAC6B,IAAK,CAAC,IACpDI,qBAAqB,iBACpB,IAAA/C,WAAA,CAAAuD,GAAA,EAACxD,mBAAA,CAAAyD,OAAkB;MAClBjD,IAAI,EAAGA,IAAM;MACbD,OAAO,EAAGA,OAAS;MACnBmB,SAAS,EAAGA,SAAW;MACvBD,iBAAiB,EAAGW,cAAgB;MACpCf,SAAS,EAAGA;IAAW,CACvB,CACD;EAAA,CACE,CAAC;AAER","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_layouts","_bulkActions","_interopRequireWildcard","_normalizeFields","_bulkActionsToolbar","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultGetItemId","item","id","defaultOnSelectionChange","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","getItemId","isLoading","paginationInfo","defaultLayouts","selection","selectionProperty","setSelection","setSelectionProperty","onSelectionChange","selectionState","setSelectionState","useState","isUncontrolled","openedFilter","setOpenedFilter","setSelectionWithChange","value","newValue","filter","includes","ViewComponent","VIEW_LAYOUTS","find","v","type","component","_fields","useMemo","normalizeFields","hasPossibleBulkAction","useSomeItemHasAPossibleBulkAction","_selection","some","jsxs","className","children","__experimentalHStack","alignment","justify","wrap","jsx","label","LAYOUT_TABLE","LAYOUT_GRID"],"sources":["@wordpress/dataviews/src/dataviews.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nimport {\n\tdefault as BulkActions,\n\tuseSomeItemHasAPossibleBulkAction,\n} from './bulk-actions';\nimport { normalizeFields } from './normalize-fields';\nimport BulkActionsToolbar from './bulk-actions-toolbar';\nimport type {\n\tAction,\n\tField,\n\tView,\n\tViewBaseProps,\n\tSupportedLayouts,\n} from './types';\nimport type { SetSelection, SelectionOrUpdater } from './private-types';\n\ntype ItemWithId = { id: string };\n\ntype DataViewsProps< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tactions?: Action< Item >[];\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n\tdefaultLayouts: SupportedLayouts;\n\tselection?: string[];\n\tsetSelection?: SetSelection;\n\tonSelectionChange?: ( items: Item[] ) => void;\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\n\nconst defaultOnSelectionChange = () => {};\n\nexport default function DataViews< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = [],\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts,\n\tselection: selectionProperty,\n\tsetSelection: setSelectionProperty,\n\tonSelectionChange = defaultOnSelectionChange,\n}: DataViewsProps< Item > ) {\n\tconst [ selectionState, setSelectionState ] = useState< string[] >( [] );\n\tconst isUncontrolled =\n\t\tselectionProperty === undefined || setSelectionProperty === undefined;\n\tconst selection = isUncontrolled ? selectionState : selectionProperty;\n\tconst setSelection = isUncontrolled\n\t\t? setSelectionState\n\t\t: setSelectionProperty;\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\n\tfunction setSelectionWithChange( value: SelectionOrUpdater ) {\n\t\tconst newValue =\n\t\t\ttypeof value === 'function' ? value( selection ) : value;\n\t\tonSelectionChange(\n\t\t\tdata.filter( ( item ) => newValue.includes( getItemId( item ) ) )\n\t\t);\n\t\treturn setSelection( value );\n\t}\n\n\tconst ViewComponent = VIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t?.component as ComponentType< ViewBaseProps< Item > >;\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\n\tconst hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(\n\t\tactions,\n\t\tdata\n\t);\n\tconst _selection = useMemo( () => {\n\t\treturn selection.filter( ( id ) =>\n\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"start\"\n\t\t\t\tclassName=\"dataviews-filters__view-actions\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews-filters__container\"\n\t\t\t\t\twrap\n\t\t\t\t>\n\t\t\t\t\t{ search && (\n\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<Filters\n\t\t\t\t\t\tfields={ _fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t\t<BulkActions\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tonSelectionChange={ setSelectionWithChange }\n\t\t\t\t\t\t\tselection={ _selection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t<ViewActions\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<ViewComponent\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tfields={ _fields }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tisLoading={ isLoading }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ setSelectionWithChange }\n\t\t\t\tselection={ _selection }\n\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\tview={ view }\n\t\t\t/>\n\t\t\t<Pagination\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t/>\n\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t<BulkActionsToolbar\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\tselection={ _selection }\n\t\t\t\t\t\tonSelectionChange={ setSelectionWithChange }\n\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,7 +53,7 @@ function filterSortAndPaginate(data, view, fields) {
|
|
|
53
53
|
}).some(field => field.includes(normalizedSearch));
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
-
if (view.filters.length > 0) {
|
|
56
|
+
if (view.filters && view.filters?.length > 0) {
|
|
57
57
|
view.filters.forEach(filter => {
|
|
58
58
|
const field = _fields.find(_field => _field.id === filter.field);
|
|
59
59
|
if (field) {
|
|
@@ -129,6 +129,9 @@ function filterSortAndPaginate(data, view, fields) {
|
|
|
129
129
|
const valueB = (_fieldToSort$getValue2 = fieldToSort.getValue({
|
|
130
130
|
item: b
|
|
131
131
|
})) !== null && _fieldToSort$getValue2 !== void 0 ? _fieldToSort$getValue2 : '';
|
|
132
|
+
if (typeof valueA === 'number' && typeof valueB === 'number') {
|
|
133
|
+
return view.sort?.direction === 'asc' ? valueA - valueB : valueB - valueA;
|
|
134
|
+
}
|
|
132
135
|
return view.sort?.direction === 'asc' ? valueA.localeCompare(valueB) : valueB.localeCompare(valueA);
|
|
133
136
|
});
|
|
134
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_removeAccents","_interopRequireDefault","require","_constants","_normalizeFields","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","filterSortAndPaginate","data","view","fields","paginationInfo","totalItems","totalPages","_fields","normalizeFields","filteredData","search","normalizedSearch","filter","item","field","enableGlobalSearch","map","getValue","some","includes","filters","length","forEach","find","_field","id","operator","OPERATOR_IS_ANY","value","fieldValue","Array","isArray","filterValue","OPERATOR_IS_NONE","OPERATOR_IS_ALL","every","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","sort","fieldId","fieldToSort","a","b","_fieldToSort$getValue","_fieldToSort$getValue2","valueA","valueB","direction","localeCompare","page","undefined","perPage","start","Math","ceil","slice"],"sources":["@wordpress/dataviews/src/filter-and-sort-data-view.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\nimport { normalizeFields } from './normalize-fields';\nimport type { Field, AnyItem, View } from './types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param data Raw data.\n * @param view View config.\n * @param fields Fields config.\n *\n * @return Filtered, sorted and paginated data.\n */\nexport function filterSortAndPaginate< Item extends AnyItem >(\n\tdata: Item[],\n\tview: View,\n\tfields: Field< Item >[]\n): {\n\tdata: Item[];\n\tpaginationInfo: { totalItems: number; totalPages: number };\n} {\n\tif ( ! data ) {\n\t\treturn {\n\t\t\tdata: EMPTY_ARRAY,\n\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t};\n\t}\n\tconst _fields = normalizeFields( fields );\n\tlet filteredData = [ ...data ];\n\t// Handle global search.\n\tif ( view.search ) {\n\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\treturn _fields\n\t\t\t\t.filter( ( field ) => field.enableGlobalSearch )\n\t\t\t\t.map( ( field ) => {\n\t\t\t\t\treturn normalizeSearchInput( field.getValue( { item } ) );\n\t\t\t\t} )\n\t\t\t\t.some( ( field ) => field.includes( normalizedSearch ) );\n\t\t} );\n\t}\n\n\tif ( view.filters.length > 0 ) {\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tconst field = _fields.find(\n\t\t\t\t( _field ) => _field.id === filter.field\n\t\t\t);\n\t\t\tif ( field ) {\n\t\t\t\tif (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn ! filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn ! field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value === field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tif ( view.sort ) {\n\t\tconst fieldId = view.sort.field;\n\t\tconst fieldToSort = _fields.find( ( field ) => {\n\t\t\treturn field.id === fieldId;\n\t\t} );\n\t\tif ( fieldToSort ) {\n\t\t\tfilteredData.sort( ( a, b ) => {\n\t\t\t\tconst valueA = fieldToSort.getValue( { item: a } ) ?? '';\n\t\t\t\tconst valueB = fieldToSort.getValue( { item: b } ) ?? '';\n\t\t\t\treturn view.sort?.direction === 'asc'\n\t\t\t\t\t? valueA.localeCompare( valueB )\n\t\t\t\t\t: valueB.localeCompare( valueA );\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Handle pagination.\n\tlet totalItems = filteredData.length;\n\tlet totalPages = 1;\n\tif ( view.page !== undefined && view.perPage !== undefined ) {\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\ttotalItems = filteredData?.length || 0;\n\t\ttotalPages = Math.ceil( totalItems / view.perPage );\n\t\tfilteredData = filteredData?.slice( start, start + view.perPage );\n\t}\n\n\treturn {\n\t\tdata: filteredData,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAD,OAAA;AAQA,IAAAE,gBAAA,GAAAF,OAAA;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAYA,SAASG,oBAAoBA,CAAEC,KAAK,GAAG,EAAE,EAAG;EAC3C,OAAO,IAAAC,sBAAa,EAAED,KAAK,CAACE,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAE,CAAC;AACnD;AAEA,MAAMC,WAAe,GAAG,EAAE;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CACpCC,IAAY,EACZC,IAAU,EACVC,MAAuB,EAItB;EACD,IAAK,CAAEF,IAAI,EAAG;IACb,OAAO;MACNA,IAAI,EAAEF,WAAW;MACjBK,cAAc,EAAE;QAAEC,UAAU,EAAE,CAAC;QAAEC,UAAU,EAAE;MAAE;IAChD,CAAC;EACF;EACA,MAAMC,OAAO,GAAG,IAAAC,gCAAe,EAAEL,MAAO,CAAC;EACzC,IAAIM,YAAY,GAAG,CAAE,GAAGR,IAAI,CAAE;EAC9B;EACA,IAAKC,IAAI,CAACQ,MAAM,EAAG;IAClB,MAAMC,gBAAgB,GAAGjB,oBAAoB,CAAEQ,IAAI,CAACQ,MAAO,CAAC;IAC5DD,YAAY,GAAGA,YAAY,CAACG,MAAM,CAAIC,IAAI,IAAM;MAC/C,OAAON,OAAO,CACZK,MAAM,CAAIE,KAAK,IAAMA,KAAK,CAACC,kBAAmB,CAAC,CAC/CC,GAAG,CAAIF,KAAK,IAAM;QAClB,OAAOpB,oBAAoB,CAAEoB,KAAK,CAACG,QAAQ,CAAE;UAAEJ;QAAK,CAAE,CAAE,CAAC;MAC1D,CAAE,CAAC,CACFK,IAAI,CAAIJ,KAAK,IAAMA,KAAK,CAACK,QAAQ,CAAER,gBAAiB,CAAE,CAAC;IAC1D,CAAE,CAAC;EACJ;EAEA,IAAKT,IAAI,CAACkB,OAAO,CAACC,MAAM,GAAG,CAAC,EAAG;IAC9BnB,IAAI,CAACkB,OAAO,CAACE,OAAO,CAAIV,MAAM,IAAM;MACnC,MAAME,KAAK,GAAGP,OAAO,CAACgB,IAAI,CACvBC,MAAM,IAAMA,MAAM,CAACC,EAAE,KAAKb,MAAM,CAACE,KACpC,CAAC;MACD,IAAKA,KAAK,EAAG;QACZ,IACCF,MAAM,CAACc,QAAQ,KAAKC,0BAAe,IACnCf,MAAM,EAAEgB,KAAK,EAAEP,MAAM,GAAG,CAAC,EACxB;UACDZ,YAAY,GAAGA,YAAY,CAACG,MAAM,CAAIC,IAAI,IAAM;YAC/C,MAAMgB,UAAU,GAAGf,KAAK,CAACG,QAAQ,CAAE;cAAEJ;YAAK,CAAE,CAAC;YAC7C,IAAKiB,KAAK,CAACC,OAAO,CAAEF,UAAW,CAAC,EAAG;cAClC,OAAOjB,MAAM,CAACgB,KAAK,CAACV,IAAI,CAAIc,WAAgB,IAC3CH,UAAU,CAACV,QAAQ,CAAEa,WAAY,CAClC,CAAC;YACF,CAAC,MAAM,IAAK,OAAOH,UAAU,KAAK,QAAQ,EAAG;cAC5C,OAAOjB,MAAM,CAACgB,KAAK,CAACT,QAAQ,CAAEU,UAAW,CAAC;YAC3C;YACA,OAAO,KAAK;UACb,CAAE,CAAC;QACJ,CAAC,MAAM,IACNjB,MAAM,CAACc,QAAQ,KAAKO,2BAAgB,IACpCrB,MAAM,EAAEgB,KAAK,EAAEP,MAAM,GAAG,CAAC,EACxB;UACDZ,YAAY,GAAGA,YAAY,CAACG,MAAM,CAAIC,IAAI,IAAM;YAC/C,MAAMgB,UAAU,GAAGf,KAAK,CAACG,QAAQ,CAAE;cAAEJ;YAAK,CAAE,CAAC;YAC7C,IAAKiB,KAAK,CAACC,OAAO,CAAEF,UAAW,CAAC,EAAG;cAClC,OAAO,CAAEjB,MAAM,CAACgB,KAAK,CAACV,IAAI,CAAIc,WAAgB,IAC7CH,UAAU,CAACV,QAAQ,CAAEa,WAAY,CAClC,CAAC;YACF,CAAC,MAAM,IAAK,OAAOH,UAAU,KAAK,QAAQ,EAAG;cAC5C,OAAO,CAAEjB,MAAM,CAACgB,KAAK,CAACT,QAAQ,CAAEU,UAAW,CAAC;YAC7C;YACA,OAAO,KAAK;UACb,CAAE,CAAC;QACJ,CAAC,MAAM,IACNjB,MAAM,CAACc,QAAQ,KAAKQ,0BAAe,IACnCtB,MAAM,EAAEgB,KAAK,EAAEP,MAAM,GAAG,CAAC,EACxB;UACDZ,YAAY,GAAGA,YAAY,CAACG,MAAM,CAAIC,IAAI,IAAM;YAC/C,OAAOD,MAAM,CAACgB,KAAK,CAACO,KAAK,CAAIP,KAAU,IAAM;cAC5C,OAAOd,KAAK,CACVG,QAAQ,CAAE;gBAAEJ;cAAK,CAAE,CAAC,EACnBM,QAAQ,CAAES,KAAM,CAAC;YACrB,CAAE,CAAC;UACJ,CAAE,CAAC;QACJ,CAAC,MAAM,IACNhB,MAAM,CAACc,QAAQ,KAAKU,8BAAmB,IACvCxB,MAAM,EAAEgB,KAAK,EAAEP,MAAM,GAAG,CAAC,EACxB;UACDZ,YAAY,GAAGA,YAAY,CAACG,MAAM,CAAIC,IAAI,IAAM;YAC/C,OAAOD,MAAM,CAACgB,KAAK,CAACO,KAAK,CAAIP,KAAU,IAAM;cAC5C,OAAO,CAAEd,KAAK,CACZG,QAAQ,CAAE;gBAAEJ;cAAK,CAAE,CAAC,EACnBM,QAAQ,CAAES,KAAM,CAAC;YACrB,CAAE,CAAC;UACJ,CAAE,CAAC;QACJ,CAAC,MAAM,IAAKhB,MAAM,CAACc,QAAQ,KAAKW,sBAAW,EAAG;UAC7C5B,YAAY,GAAGA,YAAY,CAACG,MAAM,CAAIC,IAAI,IAAM;YAC/C,OAAOD,MAAM,CAACgB,KAAK,KAAKd,KAAK,CAACG,QAAQ,CAAE;cAAEJ;YAAK,CAAE,CAAC;UACnD,CAAE,CAAC;QACJ,CAAC,MAAM,IAAKD,MAAM,CAACc,QAAQ,KAAKY,0BAAe,EAAG;UACjD7B,YAAY,GAAGA,YAAY,CAACG,MAAM,CAAIC,IAAI,IAAM;YAC/C,OAAOD,MAAM,CAACgB,KAAK,KAAKd,KAAK,CAACG,QAAQ,CAAE;cAAEJ;YAAK,CAAE,CAAC;UACnD,CAAE,CAAC;QACJ;MACD;IACD,CAAE,CAAC;EACJ;;EAEA;EACA,IAAKX,IAAI,CAACqC,IAAI,EAAG;IAChB,MAAMC,OAAO,GAAGtC,IAAI,CAACqC,IAAI,CAACzB,KAAK;IAC/B,MAAM2B,WAAW,GAAGlC,OAAO,CAACgB,IAAI,CAAIT,KAAK,IAAM;MAC9C,OAAOA,KAAK,CAACW,EAAE,KAAKe,OAAO;IAC5B,CAAE,CAAC;IACH,IAAKC,WAAW,EAAG;MAClBhC,YAAY,CAAC8B,IAAI,CAAE,CAAEG,CAAC,EAAEC,CAAC,KAAM;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QAC9B,MAAMC,MAAM,IAAAF,qBAAA,GAAGH,WAAW,CAACxB,QAAQ,CAAE;UAAEJ,IAAI,EAAE6B;QAAE,CAAE,CAAC,cAAAE,qBAAA,cAAAA,qBAAA,GAAI,EAAE;QACxD,MAAMG,MAAM,IAAAF,sBAAA,GAAGJ,WAAW,CAACxB,QAAQ,CAAE;UAAEJ,IAAI,EAAE8B;QAAE,CAAE,CAAC,cAAAE,sBAAA,cAAAA,sBAAA,GAAI,EAAE;QACxD,OAAO3C,IAAI,CAACqC,IAAI,EAAES,SAAS,KAAK,KAAK,GAClCF,MAAM,CAACG,aAAa,CAAEF,MAAO,CAAC,GAC9BA,MAAM,CAACE,aAAa,CAAEH,MAAO,CAAC;MAClC,CAAE,CAAC;IACJ;EACD;;EAEA;EACA,IAAIzC,UAAU,GAAGI,YAAY,CAACY,MAAM;EACpC,IAAIf,UAAU,GAAG,CAAC;EAClB,IAAKJ,IAAI,CAACgD,IAAI,KAAKC,SAAS,IAAIjD,IAAI,CAACkD,OAAO,KAAKD,SAAS,EAAG;IAC5D,MAAME,KAAK,GAAG,CAAEnD,IAAI,CAACgD,IAAI,GAAG,CAAC,IAAKhD,IAAI,CAACkD,OAAO;IAC9C/C,UAAU,GAAGI,YAAY,EAAEY,MAAM,IAAI,CAAC;IACtCf,UAAU,GAAGgD,IAAI,CAACC,IAAI,CAAElD,UAAU,GAAGH,IAAI,CAACkD,OAAQ,CAAC;IACnD3C,YAAY,GAAGA,YAAY,EAAE+C,KAAK,CAAEH,KAAK,EAAEA,KAAK,GAAGnD,IAAI,CAACkD,OAAQ,CAAC;EAClE;EAEA,OAAO;IACNnD,IAAI,EAAEQ,YAAY;IAClBL,cAAc,EAAE;MACfC,UAAU;MACVC;IACD;EACD,CAAC;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_removeAccents","_interopRequireDefault","require","_constants","_normalizeFields","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","filterSortAndPaginate","data","view","fields","paginationInfo","totalItems","totalPages","_fields","normalizeFields","filteredData","search","normalizedSearch","filter","item","field","enableGlobalSearch","map","getValue","some","includes","filters","length","forEach","find","_field","id","operator","OPERATOR_IS_ANY","value","fieldValue","Array","isArray","filterValue","OPERATOR_IS_NONE","OPERATOR_IS_ALL","every","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","sort","fieldId","fieldToSort","a","b","_fieldToSort$getValue","_fieldToSort$getValue2","valueA","valueB","direction","localeCompare","page","undefined","perPage","start","Math","ceil","slice"],"sources":["@wordpress/dataviews/src/filter-and-sort-data-view.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\nimport { normalizeFields } from './normalize-fields';\nimport type { Field, View } from './types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param data Raw data.\n * @param view View config.\n * @param fields Fields config.\n *\n * @return Filtered, sorted and paginated data.\n */\nexport function filterSortAndPaginate< Item >(\n\tdata: Item[],\n\tview: View,\n\tfields: Field< Item >[]\n): {\n\tdata: Item[];\n\tpaginationInfo: { totalItems: number; totalPages: number };\n} {\n\tif ( ! data ) {\n\t\treturn {\n\t\t\tdata: EMPTY_ARRAY,\n\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t};\n\t}\n\tconst _fields = normalizeFields( fields );\n\tlet filteredData = [ ...data ];\n\t// Handle global search.\n\tif ( view.search ) {\n\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\treturn _fields\n\t\t\t\t.filter( ( field ) => field.enableGlobalSearch )\n\t\t\t\t.map( ( field ) => {\n\t\t\t\t\treturn normalizeSearchInput( field.getValue( { item } ) );\n\t\t\t\t} )\n\t\t\t\t.some( ( field ) => field.includes( normalizedSearch ) );\n\t\t} );\n\t}\n\n\tif ( view.filters && view.filters?.length > 0 ) {\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tconst field = _fields.find(\n\t\t\t\t( _field ) => _field.id === filter.field\n\t\t\t);\n\t\t\tif ( field ) {\n\t\t\t\tif (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn ! filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn ! field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value === field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tif ( view.sort ) {\n\t\tconst fieldId = view.sort.field;\n\t\tconst fieldToSort = _fields.find( ( field ) => {\n\t\t\treturn field.id === fieldId;\n\t\t} );\n\t\tif ( fieldToSort ) {\n\t\t\tfilteredData.sort( ( a, b ) => {\n\t\t\t\tconst valueA = fieldToSort.getValue( { item: a } ) ?? '';\n\t\t\t\tconst valueB = fieldToSort.getValue( { item: b } ) ?? '';\n\n\t\t\t\tif (\n\t\t\t\t\ttypeof valueA === 'number' &&\n\t\t\t\t\ttypeof valueB === 'number'\n\t\t\t\t) {\n\t\t\t\t\treturn view.sort?.direction === 'asc'\n\t\t\t\t\t\t? valueA - valueB\n\t\t\t\t\t\t: valueB - valueA;\n\t\t\t\t}\n\n\t\t\t\treturn view.sort?.direction === 'asc'\n\t\t\t\t\t? valueA.localeCompare( valueB )\n\t\t\t\t\t: valueB.localeCompare( valueA );\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Handle pagination.\n\tlet totalItems = filteredData.length;\n\tlet totalPages = 1;\n\tif ( view.page !== undefined && view.perPage !== undefined ) {\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\ttotalItems = filteredData?.length || 0;\n\t\ttotalPages = Math.ceil( totalItems / view.perPage );\n\t\tfilteredData = filteredData?.slice( start, start + view.perPage );\n\t}\n\n\treturn {\n\t\tdata: filteredData,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t},\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/filter-summary.js
CHANGED
|
@@ -80,7 +80,7 @@ function OperatorSelector({
|
|
|
80
80
|
value: operator,
|
|
81
81
|
label: _constants.OPERATORS[operator]?.label
|
|
82
82
|
}));
|
|
83
|
-
const currentFilter = view.filters
|
|
83
|
+
const currentFilter = view.filters?.find(_filter => _filter.field === filter.field);
|
|
84
84
|
const value = currentFilter?.operator || filter.operators[0];
|
|
85
85
|
return operatorOptions.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
86
86
|
spacing: 2,
|
|
@@ -94,8 +94,9 @@ function OperatorSelector({
|
|
|
94
94
|
value: value,
|
|
95
95
|
options: operatorOptions,
|
|
96
96
|
onChange: newValue => {
|
|
97
|
+
var _view$filters, _view$filters2;
|
|
97
98
|
const operator = newValue;
|
|
98
|
-
const newFilters = currentFilter ? [...view.filters.map(_filter => {
|
|
99
|
+
const newFilters = currentFilter ? [...((_view$filters = view.filters) !== null && _view$filters !== void 0 ? _view$filters : []).map(_filter => {
|
|
99
100
|
if (_filter.field === filter.field) {
|
|
100
101
|
return {
|
|
101
102
|
..._filter,
|
|
@@ -103,7 +104,7 @@ function OperatorSelector({
|
|
|
103
104
|
};
|
|
104
105
|
}
|
|
105
106
|
return _filter;
|
|
106
|
-
})] : [...view.filters, {
|
|
107
|
+
})] : [...((_view$filters2 = view.filters) !== null && _view$filters2 !== void 0 ? _view$filters2 : []), {
|
|
107
108
|
field: filter.field,
|
|
108
109
|
operator,
|
|
109
110
|
value: undefined
|
|
@@ -131,7 +132,7 @@ function FilterSummary({
|
|
|
131
132
|
view,
|
|
132
133
|
onChangeView
|
|
133
134
|
} = commonProps;
|
|
134
|
-
const filterInView = view.filters
|
|
135
|
+
const filterInView = view.filters?.find(f => f.field === filter.field);
|
|
135
136
|
const activeElements = filter.elements.filter(element => {
|
|
136
137
|
if (filter.singleSelection) {
|
|
137
138
|
return element.value === filterInView?.value;
|
|
@@ -194,7 +195,7 @@ function FilterSummary({
|
|
|
194
195
|
onChangeView({
|
|
195
196
|
...view,
|
|
196
197
|
page: 1,
|
|
197
|
-
filters: view.filters
|
|
198
|
+
filters: view.filters?.filter(_filter => _filter.field !== filter.field)
|
|
198
199
|
});
|
|
199
200
|
// If the filter is not primary and can be removed, it will be added
|
|
200
201
|
// back to the available filters from `Add filter` component.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_searchWidget","_constants","_jsxRuntime","ENTER","SPACE","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","jsx","className","Value","operator","OPERATOR_IS_ANY","createInterpolateElement","sprintf","__","map","element","label","join","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","OperatorSelector","view","onChangeView","operatorOptions","operators","value","OPERATORS","currentFilter","filters","find","_filter","field","jsxs","__experimentalHStack","spacing","justify","children","FlexItem","SelectControl","options","onChange","newValue","newFilters","page","size","__nextHasNoMarginBottom","hideLabelFromVision","FilterSummary","addFilterRef","openedFilter","commonProps","toggleRef","useRef","f","elements","singleSelection","includes","isPrimary","hasValues","canResetOrRemove","Dropdown","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","Tooltip","text","toLowerCase","clsx","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","Icon","icon","closeSmall","renderContent","__experimentalVStack","default"],"sources":["@wordpress/dataviews/src/filter-summary.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\nimport type { Filter, NormalizedFilter, Operator, Option, View } from './types';\n\ninterface FilterTextProps {\n\tactiveElements: Option[];\n\tfilterInView?: Filter;\n\tfilter: NormalizedFilter;\n}\n\ninterface OperatorSelectorProps {\n\tfilter: NormalizedFilter;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FilterSummaryProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\n}\n\nconst FilterText = ( {\n\tactiveElements,\n\tfilterInView,\n\tfilter,\n}: FilterTextProps ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filter-summary__filter-text-name\" />,\n\t\tValue: <span className=\"dataviews-filter-summary__filter-text-value\" />,\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( {\n\tfilter,\n\tview,\n\tonChangeView,\n}: OperatorSelectorProps ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filter-summary__operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filter-summary__operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst operator = newValue as Operator;\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...view.filters.map( ( _filter ) => {\n\t\t\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\toperator,\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\treturn _filter;\n\t\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t...view.filters,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\toperator,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function FilterSummary( {\n\taddFilterRef,\n\topenedFilter,\n\t...commonProps\n}: FilterSummaryProps ) {\n\tconst toggleRef = useRef< HTMLDivElement >( null );\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters.find( ( f ) => f.field === filter.field );\n\tconst activeElements = filter.elements.filter( ( element ) => {\n\t\tif ( filter.singleSelection ) {\n\t\t\treturn element.value === filterInView?.value;\n\t\t}\n\t\treturn filterInView?.value?.includes( element.value );\n\t} );\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isPrimary || hasValues;\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filter-summary__popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filter-summary__chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters.filter(\n\t\t\t\t\t\t\t\t\t\t\t( _filter ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field !== filter.field\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// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\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\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t<SearchWidget { ...commonProps } />\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_searchWidget","_constants","_jsxRuntime","ENTER","SPACE","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","jsx","className","Value","operator","OPERATOR_IS_ANY","createInterpolateElement","sprintf","__","map","element","label","join","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","OperatorSelector","view","onChangeView","operatorOptions","operators","value","OPERATORS","currentFilter","filters","find","_filter","field","jsxs","__experimentalHStack","spacing","justify","children","FlexItem","SelectControl","options","onChange","newValue","_view$filters","_view$filters2","newFilters","page","size","__nextHasNoMarginBottom","hideLabelFromVision","FilterSummary","addFilterRef","openedFilter","commonProps","toggleRef","useRef","f","elements","singleSelection","includes","isPrimary","hasValues","canResetOrRemove","Dropdown","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","Tooltip","text","toLowerCase","clsx","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","Icon","icon","closeSmall","renderContent","__experimentalVStack","default"],"sources":["@wordpress/dataviews/src/filter-summary.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\nimport type { Filter, NormalizedFilter, Operator, Option, View } from './types';\n\ninterface FilterTextProps {\n\tactiveElements: Option[];\n\tfilterInView?: Filter;\n\tfilter: NormalizedFilter;\n}\n\ninterface OperatorSelectorProps {\n\tfilter: NormalizedFilter;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FilterSummaryProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\n}\n\nconst FilterText = ( {\n\tactiveElements,\n\tfilterInView,\n\tfilter,\n}: FilterTextProps ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filter-summary__filter-text-name\" />,\n\t\tValue: <span className=\"dataviews-filter-summary__filter-text-value\" />,\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( {\n\tfilter,\n\tview,\n\tonChangeView,\n}: OperatorSelectorProps ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filter-summary__operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filter-summary__operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst operator = newValue as Operator;\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\toperator,\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\treturn _filter;\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 ]\n\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\toperator,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function FilterSummary( {\n\taddFilterRef,\n\topenedFilter,\n\t...commonProps\n}: FilterSummaryProps ) {\n\tconst toggleRef = useRef< HTMLDivElement >( null );\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst activeElements = filter.elements.filter( ( element ) => {\n\t\tif ( filter.singleSelection ) {\n\t\t\treturn element.value === filterInView?.value;\n\t\t}\n\t\treturn filterInView?.value?.includes( element.value );\n\t} );\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isPrimary || hasValues;\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filter-summary__popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filter-summary__chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters?.filter(\n\t\t\t\t\t\t\t\t\t\t\t( _filter ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field !== filter.field\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// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\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\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t<SearchWidget { ...commonProps } />\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/filters.js
CHANGED
|
@@ -45,7 +45,7 @@ function _Filters({
|
|
|
45
45
|
elements: field.elements,
|
|
46
46
|
singleSelection: operators.some(op => [_constants.OPERATOR_IS, _constants.OPERATOR_IS_NOT].includes(op)),
|
|
47
47
|
operators,
|
|
48
|
-
isVisible: isPrimary || view.filters
|
|
48
|
+
isVisible: isPrimary || !!view.filters?.some(f => f.field === field.id && _constants.ALL_OPERATORS.includes(f.operator)),
|
|
49
49
|
isPrimary
|
|
50
50
|
});
|
|
51
51
|
});
|
package/build/filters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_components","_filterSummary","_interopRequireDefault","_addFilter","_resetFilters","_utils","_constants","_jsxRuntime","_Filters","fields","view","onChangeView","openedFilter","setOpenedFilter","addFilterRef","useRef","filters","forEach","field","elements","length","operators","sanitizeOperators","isPrimary","filterBy","push","id","name","header","singleSelection","some","op","OPERATOR_IS","OPERATOR_IS_NOT","includes","isVisible","f","ALL_OPERATORS","operator","sort","a","b","localeCompare","addFilter","jsx","default","ref","filterComponents","map","filter","__experimentalHStack","justify","style","width","wrap","children","Filters","memo","_default","exports"],"sources":["@wordpress/dataviews/src/filters.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FilterSummary from './filter-summary';\nimport AddFilter from './add-filter';\nimport ResetFilters from './reset-filters';\nimport { sanitizeOperators } from './utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from './constants';\nimport type {
|
|
1
|
+
{"version":3,"names":["_element","require","_components","_filterSummary","_interopRequireDefault","_addFilter","_resetFilters","_utils","_constants","_jsxRuntime","_Filters","fields","view","onChangeView","openedFilter","setOpenedFilter","addFilterRef","useRef","filters","forEach","field","elements","length","operators","sanitizeOperators","isPrimary","filterBy","push","id","name","header","singleSelection","some","op","OPERATOR_IS","OPERATOR_IS_NOT","includes","isVisible","f","ALL_OPERATORS","operator","sort","a","b","localeCompare","addFilter","jsx","default","ref","filterComponents","map","filter","__experimentalHStack","justify","style","width","wrap","children","Filters","memo","_default","exports"],"sources":["@wordpress/dataviews/src/filters.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FilterSummary from './filter-summary';\nimport AddFilter from './add-filter';\nimport ResetFilters from './reset-filters';\nimport { sanitizeOperators } from './utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from './constants';\nimport type { NormalizedField, NormalizedFilter, View } from './types';\n\ninterface FiltersProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\topenedFilter: string | null;\n\tsetOpenedFilter: ( openedFilter: string | null ) => void;\n}\n\nfunction _Filters< Item >( {\n\tfields,\n\tview,\n\tonChangeView,\n\topenedFilter,\n\tsetOpenedFilter,\n}: FiltersProps< Item > ) {\n\tconst addFilterRef = useRef< HTMLButtonElement >( null );\n\tconst filters: NormalizedFilter[] = [];\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.elements?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst operators = sanitizeOperators( field );\n\t\tif ( operators.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isPrimary = !! field.filterBy?.isPrimary;\n\t\tfilters.push( {\n\t\t\tfield: field.id,\n\t\t\tname: field.header,\n\t\t\telements: field.elements,\n\t\t\tsingleSelection: operators.some( ( op ) =>\n\t\t\t\t[ OPERATOR_IS, OPERATOR_IS_NOT ].includes( op )\n\t\t\t),\n\t\t\toperators,\n\t\t\tisVisible:\n\t\t\t\tisPrimary ||\n\t\t\t\t!! view.filters?.some(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field === field.id &&\n\t\t\t\t\t\tALL_OPERATORS.includes( f.operator )\n\t\t\t\t),\n\t\t\tisPrimary,\n\t\t} );\n\t} );\n\t// Sort filters by primary property. We need the primary filters to be first.\n\t// Then we sort by name.\n\tfilters.sort( ( a, b ) => {\n\t\tif ( a.isPrimary && ! b.isPrimary ) {\n\t\t\treturn -1;\n\t\t}\n\t\tif ( ! a.isPrimary && b.isPrimary ) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn a.name.localeCompare( b.name );\n\t} );\n\tconst addFilter = (\n\t\t<AddFilter\n\t\t\tkey=\"add-filter\"\n\t\t\tfilters={ filters }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tref={ addFilterRef }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t/>\n\t);\n\tconst filterComponents = [\n\t\t...filters.map( ( filter ) => {\n\t\t\tif ( ! filter.isVisible ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<FilterSummary\n\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\tfilter={ filter }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\taddFilterRef={ addFilterRef }\n\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t/>\n\t\t\t);\n\t\t} ),\n\t\taddFilter,\n\t];\n\n\tif ( filterComponents.length > 1 ) {\n\t\tfilterComponents.push(\n\t\t\t<ResetFilters\n\t\t\t\tkey=\"reset-filters\"\n\t\t\t\tfilters={ filters }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<HStack justify=\"flex-start\" style={ { width: 'fit-content' } } wrap>\n\t\t\t{ filterComponents }\n\t\t</HStack>\n\t);\n}\n\n// A type assertion is used here to keep the type argument.\nconst Filters = memo( _Filters ) as typeof _Filters;\n\nexport default Filters;\n"],"mappings":"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","ignoreList":[]}
|
package/build/index.js
CHANGED
|
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
Object.defineProperty(exports, "DataForm", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _dataform.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
7
13
|
Object.defineProperty(exports, "DataViews", {
|
|
8
14
|
enumerable: true,
|
|
9
15
|
get: function () {
|
|
@@ -25,4 +31,5 @@ Object.defineProperty(exports, "filterSortAndPaginate", {
|
|
|
25
31
|
var _dataviews = _interopRequireDefault(require("./dataviews"));
|
|
26
32
|
var _layouts = require("./layouts");
|
|
27
33
|
var _filterAndSortDataView = require("./filter-and-sort-data-view");
|
|
34
|
+
var _dataform = _interopRequireDefault(require("./dataform"));
|
|
28
35
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dataviews","_interopRequireDefault","require","_layouts","_filterAndSortDataView"],"sources":["@wordpress/dataviews/src/index.ts"],"sourcesContent":["export { default as DataViews } from './dataviews';\nexport { VIEW_LAYOUTS } from './layouts';\nexport { filterSortAndPaginate } from './filter-and-sort-data-view';\nexport type * from './types';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_dataviews","_interopRequireDefault","require","_layouts","_filterAndSortDataView","_dataform"],"sources":["@wordpress/dataviews/src/index.ts"],"sourcesContent":["export { default as DataViews } from './dataviews';\nexport { VIEW_LAYOUTS } from './layouts';\nexport { filterSortAndPaginate } from './filter-and-sort-data-view';\nexport type * from './types';\nexport { default as DataForm } from './dataform';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA","ignoreList":[]}
|
package/build/item-actions.js
CHANGED
|
@@ -11,6 +11,7 @@ var _components = require("@wordpress/components");
|
|
|
11
11
|
var _i18n = require("@wordpress/i18n");
|
|
12
12
|
var _element = require("@wordpress/element");
|
|
13
13
|
var _icons = require("@wordpress/icons");
|
|
14
|
+
var _data = require("@wordpress/data");
|
|
14
15
|
var _lockUnlock = require("./lock-unlock");
|
|
15
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
17
|
/**
|
|
@@ -70,12 +71,12 @@ function ActionModal({
|
|
|
70
71
|
title: action.modalHeader || label,
|
|
71
72
|
__experimentalHideHeader: !!action.hideModalHeader,
|
|
72
73
|
onRequestClose: closeModal !== null && closeModal !== void 0 ? closeModal : () => {},
|
|
74
|
+
focusOnMount: "firstContentElement",
|
|
75
|
+
size: "small",
|
|
73
76
|
overlayClassName: `dataviews-action-modal dataviews-action-modal__${kebabCase(action.id)}`,
|
|
74
77
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(action.RenderModal, {
|
|
75
78
|
items: items,
|
|
76
|
-
closeModal: closeModal
|
|
77
|
-
onActionStart: action.onActionStart,
|
|
78
|
-
onActionPerformed: action.onActionPerformed
|
|
79
|
+
closeModal: closeModal
|
|
79
80
|
})
|
|
80
81
|
});
|
|
81
82
|
}
|
|
@@ -108,6 +109,7 @@ function ActionsDropdownMenuGroup({
|
|
|
108
109
|
actions,
|
|
109
110
|
item
|
|
110
111
|
}) {
|
|
112
|
+
const registry = (0, _data.useRegistry)();
|
|
111
113
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuGroup, {
|
|
112
114
|
children: actions.map(action => {
|
|
113
115
|
if ('RenderModal' in action) {
|
|
@@ -119,7 +121,11 @@ function ActionsDropdownMenuGroup({
|
|
|
119
121
|
}
|
|
120
122
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemTrigger, {
|
|
121
123
|
action: action,
|
|
122
|
-
onClick: () =>
|
|
124
|
+
onClick: () => {
|
|
125
|
+
action.callback([item], {
|
|
126
|
+
registry
|
|
127
|
+
});
|
|
128
|
+
},
|
|
123
129
|
items: [item]
|
|
124
130
|
}, action.id);
|
|
125
131
|
})
|
|
@@ -130,6 +136,7 @@ function ItemActions({
|
|
|
130
136
|
actions,
|
|
131
137
|
isCompact
|
|
132
138
|
}) {
|
|
139
|
+
const registry = (0, _data.useRegistry)();
|
|
133
140
|
const {
|
|
134
141
|
primaryActions,
|
|
135
142
|
eligibleActions
|
|
@@ -167,7 +174,11 @@ function ItemActions({
|
|
|
167
174
|
}
|
|
168
175
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ButtonTrigger, {
|
|
169
176
|
action: action,
|
|
170
|
-
onClick: () =>
|
|
177
|
+
onClick: () => {
|
|
178
|
+
action.callback([item], {
|
|
179
|
+
registry
|
|
180
|
+
});
|
|
181
|
+
},
|
|
171
182
|
items: [item]
|
|
172
183
|
}, action.id);
|
|
173
184
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(CompactItemActions, {
|
|
@@ -185,7 +196,7 @@ function CompactItemActions({
|
|
|
185
196
|
size: "compact",
|
|
186
197
|
icon: _icons.moreVertical,
|
|
187
198
|
label: (0, _i18n.__)('Actions'),
|
|
188
|
-
|
|
199
|
+
accessibleWhenDisabled: true,
|
|
189
200
|
disabled: !actions.length,
|
|
190
201
|
className: "dataviews-all-actions-button"
|
|
191
202
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_icons","_lockUnlock","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","kebabCase","unlock","componentsPrivateApis","ButtonTrigger","action","onClick","items","label","jsx","Button","icon","isDestructive","size","DropdownMenuItemTrigger","hideOnClick","children","ActionModal","closeModal","Modal","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","overlayClassName","id","RenderModal","onActionStart","onActionPerformed","ActionWithModal","ActionTrigger","isBusy","isModalOpen","setIsModalOpen","useState","actionTriggerProps","jsxs","Fragment","ActionsDropdownMenuGroup","actions","item","map","callback","ItemActions","isCompact","primaryActions","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","CompactItemActions","__experimentalHStack","spacing","justify","className","style","flexShrink","width","length","trigger","moreVertical","__","__experimentalIsFocusable","disabled","placement"],"sources":["@wordpress/dataviews/src/item-actions.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEventHandler, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport type { Action, ActionModal as ActionModalType, AnyItem } from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tkebabCase,\n} = unlock( componentsPrivateApis );\n\nexport interface ActionTriggerProps< Item extends AnyItem > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n\tisBusy?: boolean;\n\titems: Item[];\n}\n\ninterface ActionModalProps< Item extends AnyItem > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal?: () => void;\n}\n\ninterface ActionWithModalProps< Item extends AnyItem >\n\textends ActionModalProps< Item > {\n\tActionTrigger: ( props: ActionTriggerProps< Item > ) => ReactElement;\n\tisBusy?: boolean;\n}\n\ninterface ActionsDropdownMenuGroupProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\titem: Item;\n}\n\ninterface ItemActionsProps< Item extends AnyItem > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact?: boolean;\n}\n\ninterface CompactItemActionsProps< Item extends AnyItem > {\n\titem: Item;\n\tactions: Action< Item >[];\n}\n\nfunction ButtonTrigger< Item extends AnyItem >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Button\n\t\t\tlabel={ label }\n\t\t\ticon={ action.icon }\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuItemTrigger< Item extends AnyItem >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tonClick={ onClick }\n\t\t\thideOnClick={ ! ( 'RenderModal' in action ) }\n\t\t>\n\t\t\t<DropdownMenuItemLabel>{ label }</DropdownMenuItemLabel>\n\t\t</DropdownMenuItem>\n\t);\n}\n\nexport function ActionModal< Item extends AnyItem >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal ?? ( () => {} ) }\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal\n\t\t\t\titems={ items }\n\t\t\t\tcloseModal={ closeModal }\n\t\t\t\tonActionStart={ action.onActionStart }\n\t\t\t\tonActionPerformed={ action.onActionPerformed }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nexport function ActionWithModal< Item extends AnyItem >( {\n\taction,\n\titems,\n\tActionTrigger,\n\tisBusy,\n}: ActionWithModalProps< Item > ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => {\n\t\t\tsetIsModalOpen( true );\n\t\t},\n\t\titems,\n\t\tisBusy,\n\t};\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ action }\n\t\t\t\t\titems={ items }\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function ActionsDropdownMenuGroup< Item extends AnyItem >( {\n\tactions,\n\titem,\n}: ActionsDropdownMenuGroupProps< Item > ) {\n\treturn (\n\t\t<DropdownMenuGroup>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuGroup>\n\t);\n}\n\nexport default function ItemActions< Item extends AnyItem >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst { primaryActions, 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\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\tif ( isCompact ) {\n\t\treturn <CompactItemActions item={ item } actions={ eligibleActions } />;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 1 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: '0',\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => {\n\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\t\tActionTrigger={ ButtonTrigger }\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\treturn (\n\t\t\t\t\t\t<ButtonTrigger\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t<CompactItemActions item={ item } actions={ eligibleActions } />\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item extends AnyItem >( {\n\titem,\n\tactions,\n}: CompactItemActionsProps< Item > ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup actions={ actions } item={ item } />\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_icons","_data","_lockUnlock","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","kebabCase","unlock","componentsPrivateApis","ButtonTrigger","action","onClick","items","label","jsx","Button","icon","isDestructive","size","DropdownMenuItemTrigger","hideOnClick","children","ActionModal","closeModal","Modal","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","focusOnMount","overlayClassName","id","RenderModal","ActionWithModal","ActionTrigger","isBusy","isModalOpen","setIsModalOpen","useState","actionTriggerProps","jsxs","Fragment","ActionsDropdownMenuGroup","actions","item","registry","useRegistry","map","callback","ItemActions","isCompact","primaryActions","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","CompactItemActions","__experimentalHStack","spacing","justify","className","style","flexShrink","width","length","trigger","moreVertical","__","accessibleWhenDisabled","disabled","placement"],"sources":["@wordpress/dataviews/src/item-actions.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEventHandler, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport type { Action, ActionModal as ActionModalType } from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tkebabCase,\n} = unlock( componentsPrivateApis );\n\nexport interface ActionTriggerProps< Item > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n\tisBusy?: boolean;\n\titems: Item[];\n}\n\ninterface ActionModalProps< Item > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal?: () => void;\n}\n\ninterface ActionWithModalProps< Item > extends ActionModalProps< Item > {\n\tActionTrigger: ( props: ActionTriggerProps< Item > ) => ReactElement;\n\tisBusy?: boolean;\n}\n\ninterface ActionsDropdownMenuGroupProps< Item > {\n\tactions: Action< Item >[];\n\titem: Item;\n}\n\ninterface ItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact?: boolean;\n}\n\ninterface CompactItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n}\n\nfunction ButtonTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Button\n\t\t\tlabel={ label }\n\t\t\ticon={ action.icon }\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuItemTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tonClick={ onClick }\n\t\t\thideOnClick={ ! ( 'RenderModal' in action ) }\n\t\t>\n\t\t\t<DropdownMenuItemLabel>{ label }</DropdownMenuItemLabel>\n\t\t</DropdownMenuItem>\n\t);\n}\n\nexport function ActionModal< Item >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal ?? ( () => {} ) }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nexport function ActionWithModal< Item >( {\n\taction,\n\titems,\n\tActionTrigger,\n\tisBusy,\n}: ActionWithModalProps< Item > ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => {\n\t\t\tsetIsModalOpen( true );\n\t\t},\n\t\titems,\n\t\tisBusy,\n\t};\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ action }\n\t\t\t\t\titems={ items }\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function ActionsDropdownMenuGroup< Item >( {\n\tactions,\n\titem,\n}: ActionsDropdownMenuGroupProps< Item > ) {\n\tconst registry = useRegistry();\n\treturn (\n\t\t<DropdownMenuGroup>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuGroup>\n\t);\n}\n\nexport default function ItemActions< Item >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst { primaryActions, 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\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\tif ( isCompact ) {\n\t\treturn <CompactItemActions item={ item } actions={ eligibleActions } />;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 1 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: '0',\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => {\n\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\t\tActionTrigger={ ButtonTrigger }\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\treturn (\n\t\t\t\t\t\t<ButtonTrigger\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t<CompactItemActions item={ item } actions={ eligibleActions } />\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item >( {\n\titem,\n\tactions,\n}: CompactItemActionsProps< Item > ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup actions={ actions } item={ item } />\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/lock-unlock.js
CHANGED
|
@@ -12,7 +12,7 @@ var _privateApis = require("@wordpress/private-apis");
|
|
|
12
12
|
const {
|
|
13
13
|
lock,
|
|
14
14
|
unlock
|
|
15
|
-
} = (0, _privateApis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I
|
|
15
|
+
} = (0, _privateApis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/dataviews');
|
|
16
16
|
exports.unlock = unlock;
|
|
17
17
|
exports.lock = lock;
|
|
18
18
|
//# sourceMappingURL=lock-unlock.js.map
|
package/build/lock-unlock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/dataviews/src/lock-unlock.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I
|
|
1
|
+
{"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/dataviews/src/lock-unlock.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.',\n\t\t'@wordpress/dataviews'\n\t);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,+HAA+H,EAC/H,sBACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["normalizeFields","fields","map","field","getValue","item","id","header","render"],"sources":["@wordpress/dataviews/src/normalize-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { Field,
|
|
1
|
+
{"version":3,"names":["normalizeFields","fields","map","field","getValue","item","id","header","render"],"sources":["@wordpress/dataviews/src/normalize-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { Field, NormalizedField, ItemRecord } from './types';\n\n/**\n * Apply default values and normalize the fields config.\n *\n * @param fields Fields config.\n * @return Normalized fields config.\n */\nexport function normalizeFields< Item >(\n\tfields: Field< Item >[]\n): NormalizedField< Item >[] {\n\treturn fields.map( ( field ) => {\n\t\tconst getValue =\n\t\t\tfield.getValue ||\n\t\t\t( ( { item }: { item: ItemRecord } ) => item[ field.id ] );\n\n\t\treturn {\n\t\t\t...field,\n\t\t\theader: field.header || field.id,\n\t\t\tgetValue,\n\t\t\trender: field.render || getValue,\n\t\t};\n\t} );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAeA,CAC9BC,MAAuB,EACK;EAC5B,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,MAAMC,QAAQ,GACbD,KAAK,CAACC,QAAQ,KACZ,CAAE;MAAEC;IAA2B,CAAC,KAAMA,IAAI,CAAEF,KAAK,CAACG,EAAE,CAAE,CAAE;IAE3D,OAAO;MACN,GAAGH,KAAK;MACRI,MAAM,EAAEJ,KAAK,CAACI,MAAM,IAAIJ,KAAK,CAACG,EAAE;MAChCF,QAAQ;MACRI,MAAM,EAAEL,KAAK,CAACK,MAAM,IAAIJ;IACzB,CAAC;EACF,CAAE,CAAC;AACJ","ignoreList":[]}
|
package/build/pagination.js
CHANGED
|
@@ -72,7 +72,7 @@ const Pagination = (0, _element.memo)(function Pagination({
|
|
|
72
72
|
page: currentPage - 1
|
|
73
73
|
}),
|
|
74
74
|
disabled: currentPage === 1,
|
|
75
|
-
|
|
75
|
+
accessibleWhenDisabled: true,
|
|
76
76
|
label: (0, _i18n.__)('Previous page'),
|
|
77
77
|
icon: _icons.chevronLeft,
|
|
78
78
|
showTooltip: true,
|
|
@@ -84,7 +84,7 @@ const Pagination = (0, _element.memo)(function Pagination({
|
|
|
84
84
|
page: currentPage + 1
|
|
85
85
|
}),
|
|
86
86
|
disabled: currentPage >= totalPages,
|
|
87
|
-
|
|
87
|
+
accessibleWhenDisabled: true,
|
|
88
88
|
label: (0, _i18n.__)('Next page'),
|
|
89
89
|
icon: _icons.chevronRight,
|
|
90
90
|
showTooltip: true,
|
package/build/pagination.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_i18n","_icons","_jsxRuntime","Pagination","memo","view","onChangeView","paginationInfo","totalItems","totalPages","_view$page","currentPage","page","jsxs","__experimentalHStack","expanded","spacing","justify","className","children","jsx","createInterpolateElement","sprintf","_x","CurrentPageControl","SelectControl","__","value","toString","options","Array","from","map","_","i","label","onChange","newValue","size","__nextHasNoMarginBottom","Button","onClick","disabled","
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_i18n","_icons","_jsxRuntime","Pagination","memo","view","onChangeView","paginationInfo","totalItems","totalPages","_view$page","currentPage","page","jsxs","__experimentalHStack","expanded","spacing","justify","className","children","jsx","createInterpolateElement","sprintf","_x","CurrentPageControl","SelectControl","__","value","toString","options","Array","from","map","_","i","label","onChange","newValue","size","__nextHasNoMarginBottom","Button","onClick","disabled","accessibleWhenDisabled","icon","chevronLeft","showTooltip","tooltipPosition","chevronRight","_default","exports","default"],"sources":["@wordpress/dataviews/src/pagination.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tSelectControl,\n} from '@wordpress/components';\nimport { createInterpolateElement, memo } from '@wordpress/element';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { View } from './types';\n\ninterface PaginationProps {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n}\n\nconst Pagination = memo( function Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n}: PaginationProps ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\tconst currentPage = view.page ?? 1;\n\treturn (\n\t\t!! totalItems &&\n\t\ttotalPages !== 1 && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tspacing={ 6 }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-pagination\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"dataviews-pagination__page-selection\"\n\t\t\t\t>\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t\t_x( 'Page <CurrentPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tCurrentPageControl: (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\tvalue={ view.page?.toString() }\n\t\t\t\t\t\t\t\t\toptions={ Array.from(\n\t\t\t\t\t\t\t\t\t\tArray( totalPages )\n\t\t\t\t\t\t\t\t\t).map( ( _, i ) => {\n\t\t\t\t\t\t\t\t\t\tconst page = i + 1;\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tvalue: page.toString(),\n\t\t\t\t\t\t\t\t\t\t\tlabel: page.toString(),\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\tonChange={ ( newValue ) => {\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\tpage: +newValue,\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\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\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</HStack>\n\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tpage: currentPage - 1,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: currentPage + 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ currentPage >= totalPages }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t)\n\t);\n} );\n\nexport default Pagination;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["@wordpress/dataviews/src/private-types.tsx"],"sourcesContent":["export type SelectionOrUpdater = string[] | ( ( prev: string[] ) => string[] );\nexport type SetSelection = ( selection: SelectionOrUpdater ) => void;\n"],"mappings":"","ignoreList":[]}
|