mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-08 22:33:24 +00:00
Ensure that stock builds are saved with a code; ignore builds without codes in comparisons
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#2.3.4
|
||||
* Fix crash when removing the special effect from a module
|
||||
* Ensure comparisons with saved stock ships work correctly
|
||||
|
||||
#2.3.3
|
||||
* Remove unused blueprint when hitting reset
|
||||
|
||||
@@ -71,6 +71,7 @@ export default class ComparisonTable extends TranslatedComponent {
|
||||
* @return {React.Component} Table row
|
||||
*/
|
||||
_buildRow(build, facets, formats, units) {
|
||||
if (build && build.id && build.buildName) {
|
||||
let url = outfitURL(build.id, build.toString(), build.buildName);
|
||||
let cells = [
|
||||
<td key='s' className='tl'><Link href={url}>{build.name}</Link></td>,
|
||||
@@ -84,9 +85,9 @@ export default class ComparisonTable extends TranslatedComponent {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return <tr key={build.id + build.buildName} className='tr'>{cells}</tr>;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update state based on property and context changes
|
||||
|
||||
@@ -81,9 +81,11 @@ export default class ComparisonPage extends Page {
|
||||
newName = name;
|
||||
for (let shipId in allBuilds) {
|
||||
for (let buildName in allBuilds[shipId]) {
|
||||
if (buildName && allBuilds[shipId][buildName]) {
|
||||
builds.push(this._createBuild(shipId, buildName, allBuilds[shipId][buildName]));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
let comparisonData = Persist.getComparison(name);
|
||||
if (comparisonData) {
|
||||
|
||||
@@ -308,7 +308,10 @@ export default class OutfittingPage extends Page {
|
||||
* Save the current build
|
||||
*/
|
||||
_saveBuild() {
|
||||
const { code, buildName, newBuildName, shipId } = this.state;
|
||||
const { ship, buildName, newBuildName, shipId } = this.state;
|
||||
|
||||
// If this is a stock ship the code won't be set, so ensure that we have it
|
||||
const code = this.state.code || ship.toString();
|
||||
|
||||
Persist.saveBuild(shipId, newBuildName, code);
|
||||
this._updateRoute(shipId, newBuildName, code);
|
||||
|
||||
@@ -707,6 +707,11 @@ export default class Ship {
|
||||
* @return {this} The current ship instance for chaining
|
||||
*/
|
||||
buildFrom(serializedString) {
|
||||
if (!serializedString) {
|
||||
// Empty serialized string; nothing to do
|
||||
return this;
|
||||
}
|
||||
|
||||
let standard = new Array(this.standard.length),
|
||||
hardpoints = new Array(this.hardpoints.length),
|
||||
internal = new Array(this.internal.length),
|
||||
|
||||
Reference in New Issue
Block a user