From 5ccf581e1ea3e166baa5fab53f56b5241c3c2edb Mon Sep 17 00:00:00 2001 From: Bianca Nenciu Date: Thu, 23 Aug 2018 22:27:08 +0200 Subject: [PATCH] UX: Improve copying from IP lookup component. - Removed trailing whitespaces caused by textarea. - Clicking the Copy button will show "copied" for 2 seconds. --- app/assets/javascripts/admin/components/ip-lookup.js.es6 | 9 ++++++--- .../discourse/templates/components/ip-lookup.hbs | 6 +++++- config/locales/client.en.yml | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/admin/components/ip-lookup.js.es6 b/app/assets/javascripts/admin/components/ip-lookup.js.es6 index f376007af00..4717b365028 100644 --- a/app/assets/javascripts/admin/components/ip-lookup.js.es6 +++ b/app/assets/javascripts/admin/components/ip-lookup.js.es6 @@ -88,10 +88,13 @@ export default Ember.Component.extend({ text += `: ${location.phone}\n`; } } - const copyRange = $(``); - copyRange.text(text); + const copyRange = $('

'); + copyRange.html(text.trim().replace("\n", "
")); $(document.body).append(copyRange); - copyText(text, copyRange[0]); + if (copyText(text, copyRange[0])) { + this.set("copied", true); + Ember.run.later(() => this.set("copied", false), 2000); + } copyRange.remove(); }, diff --git a/app/assets/javascripts/discourse/templates/components/ip-lookup.hbs b/app/assets/javascripts/discourse/templates/components/ip-lookup.hbs index d63f71375c4..969d6ef8106 100644 --- a/app/assets/javascripts/discourse/templates/components/ip-lookup.hbs +++ b/app/assets/javascripts/discourse/templates/components/ip-lookup.hbs @@ -6,7 +6,11 @@ {{#if show}}
{{d-icon "times"}} - {{d-icon "copy"}} + {{#if copied}} + {{d-icon "copy"}} {{i18n "ip_lookup.copied"}} + {{else}} + {{d-icon "copy"}} + {{/if}}

{{i18n 'ip_lookup.title'}}

{{{i18n 'ip_lookup.powered_by'}}}

diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 4ec9c51a95a..32bb849b995 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -597,6 +597,7 @@ en: post_count: "# posts" confirm_delete_other_accounts: "Are you sure you want to delete these accounts?" powered_by: "powered by ipinfo.io" + copied: "copied" user_fields: none: "(select an option)"