diff --git a/light9/fade/Light9FadeUi.ts b/light9/fade/Light9FadeUi.ts --- a/light9/fade/Light9FadeUi.ts +++ b/light9/fade/Light9FadeUi.ts @@ -91,9 +91,9 @@ export class Light9EffectFader extends L ctx: NamedNode = new NamedNode(showRoot + "/fade"); @property() uri!: NamedNode; @property() column!: string; - @property() effect: NamedNode | null = null; - @property() effectAttr: NamedNode | null = null; - @state() setting: NamedNode | null = null; + @property() effect?: NamedNode; + @property() effectAttr?: NamedNode + @state() setting?: NamedNode; @property() value: number = 0.0; @@ -111,18 +111,18 @@ export class Light9EffectFader extends L if (!graph.contains(this.uri, U("rdf:type"), U(":Fader"))) { // not loaded yet, perhaps this.column = "unset"; - this.effect = null; - this.effectAttr = null; + this.effect = undefined; + this.effectAttr = undefined; return; } this.column = graph.stringValue(this.uri, U(":column")); this.effect = graph.uriValue(this.uri, U(":effect")); this.setting = graph.uriValue(this.uri, U(":setting")); - if (this.setting !== null) { + if (this.setting !== undefined) { try { this.effectAttr = graph.uriValue(this.setting, U(":effectAttr")); } catch (e) { - this.effectAttr = null; + this.effectAttr = undefined; } } } @@ -169,7 +169,7 @@ export class Light9EffectFader extends L return; } const { newValue } = ev.detail; - if (this.setting === null) { + if (this.setting === undefined) { this.setting = this.graph.nextNumberedResource(this.graph.Uri(":fade_set")); this.graph.patchObject(this.uri, this.graph.Uri(":setting"), this.setting, this.ctx); } diff --git a/light9/web/ResourceDisplay.ts b/light9/web/ResourceDisplay.ts --- a/light9/web/ResourceDisplay.ts +++ b/light9/web/ResourceDisplay.ts @@ -98,8 +98,11 @@ export class ResourceDisplay extends Lit if (!this.graph) { return; /*too soon, but getTopGraph will call us again*/ } + if (this.uri === undefined) { this.label = "(unset)"; + } else if (this.uri === null) { + throw 'use undefined please' } else { this.graph.runHandler(this.compile.bind(this, this.graph), `label for ${this.uri.id}`); } diff --git a/tsconfig.json b/tsconfig.json --- a/tsconfig.json +++ b/tsconfig.json @@ -27,7 +27,7 @@ /* Strict Type-Checking Options */ "strict": true, /* Enable all strict type-checking options. */ // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ + "strictNullChecks": true, /* Enable strict null checks. */ // "strictFunctionTypes": true, /* Enable strict checking of function types. */ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */