Adding snapcast_stream config to link server with stream
This commit is contained in:
@ -153137,29 +153137,17 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/arrays */ "./src/js/util/arrays.js");
|
||||
/* harmony import */ var _util_format__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../util/format */ "./src/js/util/format.js");
|
||||
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../locale */ "./src/js/locale/index.js");
|
||||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
||||
|
||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
||||
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
||||
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
||||
|
||||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
||||
|
||||
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
||||
|
||||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
||||
|
||||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
||||
|
||||
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
||||
|
||||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
||||
|
||||
|
||||
|
||||
@ -153175,277 +153163,250 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
||||
|
||||
|
||||
|
||||
var OutputControl = /*#__PURE__*/function (_React$Component) {
|
||||
_inherits(OutputControl, _React$Component);
|
||||
|
||||
var _super = _createSuper(OutputControl);
|
||||
|
||||
function OutputControl(props) {
|
||||
var _this;
|
||||
|
||||
_classCallCheck(this, OutputControl);
|
||||
|
||||
_this = _super.call(this, props);
|
||||
|
||||
_defineProperty(_assertThisInitialized(_this), "componentDidUpdate", function (_ref) {
|
||||
var prev_force_expanded = _ref.force_expanded;
|
||||
var force_expanded = _this.props.force_expanded;
|
||||
if (!prev_force_expanded && force_expanded) _this.setExpanded(true);
|
||||
});
|
||||
|
||||
_this.state = {
|
||||
expanded: false
|
||||
var SnapcastGroups = function SnapcastGroups() {
|
||||
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
|
||||
var showAllClients = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
|
||||
return state.ui.snapcast_show_disconnected_clients;
|
||||
});
|
||||
var clients = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
|
||||
return state.snapcast.clients;
|
||||
});
|
||||
var groupsObj = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
|
||||
return state.snapcast.groups;
|
||||
});
|
||||
var streamsObj = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
|
||||
return state.snapcast.streams;
|
||||
});
|
||||
var groups = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(groupsObj);
|
||||
if (groups.length <= 0) return null;
|
||||
var streams = Object.keys(streamsObj).map(function (id) {
|
||||
return {
|
||||
value: id,
|
||||
label: id
|
||||
};
|
||||
_this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));
|
||||
return _this;
|
||||
});
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(groups, 'name').map(function (simpleGroup) {
|
||||
var group = Object(_util_format__WEBPACK_IMPORTED_MODULE_11__["collate"])(simpleGroup, {
|
||||
clients: clients
|
||||
});
|
||||
var _group$clients = group.clients,
|
||||
groupClients = _group$clients === void 0 ? [] : _group$clients;
|
||||
|
||||
if (!showAllClients) {
|
||||
groupClients = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["applyFilter"])('connected', true, groupClients);
|
||||
}
|
||||
|
||||
if (!groupClients.length) return null;
|
||||
var volume = groupClients.reduce(function (acc, client) {
|
||||
return acc + (client.volume || 0);
|
||||
}, 0) / groupClients.length;
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item outputs__item--snapcast",
|
||||
key: group.id,
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item__name",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, group.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item__controls",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
||||
name: "Source",
|
||||
value: group.stream_id,
|
||||
icon: "settings_input_component",
|
||||
options: streams,
|
||||
noLabel: true,
|
||||
handleChange: function handleChange(value) {
|
||||
return dispatch(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__["setGroupStream"](group.id, value));
|
||||
},
|
||||
"data-qa-node": "DropdownField",
|
||||
"data-qa-file": "OutputControl"
|
||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MuteControl__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
||||
className: "output-control__item__mute",
|
||||
noTooltip: true,
|
||||
mute: group.mute,
|
||||
onMuteChange: function onMuteChange(mute) {
|
||||
return dispatch(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__["setGroupMute"](group.id, mute));
|
||||
},
|
||||
"data-qa-node": "MuteControl",
|
||||
"data-qa-file": "OutputControl"
|
||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_VolumeControl__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
||||
className: "output-control__item__volume",
|
||||
volume: volume,
|
||||
mute: group.mute,
|
||||
onVolumeChange: function onVolumeChange(percent, previousPercent) {
|
||||
return dispatch(_services_snapcast_actions__WEBPACK_IMPORTED_MODULE_9__["setGroupVolume"](group.id, percent, previousPercent));
|
||||
},
|
||||
"data-qa-node": "VolumeControl",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
}));
|
||||
};
|
||||
|
||||
var Commands = function Commands() {
|
||||
var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
|
||||
var commandsObj = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useSelector"])(function (state) {
|
||||
return state.pusher.commands || {};
|
||||
});
|
||||
if (!commandsObj) return null;
|
||||
var items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(commandsObj);
|
||||
if (items.length <= 0) return null;
|
||||
items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(items, 'sort_order');
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item output-control__item--commands commands",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, items.map(function (command) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
key: command.id,
|
||||
className: "commands__item commands__item--interactive",
|
||||
onClick: function onClick() {
|
||||
return dispatch(_services_pusher_actions__WEBPACK_IMPORTED_MODULE_8__["runCommand"](command.id));
|
||||
},
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
className: "commands__item__icon",
|
||||
name: command.icon,
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "".concat(command.colour, "-background commands__item__background"),
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}));
|
||||
}));
|
||||
};
|
||||
|
||||
var Outputs = function Outputs() {
|
||||
var snapcastGroups = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SnapcastGroups, {
|
||||
"data-qa-node": "SnapcastGroups",
|
||||
"data-qa-file": "OutputControl"
|
||||
});
|
||||
var commands = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Commands, {
|
||||
"data-qa-node": "Commands",
|
||||
"data-qa-file": "OutputControl"
|
||||
});
|
||||
|
||||
if (!snapcastGroups && !commands) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__items output-control__items--no-results",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
|
||||
className: "no-results",
|
||||
"data-qa-node": "p",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
|
||||
path: "playback_controls.no_outputs",
|
||||
"data-qa-node": "I18n",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
}
|
||||
|
||||
_createClass(OutputControl, [{
|
||||
key: "setExpanded",
|
||||
value: function setExpanded() {
|
||||
var expanded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this.state.expanded;
|
||||
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props;
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__items",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, commands, snapcastGroups);
|
||||
};
|
||||
|
||||
if (expanded) {
|
||||
this.setState({
|
||||
expanded: expanded
|
||||
});
|
||||
window.addEventListener('click', this.handleClick, false); // Re-check our snapcast clients
|
||||
// TODO: Once we have push events, remove this as it'll (marginally)
|
||||
// slow down the reveal/render
|
||||
var OutputControl = function OutputControl(_ref) {
|
||||
var force_expanded = _ref.force_expanded,
|
||||
pusher_commands = _ref.pusher_commands,
|
||||
snapcast_enabled = _ref.snapcast_enabled;
|
||||
|
||||
if (props.pusher_connected && props.snapcast_enabled) {
|
||||
this.props.snapcastActions.getServer();
|
||||
}
|
||||
} else {
|
||||
this.setState({
|
||||
expanded: expanded
|
||||
});
|
||||
window.removeEventListener('click', this.handleClick, false);
|
||||
}
|
||||
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(false),
|
||||
_useState2 = _slicedToArray(_useState, 2),
|
||||
expanded = _useState2[0],
|
||||
setExpanded = _useState2[1];
|
||||
|
||||
var handleClick = function handleClick(e) {
|
||||
if (!force_expanded && $(e.target).closest('.output-control').length <= 0) {
|
||||
setExpanded(false);
|
||||
}
|
||||
}, {
|
||||
key: "handleClick",
|
||||
value: function handleClick(e) {
|
||||
if (!this.props.force_expanded && $(e.target).closest('.output-control').length <= 0) {
|
||||
this.setExpanded(false);
|
||||
}
|
||||
};
|
||||
|
||||
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
|
||||
if (force_expanded && !expanded) {
|
||||
setExpanded(true);
|
||||
}
|
||||
}, {
|
||||
key: "snapcastGroups",
|
||||
value: function snapcastGroups() {
|
||||
var _this$props = this.props,
|
||||
snapcast_streams = _this$props.snapcast_streams,
|
||||
snapcastActions = _this$props.snapcastActions,
|
||||
snapcast_groups = _this$props.snapcast_groups,
|
||||
clients = _this$props.snapcast_clients,
|
||||
show_disconnected_clients = _this$props.show_disconnected_clients;
|
||||
var groups = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(snapcast_groups);
|
||||
if (groups.length <= 0) return null;
|
||||
var streams = Object.keys(snapcast_streams).map(function (id) {
|
||||
return {
|
||||
value: id,
|
||||
label: id
|
||||
};
|
||||
});
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(groups, 'name').map(function (simpleGroup) {
|
||||
var group = Object(_util_format__WEBPACK_IMPORTED_MODULE_11__["collate"])(simpleGroup, {
|
||||
clients: clients
|
||||
});
|
||||
var _group$clients = group.clients,
|
||||
groupClients = _group$clients === void 0 ? [] : _group$clients;
|
||||
|
||||
if (!show_disconnected_clients) {
|
||||
groupClients = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["applyFilter"])('connected', true, groupClients);
|
||||
}
|
||||
|
||||
if (!groupClients.length) return null;
|
||||
var volume = groupClients.reduce(function (acc, client) {
|
||||
return acc + (client.volume || 0);
|
||||
}, 0) / groupClients.length;
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item outputs__item--snapcast",
|
||||
key: group.id,
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item__name",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, group.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item__controls",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DropdownField__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
||||
name: "Source",
|
||||
value: group.stream_id,
|
||||
icon: "settings_input_component",
|
||||
options: streams,
|
||||
noLabel: true,
|
||||
handleChange: function handleChange(value) {
|
||||
return snapcastActions.setGroupStream(group.id, value);
|
||||
},
|
||||
"data-qa-node": "DropdownField",
|
||||
"data-qa-file": "OutputControl"
|
||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MuteControl__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
||||
className: "output-control__item__mute",
|
||||
noTooltip: true,
|
||||
mute: group.mute,
|
||||
onMuteChange: function onMuteChange(mute) {
|
||||
return snapcastActions.setGroupMute(group.id, mute);
|
||||
},
|
||||
"data-qa-node": "MuteControl",
|
||||
"data-qa-file": "OutputControl"
|
||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_VolumeControl__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
||||
className: "output-control__item__volume",
|
||||
volume: volume,
|
||||
mute: group.mute,
|
||||
onVolumeChange: function onVolumeChange(percent, previousPercent) {
|
||||
return snapcastActions.setGroupVolume(group.id, percent, previousPercent);
|
||||
},
|
||||
"data-qa-node": "VolumeControl",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
}));
|
||||
}, [force_expanded]);
|
||||
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
|
||||
if (expanded) {
|
||||
window.addEventListener('click', handleClick, false);
|
||||
} else {
|
||||
window.removeEventListener('click', handleClick, false);
|
||||
}
|
||||
}, {
|
||||
key: "commands",
|
||||
value: function commands() {
|
||||
var _this$props2 = this.props,
|
||||
pusher_commands = _this$props2.pusher_commands,
|
||||
pusherActions = _this$props2.pusherActions;
|
||||
if (!pusher_commands) return null;
|
||||
var items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["indexToArray"])(pusher_commands);
|
||||
if (items.length <= 0) return null;
|
||||
items = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_10__["sortItems"])(items, 'sort_order');
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__item output-control__item--commands commands",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, items.map(function (command) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
key: command.id,
|
||||
className: "commands__item commands__item--interactive",
|
||||
onClick: function onClick(e) {
|
||||
return pusherActions.runCommand(command.id);
|
||||
},
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
className: "commands__item__icon",
|
||||
name: command.icon,
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "".concat(command.colour, "-background commands__item__background"),
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}));
|
||||
}));
|
||||
}
|
||||
}, {
|
||||
key: "renderOutputs",
|
||||
value: function renderOutputs() {
|
||||
var snapcastGroups = this.snapcastGroups();
|
||||
var commands = this.commands();
|
||||
}, [expanded]);
|
||||
|
||||
if (!snapcastGroups && !commands) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__items output-control__items--no-results",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
|
||||
className: "no-results",
|
||||
"data-qa-node": "p",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
|
||||
path: "playback_controls.no_outputs",
|
||||
"data-qa-node": "I18n",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
}
|
||||
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "output-control__items",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, commands, snapcastGroups);
|
||||
}
|
||||
}, {
|
||||
key: "render",
|
||||
value: function render() {
|
||||
var _this2 = this;
|
||||
|
||||
if (this.state.expanded) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "output-control",
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
||||
className: "control speakers active",
|
||||
onClick: function onClick(e) {
|
||||
return _this2.setExpanded();
|
||||
},
|
||||
"data-qa-node": "button",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
name: "speaker",
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
})), this.renderOutputs());
|
||||
} // No customisable outputs
|
||||
if (expanded) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "output-control",
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
||||
className: "control speakers active",
|
||||
onClick: function onClick() {
|
||||
return setExpanded(false);
|
||||
},
|
||||
"data-qa-node": "button",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
name: "speaker",
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Outputs, {
|
||||
"data-qa-node": "Outputs",
|
||||
"data-qa-file": "OutputControl"
|
||||
}));
|
||||
} // No customisable outputs
|
||||
|
||||
|
||||
if (!this.props.snapcast_enabled && !this.props.pusher_commands) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "output-control disabled",
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
||||
className: "control speakers",
|
||||
"data-qa-node": "button",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
name: "speaker",
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
}
|
||||
if (!snapcast_enabled && !pusher_commands) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "output-control disabled",
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
||||
className: "control speakers",
|
||||
"data-qa-node": "button",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
name: "speaker",
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
}
|
||||
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "output-control",
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
||||
className: "control speakers",
|
||||
onClick: function onClick(e) {
|
||||
return _this2.setExpanded();
|
||||
},
|
||||
"data-qa-node": "button",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
name: "speaker",
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
}
|
||||
}]);
|
||||
|
||||
return OutputControl;
|
||||
}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
className: "output-control",
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
||||
className: "control speakers",
|
||||
onClick: function onClick() {
|
||||
return setExpanded(true);
|
||||
},
|
||||
"data-qa-node": "button",
|
||||
"data-qa-file": "OutputControl"
|
||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
name: "speaker",
|
||||
"data-qa-node": "Icon",
|
||||
"data-qa-file": "OutputControl"
|
||||
})));
|
||||
};
|
||||
|
||||
var mapStateToProps = function mapStateToProps(state) {
|
||||
return {
|
||||
pusher_connected: state.pusher.connected,
|
||||
snapcast_enabled: state.pusher.config ? state.pusher.config.snapcast_enabled : null,
|
||||
show_disconnected_clients: state.ui.snapcast_show_disconnected_clients || false,
|
||||
snapcast_clients: state.snapcast.clients,
|
||||
snapcast_groups: state.snapcast.groups,
|
||||
snapcast_streams: state.snapcast.streams,
|
||||
pusher_commands: state.pusher.commands ? state.pusher.commands : {}
|
||||
snapcast_enabled: state.pusher.config ? state.pusher.config.snapcast_enabled : null
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user