class _HtmlGenerator { static _getAttrClass (str, {classListAdditional = null} = {}) { const pts = [ str, classListAdditional?.length ? classListAdditional.join(" ") : "", ] .filter(Boolean) .join(" "); if (!pts) return null; return `class="${pts}"`; } } export class HtmlGeneratorListButtons extends _HtmlGenerator { static getBtnPreviewToggle () { return ``; } static getBtnSource () { return ``; } /** * @param {?string} width * @param {?string} sortIdent * @param {string} text * @param {?string} title * @param {?boolean} isDisabled * @param {?Array} classListAdditional * @return {string} */ static getBtn ( { width = null, sortIdent = null, text, title = null, isDisabled = false, classListAdditional = null, }, ) { const attrs = [ this._getAttrClass(`${width ? `ve-col-${width}` : `ve-grow`} sort btn btn-default btn-xs`, {classListAdditional}), sortIdent ? `data-sort="${sortIdent}"` : null, title ? `title="${title}"` : null, isDisabled ? `disabled` : null, ] .filter(Boolean) .join(" "); return ``; } }