PluginProbe ʕ •ᴥ•ʔ
VK Blocks / 1.123.0
VK Blocks v1.123.0
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 / admin / custom-block-style / add-button / index.js
vk-blocks / src / admin / custom-block-style / add-button Last commit date
index.js 2 months ago set-block-name.js 2 months ago set-property-name.js 2 months ago
index.js
152 lines
1 /**
2 * WordPress dependencies
3 */
4 import { __ } from '@wordpress/i18n';
5 import { useContext, useState } from '@wordpress/element';
6 import {
7 Button,
8 Modal,
9 TextControl,
10 Flex,
11 FlexItem,
12 } from '@wordpress/components';
13 import { plusCircle } from '@wordpress/icons';
14
15 /**
16 * Internal dependencies
17 */
18 import { SetBlockName } from './set-block-name';
19 import { SetPropertyName } from './set-property-name';
20 import { AdminContext } from '@vkblocks/admin/index';
21
22 // ブロックスタイル設定 初期値
23 const CUSTOM_BLOCK_STYLE_DEFAULT_OBJ = {
24 block_name: '',
25 property_name: '',
26 property_label: '',
27 property_inline_style: '',
28 property_transform_inline_style: '',
29 };
30
31 export const AddButton = ({
32 showBlockTypes,
33 categories,
34 search,
35 setSearch,
36 openNameLists,
37 setOpenNameLists,
38 }) => {
39 const { vkBlocksOption, setVkBlocksOption } = useContext(AdminContext);
40 const [isModalOpen, setIsModalOpen] = useState(false);
41 const [blockName, setBlockName] = useState('');
42 const [propertyName, setPropertyName] = useState('');
43 const [propertyLabel, setPropertyLabel] = useState('');
44 const [isDisableAdd, setIsDisableAdd] = useState(false);
45 const [errorMessage, setErrorMessage] = useState('');
46
47 const openModal = () => setIsModalOpen(true);
48 // モーダルをクローズしたらstateを初期値に戻す
49 const closeModal = () => {
50 setIsModalOpen(false);
51 setBlockName('');
52 setPropertyName('');
53 setPropertyLabel('');
54 setIsDisableAdd(false);
55 setErrorMessage('');
56 setSearch('');
57 };
58
59 const addItem = () => {
60 vkBlocksOption.custom_block_style_lists.push({
61 ...CUSTOM_BLOCK_STYLE_DEFAULT_OBJ,
62 ...{
63 block_name: blockName,
64 property_name: propertyName,
65 property_label: propertyLabel,
66 },
67 });
68 setVkBlocksOption({ ...vkBlocksOption });
69 const openNames = [...openNameLists];
70 openNames.push(propertyName);
71 setOpenNameLists(openNames);
72 };
73
74 return (
75 <div className="custom_block_style_item_add">
76 <Button
77 className="add-item-button"
78 icon={plusCircle}
79 iconSize={18}
80 variant="secondary"
81 onClick={openModal}
82 >
83 {__('Add Custom Block Style', 'vk-blocks')}
84 </Button>
85 {isModalOpen && (
86 <Modal
87 title={__('Add Custom Block Style', 'vk-blocks')}
88 onRequestClose={closeModal}
89 isDismissible={false}
90 className="custom_block_style_add_modal"
91 isFullScreen={true}
92 >
93 <div className="custom_block_style_add_modal">
94 <SetBlockName
95 blockName={blockName}
96 setBlockName={setBlockName}
97 showBlockTypes={showBlockTypes}
98 categories={categories}
99 search={search}
100 setSearch={setSearch}
101 />
102 <SetPropertyName
103 blockName={blockName}
104 propertyName={propertyName}
105 setPropertyName={setPropertyName}
106 isDisableAdd={isDisableAdd}
107 setIsDisableAdd={setIsDisableAdd}
108 errorMessage={errorMessage}
109 setErrorMessage={setErrorMessage}
110 />
111 <TextControl
112 className="custom_block_style_item_title"
113 label={__(
114 'Block Style Label (Changeable)',
115 'vk-blocks'
116 )}
117 onChange={(value) => {
118 setPropertyLabel(value);
119 }}
120 value={propertyLabel}
121 />
122 <div className="custom_block_style_add_modal_button_area">
123 <Flex justify="flex-end">
124 <FlexItem>
125 <Button
126 variant="secondary"
127 onClick={closeModal}
128 >
129 {__('Cancel')}
130 </Button>
131 </FlexItem>
132 <FlexItem>
133 <Button
134 onClick={() => {
135 addItem();
136 closeModal();
137 }}
138 variant="primary"
139 disabled={!isDisableAdd}
140 >
141 {__('Add', 'vk-blocks')}
142 </Button>
143 </FlexItem>
144 </Flex>
145 </div>
146 </div>
147 </Modal>
148 )}
149 </div>
150 );
151 };
152