diff --git a/app/src/protyle/render/av/date.ts b/app/src/protyle/render/av/date.ts index 0c971ef1d..7ebb11e00 100644 --- a/app/src/protyle/render/av/date.ts +++ b/app/src/protyle/render/av/date.ts @@ -1,34 +1,13 @@ import * as dayjs from "dayjs"; -import {hasClosestByClassName} from "../../util/hasClosest"; -import {updateCellsValue} from "./cell"; +import {genCellValueByElement, updateCellsValue} from "./cell"; -export const getDateHTML = (data: IAVTable, cellElements: HTMLElement[]) => { - let hasEndDate = true; - let cellValue: IAVCell; - cellElements.forEach((cellElement) => { - data.rows.find(row => { - if ((hasClosestByClassName(cellElement, "av__row") as HTMLElement).dataset.id === row.id) { - row.cells.find(cell => { - if (cell.id === cellElement.dataset.id) { - if (!cell.value || !cell.value.date || !cell.value.date.hasEndDate) { - hasEndDate = false; - } - cellValue = cell; - return true; - } - }); - return true; - } - }); - }); - if (!cellValue) { - hasEndDate = false; - } - const isNotTime = !cellValue || cellValue?.value?.date?.isNotTime; +export const getDateHTML = (cellElements: HTMLElement[]) => { + const cellValue = genCellValueByElement("date", cellElements[0]).date; + const isNotTime = cellValue.isNotTime; let value = ""; const currentDate = new Date().getTime(); - if (cellValue?.value?.date?.isNotEmpty) { - value = dayjs(cellValue.value.date.content).format(isNotTime ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm"); + if (cellValue.isNotEmpty) { + value = dayjs(cellValue.content).format(isNotTime ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm"); const year = value.split("-")[0]; if (year.length !== 4) { value = new Array(4 - year.length).fill(0).join("") + value; @@ -37,24 +16,24 @@ export const getDateHTML = (data: IAVTable, cellElements: HTMLElement[]) => { value = dayjs(currentDate).format(isNotTime ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm"); } let value2 = ""; - if (cellValue?.value?.date?.isNotEmpty2) { - value2 = dayjs(cellValue.value.date.content2).format(isNotTime ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm"); + if (cellValue.isNotEmpty2) { + value2 = dayjs(cellValue.content2).format(isNotTime ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm"); const year = value.split("-")[0]; if (year.length !== 4) { value = new Array(4 - year.length).fill(0).join("") + value; } - } else if (hasEndDate) { + } else if (cellValue.hasEndDate) { value2 = dayjs(currentDate).format(isNotTime ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm"); } return `
-
- +
+