MCPcopy Create free account
hub / github.com/microsoft/SandDance / updateViewerOptions

Method updateViewerOptions

docs/app/js/sanddance-app.js:13833–13956  ·  view source on GitHub ↗
(viewerOptions)

Source from the content-addressed store, hash-verified

13831 if (this.viewer) this.viewer.finalize();
13832 }
13833 updateViewerOptions(viewerOptions) {
13834 this.viewerOptions = Object.assign(Object.assign({}, (0, _sanddanceReact.SandDance).VegaDeckGl.util.deepMerge((0, _defaults.defaultViewerOptions), this.viewerOptions, viewerOptions)), {
13835 tooltipOptions: {
13836 exclude: (columnName)=>this.state.tooltipExclusions.indexOf(columnName) >= 0
13837 },
13838 onColorContextChange: ()=>this.manageColorToolbar(),
13839 onDataFilter: (filter, filteredData)=>{
13840 const selectedItemIndex = Object.assign({}, this.state.selectedItemIndex);
13841 selectedItemIndex[(0, _dataScope.DataScopeId).FilteredData] = 0;
13842 this.changeInsight({
13843 filter
13844 }, {
13845 label: this.historicFilterChange,
13846 omit: !this.historicFilterChange
13847 });
13848 this.historicFilterChange = null;
13849 this.setState({
13850 filteredData,
13851 selectedItemIndex
13852 });
13853 if (this.state.sideTabId === (0, _interfaces.SideTabId).Data && this.state.dataScopeId === (0, _dataScope.DataScopeId).FilteredData) //make sure item is active
13854 requestAnimationFrame(()=>filteredData && this.silentActivation(filteredData[0]));
13855 viewerOptions && viewerOptions.onDataFilter && viewerOptions.onDataFilter(filter, filteredData);
13856 },
13857 onSelectionChanged: (newSearch, index, selectedData)=>{
13858 if (this.ignoreSelectionChange) return;
13859 const selectedItemIndex = Object.assign({}, this.state.selectedItemIndex);
13860 selectedItemIndex[(0, _dataScope.DataScopeId).SelectedData] = index || 0;
13861 let { search } = this.state;
13862 const { sideTabId } = this.state;
13863 if (newSearch) search = createInputSearch(newSearch);
13864 this.setState({
13865 search,
13866 selectedItemIndex,
13867 sideTabId
13868 });
13869 viewerOptions && viewerOptions.onSelectionChanged && viewerOptions.onSelectionChanged(newSearch, index, selectedData);
13870 },
13871 onAxisClick: (e, search)=>{
13872 this.toggleableSearch(e, search);
13873 viewerOptions && viewerOptions.onAxisClick && viewerOptions.onAxisClick(e, search);
13874 },
13875 onLegendHeaderClick: (e)=>{
13876 const pos = (0, _mouseEvent.getPosition)(e);
13877 const specRole = this.state.specCapabilities && this.state.specCapabilities.roles.filter((r)=>r.role === "color")[0];
13878 const positionedColumnMapProps = Object.assign(Object.assign({}, this.getColumnMapBaseProps()), {
13879 collapseLabel: true,
13880 container: this.div,
13881 selectedColumnName: this.state.columns["color"],
13882 onDismiss: ()=>{
13883 this.setState({
13884 positionedColumnMapProps: null
13885 });
13886 },
13887 specRole,
13888 left: pos.left - this.div.clientLeft,
13889 top: pos.top - this.div.clientTop
13890 });

Callers 3

constructorMethod · 0.95
checkForDarkThemeMethod · 0.45

Calls 8

manageColorToolbarMethod · 0.95
changeInsightMethod · 0.95
silentActivationMethod · 0.95
toggleableSearchMethod · 0.95
getColumnMapBasePropsMethod · 0.95
requestAnimationFrameFunction · 0.70
createInputSearchFunction · 0.70
filterMethod · 0.45

Tested by

no test coverage detected