itmar-block-packages 1.3.7 → 1.3.9
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/README.md +71 -2
- package/build/index.asset.php +1 -1
- package/build/index.js +3 -3
- package/package.json +1 -1
- package/src/BlockPlace.js +44 -9
- package/src/DateElm.js +354 -0
- package/src/IconSelectControl.js +64 -57
- package/src/blockStore.js +10 -0
- package/src/cssPropertes.js +10 -2
- package/src/customFooks.js +160 -0
- package/src/index.js +18 -0
- package/src/wordpressApi.js +73 -20
package/README.md
CHANGED
|
@@ -14,6 +14,13 @@ import {関数名又はコンポーネント名} from "itmar-block-packages"
|
|
|
14
14
|
npm i @wordpress/scripts@^27.6.0 --save-dev
|
|
15
15
|
|
|
16
16
|
## 更新履歴
|
|
17
|
+
= 1.3.9 =
|
|
18
|
+
- カスタムフックとしてuseDuplicateBlockRemoveを追加。このフックはインナーブロックが挿入されたとき、指定されたブロック名が存在れば、挿入されたブロックを削除する。
|
|
19
|
+
|
|
20
|
+
= 1.3.8 =
|
|
21
|
+
- WordPressのデータをRest APIを通して取得する関数等のFieldChoiceControlの機能として、choiceFieldsに登録されるフィールド名がmetaによるカスタムフィールドかacfによるカスタムフィールドかを峻別できるようにフィールド名にmeta_又はacf_という接頭辞を付加するようにした。
|
|
22
|
+
- カスタムフックとしてuseBlockAttributeChangesを追加。このフックはitmar/design-group内のブロックで、指定のブロック名とクラス名のブロックの属性に変化があったとき、その変化の内容を通知する機能をもつ。同一のブロック名とクラス名をもつブロックに対して、変化した属性を自動的に設定する機能もある。
|
|
23
|
+
|
|
17
24
|
= 1.3.4 =
|
|
18
25
|
- BlockPlaceコンポーネントの高さにフリーサイズを追加し、デスクトップとモバイルでそれぞれ設定を可能うにした。それに伴ってcssPropertesのheight_prmのシグニチャーを変更。
|
|
19
26
|
|
|
@@ -75,12 +82,61 @@ const is_mobile=useIsMobile();
|
|
|
75
82
|
useDeepCompareEffect(() => {
|
|
76
83
|
・・・
|
|
77
84
|
},
|
|
78
|
-
[attributes]
|
|
85
|
+
[attributes])
|
|
79
86
|
|
|
80
87
|
```
|
|
81
88
|
### useFontawesomeIframe
|
|
82
89
|
iframeにfontawesomeを読み込むカスタムフック
|
|
83
90
|
|
|
91
|
+
### useBlockAttributeChanges
|
|
92
|
+
特定のブロックの属性が変更されたとき、その変更内容を返すカスタムフック。引数に指定されたブロック名のブロックで指定されたクラス名をもつブロックの属性の変更内容を返す。第3引数のフラグにtrueを指定すると同じブロック名で同じクラス名をもつブロックの属性を変更されたブロックの属性で自動的に更新する。ただし、変更内容については、指定された属性名の属性を変更及び比較の対象からはずすことができる。
|
|
93
|
+
|
|
94
|
+
#### 引数
|
|
95
|
+
- `clientId` string
|
|
96
|
+
変更されたことを監視する範囲となるitmar/design-groupブロックのclientId
|
|
97
|
+
- `blockName` string
|
|
98
|
+
変更の監視対象となるブロック名
|
|
99
|
+
- `className` string
|
|
100
|
+
変更の監視対象となるブロックが有するクラス名
|
|
101
|
+
- `modFlg` boolean
|
|
102
|
+
同種ブロックを更新するかどうかのフラグ。デフォルトはfalse
|
|
103
|
+
- `excludeAttributes` object
|
|
104
|
+
自動更新の対象から除外する属性をオブジェクトで指定する。オブジェクトは属性名をキーとし、値を適宜のデフォルト値とする。ここで指定された属性は更新チェックの対象からも除外される。使わないときは指定しない。
|
|
105
|
+
```
|
|
106
|
+
//clientIdで指定されたブロックの属性変更の内容を返す
|
|
107
|
+
const changedAttributes = useBlockAttributeChanges(
|
|
108
|
+
clientId,
|
|
109
|
+
"itmar/design-checkbox",
|
|
110
|
+
"itmar_filter_checkbox",
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
//clientIdで指定されたブロックの属性変更の内容でitmar/design-checkboxという名前のブロックで
|
|
114
|
+
//itmar_filter_checkboxというクラス名をもつブロックの属性を自動更新する。
|
|
115
|
+
//ただし、labelContentという属性とinputValueという属性については更新対象から除外する
|
|
116
|
+
useBlockAttributeChanges(
|
|
117
|
+
clientId,
|
|
118
|
+
"itmar/design-checkbox",
|
|
119
|
+
"itmar_filter_checkbox",
|
|
120
|
+
true,
|
|
121
|
+
{ labelContent: "", inputValue: false },
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### useDuplicateBlockRemove
|
|
127
|
+
インナーブロックが挿入されたとき、指定されたブロック名が存在れば、挿入したブロックを削除する。ユーザーに重複したブロックを挿入させたくないときや特定のブロックが存在するとき、ブロックを挿入させないようにするときに活用する。
|
|
128
|
+
|
|
129
|
+
#### 引数
|
|
130
|
+
- `clientId` string
|
|
131
|
+
インナーブロックの監視する対象となるブロックのclientId
|
|
132
|
+
- `blockNames` array
|
|
133
|
+
存在をチェックするブロック名。文字列を配列で指定する。
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
useDuplicateBlockRemove(clientId, ["itmar/pickup-posts"]);
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
|
|
84
140
|
## styled-componet用のcssプロパティ生成関数
|
|
85
141
|
styled-componetのcssヘルパー関数内で使用するcssのパラメーターやプロパティを返します。
|
|
86
142
|
### radius_prm
|
|
@@ -141,13 +197,20 @@ px値
|
|
|
141
197
|
|
|
142
198
|
### align_prm
|
|
143
199
|
marginによる横方向の配置のためのCSSを返します。
|
|
200
|
+
また、camelFlgを設定することで、インナースタイル用のオブジェクトを返します。
|
|
144
201
|
#### 引数
|
|
145
|
-
- `align` string
|
|
202
|
+
- `align` string
|
|
203
|
+
- `camelFLg` boolean
|
|
146
204
|
center,rightの文字列
|
|
147
205
|
#### 戻り値
|
|
206
|
+
camelFLgがfalse又は設定されていないとき
|
|
148
207
|
- centerのとき`margin-left: auto; margin-right: auto;`
|
|
149
208
|
- rightのとき`margin-left: auto; margin-right: 0`
|
|
150
209
|
- その他の文字列`margin-right: auto; margin-left: 0`
|
|
210
|
+
camelFLgがtrueのとき
|
|
211
|
+
- centerのとき` { marginLeft: "auto", marginRight: "auto" }`
|
|
212
|
+
- rightのとき` { marginLeft: "auto" }`
|
|
213
|
+
- その他の文字列`{}`
|
|
151
214
|
|
|
152
215
|
|
|
153
216
|
### convertToScss
|
|
@@ -491,13 +554,19 @@ WordPressのブロックエディタのサイドバーにFont awesomのアイコ
|
|
|
491
554
|
icon_size: "24px",
|
|
492
555
|
icon_color: "var(--wp--preset--color--content)",
|
|
493
556
|
icon_space: "5px",
|
|
557
|
+
icon_family: "Font Awesome 6 Free",
|
|
558
|
+
|
|
494
559
|
}
|
|
560
|
+
setPosition={true}
|
|
495
561
|
onChange={(newValue) => {
|
|
496
562
|
setAttributes({icon_style: newValue})
|
|
497
563
|
}}
|
|
498
564
|
/>
|
|
499
565
|
```
|
|
500
566
|
|
|
567
|
+
iconStyleオブジェクトを再設定します。
|
|
568
|
+
setPositionプロプスをtrueにするとicon_posとicon_spaceの各オブジェクトを設定するコントロールが表示されます。
|
|
569
|
+
|
|
501
570
|
<img src="./img/iconControl.png" alt="IconSelectControlのスクリーンショット" width="100" height="200">
|
|
502
571
|
|
|
503
572
|
## DOM要素をラップしてレンダリングを変化させるReactコンポーネント
|
package/build/index.asset.php
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '
|
|
1
|
+
<?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '6e3f73ce618d3c7c0f86');
|