mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
added editor indicators for offline and locked
This commit is contained in:
parent
f2de7a8983
commit
4ee479b819
7 changed files with 61 additions and 13 deletions
BIN
dashboard-ui/css/images/editor/lock.png
Normal file
BIN
dashboard-ui/css/images/editor/lock.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 774 B |
|
@ -14,6 +14,18 @@
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.offlineEditorNode {
|
||||||
|
color: #cc3333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.editorNode img {
|
||||||
|
height: 18px;
|
||||||
|
margin: 0 .35em;
|
||||||
|
vertical-align: middle;
|
||||||
|
position: relative;
|
||||||
|
top: -2px;
|
||||||
|
}
|
||||||
|
|
||||||
@media all and (min-width: 600px) {
|
@media all and (min-width: 600px) {
|
||||||
|
|
||||||
.editPageSidebar {
|
.editPageSidebar {
|
||||||
|
|
|
@ -260,7 +260,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul id="ulSave" data-role="listview" class="ulForm" style="display: none;">
|
||||||
<li>
|
<li>
|
||||||
<button type="submit" data-theme="b" data-icon="ok">
|
<button type="submit" data-theme="b" data-icon="ok">
|
||||||
Save
|
Save
|
||||||
|
|
|
@ -20,7 +20,9 @@
|
||||||
<a href="#" data-role="button" class="ui-btn-active">People</a>
|
<a href="#" data-role="button" class="ui-btn-active">People</a>
|
||||||
<a href="#" data-role="button" id="btnEditImages">Images</a>
|
<a href="#" data-role="button" id="btnEditImages">Images</a>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" data-icon="plus" data-inline="true" onclick="EditItemPeoplePage.addPerson();">Add Person</button>
|
<div id="divAddPerson" style="display: none;">
|
||||||
|
<button type="button" data-icon="plus" data-inline="true" onclick="EditItemPeoplePage.addPerson();">Add Person</button>
|
||||||
|
</div>
|
||||||
<div class="itemsContainer" id="peopleContainer" style="text-align: left;"></div>
|
<div class="itemsContainer" id="peopleContainer" style="text-align: left;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
Dashboard.getCurrentUser().done(function (user) {
|
Dashboard.getCurrentUser().done(function (user) {
|
||||||
|
|
||||||
if (user.Configuration.IsAdministrator && item.LocationType !== "Offline") {
|
if (user.Configuration.IsAdministrator) {
|
||||||
$('#editButtonContainer', page).show();
|
$('#editButtonContainer', page).show();
|
||||||
} else {
|
} else {
|
||||||
$('#editButtonContainer', page).hide();
|
$('#editButtonContainer', page).hide();
|
||||||
|
|
|
@ -9,9 +9,26 @@
|
||||||
if (item.IndexNumber != null && item.Type != "Season") {
|
if (item.IndexNumber != null && item.Type != "Season") {
|
||||||
name = item.IndexNumber + " - " + name;
|
name = item.IndexNumber + " - " + name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var cssClass = "editorNode";
|
||||||
|
|
||||||
|
if (item.LocationType == "Offline") {
|
||||||
|
cssClass += " offlineEditorNode";
|
||||||
|
}
|
||||||
|
|
||||||
|
var htmlName = "<div class='" + cssClass + "'>";
|
||||||
|
|
||||||
|
if (item.DontFetchMeta) {
|
||||||
|
htmlName += '<img src="css/images/editor/lock.png" />';
|
||||||
|
}
|
||||||
|
|
||||||
|
htmlName += name;
|
||||||
|
|
||||||
|
htmlName += "</div>";
|
||||||
|
|
||||||
var rel = item.IsFolder ? 'folder' : 'default';
|
var rel = item.IsFolder ? 'folder' : 'default';
|
||||||
|
|
||||||
return { attr: { id: item.Id, rel: rel, itemtype: item.Type }, data: name, state: state };
|
return { attr: { id: item.Id, rel: rel, itemtype: item.Type }, data: htmlName, state: state };
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadNode(page, node, openItems, selectedId, callback) {
|
function loadNode(page, node, openItems, selectedId, callback) {
|
||||||
|
@ -88,7 +105,7 @@
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
core: { initially_open: [], load_open: true },
|
core: { initially_open: [], load_open: true, html_titles: true },
|
||||||
ui: { initially_select: [] },
|
ui: { initially_select: [] },
|
||||||
|
|
||||||
themes: {
|
themes: {
|
||||||
|
@ -293,6 +310,12 @@
|
||||||
|
|
||||||
MetadataEditor.getItemPromise().done(function (item) {
|
MetadataEditor.getItemPromise().done(function (item) {
|
||||||
|
|
||||||
|
if (item.LocationType == "Offline") {
|
||||||
|
$('#ulSave', page).hide();
|
||||||
|
} else {
|
||||||
|
$('#ulSave', page).show();
|
||||||
|
}
|
||||||
|
|
||||||
$('#btnRefresh', page).button('enable');
|
$('#btnRefresh', page).button('enable');
|
||||||
|
|
||||||
$('#refreshLoading', page).hide();
|
$('#refreshLoading', page).hide();
|
||||||
|
|
|
@ -18,6 +18,12 @@
|
||||||
|
|
||||||
$('#btnRefresh', page).button('enable');
|
$('#btnRefresh', page).button('enable');
|
||||||
|
|
||||||
|
if (item.LocationType == "Offline") {
|
||||||
|
$('#divAddPerson', page).hide();
|
||||||
|
} else {
|
||||||
|
$('#divAddPerson', page).show();
|
||||||
|
}
|
||||||
|
|
||||||
$('#refreshLoading', page).hide();
|
$('#refreshLoading', page).hide();
|
||||||
|
|
||||||
currentItem = item;
|
currentItem = item;
|
||||||
|
@ -25,22 +31,22 @@
|
||||||
LibraryBrowser.renderName(item, $('.itemName', page), true);
|
LibraryBrowser.renderName(item, $('.itemName', page), true);
|
||||||
updateTabs(page, item);
|
updateTabs(page, item);
|
||||||
|
|
||||||
fillPeopleContainer(item.People, $('#peopleContainer', page));
|
fillPeopleContainer(item, item.People, $('#peopleContainer', page));
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function fillPeopleContainer(people, container) {
|
function fillPeopleContainer(item, people, container) {
|
||||||
people = people || new Array();
|
people = people || new Array();
|
||||||
var html = '';
|
var html = '';
|
||||||
for (var i = 0; i < people.length; i++) {
|
for (var i = 0; i < people.length; i++) {
|
||||||
html += constructPerson(people[i]);
|
html += constructPerson(item, people[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
container.html(html).trigger('create');
|
container.html(html).trigger('create');
|
||||||
}
|
}
|
||||||
|
|
||||||
function constructPerson(person) {
|
function constructPerson(item, person) {
|
||||||
var html = '<div class="tileItem posterTileItem">';
|
var html = '<div class="tileItem posterTileItem">';
|
||||||
var imgUrl;
|
var imgUrl;
|
||||||
var name = person.Name || "";
|
var name = person.Name || "";
|
||||||
|
@ -85,9 +91,14 @@
|
||||||
html += '</span>';
|
html += '</span>';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
html += '<p>';
|
html += '<p>';
|
||||||
html += '<span class="read">';
|
|
||||||
html += '<button type="button" class="edit" data-mini="true" data-inline="true" onclick="EditItemPeoplePage.displayEdit(this)">Edit</button>';
|
if (item.LocationType !== "Offline") {
|
||||||
html += '</span><span style="display:none;" class="edit">';
|
html += '<span class="read">';
|
||||||
|
html += '<button type="button" class="edit" data-mini="true" data-inline="true" onclick="EditItemPeoplePage.displayEdit(this)">Edit</button>';
|
||||||
|
html += '</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
html += '<span style="display:none;" class="edit">';
|
||||||
html += '<button type="button" data-mini="true" data-inline="true" onclick="EditItemPeoplePage.hideEdit(this)">Cancel</button>';
|
html += '<button type="button" data-mini="true" data-inline="true" onclick="EditItemPeoplePage.hideEdit(this)">Cancel</button>';
|
||||||
html += '<button type="button" data-icon="check" data-mini="true" data-inline="true" data-theme="b" onclick="EditItemPeoplePage.savePerson(this)">Save</button>';
|
html += '<button type="button" data-icon="check" data-mini="true" data-inline="true" data-theme="b" onclick="EditItemPeoplePage.savePerson(this)">Save</button>';
|
||||||
html += '<button type="button" data-icon="delete" data-mini="true" data-inline="true" onclick="EditItemPeoplePage.removePerson(this)">Delete</button>';
|
html += '<button type="button" data-icon="delete" data-mini="true" data-inline="true" onclick="EditItemPeoplePage.removePerson(this)">Delete</button>';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue