@milaboratories/graph-maker 1.1.166 → 1.1.167
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GraphMaker/constantsCommon.d.ts +0 -9
- package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
- package/dist/GraphMaker/constantsCommon.js +74 -81
- package/dist/GraphMaker/constantsCommon.js.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +8 -2
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/DiscreteForm.vue.js +26 -20
- package/dist/GraphMaker/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot/Scatter.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot/Scatter.vue.js +37 -31
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot/Scatter.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js +30 -24
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js.map +1 -1
- package/dist/GraphMaker/forms/StatisticsForm/DiscreteStatisticsForm.vue.js +33 -27
- package/dist/GraphMaker/forms/StatisticsForm/DiscreteStatisticsForm.vue.js.map +1 -1
- package/dist/GraphMaker/index.vue.js +8 -2
- package/dist/GraphMaker/index.vue.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.js +22 -16
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.js +17 -11
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js +26 -20
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.js +29 -23
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js +83 -68
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +25 -19
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/GraphMaker/utils/getUsedAesInMapping.js +37 -31
- package/dist/GraphMaker/utils/getUsedAesInMapping.js.map +1 -1
- package/dist/GraphMaker/utils/loadDefaultSources.d.ts.map +1 -1
- package/dist/GraphMaker/utils/loadDefaultSources.js +36 -31
- package/dist/GraphMaker/utils/loadDefaultSources.js.map +1 -1
- package/dist/_virtual/stringify.js +5 -0
- package/dist/_virtual/stringify.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +106 -107
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js +120 -121
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js +83 -84
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js +4 -4
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js +11 -11
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +123 -124
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/histogram.js +8 -8
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +88 -89
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +103 -105
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +148 -119
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/components/PlDataTable.js +4 -4
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js +5 -5
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js +8 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +182 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/errors.js +18 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/errors.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/json.js +12 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/json.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/plid.js +7 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/plid.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/ref.js +8 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/ref.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +105 -111
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +158 -163
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -1
- package/dist/node_modules/@milaboratories/pl-error-like/dist/error_like_shape.js +36 -0
- package/dist/node_modules/@milaboratories/pl-error-like/dist/error_like_shape.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js +8 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +52 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/plid.js +7 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/plid.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/ref.js +8 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/ref.js.map +1 -0
- package/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js +16 -0
- package/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js.map +1 -0
- package/dist/node_modules/json-stringify-safe/stringify.js +20 -0
- package/dist/node_modules/json-stringify-safe/stringify.js.map +1 -0
- package/dist/node_modules/zod/lib/index.js +2978 -0
- package/dist/node_modules/zod/lib/index.js.map +1 -0
- package/package.json +3 -3
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +0 -18
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scatterplot-umap.js","sources":["../../../../../../../node_modules/@milaboratories/pf-plots/src/controllers/controllersByChartType/scatterplot-umap.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport lodash from 'lodash';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n DataByColumns,\n InputStateParent,\n} from '../../common';\nimport { FORMAT } from '../../constants';\nimport { PValue } from '../../store';\nimport { ControllerBase, PlotDataAndSettings } from '../ControllerBase';\nimport { ComponentController } from '../ComponentController';\nimport { AxisId, ColumnId } from '../../spec';\nimport { columnOrAxisIdFromString, isColumnId } from '../../spec';\nimport type { DataStore } from '../../store';\nimport {\n createHighlightColumn,\n createLinkerMap,\n createMultipliesByMap,\n getAxesSpecsFromSources,\n getColumnOrAxisLabel, getColumnOrAxisSpec,\n getColumnOrAxisValueLabelsId,\n getFiltersFromStates,\n getLinkerColumnsForSource,\n OptionsInfo,\n} from '../../utils';\n\nexport interface ScatterplotUmapUIState extends InputStateParent<'scatterplot-umap'> {\n type: 'scatterplot-umap';\n components: {\n x: ComponentStateSimple;\n y: ComponentStateSimple;\n filters: ComponentStateFilter;\n highlight: ComponentStateFilter;\n tabBy: ComponentStateFilter;\n facetBy: ComponentStateSimple;\n grouping: ComponentStateSimple;\n label: ComponentStateSimple;\n tooltipContent: ComponentStateSimple;\n size: ComponentStateSimple;\n };\n}\n\nexport const InitialScatterplotUmapState: ScatterplotUmapUIState = {\n type: 'scatterplot-umap',\n components: {\n x: { type: 'simple', selectorStates: [] },\n y: { type: 'simple', selectorStates: [] },\n filters: { type: 'filter', selectorStates: [] },\n highlight: { type: 'filter', selectorStates: [] },\n tabBy: { type: 'filter', selectorStates: [] },\n facetBy: { type: 'simple', selectorStates: [] },\n grouping: { type: 'simple', selectorStates: [] },\n label: { type: 'simple', selectorStates: [] },\n tooltipContent: { type: 'simple', selectorStates: [] },\n size: { type: 'simple', selectorStates: [] },\n },\n dividedAxes: {},\n};\n\nexport class ScatterplotUmapStateController extends ControllerBase<ScatterplotUmapUIState> {\n dataInputs = ['x', 'y'];\n //allowHangingAxes = true;\n\n constructor() {\n super(\n {\n x: new ComponentController<ScatterplotUmapUIState, 'x'>({\n componentName: 'x',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n parentComponents: ['y'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n y: new ComponentController<ScatterplotUmapUIState, 'y'>({\n componentName: 'y',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n parentComponents: ['x'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n facetBy: new ComponentController<ScatterplotUmapUIState, 'facetBy'>({\n componentName: 'facetBy',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n grouping: new ComponentController<ScatterplotUmapUIState, 'grouping'>({\n componentName: 'grouping',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n tooltipContent: new ComponentController<ScatterplotUmapUIState, 'tooltipContent'>({\n componentName: 'tooltipContent',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n label: new ComponentController<ScatterplotUmapUIState, 'label'>({\n componentName: 'label',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: false,\n },\n }),\n size: new ComponentController<ScatterplotUmapUIState, 'size'>({\n componentName: 'size',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n },\n }),\n },\n {\n filters: new ComponentController<ScatterplotUmapUIState, 'filters'>({\n componentName: 'filters',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n }\n }),\n tabBy: new ComponentController<ScatterplotUmapUIState, 'tabBy'>({\n componentName: 'tabBy',\n allowedTypes: ['String', 'Int'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n },\n }),\n highlight: new ComponentController<ScatterplotUmapUIState, 'highlight'>({\n componentName: 'highlight',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: true,\n }\n }),\n }\n );\n }\n\n getMustBeConsumedAxes(state: ScatterplotUmapUIState, optionsInfo: OptionsInfo): Set<string> {\n if (!state.components.x.selectorStates.length || !state.components.y.selectorStates.length) {\n return new Set<string>();\n }\n const sourceIdX = state.components.x.selectorStates[0].selectedSource;\n const sourceIdY = state.components.y.selectorStates[0].selectedSource;\n const dataX = optionsInfo.get(sourceIdX);\n const dataY = optionsInfo.get(sourceIdY);\n if (!dataX || !dataY || dataX.kind !== 'column' || dataY.kind !== 'column') {\n return new Set<string>();\n }\n const axesX = dataX.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const axesY = dataY.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const hangingX = axesX.filter(axisKey => !axesY.some(id => id === axisKey));\n const hangingY = axesY.filter(axisKey => !axesX.some(id => id === axisKey));\n\n if (hangingX.length && hangingY.length) {\n return new Set<string>([...hangingX, ...hangingY])\n }\n return new Set<string>();\n }\n\n async createDataByColumns(store: DataStore, state: ScatterplotUmapUIState): Promise<PlotDataAndSettings['data']> {\n const xColumnIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yColumnIdString = state.components.y.selectorStates[0]?.selectedSource;\n if (!xColumnIdString || !yColumnIdString) {\n throw Error('X or Y column is not valid');\n }\n const xId = columnOrAxisIdFromString(xColumnIdString);\n const yId = columnOrAxisIdFromString(yColumnIdString);\n if (!xId || !yId) {\n throw Error('X or Y column is not valid');\n }\n const dataByColumns: DataByColumns = {\n type: 'columns',\n id: canonicalize(state.components) ?? '',\n values: {},\n };\n\n const linkerMap = await createLinkerMap(store);\n const multipliesByMap = await createMultipliesByMap(store);\n\n const filterSelectedStates = [\n ...state.components.filters.selectorStates,\n ...state.components.tabBy.selectorStates\n ]\n // filters for column/axes data requests\n const filters = getFiltersFromStates(filterSelectedStates);\n const filterColumns = filterSelectedStates.map(s => columnOrAxisIdFromString(s.selectedSource)).filter(isColumnId);\n\n const parentSources = [xId, yId].filter(isColumnId).map(item => item.toCanonicalString());\n if (parentSources.length === 0) {\n throw Error('One of X and Y should be a column');\n }\n const parentAxesList = await getAxesSpecsFromSources(store, parentSources);\n\n const primarySources = [xId, yId, ...filterColumns];\n const secondarySources: (ColumnId | AxisId)[] = [];\n const linkerColumns: ColumnId[] = [];\n\n for (const { selectedSource } of filterSelectedStates) {\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource,\n ));\n }\n\n const inputs = [\n state.components.grouping,\n state.components.facetBy,\n state.components.tooltipContent,\n state.components.label,\n state.components.highlight,\n state.components.size,\n ];\n for (const input of inputs) {\n for (const { selectedSource } of input.selectorStates) {\n secondarySources.push(columnOrAxisIdFromString(selectedSource)!);\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource\n ));\n const labelsColumnId = await getColumnOrAxisValueLabelsId(store, selectedSource, parentSources);\n if (labelsColumnId) {\n secondarySources.push(labelsColumnId);\n }\n }\n }\n\n const data = await store.pFrameProvider.getTableOuterJoin(\n [xId, yId, ...linkerColumns, ...filterColumns],\n secondarySources,\n filters,\n false\n );\n\n [...primarySources, ...secondarySources].forEach(item => {\n const key = item.toCanonicalString();\n dataByColumns.values[key] = isColumnId(item) ? data.columnsData[key] : data.axesData[key];\n });\n\n if (state.components.highlight.selectorStates.length) {\n dataByColumns.values['highlight'] = createHighlightColumn(state.components.highlight.selectorStates, data) as PValue[];\n }\n\n return {\n byColumns: dataByColumns,\n axesData: data.axesData\n };\n }\n\n async createChartSettings(store: DataStore, state: ScatterplotUmapUIState): Promise<Record<string, unknown>> {\n const xIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yIdString = state.components.y.selectorStates[0]?.selectedSource;\n const xIdWithQ = xIdString ? columnOrAxisIdFromString(xIdString) : null;\n const yIdWithQ = yIdString ? columnOrAxisIdFromString(yIdString) : null;\n if (!xIdString || !yIdString || !xIdWithQ || !yIdWithQ || (!isColumnId(xIdWithQ) && !isColumnId(yIdWithQ))) {\n throw Error('Empty or invalid required data');\n }\n\n const parentSources = [xIdWithQ, yIdWithQ].filter(isColumnId).map(item => item.toCanonicalString());\n const x = {\n type: 'column',\n value: xIdString,\n label: await getColumnOrAxisLabel(store, xIdString, parentSources),\n };\n const y = {\n type: 'column',\n value: yIdString,\n label: await getColumnOrAxisLabel(store, yIdString, parentSources),\n };\n const keyColumn = {\n type: 'column',\n value: 'key',\n };\n const facetBy = await Promise.all(\n state.components.facetBy.selectorStates.map(async selectorState => ({\n type: 'column',\n value:\n (await getColumnOrAxisValueLabelsId(store, selectorState.selectedSource, parentSources))?.toCanonicalString() ??\n selectorState.selectedSource,\n }))\n );\n const allGroupingIds = lodash.uniq([\n ...state.components.grouping.selectorStates.map(s => s.selectedSource),\n ...state.components.size.selectorStates.map(s => s.selectedSource),\n ]);\n const grouping = await Promise.all(\n allGroupingIds.map(async idString => {\n return {\n columnName: {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, idString, parentSources)) || idString,\n value: idString,\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, idString, parentSources))?.toCanonicalString() ??\n idString,\n }\n }\n })\n );\n\n const tooltipContent = await Promise.all(\n state.components.tooltipContent.selectorStates.map(async selectorState => {\n const source = selectorState.selectedSource;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n return {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, source, parentSources)) || source,\n value: source,\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: spec?.annotations?.[FORMAT]\n };\n })\n );\n\n let label;\n if (state.components.label.selectorStates.length) {\n const source = state.components.label.selectorStates[0].selectedSource;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n label = {\n type: 'column',\n value: source,\n label: await getColumnOrAxisLabel(store, source, parentSources),\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: spec?.annotations?.[FORMAT]\n };\n }\n\n let highlight;\n if (state.components.highlight.selectorStates.length) {\n highlight = {\n type: 'column',\n value: 'highlight'\n }\n }\n return {\n type: 'scatterplot-umap',\n x,\n y,\n keyColumn,\n facetBy,\n grouping,\n label,\n highlight,\n tooltips: {\n show: true,\n content: tooltipContent\n }\n };\n }\n}\n"],"names":["InitialScatterplotUmapState","ScatterplotUmapStateController","ControllerBase","ComponentController","__publicField","state","optionsInfo","sourceIdX","sourceIdY","dataX","dataY","axesX","s","AxisId","axesY","hangingX","axisKey","id","hangingY","store","xColumnIdString","_a","yColumnIdString","_b","xId","columnOrAxisIdFromString","yId","dataByColumns","canonicalize","linkerMap","createLinkerMap","multipliesByMap","createMultipliesByMap","filterSelectedStates","filters","getFiltersFromStates","filterColumns","isColumnId","parentSources","item","parentAxesList","getAxesSpecsFromSources","primarySources","secondarySources","linkerColumns","selectedSource","getLinkerColumnsForSource","inputs","input","labelsColumnId","getColumnOrAxisValueLabelsId","data","key","createHighlightColumn","xIdString","yIdString","xIdWithQ","yIdWithQ","x","getColumnOrAxisLabel","y","keyColumn","facetBy","selectorState","allGroupingIds","lodash","grouping","idString","tooltipContent","source","spec","getColumnOrAxisSpec","FORMAT","label","_c","_d","highlight"],"mappings":";;;;;;;;AA2CO,MAAMA,IAAsD;AAAA,EAC/D,MAAM;AAAA,EACN,YAAY;AAAA,IACR,GAAG,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IACrC,GAAG,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IACrC,SAAS,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IAC3C,WAAW,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IAC7C,OAAO,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IACzC,SAAS,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IAC3C,UAAU,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IAC5C,OAAO,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IACzC,gBAAgB,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAA;AAAA,IAClD,MAAM,EAAE,MAAM,UAAU,gBAAgB,CAAA,EAAG;AAAA,EAAA;AAAA,EAE/C,aAAa,CAAA;AACjB;AAEO,MAAMC,WAAuCC,EAAuC;AAAA;AAAA,EAIvF,cAAc;AACV;AAAA,MACI;AAAA,QACI,GAAG,IAAIC,EAAiD;AAAA,UACpD,eAAe;AAAA,UACf,cAAc,CAAC,OAAO,QAAQ,UAAU,OAAO;AAAA,UAC/C,kBAAkB,CAAC,GAAG;AAAA,UACtB,0BAA0B;AAAA,UAC1B,UAAU;AAAA,YACN,iBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,aAAa;AAAA,YACb,gBAAgB;AAAA,UAAA;AAAA,QAAA,CAEvB;AAAA,QACD,GAAG,IAAIA,EAAiD;AAAA,UACpD,eAAe;AAAA,UACf,cAAc,CAAC,OAAO,QAAQ,UAAU,OAAO;AAAA,UAC/C,kBAAkB,CAAC,GAAG;AAAA,UACtB,0BAA0B;AAAA,UAC1B,UAAU;AAAA,YACN,iBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,aAAa;AAAA,YACb,gBAAgB;AAAA,UAAA;AAAA,QAAA,CAEvB;AAAA,QACD,SAAS,IAAIA,EAAuD;AAAA,UAChE,eAAe;AAAA,UACf,cAAc,CAAC,UAAU,OAAO,MAAM;AAAA,UACtC,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,aAAa;AAAA,YACb,mBAAmB;AAAA,YACnB,mBAAmB;AAAA,UAAA;AAAA,QAAA,CAE1B;AAAA,QACD,UAAU,IAAIA,EAAwD;AAAA,UAClE,eAAe;AAAA,UACf,cAAc,CAAC,UAAU,OAAO,QAAQ,SAAS,QAAQ;AAAA,UACzD,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,aAAa;AAAA,YACb,mBAAmB;AAAA,UAAA;AAAA,QAAA,CAE1B;AAAA,QACD,gBAAgB,IAAIA,EAA8D;AAAA,UAC9E,eAAe;AAAA,UACf,cAAc,CAAC,UAAU,OAAO,QAAQ,SAAS,QAAQ;AAAA,UACzD,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,gBAAgB;AAAA,YAChB,aAAa;AAAA,YACb,mBAAmB;AAAA,UAAA;AAAA,QAAA,CAE1B;AAAA,QACD,OAAO,IAAIA,EAAqD;AAAA,UAC5D,eAAe;AAAA,UACf,cAAc,CAAC,UAAU,OAAO,MAAM;AAAA,UACtC,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,UAAA;AAAA,QAAA,CAE1B;AAAA,QACD,MAAM,IAAIA,EAAoD;AAAA,UAC1D,eAAe;AAAA,UACf,cAAc,CAAC,OAAO,QAAQ,UAAU,OAAO;AAAA,UAC/C,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,aAAa;AAAA,UAAA;AAAA,QAAA,CAEpB;AAAA,MAAA;AAAA,MAEL;AAAA,QACI,SAAS,IAAIA,EAAuD;AAAA,UAChE,eAAe;AAAA,UACf,cAAc,CAAC,UAAU,OAAO,QAAQ,UAAU,OAAO;AAAA,UACzD,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,aAAa;AAAA,YACb,mBAAmB;AAAA,YACnB,mBAAmB;AAAA,UAAA;AAAA,QAAA,CAE1B;AAAA,QACD,OAAO,IAAIA,EAAqD;AAAA,UAC5D,eAAe;AAAA,UACf,cAAc,CAAC,UAAU,KAAK;AAAA,UAC9B,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,aAAa;AAAA,YACb,mBAAmB;AAAA,UAAA;AAAA,QAAA,CAE1B;AAAA,QACD,WAAW,IAAIA,EAAyD;AAAA,UACpE,eAAe;AAAA,UACf,cAAc,CAAC,UAAU,OAAO,QAAQ,UAAU,OAAO;AAAA,UACzD,0BAA0B;AAAA,UAC1B,kBAAkB,CAAC,KAAK,GAAG;AAAA,UAC3B,WAAW,CAAC,KAAK,GAAG;AAAA,UACpB,UAAU;AAAA,YACN,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,UAAA;AAAA,QAAA,CAE1B;AAAA,MAAA;AAAA,IAAA,GA3HbC,EAAA,MAAA,cAAa,CAAC,KAAK,GAAG,CAAA;AAAA,EA6HlB;AAAA,EAGJ,sBAAsBC,GAA+BC,GAAuC;AACpF,QAAA,CAACD,EAAM,WAAW,EAAE,eAAe,UAAU,CAACA,EAAM,WAAW,EAAE,eAAe;AAChF,aAAA,oBAAW,IAAA;AAEf,UAAME,IAAYF,EAAM,WAAW,EAAE,eAAe,CAAC,EAAE,gBACjDG,IAAYH,EAAM,WAAW,EAAE,eAAe,CAAC,EAAE,gBACjDI,IAAQH,EAAY,IAAIC,CAAS,GACjCG,IAAQJ,EAAY,IAAIE,CAAS;AACnC,QAAA,CAACC,KAAS,CAACC,KAASD,EAAM,SAAS,YAAYC,EAAM,SAAS;AAC9D,aAAA,oBAAW,IAAA;AAEf,UAAMC,IAAQF,EAAM,KAAK,SAAS,IAAI,CAACG,MAAMC,EAAO,aAAaD,CAAC,EAAE,mBAAmB,GACjFE,IAAQJ,EAAM,KAAK,SAAS,IAAI,CAACE,MAAMC,EAAO,aAAaD,CAAC,EAAE,mBAAmB,GACjFG,IAAWJ,EAAM,OAAO,CAAWK,MAAA,CAACF,EAAM,KAAK,CAAAG,MAAMA,MAAOD,CAAO,CAAC,GACpEE,IAAWJ,EAAM,OAAO,CAAWE,MAAA,CAACL,EAAM,KAAK,CAAAM,MAAMA,MAAOD,CAAO,CAAC;AAEtE,WAAAD,EAAS,UAAUG,EAAS,SAAA,oBACjB,IAAY,CAAC,GAAGH,GAAU,GAAGG,CAAQ,CAAC,IAAA,oBAE1C,IAAA;AAAA,EAAY;AAAA,EAG3B,MAAM,oBAAoBC,GAAkBd,GAAqE;;AAC7G,UAAMe,KAAkBC,IAAAhB,EAAM,WAAW,EAAE,eAAe,CAAC,MAAnC,OAAA,SAAAgB,EAAsC,gBACxDC,KAAkBC,IAAAlB,EAAM,WAAW,EAAE,eAAe,CAAC,MAAnC,gBAAAkB,EAAsC;AAC1D,QAAA,CAACH,KAAmB,CAACE;AACrB,YAAM,MAAM,4BAA4B;AAEtC,UAAAE,IAAMC,EAAyBL,CAAe,GAC9CM,IAAMD,EAAyBH,CAAe;AAChD,QAAA,CAACE,KAAO,CAACE;AACT,YAAM,MAAM,4BAA4B;AAE5C,UAAMC,IAA+B;AAAA,MACjC,MAAM;AAAA,MACN,IAAIC,EAAavB,EAAM,UAAU,KAAK;AAAA,MACtC,QAAQ,CAAA;AAAA,IAAA,GAGNwB,IAAY,MAAMC,EAAgBX,CAAK,GACvCY,IAAkB,MAAMC,EAAsBb,CAAK,GAEnDc,IAAuB;AAAA,MACzB,GAAG5B,EAAM,WAAW,QAAQ;AAAA,MAC5B,GAAGA,EAAM,WAAW,MAAM;AAAA,IAAA,GAGxB6B,IAAUC,EAAqBF,CAAoB,GACnDG,IAAgBH,EAAqB,IAAI,CAAKrB,MAAAa,EAAyBb,EAAE,cAAc,CAAC,EAAE,OAAOyB,CAAU,GAE3GC,IAAgB,CAACd,GAAKE,CAAG,EAAE,OAAOW,CAAU,EAAE,IAAI,CAAAE,MAAQA,EAAK,mBAAmB;AACpF,QAAAD,EAAc,WAAW;AACzB,YAAM,MAAM,mCAAmC;AAEnD,UAAME,IAAiB,MAAMC,EAAwBtB,GAAOmB,CAAa,GAEnEI,IAAiB,CAAClB,GAAKE,GAAK,GAAGU,CAAa,GAC5CO,IAA0C,CAAA,GAC1CC,IAA4B,CAAA;AAEvB,eAAA,EAAE,gBAAAC,EAAAA,KAAoBZ;AACfW,QAAA,KAAK,GAAG,MAAME;AAAAA,QACxB3B;AAAAA,QACAU;AAAAA,QACAE;AAAAA,QACAS;AAAAA,QACAK;AAAAA,MAAA,CACH;AAGL,UAAME,IAAS;AAAA,MACX1C,EAAM,WAAW;AAAA,MACjBA,EAAM,WAAW;AAAA,MACjBA,EAAM,WAAW;AAAA,MACjBA,EAAM,WAAW;AAAA,MACjBA,EAAM,WAAW;AAAA,MACjBA,EAAM,WAAW;AAAA,IAAA;AAErB,eAAW2C,KAASD;AAChB,iBAAW,EAAE,gBAAAF,EAAAA,KAAoBG,EAAM,gBAAgB;AAClCL,QAAAA,EAAA,KAAKlB,EAAyBoB,CAAc,CAAE,GACjDD,EAAA,KAAK,GAAG,MAAME;AAAAA,UACxB3B;AAAAA,UACAU;AAAAA,UACAE;AAAAA,UACAS;AAAAA,UACAK;AAAAA,QAAA,CACH;AACD,cAAMI,IAAiB,MAAMC,EAA6B/B,GAAO0B,GAAgBP,CAAa;AAC1FW,QAAAA,KACAN,EAAiB,KAAKM,CAAc;AAAA,MACxC;AAIF,UAAAE,IAAO,MAAMhC,EAAM,eAAe;AAAA,MACpC,CAACK,GAAKE,GAAK,GAAGkB,GAAe,GAAGR,CAAa;AAAA,MAC7CO;AAAAA,MACAT;AAAAA,MACA;AAAA,IAAA;AAGJ,WAAA,CAAC,GAAGQ,GAAgB,GAAGC,CAAgB,EAAE,QAAQ,CAAQJ,MAAA;AAC/C,YAAAa,IAAMb,EAAK,kBAAA;AACjBZ,MAAAA,EAAc,OAAOyB,CAAG,IAAIf,EAAWE,CAAI,IAAIY,EAAK,YAAYC,CAAG,IAAID,EAAK,SAASC,CAAG;AAAA,IAAA,CAC3F,GAEG/C,EAAM,WAAW,UAAU,eAAe,WAC5BsB,EAAA,OAAO,YAAe0B,EAAsBhD,EAAM,WAAW,UAAU,gBAAgB8C,CAAI,IAGtG;AAAA,MACH,WAAWxB;AAAAA,MACX,UAAUwB,EAAK;AAAA,IAAA;AAAA,EACnB;AAAA,EAGJ,MAAM,oBAAoBhC,GAAkBd,GAAiE;;AACzG,UAAMiD,KAAYjC,IAAAhB,EAAM,WAAW,EAAE,eAAe,CAAC,MAAnC,OAAA,SAAAgB,EAAsC,gBAClDkC,KAAYhC,IAAAlB,EAAM,WAAW,EAAE,eAAe,CAAC,MAAnC,OAAA,SAAAkB,EAAsC,gBAClDiC,IAAWF,IAAY7B,EAAyB6B,CAAS,IAAI,MAC7DG,IAAWF,IAAY9B,EAAyB8B,CAAS,IAAI;AACnE,QAAI,CAACD,KAAa,CAACC,KAAa,CAACC,KAAY,CAACC,KAAa,CAACpB,EAAWmB,CAAQ,KAAK,CAACnB,EAAWoB,CAAQ;AACpG,YAAM,MAAM,gCAAgC;AAGhD,UAAMnB,IAAgB,CAACkB,GAAUC,CAAQ,EAAE,OAAOpB,CAAU,EAAE,IAAI,CAAAE,MAAQA,EAAK,kBAAA,CAAmB,GAC5FmB,IAAI;AAAA,MACN,MAAM;AAAA,MACN,OAAOJ;AAAAA,MACP,OAAO,MAAMK,EAAqBxC,GAAOmC,GAAWhB,CAAa;AAAA,IAAA,GAE/DsB,IAAI;AAAA,MACN,MAAM;AAAA,MACN,OAAOL;AAAAA,MACP,OAAO,MAAMI,EAAqBxC,GAAOoC,GAAWjB,CAAa;AAAA,IAAA,GAE/DuB,IAAY;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,IAAA,GAELC,IAAU,MAAM,QAAQ;AAAA,MAC1BzD,EAAM,WAAW,QAAQ,eAAe,IAAI,OAAM0D,MAAkB;;AAAA,eAAA;AAAA,UAChE,MAAM;AAAA,UACN,SACK1C,IAAA,MAAM6B,EAA6B/B,GAAO4C,EAAc,gBAAgBzB,CAAa,MAArF,OAAA,SAAAjB,EAAyF,kBAAA,MAC1F0C,EAAc;AAAA,QAAA;AAAA,MAAA,CACpB;AAAA,IAAA,GAEAC,IAAiBC,EAAO,KAAK;AAAA,MAC/B,GAAG5D,EAAM,WAAW,SAAS,eAAe,IAAI,CAAAO,MAAKA,EAAE,cAAc;AAAA,MACrE,GAAGP,EAAM,WAAW,KAAK,eAAe,IAAI,CAAAO,MAAKA,EAAE,cAAc;AAAA,IAAA,CACpE,GACKsD,IAAW,MAAM,QAAQ;AAAA,MAC3BF,EAAe,IAAI,OAAMG,MAAY;;AAC1B,eAAA;AAAA,UACH,YAAY;AAAA,YACR,MAAM;AAAA,YACN,OAAQ,MAAMR,EAAqBxC,GAAOgD,GAAU7B,CAAa,KAAM6B;AAAAA,YACvE,OAAOA;AAAAA,YACP,eACK9C,IAAA,MAAM6B,EAA6B/B,GAAOgD,GAAU7B,CAAa,MAAjE,OAAA,SAAAjB,EAAqE,kBAAA,MACtE8C;AAAAA,UAAA;AAAA,QAAA;AAAA,MAGf,CAAA;AAAA,IAAA,GAGCC,IAAiB,MAAM,QAAQ;AAAA,MACjC/D,EAAM,WAAW,eAAe,eAAe,IAAI,OAAM0D,MAAiB;;AACtE,cAAMM,IAASN,EAAc,gBACvBO,IAAO,MAAMC,EAAoBpD,GAAOkD,GAAQ/B,CAAa;AAC5D,eAAA;AAAA,UACH,MAAM;AAAA,UACN,OAAQ,MAAMqB,EAAqBxC,GAAOkD,GAAQ/B,CAAa,KAAM+B;AAAAA,UACrE,OAAOA;AAAAA,UACP,eACKhD,IAAA,MAAM6B,EAA6B/B,GAAOkD,GAAQ/B,CAAa,MAA/D,OAAA,SAAAjB,EAAmE,kBAAA,MACpEgD;AAAAA,UACJ,SAAQ9C,IAAA+C,KAAA,gBAAAA,EAAM,gBAAN,gBAAA/C,EAAoBiD,CAAAA;AAAAA,QAAA;AAAA,MAEnC,CAAA;AAAA,IAAA;AAGD,QAAAC;AACJ,QAAIpE,EAAM,WAAW,MAAM,eAAe,QAAQ;AAC9C,YAAMgE,IAAShE,EAAM,WAAW,MAAM,eAAe,CAAC,EAAE,gBAClDiE,IAAO,MAAMC,EAAoBpD,GAAOkD,GAAQ/B,CAAa;AAC3DmC,MAAAA,IAAA;AAAA,QACJ,MAAM;AAAA,QACN,OAAOJ;AAAAA,QACP,OAAO,MAAMV,EAAqBxC,GAAOkD,GAAQ/B,CAAa;AAAA,QAC9D,eACKoC,IAAA,MAAMxB,EAA6B/B,GAAOkD,GAAQ/B,CAAa,MAA/D,OAAA,SAAAoC,EAAmE,kBAAA,MACpEL;AAAAA,QACJ,SAAQM,IAAAL,KAAA,gBAAAA,EAAM,gBAAN,gBAAAK,EAAoBH,CAAAA;AAAAA,MAAA;AAAA,IAChC;AAGA,QAAAI;AACJ,WAAIvE,EAAM,WAAW,UAAU,eAAe,WAC9BuE,IAAA;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IAAA,IAGR;AAAA,MACH,MAAM;AAAA,MACN,GAAAlB;AAAAA,MACA,GAAAE;AAAAA,MACA,WAAAC;AAAAA,MACA,SAAAC;AAAAA,MACA,UAAAI;AAAAA,MACA,OAAAO;AAAAA,MACA,WAAAG;AAAAA,MACA,UAAU;AAAA,QACN,MAAM;AAAA,QACN,SAASR;AAAAA,MAAA;AAAA,IAAA;AAAA,EAEjB;AAER;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"scatterplot-umap.js","sources":["../../../../../../../node_modules/@milaboratories/pf-plots/src/controllers/controllersByChartType/scatterplot-umap.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport lodash from 'lodash';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n DataByColumns,\n InputStateParent,\n} from '../../common';\nimport { PValue } from '../../store';\nimport { ControllerBase, PlotDataAndSettings } from '../ControllerBase';\nimport { ComponentController } from '../ComponentController';\nimport { AxisId, ColumnId } from '../../spec';\nimport { columnOrAxisIdFromString, isColumnId } from '../../spec';\nimport type { DataStore } from '../../store';\nimport {\n createHighlightColumn,\n createLinkerMap,\n createMultipliesByMap,\n getAxesSpecsFromSources,\n getColumnOrAxisLabel, getColumnOrAxisSpec,\n getColumnOrAxisValueLabelsId,\n getFiltersFromStates,\n getFormat,\n getLinkerColumnsForSource,\n OptionsInfo,\n} from '../../utils';\n\nexport interface ScatterplotUmapUIState extends InputStateParent<'scatterplot-umap'> {\n type: 'scatterplot-umap';\n components: {\n x: ComponentStateSimple;\n y: ComponentStateSimple;\n filters: ComponentStateFilter;\n highlight: ComponentStateFilter;\n tabBy: ComponentStateFilter;\n facetBy: ComponentStateSimple;\n grouping: ComponentStateSimple;\n label: ComponentStateSimple;\n tooltipContent: ComponentStateSimple;\n size: ComponentStateSimple;\n };\n}\n\nexport const InitialScatterplotUmapState: ScatterplotUmapUIState = {\n type: 'scatterplot-umap',\n components: {\n x: { type: 'simple', selectorStates: [] },\n y: { type: 'simple', selectorStates: [] },\n filters: { type: 'filter', selectorStates: [] },\n highlight: { type: 'filter', selectorStates: [] },\n tabBy: { type: 'filter', selectorStates: [] },\n facetBy: { type: 'simple', selectorStates: [] },\n grouping: { type: 'simple', selectorStates: [] },\n label: { type: 'simple', selectorStates: [] },\n tooltipContent: { type: 'simple', selectorStates: [] },\n size: { type: 'simple', selectorStates: [] },\n },\n dividedAxes: {},\n};\n\nexport class ScatterplotUmapStateController extends ControllerBase<ScatterplotUmapUIState> {\n dataInputs = ['x', 'y'];\n //allowHangingAxes = true;\n\n constructor() {\n super(\n {\n x: new ComponentController<ScatterplotUmapUIState, 'x'>({\n componentName: 'x',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n parentComponents: ['y'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n y: new ComponentController<ScatterplotUmapUIState, 'y'>({\n componentName: 'y',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n parentComponents: ['x'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n facetBy: new ComponentController<ScatterplotUmapUIState, 'facetBy'>({\n componentName: 'facetBy',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n grouping: new ComponentController<ScatterplotUmapUIState, 'grouping'>({\n componentName: 'grouping',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n tooltipContent: new ComponentController<ScatterplotUmapUIState, 'tooltipContent'>({\n componentName: 'tooltipContent',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n label: new ComponentController<ScatterplotUmapUIState, 'label'>({\n componentName: 'label',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: false,\n },\n }),\n size: new ComponentController<ScatterplotUmapUIState, 'size'>({\n componentName: 'size',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n },\n }),\n },\n {\n filters: new ComponentController<ScatterplotUmapUIState, 'filters'>({\n componentName: 'filters',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n }\n }),\n tabBy: new ComponentController<ScatterplotUmapUIState, 'tabBy'>({\n componentName: 'tabBy',\n allowedTypes: ['String', 'Int'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n },\n }),\n highlight: new ComponentController<ScatterplotUmapUIState, 'highlight'>({\n componentName: 'highlight',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: true,\n }\n }),\n }\n );\n }\n\n getMustBeConsumedAxes(state: ScatterplotUmapUIState, optionsInfo: OptionsInfo): Set<string> {\n if (!state.components.x.selectorStates.length || !state.components.y.selectorStates.length) {\n return new Set<string>();\n }\n const sourceIdX = state.components.x.selectorStates[0].selectedSource;\n const sourceIdY = state.components.y.selectorStates[0].selectedSource;\n const dataX = optionsInfo.get(sourceIdX);\n const dataY = optionsInfo.get(sourceIdY);\n if (!dataX || !dataY || dataX.kind !== 'column' || dataY.kind !== 'column') {\n return new Set<string>();\n }\n const axesX = dataX.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const axesY = dataY.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const hangingX = axesX.filter(axisKey => !axesY.some(id => id === axisKey));\n const hangingY = axesY.filter(axisKey => !axesX.some(id => id === axisKey));\n\n if (hangingX.length && hangingY.length) {\n return new Set<string>([...hangingX, ...hangingY])\n }\n return new Set<string>();\n }\n\n async createDataByColumns(store: DataStore, state: ScatterplotUmapUIState): Promise<PlotDataAndSettings['data']> {\n const xColumnIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yColumnIdString = state.components.y.selectorStates[0]?.selectedSource;\n if (!xColumnIdString || !yColumnIdString) {\n throw Error('X or Y column is not valid');\n }\n const xId = columnOrAxisIdFromString(xColumnIdString);\n const yId = columnOrAxisIdFromString(yColumnIdString);\n if (!xId || !yId) {\n throw Error('X or Y column is not valid');\n }\n const dataByColumns: DataByColumns = {\n type: 'columns',\n id: canonicalize(state.components) ?? '',\n values: {},\n };\n\n const linkerMap = await createLinkerMap(store);\n const multipliesByMap = await createMultipliesByMap(store);\n\n const filterSelectedStates = [\n ...state.components.filters.selectorStates,\n ...state.components.tabBy.selectorStates\n ]\n // filters for column/axes data requests\n const filters = getFiltersFromStates(filterSelectedStates);\n const filterColumns = filterSelectedStates.map(s => columnOrAxisIdFromString(s.selectedSource)).filter(isColumnId);\n\n const parentSources = [xId, yId].filter(isColumnId).map(item => item.toCanonicalString());\n if (parentSources.length === 0) {\n throw Error('One of X and Y should be a column');\n }\n const parentAxesList = await getAxesSpecsFromSources(store, parentSources);\n\n const primarySources = [xId, yId, ...filterColumns];\n const secondarySources: (ColumnId | AxisId)[] = [];\n const linkerColumns: ColumnId[] = [];\n\n for (const { selectedSource } of filterSelectedStates) {\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource,\n ));\n }\n\n const inputs = [\n state.components.grouping,\n state.components.facetBy,\n state.components.tooltipContent,\n state.components.label,\n state.components.highlight,\n state.components.size,\n ];\n for (const input of inputs) {\n for (const { selectedSource } of input.selectorStates) {\n secondarySources.push(columnOrAxisIdFromString(selectedSource)!);\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource\n ));\n const labelsColumnId = await getColumnOrAxisValueLabelsId(store, selectedSource, parentSources);\n if (labelsColumnId) {\n secondarySources.push(labelsColumnId);\n }\n }\n }\n\n const data = await store.pFrameProvider.getTableOuterJoin(\n [xId, yId, ...linkerColumns, ...filterColumns],\n secondarySources,\n filters,\n false\n );\n\n [...primarySources, ...secondarySources].forEach(item => {\n const key = item.toCanonicalString();\n dataByColumns.values[key] = isColumnId(item) ? data.columnsData[key] : data.axesData[key];\n });\n\n if (state.components.highlight.selectorStates.length) {\n dataByColumns.values['highlight'] = createHighlightColumn(state.components.highlight.selectorStates, data) as PValue[];\n }\n\n return {\n byColumns: dataByColumns,\n axesData: data.axesData\n };\n }\n\n async createChartSettings(store: DataStore, state: ScatterplotUmapUIState): Promise<Record<string, unknown>> {\n const xIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yIdString = state.components.y.selectorStates[0]?.selectedSource;\n const xIdWithQ = xIdString ? columnOrAxisIdFromString(xIdString) : null;\n const yIdWithQ = yIdString ? columnOrAxisIdFromString(yIdString) : null;\n if (!xIdString || !yIdString || !xIdWithQ || !yIdWithQ || (!isColumnId(xIdWithQ) && !isColumnId(yIdWithQ))) {\n throw Error('Empty or invalid required data');\n }\n\n const parentSources = [xIdWithQ, yIdWithQ].filter(isColumnId).map(item => item.toCanonicalString());\n const x = {\n type: 'column',\n value: xIdString,\n label: await getColumnOrAxisLabel(store, xIdString, parentSources),\n };\n const y = {\n type: 'column',\n value: yIdString,\n label: await getColumnOrAxisLabel(store, yIdString, parentSources),\n };\n const keyColumn = {\n type: 'column',\n value: 'key',\n };\n const facetBy = await Promise.all(\n state.components.facetBy.selectorStates.map(async selectorState => ({\n type: 'column',\n value:\n (await getColumnOrAxisValueLabelsId(store, selectorState.selectedSource, parentSources))?.toCanonicalString() ??\n selectorState.selectedSource,\n }))\n );\n const allGroupingIds = lodash.uniq([\n ...state.components.grouping.selectorStates.map(s => s.selectedSource),\n ...state.components.size.selectorStates.map(s => s.selectedSource),\n ]);\n const grouping = await Promise.all(\n allGroupingIds.map(async idString => {\n return {\n columnName: {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, idString, parentSources)) || idString,\n value: idString,\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, idString, parentSources))?.toCanonicalString() ??\n idString,\n }\n }\n })\n );\n\n const tooltipContent = await Promise.all(\n state.components.tooltipContent.selectorStates.map(async selectorState => {\n const source = selectorState.selectedSource;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n return {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, source, parentSources)) || source,\n value: source,\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: getFormat(spec)\n };\n })\n );\n\n let label;\n if (state.components.label.selectorStates.length) {\n const source = state.components.label.selectorStates[0].selectedSource;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n label = {\n type: 'column',\n value: source,\n label: await getColumnOrAxisLabel(store, source, parentSources),\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: getFormat(spec)\n };\n }\n\n let highlight;\n if (state.components.highlight.selectorStates.length) {\n highlight = {\n type: 'column',\n value: 'highlight'\n }\n }\n return {\n type: 'scatterplot-umap',\n x,\n y,\n keyColumn,\n facetBy,\n grouping,\n label,\n highlight,\n tooltips: {\n show: true,\n content: tooltipContent\n }\n };\n }\n}\n"],"names":["InitialScatterplotUmapState","ScatterplotUmapStateController","ControllerBase","ComponentController","__publicField","state","optionsInfo","sourceIdX","sourceIdY","dataX","dataY","axesX","s","AxisId","axesY","hangingX","axisKey","id","hangingY","store","xColumnIdString","_a","yColumnIdString","_b","xId","columnOrAxisIdFromString","yId","dataByColumns","canonicalize","linkerMap","createLinkerMap","multipliesByMap","createMultipliesByMap","filterSelectedStates","filters","getFiltersFromStates","filterColumns","isColumnId","parentSources","item","parentAxesList","getAxesSpecsFromSources","primarySources","secondarySources","linkerColumns","selectedSource","getLinkerColumnsForSource","inputs","input","labelsColumnId","getColumnOrAxisValueLabelsId","data","key","createHighlightColumn","xIdString","yIdString","xIdWithQ","yIdWithQ","x","getColumnOrAxisLabel","y","keyColumn","facetBy","selectorState","allGroupingIds","lodash","grouping","idString","tooltipContent","source","spec","getColumnOrAxisSpec","getFormat","label","_c","highlight"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const ee = {
|
|
1
|
+
import k from "../../_virtual/canonicalize.js";
|
|
2
|
+
import z from "../../_virtual/lodash.js";
|
|
3
|
+
import { ControllerBase as E } from "../ControllerBase.js";
|
|
4
|
+
import { ComponentController as u } from "../ComponentController.js";
|
|
5
|
+
import { AxisId as B, columnOrAxisIdFromString as h, isColumnId as C } from "../../spec.js";
|
|
6
|
+
import { createLinkerMap as M, createMultipliesByMap as q, getFiltersFromStates as X, getAxesSpecsFromSources as Y, getLinkerColumnsForSource as F, getColumnOrAxisValueLabelsId as v, createHighlightColumn as j, getColumnOrAxisLabel as O, getColumnOrAxisSpec as T, getFormat as N } from "../../utils.js";
|
|
7
|
+
var J = Object.defineProperty, Z = (x, t, e) => t in x ? J(x, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : x[t] = e, H = (x, t, e) => Z(x, t + "", e);
|
|
8
|
+
const W = {
|
|
10
9
|
type: "scatterplot",
|
|
11
10
|
components: {
|
|
12
11
|
x: { type: "simple", selectorStates: [] },
|
|
@@ -23,12 +22,12 @@ const ee = {
|
|
|
23
22
|
},
|
|
24
23
|
dividedAxes: {}
|
|
25
24
|
};
|
|
26
|
-
class
|
|
25
|
+
class _ extends E {
|
|
27
26
|
//allowHangingAxes = true;
|
|
28
27
|
constructor() {
|
|
29
28
|
super(
|
|
30
29
|
{
|
|
31
|
-
x: new
|
|
30
|
+
x: new u({
|
|
32
31
|
componentName: "x",
|
|
33
32
|
allowedTypes: ["Int", "Long", "Double", "Float", "String"],
|
|
34
33
|
parentComponents: ["y"],
|
|
@@ -40,7 +39,7 @@ class te extends q {
|
|
|
40
39
|
columnsAllowed: !0
|
|
41
40
|
}
|
|
42
41
|
}),
|
|
43
|
-
y: new
|
|
42
|
+
y: new u({
|
|
44
43
|
componentName: "y",
|
|
45
44
|
allowedTypes: ["Int", "Long", "Double", "Float", "String"],
|
|
46
45
|
parentComponents: ["x"],
|
|
@@ -52,7 +51,7 @@ class te extends q {
|
|
|
52
51
|
columnsAllowed: !0
|
|
53
52
|
}
|
|
54
53
|
}),
|
|
55
|
-
facetBy: new
|
|
54
|
+
facetBy: new u({
|
|
56
55
|
componentName: "facetBy",
|
|
57
56
|
allowedTypes: ["String", "Int", "Long"],
|
|
58
57
|
strictlyDependsOnParents: !0,
|
|
@@ -64,7 +63,7 @@ class te extends q {
|
|
|
64
63
|
multipleSelectors: !0
|
|
65
64
|
}
|
|
66
65
|
}),
|
|
67
|
-
grouping: new
|
|
66
|
+
grouping: new u({
|
|
68
67
|
componentName: "grouping",
|
|
69
68
|
allowedTypes: ["String", "Int", "Long", "Double", "Float"],
|
|
70
69
|
strictlyDependsOnParents: !0,
|
|
@@ -75,7 +74,7 @@ class te extends q {
|
|
|
75
74
|
multipleSelectors: !0
|
|
76
75
|
}
|
|
77
76
|
}),
|
|
78
|
-
shape: new
|
|
77
|
+
shape: new u({
|
|
79
78
|
componentName: "shape",
|
|
80
79
|
allowedTypes: ["String", "Int", "Long"],
|
|
81
80
|
strictlyDependsOnParents: !0,
|
|
@@ -85,7 +84,7 @@ class te extends q {
|
|
|
85
84
|
axesAllowed: !0
|
|
86
85
|
}
|
|
87
86
|
}),
|
|
88
|
-
size: new
|
|
87
|
+
size: new u({
|
|
89
88
|
componentName: "size",
|
|
90
89
|
allowedTypes: ["Int", "Long", "Double", "Float"],
|
|
91
90
|
strictlyDependsOnParents: !0,
|
|
@@ -95,7 +94,7 @@ class te extends q {
|
|
|
95
94
|
axesAllowed: !0
|
|
96
95
|
}
|
|
97
96
|
}),
|
|
98
|
-
tooltipContent: new
|
|
97
|
+
tooltipContent: new u({
|
|
99
98
|
componentName: "tooltipContent",
|
|
100
99
|
allowedTypes: ["String", "Int", "Long", "Float", "Double"],
|
|
101
100
|
strictlyDependsOnParents: !0,
|
|
@@ -107,7 +106,7 @@ class te extends q {
|
|
|
107
106
|
multipleSelectors: !0
|
|
108
107
|
}
|
|
109
108
|
}),
|
|
110
|
-
label: new
|
|
109
|
+
label: new u({
|
|
111
110
|
componentName: "label",
|
|
112
111
|
allowedTypes: ["String", "Int", "Long"],
|
|
113
112
|
strictlyDependsOnParents: !0,
|
|
@@ -121,7 +120,7 @@ class te extends q {
|
|
|
121
120
|
})
|
|
122
121
|
},
|
|
123
122
|
{
|
|
124
|
-
filters: new
|
|
123
|
+
filters: new u({
|
|
125
124
|
componentName: "filters",
|
|
126
125
|
allowedTypes: ["String", "Int", "Long", "Double", "Float"],
|
|
127
126
|
strictlyDependsOnParents: !0,
|
|
@@ -134,7 +133,7 @@ class te extends q {
|
|
|
134
133
|
multipleSelectors: !0
|
|
135
134
|
}
|
|
136
135
|
}),
|
|
137
|
-
tabBy: new
|
|
136
|
+
tabBy: new u({
|
|
138
137
|
componentName: "tabBy",
|
|
139
138
|
allowedTypes: ["String", "Int"],
|
|
140
139
|
strictlyDependsOnParents: !0,
|
|
@@ -145,7 +144,7 @@ class te extends q {
|
|
|
145
144
|
dimensionConsumer: !0
|
|
146
145
|
}
|
|
147
146
|
}),
|
|
148
|
-
highlight: new
|
|
147
|
+
highlight: new u({
|
|
149
148
|
componentName: "highlight",
|
|
150
149
|
allowedTypes: ["String", "Int", "Long", "Double", "Float"],
|
|
151
150
|
strictlyDependsOnParents: !0,
|
|
@@ -158,42 +157,42 @@ class te extends q {
|
|
|
158
157
|
}
|
|
159
158
|
})
|
|
160
159
|
}
|
|
161
|
-
),
|
|
160
|
+
), H(this, "dataInputs", ["x", "y"]);
|
|
162
161
|
}
|
|
163
162
|
getMustBeConsumedAxes(t, e) {
|
|
164
163
|
if (!t.components.x.selectorStates.length || !t.components.y.selectorStates.length)
|
|
165
164
|
return /* @__PURE__ */ new Set();
|
|
166
|
-
const g = t.components.x.selectorStates[0].selectedSource,
|
|
167
|
-
if (!
|
|
165
|
+
const g = t.components.x.selectorStates[0].selectedSource, S = t.components.y.selectorStates[0].selectedSource, d = e.get(g), r = e.get(S);
|
|
166
|
+
if (!d || !r || d.kind !== "column" || r.kind !== "column")
|
|
168
167
|
return /* @__PURE__ */ new Set();
|
|
169
|
-
const
|
|
170
|
-
return
|
|
168
|
+
const c = d.spec.axesSpec.map((i) => B.fromAxisSpec(i).toCanonicalString()), m = r.spec.axesSpec.map((i) => B.fromAxisSpec(i).toCanonicalString()), l = c.filter((i) => !m.some((y) => y === i)), s = m.filter((i) => !c.some((y) => y === i));
|
|
169
|
+
return l.length && s.length ? /* @__PURE__ */ new Set([...l, ...s]) : /* @__PURE__ */ new Set();
|
|
171
170
|
}
|
|
172
171
|
async createDataByColumns(t, e) {
|
|
173
|
-
var g,
|
|
174
|
-
const
|
|
175
|
-
if (!
|
|
172
|
+
var g, S;
|
|
173
|
+
const d = (g = e.components.x.selectorStates[0]) == null ? void 0 : g.selectedSource, r = (S = e.components.y.selectorStates[0]) == null ? void 0 : S.selectedSource;
|
|
174
|
+
if (!d || !r)
|
|
176
175
|
throw Error("X or Y column is not valid");
|
|
177
|
-
const
|
|
176
|
+
const c = h(d), m = h(r), l = {
|
|
178
177
|
type: "columns",
|
|
179
|
-
id:
|
|
178
|
+
id: k(e.components) ?? "",
|
|
180
179
|
values: {}
|
|
181
|
-
},
|
|
180
|
+
}, s = await M(t), i = await q(t), y = [
|
|
182
181
|
...e.components.filters.selectorStates,
|
|
183
182
|
...e.components.tabBy.selectorStates
|
|
184
|
-
], L =
|
|
185
|
-
if (
|
|
183
|
+
], L = X(y), A = y.map((a) => h(a.selectedSource)).filter(C), b = [c, m].filter(C).map((a) => a.toCanonicalString());
|
|
184
|
+
if (b.length === 0)
|
|
186
185
|
throw Error("One of X and Y should be a column");
|
|
187
|
-
const
|
|
188
|
-
for (const { selectedSource:
|
|
189
|
-
f.push(...await
|
|
186
|
+
const D = await Y(t, b), P = [c, m, ...A], w = [], f = [];
|
|
187
|
+
for (const { selectedSource: a } of y)
|
|
188
|
+
f.push(...await F(
|
|
190
189
|
t,
|
|
191
|
-
m,
|
|
192
190
|
s,
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
i,
|
|
192
|
+
D,
|
|
193
|
+
a
|
|
195
194
|
));
|
|
196
|
-
const
|
|
195
|
+
const o = [
|
|
197
196
|
e.components.grouping,
|
|
198
197
|
e.components.size,
|
|
199
198
|
e.components.shape,
|
|
@@ -202,115 +201,114 @@ class te extends q {
|
|
|
202
201
|
e.components.label,
|
|
203
202
|
e.components.highlight
|
|
204
203
|
];
|
|
205
|
-
for (const
|
|
206
|
-
for (const { selectedSource:
|
|
207
|
-
|
|
204
|
+
for (const a of o)
|
|
205
|
+
for (const { selectedSource: p } of a.selectorStates) {
|
|
206
|
+
w.push(h(p)), f.push(...await F(
|
|
208
207
|
t,
|
|
209
|
-
m,
|
|
210
208
|
s,
|
|
211
|
-
|
|
212
|
-
|
|
209
|
+
i,
|
|
210
|
+
D,
|
|
211
|
+
p
|
|
213
212
|
));
|
|
214
|
-
const I = await v(t,
|
|
215
|
-
I &&
|
|
213
|
+
const I = await v(t, p, b);
|
|
214
|
+
I && w.push(I);
|
|
216
215
|
}
|
|
217
216
|
const n = await t.pFrameProvider.getTableOuterJoin(
|
|
218
|
-
[
|
|
219
|
-
|
|
217
|
+
[c, m, ...f, ...A],
|
|
218
|
+
w,
|
|
220
219
|
L,
|
|
221
220
|
!1
|
|
222
221
|
);
|
|
223
|
-
return [...P, ...
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
}),
|
|
222
|
+
return [...P, ...w].forEach((a) => {
|
|
223
|
+
const p = a.toCanonicalString();
|
|
224
|
+
l.values[p] = C(a) ? n.columnsData[p] : n.axesData[p];
|
|
225
|
+
}), l.values.key = new Array(l.values[Object.keys(l.values)[0]].length).fill(0).map((a, p) => p), e.components.highlight.selectorStates.length && (l.values.highlight = j(e.components.highlight.selectorStates, n)), { byColumns: l };
|
|
227
226
|
}
|
|
228
227
|
async createChartSettings(t, e) {
|
|
229
|
-
var g,
|
|
230
|
-
const r = (g = e.components.x.selectorStates[0]) == null ? void 0 : g.selectedSource,
|
|
231
|
-
if (!r || !
|
|
228
|
+
var g, S, d;
|
|
229
|
+
const r = (g = e.components.x.selectorStates[0]) == null ? void 0 : g.selectedSource, c = (S = e.components.y.selectorStates[0]) == null ? void 0 : S.selectedSource, m = r ? h(r) : null, l = c ? h(c) : null;
|
|
230
|
+
if (!r || !c || !m || !l || !C(m) && !C(l))
|
|
232
231
|
throw Error("Empty or invalid required data");
|
|
233
|
-
const s = [
|
|
232
|
+
const s = [m, l].filter(C).map((o) => o.toCanonicalString()), i = {
|
|
234
233
|
type: "column",
|
|
235
234
|
value: r,
|
|
236
|
-
label: await
|
|
237
|
-
},
|
|
235
|
+
label: await O(t, r, s)
|
|
236
|
+
}, y = {
|
|
238
237
|
type: "column",
|
|
239
|
-
value:
|
|
240
|
-
label: await
|
|
241
|
-
},
|
|
238
|
+
value: c,
|
|
239
|
+
label: await O(t, c, s)
|
|
240
|
+
}, L = {
|
|
242
241
|
type: "column",
|
|
243
242
|
value: "key"
|
|
244
|
-
},
|
|
245
|
-
e.components.facetBy.selectorStates.map(async (
|
|
246
|
-
var
|
|
243
|
+
}, A = await Promise.all(
|
|
244
|
+
e.components.facetBy.selectorStates.map(async (o) => {
|
|
245
|
+
var n;
|
|
247
246
|
return {
|
|
248
247
|
type: "column",
|
|
249
|
-
value: ((
|
|
248
|
+
value: ((n = await v(t, o.selectedSource, s)) == null ? void 0 : n.toCanonicalString()) ?? o.selectedSource
|
|
250
249
|
};
|
|
251
250
|
})
|
|
252
|
-
),
|
|
253
|
-
...e.components.grouping.selectorStates.map((
|
|
254
|
-
...e.components.size.selectorStates.map((
|
|
255
|
-
...e.components.shape.selectorStates.map((
|
|
256
|
-
]),
|
|
257
|
-
|
|
258
|
-
var
|
|
251
|
+
), b = z.uniq([
|
|
252
|
+
...e.components.grouping.selectorStates.map((o) => o.selectedSource),
|
|
253
|
+
...e.components.size.selectorStates.map((o) => o.selectedSource),
|
|
254
|
+
...e.components.shape.selectorStates.map((o) => o.selectedSource)
|
|
255
|
+
]), D = await Promise.all(
|
|
256
|
+
b.map(async (o) => {
|
|
257
|
+
var n;
|
|
259
258
|
return {
|
|
260
259
|
columnName: {
|
|
261
260
|
type: "column",
|
|
262
|
-
label: await
|
|
263
|
-
value:
|
|
264
|
-
valueLabels: ((
|
|
261
|
+
label: await O(t, o, s) || o,
|
|
262
|
+
value: o,
|
|
263
|
+
valueLabels: ((n = await v(t, o, s)) == null ? void 0 : n.toCanonicalString()) ?? o
|
|
265
264
|
}
|
|
266
265
|
};
|
|
267
266
|
})
|
|
268
|
-
),
|
|
269
|
-
e.components.tooltipContent.selectorStates.map(async (
|
|
270
|
-
|
|
271
|
-
const l = n.selectedSource, I = S(l), E = await v(t, l, s) ?? I, B = await k(t, l, s);
|
|
267
|
+
), P = await Promise.all(
|
|
268
|
+
e.components.tooltipContent.selectorStates.map(async (o) => {
|
|
269
|
+
const n = o.selectedSource, a = h(n), p = await v(t, n, s) ?? a, I = await T(t, n, s);
|
|
272
270
|
return {
|
|
273
271
|
type: "column",
|
|
274
|
-
label: await
|
|
275
|
-
value:
|
|
276
|
-
valueLabels:
|
|
277
|
-
format: (
|
|
272
|
+
label: await O(t, n, s) || n,
|
|
273
|
+
value: n,
|
|
274
|
+
valueLabels: p.toCanonicalString(),
|
|
275
|
+
format: N(I)
|
|
278
276
|
};
|
|
279
277
|
})
|
|
280
278
|
);
|
|
281
|
-
let
|
|
279
|
+
let w;
|
|
282
280
|
if (e.components.label.selectorStates.length) {
|
|
283
|
-
const
|
|
284
|
-
|
|
281
|
+
const o = e.components.label.selectorStates[0].selectedSource, n = await T(t, o, s);
|
|
282
|
+
w = {
|
|
285
283
|
type: "column",
|
|
286
|
-
value:
|
|
287
|
-
label: await
|
|
288
|
-
valueLabels: ((
|
|
289
|
-
format: (
|
|
284
|
+
value: o,
|
|
285
|
+
label: await O(t, o, s),
|
|
286
|
+
valueLabels: ((d = await v(t, o, s)) == null ? void 0 : d.toCanonicalString()) ?? o,
|
|
287
|
+
format: N(n)
|
|
290
288
|
};
|
|
291
289
|
}
|
|
292
|
-
let
|
|
293
|
-
return e.components.highlight.selectorStates.length && (
|
|
290
|
+
let f;
|
|
291
|
+
return e.components.highlight.selectorStates.length && (f = {
|
|
294
292
|
type: "column",
|
|
295
293
|
value: "highlight"
|
|
296
294
|
}), {
|
|
297
295
|
type: "scatterplot",
|
|
298
|
-
x:
|
|
299
|
-
y
|
|
300
|
-
keyColumn:
|
|
301
|
-
facetBy:
|
|
302
|
-
grouping:
|
|
303
|
-
label:
|
|
304
|
-
highlight:
|
|
296
|
+
x: i,
|
|
297
|
+
y,
|
|
298
|
+
keyColumn: L,
|
|
299
|
+
facetBy: A,
|
|
300
|
+
grouping: D,
|
|
301
|
+
label: w,
|
|
302
|
+
highlight: f,
|
|
305
303
|
tooltips: {
|
|
306
304
|
show: !0,
|
|
307
|
-
content:
|
|
305
|
+
content: P
|
|
308
306
|
}
|
|
309
307
|
};
|
|
310
308
|
}
|
|
311
309
|
}
|
|
312
310
|
export {
|
|
313
|
-
|
|
314
|
-
|
|
311
|
+
W as InitialScatterplotState,
|
|
312
|
+
_ as ScatterplotStateController
|
|
315
313
|
};
|
|
316
314
|
//# sourceMappingURL=scatterplot.js.map
|