summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2013-10-28 20:22:06 +0100
committerVincent Petry <pvince81@owncloud.com>2014-04-02 15:33:47 +0200
commit0be9de5df558232e12e2f582af5d08e1f488ba90 (patch)
treede37dea2e23dd28f631948295979980ec774027f /core
parent268206cec55921d2d0309469ebd5d9533e4f79ee (diff)
downloadnextcloud-server-0be9de5df558232e12e2f582af5d08e1f488ba90.tar.gz
nextcloud-server-0be9de5df558232e12e2f582af5d08e1f488ba90.zip
Files, trashbin, public apps use ajax/JSON for the file list
Files app: - removed file list template, now rendering list from JSON response - FileList.addFile/addDir is now FileList.add() and takes a JS map with all required arguments instead of having a long number of function arguments - added unit tests for many FileList operations - fixed newfile.php, newfolder.php and rename.php to return the file's full JSON on success - removed obsolete/unused undo code - removed download_url / loading options, now using Files.getDownloadUrl() for that - server side now uses Helper::getFileInfo() to prepare file JSON response - previews are now client-side only Breadcrumbs are now JS only: - Added BreadCrumb class to handle breadcrumb rendering and events - Added unit test for BreadCrumb class - Moved all relevant JS functions to the BreadCrumb class Public page now uses ajax to load the file list: - Added Helper class in sharing app to make it easier to authenticate and retrieve the file's real path - Added ajax/list.php to retrieve the file list - Fixed FileActions and FileList to work with the ajax list Core: - Fixed file picker dialog to use the same list format as files app
Diffstat (limited to 'core')
-rw-r--r--core/css/styles.css7
-rw-r--r--core/js/js.js1
-rw-r--r--core/js/oc-dialogs.js15
3 files changed, 19 insertions, 4 deletions
diff --git a/core/css/styles.css b/core/css/styles.css
index 8a12057529d..f978eab7cac 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -283,6 +283,10 @@ input[type="submit"].enabled {
padding: 7px 10px
}
+#controls .button.hidden {
+ display: none;
+}
+
#content { position:relative; height:100%; width:100%; }
#content .hascontrols {
position: relative;
@@ -922,6 +926,9 @@ div.crumb {
background: url('../img/breadcrumb.svg') no-repeat right center;
height: 44px;
}
+div.crumb.hidden {
+ display: none;
+}
div.crumb a,
div.crumb span {
position: relative;
diff --git a/core/js/js.js b/core/js/js.js
index e907db2837e..9a3b2ee6a5d 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -159,6 +159,7 @@ function escapeHTML(s) {
* @param file The filename
* @param dir The directory the file is in - e.g. $('#dir').val()
* @return string
+* @deprecated use Files.getDownloadURL() instead
*/
function fileDownloadPath(dir, file) {
return OC.filePath('files', 'ajax', 'download.php')+'?files='+encodeURIComponent(file)+'&dir='+encodeURIComponent(dir);
diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js
index d1bcb4659b8..73ed20b7553 100644
--- a/core/js/oc-dialogs.js
+++ b/core/js/oc-dialogs.js
@@ -514,7 +514,7 @@ var OCdialogs = {
}
return $.getJSON(
- OC.filePath('files', 'ajax', 'rawlist.php'),
+ OC.filePath('files', 'ajax', 'list.php'),
{
dir: dir,
mimetypes: JSON.stringify(mimeType)
@@ -539,7 +539,7 @@ var OCdialogs = {
this.$filelist.empty().addClass('loading');
this.$filePicker.data('path', dir);
$.when(this._getFileList(dir, this.$filePicker.data('mimetype'))).then(function(response) {
- $.each(response.data, function(index, file) {
+ $.each(response.data.files, function(index, file) {
if (file.type === 'dir') {
dirs.push(file);
} else {
@@ -555,9 +555,16 @@ var OCdialogs = {
type: entry.type,
dir: dir,
filename: entry.name,
- date: OC.mtime2date(entry.mtime)
+ date: OC.mtime2date(Math.floor(entry.mtime / 1000))
});
- $li.find('img').attr('src', entry.mimetype_icon);
+ $li.find('img').attr('src', entry.icon);
+ if (entry.isPreviewAvailable) {
+ var urlSpec = {
+ file: dir + '/' + entry.name
+ };
+ var previewUrl = OC.generateUrl('/core/preview.png?') + $.param(urlSpec);
+ $li.find('img').attr('src', previewUrl);
+ }
self.$filelist.append($li);
});