mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-21 00:50:13 +01:00
✨ https://github.com/siyuan-note/siyuan/issues/8895 disable filter
This commit is contained in:
parent
643d5e82c5
commit
a55b980512
4 changed files with 59 additions and 46 deletions
|
|
@ -13,6 +13,7 @@ import {hideElements} from "../../ui/hideElements";
|
||||||
import {focusByRange} from "../../util/selection";
|
import {focusByRange} from "../../util/selection";
|
||||||
import {writeText} from "../../util/compatibility";
|
import {writeText} from "../../util/compatibility";
|
||||||
import {showMessage} from "../../../dialog/message";
|
import {showMessage} from "../../../dialog/message";
|
||||||
|
import {previewImage} from "../../preview/image";
|
||||||
|
|
||||||
export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLElement }) => {
|
export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLElement }) => {
|
||||||
const blockElement = hasClosestBlock(event.target);
|
const blockElement = hasClosestBlock(event.target);
|
||||||
|
|
@ -118,13 +119,23 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle
|
||||||
|
|
||||||
const linkElement = hasClosestByClassName(event.target, "av__celltext--url");
|
const linkElement = hasClosestByClassName(event.target, "av__celltext--url");
|
||||||
if (linkElement) {
|
if (linkElement) {
|
||||||
let prefix = "";
|
let linkAddress = linkElement.textContent.trim();
|
||||||
if (linkElement.dataset.type === "phone") {
|
if (linkElement.dataset.type === "phone") {
|
||||||
prefix = "tel:";
|
linkAddress = "tel:" + linkAddress;
|
||||||
} else if (linkElement.dataset.type === "email") {
|
} else if (linkElement.dataset.type === "email") {
|
||||||
prefix = "mailto:";
|
linkAddress = "mailto:" + linkAddress;
|
||||||
|
} else if (linkElement.classList.contains("b3-chip")) {
|
||||||
|
linkAddress = linkElement.dataset.url;
|
||||||
}
|
}
|
||||||
window.open(prefix + linkElement.textContent.trim());
|
window.open(linkAddress);
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const imgElement = hasClosestByClassName(event.target, "av__cellassetimg") as HTMLImageElement
|
||||||
|
if (imgElement) {
|
||||||
|
previewImage(imgElement.src);
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -379,48 +379,50 @@ export const showColMenu = (protyle: IProtyle, blockElement: Element, cellElemen
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
menu.addItem({
|
if (type !== "mAsset") {
|
||||||
icon: "iconFilter",
|
menu.addItem({
|
||||||
label: window.siyuan.languages.filter,
|
icon: "iconFilter",
|
||||||
click() {
|
label: window.siyuan.languages.filter,
|
||||||
fetchPost("/api/av/renderAttributeView", {
|
click() {
|
||||||
id: avID,
|
fetchPost("/api/av/renderAttributeView", {
|
||||||
nodeID
|
id: avID,
|
||||||
}, (response) => {
|
nodeID
|
||||||
const avData = response.data as IAV;
|
}, (response) => {
|
||||||
let filter: IAVFilter;
|
const avData = response.data as IAV;
|
||||||
avData.view.filters.find((item) => {
|
let filter: IAVFilter;
|
||||||
if (item.column === colId) {
|
avData.view.filters.find((item) => {
|
||||||
filter = item;
|
if (item.column === colId) {
|
||||||
return true;
|
filter = item;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!filter) {
|
||||||
|
filter = {
|
||||||
|
column: colId,
|
||||||
|
operator: getDefaultOperatorByType(type),
|
||||||
|
value: genCellValue(type, "")
|
||||||
|
};
|
||||||
|
avData.view.filters.push(filter);
|
||||||
|
transaction(protyle, [{
|
||||||
|
action: "setAttrViewFilters",
|
||||||
|
avID,
|
||||||
|
data: [filter]
|
||||||
|
}], [{
|
||||||
|
action: "setAttrViewFilters",
|
||||||
|
avID,
|
||||||
|
data: []
|
||||||
|
}]);
|
||||||
}
|
}
|
||||||
|
setFilter({
|
||||||
|
filter,
|
||||||
|
protyle,
|
||||||
|
data: avData,
|
||||||
|
target: blockElement.querySelector(`.av__row--header .av__cell[data-col-id="${colId}"]`),
|
||||||
|
});
|
||||||
});
|
});
|
||||||
if (!filter) {
|
}
|
||||||
filter = {
|
});
|
||||||
column: colId,
|
}
|
||||||
operator: getDefaultOperatorByType(type),
|
|
||||||
value: genCellValue(type, "")
|
|
||||||
};
|
|
||||||
avData.view.filters.push(filter);
|
|
||||||
transaction(protyle, [{
|
|
||||||
action: "setAttrViewFilters",
|
|
||||||
avID,
|
|
||||||
data: [filter]
|
|
||||||
}], [{
|
|
||||||
action: "setAttrViewFilters",
|
|
||||||
avID,
|
|
||||||
data: []
|
|
||||||
}]);
|
|
||||||
}
|
|
||||||
setFilter({
|
|
||||||
filter,
|
|
||||||
protyle,
|
|
||||||
data: avData,
|
|
||||||
target: blockElement.querySelector(`.av__row--header .av__cell[data-col-id="${colId}"]`),
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
if (type !== "block") {
|
if (type !== "block") {
|
||||||
menu.addItem({
|
menu.addItem({
|
||||||
|
|
|
||||||
|
|
@ -301,7 +301,7 @@ export const addFilter = (options: {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (!hasFilter) {
|
if (!hasFilter && column.type !== "mAsset") {
|
||||||
menu.addItem({
|
menu.addItem({
|
||||||
label: column.name,
|
label: column.name,
|
||||||
icon: getColIconByType(column.type),
|
icon: getColIconByType(column.type),
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ style="width: ${column.width || "200px"}">${getCalcValue(column) || '<svg><use x
|
||||||
if (item.type === "image") {
|
if (item.type === "image") {
|
||||||
text += `<img class="av__cellassetimg" src="${item.content}">`;
|
text += `<img class="av__cellassetimg" src="${item.content}">`;
|
||||||
} else {
|
} else {
|
||||||
text += `<span class="b3-chip b3-chip--middle" data-url="${item.content}">${item.name}</span>`;
|
text += `<span class="b3-chip b3-chip--middle av__celltext--url" data-url="${item.content}">${item.name}</span>`;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (!text) {
|
if (!text) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue