Merge pull request #26 from EtSL33py/settings

Removing unnecessary comfy refresh calls
This commit is contained in:
Hayden
2024-09-24 11:08:03 +08:00
committed by GitHub

View File

@@ -2309,7 +2309,7 @@ class ModelInfo {
/** /**
* @param {ModelData} modelData * @param {ModelData} modelData
* @param {() => Promise<void>} updateModels * @param {(withoutComfyRefresh?: boolean) => Promise<void>} updateModels
* @param {any} settingsElements * @param {any} settingsElements
*/ */
constructor(modelData, updateModels, settingsElements) { constructor(modelData, updateModels, settingsElements) {
@@ -2386,7 +2386,7 @@ class ModelInfo {
}); });
} }
if (updatedPreview) { if (updatedPreview) {
updateModels(); updateModels(true);
const previewSelect = this.previewSelect; const previewSelect = this.previewSelect;
previewSelect.elements.defaultUrl.dataset.noimage = previewSelect.elements.defaultUrl.dataset.noimage =
PREVIEW_NONE_URI; PREVIEW_NONE_URI;
@@ -2614,7 +2614,7 @@ class ModelInfo {
/** /**
* @param {string} searchPath * @param {string} searchPath
* @param {() => Promise<void>} updateModels * @param {(withoutComfyRefresh?: boolean) => Promise<void>} updateModels
* @param {string} searchSeparator * @param {string} searchSeparator
*/ */
async update(searchPath, updateModels, searchSeparator) { async update(searchPath, updateModels, searchSeparator) {
@@ -3633,13 +3633,13 @@ class DownloadView {
/** @type {Object.<string, HTMLElement>} */ /** @type {Object.<string, HTMLElement>} */
#settings = null; #settings = null;
/** @type {() => Promise<void>} */ /** @type {(withoutComfyRefresh?: boolean) => Promise<void>} */
#updateModels = () => {}; #updateModels = () => {};
/** /**
* @param {ModelData} modelData * @param {ModelData} modelData
* @param {Object.<string, HTMLElement>} settings * @param {Object.<string, HTMLElement>} settings
* @param {() => Promise<void>} updateModels * @param {(withoutComfyRefresh?: boolean) => Promise<void>} updateModels
*/ */
constructor(modelData, settings, updateModels) { constructor(modelData, settings, updateModels) {
this.#domParser = new DOMParser(); this.#domParser = new DOMParser();
@@ -4119,7 +4119,7 @@ class BrowseView {
/** @type {ModelData} */ /** @type {ModelData} */
#modelData = null; #modelData = null;
/** @type {@param {() => Promise<void>}} */ /** @type {(withoutComfyRefresh?: boolean) => Promise<void>} */
#updateModels = null; #updateModels = null;
/** */ /** */
@@ -4129,7 +4129,7 @@ class BrowseView {
updateModelGrid = () => {}; updateModelGrid = () => {};
/** /**
* @param {() => Promise<void>} updateModels * @param {(withoutComfyRefresh?: boolean) => Promise<void>} updateModels
* @param {ModelData} modelData * @param {ModelData} modelData
* @param {(searchPath: string) => Promise<void>} showModelInfo * @param {(searchPath: string) => Promise<void>} showModelInfo
* @param {() => void} updateModelGridCallback * @param {() => void} updateModelGridCallback
@@ -4392,7 +4392,7 @@ class SettingsView {
}, },
}; };
/** @return {() => Promise<void>} */ /** @return {(withoutComfyRefresh?: boolean) => Promise<void>} */
#updateModels = () => {}; #updateModels = () => {};
/** @return {() => void} */ /** @return {() => void} */
@@ -4400,9 +4400,9 @@ class SettingsView {
/** /**
* @param {Object} settingsData * @param {Object} settingsData
* @param {boolean} updateModels * @param {boolean} withoutComfyRefresh
*/ */
async #setSettings(settingsData, updateModels) { async #setSettings(settingsData, withoutComfyRefresh) {
const settings = this.elements.settings; const settings = this.elements.settings;
for (const [key, value] of Object.entries(settingsData)) { for (const [key, value] of Object.entries(settingsData)) {
const setting = settings[key]; const setting = settings[key];
@@ -4430,22 +4430,18 @@ class SettingsView {
console.warn(`Unknown settings input type '${type}'!`); console.warn(`Unknown settings input type '${type}'!`);
} }
} }
this.#updateSidebarSettings(settings); this.#updateSidebarSettings(settings);
await this.#updateModels(withoutComfyRefresh);
if (updateModels) {
await this.#updateModels(); // Is this slow?
}
} }
/** /**
* @param {boolean} updateModels * @param {boolean} withoutComfyRefresh
* @returns {Promise<void>} * @returns {Promise<void>}
*/ */
async reload(updateModels) { async reload(withoutComfyRefresh) {
const data = await comfyRequest('/model-manager/settings/load'); const data = await comfyRequest('/model-manager/settings/load');
const settingsData = data['settings']; const settingsData = data['settings'];
await this.#setSettings(settingsData, updateModels); await this.#setSettings(settingsData, withoutComfyRefresh);
comfyButtonAlert(this.elements.reloadButton, true); comfyButtonAlert(this.elements.reloadButton, true);
} }
@@ -4495,7 +4491,7 @@ class SettingsView {
} }
/** /**
* @param {() => Promise<void>} updateModels * @param {(withoutComfyRefresh?: boolean) => Promise<void>} updateModels
* @param {() => void} updateSidebarButtons * @param {() => void} updateSidebarButtons
* @param {(settings: Object) => void} updateSidebarSettings * @param {(settings: Object) => void} updateSidebarSettings
*/ */
@@ -5372,8 +5368,7 @@ class ModelManager extends ComfyDialog {
} }
async #init() { async #init() {
await this.#settingsView.reload(false); await this.#settingsView.reload(true)
await this.#refreshModels();
const settings = this.#settingsView.elements.settings; const settings = this.#settingsView.elements.settings;
@@ -5454,7 +5449,7 @@ class ModelManager extends ComfyDialog {
this.#tabManagerContents.scrollTop = 0; this.#tabManagerContents.scrollTop = 0;
}; };
#refreshModels = async () => { #refreshModels = async (withoutComfyRefresh = false) => {
const modelData = this.#modelData; const modelData = this.#modelData;
modelData.systemSeparator = await comfyRequest( modelData.systemSeparator = await comfyRequest(
'/model-manager/system-separator', '/model-manager/system-separator',
@@ -5468,8 +5463,9 @@ class ModelManager extends ComfyDialog {
this.#browseView.updateModelGrid(); this.#browseView.updateModelGrid();
await this.#tryHideModelInfo(false); await this.#tryHideModelInfo(false);
if (!withoutComfyRefresh){
document.getElementById('comfy-refresh-button')?.click(); document.getElementById('comfy-refresh-button')?.click();
}
}; };
/** /**