mirror of
https://github.com/Dahlgren/arma-server-web-admin.git
synced 2024-08-30 17:22:10 +00:00
Get mod status from Steam Workshop
This commit is contained in:
parent
08beb108a4
commit
955b8215a4
@ -33,15 +33,13 @@ SteamMods.prototype.find = function (id) {
|
|||||||
SteamMods.prototype.download = function (workshopId, cb) {
|
SteamMods.prototype.download = function (workshopId, cb) {
|
||||||
var self = this
|
var self = this
|
||||||
this.armaSteamWorkshop.downloadMod(workshopId, function (err) {
|
this.armaSteamWorkshop.downloadMod(workshopId, function (err) {
|
||||||
self.addStatusForCurrentDowloads()
|
|
||||||
self.updateMods()
|
self.updateMods()
|
||||||
|
|
||||||
if (cb) {
|
if (cb) {
|
||||||
cb(err)
|
cb(err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
self.addStatusForCurrentDowloads()
|
self.updateMods()
|
||||||
self.emit('mods', this.mods)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SteamMods.prototype.search = function (query, cb) {
|
SteamMods.prototype.search = function (query, cb) {
|
||||||
@ -55,42 +53,9 @@ SteamMods.prototype.updateMods = function () {
|
|||||||
console.log(err)
|
console.log(err)
|
||||||
} else {
|
} else {
|
||||||
self.mods = mods
|
self.mods = mods
|
||||||
self.addStatusForCurrentDowloads()
|
|
||||||
self.emit('mods', mods)
|
self.emit('mods', mods)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
SteamMods.prototype.isModDownloading = function (workshopId) {
|
|
||||||
return this.armaSteamWorkshop.currentDownloads[workshopId] === true
|
|
||||||
}
|
|
||||||
|
|
||||||
SteamMods.prototype.addStatusForCurrentDowloads = function () {
|
|
||||||
var self = this
|
|
||||||
this.mods.forEach(function (mod) {
|
|
||||||
mod.downloading = self.isModDownloading(mod.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
this.addDummyModsForCurrentDowloads()
|
|
||||||
this.emit('mods', this.mods)
|
|
||||||
}
|
|
||||||
|
|
||||||
SteamMods.prototype.addDummyModsForCurrentDowloads = function () {
|
|
||||||
var self = this
|
|
||||||
for (var workshopId in this.armaSteamWorkshop.currentDownloads) {
|
|
||||||
var mod = self.mods.find(function (mod) {
|
|
||||||
return mod.id === workshopId
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!mod) {
|
|
||||||
self.mods.splice(0, 0, {
|
|
||||||
id: workshopId,
|
|
||||||
name: workshopId,
|
|
||||||
path: null,
|
|
||||||
downloading: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = SteamMods
|
module.exports = SteamMods
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"arma-server": "0.0.10",
|
"arma-server": "0.0.10",
|
||||||
"arma-steam-workshop": "https://github.com/Dahlgren/node-arma-steam-workshop/tarball/0396b9941eb43f714bd11df2bc5a99f0b283313e",
|
"arma-steam-workshop": "https://github.com/Dahlgren/node-arma-steam-workshop/tarball/57f11ee85ccac0a18a74c5acb5645c9af78ec5c0",
|
||||||
"async": "^0.9.0",
|
"async": "^0.9.0",
|
||||||
"backbone": "1.3.3",
|
"backbone": "1.3.3",
|
||||||
"backbone.bootstrap-modal": "https://github.com/powmedia/backbone.bootstrap-modal/archive/632210077c2424be2ee6ea2aafe0d3fe016ae524.tar.gz",
|
"backbone.bootstrap-modal": "https://github.com/powmedia/backbone.bootstrap-modal/archive/632210077c2424be2ee6ea2aafe0d3fe016ae524.tar.gz",
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
var $ = require('jquery')
|
||||||
var _ = require('underscore')
|
var _ = require('underscore')
|
||||||
|
var Ladda = require('ladda')
|
||||||
var Marionette = require('marionette')
|
var Marionette = require('marionette')
|
||||||
var sweetAlert = require('sweet-alert')
|
var sweetAlert = require('sweet-alert')
|
||||||
|
|
||||||
@ -11,6 +13,7 @@ module.exports = Marionette.ItemView.extend({
|
|||||||
template: template,
|
template: template,
|
||||||
|
|
||||||
events: {
|
events: {
|
||||||
|
'click .install': 'installMod',
|
||||||
'click .destroy': 'deleteMod'
|
'click .destroy': 'deleteMod'
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -18,6 +21,32 @@ module.exports = Marionette.ItemView.extend({
|
|||||||
change: 'render'
|
change: 'render'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
installMod: function (event) {
|
||||||
|
var self = this
|
||||||
|
event.preventDefault()
|
||||||
|
|
||||||
|
this.laddaBtn = Ladda.create(this.$el.find('.ladda-button').get(0))
|
||||||
|
this.laddaBtn.start()
|
||||||
|
this.$el.find('.ladda-button').addClass('disabled')
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: '/api/mods/',
|
||||||
|
type: 'POST',
|
||||||
|
data: {
|
||||||
|
id: this.model.get('id')
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (resp) {
|
||||||
|
self.laddaBtn.stop()
|
||||||
|
self.$el.find('.ladda-button').removeClass('disabled')
|
||||||
|
},
|
||||||
|
error: function (resp) {
|
||||||
|
self.laddaBtn.stop()
|
||||||
|
self.$el.find('.ladda-button').removeClass('disabled')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
deleteMod: function (event) {
|
deleteMod: function (event) {
|
||||||
var self = this
|
var self = this
|
||||||
sweetAlert({
|
sweetAlert({
|
||||||
|
@ -7,10 +7,19 @@
|
|||||||
<div class="progress-bar progress-bar-striped active" role="progressbar" style="width: 100%"></div>
|
<div class="progress-bar progress-bar-striped active" role="progressbar" style="width: 100%"></div>
|
||||||
</div>
|
</div>
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<a class="btn btn-danger btn-xs destroy ladda-button pull-right" data-style="expand-left">
|
<div class="btn-group pull-right" role="group">
|
||||||
|
<% if (needsUpdate) { %>
|
||||||
|
<a class="btn btn-primary btn-xs install ladda-button" data-style="expand-left">
|
||||||
|
<span class="glyphicon glyphicon-save"></span>
|
||||||
|
Update
|
||||||
|
</a>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<a class="btn btn-danger btn-xs destroy ladda-button" data-style="expand-left">
|
||||||
<span class="glyphicon glyphicon-trash"></span>
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
Delete
|
Delete
|
||||||
</a>
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
Loading…
Reference in New Issue
Block a user