From 5a416f9c3eac53f38cdaa93d082ae5b2ef7e1384 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 27 Sep 2021 13:37:24 +0200 Subject: [PATCH] Add new methods to Block --- src/block_manager/index.js | 2 ++ src/block_manager/model/Block.js | 42 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/src/block_manager/index.js b/src/block_manager/index.js index 1d529b318..549c81566 100644 --- a/src/block_manager/index.js +++ b/src/block_manager/index.js @@ -153,6 +153,8 @@ export default () => { if (!el) return this.__logWarn('"appendTo" element not found'); el.appendChild(this.render(blocksVisible.models)); } + + this.__trgCustom(); }, /** diff --git a/src/block_manager/model/Block.js b/src/block_manager/model/Block.js index 10bf862fd..d62654fd5 100644 --- a/src/block_manager/model/Block.js +++ b/src/block_manager/model/Block.js @@ -1,4 +1,5 @@ import { Model } from 'common'; +import { isFunction } from 'underscore'; /** * @property {String} label Block label, eg. `My block` @@ -27,4 +28,45 @@ export default class Block extends Model { attributes: {} }; } + + /** + * Get block id + * @returns {String} + */ + getId() { + return this.id; + } + + /** + * Get block label + * @returns {String} + */ + getLabel() { + return this.get('label'); + } + + /** + * Get block media + * @returns {String} + */ + getMedia() { + return this.get('media'); + } + + /** + * Get block content + * @returns {Object|String|Array} Component definition | HTML string + */ + getContent() { + return this.get('content'); + } + + /** + * Get block category label + * @returns {String} + */ + getCategoryLabel() { + const ctg = this.get('category'); + return isFunction(ctg.get) ? ctg.get('label') : ctg.label ? ctg.label : ctg; + } }