mirror of
https://github.com/rr-/szurubooru.git
synced 2025-07-17 08:26:24 +00:00
client/tags: merging can now also add aliases
This commit is contained in:
@ -97,16 +97,19 @@ class TagController {
|
||||
_evtMerge(e) {
|
||||
this._view.clearMessages();
|
||||
this._view.disableForm();
|
||||
e.detail.tag.merge(e.detail.targetTagName).then(() => {
|
||||
this._view.showSuccess('Tag merged.');
|
||||
this._view.enableForm();
|
||||
router.replace(
|
||||
uri.formatClientLink('tag', e.detail.targetTagName, 'merge'),
|
||||
null, false);
|
||||
}, error => {
|
||||
this._view.showError(error.message);
|
||||
this._view.enableForm();
|
||||
});
|
||||
e.detail.tag
|
||||
.merge(e.detail.targetTagName, e.detail.addAlias)
|
||||
.then(() => {
|
||||
this._view.showSuccess('Tag merged.');
|
||||
this._view.enableForm();
|
||||
router.replace(
|
||||
uri.formatClientLink(
|
||||
'tag', e.detail.targetTagName, 'merge'),
|
||||
null, false);
|
||||
}, error => {
|
||||
this._view.showError(error.message);
|
||||
this._view.enableForm();
|
||||
});
|
||||
}
|
||||
|
||||
_evtDelete(e) {
|
||||
|
@ -75,7 +75,7 @@ class Tag extends events.EventTarget {
|
||||
});
|
||||
}
|
||||
|
||||
merge(targetName) {
|
||||
merge(targetName, addAlias) {
|
||||
return api.get(uri.formatApiLink('tag', targetName))
|
||||
.then(response => {
|
||||
return api.post(uri.formatApiLink('tag-merge'), {
|
||||
@ -84,6 +84,14 @@ class Tag extends events.EventTarget {
|
||||
mergeToVersion: response.version,
|
||||
mergeTo: targetName,
|
||||
});
|
||||
}).then(response => {
|
||||
if (!addAlias) {
|
||||
return Promise.resolve(response);
|
||||
}
|
||||
return api.put(uri.formatApiLink('tag', targetName), {
|
||||
version: response.version,
|
||||
names: response.names.concat(this._names),
|
||||
});
|
||||
}).then(response => {
|
||||
this._updateFromResponse(response);
|
||||
this.dispatchEvent(new CustomEvent('change', {
|
||||
|
@ -51,6 +51,7 @@ class TagMergeView extends events.EventTarget {
|
||||
detail: {
|
||||
tag: this._tag,
|
||||
targetTagName: this._targetTagFieldNode.value,
|
||||
addAlias: this._addAliasCheckboxNode.checked,
|
||||
},
|
||||
}));
|
||||
}
|
||||
@ -60,7 +61,11 @@ class TagMergeView extends events.EventTarget {
|
||||
}
|
||||
|
||||
get _targetTagFieldNode() {
|
||||
return this._formNode.querySelector('.target input');
|
||||
return this._formNode.querySelector('input[name=target-tag]');
|
||||
}
|
||||
|
||||
get _addAliasCheckboxNode() {
|
||||
return this._formNode.querySelector('input[name=alias]');
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user