show welcome tip when first access AriaNg

This commit is contained in:
MaysWind 2016-07-23 00:17:47 +08:00
parent 476537c2ba
commit 624f9617e2
4 changed files with 33 additions and 1 deletions

View file

@ -149,6 +149,7 @@
"Input number is below min value!": "输入的数字小于最小值 {{value}} !", "Input number is below min value!": "输入的数字小于最小值 {{value}} !",
"Input number is above max value!": "输入的数字大于最大值 {{value}} !", "Input number is above max value!": "输入的数字大于最大值 {{value}} !",
"Input value is invalid!": "输入的内容无效!", "Input value is invalid!": "输入的内容无效!",
"Tap to configure and get started with AriaNg.": "您还没有进行过设置, 点击这里进行设置.",
"format": { "format": {
"longdate": "YYYY年MM月DD日 HH:mm:ss", "longdate": "YYYY年MM月DD日 HH:mm:ss",
"time.millisecond": "{{value}} 毫秒", "time.millisecond": "{{value}} 毫秒",

View file

@ -153,6 +153,7 @@
'Input number is below min value!': 'Input number is below min value {{value}}!', 'Input number is below min value!': 'Input number is below min value {{value}}!',
'Input number is above max value!': 'Input number is above max value {{value}}!', 'Input number is above max value!': 'Input number is above max value {{value}}!',
'Input value is invalid!': 'Input value is invalid!', 'Input value is invalid!': 'Input value is invalid!',
'Tap to configure and get started with AriaNg.': 'Tap to configure and get started with AriaNg.',
'format': { 'format': {
'longdate': 'MM/DD/YYYY HH:mm:ss', 'longdate': 'MM/DD/YYYY HH:mm:ss',
'time.millisecond': '{{value}} Millisecond', 'time.millisecond': '{{value}} Millisecond',

View file

@ -1,7 +1,7 @@
(function () { (function () {
'use strict'; 'use strict';
angular.module('ariaNg').run(['$rootScope', '$location', '$document', 'SweetAlert', 'ariaNgNotificationService', 'aria2TaskService', function ($rootScope, $location, $document, SweetAlert, ariaNgNotificationService, aria2TaskService) { angular.module('ariaNg').run(['$rootScope', '$location', '$document', 'SweetAlert', 'ariaNgNotificationService', 'ariaNgSettingService', 'aria2TaskService', function ($rootScope, $location, $document, SweetAlert, ariaNgNotificationService, ariaNgSettingService, aria2TaskService) {
var isUrlMatchUrl2 = function (url, url2) { var isUrlMatchUrl2 = function (url, url2) {
if (url === url2) { if (url === url2) {
return true; return true;
@ -154,6 +154,15 @@
} }
}; };
ariaNgSettingService.onFirstAccess(function () {
ariaNgNotificationService.notifyInPage('', 'Tap to configure and get started with AriaNg.', {
delay: false,
onClose: function () {
$location.path('/settings/ariang');
}
});
});
aria2TaskService.onFirstSuccess(function () { aria2TaskService.onFirstSuccess(function () {
ariaNgNotificationService.notifyInPage('', 'Connection Succeeded', { ariaNgNotificationService.notifyInPage('', 'Connection Succeeded', {
type: 'success' type: 'success'

View file

@ -2,6 +2,19 @@
'use strict'; 'use strict';
angular.module('ariaNg').factory('ariaNgSettingService', ['$window', '$location', '$filter', '$translate', 'base64', 'amMoment', 'localStorageService', 'ariaNgConstants', 'ariaNgDefaultOptions', 'ariaNgLanguages', function ($window, $location, $filter, $translate, base64, amMoment, localStorageService, ariaNgConstants, ariaNgDefaultOptions, ariaNgLanguages) { angular.module('ariaNg').factory('ariaNgSettingService', ['$window', '$location', '$filter', '$translate', 'base64', 'amMoment', 'localStorageService', 'ariaNgConstants', 'ariaNgDefaultOptions', 'ariaNgLanguages', function ($window, $location, $filter, $translate, base64, amMoment, localStorageService, ariaNgConstants, ariaNgDefaultOptions, ariaNgLanguages) {
var onFirstVisitCallbacks = [];
var fireFirstVisitEvent = function () {
if (!angular.isArray(onFirstVisitCallbacks) || onFirstVisitCallbacks.length < 1) {
return;
}
for (var i = 0; i < onFirstVisitCallbacks.length; i++) {
var callback = onFirstVisitCallbacks[i];
callback();
}
};
var getDefaultLanguage = function () { var getDefaultLanguage = function () {
var browserLang = $window.navigator.browserLanguage ? $window.navigator.browserLanguage : $window.navigator.language; var browserLang = $window.navigator.browserLanguage ? $window.navigator.browserLanguage : $window.navigator.language;
@ -34,6 +47,7 @@
options.language = getDefaultLanguage(); options.language = getDefaultLanguage();
setOptions(options); setOptions(options);
fireFirstVisitEvent();
} }
return options; return options;
@ -215,6 +229,13 @@
}, },
setPeerListDisplayOrder: function (value) { setPeerListDisplayOrder: function (value) {
setOption('peerListDisplayOrder', value); setOption('peerListDisplayOrder', value);
},
onFirstAccess: function (callback) {
if (!callback) {
return;
}
onFirstVisitCallbacks.push(callback);
} }
}; };
}]); }]);