Bladeren bron

Project Settings: many fixs

lviguier 8 maanden geleden
bovenliggende
commit
c31b218d2a
1 gewijzigde bestanden met toevoegingen van 18 en 7 verwijderingen
  1. 18 7
      hide/view/settings/ProjectSettings.hx

+ 18 - 7
hide/view/settings/ProjectSettings.hx

@@ -20,6 +20,7 @@ class ProjectSettings extends hide.ui.View<{}> {
 
 	var settings : Array<LocalSetting>;
 	var currentFilter = Filter.NONE;
+	var loading = false;
 
 	public function new( ?state ) {
 		super(state);
@@ -35,23 +36,31 @@ class ProjectSettings extends hide.ui.View<{}> {
 		keys.register("redo", function() undo.redo());
 
 		new Element('<div class="project-settings">
-			<h1>Project settings</h1>
-			<div class="loading">
-				<div class="ico ico-spinner fa-spin"></div>
-				<p>Loading settings ...</p>
-			</div>
+		<h1>Project settings</h1>
+		<div class="loading">
+		<div class="ico ico-spinner fa-spin"></div>
+		<p>Loading settings ...</p>
+		</div>
 		</div>').appendTo(element);
+		loading = true;
 	}
 
 	override function onActivate() {
 		super.onActivate();
+		load();
+	}
+
+	function load() {
+		if (!loading) {
+			haxe.Timer.delay(load, 100);
+			return;
+		}
 
 		if (settings != null)
 			return;
 
 		settings = [];
 		getPropsFiles(ide.projectDir);
-
 		element.empty();
 		var root = new Element('<div class="project-settings">
 			<h1>Project settings</h1>
@@ -235,7 +244,9 @@ class ProjectSettings extends hide.ui.View<{}> {
 		});
 
 		// Render props
-		var renderProps : Array<Dynamic> = Reflect.field(obj, RENDERPROPS_ENTRY);
+		var v = Reflect.field(obj, RENDERPROPS_ENTRY);
+		var renderProps : Array<Dynamic> = v is Array ? v : [{name: "", value:v}];
+		Reflect.setField(obj, RENDERPROPS_ENTRY, renderProps);
 		var renderPropsEl = new Element('<div>
 			<h2>Render props</h2>
 			<div class="array">