Commit bab080cb authored by Amirjanyan's avatar Amirjanyan
Browse files

renderConfig bugs fixed

parent 5d5b84b4
Showing with 4 additions and 4 deletions
+4 -4
......@@ -240,14 +240,14 @@ export class CascadableView extends Cascadable/*, ObservableObject*/ {
get renderConfig(): CascadingRenderConfig {
let x = this.localCache[this.activeRenderer]
if (x?.constructor?.name == "CascadingRenderConfig") { return x }
if (x && x instanceof CascadingRenderConfig) { return x }
let getConfig = function(a: CVUParsedDefinition) {
let definitions = (a.get("rendererDefinitions") ?? [])
// Prefer a perfectly matched definition
return definitions.find((item) => item.name == this.activeRenderer )
// Else get the one from the parent renderer
?? definitions.find((item) => item.name == this.activeRenderer.split(".").splice(-1,1).join("."))
?? definitions.find((item) => item.name == this.activeRenderer.split(".").slice(0, -1).join("."))
}.bind(this)
let head = getConfig(this.head) ?? function(){
......
......@@ -24,7 +24,7 @@ export class CVUParsedDefinition {
this.selector = selector
this.name = name
this.domain = domain;
this.parsed = parsed
this.parsed = parsed ?? new MemriDictionary()
}
get(propName:string) {
......@@ -201,7 +201,7 @@ export class CVUParsedViewDefinition extends CVUParsedDefinition {
query?: ExprNode
get definitionType() {return "view" }
constructor(selector, name, type?, query?, domain: string = "user", parsed?: MemriDictionary) {//TODO
constructor(selector, name?, type?, query?, domain: string = "user", parsed?: MemriDictionary) {//TODO
super(selector, name, domain, parsed)
this.type = type
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment