mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-10-31 07:32:59 +00:00 
			
		
		
		
	Make the setstyle widget refresh itself properly
This will allow us to dynamically change the colour of tags
This commit is contained in:
		| @@ -35,6 +35,24 @@ SetStyleWidget.prototype.generate = function() { | ||||
| 	this.children = this.renderer.renderTree.createRenderers(this.renderer,this.renderer.parseTreeNode.children); | ||||
| }; | ||||
|  | ||||
| SetStyleWidget.prototype.refreshInDom = function(changedAttributes,changedTiddlers) { | ||||
| 	// Check if any of our attributes have changed, or if a tiddler we're interested in has changed | ||||
| 	if(changedAttributes.name || changedAttributes.value || changedAttributes["class"]) { | ||||
| 		// Regenerate and rerender the widget and replace the existing DOM node | ||||
| 		this.generate(); | ||||
| 		var oldDomNode = this.renderer.domNode, | ||||
| 			newDomNode = this.renderer.renderInDom(); | ||||
| 		oldDomNode.parentNode.replaceChild(newDomNode,oldDomNode); | ||||
| 	} else { | ||||
| 		// We don't need to refresh ourselves, so just refresh any child nodes | ||||
| 		$tw.utils.each(this.children,function(node) { | ||||
| 			if(node.refreshInDom) { | ||||
| 				node.refreshInDom(changedTiddlers); | ||||
| 			} | ||||
| 		}); | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| exports.setstyle = SetStyleWidget; | ||||
|  | ||||
| })(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jeremy Ruston
					Jeremy Ruston