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 {writeText} from "../../util/compatibility";
|
||||
import {showMessage} from "../../../dialog/message";
|
||||
import {previewImage} from "../../preview/image";
|
||||
|
||||
export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLElement }) => {
|
||||
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");
|
||||
if (linkElement) {
|
||||
let prefix = "";
|
||||
let linkAddress = linkElement.textContent.trim();
|
||||
if (linkElement.dataset.type === "phone") {
|
||||
prefix = "tel:";
|
||||
linkAddress = "tel:" + linkAddress;
|
||||
} 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.stopPropagation();
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -379,48 +379,50 @@ export const showColMenu = (protyle: IProtyle, blockElement: Element, cellElemen
|
|||
});
|
||||
}
|
||||
});
|
||||
menu.addItem({
|
||||
icon: "iconFilter",
|
||||
label: window.siyuan.languages.filter,
|
||||
click() {
|
||||
fetchPost("/api/av/renderAttributeView", {
|
||||
id: avID,
|
||||
nodeID
|
||||
}, (response) => {
|
||||
const avData = response.data as IAV;
|
||||
let filter: IAVFilter;
|
||||
avData.view.filters.find((item) => {
|
||||
if (item.column === colId) {
|
||||
filter = item;
|
||||
return true;
|
||||
if (type !== "mAsset") {
|
||||
menu.addItem({
|
||||
icon: "iconFilter",
|
||||
label: window.siyuan.languages.filter,
|
||||
click() {
|
||||
fetchPost("/api/av/renderAttributeView", {
|
||||
id: avID,
|
||||
nodeID
|
||||
}, (response) => {
|
||||
const avData = response.data as IAV;
|
||||
let filter: IAVFilter;
|
||||
avData.view.filters.find((item) => {
|
||||
if (item.column === colId) {
|
||||
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();
|
||||
if (type !== "block") {
|
||||
menu.addItem({
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ export const addFilter = (options: {
|
|||
return true;
|
||||
}
|
||||
});
|
||||
if (!hasFilter) {
|
||||
if (!hasFilter && column.type !== "mAsset") {
|
||||
menu.addItem({
|
||||
label: column.name,
|
||||
icon: getColIconByType(column.type),
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ style="width: ${column.width || "200px"}">${getCalcValue(column) || '<svg><use x
|
|||
if (item.type === "image") {
|
||||
text += `<img class="av__cellassetimg" src="${item.content}">`;
|
||||
} 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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue