fix modal buttons and functions

pull/1/head
David Benqué 5 years ago
parent 33b16ffcdf
commit 96f82c8e7c

@ -1032,21 +1032,18 @@ define([
if (!hashes || (!hashes.editHash && !hashes.viewHash)) { return; } if (!hashes || (!hashes.editHash && !hashes.viewHash)) { return; }
var createAccessRights = function (group_name) { var rights = h('div', [
var rights = [
h('label', Messages.share_linkAccess), h('label', Messages.share_linkAccess),
h('br'), h('br'),
UI.createRadio(group_name, 'cp-share-editable-false', UI.createRadio('accessRights', 'cp-share-editable-false',
Messages.share_linkView, true, { mark: {tabindex:1} }), Messages.share_linkView, true, { mark: {tabindex:1} }),
UI.createRadio(group_name, 'cp-share-present', UI.createRadio('accessRights', 'cp-share-present',
Messages.share_linkPresent, false, { mark: {tabindex:1} }), // XXX only show this if code or slide pad Messages.share_linkPresent, false, { mark: {tabindex:1} }), // XXX only show this if code or slide pad
UI.createRadio(group_name, 'cp-share-editable-true', UI.createRadio('accessRights', 'cp-share-editable-true',
Messages.share_linkEdit, false, { mark: {tabindex:1} }), Messages.share_linkEdit, false, { mark: {tabindex:1} }),
h('br'), h('br'),
]; ]);
return rights;
};
// Share link tab // Share link tab
var content = []; var content = [];
@ -1054,13 +1051,13 @@ define([
h('label', Messages.sharedFolders_share), h('label', Messages.sharedFolders_share),
h('br'), h('br'),
]; ];
var linkAccessRights = createAccessRights('link-rights');
var padContent = [ var padContent = [
UI.createCheckbox('cp-share-embed', Messages.share_linkEmbed, false, { mark: {tabindex:1} }), UI.createCheckbox('cp-share-embed', Messages.share_linkEmbed, false, { mark: {tabindex:1} }),
h('br'), h('br'),
]; ];
if (config.sharedFolder) { Array.prototype.push.apply(content, sfContent); } if (config.sharedFolder) { Array.prototype.push.apply(content, sfContent); }
Array.prototype.push.apply(content, linkAccessRights); Array.prototype.push.apply(content);
if (!config.sharedFolder) { Array.prototype.push.apply(content, padContent); } if (!config.sharedFolder) { Array.prototype.push.apply(content, padContent); }
content.push(UI.dialog.selectable('', { id: 'cp-share-link-preview', tabindex: 1 })); content.push(UI.dialog.selectable('', { id: 'cp-share-link-preview', tabindex: 1 }));
@ -1069,9 +1066,9 @@ define([
var link = h('div.cp-share-modal', content); var link = h('div.cp-share-modal', content);
var saveValue = function () { var saveValue = function () {
var edit = Util.isChecked($(link).find('#cp-share-editable-true')); var edit = Util.isChecked($(rights).find('#cp-share-editable-true'));
var embed = Util.isChecked($(link).find('#cp-share-embed')); var embed = Util.isChecked($(link).find('#cp-share-embed'));
var present = Util.isChecked($(link).find('#cp-share-present')); var present = Util.isChecked($(rights).find('#cp-share-present'));
common.setAttribute(['general', 'share'], { common.setAttribute(['general', 'share'], {
edit: edit, edit: edit,
embed: embed, embed: embed,
@ -1081,10 +1078,9 @@ define([
var getLinkValue = function (initValue) { var getLinkValue = function (initValue) {
var val = initValue || {}; var val = initValue || {};
var edit = val.edit !== undefined ? val.edit : Util.isChecked($(link).find('#cp-share-editable-true')); var edit = val.edit !== undefined ? val.edit : Util.isChecked($(rights).find('#cp-share-editable-true'));
var embed = val.embed !== undefined ? val.embed : Util.isChecked($(link).find('#cp-share-embed')); var embed = val.embed !== undefined ? val.embed : Util.isChecked($(link).find('#cp-share-embed'));
var present = val.present !== undefined ? val.present : Util.isChecked($(link).find('#cp-share-present')); var present = val.present !== undefined ? val.present : Util.isChecked($(rights).find('#cp-share-present'));
var hash = (!hashes.viewHash || (edit && hashes.editHash)) ? hashes.editHash : hashes.viewHash; var hash = (!hashes.viewHash || (edit && hashes.editHash)) ? hashes.editHash : hashes.viewHash;
var href = origin + pathname + '#' + hash; var href = origin + pathname + '#' + hash;
var parsed = Hash.parsePadUrl(href); var parsed = Hash.parsePadUrl(href);
@ -1098,10 +1094,9 @@ define([
keys: [27]}; keys: [27]};
}; };
var linkButtons = [makeCancelButton()]; var linkButtons = [
makeCancelButton(),
if (!config.sharedFolder) { !config.sharedFolder && {
linkButtons.push({
className: 'secondary', // XXX style this diferently than cancel className: 'secondary', // XXX style this diferently than cancel
name: Messages.share_linkOpen, name: Messages.share_linkOpen,
onClick: function () { onClick: function () {
@ -1110,10 +1105,8 @@ define([
window.open(v); window.open(v);
}, },
keys: [[13, 'ctrl']] keys: [[13, 'ctrl']]
}); },
}; {
linkButtons.push({
className: 'primary', className: 'primary',
name: Messages.share_linkCopy, name: Messages.share_linkCopy,
onClick: function () { onClick: function () {
@ -1122,17 +1115,19 @@ define([
var success = Clipboard.copy(v); var success = Clipboard.copy(v);
if (success) { UI.log(Messages.shareSuccess); } if (success) { UI.log(Messages.shareSuccess); }
}, },
keys: [13]} keys: [13]
); }
];
var $link = $(link);
// disable edit share options if you don't have edit rights
if (!hashes.editHash) { if (!hashes.editHash) {
$(link).find('#cp-share-editable-false').attr('checked', true); $(rights).find('#cp-share-editable-false').attr('checked', true);
$(link).find('#cp-share-editable-true').removeAttr('checked').attr('disabled', true); $(rights).find('#cp-share-editable-true').removeAttr('checked').attr('disabled', true);
} else if (!hashes.viewHash) { } else if (!hashes.viewHash) {
$(link).find('#cp-share-editable-false').removeAttr('checked').attr('disabled', true); $(rights).find('#cp-share-editable-false').removeAttr('checked').attr('disabled', true);
$(link).find('#cp-share-editable-true').attr('checked', true); $(rights).find('#cp-share-present').removeAttr('checked').attr('disabled', true);
$(rights).find('#cp-share-editable-true').attr('checked', true);
} }
$(link).find('#cp-share-link-preview').val(getLinkValue()); $(link).find('#cp-share-link-preview').val(getLinkValue());
@ -1156,8 +1151,9 @@ define([
onFriendShare.reg(saveValue); onFriendShare.reg(saveValue);
var contactsAccessRights = hasFriends ? createAccessRights('contact-rights') : ''; // XXX Don't display access rights if no contacts
var contacts = h('.cp-share-modal', contactsAccessRights); /// var contactsAccessRights = hasFriends ? createAccessRights('contact-rights') : '';
var contacts = h('div.cp-share-modal');
var $contacts = $(contacts); var $contacts = $(contacts);
$(friendsList).appendTo($contacts); $(friendsList).appendTo($contacts);
@ -1187,7 +1183,9 @@ define([
className: 'primary', className: 'primary',
name: Messages.share_linkCopy, name: Messages.share_linkCopy,
onClick: function () { onClick: function () {
var v = getEmbedValue(); var v = getLinkValue({
embed: true
});
var success = Clipboard.copy(v); var success = Clipboard.copy(v);
if (success) { UI.log(Messages.shareSuccess); } if (success) { UI.log(Messages.shareSuccess); }
}, },

Loading…
Cancel
Save