in src/app/views/file_view/export_view.tsx [475:714]
public renderInferences() {
const template = this.state.template;
if (template.inference.length == 0) {
return <p>{strings.core.none}</p>;
}
return (
template.inference
// Only show axis and scale inferences
.filter((inference) => inference.axis || inference.scale)
// eslint-disable-next-line
.map((inference, index) => {
let descriptionMin: string;
let descriptionMax: string;
const object = findObjectById(
this.props.store.chart,
inference.objectID
);
const temaplteObject = findObjectById(
template.specification,
inference.objectID
);
const objectName = object.properties.name;
if (inference.scale) {
descriptionMin = strings.fileExport.inferScaleMin(objectName);
descriptionMax = strings.fileExport.inferScaleMax(objectName);
}
if (inference.axis) {
descriptionMin = strings.fileExport.inferAxisMin(
objectName,
inference.axis.property.toString()
);
descriptionMax = strings.fileExport.inferAxisMax(
objectName,
inference.axis.property.toString()
);
}
const keyAutoDomainMin = "autoDomainMin";
const keyAutoDomainMax = "autoDomainMax";
let onClickAutoDomainMin = noop;
let onClickAutoDomainMax = noop;
let getAutoDomainMinPropertyValue: () => boolean = null;
let getAutoDomainMaxPropertyValue: () => boolean = null;
if (inference.axis) {
if (
(object.properties[inference.axis.property as string] as any)[
keyAutoDomainMax
] === undefined
) {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
inference.axis.property as string,
keyAutoDomainMax,
true,
true,
true
)
);
temaplteObject.properties[keyAutoDomainMax] = true;
inference.autoDomainMax = true;
} else {
inference.autoDomainMax = (object.properties[
inference.axis.property as string
] as any)[keyAutoDomainMax] as boolean;
}
onClickAutoDomainMax = () => {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
inference.axis.property as string,
keyAutoDomainMax,
!((object.properties[
inference.axis.property as string
] as any)[keyAutoDomainMax] as boolean),
true,
true
)
);
this.setState({ template });
};
getAutoDomainMaxPropertyValue = () => {
return (object.properties[
inference.axis.property as string
] as any)[keyAutoDomainMax] as boolean;
};
}
if (inference.scale) {
if (object.properties[keyAutoDomainMax] === undefined) {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
keyAutoDomainMax,
null,
true,
true,
true
)
);
temaplteObject.properties[keyAutoDomainMax] = true;
inference.autoDomainMax = true;
} else {
inference.autoDomainMax = temaplteObject.properties[
keyAutoDomainMax
] as boolean;
}
onClickAutoDomainMax = () => {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
keyAutoDomainMax,
null,
!object.properties[keyAutoDomainMax],
true,
true
)
);
this.setState({ template });
};
getAutoDomainMaxPropertyValue = () => {
return object.properties[keyAutoDomainMax] as boolean;
};
}
if (inference.axis) {
if (
(object.properties[inference.axis.property as string] as any)[
keyAutoDomainMin
] === undefined
) {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
inference.axis.property as string,
keyAutoDomainMin,
true,
true,
true
)
);
temaplteObject.properties[keyAutoDomainMin] = true;
inference.autoDomainMin = true;
} else {
inference.autoDomainMin = (object.properties[
inference.axis.property as string
] as any)[keyAutoDomainMin] as boolean;
}
onClickAutoDomainMin = () => {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
inference.axis.property as string,
keyAutoDomainMin,
!((object.properties[
inference.axis.property as string
] as any)[keyAutoDomainMin] as boolean),
true,
true
)
);
this.setState({ template });
};
getAutoDomainMinPropertyValue = () => {
return (object.properties[
inference.axis.property as string
] as any)[keyAutoDomainMin] as boolean;
};
}
if (inference.scale) {
if (object.properties[keyAutoDomainMin] === undefined) {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
keyAutoDomainMin,
null,
true,
true,
true
)
);
temaplteObject.properties[keyAutoDomainMin] = true;
inference.autoDomainMin = true;
} else {
inference.autoDomainMin = object.properties[
keyAutoDomainMin
] as boolean;
}
onClickAutoDomainMin = () => {
this.props.store.dispatcher.dispatch(
new Actions.SetObjectProperty(
object,
keyAutoDomainMin,
null,
!object.properties[keyAutoDomainMin],
true,
true
)
);
this.setState({ template });
};
getAutoDomainMinPropertyValue = () => {
return object.properties[keyAutoDomainMin] as boolean;
};
}
return (
<React.Fragment key={index}>
<div className="el-inference-item" onClick={onClickAutoDomainMin}>
<SVGImageIcon
url={
getAutoDomainMinPropertyValue()
? R.getSVGIcon("checkbox/checked")
: R.getSVGIcon("checkbox/empty")
}
/>
<span className="el-text">{descriptionMin}</span>
</div>
<div className="el-inference-item" onClick={onClickAutoDomainMax}>
<SVGImageIcon
url={
getAutoDomainMaxPropertyValue()
? R.getSVGIcon("checkbox/checked")
: R.getSVGIcon("checkbox/empty")
}
/>
<span className="el-text">{descriptionMax}</span>
</div>
</React.Fragment>
);
})
);
}