Refactor main.js: fix Create Torrent modal
This commit is contained in:
@@ -55,6 +55,13 @@ module.exports = class TorrentListController {
|
||||
findFilesRecursive(files, (allFiles) => this.showCreateTorrent(allFiles))
|
||||
}
|
||||
|
||||
// Switches between the advanced and simple Create Torrent UI
|
||||
toggleCreateTorrentAdvanced () {
|
||||
var info = this.state.location.current()
|
||||
if (info.url !== 'create-torrent') return
|
||||
info.showAdvanced = !info.showAdvanced
|
||||
}
|
||||
|
||||
// Creates a new torrent and start seeeding
|
||||
createTorrent (options) {
|
||||
var state = this.state
|
||||
|
||||
@@ -174,6 +174,7 @@ const dispatchHandlers = {
|
||||
|
||||
'addTorrent': (torrentId) => controllers.torrentList.addTorrent(torrentId),
|
||||
'showCreateTorrent': (paths) => controllers.torrentList.showCreateTorrent(paths),
|
||||
'toggleCreateTorrentAdvanced': () => controllers.torrentList.toggleCreateTorrentAdvanced(),
|
||||
'createTorrent': (options) => controllers.torrentList.createTorrent(options),
|
||||
'toggleTorrent': (infoHash) => controllers.torrentList.toggleTorrent(infoHash),
|
||||
'toggleTorrentFile': (infoHash, index) => controllers.torrentList.toggleTorrentFile(infoHash, index),
|
||||
|
||||
@@ -65,7 +65,8 @@ function CreateTorrentPage (state) {
|
||||
<label>Path:</label>
|
||||
<div class='torrent-attribute'>${pathPrefix}</div>
|
||||
</p>
|
||||
<div class='expand-collapse ${collapsedClass}' onclick=${handleToggleShowAdvanced}>
|
||||
<div class='expand-collapse ${collapsedClass}'
|
||||
onclick=${dispatcher('toggleCreateTorrentAdvanced')}>
|
||||
${info.showAdvanced ? 'Basic' : 'Advanced'}
|
||||
</div>
|
||||
<div class="create-torrent-advanced ${collapsedClass}">
|
||||
@@ -87,7 +88,7 @@ function CreateTorrentPage (state) {
|
||||
</p>
|
||||
</div>
|
||||
<p class="float-right">
|
||||
<button class='button-flat light' onclick=${handleCancel}>Cancel</button>
|
||||
<button class='button-flat light' onclick=${dispatcher('back')}>Cancel</button>
|
||||
<button class='button-raised' onclick=${handleOK}>Create Torrent</button>
|
||||
</p>
|
||||
</div>
|
||||
@@ -114,17 +115,6 @@ function CreateTorrentPage (state) {
|
||||
}
|
||||
dispatch('createTorrent', options)
|
||||
}
|
||||
|
||||
function handleCancel () {
|
||||
dispatch('back')
|
||||
}
|
||||
|
||||
function handleToggleShowAdvanced () {
|
||||
// TODO: what's the clean way to handle this?
|
||||
// Should every button on every screen have its own dispatch()?
|
||||
info.showAdvanced = !info.showAdvanced
|
||||
dispatch('update')
|
||||
}
|
||||
}
|
||||
|
||||
function CreateTorrentErrorPage () {
|
||||
|
||||
Reference in New Issue
Block a user