Browse files

Styles enabled on table-operations dialogs

  • Loading branch information...
1 parent d396ba7 commit d5a55d23888792191883c5c504e3d6ddbfb1c8ff julmis committed Mar 19, 2004
Showing with 127 additions and 125 deletions.
  1. +127 −125 lib/editor/popupwin.js
View
252 lib/editor/popupwin.js
@@ -1,125 +1,127 @@
-function PopupWin(editor, title, handler, initFunction) {
- this.editor = editor;
- this.handler = handler;
- var dlg = window.open("", "__ha_dialog",
- "toolbar=no,menubar=no,personalbar=no,width=600,height=600," +
- "scrollbars=no,resizable=no");
- this.window = dlg;
- var doc = dlg.document;
- this.doc = doc;
- var self = this;
-
- var base = document.baseURI || document.URL;
- if (base && base.match(/(.*)\/([^\/]+)/)) {
- base = RegExp.$1 + "/";
- }
- this.baseURL = base;
-
- doc.open();
- var html = "<html><head><title>" + title + "</title>\n";
- // html += "<base href='" + base + "htmlarea.js' />\n";
- html += "<style type='text/css'>@import url(" + base + "htmlarea.css);</style></head>\n";
- html += "<body class='dialog popupwin' id='--HA-body'></body></html>";
- doc.write(html);
- doc.close();
-
- // sometimes I Hate Mozilla... ;-(
- function init2() {
- var body = doc.body;
- if (!body) {
- setTimeout(init2, 25);
- return false;
- }
- dlg.title = title;
- doc.documentElement.style.padding = "0px";
- doc.documentElement.style.margin = "0px";
- var content = doc.createElement("div");
- content.className = "content";
- self.content = content;
- body.appendChild(content);
- self.element = body;
- initFunction(self);
- dlg.focus();
- };
- init2();
-};
-
-PopupWin.prototype.callHandler = function() {
- var tags = ["input", "textarea", "select"];
- var params = new Object();
- for (var ti in tags) {
- var tag = tags[ti];
- var els = this.content.getElementsByTagName(tag);
- for (var j = 0; j < els.length; ++j) {
- var el = els[j];
- var val = el.value;
- if (el.tagName.toLowerCase() == "input") {
- if (el.type == "checkbox") {
- val = el.checked;
- }
- }
- params[el.name] = val;
- }
- }
- this.handler(this, params);
- return false;
-};
-
-PopupWin.prototype.close = function() {
- this.window.close();
-};
-
-PopupWin.prototype.addButtons = function() {
- var self = this;
- var div = this.doc.createElement("div");
- this.content.appendChild(div);
- div.className = "buttons";
- for (var i = 0; i < arguments.length; ++i) {
- var btn = arguments[i];
- var button = this.doc.createElement("button");
- div.appendChild(button);
- button.innerHTML = HTMLArea.I18N.buttons[btn];
- switch (btn) {
- case "ok":
- button.onclick = function() {
- self.callHandler();
- self.close();
- return false;
- };
- break;
- case "cancel":
- button.onclick = function() {
- self.close();
- return false;
- };
- break;
- }
- }
-};
-
-PopupWin.prototype.showAtElement = function() {
- var self = this;
- // Mozilla needs some time to realize what's goin' on..
- setTimeout(function() {
- var w = self.content.offsetWidth + 4;
- var h = self.content.offsetHeight + 4;
- // size to content -- that's fuckin' buggy in all fuckin' browsers!!!
- // so that we set a larger size for the dialog window and then center
- // the element inside... phuck!
-
- // center...
- var el = self.content;
- var s = el.style;
- // s.width = el.offsetWidth + "px";
- // s.height = el.offsetHeight + "px";
- s.position = "absolute";
- s.left = (w - el.offsetWidth) / 2 + "px";
- s.top = (h - el.offsetHeight) / 2 + "px";
- if (HTMLArea.is_gecko) {
- self.window.innerWidth = w;
- self.window.innerHeight = h;
- } else {
- self.window.resizeTo(w + 8, h + 35);
- }
- }, 25);
-};
+// $Id$
+function PopupWin(editor, title, handler, initFunction) {
+ this.editor = editor;
+ this.handler = handler;
+ var dlg = window.open("", "__ha_dialog",
+ "toolbar=no,menubar=no,personalbar=no,width=600,height=600," +
+ "scrollbars=no,resizable=no");
+ this.window = dlg;
+ var doc = dlg.document;
+ this.doc = doc;
+ var self = this;
+
+ var base = document.baseURI || document.URL;
+ if (base && base.match(/(.*)\/([^\/]+)/)) {
+ base = RegExp.$1 + "/";
+ }
+ this.baseURL = base;
+
+ doc.open();
+ var html = "<html><head><title>" + title + "</title>\n";
+ // html += "<base href='" + base + "htmlarea.js' />\n";
+ //html += "<style type='text/css'>@import url(" + base + "htmlarea.css);</style></head>\n";
+ html += "<style type='text/css'>@import url(../htmlarea.css);</style></head>\n";
+ html += "<body class='dialog popupwin' id='--HA-body'></body></html>";
+ doc.write(html);
+ doc.close();
+
+ // sometimes I Hate Mozilla... ;-(
+ function init2() {
+ var body = doc.body;
+ if (!body) {
+ setTimeout(init2, 25);
+ return false;
+ }
+ dlg.title = title;
+ doc.documentElement.style.padding = "0px";
+ doc.documentElement.style.margin = "0px";
+ var content = doc.createElement("div");
+ content.className = "content";
+ self.content = content;
+ body.appendChild(content);
+ self.element = body;
+ initFunction(self);
+ dlg.focus();
+ };
+ init2();
+};
+
+PopupWin.prototype.callHandler = function() {
+ var tags = ["input", "textarea", "select"];
+ var params = new Object();
+ for (var ti in tags) {
+ var tag = tags[ti];
+ var els = this.content.getElementsByTagName(tag);
+ for (var j = 0; j < els.length; ++j) {
+ var el = els[j];
+ var val = el.value;
+ if (el.tagName.toLowerCase() == "input") {
+ if (el.type == "checkbox") {
+ val = el.checked;
+ }
+ }
+ params[el.name] = val;
+ }
+ }
+ this.handler(this, params);
+ return false;
+};
+
+PopupWin.prototype.close = function() {
+ this.window.close();
+};
+
+PopupWin.prototype.addButtons = function() {
+ var self = this;
+ var div = this.doc.createElement("div");
+ this.content.appendChild(div);
+ div.className = "buttons";
+ for (var i = 0; i < arguments.length; ++i) {
+ var btn = arguments[i];
+ var button = this.doc.createElement("button");
+ div.appendChild(button);
+ button.innerHTML = HTMLArea.I18N.buttons[btn];
+ switch (btn) {
+ case "ok":
+ button.onclick = function() {
+ self.callHandler();
+ self.close();
+ return false;
+ };
+ break;
+ case "cancel":
+ button.onclick = function() {
+ self.close();
+ return false;
+ };
+ break;
+ }
+ }
+};
+
+PopupWin.prototype.showAtElement = function() {
+ var self = this;
+ // Mozilla needs some time to realize what's goin' on..
+ setTimeout(function() {
+ var w = self.content.offsetWidth + 4;
+ var h = self.content.offsetHeight + 4;
+ // size to content -- that's fuckin' buggy in all fuckin' browsers!!!
+ // so that we set a larger size for the dialog window and then center
+ // the element inside... phuck!
+
+ // center...
+ var el = self.content;
+ var s = el.style;
+ // s.width = el.offsetWidth + "px";
+ // s.height = el.offsetHeight + "px";
+ s.position = "absolute";
+ s.left = (w - el.offsetWidth) / 2 + "px";
+ s.top = (h - el.offsetHeight) / 2 + "px";
+ if (HTMLArea.is_gecko) {
+ self.window.innerWidth = w;
+ self.window.innerHeight = h;
+ } else {
+ self.window.resizeTo(w + 8, h + 35);
+ }
+ }, 25);
+};

0 comments on commit d5a55d2

Please sign in to comment.