MCPcopy Create free account
hub / github.com/FSGModding/FSG_Mod_Assistant / showMod

Method showMod

renderer/renderJS/main_ui_lib.js:2248–2299  ·  view source on GitHub ↗
(mod, hasDest, isDelete, isMulti)

Source from the content-addressed store, hash-verified

2246 }
2247
2248 showMod(mod, hasDest, isDelete, isMulti) {
2249 const modPointer = this.flags.operation === 'import' ? mod : mod.colUUID
2250 let doesConflict = false
2251 if ( hasDest && !isDelete && !isMulti ) {
2252 if ( this.flags.operation !== 'import' ) {
2253 doesConflict = this.doesModConflict(mod)
2254 } else {
2255 doesConflict = this.doesNewConflict(mod)
2256 }
2257 }
2258
2259 const thisModFileVersion = this.flags.operation !== 'import' ?
2260 mod.gameVersion :
2261 /FS(\d\d)_/.exec(mod)?.[1] || null
2262
2263 const node = this.flags.operation !== 'import' ?
2264 this.showMod_known(mod) :
2265 this.showMod_new(mod, this.lastPayload.isZipImport ? this.lastPayload.zipFiles.map((x) => `${x.name} (${x.size})`) : null)
2266
2267 if ( thisModFileVersion !== null && parseInt(thisModFileVersion) !== window.state.flag.currentVersion ) {
2268 node.querySelector('.version-diff').clsShow()
2269 } else {
2270 node.querySelector('.version-diff').clsHide()
2271 }
2272
2273 if ( isMulti || isDelete ) {
2274 node.querySelector('.no-dest').clsHide()
2275 node.querySelector('.conf-dest').clsHide()
2276 node.querySelector('.over-dest').clsHide()
2277 node.querySelector('.clear-dest').clsHide()
2278 } else if ( !hasDest ) {
2279 node.querySelector('.no-dest').clsShow()
2280 node.querySelector('.conf-dest').clsHide()
2281 node.querySelector('.over-dest').clsHide()
2282 node.querySelector('.clear-dest').clsHide()
2283 } else {
2284 node.querySelector('.no-dest').clsHide()
2285 if ( doesConflict ) {
2286 node.firstElementChild.setAttribute('style', 'cursor:pointer')
2287 node.firstElementChild.addEventListener('click', () => { this.toggleMod(modPointer)} )
2288 } else {
2289 this.selectedMods[modPointer].doAction = true
2290 }
2291 node.querySelector('.conf-dest').clsShow((doesConflict && !this.selectedMods[modPointer].doAction))
2292 node.querySelector('.over-dest').clsShow((doesConflict && this.selectedMods[modPointer].doAction))
2293 node.querySelector('.clear-dest').clsShow(!doesConflict)
2294 }
2295
2296 node.firstElementChild.children[0].clsOrGate(this.selectedMods[modPointer].doAction, 'bg-file-op-good', 'bg-file-op-bad')
2297
2298 return node
2299 }
2300
2301 updateMods() {
2302 const isDelete = this.flags.operation === 'delete'

Callers 1

updateModsMethod · 0.95

Calls 6

doesModConflictMethod · 0.95
doesNewConflictMethod · 0.95
showMod_knownMethod · 0.95
showMod_newMethod · 0.95
toggleModMethod · 0.95
addEventListenerMethod · 0.45

Tested by

no test coverage detected