MCPcopy Create free account
hub / github.com/easydiffusion/easydiffusion / constructor

Method constructor

ui/media/js/searchable-models.js:89–120  ·  view source on GitHub ↗
(input, modelKey, noneEntry = "", sorted = true)

Source from the content-addressed store, hash-verified

87 /* SEARCHABLE INPUT */
88
89 constructor(input, modelKey, noneEntry = "", sorted = true) {
90 this.modelFilter = input
91 this.noneEntry = noneEntry
92 this.modelKey = modelKey
93 this.sorted = sorted
94
95 if (modelsOptions !== undefined) {
96 // reuse models from cache (only useful for plugins, which are loaded after models)
97 this.inputModels = []
98 let modelKeys = Array.isArray(this.modelKey) ? this.modelKey : [this.modelKey]
99 for (let i = 0; i < modelKeys.length; i++) {
100 let key = modelKeys[i]
101 let k = Array.isArray(modelsOptions[key]) ? modelsOptions[key] : [modelsOptions[key]]
102 this.inputModels.push(...k)
103 }
104 this.populateModels()
105 }
106 document.addEventListener(
107 "refreshModels",
108 this.bind(function (e) {
109 // reload the models
110 this.inputModels = []
111 let modelKeys = Array.isArray(this.modelKey) ? this.modelKey : [this.modelKey]
112 for (let i = 0; i < modelKeys.length; i++) {
113 let key = modelKeys[i]
114 let k = Array.isArray(modelsOptions[key]) ? modelsOptions[key] : [modelsOptions[key]]
115 this.inputModels.push(...k)
116 }
117 this.populateModels()
118 }, this)
119 )
120 }
121
122 saveCurrentSelection(elem, value, path, dispatchEvent = true) {
123 this.currentSelection.elem = elem

Callers

nothing calls this directly

Calls 4

populateModelsMethod · 0.95
bindMethod · 0.95
pushMethod · 0.80
addEventListenerMethod · 0.45

Tested by

no test coverage detected