(mod, hasDest, isDelete, isMulti)
| 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' |
no test coverage detected