From d6dd46c46704a00a7c869d0d5f24ee6c701e4ae1 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Fri, 1 Jun 2018 23:38:49 -0700 Subject: [PATCH] Fix JsonModelPlugin marking paths as changed correctly --- server/src/plugins/json_model_plugin.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/server/src/plugins/json_model_plugin.rs b/server/src/plugins/json_model_plugin.rs index 9a40b0c3..addd3bbd 100644 --- a/server/src/plugins/json_model_plugin.rs +++ b/server/src/plugins/json_model_plugin.rs @@ -78,7 +78,21 @@ impl Plugin for JsonModelPlugin { } } - fn handle_file_change(&self, _route: &Route) -> FileChangeResult { - FileChangeResult::Pass + fn handle_file_change(&self, route: &Route) -> FileChangeResult { + let leaf = match route.last() { + Some(v) => v, + None => return FileChangeResult::Pass, + }; + + let is_init = leaf == JSON_MODEL_INIT; + + if is_init { + let mut changed = route.clone(); + changed.pop(); + + FileChangeResult::MarkChanged(Some(vec![changed])) + } else { + FileChangeResult::Pass + } } }