From b2366c4cd7b5c9fbb24bd70362be7072470ad598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 18 Jan 2018 12:01:12 -0300 Subject: [PATCH 1/2] REF: change copy to clipboard from complete logs to single line --- .../about/session-log/session-log.html | 2 +- .../settings/about/session-log/session-log.ts | 23 +++---------------- src/providers/profile/profile.ts | 2 +- 3 files changed, 5 insertions(+), 22 deletions(-) diff --git a/src/pages/settings/about/session-log/session-log.html b/src/pages/settings/about/session-log/session-log.html index 4f8cd0c09..c3b1b5979 100644 --- a/src/pages/settings/about/session-log/session-log.html +++ b/src/pages/settings/about/session-log/session-log.html @@ -17,7 +17,7 @@
-
+
[{{l.timestamp}}] [{{l.level}}] {{l.msg}} diff --git a/src/pages/settings/about/session-log/session-log.ts b/src/pages/settings/about/session-log/session-log.ts index e25924e58..bdb91ab04 100644 --- a/src/pages/settings/about/session-log/session-log.ts +++ b/src/pages/settings/about/session-log/session-log.ts @@ -1,9 +1,8 @@ import { Component } from '@angular/core'; -import { ActionSheetController, ToastController } from 'ionic-angular'; +import { ActionSheetController } from 'ionic-angular'; //native import { SocialSharing } from '@ionic-native/social-sharing'; -import { Clipboard } from '@ionic-native/clipboard'; //providers import { ConfigProvider } from '../../../../providers/config/config'; @@ -30,8 +29,6 @@ export class SessionLogPage { private logger: Logger, private socialSharing: SocialSharing, private actionSheetCtrl: ActionSheetController, - private clipboard: Clipboard, - private toastCtrl: ToastController, private platformProvider: PlatformProvider ) { this.config = this.configProvider.get(); @@ -75,15 +72,8 @@ export class SessionLogPage { return log; } - public copyToClipboard(): void { - let logs = this.prepareLogs(); - this.clipboard.copy(logs); - let copyMessage = 'Copied to clipboard' //TODO gettextcatalog - let showSuccess = this.toastCtrl.create({ - message: copyMessage, - duration: 1000, - }); - showSuccess.present(); + public copyLogToClipboard(l): any { + return '[' + l.timestamp + '][' + l.level + ']' + l.msg; } public sendLogs(): void { @@ -101,18 +91,11 @@ export class SessionLogPage { public showOptionsMenu(): void { - let copyText = 'Copy to clipboard' //TODO gettextcatalog let emailText = 'Send by email' //TODO gettextcatalog let actionSheet = this.actionSheetCtrl.create({ title: '', buttons: [ - { - text: copyText, - handler: () => { - this.copyToClipboard(); - } - }, { text: emailText, handler: () => { diff --git a/src/providers/profile/profile.ts b/src/providers/profile/profile.ts index 4cfb69716..dfc029b56 100644 --- a/src/providers/profile/profile.ts +++ b/src/providers/profile/profile.ts @@ -707,7 +707,7 @@ export class ProfileProvider { if (showOpts.extendedPrivateKey) showOpts.extendedPrivateKey = '[hidden]'; if (showOpts.mnemonic) showOpts.mnemonic = '[hidden]'; - this.logger.debug('Creating Wallet:', showOpts); + this.logger.debug('Creating Wallet:', JSON.stringify(showOpts)); setTimeout(() => { this.seedWallet(opts).then((walletClient: any) => { From 692b353b6c559556d23bce1e16f5df084cf32626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 18 Jan 2018 12:33:44 -0300 Subject: [PATCH 2/2] REF: remove single line copy to clipboard --- .../about/session-log/session-log.html | 4 +- .../settings/about/session-log/session-log.ts | 50 +++++++++++++++---- 2 files changed, 41 insertions(+), 13 deletions(-) diff --git a/src/pages/settings/about/session-log/session-log.html b/src/pages/settings/about/session-log/session-log.html index c3b1b5979..6e769877d 100644 --- a/src/pages/settings/about/session-log/session-log.html +++ b/src/pages/settings/about/session-log/session-log.html @@ -2,7 +2,7 @@ {{'Session Log' | translate}} - + @@ -17,7 +17,7 @@
-
+
[{{l.timestamp}}] [{{l.level}}] {{l.msg}} diff --git a/src/pages/settings/about/session-log/session-log.ts b/src/pages/settings/about/session-log/session-log.ts index bdb91ab04..bf39285c4 100644 --- a/src/pages/settings/about/session-log/session-log.ts +++ b/src/pages/settings/about/session-log/session-log.ts @@ -1,5 +1,7 @@ import { Component } from '@angular/core'; -import { ActionSheetController } from 'ionic-angular'; +import { DOCUMENT } from "@angular/platform-browser"; +import { Inject } from '@angular/core'; +import { ActionSheetController, ToastController } from 'ionic-angular'; //native import { SocialSharing } from '@ionic-native/social-sharing'; @@ -18,6 +20,7 @@ import * as _ from 'lodash'; export class SessionLogPage { private config: any; + private dom: Document; public logOptions: any; public filteredLogs: Array; @@ -25,12 +28,15 @@ export class SessionLogPage { public isCordova: boolean; constructor( + @Inject(DOCUMENT) dom: Document, private configProvider: ConfigProvider, private logger: Logger, private socialSharing: SocialSharing, private actionSheetCtrl: ActionSheetController, + private toastCtrl: ToastController, private platformProvider: PlatformProvider ) { + this.dom = dom; this.config = this.configProvider.get(); this.isCordova = this.platformProvider.isCordova; let logLevels: any = this.logger.getLevels(); @@ -72,8 +78,18 @@ export class SessionLogPage { return log; } - public copyLogToClipboard(l): any { - return '[' + l.timestamp + '][' + l.level + ']' + l.msg; + private copyToClipboard() { + let textarea = this.dom.createElement('textarea'); + this.dom.body.appendChild(textarea); + textarea.value = this.prepareLogs(); + textarea.select(); + this.dom.execCommand('copy'); + let message = 'Copied to clipboard' //TODO gettextcatalog + let showSuccess = this.toastCtrl.create({ + message: message, + duration: 1000, + }); + showSuccess.present(); } public sendLogs(): void { @@ -91,18 +107,30 @@ export class SessionLogPage { public showOptionsMenu(): void { + let copyText = 'Copy to clipboard' //TODO gettextcatalog let emailText = 'Send by email' //TODO gettextcatalog + let button = []; + + if (this.isCordova) { + button = [{ + text: emailText, + handler: () => { + this.sendLogs() + } + }]; + } + else { + button = [{ + text: copyText, + handler: () => { + this.copyToClipboard(); + } + }]; + } let actionSheet = this.actionSheetCtrl.create({ title: '', - buttons: [ - { - text: emailText, - handler: () => { - this.sendLogs() - } - } - ] + buttons: button }); actionSheet.present(); }