store
2 months ago
GenerateBgImage.js
2 months ago
block-duplicate-helper.js
2 months ago
capitalize.js
2 months ago
color-code-to-class.js
2 months ago
color-slug-to-color-code.js
2 months ago
common.scss
2 weeks ago
convert-to-grid.js
2 months ago
default-color-palette.js
2 months ago
delete-from-array.js
2 months ago
depModules.js
2 months ago
disable-links.js
2 weeks ago
empty-string-to-undefined.js
2 months ago
example-data.js
2 months ago
fixBrokenUnicode.js
2 months ago
font-awesome-new.js
2 weeks ago
font-awesome-version.js
2 months ago
font-awesome.js
2 months ago
formatNumCol.js
2 months ago
gradient-slug-to-gradient-code.js
2 months ago
heading-level-utils.js
2 months ago
hex-to-rgba.js
2 months ago
horizontal-scroll-controls.js
2 months ago
icon-label.js
2 weeks ago
is-excludes-blocks.js
2 months ago
is-gradient-style.js
2 months ago
is-hex-color.js
2 months ago
is-not-json.js
2 months ago
is-parent-reusable-block.js
21 hours ago
merge-colors.js
2 months ago
multi-array-flaten.js
2 months ago
removeProperty.js
2 months ago
replaceClientId.js
2 months ago
sanitizeSlug.js
2 months ago
settings-page-url.js
2 weeks ago
strip-html.js
2 months ago
taxonomy-utils.js
2 months ago
to-number.js
2 months ago
to-preset-spacing-var.js
2 months ago
unit-options.js
2 months ago
wrap-unwrap.js
2 months ago
is-excludes-blocks.js
100 lines
| 1 | /** |
| 2 | * WordPress dependencies |
| 3 | */ |
| 4 | import { getBlockTypes } from '@wordpress/blocks'; |
| 5 | |
| 6 | // Check the keyword including str or not |
| 7 | export const inString = (str, keyword) => { |
| 8 | // If keyword was included that return ( true or false ) |
| 9 | return str.indexOf(keyword) !== -1; |
| 10 | }; |
| 11 | |
| 12 | // The checking block is hidden function target or not |
| 13 | export const isExcludesBlocks = ({ blockName, addExclude }) => { |
| 14 | // Target of hidden function active |
| 15 | const allowed = ['core', 'vk-blocks']; |
| 16 | // name には allowed の� |
| 17 | 目が一つずつ� |
| 18 | �る |
| 19 | // 判断中のブロック名の中にname( core or vk-blocks )がある( undefinedじゃない )場合 |
| 20 | // true を返す |
| 21 | let hiddenReturn = |
| 22 | allowed.find((name) => inString(blockName, name)) !== undefined; |
| 23 | |
| 24 | const blockArr = getBlockTypes(); |
| 25 | // "customClassName": false,のブロックを取得する |
| 26 | const notUseCustomClassNameBlockArray = blockArr.filter( |
| 27 | (block) => block.supports.customClassName === false |
| 28 | ); |
| 29 | const notUseCustomClassNameBlockLists = notUseCustomClassNameBlockArray.map( |
| 30 | (item) => item.name |
| 31 | ); |
| 32 | // console.log(blockArr); |
| 33 | |
| 34 | // コアブロックのdynamic blockを取得する |
| 35 | const dynamicBlockArray = []; |
| 36 | for (let i = 0; i < blockArr.length; i++) { |
| 37 | if (blockArr[i].name.match(/core/)) { |
| 38 | if (blockArr[i].save.name === 'save') { |
| 39 | dynamicBlockArray.push(blockArr[i]); |
| 40 | } |
| 41 | } |
| 42 | } |
| 43 | // これでコアのdynamic blockを取得出来ているはずだがなぜかコアのブロックがすべて除外されるので一旦仮で手打ち実� |
| 44 | |
| 45 | // const dynamicBlockLists = dynamicBlockArray.map((item) => item.name); |
| 46 | // console.log(dynamicBlockLists); |
| 47 | |
| 48 | const dynamicBlockLists = [ |
| 49 | 'core/archives', |
| 50 | 'core/audio', |
| 51 | 'core/calendar', |
| 52 | 'core/categories', |
| 53 | 'core/latest-comments', |
| 54 | 'core/latest-posts', |
| 55 | 'core/page-list', |
| 56 | 'core/pattern', |
| 57 | 'core/block', |
| 58 | 'core/rss', |
| 59 | 'core/search', |
| 60 | //'core/social-link', |
| 61 | 'core/tag-cloud', |
| 62 | //'core/site-logo', |
| 63 | //'core/site-title', |
| 64 | //'core/site-tagline', |
| 65 | 'core/template-part', |
| 66 | 'core/post-title', |
| 67 | 'core/post-excerpt', |
| 68 | 'core/post-featured-image', |
| 69 | 'core/post-content', |
| 70 | 'core/post-author', |
| 71 | 'core/post-date', |
| 72 | 'core/post-terms', |
| 73 | 'core/post-navigation-link', |
| 74 | 'core/query-pagination-next', |
| 75 | 'core/query-pagination-numbers', |
| 76 | 'core/query-pagination-previous', |
| 77 | 'core/post-comments', |
| 78 | 'core/loginout', |
| 79 | 'core/term-description', |
| 80 | 'core/query-title', |
| 81 | ]; |
| 82 | |
| 83 | // 除外するブロック名をまとめる |
| 84 | const excludesBlocks = [ |
| 85 | ...dynamicBlockLists, |
| 86 | ...notUseCustomClassNameBlockLists, |
| 87 | ...addExclude, |
| 88 | ]; |
| 89 | |
| 90 | const excludeBlock = |
| 91 | excludesBlocks.find((excludeName) => |
| 92 | inString(blockName, excludeName) |
| 93 | ) !== undefined; |
| 94 | |
| 95 | if (excludeBlock) { |
| 96 | hiddenReturn = false; |
| 97 | } |
| 98 | return hiddenReturn; |
| 99 | }; |
| 100 |