Skip to content

Commit

Permalink
V2.5JP
Browse files Browse the repository at this point in the history
  • Loading branch information
writ312 committed Mar 4, 2017
1 parent 3a74215 commit 10434da
Show file tree
Hide file tree
Showing 12 changed files with 94 additions and 24 deletions.
5 changes: 3 additions & 2 deletions index.html
Expand Up @@ -18,12 +18,12 @@
<md-tab label="設定"></md-tab>
<md-tab label="IToS" ng-disabled="!vm.isValidDirectory();"></md-tab>
<md-tab label="JToS" ng-disabled="!vm.isValidDirectory();"></md-tab>
</md-tabs>

</md-tabs>
<div id="content" ui-view flex></div>
</div>
</div>
<div id="footer" md-whiteframe="3">
<md-button class="md-raised" style="float:left"data-ng-click="reloadRoute()">ページの更新</md-button>
<md-button class="md-raised" style="float:left"data-ng-click="vm.jumpTo()">上に戻る</md-button>
<md-button data-ng-click="vm.launchGame();" class="md-raised">公式サイトへ</md-button>
</div>
Expand Down Expand Up @@ -51,6 +51,7 @@
<script src="./scripts/services/installer.service.js"></script>
<script src="./scripts/services/settings.service.js"></script>
<script src="./scripts/browse/addon.directive.js"></script>
<script src="./scripts/services/sharedscope.service.js"></script>
<script src="./scripts/marked.js"></script>

</body>
Expand Down
4 changes: 2 additions & 2 deletions main.js
Expand Up @@ -4,7 +4,7 @@ const app = electron.app; // Module to control application life.
const BrowserWindow = electron.BrowserWindow; // Module to create native browser window.

// Report crashes to our server.
electron.crashReporter.start();
// electron.crashReporter.start();

// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
Expand Down Expand Up @@ -33,7 +33,7 @@ app.on('ready', function() {
mainWindow.loadURL(`file://${__dirname}/index.html`);

// Open the DevTools.
// mainWindow.webContents.openDevTools();
mainWindow.webContents.openDevTools();

// Emitted when the window is closed.
mainWindow.on('closed', function() {
Expand Down
5 changes: 2 additions & 3 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "tree-of-savior-addon-manager",
"version": "0.2.4",
"version": "0.2.5",
"description": "An addon manager for Tree of Savior.",
"main": "main.js",
"scripts": {
Expand All @@ -22,8 +22,7 @@
},
"homepage": "https://github.com/Excrulon/Tree-of-Savior-Addon-Manager#readme",
"devDependencies": {
"electron-packager": "^7.0.2",
"electron-prebuilt": "^0.35.0",

"jasmine-core": "^2.4.1",
"karma": "^0.13.15",
"karma-chrome-launcher": "^0.2.2",
Expand Down
2 changes: 1 addition & 1 deletion scripts/app.js
Expand Up @@ -36,7 +36,7 @@
templateUrl: 'views/installed.html',
controller: 'InstalledController as vm'
});

$mdThemingProvider.theme('default')
.primaryPalette('blue')
.accentPalette('light-green')
Expand Down
15 changes: 12 additions & 3 deletions scripts/browse/browse.controller.js
Expand Up @@ -5,16 +5,25 @@
.module('app')
.controller('BrowseController', BrowseController);

BrowseController.$inject = ['$scope', '$http', 'addonretriever', 'settings', '$log'];
function BrowseController($scope, $http, addonretriever, settings, $log) {
BrowseController.$inject = ['$scope', '$http', 'addonretriever', 'installer','settings', '$log','SharedScopes'];

function BrowseController($scope, $http, addonretriever,installer, settings, $log,SharedScopes) {
var viewModel = this;
this.sort = 'name'
this.sort ="name"
addonretriever.getAddons(function(addons) {
viewModel.addons = addons;
});

addonretriever.getDependencies(function(dependencies) {
$log.info(JSON.stringify(dependencies));
});
$scope.updateAllAddons = function(){
for(let i = 0;i< viewModel.addons.length - 1;i++){
let addon = viewModel.addons[i]
if(addon.isUpdateAvailable)
installer.update(addon)
}
SharedScopes.getScope('TabController').reloadRoute()
}
}
})();
22 changes: 20 additions & 2 deletions scripts/browse/browseJP.controller.js
Expand Up @@ -5,9 +5,9 @@
.module('app')
.controller('BrowseControllerJP', BrowseControllerJP);

BrowseControllerJP.$inject = ['$scope', '$http', 'addonretrieverJP', 'settings', '$log'];
BrowseControllerJP.$inject = ['$scope', '$http', 'addonretrieverJP', 'installer','settings', '$log','SharedScopes'];

function BrowseControllerJP($scope, $http, addonretriever, settings, $log) {
function BrowseControllerJP($scope, $http, addonretriever,installer, settings, $log,SharedScopes) {
var viewModel = this;
this.sort ="name"
addonretriever.getAddons(function(addons) {
Expand All @@ -17,5 +17,23 @@
addonretriever.getDependencies(function(dependencies) {
$log.info(JSON.stringify(dependencies));
});
$scope.updateAllAddons = function(){
var updatelist = '';
for(let i = 0;i< viewModel.addons.length - 1;i++){
let addon = viewModel.addons[i]
if(addon.isUpdateAvailable){
installer.update(addon)
updatelist += addon.name + '\n';
}
}
if(updatelist != ''){
alert(updatelist+'をアップデートしました')
setTimeout(()=>{
SharedScopes.getScope('TabController').reloadRoute()
},3000)
}else{
alert('アップデートするアドオンがありません')
}
}
}
})();
2 changes: 1 addition & 1 deletion scripts/marked.js
Expand Up @@ -879,7 +879,7 @@ Renderer.prototype.link = function(href, title, text) {
return '';
}
}
var out = '<a href="' + href + '"';
var out = '<a target ="_blank" href="' + href + '"';
if (title) {
out += ' title="' + title + '"';
}
Expand Down
8 changes: 6 additions & 2 deletions scripts/services/installer.service.js
Expand Up @@ -106,6 +106,7 @@
fileRequest.on('response', function(response) {
$log.info(`status code: ${response.statusCode}`);
if(response.statusCode !== 200) {
if(scope)
scope.$apply(function() {
addon.isDownloading = false;
addon.isInstalled = false;
Expand All @@ -118,6 +119,7 @@
var file = fs.createWriteStream(destinationFile);

fileRequest.on('error', function(error) {
if(scope)
scope.$apply(function() {
addon.isDownloading = false;
addon.failedInstall = true;
Expand All @@ -131,6 +133,7 @@
fileRequest.pipe(file);

file.on('finish', function() {
if(scope)
scope.$apply(function() {
addon.isDownloading = false;
addon.isInstalled = true;
Expand All @@ -149,6 +152,7 @@

file.on('error', function(error) {
fs.unlink(destinationFile);
if(scope)
scope.$apply(function() {
addon.isDownloading = false;
addon.failedInstall = true;
Expand Down Expand Up @@ -183,7 +187,7 @@
} else {
addon.uninstallError = false;
settings.removeInstalledAddon(addon);

if(scope)
scope.$apply(function() {
addon.isDownloading = false;
addon.isInstalled = false;
Expand All @@ -198,7 +202,7 @@
$log.error(filename + " does not exist so cannot remove it.");

settings.removeInstalledAddon(addon);

if(scope)
scope.$apply(function() {
addon.isDownloading = false;
addon.isInstalled = false;
Expand Down
32 changes: 32 additions & 0 deletions scripts/services/sharedscope.service.js
@@ -0,0 +1,32 @@
// app.factory('SharedScopes', function ($rootScope) {
// var sharedScopes = {};

// return {
// setScope: function (key, value) {
// sharedScopes[key] = value;
// },
// getScope: function (key) {
// return sharedScopes[key];
// }
// };
// });
(function() {
'use strict';

angular
.module('app')
.factory('SharedScopes', SharedScopes);


function SharedScopes() {
var sharedScopes = {};
return {
setScope: function (key, value) {
sharedScopes[key] = value;
},
getScope: function (key) {
return sharedScopes[key];
}
};
}
})();
8 changes: 6 additions & 2 deletions scripts/tab/tab.controller.js
Expand Up @@ -5,10 +5,10 @@
.module('app')
.controller('TabController', TabController);

TabController.$inject = ['$scope', '$location', '$anchorScroll','settings'];
TabController.$inject = ['$scope', '$location', '$anchorScroll','settings','$state','SharedScopes'];

/* @ngInject */
function TabController($scope, $location, $anchorScroll,settings) {
function TabController($scope, $location, $anchorScroll,settings,$state,SharedScopes) {
var vm = this;

vm.selectedIndex = 0;
Expand Down Expand Up @@ -43,5 +43,9 @@
vm.showTab = function(){
return (settings.JTos.isLoad && settings.ITos.isLoad);
};
$scope.reloadRoute = function() {
$state.reload();
};
SharedScopes.setScope('TabController', $scope);
}
})();
14 changes: 8 additions & 6 deletions views/browse.html
Expand Up @@ -8,13 +8,19 @@
</md-input-container>
</md-card>
<md-card md-whiteframe="3">
<div layout="row">
<div layout="row" layout-align=" center">
<md-radio-group layout="row" ng-model="browseController.isInstalled">
<md-radio-button data-ng-value="undefined" class="md-primary">All</md-radio-button>
<md-radio-button data-ng-value="true">Installed</md-radio-button>
<md-radio-button data-ng-value="false">Uninstalled</md-radio-button>
</md-radio-group>
</div>
<br>
<div layout="row">
<md-checkbox flex ng-model="browseController.isUpdateAvailable" aria-label="Is update available?">UPDATEのみを表示する</md-checkbox>
<md-button flex class="md-raised" style="float:left"data-ng-click="updateAllAddons()">全てのアドオンを更新する</md-button>
</div>
<br>
<div layout="row">
<md-radio-group layout="row" ng-model="browseController.sort">
<md-radio-button data-ng-value="'name'">名前(昇順)</md-radio-button>
Expand All @@ -25,11 +31,7 @@
</md-radio-group>
</div>
</md-card>
<div layout="row">
<md-input-container>
<md-checkbox ng-model="browseController.isUpdateAvailable" aria-label="Is update available?">Is update available?</md-checkbox>
</md-input-container>
</div>

<div data-ng-repeat="addon in browseController.addons | orderBy:browseController.sort | filter:{ isUpdateAvailable: browseController.isUpdateAvailable, isInstalled: browseController.isInstalled } | filter:browseController.searchQuery">
<addon addon="addon"></addon>
</div>
Expand Down
1 change: 1 addition & 0 deletions views/settings.html
Expand Up @@ -18,6 +18,7 @@ <h3><strong>最新のマネージャーにアップデートしてください</
<span data-ng-show="!vm.isValidDirectory();"><p class="error">アドオンをインストールする前に、正しいTree of Saviorのインストールフォルダを指定してください。</p></span>
</form>
</md-content>
<div id="hoge"></div>
<h3>インストール履歴を
<md-button class="md-warn md-raised" ng-click="vm.resetInstalledAddons();">初期化する</md-button>
</h3>
Expand Down

0 comments on commit 10434da

Please sign in to comment.