UNPKG

@lattln/editorjs-formdep-utils

Version:

Utility functions for EditorJS custom form block tools

109 lines (108 loc) 3.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SvgImg = SvgImg; exports.createRenderOption = createRenderOption; exports.deleteBlockBtn = deleteBlockBtn; exports.initalRating = exports.initalQuestion = exports.initalOption = exports.initalGlobal = void 0; exports.setUpPlaceHolder = setUpPlaceHolder; var _editorjsFormdepSvgicons = require("@lattln/editorjs-formdep-svgicons"); function setUpPlaceHolder(element, defaultparm, importedData) { var isInput = element.tagName === 'INPUT' || element.tagName === 'TEXTAREA'; var defaultText = defaultparm; importedData = importedData !== null || undefined ? importedData : defaultparm; if (isInput) { if (!element.value) { element.placeholder = importedData; } } else { if (importedData && importedData !== defaultparm) { element.textContent = importedData; } else if (!importedData || importedData === defaultparm) { element.textContent = defaultText; element.classList.add('text-placeholder'); } } ['click', 'focus'].forEach(function (e) { element.addEventListener(e, function () { if (!isInput && element.textContent === defaultText) { setTimeout(function () { element.textContent = ''; element.classList.remove('text-placeholder'); element.focus(); }, 100); } else if (isInput && element.value.trim() === '') { setTimeout(function () { element.placeholder = ''; element.focus(); }, 100); } }); }); element.addEventListener('blur', function () { if (!isInput && element.textContent.trim() === '') { element.textContent = defaultText; element.classList.add('text-placeholder'); } else if (isInput && element.value.trim() === '') { element.placeholder = defaultText; } }); } function deleteBlockBtn(wrapper, api) { var delContainer = document.createElement('div'); var deleteBtn = document.createElement('button'); delContainer.classList.add('deleteBlockBtn-container'); deleteBtn.classList.add('deleteBlockBtn'); deleteBtn.innerHTML = _editorjsFormdepSvgicons.trashCan_Icon; deleteBtn.addEventListener('click', function () { return api.blocks["delete"](); }); delContainer.appendChild(deleteBtn); wrapper.appendChild(delContainer); } var initalQuestion = exports.initalQuestion = 'Enter a question... '; var initalOption = exports.initalOption = 'Enter Option... '; var initalRating = exports.initalRating = 'Rating...'; var initalGlobal = exports.initalGlobal = 'Enter '; function SvgImg(_ref) { var icon = _ref.icon, text = _ref.text; var svgStr = icon; var svg = new Blob([svgStr], { type: 'image/svg+xml' }); var url = URL.createObjectURL(svg); var inlineStyle = { display: 'flex' }; var margin = { margin: 0, marginLeft: 5 }; return /*#__PURE__*/React.createElement("div", { style: inlineStyle }, /*#__PURE__*/React.createElement("img", { src: url, alt: "icon" }), " ", /*#__PURE__*/React.createElement("p", { style: margin }, text)); } function createRenderOption(name, icon, appendTo, optionTask) { var optionsContainer = document.createElement('div'); var optionIcon = document.createElement('button'); var optionLabel = document.createElement('p'); optionsContainer.classList.add('cdx-block'); optionsContainer.classList.add('renderSetting-option'); optionIcon.classList.add('renderSetting-button'); optionLabel.classList.add('renderSetting-label'); optionIcon.innerHTML = icon; optionLabel.textContent = name; optionsContainer.addEventListener('click', function () { return optionTask(); }); optionsContainer.appendChild(optionIcon); optionsContainer.appendChild(optionLabel); appendTo.appendChild(optionsContainer); }