import blockquotes from "./Blockquotes.js"; const tabList = [ { label: "标题", name: "titleList", }, { label: "正文", name: "contentList", }, // { // label:'图片', // name:'imageList' // }, { label: "引导", name: "concernList", }, // { // label:'场景', // name:'sceneList' // }, { label: "布局", name: "layoutList", }, { label: "分隔符", name: "separatorList", }, // { // label:'模板', // name:'tempalteList' // } ]; const useTemplate = (domId) => { let dom = document.getElementById(domId); let doc = document.getElementById(domId + "-iframe").contentDocument; let hhHeight = document.getElementById(`${domId}container`).offsetHeight; dom.style.position = "relative"; let width = 375; dom.style.marginLeft = width + "px"; let section = document.createElement("section"); section.id = `${domId}Template`; section.className = "rich-text-template"; section.style.cssText = `width:${width}px;position:absolute;top:0;left:-${ width + 1 }px;border:1px solid #a0a0a0;`; dom.appendChild(section); let html = `
`; for (let i = 0; i < tabList.length; i++) { let item = tabList[i]; html += `
${ item.label }
`; } html += "
"; html += `
`; html += ``; for (let i = 0; i < blockquotes.titleList.length; i++) { let item = blockquotes.titleList[i]; html += `
`; html += item; html += `
`; } html += "
"; html += "
"; document.getElementById(`${domId}Template`).innerHTML = html; let tabEleList = document.getElementsByClassName(`tab-${domId}`); let clickTemplate = () => { let temList = document.getElementsByClassName(`${domId}templateArticle`); for (let i = 0; i < temList.length; i++) { let item = temList[i]; item.onclick = (e) => { //console.log("e", e.target.parentNode); let el = e.target; while (el.className.indexOf(`${domId}templateArticle`) === -1) { el = el.parentNode; } doc.body.focus(); doc.execCommand("insertHTML", false, el.innerHTML + "
"); }; } }; clickTemplate(); for (let i = 0; i < tabEleList.length; i++) { let item = tabEleList[i]; item.onclick = (e) => { let el = e.target; let type = el.dataset.type; if (el.style.backgroundColor !== "#ffffff") { let checkDom = document.getElementById(`${domId}checkTab`); checkDom.style.backgroundColor = "rgb(0,0,0,.2)"; checkDom.id = ""; el.style.backgroundColor = "#ffffff"; el.id = `${domId}checkTab`; let checkHtml = ""; let checkList = blockquotes[type]; for (let j = 0; j < checkList.length; j++) { checkHtml += `
`; checkHtml += checkList[j]; checkHtml += `
`; } document.getElementById(`${domId}tabContent`).innerHTML = checkHtml; setTimeout(() => { clickTemplate(); }, 30); } }; } }; export default useTemplate;