Răsfoiți Sursa

Escaping from a search now expand cdb separators

Clement Espeute 2 ani în urmă
părinte
comite
001f3e94ea
2 a modificat fișierele cu 20 adăugiri și 1 ștergeri
  1. 19 1
      hide/comp/cdb/Editor.hx
  2. 1 0
      hide/comp/cdb/Table.hx

+ 19 - 1
hide/comp/cdb/Editor.hx

@@ -196,7 +196,26 @@ class Editor extends Component {
 		case K.ESCAPE:
 			if( currentFilters.length > 0 ) {
 				searchFilter([]);
+				// Auto expand separators if they were hidden
+				// Also : Very cursed code
+				var line = cursor.getLine();
+				if (line != null) {
+					var sep = line.element.prevAll(".separator").first();
+					while (sep.length > 0) {
+						trace(sep.get(0).classList);
+						if (sep.hasClass("sep-hidden")) {
+							sep.find("a").click();
+						}
+						if (Std.parseInt(sep.attr("level")) > 0) {
+							sep = sep.prevAll(".separator").first();
+						}
+						else {
+							break;
+						}
+					}
+				}
 			}
+
 			searchBox.hide();
 			refresh();
 		}
@@ -1857,4 +1876,3 @@ class Editor extends Component {
 		return names;
 	}
 }
-

+ 1 - 0
hide/comp/cdb/Table.hx

@@ -380,6 +380,7 @@ class Table extends Component {
 				syncLevel = sepInfo.level;
 				sep.addClass('seplevel-'+(syncLevel == null ? 0 : syncLevel));
 			}
+			sep.attr("level", syncLevel == null ? 0 : sepInfo.level);
 		}
 
 		sep.contextmenu(function(e) {