Skip to content

Instantly share code, notes, and snippets.

@mxriverlynn
Created December 1, 2015 16:32
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mxriverlynn/8bae02c064407d64759f to your computer and use it in GitHub Desktop.
Save mxriverlynn/8bae02c064407d64759f to your computer and use it in GitHub Desktop.
backbone / marionette / bootstrap: modal dialog example for "Confirm Delete" dialog
import ConfirmDelete from "./confirmDelete"
import ConfirmDeleteViewfrom "./confirmDeleteView"
var confirmView = new ConfirmDeleteView({
model: myModel
});
ConfirmDelete.confirm(confirmView, () => {
// delete was confirmed... do something, here
});
import ConfirmLayout from "./confirmDeleteLayout";
var ConfirmDelete = {
configure: function(options){
this.region = options.region;
},
confirm: function(view, cb){
var $el = $("#modal-window");
var layout = new ConfirmLayout();
layout.on("render", () => {
layout.bodyRegion.show(view);
});
layout.on("cancel", () => {
$el.modal("hide");
});
layout.on("confirm", () => {
$el.modal("hide");
cb();
});
this.region.show(layout);
$el.modal();
}
};
export default ConfirmDelete;
var ConfirmDeleteLayout = Marionette.LayoutView.extend({
template: "#confirm-delete-layout-template",
className: "modal-content",
regions: {
bodyRegion: ".modal-body"
},
events: {
"click .cancel": "cancelClicked",
"click .confirm": "confirmClicked"
},
cancelClicked: function(e){
e.preventDefault();
this.trigger("cancel");
},
confirmClicked: function(e){
e.preventDefault();
this.trigger("confirm");
}
});
export default ConfirmDeleteLayout;
var ConfirmDeleteView = Marionette.ItemView.extend({
template: "#confirm-delete-effective-dates-template"
});
export default ConfirmDeleteView;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment