feat: integrate luckysheet inline and fullscreen
This commit is contained in:
@@ -0,0 +1,642 @@
|
||||
import {getFontStyleByCell, textTrim} from "../global/getdata";
|
||||
import {selectTextContent,selectTextContentCross,selectTextContentCollapse} from '../global/cursorPos';
|
||||
import locale from '../locale/locale';
|
||||
import Store from '../store';
|
||||
|
||||
export const inlineStyleAffectAttribute = {"bl":1, "it":1 , "ff":1, "cl":1, "un":1,"fs":1,"fc":1};
|
||||
export const inlineStyleAffectCssName = {"font-weight":1, "font-style":1 , "font-family":1, "text-decoration":1, "border-bottom":1,"font-size":1,"color":1};
|
||||
|
||||
export function isInlineStringCell(cell){
|
||||
let isIs = cell && cell.ct!=null && cell.ct.t=="inlineStr" && cell.ct.s!=null && cell.ct.s.length>0;
|
||||
return isIs;
|
||||
}
|
||||
|
||||
export function isInlineStringCT(ct){
|
||||
let isIs = ct!=null && ct.t=="inlineStr" && ct.s!=null && ct.s.length>0;
|
||||
return isIs;
|
||||
}
|
||||
|
||||
export function updateInlineStringFormat(cell, attr, value, $input){
|
||||
// let s = Store.inlineStringEditCache;
|
||||
var w = window.getSelection();
|
||||
var range;
|
||||
if(w.type=="None"){
|
||||
range = Store.inlineStringEditRange;
|
||||
}
|
||||
else{
|
||||
range = w.getRangeAt(0);
|
||||
}
|
||||
|
||||
|
||||
// if(isInlineStringCell(cell)){
|
||||
// if(Store.inlineStringEditCache==null){
|
||||
// Store.inlineStringEditCache = JSON.parse(JSON.stringify(cell.ct.s));
|
||||
// }
|
||||
// }
|
||||
// else{
|
||||
// Store.inlineStringEditCache = [{
|
||||
// v:cell.v
|
||||
// }];
|
||||
// }
|
||||
|
||||
let cac = range.commonAncestorContainer;
|
||||
let $textEditor;
|
||||
if(cac.id=="luckysheet-rich-text-editor"){
|
||||
$textEditor = $(cac);
|
||||
}
|
||||
else{
|
||||
$textEditor = $(cac).closest("#luckysheet-rich-text-editor");
|
||||
}
|
||||
let $functionbox = $(cac).closest("#luckysheet-functionbox-cell");
|
||||
|
||||
if($textEditor.length==0 && $functionbox.length==0 && Store.inlineStringEditRange!=null){
|
||||
range = Store.inlineStringEditRange;
|
||||
cac = range.commonAncestorContainer;
|
||||
if(cac.id=="luckysheet-rich-text-editor"){
|
||||
$textEditor = $(cac);
|
||||
}
|
||||
else{
|
||||
$textEditor = $(cac).closest("#luckysheet-rich-text-editor");
|
||||
}
|
||||
$functionbox = $(cac).closest("#luckysheet-functionbox-cell");
|
||||
}
|
||||
|
||||
if(range.collapsed===true){
|
||||
return;
|
||||
}
|
||||
|
||||
let endContainer = range.endContainer, startContainer = range.startContainer;
|
||||
let endOffset = range.endOffset, startOffset = range.startOffset;
|
||||
|
||||
if($textEditor.length>0){
|
||||
if(startContainer===endContainer){
|
||||
let span = startContainer.parentNode, spanIndex, inherit=false;
|
||||
|
||||
let content = span.innerText;
|
||||
|
||||
let fullContent = $textEditor.html();
|
||||
if(fullContent.substr(0,5) != "<span"){
|
||||
inherit = true;
|
||||
}
|
||||
|
||||
let left="" , mid="" , right="";
|
||||
let s1=0, s2=startOffset, s3 = endOffset, s4=content.length;
|
||||
left = content.substring(s1, s2);
|
||||
mid = content.substring(s2, s3);
|
||||
right = content.substring(s3, s4);
|
||||
|
||||
let cont = "";
|
||||
if(left!=""){
|
||||
let cssText = span.style.cssText;
|
||||
if(inherit){
|
||||
let box = $(span).closest("#luckysheet-input-box").get(0);
|
||||
if(box!=null){
|
||||
cssText = extendCssText(box.style.cssText, cssText);
|
||||
}
|
||||
}
|
||||
cont += "<span style='"+ cssText +"'>" + left + "</span>";
|
||||
}
|
||||
|
||||
if(mid!=""){
|
||||
// let styleObj = {};
|
||||
// styleObj[attr] = value;
|
||||
// let s = getFontStyleByCell(styleObj, undefined, undefined, false);
|
||||
// let ukey = textTrim(s.substr(0, s.indexOf(':')));
|
||||
// let uvalue = textTrim(s.substr(s.indexOf(':')+1));
|
||||
// uvalue = uvalue.substr(0, uvalue.length-1);
|
||||
// let cssText = span.style.cssText;
|
||||
// cssText = removeClassWidthCss(cssText, attr);
|
||||
|
||||
let cssText = getCssText(span.style.cssText, attr, value);
|
||||
|
||||
if(inherit){
|
||||
let box = $(span).closest("#luckysheet-input-box").get(0);
|
||||
if(box!=null){
|
||||
cssText = extendCssText(box.style.cssText, cssText);
|
||||
}
|
||||
}
|
||||
|
||||
cont += "<span style='"+ cssText +"'>" + mid + "</span>";
|
||||
}
|
||||
|
||||
if(right!=""){
|
||||
let cssText = span.style.cssText;
|
||||
if(inherit){
|
||||
let box = $(span).closest("#luckysheet-input-box").get(0);
|
||||
if(box!=null){
|
||||
cssText = extendCssText(box.style.cssText, cssText);
|
||||
}
|
||||
}
|
||||
cont += "<span style='"+ cssText +"'>" + right + "</span>";
|
||||
}
|
||||
|
||||
if(startContainer.parentNode.tagName=="SPAN"){
|
||||
spanIndex = $textEditor.find("span").index(span);
|
||||
$(span).replaceWith(cont);
|
||||
}
|
||||
else{
|
||||
spanIndex = 0;
|
||||
$(span).html(cont);
|
||||
}
|
||||
|
||||
|
||||
let seletedNodeIndex = 0;
|
||||
if(s1==s2){
|
||||
seletedNodeIndex = spanIndex;
|
||||
}
|
||||
else{
|
||||
seletedNodeIndex = spanIndex+1;
|
||||
}
|
||||
|
||||
selectTextContent($textEditor.find("span").get(seletedNodeIndex));
|
||||
}
|
||||
else{
|
||||
if(startContainer.parentNode.tagName=="SPAN" && endContainer.parentNode.tagName=="SPAN"){
|
||||
let startSpan = startContainer.parentNode, startSpanIndex;
|
||||
let endSpan = endContainer.parentNode, endSpanIndex;
|
||||
|
||||
startSpanIndex = $textEditor.find("span").index(startSpan);
|
||||
endSpanIndex = $textEditor.find("span").index(endSpan);
|
||||
|
||||
let startContent = startSpan.innerHTML, endContent = endSpan.innerHTML;
|
||||
let sleft="" , sright="", eleft="" , eright="";
|
||||
let s1=0, s2=startOffset, s3 = endOffset, s4=endContent.length;
|
||||
|
||||
sleft = startContent.substring(s1, s2);
|
||||
sright = startContent.substring(s2, startContent.length);
|
||||
|
||||
eleft = endContent.substring(0, s3);
|
||||
eright = endContent.substring(s3, s4);
|
||||
let spans = $textEditor.find("span");
|
||||
let replaceSpans = spans.slice(startSpanIndex, endSpanIndex+1);
|
||||
let cont = "";
|
||||
for(let i=0;i<startSpanIndex;i++){
|
||||
let span = spans.get(i), content = span.innerHTML;
|
||||
cont += "<span style='"+ span.style.cssText +"'>" + content + "</span>";
|
||||
}
|
||||
if(sleft!=""){
|
||||
cont += "<span style='"+ startSpan.style.cssText +"'>" + sleft + "</span>";
|
||||
}
|
||||
|
||||
if(sright!=""){
|
||||
let cssText = getCssText(startSpan.style.cssText, attr, value);
|
||||
cont += "<span style='"+ cssText +"'>" + sright + "</span>";
|
||||
}
|
||||
|
||||
if(startSpanIndex<endSpanIndex){
|
||||
for(let i=startSpanIndex+1;i<endSpanIndex;i++){
|
||||
let span = spans.get(i), content = span.innerHTML;
|
||||
let cssText = getCssText(span.style.cssText, attr, value);
|
||||
cont += "<span style='"+ cssText +"'>" + content + "</span>";
|
||||
}
|
||||
}
|
||||
|
||||
if(eleft!=""){
|
||||
let cssText = getCssText(endSpan.style.cssText, attr, value);
|
||||
cont += "<span style='"+ cssText +"'>" + eleft + "</span>";
|
||||
}
|
||||
|
||||
if(eright!=""){
|
||||
cont += "<span style='"+ endSpan.style.cssText +"'>" + eright + "</span>";
|
||||
}
|
||||
|
||||
for(let i=endSpanIndex+1;i<spans.length;i++){
|
||||
let span = spans.get(i), content = span.innerHTML;
|
||||
cont += "<span style='"+ span.style.cssText +"'>" + content + "</span>";
|
||||
}
|
||||
|
||||
$textEditor.html(cont);
|
||||
|
||||
// console.log(replaceSpans, cont);
|
||||
// replaceSpans.replaceWith(cont);
|
||||
|
||||
let startSeletedNodeIndex, endSeletedNodeIndex;
|
||||
if(s1==s2){
|
||||
startSeletedNodeIndex = startSpanIndex;
|
||||
endSeletedNodeIndex = endSpanIndex;
|
||||
}
|
||||
else{
|
||||
startSeletedNodeIndex = startSpanIndex+1;
|
||||
endSeletedNodeIndex = endSpanIndex+1;
|
||||
}
|
||||
|
||||
spans = $textEditor.find("span");
|
||||
|
||||
selectTextContentCross(spans.get(startSeletedNodeIndex), spans.get(endSeletedNodeIndex));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if($functionbox.length>0){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export function enterKeyControll(cell){
|
||||
var w = window.getSelection();
|
||||
|
||||
if(w.type=="None"){
|
||||
return
|
||||
}
|
||||
var range = w.getRangeAt(0);
|
||||
let cac = range.commonAncestorContainer;
|
||||
let $textEditor;
|
||||
if(cac.id=="luckysheet-rich-text-editor"){
|
||||
$textEditor = $(cac);
|
||||
}
|
||||
else{
|
||||
$textEditor = $(cac).closest("#luckysheet-rich-text-editor");
|
||||
}
|
||||
let $functionbox = $(cac).closest("#luckysheet-functionbox-cell");
|
||||
|
||||
// if(range.collapsed===true){
|
||||
// return;
|
||||
// }
|
||||
|
||||
let endContainer = range.endContainer, startContainer = range.startContainer;
|
||||
let endOffset = range.endOffset, startOffset = range.startOffset;
|
||||
|
||||
if($textEditor.length>0){
|
||||
let startSpan = startContainer.parentNode;
|
||||
if(startContainer.id=="luckysheet-rich-text-editor"){
|
||||
startSpan = $(startContainer).find("span");
|
||||
if(startSpan.length==0){
|
||||
// 在末尾换行操作会导致数据丢失(覆盖)
|
||||
startContainer.innerHTML = `<span>${startContainer.innerText}</span>`;
|
||||
startSpan = $(startContainer).find("span");
|
||||
}
|
||||
startSpan = startSpan.get(startSpan.length-1);
|
||||
startOffset = startSpan.innerHTML.length;
|
||||
}
|
||||
// let startSpanIndex = $textEditor.find("span").index(startSpan);
|
||||
if(range.collapsed===false){
|
||||
range.deleteContents();
|
||||
}
|
||||
|
||||
// 如果拷贝的内容为:pc&web ,那么innerHTML得到的值为:pc&web ,执行换行操作存在问题
|
||||
// let startContent = startSpan.innerHTML;
|
||||
let startContent = startSpan.innerText;
|
||||
let sleft="" , sright="";
|
||||
let s1=0, s2=startOffset;
|
||||
|
||||
sleft = startContent.substring(s1, s2);
|
||||
sright = startContent.substring(s2, startContent.length);
|
||||
|
||||
|
||||
let spanIndex,cont;
|
||||
if(startContainer.parentNode.tagName=="SPAN"){
|
||||
let textSpan = $textEditor.find("span");
|
||||
spanIndex = textSpan.index(startSpan);
|
||||
if((spanIndex==textSpan.length-1) && sright==""){
|
||||
let txt = textSpan[spanIndex].innerHTML;
|
||||
if(txt.substr(txt.length-1, 1)=="\n"){
|
||||
cont = "<span style='"+ startSpan.style.cssText +"'>" + sleft + "\n" + "</span>";
|
||||
}
|
||||
else{
|
||||
cont = "<span style='"+ startSpan.style.cssText +"'>" + sleft + "\n\n" + "</span>";
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
cont = "<span style='"+ startSpan.style.cssText +"'>" + sleft + "\n" + sright + "</span>";
|
||||
}
|
||||
|
||||
$(startSpan).replaceWith(cont);
|
||||
}
|
||||
else{
|
||||
// 这里不能取整个单元格的样式,因为如果设置了部分样式的话就会出问题
|
||||
// let cssText = getFontStyleByCell(cell);
|
||||
|
||||
let cssText = startSpan.style.cssText;
|
||||
|
||||
if(sright==""){
|
||||
cont = "<span style='"+ cssText +"'>" + sleft + "\n\n" + "</span>";
|
||||
}
|
||||
else{
|
||||
cont = "<span style='"+ cssText +"'>" + sleft + "\n" + sright + "</span>";
|
||||
}
|
||||
|
||||
if(startContainer.id=="luckysheet-rich-text-editor"){
|
||||
$(startSpan).replaceWith(cont);
|
||||
let textSpan = $textEditor.find("span");
|
||||
spanIndex = textSpan.length-1;
|
||||
startOffset = textSpan.get(spanIndex).innerHTML.length-1;
|
||||
}
|
||||
else{
|
||||
$(startSpan).html(cont);
|
||||
spanIndex = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
selectTextContentCollapse($textEditor.find("span").get(spanIndex), startOffset+1);
|
||||
|
||||
}
|
||||
else if($functionbox.length>0){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export function updateInlineStringFormatOutside(cell, key, value){
|
||||
if(cell.ct==null){
|
||||
return;
|
||||
}
|
||||
let s = cell.ct.s;
|
||||
if(s==null){
|
||||
return;
|
||||
}
|
||||
for(let i=0;i<s.length;i++){
|
||||
let item = s[i];
|
||||
item[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
export function convertSpanToShareString($dom){
|
||||
let styles = [], preStyleList, preStyleListString=null;
|
||||
for(let i=0;i<$dom.length;i++){
|
||||
let span = $dom.get(i);
|
||||
let styleList = convertCssToStyleList(span.style.cssText);
|
||||
|
||||
let curStyleListString = JSON.stringify(styleList);
|
||||
// let v = span.innerHTML;
|
||||
let v = span.innerText;
|
||||
v = v.replace(/\n/g, "\r\n");
|
||||
|
||||
if(curStyleListString==preStyleListString){
|
||||
preStyleList.v += v;
|
||||
}
|
||||
else{
|
||||
styleList.v = v;
|
||||
styles.push(styleList);
|
||||
|
||||
preStyleListString = curStyleListString;
|
||||
preStyleList = styleList;
|
||||
}
|
||||
}
|
||||
return styles;
|
||||
}
|
||||
|
||||
export function convertCssToStyleList(cssText){
|
||||
if(cssText==null || cssText.length==0){
|
||||
return {};
|
||||
}
|
||||
let cssTextArray = cssText.split(";");
|
||||
|
||||
|
||||
const _locale = locale();
|
||||
const locale_fontarray = _locale.fontarray;
|
||||
const locale_fontjson = _locale.fontjson;
|
||||
let styleList = {
|
||||
"ff":locale_fontarray[0], //font family
|
||||
"fc":"#000000",//font color
|
||||
"fs":10,//font size
|
||||
"cl":0,//strike
|
||||
"un":0,//underline
|
||||
"bl":0,//blod
|
||||
"it":0,//italic
|
||||
};
|
||||
cssTextArray.forEach(s => {
|
||||
s = s.toLowerCase();
|
||||
let key = textTrim(s.substr(0, s.indexOf(':')));
|
||||
let value = textTrim(s.substr(s.indexOf(':') + 1));
|
||||
if(key=="font-weight"){
|
||||
if(value=="bold"){
|
||||
styleList["bl"] = 1;
|
||||
}
|
||||
else{
|
||||
styleList["bl"] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(key=="font-style"){
|
||||
if(value=="italic"){
|
||||
styleList["it"] = 1;
|
||||
}
|
||||
else{
|
||||
styleList["it"] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(key=="font-family"){
|
||||
let ff = locale_fontjson[value];
|
||||
if(ff==null){
|
||||
styleList["ff"] = value;
|
||||
}
|
||||
else{
|
||||
styleList["ff"] = ff;
|
||||
}
|
||||
}
|
||||
|
||||
if(key=="font-size"){
|
||||
styleList["fs"] = parseInt(value);
|
||||
}
|
||||
|
||||
if(key=="color"){
|
||||
styleList["fc"] = value;
|
||||
}
|
||||
|
||||
if(key=="text-decoration"){
|
||||
styleList["cl"] = 1;
|
||||
}
|
||||
|
||||
if(key=="border-bottom"){
|
||||
styleList["un"] = 1;
|
||||
}
|
||||
|
||||
if(key=="lucky-strike"){
|
||||
styleList["cl"] = value;
|
||||
}
|
||||
|
||||
if(key=="lucky-underline"){
|
||||
styleList["un"] = value;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return styleList;
|
||||
}
|
||||
|
||||
const luckyToCssName = {
|
||||
"bl":"font-weight",
|
||||
"it":"font-style",
|
||||
"ff":"font-family",
|
||||
"fs":"font-size",
|
||||
"fc":"color",
|
||||
"cl":"text-decoration",
|
||||
"un":"border-bottom",
|
||||
}
|
||||
|
||||
function getClassWithcss(cssText, ukey){
|
||||
let cssTextArray = cssText.split(";");
|
||||
if(ukey==null || ukey.length==0){
|
||||
return cssText;
|
||||
}
|
||||
if(cssText.indexOf(ukey)>-1){
|
||||
for(let i=0;i<cssTextArray.length;i++){
|
||||
let s = cssTextArray[i];
|
||||
s = s.toLowerCase();
|
||||
let key = textTrim(s.substr(0, s.indexOf(':')));
|
||||
let value = textTrim(s.substr(s.indexOf(':') + 1));
|
||||
if(key==ukey){
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
function upsetClassWithCss(cssText, ukey, uvalue){
|
||||
let cssTextArray = cssText.split(";");
|
||||
let newCss = "";
|
||||
if(ukey==null || ukey.length==0){
|
||||
return cssText;
|
||||
}
|
||||
if(cssText.indexOf(ukey)>-1){
|
||||
for(let i=0;i<cssTextArray.length;i++){
|
||||
let s = cssTextArray[i];
|
||||
s = s.toLowerCase();
|
||||
let key = textTrim(s.substr(0, s.indexOf(':')));
|
||||
let value = textTrim(s.substr(s.indexOf(':') + 1));
|
||||
if(key==ukey){
|
||||
newCss += key + ":" + uvalue + ";";
|
||||
}
|
||||
else if(key.length>0){
|
||||
newCss += key + ":" + value + ";";
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(ukey.length>0){
|
||||
cssText += ukey + ":" + uvalue + ";";
|
||||
newCss = cssText;
|
||||
}
|
||||
|
||||
return newCss;
|
||||
}
|
||||
|
||||
function removeClassWidthCss(cssText, ukey){
|
||||
let cssTextArray = cssText.split(";");
|
||||
let newCss = "";
|
||||
let oUkey = ukey;
|
||||
if(ukey==null || ukey.length==0){
|
||||
return cssText;
|
||||
}
|
||||
if(ukey in luckyToCssName){
|
||||
ukey = luckyToCssName[ukey];
|
||||
}
|
||||
if(cssText.indexOf(ukey)>-1){
|
||||
for(let i=0;i<cssTextArray.length;i++){
|
||||
let s = cssTextArray[i];
|
||||
s = s.toLowerCase();
|
||||
let key = textTrim(s.substr(0, s.indexOf(':')));
|
||||
let value = textTrim(s.substr(s.indexOf(':') + 1));
|
||||
if(key==ukey || (oUkey=="cl" && key=="lucky-strike") || (oUkey=="un" && key=="lucky-underline") ){
|
||||
continue;
|
||||
}
|
||||
else if(key.length>0){
|
||||
newCss += key + ":" + value + ";";
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
newCss = cssText;
|
||||
}
|
||||
|
||||
return newCss;
|
||||
}
|
||||
|
||||
function getCssText(cssText, attr, value){
|
||||
let styleObj = {};
|
||||
styleObj[attr] = value;
|
||||
if(attr=="un"){
|
||||
let fontColor = getClassWithcss(cssText,"color");
|
||||
if(fontColor==""){
|
||||
fontColor = "#000000";
|
||||
}
|
||||
let fs = getClassWithcss(cssText,"font-size");
|
||||
if(fs==""){
|
||||
fs = 11;
|
||||
}
|
||||
fs = parseInt(fs);
|
||||
styleObj["_fontSize"] = fs;
|
||||
styleObj["_color"] = fontColor;
|
||||
}
|
||||
let s = getFontStyleByCell(styleObj, undefined, undefined, false);
|
||||
let ukey = textTrim(s.substr(0, s.indexOf(':')));
|
||||
let uvalue = textTrim(s.substr(s.indexOf(':')+1));
|
||||
uvalue = uvalue.substr(0, uvalue.length-1);
|
||||
// let cssText = span.style.cssText;
|
||||
cssText = removeClassWidthCss(cssText, attr);
|
||||
|
||||
cssText = upsetClassWithCss(cssText, ukey, uvalue);
|
||||
|
||||
return cssText;
|
||||
}
|
||||
|
||||
function extendCssText(origin, cover, isLimit=true){
|
||||
let originArray = origin.split(";");
|
||||
let coverArray = cover.split(";");
|
||||
let newCss = "";
|
||||
|
||||
let addKeyList = {};
|
||||
for(let i=0;i<originArray.length;i++){
|
||||
let so = originArray[i], isAdd=true;
|
||||
so = so.toLowerCase();
|
||||
let okey = textTrim(so.substr(0, so.indexOf(':')));
|
||||
|
||||
/* 不设置文字的大小,解决设置删除线等后字体变大的问题 */
|
||||
if(okey == "font-size"){
|
||||
continue;
|
||||
}
|
||||
|
||||
let ovalue = textTrim(so.substr(so.indexOf(':') + 1));
|
||||
|
||||
if(isLimit){
|
||||
if(!(okey in inlineStyleAffectCssName)){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
for(let a=0;a<coverArray.length;a++){
|
||||
let sc = coverArray[a];
|
||||
sc = sc.toLowerCase();
|
||||
let ckey = textTrim(sc.substr(0, sc.indexOf(':')));
|
||||
let cvalue = textTrim(sc.substr(sc.indexOf(':') + 1));
|
||||
|
||||
if(okey==ckey){
|
||||
newCss += ckey + ":" + cvalue + ";";
|
||||
isAdd = false;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if(isAdd){
|
||||
newCss += okey + ":" + ovalue + ";";
|
||||
}
|
||||
|
||||
addKeyList[okey] = 1;
|
||||
}
|
||||
|
||||
for(let a=0;a<coverArray.length;a++){
|
||||
let sc = coverArray[a];
|
||||
sc = sc.toLowerCase();
|
||||
let ckey = textTrim(sc.substr(0, sc.indexOf(':')));
|
||||
let cvalue = textTrim(sc.substr(sc.indexOf(':') + 1));
|
||||
|
||||
if(isLimit){
|
||||
if(!(ckey in inlineStyleAffectCssName)){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if(!(ckey in addKeyList)){
|
||||
newCss += ckey + ":" + cvalue + ";";
|
||||
}
|
||||
}
|
||||
|
||||
return newCss;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user