If you add a filter and use the "Edit As Query DSL" it will be passed to Datashader with type equal to "custom" and the dsl itself will be in a field equal to "value". Code similar to this needs to be added:
elif f.get("meta", {}).get("type") == "custom" and f.get("meta", {}).get("key") is not None:
filter_key = f.get("meta", {}).get("key")
if f.get("meta", {}).get("negate"):
filter["must_not"].append({filter_key : f.get(filter_key) })
else:
filter["filter"].append({filter_key : f.get(filter_key) })
This code is just an example and likely would want additional protection and/or checking of corner cases.
If you add a filter and use the "Edit As Query DSL" it will be passed to Datashader with type equal to "custom" and the dsl itself will be in a field equal to "value". Code similar to this needs to be added:
This code is just an example and likely would want additional protection and/or checking of corner cases.