PluginProbe ʕ •ᴥ•ʔ
VK Blocks / trunk
VK Blocks vtrunk
1.123.0 1.122.0 1.121.0 1.120.0 1.119.2 1.119.1 1.119.0 1.118.7 1.82.0.0 1.82.0.1 1.83.0.0 1.83.0.1 1.84.0.0 1.84.0.1 1.85.0.2 1.85.0.3 1.85.1.0 1.85.1.1 1.86.0.0 1.86.0.1 1.86.1.0 1.87.0.0 1.87.0.1 1.88.0.1 1.88.0.2 1.89.0.0 1.9.2 1.90.0.0 1.90.0.1 1.90.1.1 1.91.0.0 1.91.1.1 1.92.0.0 1.92.0.1 1.92.1.0 1.92.1.1 1.93.0.0 trunk 1.93.0.1 0.1.1 1.93.1.0 0.10.3 1.93.1.1 0.11.0 1.94.0.0 0.12.6 1.94.0.1 0.15.1 1.94.1.0 0.16.2 1.94.2.1 0.17.6 1.94.2.2 0.2.2 1.95.0.3 0.22.4 1.95.0.4 0.26.7 1.96.2.0 0.3.2 1.96.2.1 0.31.0 1.97.0.1 0.35.5 1.97.0.2 0.37.5 1.99.0.0 0.38.8 1.99.0.1 0.39.4 0.4.7 0.41.0 0.42.0 0.44.13 0.45.2 0.46.1 0.47.0 0.48.0 0.49.8 0.5.2 0.50.3 0.51.0 0.52.2 0.53.2 0.54.0 0.55.0 0.56.2 0.56.3 0.57.6 0.58.10 0.59.0 0.6.0 0.60.1 0.61.2 0.7.1 0.8.2 1.0.16 1.10.0 1.100.0.0 1.100.0.1 1.102.0.0 1.102.0.1 1.103.0.0 1.104.0.0 1.104.0.1 1.105.1.0 1.105.1.1 1.106.0.0 1.106.0.1 1.107.0.0 1.107.0.1 1.107.0.2 1.108.0.0 1.108.0.1 1.109.0.0 1.109.0.1 1.11.4 1.110.0.0 1.110.0.1 1.111.0.0 1.111.0.1 1.111.0.2 1.112.0.0 1.112.0.1 1.113.0.0 1.113.0.1 1.114.0.0 1.114.0.1 1.114.2.0 1.114.2.1 1.115.0.0 1.115.0.1 1.115.1.0 1.115.1.1 1.115.2.0 1.115.2.1 1.116.0.0 1.116.0.1 1.116.1.0 1.116.1.1 1.116.2.0 1.117.0.0 1.117.0.1 1.117.1.0 1.118.2 1.118.5 1.12.0 1.13.2 1.14.1 1.15.1 1.16.11 1.17.0 1.18.6 1.19.0 1.19.1 1.2.3 1.20.7 1.21.0 1.22.4 1.23.0 1.24.5 1.25.1 1.26.2 1.27.7.2 1.28.0.1 1.29.2.0 1.3.9 1.30.0.1 1.31.0.1 1.32.0.2 1.33.2.1 1.36.1.5 1.37.0.0 1.39.2.1 1.4.6 1.40.0.1 1.40.1.0 1.40.1.1 1.41.0.0 1.41.0.1 1.41.2.2 1.41.2.3 1.43.0.0 1.43.0.1 1.43.0.2 1.44.0.0 1.44.0.1 1.45.0.0 1.45.0.1 1.46.0.0 1.46.0.1 1.47.0.0 1.47.0.1 1.47.1.0 1.48.0.0 1.48.0.1 1.48.0.2 1.48.1.0 1.48.1.1 1.5.0 1.50.0.0 1.50.0.1 1.51.0.0 1.51.0.1 1.52.0.0 1.52.0.1 1.53.0.0 1.53.0.1 1.54.0.0 1.54.0.1 1.55.0.0 1.55.0.1 1.56.0.0 1.56.0.1 1.57.0.0 1.57.0.2 1.57.0.3 1.57.0.4 1.57.0.5 1.57.1.0 1.57.1.1 1.57.1.2 1.58.0.0 1.58.0.1 1.59.0.0 1.59.0.1 1.6.0 1.60.0.0 1.60.0.1 1.63.0.0 1.63.0.1 1.64.0.0 1.64.0.1 1.64.1.0 1.64.1.2 1.67.0.0 1.67.0.1 1.68.0.0 1.68.0.1 1.69.0.0 1.69.0.1 1.69.1.1 1.69.1.2 1.7.1 1.70.0.0 1.70.0.1 1.71.0.0 1.71.0.1 1.72.0.0 1.72.1.0 1.72.1.1 1.73.0.0 1.73.0.1 1.74.0.0 1.74.0.1 1.75.0.0 1.75.1.0 1.75.1.1 1.76.0.0 1.76.0.1 1.76.1.0 1.76.1.1 1.76.2.0 1.76.2.1 1.77.0.0 1.77.0.1 1.78.0.0 1.78.0.1 1.79.0.0 1.79.0.1 1.79.0.2 1.79.0.3 1.79.1.0 1.79.1.1 1.8.2 1.80.1.0 1.80.1.1 1.80.1.2 1.81.0.1 1.81.0.2
vk-blocks / src / extensions / core / query / style.js
vk-blocks / src / extensions / core / query Last commit date
style.js 2 months ago
style.js
127 lines
1 /**
2 * WordPress dependencies
3 */
4 import { addFilter } from '@wordpress/hooks';
5 import { createHigherOrderComponent } from '@wordpress/compose';
6 import { InspectorControls } from '@wordpress/block-editor';
7 import { PanelBody, SelectControl } from '@wordpress/components';
8 import { __ } from '@wordpress/i18n';
9
10 /**
11 * Internal dependencies
12 */
13 import { VkPanelIcon } from '@vkblocks/components/vk-icon';
14
15 /**
16 * Query Block Extension - Add Modified Date Order Option
17 *
18 * This extension adds a "Modified Date" order option to the WordPress core Query block.
19 * It extends the core Query block's orderBy options without duplicating existing ones.
20 */
21
22 /**
23 * Add modified date order option to Query block
24 */
25 const withQueryOrderExtension = createHigherOrderComponent(
26 (BlockEdit) => (props) => {
27 const { name, attributes, setAttributes } = props;
28
29 // Only apply to core/query block
30 if (name !== 'core/query') {
31 return <BlockEdit {...props} />;
32 }
33
34 const { query } = attributes;
35 const { orderBy = 'date', order = 'desc' } = query || {};
36
37 // セレクトボックスの値を取得
38 const getSelectValue = () => {
39 if (orderBy === 'modified') {
40 return order === 'desc' ? 'modified_desc' : 'modified_asc';
41 }
42 return '';
43 };
44
45 return (
46 <>
47 <BlockEdit {...props} />
48 <InspectorControls>
49 <PanelBody
50 title={__('VK Query Extension', 'vk-blocks')}
51 icon={<VkPanelIcon isActive={orderBy === 'modified'} />}
52 initialOpen={false}
53 >
54 <SelectControl
55 label={__('Order by', 'vk-blocks')}
56 help={__(
57 'This setting will override the standard order setting.',
58 'vk-blocks'
59 )}
60 value={getSelectValue()}
61 onChange={(value) => {
62 if (value === 'modified_desc') {
63 setAttributes({
64 query: {
65 ...query,
66 orderBy: 'modified',
67 order: 'desc',
68 },
69 });
70 } else if (value === 'modified_asc') {
71 setAttributes({
72 query: {
73 ...query,
74 orderBy: 'modified',
75 order: 'asc',
76 },
77 });
78 } else if (orderBy === 'modified') {
79 // Reset to default if modified was selected and user wants to use core options
80 setAttributes({
81 query: {
82 ...query,
83 orderBy: 'date',
84 order: 'desc',
85 },
86 });
87 }
88 }}
89 options={[
90 {
91 value: '',
92 label: __(
93 'Use standard options',
94 'vk-blocks'
95 ),
96 },
97 {
98 value: 'modified_desc',
99 label: __(
100 'Modified (Newest to oldest)',
101 'vk-blocks'
102 ),
103 },
104 {
105 value: 'modified_asc',
106 label: __(
107 'Modified (Oldest to newest)',
108 'vk-blocks'
109 ),
110 },
111 ]}
112 />
113 </PanelBody>
114 </InspectorControls>
115 </>
116 );
117 },
118 'withQueryOrderExtension'
119 );
120
121 // Apply the extension to the Query block
122 addFilter(
123 'editor.BlockEdit',
124 'vk-blocks/query-order-extension',
125 withQueryOrderExtension
126 );
127