File tree Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -205,18 +205,24 @@ class DomkitViewer extends h2d.Object {
205
205
var loadedComponents : Array <domkit. Component <h2d. Object , h2d. Object >> = [];
206
206
var compHooks : Map <String ,Array <Dynamic > -> h2d. Object -> h2d. Object > = [];
207
207
var definedClasses : Array <String > = [];
208
- var loadedResources : Array <hxd.res. Resource > ;
208
+ var loadedResources : Array <{ r : hxd.res. Resource , wasLoaded : Bool }> = [] ;
209
209
210
210
public function new ( style : DomkitStyle , res : hxd.res. Resource , ? parent ) {
211
211
super (parent );
212
212
this .style = style ;
213
213
this .resource = res ;
214
- loadedResources = [res ];
215
- res .watch (rebuild );
214
+ loadComponents (res );
216
215
addContext (new DomkitBaseContext ());
217
216
rebuildDelay ();
218
217
}
219
218
219
+ function loadComponents ( res : hxd.res. Resource ) {
220
+ var loaded = @:privateAccess style .resources .indexOf (res ) >= 0 ;
221
+ loadedResources .push ({ r : res , wasLoaded : loaded });
222
+ if ( ! loaded ) style .load (res );
223
+ res .watch (rebuild );
224
+ }
225
+
220
226
function rebuildDelay () {
221
227
if ( rebuilding ) return ;
222
228
rebuilding = true ;
@@ -264,8 +270,12 @@ class DomkitViewer extends h2d.Object {
264
270
if ( currentObj != null )
265
271
currentObj .remove ();
266
272
// force re-watch
267
- for ( r in loadedResources )
268
- style .load (r );
273
+ for ( r in loadedResources ) {
274
+ if ( r .wasLoaded )
275
+ style .load (r .r );
276
+ else
277
+ style .unload (r .r );
278
+ }
269
279
for ( c in loadedComponents ) {
270
280
@:privateAccess domkit. Component .COMPONENTS .remove (c .name );
271
281
@:privateAccess domkit. CssStyle . CssData .COMPONENTS .remove (c );
You can’t perform that action at this time.
0 commit comments