mirror of
https://github.com/openstf/stf
synced 2025-10-04 10:19:30 +02:00
- Adding Help page back.
- Adding Settings page back.
This commit is contained in:
parent
d61a70fda5
commit
7f6fa763fb
13 changed files with 249 additions and 2 deletions
|
@ -8,7 +8,9 @@ angular.module('app', [
|
|||
'gettext',
|
||||
require('./layout').name,
|
||||
require('./device-list').name,
|
||||
require('./device-control').name
|
||||
require('./device-control').name,
|
||||
require('./settings').name,
|
||||
require('./help').name
|
||||
])
|
||||
.config(['$routeProvider', '$locationProvider',
|
||||
function ($routeProvider, $locationProvider) {
|
||||
|
|
6
res/app/components/stf/settings/index.js
Normal file
6
res/app/components/stf/settings/index.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
require('angular-localForage')
|
||||
|
||||
module.exports = angular.module('stf/settings', [
|
||||
'LocalForageModule'
|
||||
])
|
||||
.factory('SettingsService', require('./settings-service'))
|
6
res/app/components/stf/settings/settings-service.js
Normal file
6
res/app/components/stf/settings/settings-service.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
module.exports = function SettingsServiceFactory($rootScope, $localForage) {
|
||||
|
||||
|
||||
|
||||
return $localForage
|
||||
}
|
11
res/app/help/help-controller.js
Normal file
11
res/app/help/help-controller.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
module.exports = function HelpCtrl($scope) {
|
||||
$scope.links = {
|
||||
manualBasic: '/manual-basic/',
|
||||
manualAdvanced: '/manual-advanced/',
|
||||
wiki: 'http://amewiki.cadc.cyberagent.local/display/STF',
|
||||
chat: 'https://cyberagent.hipchat.com/chat?focus_jid=44808_stf@conf.hipchat.com',
|
||||
tracker: 'http://jira.amb.ca.local/browse/STF',
|
||||
feedback: 'http://jira.amb.ca.local/secure/CreateIssueDetails!init.jspa?pid=10521&issuetype=14&summary=STF%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B&description=%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E5%86%85%E5%AE%B9%E3%81%AF%E3%82%B3%E3%82%B3%E3%81%AB%E8%A8%98%E8%BC%89%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84',
|
||||
mail: 'stf@cyberagent.co.jp'
|
||||
}
|
||||
}
|
78
res/app/help/help.jade
Normal file
78
res/app/help/help.jade
Normal file
|
@ -0,0 +1,78 @@
|
|||
.container-fluid.main-content
|
||||
.page-title
|
||||
//h1
|
||||
| Help
|
||||
ul.timeline
|
||||
li
|
||||
.timeline-time
|
||||
strong 使い方が知りたい
|
||||
| どうやって使うの?
|
||||
.timeline-icon
|
||||
.bg-primary
|
||||
i.fa.fa-book
|
||||
.timeline-content
|
||||
h2 マニュアル
|
||||
p マニュアルはBasicとAdvancedに分かれています。
|
||||
p <strong>Basic</strong>は誰でも使える機能の説明になります。
|
||||
p <strong>Advanced</strong>はエンジニア向けの高度な機能の説明になります。
|
||||
p 最新の情報は<strong>コンフルスペース</strong>になります
|
||||
a(ng-href='{{links.manualAdvanced}}', target='_blank', role='button').btn.btn-danger.pull-right
|
||||
i.fa.fa-book
|
||||
| Advanced
|
||||
a(ng-href='{{links.manualBasic}}', target='_blank', role='button').btn.btn-danger.pull-right
|
||||
i.fa.fa-book
|
||||
| Basic
|
||||
a(ng-href='{{links.wiki}}', target='_blank', role='button').btn.btn-primary
|
||||
i.fa.fa-book
|
||||
| コンフルスペース
|
||||
.clearfix
|
||||
li
|
||||
.timeline-time
|
||||
strong 使い方、機能追加、一般な問い合わせ
|
||||
| 新しい機能が欲しい
|
||||
.timeline-icon
|
||||
.bg-warning
|
||||
i.fa.fa-ticket
|
||||
.timeline-content
|
||||
h2 お問い合わせ
|
||||
p お問い合わせはJIRAになります。
|
||||
p 質問や疑問、改善や機能追加などの要望は大歓迎です。
|
||||
p メールでも問い合わせが可能です。
|
||||
a(ng-href='{{links.feedback}}', target='_blank', role='button').btn.btn-warning
|
||||
i.fa.fa-ticket
|
||||
| JIRAでお問い合わせ
|
||||
a(ng-href='mailto:{{links.mail}}', role='button').btn.btn-default
|
||||
i.fa.fa-envelope
|
||||
| メールでお問い合わせ
|
||||
|
||||
li
|
||||
.timeline-time
|
||||
strong デバイスが今落ちた、よく分からない助けて
|
||||
| 今すぐ聞きたい
|
||||
.timeline-icon
|
||||
.bg-info
|
||||
i.fa.fa-comments
|
||||
.timeline-content
|
||||
h2 チャットお問い合わせ
|
||||
p リアルタイムお問い合わせはHipChatのSTFルームになります。
|
||||
p 質問や疑問、改善や機能追加などの要望は大歓迎です。
|
||||
a(ng-href='{{links.chat}}', target='_blank', role='button').btn.btn-info.pull-right
|
||||
i.fa.fa-comments
|
||||
| HipChatでお問い合わせ
|
||||
.clearfix
|
||||
li
|
||||
.timeline-time
|
||||
strong バグを見つかった
|
||||
| あのバグどうなっている?
|
||||
.timeline-icon
|
||||
.bg-success
|
||||
i.fa.fa-bug
|
||||
.timeline-content
|
||||
h2 バグトラッカー
|
||||
p プロジェクトのチケットトラッカーはこちらのJIRAになります。
|
||||
p バグや機能のトラッカーです。
|
||||
a(ng-href='{{links.tracker}}', target='_blank', role='button').btn.btn-success
|
||||
i.fa.fa-bug
|
||||
| JIRAチケット
|
||||
|
||||
|
8
res/app/help/index.js
Normal file
8
res/app/help/index.js
Normal file
|
@ -0,0 +1,8 @@
|
|||
module.exports = angular.module('help', [])
|
||||
.config(['$routeProvider', function ($routeProvider) {
|
||||
$routeProvider.when('/help', {
|
||||
template: require('./help.jade'),
|
||||
controller: 'HelpCtrl'
|
||||
})
|
||||
}])
|
||||
.controller('HelpCtrl', require('./help-controller'))
|
|
@ -1,3 +1,2 @@
|
|||
module.exports = function LayoutCtrl($scope) {
|
||||
|
||||
}
|
||||
|
|
9
res/app/settings/index.js
Normal file
9
res/app/settings/index.js
Normal file
|
@ -0,0 +1,9 @@
|
|||
module.exports = angular.module('ui-settings', [
|
||||
require('./language').name
|
||||
])
|
||||
.config(['$routeProvider', function ($routeProvider) {
|
||||
$routeProvider.when('/settings', {
|
||||
template: require('./settings.jade')
|
||||
})
|
||||
}])
|
||||
//.controller('SettingsCtrl', require('./settings-controller'))
|
9
res/app/settings/language/index.js
Normal file
9
res/app/settings/language/index.js
Normal file
|
@ -0,0 +1,9 @@
|
|||
module.exports = angular.module('stf-ui-language', [
|
||||
// require('stf/settings').name
|
||||
])
|
||||
.run(["$templateCache", function($templateCache) {
|
||||
$templateCache.put('language.jade', require('./language.jade'))
|
||||
}])
|
||||
.factory('LanguageService', require('./language-service'))
|
||||
.controller('LanguageCtrl', require('./language-controller'))
|
||||
|
21
res/app/settings/language/language-controller.js
Normal file
21
res/app/settings/language/language-controller.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
module.exports = function LanguageCtrl($scope, LanguageService, SettingsService) { //gettextCatalog,
|
||||
// SettingsService.sync($scope, 'Language', {
|
||||
// language: LanguageService.detectedLanguage
|
||||
// })
|
||||
|
||||
//SettingsService.set('')
|
||||
console.log('hey')
|
||||
|
||||
|
||||
//SettingsService.set('valueCrazy', 35)
|
||||
//SettingsService.set('valueCrazyNew', {one: 1, two: 35.3, three: '日本語', four: [1, 2, 3, 4]})
|
||||
|
||||
//console.log('he')
|
||||
//console.log(SettingsService.get('valueCrazy'))
|
||||
|
||||
// $scope.$watch('language', function (newValue) {
|
||||
// gettextCatalog.currentLanguage = newValue
|
||||
// })
|
||||
//
|
||||
// $scope.supportedLanguages = LanguageService.supportedLanguages
|
||||
}
|
25
res/app/settings/language/language-service.js
Normal file
25
res/app/settings/language/language-service.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
//var _ = require('lodash')
|
||||
|
||||
module.exports = function LanguageServiceFactory() {
|
||||
alert('he')
|
||||
|
||||
var LanguageService = {}
|
||||
|
||||
LanguageService.supportedLanguages = [
|
||||
{code: 'en', name: 'English'},
|
||||
{code: 'ja', name: '日本語'}
|
||||
]
|
||||
|
||||
var browserLocale = navigator.language || navigator.userLanguage || 'en-US'
|
||||
var browserLanguage = browserLocale.substring(0, 2)
|
||||
var detectedLanguage = _.some(LanguageService.supportedLanguages, {code: browserLanguage}) ? browserLanguage : 'en'
|
||||
var defaultLanguage = 'ja'
|
||||
LanguageService.detectedLanguage = defaultLanguage
|
||||
LanguageService.selectedLanguage = defaultLanguage
|
||||
|
||||
LanguageService.getSelectedLanguage = function () {
|
||||
return LanguageService.selectedLanguage = defaultLanguage //WebStorage.get('Language.language') || defaultLanguage
|
||||
}
|
||||
|
||||
return LanguageService
|
||||
}
|
8
res/app/settings/language/language.jade
Normal file
8
res/app/settings/language/language.jade
Normal file
|
@ -0,0 +1,8 @@
|
|||
.widget-container.fluid-height
|
||||
.heading
|
||||
i.fa.fa-flag
|
||||
span(translate) Language
|
||||
.widget-content.padded
|
||||
.form-horizontal
|
||||
.form-group
|
||||
select.form-control(ng-model='language', ng-options='l.code as l.name for l in supportedLanguages')
|
65
res/app/settings/settings.jade
Normal file
65
res/app/settings/settings.jade
Normal file
|
@ -0,0 +1,65 @@
|
|||
div(pane='center')
|
||||
.row
|
||||
.col-md-4
|
||||
.widget-container.fluid-height
|
||||
.heading
|
||||
i.fa.fa-save
|
||||
span(translate) Local storage
|
||||
.widget-content.padded
|
||||
button(ng-click='resetSettings()').btn.btn-danger
|
||||
i.fa.fa-trash-o
|
||||
span(translate) Reset Settings
|
||||
.col-md-4
|
||||
div(ng-include='"language.jade"')
|
||||
.col-md-4
|
||||
.widget-container.fluid-height
|
||||
.heading
|
||||
i.fa.fa-exclamation-circle
|
||||
span(translate) Notifications
|
||||
.widget-content.padded
|
||||
label.checkbox
|
||||
input(type='checkbox', ng-model='notificationsEnabled', ng-click='enableNotifications()', disabled)
|
||||
span(translate) Enable notifications
|
||||
|
||||
.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
|
Loading…
Add table
Add a link
Reference in a new issue