@wordpress/dataviews 4.10.0 → 4.11.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 +19 -9
- package/LICENSE.md +1 -1
- package/README.md +309 -175
- package/build/components/dataviews/index.js +12 -1
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews-context/index.js +2 -1
- package/build/components/dataviews-context/index.js.map +1 -1
- package/build/components/dataviews-filters/add-filter.js +35 -30
- package/build/components/dataviews-filters/add-filter.js.map +1 -1
- package/build/components/dataviews-filters/index.js +3 -1
- package/build/components/dataviews-filters/index.js.map +1 -1
- package/build/components/dataviews-item-actions/index.js +24 -19
- package/build/components/dataviews-item-actions/index.js.map +1 -1
- package/build/components/dataviews-layout/index.js +2 -0
- package/build/components/dataviews-layout/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +48 -43
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/dataviews-layouts/grid/index.js +12 -5
- package/build/dataviews-layouts/grid/index.js.map +1 -1
- package/build/dataviews-layouts/grid/preview-size-picker.js +22 -25
- package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
- package/build/dataviews-layouts/list/index.js +27 -20
- package/build/dataviews-layouts/list/index.js.map +1 -1
- package/build/dataviews-layouts/table/column-header-menu.js +102 -99
- package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build/dataviews-layouts/table/column-primary.js +7 -3
- package/build/dataviews-layouts/table/column-primary.js.map +1 -1
- package/build/dataviews-layouts/table/index.js +4 -0
- package/build/dataviews-layouts/table/index.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build-module/components/dataviews/index.js +12 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-context/index.js +2 -1
- package/build-module/components/dataviews-context/index.js.map +1 -1
- package/build-module/components/dataviews-filters/add-filter.js +36 -31
- package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
- package/build-module/components/dataviews-filters/index.js +3 -1
- package/build-module/components/dataviews-filters/index.js.map +1 -1
- package/build-module/components/dataviews-item-actions/index.js +24 -19
- package/build-module/components/dataviews-item-actions/index.js.map +1 -1
- package/build-module/components/dataviews-layout/index.js +2 -0
- package/build-module/components/dataviews-layout/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +49 -44
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/dataviews-layouts/grid/index.js +14 -7
- package/build-module/dataviews-layouts/grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/grid/preview-size-picker.js +22 -25
- package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
- package/build-module/dataviews-layouts/list/index.js +27 -20
- package/build-module/dataviews-layouts/list/index.js.map +1 -1
- package/build-module/dataviews-layouts/table/column-header-menu.js +102 -99
- package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build-module/dataviews-layouts/table/column-primary.js +7 -3
- package/build-module/dataviews-layouts/table/column-primary.js.map +1 -1
- package/build-module/dataviews-layouts/table/index.js +4 -0
- package/build-module/dataviews-layouts/table/index.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-style/style-rtl.css +45 -55
- package/build-style/style.css +45 -55
- package/build-types/components/dataviews/index.d.ts +2 -1
- package/build-types/components/dataviews/index.d.ts.map +1 -1
- package/build-types/components/dataviews-context/index.d.ts +2 -0
- package/build-types/components/dataviews-context/index.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/add-filter.d.ts +3 -2
- package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -1
- package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts.map +1 -1
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
- package/build-types/dataviews-layouts/table/column-primary.d.ts +2 -1
- package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -1
- package/build-types/dataviews-layouts/table/index.d.ts +1 -1
- package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
- package/build-types/test/dataform.d.ts +2 -0
- package/build-types/test/dataform.d.ts.map +1 -0
- package/build-types/test/dataviews.d.ts +2 -0
- package/build-types/test/dataviews.d.ts.map +1 -0
- package/build-types/test/normalize-fields.d.ts +2 -0
- package/build-types/test/normalize-fields.d.ts.map +1 -0
- package/build-types/test/validation.d.ts +2 -0
- package/build-types/test/validation.d.ts.map +1 -0
- package/build-types/types.d.ts +5 -0
- package/build-types/types.d.ts.map +1 -1
- package/build-wp/index.js +1209 -999
- package/package.json +13 -12
- package/src/components/dataviews/index.tsx +15 -1
- package/src/components/dataviews/style.scss +0 -1
- package/src/components/dataviews-context/index.ts +3 -0
- package/src/components/dataviews-filters/add-filter.tsx +43 -39
- package/src/components/dataviews-filters/index.tsx +1 -1
- package/src/components/dataviews-footer/style.scss +0 -3
- package/src/components/dataviews-item-actions/index.tsx +25 -27
- package/src/components/dataviews-layout/index.tsx +2 -0
- package/src/components/dataviews-view-config/index.tsx +52 -43
- package/src/components/dataviews-view-config/style.scss +0 -1
- package/src/dataviews-layouts/grid/index.tsx +17 -5
- package/src/dataviews-layouts/grid/preview-size-picker.tsx +25 -30
- package/src/dataviews-layouts/grid/style.scss +24 -33
- package/src/dataviews-layouts/list/index.tsx +35 -27
- package/src/dataviews-layouts/list/style.scss +5 -5
- package/src/dataviews-layouts/table/column-header-menu.tsx +152 -148
- package/src/dataviews-layouts/table/column-primary.tsx +7 -0
- package/src/dataviews-layouts/table/index.tsx +10 -0
- package/src/dataviews-layouts/table/style.scss +0 -1
- package/src/test/dataform.tsx +348 -0
- package/src/test/dataviews.tsx +380 -0
- package/src/types.ts +6 -0
- package/tsconfig.json +14 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/form-field-visibility/index.js +0 -32
- package/build/components/form-field-visibility/index.js.map +0 -1
- package/build-module/components/form-field-visibility/index.js +0 -26
- package/build-module/components/form-field-visibility/index.js.map +0 -1
- package/build-types/components/form-field-visibility/index.d.ts +0 -11
- package/build-types/components/form-field-visibility/index.d.ts.map +0 -1
- package/src/components/form-field-visibility/index.tsx +0 -32
|
@@ -55,6 +55,8 @@ function PrimaryActionGridCell({
|
|
|
55
55
|
id: compositeItemId,
|
|
56
56
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
57
57
|
label: label,
|
|
58
|
+
disabled: !!primaryAction.disabled,
|
|
59
|
+
accessibleWhenDisabled: true,
|
|
58
60
|
icon: primaryAction.icon,
|
|
59
61
|
isDestructive: primaryAction.isDestructive,
|
|
60
62
|
size: "small",
|
|
@@ -72,6 +74,8 @@ function PrimaryActionGridCell({
|
|
|
72
74
|
id: compositeItemId,
|
|
73
75
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
74
76
|
label: label,
|
|
77
|
+
disabled: !!primaryAction.disabled,
|
|
78
|
+
accessibleWhenDisabled: true,
|
|
75
79
|
icon: primaryAction.icon,
|
|
76
80
|
isDestructive: primaryAction.isDestructive,
|
|
77
81
|
size: "small",
|
|
@@ -155,25 +159,28 @@ function ListItem({
|
|
|
155
159
|
item: item
|
|
156
160
|
}), !hasOnlyOnePrimaryAction && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
157
161
|
role: "gridcell",
|
|
158
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
159
|
-
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
160
|
-
id: generateDropdownTriggerCompositeId(idPrefix),
|
|
161
|
-
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
162
|
-
size: "small",
|
|
163
|
-
icon: _icons.moreVertical,
|
|
164
|
-
label: (0, _i18n.__)('Actions'),
|
|
165
|
-
accessibleWhenDisabled: true,
|
|
166
|
-
disabled: !actions.length,
|
|
167
|
-
onKeyDown: onDropdownTriggerKeyDown
|
|
168
|
-
})
|
|
169
|
-
}),
|
|
162
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Menu, {
|
|
170
163
|
placement: "bottom-end",
|
|
171
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
164
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.TriggerButton, {
|
|
165
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
166
|
+
id: generateDropdownTriggerCompositeId(idPrefix),
|
|
167
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
168
|
+
size: "small",
|
|
169
|
+
icon: _icons.moreVertical,
|
|
170
|
+
label: (0, _i18n.__)('Actions'),
|
|
171
|
+
accessibleWhenDisabled: true,
|
|
172
|
+
disabled: !actions.length,
|
|
173
|
+
onKeyDown: onDropdownTriggerKeyDown
|
|
174
|
+
})
|
|
175
|
+
})
|
|
176
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Popover, {
|
|
177
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsItemActions.ActionsMenuGroup, {
|
|
178
|
+
actions: eligibleActions,
|
|
179
|
+
item: item,
|
|
180
|
+
registry: registry,
|
|
181
|
+
setActiveModalAction: setActiveModalAction
|
|
182
|
+
})
|
|
183
|
+
})]
|
|
177
184
|
}), !!activeModalAction && /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsItemActions.ActionModal, {
|
|
178
185
|
action: activeModalAction,
|
|
179
186
|
items: [item],
|
|
@@ -183,7 +190,7 @@ function ListItem({
|
|
|
183
190
|
});
|
|
184
191
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Row, {
|
|
185
192
|
ref: itemRef,
|
|
186
|
-
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("
|
|
193
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}),
|
|
187
194
|
role: "row",
|
|
188
195
|
className: (0, _clsx.default)({
|
|
189
196
|
'is-selected': isSelected,
|
|
@@ -339,7 +346,7 @@ function ViewList(props) {
|
|
|
339
346
|
}
|
|
340
347
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite, {
|
|
341
348
|
id: baseId,
|
|
342
|
-
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("
|
|
349
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}),
|
|
343
350
|
className: "dataviews-view-list",
|
|
344
351
|
role: "grid",
|
|
345
352
|
activeId: activeCompositeId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","Menu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","Composite","Item","render","Button","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","view","actions","isSelected","titleField","mediaField","descriptionField","onSelect","otherFields","onDropdownTriggerKeyDown","showTitle","showMedia","showDescription","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","activeModalAction","setActiveModalAction","handleHover","type","isHover","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","hasOnlyOnePrimaryAction","length","renderedMediaField","className","renderedTitleField","usedActions","jsxs","__experimentalHStack","spacing","trigger","moreVertical","__","accessibleWhenDisabled","disabled","onKeyDown","placement","ActionsMenuGroup","Row","ref","clsx","onMouseEnter","onMouseLeave","justify","alignment","__experimentalVStack","map","field","VisuallyHidden","as","isDefined","ViewList","props","_view$fields","data","fields","getItemId","isLoading","onChangeSelection","selection","baseId","useInstanceId","selectedItem","findLast","includes","find","fieldId","f","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewList as ViewListType,\n\tViewListProps,\n\tActionModal as ActionModalType,\n} from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tview: ViewListType;\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\totherFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tview,\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonSelect,\n\totherFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst registry = useRegistry();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst hasOnlyOnePrimaryAction = primaryAction && actions.length === 1;\n\n\tconst renderedMediaField =\n\t\tshowMedia && mediaField?.render ? (\n\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t<mediaField.render item={ item } />\n\t\t\t</div>\n\t\t) : null;\n\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! hasOnlyOnePrimaryAction && (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Menu\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{ !! activeModalAction && (\n\t\t\t\t\t\t<ActionModal\n\t\t\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-title-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__field\">\n\t\t\t\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ otherFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst otherFields = ( view?.fields ?? [] )\n\t\t.map( ( fieldId ) => fields.find( ( f ) => fieldId === f.id ) )\n\t\t.filter( isDefined );\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\totherFields={ otherFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","Menu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","Composite","Item","render","Button","disabled","accessibleWhenDisabled","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","view","actions","isSelected","titleField","mediaField","descriptionField","onSelect","otherFields","onDropdownTriggerKeyDown","showTitle","showMedia","showDescription","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","activeModalAction","setActiveModalAction","handleHover","type","isHover","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","hasOnlyOnePrimaryAction","length","renderedMediaField","className","renderedTitleField","usedActions","jsxs","__experimentalHStack","spacing","placement","TriggerButton","moreVertical","__","onKeyDown","Popover","ActionsMenuGroup","Row","ref","clsx","onMouseEnter","onMouseLeave","justify","alignment","__experimentalVStack","map","field","VisuallyHidden","as","isDefined","ViewList","props","_view$fields","data","fields","getItemId","isLoading","onChangeSelection","selection","baseId","useInstanceId","selectedItem","findLast","includes","find","fieldId","f","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewList as ViewListType,\n\tViewListProps,\n\tActionModal as ActionModalType,\n} from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tview: ViewListType;\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\totherFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tview,\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonSelect,\n\totherFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst registry = useRegistry();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst hasOnlyOnePrimaryAction = primaryAction && actions.length === 1;\n\n\tconst renderedMediaField =\n\t\tshowMedia && mediaField?.render ? (\n\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t<mediaField.render item={ item } />\n\t\t\t</div>\n\t\t) : null;\n\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! hasOnlyOnePrimaryAction && (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\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}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{ !! activeModalAction && (\n\t\t\t\t\t\t<ActionModal\n\t\t\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <div /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-title-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__field\">\n\t\t\t\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ otherFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst otherFields = ( view?.fields ?? [] )\n\t\t.map( ( fieldId ) => fields.find( ( f ) => fieldId === f.id ) )\n\t\t.filter( isDefined );\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <div /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\totherFields={ otherFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -66,118 +66,121 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
|
|
|
66
66
|
// 2. If the field meets the type and operator requirements.
|
|
67
67
|
// 3. If it's not primary. If it is, it should be already visible.
|
|
68
68
|
canAddFilter = !view.filters?.some(_filter => fieldId === _filter.field) && !!field.elements?.length && !!operators.length && !field.filterBy?.isPrimary;
|
|
69
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Menu, {
|
|
70
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Menu.TriggerButton, {
|
|
71
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
72
|
+
size: "compact",
|
|
73
|
+
className: "dataviews-view-table-header-button",
|
|
74
|
+
ref: ref,
|
|
75
|
+
variant: "tertiary"
|
|
76
|
+
}),
|
|
76
77
|
children: [header, view.sort && isSorted && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
77
78
|
"aria-hidden": "true",
|
|
78
79
|
children: _constants.sortArrows[view.sort.direction]
|
|
79
80
|
})]
|
|
80
|
-
}),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
81
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Popover, {
|
|
82
|
+
style: {
|
|
83
|
+
minWidth: '240px'
|
|
84
|
+
},
|
|
85
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(WithMenuSeparators, {
|
|
86
|
+
children: [isSortable && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Group, {
|
|
87
|
+
children: _constants.SORTING_DIRECTIONS.map(direction => {
|
|
88
|
+
const isChecked = view.sort && isSorted && view.sort.direction === direction;
|
|
89
|
+
const value = `${fieldId}-${direction}`;
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.RadioItem, {
|
|
91
|
+
// All sorting radio items share the same name, so that
|
|
92
|
+
// selecting a sorting option automatically deselects the
|
|
93
|
+
// previously selected one, even if it is displayed in
|
|
94
|
+
// another submenu. The field and direction are passed via
|
|
95
|
+
// the `value` prop.
|
|
96
|
+
name: "view-table-sorting",
|
|
97
|
+
value: value,
|
|
98
|
+
checked: isChecked,
|
|
99
|
+
onChange: () => {
|
|
100
|
+
onChangeView({
|
|
101
|
+
...view,
|
|
102
|
+
sort: {
|
|
103
|
+
field: fieldId,
|
|
104
|
+
direction
|
|
105
|
+
},
|
|
106
|
+
showLevels: false
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
110
|
+
children: _constants.sortLabels[direction]
|
|
111
|
+
})
|
|
112
|
+
}, value);
|
|
113
|
+
})
|
|
114
|
+
}), canAddFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Group, {
|
|
115
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
116
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
117
|
+
icon: _icons.funnel
|
|
118
|
+
}),
|
|
119
|
+
onClick: () => {
|
|
120
|
+
setOpenedFilter(fieldId);
|
|
99
121
|
onChangeView({
|
|
100
122
|
...view,
|
|
101
|
-
|
|
123
|
+
page: 1,
|
|
124
|
+
filters: [...(view.filters || []), {
|
|
102
125
|
field: fieldId,
|
|
103
|
-
|
|
104
|
-
|
|
126
|
+
value: undefined,
|
|
127
|
+
operator: operators[0]
|
|
128
|
+
}]
|
|
105
129
|
});
|
|
106
130
|
},
|
|
107
131
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
108
|
-
children:
|
|
132
|
+
children: (0, _i18n.__)('Add filter')
|
|
109
133
|
})
|
|
110
|
-
}, value);
|
|
111
|
-
})
|
|
112
|
-
}), canAddFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Group, {
|
|
113
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
114
|
-
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
115
|
-
icon: _icons.funnel
|
|
116
|
-
}),
|
|
117
|
-
onClick: () => {
|
|
118
|
-
setOpenedFilter(fieldId);
|
|
119
|
-
onChangeView({
|
|
120
|
-
...view,
|
|
121
|
-
page: 1,
|
|
122
|
-
filters: [...(view.filters || []), {
|
|
123
|
-
field: fieldId,
|
|
124
|
-
value: undefined,
|
|
125
|
-
operator: operators[0]
|
|
126
|
-
}]
|
|
127
|
-
});
|
|
128
|
-
},
|
|
129
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
130
|
-
children: (0, _i18n.__)('Add filter')
|
|
131
|
-
})
|
|
132
|
-
})
|
|
133
|
-
}), (canMove || isHidable) && field && /*#__PURE__*/(0, _jsxRuntime.jsxs)(Menu.Group, {
|
|
134
|
-
children: [canMove && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
135
|
-
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
136
|
-
icon: _icons.arrowLeft
|
|
137
|
-
}),
|
|
138
|
-
disabled: index < 1,
|
|
139
|
-
onClick: () => {
|
|
140
|
-
var _visibleFieldIds$slic;
|
|
141
|
-
onChangeView({
|
|
142
|
-
...view,
|
|
143
|
-
fields: [...((_visibleFieldIds$slic = visibleFieldIds.slice(0, index - 1)) !== null && _visibleFieldIds$slic !== void 0 ? _visibleFieldIds$slic : []), fieldId, visibleFieldIds[index - 1], ...visibleFieldIds.slice(index + 1)]
|
|
144
|
-
});
|
|
145
|
-
},
|
|
146
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
147
|
-
children: (0, _i18n.__)('Move left')
|
|
148
|
-
})
|
|
149
|
-
}), canMove && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
150
|
-
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
151
|
-
icon: _icons.arrowRight
|
|
152
|
-
}),
|
|
153
|
-
disabled: index >= visibleFieldIds.length - 1,
|
|
154
|
-
onClick: () => {
|
|
155
|
-
var _visibleFieldIds$slic2;
|
|
156
|
-
onChangeView({
|
|
157
|
-
...view,
|
|
158
|
-
fields: [...((_visibleFieldIds$slic2 = visibleFieldIds.slice(0, index)) !== null && _visibleFieldIds$slic2 !== void 0 ? _visibleFieldIds$slic2 : []), visibleFieldIds[index + 1], fieldId, ...visibleFieldIds.slice(index + 2)]
|
|
159
|
-
});
|
|
160
|
-
},
|
|
161
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
162
|
-
children: (0, _i18n.__)('Move right')
|
|
163
|
-
})
|
|
164
|
-
}), isHidable && field && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
165
|
-
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
166
|
-
icon: _icons.unseen
|
|
167
|
-
}),
|
|
168
|
-
onClick: () => {
|
|
169
|
-
onHide(field);
|
|
170
|
-
onChangeView({
|
|
171
|
-
...view,
|
|
172
|
-
fields: visibleFieldIds.filter(id => id !== fieldId)
|
|
173
|
-
});
|
|
174
|
-
},
|
|
175
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
176
|
-
children: (0, _i18n.__)('Hide column')
|
|
177
134
|
})
|
|
135
|
+
}), (canMove || isHidable) && field && /*#__PURE__*/(0, _jsxRuntime.jsxs)(Menu.Group, {
|
|
136
|
+
children: [canMove && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
137
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
138
|
+
icon: _icons.arrowLeft
|
|
139
|
+
}),
|
|
140
|
+
disabled: index < 1,
|
|
141
|
+
onClick: () => {
|
|
142
|
+
var _visibleFieldIds$slic;
|
|
143
|
+
onChangeView({
|
|
144
|
+
...view,
|
|
145
|
+
fields: [...((_visibleFieldIds$slic = visibleFieldIds.slice(0, index - 1)) !== null && _visibleFieldIds$slic !== void 0 ? _visibleFieldIds$slic : []), fieldId, visibleFieldIds[index - 1], ...visibleFieldIds.slice(index + 1)]
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
149
|
+
children: (0, _i18n.__)('Move left')
|
|
150
|
+
})
|
|
151
|
+
}), canMove && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
152
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
153
|
+
icon: _icons.arrowRight
|
|
154
|
+
}),
|
|
155
|
+
disabled: index >= visibleFieldIds.length - 1,
|
|
156
|
+
onClick: () => {
|
|
157
|
+
var _visibleFieldIds$slic2;
|
|
158
|
+
onChangeView({
|
|
159
|
+
...view,
|
|
160
|
+
fields: [...((_visibleFieldIds$slic2 = visibleFieldIds.slice(0, index)) !== null && _visibleFieldIds$slic2 !== void 0 ? _visibleFieldIds$slic2 : []), visibleFieldIds[index + 1], fieldId, ...visibleFieldIds.slice(index + 2)]
|
|
161
|
+
});
|
|
162
|
+
},
|
|
163
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
164
|
+
children: (0, _i18n.__)('Move right')
|
|
165
|
+
})
|
|
166
|
+
}), isHidable && field && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
|
|
167
|
+
prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
168
|
+
icon: _icons.unseen
|
|
169
|
+
}),
|
|
170
|
+
onClick: () => {
|
|
171
|
+
onHide(field);
|
|
172
|
+
onChangeView({
|
|
173
|
+
...view,
|
|
174
|
+
fields: visibleFieldIds.filter(id => id !== fieldId)
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
|
|
178
|
+
children: (0, _i18n.__)('Hide column')
|
|
179
|
+
})
|
|
180
|
+
})]
|
|
178
181
|
})]
|
|
179
|
-
})
|
|
180
|
-
})
|
|
182
|
+
})
|
|
183
|
+
})]
|
|
181
184
|
});
|
|
182
185
|
});
|
|
183
186
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_components","_element","_lockUnlock","_utils","_constants","_jsxRuntime","Menu","unlock","componentsPrivateApis","WithMenuSeparators","children","Children","toArray","filter","Boolean","map","child","i","jsxs","Fragment","jsx","Separator","_HeaderMenu","forwardRef","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","canMove","ref","_view$fields","visibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","operators","find","f","id","enableHiding","enableSorting","header","sanitizeOperators","filters","some","_filter","elements","length","filterBy","isPrimary","align","trigger","Button","size","className","variant","sortArrows","direction","style","minWidth","Group","SORTING_DIRECTIONS","isChecked","value","RadioItem","name","checked","onChange","ItemLabel","sortLabels","Item","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","arrowLeft","disabled","_visibleFieldIds$slic","slice","arrowRight","_visibleFieldIds$slic2","unseen","ColumnHeaderMenu","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tOperator,\n} from '../../types';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n\tcanMove?: boolean;\n}\n\nfunction WithMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <Menu.Separator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t\tcanMove = true,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst index = visibleFieldIds?.indexOf( fieldId ) as number;\n\tconst isSorted = view.sort?.field === fieldId;\n\tlet isHidable = false;\n\tlet isSortable = false;\n\tlet canAddFilter = false;\n\tlet operators: Operator[] = [];\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! field ) {\n\t\t// No combined or regular field found.\n\t\treturn null;\n\t}\n\n\tisHidable = field.enableHiding !== false;\n\tisSortable = field.enableSorting !== false;\n\tconst header = field.header;\n\n\toperators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tcanAddFilter =\n\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\n\treturn (\n\t\t<Menu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ header }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ fieldId }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t</Menu.RadioItem>\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</Menu.Group>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( fieldId );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t</Menu.Group>\n\t\t\t\t) }\n\t\t\t\t{ ( canMove || isHidable ) && field && (\n\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\t\t\tdisabled={ index < 1 }\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\tfieldId,\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>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\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\tfieldId,\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>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonHide( field );\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: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Menu.Group>\n\t\t\t\t) }\n\t\t\t</WithMenuSeparators>\n\t\t</Menu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_components","_element","_lockUnlock","_utils","_constants","_jsxRuntime","Menu","unlock","componentsPrivateApis","WithMenuSeparators","children","Children","toArray","filter","Boolean","map","child","i","jsxs","Fragment","jsx","Separator","_HeaderMenu","forwardRef","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","canMove","ref","_view$fields","visibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","operators","find","f","id","enableHiding","enableSorting","header","sanitizeOperators","filters","some","_filter","elements","length","filterBy","isPrimary","TriggerButton","render","Button","size","className","variant","sortArrows","direction","Popover","style","minWidth","Group","SORTING_DIRECTIONS","isChecked","value","RadioItem","name","checked","onChange","showLevels","ItemLabel","sortLabels","Item","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","arrowLeft","disabled","_visibleFieldIds$slic","slice","arrowRight","_visibleFieldIds$slic2","unseen","ColumnHeaderMenu","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tOperator,\n} from '../../types';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n\tcanMove?: boolean;\n}\n\nfunction WithMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <Menu.Separator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t\tcanMove = true,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst index = visibleFieldIds?.indexOf( fieldId ) as number;\n\tconst isSorted = view.sort?.field === fieldId;\n\tlet isHidable = false;\n\tlet isSortable = false;\n\tlet canAddFilter = false;\n\tlet operators: Operator[] = [];\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! field ) {\n\t\t// No combined or regular field found.\n\t\treturn null;\n\t}\n\n\tisHidable = field.enableHiding !== false;\n\tisSortable = field.enableSorting !== false;\n\tconst header = field.header;\n\n\toperators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tcanAddFilter =\n\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\n\treturn (\n\t\t<Menu>\n\t\t\t<Menu.TriggerButton\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ header }\n\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</Menu.TriggerButton>\n\t\t\t<Menu.Popover style={ { minWidth: '240px' } }>\n\t\t\t\t<WithMenuSeparators>\n\t\t\t\t\t{ isSortable && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\t\tconst value = `${ fieldId }-${ direction }`;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowLevels: false,\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t</Menu.RadioItem>\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</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetOpenedFilter( fieldId );\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: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\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>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( canMove || isHidable ) && field && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\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\tfields: [\n\t\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\t\t0,\n\t\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\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\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\t...visibleFieldIds.slice(\n\t\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\t),\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\tindex >= visibleFieldIds.length - 1\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\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\tfields: [\n\t\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\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex\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\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\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\t\tindex + 2\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonHide( field );\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\tfields: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t</WithMenuSeparators>\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,6 +18,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
18
18
|
|
|
19
19
|
function ColumnPrimary({
|
|
20
20
|
item,
|
|
21
|
+
level,
|
|
21
22
|
titleField,
|
|
22
23
|
mediaField,
|
|
23
24
|
descriptionField,
|
|
@@ -40,11 +41,14 @@ function ColumnPrimary({
|
|
|
40
41
|
})
|
|
41
42
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
42
43
|
spacing: 0,
|
|
43
|
-
children: [titleField && /*#__PURE__*/(0, _jsxRuntime.
|
|
44
|
+
children: [titleField && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
44
45
|
...clickableProps,
|
|
45
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
46
|
+
children: [level !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
47
|
+
className: "dataviews-view-table__level",
|
|
48
|
+
children: ['—'.repeat(level), "\xA0"]
|
|
49
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(titleField.render, {
|
|
46
50
|
item: item
|
|
47
|
-
})
|
|
51
|
+
})]
|
|
48
52
|
}), descriptionField && /*#__PURE__*/(0, _jsxRuntime.jsx)(descriptionField.render, {
|
|
49
53
|
item: item
|
|
50
54
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_getClickableItemProps","_interopRequireDefault","_jsxRuntime","ColumnPrimary","item","titleField","mediaField","descriptionField","onClickItem","isItemClickable","clickableProps","getClickableItemProps","className","jsxs","__experimentalHStack","spacing","justify","children","jsx","render","__experimentalVStack","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-primary.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { NormalizedField } from '../../types';\nimport getClickableItemProps from '../utils/get-clickable-item-props';\n\nfunction ColumnPrimary< Item >( {\n\titem,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonClickItem,\n\tisItemClickable,\n}: {\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n} ) {\n\tconst clickableProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName:\n\t\t\t'dataviews-view-table__cell-content-wrapper dataviews-title-field',\n\t} );\n\treturn (\n\t\t<HStack spacing={ 3 } justify=\"flex-start\">\n\t\t\t{ mediaField && (\n\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper dataviews-column-primary__media\">\n\t\t\t\t\t<mediaField.render item={ item } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t{ titleField && (\n\t\t\t\t\t<div { ...clickableProps }>\n\t\t\t\t\t\t<titleField.render item={ item } />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ descriptionField && (\n\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</HStack>\n\t);\n}\n\nexport default ColumnPrimary;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AASA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAsE,IAAAG,WAAA,GAAAH,OAAA;AAZtE;AACA;AACA;;AAMA;AACA;AACA;;AAIA,SAASI,aAAaA,CAAU;EAC/BC,IAAI;EACJC,UAAU;EACVC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC;
|
|
1
|
+
{"version":3,"names":["_components","require","_getClickableItemProps","_interopRequireDefault","_jsxRuntime","ColumnPrimary","item","level","titleField","mediaField","descriptionField","onClickItem","isItemClickable","clickableProps","getClickableItemProps","className","jsxs","__experimentalHStack","spacing","justify","children","jsx","render","__experimentalVStack","undefined","repeat","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-primary.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { NormalizedField } from '../../types';\nimport getClickableItemProps from '../utils/get-clickable-item-props';\n\nfunction ColumnPrimary< Item >( {\n\titem,\n\tlevel,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonClickItem,\n\tisItemClickable,\n}: {\n\titem: Item;\n\tlevel?: number;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n} ) {\n\tconst clickableProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName:\n\t\t\t'dataviews-view-table__cell-content-wrapper dataviews-title-field',\n\t} );\n\treturn (\n\t\t<HStack spacing={ 3 } justify=\"flex-start\">\n\t\t\t{ mediaField && (\n\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper dataviews-column-primary__media\">\n\t\t\t\t\t<mediaField.render item={ item } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t{ titleField && (\n\t\t\t\t\t<div { ...clickableProps }>\n\t\t\t\t\t\t{ level !== undefined && (\n\t\t\t\t\t\t\t<span className=\"dataviews-view-table__level\">\n\t\t\t\t\t\t\t\t{ '—'.repeat( level ) } \n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<titleField.render item={ item } />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ descriptionField && (\n\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</HStack>\n\t);\n}\n\nexport default ColumnPrimary;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AASA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAsE,IAAAG,WAAA,GAAAH,OAAA;AAZtE;AACA;AACA;;AAMA;AACA;AACA;;AAIA,SAASI,aAAaA,CAAU;EAC/BC,IAAI;EACJC,KAAK;EACLC,UAAU;EACVC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC;AASD,CAAC,EAAG;EACH,MAAMC,cAAc,GAAG,IAAAC,8BAAqB,EAAE;IAC7CR,IAAI;IACJM,eAAe;IACfD,WAAW;IACXI,SAAS,EACR;EACF,CAAE,CAAC;EACH,oBACC,IAAAX,WAAA,CAAAY,IAAA,EAAChB,WAAA,CAAAiB,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,OAAO,EAAC,YAAY;IAAAC,QAAA,GACvCX,UAAU,iBACX,IAAAL,WAAA,CAAAiB,GAAA;MAAKN,SAAS,EAAC,4EAA4E;MAAAK,QAAA,eAC1F,IAAAhB,WAAA,CAAAiB,GAAA,EAACZ,UAAU,CAACa,MAAM;QAAChB,IAAI,EAAGA;MAAM,CAAE;IAAC,CAC/B,CACL,eACD,IAAAF,WAAA,CAAAY,IAAA,EAAChB,WAAA,CAAAuB,oBAAM;MAACL,OAAO,EAAG,CAAG;MAAAE,QAAA,GAClBZ,UAAU,iBACX,IAAAJ,WAAA,CAAAY,IAAA;QAAA,GAAUH,cAAc;QAAAO,QAAA,GACrBb,KAAK,KAAKiB,SAAS,iBACpB,IAAApB,WAAA,CAAAY,IAAA;UAAMD,SAAS,EAAC,6BAA6B;UAAAK,QAAA,GAC1C,GAAG,CAACK,MAAM,CAAElB,KAAM,CAAC,EAAE,MACxB;QAAA,CAAM,CACN,eACD,IAAAH,WAAA,CAAAiB,GAAA,EAACb,UAAU,CAACc,MAAM;UAAChB,IAAI,EAAGA;QAAM,CAAE,CAAC;MAAA,CAC/B,CACL,EACCI,gBAAgB,iBACjB,IAAAN,WAAA,CAAAiB,GAAA,EAACX,gBAAgB,CAACY,MAAM;QAAChB,IAAI,EAAGA;MAAM,CAAE,CACxC;IAAA,CACM,CAAC;EAAA,CACF,CAAC;AAEX;AAAC,IAAAoB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcvB,aAAa","ignoreList":[]}
|
|
@@ -48,6 +48,7 @@ function TableColumnField({
|
|
|
48
48
|
function TableRow({
|
|
49
49
|
hasBulkActions,
|
|
50
50
|
item,
|
|
51
|
+
level,
|
|
51
52
|
actions,
|
|
52
53
|
fields,
|
|
53
54
|
id,
|
|
@@ -121,6 +122,7 @@ function TableRow({
|
|
|
121
122
|
}), hasPrimaryColumn && /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
|
|
122
123
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_columnPrimary.default, {
|
|
123
124
|
item: item,
|
|
125
|
+
level: level,
|
|
124
126
|
titleField: showTitle ? titleField : undefined,
|
|
125
127
|
mediaField: showMedia ? mediaField : undefined,
|
|
126
128
|
descriptionField: showDescription ? descriptionField : undefined,
|
|
@@ -171,6 +173,7 @@ function ViewTable({
|
|
|
171
173
|
data,
|
|
172
174
|
fields,
|
|
173
175
|
getItemId,
|
|
176
|
+
getItemLevel,
|
|
174
177
|
isLoading = false,
|
|
175
178
|
onChangeView,
|
|
176
179
|
onChangeSelection,
|
|
@@ -302,6 +305,7 @@ function ViewTable({
|
|
|
302
305
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
|
|
303
306
|
children: hasData && data.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(TableRow, {
|
|
304
307
|
item: item,
|
|
308
|
+
level: view.showLevels && typeof getItemLevel === 'function' ? getItemLevel(item) : undefined,
|
|
305
309
|
hasBulkActions: hasBulkActions,
|
|
306
310
|
actions: actions,
|
|
307
311
|
fields: fields,
|