|
30 | 30 | ' <input type="checkbox" value="1" name="allowPublicUpload" id="sharingDialogAllowPublicUpload-{{cid}}" class="checkbox publicUploadCheckbox" {{{publicUploadChecked}}} />' + |
31 | 31 | '<label for="sharingDialogAllowPublicUpload-{{cid}}">{{publicUploadLabel}}</label>' + |
32 | 32 | '</div>' + |
33 | | - ' {{/if}}' + |
| 33 | + '{{#if hideFileList}}' + |
| 34 | + '<div id="hideFileListWrapper">' + |
| 35 | + ' <span class="icon-loading-small hidden"></span>' + |
| 36 | + ' <input type="checkbox" value="1" name="hideFileList" id="sharingDialogHideFileList-{{cid}}" class="checkbox hideFileListCheckbox" {{{hideFileListChecked}}} />' + |
| 37 | + '<label for="sharingDialogHideFileList-{{cid}}">{{hideFileListLabel}}</label>' + |
| 38 | + '</div>' + |
| 39 | + '{{/if}}' + |
| 40 | + ' {{/if}}' + |
34 | 41 | ' {{#if showPasswordCheckBox}}' + |
35 | 42 | '<input type="checkbox" name="showPassword" id="showPassword-{{cid}}" class="checkbox showPasswordCheckbox" {{#if isPasswordSet}}checked="checked"{{/if}} value="1" />' + |
36 | 43 | '<label for="showPassword-{{cid}}">{{enablePasswordLabel}}</label>' + |
|
74 | 81 | 'keyup input.linkPassText': 'onPasswordKeyUp', |
75 | 82 | 'click .linkCheckbox': 'onLinkCheckBoxChange', |
76 | 83 | 'click .linkText': 'onLinkTextClick', |
77 | | - 'change .publicUploadCheckbox': 'onAllowPublicUploadChange', |
| 84 | + 'change .publicUploadCheckbox': 'onAllowPublicUploadChange', |
| 85 | + 'change .hideFileListCheckbox': 'onHideFileListChange', |
78 | 86 | 'click .showPasswordCheckbox': 'onShowPasswordClick' |
79 | 87 | }, |
80 | 88 |
|
|
93 | 101 | view.render(); |
94 | 102 | }); |
95 | 103 |
|
| 104 | + this.model.on('change:hideFileListStatus', function() { |
| 105 | + view.render(); |
| 106 | + }); |
| 107 | + |
96 | 108 | this.model.on('change:linkShare', function() { |
97 | 109 | view.render(); |
98 | 110 | }); |
|
110 | 122 | 'onPasswordKeyUp', |
111 | 123 | 'onLinkTextClick', |
112 | 124 | 'onShowPasswordClick', |
| 125 | + 'onHideFileListChange', |
113 | 126 | 'onAllowPublicUploadChange' |
114 | 127 | ); |
115 | 128 | }, |
|
208 | 221 | this.model.saveLinkShare({ |
209 | 222 | permissions: permissions |
210 | 223 | }); |
211 | | - }, |
| 224 | + }, |
| 225 | + |
| 226 | + onHideFileListChange: function () { |
| 227 | + var $checkbox = this.$('.hideFileListCheckbox'); |
| 228 | + $checkbox.siblings('.icon-loading-small').removeClass('hidden').addClass('inlineblock'); |
| 229 | + |
| 230 | + var permissions = OC.PERMISSION_UPDATE | OC.PERMISSION_CREATE | OC.PERMISSION_READ; |
| 231 | + if ($checkbox.is(':checked')) { |
| 232 | + permissions = OC.PERMISSION_UPDATE | OC.PERMISSION_CREATE; |
| 233 | + } |
| 234 | + |
| 235 | + this.model.saveLinkShare({ |
| 236 | + permissions: permissions |
| 237 | + }); |
| 238 | + }, |
212 | 239 |
|
213 | 240 | render: function() { |
214 | 241 | var linkShareTemplate = this.template(); |
|
237 | 264 | publicUploadChecked = 'checked="checked"'; |
238 | 265 | } |
239 | 266 |
|
| 267 | + var hideFileList = publicUploadChecked; |
| 268 | + |
| 269 | + var hideFileListChecked = ''; |
| 270 | + if(this.model.isHideFileListSet()) { |
| 271 | + hideFileListChecked = 'checked="checked"'; |
| 272 | + } |
| 273 | + |
240 | 274 | var isLinkShare = this.model.get('linkShare').isLinkShare; |
241 | 275 | var isPasswordSet = !!this.model.get('linkShare').password; |
242 | 276 | var showPasswordCheckBox = isLinkShare |
|
246 | 280 | this.$el.html(linkShareTemplate({ |
247 | 281 | cid: this.cid, |
248 | 282 | shareAllowed: true, |
| 283 | + hideFileList: hideFileList, |
249 | 284 | isLinkShare: isLinkShare, |
250 | 285 | shareLinkURL: this.model.get('linkShare').link, |
251 | 286 | linkShareLabel: t('core', 'Share link'), |
|
257 | 292 | showPasswordCheckBox: showPasswordCheckBox, |
258 | 293 | publicUpload: publicUpload && isLinkShare, |
259 | 294 | publicUploadChecked: publicUploadChecked, |
260 | | - publicUploadLabel: t('core', 'Allow editing'), |
| 295 | + hideFileListChecked: hideFileListChecked, |
| 296 | + publicUploadLabel: t('core', 'Allow editing'), |
| 297 | + hideFileListLabel: t('core', 'Hide file listing'), |
261 | 298 | mailPublicNotificationEnabled: isLinkShare && this.configModel.isMailPublicNotificationEnabled(), |
262 | 299 | mailPrivatePlaceholder: t('core', 'Email link to person'), |
263 | 300 | mailButtonText: t('core', 'Send') |
|
0 commit comments