@wordpress/dataviews 4.4.6 → 4.6.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 +6 -0
- package/README.md +4 -0
- package/build/components/dataform-combined-edit/index.js +67 -0
- package/build/components/dataform-combined-edit/index.js.map +1 -0
- package/build/components/dataviews-bulk-actions/index.js +2 -2
- package/build/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build/components/dataviews-filters/filter-summary.js +8 -8
- package/build/components/dataviews-filters/filter-summary.js.map +1 -1
- package/build/components/dataviews-filters/index.js +1 -1
- package/build/components/dataviews-filters/index.js.map +1 -1
- package/build/components/dataviews-filters/search-widget.js +1 -1
- package/build/components/dataviews-filters/search-widget.js.map +1 -1
- package/build/components/dataviews-item-actions/index.js.map +1 -1
- package/build/components/dataviews-selection-checkbox/index.js +1 -1
- package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +54 -43
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/dataforms-layouts/get-visible-fields.js +21 -0
- package/build/dataforms-layouts/get-visible-fields.js.map +1 -0
- package/build/dataforms-layouts/panel/index.js +2 -6
- package/build/dataforms-layouts/panel/index.js.map +1 -1
- package/build/dataforms-layouts/regular/index.js +2 -6
- package/build/dataforms-layouts/regular/index.js.map +1 -1
- package/build/dataviews-layouts/grid/index.js.map +1 -1
- package/build/dataviews-layouts/list/index.js +70 -75
- package/build/dataviews-layouts/list/index.js.map +1 -1
- package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build/normalize-fields.js +21 -0
- package/build/normalize-fields.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/validation.js.map +1 -1
- package/build-module/components/dataform-combined-edit/index.js +60 -0
- package/build-module/components/dataform-combined-edit/index.js.map +1 -0
- package/build-module/components/dataviews/index.js +1 -2
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-bulk-actions/index.js +3 -4
- package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build-module/components/dataviews-filters/filter-summary.js +9 -10
- package/build-module/components/dataviews-filters/filter-summary.js.map +1 -1
- package/build-module/components/dataviews-filters/index.js +2 -3
- package/build-module/components/dataviews-filters/index.js.map +1 -1
- package/build-module/components/dataviews-filters/search-widget.js +2 -3
- package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
- package/build-module/components/dataviews-footer/index.js +1 -2
- package/build-module/components/dataviews-footer/index.js.map +1 -1
- package/build-module/components/dataviews-item-actions/index.js +1 -3
- package/build-module/components/dataviews-item-actions/index.js.map +1 -1
- package/build-module/components/dataviews-pagination/index.js +1 -2
- package/build-module/components/dataviews-pagination/index.js.map +1 -1
- package/build-module/components/dataviews-selection-checkbox/index.js +1 -1
- package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +56 -47
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/dataform-controls/datetime.js +1 -2
- package/build-module/dataform-controls/datetime.js.map +1 -1
- package/build-module/dataforms-layouts/get-visible-fields.js +14 -0
- package/build-module/dataforms-layouts/get-visible-fields.js.map +1 -0
- package/build-module/dataforms-layouts/panel/index.js +3 -9
- package/build-module/dataforms-layouts/panel/index.js.map +1 -1
- package/build-module/dataforms-layouts/regular/index.js +2 -6
- package/build-module/dataforms-layouts/regular/index.js.map +1 -1
- package/build-module/dataviews-layouts/grid/index.js +1 -3
- package/build-module/dataviews-layouts/grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/list/index.js +71 -77
- package/build-module/dataviews-layouts/list/index.js.map +1 -1
- package/build-module/dataviews-layouts/table/column-header-menu.js +1 -2
- package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build-module/dataviews-layouts/table/index.js +1 -3
- package/build-module/dataviews-layouts/table/index.js.map +1 -1
- package/build-module/normalize-fields.js +20 -0
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/validation.js.map +1 -1
- package/build-style/style-rtl.css +50 -37
- package/build-style/style.css +50 -37
- package/build-types/components/dataform/stories/index.story.d.ts +23 -0
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataform-combined-edit/index.d.ts +7 -0
- package/build-types/components/dataform-combined-edit/index.d.ts.map +1 -0
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/dataforms-layouts/get-visible-fields.d.ts +3 -0
- package/build-types/dataforms-layouts/get-visible-fields.d.ts.map +1 -0
- package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -1
- package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
- package/build-types/normalize-fields.d.ts +9 -1
- package/build-types/normalize-fields.d.ts.map +1 -1
- package/build-types/types.d.ts +27 -8
- package/build-types/types.d.ts.map +1 -1
- package/build-types/validation.d.ts +1 -1
- package/build-types/validation.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/components/dataform/stories/index.story.tsx +65 -0
- package/src/components/dataform-combined-edit/index.tsx +66 -0
- package/src/components/dataform-combined-edit/style.scss +12 -0
- package/src/components/dataviews-filters/style.scss +0 -1
- package/src/components/dataviews-view-config/index.tsx +53 -41
- package/src/components/dataviews-view-config/style.scss +5 -8
- package/src/dataforms-layouts/get-visible-fields.ts +29 -0
- package/src/dataforms-layouts/panel/index.tsx +8 -7
- package/src/dataforms-layouts/regular/index.tsx +8 -7
- package/src/dataviews-layouts/list/index.tsx +81 -100
- package/src/dataviews-layouts/list/style.scss +32 -43
- package/src/normalize-fields.ts +33 -1
- package/src/style.scss +1 -0
- package/src/types.ts +29 -9
- package/src/validation.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","warning","SORTING_DIRECTIONS","LAYOUT_GRID","LAYOUT_TABLE","sortIcons","sortLabels","VIEW_LAYOUTS","getNotHidableFieldIds","getVisibleFieldIds","getHiddenFieldIds","DataViewsContext","unlock","DensityPicker","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DropdownMenuV2","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","trigger","size","icon","label","children","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","className","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","index","isVisible","isHidable","visibleFieldIds","expanded","justify","accessibleWhenDisabled","onClick","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","fieldId","setTimeout","element","document","querySelector","HTMLElement","focus","FieldControl","hiddenFieldIds","notHidableFieldIds","visibleFields","includes","enableHiding","indexOf","combinedFields","forEach","push","a","b","hiddenFields","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigContent","density","setDensity","_DataViewsViewConfig","popoverProps","placement","offset","contentClassName","renderToggle","onToggle","renderContent","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport { chevronDown, chevronUp, cog, seen, unseen } from '@wordpress/icons';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSORTING_DIRECTIONS,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tsortIcons,\n\tsortLabels,\n} from '../../constants';\nimport {\n\tVIEW_LAYOUTS,\n\tgetNotHidableFieldIds,\n\tgetVisibleFieldIds,\n\tgetHiddenFieldIds,\n} from '../../dataviews-layouts';\nimport type { SupportedLayouts, View, Field } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\nimport DensityPicker from '../../dataviews-layouts/grid/density-picker';\n\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\t\t\tif ( ! config ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuV2.RadioItem\n\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\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\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t{ config.label }\n\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t</DropdownMenuV2.RadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuV2>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\ninterface FieldItemProps {\n\tid: any;\n\tlabel: string;\n\tindex: number;\n\tisVisible: boolean;\n\tisHidable: boolean;\n}\n\nfunction FieldItem( {\n\tfield: { id, label, index, isVisible, isHidable },\n\tfields,\n\tview,\n\tonChangeView,\n}: {\n\tfield: FieldItemProps;\n\tfields: Field< any >[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = getVisibleFieldIds( view, fields );\n\n\treturn (\n\t\t<Item key={ id }>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ id }` }\n\t\t\t>\n\t\t\t\t<span>{ label }</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ view.type === LAYOUT_TABLE && isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\tlabel\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<Button\n\t\t\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\tdisabled={ ! isHidable }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tsize=\"compact\"\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\tfields: isVisible\n\t\t\t\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== id\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [ ...visibleFieldIds, id ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t// Focus the visibility button to avoid focus loss.\n\t\t\t\t\t\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t\t\t\t\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\t\tconst element = document.querySelector(\n\t\t\t\t\t\t\t\t\t`.dataviews-field-control__field-${ id } .dataviews-field-control__field-visibility-button`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\t\t\t\t\t\telement.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 50 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ isVisible ? seen : unseen }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t__( 'Hide %s' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t__( 'Show %s' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst visibleFieldIds = useMemo(\n\t\t() => getVisibleFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst hiddenFieldIds = useMemo(\n\t\t() => getHiddenFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst notHidableFieldIds = useMemo(\n\t\t() => getNotHidableFieldIds( view ),\n\t\t[ view ]\n\t);\n\n\tconst visibleFields = fields\n\t\t.filter( ( { id } ) => visibleFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding } ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id )\n\t\t\t\t\t? false\n\t\t\t\t\t: enableHiding,\n\t\t\t};\n\t\t} );\n\tif ( view.type === LAYOUT_TABLE && view.layout?.combinedFields ) {\n\t\tview.layout.combinedFields.forEach( ( { id, label } ) => {\n\t\t\tvisibleFields.push( {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id ),\n\t\t\t} );\n\t\t} );\n\t}\n\tvisibleFields.sort( ( a, b ) => a.index - b.index );\n\n\tconst hiddenFields = fields\n\t\t.filter( ( { id } ) => hiddenFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding }, index ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex,\n\t\t\t\tisVisible: false,\n\t\t\t\tisHidable: enableHiding,\n\t\t\t};\n\t\t} );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 6 } className=\"dataviews-field-control\">\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t) }\n\t\t\t{ !! hiddenFields?.length && (\n\t\t\t\t<>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigContent( {\n\tdensity,\n\tsetDensity,\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n} ) {\n\tconst { view } = useContext( DataViewsContext );\n\treturn (\n\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t</HStack>\n\t\t\t\t{ view.type === LAYOUT_GRID && (\n\t\t\t\t\t<DensityPicker\n\t\t\t\t\t\tdensity={ density }\n\t\t\t\t\t\tsetDensity={ setDensity }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<ItemsPerPageControl />\n\t\t\t</SettingsSection>\n\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t<FieldControl />\n\t\t\t</SettingsSection>\n\t\t</VStack>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdensity,\n\tsetDensity,\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ { placement: 'bottom-end', offset: 9 } }\n\t\t\t\tcontentClassName=\"dataviews-view-config\"\n\t\t\t\trenderToggle={ ( { onToggle } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'View options',\n\t\t\t\t\t\t\t\t'View is used as a noun'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<DataviewsViewConfigContent\n\t\t\t\t\t\tdensity={ density }\n\t\t\t\t\t\tsetDensity={ setDensity }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","warning","useInstanceId","SORTING_DIRECTIONS","LAYOUT_GRID","LAYOUT_TABLE","sortIcons","sortLabels","VIEW_LAYOUTS","getNotHidableFieldIds","getVisibleFieldIds","getHiddenFieldIds","DataViewsContext","unlock","DensityPicker","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DropdownMenuV2","DATAVIEWS_CONFIG_POPOVER_PROPS","placement","offset","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","trigger","size","icon","label","children","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","className","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","index","isVisible","isHidable","visibleFieldIds","expanded","justify","accessibleWhenDisabled","onClick","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","fieldId","setTimeout","element","document","querySelector","HTMLElement","focus","FieldControl","hiddenFieldIds","notHidableFieldIds","visibleFields","includes","enableHiding","indexOf","combinedFields","forEach","push","a","b","hiddenFields","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigDropdown","density","setDensity","popoverId","_DataViewsViewConfig","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport { chevronDown, chevronUp, cog, seen, unseen } from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSORTING_DIRECTIONS,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tsortIcons,\n\tsortLabels,\n} from '../../constants';\nimport {\n\tVIEW_LAYOUTS,\n\tgetNotHidableFieldIds,\n\tgetVisibleFieldIds,\n\tgetHiddenFieldIds,\n} from '../../dataviews-layouts';\nimport type { SupportedLayouts, View, Field } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\nimport DensityPicker from '../../dataviews-layouts/grid/density-picker';\n\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = { placement: 'bottom-end', offset: 9 };\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\t\t\tif ( ! config ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuV2.RadioItem\n\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\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\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t{ config.label }\n\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t</DropdownMenuV2.RadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuV2>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\ninterface FieldItemProps {\n\tid: any;\n\tlabel: string;\n\tindex: number;\n\tisVisible: boolean;\n\tisHidable: boolean;\n}\n\nfunction FieldItem( {\n\tfield: { id, label, index, isVisible, isHidable },\n\tfields,\n\tview,\n\tonChangeView,\n}: {\n\tfield: FieldItemProps;\n\tfields: Field< any >[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = getVisibleFieldIds( view, fields );\n\n\treturn (\n\t\t<Item key={ id }>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ id }` }\n\t\t\t>\n\t\t\t\t<span>{ label }</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ view.type === LAYOUT_TABLE && isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\tlabel\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<Button\n\t\t\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\tdisabled={ ! isHidable }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tsize=\"compact\"\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\tfields: isVisible\n\t\t\t\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== id\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [ ...visibleFieldIds, id ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t// Focus the visibility button to avoid focus loss.\n\t\t\t\t\t\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t\t\t\t\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\t\tconst element = document.querySelector(\n\t\t\t\t\t\t\t\t\t`.dataviews-field-control__field-${ id } .dataviews-field-control__field-visibility-button`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\t\t\t\t\t\telement.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 50 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t__( 'Hide %s' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t__( 'Show %s' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst visibleFieldIds = useMemo(\n\t\t() => getVisibleFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst hiddenFieldIds = useMemo(\n\t\t() => getHiddenFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst notHidableFieldIds = useMemo(\n\t\t() => getNotHidableFieldIds( view ),\n\t\t[ view ]\n\t);\n\n\tconst visibleFields = fields\n\t\t.filter( ( { id } ) => visibleFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding } ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id )\n\t\t\t\t\t? false\n\t\t\t\t\t: enableHiding,\n\t\t\t};\n\t\t} );\n\tif ( view.type === LAYOUT_TABLE && view.layout?.combinedFields ) {\n\t\tview.layout.combinedFields.forEach( ( { id, label } ) => {\n\t\t\tvisibleFields.push( {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id ),\n\t\t\t} );\n\t\t} );\n\t}\n\tvisibleFields.sort( ( a, b ) => a.index - b.index );\n\n\tconst hiddenFields = fields\n\t\t.filter( ( { id } ) => hiddenFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding }, index ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex,\n\t\t\t\tisVisible: false,\n\t\t\t\tisHidable: enableHiding,\n\t\t\t};\n\t\t} );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 6 } className=\"dataviews-field-control\">\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t) }\n\t\t\t{ !! hiddenFields?.length && (\n\t\t\t\t<>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigDropdown( {\n\tdensity,\n\tsetDensity,\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n} ) {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ view.type === LAYOUT_GRID && (\n\t\t\t\t\t\t\t\t<DensityPicker\n\t\t\t\t\t\t\t\t\tdensity={ density }\n\t\t\t\t\t\t\t\t\tsetDensity={ setDensity }\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<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdensity,\n\tsetDensity,\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<DataviewsViewConfigDropdown\n\t\t\t\tdensity={ density }\n\t\t\t\tsetDensity={ setDensity }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,8 +7,7 @@ import { useCallback } from '@wordpress/element';
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
11
|
export default function DateTime({
|
|
13
12
|
data,
|
|
14
13
|
field,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseControl","TimePicker","VisuallyHidden","useCallback","jsx","_jsx","jsxs","_jsxs","DateTime","data","field","onChange","hideLabelFromVision","id","label","value","getValue","item","onChangeControl","newValue","className","children","VisualLabel","as","currentTime"],"sources":["@wordpress/dataviews/src/dataform-controls/datetime.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BaseControl, TimePicker, VisuallyHidden } from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function DateTime< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, label } = field;\n\tconst value = field.getValue( { item: data } );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string | null ) => onChange( { [ id ]: newValue } ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<fieldset className=\"dataviews-controls__datetime\">\n\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ label }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t) }\n\t\t\t{ hideLabelFromVision && (\n\t\t\t\t<VisuallyHidden as=\"legend\">{ label }</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TimePicker\n\t\t\t\tcurrentTime={ value }\n\t\t\t\tonChange={ onChangeControl }\n\t\t\t\thideLabelFromVision\n\t\t\t/>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,EAAEC,cAAc,QAAQ,uBAAuB;AAC/E,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA
|
|
1
|
+
{"version":3,"names":["BaseControl","TimePicker","VisuallyHidden","useCallback","jsx","_jsx","jsxs","_jsxs","DateTime","data","field","onChange","hideLabelFromVision","id","label","value","getValue","item","onChangeControl","newValue","className","children","VisualLabel","as","currentTime"],"sources":["@wordpress/dataviews/src/dataform-controls/datetime.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BaseControl, TimePicker, VisuallyHidden } from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function DateTime< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, label } = field;\n\tconst value = field.getValue( { item: data } );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string | null ) => onChange( { [ id ]: newValue } ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<fieldset className=\"dataviews-controls__datetime\">\n\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ label }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t) }\n\t\t\t{ hideLabelFromVision && (\n\t\t\t\t<VisuallyHidden as=\"legend\">{ label }</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TimePicker\n\t\t\t\tcurrentTime={ value }\n\t\t\t\tonChange={ onChangeControl }\n\t\t\t\thideLabelFromVision\n\t\t\t/>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,EAAEC,cAAc,QAAQ,uBAAuB;AAC/E,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,eAAe,SAASC,QAAQA,CAAU;EACzCC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AAC6B,CAAC,EAAG;EACjC,MAAM;IAAEC,EAAE;IAAEC;EAAM,CAAC,GAAGJ,KAAK;EAC3B,MAAMK,KAAK,GAAGL,KAAK,CAACM,QAAQ,CAAE;IAAEC,IAAI,EAAER;EAAK,CAAE,CAAC;EAE9C,MAAMS,eAAe,GAAGf,WAAW,CAChCgB,QAAuB,IAAMR,QAAQ,CAAE;IAAE,CAAEE,EAAE,GAAIM;EAAS,CAAE,CAAC,EAC/D,CAAEN,EAAE,EAAEF,QAAQ,CACf,CAAC;EAED,oBACCJ,KAAA;IAAUa,SAAS,EAAC,8BAA8B;IAAAC,QAAA,GAC/C,CAAET,mBAAmB,iBACtBP,IAAA,CAACL,WAAW,CAACsB,WAAW;MAACC,EAAE,EAAC,QAAQ;MAAAF,QAAA,EACjCP;IAAK,CACiB,CACzB,EACCF,mBAAmB,iBACpBP,IAAA,CAACH,cAAc;MAACqB,EAAE,EAAC,QAAQ;MAAAF,QAAA,EAAGP;IAAK,CAAkB,CACrD,eACDT,IAAA,CAACJ,UAAU;MACVuB,WAAW,EAAGT,KAAO;MACrBJ,QAAQ,EAAGO,eAAiB;MAC5BN,mBAAmB;IAAA,CACnB,CAAC;EAAA,CACO,CAAC;AAEb","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { normalizeCombinedFields } from '../normalize-fields';
|
|
5
|
+
export function getVisibleFields(fields, formFields = [], combinedFields) {
|
|
6
|
+
const visibleFields = [...fields];
|
|
7
|
+
if (combinedFields) {
|
|
8
|
+
visibleFields.push(...normalizeCombinedFields(combinedFields, fields));
|
|
9
|
+
}
|
|
10
|
+
return formFields.map(fieldId => visibleFields.find(({
|
|
11
|
+
id
|
|
12
|
+
}) => id === fieldId)).filter(field => !!field);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=get-visible-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeCombinedFields","getVisibleFields","fields","formFields","combinedFields","visibleFields","push","map","fieldId","find","id","filter","field"],"sources":["@wordpress/dataviews/src/dataforms-layouts/get-visible-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { normalizeCombinedFields } from '../normalize-fields';\nimport type {\n\tField,\n\tCombinedFormField,\n\tNormalizedCombinedFormField,\n} from '../types';\n\nexport function getVisibleFields< Item >(\n\tfields: Field< Item >[],\n\tformFields: string[] = [],\n\tcombinedFields?: CombinedFormField< Item >[]\n): Field< Item >[] {\n\tconst visibleFields: Array<\n\t\tField< Item > | NormalizedCombinedFormField< Item >\n\t> = [ ...fields ];\n\tif ( combinedFields ) {\n\t\tvisibleFields.push(\n\t\t\t...normalizeCombinedFields( combinedFields, fields )\n\t\t);\n\t}\n\treturn formFields\n\t\t.map( ( fieldId ) =>\n\t\t\tvisibleFields.find( ( { id } ) => id === fieldId )\n\t\t)\n\t\t.filter( ( field ): field is Field< Item > => !! field );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,uBAAuB,QAAQ,qBAAqB;AAO7D,OAAO,SAASC,gBAAgBA,CAC/BC,MAAuB,EACvBC,UAAoB,GAAG,EAAE,EACzBC,cAA4C,EAC1B;EAClB,MAAMC,aAEL,GAAG,CAAE,GAAGH,MAAM,CAAE;EACjB,IAAKE,cAAc,EAAG;IACrBC,aAAa,CAACC,IAAI,CACjB,GAAGN,uBAAuB,CAAEI,cAAc,EAAEF,MAAO,CACpD,CAAC;EACF;EACA,OAAOC,UAAU,CACfI,GAAG,CAAIC,OAAO,IACdH,aAAa,CAACI,IAAI,CAAE,CAAE;IAAEC;EAAG,CAAC,KAAMA,EAAE,KAAKF,OAAQ,CAClD,CAAC,CACAG,MAAM,CAAIC,KAAK,IAA8B,CAAC,CAAEA,KAAM,CAAC;AAC1D","ignoreList":[]}
|
|
@@ -10,9 +10,8 @@ import { closeSmall } from '@wordpress/icons';
|
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
12
12
|
import { normalizeFields } from '../../normalize-fields';
|
|
13
|
-
import {
|
|
14
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
+
import { getVisibleFields } from '../get-visible-fields';
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
15
|
function DropdownHeader({
|
|
17
16
|
title,
|
|
18
17
|
onClose
|
|
@@ -107,12 +106,7 @@ export default function FormPanel({
|
|
|
107
106
|
form,
|
|
108
107
|
onChange
|
|
109
108
|
}) {
|
|
110
|
-
const visibleFields = useMemo(() =>
|
|
111
|
-
var _form$fields;
|
|
112
|
-
return normalizeFields(((_form$fields = form.fields) !== null && _form$fields !== void 0 ? _form$fields : []).map(fieldId => fields.find(({
|
|
113
|
-
id
|
|
114
|
-
}) => id === fieldId)).filter(field => !!field));
|
|
115
|
-
}, [fields, form.fields]);
|
|
109
|
+
const visibleFields = useMemo(() => normalizeFields(getVisibleFields(fields, form.fields, form.combinedFields)), [fields, form.fields, form.combinedFields]);
|
|
116
110
|
return /*#__PURE__*/_jsx(VStack, {
|
|
117
111
|
spacing: 2,
|
|
118
112
|
children: visibleFields.map(field => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","Dropdown","Button","useState","useMemo","sprintf","__","closeSmall","normalizeFields","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownHeader","title","onClose","className","spacing","children","alignment","level","size","label","icon","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","render","item","renderContent","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","Dropdown","Button","useState","useMemo","sprintf","__","closeSmall","normalizeFields","getVisibleFields","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownHeader","title","onClose","className","spacing","children","alignment","level","size","label","icon","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","render","item","renderContent","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","combinedFields","map"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport { getVisibleFields } from '../get-visible-fields';\nimport type { DataFormProps, NormalizedField } from '../../types';\n\ninterface FormFieldProps< Item > {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: any ) => void;\n}\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction FormField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FormFieldProps< Item > ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ field.label }\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t\t\t} }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<field.render item={ data } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DropdownHeader\n\t\t\t\t\t\t\t\ttitle={ field.label }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<field.Edit\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n\nexport default function FormPanel< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\tgetVisibleFields< Item >(\n\t\t\t\t\tfields,\n\t\t\t\t\tform.fields,\n\t\t\t\t\tform.combinedFields\n\t\t\t\t)\n\t\t\t),\n\t\t[ fields, form.fields, form.combinedFields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ import { useMemo } from '@wordpress/element';
|
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { normalizeFields } from '../../normalize-fields';
|
|
11
|
+
import { getVisibleFields } from '../get-visible-fields';
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
export default function FormRegular({
|
|
13
14
|
data,
|
|
@@ -15,12 +16,7 @@ export default function FormRegular({
|
|
|
15
16
|
form,
|
|
16
17
|
onChange
|
|
17
18
|
}) {
|
|
18
|
-
const visibleFields = useMemo(() =>
|
|
19
|
-
var _form$fields;
|
|
20
|
-
return normalizeFields(((_form$fields = form.fields) !== null && _form$fields !== void 0 ? _form$fields : []).map(fieldId => fields.find(({
|
|
21
|
-
id
|
|
22
|
-
}) => id === fieldId)).filter(field => !!field));
|
|
23
|
-
}, [fields, form.fields]);
|
|
19
|
+
const visibleFields = useMemo(() => normalizeFields(getVisibleFields(fields, form.fields, form.combinedFields)), [fields, form.fields, form.combinedFields]);
|
|
24
20
|
return /*#__PURE__*/_jsx(VStack, {
|
|
25
21
|
spacing: 4,
|
|
26
22
|
children: visibleFields.map(field => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","useMemo","normalizeFields","jsx","_jsx","FormRegular","data","fields","form","onChange","visibleFields","
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","useMemo","normalizeFields","getVisibleFields","jsx","_jsx","FormRegular","data","fields","form","onChange","visibleFields","combinedFields","spacing","children","map","field","Edit","id"],"sources":["@wordpress/dataviews/src/dataforms-layouts/regular/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport { getVisibleFields } from '../get-visible-fields';\nimport type { DataFormProps } from '../../types';\n\nexport default function FormRegular< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\tgetVisibleFields< Item >(\n\t\t\t\t\tfields,\n\t\t\t\t\tform.fields,\n\t\t\t\t\tform.combinedFields\n\t\t\t\t)\n\t\t\t),\n\t\t[ fields, form.fields, form.combinedFields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 4 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<field.Edit\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SAASC,gBAAgB,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGzD,eAAe,SAASC,WAAWA,CAAU;EAC5CC,IAAI;EACJC,MAAM;EACNC,IAAI;EACJC;AACsB,CAAC,EAAG;EAC1B,MAAMC,aAAa,GAAGV,OAAO,CAC5B,MACCC,eAAe,CACdC,gBAAgB,CACfK,MAAM,EACNC,IAAI,CAACD,MAAM,EACXC,IAAI,CAACG,cACN,CACD,CAAC,EACF,CAAEJ,MAAM,EAAEC,IAAI,CAACD,MAAM,EAAEC,IAAI,CAACG,cAAc,CAC3C,CAAC;EAED,oBACCP,IAAA,CAACL,MAAM;IAACa,OAAO,EAAG,CAAG;IAAAC,QAAA,EAClBH,aAAa,CAACI,GAAG,CAAIC,KAAK,IAAM;MACjC,oBACCX,IAAA,CAACW,KAAK,CAACC,IAAI;QAEVV,IAAI,EAAGA,IAAM;QACbS,KAAK,EAAGA,KAAO;QACfN,QAAQ,EAAGA;MAAU,GAHfM,KAAK,CAACE,EAIZ,CAAC;IAEJ,CAAE;EAAC,CACI,CAAC;AAEX","ignoreList":[]}
|
|
@@ -15,9 +15,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
15
15
|
import ItemActions from '../../components/dataviews-item-actions';
|
|
16
16
|
import SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';
|
|
17
17
|
import { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';
|
|
18
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
21
19
|
function GridItem({
|
|
22
20
|
selection,
|
|
23
21
|
onChangeSelection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","__","ItemActions","SingleSelectionCheckbox","useHasAPossibleBulkAction","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GridItem","selection","onChangeSelection","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","id","isSelected","includes","renderedMediaField","render","renderedPrimaryField","spacing","className","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","disabled","justify","isCompact","length","wrap","alignment","map","field","gap","expanded","style","height","direction","header","maxHeight","ViewGrid","data","fields","isLoading","view","density","find","layout","viewFields","reduce","accumulator","key","push","hasData","gridStyle","gridTemplateColumns","columns"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from '../../components/dataviews-item-actions';\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type { Action, NormalizedField, ViewGridProps } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface GridItemProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\tactions: Action< Item >[];\n\tmediaField?: NormalizedField< Item >;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tcolumnFields?: string[];\n}\n\nfunction GridItem< Item >( {\n\tselection,\n\tonChangeSelection,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n\tbadgeFields,\n\tcolumnFields,\n}: GridItemProps< Item > ) {\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ renderedMediaField }\n\t\t\t</div>\n\t\t\t<SingleSelectionCheckbox\n\t\t\t\titem={ item }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tprimaryField={ primaryField }\n\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t/>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\twrap\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 1 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-grid__field',\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'is-column'\n\t\t\t\t\t\t\t\t\t\t: 'is-row'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\tdirection={\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'column'\n\t\t\t\t\t\t\t\t\t\t: 'row'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tdensity,\n}: ViewGridProps< Item > ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst { visibleFields, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\t! viewFields.includes( field.id ) ||\n\t\t\t\t[\n\t\t\t\t\tview.layout?.mediaField,\n\t\t\t\t\tview?.layout?.primaryField,\n\t\t\t\t].includes( field.id )\n\t\t\t) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( field.id )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'visibleFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ visibleFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst gridStyle = density\n\t\t? { gridTemplateColumns: `repeat(${ density }, minmax(0, 1fr))` }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\tcolumnFields={ view.layout?.columnFields }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","__","ItemActions","SingleSelectionCheckbox","useHasAPossibleBulkAction","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GridItem","selection","onChangeSelection","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","id","isSelected","includes","renderedMediaField","render","renderedPrimaryField","spacing","className","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","disabled","justify","isCompact","length","wrap","alignment","map","field","gap","expanded","style","height","direction","header","maxHeight","ViewGrid","data","fields","isLoading","view","density","find","layout","viewFields","reduce","accumulator","key","push","hasData","gridStyle","gridTemplateColumns","columns"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from '../../components/dataviews-item-actions';\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type { Action, NormalizedField, ViewGridProps } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface GridItemProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\tactions: Action< Item >[];\n\tmediaField?: NormalizedField< Item >;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tcolumnFields?: string[];\n}\n\nfunction GridItem< Item >( {\n\tselection,\n\tonChangeSelection,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n\tbadgeFields,\n\tcolumnFields,\n}: GridItemProps< Item > ) {\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ renderedMediaField }\n\t\t\t</div>\n\t\t\t<SingleSelectionCheckbox\n\t\t\t\titem={ item }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tprimaryField={ primaryField }\n\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t/>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\twrap\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 1 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-grid__field',\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'is-column'\n\t\t\t\t\t\t\t\t\t\t: 'is-row'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\tdirection={\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'column'\n\t\t\t\t\t\t\t\t\t\t: 'row'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tdensity,\n}: ViewGridProps< Item > ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst { visibleFields, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\t! viewFields.includes( field.id ) ||\n\t\t\t\t[\n\t\t\t\t\tview.layout?.mediaField,\n\t\t\t\t\tview?.layout?.primaryField,\n\t\t\t\t].includes( field.id )\n\t\t\t) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( field.id )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'visibleFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ visibleFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst gridStyle = density\n\t\t? { gridTemplateColumns: `repeat(${ density }, minmax(0, 1fr))` }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\tcolumnFields={ view.layout?.columnFields }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,8 +18,7 @@ import { useRegistry } from '@wordpress/data';
|
|
|
18
18
|
*/
|
|
19
19
|
import { unlock } from '../../lock-unlock';
|
|
20
20
|
import { ActionsDropdownMenuGroup, ActionModal } from '../../components/dataviews-item-actions';
|
|
21
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
22
|
const {
|
|
24
23
|
DropdownMenuV2: DropdownMenu
|
|
25
24
|
} = unlock(componentsPrivateApis);
|
|
@@ -91,11 +90,11 @@ function ListItem({
|
|
|
91
90
|
const labelId = `${idPrefix}-label`;
|
|
92
91
|
const descriptionId = `${idPrefix}-description`;
|
|
93
92
|
const [isHovered, setIsHovered] = useState(false);
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
setIsHovered(
|
|
93
|
+
const handleHover = ({
|
|
94
|
+
type
|
|
95
|
+
}) => {
|
|
96
|
+
const isHover = type === 'mouseenter';
|
|
97
|
+
setIsHovered(isHover);
|
|
99
98
|
};
|
|
100
99
|
useEffect(() => {
|
|
101
100
|
if (isSelected) {
|
|
@@ -127,6 +126,35 @@ function ListItem({
|
|
|
127
126
|
const renderedPrimaryField = primaryField?.render ? /*#__PURE__*/_jsx(primaryField.render, {
|
|
128
127
|
item: item
|
|
129
128
|
}) : null;
|
|
129
|
+
const usedActions = eligibleActions?.length > 0 && /*#__PURE__*/_jsxs(HStack, {
|
|
130
|
+
spacing: 3,
|
|
131
|
+
className: "dataviews-view-list__item-actions",
|
|
132
|
+
children: [primaryAction && /*#__PURE__*/_jsx(PrimaryActionGridCell, {
|
|
133
|
+
idPrefix: idPrefix,
|
|
134
|
+
primaryAction: primaryAction,
|
|
135
|
+
item: item
|
|
136
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
137
|
+
role: "gridcell",
|
|
138
|
+
children: /*#__PURE__*/_jsx(DropdownMenu, {
|
|
139
|
+
trigger: /*#__PURE__*/_jsx(Composite.Item, {
|
|
140
|
+
id: generateDropdownTriggerCompositeId(idPrefix),
|
|
141
|
+
render: /*#__PURE__*/_jsx(Button, {
|
|
142
|
+
size: "small",
|
|
143
|
+
icon: moreVertical,
|
|
144
|
+
label: __('Actions'),
|
|
145
|
+
accessibleWhenDisabled: true,
|
|
146
|
+
disabled: !actions.length,
|
|
147
|
+
onKeyDown: onDropdownTriggerKeyDown
|
|
148
|
+
})
|
|
149
|
+
}),
|
|
150
|
+
placement: "bottom-end",
|
|
151
|
+
children: /*#__PURE__*/_jsx(ActionsDropdownMenuGroup, {
|
|
152
|
+
actions: eligibleActions,
|
|
153
|
+
item: item
|
|
154
|
+
})
|
|
155
|
+
})
|
|
156
|
+
})]
|
|
157
|
+
});
|
|
130
158
|
return /*#__PURE__*/_jsx(Composite.Row, {
|
|
131
159
|
ref: itemRef,
|
|
132
160
|
render: /*#__PURE__*/_jsx("li", {}),
|
|
@@ -135,89 +163,55 @@ function ListItem({
|
|
|
135
163
|
'is-selected': isSelected,
|
|
136
164
|
'is-hovered': isHovered
|
|
137
165
|
}),
|
|
138
|
-
onMouseEnter:
|
|
139
|
-
onMouseLeave:
|
|
166
|
+
onMouseEnter: handleHover,
|
|
167
|
+
onMouseLeave: handleHover,
|
|
140
168
|
children: /*#__PURE__*/_jsxs(HStack, {
|
|
141
169
|
className: "dataviews-view-list__item-wrapper",
|
|
142
|
-
alignment: "center",
|
|
143
170
|
spacing: 0,
|
|
144
171
|
children: [/*#__PURE__*/_jsx("div", {
|
|
145
172
|
role: "gridcell",
|
|
146
173
|
children: /*#__PURE__*/_jsx(Composite.Item, {
|
|
147
|
-
render: /*#__PURE__*/_jsx("div", {}),
|
|
148
|
-
role: "button",
|
|
149
174
|
id: generateItemWrapperCompositeId(idPrefix),
|
|
150
175
|
"aria-pressed": isSelected,
|
|
151
176
|
"aria-labelledby": labelId,
|
|
152
177
|
"aria-describedby": descriptionId,
|
|
153
178
|
className: "dataviews-view-list__item",
|
|
154
|
-
onClick: () => onSelect(item)
|
|
155
|
-
children: /*#__PURE__*/_jsxs(HStack, {
|
|
156
|
-
spacing: 3,
|
|
157
|
-
justify: "start",
|
|
158
|
-
alignment: "flex-start",
|
|
159
|
-
children: [/*#__PURE__*/_jsx("div", {
|
|
160
|
-
className: "dataviews-view-list__media-wrapper",
|
|
161
|
-
children: renderedMediaField
|
|
162
|
-
}), /*#__PURE__*/_jsxs(VStack, {
|
|
163
|
-
spacing: 1,
|
|
164
|
-
className: "dataviews-view-list__field-wrapper",
|
|
165
|
-
children: [/*#__PURE__*/_jsx("span", {
|
|
166
|
-
className: "dataviews-view-list__primary-field",
|
|
167
|
-
id: labelId,
|
|
168
|
-
children: renderedPrimaryField
|
|
169
|
-
}), /*#__PURE__*/_jsx("div", {
|
|
170
|
-
className: "dataviews-view-list__fields",
|
|
171
|
-
id: descriptionId,
|
|
172
|
-
children: visibleFields.map(field => /*#__PURE__*/_jsxs("div", {
|
|
173
|
-
className: "dataviews-view-list__field",
|
|
174
|
-
children: [/*#__PURE__*/_jsx(VisuallyHidden, {
|
|
175
|
-
as: "span",
|
|
176
|
-
className: "dataviews-view-list__field-label",
|
|
177
|
-
children: field.label
|
|
178
|
-
}), /*#__PURE__*/_jsx("span", {
|
|
179
|
-
className: "dataviews-view-list__field-value",
|
|
180
|
-
children: /*#__PURE__*/_jsx(field.render, {
|
|
181
|
-
item: item
|
|
182
|
-
})
|
|
183
|
-
})]
|
|
184
|
-
}, field.id))
|
|
185
|
-
})]
|
|
186
|
-
})]
|
|
187
|
-
})
|
|
179
|
+
onClick: () => onSelect(item)
|
|
188
180
|
})
|
|
189
|
-
}),
|
|
181
|
+
}), /*#__PURE__*/_jsxs(HStack, {
|
|
190
182
|
spacing: 3,
|
|
191
|
-
justify: "
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
},
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
183
|
+
justify: "start",
|
|
184
|
+
alignment: "flex-start",
|
|
185
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
186
|
+
className: "dataviews-view-list__media-wrapper",
|
|
187
|
+
children: renderedMediaField
|
|
188
|
+
}), /*#__PURE__*/_jsxs(VStack, {
|
|
189
|
+
spacing: 1,
|
|
190
|
+
className: "dataviews-view-list__field-wrapper",
|
|
191
|
+
children: [/*#__PURE__*/_jsxs(HStack, {
|
|
192
|
+
spacing: 0,
|
|
193
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
194
|
+
className: "dataviews-view-list__primary-field",
|
|
195
|
+
id: labelId,
|
|
196
|
+
children: renderedPrimaryField
|
|
197
|
+
}), usedActions]
|
|
198
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
199
|
+
className: "dataviews-view-list__fields",
|
|
200
|
+
id: descriptionId,
|
|
201
|
+
children: visibleFields.map(field => /*#__PURE__*/_jsxs("div", {
|
|
202
|
+
className: "dataviews-view-list__field",
|
|
203
|
+
children: [/*#__PURE__*/_jsx(VisuallyHidden, {
|
|
204
|
+
as: "span",
|
|
205
|
+
className: "dataviews-view-list__field-label",
|
|
206
|
+
children: field.label
|
|
207
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
208
|
+
className: "dataviews-view-list__field-value",
|
|
209
|
+
children: /*#__PURE__*/_jsx(field.render, {
|
|
210
|
+
item: item
|
|
211
|
+
})
|
|
212
|
+
})]
|
|
213
|
+
}, field.id))
|
|
214
|
+
})]
|
|
221
215
|
})]
|
|
222
216
|
})]
|
|
223
217
|
})
|