import './DatesEditor.html'; import swal from "sweetalert2"; let originalData = ""; Tracker.autorun(function() { Meteor.subscribe("pages"); }); Template.DatesEditor.onRendered(function() { let _this = this; CKEditor.create(document.querySelector('#editor'), {}).then(editor => { _this.ckEditor = editor; Tracker.autorun(function() { let doc = Meteor.collections.Pages.findOne({name: 'Dates'}); originalData = (doc === undefined ? "" : doc.html); editor.setData(originalData); }); }).catch(err => { console.error(err); }); }); Template.DatesEditor.onDestroyed(function() { let data = this.ckEditor.getData(); if(data != originalData) { swal({ title: "Save Changes", text: "Would you like to save any changes you have made to this sheet?", type: "question", showCancelButton: true, confirmButtonColor: "#7cdd7f", confirmButtonText: "Yes", cancelButtonText: "No" }).then( function(isConfirm) { if(isConfirm) { Meteor.call('updatePage', 'Dates', data, function (error, result) { if (error) sAlert.error(error); else sAlert.success("Content Saved Successfully"); }); } }, function(dismiss) {} ); } }); Template.DatesEditor.events({ 'click #save': function(event, template) { let data = template.ckEditor.getData(); if(data != originalData) { Meteor.call('updatePage', 'Dates', data, function (error, result) { if (error) sAlert.error(error); else sAlert.success("Content Saved Successfully"); }); } else { sAlert.success("Data has not changed!"); } } }); s