فهرست منبع

Add ability for livePath to work with form elements simply using name and value of the element.

Marcus McLaughlin 15 سال پیش
والد
کامیت
9112c3f699
1فایلهای تغییر یافته به همراه17 افزوده شده و 5 حذف شده
  1. 17 5
      desktop/core/static/js/Source/JFrameLinkers/CCS.JFrame.LivePath.js

+ 17 - 5
desktop/core/static/js/Source/JFrameLinkers/CCS.JFrame.LivePath.js

@@ -37,7 +37,6 @@ script: CCS.JFrame.LivePath.js
 		'[data-livepath-remove]': function(event, link){
 			this.currentPath = updateLivePath.call(this, link, this.currentPath);
 		}
-
 	});
 
 	var updateLivePath = function(link, currentPath){
@@ -62,19 +61,32 @@ script: CCS.JFrame.LivePath.js
 				}
 			}
 		};
+		
+		var getDataObject = function(dataString) {
+			var dataObject;
+			if (dataString == "true") {
+				dataObject = {};
+				dataObject[link.get('name')] = link.get('value');
+			} else {
+				dataObject = dataString.parseQueryString();
+			}
+			return dataObject;
+		};
+		
 		var toggle = link.get('data', 'livepath-toggle'),
 		    add = link.get('data', 'livepath-add'),
 		    remove = link.get('data', 'livepath-remove'),
 		    uri = new URI(currentPath);
 		if (toggle) {
-			toggle = toggle.parseQueryString();
+			toggle = getDataObject(toggle);
 			setData(uri, toggle, 'toggle');
+			
 		} else if (add) {
-			add = add.parseQueryString();
+			add = getDataObject(add);
 			setData(uri, add, 'add');
 		} else if (remove) {
-			remove = remove.parseQueryString();
-			setData(uri, remove, 'toggle');
+			remove = getDataObject(remove);
+			setData(uri, remove, 'remove');
 		}
 		this.fireEvent('livePathUpdate', uri);
 		return uri.toString();