UNPKG

kk-webpack-base--config

Version:

Webpack config for kk-webpack-base

127 lines (119 loc) 2.97 kB
const { lorem } = require('./common-functions'); const editableBase = { isEmpty(empty = false) { return empty; }, }; exports.functions = { pimcore_image(id = null, options = {}) { if (id === null) { return ''; } const height = 'height' in options ? options.height : 600; const width = 'width' in options ? options.width : 800; const image = `<img src="https://picsum.photos/seed/${id}/${width}/${height}" />`; return { ...editableBase, toString() { return image; }, }; }, pimcore_headline(id = null, options = {}) { if (id === null) { return ''; } const classes = []; const placeholder = options.placeholder ? options.placeholder : 'Headline'; const headlineSeo = options.default?.headlineSeo ? options.default.headlineSeo : 'h3'; options.default?.headlineVisual ? classes.push(options.default.headlineVisual) : null; options.headlineClass ? classes.push(options.headlineClass) : null; const classesAttr = classes.length > 0 ? ` class="${classes.join(' ')}"` : ''; const headline = `<${headlineSeo}${classesAttr}>${placeholder}</${headlineSeo}>`; return { ...editableBase, toString() { return headline; }, }; }, pimcore_input(id = null, options = {}) { if (id === null) { return ''; } const placeholder = options.placeholder ? options.placeholder : lorem(25, false); return { ...editableBase, toString() { return placeholder; }, }; }, pimcore_textarea(id = null, options = {}) { if (id === null) { return ''; } const placeholder = options.placeholder ? options.placeholder : lorem(150); return { ...editableBase, toString() { return placeholder; }, }; }, pimcore_wysiwyg(id = null, options = {}) { if (id === null) { return ''; } const placeholder = options.placeholder ? options.placeholder : ` <h4>${lorem(20, false)}</h4> <p>${lorem(50, false)}</p> <ol> <li>${lorem(10, false)}</li> <li>${lorem(5, false)}</li> <li> ${lorem(15, false)} <ul> <li>${lorem(10, false)}</li> <li>${lorem(5, false)}</li> </ul> </li> <li>${lorem(5, false)}</li> </ol> <h5>${lorem(30, false)}</h5> <p>${lorem(90, false)} <a href="#">${lorem(15)}</a> ${lorem(40)}</p> `; return { ...editableBase, toString() { return placeholder; }, }; }, pimcore_select() { return null; }, pimcore_block(name, options) { const opt = { default: 5, limit: 99, ...options }; const iterator = opt.limit < opt.default ? opt.limit : opt.default; return { iterator: [...Array(iterator).keys()] } }, has(editable) { return !!editable; }, };