*
*/
-// "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.log;
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");
+ });
+ }
});
});