diff --git a/res/app/control-panes/advanced/advanced.jade b/res/app/control-panes/advanced/advanced.jade index 824f8775..10e5b78d 100644 --- a/res/app/control-panes/advanced/advanced.jade +++ b/res/app/control-panes/advanced/advanced.jade @@ -3,3 +3,5 @@ div(ng-include='"control-panes/advanced/run-js/run-js.jade"') .col-md-6 div(ng-include='"control-panes/advanced/input/input.jade"') + .col-md-6 + div(ng-include='"control-panes/advanced/port-forwarding/port-forwarding.jade"') diff --git a/res/app/control-panes/advanced/index.js b/res/app/control-panes/advanced/index.js index 462096a9..306d9eeb 100644 --- a/res/app/control-panes/advanced/index.js +++ b/res/app/control-panes/advanced/index.js @@ -3,7 +3,8 @@ require('./advanced.css') module.exports = angular.module('stf.advanced', [ require('./input').name, require('./run-js').name, - require('./usb').name + require('./usb').name, + require('./port-forwarding').name ]) .run(["$templateCache", function ($templateCache) { $templateCache.put('control-panes/advanced/advanced.jade', diff --git a/res/app/control-panes/advanced/port-forwarding/index.js b/res/app/control-panes/advanced/port-forwarding/index.js new file mode 100644 index 00000000..4478bff1 --- /dev/null +++ b/res/app/control-panes/advanced/port-forwarding/index.js @@ -0,0 +1,11 @@ +require('./port-forwarding.css') + +module.exports = angular.module('stf.port-forwarding', [ +]) + .run(["$templateCache", function ($templateCache) { + $templateCache.put( + 'control-panes/advanced/port-forwarding/port-forwarding.jade', + require('./port-forwarding.jade') + ) + }]) + .controller('PortForwardingCtrl', require('./port-forwarding-controller')) diff --git a/res/app/control-panes/advanced/port-forwarding/port-forwarding-controller.js b/res/app/control-panes/advanced/port-forwarding/port-forwarding-controller.js new file mode 100644 index 00000000..087d0131 --- /dev/null +++ b/res/app/control-panes/advanced/port-forwarding/port-forwarding-controller.js @@ -0,0 +1,21 @@ +module.exports = function PortForwardingCtrl($scope, ngTableParams) { + + $scope.portSets = [ + { + targetHost: '', + targetPort: '', + devicePort: '' + } + ] + + $scope.portsTable = new ngTableParams({ + }, { + counts: [], + total: 1, + getData: function ($defer, params) { + var data = $scope.portSets + + $defer.resolve(data); + } + }) +} diff --git a/res/app/control-panes/advanced/port-forwarding/port-forwarding-spec.js b/res/app/control-panes/advanced/port-forwarding/port-forwarding-spec.js new file mode 100644 index 00000000..6945e9af --- /dev/null +++ b/res/app/control-panes/advanced/port-forwarding/port-forwarding-spec.js @@ -0,0 +1,17 @@ +describe('PortForwardingCtrl', function () { + + beforeEach(module('stf.port-forwarding')); + + var scope, ctrl; + + beforeEach(inject(function ($rootScope, $controller) { + scope = $rootScope.$new(); + ctrl = $controller('PortForwardingCtrl', {$scope: scope}); + })); + + it('should ...', inject(function () { + expect(1).toEqual(1); + + })); + +}); \ No newline at end of file diff --git a/res/app/control-panes/advanced/port-forwarding/port-forwarding.css b/res/app/control-panes/advanced/port-forwarding/port-forwarding.css new file mode 100644 index 00000000..aa0922ac --- /dev/null +++ b/res/app/control-panes/advanced/port-forwarding/port-forwarding.css @@ -0,0 +1,3 @@ +.stf-port-forwarding { + +} \ No newline at end of file diff --git a/res/app/control-panes/advanced/port-forwarding/port-forwarding.jade b/res/app/control-panes/advanced/port-forwarding/port-forwarding.jade new file mode 100644 index 00000000..189697c4 --- /dev/null +++ b/res/app/control-panes/advanced/port-forwarding/port-forwarding.jade @@ -0,0 +1,39 @@ +.widget-container.fluid-height.stf-port-forwarding(ng-controller='PortForwardingCtrl') + .heading + i.fa.fa-random + span(translate) Port forwarding + + button(ng-click='forwarding = !forwarding', ng-class="{active: forwarding}").btn.btn-primary.btn-xs.pull-right + i.fa(ng-class="{'fa-arrow-circle-right': !forwarding, 'fa-times-circle': forwarding}") + span(ng-show='forwarding', translate) Unforward Ports + span(ng-hide='forwarding', translate) Forward Ports + .widget-content.padded + + + table(ng-table='portsTable').table + thead + tr + th + div {{"Target IP / Hostname"|translate}} + th + div {{"Target Port"|translate}} + th + div {{"Device Port"|translate}} + tbody + tr(ng-repeat='result in $data') + td(data-title="'Target IP / Hostname'") + input(type='text', ng-model='result.targetHost', placeholder='{{"Target host (detect if blank)"|translate}}') + td(data-title="'Target Port'") + input(type='number', ng-model='result.targetPort', ng-change='targetPortChanged(result)', placeholder='{{"Example: 3000"|translate}}') + td(data-title="'Device Port'") + input(type='number', ng-model='result.devicePort', placeholder='{{"Example: 3000"|translate}}') + //td(titlew) + + table(ng-table='deviceStatusTable', ng-hide='!devicesStatus.length').table + tr(ng-repeat='result in $data') + td(title="'Device'") + p {{ result.deviceId }} + td(title="'Reachable'") + i(ng-class="{'text-status-on': result.value.connectable, 'text-status-off': !result.value.connectable}").fa.fa-circle + td(title="'Connected'") + i(ng-class="{'text-status-on': result.value.connected, 'text-status-off': !result.value.connected}").fa.fa-circle diff --git a/res/app/control-panes/device-control/device-control.jade b/res/app/control-panes/device-control/device-control.jade index 9ea4b7d3..ce60e8aa 100644 --- a/res/app/control-panes/device-control/device-control.jade +++ b/res/app/control-panes/device-control/device-control.jade @@ -18,7 +18,7 @@ i(ng-show='showScreen', tooltip-html-unsafe='{{"Just control device"|translate}}
⌘-⇧-O', tooltip-placement='left').fa.fa-eye i(ng-show='!showScreen', tooltip-html-unsafe='{{"View device"|translate}}
⌘-⇧-O', tooltip-placement='left').fa.fa-eye-slash - .device-name-containerX + .device-name-container a.stf-vnc-device-name.pointer.unselectable.dropdown-toggle p .device-small-image diff --git a/res/app/settings/settings.jade b/res/app/settings/settings.jade index 4a5f2d0e..104a0020 100644 --- a/res/app/settings/settings.jade +++ b/res/app/settings/settings.jade @@ -6,46 +6,3 @@ div(pane='center') div(ng-include='"settings/language/language.jade"') .col-md-4 div(ng-include='"settings/notifications/notifications.jade"') - - //.row //(ng-controller='PortForwardingCtrl') - .col-md-12 - .widget-container.fluid-height - .heading - i.fa.fa-arrow-circle-o-right - span(translate) Reverse Port Forwarding - .widget-content.padded - div //(ng-controller='PortForwardingCtrl') - .xcol-md-6 - //label.checkbox - input(type='checkbox', ng-model='autoPortForwarding', ng-disabled='true') - span Auto-enable reverse port forwarding on connect - table(ng-table='portsTable').table - thead - tr - th - div {{"Target IP / Hostname"|translate}} - th - div {{"Target Port"|translate}} - th - div {{"Device Port"|translate}} - tbody - tr(ng-repeat='result in $data') - td(data-title="'Target IP / Hostname'") - input(type='text', ng-model='result.targetHost', placeholder='{{"Target host (detect if blank)"|translate}}') - td(data-title="'Target Port'") - input(type='number', ng-model='result.targetPort', ng-change='targetPortChanged(result)', placeholder='{{"Example: 3000"|translate}}') - td(data-title="'Device Port'") - input(type='number', ng-model='result.devicePort', placeholder='{{"Example: 3000"|translate}}') - //td(titlew) - button(ng-click='forwarding = !forwarding', ng-class="{active: forwarding}").btn.btn-primary - i.fa(ng-class="{'fa-arrow-circle-right': !forwarding, 'fa-times-circle': forwarding}") - span(ng-show='forwarding', translate) Unforward Ports - span(ng-hide='forwarding', translate) Forward Ports - table(ng-table='deviceStatusTable', ng-hide='!devicesStatus.length').table - tr(ng-repeat='result in $data') - td(title="'Device'") - p {{ result.deviceId }} - td(title="'Reachable'") - i(ng-class="{'text-status-on': result.value.connectable, 'text-status-off': !result.value.connectable}").fa.fa-circle - td(title="'Connected'") - i(ng-class="{'text-status-on': result.value.connected, 'text-status-off': !result.value.connected}").fa.fa-circle