Fix: Tag Interface Delete Button #104256
@ -2,12 +2,6 @@
|
|||||||
<div class="col col-tags-list">
|
<div class="col col-tags-list">
|
||||||
<h2 class="column-title">Available Tags</h2>
|
<h2 class="column-title">Available Tags</h2>
|
||||||
|
|
||||||
<div class="action-buttons btn-bar-group">
|
|
||||||
<div class="btn-bar">
|
|
||||||
<button @click="deleteTag" :disabled="!selectedTag">Delete Tag</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="action-buttons btn-bar">
|
<div class="action-buttons btn-bar">
|
||||||
<form @submit="createTag">
|
<form @submit="createTag">
|
||||||
<div class="create-tag-container">
|
<div class="create-tag-container">
|
||||||
@ -126,12 +120,37 @@ export default {
|
|||||||
|
|
||||||
const tag_options = {
|
const tag_options = {
|
||||||
columns: [
|
columns: [
|
||||||
{ title: 'Name', field: 'name', sorter: 'string', editor: 'input' },
|
{
|
||||||
|
title: "",
|
||||||
|
headerHozAlign: "right",
|
||||||
|
formatter: (cell) => {
|
||||||
|
const button = document.createElement("button");
|
||||||
|
button.classList.add("remove-tag-button");
|
||||||
|
button.innerHTML = "X";
|
||||||
|
button.addEventListener("click", () => {
|
||||||
|
const tag = cell.getRow().getData();
|
||||||
|
this.deleteTag(tag);
|
||||||
|
});
|
||||||
|
|
||||||
|
return button;
|
||||||
|
},
|
||||||
|
headerSort: false,
|
||||||
|
vertAlign: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Name",
|
||||||
|
field: "name",
|
||||||
|
sorter: "string",
|
||||||
|
editor: "input",
|
||||||
|
vertAlign: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: 'Description',
|
title: 'Description',
|
||||||
field: 'description',
|
field: 'description',
|
||||||
sorter: 'string',
|
sorter: 'string',
|
||||||
editor: 'input',
|
editor: 'input',
|
||||||
|
vertAlign: "center",
|
||||||
|
|
||||||
formatter(cell) {
|
formatter(cell) {
|
||||||
const cellValue = cell.getData().description;
|
const cellValue = cell.getData().description;
|
||||||
if (!cellValue) {
|
if (!cellValue) {
|
||||||
@ -144,11 +163,10 @@ export default {
|
|||||||
layout: 'fitData',
|
layout: 'fitData',
|
||||||
layoutColumnsOnNewData: true,
|
layoutColumnsOnNewData: true,
|
||||||
height: '82%',
|
height: '82%',
|
||||||
selectable: true,
|
selectable: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
this.tabulator = new Tabulator('#tag-table-container', tag_options);
|
this.tabulator = new Tabulator('#tag-table-container', tag_options);
|
||||||
this.tabulator.on('rowClick', this.onRowClick);
|
|
||||||
this.tabulator.on('tableBuilt', () => {
|
this.tabulator.on('tableBuilt', () => {
|
||||||
this.fetchTags();
|
this.fetchTags();
|
||||||
});
|
});
|
||||||
@ -211,17 +229,16 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteTag() {
|
deleteTag(tag) {
|
||||||
if (!this.selectedTag) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const api = new WorkerMgtApi(getAPIClient());
|
const api = new WorkerMgtApi(getAPIClient());
|
||||||
api
|
api
|
||||||
.deleteWorkerTag(this.selectedTag.id)
|
.deleteWorkerTag(tag.id)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.selectedTag = null;
|
this.tabulator.getRows().forEach((row) => {
|
||||||
this.tabulator.setData(this.tags);
|
if (row.getData().id === tag.id) {
|
||||||
|
row.delete();
|
||||||
|
}
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
const errorMsg = JSON.stringify(error);
|
const errorMsg = JSON.stringify(error);
|
||||||
@ -229,17 +246,6 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onRowClick(event, row) {
|
|
||||||
const tag = row.getData();
|
|
||||||
const rowIndex = row.getIndex();
|
|
||||||
|
|
||||||
this.tabulator.deselectRow();
|
|
||||||
this.tabulator.selectRow(rowIndex);
|
|
||||||
|
|
||||||
this.selectedTag = tag;
|
|
||||||
this.activeRowIndex = rowIndex;
|
|
||||||
},
|
|
||||||
|
|
||||||
// SocketIO connection event handlers:
|
// SocketIO connection event handlers:
|
||||||
onSIOReconnected() {
|
onSIOReconnected() {
|
||||||
this.fetchTags();
|
this.fetchTags();
|
||||||
|
Loading…
Reference in New Issue
Block a user