Use case or problem
- The Current Filtersystem sucks or at least it feels very Clunky with the “All of the following are True”, “None of the…”, and also the choice between “All Views” and “This View” which is also limiting and annoying.
Proposed solution
-
“Filter” in bases should open in the same window size a canvas (Maybe even a Fullscreen Toggle), where you build/drag and drop your functions as intuitivly as scratch does(Also maybe with the loop (i assume you use a loop to make the filter work) at the most outer shell unchanchable/greyed out), and also a toggle at the top that translate the current logic that was layed out or/and allows for further editing in whaever language the User prefers (I assume my base filter code will be parsed by Obsidian to a programming language eventually anyway?)
-
And the toggle allowing for any other language, here the same in Python (with the variables in both cases automatically imported and available of course)
# Obsidian should provide these variables ( and all that you can access via UI)
Obsidian_run = True
Property_of_any_File_got_changed = True
files = [{"pathname": "File.md",
"basename": "File"},
# ...
{"pathname":"Suck/ass.md"
# ...
}]
files_to_show = []
current_view = "view1"
this = {""} # host file!
# Set By User
Custom_view_list_1 = ["View1", "View3"]
def my_custom_global_filter(file):
# All Custom Functions Globally for all views
if file["folder"] != "/Templates":
return True
else:
return False
def my_custom_filter_with_custom_list(file):
if file["folder"] == this["folder"] or this["link"] in file["edit"] or file["link"] in this["edited"]:
return True
else:
return False
while Obsidian_run:
if Property_of_any_File_got_changed:
current_view = current_view # Whatever current view is
for file in files:
# Any Global Filters
if not my_custom_global_filter(file):
continue
# Filters on Customly selected Views
if current_view in Custom_view_list_1:
if not my_custom_filter_with_custom_list(file):
continue
files_to_show.append(file)
- Also while i am at it; “Sort” really does belong too Filter after all, you could set it up that in different cases that happen within the Filtering, different sorting systems should apply. Heck why not even include the View in the Logic, so maybe there is aFilter only there to activate the “Map View” if coordinates in any of the scanned file go through all previous checks and contain the property “coordinates” or smth.
Current workaround (optional)
- Just give yourself happy with the current UI that does its job pretty good for beginners…

