From cb1ae141bb65a5da42e94910214abbf5ac367920 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sat, 8 Aug 2009 15:46:53 -0700 Subject: Create an new option 'immediate' and if set to true then don't try to set up click events, but just show the dialog. Also remove the destroy method and put all the cleanup into the dialog close handler --- lib/gallery.dialog.js | 88 ++++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 43 deletions(-) (limited to 'lib/gallery.dialog.js') diff --git a/lib/gallery.dialog.js b/lib/gallery.dialog.js index 51ebb21a..9aebd455 100644 --- a/lib/gallery.dialog.js +++ b/lib/gallery.dialog.js @@ -2,56 +2,54 @@ $.widget("ui.gallery_dialog", { _init: function() { var self = this; - this.element.click(function(event){ - event.preventDefault(); - var element = event.currentTarget; - var sHref = $(element).attr("href"); - var sTitle = $(element).attr("title"); - var eDialog = '
'; - - $("body").append(eDialog); + var options = self.options; + if (!self.options.immediate) { + this.element.click(function(event) { + event.preventDefault(); + self._show($(event.currentTarget).attr("href")); + return false; + }); + } else { + self._show(this.element.attr("href")); + } + }, - if (!self.options.close) { - self.options.close = self.close_dialog; - } - $("#gDialog").dialog(self.options); + _show: function(sHref) { + var self = this; + var eDialog = '
'; - $("#gDialog").gallery_show_loading(); + $("body").append(eDialog); - $.get(sHref, function(data) { - $("#gDialog").html(data).gallery_show_loading(); + if (!self.options.close) { + self.options.close = self.close_dialog; + } + $("#gDialog").dialog(self.options); - if ($("#gDialog form").length) { - self._trigger("form_loaded", null, $("#gDialog form")); - } - self._layout(); + $("#gDialog").gallery_show_loading(); - $("#gDialog").dialog("open"); - // Remove titlebar for progress dialogs or set title - if ($("#gDialog #gProgress").length) { - $(".ui-dialog-titlebar").remove(); - } else if ($("#gDialog h1").length) { - $("#gDialog").dialog('option', 'title', $("#gDialog h1:eq(0)").html()); - } else if ($("#gDialog fieldset legend").length) { - $("#gDialog").dialog('option', 'title', $("#gDialog fieldset legend:eq(0)").html()); - } + $.get(sHref, function(data) { + $("#gDialog").html(data).gallery_show_loading(); - if ($("#gDialog form").length) { - self._ajaxify_dialog(); - } - }); - $("#gDialog").dialog("option", "self", self); - return false; - }); - }, + if ($("#gDialog form").length) { + self._trigger("form_loaded", null, $("#gDialog form")); + } + self._layout(); - destroy: function() { - if ($("#gDialog form").length) { - this._trigger("form_closing", null, $("#gDialog form")); - } - this._trigger("dialog_closing", null, $("#gDialog")); + $("#gDialog").dialog("open"); + // Remove titlebar for progress dialogs or set title + if ($("#gDialog #gProgress").length) { + $(".ui-dialog-titlebar").remove(); + } else if ($("#gDialog h1").length) { + $("#gDialog").dialog('option', 'title', $("#gDialog h1:eq(0)").html()); + } else if ($("#gDialog fieldset legend").length) { + $("#gDialog").dialog('option', 'title', $("#gDialog fieldset legend:eq(0)").html()); + } - $("#gDialog").dialog("destroy").remove(); + if ($("#gDialog form").length) { + self._ajaxify_dialog(); + } + }); + $("#gDialog").dialog("option", "self", self); }, _layout: function() { @@ -93,7 +91,11 @@ close_dialog: function (event, ui) { var self = $("#gDialog").dialog("option", "self"); - self.destroy(); + if ($("#gDialog form").length) { + self._trigger("form_closing", null, $("#gDialog form")); + } + self._trigger("dialog_closing", null, $("#gDialog")); + $("#gDialog").dialog("destroy").remove(); }, _ajaxify_dialog: function() { -- cgit v1.2.3 From ae428a7e21ab712718e2d4d20381c2772011ff1f Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sat, 8 Aug 2009 15:52:04 -0700 Subject: remove a debug statement left over from previous commit --- lib/gallery.dialog.js | 1 - 1 file changed, 1 deletion(-) (limited to 'lib/gallery.dialog.js') diff --git a/lib/gallery.dialog.js b/lib/gallery.dialog.js index 9aebd455..4bbb8ab7 100644 --- a/lib/gallery.dialog.js +++ b/lib/gallery.dialog.js @@ -2,7 +2,6 @@ $.widget("ui.gallery_dialog", { _init: function() { var self = this; - var options = self.options; if (!self.options.immediate) { this.element.click(function(event) { event.preventDefault(); -- cgit v1.2.3