*
*/
-// "use strict";
-
+//"use strict";
+// $(document).ready(function () {
mkws.registerWidgetType('Popup', function() {
- alert("running popup");
+ var $ = mkws.$;
+ var debug = mkws.log;
+ debug("init popup window");
- if (!mkws.$.ui) {
- alert("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?");
- return;
- }
+ var popup_window = $(this.node); // mkws.registerWidgetType('Popup',....)
+ // var popup_window = $(".mkwsPopup"); // $(document).ready()
+ if (!popup_window) {
+ debug("no popup found, skip...");
+ return;
+ } else {
+ debug("number of popup windows found: " + popup_window.length);
+ }
- 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";
+ if (!$.ui) {
+ alert("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?");
+ return;
+ }
- $(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() { }
- });
+ // 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);
+ 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.mkwsButton"
+ var id_botton = that.attr("popup_button");
+ if (id_botton) {
+ $(id_botton).button().click(function() {
+ that.dialog("open");
+ });
+ }
+ });
+});