Преглед на файлове

HUE-242. Change HtmlTable TreeView code to deal with Partial Refresh's new feature of removing nodes missing from the response

Aaron Newton преди 15 години
родител
ревизия
83c84bdbe4
променени са 1 файла, в които са добавени 4 реда и са изтрити 7 реда
  1. 4 7
      desktop/core/static/js/Source/BehaviorFilters/Behavior.HtmlTableLiveTreeKeyboard.js

+ 4 - 7
desktop/core/static/js/Source/BehaviorFilters/Behavior.HtmlTableLiveTreeKeyboard.js

@@ -35,18 +35,15 @@ var checkLinkerForLivePath = function(anchor, methods){
 Behavior.addGlobalPlugin('HtmlTable', 'HtmlTableLiveTreeKeyboard', function(element, methods){
 Behavior.addGlobalPlugin('HtmlTable', 'HtmlTableLiveTreeKeyboard', function(element, methods){
 	if (!element.hasClass('treeView')) return;
 	if (!element.hasClass('treeView')) return;
 	var table = element.retrieve('HtmlTable');
 	var table = element.retrieve('HtmlTable');
+	table.addEvent('onHideRow', function(row){
+		if (row.get('data-partial-line-id')) row.destroy();
+	});
 	table.addEvent('expandSection', function(row){
 	table.addEvent('expandSection', function(row){
 		var anchor = row.getElement('.expand');
 		var anchor = row.getElement('.expand');
-		if (!row.retrieve('livetree:loaded')) {
-			row.store('livetree:loaded', true);
-			if (anchor) methods.callClick({ stop: $empty, preventDefault: $empty, stopPropagation: $empty}, anchor, true);
-		} else if (anchor) {
-			checkLinkerForLivePath(anchor, methods);
-		}
+		if (anchor) methods.callClick({ stop: $empty, preventDefault: $empty, stopPropagation: $empty}, anchor, true);
 	}.bind(this));
 	}.bind(this));
 	table.addEvent('closeSection', function(row){
 	table.addEvent('closeSection', function(row){
 		var anchor = row.getElement('.expand');
 		var anchor = row.getElement('.expand');
-		row.store('livetree:loaded', true);
 		if (anchor) checkLinkerForLivePath(anchor, methods);
 		if (anchor) checkLinkerForLivePath(anchor, methods);
 	});
 	});
 	$(table).addEvent('click:relay(.expand)', function(event, link){
 	$(table).addEvent('click:relay(.expand)', function(event, link){