terriajs
Version:
Geospatial data visualization platform.
34 lines • 1.5 kB
JavaScript
import createGuid from "terriajs-cesium/Source/Core/createGuid";
import CommonStrata from "../../Models/Definition/CommonStrata";
import ChartCustomComponent from "./ChartCustomComponent";
export default class SOSChartCustomComponent extends ChartCustomComponent {
get name() {
return "sos-chart";
}
get attributes() {
const attributes = super.attributes;
attributes.push("name");
return attributes;
}
constructCatalogItem(_id, context, _sourceReference) {
return context.catalogItem?.duplicateModel(createGuid());
}
constructShareableCatalogItem = async (_id, context, _sourceReference) => this.createItemReference(context.catalogItem);
setTraitsFromAttrs(item, attrs, _sourceIndex) {
const featureOfInterestId = attrs.identifier;
const featureName = attrs.name;
const units = item.selectedObservable?.units;
item.setTrait(CommonStrata.user, "showAsChart", true);
item.setTrait(CommonStrata.user, "name", featureName || item.name);
item.setTrait(CommonStrata.user, "chartFeatureOfInterestIdentifier", featureOfInterestId);
item
.addObject(CommonStrata.user, "columns", "values")
?.setTrait(CommonStrata.user, "units", units);
}
parseNodeAttrs(nodeAttrs) {
const parsed = super.parseNodeAttrs(nodeAttrs);
parsed.name = nodeAttrs["name"];
return parsed;
}
}
//# sourceMappingURL=SOSChartCustomComponent.js.map