This commit is contained in:
parent
df502ec42a
commit
f1330f0df9
1 changed files with 17 additions and 11 deletions
|
@ -4,7 +4,7 @@ import {Tab} from "../layout/Tab";
|
|||
import {Search} from "./index";
|
||||
import {Wnd} from "../layout/Wnd";
|
||||
import {Constants} from "../constants";
|
||||
import {escapeHtml} from "../util/escape";
|
||||
import {escapeAttr, escapeGreat, escapeHtml} from "../util/escape";
|
||||
import {fetchPost, fetchSyncPost} from "../util/fetch";
|
||||
import {openFileById} from "../editor/util";
|
||||
import {showMessage} from "../dialog/message";
|
||||
|
@ -146,8 +146,8 @@ export const genSearch = (config: ISearchOption, element: Element, closeCB?: ()
|
|||
<span id="searchResult" class="search__result"></span>
|
||||
<span class="fn__space"></span>
|
||||
<span class="fn__flex-1"></span>
|
||||
<span id="searchPathInput" class="search__path ft__on-surface fn__flex-center ft__smaller fn__ellipsis" title="${config.hPath}">
|
||||
${config.hPath}
|
||||
<span id="searchPathInput" class="search__path ft__on-surface fn__flex-center ft__smaller fn__ellipsis" title="${escapeAttr(config.hPath)}">
|
||||
${escapeHtml(config.hPath)}
|
||||
<svg class="search__rmpath${config.hPath ? "" : " fn__none"}"><use xlink:href="#iconClose"></use></svg>
|
||||
</span>
|
||||
<span class="fn__space"></span>
|
||||
|
@ -263,11 +263,13 @@ export const genSearch = (config: ISearchOption, element: Element, closeCB?: ()
|
|||
|
||||
element.addEventListener("click", (event: MouseEvent) => {
|
||||
let target = event.target as HTMLElement;
|
||||
const searchPathInputElement = element.querySelector("#searchPathInput");
|
||||
while (target && !target.isSameNode(element)) {
|
||||
if (target.classList.contains("search__rmpath")) {
|
||||
config.idPath = [];
|
||||
config.hPath = "";
|
||||
element.querySelector("#searchPathInput").innerHTML = config.hPath;
|
||||
searchPathInputElement.innerHTML = config.hPath;
|
||||
searchPathInputElement.setAttribute("title", "");
|
||||
inputTimeout = inputEvent(element, config, inputTimeout, edit);
|
||||
const includeElement = element.querySelector("#searchInclude");
|
||||
includeElement.classList.remove("b3-button--cancel");
|
||||
|
@ -304,7 +306,7 @@ export const genSearch = (config: ISearchOption, element: Element, closeCB?: ()
|
|||
toPath.forEach((item, index) => {
|
||||
if (item === "/") {
|
||||
config.idPath.push(toNotebook[index]);
|
||||
hPathList.push(escapeHtml(getNotebookName(toNotebook[index])));
|
||||
hPathList.push(getNotebookName(toNotebook[index]));
|
||||
} else {
|
||||
enableIncludeChild = true;
|
||||
config.idPath.push(pathPosix().join(toNotebook[index], item.replace(".sy", "")));
|
||||
|
@ -313,8 +315,9 @@ export const genSearch = (config: ISearchOption, element: Element, closeCB?: ()
|
|||
if (response.data) {
|
||||
hPathList.push(...response.data);
|
||||
}
|
||||
config.hPath = escapeHtml(hPathList.join(" "));
|
||||
element.querySelector("#searchPathInput").innerHTML = `${config.hPath}<svg class="search__rmpath"><use xlink:href="#iconClose"></use></svg>`;
|
||||
config.hPath = hPathList.join(" ");
|
||||
searchPathInputElement.innerHTML = `${escapeHtml(config.hPath)}<svg class="search__rmpath"><use xlink:href="#iconClose"></use></svg>`;
|
||||
searchPathInputElement.setAttribute("title", config.hPath);
|
||||
const includeElement = element.querySelector("#searchInclude");
|
||||
includeElement.classList.remove("b3-button--cancel");
|
||||
if (enableIncludeChild) {
|
||||
|
@ -878,10 +881,13 @@ const updateConfig = (element: Element, item: ISearchOption, config: ISearchOpti
|
|||
element.querySelector("#replaceHistoryBtn").parentElement.classList.add("fn__none");
|
||||
}
|
||||
}
|
||||
const searchPathInputElement = element.querySelector("#searchPathInput")
|
||||
if (item.hPath) {
|
||||
element.querySelector("#searchPathInput").innerHTML = `${item.hPath}<svg class="search__rmpath"><use xlink:href="#iconClose"></use></svg>`;
|
||||
searchPathInputElement.innerHTML = `${escapeHtml(item.hPath)}<svg class="search__rmpath"><use xlink:href="#iconClose"></use></svg>`;
|
||||
searchPathInputElement.setAttribute("title", item.hPath);
|
||||
} else {
|
||||
element.querySelector("#searchPathInput").innerHTML = "";
|
||||
searchPathInputElement.innerHTML = "";
|
||||
searchPathInputElement.setAttribute("title", "");
|
||||
}
|
||||
if (config.group !== item.group) {
|
||||
if (item.group === 0) {
|
||||
|
@ -1285,7 +1291,7 @@ const inputEvent = (element: Element, config: ISearchOption, inputTimeout: numbe
|
|||
const onSearch = (data: IBlock[], edit: Protyle, element: Element) => {
|
||||
let resultHTML = "";
|
||||
data.forEach((item, index) => {
|
||||
const title = escapeHtml(getNotebookName(item.box)) + getDisplayName(item.hPath, false);
|
||||
const title = getNotebookName(item.box) + getDisplayName(item.hPath, false);
|
||||
if (item.children) {
|
||||
resultHTML += `<div class="b3-list-item">
|
||||
<span class="b3-list-item__toggle b3-list-item__toggle--hl">
|
||||
|
@ -1307,7 +1313,7 @@ ${unicode2Emoji(childItem.ial.icon, false, "b3-list-item__graphic", true)}
|
|||
<svg class="b3-list-item__graphic"><use xlink:href="#${getIconByType(item.type)}"></use></svg>
|
||||
${unicode2Emoji(item.ial.icon, false, "b3-list-item__graphic", true)}
|
||||
<span class="b3-list-item__text">${item.content}</span>
|
||||
<span class="b3-list-item__meta b3-list-item__meta--ellipsis" title="${title}">${title}</span>
|
||||
<span class="b3-list-item__meta b3-list-item__meta--ellipsis" title="${escapeAttr(title)}">${escapeGreat(title)}</span>
|
||||
</div>`;
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue