mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-10-31 07:32:59 +00:00 
			
		
		
		
	Bugfix/3117 inconsistent each (#3124)
* Following Jeremy's proposal of using a new suffix * typo fixed
This commit is contained in:
		| @@ -20,16 +20,32 @@ exports.each = function(source,operator,options) { | |||||||
| 	var results =[] , | 	var results =[] , | ||||||
| 	value,values = {}, | 	value,values = {}, | ||||||
| 	field = operator.operand || "title"; | 	field = operator.operand || "title"; | ||||||
| 	if(operator.suffix !== "list-item") { | 	if(operator.suffix === "value" && field === "title") { | ||||||
|  | 		source(function(tiddler,title) { | ||||||
|  | 			if(!$tw.utils.hop(values,title)) { | ||||||
|  | 				values[title] = true; | ||||||
|  | 				results.push(title); | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  | 	} else if(operator.suffix !== "list-item") { | ||||||
|  | 		if(field === "title") { | ||||||
|  | 			source(function(tiddler,title) { | ||||||
|  | 				if(tiddler && !$tw.utils.hop(values,title)) { | ||||||
|  | 					values[title] = true; | ||||||
|  | 					results.push(title); | ||||||
|  | 				} | ||||||
|  | 			}); | ||||||
|  | 		} else { | ||||||
| 			source(function(tiddler,title) { | 			source(function(tiddler,title) { | ||||||
| 				if(tiddler) { | 				if(tiddler) { | ||||||
| 				value = (field === "title") ? title : tiddler.getFieldString(field); | 					value = tiddler.getFieldString(field); | ||||||
| 					if(!$tw.utils.hop(values,value)) { | 					if(!$tw.utils.hop(values,value)) { | ||||||
| 						values[value] = true; | 						values[value] = true; | ||||||
| 						results.push(title); | 						results.push(title); | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 			}); | 			}); | ||||||
|  | 		} | ||||||
| 	} else { | 	} else { | ||||||
| 		source(function(tiddler,title) { | 		source(function(tiddler,title) { | ||||||
| 			if(tiddler) { | 			if(tiddler) { | ||||||
|   | |||||||
| @@ -7,5 +7,7 @@ type: text/vnd.tiddlywiki | |||||||
| <<.operator-example 1 "[each[color]]">> | <<.operator-example 1 "[each[color]]">> | ||||||
| <<.operator-example 2 "[sort[title]each[type]]" "the alphabetically first tiddler of each type">> | <<.operator-example 2 "[sort[title]each[type]]" "the alphabetically first tiddler of each type">> | ||||||
| <<.operator-example 3 "[each:list-item[list]]" "all tiddlers listed anywhere in the core list field">> | <<.operator-example 3 "[each:list-item[list]]" "all tiddlers listed anywhere in the core list field">> | ||||||
|  | <<.operator-example 4 "[[Non existing]] [[GettingStarted]] +[each:value[]]" "Compare this to `+[each[]]` below">> | ||||||
|  | <<.operator-example 5 "[[Non existing]] [[GettingStarted]] +[each[]]" "Compare this to `+[each:value[]]` above">> | ||||||
|  |  | ||||||
| For an example of using the <<.op each>> operator to generate a two-tier list of groups and members, see [[GroupedLists]]. | For an example of using the <<.op each>> operator to generate a two-tier list of groups and members, see [[GroupedLists]]. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Skeeve
					Skeeve