mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-06 16:58:49 +01:00
This commit is contained in:
parent
90c23714fb
commit
5015a0b31f
2 changed files with 35 additions and 5 deletions
|
|
@ -200,6 +200,12 @@ export const bindViewEvent = (options: {
|
|||
|
||||
export const getViewHTML = (data: IAV) => {
|
||||
const view = data.view;
|
||||
let fields: IAVColumn[];
|
||||
if (data.viewType === "table") {
|
||||
fields = (view as IAVTable).columns;
|
||||
} else if (data.viewType === "gallery") {
|
||||
fields = (view as IAVGallery).fields;
|
||||
}
|
||||
return `<div class="b3-menu__items">
|
||||
<button class="b3-menu__item" data-type="nobg">
|
||||
<span class="b3-menu__label ft__center">${window.siyuan.languages.config}</span>
|
||||
|
|
@ -208,7 +214,7 @@ export const getViewHTML = (data: IAV) => {
|
|||
<button class="b3-menu__item" data-type="nobg">
|
||||
<div class="fn__block">
|
||||
<div class="fn__flex">
|
||||
<span class="b3-menu__avemoji" data-type="update-view-icon">${view.icon ? unicode2Emoji(view.icon) : '<svg style="height: 14px;width: 14px"><use xlink:href="#iconTable"></use></svg>'}</span>
|
||||
<span class="b3-menu__avemoji" data-type="update-view-icon">${view.icon ? unicode2Emoji(view.icon) : `<svg style="height: 14px;width: 14px"><use xlink:href="#${getViewIcon(data.viewType)}"></use></svg>`}</span>
|
||||
<div class="b3-form__icona fn__block">
|
||||
<input data-type="name" class="b3-text-field b3-form__icona-input" type="text" data-value="${escapeAttr(view.name)}">
|
||||
<svg data-position="north" class="b3-form__icona-icon ariaLabel" aria-label="${view.desc ? escapeAriaLabel(view.desc) : window.siyuan.languages.addDesc}"><use xlink:href="#iconInfo"></use></svg>
|
||||
|
|
@ -218,13 +224,20 @@ export const getViewHTML = (data: IAV) => {
|
|||
<div class="fn__hr"></div>
|
||||
<textarea placeholder="${window.siyuan.languages.addDesc}" rows="1" data-type="desc" class="b3-text-field fn__block" type="text" data-value="${escapeAttr(view.desc)}">${view.desc}</textarea>
|
||||
</div>
|
||||
<div class="fn__hr"></div>
|
||||
</div>
|
||||
</button>
|
||||
<button class="b3-menu__item" data-type="go-layout">
|
||||
<svg class="b3-menu__icon"><use xlink:href="#${getViewIcon(data.viewType)}"></use></svg>
|
||||
<span class="b3-menu__label">${window.siyuan.languages.layout}</span>
|
||||
<span class="b3-menu__accelerator">${getViewName(data.viewType)}</span>
|
||||
<svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
|
||||
</button>
|
||||
<button class="b3-menu__separator"></button>
|
||||
<button class="b3-menu__item" data-type="go-properties">
|
||||
<svg class="b3-menu__icon"></svg>
|
||||
<span class="b3-menu__label">${window.siyuan.languages.fields}</span>
|
||||
<span class="b3-menu__accelerator">${view.columns.filter((item: IAVColumn) => !item.hidden).length}/${view.columns.length}</span>
|
||||
<span class="b3-menu__accelerator">${fields.filter((item: IAVColumn) => !item.hidden).length}/${fields.length}</span>
|
||||
<svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
|
||||
</button>
|
||||
<button class="b3-menu__item" data-type="goFilters">
|
||||
|
|
@ -406,3 +419,12 @@ export const getViewIcon = (type: string) => {
|
|||
return "iconGallery";
|
||||
}
|
||||
};
|
||||
|
||||
export const getViewName = (type: string) => {
|
||||
switch (type) {
|
||||
case "table":
|
||||
return window.siyuan.languages.table;
|
||||
case "gallery":
|
||||
return window.siyuan.languages.gallery;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
14
app/src/types/index.d.ts
vendored
14
app/src/types/index.d.ts
vendored
|
|
@ -814,7 +814,7 @@ interface IBazaarItem {
|
|||
interface IAV {
|
||||
id: string;
|
||||
name: string;
|
||||
view: IAVTable;
|
||||
view: IAVTable | IAVGallery;
|
||||
viewID: string;
|
||||
viewType: string;
|
||||
views: IAVView[];
|
||||
|
|
@ -827,7 +827,7 @@ interface IAVView {
|
|||
type: string;
|
||||
icon: string;
|
||||
hideAttrViewName: boolean;
|
||||
pageSize: number;
|
||||
pageSize: number,
|
||||
}
|
||||
|
||||
interface IAVTable extends IAVView {
|
||||
|
|
@ -836,7 +836,15 @@ interface IAVTable extends IAVView {
|
|||
sorts: IAVSort[],
|
||||
rows: IAVRow[],
|
||||
rowCount: number,
|
||||
pageSize: number,
|
||||
}
|
||||
|
||||
interface IAVGallery extends IAVView {
|
||||
cards: IAVGalleryItem[],
|
||||
desc: string
|
||||
fields: IAVColumn[]
|
||||
filters: IAVFilter[],
|
||||
sorts: IAVSort[],
|
||||
cardCount: number,
|
||||
}
|
||||
|
||||
interface IAVFilter {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue