Start implementation of 'get_comment_delimited_template' method
This commit is contained in:
parent
214d6341a0
commit
9096ddd331
|
@ -152,4 +152,9 @@ interface BlockInterface {
|
||||||
* @return array The block configuration as a formatted template.
|
* @return array The block configuration as a formatted template.
|
||||||
*/
|
*/
|
||||||
public function get_formatted_template(): array;
|
public function get_formatted_template(): array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
public function get_comment_delimited_template();
|
||||||
}
|
}
|
||||||
|
|
|
@ -200,6 +200,26 @@ trait BlockContainerTrait {
|
||||||
return $arr;
|
return $arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
public function get_comment_delimited_template() {
|
||||||
|
|
||||||
|
$arr = [];
|
||||||
|
$inner_blocks = $this->get_inner_blocks_sorted_by_order();
|
||||||
|
if ( ! empty( $inner_blocks ) ) {
|
||||||
|
$arr = array_map(
|
||||||
|
function( BlockInterface $block ) {
|
||||||
|
return $block->get_comment_delimited_template();
|
||||||
|
},
|
||||||
|
$inner_blocks
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return get_comment_delimited_block_content( $this->get_name(), $this->get_attributes(), "\n<div>\n" . implode( "\n", $arr ) . "\n</div>\n" );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do the `woocommerce_block_template_after_add_block` action.
|
* Do the `woocommerce_block_template_after_add_block` action.
|
||||||
* Handle exceptions thrown by the action.
|
* Handle exceptions thrown by the action.
|
||||||
|
|
|
@ -31,6 +31,12 @@ trait BlockFormattedTemplateTrait {
|
||||||
|
|
||||||
return $arr;
|
return $arr;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
public function get_comment_delimited_template() {
|
||||||
|
return get_comment_delimited_block_content( $this->get_name(), $this->get_attributes(), '' );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the block hide conditions formatted for inclusion in a formatted template.
|
* Get the block hide conditions formatted for inclusion in a formatted template.
|
||||||
|
|
|
@ -674,4 +674,44 @@ class BlockTest extends WC_Unit_Test_Case {
|
||||||
|
|
||||||
$this->assertSame( 'test-value', $block->get_attributes()['test-attr'] );
|
$this->assertSame( 'test-value', $block->get_attributes()['test-attr'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_get_comment_delimited_formatted_template() {
|
||||||
|
$template = new BlockTemplate();
|
||||||
|
|
||||||
|
$block = $template->add_block(
|
||||||
|
array(
|
||||||
|
'id' => 'test-block-id',
|
||||||
|
'blockName' => 'test-block-name',
|
||||||
|
'attributes' => array(
|
||||||
|
'attr-1' => 'value-1',
|
||||||
|
'attr-2' => 'value-2',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$block->add_hide_condition( 'foo === bar' );
|
||||||
|
|
||||||
|
$block->add_disable_condition( 'test > 100' );
|
||||||
|
|
||||||
|
$block->add_block(
|
||||||
|
array(
|
||||||
|
'id' => 'test-block-id-2',
|
||||||
|
'blockName' => 'test-block-name-2',
|
||||||
|
'attributes' => array(
|
||||||
|
'attr-3' => 'value-3',
|
||||||
|
'attr-4' => 'value-4',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$block->add_block(
|
||||||
|
array(
|
||||||
|
'id' => 'test-block-id-3',
|
||||||
|
'blockName' => 'test-block-name-3',
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->assertSame( 'test-value', $block->get_comment_delimited_template() ); // TODO it's a wrong assumption.
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue