Added AddChanelDialog and fixed add channel menu options
Must be registered user to be able to add, use mumble-django or something to add a user with password login.
This commit is contained in:
parent
cad3a3e07b
commit
9f36bc7c3b
|
@ -78,6 +78,22 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<!-- /ko -->
|
<!-- /ko -->
|
||||||
|
<!-- ko with: addChannelDialog -->
|
||||||
|
<div class="add-channel-dialog dialog" data-bind="visible: visible()">
|
||||||
|
<div class="dialog-header">
|
||||||
|
Add channel
|
||||||
|
</div>
|
||||||
|
<form data-bind="submit: addchannel">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>Channel</td>
|
||||||
|
<td><input id="channelName" type="text" data-bind="value: channelName" required></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<input class="dialog-submit" type="submit" value="Add channel">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
<!-- ko with: connectDialog -->
|
<!-- ko with: connectDialog -->
|
||||||
<div class="join-dialog dialog" data-bind="visible: visible() && joinOnly()">
|
<div class="join-dialog dialog" data-bind="visible: visible() && joinOnly()">
|
||||||
<div class="dialog-header">
|
<div class="dialog-header">
|
||||||
|
@ -413,7 +429,7 @@
|
||||||
class="join">
|
class="join">
|
||||||
Join Channel
|
Join Channel
|
||||||
</li>
|
</li>
|
||||||
<li data-bind="css: { disabled: !canAdd() }"
|
<li data-bind="css: { disabled: !canAdd() }, click: $root.openAddChannel.bind($root, $root.thisUser())"
|
||||||
class="add">
|
class="add">
|
||||||
Add
|
Add
|
||||||
</li>
|
</li>
|
||||||
|
@ -421,7 +437,7 @@
|
||||||
class="edit">
|
class="edit">
|
||||||
Edit
|
Edit
|
||||||
</li>
|
</li>
|
||||||
<li data-bind="css: { disabled: !canRemove() }"
|
<li data-bind="css: { disabled: !canRemove() }, click: $root.ChannelRemove.bind($root, $root.thisUser())"
|
||||||
class="remove">
|
class="remove">
|
||||||
Remove
|
Remove
|
||||||
</li>
|
</li>
|
||||||
|
|
45
app/index.js
45
app/index.js
|
@ -88,6 +88,20 @@ function ContextMenu () {
|
||||||
self.target = ko.observable()
|
self.target = ko.observable()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function AddChannelDialog () {
|
||||||
|
var self = this;
|
||||||
|
self.channelName = ko.observable('')
|
||||||
|
self.parentID = 0;
|
||||||
|
self.visible = ko.observable(false);
|
||||||
|
self.show = self.visible.bind(self.visible, true)
|
||||||
|
self.hide = self.visible.bind(self.visible, false)
|
||||||
|
|
||||||
|
self.addchannel = function() {
|
||||||
|
self.hide();
|
||||||
|
ui.addchannel(self.channelName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function ConnectDialog () {
|
function ConnectDialog () {
|
||||||
var self = this
|
var self = this
|
||||||
self.address = ko.observable('')
|
self.address = ko.observable('')
|
||||||
|
@ -327,6 +341,7 @@ class GlobalBindings {
|
||||||
this.userContextMenu = new ContextMenu()
|
this.userContextMenu = new ContextMenu()
|
||||||
this.channelContextMenu = new ContextMenu()
|
this.channelContextMenu = new ContextMenu()
|
||||||
this.connectDialog = new ConnectDialog()
|
this.connectDialog = new ConnectDialog()
|
||||||
|
this.addChannelDialog = new AddChannelDialog()
|
||||||
this.connectErrorDialog = new ConnectErrorDialog(this.connectDialog)
|
this.connectErrorDialog = new ConnectErrorDialog(this.connectDialog)
|
||||||
this.connectionInfo = new ConnectionInfo(this)
|
this.connectionInfo = new ConnectionInfo(this)
|
||||||
this.commentDialog = new CommentDialog()
|
this.commentDialog = new CommentDialog()
|
||||||
|
@ -372,6 +387,32 @@ class GlobalBindings {
|
||||||
this.settingsDialog(new SettingsDialog(this.settings))
|
this.settingsDialog(new SettingsDialog(this.settings))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.openAddChannel = (user, channel) => {
|
||||||
|
this.addChannelDialog.parentID = channel.model._id;
|
||||||
|
this.addChannelDialog.show()
|
||||||
|
}
|
||||||
|
|
||||||
|
this.addchannel = (channelName) => {
|
||||||
|
var msg = {
|
||||||
|
name: 'ChannelState',
|
||||||
|
payload: {
|
||||||
|
parent: this.addChannelDialog.parentID || 0,
|
||||||
|
name: channelName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.client._send(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.ChannelRemove = (user, channel) => {
|
||||||
|
var msg = {
|
||||||
|
name: 'ChannelRemove',
|
||||||
|
payload: {
|
||||||
|
channel_id: channel.model._id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.client._send(msg);
|
||||||
|
}
|
||||||
|
|
||||||
this.applySettings = () => {
|
this.applySettings = () => {
|
||||||
const settingsDialog = this.settingsDialog()
|
const settingsDialog = this.settingsDialog()
|
||||||
|
|
||||||
|
@ -689,13 +730,13 @@ class GlobalBindings {
|
||||||
return true // TODO check for perms
|
return true // TODO check for perms
|
||||||
}
|
}
|
||||||
ui.canAdd = () => {
|
ui.canAdd = () => {
|
||||||
return false // TODO check for perms and implement
|
return true // TODO check for perms
|
||||||
}
|
}
|
||||||
ui.canEdit = () => {
|
ui.canEdit = () => {
|
||||||
return false // TODO check for perms and implement
|
return false // TODO check for perms and implement
|
||||||
}
|
}
|
||||||
ui.canRemove = () => {
|
ui.canRemove = () => {
|
||||||
return false // TODO check for perms and implement
|
return true // TODO check for perms
|
||||||
}
|
}
|
||||||
ui.canLink = () => {
|
ui.canLink = () => {
|
||||||
return false // TODO check for perms and implement
|
return false // TODO check for perms and implement
|
||||||
|
|
|
@ -138,6 +138,7 @@ class WorkerBasedMumbleClient extends EventEmitter {
|
||||||
connector._addCall(this, 'setSelfMute', id)
|
connector._addCall(this, 'setSelfMute', id)
|
||||||
connector._addCall(this, 'setSelfTexture', id)
|
connector._addCall(this, 'setSelfTexture', id)
|
||||||
connector._addCall(this, 'setAudioQuality', id)
|
connector._addCall(this, 'setAudioQuality', id)
|
||||||
|
connector._addCall(this, '_send', id)
|
||||||
|
|
||||||
connector._addCall(this, 'disconnect', id)
|
connector._addCall(this, 'disconnect', id)
|
||||||
let _disconnect = this.disconnect
|
let _disconnect = this.disconnect
|
||||||
|
|
Loading…
Reference in a new issue