]> git.mxchange.org Git - friendica.git/blobdiff - js/filebrowser.js
filebrowser: link image to original picture, show error messages
[friendica.git] / js / filebrowser.js
index 8f7b78d1977c16a491db7676b3568c72140b96fc..66db2833c3071b0e8d27cb5bc06579babc30db05 100644 (file)
@@ -1,6 +1,6 @@
 /**\r
  * Filebrowser - Friendica Communications Server\r
- * \r
+ *\r
  * Copyright (c) 2010-2013 the Friendica Project\r
  *\r
  * This program is free software: you can redistribute it and/or modify\r
@@ -28,7 +28,7 @@
  *     The event is named\r
  *\r
  *             fbrowser.<type>.[<eventname>]\r
- *             \r
+ *\r
  *     with params:\r
  *\r
  *             filemane: filename of item choosed by user\r
  *                     $(id).value = bbcode;\r
  *             });\r
  **/\r
\r
+\r
 var FileBrowser = {\r
        nickname : "",\r
        type : "",\r
        event: "",\r
        id : null,\r
-       \r
+\r
        init: function(nickname, type) {\r
                FileBrowser.nickname = nickname;\r
                FileBrowser.type = type;\r
@@ -65,11 +65,23 @@ var FileBrowser = {
                        FileBrowser.event = FileBrowser.event + "." + h.split("-")[0];\r
                        FileBrowser.id = h.split("-")[1];\r
                }\r
-               \r
+\r
                console.log("FileBrowser:", nickname, type,FileBrowser.event, FileBrowser.id );\r
+\r
+               $(".error a.close").on("click", function(e) {\r
+                       e.preventDefault();\r
+                       $(".error").addClass("hidden");\r
+               });\r
+\r
+               $(".folders a, .path a").on("click", function(e){\r
+                       e.preventDefault();\r
+                       var url = baseurl + "/fbrowser/" + FileBrowser.type + "/" + this.dataset.folder + "?mode=minimal" + location['hash'];\r
+                       location.href = url;\r
+               });\r
+\r
                $(".photo-album-photo-link").on('click', function(e){\r
                        e.preventDefault();\r
-                       \r
+\r
                        var embed = "";\r
                        if (FileBrowser.type == "image") {\r
                                embed = "[url="+this.dataset.link+"][img]"+this.dataset.img+"[/img][/url]";\r
@@ -84,31 +96,45 @@ var FileBrowser = {
                                embed,\r
                                FileBrowser.id\r
                        ]);\r
-                       \r
+\r
                });\r
-               \r
+\r
                if ($("#upload-image").length)\r
                        var image_uploader = new window.AjaxUpload(\r
                                'upload-image',\r
-                               { action: 'wall_upload/'+FileBrowser.nickname,\r
+                               { action: 'wall_upload/'+FileBrowser.nickname+'?response=json',\r
                                        name: 'userfile',\r
-                                       onSubmit: function(file,ext) { $('#profile-rotator').show(); },\r
+                                       responseType: 'json',\r
+                                       onSubmit: function(file,ext) { $('#profile-rotator').show(); $(".error").addClass('hidden'); },\r
                                        onComplete: function(file,response) {\r
+                                               if (response['error']!= undefined) {\r
+                                                       $(".error span").html(response['error']);\r
+                                                       $(".error").removeClass('hidden');\r
+                                                       $('#profile-rotator').hide();\r
+                                                       return;\r
+                                               }\r
                                                location = baseurl + "/fbrowser/image/?mode=minimal"+location['hash'];\r
                                                location.reload(true);\r
-                                       }                                \r
+                                       }\r
                                }\r
                        );\r
 \r
                if ($("#upload-file").length)\r
                        var file_uploader = new window.AjaxUpload(\r
                                'upload-file',\r
-                               { action: 'wall_attach/'+FileBrowser.nickname,\r
+                               { action: 'wall_attach/'+FileBrowser.nickname+'?response=json',\r
                                        name: 'userfile',\r
-                                       onSubmit: function(file,ext) { $('#profile-rotator').show(); },\r
+                                       onSubmit: function(file,ext) { $('#profile-rotator').show(); $(".error").addClass('hidden'); },\r
                                        onComplete: function(file,response) {\r
+                                               if (response['error']!= undefined) {\r
+                                                       $(".error span").html(response['error']);\r
+                                                       $(".error").removeClass('hidden');\r
+                                                       $('#profile-rotator').hide();\r
+                                                       return;\r
+                                               }\r
                                                location = baseurl + "/fbrowser/file/?mode=minimal"+location['hash'];\r
-                                               location.reload(true);                          }                                \r
+                                               location.reload(true);\r
+                                       }\r
                                }\r
                );\r
        }\r