Updated build process of ACF Block.
Added initBlock function.
This commit is contained in:
@@ -1,5 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
// Blocks Initialization.
|
||||||
|
function initBlock(blockName = '', selector = '', cb) {
|
||||||
|
document.querySelectorAll(selector).forEach((el) => cb(el));
|
||||||
|
}
|
||||||
|
|
||||||
// Scrollbars / Frame resizes notifications.
|
// Scrollbars / Frame resizes notifications.
|
||||||
(function () {
|
(function () {
|
||||||
let height;
|
let height;
|
||||||
|
|||||||
@@ -2,18 +2,16 @@
|
|||||||
|
|
||||||
namespace AXEWEB_Blocks\Blocks\<%= ownerClass %>\<%= blockClassModel %>;
|
namespace AXEWEB_Blocks\Blocks\<%= ownerClass %>\<%= blockClassModel %>;
|
||||||
|
|
||||||
include_once __DIR__ . "/helpers/<%= blockClassModel %>_Defaults.php";
|
|
||||||
include_once __DIR__ . "/helpers/<%= blockClassModel %>_API.php";
|
|
||||||
|
|
||||||
class <%= blockClassModel %>_Component extends \Core\Component {
|
class <%= blockClassModel %>_Component extends \Core\Component {
|
||||||
|
|
||||||
public function get_content( $args = [] ): string {
|
public function get_content( $args = [] ): string {
|
||||||
$args = array_merge( Helpers\<%= blockClassModel %>_Defaults::default_args(), $args );
|
$default_args = apply_filters( 'axeweb_blocks/<%= ownerFilename %>/<%= blockFilename %>::default_args', [] ); // Not really practical.
|
||||||
$args = Helpers\<%= blockClassModel %>_API::prepare_args( $args );
|
|
||||||
|
|
||||||
$output = ( include( __DIR__ . '/templates/<%= blockFilename %>.template.php' ) )( array_merge( [], $args ), self::class );
|
$args = apply_filters( 'axeweb_blocks/<%= ownerFilename %>/<%= blockFilename %>::prepare_args', array_merge( $default_args, $args ) );
|
||||||
//return apply_filters( 'the_content', $output );
|
|
||||||
return $output;
|
$output = ( include( __DIR__ . '/templates/<%= blockFilename %>.template.php' ) )( $args, self::class );
|
||||||
|
|
||||||
|
return apply_filters( 'axeweb_blocks/<%= ownerFilename %>/<%= blockFilename %>::content', $output );
|
||||||
}
|
}
|
||||||
|
|
||||||
<% if (!include_acf_block && !include_native_gutenberg_block) { %>function register_assets(): void {
|
<% if (!include_acf_block && !include_native_gutenberg_block) { %>function register_assets(): void {
|
||||||
@@ -37,21 +35,17 @@ class <%= blockClassModel %>_Component extends \Core\Component {
|
|||||||
|
|
||||||
<% } %><% if (include_acf_block) { %> function register_acf_block() {
|
<% } %><% if (include_acf_block) { %> function register_acf_block() {
|
||||||
$this->register_block( __DIR__ . "/<%= blockFilename %>.block.json", [
|
$this->register_block( __DIR__ . "/<%= blockFilename %>.block.json", [
|
||||||
'enqueue_assets' => function () {
|
'style_assets' => [
|
||||||
wp_enqueue_style( 'block-<%= blockFilename %>', plugins_url( 'templates/styles/<%= blockFilename %>.min.css', __FILE__ ), ['assets-style'], get_blocks_version() );<% if (include_script) { %>
|
[
|
||||||
wp_enqueue_script( 'block-<%= blockFilename %>', plugins_url( 'templates/scripts/<%= blockFilename %>.min.js', __FILE__ ), ['assets-script'], get_blocks_version(), true );<% } %>
|
'name' => '<%= blockFilename %>',
|
||||||
},
|
'url' => plugins_url( 'templates/styles/<%= blockFilename %>.min.css', __FILE__ ),
|
||||||
'default' => Helpers\<%= blockClassModel %>_Defaults::default_args(),
|
]
|
||||||
'supports' => [
|
|
||||||
//'jsx' => true,
|
|
||||||
'color' => [
|
|
||||||
'background' => true,
|
|
||||||
'text' => true,
|
|
||||||
],
|
|
||||||
'spacing' => [
|
|
||||||
'margin' => [ 'top', 'bottom' ],
|
|
||||||
'padding' => [ 'top', 'bottom' ]
|
|
||||||
],
|
],
|
||||||
|
'script_assets' => [
|
||||||
|
[
|
||||||
|
'name' => '<%= blockFilename %>',
|
||||||
|
'url' => plugins_url( 'templates/scripts/<%= blockFilename %>.min.js', __FILE__ ),
|
||||||
|
]
|
||||||
]
|
]
|
||||||
] );
|
] );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,13 +67,13 @@ export async function buildWordPress(blockName, isBlock = false, isElementor = f
|
|||||||
json: await readJSONFile(path.join(projectPath, 'data', 'default.json'), "utf8"),
|
json: await readJSONFile(path.join(projectPath, 'data', 'default.json'), "utf8"),
|
||||||
});
|
});
|
||||||
|
|
||||||
await createFiles(Object.assign({}, data, {defaultData: phpDataObject}), [{
|
// await createFiles(Object.assign({}, data, {defaultData: phpDataObject}), [{
|
||||||
from: `templates/helpers/Template_Defaults.php`,
|
// from: `templates/helpers/Template_Defaults.php`,
|
||||||
to: `helpers/${data.blockClassModel}_Defaults.php`,
|
// to: `helpers/${data.blockClassModel}_Defaults.php`,
|
||||||
}], {
|
// }], {
|
||||||
pathDist: distPath,
|
// pathDist: distPath,
|
||||||
generatorsPath: path.join(__dirname),
|
// generatorsPath: path.join(__dirname),
|
||||||
});
|
// });
|
||||||
|
|
||||||
if (isElementor) {
|
if (isElementor) {
|
||||||
await createFiles(data, [{
|
await createFiles(data, [{
|
||||||
@@ -94,13 +94,13 @@ export async function buildWordPress(blockName, isBlock = false, isElementor = f
|
|||||||
generatorsPath: path.join(__dirname)
|
generatorsPath: path.join(__dirname)
|
||||||
});
|
});
|
||||||
|
|
||||||
await createFiles(data, [{
|
// await createFiles(data, [{
|
||||||
from: `templates/helpers/Template_API.php`,
|
// from: `templates/helpers/Template_API.php`,
|
||||||
to: `helpers/${data.blockClassModel}_API.php`,
|
// to: `helpers/${data.blockClassModel}_API.php`,
|
||||||
}], {
|
// }], {
|
||||||
pathDist: distPath,
|
// pathDist: distPath,
|
||||||
generatorsPath: path.join(__dirname)
|
// generatorsPath: path.join(__dirname)
|
||||||
});
|
// });
|
||||||
} else {
|
} else {
|
||||||
await createFiles(data, [{
|
await createFiles(data, [{
|
||||||
from: `templates/Template_Basic_Component.php`,
|
from: `templates/Template_Basic_Component.php`,
|
||||||
|
|||||||
Reference in New Issue
Block a user