allow the user to set a expire date for all shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
d56f6399eb
commit
d0eefd17d3
|
@ -184,3 +184,7 @@ a {
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
color: rgba($color-main-text, .4);
|
color: rgba($color-main-text, .4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.popovermenu .datepicker {
|
||||||
|
margin-left: 35px;
|
||||||
|
}
|
||||||
|
|
|
@ -88,6 +88,16 @@
|
||||||
'{{/unless}}{{/if}}' +
|
'{{/unless}}{{/if}}' +
|
||||||
'{{/if}}' +
|
'{{/if}}' +
|
||||||
'<li>' +
|
'<li>' +
|
||||||
|
'<span class="shareOption menuitem">' +
|
||||||
|
'<input id="expireDate-{{cid}}-{{shareId}}" type="checkbox" name="expirationDate" class="expireDate checkbox" {{#if hasExpireDate}}checked="checked"{{/if}} data-permissions="{{expireDate}}" />' +
|
||||||
|
'<label for="expireDate-{{cid}}-{{shareId}}">{{expireDateLabel}}</label>' +
|
||||||
|
'<div class="expirationDateContainer-{{cid}}-{{shareId}} {{#unless isExpirationSet}}hidden{{/unless}}">' +
|
||||||
|
' <label for="expirationDatePicker-{{cid}}-{{shareId}}" class="hidden-visually" value="{{expirationDate}}">{{expirationLabel}}</label>' +
|
||||||
|
' <input id="expirationDatePicker-{{cid}}-{{shareId}}" class="datepicker" type="text" placeholder="{{expirationDatePlaceholder}}" value="{{expirationValue}}" />' +
|
||||||
|
'</div>' +
|
||||||
|
'</span>' +
|
||||||
|
'</li>' +
|
||||||
|
'<li>' +
|
||||||
'<a href="#" class="unshare"><span class="icon-loading-small hidden"></span><span class="icon icon-delete"></span><span>{{unshareLabel}}</span></a>' +
|
'<a href="#" class="unshare"><span class="icon-loading-small hidden"></span><span class="icon icon-delete"></span><span>{{unshareLabel}}</span></a>' +
|
||||||
'</li>' +
|
'</li>' +
|
||||||
'</ul>' +
|
'</ul>' +
|
||||||
|
@ -125,6 +135,7 @@
|
||||||
'click .unshare': 'onUnshare',
|
'click .unshare': 'onUnshare',
|
||||||
'click .icon-more': 'onToggleMenu',
|
'click .icon-more': 'onToggleMenu',
|
||||||
'click .permissions': 'onPermissionChange',
|
'click .permissions': 'onPermissionChange',
|
||||||
|
'click .expireDate' : 'onExpireDateChange'
|
||||||
},
|
},
|
||||||
|
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
|
@ -199,6 +210,7 @@
|
||||||
createPermissionLabel: t('core', 'can create'),
|
createPermissionLabel: t('core', 'can create'),
|
||||||
updatePermissionLabel: t('core', 'can change'),
|
updatePermissionLabel: t('core', 'can change'),
|
||||||
deletePermissionLabel: t('core', 'can delete'),
|
deletePermissionLabel: t('core', 'can delete'),
|
||||||
|
expireDateLabel: t('core', 'set expiration data'),
|
||||||
crudsLabel: t('core', 'access control'),
|
crudsLabel: t('core', 'access control'),
|
||||||
triangleSImage: OC.imagePath('core', 'actions/triangle-s'),
|
triangleSImage: OC.imagePath('core', 'actions/triangle-s'),
|
||||||
isResharingAllowed: this.configModel.get('isResharingAllowed'),
|
isResharingAllowed: this.configModel.get('isResharingAllowed'),
|
||||||
|
@ -401,6 +413,28 @@
|
||||||
this._menuOpen = $li.data('share-id');
|
this._menuOpen = $li.data('share-id');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onExpireDateChange: function(event) {
|
||||||
|
var element = $(event.target);
|
||||||
|
var li = element.closest('li[data-share-id]');
|
||||||
|
var shareId = li.data('share-id');
|
||||||
|
var datePickerClass = '.expirationDateContainer-' + this.cid + '-' + shareId;
|
||||||
|
var datePicker = $(datePickerClass);
|
||||||
|
var state = element.prop('checked');
|
||||||
|
datePicker.toggleClass('hidden', !state);
|
||||||
|
if (!state) {
|
||||||
|
// discard expiration date
|
||||||
|
this.model.get('linkShare').expiration = '';
|
||||||
|
/*
|
||||||
|
this.model.saveLinkShare({
|
||||||
|
expireDate: ''
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
} else {
|
||||||
|
var expirationDatePicker = '#expirationDatePicker-' + this.cid + '-' + shareId;
|
||||||
|
this.$(expirationDatePicker).focus();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
onPermissionChange: function(event) {
|
onPermissionChange: function(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
Loading…
Reference in New Issue