diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2018-10-23 10:38:00 +0200 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2018-10-23 10:38:00 +0200 |
commit | 26ca7a0e2f86cb76726073f2d73fd5cb8a1e09d9 (patch) | |
tree | ceabf9cc65621e982a1ebd7b9eda19a6aa5ae579 /core/js | |
parent | c039bd2bd115afd23b4f24578f62b50fe87d48b4 (diff) | |
download | nextcloud-server-26ca7a0e2f86cb76726073f2d73fd5cb8a1e09d9.tar.gz nextcloud-server-26ca7a0e2f86cb76726073f2d73fd5cb8a1e09d9.zip |
Add filepicker toggle
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'core/js')
-rw-r--r-- | core/js/oc-dialogs.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js index c42b35ddcff..5231a94f333 100644 --- a/core/js/oc-dialogs.js +++ b/core/js/oc-dialogs.js @@ -208,6 +208,7 @@ var OCdialogs = { this.filepicker.loading = true; this.filepicker.filesClient = (OCA.Sharing && OCA.Sharing.PublicApp && OCA.Sharing.PublicApp.fileList)? OCA.Sharing.PublicApp.fileList.filesClient: OC.Files.getClient(); + $.when(this._getFilePickerTemplate()).then(function($tmpl) { self.filepicker.loading = false; var dialogName = 'oc-dialog-filepicker-content'; @@ -237,6 +238,11 @@ var OCdialogs = { $('body').append(self.$filePicker); + self.$showGridView = $('input#picker-showgridview'); + self.$showGridView.on('change', _.bind(self._onGridviewChange, self)); + + self._getGridSettings(); + self.$filePicker.ready(function() { self.$filelist = self.$filePicker.find('.filelist tbody'); self.$dirTree = self.$filePicker.find('.dirtree'); @@ -779,6 +785,31 @@ var OCdialogs = { //} return dialogDeferred.promise(); }, + // get the gridview setting and set the input accordingly + _getGridSettings: function() { + var self = this; + $.get(OC.generateUrl('/apps/files/api/v1/showgridview'), function(response) { + self.$showGridView.checked = response.gridview; + self.$showGridView.next('#picker-view-toggle') + .removeClass('icon-toggle-filelist icon-toggle-pictures') + .addClass(response.gridview ? 'icon-toggle-filelist' : 'icon-toggle-pictures') + $('.list-container').toggleClass('view-grid', response.gridview); + }); + }, + _onGridviewChange: function() { + var show = this.$showGridView.is(':checked'); + // only save state if user is logged in + if (OC.currentUser) { + $.post(OC.generateUrl('/apps/files/api/v1/showgridview'), { + show: show + }); + } + this.$showGridView.next('#picker-view-toggle') + .removeClass('icon-toggle-filelist icon-toggle-pictures') + .addClass(show ? 'icon-toggle-filelist' : 'icon-toggle-pictures') + + $('.list-container').toggleClass('view-grid', show); + }, _getFilePickerTemplate: function() { var defer = $.Deferred(); if(!this.$filePickerTemplate) { |