]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/skins/default/media/js/osqa.main.js
Merge pull request #11 from udacity/make_faq_settings_translatable
[osqa.git] / forum / skins / default / media / js / osqa.main.js
index 89a59ef83cc45b892494ff4ea21d0cf2b57936c1..55a3f1e02611ceba240851212cb4b008ed49167c 100644 (file)
@@ -173,7 +173,7 @@ function show_dialog (extern) {
         $diag.fadeOut('fast', function() {\r
             $diag.remove();\r
         });\r
-    }\r
+    };\r
 \r
     var options = {\r
         extra_class: '',\r
@@ -197,11 +197,18 @@ function show_dialog (extern) {
         copy_id = ' id="copy_clip_button"'\r
     }\r
 \r
-    if (options.event != undefined) {\r
+    if (options.event != undefined && options.event.pageX != undefined && options.event.pageY != undefined) {\r
         options.pos = {x: options.event.pageX, y: options.event.pageY};\r
+    } else if (options.event.currentTarget != undefined) {\r
+        var el = jQuery("#" + options.event.currentTarget.id);\r
+        var position = el.offset();\r
+        options.pos = {\r
+            x: position.left,\r
+            y: position.top\r
+        }\r
     }\r
 \r
-    var html = '<div class="dialog ' + options.extra_class + '" style="display: none;">'\r
+    var html = '<div class="dialog ' + options.extra_class + '" style="display: none; z-index: 999;">'\r
              + '<div class="dialog-content">' + options.html + '</div><div class="dialog-buttons">';\r
 \r
     if (options.show_no) {\r
@@ -210,7 +217,8 @@ function show_dialog (extern) {
 \r
     html += '<button class="dialog-yes"' + copy_id + '>' + options.yes_text + '</button>' + '</div></div>';\r
 \r
-    $dialog = $(html);\r
+    var $dialog = $(html);\r
+\r
     $('body').append($dialog);\r
     var message = $('.dialog-content')[0];\r
     message.style.visibility = "hidden";\r
@@ -263,14 +271,20 @@ function show_dialog (extern) {
         message.style.visibility = "visible";\r
     });\r
 \r
-    $dialog.find('.dialog-no').click(function() {\r
-        default_close_function($dialog);\r
-    });\r
-\r
     $dialog.find('.dialog-yes').click(function() {\r
         options.yes_callback($dialog);\r
     });\r
 \r
+    if (options.hasOwnProperty("no_callback")) {\r
+        $dialog.find('.dialog-no:first-child').click(function() {\r
+            options.no_callback($dialog);\r
+        });\r
+    } else {\r
+        $dialog.find('.dialog-no:first-child').click(function() {\r
+            default_close_function($dialog);\r
+        });\r
+    }\r
+\r
     if (options.close_on_clickoutside) {\r
         $dialog.one('clickoutside', function() {\r
             default_close_function($dialog);\r
@@ -429,8 +443,14 @@ $(function() {
             var $dialog = show_dialog(doptions);\r
         } else {\r
             start_command();\r
-            $.getJSON(ajax_url, function(data) {\r
-                process_ajax_response(data, evt);\r
+            $.ajax({\r
+                url: ajax_url,\r
+                type: "POST",\r
+                dataType: "json",\r
+                contentType: "application/json; charset=utf-8",\r
+                success: function(data) {\r
+                    process_ajax_response(data, evt);\r
+                }\r
             });\r
         }\r
 \r
@@ -711,14 +731,15 @@ function pickedTags(){
         var deleteTagLocally = function(){\r
             from_target[tagname].remove();\r
             delete from_target[tagname];\r
+            $(".tags.interesting").trigger('contentchanged');\r
         };\r
+\r
         if (send_ajax){\r
             sendAjax(tagname,reason,'remove',deleteTagLocally);\r
         }\r
         else {\r
             deleteTagLocally();\r
         }\r
-\r
     };\r
 \r
     var setupTagDeleteEvents = function(obj,tag_store,tagname,reason,send_ajax){\r
@@ -775,6 +796,8 @@ function pickedTags(){
                 to_tag_container.append(new_tag);\r
 \r
                 to_target[tagname] = new_tag;\r
+\r
+                to_tag_container.trigger('contentchanged');\r
             });\r
         }\r
     };\r