diff --git a/imports/ui/Admin.svelte b/imports/ui/Admin.svelte index cfda532..00c9869 100644 --- a/imports/ui/Admin.svelte +++ b/imports/ui/Admin.svelte @@ -48,14 +48,19 @@ const deleteSite = site => { //TODO: }; + // Create a holder for the site being edited. This allows us to clear the editor when the user finishes, and allows the table or parent view to setup the editor. let editedSite = writable(null); + let dirtySite = null; + // Copy the edited site when ever it changes, set some defaults for a new site object (to make the view happy). + editedSite.subscribe(site => {dirtySite = Object.assign({name: ""}, site)}); + // Load the sites (reactive). let sites = Sites.find({}); const applySiteChanges = () => { - if($editedSite._id) - Meteor.call("sites.update", $editedSite._id,$editedSite.name); + if(dirtySite._id) + Meteor.call("sites.update", dirtySite._id, dirtySite.name); else - Meteor.call("sites.add", $editedSite.name); + Meteor.call("sites.add", dirtySite.name); editedSite.set(null); } const rejectSiteChanges = () => { @@ -65,10 +70,10 @@