mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Draw updated tags immediately
This commit is contained in:
@@ -14,7 +14,7 @@ import {
|
|||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
import { FILTER_TYPES, FILTER_STATES, DEFAULT_FILTER_STATE, isFilterState, FilterHelper } from './filters.js';
|
import { FILTER_TYPES, FILTER_STATES, DEFAULT_FILTER_STATE, isFilterState, FilterHelper } from './filters.js';
|
||||||
|
|
||||||
import { groupCandidatesFilter, groups, selected_group } from './group-chats.js';
|
import { groupCandidatesFilter, groups, select_group_chats, selected_group } from './group-chats.js';
|
||||||
import { download, onlyUnique, parseJsonFile, uuidv4, getSortableDelay, flashHighlight } from './utils.js';
|
import { download, onlyUnique, parseJsonFile, uuidv4, getSortableDelay, flashHighlight } from './utils.js';
|
||||||
import { power_user } from './power-user.js';
|
import { power_user } from './power-user.js';
|
||||||
import { SlashCommandParser } from './slash-commands/SlashCommandParser.js';
|
import { SlashCommandParser } from './slash-commands/SlashCommandParser.js';
|
||||||
@@ -1530,7 +1530,9 @@ function registerTagsSlashCommands() {
|
|||||||
* @returns {string?} - The char/group key, or null if none found
|
* @returns {string?} - The char/group key, or null if none found
|
||||||
*/
|
*/
|
||||||
function paraGetCharKey(charName) {
|
function paraGetCharKey(charName) {
|
||||||
const entity = charName ? characters.find(x => x.name === charName) || groups.find(x => x.name == charName) : characters[this_chid] || groups[selected_group];
|
const entity = charName
|
||||||
|
? (characters.find(x => x.name === charName) || groups.find(x => x.name == charName))
|
||||||
|
: (selected_group ? groups.find(x => x.id == selected_group) : characters[this_chid]);
|
||||||
const key = getTagKeyForEntity(entity);
|
const key = getTagKeyForEntity(entity);
|
||||||
if (!key) {
|
if (!key) {
|
||||||
toastr.warning(`Character ${charName} not found.`);
|
toastr.warning(`Character ${charName} not found.`);
|
||||||
@@ -1547,7 +1549,7 @@ function registerTagsSlashCommands() {
|
|||||||
*/
|
*/
|
||||||
function paraGetTag(tagName, { allowCreate = false } = {}) {
|
function paraGetTag(tagName, { allowCreate = false } = {}) {
|
||||||
if (!tagName) {
|
if (!tagName) {
|
||||||
toastr.warning(`Tag name must be provided.`);
|
toastr.warning('Tag name must be provided.');
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
let tag = tags.find(t => t.name === tagName);
|
let tag = tags.find(t => t.name === tagName);
|
||||||
@@ -1561,6 +1563,21 @@ function registerTagsSlashCommands() {
|
|||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateTagsList() {
|
||||||
|
switch (menu_type) {
|
||||||
|
case 'characters':
|
||||||
|
printTagFilters(tag_filter_types.character);
|
||||||
|
printTagFilters(tag_filter_types.group_member);
|
||||||
|
break;
|
||||||
|
case 'character_edit':
|
||||||
|
applyTagsOnCharacterSelect();
|
||||||
|
break;
|
||||||
|
case 'group_edit':
|
||||||
|
select_group_chats(selected_group, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SlashCommandParser.addCommandObject(SlashCommand.fromProps({
|
SlashCommandParser.addCommandObject(SlashCommand.fromProps({
|
||||||
name: 'tag-add',
|
name: 'tag-add',
|
||||||
returns: 'true/false - Whether the tag was added or was assigned already',
|
returns: 'true/false - Whether the tag was added or was assigned already',
|
||||||
@@ -1571,6 +1588,7 @@ function registerTagsSlashCommands() {
|
|||||||
const tag = paraGetTag(tagName, { allowCreate: true });
|
const tag = paraGetTag(tagName, { allowCreate: true });
|
||||||
if (!tag) return 'false';
|
if (!tag) return 'false';
|
||||||
const result = addTagToEntity(tag, key);
|
const result = addTagToEntity(tag, key);
|
||||||
|
updateTagsList();
|
||||||
return String(result);
|
return String(result);
|
||||||
},
|
},
|
||||||
namedArgumentList: [
|
namedArgumentList: [
|
||||||
@@ -1605,6 +1623,7 @@ function registerTagsSlashCommands() {
|
|||||||
const tag = paraGetTag(tagName);
|
const tag = paraGetTag(tagName);
|
||||||
if (!tag) return 'false';
|
if (!tag) return 'false';
|
||||||
const result = removeTagFromEntity(tag, key);
|
const result = removeTagFromEntity(tag, key);
|
||||||
|
updateTagsList();
|
||||||
return String(result);
|
return String(result);
|
||||||
},
|
},
|
||||||
namedArgumentList: [
|
namedArgumentList: [
|
||||||
|
Reference in New Issue
Block a user