nitdoc: Added a function to display the edit mode of a comment
[nit.git] / share / nitdoc / scripts / js-facilities.js
index b1efd17..b3e5d9d 100644 (file)
@@ -1,6 +1,7 @@
 // User\r
 var userB64 = null;\r
 var sessionStarted = false;\r
+var editComment = 0;\r
 \r
 /*\r
 * JQuery Case Insensitive :icontains selector\r
@@ -24,6 +25,15 @@ var currentIndex = -1;
 * Add folding and filtering facilities to class description page.\r
 */\r
 $(document).ready(function() {\r
+\r
+       // Hide edit tags\r
+       $('textarea').hide();\r
+       $('a[id=commitBtn]').hide();\r
+       $('a[id=cancelBtn]').hide();\r
+       // Hide Authenfication form\r
+       $(".popover").hide();\r
+       // Update display\r
+       updateDisplaying();\r
        \r
        /*\r
        * Highlight the spoted element\r
@@ -364,7 +374,7 @@ $(document).ready(function() {
        updateDisplaying();\r
        // If cookie existing the session is opened\r
        if(sessionStarted){ userB64 = "Basic " + getUserPass("logginNitdoc"); }\r
-       \r
+\r
        // Sign In an github user or Log out him\r
        $("#signIn").click(function(){\r
                if(!sessionStarted){\r
@@ -388,6 +398,54 @@ $(document).ready(function() {
                }       \r
                displayLogginModal();\r
        });\r
+\r
+       // Open edit file\r
+       $('pre[class=text_label]').click(function(){\r
+               // the customer is loggued ?\r
+               if(!sessionStarted || userName == ""){\r
+                       // No => nothing happen\r
+                       return;\r
+               }\r
+               else{\r
+                       var arrayNew = $(this).text().split('\n');\r
+                       var lNew = arrayNew.length - 1;\r
+                       var adapt = "";\r
+\r
+                       for (var i = 0; i < lNew; i++) {\r
+                               adapt += arrayNew[i];\r
+                               if(i < lNew-1){ adapt += "\n"; }\r
+                       }\r
+                       editComment += 1;\r
+                       // hide comment\r
+                       $(this).hide();\r
+                       // Show edit box \r
+                       $(this).next().show();\r
+                       // Show cancel button\r
+                       $(this).next().next().show();\r
+                       // Show commit button\r
+                       $(this).next().next().next().show();\r
+                       // Add text in edit box\r
+                       if($(this).next().val() == ""){ $(this).next().val(adapt); }\r
+                       // Resize edit box \r
+                       $(this).next().height($(this).next().prop("scrollHeight"));\r
+                       // Select it\r
+                       $(this).next().select();\r
+                       preElement = $(this);\r
+               }\r
+       });\r
+\r
+       $('a[id=cancelBtn]').click(function(){\r
+               if(editComment > 0){ editComment -= 1; }\r
+               // Hide itself\r
+               $(this).hide();\r
+               // Hide commitBtn\r
+               $(this).next().hide();\r
+               // Hide Textarea\r
+               $(this).prev().hide();\r
+               // Show comment\r
+               $(this).prev().prev().show();\r
+        });\r
+\r
 });\r
 \r
 /* Parse current URL and return anchor name */\r