mirror of
https://github.com/openstf/stf
synced 2025-10-03 17:59:28 +02:00
- Add Local settings.
- Add Language settings synced back.
This commit is contained in:
parent
710a5daeab
commit
eaaf6a36bd
11 changed files with 137 additions and 50 deletions
|
@ -12,7 +12,6 @@
|
||||||
"Snap.svg": "~0.2.0",
|
"Snap.svg": "~0.2.0",
|
||||||
"angular-localForage": "~0.0.2",
|
"angular-localForage": "~0.0.2",
|
||||||
"ng-table": "~0.3.1",
|
"ng-table": "~0.3.1",
|
||||||
"angular-ui-bootstrap": "~0.10.0",
|
|
||||||
"jquery.terminal": "~0.8.4",
|
"jquery.terminal": "~0.8.4",
|
||||||
"stf-site": "git@ghe.amb.ca.local:stf/stf-site.git",
|
"stf-site": "git@ghe.amb.ca.local:stf/stf-site.git",
|
||||||
"angular-gettext": "~0.2.5",
|
"angular-gettext": "~0.2.5",
|
||||||
|
@ -20,7 +19,9 @@
|
||||||
"ui-bootstrap-alerts": "~0.1.5",
|
"ui-bootstrap-alerts": "~0.1.5",
|
||||||
"angular-sanitize": "~1.2.14",
|
"angular-sanitize": "~1.2.14",
|
||||||
"requirejs": "~2.1.11",
|
"requirejs": "~2.1.11",
|
||||||
"stf-graphics": "git@ghe.amb.ca.local:stf/stf-graphics.git"
|
"stf-graphics": "git@ghe.amb.ca.local:stf/stf-graphics.git",
|
||||||
|
"angular-bootstrap": "~0.10.0",
|
||||||
|
"angular-dialog-service": "~3.1.0"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
|
|
|
@ -6,7 +6,8 @@ var webpackOptions = require('../../webpack.config.js')
|
||||||
|
|
||||||
var overrideOptions = {
|
var overrideOptions = {
|
||||||
debug: true,
|
debug: true,
|
||||||
devtool: 'eval'
|
devtool: 'source-map'
|
||||||
|
//devtool: 'eval'
|
||||||
}
|
}
|
||||||
|
|
||||||
var finalOptions = _.assign(webpackOptions, overrideOptions)
|
var finalOptions = _.assign(webpackOptions, overrideOptions)
|
||||||
|
|
|
@ -4,4 +4,7 @@ require('angular-localForage')
|
||||||
module.exports = angular.module('stf/settings', [
|
module.exports = angular.module('stf/settings', [
|
||||||
'LocalForageModule'
|
'LocalForageModule'
|
||||||
])
|
])
|
||||||
|
.config(['$localForageProvider', function ($localForageProvider) {
|
||||||
|
$localForageProvider.setPrefix('stf.v0');
|
||||||
|
}])
|
||||||
.factory('SettingsService', require('./settings-service'))
|
.factory('SettingsService', require('./settings-service'))
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
module.exports = angular.module('ui-settings', [
|
module.exports = angular.module('ui-settings', [
|
||||||
|
require('./local').name,
|
||||||
require('./language').name
|
require('./language').name
|
||||||
])
|
])
|
||||||
.config(['$routeProvider', function ($routeProvider) {
|
.config(['$routeProvider', function ($routeProvider) {
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
module.exports = function ($scope, LanguageService, SettingsService) { //gettextCatalog,
|
module.exports = function ($scope, LanguageService, SettingsService) {
|
||||||
// SettingsService.sync($scope, 'Language', {
|
// SettingsService.sync($scope, 'Language', {
|
||||||
// language: LanguageService.detectedLanguage
|
// language: LanguageService.detectedLanguage
|
||||||
// })
|
// })
|
||||||
|
|
||||||
//SettingsService.set('')
|
// SettingsService.bind($scope, {
|
||||||
|
// key: 'language',
|
||||||
|
// defaultValue: LanguageService.selectedLanguage
|
||||||
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
|
LanguageService.getSelectedLanguage().then(function (data) {
|
||||||
|
$scope.language = data
|
||||||
|
console.log('real', data)
|
||||||
|
})
|
||||||
|
|
||||||
|
$scope.$watch('language', function (newValue, oldValue) {
|
||||||
|
if (newValue !== oldValue) {
|
||||||
|
LanguageService.setSelectedLanguage(newValue)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
$scope.supportedLanguages = LanguageService.supportedLanguages
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,56 @@
|
||||||
//var _ = require('lodash')
|
var _ = require('lodash')
|
||||||
|
|
||||||
module.exports = function LanguageServiceFactory() {
|
module.exports = function LanguageServiceFactory(SettingsService, $q, gettextCatalog) {
|
||||||
// var LanguageService = {}
|
var LanguageService = {}
|
||||||
//
|
|
||||||
// LanguageService.supportedLanguages = [
|
LanguageService.supportedLanguages = [
|
||||||
// {code: 'en', name: 'English'},
|
{code: 'en', name: 'English'},
|
||||||
// {code: 'ja', name: '日本語'}
|
{code: 'ja', name: '日本語'}
|
||||||
// ]
|
]
|
||||||
//
|
|
||||||
// var browserLocale = navigator.language || navigator.userLanguage || 'en-US'
|
var browserLocale = navigator.language || navigator.userLanguage || 'en-US'
|
||||||
// var browserLanguage = browserLocale.substring(0, 2)
|
var browserLanguage = browserLocale.substring(0, 2)
|
||||||
// var detectedLanguage = _.some(LanguageService.supportedLanguages, {code: browserLanguage}) ? browserLanguage : 'en'
|
var detectedLanguage = _.some(LanguageService.supportedLanguages, {code: browserLanguage}) ? browserLanguage : 'en'
|
||||||
// var defaultLanguage = 'ja'
|
var defaultLanguage = 'ja'
|
||||||
// LanguageService.detectedLanguage = defaultLanguage
|
LanguageService.detectedLanguage = defaultLanguage
|
||||||
// LanguageService.selectedLanguage = defaultLanguage
|
LanguageService.selectedLanguage = null
|
||||||
//
|
|
||||||
// LanguageService.getSelectedLanguage = function () {
|
// TODO: Can't this be refactored to something like this?
|
||||||
// return LanguageService.selectedLanguage = defaultLanguage //WebStorage.get('Language.language') || defaultLanguage
|
// SettingsService.sync(LanguageService.selectedLanguage, 'Language', {
|
||||||
// }
|
// selected: LanguageService.detectedLanguage
|
||||||
//
|
// })
|
||||||
// return LanguageService
|
|
||||||
|
LanguageService.getSelectedLanguage = function () {
|
||||||
|
var deferred = $q.defer()
|
||||||
|
if (LanguageService.selectedLanguage) {
|
||||||
|
deferred.resolve(LanguageService.selectedLanguage)
|
||||||
|
} else {
|
||||||
|
SettingsService.get('Language.selected').then(function (data) {
|
||||||
|
if (data) {
|
||||||
|
deferred.resolve(data)
|
||||||
|
} else {
|
||||||
|
LanguageService.setSelectedLanguage(LanguageService.detectedLanguage).then(function () {
|
||||||
|
deferred.resolve(LanguageService.detectedLanguage)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return deferred.promise
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize gettextCatalog
|
||||||
|
LanguageService.getSelectedLanguage()
|
||||||
|
|
||||||
|
|
||||||
|
LanguageService.setSelectedLanguage = function (lang) {
|
||||||
|
var deferred = $q.defer()
|
||||||
|
LanguageService.selectedLanguage = lang
|
||||||
|
gettextCatalog.currentLanguage = lang
|
||||||
|
SettingsService.set('Language.selected', lang).then(function () {
|
||||||
|
deferred.resolve(lang)
|
||||||
|
})
|
||||||
|
return deferred.promise
|
||||||
|
}
|
||||||
|
|
||||||
|
return LanguageService
|
||||||
}
|
}
|
||||||
|
|
13
res/app/settings/local/index.js
Normal file
13
res/app/settings/local/index.js
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
require('angular-bootstrap')
|
||||||
|
require('angular-dialog-service/dialogs')
|
||||||
|
require('angular-dialog-service/dialogs.css')
|
||||||
|
|
||||||
|
module.exports = angular.module('ui-local-settings', [
|
||||||
|
require('stf/settings').name,
|
||||||
|
'ui.bootstrap',
|
||||||
|
//'dialogs'
|
||||||
|
])
|
||||||
|
.run(["$templateCache", function ($templateCache) {
|
||||||
|
$templateCache.put('settings/local/local-settings.jade', require('./local-settings.jade'))
|
||||||
|
}])
|
||||||
|
.controller('LocalSettingsCtrl', require('./local-settings-controller'))
|
24
res/app/settings/local/local-settings-controller.js
Normal file
24
res/app/settings/local/local-settings-controller.js
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
module.exports = function ($scope, SettingsService) {
|
||||||
|
|
||||||
|
$scope.resetSettings = function () {
|
||||||
|
SettingsService.clearAll()
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.savedTo = SettingsService.getDriver()
|
||||||
|
|
||||||
|
// $scope.resetSettings = function () {
|
||||||
|
// var title = 'Reset Settings';
|
||||||
|
// var msg = 'Are you sure you want to revert all settings to their default values?';
|
||||||
|
// var btns = [
|
||||||
|
// {result: 'cancel', label: 'Cancel'},
|
||||||
|
// {result: 'ok', label: 'OK', cssClass: 'btn-primary'}
|
||||||
|
// ];
|
||||||
|
// $dialog.messageBox(title, msg, btns)
|
||||||
|
// .open()
|
||||||
|
// .then(function (result) {
|
||||||
|
// if (result === 'ok') {
|
||||||
|
// //SettingsService.clearAll();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// };
|
||||||
|
}
|
11
res/app/settings/local/local-settings.jade
Normal file
11
res/app/settings/local/local-settings.jade
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
.widget-container.fluid-height(ng-controller='LocalSettingsCtrl')
|
||||||
|
.heading
|
||||||
|
i.fa.fa-save
|
||||||
|
span(translate) Local Settings
|
||||||
|
.widget-content.padded
|
||||||
|
button(ng-click='resetSettings()').btn.btn-danger
|
||||||
|
i.fa.fa-trash-o
|
||||||
|
span(translate) Reset Settings
|
||||||
|
|
||||||
|
p
|
||||||
|
span.text-muted(translate) Saved to: {{savedTo}}
|
|
@ -1,14 +1,7 @@
|
||||||
div(pane='center')
|
div(pane='center')
|
||||||
.row
|
.row
|
||||||
.col-md-4
|
.col-md-4
|
||||||
.widget-container.fluid-height
|
div(ng-include='"settings/local/local-settings.jade"')
|
||||||
.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
|
.col-md-4
|
||||||
div(ng-include='"settings/language/language.jade"')
|
div(ng-include='"settings/language/language.jade"')
|
||||||
.col-md-4
|
.col-md-4
|
||||||
|
|
|
@ -18,6 +18,7 @@ module.exports = {
|
||||||
'./node_modules'
|
'./node_modules'
|
||||||
],
|
],
|
||||||
alias: {
|
alias: {
|
||||||
|
'angular-bootstrap': 'angular-bootstrap/ui-bootstrap-tpls',
|
||||||
'localforage': 'localforage/dist/localforage.js',
|
'localforage': 'localforage/dist/localforage.js',
|
||||||
'socket.io': 'socket.io-client/dist/socket.io',
|
'socket.io': 'socket.io-client/dist/socket.io',
|
||||||
'oboe': 'oboe/dist/oboe-browser'
|
'oboe': 'oboe/dist/oboe-browser'
|
||||||
|
@ -39,7 +40,9 @@ module.exports = {
|
||||||
{ test: /angular\.js/, loader: 'exports?angular'},
|
{ test: /angular\.js/, loader: 'exports?angular'},
|
||||||
{ test: /angular-route\.js/, loader: 'imports?angular=angular'},
|
{ test: /angular-route\.js/, loader: 'imports?angular=angular'},
|
||||||
{ test: /oboe-browser\.js/, loader: 'imports?define=>false!exports?oboe'},
|
{ test: /oboe-browser\.js/, loader: 'imports?define=>false!exports?oboe'},
|
||||||
{ test: /localforage\.js/, loader: 'script'}
|
{ test: /localforage\.js/, loader: 'script'},
|
||||||
|
{ test: /ui-bootstrap-tpls\.js/, loader: 'script'},
|
||||||
|
{ test: /dialogs\.js/, loader: 'script'}
|
||||||
],
|
],
|
||||||
noParse: [
|
noParse: [
|
||||||
// pathutil.resource('bower_components')
|
// pathutil.resource('bower_components')
|
||||||
|
@ -49,6 +52,10 @@ module.exports = {
|
||||||
new webpack.ResolverPlugin(
|
new webpack.ResolverPlugin(
|
||||||
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main'])
|
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main'])
|
||||||
),
|
),
|
||||||
|
new webpack.ResolverPlugin(
|
||||||
|
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('.bower.json', ['main'])
|
||||||
|
)
|
||||||
|
|
||||||
// new webpack.ResolverPlugin(
|
// new webpack.ResolverPlugin(
|
||||||
// new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('package.json', ['main'])
|
// new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('package.json', ['main'])
|
||||||
// )
|
// )
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue