@milaboratories/graph-maker 1.1.213 → 1.1.215
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/components/AesSettings/AesDataMappingDiscrete.vue3.js +0 -1
- package/dist/components/AesSettings/DiscreteRow.vue3.js +0 -1
- package/dist/components/Chart.vue.js +16 -16
- package/dist/components/Chart.vue.js.map +1 -1
- package/dist/components/ChartErrorNotificationAlert.vue3.js +0 -1
- package/dist/components/GraphStatusScreen.vue3.js +0 -1
- package/dist/components/LassoControls/index.vue3.js +0 -1
- package/dist/components/ReorderForm.vue3.js +0 -1
- package/dist/components/SettingsTabs/index.vue.d.ts.map +1 -1
- package/dist/components/SettingsTabs/index.vue.js +47 -44
- package/dist/components/SettingsTabs/index.vue.js.map +1 -1
- package/dist/components/TransitionSlidePanel.vue3.js +1 -2
- package/dist/forms/DataMappingForm/Layout/OptionsList.vue3.js +0 -1
- package/dist/forms/LayersForm/DotSizeSelector.vue3.js +1 -2
- package/dist/forms/LayersForm/Layer/scatterplot/Scatter.vue.js +1 -2
- package/dist/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js +1 -2
- package/dist/forms/index.d.ts +1 -0
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +44 -40
- package/dist/forms/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.vue.d.ts.map +1 -1
- package/dist/index.vue.js +123 -128
- package/dist/index.vue.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +30 -34
- package/dist/store.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +28 -0
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +70 -61
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode("._discreteRow_19vpm_2{background-color:var(--color-ic-00);border-color:var(--color-div-grey)}._discreteRow_19vpm_2:hover{--head-background: var(--color-ic-00)}._discreteRowTitle_19vpm_9{padding-top:0;padding-bottom:0;background-color:var(--color-ic-00)}._discreteRow_19vpm_2:hover ._discreteRowTitle_19vpm_9{background-color:var(--color-ic-00)}")),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
1
|
const e = "_discreteRow_19vpm_2", t = "_discreteRowTitle_19vpm_9", s = {
|
|
3
2
|
discreteRow: e,
|
|
4
3
|
discreteRowTitle: t
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._columnValue_1cp0f_2{display:flex;align-items:center;padding-left:12px;padding-right:2px;margin-bottom:6px;background-color:var(--color-ic-00);width:100%}._columnValue_1cp0f_2._withReorering_1cp0f_12{padding-left:4px}._columnValue_1cp0f_2:last-child{margin-bottom:0}._title_1cp0f_20{overflow:hidden;text-overflow:ellipsis;margin-right:8px;line-height:24px}._color_1cp0f_27{width:18px;height:18px;border-radius:3px}._aesGroup_1cp0f_33{margin-left:auto;flex-shrink:0;display:flex;align-items:center}._aes_1cp0f_33{width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:var(--color-ic-00);border-radius:var(--border-radius-control)}._aes_1cp0f_33._selected_1cp0f_51{border:var(--contour-border-width) solid var(--contour-color);box-shadow:var(--contour-box-shadow);z-index:1}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
1
|
const e = "_columnValue_1cp0f_2", c = "_withReorering_1cp0f_12", o = "_title_1cp0f_20", t = "_color_1cp0f_27", _ = "_aesGroup_1cp0f_33", s = "_aes_1cp0f_33", l = "_selected_1cp0f_51", n = {
|
|
3
2
|
columnValue: e,
|
|
4
3
|
withReorering: c,
|
|
@@ -36,7 +36,7 @@ const ue = { class: "chart_container" }, ce = { class: "chart_header" }, de = ["
|
|
|
36
36
|
const P = p(() => {
|
|
37
37
|
var t;
|
|
38
38
|
return (t = o.value.reactive.optionsState.components.tabBy) == null ? void 0 : t.selectorStates[0];
|
|
39
|
-
}),
|
|
39
|
+
}), v = p(() => {
|
|
40
40
|
var t;
|
|
41
41
|
return (t = P.value) == null ? void 0 : t.selectedSource;
|
|
42
42
|
}), G = p(() => {
|
|
@@ -45,9 +45,9 @@ const ue = { class: "chart_container" }, ce = { class: "chart_header" }, de = ["
|
|
|
45
45
|
}), L = p(() => {
|
|
46
46
|
var t;
|
|
47
47
|
return (t = o.value.reactive.optionsState.components.filters) == null ? void 0 : t.selectorStates;
|
|
48
|
-
}),
|
|
49
|
-
y(() =>
|
|
50
|
-
t !== e && (
|
|
48
|
+
}), m = h(G.value);
|
|
49
|
+
y(() => v.value, (t, e) => {
|
|
50
|
+
t !== e && (m.value = G.value);
|
|
51
51
|
}, { immediate: !0 });
|
|
52
52
|
async function W(t) {
|
|
53
53
|
var a;
|
|
@@ -68,17 +68,17 @@ const ue = { class: "chart_container" }, ce = { class: "chart_header" }, de = ["
|
|
|
68
68
|
}
|
|
69
69
|
const f = h();
|
|
70
70
|
y([
|
|
71
|
-
() =>
|
|
71
|
+
() => v.value,
|
|
72
72
|
() => o.value.loading.inputGuide
|
|
73
73
|
], async ([t, e]) => {
|
|
74
74
|
t === void 0 || e || !o.value.columnsDataStore.value || (f.value = await W(t));
|
|
75
75
|
}, { immediate: !0 }), y(() => f.value, async (t) => {
|
|
76
|
-
if (
|
|
76
|
+
if (v.value === void 0 || m.value !== void 0 || t === void 0)
|
|
77
77
|
return;
|
|
78
78
|
let e = t;
|
|
79
|
-
if (t === null && (e = await F(
|
|
79
|
+
if (t === null && (e = await F(v.value, "")), e != null && e.length) {
|
|
80
80
|
const l = e[0].value;
|
|
81
|
-
|
|
81
|
+
m.value = l, b(l);
|
|
82
82
|
}
|
|
83
83
|
}, { immediate: !0 });
|
|
84
84
|
function b(t) {
|
|
@@ -187,25 +187,25 @@ const ue = { class: "chart_container" }, ce = { class: "chart_header" }, de = ["
|
|
|
187
187
|
])]),
|
|
188
188
|
_: 1
|
|
189
189
|
}, 8, ["modelValue"]),
|
|
190
|
-
|
|
190
|
+
v.value ? (s(), w("div", me, [
|
|
191
191
|
f.value || f.value === void 0 && r(o).loading.inputGuide ? (s(), d(r(ee), {
|
|
192
192
|
key: 0,
|
|
193
|
-
modelValue:
|
|
193
|
+
modelValue: m.value,
|
|
194
194
|
"onUpdate:modelValue": [
|
|
195
|
-
e[2] || (e[2] = (a) =>
|
|
195
|
+
e[2] || (e[2] = (a) => m.value = a),
|
|
196
196
|
e[3] || (e[3] = (a) => b(a))
|
|
197
197
|
],
|
|
198
198
|
label: "Show for",
|
|
199
199
|
options: f.value
|
|
200
200
|
}, null, 8, ["modelValue", "options"])) : (s(), d(r(te), {
|
|
201
201
|
key: 1,
|
|
202
|
-
modelValue:
|
|
202
|
+
modelValue: m.value,
|
|
203
203
|
"onUpdate:modelValue": [
|
|
204
|
-
e[4] || (e[4] = (a) =>
|
|
204
|
+
e[4] || (e[4] = (a) => m.value = a),
|
|
205
205
|
e[5] || (e[5] = (a) => b(a))
|
|
206
206
|
],
|
|
207
207
|
label: "Show for",
|
|
208
|
-
"options-search": (a, i) => F(
|
|
208
|
+
"options-search": (a, i) => F(v.value, a, i)
|
|
209
209
|
}, null, 8, ["modelValue", "options-search"]))
|
|
210
210
|
])) : c("", !0),
|
|
211
211
|
S("div", {
|
|
@@ -223,11 +223,11 @@ const ue = { class: "chart_container" }, ce = { class: "chart_header" }, de = ["
|
|
|
223
223
|
}, null, 2),
|
|
224
224
|
C(se, {
|
|
225
225
|
graphStatus: n.graphStatus,
|
|
226
|
-
top: 0,
|
|
226
|
+
top: v.value ? 24 : 0,
|
|
227
227
|
bottom: 11,
|
|
228
228
|
customStatusText: n.customStatusText,
|
|
229
229
|
errorInfo: n.errorInfo
|
|
230
|
-
}, null, 8, ["graphStatus", "customStatusText", "errorInfo"]),
|
|
230
|
+
}, null, 8, ["graphStatus", "top", "customStatusText", "errorInfo"]),
|
|
231
231
|
r(o).reactive.chartType === "dendro" && n.chartData && r(o).reactive.layersSettings.dendro.showTable ? (s(), d(ae, {
|
|
232
232
|
key: 0,
|
|
233
233
|
chartData: n.chartData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.vue.js","sources":["../../src/components/Chart.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ChartInterface, ErrorInfo } from '@milaboratories/miplots4';\nimport type { SelectorStateFilter } from '@milaboratories/pf-plots';\nimport type { ListOption } from '@platforma-sdk/ui-vue';\nimport { PlAutocomplete, PlBtnGhost, PlDropdown, PlNotificationAlert } from '@platforma-sdk/ui-vue';\nimport { computed, ref, watch } from 'vue';\nimport DendroTable from '../components/DendroTable.vue';\nimport DendroTooltip from '../components/DendroTooltip.vue';\nimport LassoControls from '../components/LassoControls/index.vue';\nimport Zoom from '../components/Zoom/index.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../constantsCommon.ts';\nimport EditIcon from '../icons/EditIcon.vue';\nimport { useStore } from '../store.ts';\nimport type { GraphStatus, StatusTextData } from '../types.ts';\nimport GraphStatusScreen from './GraphStatusScreen.vue';\n\nconst emit = defineEmits(['graph-title-update', 'dendro-node-select', 'dendro-tooltip-btn-click']);\n\nconst store = useStore();\n\nconst props = defineProps<{\n graphStatus: GraphStatus;\n graphTitle: string;\n dendroTooltipButton?: string;\n chartData: Record<string, unknown> | null;\n chartRef: ChartInterface | null;\n errorInfo: ErrorInfo | null;\n customStatusText?: Partial<StatusTextData>;\n allowTitleEditing?: boolean;\n isScatterplotZoomChanged?: boolean;\n}>();\n\nconst title = ref(props.graphTitle);\n// title can be updated from graph-maker settings\nwatch(() => props.graphTitle, (graphTitle) => {\n title.value = graphTitle;\n});\n\nconst tabByState = computed(() => store.value.reactive.optionsState.components.tabBy?.selectorStates[0] as SelectorStateFilter | undefined);\nconst tabBySource = computed(() => tabByState.value?.selectedSource);\nconst tabByFilterValue = computed(() => tabByState.value?.selectedFilterValues?.[0]);\nconst filtersStates = computed(() => store.value.reactive.optionsState.components.filters?.selectorStates as SelectorStateFilter[]);\n\nconst tabByLocalValue = ref(tabByFilterValue.value);\nwatch(() => tabBySource.value, (value, prevValue) => { // tabBy column changed, needs to update selected value\n if (value !== prevValue) {\n tabByLocalValue.value = tabByFilterValue.value;\n }\n}, { immediate: true });\n\n// try to load full options list, without search query; if result is not overflow, use values from it in regular dropdown, no autocomplete;\nasync function loadOptions(sourceId: string) {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve([]);\n }\n // if the same source is selected in filters, return only selected values;\n const filtersStateWithTheSameSource = filtersStates.value.find((state) => state.selectedSource === sourceId) as SelectorStateFilter | undefined;\n if (filtersStateWithTheSameSource && (filtersStateWithTheSameSource.selectedFilterValues?.length ?? 0) > 0) {\n const selectedValues = filtersStateWithTheSameSource.selectedFilterValues ?? [];\n return Promise.all(selectedValues.map((selectedValue) => searchSelectedFilterValueOptions(sourceId, selectedValue)));\n }\n const response = await store.value.controller.getUniqueSourceValuesWithLabels(\n store.value.columnsDataStore.value,\n store.value.inputGuide.value,\n sourceId,\n MAX_SEARCH_OPTIONS_LIST_LENGTH,\n );\n return response.overflow ? null : response.values;\n}\nconst preloadedOptions = ref<ListOption[] | null | undefined>();\nwatch([\n () => tabBySource.value,\n () => store.value.loading.inputGuide,\n], async ([v, loading]) => {\n if (v === undefined || loading || !store.value.columnsDataStore.value) {\n return undefined;\n }\n preloadedOptions.value = await loadOptions(v);\n}, { immediate: true });\n\nwatch(() => preloadedOptions.value, async (opts) => {\n if (\n tabBySource.value === undefined // no tabBy selected\n || tabByLocalValue.value !== undefined // tabBy selected and has selected value\n || opts === undefined // options not loaded yet\n ) {\n return;\n }\n let availableOptions = opts;\n if (opts === null) { // options loaded but too many unique values\n availableOptions = await searchFilterOptions(tabBySource.value, '');\n }\n if (availableOptions?.length) {\n const nextFilterValue = availableOptions[0].value as string;\n tabByLocalValue.value = nextFilterValue;\n onFilterValueUpdate(nextFilterValue);\n }\n}, { immediate: true });\n\nfunction onFilterValueUpdate(value: string) {\n const prevSelectorStates = store.value.reactive.optionsState.components.tabBy.selectorStates;\n if (prevSelectorStates.length) {\n store.value.reactive.optionsState.components.tabBy.selectorStates = [{\n ...prevSelectorStates[0],\n type: 'equals',\n selectedFilterValues: [value],\n }];\n }\n}\n\nfunction onTitleChange(e: Event) {\n const target = e.currentTarget as HTMLInputElement;\n title.value = target.value;\n emit('graph-title-update', target.value);\n}\n\nfunction onTableRowSelect(id: number) {\n emit('dendro-node-select', id);\n}\n\n// search options for autocomplete component; use label-mode search for options and value-mode for search of label of selected by default value;\nasync function searchFilterOptions(sourceId: string, searchStr: string, type: 'value' | 'label' = 'label') {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve([]);\n }\n // if the same source is selected in filters, return only selected values;\n const filtersStateWithTheSameSource = filtersStates.value.find((state) => state.selectedSource === sourceId) as SelectorStateFilter | undefined;\n if (filtersStateWithTheSameSource && (filtersStateWithTheSameSource.selectedFilterValues?.length ?? 0) > 0) {\n const selectedValues = filtersStateWithTheSameSource.selectedFilterValues ?? [];\n const results = await Promise.all(selectedValues.map((selectedValue) => searchSelectedFilterValueOptions(sourceId, selectedValue)));\n return searchStr ? results.filter((v) => v.label.toLowerCase().includes(searchStr.toLowerCase())) : results;\n }\n const searchLabelStr = type === 'label' ? searchStr : undefined;\n const searchValueStr = type === 'value' ? searchStr : undefined;\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore.value, store.value.inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchLabelStr, searchValueStr)).values;\n}\n\n// search by value, not by label;\nasync function searchSelectedFilterValueOptions(sourceId: string, selectedValue: string) {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve({ value: selectedValue, label: ' ' }); // don't show non-human-readable value\n }\n const value = await store.value.controller.getUniqueSourceValuesWithLabels(\n store.value.columnsDataStore.value, store.value.inputGuide.value,\n sourceId, 1, undefined, selectedValue).then((v) => v.values[0]);\n return value;\n}\n\nconst chartContainerRef = ref();\n\nconst hasPrimaryHidden = computed(() => {\n if (store.value.reactive.chartType !== 'discrete') {\n return false;\n }\n const optionsState = store.value.reactive.optionsState.components;\n if (optionsState.primaryGrouping?.selectorStates.length) {\n const columnName = optionsState.primaryGrouping.selectorStates[0].selectedSource;\n const dataBindAes = store.value.reactive.dataBindAes[columnName];\n if (dataBindAes?.type === 'categorical' && dataBindAes.hidden) {\n return Object.values(dataBindAes.hidden).length > 0 && dataBindAes.order.some((v) => dataBindAes.hidden?.[v]);\n }\n }\n return false;\n});\nconst hasSecondaryHidden = computed(() => {\n if (store.value.reactive.chartType !== 'discrete') {\n return false;\n }\n const optionsState = store.value.reactive.optionsState.components;\n if (optionsState.secondaryGrouping?.selectorStates.length) {\n const columnName = optionsState.secondaryGrouping.selectorStates[0].selectedSource;\n const dataBindAes = store.value.reactive.dataBindAes[columnName];\n if (dataBindAes?.type === 'categorical' && dataBindAes.hidden) {\n return Object.values(dataBindAes.hidden).length > 0 && dataBindAes.order.some((v) => dataBindAes.hidden?.[v]);\n }\n }\n return false;\n});\nfunction openAxesSettingsPrimary() {\n store.value.reactive.tabDefaultState['axes'].reorderPrimaryOpen = true;\n store.value.reactive.currentTab = 'axes';\n}\nfunction openAxesSettingsSecondary() {\n store.value.reactive.tabDefaultState['axes'].reorderSecondaryOpen = true;\n store.value.reactive.currentTab = 'axes';\n}\n\n</script>\n\n<template>\n <div class=\"chart_container\">\n <div class=\"chart_header\">\n <input\n class=\"chart_title\"\n :value=\"title\"\n :disabled=\"!allowTitleEditing\"\n @change=\"onTitleChange\"\n @keyup.enter=\"(e) => { (e.target as HTMLInputElement)?.blur() }\"\n />\n <component :is=\"EditIcon\" v-if=\"allowTitleEditing\" class=\"chart_titleEdit\" />\n <div class=\"chart_titleLineSlot\">\n <slot />\n </div>\n </div>\n <PlNotificationAlert\n v-model=\"store.reactive.showTooltipHint\" type=\"success\" class=\"chart_tooltipHint\"\n width=\"170px\"\n >\n Hit enter to pin tooltip\n </PlNotificationAlert>\n <div v-if=\"tabBySource\" class=\"chart_tabBy\">\n <PlDropdown\n v-if=\"preloadedOptions || (preloadedOptions === undefined && store.loading.inputGuide)\"\n v-model=\"tabByLocalValue\" label=\"Show for\" :options=\"preloadedOptions\"\n @update:modelValue=\"(v) => onFilterValueUpdate(v as string)\"\n />\n <PlAutocomplete\n v-else v-model=\"tabByLocalValue\" label=\"Show for\"\n :options-search=\"(str, type) => searchFilterOptions(tabBySource as string, str, type)\"\n @update:modelValue=\"(v) => onFilterValueUpdate(v as string)\"\n />\n </div>\n <div\n ref=\"chartContainerRef\" class=\"chart_main-content\"\n :class=\"[{ 'chart_main-content__dendro': store.reactive.chartType === 'dendro' }, 'pl-scrollable']\"\n >\n <div\n id=\"chartSvgContainer\" :class=\"{\n 'chart_ready': graphStatus === 'ready',\n 'chart_loading': graphStatus === 'loading',\n 'chart_activeLassoSelection': store.reactive.lassoControlsState?.mode === 'selection'\n }\"\n />\n <GraphStatusScreen :graphStatus=\"graphStatus\" :top=\"0\" :bottom=\"11\" :customStatusText=\"customStatusText\" :errorInfo=\"errorInfo\"/>\n <DendroTable\n v-if=\"store.reactive.chartType === 'dendro' && chartData && store.reactive.layersSettings.dendro.showTable\"\n :chartData=\"chartData\" @row-select=\"onTableRowSelect\"\n />\n <DendroTooltip\n v-if=\"store.reactive.dendroInfoByClick\" :info=\"store.reactive.dendroInfoByClick\"\n :containerRef=\"chartContainerRef\" :tooltipBtn=\"dendroTooltipButton\"\n @tooltip-btn-click=\"(id: string) => $emit('dendro-tooltip-btn-click', id)\" @close=\"\n store.reactive.dendroInfoByClick = null;\n $emit('dendro-node-select', null);\n \"\n />\n </div>\n <div v-if=\"graphStatus === 'ready'\" class=\"chart_controls\">\n <Zoom />\n <LassoControls v-if=\"store.reactive.chartType === 'scatterplot-umap'\" :chart-ref=\"chartRef\" :isScatterplotZoomChanged=\"isScatterplotZoomChanged\"/>\n <PlBtnGhost v-if=\"hasPrimaryHidden\" icon=\"view-hide\" @click.stop=\"() => openAxesSettingsPrimary()\">\n Hidden (primary)\n </PlBtnGhost>\n <PlBtnGhost v-if=\"hasSecondaryHidden\" icon=\"view-hide\" @click.stop=\"() => openAxesSettingsSecondary()\">\n Hidden (secondary)\n </PlBtnGhost>\n </div>\n </div>\n</template>\n"],"names":["emit","__emit","store","useStore","props","__props","title","ref","watch","graphTitle","tabByState","computed","_a","tabBySource","tabByFilterValue","_b","filtersStates","tabByLocalValue","value","prevValue","loadOptions","sourceId","filtersStateWithTheSameSource","state","selectedValues","selectedValue","searchSelectedFilterValueOptions","response","MAX_SEARCH_OPTIONS_LIST_LENGTH","preloadedOptions","v","loading","opts","availableOptions","searchFilterOptions","nextFilterValue","onFilterValueUpdate","prevSelectorStates","onTitleChange","e","target","onTableRowSelect","id","searchStr","type","results","searchLabelStr","searchValueStr","chartContainerRef","hasPrimaryHidden","optionsState","columnName","dataBindAes","hasSecondaryHidden","openAxesSettingsPrimary","openAxesSettingsSecondary","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createBlock","_resolveDynamicComponent","EditIcon","_hoisted_4","_renderSlot","_ctx","_createVNode","_unref","PlNotificationAlert","$event","_cache","_hoisted_5","PlDropdown","PlAutocomplete","str","_normalizeClass","GraphStatusScreen","DendroTable","DendroTooltip","$emit","_hoisted_6","Zoom","LassoControls","PlBtnGhost"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chart.vue.js","sources":["../../src/components/Chart.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ChartInterface, ErrorInfo } from '@milaboratories/miplots4';\nimport type { SelectorStateFilter } from '@milaboratories/pf-plots';\nimport type { ListOption } from '@platforma-sdk/ui-vue';\nimport { PlAutocomplete, PlBtnGhost, PlDropdown, PlNotificationAlert } from '@platforma-sdk/ui-vue';\nimport { computed, ref, watch } from 'vue';\nimport DendroTable from '../components/DendroTable.vue';\nimport DendroTooltip from '../components/DendroTooltip.vue';\nimport LassoControls from '../components/LassoControls/index.vue';\nimport Zoom from '../components/Zoom/index.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../constantsCommon.ts';\nimport EditIcon from '../icons/EditIcon.vue';\nimport { useStore } from '../store.ts';\nimport type { GraphStatus, StatusTextData } from '../types.ts';\nimport GraphStatusScreen from './GraphStatusScreen.vue';\n\nconst emit = defineEmits(['graph-title-update', 'dendro-node-select', 'dendro-tooltip-btn-click']);\n\nconst store = useStore();\n\nconst props = defineProps<{\n graphStatus: GraphStatus;\n graphTitle: string;\n dendroTooltipButton?: string;\n chartData: Record<string, unknown> | null;\n chartRef: ChartInterface | null;\n errorInfo: ErrorInfo | null;\n customStatusText?: Partial<StatusTextData>;\n allowTitleEditing?: boolean;\n isScatterplotZoomChanged?: boolean;\n}>();\n\nconst title = ref(props.graphTitle);\n// title can be updated from graph-maker settings\nwatch(() => props.graphTitle, (graphTitle) => {\n title.value = graphTitle;\n});\n\nconst tabByState = computed(() => store.value.reactive.optionsState.components.tabBy?.selectorStates[0] as SelectorStateFilter | undefined);\nconst tabBySource = computed(() => tabByState.value?.selectedSource);\nconst tabByFilterValue = computed(() => tabByState.value?.selectedFilterValues?.[0]);\nconst filtersStates = computed(() => store.value.reactive.optionsState.components.filters?.selectorStates as SelectorStateFilter[]);\n\nconst tabByLocalValue = ref(tabByFilterValue.value);\nwatch(() => tabBySource.value, (value, prevValue) => { // tabBy column changed, needs to update selected value\n if (value !== prevValue) {\n tabByLocalValue.value = tabByFilterValue.value;\n }\n}, { immediate: true });\n\n// try to load full options list, without search query; if result is not overflow, use values from it in regular dropdown, no autocomplete;\nasync function loadOptions(sourceId: string) {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve([]);\n }\n // if the same source is selected in filters, return only selected values;\n const filtersStateWithTheSameSource = filtersStates.value.find((state) => state.selectedSource === sourceId) as SelectorStateFilter | undefined;\n if (filtersStateWithTheSameSource && (filtersStateWithTheSameSource.selectedFilterValues?.length ?? 0) > 0) {\n const selectedValues = filtersStateWithTheSameSource.selectedFilterValues ?? [];\n return Promise.all(selectedValues.map((selectedValue) => searchSelectedFilterValueOptions(sourceId, selectedValue)));\n }\n const response = await store.value.controller.getUniqueSourceValuesWithLabels(\n store.value.columnsDataStore.value,\n store.value.inputGuide.value,\n sourceId,\n MAX_SEARCH_OPTIONS_LIST_LENGTH,\n );\n return response.overflow ? null : response.values;\n}\nconst preloadedOptions = ref<ListOption[] | null | undefined>();\nwatch([\n () => tabBySource.value,\n () => store.value.loading.inputGuide,\n], async ([v, loading]) => {\n if (v === undefined || loading || !store.value.columnsDataStore.value) {\n return undefined;\n }\n preloadedOptions.value = await loadOptions(v);\n}, { immediate: true });\n\nwatch(() => preloadedOptions.value, async (opts) => {\n if (\n tabBySource.value === undefined // no tabBy selected\n || tabByLocalValue.value !== undefined // tabBy selected and has selected value\n || opts === undefined // options not loaded yet\n ) {\n return;\n }\n let availableOptions = opts;\n if (opts === null) { // options loaded but too many unique values\n availableOptions = await searchFilterOptions(tabBySource.value, '');\n }\n if (availableOptions?.length) {\n const nextFilterValue = availableOptions[0].value as string;\n tabByLocalValue.value = nextFilterValue;\n onFilterValueUpdate(nextFilterValue);\n }\n}, { immediate: true });\n\nfunction onFilterValueUpdate(value: string) {\n const prevSelectorStates = store.value.reactive.optionsState.components.tabBy.selectorStates;\n if (prevSelectorStates.length) {\n store.value.reactive.optionsState.components.tabBy.selectorStates = [{\n ...prevSelectorStates[0],\n type: 'equals',\n selectedFilterValues: [value],\n }];\n }\n}\n\nfunction onTitleChange(e: Event) {\n const target = e.currentTarget as HTMLInputElement;\n title.value = target.value;\n emit('graph-title-update', target.value);\n}\n\nfunction onTableRowSelect(id: number) {\n emit('dendro-node-select', id);\n}\n\n// search options for autocomplete component; use label-mode search for options and value-mode for search of label of selected by default value;\nasync function searchFilterOptions(sourceId: string, searchStr: string, type: 'value' | 'label' = 'label') {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve([]);\n }\n // if the same source is selected in filters, return only selected values;\n const filtersStateWithTheSameSource = filtersStates.value.find((state) => state.selectedSource === sourceId) as SelectorStateFilter | undefined;\n if (filtersStateWithTheSameSource && (filtersStateWithTheSameSource.selectedFilterValues?.length ?? 0) > 0) {\n const selectedValues = filtersStateWithTheSameSource.selectedFilterValues ?? [];\n const results = await Promise.all(selectedValues.map((selectedValue) => searchSelectedFilterValueOptions(sourceId, selectedValue)));\n return searchStr ? results.filter((v) => v.label.toLowerCase().includes(searchStr.toLowerCase())) : results;\n }\n const searchLabelStr = type === 'label' ? searchStr : undefined;\n const searchValueStr = type === 'value' ? searchStr : undefined;\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore.value, store.value.inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchLabelStr, searchValueStr)).values;\n}\n\n// search by value, not by label;\nasync function searchSelectedFilterValueOptions(sourceId: string, selectedValue: string) {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve({ value: selectedValue, label: ' ' }); // don't show non-human-readable value\n }\n const value = await store.value.controller.getUniqueSourceValuesWithLabels(\n store.value.columnsDataStore.value, store.value.inputGuide.value,\n sourceId, 1, undefined, selectedValue).then((v) => v.values[0]);\n return value;\n}\n\nconst chartContainerRef = ref();\n\nconst hasPrimaryHidden = computed(() => {\n if (store.value.reactive.chartType !== 'discrete') {\n return false;\n }\n const optionsState = store.value.reactive.optionsState.components;\n if (optionsState.primaryGrouping?.selectorStates.length) {\n const columnName = optionsState.primaryGrouping.selectorStates[0].selectedSource;\n const dataBindAes = store.value.reactive.dataBindAes[columnName];\n if (dataBindAes?.type === 'categorical' && dataBindAes.hidden) {\n return Object.values(dataBindAes.hidden).length > 0 && dataBindAes.order.some((v) => dataBindAes.hidden?.[v]);\n }\n }\n return false;\n});\nconst hasSecondaryHidden = computed(() => {\n if (store.value.reactive.chartType !== 'discrete') {\n return false;\n }\n const optionsState = store.value.reactive.optionsState.components;\n if (optionsState.secondaryGrouping?.selectorStates.length) {\n const columnName = optionsState.secondaryGrouping.selectorStates[0].selectedSource;\n const dataBindAes = store.value.reactive.dataBindAes[columnName];\n if (dataBindAes?.type === 'categorical' && dataBindAes.hidden) {\n return Object.values(dataBindAes.hidden).length > 0 && dataBindAes.order.some((v) => dataBindAes.hidden?.[v]);\n }\n }\n return false;\n});\nfunction openAxesSettingsPrimary() {\n store.value.reactive.tabDefaultState['axes'].reorderPrimaryOpen = true;\n store.value.reactive.currentTab = 'axes';\n}\nfunction openAxesSettingsSecondary() {\n store.value.reactive.tabDefaultState['axes'].reorderSecondaryOpen = true;\n store.value.reactive.currentTab = 'axes';\n}\n\n</script>\n\n<template>\n <div class=\"chart_container\">\n <div class=\"chart_header\">\n <input\n class=\"chart_title\"\n :value=\"title\"\n :disabled=\"!allowTitleEditing\"\n @change=\"onTitleChange\"\n @keyup.enter=\"(e) => { (e.target as HTMLInputElement)?.blur() }\"\n />\n <component :is=\"EditIcon\" v-if=\"allowTitleEditing\" class=\"chart_titleEdit\" />\n <div class=\"chart_titleLineSlot\">\n <slot />\n </div>\n </div>\n <PlNotificationAlert\n v-model=\"store.reactive.showTooltipHint\" type=\"success\" class=\"chart_tooltipHint\"\n width=\"170px\"\n >\n Hit enter to pin tooltip\n </PlNotificationAlert>\n <div v-if=\"tabBySource\" class=\"chart_tabBy\">\n <PlDropdown\n v-if=\"preloadedOptions || (preloadedOptions === undefined && store.loading.inputGuide)\"\n v-model=\"tabByLocalValue\" label=\"Show for\" :options=\"preloadedOptions\"\n @update:modelValue=\"(v) => onFilterValueUpdate(v as string)\"\n />\n <PlAutocomplete\n v-else v-model=\"tabByLocalValue\" label=\"Show for\"\n :options-search=\"(str, type) => searchFilterOptions(tabBySource as string, str, type)\"\n @update:modelValue=\"(v) => onFilterValueUpdate(v as string)\"\n />\n </div>\n <div\n ref=\"chartContainerRef\" class=\"chart_main-content\"\n :class=\"[{ 'chart_main-content__dendro': store.reactive.chartType === 'dendro' }, 'pl-scrollable']\"\n >\n <div\n id=\"chartSvgContainer\" :class=\"{\n 'chart_ready': graphStatus === 'ready',\n 'chart_loading': graphStatus === 'loading',\n 'chart_activeLassoSelection': store.reactive.lassoControlsState?.mode === 'selection'\n }\"\n />\n <GraphStatusScreen :graphStatus=\"graphStatus\" :top=\"tabBySource ? 24 : 0\" :bottom=\"11\" :customStatusText=\"customStatusText\" :errorInfo=\"errorInfo\"/>\n <DendroTable\n v-if=\"store.reactive.chartType === 'dendro' && chartData && store.reactive.layersSettings.dendro.showTable\"\n :chartData=\"chartData\" @row-select=\"onTableRowSelect\"\n />\n <DendroTooltip\n v-if=\"store.reactive.dendroInfoByClick\" :info=\"store.reactive.dendroInfoByClick\"\n :containerRef=\"chartContainerRef\" :tooltipBtn=\"dendroTooltipButton\"\n @tooltip-btn-click=\"(id: string) => $emit('dendro-tooltip-btn-click', id)\" @close=\"\n store.reactive.dendroInfoByClick = null;\n $emit('dendro-node-select', null);\n \"\n />\n </div>\n <div v-if=\"graphStatus === 'ready'\" class=\"chart_controls\">\n <Zoom />\n <LassoControls v-if=\"store.reactive.chartType === 'scatterplot-umap'\" :chart-ref=\"chartRef\" :isScatterplotZoomChanged=\"isScatterplotZoomChanged\"/>\n <PlBtnGhost v-if=\"hasPrimaryHidden\" icon=\"view-hide\" @click.stop=\"() => openAxesSettingsPrimary()\">\n Hidden (primary)\n </PlBtnGhost>\n <PlBtnGhost v-if=\"hasSecondaryHidden\" icon=\"view-hide\" @click.stop=\"() => openAxesSettingsSecondary()\">\n Hidden (secondary)\n </PlBtnGhost>\n </div>\n </div>\n</template>\n"],"names":["emit","__emit","store","useStore","props","__props","title","ref","watch","graphTitle","tabByState","computed","_a","tabBySource","tabByFilterValue","_b","filtersStates","tabByLocalValue","value","prevValue","loadOptions","sourceId","filtersStateWithTheSameSource","state","selectedValues","selectedValue","searchSelectedFilterValueOptions","response","MAX_SEARCH_OPTIONS_LIST_LENGTH","preloadedOptions","v","loading","opts","availableOptions","searchFilterOptions","nextFilterValue","onFilterValueUpdate","prevSelectorStates","onTitleChange","e","target","onTableRowSelect","id","searchStr","type","results","searchLabelStr","searchValueStr","chartContainerRef","hasPrimaryHidden","optionsState","columnName","dataBindAes","hasSecondaryHidden","openAxesSettingsPrimary","openAxesSettingsSecondary","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createBlock","_resolveDynamicComponent","EditIcon","_hoisted_4","_renderSlot","_ctx","_createVNode","_unref","PlNotificationAlert","$event","_cache","_hoisted_5","PlDropdown","PlAutocomplete","str","_normalizeClass","GraphStatusScreen","DendroTable","DendroTooltip","$emit","_hoisted_6","Zoom","LassoControls","PlBtnGhost"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._alert_2s905_2{position:fixed;bottom:12px;right:12px;width:256px;height:auto;z-index:1}._alertContent_2s905_10{display:flex;flex-direction:column;gap:12px;max-height:100%}._alertItem_2s905_16{position:relative}._alertTitle_2s905_19{color:var(--txt-01);font-size:14px;font-weight:600;line-height:20px;margin-bottom:6px}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
1
|
const t = "_alert_2s905_2", e = "_alertContent_2s905_10", l = "_alertItem_2s905_16", a = "_alertTitle_2s905_19", r = {
|
|
3
2
|
alert: t,
|
|
4
3
|
alertContent: e,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('._loaderContainer_1yfb4_2{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;justify-content:center;align-items:center}._withBorder_1yfb4_12{border:1px solid #E1E3EB;border-radius:8px;overflow:"hidden"}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
1
|
const o = "_loaderContainer_1yfb4_2", r = "_withBorder_1yfb4_12", e = {
|
|
3
2
|
loaderContainer: o,
|
|
4
3
|
withBorder: r
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._lassoControlsContainer_1w3e4_2{display:flex;align-items:baseline}._lassoButtonsGroup_1w3e4_6{background:#fff;display:flex;position:relative}._lassoControlsBorder_1w3e4_11{position:absolute;border:1px solid var(--color-div-grey);border-radius:var(--border-radius-control);top:0;left:0;right:0;bottom:0}._lassoButtonSelected_1w3e4_20{border:2px solid var(--border-color-focus)}._lassoButtonNotSelected_1w3e4_23{border:2px solid transparent}._lassoControlsSeparator_1w3e4_26{width:1px;height:32px;background-color:var(--color-div-grey);margin:4px}._lassoHint_1w3e4_32{color:var(--txt-03);font-size:14px;margin-left:8px}._resetViewport_1w3e4_37{width:58px;min-width:58px;margin-left:24px;border:1px solid var(--color-div-grey)}._resetIcon_1w3e4_43{margin-left:-6px}._resetHintIcon_1w3e4_46{align-self:center}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
1
|
const o = "_lassoControlsContainer_1w3e4_2", s = "_lassoButtonsGroup_1w3e4_6", t = "_lassoControlsBorder_1w3e4_11", e = "_lassoButtonSelected_1w3e4_20", n = "_lassoButtonNotSelected_1w3e4_23", r = "_lassoControlsSeparator_1w3e4_26", l = "_lassoHint_1w3e4_32", a = "_resetViewport_1w3e4_37", _ = "_resetIcon_1w3e4_43", c = "_resetHintIcon_1w3e4_46", u = {
|
|
3
2
|
lassoControlsContainer: o,
|
|
4
3
|
lassoButtonsGroup: s,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._discreteRow_wtygg_2{background-color:var(--color-ic-00);border-color:var(--color-div-grey)}._discreteRow_wtygg_2:hover{--head-background: var(--color-ic-00)}._title_wtygg_10{margin-left:4px}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
1
|
const t = "_discreteRow_wtygg_2", e = "_title_wtygg_10", s = {
|
|
3
2
|
discreteRow: t,
|
|
4
3
|
title: e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SettingsTabs/index.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SettingsTabs/index.vue"],"names":[],"mappings":"AA6FA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B,CAAC;;;;;;;;;;AAgNF,wBAOG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as x, computed as D, ref as
|
|
2
|
-
import { PlTooltip as
|
|
3
|
-
import { tabKeys as
|
|
4
|
-
const
|
|
1
|
+
import { defineComponent as x, computed as D, ref as b, createElementBlock as m, openBlock as s, Fragment as g, createElementVNode as d, createVNode as r, renderList as w, createBlock as h, unref as n, normalizeClass as M, withCtx as a, resolveDynamicComponent as k, toDisplayString as L, withModifiers as y, createTextVNode as p } from "vue";
|
|
2
|
+
import { PlTooltip as A, PlDialogModal as E, PlAlert as N, PlBtnPrimary as G, PlBtnGhost as I } from "@platforma-sdk/ui-vue";
|
|
3
|
+
import { tabKeys as O, resolveIcon as j, resolveTitle as z, isOwnGraphMakerTab as S } from "../../forms/index.js";
|
|
4
|
+
const F = { class: "settings-tabs" }, K = { style: { "font-family": "var(--font-family-base)" } }, q = /* @__PURE__ */ x({
|
|
5
5
|
__name: "index",
|
|
6
6
|
props: {
|
|
7
7
|
chartType: {},
|
|
@@ -14,76 +14,79 @@ const G = { class: "settings-tabs" }, I = { style: { "font-family": "var(--font-
|
|
|
14
14
|
modelValue: {}
|
|
15
15
|
},
|
|
16
16
|
emits: ["update:modelValue", "export", "delete"],
|
|
17
|
-
setup(
|
|
18
|
-
const f =
|
|
19
|
-
(
|
|
17
|
+
setup(u, { emit: v }) {
|
|
18
|
+
const f = v, e = u, C = D(() => O().filter(
|
|
19
|
+
(t) => !(t === "annotations" && !e.hasAnnotationsSlot) && !(t === "settings" && !e.hasSettingsSlot) && !(t === "log" && !e.hasLogSlot) && !(t === "statistics" && e.chartType !== "discrete" && e.chartType !== "scatterplot") && !(t === "delete" && !e.allowDeleting)
|
|
20
20
|
));
|
|
21
|
-
function
|
|
22
|
-
f("update:modelValue",
|
|
21
|
+
function V(t) {
|
|
22
|
+
f("update:modelValue", t === e.modelValue ? null : t);
|
|
23
23
|
}
|
|
24
|
-
const
|
|
25
|
-
function
|
|
26
|
-
|
|
24
|
+
const i = b(!1);
|
|
25
|
+
function B() {
|
|
26
|
+
i.value = !1, f("delete");
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
|
|
28
|
+
function P() {
|
|
29
|
+
i.value = !1;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
function c(t) {
|
|
32
|
+
return t === "export" && (e.graphStatus !== "ready" || e.chartType === "scatterplot-umap") || e.initialLoading && S(t) || (e.graphStatus === "noPframe" || e.graphStatus === "noPframeWithError" || e.graphStatus === "running") && S(t);
|
|
33
|
+
}
|
|
34
|
+
return (t, l) => (s(), m(g, null, [
|
|
35
|
+
d("div", F, [
|
|
36
|
+
(s(!0), m(g, null, w(C.value, (o) => (s(), h(n(A), {
|
|
37
|
+
key: o,
|
|
35
38
|
"open-delay": 100,
|
|
36
39
|
"close-delay": 100,
|
|
37
40
|
class: M(["has-inline-icon", {
|
|
38
|
-
active:
|
|
39
|
-
"temp-inactive":
|
|
40
|
-
[
|
|
41
|
+
active: u.modelValue === o && !c(o),
|
|
42
|
+
"temp-inactive": c(o),
|
|
43
|
+
[o]: !0
|
|
41
44
|
}]),
|
|
42
45
|
position: "left",
|
|
43
|
-
hide:
|
|
44
|
-
onClick: (
|
|
45
|
-
|
|
46
|
+
hide: u.modelValue === o,
|
|
47
|
+
onClick: (T) => {
|
|
48
|
+
T.stopPropagation(), o === "export" ? t.$emit("export") : o === "delete" ? i.value = !0 : V(o);
|
|
46
49
|
}
|
|
47
50
|
}, {
|
|
48
|
-
tooltip:
|
|
49
|
-
|
|
51
|
+
tooltip: a(() => [
|
|
52
|
+
d("span", K, L(n(z)(o)), 1)
|
|
50
53
|
]),
|
|
51
|
-
default:
|
|
52
|
-
(
|
|
54
|
+
default: a(() => [
|
|
55
|
+
(s(), h(k(n(j)(o))))
|
|
53
56
|
]),
|
|
54
57
|
_: 2
|
|
55
58
|
}, 1032, ["class", "hide", "onClick"]))), 128))
|
|
56
59
|
]),
|
|
57
|
-
|
|
58
|
-
modelValue:
|
|
59
|
-
"onUpdate:modelValue": l[0] || (l[0] = (
|
|
60
|
+
r(n(E), {
|
|
61
|
+
modelValue: i.value,
|
|
62
|
+
"onUpdate:modelValue": l[0] || (l[0] = (o) => i.value = o)
|
|
60
63
|
}, {
|
|
61
|
-
title:
|
|
64
|
+
title: a(() => [...l[1] || (l[1] = [
|
|
62
65
|
p("Delete chart?", -1)
|
|
63
66
|
])]),
|
|
64
|
-
actions:
|
|
65
|
-
|
|
66
|
-
onClick: y(
|
|
67
|
+
actions: a(() => [
|
|
68
|
+
r(n(G), {
|
|
69
|
+
onClick: y(B, ["stop"])
|
|
67
70
|
}, {
|
|
68
|
-
default:
|
|
71
|
+
default: a(() => [...l[3] || (l[3] = [
|
|
69
72
|
p(" Delete ", -1)
|
|
70
73
|
])]),
|
|
71
74
|
_: 1
|
|
72
75
|
}),
|
|
73
|
-
|
|
76
|
+
r(n(I), {
|
|
74
77
|
"justify-center": !1,
|
|
75
|
-
onClick: y(
|
|
78
|
+
onClick: y(P, ["stop"])
|
|
76
79
|
}, {
|
|
77
|
-
default:
|
|
80
|
+
default: a(() => [...l[4] || (l[4] = [
|
|
78
81
|
p("Cancel", -1)
|
|
79
82
|
])]),
|
|
80
83
|
_: 1
|
|
81
84
|
})
|
|
82
85
|
]),
|
|
83
|
-
default:
|
|
84
|
-
|
|
85
|
-
default:
|
|
86
|
-
|
|
86
|
+
default: a(() => [
|
|
87
|
+
r(n(N), { type: "warn" }, {
|
|
88
|
+
default: a(() => [...l[2] || (l[2] = [
|
|
89
|
+
d("strong", null, "This can't be undone!", -1)
|
|
87
90
|
])]),
|
|
88
91
|
_: 1
|
|
89
92
|
})
|
|
@@ -94,6 +97,6 @@ const G = { class: "settings-tabs" }, I = { style: { "font-family": "var(--font-
|
|
|
94
97
|
}
|
|
95
98
|
});
|
|
96
99
|
export {
|
|
97
|
-
|
|
100
|
+
q as default
|
|
98
101
|
};
|
|
99
102
|
//# sourceMappingURL=index.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../src/components/SettingsTabs/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ChartType } from '@milaboratories/pf-plots';\nimport { PlTooltip, PlDialogModal, PlAlert, PlBtnPrimary, PlBtnGhost } from '@platforma-sdk/ui-vue';\nimport { computed, ref } from 'vue';\nimport type { FormKey } from '../../forms';\nimport { resolveIcon, resolveTitle, tabKeys } from '../../forms';\nimport type { GraphStatus } from '../../types';\n\nconst emit = defineEmits(['update:modelValue', 'export', 'delete']);\n\nconst props = defineProps<{\n chartType: ChartType;\n graphStatus: GraphStatus;\n allowDeleting?: boolean;\n hasSettingsSlot?: boolean;\n hasAnnotationsSlot?: boolean;\n hasLogSlot?: boolean;\n initialLoading: boolean;\n modelValue: FormKey | null;\n}>();\n\nconst tabs = computed(() => tabKeys().filter((key) =>\n !(key === 'annotations' && !props.hasAnnotationsSlot)\n && !(key === 'settings' && !props.hasSettingsSlot)\n && !(key === 'log' && !props.hasLogSlot)\n && !(key === 'statistics' && props.chartType !== 'discrete' && props.chartType !== 'scatterplot')\n && !(key === 'delete' && !props.allowDeleting),\n));\n\nfunction updateModel(v: string) {\n emit('update:modelValue', v === props.modelValue ? null : v);\n}\n\nconst deletingConfirmationModalOpen = ref<boolean>(false);\nfunction onDelete() {\n deletingConfirmationModalOpen.value = false;\n emit('delete');\n}\nfunction onConfirmationModalClose() {\n deletingConfirmationModalOpen.value = false;\n}\n</script>\n\n<template>\n <div class=\"settings-tabs\">\n <PlTooltip\n v-for=\"(name) in tabs\"\n :key=\"name\"\n :open-delay=\"100\"\n :close-delay=\"100\"\n class=\"has-inline-icon\"\n :class=\"{\n 'active': modelValue === name
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../src/components/SettingsTabs/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ChartType } from '@milaboratories/pf-plots';\nimport { PlTooltip, PlDialogModal, PlAlert, PlBtnPrimary, PlBtnGhost } from '@platforma-sdk/ui-vue';\nimport { computed, ref } from 'vue';\nimport type { FormKey } from '../../forms';\nimport { isOwnGraphMakerTab, resolveIcon, resolveTitle, tabKeys } from '../../forms';\nimport type { GraphStatus } from '../../types';\n\nconst emit = defineEmits(['update:modelValue', 'export', 'delete']);\n\nconst props = defineProps<{\n chartType: ChartType;\n graphStatus: GraphStatus;\n allowDeleting?: boolean;\n hasSettingsSlot?: boolean;\n hasAnnotationsSlot?: boolean;\n hasLogSlot?: boolean;\n initialLoading: boolean;\n modelValue: FormKey | null;\n}>();\n\nconst tabs = computed(() => tabKeys().filter((key) =>\n !(key === 'annotations' && !props.hasAnnotationsSlot)\n && !(key === 'settings' && !props.hasSettingsSlot)\n && !(key === 'log' && !props.hasLogSlot)\n && !(key === 'statistics' && props.chartType !== 'discrete' && props.chartType !== 'scatterplot')\n && !(key === 'delete' && !props.allowDeleting),\n));\n\nfunction updateModel(v: string) {\n emit('update:modelValue', v === props.modelValue ? null : v);\n}\n\nconst deletingConfirmationModalOpen = ref<boolean>(false);\nfunction onDelete() {\n deletingConfirmationModalOpen.value = false;\n emit('delete');\n}\nfunction onConfirmationModalClose() {\n deletingConfirmationModalOpen.value = false;\n}\n\nfunction isInactive(name: FormKey) {\n return (name === 'export' && (props.graphStatus !== 'ready' || props.chartType === 'scatterplot-umap'))\n || (props.initialLoading && isOwnGraphMakerTab(name))\n || ((props.graphStatus === 'noPframe' || props.graphStatus === 'noPframeWithError' || props.graphStatus === 'running') && isOwnGraphMakerTab(name));\n}\n\n</script>\n\n<template>\n <div class=\"settings-tabs\">\n <PlTooltip\n v-for=\"(name) in tabs\"\n :key=\"name\"\n :open-delay=\"100\"\n :close-delay=\"100\"\n class=\"has-inline-icon\"\n :class=\"{\n 'active': (modelValue === name) && !isInactive(name),\n 'temp-inactive': isInactive(name),\n [name]: true\n }\"\n position=\"left\"\n :hide=\"modelValue === name\"\n @click=\"(e:Event) => {\n e.stopPropagation();\n name === 'export' ? $emit('export') :\n name === 'delete' ? deletingConfirmationModalOpen = true :\n updateModel(name)\n }\"\n >\n <component :is=\"resolveIcon(name)\"/>\n <template #tooltip>\n <span style=\"font-family: var(--font-family-base);\">\n {{ resolveTitle(name) }}\n </span>\n </template>\n </PlTooltip>\n </div>\n <PlDialogModal v-model=\"deletingConfirmationModalOpen\">\n <template #title>Delete chart?</template>\n <PlAlert type=\"warn\">\n <strong>This can't be undone!</strong>\n </PlAlert>\n <template #actions>\n <PlBtnPrimary @click.stop=\"onDelete\"> Delete </PlBtnPrimary>\n <PlBtnGhost :justify-center=\"false\" @click.stop=\"onConfirmationModalClose\">Cancel</PlBtnGhost>\n </template>\n </PlDialogModal>\n</template>\n"],"names":["emit","__emit","props","__props","tabs","computed","tabKeys","key","updateModel","v","deletingConfirmationModalOpen","ref","onDelete","onConfirmationModalClose","isInactive","name","isOwnGraphMakerTab","_createElementVNode","_hoisted_1","_createElementBlock","_Fragment","_renderList","_createBlock","_unref","PlTooltip","e","$emit","_hoisted_2","_toDisplayString","resolveTitle","_resolveDynamicComponent","resolveIcon","_createVNode","PlDialogModal","$event","_cache","PlBtnPrimary","PlBtnGhost","PlAlert"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".slide-panel-enter-active{transition:transform .3s ease-out}.slide-panel-leave-active{transition:transform .3s ease-in-out}.slide-panel-enter-from{transform:translate(200%);opacity:0}.slide-panel-leave-to{transform:translate(200%);opacity:1}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
1
|
import o from "./TransitionSlidePanel.vue.js";
|
|
3
|
-
|
|
2
|
+
/* empty css */
|
|
4
3
|
export {
|
|
5
4
|
o as default
|
|
6
5
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._showMoreButton_ydz3i_2{align-self:center;min-width:80px}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
1
|
const o = "_showMoreButton_ydz3i_2", t = {
|
|
3
2
|
showMoreButton: o
|
|
4
3
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".dot-size-selector{margin-top:24px}.dot-size-selector__row{margin:12px 0}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
1
|
import o from "./DotSizeSelector.vue.js";
|
|
3
|
-
|
|
2
|
+
/* empty css */
|
|
4
3
|
export {
|
|
5
4
|
o as default
|
|
6
5
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".dot-size-selector{margin-top:24px}.dot-size-selector__row{margin:12px 0}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
1
|
import { defineComponent as F, computed as n, createElementBlock as U, openBlock as C, Fragment as E, createVNode as c } from "vue";
|
|
3
2
|
import { useStore as x } from "../../../../store.js";
|
|
4
3
|
import g from "../../AesSelector.vue.js";
|
|
@@ -6,7 +5,7 @@ import { DEFAULT_BLACK as m, DEFAULT_DOT_SHAPE as f } from "../../../../constant
|
|
|
6
5
|
import { DEFAULT_DOT_RANGE as L, DEFAULT_DOT_SIZE as S, isAestheticMapping as T } from "../../../../dataBindAes.js";
|
|
7
6
|
import { isContinuousDataMapping as v } from "../../../../constantsCommon.js";
|
|
8
7
|
import z from "../../DotSizeSelector.vue.js";
|
|
9
|
-
|
|
8
|
+
/* empty css */
|
|
10
9
|
import { readAnnotation as B, Annotation as k } from "@platforma-sdk/model";
|
|
11
10
|
const a = "dots", R = /* @__PURE__ */ F({
|
|
12
11
|
__name: "Scatter",
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".dot-size-selector{margin-top:24px}.dot-size-selector__row{margin:12px 0}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
1
|
import { defineComponent as A, computed as s, createElementBlock as D, openBlock as F, Fragment as b, createVNode as c } from "vue";
|
|
3
2
|
import { useStore as h } from "../../../../store.js";
|
|
4
3
|
import C from "../../AesSelector.vue.js";
|
|
@@ -6,7 +5,7 @@ import { DEFAULT_BLACK as p } from "../../../../constantsAesthetic.js";
|
|
|
6
5
|
import { DEFAULT_DOT_RANGE as U, DEFAULT_DOT_SIZE_CANVAS as d, isAestheticMapping as E } from "../../../../dataBindAes.js";
|
|
7
6
|
import { isContinuousDataMapping as m } from "../../../../constantsCommon.js";
|
|
8
7
|
import x from "../../DotSizeSelector.vue.js";
|
|
9
|
-
|
|
8
|
+
/* empty css */
|
|
10
9
|
import { readAnnotation as z, Annotation as L } from "@platforma-sdk/model";
|
|
11
10
|
const i = "dots", $ = /* @__PURE__ */ A({
|
|
12
11
|
__name: "Scatter",
|
package/dist/forms/index.d.ts
CHANGED
|
@@ -103,6 +103,7 @@ declare const forms: {
|
|
|
103
103
|
};
|
|
104
104
|
};
|
|
105
105
|
export type FormKey = keyof typeof forms;
|
|
106
|
+
export declare function isOwnGraphMakerTab(tab: FormKey): boolean;
|
|
106
107
|
export declare function tabKeys(): FormKey[];
|
|
107
108
|
export declare function resolveIcon(name: FormKey): Component;
|
|
108
109
|
export declare function resolveTitle(name: FormKey): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAqBrC,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDV,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC;AAEzC,wBAAgB,OAAO,IACQ,OAAO,EAAE,CACvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAEpD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,UAEzC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,6HAK5D"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAqBrC,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDV,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC;AAEzC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,WAE9C;AAED,wBAAgB,OAAO,IACQ,OAAO,EAAE,CACvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAEpD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,UAEzC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,6HAK5D"}
|