sync with regular mpd
This commit is contained in:
parent
33361a4552
commit
0b9a1ad7af
6 changed files with 26 additions and 27 deletions
|
@ -1,3 +1,2 @@
|
||||||
cyp-library {
|
cyp-library {
|
||||||
cyp-song .subtitle { display: none; }
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,7 @@ cyp-song {
|
||||||
|
|
||||||
.subtitle { .ellipsis; }
|
.subtitle { .ellipsis; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cyp-queue & .track { display: none; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -19,7 +19,7 @@ function createEnqueueCommand(node) {
|
||||||
`sort ${SORT}`
|
`sort ${SORT}`
|
||||||
].join(" ");
|
].join(" ");
|
||||||
} else {
|
} else {
|
||||||
throw new Exception(`Cannot create enqueue command for "${node.nodeName}"`);
|
throw new Error(`Cannot create enqueue command for "${node.nodeName}"`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,38 +5,36 @@ import Item from "../item.js";
|
||||||
export default class Song extends Item {
|
export default class Song extends Item {
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super();
|
super();
|
||||||
this.data = data;
|
this.data = data; // FIXME verejne?
|
||||||
this.dataset.songId = data["Id"];
|
this.dataset.songId = data["Id"]; // FIXME toto maji jen ve fronte
|
||||||
}
|
}
|
||||||
|
|
||||||
connectedCallback() {
|
connectedCallback() {
|
||||||
let block = html.node("div", {className:"multiline"}, "", this);
|
const data = this.data;
|
||||||
|
|
||||||
let lines = formatSongInfo(this.data);
|
const block = html.node("div", {className:"multiline"}, "", this);
|
||||||
block.appendChild(this._buildTitle(lines.shift()));
|
|
||||||
|
|
||||||
lines.length && html.node("span", {className:"subtitle"}, lines.shift(), block);
|
const title = this._buildTitle(data);
|
||||||
|
block.appendChild(title);
|
||||||
|
if (data["Track"]) {
|
||||||
|
const track = html.node("span", {className:"track"}, data["Track"].padStart(2, "0"));
|
||||||
|
title.insertBefore(html.text(" "), title.firstChild);
|
||||||
|
title.insertBefore(track, title.firstChild);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data["Title"]) {
|
||||||
|
const subtitle = format.subtitle(data);
|
||||||
|
html.node("span", {className:"subtitle"}, subtitle, block);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_buildTitle(data) {
|
||||||
|
return super._buildTitle(data["Title"] || fileName(data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
customElements.define("cyp-song", Song);
|
customElements.define("cyp-song", Song);
|
||||||
|
|
||||||
|
|
||||||
// FIXME vyfaktorovat nekam do haje
|
|
||||||
function formatSongInfo(data) {
|
|
||||||
let lines = [];
|
|
||||||
|
|
||||||
if (data["Title"]) {
|
|
||||||
lines.push(data["Title"]);
|
|
||||||
lines.push(format.subtitle(data));
|
|
||||||
} else {
|
|
||||||
lines.push(fileName(data));
|
|
||||||
lines.push("\u00A0");
|
|
||||||
}
|
|
||||||
|
|
||||||
return lines;
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME vyfaktorovat nekam do haje
|
// FIXME vyfaktorovat nekam do haje
|
||||||
function fileName(data) {
|
function fileName(data) {
|
||||||
return data["file"].split("/").pop();
|
return data["file"].split("/").pop();
|
||||||
|
|
|
@ -95,9 +95,9 @@ export async function listPath(path) {
|
||||||
return parser.pathContents(lines);
|
return parser.pathContents(lines);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function listTags(tag, filter = null) {
|
export async function listTags(tag, filter = {}) {
|
||||||
let tokens = ["list", tag];
|
let tokens = ["list", tag];
|
||||||
if (filter) {
|
if (Object.keys(filter).length) {
|
||||||
tokens.push(serializeFilter(filter));
|
tokens.push(serializeFilter(filter));
|
||||||
|
|
||||||
let fakeGroup = Object.keys(filter)[0]; // FIXME hack for MPD < 0.21.6
|
let fakeGroup = Object.keys(filter)[0]; // FIXME hack for MPD < 0.21.6
|
||||||
|
|
Loading…
Reference in a new issue