Dont store empty classes or events if they are null upon change.
This commit is contained in:
		| @@ -276,9 +276,14 @@ class IgniteTemplate { | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         //Remove the old value | ||||
|         this.classes = this.classes.filter(cl => cl != oldValue && cl != newValue); | ||||
|  | ||||
|         //Add the new value if its valid. | ||||
|         if (newValue !== null && newValue !== undefined) { | ||||
|             this.classes.push(newValue); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Called when a attribute on this template was changed and needs to be updated | ||||
| @@ -353,10 +358,14 @@ class IgniteTemplate { | ||||
|  | ||||
|             //Remove the old value from the events | ||||
|             this.events[eventName] = this.events[eventName].filter(ev => ev != oldValue); | ||||
|  | ||||
|             //Add the new value if it's needed | ||||
|             if (newValue !== null && newValue !== undefined) { | ||||
|                 this.events[eventName].push(newValue); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| class div extends IgniteTemplate { | ||||
|     constructor(...items) { | ||||
|   | ||||
							
								
								
									
										15
									
								
								src/sheet.js
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								src/sheet.js
									
									
									
									
									
								
							| @@ -12,7 +12,8 @@ class Sheet extends IgniteElement { | ||||
|             items: ["1", "2"], | ||||
|             href: "www.google.com", | ||||
|             name: "default content", | ||||
|             linkClick: this.onClick | ||||
|             linkClick: this.onClick1, | ||||
|             linkClick2: this.onClick2 | ||||
|         }; | ||||
|     } | ||||
|  | ||||
| @@ -29,15 +30,17 @@ class Sheet extends IgniteElement { | ||||
|                     new html("<h3>---- begin sheet's slot ----<h3>"), | ||||
|                     new slot(this), | ||||
|                     new html("<h3>---- end of slot ----</h3>"), | ||||
|                     new a("I go nowhere, but you can click me ;)").on("click", this.linkClick) | ||||
|                     new a("I go nowhere, but you can click me ;)").on("click", this.linkClick).on("click", this.linkClick2) | ||||
|                 ) | ||||
|             ); | ||||
|     } | ||||
|  | ||||
|     onClick(event) { | ||||
|         console.log("Element was clicked!"); | ||||
|         console.log("Event:"); | ||||
|         console.log(event); | ||||
|     onClick1(event) { | ||||
|         console.log("Element was clicked 1!"); | ||||
|     } | ||||
|  | ||||
|     onClick2(event) { | ||||
|         console.log("Element was clicked 2!"); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user