From 2d176fa85f3b4bb5f2ea7e02f118fa1f4b930616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20=20Sk=C3=B6ld?= Date: Mon, 29 Jul 2024 14:49:26 +0200 Subject: [PATCH] Change sort characters by series from a boolean to a combo list. --- README.md | 2 +- src/character_select.py | 10 +++++----- web/js/{sortBySeries.js => sortCharactersBy.js} | 10 +++++++--- 3 files changed, 13 insertions(+), 9 deletions(-) rename web/js/{sortBySeries.js => sortCharactersBy.js} (78%) diff --git a/README.md b/README.md index ba472e7..d9d189c 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ In the ComfyUI settings, you can modify various settings. Some changes will appl | Max Difference in Lora Loading | 0 - 100 | Specifies the maximum allowable difference between a tag and a LoRa for it to be loaded. | | Random Characters from Favourites Only | True / False | Ensures random characters are selected only from your favorited characters. | | Remove Lora Path | True / False | Removes the path information from loras and only keeps the name. | -| Sort Characters By Series | True / False | Sorts characters by their series instead of alphabetically. | +| Sort Characters By | Alphabetically
Series | Sorts characters either alphabetically or by their series. | | Sort Loras By | Alphabetically
Last Changed | Sorts loras either alphabetically or by latest changed. | ## Important Note diff --git a/src/character_select.py b/src/character_select.py index 4598b83..2b7bf02 100644 --- a/src/character_select.py +++ b/src/character_select.py @@ -28,7 +28,7 @@ class CharacterSelectNode: character_dict = {} final_character_dict = {} final_characters = [] - cached_sorting_setting = ConfigReader.get_setting("sn0w.SortBySeries", False) + cached_sorting_setting = ConfigReader.get_setting("sn0w.SortCharactersBy", "alphabetical") cached_default_character_setting = ConfigReader.get_setting("sn0w.DisableDefaultCharacters", False) last_character = "" @@ -56,7 +56,7 @@ class CharacterSelectNode: ): cls.cached_default_character_setting = ConfigReader.get_setting("sn0w.DisableDefaultCharacters", False) cls.initialize() - elif cls.cached_sorting_setting != ConfigReader.get_setting("sn0w.SortBySeries", False): + elif cls.cached_sorting_setting != ConfigReader.get_setting("sn0w.SortCharactersBy", "alphabetical"): cls.sort_characters() @classmethod @@ -92,13 +92,13 @@ class CharacterSelectNode: @classmethod def sort_characters(cls, force_sort=False): - current_sorting_setting = ConfigReader.get_setting("sn0w.SortBySeries", False) + current_sorting_setting = ConfigReader.get_setting("sn0w.SortCharactersBy", "alphabetical") if current_sorting_setting != cls.cached_sorting_setting or force_sort: - if current_sorting_setting: + if current_sorting_setting == "series": cls.final_character_dict = { name: cls.character_dict[name] for name in sorted(cls.character_dict, key=cls.extract_series_name) } - else: + if current_sorting_setting == "alphabetical": cls.final_character_dict = {name: cls.character_dict[name] for name in sorted(cls.character_dict)} cls.cached_sorting_setting = current_sorting_setting diff --git a/web/js/sortBySeries.js b/web/js/sortCharactersBy.js similarity index 78% rename from web/js/sortBySeries.js rename to web/js/sortCharactersBy.js index 0871590..e48155c 100644 --- a/web/js/sortBySeries.js +++ b/web/js/sortCharactersBy.js @@ -16,12 +16,16 @@ function updateSorting(graphCanvas) { }, 50); } -const id = 'sn0w.SortBySeries'; +const id = 'sn0w.SortCharactersBy'; const settingDefinition = { id, - name: '[Sn0w] Sort Characters By Series', + name: '[Sn0w] Sort Characters By', defaultValue: false, - type: 'boolean', + options: [ + { text: 'Alphabetical', value: 'alphabetical' }, + { text: 'Series', value: 'series' }, + ], + type: 'combo', onChange: () => updateSorting(app), };