Merge remote-tracking branch 'upstream/master' into vertical-menu
This commit is contained in:
commit
dd80697e61
376 changed files with 13120 additions and 15220 deletions
|
@ -1,19 +1,19 @@
|
|||
define(["loading", "libraryMenu", "dom", "emby-input", "emby-button"], function (loading, libraryMenu, dom) {
|
||||
"use strict";
|
||||
define(['loading', 'libraryMenu', 'dom', 'emby-input', 'emby-button'], function (loading, libraryMenu, dom) {
|
||||
'use strict';
|
||||
|
||||
function load(page, device, deviceOptions) {
|
||||
page.querySelector("#txtCustomName", page).value = deviceOptions.CustomName || "";
|
||||
page.querySelector(".reportedName", page).innerHTML = device.Name || "";
|
||||
page.querySelector('#txtCustomName', page).value = deviceOptions.CustomName || '';
|
||||
page.querySelector('.reportedName', page).innerHTML = device.Name || '';
|
||||
}
|
||||
|
||||
function loadData() {
|
||||
var page = this;
|
||||
loading.show();
|
||||
var id = getParameterByName("id");
|
||||
var promise1 = ApiClient.getJSON(ApiClient.getUrl("Devices/Info", {
|
||||
var id = getParameterByName('id');
|
||||
var promise1 = ApiClient.getJSON(ApiClient.getUrl('Devices/Info', {
|
||||
Id: id
|
||||
}));
|
||||
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Devices/Options", {
|
||||
var promise2 = ApiClient.getJSON(ApiClient.getUrl('Devices/Options', {
|
||||
Id: id
|
||||
}));
|
||||
Promise.all([promise1, promise2]).then(function (responses) {
|
||||
|
@ -23,28 +23,28 @@ define(["loading", "libraryMenu", "dom", "emby-input", "emby-button"], function
|
|||
}
|
||||
|
||||
function save(page) {
|
||||
var id = getParameterByName("id");
|
||||
var id = getParameterByName('id');
|
||||
ApiClient.ajax({
|
||||
url: ApiClient.getUrl("Devices/Options", {
|
||||
url: ApiClient.getUrl('Devices/Options', {
|
||||
Id: id
|
||||
}),
|
||||
type: "POST",
|
||||
type: 'POST',
|
||||
data: JSON.stringify({
|
||||
CustomName: page.querySelector("#txtCustomName").value
|
||||
CustomName: page.querySelector('#txtCustomName').value
|
||||
}),
|
||||
contentType: "application/json"
|
||||
contentType: 'application/json'
|
||||
}).then(Dashboard.processServerConfigurationUpdateResult);
|
||||
}
|
||||
|
||||
function onSubmit(e) {
|
||||
var form = this;
|
||||
save(dom.parentWithClass(form, "page"));
|
||||
save(dom.parentWithClass(form, 'page'));
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
return function (view, params) {
|
||||
view.querySelector("form").addEventListener("submit", onSubmit);
|
||||
view.addEventListener("viewshow", loadData);
|
||||
view.querySelector('form').addEventListener('submit', onSubmit);
|
||||
view.addEventListener('viewshow', loadData);
|
||||
};
|
||||
});
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
define(["loading", "dom", "libraryMenu", "globalize", "scripts/imagehelper", "date-fns", "dfnshelper", "emby-button", "emby-itemscontainer", "cardStyle"], function (loading, dom, libraryMenu, globalize, imageHelper, datefns, dfnshelper) {
|
||||
"use strict";
|
||||
define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'date-fns', 'dfnshelper', 'emby-button', 'emby-itemscontainer', 'cardStyle'], function (loading, dom, libraryMenu, globalize, imageHelper, datefns, dfnshelper) {
|
||||
'use strict';
|
||||
|
||||
function canDelete(deviceId) {
|
||||
return deviceId !== ApiClient.deviceId();
|
||||
}
|
||||
|
||||
function deleteDevice(page, id) {
|
||||
var msg = globalize.translate("DeleteDeviceConfirmation");
|
||||
var msg = globalize.translate('DeleteDeviceConfirmation');
|
||||
|
||||
require(["confirm"], function (confirm) {
|
||||
require(['confirm'], function (confirm) {
|
||||
confirm({
|
||||
text: msg,
|
||||
title: globalize.translate("HeaderDeleteDevice"),
|
||||
confirmText: globalize.translate("ButtonDelete"),
|
||||
primary: "delete"
|
||||
title: globalize.translate('HeaderDeleteDevice'),
|
||||
confirmText: globalize.translate('ButtonDelete'),
|
||||
primary: 'delete'
|
||||
}).then(function () {
|
||||
loading.show();
|
||||
ApiClient.ajax({
|
||||
type: "DELETE",
|
||||
url: ApiClient.getUrl("Devices", {
|
||||
type: 'DELETE',
|
||||
url: ApiClient.getUrl('Devices', {
|
||||
Id: id
|
||||
})
|
||||
}).then(function () {
|
||||
|
@ -33,31 +33,31 @@ define(["loading", "dom", "libraryMenu", "globalize", "scripts/imagehelper", "da
|
|||
|
||||
if (canEdit) {
|
||||
menuItems.push({
|
||||
name: globalize.translate("Edit"),
|
||||
id: "open",
|
||||
icon: "mode_edit"
|
||||
name: globalize.translate('Edit'),
|
||||
id: 'open',
|
||||
icon: 'mode_edit'
|
||||
});
|
||||
}
|
||||
|
||||
if (canDelete(deviceId)) {
|
||||
menuItems.push({
|
||||
name: globalize.translate("Delete"),
|
||||
id: "delete",
|
||||
icon: "delete"
|
||||
name: globalize.translate('Delete'),
|
||||
id: 'delete',
|
||||
icon: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
require(["actionsheet"], function (actionsheet) {
|
||||
require(['actionsheet'], function (actionsheet) {
|
||||
actionsheet.show({
|
||||
items: menuItems,
|
||||
positionTo: btn,
|
||||
callback: function (id) {
|
||||
switch (id) {
|
||||
case "open":
|
||||
Dashboard.navigate("device.html?id=" + deviceId);
|
||||
case 'open':
|
||||
Dashboard.navigate('device.html?id=' + deviceId);
|
||||
break;
|
||||
|
||||
case "delete":
|
||||
case 'delete':
|
||||
deleteDevice(view, deviceId);
|
||||
}
|
||||
}
|
||||
|
@ -66,74 +66,74 @@ define(["loading", "dom", "libraryMenu", "globalize", "scripts/imagehelper", "da
|
|||
}
|
||||
|
||||
function load(page, devices) {
|
||||
var html = "";
|
||||
var html = '';
|
||||
html += devices.map(function (device) {
|
||||
var deviceHtml = "";
|
||||
var deviceHtml = '';
|
||||
deviceHtml += "<div data-id='" + device.Id + "' class='card backdropCard'>";
|
||||
deviceHtml += '<div class="cardBox visualCardBox">';
|
||||
deviceHtml += '<div class="cardScalable">';
|
||||
deviceHtml += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
deviceHtml += '<a is="emby-linkbutton" href="' + (canEdit ? "device.html?id=" + device.Id : "#") + '" class="cardContent cardImageContainer">';
|
||||
deviceHtml += '<a is="emby-linkbutton" href="' + (canEdit ? 'device.html?id=' + device.Id : '#') + '" class="cardContent cardImageContainer">';
|
||||
var iconUrl = imageHelper.getDeviceIcon(device);
|
||||
|
||||
if (iconUrl) {
|
||||
deviceHtml += '<div class="cardImage" style="background-image:url(\'' + iconUrl + "');background-size: auto 64%;background-position:center center;\">";
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += '</div>';
|
||||
} else {
|
||||
deviceHtml += '<i class="cardImageIcon material-icons tablet_android"></i>';
|
||||
deviceHtml += '<span class="cardImageIcon material-icons tablet_android"></span>';
|
||||
}
|
||||
|
||||
deviceHtml += "</a>";
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += '</a>';
|
||||
deviceHtml += '</div>';
|
||||
deviceHtml += '<div class="cardFooter">';
|
||||
|
||||
if (canEdit || canDelete(device.Id)) {
|
||||
deviceHtml += '<div style="text-align:right; float:right;padding-top:5px;">';
|
||||
deviceHtml += '<button type="button" is="paper-icon-button-light" data-id="' + device.Id + '" title="' + globalize.translate("Menu") + '" class="btnDeviceMenu"><i class="material-icons more_vert"></i></button>';
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += '<button type="button" is="paper-icon-button-light" data-id="' + device.Id + '" title="' + globalize.translate('Menu') + '" class="btnDeviceMenu"><span class="material-icons more_vert"></span></button>';
|
||||
deviceHtml += '</div>';
|
||||
}
|
||||
|
||||
deviceHtml += "<div class='cardText'>";
|
||||
deviceHtml += device.Name;
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += '</div>';
|
||||
deviceHtml += "<div class='cardText cardText-secondary'>";
|
||||
deviceHtml += device.AppName + " " + device.AppVersion;
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += device.AppName + ' ' + device.AppVersion;
|
||||
deviceHtml += '</div>';
|
||||
deviceHtml += "<div class='cardText cardText-secondary'>";
|
||||
|
||||
if (device.LastUserName) {
|
||||
deviceHtml += device.LastUserName;
|
||||
deviceHtml += ", " + datefns.formatDistanceToNow(Date.parse(device.DateLastActivity), dfnshelper.localeWithSuffix);
|
||||
deviceHtml += ', ' + datefns.formatDistanceToNow(Date.parse(device.DateLastActivity), dfnshelper.localeWithSuffix);
|
||||
}
|
||||
|
||||
deviceHtml += " ";
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += "</div>";
|
||||
deviceHtml += ' ';
|
||||
deviceHtml += '</div>';
|
||||
deviceHtml += '</div>';
|
||||
deviceHtml += '</div>';
|
||||
deviceHtml += '</div>';
|
||||
return deviceHtml;
|
||||
}).join("");
|
||||
page.querySelector(".devicesList").innerHTML = html;
|
||||
}).join('');
|
||||
page.querySelector('.devicesList').innerHTML = html;
|
||||
}
|
||||
|
||||
function loadData(page) {
|
||||
loading.show();
|
||||
ApiClient.getJSON(ApiClient.getUrl("Devices")).then(function (result) {
|
||||
ApiClient.getJSON(ApiClient.getUrl('Devices')).then(function (result) {
|
||||
load(page, result.Items);
|
||||
loading.hide();
|
||||
});
|
||||
}
|
||||
|
||||
var canEdit = ApiClient.isMinServerVersion("3.4.1.31");
|
||||
var canEdit = ApiClient.isMinServerVersion('3.4.1.31');
|
||||
return function (view, params) {
|
||||
view.querySelector(".devicesList").addEventListener("click", function (e) {
|
||||
var btnDeviceMenu = dom.parentWithClass(e.target, "btnDeviceMenu");
|
||||
view.querySelector('.devicesList').addEventListener('click', function (e) {
|
||||
var btnDeviceMenu = dom.parentWithClass(e.target, 'btnDeviceMenu');
|
||||
|
||||
if (btnDeviceMenu) {
|
||||
showDeviceMenu(view, btnDeviceMenu, btnDeviceMenu.getAttribute("data-id"));
|
||||
showDeviceMenu(view, btnDeviceMenu, btnDeviceMenu.getAttribute('data-id'));
|
||||
}
|
||||
});
|
||||
view.addEventListener("viewshow", function () {
|
||||
view.addEventListener('viewshow', function () {
|
||||
loadData(this);
|
||||
});
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue