itmar-block-packages 2.0.3 → 2.1.1
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 +120 -0
- package/build/cjs/BrockInserter.js +6 -6
- package/build/cjs/BrockInserter.js.map +1 -1
- package/build/cjs/DateElm.js.map +1 -1
- package/build/cjs/JapaneseHolidays.js +4 -1
- package/build/cjs/JapaneseHolidays.js.map +1 -1
- package/build/cjs/index.js +6 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/pickupStore.js +77 -0
- package/build/cjs/pickupStore.js.map +1 -0
- package/build/esm/BrockInserter.js +6 -6
- package/build/esm/BrockInserter.js.map +1 -1
- package/build/esm/DateElm.js.map +1 -1
- package/build/esm/JapaneseHolidays.js +3 -0
- package/build/esm/JapaneseHolidays.js.map +1 -1
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/pickupStore.js +71 -0
- package/build/esm/pickupStore.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,6 +14,12 @@ import {関数名又はコンポーネント名} from "itmar-block-packages"
|
|
|
14
14
|
npm i @wordpress/scripts@^27.6.0 --save-dev
|
|
15
15
|
|
|
16
16
|
## 更新履歴
|
|
17
|
+
= 2.1.1 =
|
|
18
|
+
- フロントエンドデータ共有ライブラリとしてpickupStoreを追加
|
|
19
|
+
|
|
20
|
+
= 2.0.4 =
|
|
21
|
+
- JapaneseHolidaysのgetPeriodQueryのインポート漏れを修正
|
|
22
|
+
|
|
17
23
|
= 2.0.3 =
|
|
18
24
|
- IconSelectControlのcreateElementのインポート漏れを修正
|
|
19
25
|
|
|
@@ -1444,5 +1450,119 @@ const display = displayFormated(
|
|
|
1444
1450
|
- decimal が 1 以上のときは minimumFractionDigits / maximumFractionDigits が指定され、常に小数点以下を表示
|
|
1445
1451
|
- decimal = 0 の場合は整数として表示
|
|
1446
1452
|
|
|
1453
|
+
## pickupStore
|
|
1454
|
+
|
|
1455
|
+
複数の WordPress ブロック(複数の `view.js` / `viewScript`)から **共通の状態(state)** を扱うための、軽量なグローバルストアです。
|
|
1456
|
+
`window.__itmar_pickup_store__` 上に `contexts: Map` を1つだけ持ち、`pickup_id`(任意の id)ごとに `ctx`(コンテキスト)を共有します。
|
|
1457
|
+
|
|
1458
|
+
---
|
|
1459
|
+
|
|
1460
|
+
### 特長
|
|
1461
|
+
|
|
1462
|
+
- **id ごとに状態を共有**(`contexts: Map`)
|
|
1463
|
+
- **購読(subscribe)で state 変更通知**(初回は即時通知)
|
|
1464
|
+
- **部分更新(shallow merge)**で state を更新し購読者へ通知
|
|
1465
|
+
- `ctx.inflight.abort` など、通信中管理の置き場も用意
|
|
1466
|
+
|
|
1467
|
+
---
|
|
1468
|
+
|
|
1469
|
+
### インストール
|
|
1470
|
+
|
|
1471
|
+
```bash
|
|
1472
|
+
npm i <your-package-name>
|
|
1473
|
+
```
|
|
1474
|
+
|
|
1475
|
+
---
|
|
1476
|
+
|
|
1477
|
+
### 基本コンセプト
|
|
1478
|
+
|
|
1479
|
+
#### グローバルストアと contexts
|
|
1480
|
+
|
|
1481
|
+
`pickupStore` は `window.__itmar_pickup_store__` に `{ contexts: new Map() }` を保持します。
|
|
1482
|
+
この `contexts` により、**別ファイル・別ブロックでも同じ Map を共有**できます。
|
|
1483
|
+
|
|
1484
|
+
#### ctx(コンテキスト)
|
|
1485
|
+
|
|
1486
|
+
`ctx` は id ごとに作られる共有オブジェクトです。`state`・`dataset`・`listeners`・`cache`・`inflight` などを持ちます。
|
|
1487
|
+
|
|
1488
|
+
---
|
|
1489
|
+
|
|
1490
|
+
### API
|
|
1491
|
+
|
|
1492
|
+
#### `ensureCtx(id)`
|
|
1493
|
+
|
|
1494
|
+
**概要**: id の ctx を取得します。存在しなければ作成して返します。id が falsy の場合は `null`。
|
|
1495
|
+
|
|
1496
|
+
- 引数: `id: string`
|
|
1497
|
+
- 戻り値: `ctx | null`
|
|
1498
|
+
|
|
1499
|
+
---
|
|
1500
|
+
|
|
1501
|
+
#### `registerPickup(pickupEl)`
|
|
1502
|
+
|
|
1503
|
+
**概要**: DOM要素の `data-pickup_id` から id を取り、その id の ctx を確保した上で `ctx.pickupEl` と `ctx.dataset` を更新します。id が無ければ `null`。
|
|
1504
|
+
|
|
1505
|
+
- 引数: `pickupEl: Element`
|
|
1506
|
+
- 戻り値: `ctx | null`
|
|
1447
1507
|
|
|
1508
|
+
---
|
|
1509
|
+
|
|
1510
|
+
#### `getCtx(id)`
|
|
1511
|
+
|
|
1512
|
+
**概要**: 既存の ctx を取得します(作成はしない)。無ければ `null`。
|
|
1513
|
+
|
|
1514
|
+
- 引数: `id: string`
|
|
1515
|
+
- 戻り値: `ctx | null`
|
|
1516
|
+
|
|
1517
|
+
---
|
|
1518
|
+
|
|
1519
|
+
#### `subscribe(id, fn)`
|
|
1520
|
+
|
|
1521
|
+
**概要**: ctx を購読します。登録直後に `fn(ctx)` が **1回即時実行**されます(初回通知)。解除関数を返します。
|
|
1522
|
+
|
|
1523
|
+
- 引数:
|
|
1524
|
+
- `id: string`
|
|
1525
|
+
- `fn: (ctx) => void`
|
|
1526
|
+
- 戻り値: `() => void`(購読解除関数)
|
|
1527
|
+
|
|
1528
|
+
---
|
|
1529
|
+
|
|
1530
|
+
#### `setState(id, partial)`
|
|
1531
|
+
|
|
1532
|
+
**概要**: `ctx.state` を `partial` で **浅くマージ**して更新し、購読者を全員呼びます。
|
|
1533
|
+
|
|
1534
|
+
- 引数:
|
|
1535
|
+
- `id: string`
|
|
1536
|
+
- `partial: object`
|
|
1537
|
+
- 戻り値: `void`
|
|
1538
|
+
|
|
1539
|
+
---
|
|
1540
|
+
|
|
1541
|
+
### 使用例(registerPickup → subscribe → setState)
|
|
1542
|
+
|
|
1543
|
+
```js
|
|
1544
|
+
import { registerPickup, subscribe, setState } from "./pickupStore";
|
|
1545
|
+
|
|
1546
|
+
const pickups = document.querySelectorAll(".wp-block-itmar-pickup-posts");
|
|
1547
|
+
|
|
1548
|
+
pickups.forEach((el) => {
|
|
1549
|
+
const ctx = registerPickup(el); // data-pickup_id が必要
|
|
1550
|
+
if (!ctx) return;
|
|
1551
|
+
|
|
1552
|
+
// 初期状態を投入
|
|
1553
|
+
setState(ctx.id, { page: 0, total: 0 });
|
|
1554
|
+
|
|
1555
|
+
// 購読(初回は即時に1回呼ばれる)
|
|
1556
|
+
const unsubscribe = subscribe(ctx.id, (ctxNow) => {
|
|
1557
|
+
console.log("state:", ctxNow.state);
|
|
1558
|
+
});
|
|
1559
|
+
|
|
1560
|
+
// 必要なら解除
|
|
1561
|
+
// unsubscribe();
|
|
1562
|
+
});
|
|
1563
|
+
```
|
|
1564
|
+
|
|
1565
|
+
> `registerPickup()` は `ctx.dataset = { ...pickupEl.dataset }` のように dataset をスナップショット保存します。
|
|
1566
|
+
|
|
1567
|
+
---
|
|
1448
1568
|
|
|
@@ -7,8 +7,8 @@ var element = require('@wordpress/element');
|
|
|
7
7
|
var data = require('@wordpress/data');
|
|
8
8
|
|
|
9
9
|
//フィールド生成用関数
|
|
10
|
-
var createBlockAttr = selectedField => {
|
|
11
|
-
var _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
|
|
10
|
+
var createBlockAttr = (selectedField, pluginOption) => {
|
|
11
|
+
var _window$pluginOption, _window$pluginOption2, _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
|
|
12
12
|
var blockAttributes = {};
|
|
13
13
|
switch (selectedField.block) {
|
|
14
14
|
case "itmar/design-title":
|
|
@@ -27,7 +27,7 @@ var createBlockAttr = selectedField => {
|
|
|
27
27
|
case "core/image":
|
|
28
28
|
blockAttributes = {
|
|
29
29
|
className: "itmar_ex_block sp_field_".concat(selectedField.key),
|
|
30
|
-
url: "".concat(
|
|
30
|
+
url: "".concat((_window$pluginOption = window[pluginOption]) === null || _window$pluginOption === void 0 ? void 0 : _window$pluginOption.plugin_url, "/assets/image/main_sample.png")
|
|
31
31
|
};
|
|
32
32
|
break;
|
|
33
33
|
case "itmar/slide-mv":
|
|
@@ -53,7 +53,7 @@ var createBlockAttr = selectedField => {
|
|
|
53
53
|
};
|
|
54
54
|
var imageBlock = blocks.createBlock("core/image", _rollupPluginBabelHelpers.objectSpread2({
|
|
55
55
|
className: "itmar_ex_block",
|
|
56
|
-
url: "".concat(
|
|
56
|
+
url: "".concat((_window$pluginOption2 = window[pluginOption]) === null || _window$pluginOption2 === void 0 ? void 0 : _window$pluginOption2.plugin_url, "/assets/image/slide_sample.png")
|
|
57
57
|
}, spaceAttributes));
|
|
58
58
|
//Design Blockの初期設定を取得
|
|
59
59
|
var blockType = blocks.getBlockType("itmar/design-group");
|
|
@@ -91,7 +91,7 @@ var createBlockAttr = selectedField => {
|
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
//表示フィールド変更によるインナーブロックの再構成
|
|
94
|
-
var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId) => {
|
|
94
|
+
var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId, pluginOption) => {
|
|
95
95
|
// dispatch関数を取得
|
|
96
96
|
var {
|
|
97
97
|
replaceInnerBlocks
|
|
@@ -142,7 +142,7 @@ var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dis
|
|
|
142
142
|
// newSelectedFieldsのうち未挿入のものだけ追加
|
|
143
143
|
var autoGeneratedBlocks = newSelectedFields.filter(field => !existingKeys.includes(field.key)).map(field => {
|
|
144
144
|
var _attr$attributes;
|
|
145
|
-
var attr = createBlockAttr(field);
|
|
145
|
+
var attr = createBlockAttr(field, pluginOption);
|
|
146
146
|
var blockName = field.block;
|
|
147
147
|
var blockAttributes = (_attr$attributes = attr === null || attr === void 0 ? void 0 : attr.attributes) !== null && _attr$attributes !== void 0 ? _attr$attributes : attr;
|
|
148
148
|
var innerBlocks = Array.isArray(attr === null || attr === void 0 ? void 0 : attr.slideBlocks) ? attr.slideBlocks : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrockInserter.js","sources":["../../src/BrockInserter.js"],"sourcesContent":["import {\n serializeBlockTree,\n createBlockTree,\n flattenBlocks,\n} from \"./blockStore\";\nimport { createBlock, getBlockType } from \"@wordpress/blocks\";\nimport { useEffect } from \"@wordpress/element\";\nimport { useSelect, useDispatch } from \"@wordpress/data\";\n\n//フィールド生成用関数\nconst createBlockAttr = (selectedField) => {\n let blockAttributes = {};\n switch (selectedField.block) {\n case \"itmar/design-title\":\n const block_class = selectedField.key.startsWith(\"tax_\")\n ? selectedField.key\n : `sp_field_${selectedField.key}`;\n blockAttributes = {\n className: block_class,\n headingContent: `[${selectedField.label}]`,\n };\n\n break;\n case \"core/paragraph\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n content: `[${selectedField.label}]`,\n };\n break;\n case \"core/image\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n url: `${itmar_option.plugin_url}/assets/image/main_sample.png`,\n };\n break;\n case \"itmar/slide-mv\":\n const spaceAttributes = {\n margin_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n padding_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n };\n\n const imageBlock = createBlock(\"core/image\", {\n className: \"itmar_ex_block\",\n url: `${itmar_option.plugin_url}/assets/image/slide_sample.png`,\n ...spaceAttributes,\n });\n //Design Blockの初期設定を取得\n const blockType = getBlockType(\"itmar/design-group\");\n const defaultValBase = blockType?.attributes?.default_val?.default ?? {};\n const mobileValBase = blockType?.attributes?.mobile_val?.default ?? {};\n const slideBlock = createBlock(\n \"itmar/design-group\",\n {\n default_val: {\n ...defaultValBase,\n width_val: \"fit\",\n },\n mobile_val: {\n ...mobileValBase,\n width_val: \"fit\",\n },\n },\n [imageBlock],\n );\n //slideBlock をシリアライズ\n const serializedSlide = serializeBlockTree(slideBlock);\n // 同じスライドブロックを5つ複製(独立したブロックとして)\n const slideBlocks = Array.from({ length: 5 }, () =>\n createBlockTree(serializedSlide),\n );\n //子ブロック付きで返す\n blockAttributes = {\n attributes: { className: `sp_field_${selectedField.key}` },\n slideBlocks: slideBlocks,\n };\n break;\n default:\n blockAttributes = {\n className: `sp_field_${selectedField.key}`,\n headingContent: `[${selectedField.label}]`,\n };\n }\n return blockAttributes;\n};\n\n//表示フィールド変更によるインナーブロックの再構成\nexport const useRebuildChangeField = (\n dispAttributeArray,\n selectedFields,\n pickupType,\n dispTaxonomies,\n sectionCount,\n domType,\n clientId,\n insertId,\n) => {\n // dispatch関数を取得\n const { replaceInnerBlocks } = useDispatch(\"core/block-editor\");\n const pickupBlock = useSelect(\n (select) => select(\"core/block-editor\").getBlock(clientId),\n [clientId],\n );\n\n useEffect(() => {\n //dispAttributeArray の個数調整\n const blocksLength = dispAttributeArray.length;\n if (blocksLength < sectionCount) {\n // dispAttributeArrayの長さが短い場合、{}を追加する\n const diff = sectionCount - blocksLength;\n for (let i = 0; i < diff; i++) {\n dispAttributeArray.push({});\n }\n } else {\n // dispAttributeArrayの長さが長い場合、余分な要素を削除する\n dispAttributeArray.splice(sectionCount);\n }\n\n // インナーブロックに差し込むブロック配列を生成\n const blocksArray = dispAttributeArray.map((dispAttribute, unit_index) => {\n // blocksAttributesArray属性で登録されたブロックのclassName一覧(sp_field_xxx を拾う)\n const allBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? flattenBlocks(dispAttribute.innerBlocks) //階層になったブロックを平坦化\n : [];\n\n const existingKeys = allBlocks\n .map((block) => block.attributes?.className)\n .filter(Boolean)\n .map((cls) => {\n // sp_field_◯◯ か tax_◯◯ のどちらかにマッチ\n const match = cls.match(/sp_field_([\\w-]+)|(tax_[\\w-]+)/);\n if (!match) return null;\n\n // match[1] があれば sp_field_ のほう → プレフィックス除去\n // match[2] があれば tax_ のほう → そのまま返す\n return match[1] ?? match[2];\n })\n .filter(Boolean);\n\n // dispTaxonomies からオブジェクトを作って selectedFieldsに加えてnewSelectedFieldsを生成\n const newSelectedFields = [\n ...selectedFields,\n ...dispTaxonomies.map((tax) => ({\n key: `tax_${tax}`, // 例: \"tax_category\"\n label: tax, // 例: \"category\"\n block: \"itmar/design-title\",\n })),\n ];\n\n // newSelectedFieldsのうち未挿入のものだけ追加\n const autoGeneratedBlocks = newSelectedFields\n .filter((field) => !existingKeys.includes(field.key))\n .map((field) => {\n const attr = createBlockAttr(field);\n const blockName = field.block;\n const blockAttributes = attr?.attributes ?? attr;\n const innerBlocks = Array.isArray(attr?.slideBlocks)\n ? attr.slideBlocks\n : [];\n\n return createBlock(blockName, blockAttributes, innerBlocks);\n });\n // blocksAttributesArray属性で登録されたブロックの再構築\n const selectedKeys = selectedFields.map((f) => f.key);\n\n const filterBlocksRecursively = (blocks) => {\n return blocks\n .map((block) => {\n const className = block.attributes?.className || \"\";\n // 1. まず sp_field_ のパターンを探す\n let match = className.match(/sp_field_([a-zA-Z0-9_]+)/);\n // 2. 見つからなければ tax_○○ をチェック\n if (className.startsWith(\"tax_\")) {\n const name = className.slice(\"tax_\".length); // \"tax_category\" → \"category\"\n\n // dispTaxonomies に含まれないものだけ有効とする\n if (!dispTaxonomies.includes(name)) {\n // 正規表現の match 結果っぽい形の配列を自分で作る\n // [0] に全体一致, [1] にグループ1 というイメージ\n match = [`tax_${name}`, name];\n }\n }\n\n // 再帰的に innerBlocks をフィルタ\n const filteredInner = block.innerBlocks\n ? filterBlocksRecursively(block.innerBlocks)\n : [];\n\n const isAutoGenerated = !!match;\n const keep = !isAutoGenerated || selectedKeys.includes(match[1]);\n\n if (!keep) return null;\n\n // 構造を復元して返す\n return {\n ...block,\n innerBlocks: filteredInner,\n };\n })\n .filter(Boolean); // null を除去\n };\n\n const userBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? filterBlocksRecursively(dispAttribute.innerBlocks).map(\n createBlockTree,\n )\n : [];\n\n // autoGenerated(selectedFields) + userBlocks を合成\n const innerBlocks = [...userBlocks, ...autoGeneratedBlocks];\n\n const ret = createBlock(\n \"itmar/design-group\",\n {\n ...dispAttribute.attributes,\n className: `unit_design_${unit_index}`,\n domType: domType,\n },\n innerBlocks,\n );\n\n return ret;\n });\n\n //挿入するブロックと自身のブロックが異なる場合(slide-mvにデータを入れる場合)\n if (insertId !== clientId) {\n blocksArray.push(pickupBlock);\n }\n // 既存のインナーブロックを一括置換\n replaceInnerBlocks(insertId, blocksArray, false);\n }, [selectedFields, pickupType, dispTaxonomies]);\n};\n"],"names":["createBlockAttr","selectedField","_blockType$attributes","_blockType$attributes2","_blockType$attributes3","_blockType$attributes4","blockAttributes","block","block_class","key","startsWith","concat","className","headingContent","label","content","url","itmar_option","plugin_url","spaceAttributes","margin_val","type","default","top","left","bottom","right","padding_val","imageBlock","createBlock","_objectSpread","blockType","getBlockType","defaultValBase","attributes","default_val","mobileValBase","mobile_val","slideBlock","width_val","serializedSlide","serializeBlockTree","slideBlocks","Array","from","length","createBlockTree","useRebuildChangeField","dispAttributeArray","selectedFields","pickupType","dispTaxonomies","sectionCount","domType","clientId","insertId","replaceInnerBlocks","useDispatch","pickupBlock","useSelect","select","getBlock","useEffect","blocksLength","diff","i","push","splice","blocksArray","map","dispAttribute","unit_index","allBlocks","isArray","innerBlocks","flattenBlocks","existingKeys","_block$attributes","filter","Boolean","cls","_match$","match","newSelectedFields","tax","autoGeneratedBlocks","field","includes","_attr$attributes","attr","blockName","selectedKeys","f","filterBlocksRecursively","blocks","_block$attributes2","name","slice","filteredInner","isAutoGenerated","keep","userBlocks","ret"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BrockInserter.js","sources":["../../src/BrockInserter.js"],"sourcesContent":["import {\n serializeBlockTree,\n createBlockTree,\n flattenBlocks,\n} from \"./blockStore\";\nimport { createBlock, getBlockType } from \"@wordpress/blocks\";\nimport { useEffect } from \"@wordpress/element\";\nimport { useSelect, useDispatch } from \"@wordpress/data\";\n\n//フィールド生成用関数\nconst createBlockAttr = (selectedField, pluginOption) => {\n let blockAttributes = {};\n switch (selectedField.block) {\n case \"itmar/design-title\":\n const block_class = selectedField.key.startsWith(\"tax_\")\n ? selectedField.key\n : `sp_field_${selectedField.key}`;\n blockAttributes = {\n className: block_class,\n headingContent: `[${selectedField.label}]`,\n };\n\n break;\n case \"core/paragraph\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n content: `[${selectedField.label}]`,\n };\n break;\n case \"core/image\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n url: `${window[pluginOption]?.plugin_url}/assets/image/main_sample.png`,\n };\n break;\n case \"itmar/slide-mv\":\n const spaceAttributes = {\n margin_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n padding_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n };\n\n const imageBlock = createBlock(\"core/image\", {\n className: \"itmar_ex_block\",\n url: `${window[pluginOption]?.plugin_url}/assets/image/slide_sample.png`,\n ...spaceAttributes,\n });\n //Design Blockの初期設定を取得\n const blockType = getBlockType(\"itmar/design-group\");\n const defaultValBase = blockType?.attributes?.default_val?.default ?? {};\n const mobileValBase = blockType?.attributes?.mobile_val?.default ?? {};\n const slideBlock = createBlock(\n \"itmar/design-group\",\n {\n default_val: {\n ...defaultValBase,\n width_val: \"fit\",\n },\n mobile_val: {\n ...mobileValBase,\n width_val: \"fit\",\n },\n },\n [imageBlock],\n );\n //slideBlock をシリアライズ\n const serializedSlide = serializeBlockTree(slideBlock);\n // 同じスライドブロックを5つ複製(独立したブロックとして)\n const slideBlocks = Array.from({ length: 5 }, () =>\n createBlockTree(serializedSlide),\n );\n //子ブロック付きで返す\n blockAttributes = {\n attributes: { className: `sp_field_${selectedField.key}` },\n slideBlocks: slideBlocks,\n };\n break;\n default:\n blockAttributes = {\n className: `sp_field_${selectedField.key}`,\n headingContent: `[${selectedField.label}]`,\n };\n }\n return blockAttributes;\n};\n\n//表示フィールド変更によるインナーブロックの再構成\nexport const useRebuildChangeField = (\n dispAttributeArray,\n selectedFields,\n pickupType,\n dispTaxonomies,\n sectionCount,\n domType,\n clientId,\n insertId,\n pluginOption,\n) => {\n // dispatch関数を取得\n const { replaceInnerBlocks } = useDispatch(\"core/block-editor\");\n const pickupBlock = useSelect(\n (select) => select(\"core/block-editor\").getBlock(clientId),\n [clientId],\n );\n\n useEffect(() => {\n //dispAttributeArray の個数調整\n const blocksLength = dispAttributeArray.length;\n if (blocksLength < sectionCount) {\n // dispAttributeArrayの長さが短い場合、{}を追加する\n const diff = sectionCount - blocksLength;\n for (let i = 0; i < diff; i++) {\n dispAttributeArray.push({});\n }\n } else {\n // dispAttributeArrayの長さが長い場合、余分な要素を削除する\n dispAttributeArray.splice(sectionCount);\n }\n\n // インナーブロックに差し込むブロック配列を生成\n const blocksArray = dispAttributeArray.map((dispAttribute, unit_index) => {\n // blocksAttributesArray属性で登録されたブロックのclassName一覧(sp_field_xxx を拾う)\n const allBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? flattenBlocks(dispAttribute.innerBlocks) //階層になったブロックを平坦化\n : [];\n\n const existingKeys = allBlocks\n .map((block) => block.attributes?.className)\n .filter(Boolean)\n .map((cls) => {\n // sp_field_◯◯ か tax_◯◯ のどちらかにマッチ\n const match = cls.match(/sp_field_([\\w-]+)|(tax_[\\w-]+)/);\n if (!match) return null;\n\n // match[1] があれば sp_field_ のほう → プレフィックス除去\n // match[2] があれば tax_ のほう → そのまま返す\n return match[1] ?? match[2];\n })\n .filter(Boolean);\n\n // dispTaxonomies からオブジェクトを作って selectedFieldsに加えてnewSelectedFieldsを生成\n const newSelectedFields = [\n ...selectedFields,\n ...dispTaxonomies.map((tax) => ({\n key: `tax_${tax}`, // 例: \"tax_category\"\n label: tax, // 例: \"category\"\n block: \"itmar/design-title\",\n })),\n ];\n\n // newSelectedFieldsのうち未挿入のものだけ追加\n const autoGeneratedBlocks = newSelectedFields\n .filter((field) => !existingKeys.includes(field.key))\n .map((field) => {\n const attr = createBlockAttr(field, pluginOption);\n const blockName = field.block;\n const blockAttributes = attr?.attributes ?? attr;\n const innerBlocks = Array.isArray(attr?.slideBlocks)\n ? attr.slideBlocks\n : [];\n\n return createBlock(blockName, blockAttributes, innerBlocks);\n });\n // blocksAttributesArray属性で登録されたブロックの再構築\n const selectedKeys = selectedFields.map((f) => f.key);\n\n const filterBlocksRecursively = (blocks) => {\n return blocks\n .map((block) => {\n const className = block.attributes?.className || \"\";\n // 1. まず sp_field_ のパターンを探す\n let match = className.match(/sp_field_([a-zA-Z0-9_]+)/);\n // 2. 見つからなければ tax_○○ をチェック\n if (className.startsWith(\"tax_\")) {\n const name = className.slice(\"tax_\".length); // \"tax_category\" → \"category\"\n\n // dispTaxonomies に含まれないものだけ有効とする\n if (!dispTaxonomies.includes(name)) {\n // 正規表現の match 結果っぽい形の配列を自分で作る\n // [0] に全体一致, [1] にグループ1 というイメージ\n match = [`tax_${name}`, name];\n }\n }\n\n // 再帰的に innerBlocks をフィルタ\n const filteredInner = block.innerBlocks\n ? filterBlocksRecursively(block.innerBlocks)\n : [];\n\n const isAutoGenerated = !!match;\n const keep = !isAutoGenerated || selectedKeys.includes(match[1]);\n\n if (!keep) return null;\n\n // 構造を復元して返す\n return {\n ...block,\n innerBlocks: filteredInner,\n };\n })\n .filter(Boolean); // null を除去\n };\n\n const userBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? filterBlocksRecursively(dispAttribute.innerBlocks).map(\n createBlockTree,\n )\n : [];\n\n // autoGenerated(selectedFields) + userBlocks を合成\n const innerBlocks = [...userBlocks, ...autoGeneratedBlocks];\n\n const ret = createBlock(\n \"itmar/design-group\",\n {\n ...dispAttribute.attributes,\n className: `unit_design_${unit_index}`,\n domType: domType,\n },\n innerBlocks,\n );\n\n return ret;\n });\n\n //挿入するブロックと自身のブロックが異なる場合(slide-mvにデータを入れる場合)\n if (insertId !== clientId) {\n blocksArray.push(pickupBlock);\n }\n // 既存のインナーブロックを一括置換\n replaceInnerBlocks(insertId, blocksArray, false);\n }, [selectedFields, pickupType, dispTaxonomies]);\n};\n"],"names":["createBlockAttr","selectedField","pluginOption","_window$pluginOption","_window$pluginOption2","_blockType$attributes","_blockType$attributes2","_blockType$attributes3","_blockType$attributes4","blockAttributes","block","block_class","key","startsWith","concat","className","headingContent","label","content","url","window","plugin_url","spaceAttributes","margin_val","type","default","top","left","bottom","right","padding_val","imageBlock","createBlock","_objectSpread","blockType","getBlockType","defaultValBase","attributes","default_val","mobileValBase","mobile_val","slideBlock","width_val","serializedSlide","serializeBlockTree","slideBlocks","Array","from","length","createBlockTree","useRebuildChangeField","dispAttributeArray","selectedFields","pickupType","dispTaxonomies","sectionCount","domType","clientId","insertId","replaceInnerBlocks","useDispatch","pickupBlock","useSelect","select","getBlock","useEffect","blocksLength","diff","i","push","splice","blocksArray","map","dispAttribute","unit_index","allBlocks","isArray","innerBlocks","flattenBlocks","existingKeys","_block$attributes","filter","Boolean","cls","_match$","match","newSelectedFields","tax","autoGeneratedBlocks","field","includes","_attr$attributes","attr","blockName","selectedKeys","f","filterBlocksRecursively","blocks","_block$attributes2","name","slice","filteredInner","isAutoGenerated","keep","userBlocks","ret"],"mappings":"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"}
|
package/build/cjs/DateElm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
4
|
+
var DateElm = require('./DateElm.js');
|
|
4
5
|
|
|
6
|
+
//Google Calender APIから祝日データを取得するためのID
|
|
7
|
+
var CALENDAR_ID = "japanese__ja@holiday.calendar.google.com";
|
|
5
8
|
var JapaneseHolidays = /*#__PURE__*/function () {
|
|
6
9
|
var _ref = _rollupPluginBabelHelpers.asyncToGenerator(function* (apiKey, targetMonth) {
|
|
7
10
|
//Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)
|
|
@@ -63,7 +66,7 @@ var JapaneseHolidays = /*#__PURE__*/function () {
|
|
|
63
66
|
//祝日データの取得
|
|
64
67
|
var fetchHolidays = /*#__PURE__*/function () {
|
|
65
68
|
var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator(function* () {
|
|
66
|
-
var periodObj = getPeriodQuery(targetMonth);
|
|
69
|
+
var periodObj = DateElm.getPeriodQuery(targetMonth);
|
|
67
70
|
var response = yield window.gapi.client.calendar.events.list({
|
|
68
71
|
calendarId: CALENDAR_ID,
|
|
69
72
|
timeMin: periodObj.after,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["import { getPeriodQuery } from \"./DateElm\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\nexport const JapaneseHolidays = async (apiKey, targetMonth) => {\n //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)\n const loadGoogleAPI = () => {\n return new Promise((resolve, reject) => {\n //window.gapi の存在を直接チェック\n if (window.gapi) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.src = \"https://apis.google.com/js/api.js\";\n script.async = true;\n script.defer = true;\n //スクリプトがロードされたときのイベントハンドラ\n script.onload = () => {\n // gapiがロードされるまでチェックを繰り返す\n const checkGapi = () => {\n if (window.gapi) {\n resolve();\n } else {\n setTimeout(checkGapi, 20); // Check again after 20ms\n }\n };\n checkGapi();\n };\n\n script.onerror = () =>\n reject(new Error(\"Failed to load Google API script\"));\n\n // Check if the script is already in the document\n if (\n !document.querySelector(\n 'script[src=\"https://apis.google.com/js/api.js\"]',\n )\n ) {\n document.body.appendChild(script);\n }\n });\n };\n //APIキーを使用してクライアントを初期化する\n const initClient = async () => {\n if (!window.gapi) {\n throw new Error(\"Google API not loaded\");\n }\n\n // Check if gapi.client is already available\n if (!window.gapi.client) {\n // If not, load the client module\n await new Promise((resolve) => window.gapi.load(\"client\", resolve));\n }\n\n if (window.gapi.client.calendar) {\n return;\n }\n await window.gapi.client.init({\n apiKey: apiKey,\n discoveryDocs: [\n \"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\",\n ],\n });\n };\n //祝日データの取得\n const fetchHolidays = async () => {\n const periodObj = getPeriodQuery(targetMonth);\n\n const response = await window.gapi.client.calendar.events.list({\n calendarId: CALENDAR_ID,\n timeMin: periodObj.after,\n timeMax: periodObj.before,\n singleEvents: true,\n orderBy: \"startTime\",\n });\n\n const events = response.result.items;\n return events.map((event) => ({\n date: event.start.date,\n name: event.summary,\n }));\n };\n\n try {\n await loadGoogleAPI();\n await initClient();\n return await fetchHolidays();\n } catch (error) {\n console.error(\"エラーが発生しました:\", error);\n throw error;\n }\n};\n"],"names":["CALENDAR_ID","JapaneseHolidays","_ref","_asyncToGenerator","apiKey","targetMonth","loadGoogleAPI","Promise","resolve","reject","window","gapi","script","document","createElement","src","async","defer","onload","checkGapi","setTimeout","onerror","Error","querySelector","body","appendChild","initClient","_ref2","client","load","calendar","init","discoveryDocs","apply","arguments","fetchHolidays","_ref3","periodObj","getPeriodQuery","response","events","list","calendarId","timeMin","after","timeMax","before","singleEvents","orderBy","result","items","map","event","date","start","name","summary","error","console","_x","_x2"],"mappings":"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"}
|
package/build/cjs/index.js
CHANGED
|
@@ -26,6 +26,7 @@ var shopfiApi = require('./shopfiApi.js');
|
|
|
26
26
|
var BrockInserter = require('./BrockInserter.js');
|
|
27
27
|
var MasonryControl = require('./MasonryControl.js');
|
|
28
28
|
var SwiperControl = require('./SwiperControl.js');
|
|
29
|
+
var pickupStore = require('./pickupStore.js');
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
|
|
@@ -112,4 +113,9 @@ exports.sendRegistrationRequest = shopfiApi.sendRegistrationRequest;
|
|
|
112
113
|
exports.useRebuildChangeField = BrockInserter.useRebuildChangeField;
|
|
113
114
|
exports.MasonryControl = MasonryControl.default;
|
|
114
115
|
exports.slideBlockSwiperInit = SwiperControl.slideBlockSwiperInit;
|
|
116
|
+
exports.ensureCtx = pickupStore.ensureCtx;
|
|
117
|
+
exports.getCtx = pickupStore.getCtx;
|
|
118
|
+
exports.registerPickup = pickupStore.registerPickup;
|
|
119
|
+
exports.setState = pickupStore.setState;
|
|
120
|
+
exports.subscribe = pickupStore.subscribe;
|
|
115
121
|
//# sourceMappingURL=index.js.map
|
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
4
|
+
|
|
5
|
+
var GLOBAL_KEY = "__itmar_pickup_store__";
|
|
6
|
+
function getGlobalStore() {
|
|
7
|
+
if (!window[GLOBAL_KEY]) {
|
|
8
|
+
window[GLOBAL_KEY] = {
|
|
9
|
+
contexts: new Map()
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
return window[GLOBAL_KEY];
|
|
13
|
+
}
|
|
14
|
+
var contexts = getGlobalStore().contexts;
|
|
15
|
+
function createCtx(id) {
|
|
16
|
+
return {
|
|
17
|
+
id,
|
|
18
|
+
pickupEl: null,
|
|
19
|
+
dataset: {},
|
|
20
|
+
state: {
|
|
21
|
+
page: 0,
|
|
22
|
+
searchKeyWord: "",
|
|
23
|
+
periodDisp: "",
|
|
24
|
+
periodQueryObj: {},
|
|
25
|
+
termParamObj: null,
|
|
26
|
+
termQueryObj: [],
|
|
27
|
+
posts: [],
|
|
28
|
+
rawPosts: null,
|
|
29
|
+
targetIndex: -1,
|
|
30
|
+
total: 0
|
|
31
|
+
},
|
|
32
|
+
listeners: new Set(),
|
|
33
|
+
cache: {
|
|
34
|
+
taxonomies: null
|
|
35
|
+
},
|
|
36
|
+
inflight: {
|
|
37
|
+
abort: null
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function ensureCtx(id) {
|
|
42
|
+
if (!id) return null;
|
|
43
|
+
if (!contexts.has(id)) contexts.set(id, createCtx(id));
|
|
44
|
+
return contexts.get(id);
|
|
45
|
+
}
|
|
46
|
+
function registerPickup(pickupEl) {
|
|
47
|
+
var _pickupEl$dataset;
|
|
48
|
+
var id = pickupEl === null || pickupEl === void 0 || (_pickupEl$dataset = pickupEl.dataset) === null || _pickupEl$dataset === void 0 ? void 0 : _pickupEl$dataset.pickup_id;
|
|
49
|
+
if (!id) return null;
|
|
50
|
+
var ctx = ensureCtx(id);
|
|
51
|
+
ctx.pickupEl = pickupEl;
|
|
52
|
+
ctx.dataset = _rollupPluginBabelHelpers.objectSpread2({}, pickupEl.dataset);
|
|
53
|
+
return ctx;
|
|
54
|
+
}
|
|
55
|
+
function getCtx(id) {
|
|
56
|
+
return contexts.get(id) || null;
|
|
57
|
+
}
|
|
58
|
+
function subscribe(id, fn) {
|
|
59
|
+
var ctx = ensureCtx(id);
|
|
60
|
+
if (!ctx) return () => {};
|
|
61
|
+
ctx.listeners.add(fn);
|
|
62
|
+
fn(ctx); // 初回通知
|
|
63
|
+
return () => ctx.listeners.delete(fn);
|
|
64
|
+
}
|
|
65
|
+
function setState(id, partial) {
|
|
66
|
+
var ctx = ensureCtx(id);
|
|
67
|
+
if (!ctx) return;
|
|
68
|
+
ctx.state = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, ctx.state), partial);
|
|
69
|
+
ctx.listeners.forEach(l => l(ctx));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
exports.ensureCtx = ensureCtx;
|
|
73
|
+
exports.getCtx = getCtx;
|
|
74
|
+
exports.registerPickup = registerPickup;
|
|
75
|
+
exports.setState = setState;
|
|
76
|
+
exports.subscribe = subscribe;
|
|
77
|
+
//# sourceMappingURL=pickupStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickupStore.js","sources":["../../src/pickupStore.js"],"sourcesContent":["const GLOBAL_KEY = \"__itmar_pickup_store__\";\n\nfunction getGlobalStore() {\n\tif (!window[GLOBAL_KEY]) {\n\t\twindow[GLOBAL_KEY] = { contexts: new Map() };\n\t}\n\treturn window[GLOBAL_KEY];\n}\n\nconst contexts = getGlobalStore().contexts;\n\nfunction createCtx(id) {\n\treturn {\n\t\tid,\n\t\tpickupEl: null,\n\t\tdataset: {},\n\t\tstate: {\n\t\t\tpage: 0,\n\t\t\tsearchKeyWord: \"\",\n\t\t\tperiodDisp: \"\",\n\t\t\tperiodQueryObj: {},\n\t\t\ttermParamObj: null,\n\t\t\ttermQueryObj: [],\n\t\t\tposts: [],\n\t\t\trawPosts: null,\n\t\t\ttargetIndex: -1,\n\t\t\ttotal: 0,\n\t\t},\n\t\tlisteners: new Set(),\n\t\tcache: {\n\t\t\ttaxonomies: null,\n\t\t},\n\t\tinflight: {\n\t\t\tabort: null,\n\t\t},\n\t};\n}\n\nexport function ensureCtx(id) {\n\tif (!id) return null;\n\tif (!contexts.has(id)) contexts.set(id, createCtx(id));\n\treturn contexts.get(id);\n}\n\nexport function registerPickup(pickupEl) {\n\tconst id = pickupEl?.dataset?.pickup_id;\n\tif (!id) return null;\n\n\tconst ctx = ensureCtx(id);\n\tctx.pickupEl = pickupEl;\n\tctx.dataset = { ...pickupEl.dataset };\n\treturn ctx;\n}\n\nexport function getCtx(id) {\n\treturn contexts.get(id) || null;\n}\n\nexport function subscribe(id, fn) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return () => {};\n\tctx.listeners.add(fn);\n\tfn(ctx); // 初回通知\n\treturn () => ctx.listeners.delete(fn);\n}\n\nexport function setState(id, partial) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return;\n\tctx.state = { ...ctx.state, ...partial };\n\tctx.listeners.forEach((l) => l(ctx));\n}\n"],"names":["GLOBAL_KEY","getGlobalStore","window","contexts","Map","createCtx","id","pickupEl","dataset","state","page","searchKeyWord","periodDisp","periodQueryObj","termParamObj","termQueryObj","posts","rawPosts","targetIndex","total","listeners","Set","cache","taxonomies","inflight","abort","ensureCtx","has","set","get","registerPickup","_pickupEl$dataset","pickup_id","ctx","_objectSpread","getCtx","subscribe","fn","add","delete","setState","partial","forEach","l"],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { useEffect } from '@wordpress/element';
|
|
|
5
5
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
6
6
|
|
|
7
7
|
//フィールド生成用関数
|
|
8
|
-
var createBlockAttr = selectedField => {
|
|
9
|
-
var _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
|
|
8
|
+
var createBlockAttr = (selectedField, pluginOption) => {
|
|
9
|
+
var _window$pluginOption, _window$pluginOption2, _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
|
|
10
10
|
var blockAttributes = {};
|
|
11
11
|
switch (selectedField.block) {
|
|
12
12
|
case "itmar/design-title":
|
|
@@ -25,7 +25,7 @@ var createBlockAttr = selectedField => {
|
|
|
25
25
|
case "core/image":
|
|
26
26
|
blockAttributes = {
|
|
27
27
|
className: "itmar_ex_block sp_field_".concat(selectedField.key),
|
|
28
|
-
url: "".concat(
|
|
28
|
+
url: "".concat((_window$pluginOption = window[pluginOption]) === null || _window$pluginOption === void 0 ? void 0 : _window$pluginOption.plugin_url, "/assets/image/main_sample.png")
|
|
29
29
|
};
|
|
30
30
|
break;
|
|
31
31
|
case "itmar/slide-mv":
|
|
@@ -51,7 +51,7 @@ var createBlockAttr = selectedField => {
|
|
|
51
51
|
};
|
|
52
52
|
var imageBlock = createBlock("core/image", _objectSpread2({
|
|
53
53
|
className: "itmar_ex_block",
|
|
54
|
-
url: "".concat(
|
|
54
|
+
url: "".concat((_window$pluginOption2 = window[pluginOption]) === null || _window$pluginOption2 === void 0 ? void 0 : _window$pluginOption2.plugin_url, "/assets/image/slide_sample.png")
|
|
55
55
|
}, spaceAttributes));
|
|
56
56
|
//Design Blockの初期設定を取得
|
|
57
57
|
var blockType = getBlockType("itmar/design-group");
|
|
@@ -89,7 +89,7 @@ var createBlockAttr = selectedField => {
|
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
//表示フィールド変更によるインナーブロックの再構成
|
|
92
|
-
var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId) => {
|
|
92
|
+
var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId, pluginOption) => {
|
|
93
93
|
// dispatch関数を取得
|
|
94
94
|
var {
|
|
95
95
|
replaceInnerBlocks
|
|
@@ -140,7 +140,7 @@ var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dis
|
|
|
140
140
|
// newSelectedFieldsのうち未挿入のものだけ追加
|
|
141
141
|
var autoGeneratedBlocks = newSelectedFields.filter(field => !existingKeys.includes(field.key)).map(field => {
|
|
142
142
|
var _attr$attributes;
|
|
143
|
-
var attr = createBlockAttr(field);
|
|
143
|
+
var attr = createBlockAttr(field, pluginOption);
|
|
144
144
|
var blockName = field.block;
|
|
145
145
|
var blockAttributes = (_attr$attributes = attr === null || attr === void 0 ? void 0 : attr.attributes) !== null && _attr$attributes !== void 0 ? _attr$attributes : attr;
|
|
146
146
|
var innerBlocks = Array.isArray(attr === null || attr === void 0 ? void 0 : attr.slideBlocks) ? attr.slideBlocks : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrockInserter.js","sources":["../../src/BrockInserter.js"],"sourcesContent":["import {\n serializeBlockTree,\n createBlockTree,\n flattenBlocks,\n} from \"./blockStore\";\nimport { createBlock, getBlockType } from \"@wordpress/blocks\";\nimport { useEffect } from \"@wordpress/element\";\nimport { useSelect, useDispatch } from \"@wordpress/data\";\n\n//フィールド生成用関数\nconst createBlockAttr = (selectedField) => {\n let blockAttributes = {};\n switch (selectedField.block) {\n case \"itmar/design-title\":\n const block_class = selectedField.key.startsWith(\"tax_\")\n ? selectedField.key\n : `sp_field_${selectedField.key}`;\n blockAttributes = {\n className: block_class,\n headingContent: `[${selectedField.label}]`,\n };\n\n break;\n case \"core/paragraph\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n content: `[${selectedField.label}]`,\n };\n break;\n case \"core/image\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n url: `${itmar_option.plugin_url}/assets/image/main_sample.png`,\n };\n break;\n case \"itmar/slide-mv\":\n const spaceAttributes = {\n margin_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n padding_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n };\n\n const imageBlock = createBlock(\"core/image\", {\n className: \"itmar_ex_block\",\n url: `${itmar_option.plugin_url}/assets/image/slide_sample.png`,\n ...spaceAttributes,\n });\n //Design Blockの初期設定を取得\n const blockType = getBlockType(\"itmar/design-group\");\n const defaultValBase = blockType?.attributes?.default_val?.default ?? {};\n const mobileValBase = blockType?.attributes?.mobile_val?.default ?? {};\n const slideBlock = createBlock(\n \"itmar/design-group\",\n {\n default_val: {\n ...defaultValBase,\n width_val: \"fit\",\n },\n mobile_val: {\n ...mobileValBase,\n width_val: \"fit\",\n },\n },\n [imageBlock],\n );\n //slideBlock をシリアライズ\n const serializedSlide = serializeBlockTree(slideBlock);\n // 同じスライドブロックを5つ複製(独立したブロックとして)\n const slideBlocks = Array.from({ length: 5 }, () =>\n createBlockTree(serializedSlide),\n );\n //子ブロック付きで返す\n blockAttributes = {\n attributes: { className: `sp_field_${selectedField.key}` },\n slideBlocks: slideBlocks,\n };\n break;\n default:\n blockAttributes = {\n className: `sp_field_${selectedField.key}`,\n headingContent: `[${selectedField.label}]`,\n };\n }\n return blockAttributes;\n};\n\n//表示フィールド変更によるインナーブロックの再構成\nexport const useRebuildChangeField = (\n dispAttributeArray,\n selectedFields,\n pickupType,\n dispTaxonomies,\n sectionCount,\n domType,\n clientId,\n insertId,\n) => {\n // dispatch関数を取得\n const { replaceInnerBlocks } = useDispatch(\"core/block-editor\");\n const pickupBlock = useSelect(\n (select) => select(\"core/block-editor\").getBlock(clientId),\n [clientId],\n );\n\n useEffect(() => {\n //dispAttributeArray の個数調整\n const blocksLength = dispAttributeArray.length;\n if (blocksLength < sectionCount) {\n // dispAttributeArrayの長さが短い場合、{}を追加する\n const diff = sectionCount - blocksLength;\n for (let i = 0; i < diff; i++) {\n dispAttributeArray.push({});\n }\n } else {\n // dispAttributeArrayの長さが長い場合、余分な要素を削除する\n dispAttributeArray.splice(sectionCount);\n }\n\n // インナーブロックに差し込むブロック配列を生成\n const blocksArray = dispAttributeArray.map((dispAttribute, unit_index) => {\n // blocksAttributesArray属性で登録されたブロックのclassName一覧(sp_field_xxx を拾う)\n const allBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? flattenBlocks(dispAttribute.innerBlocks) //階層になったブロックを平坦化\n : [];\n\n const existingKeys = allBlocks\n .map((block) => block.attributes?.className)\n .filter(Boolean)\n .map((cls) => {\n // sp_field_◯◯ か tax_◯◯ のどちらかにマッチ\n const match = cls.match(/sp_field_([\\w-]+)|(tax_[\\w-]+)/);\n if (!match) return null;\n\n // match[1] があれば sp_field_ のほう → プレフィックス除去\n // match[2] があれば tax_ のほう → そのまま返す\n return match[1] ?? match[2];\n })\n .filter(Boolean);\n\n // dispTaxonomies からオブジェクトを作って selectedFieldsに加えてnewSelectedFieldsを生成\n const newSelectedFields = [\n ...selectedFields,\n ...dispTaxonomies.map((tax) => ({\n key: `tax_${tax}`, // 例: \"tax_category\"\n label: tax, // 例: \"category\"\n block: \"itmar/design-title\",\n })),\n ];\n\n // newSelectedFieldsのうち未挿入のものだけ追加\n const autoGeneratedBlocks = newSelectedFields\n .filter((field) => !existingKeys.includes(field.key))\n .map((field) => {\n const attr = createBlockAttr(field);\n const blockName = field.block;\n const blockAttributes = attr?.attributes ?? attr;\n const innerBlocks = Array.isArray(attr?.slideBlocks)\n ? attr.slideBlocks\n : [];\n\n return createBlock(blockName, blockAttributes, innerBlocks);\n });\n // blocksAttributesArray属性で登録されたブロックの再構築\n const selectedKeys = selectedFields.map((f) => f.key);\n\n const filterBlocksRecursively = (blocks) => {\n return blocks\n .map((block) => {\n const className = block.attributes?.className || \"\";\n // 1. まず sp_field_ のパターンを探す\n let match = className.match(/sp_field_([a-zA-Z0-9_]+)/);\n // 2. 見つからなければ tax_○○ をチェック\n if (className.startsWith(\"tax_\")) {\n const name = className.slice(\"tax_\".length); // \"tax_category\" → \"category\"\n\n // dispTaxonomies に含まれないものだけ有効とする\n if (!dispTaxonomies.includes(name)) {\n // 正規表現の match 結果っぽい形の配列を自分で作る\n // [0] に全体一致, [1] にグループ1 というイメージ\n match = [`tax_${name}`, name];\n }\n }\n\n // 再帰的に innerBlocks をフィルタ\n const filteredInner = block.innerBlocks\n ? filterBlocksRecursively(block.innerBlocks)\n : [];\n\n const isAutoGenerated = !!match;\n const keep = !isAutoGenerated || selectedKeys.includes(match[1]);\n\n if (!keep) return null;\n\n // 構造を復元して返す\n return {\n ...block,\n innerBlocks: filteredInner,\n };\n })\n .filter(Boolean); // null を除去\n };\n\n const userBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? filterBlocksRecursively(dispAttribute.innerBlocks).map(\n createBlockTree,\n )\n : [];\n\n // autoGenerated(selectedFields) + userBlocks を合成\n const innerBlocks = [...userBlocks, ...autoGeneratedBlocks];\n\n const ret = createBlock(\n \"itmar/design-group\",\n {\n ...dispAttribute.attributes,\n className: `unit_design_${unit_index}`,\n domType: domType,\n },\n innerBlocks,\n );\n\n return ret;\n });\n\n //挿入するブロックと自身のブロックが異なる場合(slide-mvにデータを入れる場合)\n if (insertId !== clientId) {\n blocksArray.push(pickupBlock);\n }\n // 既存のインナーブロックを一括置換\n replaceInnerBlocks(insertId, blocksArray, false);\n }, [selectedFields, pickupType, dispTaxonomies]);\n};\n"],"names":["createBlockAttr","selectedField","_blockType$attributes","_blockType$attributes2","_blockType$attributes3","_blockType$attributes4","blockAttributes","block","block_class","key","startsWith","concat","className","headingContent","label","content","url","itmar_option","plugin_url","spaceAttributes","margin_val","type","default","top","left","bottom","right","padding_val","imageBlock","createBlock","_objectSpread","blockType","getBlockType","defaultValBase","attributes","default_val","mobileValBase","mobile_val","slideBlock","width_val","serializedSlide","serializeBlockTree","slideBlocks","Array","from","length","createBlockTree","useRebuildChangeField","dispAttributeArray","selectedFields","pickupType","dispTaxonomies","sectionCount","domType","clientId","insertId","replaceInnerBlocks","useDispatch","pickupBlock","useSelect","select","getBlock","useEffect","blocksLength","diff","i","push","splice","blocksArray","map","dispAttribute","unit_index","allBlocks","isArray","innerBlocks","flattenBlocks","existingKeys","_block$attributes","filter","Boolean","cls","_match$","match","newSelectedFields","tax","autoGeneratedBlocks","field","includes","_attr$attributes","attr","blockName","selectedKeys","f","filterBlocksRecursively","blocks","_block$attributes2","name","slice","filteredInner","isAutoGenerated","keep","userBlocks","ret"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BrockInserter.js","sources":["../../src/BrockInserter.js"],"sourcesContent":["import {\n serializeBlockTree,\n createBlockTree,\n flattenBlocks,\n} from \"./blockStore\";\nimport { createBlock, getBlockType } from \"@wordpress/blocks\";\nimport { useEffect } from \"@wordpress/element\";\nimport { useSelect, useDispatch } from \"@wordpress/data\";\n\n//フィールド生成用関数\nconst createBlockAttr = (selectedField, pluginOption) => {\n let blockAttributes = {};\n switch (selectedField.block) {\n case \"itmar/design-title\":\n const block_class = selectedField.key.startsWith(\"tax_\")\n ? selectedField.key\n : `sp_field_${selectedField.key}`;\n blockAttributes = {\n className: block_class,\n headingContent: `[${selectedField.label}]`,\n };\n\n break;\n case \"core/paragraph\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n content: `[${selectedField.label}]`,\n };\n break;\n case \"core/image\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n url: `${window[pluginOption]?.plugin_url}/assets/image/main_sample.png`,\n };\n break;\n case \"itmar/slide-mv\":\n const spaceAttributes = {\n margin_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n padding_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n };\n\n const imageBlock = createBlock(\"core/image\", {\n className: \"itmar_ex_block\",\n url: `${window[pluginOption]?.plugin_url}/assets/image/slide_sample.png`,\n ...spaceAttributes,\n });\n //Design Blockの初期設定を取得\n const blockType = getBlockType(\"itmar/design-group\");\n const defaultValBase = blockType?.attributes?.default_val?.default ?? {};\n const mobileValBase = blockType?.attributes?.mobile_val?.default ?? {};\n const slideBlock = createBlock(\n \"itmar/design-group\",\n {\n default_val: {\n ...defaultValBase,\n width_val: \"fit\",\n },\n mobile_val: {\n ...mobileValBase,\n width_val: \"fit\",\n },\n },\n [imageBlock],\n );\n //slideBlock をシリアライズ\n const serializedSlide = serializeBlockTree(slideBlock);\n // 同じスライドブロックを5つ複製(独立したブロックとして)\n const slideBlocks = Array.from({ length: 5 }, () =>\n createBlockTree(serializedSlide),\n );\n //子ブロック付きで返す\n blockAttributes = {\n attributes: { className: `sp_field_${selectedField.key}` },\n slideBlocks: slideBlocks,\n };\n break;\n default:\n blockAttributes = {\n className: `sp_field_${selectedField.key}`,\n headingContent: `[${selectedField.label}]`,\n };\n }\n return blockAttributes;\n};\n\n//表示フィールド変更によるインナーブロックの再構成\nexport const useRebuildChangeField = (\n dispAttributeArray,\n selectedFields,\n pickupType,\n dispTaxonomies,\n sectionCount,\n domType,\n clientId,\n insertId,\n pluginOption,\n) => {\n // dispatch関数を取得\n const { replaceInnerBlocks } = useDispatch(\"core/block-editor\");\n const pickupBlock = useSelect(\n (select) => select(\"core/block-editor\").getBlock(clientId),\n [clientId],\n );\n\n useEffect(() => {\n //dispAttributeArray の個数調整\n const blocksLength = dispAttributeArray.length;\n if (blocksLength < sectionCount) {\n // dispAttributeArrayの長さが短い場合、{}を追加する\n const diff = sectionCount - blocksLength;\n for (let i = 0; i < diff; i++) {\n dispAttributeArray.push({});\n }\n } else {\n // dispAttributeArrayの長さが長い場合、余分な要素を削除する\n dispAttributeArray.splice(sectionCount);\n }\n\n // インナーブロックに差し込むブロック配列を生成\n const blocksArray = dispAttributeArray.map((dispAttribute, unit_index) => {\n // blocksAttributesArray属性で登録されたブロックのclassName一覧(sp_field_xxx を拾う)\n const allBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? flattenBlocks(dispAttribute.innerBlocks) //階層になったブロックを平坦化\n : [];\n\n const existingKeys = allBlocks\n .map((block) => block.attributes?.className)\n .filter(Boolean)\n .map((cls) => {\n // sp_field_◯◯ か tax_◯◯ のどちらかにマッチ\n const match = cls.match(/sp_field_([\\w-]+)|(tax_[\\w-]+)/);\n if (!match) return null;\n\n // match[1] があれば sp_field_ のほう → プレフィックス除去\n // match[2] があれば tax_ のほう → そのまま返す\n return match[1] ?? match[2];\n })\n .filter(Boolean);\n\n // dispTaxonomies からオブジェクトを作って selectedFieldsに加えてnewSelectedFieldsを生成\n const newSelectedFields = [\n ...selectedFields,\n ...dispTaxonomies.map((tax) => ({\n key: `tax_${tax}`, // 例: \"tax_category\"\n label: tax, // 例: \"category\"\n block: \"itmar/design-title\",\n })),\n ];\n\n // newSelectedFieldsのうち未挿入のものだけ追加\n const autoGeneratedBlocks = newSelectedFields\n .filter((field) => !existingKeys.includes(field.key))\n .map((field) => {\n const attr = createBlockAttr(field, pluginOption);\n const blockName = field.block;\n const blockAttributes = attr?.attributes ?? attr;\n const innerBlocks = Array.isArray(attr?.slideBlocks)\n ? attr.slideBlocks\n : [];\n\n return createBlock(blockName, blockAttributes, innerBlocks);\n });\n // blocksAttributesArray属性で登録されたブロックの再構築\n const selectedKeys = selectedFields.map((f) => f.key);\n\n const filterBlocksRecursively = (blocks) => {\n return blocks\n .map((block) => {\n const className = block.attributes?.className || \"\";\n // 1. まず sp_field_ のパターンを探す\n let match = className.match(/sp_field_([a-zA-Z0-9_]+)/);\n // 2. 見つからなければ tax_○○ をチェック\n if (className.startsWith(\"tax_\")) {\n const name = className.slice(\"tax_\".length); // \"tax_category\" → \"category\"\n\n // dispTaxonomies に含まれないものだけ有効とする\n if (!dispTaxonomies.includes(name)) {\n // 正規表現の match 結果っぽい形の配列を自分で作る\n // [0] に全体一致, [1] にグループ1 というイメージ\n match = [`tax_${name}`, name];\n }\n }\n\n // 再帰的に innerBlocks をフィルタ\n const filteredInner = block.innerBlocks\n ? filterBlocksRecursively(block.innerBlocks)\n : [];\n\n const isAutoGenerated = !!match;\n const keep = !isAutoGenerated || selectedKeys.includes(match[1]);\n\n if (!keep) return null;\n\n // 構造を復元して返す\n return {\n ...block,\n innerBlocks: filteredInner,\n };\n })\n .filter(Boolean); // null を除去\n };\n\n const userBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? filterBlocksRecursively(dispAttribute.innerBlocks).map(\n createBlockTree,\n )\n : [];\n\n // autoGenerated(selectedFields) + userBlocks を合成\n const innerBlocks = [...userBlocks, ...autoGeneratedBlocks];\n\n const ret = createBlock(\n \"itmar/design-group\",\n {\n ...dispAttribute.attributes,\n className: `unit_design_${unit_index}`,\n domType: domType,\n },\n innerBlocks,\n );\n\n return ret;\n });\n\n //挿入するブロックと自身のブロックが異なる場合(slide-mvにデータを入れる場合)\n if (insertId !== clientId) {\n blocksArray.push(pickupBlock);\n }\n // 既存のインナーブロックを一括置換\n replaceInnerBlocks(insertId, blocksArray, false);\n }, [selectedFields, pickupType, dispTaxonomies]);\n};\n"],"names":["createBlockAttr","selectedField","pluginOption","_window$pluginOption","_window$pluginOption2","_blockType$attributes","_blockType$attributes2","_blockType$attributes3","_blockType$attributes4","blockAttributes","block","block_class","key","startsWith","concat","className","headingContent","label","content","url","window","plugin_url","spaceAttributes","margin_val","type","default","top","left","bottom","right","padding_val","imageBlock","createBlock","_objectSpread","blockType","getBlockType","defaultValBase","attributes","default_val","mobileValBase","mobile_val","slideBlock","width_val","serializedSlide","serializeBlockTree","slideBlocks","Array","from","length","createBlockTree","useRebuildChangeField","dispAttributeArray","selectedFields","pickupType","dispTaxonomies","sectionCount","domType","clientId","insertId","replaceInnerBlocks","useDispatch","pickupBlock","useSelect","select","getBlock","useEffect","blocksLength","diff","i","push","splice","blocksArray","map","dispAttribute","unit_index","allBlocks","isArray","innerBlocks","flattenBlocks","existingKeys","_block$attributes","filter","Boolean","cls","_match$","match","newSelectedFields","tax","autoGeneratedBlocks","field","includes","_attr$attributes","attr","blockName","selectedKeys","f","filterBlocksRecursively","blocks","_block$attributes2","name","slice","filteredInner","isAutoGenerated","keep","userBlocks","ret"],"mappings":"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"}
|
package/build/esm/DateElm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { asyncToGenerator as _asyncToGenerator } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { getPeriodQuery } from './DateElm.js';
|
|
2
3
|
|
|
4
|
+
//Google Calender APIから祝日データを取得するためのID
|
|
5
|
+
var CALENDAR_ID = "japanese__ja@holiday.calendar.google.com";
|
|
3
6
|
var JapaneseHolidays = /*#__PURE__*/function () {
|
|
4
7
|
var _ref = _asyncToGenerator(function* (apiKey, targetMonth) {
|
|
5
8
|
//Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["import { getPeriodQuery } from \"./DateElm\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\nexport const JapaneseHolidays = async (apiKey, targetMonth) => {\n //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)\n const loadGoogleAPI = () => {\n return new Promise((resolve, reject) => {\n //window.gapi の存在を直接チェック\n if (window.gapi) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.src = \"https://apis.google.com/js/api.js\";\n script.async = true;\n script.defer = true;\n //スクリプトがロードされたときのイベントハンドラ\n script.onload = () => {\n // gapiがロードされるまでチェックを繰り返す\n const checkGapi = () => {\n if (window.gapi) {\n resolve();\n } else {\n setTimeout(checkGapi, 20); // Check again after 20ms\n }\n };\n checkGapi();\n };\n\n script.onerror = () =>\n reject(new Error(\"Failed to load Google API script\"));\n\n // Check if the script is already in the document\n if (\n !document.querySelector(\n 'script[src=\"https://apis.google.com/js/api.js\"]',\n )\n ) {\n document.body.appendChild(script);\n }\n });\n };\n //APIキーを使用してクライアントを初期化する\n const initClient = async () => {\n if (!window.gapi) {\n throw new Error(\"Google API not loaded\");\n }\n\n // Check if gapi.client is already available\n if (!window.gapi.client) {\n // If not, load the client module\n await new Promise((resolve) => window.gapi.load(\"client\", resolve));\n }\n\n if (window.gapi.client.calendar) {\n return;\n }\n await window.gapi.client.init({\n apiKey: apiKey,\n discoveryDocs: [\n \"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\",\n ],\n });\n };\n //祝日データの取得\n const fetchHolidays = async () => {\n const periodObj = getPeriodQuery(targetMonth);\n\n const response = await window.gapi.client.calendar.events.list({\n calendarId: CALENDAR_ID,\n timeMin: periodObj.after,\n timeMax: periodObj.before,\n singleEvents: true,\n orderBy: \"startTime\",\n });\n\n const events = response.result.items;\n return events.map((event) => ({\n date: event.start.date,\n name: event.summary,\n }));\n };\n\n try {\n await loadGoogleAPI();\n await initClient();\n return await fetchHolidays();\n } catch (error) {\n console.error(\"エラーが発生しました:\", error);\n throw error;\n }\n};\n"],"names":["CALENDAR_ID","JapaneseHolidays","_ref","_asyncToGenerator","apiKey","targetMonth","loadGoogleAPI","Promise","resolve","reject","window","gapi","script","document","createElement","src","async","defer","onload","checkGapi","setTimeout","onerror","Error","querySelector","body","appendChild","initClient","_ref2","client","load","calendar","init","discoveryDocs","apply","arguments","fetchHolidays","_ref3","periodObj","getPeriodQuery","response","events","list","calendarId","timeMin","after","timeMax","before","singleEvents","orderBy","result","items","map","event","date","start","name","summary","error","console","_x","_x2"],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -24,4 +24,5 @@ export { checkCustomerLoginState, redirectCustomerAuthorize, sendRegistrationReq
|
|
|
24
24
|
export { useRebuildChangeField } from './BrockInserter.js';
|
|
25
25
|
export { default as MasonryControl } from './MasonryControl.js';
|
|
26
26
|
export { slideBlockSwiperInit } from './SwiperControl.js';
|
|
27
|
+
export { ensureCtx, getCtx, registerPickup, setState, subscribe } from './pickupStore.js';
|
|
27
28
|
//# sourceMappingURL=index.js.map
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { objectSpread2 as _objectSpread2 } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
var GLOBAL_KEY = "__itmar_pickup_store__";
|
|
4
|
+
function getGlobalStore() {
|
|
5
|
+
if (!window[GLOBAL_KEY]) {
|
|
6
|
+
window[GLOBAL_KEY] = {
|
|
7
|
+
contexts: new Map()
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
return window[GLOBAL_KEY];
|
|
11
|
+
}
|
|
12
|
+
var contexts = getGlobalStore().contexts;
|
|
13
|
+
function createCtx(id) {
|
|
14
|
+
return {
|
|
15
|
+
id,
|
|
16
|
+
pickupEl: null,
|
|
17
|
+
dataset: {},
|
|
18
|
+
state: {
|
|
19
|
+
page: 0,
|
|
20
|
+
searchKeyWord: "",
|
|
21
|
+
periodDisp: "",
|
|
22
|
+
periodQueryObj: {},
|
|
23
|
+
termParamObj: null,
|
|
24
|
+
termQueryObj: [],
|
|
25
|
+
posts: [],
|
|
26
|
+
rawPosts: null,
|
|
27
|
+
targetIndex: -1,
|
|
28
|
+
total: 0
|
|
29
|
+
},
|
|
30
|
+
listeners: new Set(),
|
|
31
|
+
cache: {
|
|
32
|
+
taxonomies: null
|
|
33
|
+
},
|
|
34
|
+
inflight: {
|
|
35
|
+
abort: null
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function ensureCtx(id) {
|
|
40
|
+
if (!id) return null;
|
|
41
|
+
if (!contexts.has(id)) contexts.set(id, createCtx(id));
|
|
42
|
+
return contexts.get(id);
|
|
43
|
+
}
|
|
44
|
+
function registerPickup(pickupEl) {
|
|
45
|
+
var _pickupEl$dataset;
|
|
46
|
+
var id = pickupEl === null || pickupEl === void 0 || (_pickupEl$dataset = pickupEl.dataset) === null || _pickupEl$dataset === void 0 ? void 0 : _pickupEl$dataset.pickup_id;
|
|
47
|
+
if (!id) return null;
|
|
48
|
+
var ctx = ensureCtx(id);
|
|
49
|
+
ctx.pickupEl = pickupEl;
|
|
50
|
+
ctx.dataset = _objectSpread2({}, pickupEl.dataset);
|
|
51
|
+
return ctx;
|
|
52
|
+
}
|
|
53
|
+
function getCtx(id) {
|
|
54
|
+
return contexts.get(id) || null;
|
|
55
|
+
}
|
|
56
|
+
function subscribe(id, fn) {
|
|
57
|
+
var ctx = ensureCtx(id);
|
|
58
|
+
if (!ctx) return () => {};
|
|
59
|
+
ctx.listeners.add(fn);
|
|
60
|
+
fn(ctx); // 初回通知
|
|
61
|
+
return () => ctx.listeners.delete(fn);
|
|
62
|
+
}
|
|
63
|
+
function setState(id, partial) {
|
|
64
|
+
var ctx = ensureCtx(id);
|
|
65
|
+
if (!ctx) return;
|
|
66
|
+
ctx.state = _objectSpread2(_objectSpread2({}, ctx.state), partial);
|
|
67
|
+
ctx.listeners.forEach(l => l(ctx));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { ensureCtx, getCtx, registerPickup, setState, subscribe };
|
|
71
|
+
//# sourceMappingURL=pickupStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickupStore.js","sources":["../../src/pickupStore.js"],"sourcesContent":["const GLOBAL_KEY = \"__itmar_pickup_store__\";\n\nfunction getGlobalStore() {\n\tif (!window[GLOBAL_KEY]) {\n\t\twindow[GLOBAL_KEY] = { contexts: new Map() };\n\t}\n\treturn window[GLOBAL_KEY];\n}\n\nconst contexts = getGlobalStore().contexts;\n\nfunction createCtx(id) {\n\treturn {\n\t\tid,\n\t\tpickupEl: null,\n\t\tdataset: {},\n\t\tstate: {\n\t\t\tpage: 0,\n\t\t\tsearchKeyWord: \"\",\n\t\t\tperiodDisp: \"\",\n\t\t\tperiodQueryObj: {},\n\t\t\ttermParamObj: null,\n\t\t\ttermQueryObj: [],\n\t\t\tposts: [],\n\t\t\trawPosts: null,\n\t\t\ttargetIndex: -1,\n\t\t\ttotal: 0,\n\t\t},\n\t\tlisteners: new Set(),\n\t\tcache: {\n\t\t\ttaxonomies: null,\n\t\t},\n\t\tinflight: {\n\t\t\tabort: null,\n\t\t},\n\t};\n}\n\nexport function ensureCtx(id) {\n\tif (!id) return null;\n\tif (!contexts.has(id)) contexts.set(id, createCtx(id));\n\treturn contexts.get(id);\n}\n\nexport function registerPickup(pickupEl) {\n\tconst id = pickupEl?.dataset?.pickup_id;\n\tif (!id) return null;\n\n\tconst ctx = ensureCtx(id);\n\tctx.pickupEl = pickupEl;\n\tctx.dataset = { ...pickupEl.dataset };\n\treturn ctx;\n}\n\nexport function getCtx(id) {\n\treturn contexts.get(id) || null;\n}\n\nexport function subscribe(id, fn) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return () => {};\n\tctx.listeners.add(fn);\n\tfn(ctx); // 初回通知\n\treturn () => ctx.listeners.delete(fn);\n}\n\nexport function setState(id, partial) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return;\n\tctx.state = { ...ctx.state, ...partial };\n\tctx.listeners.forEach((l) => l(ctx));\n}\n"],"names":["GLOBAL_KEY","getGlobalStore","window","contexts","Map","createCtx","id","pickupEl","dataset","state","page","searchKeyWord","periodDisp","periodQueryObj","termParamObj","termQueryObj","posts","rawPosts","targetIndex","total","listeners","Set","cache","taxonomies","inflight","abort","ensureCtx","has","set","get","registerPickup","_pickupEl$dataset","pickup_id","ctx","_objectSpread","getCtx","subscribe","fn","add","delete","setState","partial","forEach","l"],"mappings":"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"}
|
package/package.json
CHANGED