From 57ba4e0bcd8e051c54ce113f5c5509ed5df7c693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Benqu=C3=A9?= Date: Fri, 22 Nov 2019 11:34:13 +0000 Subject: [PATCH 1/4] address XXX issues --- customize.dist/src/less2/include/alertify.less | 4 ++-- www/common/common-ui-elements.js | 2 +- www/common/translations/messages.json | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/customize.dist/src/less2/include/alertify.less b/customize.dist/src/less2/include/alertify.less index 4d1acd562..63faf1033 100644 --- a/customize.dist/src/less2/include/alertify.less +++ b/customize.dist/src/less2/include/alertify.less @@ -24,7 +24,7 @@ @alertify-input-bg: @colortheme_modal-input; @alertify-input-fg: @colortheme_modal-input-fg; - @alertify_padding-base: @variables_padding; // XXX to align tab contents with buttons. could change @variables-padding: 12px + @alertify_padding-base: @variables_padding; @alertify_box-shadow: @variables_shadow; // Logs to show that something has happened @@ -349,7 +349,7 @@ padding: @alertify_padding-base; text-align: right; button{ - margin:0px !important; // XXX was not overriding the button margin + margin:0px !important; &:not(:last-child) { margin-right: @alertify_padding-base !important; } diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index 1512cb761..cf33ae4f8 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -1142,7 +1142,7 @@ define([ var hasFriends = Object.keys(config.friends || {}).length !== 0; var onFriendShare = Util.mkEvent(); var friendsObject = hasFriends ? createShareWithFriends(config, onFriendShare, getLinkValue) : { - content: h('p', Messages.share_noContacts), + content: h('p', Messages.team_noFriend), button: {} }; var friendsList = friendsObject.content; diff --git a/www/common/translations/messages.json b/www/common/translations/messages.json index 83a64842a..ab9d2a0f3 100644 --- a/www/common/translations/messages.json +++ b/www/common/translations/messages.json @@ -988,7 +988,6 @@ "share_linkOpen": "Preview", "share_linkCopy": "Copy", "share_contactCategory": "Contacts", - "share_noContacts": "You do not have any contacts yet. // XXX", "share_embedCategory": "Embed", "share_mediatagCopy": "Copy mediatag to clipboard", "loading_pad_1": "Initializing pad", @@ -1002,7 +1001,7 @@ "sharedFolders_create_name": "Folder name", "sharedFolders_create_owned": "Owned folder", "sharedFolders_create_password": "Folder password", - "sharedFolders_share": "Share this URL with other registered users to give them access to the shared folder. Once they open this URL, the shared folder will be added to the root directory of their CryptDrive. // XXX change/delete?", + "sharedFolders_share": "Share this link with other registered users to give them access to the shared folder. Once they open this link, the shared folder will be added to their CryptDrive.", "convertFolderToSF_SFParent": "This folder cannot be converted to a shared folder in its current location. Move it outside of the containing shared folder to continue.", "convertFolderToSF_SFChildren": "This folder cannot be converted to a shared folder because it already contains shared folders. Move those Shared folders elsewhere to continue.", "convertFolderToSF_confirm": "This folder must be converted to a Shared folder for others to view it. Continue?", From 1703186ebf044e53cd339801ad4706da29a4af07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Benqu=C3=A9?= Date: Fri, 22 Nov 2019 14:58:22 +0000 Subject: [PATCH 2/4] correct readonly selector --- customize.dist/src/less2/include/alertify.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/customize.dist/src/less2/include/alertify.less b/customize.dist/src/less2/include/alertify.less index 63faf1033..62b7bf3b5 100644 --- a/customize.dist/src/less2/include/alertify.less +++ b/customize.dist/src/less2/include/alertify.less @@ -226,7 +226,7 @@ width: 100%; font-size: 100%; padding: @alertify_padding-base; - &[readonly="readonly"]{ + &[readonly]{ background-color: @alertify-light-bg; color: @cryptpad_text_col; border-color: @alertify-input-fg; From 82bb71006024f8fa58ae3f427dadb2a2029befc2 Mon Sep 17 00:00:00 2001 From: yflory Date: Fri, 22 Nov 2019 16:40:20 +0100 Subject: [PATCH 3/4] Don't close the share modal when clicking Preview --- www/common/common-interface.js | 3 ++- www/common/common-ui-elements.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/www/common/common-interface.js b/www/common/common-interface.js index bc4344f36..2ea037ab0 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -348,7 +348,8 @@ define([ if (!b.name || !b.onClick) { return; } var button = h('button', { tabindex: '1', 'class': b.className || '' }, b.name); $(button).click(function () { - b.onClick(); + var noClose = b.onClick(); + if (noClose) { return; } var $modal = $(button).parents('.alertify').first(); if ($modal.length && $modal[0].closeModal) { $modal[0].closeModal(function () { diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index cf33ae4f8..01328a42f 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -1101,6 +1101,7 @@ define([ embed: Util.isChecked($(link).find('#cp-share-embed')) }); window.open(v); + return true; }, keys: [[13, 'ctrl']] }, From 754fa9dab2fb28265361d724aae7ad968cac59cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Benqu=C3=A9?= Date: Fri, 22 Nov 2019 16:03:17 +0000 Subject: [PATCH 4/4] review and lint --- .../src/less2/include/alertify.less | 8 +- customize.dist/src/less2/include/modal.less | 2 +- .../src/less2/include/modals-ui-elements.less | 8 +- www/common/common-interface.js | 2 +- www/common/common-ui-elements.js | 78 ++++++++++--------- www/common/drive-ui.js | 2 - www/common/toolbar3.js | 2 +- www/share/inner.js | 2 - 8 files changed, 51 insertions(+), 53 deletions(-) diff --git a/customize.dist/src/less2/include/alertify.less b/customize.dist/src/less2/include/alertify.less index 62b7bf3b5..bf30d5bfe 100644 --- a/customize.dist/src/less2/include/alertify.less +++ b/customize.dist/src/less2/include/alertify.less @@ -24,7 +24,7 @@ @alertify-input-bg: @colortheme_modal-input; @alertify-input-fg: @colortheme_modal-input-fg; - @alertify_padding-base: @variables_padding; + @alertify_padding-base: @variables_padding; @alertify_box-shadow: @variables_shadow; // Logs to show that something has happened @@ -226,7 +226,7 @@ width: 100%; font-size: 100%; padding: @alertify_padding-base; - &[readonly]{ + &[readonly] { background-color: @alertify-light-bg; color: @cryptpad_text_col; border-color: @alertify-input-fg; @@ -348,8 +348,8 @@ nav { padding: @alertify_padding-base; text-align: right; - button{ - margin:0px !important; + button { + margin: 0px !important; &:not(:last-child) { margin-right: @alertify_padding-base !important; } diff --git a/customize.dist/src/less2/include/modal.less b/customize.dist/src/less2/include/modal.less index 437f882ae..044763c59 100644 --- a/customize.dist/src/less2/include/modal.less +++ b/customize.dist/src/less2/include/modal.less @@ -66,7 +66,7 @@ padding: 8px 12px; margin: 1em; width: 300px; - &[type="text"]{ + &[type="text"] { background-color: @colortheme_modal-input-fg; color: @cryptpad_text_col; border: 1px solid @colortheme_modal-input; diff --git a/customize.dist/src/less2/include/modals-ui-elements.less b/customize.dist/src/less2/include/modals-ui-elements.less index a3cc41004..a384e7dda 100644 --- a/customize.dist/src/less2/include/modals-ui-elements.less +++ b/customize.dist/src/less2/include/modals-ui-elements.less @@ -5,14 +5,14 @@ } & { // Share modal - .msg.cp-inline-radio-group{ - .radio-group{ + .msg.cp-inline-radio-group { + .radio-group { display: flex; flex-direction: row; - .cp-radio{ + .cp-radio { margin-right: 30px; } } } -} \ No newline at end of file +} diff --git a/www/common/common-interface.js b/www/common/common-interface.js index bc4344f36..245cbe617 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -194,7 +194,7 @@ define([ if (tab.icon) { var icon = h('i', {class: tab.icon}); $(title).prepend(' ').prepend(icon); - }; + } $(title).click(function () { titles.forEach(function (t) { $(t).removeClass('alertify-tabs-active'); }); contents.forEach(function (c) { $(c).removeClass('alertify-tabs-content-active'); }); diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index cf33ae4f8..cc04c97ee 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -937,7 +937,6 @@ define([ name: Messages.share_withFriends, onClick: function () { var href = Hash.getRelativeHref(linkGetter()); - console.log(href); var $friends = $div.find('.cp-usergrid-user.cp-selected'); $friends.each(function (i, el) { var curve = $(el).attr('data-curve'); @@ -1026,7 +1025,6 @@ define([ }; }; - /// Share Modal Creation XXX remove this flag UIElements.createShareModal = function (config) { var origin = config.origin; var pathname = config.pathname; @@ -1050,10 +1048,11 @@ define([ Messages.share_linkEdit, false, { mark: {tabindex:1} })]) ]); + var $rights = $(rights); var saveValue = function () { - var edit = Util.isChecked($(rights).find('#cp-share-editable-true')); - var present = Util.isChecked($(rights).find('#cp-share-present')); + var edit = Util.isChecked($rights.find('#cp-share-editable-true')); + var present = Util.isChecked($rights.find('#cp-share-present')); common.setAttribute(['general', 'share'], { edit: edit, present: present @@ -1062,9 +1061,9 @@ define([ var getLinkValue = function (initValue) { var val = initValue || {}; - var edit = val.edit !== undefined ? val.edit : Util.isChecked($(rights).find('#cp-share-editable-true')); + var edit = val.edit !== undefined ? val.edit : Util.isChecked($rights.find('#cp-share-editable-true')); var embed = val.embed; - var present = val.present !== undefined ? val.present : Util.isChecked($(rights).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 href = origin + pathname + '#' + hash; var parsed = Hash.parsePadUrl(href); @@ -1072,10 +1071,12 @@ define([ }; var makeCancelButton = function() { - return {className: 'cancel', - name: Messages.cancel, - onClick: function () {}, - keys: [27]}; + return { + className: 'cancel', + name: Messages.cancel, + onClick: function () {}, + keys: [27] + }; }; // Share link tab @@ -1089,6 +1090,7 @@ define([ linkContent.push(UI.dialog.selectable('', { id: 'cp-share-link-preview', tabindex: 1 })); var link = h('div.cp-share-modal', linkContent); + var $link = $(link); var linkButtons = [ makeCancelButton(), @@ -1098,7 +1100,7 @@ define([ onClick: function () { saveValue(); var v = getLinkValue({ - embed: Util.isChecked($(link).find('#cp-share-embed')) + embed: Util.isChecked($link.find('#cp-share-embed')) }); window.open(v); }, @@ -1110,7 +1112,7 @@ define([ onClick: function () { saveValue(); var v = getLinkValue({ - embed: Util.isChecked($(link).find('#cp-share-embed')) + embed: Util.isChecked($link.find('#cp-share-embed')) }); var success = Clipboard.copy(v); if (success) { UI.log(Messages.shareSuccess); } @@ -1120,15 +1122,15 @@ define([ ]; // update values for link preview when radio btns change - $(link).find('#cp-share-link-preview').val(getLinkValue()); - $(rights).find('input[type="radio"]').on('change', function () { - $(link).find('#cp-share-link-preview').val(getLinkValue({ - embed: Util.isChecked($(link).find('#cp-share-embed')) + $link.find('#cp-share-link-preview').val(getLinkValue()); + $rights.find('input[type="radio"]').on('change', function () { + $link.find('#cp-share-link-preview').val(getLinkValue({ + embed: Util.isChecked($link.find('#cp-share-embed')) })); }); - $(link).find('input[type="checkbox"]').on('change', function () { - $(link).find('#cp-share-link-preview').val(getLinkValue({ - embed: Util.isChecked($(link).find('#cp-share-embed')) + $link.find('input[type="checkbox"]').on('change', function () { + $link.find('#cp-share-link-preview').val(getLinkValue({ + embed: Util.isChecked($link.find('#cp-share-embed')) })); }); @@ -1150,7 +1152,6 @@ define([ onFriendShare.reg(saveValue); // XXX Don't display access rights if no contacts - /// var contactsAccessRights = hasFriends ? createAccessRights('contact-rights') : ''; var contactsContent = h('div.cp-share-modal'); $(contactsContent).append(friendsList); @@ -1190,7 +1191,7 @@ define([ // update values for link preview when radio btns change $(embed).find('#cp-embed-link-preview').val(getEmbedValue()); - $(rights).find('input[type="radio"]').on('change', function () { + $rights.find('input[type="radio"]').on('change', function () { $(embed).find('#cp-embed-link-preview').val(getEmbedValue()); }); @@ -1227,41 +1228,41 @@ define([ // XXX // disable edit share options if you don't have edit rights if (!hashes.editHash) { - $(rights).find('#cp-share-editable-false').attr('checked', true); - $(rights).find('#cp-share-editable-true').removeAttr('checked').attr('disabled', true); + $rights.find('#cp-share-editable-false').attr('checked', true); + $rights.find('#cp-share-editable-true').removeAttr('checked').attr('disabled', true); } else if (!hashes.viewHash) { - $(rights).find('#cp-share-editable-false').removeAttr('checked').attr('disabled', true); - $(rights).find('#cp-share-present').removeAttr('checked').attr('disabled', true); - $(rights).find('#cp-share-editable-true').attr('checked', true); + $rights.find('#cp-share-editable-false').removeAttr('checked').attr('disabled', true); + $rights.find('#cp-share-present').removeAttr('checked').attr('disabled', true); + $rights.find('#cp-share-editable-true').attr('checked', true); } common.getAttribute(['general', 'share'], function (err, val) { val = val || {}; if (val.present && canPresent) { - $(rights).find('#cp-share-editable-false').prop('checked', false); - $(rights).find('#cp-share-editable-true').prop('checked', false); - $(rights).find('#cp-share-present').prop('checked', true); + $rights.find('#cp-share-editable-false').prop('checked', false); + $rights.find('#cp-share-editable-true').prop('checked', false); + $rights.find('#cp-share-present').prop('checked', true); } else if ((val.edit === false && hashes.viewHash) || !hashes.editHash) { - $(rights).find('#cp-share-editable-false').prop('checked', true); - $(rights).find('#cp-share-editable-true').prop('checked', false); - $(rights).find('#cp-share-present').prop('checked', false); + $rights.find('#cp-share-editable-false').prop('checked', true); + $rights.find('#cp-share-editable-true').prop('checked', false); + $rights.find('#cp-share-present').prop('checked', false); } else { - $(rights).find('#cp-share-editable-true').prop('checked', true); - $(rights).find('#cp-share-editable-false').prop('checked', false); - $(rights).find('#cp-share-present').prop('checked', false); + $rights.find('#cp-share-editable-true').prop('checked', true); + $rights.find('#cp-share-editable-false').prop('checked', false); + $rights.find('#cp-share-present').prop('checked', false); } delete val.embed; if (!canPresent) { delete val.present; } - $(link).find('#cp-share-link-preview').val(getLinkValue(val)); + $link.find('#cp-share-link-preview').val(getLinkValue(val)); }); common.getMetadataMgr().onChange(function () { // "hashes" is only available is the secure "share" app var _hashes = common.getMetadataMgr().getPrivateData().hashes; if (!_hashes) { return; } hashes = _hashes; - $(link).find('#cp-share-link-preview').val(getLinkValue()); + $link.find('#cp-share-link-preview').val(getLinkValue()); }); return modal; }; @@ -1300,7 +1301,8 @@ define([ onClick: function () { var v = getLinkValue(); var success = Clipboard.copy(v); - if (success) { UI.log(Messages.shareSuccess); } + if (success) { UI.log(Messages.shareSuccess); + } }, keys: [13] } diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js index 6b764e7a5..4c73a95a8 100644 --- a/www/common/drive-ui.js +++ b/www/common/drive-ui.js @@ -2559,7 +2559,6 @@ define([ var roParsed = Hash.parsePadUrl(data.roHref) || {}; if (!parsed.hash && !roParsed.hash) { return void console.error("Invalid href: "+(data.href || data.roHref)); } var friends = common.getFriends(); - var teams = common.getMetadataMgr().getPrivateData().teams; var ro = folders[id] && folders[id].version >= 2; var modal = UIElements.createShareModal({ teamId: APP.team, @@ -4049,7 +4048,6 @@ define([ el = manager.find(paths[0].path); var parsed, modal; var friends = common.getFriends(); - var teams = common.getMetadataMgr().getPrivateData().teams; if (manager.isFolder(el) && !manager.isSharedFolder(el)) { // Folder // if folder is inside SF diff --git a/www/common/toolbar3.js b/www/common/toolbar3.js index b6cb3c125..224f7eeb6 100644 --- a/www/common/toolbar3.js +++ b/www/common/toolbar3.js @@ -533,7 +533,7 @@ MessengerUI, Messages) { Common.getSframeChannel().event('EV_SHARE_OPEN', { hidden: true }); - $shareBlock.click(function () { + $shareBlock.click(function () { var title = (config.title && config.title.getTitle && config.title.getTitle()) || (config.title && config.title.defaultName) || ""; diff --git a/www/share/inner.js b/www/share/inner.js index d5e7428c8..f02af4b8b 100644 --- a/www/share/inner.js +++ b/www/share/inner.js @@ -38,8 +38,6 @@ define([ : UIElements.createShareModal; var friends = common.getFriends(); - var teams = priv.teams; - var _wide = Object.keys(friends).length || Object.keys(teams).length; var modal = f({ origin: origin,