Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
/**
* Gets or sets a value indicating whether this concept should be de/activated using the conceptChooser.
* Defaults to false.
* @type {Boolean}
*/
this.displayType = defaultValue(options.displayType, false);
if (defined(options.id)) {
this.id = options.id;
}
knockout.track(this, ['isActive', 'parent', 'hasChildren']); // name, isSelectable, color already tracked by Concept
knockout.getObservable(this, 'isActive').subscribe(function(nowActive) {
// If this concept has been activated, and its parent has a color callback, use it to set this concept's color now.
if (nowActive && defined(this.parent) && !defined(this.color) && defined(this.parent.getColorCallback)) {
this.color = this.parent.getColorCallback();
}
}, this);
};
*/
this.splitDirection = ImagerySplitDirection.NONE; // NONE means show on both sides of the splitter, if there is one.
knockout.track(this, [
"data",
"dataSourceUrl",
"opacity",
"keepOnTop",
"showWarnings",
"_tableStructure",
"_dataSource",
"_regionMapping",
"splitDirection"
]);
knockout.getObservable(this, "opacity").subscribe(function(newValue) {
if (
defined(this._regionMapping) &&
defined(this._regionMapping.updateOpacity)
) {
this._regionMapping.updateOpacity(newValue);
this.terria.currentViewer.notifyRepaintRequired();
}
}, this);
knockout.defineProperty(this, "concepts", {
get: function() {
if (defined(this._tableStructure)) {
return [this._tableStructure];
} else {
return [];
}
this._userPropertiesShowStoriesSubscription = knockout
.getObservable(terria.userProperties, "playStory")
.subscribe(updateIsStoryShown);
this._mobileMenuSubscription = knockout
.getObservable(this, "mobileMenuVisible")
.subscribe(mobileMenuVisible => {
if (mobileMenuVisible) {
this.explorerPanelIsVisible = false;
this.switchMobileView(null);
}
});
this._disclaimerHandler = new DisclaimerHandler(terria, this);
this._matchFromExplorerSubscription = knockout
.getObservable(this, "matchFromExplorer")
.subscribe(matchFromExplorer => {
if (
matchFromExplorer &&
matchFromExplorer.params &&
matchFromExplorer.params.catalogMemberId
) {
// viewCatalogMember handles which tab to activate
const idToFind = URI.decode(matchFromExplorer.params.catalogMemberId);
const catalogMember = terria.catalog.shareKeyIndex[idToFind];
if (defined(catalogMember)) {
this.viewCatalogMember(catalogMember);
}
}
});
this._fullDimensions || []
);
}
});
knockout.defineProperty(this, "activeConcepts", {
get: function() {
const isActive = concept => concept.isActive;
if (defined(this._concepts) && this._concepts.length > 0) {
return this._concepts.map(concept => concept.getNodes(isActive));
}
return undefined;
}
});
knockout.getObservable(this, "activeConcepts").subscribe(function() {
if (!this.isLoading) {
// Defer the execution of this so that other knockout observables are updated when we look at them.
// In particular, DisplayVariablesConcept's activeItems.
runLater(() => changedActiveItems(this));
}
}, this);
knockout
.getObservable(this, "canDisplayPercent")
.subscribe(function(canDisplayPercent) {
// If canDisplayPercent becomes false, must also turn off displayPercent.
if (!canDisplayPercent) {
this.displayPercent = false;
}
}, this);
newItem.dataCustodian = options.dataCustodian;
}
if (typeof options.itemProperties === "object") {
newItem.updateFromJson(options.itemProperties);
}
if (defined(parent)) {
newItem.id = parent.uniqueId + "/" + distribution.id;
}
if (defined(options.zoomOnEnable)) {
newItem.zoomOnEnable = options.zoomOnEnable;
}
knockout.getObservable(newItem, "isLoading").subscribe(function(value) {
try {
if (value === true) return;
if (window.parent !== window) {
window.parent.postMessage("loading complete", "*");
}
if (window.opener) {
window.opener.postMessage("loading complete", "*");
}
} catch (e) {
console.log(e);
}
});
return newItem;
});
get: function() {
if (!defined(knockout.getObservable(this.parameterValues, this.parameter.id))) {
knockout.track(this.parameterValues, [this.parameter.id]);
}
var cartographic = this.parameterValues[this.parameter.id];
if (defined(cartographic)) {
return CesiumMath.toDegrees(cartographic.longitude) + ',' + CesiumMath.toDegrees(cartographic.latitude);
} else {
return '';
}
},
set: function(value) {
if (index >= 0 && this._regionNames[index]) {
return this._regionNames[index];
} else {
return region.id;
}
},
set: function(value) {
this.autocompleteVisible = true;
this.value = undefined;
this._displayValue = value;
}
});
var that = this;
knockout.getObservable(this.terriaForRegionSelection, 'pickedFeatures').subscribe(function() {
var pickedFeatures = that.terriaForRegionSelection.pickedFeatures;
that._lastPickedFeatures = pickedFeatures;
when(pickedFeatures.allFeaturesAvailablePromise, function() {
if (pickedFeatures !== that._lastPickedFeatures || pickedFeatures.features.length === 0) {
return;
}
var feature = pickedFeatures.features[0];
that._lastRegionFeature = feature.data;
that.value = that.parameter.findRegionByID(feature.properties[that.regionProvider.regionProp], that._parameterValues);
if (defined(that._selectedRegionCatalogItem)) {
that._selectedRegionCatalogItem.isEnabled = false;
that._selectedRegionCatalogItem = undefined;
}
knockout.track(this, [
"catalogSearchProvider",
"locationSearchProviders",
"catalogSearchText",
"isWaitingToStartCatalogSearch",
"locationSearchText",
"isWaitingToStartLocationSearch",
"unifiedSearchText",
"isWaitingToStartUnifiedSearch",
"showLocationSearchResults",
"showMobileLocationSearch",
"showMobileCatalogSearch",
"sourcePinDataSource"
]);
knockout.getObservable(this, "catalogSearchText").subscribe(() => {
this.isWaitingToStartCatalogSearch = true;
this.catalogSearchProvider.search("");
});
knockout.getObservable(this, "locationSearchText").subscribe(() => {
this.isWaitingToStartLocationSearch = true;
this.locationSearchProviders.forEach(provider => {
provider.search("");
});
});
knockout.getObservable(this, "unifiedSearchText").subscribe(() => {
this.isWaitingToStartUnifiedSearch = true;
this.unifiedSearchProviders.forEach(provider => {
provider.search("");
});
* @type {CameraView}
*/
knockout.defineProperty(this, 'initialView', {
get: function() {
if (this._initialView) {
return this._initialView;
} else {
return this.homeView;
}
},
set: function(value) {
this._initialView = value;
}
});
knockout.getObservable(this, 'initialView').subscribe(function() {
if (this.zoomWhenInitialViewChanges && defined(this.currentViewer)) {
this.currentViewer.zoomTo(this.initialView, 2.0);
}
}, this);
};
that.legendUrl = source.getLegendGraphic();
that.terria.currentViewer.notifyRepaintRequired();
};
return [displayVariablesConcept];
}
});
knockout.getObservable(this, 'opacity').subscribe(function(newValue) {
updateOpacity(this);
}, this);
knockout.getObservable(this, 'isShown').subscribe(function() {
updateClockSubscription(this);
}, this);
knockout.getObservable(this, 'clock').subscribe(function() {
updateClockSubscription(this);
}, this);
/**
* Gets or sets the tableStyle object
* TODO: add definition for subfields
* @type {Object}
*/
knockout.defineProperty(this, 'tableStyle', {
get : function() {
return this._tableStyle;
},
set : function(value) {
updateTableStyle(this, value);
}
});