X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=src%2Fmkws-popup.js;h=54ef15218537a620fd6830941e852e390e41ce4b;hp=4d03c52d28f71f1ba07e24ed026c917256441234;hb=9db5acd9631c941e028b4e368702464a5d022c35;hpb=91496e8aa6251dd1bfcdd04b8c233194c0fbc143 diff --git a/src/mkws-popup.js b/src/mkws-popup.js index 4d03c52..54ef152 100644 --- a/src/mkws-popup.js +++ b/src/mkws-popup.js @@ -2,34 +2,59 @@ * */ -// "use strict"; +//"use strict"; +// $(document).ready(function () { +mkws.registerWidgetType('popup', function() { + var $ = mkws.$; + var debug = this.info; + debug("init popup window"); -mkws.registerWidgetType('Popup', function() { - alert("running popup"); + var popup_window = $(this.node); + // var popup_window = $(".mkws-popup mkwsPopup"); // $(document).ready() + if (!popup_window) { + debug("no popup found, skip..."); + return; + } else { + debug("number of popup windows found: " + popup_window.length); + } - if (!mkws.$.ui) { - alert("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?"); - return; - } + if (!$.ui) { + alert("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?"); + return; + } - if (!this.config.popup_width) this.config.popup_width = "800"; - if (!this.config.popup_height) this.config.popup_height = "600"; - if (!this.config.auto_open) this.config.auto_open = "0"; + // more than one widget on a page are possible + popup_window.each(function(i) { + var that = $(this); - $(this).dialog({ - closeOnEscape: true, - autoOpen: parseInt(this.config.auto_open) ? true : false, - height: parseInt(this.config.popup_height), - width: parseInt(this.config.popup_width), - modal: true, - resizable: true, - buttons: { - Cancel: function() { - $(this).dialog("close"); - } - }, - close: function() { } - }); + // all atributes are strings, convert them to integers here + var width = parseInt(that.attr("popup_width") || "800"); + var height = parseInt(that.attr("popup_height") || "600"); + var autoOpen = parseInt(that.attr("popup_autoOpen") || "0"); + var modal = parseInt(that.attr("popup_modal") || "0"); -}); + debug("Popup parameters: width: " + width + ", height: " + height + ", autoOpen: " + autoOpen); + that.dialog({ + closeOnEscape: true, + autoOpen: autoOpen, + height: height, + width: width, + modal: modal ? true : false, + resizable: true, + buttons: { + Cancel: function() { + that.dialog("close"); + } + }, + close: function() {} + }); + // open at search query submit: "input.mkws-button mkwsButton" + var id_botton = that.attr("popup_button"); + if (id_botton) { + $(id_botton).button().click(function() { + that.dialog("open"); + }); + } + }); +});