diff --git a/res/app/components/stf/control/control-service.js b/res/app/components/stf/control/control-service.js index 5f9661e9..df964dc9 100644 --- a/res/app/components/stf/control/control-service.js +++ b/res/app/components/stf/control/control-service.js @@ -3,6 +3,8 @@ module.exports = function ControlServiceFactory( , $http , socket , TransactionService +, $rootScope +, gettext ) { var controlService = { } @@ -100,6 +102,24 @@ module.exports = function ControlServiceFactory( return sendTwoWay('clipboard.copy') } + //@TODO: Refactor this please + var that = this + this.getClipboardContent = function () { + that.copy().then(function (result) { + $rootScope.$apply(function () { + if (result.success) { + if (result.lastData) { + that.clipboardContent = result.lastData + } else { + that.clipboardContent = gettext('No clipboard data') + } + } else { + that.clipboardContent = gettext('Error while getting data') + } + }) + }) + } + this.shell = function(command) { return sendTwoWay('shell.command', { command: command diff --git a/res/app/components/stf/screen/screen-directive.js b/res/app/components/stf/screen/screen-directive.js index da7a2098..89c2ab91 100644 --- a/res/app/components/stf/screen/screen-directive.js +++ b/res/app/components/stf/screen/screen-directive.js @@ -115,6 +115,19 @@ module.exports = function DeviceScreenDirective($document, ScalingService, Vendo scope.control.paste(e.clipboardData.getData('text/plain')) } + function getTextDiffered() { + return 'new text' + 5 + } + + function copyListener(e) { + scope.control.getClipboardContent() + // @TODO: OK, this basically copies last clipboard content + if (scope.control.clipboardContent) { + e.clipboardData.setData("text/plain", scope.control.clipboardContent) + } + e.preventDefault() + } + scope.retryLoadingScreen = function () { if (scope.displayError === 'secure') { scope.control.home() @@ -225,6 +238,7 @@ module.exports = function DeviceScreenDirective($document, ScalingService, Vendo input.bind('keyup', keyupListener) input.bind('keypress', keypressListener) input.bind('paste', pasteListener) + input.bind('copy', copyListener) if (BrowserInfo.touch) { element.bind('touchstart', downListener) @@ -242,6 +256,7 @@ module.exports = function DeviceScreenDirective($document, ScalingService, Vendo input.unbind('keyup', keyupListener) input.unbind('keypress', keypressListener) input.unbind('paste', pasteListener) + input.unbind('copy', copyListener) if (BrowserInfo.touch) { element.unbind('touchstart', downListener) diff --git a/res/app/control-panes/dashboard/clipboard/clipboard-controller.js b/res/app/control-panes/dashboard/clipboard/clipboard-controller.js index 90aaaa92..896e8e9d 100644 --- a/res/app/control-panes/dashboard/clipboard/clipboard-controller.js +++ b/res/app/control-panes/dashboard/clipboard/clipboard-controller.js @@ -1,20 +1,21 @@ module.exports = function ClipboardCtrl($scope, gettext) { - $scope.clipboardContent = null - - $scope.getClipboardContent = function () { - - $scope.control.copy().then(function (result) { - $scope.$apply(function () { - if (result.success) { - if (result.lastData) { - $scope.clipboardContent = result.lastData - } else { - $scope.clipboardContent = gettext('No clipboard data') - } - } else { - $scope.clipboardContent = gettext('Error while getting data') - } - }) - }) - } +// $scope.clipboardContent = null +// +// $scope.getClipboardContent = function () { +// console.log('getting') +// +// $scope.control.copy().then(function (result) { +// $scope.$apply(function () { +// if (result.success) { +// if (result.lastData) { +// $scope.clipboardContent = result.lastData +// } else { +// $scope.clipboardContent = gettext('No clipboard data') +// } +// } else { +// $scope.clipboardContent = gettext('Error while getting data') +// } +// }) +// }) +// } } diff --git a/res/app/control-panes/dashboard/clipboard/clipboard.jade b/res/app/control-panes/dashboard/clipboard/clipboard.jade index 4cb391ac..876ee304 100644 --- a/res/app/control-panes/dashboard/clipboard/clipboard.jade +++ b/res/app/control-panes/dashboard/clipboard/clipboard.jade @@ -4,12 +4,7 @@ span(translate) Clipboard .widget-content.padded .input-group.form-inline - textarea(rows='1', ng-model='clipboardContent', msd-elastic).form-control.clipboard-textarea + textarea(rows='1', ng-model='control.clipboardContent', msd-elastic).form-control.clipboard-textarea span.input-group-btn - button.btn.btn-primary-outline(ng-click='getClipboardContent()') + button.btn.btn-primary-outline(ng-click='control.getClipboardContent()') i.fa.fa-refresh - - // .input-group.form-inline - //textarea.form-control(rows='1', ng-model='textType', ng-keydown='textTypeKeydown($event)' - //ng-focus='$parent.textTypeIsFocused = true', ng-blur='$parent.textTypeIsFocused = false', - //title='{{"Types text. Only ASCII characters are supported."|translate}}')