mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
add delete button and fix some variable issues
This commit is contained in:
parent
75504ec8e4
commit
9e2e2a3438
1 changed files with 18 additions and 8 deletions
|
@ -5,19 +5,19 @@ import dialogHelper from 'dialogHelper';
|
||||||
import 'emby-button';
|
import 'emby-button';
|
||||||
import 'emby-checkbox';
|
import 'emby-checkbox';
|
||||||
import 'emby-select';
|
import 'emby-select';
|
||||||
import 'cardStyle';
|
|
||||||
import 'formDialogStyle';
|
import 'formDialogStyle';
|
||||||
|
import 'listViewStyle';
|
||||||
|
|
||||||
let repositories = [];
|
let repositories = [];
|
||||||
|
|
||||||
function reloadList(page) {
|
function reloadList(page) {
|
||||||
loading.show();
|
loading.show();
|
||||||
ApiClient.getJSON(ApiClient.getUrl('Repositories')).then(repositories => {
|
ApiClient.getJSON(ApiClient.getUrl('Repositories')).then(list => {
|
||||||
this.repositories = repositories;
|
repositories = list;
|
||||||
populateList({
|
populateList({
|
||||||
listElement: page.querySelector('#repositories'),
|
listElement: page.querySelector('#repositories'),
|
||||||
noneElement: page.querySelector('#none'),
|
noneElement: page.querySelector('#none'),
|
||||||
repositories: this.repositories
|
repositories: repositories
|
||||||
});
|
});
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
page.querySelector('#none').classList.remove('hide');
|
page.querySelector('#none').classList.remove('hide');
|
||||||
|
@ -57,12 +57,15 @@ function populateList(options) {
|
||||||
function getRepositoryHtml(repository) {
|
function getRepositoryHtml(repository) {
|
||||||
var html = '';
|
var html = '';
|
||||||
|
|
||||||
html += `<a is="emby-linkbutton" href="${repository.Url}" target="_blank" class="listItem listItem-border" style="color:inherit;">`;
|
html += '<div class="listItem listItem-border">';
|
||||||
html += '<div class="listItemBody two-line">';
|
html += '<div class="listItemBody two-line">';
|
||||||
|
html += `<a is="emby-linkbutton" class="clearLink" style="margin:0;padding:0;display:block;text-align:left" href="${repository.Url}" target="_blank">`;
|
||||||
html += `<h3 class='listItemBodyText'>${repository.Name}</h3>`;
|
html += `<h3 class='listItemBodyText'>${repository.Name}</h3>`;
|
||||||
html += `<div class="listItemBodyText secondary">${repository.Url}</div>`;
|
html += `<div class="listItemBodyText secondary">${repository.Url}</div>`;
|
||||||
html += '</div>';
|
|
||||||
html += '</a>';
|
html += '</a>';
|
||||||
|
html += '</div>';
|
||||||
|
html += `<button type="button" is="paper-icon-button-light" id="${repository.Url}" class="btnDelete" title="${globalize.translate('ButtonDelete')}"><span class="material-icons delete"></span></button>`;
|
||||||
|
html += '</div>';
|
||||||
|
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
|
@ -84,6 +87,13 @@ export default function(view, params) {
|
||||||
view.addEventListener('viewshow', function () {
|
view.addEventListener('viewshow', function () {
|
||||||
libraryMenu.setTabs('plugins', 2, getTabs);
|
libraryMenu.setTabs('plugins', 2, getTabs);
|
||||||
reloadList(this);
|
reloadList(this);
|
||||||
|
|
||||||
|
var save = this;
|
||||||
|
$('#repositories', view).on('click', '.btnDelete', function() {
|
||||||
|
repositories = repositories.splice(repositories.indexOf(this.id), 1);
|
||||||
|
saveList();
|
||||||
|
reloadList(save);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
view.querySelector('.btnNewRepository').addEventListener('click', () => {
|
view.querySelector('.btnNewRepository').addEventListener('click', () => {
|
||||||
|
@ -100,7 +110,7 @@ export default function(view, params) {
|
||||||
html += '<button type="button" is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><span class="material-icons arrow_back"></span></button>';
|
html += '<button type="button" is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><span class="material-icons arrow_back"></span></button>';
|
||||||
html += `<h3 class="formDialogHeaderTitle">${globalize.translate('HeaderNewRepository')}</h3>`;
|
html += `<h3 class="formDialogHeaderTitle">${globalize.translate('HeaderNewRepository')}</h3>`;
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
html += '<form style="margin: 4em">';
|
html += '<form class="newPluginForm" style="margin:4em">';
|
||||||
html += '<div class="inputContainer">';
|
html += '<div class="inputContainer">';
|
||||||
html += `<input is="emby-input" type="text" id="txtRepositoryName" label="${globalize.translate('LabelRepositoryName')}" />`;
|
html += `<input is="emby-input" type="text" id="txtRepositoryName" label="${globalize.translate('LabelRepositoryName')}" />`;
|
||||||
html += `<div class="fieldDescription">${globalize.translate('LabelRepositoryNameHelp')}</div>`;
|
html += `<div class="fieldDescription">${globalize.translate('LabelRepositoryNameHelp')}</div>`;
|
||||||
|
@ -118,7 +128,7 @@ export default function(view, params) {
|
||||||
dialogHelper.close(dialog);
|
dialogHelper.close(dialog);
|
||||||
});
|
});
|
||||||
|
|
||||||
dialog.querySelector('.button-submit').addEventListener('click', () => {
|
dialog.querySelector('.newPluginForm').addEventListener('submit', () => {
|
||||||
repositories.push({
|
repositories.push({
|
||||||
Name: dialog.querySelector('#txtRepositoryName').value,
|
Name: dialog.querySelector('#txtRepositoryName').value,
|
||||||
Url: dialog.querySelector('#txtRepositoryUrl').value,
|
Url: dialog.querySelector('#txtRepositoryUrl').value,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue