summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-10-31 11:43:05 +0100
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2018-11-01 21:33:05 +0100
commita7ea3d29fa6baedb47e2a2f6677c7e0d166b6436 (patch)
treef2f407fbe37cac3e3b2856901ba62c2f650212c4
parent260290ec41c61bebb711db174db95fd18ba1aa87 (diff)
downloadnextcloud-server-a7ea3d29fa6baedb47e2a2f6677c7e0d166b6436.tar.gz
nextcloud-server-a7ea3d29fa6baedb47e2a2f6677c7e0d166b6436.zip
Fix password enforcement
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
-rw-r--r--core/js/share/sharedialoglinkshareview.handlebars17
-rw-r--r--core/js/share/sharedialoglinkshareview_popover_menu.handlebars18
-rw-r--r--core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars24
-rw-r--r--core/js/share/sharedialogshareelistview.handlebars2
-rw-r--r--core/js/share/sharedialogshareelistview_popover_menu.handlebars16
-rw-r--r--core/js/sharedialoglinkshareview.js121
-rw-r--r--core/js/sharetemplates.js104
7 files changed, 176 insertions, 126 deletions
diff --git a/core/js/share/sharedialoglinkshareview.handlebars b/core/js/share/sharedialoglinkshareview.handlebars
index 9b44596f7a3..64f52704290 100644
--- a/core/js/share/sharedialoglinkshareview.handlebars
+++ b/core/js/share/sharedialoglinkshareview.handlebars
@@ -1,12 +1,17 @@
{{#if shareAllowed}}
-<ul id="shareLink" class="shareWithList">
+<ul class="shareWithList">
{{#if nolinkShares}}
- <li>
+ <li data-share-id="new-share">
<div class="avatar icon-public-white"></div>
<span class="username">{{newShareLabel}}</span>
<span class="sharingOptionsGroup">
- <span class="icon icon-add new-share has-tooltip" title="{{newShareTitle}}"></span>
- <span class="icon icon-loading-small hidden"></span>
+ <div class="share-menu">
+ <a href="#" class="icon icon-add new-share has-tooltip {{#if showPending}}hidden{{/if}}" title="{{newShareTitle}}"></a>
+ <span class="icon icon-loading-small {{#unless showPending}}hidden{{/unless}}"></span>
+ {{#if showPending}}
+ {{{pendingPopoverMenu}}}
+ {{/if}}
+ </div>
</span>
</li>
{{/if}}
@@ -16,7 +21,9 @@
<span class="sharingOptionsGroup">
<a href="#" class="clipboard-button icon icon-clippy has-tooltip" data-clipboard-text="{{shareLinkURL}}" title="{{copyLabel}}"></a>
- <div class="share-menu" tabindex="0"><span class="icon icon-more"></span>
+ <div class="share-menu">
+ <a href="#" class="icon icon-more {{#if showPending}}hidden{{/if}}"></a>
+ <span class="icon icon-loading-small {{#unless showPending}}hidden{{/unless}}"></span>
{{#if showPending}}
{{{pendingPopoverMenu}}}
{{else}}
diff --git a/core/js/share/sharedialoglinkshareview_popover_menu.handlebars b/core/js/share/sharedialoglinkshareview_popover_menu.handlebars
index 41324480c40..97a642fbf9a 100644
--- a/core/js/share/sharedialoglinkshareview_popover_menu.handlebars
+++ b/core/js/share/sharedialoglinkshareview_popover_menu.handlebars
@@ -14,7 +14,7 @@
</li>
{{#if showHideDownloadCheckbox}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<span class="icon-loading-small hidden"></span>
<input type="checkbox" name="hideDownload" id="sharingDialogHideDownload-{{cid}}" class="checkbox hideDownloadCheckbox"
{{#if hideDownload}}checked="checked"{{/if}} />
@@ -24,20 +24,20 @@
{{/if}}
{{#if publicUpload}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<span class="icon-loading-small hidden"></span>
<input type="radio" name="publicUpload" value="{{publicUploadRValue}}" id="sharingDialogAllowPublicUpload-r-{{cid}}" class="radio publicUploadRadio" {{{publicUploadRChecked}}} />
<label for="sharingDialogAllowPublicUpload-r-{{cid}}">{{publicUploadRLabel}}</label>
</span>
</li>
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<span class="icon-loading-small hidden"></span>
<input type="radio" name="publicUpload" value="{{publicUploadRWValue}}" id="sharingDialogAllowPublicUpload-rw-{{cid}}" class="radio publicUploadRadio" {{{publicUploadRWChecked}}} />
<label for="sharingDialogAllowPublicUpload-rw-{{cid}}">{{publicUploadRWLabel}}</label>
</span></li>
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<span class="icon-loading-small hidden"></span>
<input type="radio" name="publicUpload" value="{{publicUploadWValue}}" id="sharingDialogAllowPublicUpload-w-{{cid}}" class="radio publicUploadRadio" {{{publicUploadWChecked}}} />
<label for="sharingDialogAllowPublicUpload-w-{{cid}}">{{publicUploadWLabel}}</label>
@@ -46,7 +46,7 @@
{{/if}}
{{#if publicEditing}}
<li id="allowPublicEditingWrapper">
- <span class="shareOption menuitem">
+ <span class="menuitem">
<span class="icon-loading-small hidden"></span>
<input type="checkbox" name="allowPublicEditing" id="sharingDialogAllowPublicEditing-{{cid}}" class="checkbox publicEditingCheckbox" {{{publicEditingChecked}}} />
<label for="sharingDialogAllowPublicEditing-{{cid}}">{{publicEditingLabel}}</label>
@@ -55,21 +55,21 @@
{{/if}}
{{#if showPasswordCheckBox}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input type="checkbox" name="showPassword" id="showPassword-{{cid}}" class="checkbox showPasswordCheckbox"
{{#if isPasswordSet}}checked="checked"{{/if}} {{#if isPasswordEnforced}}disabled="disabled"{{/if}} value="1" />
<label for="showPassword-{{cid}}">{{enablePasswordLabel}}</label>
</span>
</li>
<li class="{{#unless isPasswordSet}}hidden{{/unless}} linkPassMenu">
- <span class="shareOption menuitem icon-share-pass">
+ <span class="menuitem icon-share-pass">
<input id="linkPassText-{{cid}}" class="linkPassText" type="password" placeholder="{{passwordPlaceholder}}" autocomplete="new-password" />
<span class="icon icon-loading-small hidden"></span>
</span>
</li>
{{/if}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="expireDate-{{cid}}" type="checkbox" name="expirationDate" class="expireDate checkbox"
{{#if hasExpireDate}}checked="checked"{{/if}} {{#if isExpirationEnforced}}disabled="disabled"{{/if}} />
<label for="expireDate-{{cid}}">{{expireDateLabel}}</label>
@@ -100,7 +100,7 @@
</li>
{{#each social}}
<li>
- <a href="#" class="shareOption menuitem pop-up" data-url="{{url}}" data-window="{{newWindow}}">
+ <a href="#" class="menuitem pop-up" data-url="{{url}}" data-window="{{newWindow}}">
<span class="icon {{iconClass}}"></span>
<span>{{label}}</span>
</a>
diff --git a/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars b/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars
index e39c082315b..f789d7ae807 100644
--- a/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars
+++ b/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars
@@ -1,14 +1,20 @@
-<div class="popovermenu pendingpopover menu">
+<div class="popovermenu open menu">
<ul>
{{#if isPasswordEnforced}}
- <li><span class="shareOption menuitem">
- <input type="checkbox" name="showPassword" id="showPassword-{{cid}}" checked="checked" disabled class="checkbox showPasswordCheckbox" value="1" />
- <label for="showPassword-{{cid}}">{{enablePasswordLabel}}</label>
- </span></li>
- <li class="linkPassMenu"><span class="shareOption menuitem icon-share-pass">
- <input id="linkPassText-{{cid}}" class="linkPassText" type="password" placeholder="{{passwordPlaceholder}}" autocomplete="new-password" />
- <span class="icon icon-loading-small hidden"></span>
- </span></li>
+ <li>
+ <span class="menuitem icon-info">
+ <p>{{enforcedPasswordLabel}}</p>
+ </span>
+ </li>
+ <li class="linkPassMenu">
+ <span class="menuitem">
+ <form autocomplete="off" class="enforcedPassForm">
+ <input id="enforcedPassText" required class="enforcedPassText" type="password"
+ placeholder="{{passwordPlaceholder}}" autocomplete="new-password" minlength="4" />
+ <input type="submit" value=" " class="primary icon-checkmark-white">
+ </form>
+ </span>
+ </li>
{{/if}}
</ul>
</div>
diff --git a/core/js/share/sharedialogshareelistview.handlebars b/core/js/share/sharedialogshareelistview.handlebars
index dc2496daaa8..92c07f80290 100644
--- a/core/js/share/sharedialogshareelistview.handlebars
+++ b/core/js/share/sharedialogshareelistview.handlebars
@@ -5,7 +5,7 @@
<span class="username" title="{{shareWithTitle}}">{{shareWithDisplayName}}</span>
<span class="sharingOptionsGroup">
{{#if editPermissionPossible}}
- <span class="shareOption">
+ <span>
<input id="canEdit-{{cid}}-{{shareId}}" type="checkbox" name="edit" class="permissions checkbox" />
<label for="canEdit-{{cid}}-{{shareId}}">{{canEditLabel}}</label>
</span>
diff --git a/core/js/share/sharedialogshareelistview_popover_menu.handlebars b/core/js/share/sharedialogshareelistview_popover_menu.handlebars
index 84b6c93dde5..64fe51a3d24 100644
--- a/core/js/share/sharedialogshareelistview_popover_menu.handlebars
+++ b/core/js/share/sharedialogshareelistview_popover_menu.handlebars
@@ -2,7 +2,7 @@
<ul>
{{#if isResharingAllowed}} {{#if sharePermissionPossible}} {{#unless isMailShare}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="canShare-{{cid}}-{{shareId}}" type="checkbox" name="share" class="permissions checkbox" {{#if hasSharePermission}}checked="checked"{{/if}} data-permissions="{{sharePermission}}" />
<label for="canShare-{{cid}}-{{shareId}}">{{canShareLabel}}</label>
</span>
@@ -11,7 +11,7 @@
{{#if isFolder}}
{{#if createPermissionPossible}}{{#unless isMailShare}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="canCreate-{{cid}}-{{shareId}}" type="checkbox" name="create" class="permissions checkbox" {{#if hasCreatePermission}}checked="checked"{{/if}} data-permissions="{{createPermission}}"/>
<label for="canCreate-{{cid}}-{{shareId}}">{{createPermissionLabel}}</label>
</span>
@@ -19,7 +19,7 @@
{{/unless}}{{/if}}
{{#if updatePermissionPossible}}{{#unless isMailShare}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="canUpdate-{{cid}}-{{shareId}}" type="checkbox" name="update" class="permissions checkbox" {{#if hasUpdatePermission}}checked="checked"{{/if}} data-permissions="{{updatePermission}}"/>
<label for="canUpdate-{{cid}}-{{shareId}}">{{updatePermissionLabel}}</label>
</span>
@@ -27,7 +27,7 @@
{{/unless}}{{/if}}
{{#if deletePermissionPossible}}{{#unless isMailShare}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="canDelete-{{cid}}-{{shareId}}" type="checkbox" name="delete" class="permissions checkbox" {{#if hasDeletePermission}}checked="checked"{{/if}} data-permissions="{{deletePermission}}"/>
<label for="canDelete-{{cid}}-{{shareId}}">{{deletePermissionLabel}}</label>
</span>
@@ -37,14 +37,14 @@
{{#if isMailShare}}
{{#if hasCreatePermission}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="secureDrop-{{cid}}-{{shareId}}" type="checkbox" name="secureDrop" class="checkbox secureDrop" {{#if secureDropMode}}checked="checked"{{/if}} data-permissions="{{readPermission}}"/>
<label for="secureDrop-{{cid}}-{{shareId}}">{{secureDropLabel}}</label>
</span>
</li>
{{/if}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="password-{{cid}}-{{shareId}}" type="checkbox" name="password" class="password checkbox" {{#if isPasswordSet}}checked="checked"{{/if}}{{#if isPasswordSet}}{{#if isPasswordForMailSharesRequired}}disabled=""{{/if}}{{/if}}" />
<label for="password-{{cid}}-{{shareId}}">{{passwordLabel}}</label>
</span>
@@ -58,7 +58,7 @@
</li>
{{#if isTalkEnabled}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="passwordByTalk-{{cid}}-{{shareId}}" type="checkbox" name="passwordByTalk" class="passwordByTalk checkbox" {{#if isPasswordByTalkSet}}checked="checked"{{/if}} />
<label for="passwordByTalk-{{cid}}-{{shareId}}">{{passwordByTalkLabel}}</label>
</span>
@@ -73,7 +73,7 @@
{{/if}}
{{/if}}
<li>
- <span class="shareOption menuitem">
+ <span class="menuitem">
<input id="expireDate-{{cid}}-{{shareId}}" type="checkbox" name="expirationDate" class="expireDate checkbox" {{#if hasExpireDate}}checked="checked"{{/if}}" />
<label for="expireDate-{{cid}}-{{shareId}}">{{expireDateLabel}}</label>
</span>
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js
index 457170871f9..05564bd86c2 100644
--- a/core/js/sharedialoglinkshareview.js
+++ b/core/js/sharedialoglinkshareview.js
@@ -42,6 +42,9 @@
/** @type {boolean} **/
showPending: false,
+ /** @type {string} **/
+ password: '',
+
events: {
// open menu
'click .share-menu .icon-more': 'onToggleMenu',
@@ -70,6 +73,8 @@
'click .unshare': 'onUnshare',
// new share
'click .new-share': 'newShare',
+ // enforced pass set
+ 'submit .enforcedPassForm': 'enforcedPasswordSet',
},
initialize: function(options) {
@@ -123,7 +128,6 @@
// show menu
OC.showMenu(null, $menu);
- this._menuOpen = shareId;
var actionMsg = '';
if (/iPhone|iPad/i.test(navigator.userAgent)) {
@@ -149,38 +153,71 @@
});
},
- newShare: function() {
+ newShare: function(event) {
var self = this;
- var $loading = this.$el.find('.icon-loading-small').eq(0);
- if(!$loading.hasClass('hidden')) {
+ var $target = $(event.target);
+ var $li = $target.closest('li[data-share-id]');
+ var shareId = $li.data('share-id');
+ var $loading = $li.find('.share-menu > .icon-loading-small');
+
+ if(!$loading.hasClass('hidden') && this.password === '') {
// in process
return false;
}
+
// hide all icons and show loading
- this.$el.find('.icon').addClass('hidden');
+ $li.find('.icon').addClass('hidden');
$loading.removeClass('hidden');
+ // hide menu
+ OC.hideMenus();
+
var shareData = {}
+ var isPasswordEnforced = this.configModel.get('enforcePasswordForPublicLink');
var isExpirationEnforced = this.configModel.get('isDefaultExpireDateEnforced');
+
+ // set default expire date
if (isExpirationEnforced) {
var defaultExpireDays = this.configModel.get('defaultExpireDate');
var expireDate = moment().add(defaultExpireDays, 'day').format('DD-MM-YYYY')
shareData.expireDate = expireDate;
}
- this.model.saveLinkShare(shareData, {
- success: function() {
- $loading.addClass('hidden');
- self.$el.find('.icon').removeClass('hidden');
- self.render();
- },
- error: function(obj, msg) {
- OC.Notification.showTemporary(t('core', 'Unable to create a link share'));
- $loading.addClass('hidden');
- self.$el.find('.icon').removeClass('hidden');
- }
- })
+ // if password is set, add to data
+ if (isPasswordEnforced && this.password !== '') {
+ shareData.password = this.password
+ }
+
+ // We need a password before the share creation
+ if (isPasswordEnforced && !this.showPending && this.password === '') {
+ this.showPending = shareId;
+ this.render();
+ $li.find('#enforcedPassText').focus();
+ } else {
+ // else, we have a password or it is not enforced
+ this.model.saveLinkShare(shareData, {
+ success: function() {
+ $loading.addClass('hidden');
+ $li.find('.icon').removeClass('hidden');
+ self.render();
+ },
+ error: function() {
+ OC.Notification.showTemporary(t('core', 'Unable to create a link share'));
+ $loading.addClass('hidden');
+ $li.find('.icon').removeClass('hidden');
+ }
+ })
+ }
+ },
+
+ enforcedPasswordSet: function(event) {
+ event.preventDefault();
+ var $form = $(event.target);
+ var $input = $form.find('input.enforcedPassText');
+ this.password = $input.val();
+ this.showPending = false;
+ this.newShare(event);
},
onLinkTextClick: function(event) {
@@ -412,6 +449,9 @@
render: function() {
this.$el.find('.has-tooltip').tooltip();
+
+ // reset previously set passwords
+ this.password = '';
var linkShareTemplate = this.template();
var resharingAllowed = this.model.sharePermissionPossible();
@@ -479,7 +519,7 @@
social: social,
urlLabel: t('core', 'Link'),
hideDownloadLabel: t('core', 'Hide download'),
- enablePasswordLabel: t('core', 'Password protect'),
+ enablePasswordLabel: isPasswordEnforced ? t('core', 'Password protection enforced') : t('core', 'Password protect'),
passwordLabel: t('core', 'Password'),
passwordPlaceholderInitial: passwordPlaceholderInitial,
publicUpload: publicUpload,
@@ -505,20 +545,19 @@
newShareLabel: t('core', 'New share link'),
};
- var pendingPopoverBase = {
- enablePasswordLabel: t('core', 'Password protect'),
- passwordLabel: t('core', 'Password'),
- passwordPlaceholderInitial: passwordPlaceholderInitial,
+ var pendingPopover = {
isPasswordEnforced: isPasswordEnforced,
+ enforcedPasswordLabel: t('core', 'Password protection for links is mandatory'),
+ passwordPlaceholder: passwordPlaceholderInitial,
};
+ var pendingPopoverMenu = this.pendingPopoverMenuTemplate(_.extend({}, pendingPopover))
var linkShares = this.getShareeList();
if(_.isArray(linkShares)) {
for (var i = 0; i < linkShares.length; i++) {
var popover = this.getPopoverObject(linkShares[i])
- var pendingPopover = this.getPendingPopoverObject(linkShares[i])
linkShares[i].popoverMenu = this.popoverMenuTemplate(_.extend({}, popoverBase, popover));
- linkShares[i].pendingPopoverMenu = this.pendingPopoverMenuTemplate(_.extend({}, pendingPopoverBase, pendingPopover));
+ linkShares[i].pendingPopoverMenu = pendingPopoverMenu
}
}
@@ -527,7 +566,9 @@
shareAllowed: true,
nolinkShares: linkShares.length === 0,
newShareLabel: t('core', 'Share link'),
- newShareTitle: t('core', 'New share link')
+ newShareTitle: t('core', 'New share link'),
+ pendingPopoverMenu: pendingPopoverMenu,
+ showPending: this.showPending === 'new',
}));
this.delegateEvents();
@@ -547,7 +588,14 @@
var shareId = $li.data('share-id');
OC.showMenu(null, $menu);
- this._menuOpen = shareId;
+
+ // focus the password if not set and enforced
+ var isPasswordEnabledByDefault = this.configModel.get('enableLinkPasswordByDefault') === true;
+ var haspassword = $menu.find('.linkPassText').val() !== '';
+
+ if (!haspassword && isPasswordEnabledByDefault) {
+ $menu.find('.linkPassText').focus();
+ }
},
/**
@@ -681,11 +729,10 @@
shareAllowed: true,
linkShareLabel: share.label !== '' ? share.label : t('core', 'Share link'),
popoverMenu: {},
- pendingPopoverMenu: {},
- showPending: this.showPending,
shareLinkURL: share.url,
newShareTitle: t('core', 'New share link'),
copyLabel: t('core', 'Copy link'),
+ showPending: this.showPending === share.id,
})
},
@@ -709,7 +756,7 @@
var isPasswordSet = !!share.password;
var isPasswordEnabledByDefault = this.configModel.get('enableLinkPasswordByDefault') === true;
var isPasswordEnforced = this.configModel.get('enforcePasswordForPublicLink');
- var showPasswordCheckBox = !this.configModel.get('enforcePasswordForPublicLink') || !share.password;
+ var showPasswordCheckBox = !isPasswordEnforced || !share.password;
var isExpirationEnforced = this.configModel.get('isDefaultExpireDateEnforced');
var defaultExpireDays = this.configModel.get('defaultExpireDate');
var hasExpireDate = !!share.expiration || isExpirationEnforced;
@@ -759,22 +806,6 @@
}
},
- getPendingPopoverObject: function(share) {
- var isPasswordSet = !!share.password;
- var showPasswordCheckBox = !this.configModel.get('enforcePasswordForPublicLink') || !share.password;
- var isPasswordEnforced = this.configModel.get('enforcePasswordForPublicLink');
-
- return {
- cid: share.id,
- enablePasswordLabel: t('core', 'Password protect'),
- passwordLabel: t('core', 'Password'),
- passwordPlaceholder: isPasswordSet ? PASSWORD_PLACEHOLDER : PASSWORD_PLACEHOLDER_MESSAGE,
- showPasswordCheckBox: showPasswordCheckBox,
- isPasswordEnforced: isPasswordEnforced,
- }
-
- },
-
onUnshare: function(event) {
event.preventDefault();
event.stopPropagation();
diff --git a/core/js/sharetemplates.js b/core/js/sharetemplates.js
index 674bc2c4bab..a29ddfb6f75 100644
--- a/core/js/sharetemplates.js
+++ b/core/js/sharetemplates.js
@@ -3,19 +3,33 @@
templates['sharedialoglinkshareview'] = template({"1":function(container,depth0,helpers,partials,data) {
var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {});
- return "<ul id=\"shareLink\" class=\"shareWithList\">\n"
+ return "<ul class=\"shareWithList\">\n"
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.nolinkShares : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.linkShares : depth0),{"name":"each","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.linkShares : depth0),{"name":"each","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "</ul>\n";
},"2":function(container,depth0,helpers,partials,data) {
- var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+ var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li>\n <div class=\"avatar icon-public-white\"></div>\n <span class=\"username\">"
+ return " <li data-share-id=\"new-share\">\n <div class=\"avatar icon-public-white\"></div>\n <span class=\"username\">"
+ alias4(((helper = (helper = helpers.newShareLabel || (depth0 != null ? depth0.newShareLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"newShareLabel","hash":{},"data":data}) : helper)))
- + "</span>\n <span class=\"sharingOptionsGroup\">\n <span class=\"icon icon-add new-share has-tooltip\" title=\""
+ + "</span>\n <span class=\"sharingOptionsGroup\">\n <div class=\"share-menu\">\n <a href=\"#\" class=\"icon icon-add new-share has-tooltip "
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\" title=\""
+ alias4(((helper = (helper = helpers.newShareTitle || (depth0 != null ? depth0.newShareTitle : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"newShareTitle","hash":{},"data":data}) : helper)))
- + "\"></span>\n <span class=\"icon icon-loading-small hidden\"></span>\n </span>\n </li>\n";
-},"4":function(container,depth0,helpers,partials,data) {
+ + "\"></a>\n <span class=\"icon icon-loading-small "
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"unless","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\"></span>\n"
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + " </div>\n </span>\n </li>\n";
+},"3":function(container,depth0,helpers,partials,data) {
+ return "hidden";
+},"5":function(container,depth0,helpers,partials,data) {
+ var stack1, helper;
+
+ return " "
+ + ((stack1 = ((helper = (helper = helpers.pendingPopoverMenu || (depth0 != null ? depth0.pendingPopoverMenu : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"pendingPopoverMenu","hash":{},"data":data}) : helper))) != null ? stack1 : "")
+ + "\n";
+},"7":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return " <li data-share-id=\""
@@ -28,27 +42,25 @@ templates['sharedialoglinkshareview'] = template({"1":function(container,depth0,
+ alias4(((helper = (helper = helpers.shareLinkURL || (depth0 != null ? depth0.shareLinkURL : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareLinkURL","hash":{},"data":data}) : helper)))
+ "\" title=\""
+ alias4(((helper = (helper = helpers.copyLabel || (depth0 != null ? depth0.copyLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"copyLabel","hash":{},"data":data}) : helper)))
- + "\"></a>\n <div class=\"share-menu\" tabindex=\"0\"><span class=\"icon icon-more\"></span>\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(7, data, 0),"data":data})) != null ? stack1 : "")
+ + "\"></a>\n <div class=\"share-menu\">\n <a href=\"#\" class=\"icon icon-more "
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\"></a>\n <span class=\"icon icon-loading-small "
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"unless","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\"></span>\n"
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(8, data, 0),"data":data})) != null ? stack1 : "")
+ " </div>\n </span>\n </li>\n";
-},"5":function(container,depth0,helpers,partials,data) {
- var stack1, helper;
-
- return " "
- + ((stack1 = ((helper = (helper = helpers.pendingPopoverMenu || (depth0 != null ? depth0.pendingPopoverMenu : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"pendingPopoverMenu","hash":{},"data":data}) : helper))) != null ? stack1 : "")
- + "\n";
-},"7":function(container,depth0,helpers,partials,data) {
+},"8":function(container,depth0,helpers,partials,data) {
var stack1, helper;
return " "
+ ((stack1 = ((helper = (helper = helpers.popoverMenu || (depth0 != null ? depth0.popoverMenu : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"popoverMenu","hash":{},"data":data}) : helper))) != null ? stack1 : "")
+ "\n";
-},"9":function(container,depth0,helpers,partials,data) {
+},"10":function(container,depth0,helpers,partials,data) {
var stack1;
- return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.noSharingPlaceholder : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.noSharingPlaceholder : depth0),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "\n";
-},"10":function(container,depth0,helpers,partials,data) {
+},"11":function(container,depth0,helpers,partials,data) {
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return "<input id=\"shareWith-"
@@ -59,12 +71,12 @@ templates['sharedialoglinkshareview'] = template({"1":function(container,depth0,
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1;
- return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.shareAllowed : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(9, data, 0),"data":data})) != null ? stack1 : "");
+ return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.shareAllowed : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(10, data, 0),"data":data})) != null ? stack1 : "");
},"useData":true});
templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li>\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"checkbox\" name=\"hideDownload\" id=\"sharingDialogHideDownload-"
+ return " <li>\n <span class=\"menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"checkbox\" name=\"hideDownload\" id=\"sharingDialogHideDownload-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" class=\"checkbox hideDownloadCheckbox\"\n "
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hideDownload : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
@@ -78,7 +90,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
},"4":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li>\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"radio\" name=\"publicUpload\" value=\""
+ return " <li>\n <span class=\"menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"radio\" name=\"publicUpload\" value=\""
+ alias4(((helper = (helper = helpers.publicUploadRValue || (depth0 != null ? depth0.publicUploadRValue : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicUploadRValue","hash":{},"data":data}) : helper)))
+ "\" id=\"sharingDialogAllowPublicUpload-r-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
@@ -88,7 +100,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\">"
+ alias4(((helper = (helper = helpers.publicUploadRLabel || (depth0 != null ? depth0.publicUploadRLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicUploadRLabel","hash":{},"data":data}) : helper)))
- + "</label>\n </span>\n </li>\n <li>\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"radio\" name=\"publicUpload\" value=\""
+ + "</label>\n </span>\n </li>\n <li>\n <span class=\"menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"radio\" name=\"publicUpload\" value=\""
+ alias4(((helper = (helper = helpers.publicUploadRWValue || (depth0 != null ? depth0.publicUploadRWValue : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicUploadRWValue","hash":{},"data":data}) : helper)))
+ "\" id=\"sharingDialogAllowPublicUpload-rw-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
@@ -98,7 +110,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\">"
+ alias4(((helper = (helper = helpers.publicUploadRWLabel || (depth0 != null ? depth0.publicUploadRWLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicUploadRWLabel","hash":{},"data":data}) : helper)))
- + "</label>\n </span></li>\n <li>\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"radio\" name=\"publicUpload\" value=\""
+ + "</label>\n </span></li>\n <li>\n <span class=\"menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"radio\" name=\"publicUpload\" value=\""
+ alias4(((helper = (helper = helpers.publicUploadWValue || (depth0 != null ? depth0.publicUploadWValue : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicUploadWValue","hash":{},"data":data}) : helper)))
+ "\" id=\"sharingDialogAllowPublicUpload-w-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
@@ -112,7 +124,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
},"6":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li id=\"allowPublicEditingWrapper\">\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"checkbox\" name=\"allowPublicEditing\" id=\"sharingDialogAllowPublicEditing-"
+ return " <li id=\"allowPublicEditingWrapper\">\n <span class=\"menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"checkbox\" name=\"allowPublicEditing\" id=\"sharingDialogAllowPublicEditing-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" class=\"checkbox publicEditingCheckbox\" "
+ ((stack1 = ((helper = (helper = helpers.publicEditingChecked || (depth0 != null ? depth0.publicEditingChecked : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicEditingChecked","hash":{},"data":data}) : helper))) != null ? stack1 : "")
@@ -124,7 +136,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
},"8":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li>\n <span class=\"shareOption menuitem\">\n <input type=\"checkbox\" name=\"showPassword\" id=\"showPassword-"
+ return " <li>\n <span class=\"menuitem\">\n <input type=\"checkbox\" name=\"showPassword\" id=\"showPassword-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" class=\"checkbox showPasswordCheckbox\"\n "
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isPasswordSet : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
@@ -136,7 +148,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ alias4(((helper = (helper = helpers.enablePasswordLabel || (depth0 != null ? depth0.enablePasswordLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"enablePasswordLabel","hash":{},"data":data}) : helper)))
+ "</label>\n </span>\n </li>\n <li class=\""
+ ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.isPasswordSet : depth0),{"name":"unless","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + " linkPassMenu\">\n <span class=\"shareOption menuitem icon-share-pass\">\n <input id=\"linkPassText-"
+ + " linkPassMenu\">\n <span class=\"menuitem icon-share-pass\">\n <input id=\"linkPassText-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" class=\"linkPassText\" type=\"password\" placeholder=\""
+ alias4(((helper = (helper = helpers.passwordPlaceholder || (depth0 != null ? depth0.passwordPlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"passwordPlaceholder","hash":{},"data":data}) : helper)))
@@ -160,7 +172,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
},"21":function(container,depth0,helpers,partials,data) {
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li>\n <a href=\"#\" class=\"shareOption menuitem pop-up\" data-url=\""
+ return " <li>\n <a href=\"#\" class=\"menuitem pop-up\" data-url=\""
+ alias4(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"url","hash":{},"data":data}) : helper)))
+ "\" data-window=\""
+ alias4(((helper = (helper = helpers.newWindow || (depth0 != null ? depth0.newWindow : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"newWindow","hash":{},"data":data}) : helper)))
@@ -183,7 +195,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.publicUpload : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.publicEditing : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPasswordCheckBox : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + " <li>\n <span class=\"shareOption menuitem\">\n <input id=\"expireDate-"
+ + " <li>\n <span class=\"menuitem\">\n <input id=\"expireDate-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" type=\"checkbox\" name=\"expirationDate\" class=\"expireDate checkbox\"\n "
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasExpireDate : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
@@ -234,21 +246,15 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
templates['sharedialoglinkshareview_popover_menu_pending'] = template({"1":function(container,depth0,helpers,partials,data) {
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li><span class=\"shareOption menuitem\">\n <input type=\"checkbox\" name=\"showPassword\" id=\"showPassword-"
- + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
- + "\" checked=\"checked\" disabled class=\"checkbox showPasswordCheckbox\" value=\"1\" />\n <label for=\"showPassword-"
- + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
- + "\">"
- + alias4(((helper = (helper = helpers.enablePasswordLabel || (depth0 != null ? depth0.enablePasswordLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"enablePasswordLabel","hash":{},"data":data}) : helper)))
- + "</label>\n </span></li>\n <li class=\"linkPassMenu\"><span class=\"shareOption menuitem icon-share-pass\">\n <input id=\"linkPassText-"
- + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
- + "\" class=\"linkPassText\" type=\"password\" placeholder=\""
+ return " <li>\n <span class=\"menuitem icon-info\">\n <p>"
+ + alias4(((helper = (helper = helpers.enforcedPasswordLabel || (depth0 != null ? depth0.enforcedPasswordLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"enforcedPasswordLabel","hash":{},"data":data}) : helper)))
+ + "</p>\n </span>\n </li>\n <li class=\"linkPassMenu\">\n <span class=\"menuitem\">\n <form autocomplete=\"off\" class=\"enforcedPassForm\">\n <input id=\"enforcedPassText\" required class=\"enforcedPassText\" type=\"password\"\n placeholder=\""
+ alias4(((helper = (helper = helpers.passwordPlaceholder || (depth0 != null ? depth0.passwordPlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"passwordPlaceholder","hash":{},"data":data}) : helper)))
- + "\" autocomplete=\"new-password\" />\n <span class=\"icon icon-loading-small hidden\"></span>\n </span></li>\n";
+ + "\" autocomplete=\"new-password\" minlength=\"4\" />\n <input type=\"submit\" value=\" \" class=\"primary icon-checkmark-white\">\n </form>\n </span>\n </li>\n";
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1;
- return "<div class=\"popovermenu pendingpopover menu\">\n <ul>\n"
+ return "<div class=\"popovermenu open menu\">\n <ul>\n"
+ ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.isPasswordEnforced : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " </ul>\n</div>\n";
},"useData":true});
@@ -310,7 +316,7 @@ templates['sharedialogshareelistview'] = template({"1":function(container,depth0
},"6":function(container,depth0,helpers,partials,data) {
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <span class=\"shareOption\">\n <input id=\"canEdit-"
+ return " <span>\n <input id=\"canEdit-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -360,7 +366,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
},"3":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return "\n <li>\n <span class=\"shareOption menuitem\">\n <input id=\"canShare-"
+ return "\n <li>\n <span class=\"menuitem\">\n <input id=\"canShare-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -394,7 +400,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
},"8":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return "\n <li>\n <span class=\"shareOption menuitem\">\n <input id=\"canCreate-"
+ return "\n <li>\n <span class=\"menuitem\">\n <input id=\"canCreate-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -416,7 +422,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
},"11":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return "\n <li>\n <span class=\"shareOption menuitem\">\n <input id=\"canUpdate-"
+ return "\n <li>\n <span class=\"menuitem\">\n <input id=\"canUpdate-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -438,7 +444,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
},"14":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return "\n <li>\n <span class=\"shareOption menuitem\">\n <input id=\"canDelete-"
+ return "\n <li>\n <span class=\"menuitem\">\n <input id=\"canDelete-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -457,7 +463,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasCreatePermission : depth0),{"name":"if","hash":{},"fn":container.program(17, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + " <li>\n <span class=\"shareOption menuitem\">\n <input id=\"password-"
+ + " <li>\n <span class=\"menuitem\">\n <input id=\"password-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -501,7 +507,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
},"17":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li>\n <span class=\"shareOption menuitem\">\n <input id=\"secureDrop-"
+ return " <li>\n <span class=\"menuitem\">\n <input id=\"secureDrop-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -527,7 +533,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
},"24":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
- return " <li>\n <span class=\"shareOption menuitem\">\n <input id=\"passwordByTalk-"
+ return " <li>\n <span class=\"menuitem\">\n <input id=\"passwordByTalk-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
@@ -596,7 +602,7 @@ templates['sharedialogshareelistview_popover_menu'] = template({"1":function(con
+ "\n"
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isFolder : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isMailShare : depth0),{"name":"if","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + " <li>\n <span class=\"shareOption menuitem\">\n <input id=\"expireDate-"
+ + " <li>\n <span class=\"menuitem\">\n <input id=\"expireDate-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))