PluginProbe ʕ •ᴥ•ʔ
VK Blocks / 1.26.2
VK Blocks v1.26.2
1.126.4 1.126.3 1.126.1 1.126.2 1.126.0 1.125.0 1.124.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 / blocks / staff / save.js
vk-blocks / src / blocks / staff Last commit date
deprecated 4 years ago block.json 4 years ago edit.js 4 years ago icon.svg 5 years ago index.js 4 years ago index.php 4 years ago save.js 4 years ago style.scss 4 years ago
save.js
168 lines
1 /**
2 * External dependencies
3 */
4 import classnames from 'classnames';
5 /**
6 * WordPress dependencies
7 */
8 import { useBlockProps, RichText } from '@wordpress/block-editor';
9 import { isHexColor } from '@vkblocks/utils/is-hex-color';
10
11 // import StaffMediaUpload from './staffMediaUpload';
12
13 export default function save({ attributes, className }) {
14 const {
15 vk_staff_layout, // eslint-disable-line camelcase
16 vk_staff_text_name, // eslint-disable-line camelcase
17 vk_staff_text_caption, // eslint-disable-line camelcase
18 vk_staff_text_role, // eslint-disable-line camelcase
19 vk_staff_text_profileTitle, // eslint-disable-line camelcase
20 vk_staff_text_profileText, // eslint-disable-line camelcase
21 vk_staff_nameColor, // eslint-disable-line camelcase
22 vk_staff_captionColor, // eslint-disable-line camelcase
23 vk_staff_positionColor, // eslint-disable-line camelcase
24 vk_staff_profileTitleColor, // eslint-disable-line camelcase
25 vk_staff_profileTextColor, // eslint-disable-line camelcase
26 vk_staff_photo_image, // eslint-disable-line camelcase
27 vk_staff_photo_image_alt, // eslint-disable-line camelcase
28 vk_staff_photoBorder, // eslint-disable-line camelcase
29 vk_staff_fontFamily,
30 } = attributes;
31
32 const classes = classnames('vk_staff', {
33 [className]: !!className,
34 [`vk_staff-layout-${vk_staff_layout}`]: !!vk_staff_layout, // eslint-disable-line camelcase
35 });
36
37 // 画像の線のクラスとimgタグの親タグのクラス名を生成.
38 const imgBorderClassName = classnames('vk_staff_photo', {
39 [`vk_staff_photo-border-${vk_staff_photoBorder}`]:
40 !!vk_staff_photoBorder, // eslint-disable-line camelcase
41 });
42
43 let staffTextClassName = classnames;
44 if (vk_staff_fontFamily === '1') {
45 staffTextClassName = classnames(
46 'vk_staff_text',
47 staffTextClassName,
48 'vk_staff-headingFont-serif'
49 );
50 } else {
51 staffTextClassName = classnames('vk_staff_text', staffTextClassName);
52 }
53
54 let staffNameColorInlineStyle = {};
55 let staffTextNameClassName = '';
56 if (vk_staff_nameColor !== undefined) {
57 staffTextNameClassName += ` has-text-color`;
58 if (isHexColor(vk_staff_nameColor)) {
59 staffNameColorInlineStyle = { color: `${vk_staff_nameColor}` };
60 } else {
61 staffTextNameClassName += ` has-${vk_staff_nameColor}-color`;
62 }
63 }
64
65 let staffCaptionColorInlineStyle = {};
66 let staffCaptionClassName = '';
67 if (vk_staff_captionColor !== undefined) {
68 staffCaptionClassName += ` has-text-color`;
69 if (isHexColor(vk_staff_captionColor)) {
70 staffCaptionColorInlineStyle = {
71 color: `${vk_staff_captionColor}`,
72 };
73 } else {
74 staffCaptionClassName += ` has-${vk_staff_captionColor}-color`;
75 }
76 }
77
78 let staffPositionColorInlineStyle = {};
79 let staffPositionClassName = '';
80 if (vk_staff_positionColor !== undefined) {
81 staffPositionClassName += ` has-text-color`;
82 if (isHexColor(vk_staff_positionColor)) {
83 staffPositionColorInlineStyle = {
84 color: `${vk_staff_positionColor}`,
85 };
86 } else {
87 staffPositionClassName += ` has-${vk_staff_positionColor}-color`;
88 }
89 }
90
91 let staffProfileTitleColorInlineStyle = {};
92 let staffProfileTitleClassName = '';
93 if (vk_staff_profileTitleColor !== undefined) {
94 staffProfileTitleClassName += ` has-text-color`;
95 if (isHexColor(vk_staff_profileTitleColor)) {
96 staffProfileTitleColorInlineStyle = {
97 color: `${vk_staff_profileTitleColor}`,
98 };
99 } else {
100 staffProfileTitleClassName += ` has-${vk_staff_profileTitleColor}-color`;
101 }
102 }
103
104 let staffProfileTextColorInlineStyle = {};
105 let staffProfileTextClassName = '';
106 if (vk_staff_profileTextColor !== undefined) {
107 staffProfileTextClassName += ` has-text-color`;
108 if (isHexColor(vk_staff_profileTextColor)) {
109 staffProfileTextColorInlineStyle = {
110 color: `${vk_staff_profileTextColor}`,
111 };
112 } else {
113 staffProfileTextClassName += ` has-${vk_staff_profileTextColor}-color`;
114 }
115 }
116
117 return (
118 <div {...useBlockProps.save({ className: classes })}>
119 <div className={staffTextClassName}>
120 <RichText.Content
121 tagName="h3"
122 className={`vk_staff_text_name` + staffTextNameClassName}
123 style={staffNameColorInlineStyle}
124 value={vk_staff_text_name} // eslint-disable-line camelcase
125 />
126 <RichText.Content
127 tagName="p"
128 className={`vk_staff_text_caption` + staffCaptionClassName}
129 style={staffCaptionColorInlineStyle}
130 value={vk_staff_text_caption} // eslint-disable-line camelcase
131 />
132 <RichText.Content
133 tagName="p"
134 className={`vk_staff_text_role` + staffPositionClassName}
135 style={staffPositionColorInlineStyle}
136 value={vk_staff_text_role} // eslint-disable-line camelcase
137 />
138 <RichText.Content
139 tagName="h4"
140 className={
141 `vk_staff_text_profileTitle` +
142 staffProfileTitleClassName
143 }
144 style={staffProfileTitleColorInlineStyle}
145 value={vk_staff_text_profileTitle} // eslint-disable-line camelcase
146 />
147 <RichText.Content
148 tagName="p"
149 className={
150 'vk_staff_text_profileText' + staffProfileTextClassName
151 }
152 style={staffProfileTextColorInlineStyle}
153 value={vk_staff_text_profileText} // eslint-disable-line camelcase
154 />
155 </div>
156 {vk_staff_photo_image && ( // eslint-disable-line camelcase
157 <div className={imgBorderClassName}>
158 <img
159 className={`vk_staff_photo_image`}
160 src={vk_staff_photo_image} // eslint-disable-line camelcase
161 alt={vk_staff_photo_image_alt} // eslint-disable-line camelcase
162 />
163 </div>
164 )}
165 </div>
166 );
167 }
168