summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/popup-dialog.php50
-rw-r--r--prefs.js2
-rw-r--r--tt-rss.js4
-rw-r--r--viewfeed.js85
4 files changed, 68 insertions, 73 deletions
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php
index 351d4b0f9..ad3ca0c3a 100644
--- a/modules/popup-dialog.php
+++ b/modules/popup-dialog.php
@@ -177,10 +177,10 @@
print "<div align='center'>";
- print "<button onclick=\"return opmlRegenKey()\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"return opmlRegenKey()\">".
__('Generate new URL')."</button> ";
- print "<button onclick=\"return closeInfoBox()\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"return closeInfoBox()\">".
__('Close this window')."</button>";
print "</div>";
@@ -638,18 +638,13 @@
if ($id == "emailArticle") {
- print "<title>".__('Forward article by email')."</title>";
- print "<content><![CDATA[";
-
- print "<form id=\"article_email_form\" onsubmit='return false'>";
-
$secretkey = sha1(uniqid(rand(), true));
$_SESSION['email_secretkey'] = $secretkey;
- print "<input type=\"hidden\" name=\"secretkey\" value=\"$secretkey\">";
- print "<input type=\"hidden\" name=\"op\" value=\"rpc\">";
- print "<input type=\"hidden\" name=\"subop\" value=\"sendEmail\">";
+ print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"secretkey\" value=\"$secretkey\">";
+ print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"rpc\">";
+ print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"subop\" value=\"sendEmail\">";
$result = db_query($link, "SELECT email, full_name FROM ttrss_users WHERE
id = " . $_SESSION["uid"]);
@@ -705,8 +700,7 @@
print "</td><td>";
- print "<input size=\"40\" disabled
- onkeypress=\"return filterCR(event, false)\"
+ print "<input dojoType=\"dijit.form.TextBox\" disabled=\"1\" style=\"width : 30em;\"
value=\"$user_name <$user_email>\">";
print "</td></tr><tr><td>";
@@ -715,12 +709,12 @@
print "</td><td>";
- print "<input size=\"40\"
- onkeypress=\"return filterCR(event, false)\"
- name=\"destination\" id=\"destination\">";
+ print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"true\"
+ style=\"width : 30em;\"
+ name=\"destination\" id=\"emailArticleDlg_destination\">";
- print "<div class=\"autocomplete\" id=\"destination_choices\"
- style=\"display:none\"></div>";
+ print "<div class=\"autocomplete\" id=\"emailArticleDlg_dst_choices\"
+ style=\"z-index: 30; display : none\"></div>";
print "</td></tr><tr><td>";
@@ -728,23 +722,21 @@
print "</td><td>";
- print "<input size=\"60\" class=\"iedit\"
- onkeypress=\"return filterCR(event, false)\"
+ print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"true\"
+ style=\"width : 30em;\"
name=\"subject\" value=\"$subject\" id=\"subject\">";
- print "</td></tr></table>";
+ print "</td></tr>";
- print "<textarea rows='10' class='iedit' style='font-size : small'
+ print "<tr><td colspan='2'><textarea dojoType=\"dijit.form.SimpleTextarea\" style='font-size : 12px; width : 100%' rows=\"20\"
name='content'>$content</textarea>";
- print "</form>";
+ print "</td></tr></table>";
print "<div class='dlgButtons'>";
-
- print "<button onclick=\"return emailArticleDo()\">".__('Send e-mail')."</button> ";
- print "<button onclick=\"return closeInfoBox()\">".__('Cancel')."</button>";
-
- print "]]></content>";
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('emailArticleDlg').execute()\">".__('Send e-mail')."</button> ";
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('emailArticleDlg').hide()\">".__('Cancel')."</button>";
+ print "</div>";
//return;
}
@@ -770,10 +762,10 @@
print "<div align='center'>";
- print "<button onclick=\"return genUrlChangeKey('$feed_id', '$is_cat')\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"return genUrlChangeKey('$feed_id', '$is_cat')\">".
__('Generate new URL')."</button> ";
- print "<button onclick=\"return closeInfoBox()\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"return closeInfoBox()\">".
__('Close this window')."</button>";
print "</div>";
diff --git a/prefs.js b/prefs.js
index 33e0ccf46..6c7ed3679 100644
--- a/prefs.js
+++ b/prefs.js
@@ -1027,6 +1027,8 @@ function validatePrefsReset() {
function pref_hotkey_handler(e) {
try {
+ if (dijit.getEnclosingWidget(e.target)) return;
+
var keycode;
var shift_key = false;
diff --git a/tt-rss.js b/tt-rss.js
index 8af5c2221..a0c1b70f4 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -280,6 +280,7 @@ function init() {
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.form.FilteringSelect");
dojo.require("dijit.form.CheckBox");
+ dojo.require("dijit.form.SimpleTextarea");
dojo.require("dijit.Toolbar");
dojo.require("dijit.ProgressBar");
dojo.require("dijit.Menu");
@@ -623,6 +624,9 @@ function hotkey_handler(e) {
try {
+ var widget = dijit.getEnclosingWidget(e.target);
+ if (widget && Element.visible(widget.domNode)) return;
+
var keycode;
var shift_key = false;
diff --git a/viewfeed.js b/viewfeed.js
index bee13f5a7..d14d98180 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -1869,61 +1869,58 @@ function emailArticle(id) {
id = ids.toString();
}
- displayDlg('emailArticle', id,
- function () {
- document.forms['article_email_form'].destination.focus();
+ if (dijit.byId("emailArticleDlg"))
+ dijit.byId("emailArticleDlg").destroyRecursive();
- new Ajax.Autocompleter('destination', 'destination_choices',
- "backend.php?op=rpc&subop=completeEmails",
- { tokens: '', paramName: "search" });
+ var query = "backend.php?op=dlg&id=emailArticle&param=" + param_escape(id);
- });
-
- } catch (e) {
- exception_error("emailArticle", e);
- }
-}
+ dialog = new dijit.Dialog({
+ id: "emailArticleDlg",
+ title: __("Forward article by email"),
+ style: "width: 600px",
+ execute: function() {
+ if (this.validate()) {
-function emailArticleDo() {
- try {
- var f = document.forms['article_email_form'];
-
- if (f.destination.value == "") {
- alert("Please fill in the destination email.");
- return;
- }
-
- if (f.subject.value == "") {
- alert("Please fill in the subject.");
- return;
- }
-
- var query = Form.serialize("article_email_form");
+ new Ajax.Request("backend.php", {
+ parameters: dojo.objectToQuery(this.attr('value')),
+ onComplete: function(transport) {
+
+ var error = transport.responseXML.getElementsByTagName('error')[0];
+
+ if (error) {
+ alert(__('Error sending email:') + ' ' + error.firstChild.nodeValue);
+ } else {
+ notify_info('Your message has been sent.');
+ dialog.hide();
+ }
+
+ } });
+ }
+ },
+ href: query});
-// console.log(query);
+ var tmph = dojo.connect(dialog, 'onLoad', function() {
+ dojo.disconnect(tmph);
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- try {
+ new Ajax.Autocompleter('emailArticleDlg_destination', 'emailArticleDlg_dst_choices',
+ "backend.php?op=rpc&subop=completeEmails",
+ { tokens: '', paramName: "search" });
+ });
- var error = transport.responseXML.getElementsByTagName('error')[0];
+ dialog.show();
- if (error) {
- alert(__('Error sending email:') + ' ' + error.firstChild.nodeValue);
- } else {
- notify_info('Your message has been sent.');
- closeInfoBox();
- }
+ /* displayDlg('emailArticle', id,
+ function () {
+ document.forms['article_email_form'].destination.focus();
- } catch (e) {
- exception_error("sendEmailDo", e);
- }
+ new Ajax.Autocompleter('destination', 'destination_choices',
+ "backend.php?op=rpc&subop=completeEmails",
+ { tokens: '', paramName: "search" });
- } });
+ }); */
} catch (e) {
- exception_error("emailArticleDo", e);
+ exception_error("emailArticle", e);
}
}