diff --git a/app/src/history/doc.ts b/app/src/history/doc.ts index 4bfc32aee..6585f4295 100644 --- a/app/src/history/doc.ts +++ b/app/src/history/doc.ts @@ -108,6 +108,9 @@ export const openDocHistory = (options: { renderDoc(dialog.element, 1, options.id); historyEditor = new Protyle(options.app, docElement, { blockId: "", + history: { + created: "" + }, action: [Constants.CB_GET_HISTORY], render: { background: false, @@ -183,11 +186,13 @@ const getHistoryPath = (target: Element, op: string, id: string, cb: (path: stri if (path) { cb(path); } + const created = target.getAttribute("data-created"); + historyEditor.protyle.options.history.created = created; fetchPost("/api/history/getHistoryItems", { query: id, op, type: 3, - created: target.getAttribute("data-created") + created }, (response) => { cb(response.data.items[0].path); }); diff --git a/app/src/history/history.ts b/app/src/history/history.ts index dc88278f4..726906fb4 100644 --- a/app/src/history/history.ts +++ b/app/src/history/history.ts @@ -442,6 +442,9 @@ const bindEvent = (app: App, element: Element, dialog?: Dialog) => { renderDoc(firstPanelElement, 1); historyEditor = new Protyle(app, docElement, { blockId: "", + history: { + created: "" + }, action: [Constants.CB_GET_HISTORY], render: { background: false, @@ -533,17 +536,18 @@ const bindEvent = (app: App, element: Element, dialog?: Dialog) => { const opElement = firstPanelElement.querySelector('.b3-select[data-type="opselect"]') as HTMLSelectElement; const typeElement = firstPanelElement.querySelector('.b3-select[data-type="typeselect"]') as HTMLSelectElement; const notebookElement = firstPanelElement.querySelector('.b3-select[data-type="notebookselect"]') as HTMLSelectElement; + const created = target.getAttribute("data-created") fetchPost("/api/history/getHistoryItems", { notebook: notebookElement.value, query: inputElement.value, op: opElement.value, type: parseInt(typeElement.value), - created: target.getAttribute("data-created") + created }, (response) => { iconElement.classList.add("b3-list-item__arrow--open"); let html = ""; response.data.items.forEach((docItem: { title: string, path: string }) => { - html += `
  • + html += `
  • ${escapeHtml(docItem.title)} @@ -611,6 +615,7 @@ const bindEvent = (app: App, element: Element, dialog?: Dialog) => { } else { mdElement.classList.add("fn__none"); docElement.classList.remove("fn__none"); + historyEditor.protyle.options.history.created = target.dataset.created onGet({ data: response, protyle: historyEditor.protyle, diff --git a/app/src/protyle/render/av/render.ts b/app/src/protyle/render/av/render.ts index 5699968ad..75f9db4aa 100644 --- a/app/src/protyle/render/av/render.ts +++ b/app/src/protyle/render/av/render.ts @@ -50,8 +50,10 @@ export const avRender = (element: Element, protyle: IProtyle, cb?: () => void) = if (selectCellElement) { selectCellId = (hasClosestByClassName(selectCellElement, "av__row") as HTMLElement).dataset.id + Constants.ZWSP + selectCellElement.getAttribute("data-col-id"); } - fetchPost("/api/av/renderAttributeView", { + const created = protyle.options.history?.created; + fetchPost(created ? "/api/av/renderHistoryAttributeView" : "/api/av/renderAttributeView", { id: e.getAttribute("data-av-id"), + created }, (response) => { const data = response.data.view as IAVTable; // header diff --git a/app/src/types/protyle.d.ts b/app/src/types/protyle.d.ts index edbb710cb..e7a50ba70 100644 --- a/app/src/types/protyle.d.ts +++ b/app/src/types/protyle.d.ts @@ -375,6 +375,9 @@ interface IHint { /** @link https://ld246.com/article/1549638745630#options */ interface IOptions { + history?: { + created?: string + }, backlinkData?: { blockPaths: IBreadcrumb[], dom: string