Browse Source

show whether the current folder was shared or not

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
tags/v11.0RC2
Christoph Wurst 7 years ago
parent
commit
c5597baf88
No account linked to committer's email address

+ 23
- 0
apps/files/js/breadcrumb.js View File

@@ -45,6 +45,7 @@
if (options.getCrumbUrl) {
this.getCrumbUrl = options.getCrumbUrl;
}
this._detailViews = [];
};
/**
* @memberof OCA.Files
@@ -52,6 +53,7 @@
BreadCrumb.prototype = {
$el: null,
dir: null,
dirInfo: null,

/**
* Total width of all breadcrumbs
@@ -79,6 +81,20 @@
}
},

setDirectoryInfo: function(dirInfo) {
if (dirInfo !== this.dirInfo) {
this.dirInfo = dirInfo;
this.render();
}
},

/**
* @param {Backbone.View} detailView
*/
addDetailView: function(detailView) {
this._detailViews.push(detailView);
},

/**
* Returns the full URL to the given directory
*
@@ -122,6 +138,13 @@
}
$crumb.addClass('last');

_.each(this._detailViews, function(view) {
view.render({
dirInfo: this.dirInfo
});
$crumb.append(view.$el);
}, this);

// in case svg is not supported by the browser we need to execute the fallback mechanism
if (!OC.Util.hasSVGSupport()) {
OC.Util.replaceSVG(this.$el);

+ 10
- 0
apps/files/js/filelist.js View File

@@ -1646,6 +1646,7 @@

// first entry is the root
this.dirInfo = result.shift();
this.breadcrumb.setDirectoryInfo(this.dirInfo);

if (this.dirInfo.permissions) {
this.setDirectoryPermissions(this.dirInfo.permissions);
@@ -2954,6 +2955,15 @@
if (this._detailsView) {
this._detailsView.addDetailView(detailView);
}
},

/**
* Register a view to be added to the breadcrumb view
*/
registerBreadCrumbDetailView: function(detailView) {
if (this.breadcrumb) {
this.breadcrumb.addDetailView(detailView);
}
}
};


+ 1
- 0
apps/files_sharing/appinfo/app.php View File

@@ -42,6 +42,7 @@ $eventDispatcher->addListener(
function() {
\OCP\Util::addScript('files_sharing', 'share');
\OCP\Util::addScript('files_sharing', 'sharetabview');
\OCP\Util::addScript('files_sharing', 'sharebreadcrumbview');
\OCP\Util::addStyle('files_sharing', 'sharetabview');
}
);

+ 3
- 0
apps/files_sharing/js/share.js View File

@@ -185,6 +185,9 @@
}
});
fileList.registerTabView(shareTab);

var breadCrumbSharingDetailView = new OCA.Sharing.ShareBreadCrumbView();
fileList.registerBreadCrumbDetailView(breadCrumbSharingDetailView);
},

/**

+ 56
- 0
apps/files_sharing/js/sharebreadcrumbview.js View File

@@ -0,0 +1,56 @@
/* global Handlebars, OC */

/**
* @copyright 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @author 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

(function() {
'use strict';

var TEMPLATE = '{{#if isShared}}'
+ 'Shared!'
+ '{{else}}'
+ 'Not shared!'
+ '{{/if}}';

var BreadCrumbView = OC.Backbone.View.extend({
tagName: 'span',
_template: undefined,
template: function(data) {
if (!this._template) {
this._template = Handlebars.compile(TEMPLATE);
}
return this._template(data);
},
render: function(data) {
var isShared = data.dirInfo && data.dirInfo.shareTypes && data.dirInfo.shareTypes.length > 0;

this.$el.html(this.template({
isShared: isShared
}));

return this;
}
});

OCA.Sharing.ShareBreadCrumbView = BreadCrumbView;
})();


Loading…
Cancel
Save