Files
Unify/framework/unify/sql/searchable.js

98 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2025-12-25 11:16:59 +01:00
export default class searchable{
constructor( path ) {
this.path = path;
}
path = false;
operator = false;
findPath( path, searchable = this, searchables = new Array() ) {
if( searchable.operator ) {
if(typeof searchable.a == "object") {
searchable.a.parent = searchable;
}
if(typeof searchable.b == "object") {
searchable.b.parent = searchable;
}
if( searchable.a ) {
var a = this.findPath( path, searchable.a, searchables );
}
if( searchable.b ) {
var b = this.findPath( path, searchable.b, searchables );
}
if( a || b ) {
return searchables;
}
}
if( searchable.path ) {
var currentPath = searchable.path;
var parts = currentPath.split("/");
var columnName = parts.pop();
var filterAddress = parts.join("/");
console.log("find path", filterAddress, path);
if( filterAddress == path ) {
searchables.push( searchable );
return searchables;
}
}
return false;
}
getColumnName() {
var currentPath = this.path;
var parts = currentPath.split("/");
return parts.pop();
}
getValue() {
return this.parent.b;
}
getOperator() {
return this.parent.operator;
}
}