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;