Removing clients from a group

This commit is contained in:
James Barnsley
2018-04-30 10:14:55 +12:00
parent 4b5d7d6237
commit 490457e51c
9 changed files with 25523 additions and 23580 deletions

View File

@ -5384,7 +5384,7 @@ main header {
background: linear-gradient(to bottom right, white, rgba(0, 0, 0, 0.5)); } background: linear-gradient(to bottom right, white, rgba(0, 0, 0, 0.5)); }
.dropdown-field .options .option .fa { .dropdown-field .options .option .fa {
position: absolute; position: absolute;
top: 9px; top: 11px;
left: 8px; left: 8px;
font-size: 10px; } font-size: 10px; }
.notouch .dropdown-field .options .option:hover { .notouch .dropdown-field .options .option:hover {

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -76,7 +76,7 @@
// Release details // Release details
// These are automatically injected to built HTML // These are automatically injected to built HTML
var build = "1524953170"; var build = "1525033395";
var version = "3.17.4"; var version = "3.17.4";
// Construct the script tag // Construct the script tag

View File

@ -124,7 +124,7 @@ class Snapcast extends React.Component{
return ( return (
<div className="group" key={group.id}> <div className="group" key={group.id}>
<h3 className="name"> <h3 className="name">
{group.name ? group.name : group.stream_id} {group.name ? group.name : group.id} ({group.stream_id})
</h3> </h3>
<div className="field dropdown"> <div className="field dropdown">
<div className="name"> <div className="name">
@ -162,7 +162,7 @@ class Snapcast extends React.Component{
/> />
<div className="tools"> <div className="tools">
{client.connected ? null : <FontAwesome className="disconnected red-text" name="plug" />} {client.connected ? null : <FontAwesome className="disconnected red-text" name="plug" />}
<DropdownField icon="cog" name="Group" no_label value={group.id} options={groups_dropdown} handleChange={val => {this.props.pusherActions.setSnapcastClientGroup(client.id, group.id); this.props.uiActions.hideContextMenu()}} /> <DropdownField icon="cog" name="Group" no_label value={group.id} options={groups_dropdown} handleChange={value => {this.props.pusherActions.setSnapcastClientGroup(client.id, value); this.props.uiActions.hideContextMenu()}} />
</div> </div>
</div> </div>
<div className="col volume"> <div className="col volume">

View File

@ -93,7 +93,6 @@ const MopidyMiddleware = (function(){
break; break;
case 'event:trackPlaybackEnded': case 'event:trackPlaybackEnded':
// This doesn't fire when it's the last track in the queue... bug in Mopidy?
store.dispatch(mopidyActions.clearCurrentTrack()); store.dispatch(mopidyActions.clearCurrentTrack());
store.dispatch(mopidyActions.getTimePosition()); store.dispatch(mopidyActions.getTimePosition());
break; break;

View File

@ -243,7 +243,6 @@ export function setSnapcastClientLatency(id, latency){
} }
export function setSnapcastClientGroup(id, group_id){ export function setSnapcastClientGroup(id, group_id){
console.log(id,group_id);
return { return {
type: 'PUSHER_SET_SNAPCAST_CLIENT_GROUP', type: 'PUSHER_SET_SNAPCAST_CLIENT_GROUP',
id: id, id: id,

View File

@ -599,7 +599,6 @@ const PusherMiddleware = (function(){
break break
case 'PUSHER_SNAPCAST_SERVER_LOADED': case 'PUSHER_SNAPCAST_SERVER_LOADED':
console.log(action);
var groups = {}; var groups = {};
var clients = {}; var clients = {};
var streams = {}; var streams = {};
@ -778,8 +777,22 @@ const PusherMiddleware = (function(){
break break
case 'PUSHER_SET_SNAPCAST_CLIENT_GROUP': case 'PUSHER_SET_SNAPCAST_CLIENT_GROUP':
var group = store.getState().pusher.snapcast_groups[action.group_id]; var group = store.getState().pusher.snapcast_groups[action.group_id];
var clients_ids = Object.assign([], group.clients_ids, [action.id]); var clients_ids = group.clients_ids;
var clients_ids_index = clients_ids.indexOf(action.id);
// Not in group (yet), so add it
if (clients_ids_index <= -1){
clients_ids.push(action.id);
// Already there, so remove it
} else {
clients_ids.splice(clients_ids_index, 1);
}
console.log(clients_ids, action.id, clients_ids_index);
var data = { var data = {
method: 'Group.SetClients', method: 'Group.SetClients',
params: { params: {

View File

@ -90,7 +90,7 @@
.fa { .fa {
position: absolute; position: absolute;
top: 9px; top: 11px;
left: 8px; left: 8px;
font-size: 10px; font-size: 10px;
} }