mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-10-29 22:53:00 +00:00 
			
		
		
		
	Hash the state qualifier to make it shorter
We were having problems with TW5 generating filepaths that were longer than Windows likes. Fixes #240
This commit is contained in:
		| @@ -402,4 +402,15 @@ exports.getAnimationDuration = function() { | ||||
| 	return parseInt($tw.wiki.getTiddlerText("$:/config/AnimationDuration","400"),10); | ||||
| }; | ||||
|  | ||||
| /* | ||||
| Hash a string to a number | ||||
| Derived from http://stackoverflow.com/a/15710692 | ||||
| */ | ||||
| exports.hashString = function(str) { | ||||
| 	return str.split("").reduce(function(a,b) { | ||||
| 		a = ((a << 5) - a) + b.charCodeAt(0); | ||||
| 		return a & a; | ||||
| 	},0); | ||||
| }; | ||||
|  | ||||
| })(); | ||||
|   | ||||
| @@ -188,7 +188,7 @@ Widget.prototype.hasVariable = function(name,value) { | ||||
| }; | ||||
|  | ||||
| /* | ||||
| Construct a qualifying string based on concatenating the values of a given variable in the parent chain | ||||
| Construct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain | ||||
| */ | ||||
| Widget.prototype.getStateQualifier = function(name) { | ||||
| 	name = name || "transclusion"; | ||||
| @@ -200,7 +200,7 @@ Widget.prototype.getStateQualifier = function(name) { | ||||
| 		} | ||||
| 		node = node.parentWidget; | ||||
| 	} | ||||
| 	return output.join(""); | ||||
| 	return "{" + $tw.utils.hashString(output.join("")) + "}"; | ||||
| }; | ||||
|  | ||||
| /* | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jermolene
					Jermolene