getfilterByName
This commit is contained in:
parent
1331d62e4a
commit
72d9bdb8d4
|
|
@ -234,6 +234,11 @@ class ListNode<ED extends EntityDict, T extends keyof ED, Cxt extends Context<ED
|
|||
return this.filters;
|
||||
}
|
||||
|
||||
getFilterByName(name: string) {
|
||||
const filter = this.filters.find((ele) => ele['#name'] === name);
|
||||
return filter;
|
||||
}
|
||||
|
||||
setFilters(filters: NamedFilterItem<ED, T>[]) {
|
||||
this.filters = filters;
|
||||
}
|
||||
|
|
@ -1085,6 +1090,14 @@ export class RunningNode<ED extends EntityDict, Cxt extends Context<ED>, AD exte
|
|||
}
|
||||
}
|
||||
|
||||
@Action
|
||||
async getFilterByName<T extends keyof ED>(path: string, name: string) {
|
||||
const node = await this.findNode(path);
|
||||
if (node instanceof ListNode) {
|
||||
return await node.getFilterByName(name);
|
||||
}
|
||||
}
|
||||
|
||||
@Action
|
||||
async setFilters<T extends keyof ED>(path: string, filters: NamedFilterItem<ED, T>[], refresh: boolean = true) {
|
||||
const node = await this.findNode(path);
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ type OakComponentMethods<ED extends EntityDict, T extends keyof ED> = {
|
|||
callPicker: (attr: string, params: Record<string, any>) => void;
|
||||
setFilters: (filters: NamedFilterItem<ED, T>[]) => void;
|
||||
getFilters: () => void;
|
||||
getFilterByName: (name: string) => void;
|
||||
addFilter: (filter: NamedFilterItem<ED, T>, refresh?: boolean) => void;
|
||||
removeFilter: (filter: NamedFilterItem<ED, T>, refresh?: boolean) => void;
|
||||
removeFilterByName: (name: string, refresh?: boolean) => void;
|
||||
|
|
@ -130,43 +131,6 @@ type OakPageInstanceProperties<
|
|||
FD extends Record<string, Feature<ED, Cxt, AD>>
|
||||
> = OakComponentInstanceProperties<ED, Cxt, AD, FD>;
|
||||
|
||||
function getFilters<ED extends EntityDict, T extends keyof EntityDict, Cxt extends Context<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature<ED, Cxt, AD>>>(
|
||||
features: BasicFeatures<ED, Cxt, AD> & FD,
|
||||
fullpath: string) {
|
||||
return features.runningNode.getFilters(fullpath);
|
||||
}
|
||||
|
||||
function setFilters<ED extends EntityDict, T extends keyof EntityDict, Cxt extends Context<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature<ED, Cxt, AD>>>(
|
||||
features: BasicFeatures<ED, Cxt, AD> & FD,
|
||||
fullpath: string,
|
||||
filters: NamedFilterItem<ED, T>[]) {
|
||||
features.runningNode.setFilters(fullpath, filters);
|
||||
}
|
||||
|
||||
function addFilter<ED extends EntityDict, T extends keyof EntityDict, Cxt extends Context<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature<ED, Cxt, AD>>>(
|
||||
features: BasicFeatures<ED, Cxt, AD> & FD,
|
||||
fullpath: string,
|
||||
filter: NamedFilterItem<ED, T>,
|
||||
refresh: boolean = true) {
|
||||
features.runningNode.addFilter(fullpath, filter, refresh);
|
||||
}
|
||||
|
||||
function removeFilter<ED extends EntityDict, T extends keyof EntityDict, Cxt extends Context<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature<ED, Cxt, AD>>>(
|
||||
features: BasicFeatures<ED, Cxt, AD> & FD,
|
||||
fullpath: string,
|
||||
filter: NamedFilterItem<ED, T>,
|
||||
refresh: boolean = true) {
|
||||
features.runningNode.removeFilter(fullpath, filter, refresh);
|
||||
}
|
||||
|
||||
function removeFilterByName<ED extends EntityDict, T extends keyof EntityDict, Cxt extends Context<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature<ED, Cxt, AD>>>(
|
||||
features: BasicFeatures<ED, Cxt, AD> & FD,
|
||||
fullpath: string,
|
||||
name: string,
|
||||
refresh: boolean = true) {
|
||||
features.runningNode.removeFilterByName(fullpath, name, refresh);
|
||||
}
|
||||
|
||||
async function execute<ED extends EntityDict, Cxt extends Context<ED>, AD extends Record<string, Aspect<ED, Cxt>>, FD extends Record<string, Feature<ED, Cxt, AD>>>(
|
||||
features: BasicFeatures<ED, Cxt, AD> & FD,
|
||||
fullpath: string,
|
||||
|
|
@ -354,6 +318,10 @@ function createPageOptions<ED extends EntityDict,
|
|||
return features.runningNode.getFilters(this.data.oakFullpath);
|
||||
},
|
||||
|
||||
getFilterByName(name) {
|
||||
return features.runningNode.getFilterByName(this.data.oakFullpath, name)
|
||||
},
|
||||
|
||||
addFilter(filter, refresh = false) {
|
||||
return features.runningNode.addFilter(this.data.oakFullpath, filter, refresh);
|
||||
},
|
||||
|
|
@ -630,6 +598,10 @@ function createComponentOptions<ED extends EntityDict,
|
|||
return features.runningNode.getFilters(this.data.oakFullpath);
|
||||
},
|
||||
|
||||
getFilterByName(name) {
|
||||
return features.runningNode.getFilterByName(this.data.oakFullpath, name)
|
||||
},
|
||||
|
||||
addFilter(filter, refresh = false) {
|
||||
return features.runningNode.addFilter(this.data.oakFullpath, filter, refresh);
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue