|
@@ -60,7 +60,6 @@ export const highlightKeyword = () => {
|
|
for(let i = 0; i < keywordData.length; i++) {
|
|
for(let i = 0; i < keywordData.length; i++) {
|
|
let keyword = keywordData[i]['keyword'];
|
|
let keyword = keywordData[i]['keyword'];
|
|
for(let j = 0; j < textEleArr.length; j++) {
|
|
for(let j = 0; j < textEleArr.length; j++) {
|
|
- //todo 遍历 tagData 删除无keyword 的 tag;
|
|
|
|
removeTags({ele: textEleArr[j], rowIndex: j});
|
|
removeTags({ele: textEleArr[j], rowIndex: j});
|
|
|
|
|
|
let txt = textEleArr[j]['innerHTML'];
|
|
let txt = textEleArr[j]['innerHTML'];
|
|
@@ -82,8 +81,6 @@ export const highlightKeyword = () => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- } else {
|
|
|
|
- // removeTag({rowIndex: j, keyword})
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -96,7 +93,6 @@ export const highlightKeyword = () => {
|
|
|
|
|
|
const addRangeDom = (params) => {
|
|
const addRangeDom = (params) => {
|
|
let {j, keyword, startPos, endPos, eleItem, keywordIndex} = params;
|
|
let {j, keyword, startPos, endPos, eleItem, keywordIndex} = params;
|
|
- // removeTag({rowIndex: j, keyword})
|
|
|
|
lastRange = window.getSelection().getRangeAt(0)
|
|
lastRange = window.getSelection().getRangeAt(0)
|
|
|
|
|
|
let range = new Range();
|
|
let range = new Range();
|
|
@@ -133,7 +129,6 @@ const addRangeDom = (params) => {
|
|
|
|
|
|
const checkHasTag = (params) => {
|
|
const checkHasTag = (params) => {
|
|
let hasTag = false;
|
|
let hasTag = false;
|
|
- console.log('tagData:checkHasTag start', tagData);
|
|
|
|
for(let i = 0; i < tagData.length; i++) {
|
|
for(let i = 0; i < tagData.length; i++) {
|
|
let item = tagData[i];
|
|
let item = tagData[i];
|
|
if(params.rowIndex == item.rowIndex && params.keyword == item.keyword && item.startPos == params.startPos && item.endPos == params.endPos) {
|
|
if(params.rowIndex == item.rowIndex && params.keyword == item.keyword && item.startPos == params.startPos && item.endPos == params.endPos) {
|
|
@@ -147,7 +142,6 @@ const checkHasTag = (params) => {
|
|
|
|
|
|
const removeTags = (params) => {
|
|
const removeTags = (params) => {
|
|
let {ele} = params;
|
|
let {ele} = params;
|
|
- console.log('tagData:removeTags start', tagData);
|
|
|
|
for(let i = 0; i < tagData.length; i++) {
|
|
for(let i = 0; i < tagData.length; i++) {
|
|
let item = tagData[i];
|
|
let item = tagData[i];
|
|
let startPos = '', endPos = '';
|
|
let startPos = '', endPos = '';
|
|
@@ -157,8 +151,7 @@ const removeTags = (params) => {
|
|
endPos = startPos + item.keyword.length;
|
|
endPos = startPos + item.keyword.length;
|
|
if(startPos > -1) {
|
|
if(startPos > -1) {
|
|
let currentKeyword = ele.innerHTML.substr(item.startPos, item.keyword.length)
|
|
let currentKeyword = ele.innerHTML.substr(item.startPos, item.keyword.length)
|
|
- if(currentKeyword == item.keyword) {
|
|
|
|
- } else {
|
|
|
|
|
|
+ if(currentKeyword != item.keyword) {
|
|
removeTagDom(item);
|
|
removeTagDom(item);
|
|
tagData.splice(tagData[i], 1);
|
|
tagData.splice(tagData[i], 1);
|
|
i--;
|
|
i--;
|
|
@@ -175,7 +168,6 @@ const removeTags = (params) => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- console.log('tagData:removeTags end', tagData);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
const removeTagDom = (params) => {
|
|
const removeTagDom = (params) => {
|
|
@@ -185,18 +177,6 @@ const removeTagDom = (params) => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-/**
|
|
|
|
-const removeTag = (params) => {
|
|
|
|
- let tagDom = document.getElementsByClassName(`denet-keyword-tag-${params.rowIndex}`);
|
|
|
|
- tagData = tagData.filter(item => item.rowIndex == params.rowIndex && params.keyword == item.keyword)
|
|
|
|
- if(tagDom && tagDom.length) {
|
|
|
|
- for(let i = 0; i < tagDom.length; i++) {
|
|
|
|
- tagDom[i].remove();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-*/
|
|
|
|
-
|
|
|
|
export const addHighlightEleWrapper = () => {
|
|
export const addHighlightEleWrapper = () => {
|
|
let ele = document.createElement('div');
|
|
let ele = document.createElement('div');
|
|
ele.style.cssText = 'pointer-events: none;mix-blend-mode: darken;';
|
|
ele.style.cssText = 'pointer-events: none;mix-blend-mode: darken;';
|