X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=src%2Fmkws-popup.js;h=54ef15218537a620fd6830941e852e390e41ce4b;hp=f5b0550e23ff23a4664521a38222516aff93de5a;hb=058ce4a204a9ce4d63b2d319037f60cd9f94ff1b;hpb=63cd167da7164a9954a77498db2cced959e5fdb4 diff --git a/src/mkws-popup.js b/src/mkws-popup.js index f5b0550..54ef152 100644 --- a/src/mkws-popup.js +++ b/src/mkws-popup.js @@ -2,46 +2,59 @@ * */ -// "use strict"; - -$(document).ready(function () { - // mkws.registerWidgetType('PopupWindow', function() { +//"use strict"; +// $(document).ready(function () { +mkws.registerWidgetType('popup', function() { var $ = mkws.$; - var debug = mkws.log; + var debug = this.info; debug("init popup window"); - if (!$.ui) { - alert("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?"); + 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); } - var popup = $(".PopupWindow"); - if (!popup) { - debug("no popup found"); + if (!$.ui) { + alert("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?"); return; - } else { - debug("found popup windows: " + popup.length); } - $(popup).each(function (i) { - var width = parseInt(this.attr("popup_width") || "800"); - var height = parseInt(this.attr("popup_height") || "600"); - var autoOpen = parseInt(this.attr("popup_autoOpen") || "0"); + // more than one widget on a page are possible + popup_window.each(function(i) { + var that = $(this); + + // 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); - $(this).dialog({ + that.dialog({ closeOnEscape: true, autoOpen: autoOpen, height: height, width: width, - modal: true, + modal: modal ? true : false, resizable: true, buttons: { - Cancel: function () { - $(this).dialog("close"); + Cancel: function() { + that.dialog("close"); } }, - close: function () {} + 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"); + }); + } }); });