@platforma-sdk/ui-vue 1.45.37 → 1.45.45
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/.turbo/turbo-build.log +23 -39
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +19 -0
- package/dist/components/PlAdvancedFilter/{SingleFilter.vue.d.ts → FilterEditor.vue.d.ts} +12 -18
- package/dist/components/PlAdvancedFilter/FilterEditor.vue.js +10 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.vue.js.map +1 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js +305 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js.map +1 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js +33 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js.map +1 -0
- package/dist/components/PlAdvancedFilter/OperandButton.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/OperandButton.vue3.js +9 -9
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +35 -16
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js +185 -145
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js +13 -9
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js.map +1 -1
- package/dist/components/PlAdvancedFilter/constants.d.ts +4 -4
- package/dist/components/PlAdvancedFilter/constants.js +26 -22
- package/dist/components/PlAdvancedFilter/constants.js.map +1 -1
- package/dist/components/PlAdvancedFilter/index.d.ts +4 -0
- package/dist/components/PlAdvancedFilter/index.js +9 -0
- package/dist/components/PlAdvancedFilter/index.js.map +1 -0
- package/dist/components/PlAdvancedFilter/types.d.ts +30 -34
- package/dist/components/PlAdvancedFilter/utils.d.ts +26 -0
- package/dist/components/PlAdvancedFilter/utils.js +32 -131
- package/dist/components/PlAdvancedFilter/utils.js.map +1 -1
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +43 -41
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js +2 -2
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts +14 -2
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +99 -90
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.vue3.js +5 -5
- package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js +32 -30
- package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js +5 -7
- package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js.map +1 -1
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js +26 -22
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js +7 -9
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js.map +1 -1
- package/dist/components/PlAnnotations/components/style.module.css.js +13 -0
- package/dist/components/PlAnnotations/components/style.module.css.js.map +1 -0
- package/dist/components/PlAnnotations/index.d.ts +1 -0
- package/dist/index.js +35 -33
- package/dist/index.js.map +1 -1
- package/package.json +9 -8
- package/src/components/PlAdvancedFilter/{SingleFilter.vue → FilterEditor.vue} +53 -53
- package/src/components/PlAdvancedFilter/OperandButton.vue +1 -1
- package/src/components/PlAdvancedFilter/PlAdvancedFilter.vue +155 -59
- package/src/components/PlAdvancedFilter/constants.ts +17 -11
- package/src/components/PlAdvancedFilter/index.ts +6 -0
- package/src/components/PlAdvancedFilter/types.ts +23 -54
- package/src/components/PlAdvancedFilter/utils.ts +51 -163
- package/src/components/PlAnnotations/components/AnnotationsSidebar.vue +8 -8
- package/src/components/PlAnnotations/components/FilterSidebar.vue +64 -69
- package/src/components/PlAnnotations/components/PlAnnotations.vue +4 -7
- package/src/components/PlAnnotations/components/PlAnnotationsModal.vue +5 -8
- package/src/components/PlAnnotations/components/style.module.css +16 -0
- package/src/components/PlAnnotations/index.ts +2 -0
- package/dist/components/PlAdvancedFilter/SingleFilter.vue.js +0 -10
- package/dist/components/PlAdvancedFilter/SingleFilter.vue.js.map +0 -1
- package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js +0 -306
- package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js.map +0 -1
- package/dist/components/PlAdvancedFilter/SingleFilter.vue3.js +0 -35
- package/dist/components/PlAdvancedFilter/SingleFilter.vue3.js.map +0 -1
- package/dist/components/PlAdvancedFilter/types.js +0 -8
- package/dist/components/PlAdvancedFilter/types.js.map +0 -1
- package/dist/components/PlAnnotations/components/DynamicForm.vue.d.ts +0 -24
- package/dist/components/PlAnnotations/components/DynamicForm.vue.js +0 -10
- package/dist/components/PlAnnotations/components/DynamicForm.vue.js.map +0 -1
- package/dist/components/PlAnnotations/components/DynamicForm.vue2.js +0 -109
- package/dist/components/PlAnnotations/components/DynamicForm.vue2.js.map +0 -1
- package/dist/components/PlAnnotations/components/DynamicForm.vue3.js +0 -9
- package/dist/components/PlAnnotations/components/DynamicForm.vue3.js.map +0 -1
- package/dist/components/PlAnnotations/utils.js +0 -20
- package/dist/components/PlAnnotations/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterEditor.vue2.js","sources":["../../../src/components/PlAdvancedFilter/FilterEditor.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlAutocomplete, PlAutocompleteMulti, PlDropdown, PlIcon16, PlNumberField, PlTextField, PlToggleSwitch, Slider } from '@milaboratories/uikit';\nimport type { AnchoredPColumnId, AxisFilterByIdx, AxisFilterValue, SUniversalPColumnId } from '@platforma-sdk/model';\nimport { isFilteredPColumn, parseColumnId, stringifyColumnId, type ListOptionBase } from '@platforma-sdk/model';\nimport { computed } from 'vue';\nimport type { SUPPORTED_FILTER_TYPES } from './constants';\nimport { DEFAULT_FILTER_TYPE, DEFAULT_FILTERS } from './constants';\nimport OperandButton from './OperandButton.vue';\nimport type { EditableFilter, Operand, PlAdvancedFilterColumnId, SourceOptionInfo } from './types';\nimport { getFilterInfo, getNormalizedSpec, isNumericFilter, isPositionFilter } from './utils';\n\nconst filter = defineModel<EditableFilter>('filter', { required: true });\n\nconst props = defineProps<{\n isLast: boolean;\n operand: Operand;\n enableDnd: boolean;\n columnOptions: SourceOptionInfo[];\n supportedFilters: typeof SUPPORTED_FILTER_TYPES;\n getSuggestOptions: (params: { columnId: PlAdvancedFilterColumnId; searchStr: string; axisIdx?: number }) =>\n ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n getSuggestModel?: (params: { columnId: PlAdvancedFilterColumnId; searchStr: string; axisIdx?: number }) =>\n ListOptionBase<string | number> | Promise<ListOptionBase<string | number>>;\n onDelete: (columnId: PlAdvancedFilterColumnId) => void;\n onChangeOperand: (op: Operand) => void;\n}>();\n\nconst getSuggestModel = (...args: Parameters<typeof props.getSuggestOptions>) => typeof props.getSuggestModel === 'function'\n ? props.getSuggestModel(...args)\n : Promise.resolve(props.getSuggestOptions(...args)).then((options) => options[0]);\n\nasync function getSuggestModelMultiFn(id: PlAdvancedFilterColumnId, v: string[], axisIdx?: number): Promise<ListOptionBase<string>[]> {\n return Promise.all(v.map((v) => getSuggestModel({ columnId: id, searchStr: v, axisIdx }) as Promise<ListOptionBase<string>>));\n}\nasync function getSuggestModelSingleFn(id: PlAdvancedFilterColumnId, v: string, axisIdx?: number): Promise<ListOptionBase<string>> {\n return getSuggestModel({ columnId: id, searchStr: v, axisIdx }) as Promise<ListOptionBase<string>>;\n}\nasync function getSuggestOptionsFn(id: PlAdvancedFilterColumnId, str: string, axisIdx?: number): Promise<ListOptionBase<string>[]> {\n return props.getSuggestOptions({ columnId: id, searchStr: str, axisIdx }) as Promise<ListOptionBase<string>[]>;\n}\n\ntype Entries<T> = { [K in keyof T]: [K, T[K]] }[keyof T][];\nfunction changeFilterType() {\n const defaultFilter = DEFAULT_FILTERS[filter.value.type];\n\n filter.value = (Object.entries(defaultFilter) as Entries<EditableFilter>).reduce((res, [key, val]) => {\n res[key] = filter.value[key] ?? val;\n return res;\n }, {} as Record<keyof EditableFilter, EditableFilter[keyof EditableFilter]>) as EditableFilter;\n}\n\nfunction changeSourceId(newSourceId?: PlAdvancedFilterColumnId) {\n if (!newSourceId) {\n return;\n }\n const newSourceInfo = props.columnOptions.find((v) => v.id === getSourceId(newSourceId));\n if (!newSourceInfo) {\n return;\n }\n const filterInfo = getFilterInfo(filter.value.type);\n const newSourceSpec = getNormalizedSpec(newSourceInfo?.spec);\n if (filterInfo.supportedFor(newSourceSpec)) { // don't do anything except update source id\n filter.value.column = newSourceId;\n } else { // reset to default filter which fits to any column\n filter.value = {\n ...DEFAULT_FILTERS[DEFAULT_FILTER_TYPE],\n column: newSourceId,\n };\n }\n}\n\nconst inconsistentSourceSelected = computed(() => {\n const selectedOption = props.columnOptions.find((op) => op.id === getSourceId(filter.value.column));\n return selectedOption === undefined;\n});\nconst sourceOptions = computed(() => {\n const options = props.columnOptions.map((v) => ({ value: v.id, label: v.label ?? v }));\n if (inconsistentSourceSelected.value) {\n options.unshift({ value: filter.value.column, label: 'Inconsistent value' });\n }\n return options;\n});\n\nfunction getSourceId(column: PlAdvancedFilterColumnId): PlAdvancedFilterColumnId {\n try {\n const parsedColumnId = parseColumnId(column as SUniversalPColumnId);\n if (isFilteredPColumn(parsedColumnId)) {\n return stringifyColumnId(parsedColumnId.source);\n } else {\n return column;\n }\n } catch {\n return column;\n }\n}\n\n// similar to FilteredPColumnId but source is stringified and axis filters can be undefined\ntype ColumnAsSourceAndFixedAxes = { source: PlAdvancedFilterColumnId; axisFiltersByIndex: Record<number, AxisFilterValue | undefined> };\nfunction getColumnAsSourceAndFixedAxes(column: PlAdvancedFilterColumnId): ColumnAsSourceAndFixedAxes {\n const sourceId = getSourceId(column);\n const option = props.columnOptions.find((op) => op.id === sourceId);\n const axesToBeFixed = (option?.axesToBeFixed ?? []).reduce((res, item) => {\n res[item.idx] = undefined;\n return res;\n }, {} as Record<number, AxisFilterValue | undefined>);\n try {\n const parsedColumnId = parseColumnId(column as SUniversalPColumnId);\n if (isFilteredPColumn(parsedColumnId)) {\n return {\n source: sourceId,\n axisFiltersByIndex: parsedColumnId.axisFilters.reduce((res, item) => {\n res[item[0]] = item[1];\n return res;\n }, axesToBeFixed),\n };\n }\n } catch {\n return { source: column, axisFiltersByIndex: axesToBeFixed };\n }\n return { source: column, axisFiltersByIndex: axesToBeFixed };\n}\n\nfunction stringifyColumn(value: ColumnAsSourceAndFixedAxes): PlAdvancedFilterColumnId {\n if (Object.keys(value.axisFiltersByIndex).length === 0) {\n return value.source;\n }\n return stringifyColumnId({\n source: parseColumnId(value.source as SUniversalPColumnId) as AnchoredPColumnId,\n axisFilters: Object.entries(value.axisFiltersByIndex).map(([idx, value]) => [Number(idx), value] as AxisFilterByIdx),\n });\n}\n\nconst columnAsSourceAndFixedAxes = computed({\n get: () => {\n return getColumnAsSourceAndFixedAxes(filter.value.column);\n },\n set: (value) => {\n filter.value.column = stringifyColumn(value);\n },\n});\nfunction updateAxisFilterValue(idx: number, value: AxisFilterValue | undefined) {\n columnAsSourceAndFixedAxes.value = {\n ...columnAsSourceAndFixedAxes.value,\n axisFiltersByIndex: { ...columnAsSourceAndFixedAxes.value.axisFiltersByIndex, [idx]: value } };\n}\n\nconst currentOption = computed(() => props.columnOptions.find((op) => op.id === columnAsSourceAndFixedAxes.value.source));\nconst currentSpec = computed(() => currentOption.value?.spec ? getNormalizedSpec(currentOption.value.spec) : null);\nconst currentType = computed(() => currentSpec.value?.valueType);\nconst currentError = computed(() => Boolean(currentOption.value?.error) || inconsistentSourceSelected.value);\n\nconst filterTypesOptions = computed(() => props.supportedFilters\n .filter((v) => filter.value.type === v\n || (currentSpec.value\n ? getFilterInfo(v).supportedFor(currentSpec.value)\n : true),\n )\n .map((v) => ({ value: v, label: getFilterInfo(v).label })),\n);\n\nconst wildcardOptions = computed(() => {\n if (filter.value.type !== 'patternFuzzyContainSubsequence') {\n return [];\n }\n if (currentOption.value?.alphabet === 'nucleotide') {\n return [{ label: 'N', value: 'N' }];\n }\n if (currentOption.value?.alphabet === 'aminoacid') {\n return [{ label: 'X', value: 'X' }];\n }\n return [...new Set(filter.value.value.split(''))].sort().map((v) => ({ value: v, label: v }));\n});\n\nconst stringMatchesError = computed(() => {\n if (filter.value.type !== 'patternMatchesRegularExpression') {\n return false;\n }\n try {\n new RegExp(filter.value.value);\n return false;\n } catch {\n return true;\n }\n});\n\n</script>\n<template>\n <div :class=\"$style.filterWrapper\">\n <!-- top element - column selector / column label - for all filter types-->\n <div v-if=\"enableDnd\" :class=\"[$style.top, $style.columnChip, {[$style.error]: currentError}]\">\n <div :class=\"[$style.typeIcon, {[$style.error]: currentError}]\">\n <PlIcon16 v-if=\"currentError\" name=\"warning\"/>\n <PlIcon16 v-else :name=\"currentType === 'String' || currentType === undefined ? 'cell-type-txt' : 'cell-type-num'\"/>\n </div>\n <div :class=\"$style.titleWrapper\" :title=\"currentOption?.label ?? ''\">\n <div :class=\"$style.title\">\n {{ inconsistentSourceSelected ? 'Inconsistent value' : currentOption?.label ?? filter.column }}\n </div>\n </div>\n <div :class=\"$style.closeIcon\" @click=\"onDelete(filter.column)\">\n <PlIcon16 name=\"close\"/>\n </div>\n </div>\n <div v-else :class=\"$style.top\" >\n <PlDropdown\n v-model=\"columnAsSourceAndFixedAxes.source\"\n :errorStatus=\"currentError\"\n :options=\"sourceOptions\"\n :style=\"{width: '100%'}\"\n group-position=\"top-left\"\n @update:model-value=\"changeSourceId\"\n />\n <div :class=\"$style.closeButton\" @click=\"onDelete(filter.column)\">\n <PlIcon16 name=\"close\"/>\n </div>\n </div>\n\n <div v-if=\"currentOption?.axesToBeFixed?.length\" :class=\"$style.fixedAxesBlock\">\n <template v-for=\"value in currentOption?.axesToBeFixed\" :key=\"value.idx\">\n <PlAutocomplete\n v-model=\"columnAsSourceAndFixedAxes.axisFiltersByIndex[value.idx]\"\n :label=\"value.label\"\n :options-search=\"(str) => getSuggestOptionsFn(columnAsSourceAndFixedAxes.source, str, value.idx)\"\n :model-search=\"(v) => getSuggestModelSingleFn(columnAsSourceAndFixedAxes.source, String(v), value.idx)\"\n :disabled=\"inconsistentSourceSelected\"\n :clearable=\"true\"\n @update:model-value=\"(v) => updateAxisFilterValue(value.idx, v)\"\n />\n </template>\n </div>\n\n <!-- middle - filter type selector - for all filter types -->\n <div :class=\"filter.type === 'isNA' || filter.type === 'isNotNA' ? $style.bottom : $style.middle\">\n <PlDropdown\n v-model=\"filter.type\"\n :options=\"filterTypesOptions\"\n :group-position=\"filter.type === 'isNA' || filter.type === 'isNotNA' ? 'bottom' : 'middle'\"\n @update:model-value=\"changeFilterType\"\n />\n </div>\n\n <!-- middle - for fuzzy contains filter -->\n <template v-if=\"filter.type === 'patternFuzzyContainSubsequence'\">\n <div :class=\"$style.middle\">\n <PlTextField\n v-model=\"filter.value\"\n placeholder=\"Substring\"\n group-position=\"middle\"\n />\n </div>\n <div :class=\"$style.innerSection\">\n <Slider\n v-model=\"filter.maxEdits\"\n :max=\"5\"\n breakpoints label=\"Maximum number of substitutions and indels\"\n />\n <PlToggleSwitch\n v-model=\"filter.substitutionsOnly\"\n label=\"Substitutions only\"\n />\n </div>\n </template>\n\n <!-- bottom element - individual settings for every filter type -->\n <div :class=\"$style.bottom\">\n <template v-if=\"filter.type === 'patternEquals' || filter.type === 'patternNotEquals'\" >\n <PlAutocomplete\n v-model=\"filter.value\"\n :options-search=\"(str) => getSuggestOptionsFn(columnAsSourceAndFixedAxes.source, str)\"\n :model-search=\"(v) => getSuggestModelSingleFn(columnAsSourceAndFixedAxes.source, String(v))\"\n :disabled=\"inconsistentSourceSelected\"\n :clearable=\"true\"\n group-position=\"bottom\"\n />\n </template>\n <template v-if=\"filter.type === 'inSet' || filter.type === 'notInSet'\" >\n <PlAutocompleteMulti\n v-model=\"filter.value\"\n :options-search=\"(str) => getSuggestOptionsFn(columnAsSourceAndFixedAxes.source, str)\"\n :model-search=\"(v) => getSuggestModelMultiFn(columnAsSourceAndFixedAxes.source, v.map((v) => String(v)))\"\n :disabled=\"inconsistentSourceSelected\"\n group-position=\"bottom\"\n />\n </template>\n <PlNumberField\n v-if=\"isNumericFilter(filter)\"\n v-model=\"filter.x\"\n group-position=\"bottom\"\n />\n <PlNumberField\n v-if=\"isPositionFilter(filter)\"\n v-model=\"filter.n\"\n group-position=\"bottom\"\n />\n <PlTextField\n v-if=\"filter.type === 'patternContainSubsequence' || filter.type === 'patternNotContainSubsequence'\"\n v-model=\"filter.value\"\n placeholder=\"Substring\"\n group-position=\"bottom\"\n />\n <PlTextField\n v-if=\"filter.type === 'patternMatchesRegularExpression'\"\n v-model=\"filter.value\"\n :error=\"stringMatchesError ? 'Regular expression is not valid' : undefined\"\n placeholder=\"Regular expression\"\n group-position=\"bottom\"\n />\n <PlDropdown\n v-if=\"filter.type === 'patternFuzzyContainSubsequence'\"\n v-model=\"filter.wildcard\"\n clearable\n placeholder=\"Wildcard value\"\n :options=\"wildcardOptions\"\n group-position=\"bottom\"\n />\n </div>\n </div>\n <OperandButton\n :active=\"operand\"\n :disabled=\"isLast\"\n :on-select=\"onChangeOperand\"\n />\n</template>\n\n<style module>\n.filterWrapper {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n cursor: default;\n}\n\n.typeIcon {\n display: inline-flex;\n margin-right: 8px;\n}\n\n.typeIcon.error {\n --icon-color: var(--txt-error);\n}\n\n.closeIcon {\n display: inline-flex;\n margin-left: 12px;\n cursor: pointer;\n}\n\n.titleWrapper {\n flex-grow: 1;\n overflow: hidden;\n}\n.title {\n overflow: hidden;\n color: var(--txt-01);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n}\n\n.columnChip {\n width: 100%;\n display: flex;\n padding: 10px 12px;\n align-items: center;\n border-radius: 6px;\n border: 1px solid var(--txt-01);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n\n &.error {\n border-color: var(--txt-error);\n }\n}\n\n.innerSection {\n border: 1px solid var(--txt-01);\n border-top: none;\n padding: 16px 12px;\n}\n\n.closeButton {\n border: 1px solid var(--txt-01);\n border-top-right-radius: 6px;\n border-left: none;\n width: 40px;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n cursor: pointer;\n}\n\n.top {\n position: relative;\n display: flex;\n width: 100%;\n z-index: 1;\n background: #fff;\n}\n\n.fixedAxesBlock {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 12px 8px;\n gap: 12px;\n border-left: 1px solid var(--txt-01);\n border-right: 1px solid var(--txt-01);\n}\n\n.fixedAxesBlock > * {\n background: #fff;\n}\n\n.middle, .bottom {\n position: relative;\n margin-top: -1px;\n background: #fff;\n}\n\n</style>\n"],"names":["filter","_useModel","__props","props","getSuggestModel","args","options","getSuggestModelMultiFn","id","v","axisIdx","getSuggestModelSingleFn","getSuggestOptionsFn","str","changeFilterType","defaultFilter","DEFAULT_FILTERS","res","key","val","changeSourceId","newSourceId","newSourceInfo","getSourceId","filterInfo","getFilterInfo","newSourceSpec","getNormalizedSpec","DEFAULT_FILTER_TYPE","inconsistentSourceSelected","computed","op","sourceOptions","column","parsedColumnId","parseColumnId","isFilteredPColumn","stringifyColumnId","getColumnAsSourceAndFixedAxes","sourceId","option","axesToBeFixed","item","stringifyColumn","value","idx","columnAsSourceAndFixedAxes","updateAxisFilterValue","currentOption","currentSpec","_a","currentType","currentError","filterTypesOptions","wildcardOptions","_b","stringMatchesError","_createElementVNode","_normalizeClass","$style","_createElementBlock","_createBlock","_unref","PlIcon16","_toDisplayString","_cache","$event","_createVNode","PlDropdown","_d","_c","_openBlock","_Fragment","_renderList","_e","PlAutocomplete","PlTextField","Slider","PlToggleSwitch","PlAutocompleteMulti","isNumericFilter","PlNumberField","isPositionFilter","OperandButton"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._filterWrapper_ne4xn_2{position:relative;display:flex;flex-direction:column;width:100%;cursor:default}._typeIcon_ne4xn_10{display:inline-flex;margin-right:8px}._typeIcon_ne4xn_10._error_ne4xn_15{--icon-color: var(--txt-error)}._closeIcon_ne4xn_19{display:inline-flex;margin-left:12px;cursor:pointer}._titleWrapper_ne4xn_25{flex-grow:1;overflow:hidden}._title_ne4xn_25{overflow:hidden;color:var(--txt-01);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:20px}._columnChip_ne4xn_39{width:100%;display:flex;padding:10px 12px;align-items:center;border:1px solid var(--txt-01);border-radius:6px 6px 0 0}._columnChip_ne4xn_39._error_ne4xn_15{border-color:var(--txt-error)}._innerSection_ne4xn_54{border:1px solid var(--txt-01);border-top:none;padding:16px 12px}._closeButton_ne4xn_60{border:1px solid var(--txt-01);border-top-right-radius:6px;border-left:none;width:40px;height:40px;display:flex;justify-content:center;align-items:center;flex-shrink:0;cursor:pointer}._top_ne4xn_73{position:relative;display:flex;width:100%;z-index:1;background:#fff}._fixedAxesBlock_ne4xn_81{position:relative;display:flex;flex-direction:column;padding:12px 8px;gap:12px;border-left:1px solid var(--txt-01);border-right:1px solid var(--txt-01)}._fixedAxesBlock_ne4xn_81>*{background:#fff}._middle_ne4xn_95,._bottom_ne4xn_95{position:relative;margin-top:-1px;background:#fff}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
|
|
2
|
+
const n = "_filterWrapper_ne4xn_2", e = "_typeIcon_ne4xn_10", t = "_error_ne4xn_15", o = "_closeIcon_ne4xn_19", _ = "_titleWrapper_ne4xn_25", c = "_title_ne4xn_25", r = "_columnChip_ne4xn_39", l = "_innerSection_ne4xn_54", s = "_closeButton_ne4xn_60", i = "_top_ne4xn_73", p = "_fixedAxesBlock_ne4xn_81", x = "_middle_ne4xn_95", d = "_bottom_ne4xn_95", m = {
|
|
3
|
+
filterWrapper: n,
|
|
4
|
+
typeIcon: e,
|
|
5
|
+
error: t,
|
|
6
|
+
closeIcon: o,
|
|
7
|
+
titleWrapper: _,
|
|
8
|
+
title: c,
|
|
9
|
+
columnChip: r,
|
|
10
|
+
innerSection: l,
|
|
11
|
+
closeButton: s,
|
|
12
|
+
top: i,
|
|
13
|
+
fixedAxesBlock: p,
|
|
14
|
+
middle: x,
|
|
15
|
+
bottom: d
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
d as bottom,
|
|
19
|
+
s as closeButton,
|
|
20
|
+
o as closeIcon,
|
|
21
|
+
r as columnChip,
|
|
22
|
+
m as default,
|
|
23
|
+
t as error,
|
|
24
|
+
n as filterWrapper,
|
|
25
|
+
p as fixedAxesBlock,
|
|
26
|
+
l as innerSection,
|
|
27
|
+
x as middle,
|
|
28
|
+
c as title,
|
|
29
|
+
_ as titleWrapper,
|
|
30
|
+
i as top,
|
|
31
|
+
e as typeIcon
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=FilterEditor.vue3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterEditor.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperandButton.vue2.js","sources":["../../../src/components/PlAdvancedFilter/OperandButton.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Operand } from './types';\n\nconst props = defineProps<{\n active: Operand;\n disabled: boolean;\n onSelect: (op: Operand) => void;\n}>();\n\nconst OPTIONS: Operand[] = ['and', 'or'];\n</script>\n<template>\n <div v-bind=\"$attrs\" :class=\"$style.block\">\n <div\n v-for=\"op in OPTIONS\"\n :key=\"op\"\n :class=\"[$style.operand, {[$style.active]: op === props.active && !props.disabled}]\"\n @click=\"!props.disabled && props.onSelect(op)\"\n >\n {{ op }}\n </div>\n </div>\n</template>\n<style module>\n.block {\n width: 100%;\n display: flex;\n gap: 4px;\n justify-content: center;\n height:
|
|
1
|
+
{"version":3,"file":"OperandButton.vue2.js","sources":["../../../src/components/PlAdvancedFilter/OperandButton.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Operand } from './types';\n\nconst props = defineProps<{\n active: Operand;\n disabled: boolean;\n onSelect: (op: Operand) => void;\n}>();\n\nconst OPTIONS: Operand[] = ['and', 'or'];\n</script>\n<template>\n <div v-bind=\"$attrs\" :class=\"$style.block\">\n <div\n v-for=\"op in OPTIONS\"\n :key=\"op\"\n :class=\"[$style.operand, {[$style.active]: op === props.active && !props.disabled}]\"\n @click=\"!props.disabled && props.onSelect(op)\"\n >\n {{ op }}\n </div>\n </div>\n</template>\n<style module>\n.block {\n width: 100%;\n display: flex;\n gap: 4px;\n justify-content: center;\n height: 30px;\n align-items: center;\n}\n.operand {\n border-radius: 16px;\n width: 64px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-transform: uppercase;\n font-weight: 600;\n\n color: var(--txt-03);\n border: 1px solid var(--color-div-grey);\n background: transparent;\n cursor: pointer;\n}\n.operand.active {\n color: var(--txt-01);\n background: #fff;\n border: 1px solid var(--txt-01);\n}\n</style>\n"],"names":["props","__props","OPTIONS","_createElementBlock","_mergeProps","_ctx","$style","_Fragment","_renderList","op","_createElementVNode","$event","_hoisted_1"],"mappings":";;;;;;;;;AAGA,UAAMA,IAAQC,GAMRC,IAAqB,CAAC,OAAO,IAAI;2BAGrCC,EASM,OATNC,EASMC,EAAA,QATa;AAAA,MAAG,OAAOC,EAAAA,OAAO;AAAA,IAAA;YAClCH,EAOMI,GAAA,MAAAC,EANSN,GAAO,CAAbO,MADTC,EAOM,OAAA;AAAA,QALH,KAAKD;AAAA,QACL,UAAQH,EAAAA,OAAO,SAAO,EAAA,CAAIA,SAAO,MAAM,GAAGG,MAAOT,EAAM,UAAM,CAAKA,EAAM,SAAA,CAAQ,CAAA;AAAA,QAChF,SAAK,CAAAW,MAAA,CAAGX,EAAM,YAAYA,EAAM,SAASS,CAAE;AAAA,MAAA,KAEzCA,CAAE,GAAA,IAAAG,CAAA;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".
|
|
2
|
-
const
|
|
3
|
-
block:
|
|
4
|
-
operand:
|
|
5
|
-
active:
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._block_efv0d_2{width:100%;display:flex;gap:4px;justify-content:center;height:30px;align-items:center}._operand_efv0d_10{border-radius:16px;width:64px;height:32px;display:flex;justify-content:center;align-items:center;text-transform:uppercase;font-weight:600;color:var(--txt-03);border:1px solid var(--color-div-grey);background:transparent;cursor:pointer}._operand_efv0d_10._active_efv0d_25{color:var(--txt-01);background:#fff;border:1px solid var(--txt-01)}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
|
+
const e = "_block_efv0d_2", o = "_operand_efv0d_10", c = "_active_efv0d_25", t = {
|
|
3
|
+
block: e,
|
|
4
|
+
operand: o,
|
|
5
|
+
active: c
|
|
6
6
|
};
|
|
7
7
|
export {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
c as active,
|
|
9
|
+
e as block,
|
|
10
|
+
t as default,
|
|
11
|
+
o as operand
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=OperandButton.vue3.js.map
|
|
@@ -1,39 +1,58 @@
|
|
|
1
|
-
import { PlAdvancedFilterColumnId, CommonFilterSpec, SourceOptionInfo } from './types';
|
|
2
1
|
import { ListOptionBase } from '@platforma-sdk/model';
|
|
2
|
+
import { SUPPORTED_FILTER_TYPES } from './constants';
|
|
3
|
+
import { PlAdvancedFilterColumnId, RootFilter, SourceOptionInfo } from './types';
|
|
3
4
|
type __VLS_Props = {
|
|
4
5
|
/** List of ids of sources (columns, axes) that can be selected in filters */
|
|
5
6
|
items: SourceOptionInfo[];
|
|
7
|
+
/** List of supported filter types */
|
|
8
|
+
supportedFilters?: typeof SUPPORTED_FILTER_TYPES;
|
|
6
9
|
/** If true - new filter can be added by droppind element into filter group; else new column is added by button click */
|
|
7
10
|
enableDnd?: boolean;
|
|
11
|
+
/** If true - "Add group" button is shown below the filter groups */
|
|
12
|
+
enableAddGroupButton?: boolean;
|
|
8
13
|
/** Loading function for unique values for Equal/InSet filters and fixed axes options. */
|
|
9
14
|
getSuggestOptions: (params: {
|
|
10
15
|
columnId: PlAdvancedFilterColumnId;
|
|
11
16
|
searchStr: string;
|
|
12
17
|
axisIdx?: number;
|
|
13
|
-
}) =>
|
|
14
|
-
columnId: PlAdvancedFilterColumnId;
|
|
15
|
-
searchStr: string;
|
|
16
|
-
axisIdx?: number;
|
|
17
|
-
}) => ListOptionBase<string | number>[]);
|
|
18
|
+
}) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;
|
|
18
19
|
/** Loading function for label of selected value for Equal/InSet filters and fixed axes options. */
|
|
19
|
-
getSuggestModel
|
|
20
|
-
columnId: PlAdvancedFilterColumnId;
|
|
21
|
-
searchStr: string;
|
|
22
|
-
axisIdx?: number;
|
|
23
|
-
}) => (Promise<ListOptionBase<string | number>>) | ((params: {
|
|
20
|
+
getSuggestModel?: (params: {
|
|
24
21
|
columnId: PlAdvancedFilterColumnId;
|
|
25
22
|
searchStr: string;
|
|
26
23
|
axisIdx?: number;
|
|
27
|
-
}) => ListOptionBase<string | number>
|
|
24
|
+
}) => ListOptionBase<string | number> | Promise<ListOptionBase<string | number>>;
|
|
28
25
|
};
|
|
29
26
|
type __VLS_PublicProps = {
|
|
30
|
-
|
|
27
|
+
'filters': RootFilter;
|
|
31
28
|
} & __VLS_Props;
|
|
32
|
-
declare
|
|
33
|
-
|
|
29
|
+
declare function __VLS_template(): {
|
|
30
|
+
attrs: Partial<{}>;
|
|
31
|
+
slots: {
|
|
32
|
+
'add-group-buttons'?(_: {}): any;
|
|
33
|
+
};
|
|
34
|
+
refs: {};
|
|
35
|
+
rootEl: HTMLDivElement;
|
|
36
|
+
};
|
|
37
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
38
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
39
|
+
"update:filters": (value: RootFilter) => any;
|
|
34
40
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
35
|
-
"onUpdate:
|
|
41
|
+
"onUpdate:filters"?: ((value: RootFilter) => any) | undefined;
|
|
36
42
|
}>, {
|
|
37
43
|
enableDnd: boolean;
|
|
44
|
+
supportedFilters: typeof SUPPORTED_FILTER_TYPES;
|
|
45
|
+
getSuggestModel: (params: {
|
|
46
|
+
columnId: PlAdvancedFilterColumnId;
|
|
47
|
+
searchStr: string;
|
|
48
|
+
axisIdx?: number;
|
|
49
|
+
}) => ListOptionBase<string | number> | Promise<ListOptionBase<string | number>>;
|
|
50
|
+
enableAddGroupButton: boolean;
|
|
38
51
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
52
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
39
53
|
export default _default;
|
|
54
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
55
|
+
new (): {
|
|
56
|
+
$slots: S;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
@@ -1,199 +1,239 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { DEFAULT_FILTERS as
|
|
6
|
-
import {
|
|
7
|
-
const
|
|
1
|
+
import { defineComponent as M, mergeModels as I, useModel as x, computed as Y, createElementBlock as y, openBlock as l, createVNode as b, createBlock as v, createCommentVNode as T, unref as p, withCtx as i, normalizeClass as g, createElementVNode as D, createTextVNode as f, Fragment as q, renderList as W, renderSlot as j, toRaw as H } from "vue";
|
|
2
|
+
import { PlElementList as $, PlCheckbox as J, PlBtnSecondary as B } from "@milaboratories/uikit";
|
|
3
|
+
import K from "./FilterEditor.vue.js";
|
|
4
|
+
import Q from "./OperandButton.vue.js";
|
|
5
|
+
import { SUPPORTED_FILTER_TYPES as X, DEFAULT_FILTERS as Z, DEFAULT_FILTER_TYPE as _ } from "./constants.js";
|
|
6
|
+
import { getNewId as R, createNewGroup as ee, isValidColumnId as N } from "./utils.js";
|
|
7
|
+
const te = ["onDrop"], de = /* @__PURE__ */ M({
|
|
8
8
|
__name: "PlAdvancedFilter",
|
|
9
|
-
props: /* @__PURE__ */
|
|
9
|
+
props: /* @__PURE__ */ I({
|
|
10
10
|
items: {},
|
|
11
|
+
supportedFilters: { default: () => X },
|
|
11
12
|
enableDnd: { type: Boolean, default: !1 },
|
|
13
|
+
enableAddGroupButton: { type: Boolean, default: !1 },
|
|
12
14
|
getSuggestOptions: {},
|
|
13
|
-
getSuggestModel: {}
|
|
15
|
+
getSuggestModel: { type: Function, default: void 0 }
|
|
14
16
|
}, {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
filters: { required: !0 },
|
|
18
|
+
filtersModifiers: {}
|
|
17
19
|
}),
|
|
18
|
-
emits: ["update:
|
|
19
|
-
setup(
|
|
20
|
-
const
|
|
21
|
-
var
|
|
22
|
-
return (
|
|
23
|
-
}),
|
|
24
|
-
id:
|
|
25
|
-
|
|
26
|
-
operand: "and",
|
|
20
|
+
emits: ["update:filters"],
|
|
21
|
+
setup(m) {
|
|
22
|
+
const s = x(m, "filters"), r = m, G = Y(() => {
|
|
23
|
+
var e;
|
|
24
|
+
return (e = r.items[0]) == null ? void 0 : e.id;
|
|
25
|
+
}), P = [{
|
|
26
|
+
id: -1,
|
|
27
|
+
type: "and",
|
|
27
28
|
filters: [],
|
|
28
|
-
|
|
29
|
+
isExpanded: !0
|
|
29
30
|
}];
|
|
30
|
-
function
|
|
31
|
-
s.value.
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
function d() {
|
|
32
|
+
if (s.value.type !== "or" && s.value.type !== "and")
|
|
33
|
+
throw new Error('Invalid model structure, expected root to be "or" or "and" group');
|
|
34
|
+
return s.value.filters;
|
|
35
|
+
}
|
|
36
|
+
function S(e) {
|
|
37
|
+
const o = d()[e];
|
|
38
|
+
if (o.type !== "and" && o.type !== "or" && o.type !== "not")
|
|
39
|
+
throw new Error('Invalid group structure, expected "and", "or" or "not" group');
|
|
40
|
+
return o;
|
|
41
|
+
}
|
|
42
|
+
function k(e) {
|
|
43
|
+
const t = S(e);
|
|
44
|
+
if (t.type !== "not")
|
|
45
|
+
return t;
|
|
46
|
+
if (t.filter.type !== "and" && t.filter.type !== "or")
|
|
47
|
+
throw new Error('Invalid group structure, expected "and" or "or" group inside "not"');
|
|
48
|
+
return t.filter;
|
|
49
|
+
}
|
|
50
|
+
function w(e, t) {
|
|
51
|
+
k(e).filters.push({
|
|
52
|
+
...Z[_],
|
|
53
|
+
column: t,
|
|
54
|
+
id: R(),
|
|
55
|
+
isExpanded: !0
|
|
34
56
|
});
|
|
35
57
|
}
|
|
36
|
-
function
|
|
37
|
-
|
|
58
|
+
function A(e, t) {
|
|
59
|
+
const o = k(e);
|
|
60
|
+
o.filters.length === 1 && t === 0 ? L(e) : o.filters.splice(t, 1);
|
|
61
|
+
}
|
|
62
|
+
function U(e) {
|
|
63
|
+
const t = d(), o = t[e];
|
|
64
|
+
if (o.type === "not") {
|
|
65
|
+
if (o.filter.type !== "and" && o.filter.type !== "or")
|
|
66
|
+
throw new Error('Invalid group structure, expected "and" or "or" group inside "not"');
|
|
67
|
+
t[e] = o.filter;
|
|
68
|
+
} else {
|
|
69
|
+
const n = t[e].type;
|
|
70
|
+
if (n !== "and" && n !== "or" && n !== "not")
|
|
71
|
+
throw new Error('Invalid group structure, expected "and", "or" or "not" group');
|
|
72
|
+
t[e] = {
|
|
73
|
+
id: R(),
|
|
74
|
+
isExpanded: !0,
|
|
75
|
+
type: "not",
|
|
76
|
+
filter: t[e]
|
|
77
|
+
};
|
|
78
|
+
}
|
|
38
79
|
}
|
|
39
|
-
function
|
|
40
|
-
|
|
80
|
+
function u(e) {
|
|
81
|
+
return e.type === "not" ? e.filter : e;
|
|
41
82
|
}
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
s.value.groups.push(e);
|
|
83
|
+
function L(e) {
|
|
84
|
+
d().splice(e, 1);
|
|
45
85
|
}
|
|
46
|
-
function
|
|
86
|
+
function C(e) {
|
|
87
|
+
const t = ee(e);
|
|
88
|
+
d().push(t);
|
|
89
|
+
}
|
|
90
|
+
function V(e, t) {
|
|
91
|
+
const o = t.dataTransfer;
|
|
92
|
+
if (o != null && o.getData("text/plain")) {
|
|
93
|
+
const n = o.getData("text/plain");
|
|
94
|
+
N(n) && w(e, n);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function O(e) {
|
|
47
98
|
const t = e.dataTransfer;
|
|
48
99
|
if (t != null && t.getData("text/plain")) {
|
|
49
|
-
const
|
|
50
|
-
|
|
100
|
+
const o = t.getData("text/plain");
|
|
101
|
+
N(o) && C(o);
|
|
51
102
|
}
|
|
52
103
|
}
|
|
53
|
-
function
|
|
54
|
-
|
|
55
|
-
if (e != null && e.getData("text/plain")) {
|
|
56
|
-
const t = e.getData("text/plain");
|
|
57
|
-
U(t) && k(t);
|
|
58
|
-
}
|
|
104
|
+
function F(e) {
|
|
105
|
+
e.preventDefault();
|
|
59
106
|
}
|
|
60
|
-
function
|
|
61
|
-
|
|
107
|
+
function h(e) {
|
|
108
|
+
if (e.type === "and" || e.type === "or" || e.type === "not")
|
|
109
|
+
throw new Error("Invalid filter structure, expected leaf filter");
|
|
110
|
+
return e;
|
|
62
111
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
"item-
|
|
71
|
-
"
|
|
112
|
+
function z(e, t, o) {
|
|
113
|
+
e[t] = H(o);
|
|
114
|
+
}
|
|
115
|
+
return (e, t) => (l(), y("div", null, [
|
|
116
|
+
b(p($), {
|
|
117
|
+
items: s.value.filters,
|
|
118
|
+
"onUpdate:items": t[0] || (t[0] = (o) => s.value.filters = o),
|
|
119
|
+
"get-item-key": (o) => o.id,
|
|
120
|
+
"item-class": e.$style.filterGroup,
|
|
121
|
+
"item-class-content": e.$style.filterGroupContent,
|
|
122
|
+
"item-class-title": e.$style.filterGroupTitle,
|
|
123
|
+
"is-expanded": (o) => o.isExpanded === !0,
|
|
124
|
+
"on-expand": (o) => {
|
|
125
|
+
o.isExpanded = !o.isExpanded;
|
|
126
|
+
},
|
|
72
127
|
disableDragging: !1,
|
|
73
128
|
disableRemoving: !1,
|
|
74
129
|
disableToggling: !0,
|
|
75
|
-
disablePinning: !0
|
|
76
|
-
"on-expand": (t) => {
|
|
77
|
-
t.expanded = !t.expanded;
|
|
78
|
-
}
|
|
130
|
+
disablePinning: !0
|
|
79
131
|
}, {
|
|
80
|
-
"item-title": i(() => [...
|
|
81
|
-
|
|
132
|
+
"item-title": i(() => [...t[2] || (t[2] = [
|
|
133
|
+
f(" Filter group ", -1)
|
|
82
134
|
])]),
|
|
83
|
-
"item-content": i(({ item:
|
|
84
|
-
|
|
85
|
-
class:
|
|
135
|
+
"item-content": i(({ item: o, index: n }) => [
|
|
136
|
+
D("div", {
|
|
137
|
+
class: g(e.$style.groupContent),
|
|
86
138
|
dropzone: "true",
|
|
87
|
-
onDrop: (
|
|
88
|
-
onDragover:
|
|
139
|
+
onDrop: (c) => V(n, c),
|
|
140
|
+
onDragover: F
|
|
89
141
|
}, [
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
142
|
+
b(p(J), {
|
|
143
|
+
"model-value": o.type === "not",
|
|
144
|
+
class: g(e.$style.notCheckbox),
|
|
145
|
+
"onUpdate:modelValue": (c) => U(n)
|
|
93
146
|
}, {
|
|
94
|
-
default: i(() => [...
|
|
95
|
-
|
|
147
|
+
default: i(() => [...t[3] || (t[3] = [
|
|
148
|
+
f("NOT", -1)
|
|
96
149
|
])]),
|
|
97
150
|
_: 1
|
|
98
|
-
}, 8, ["
|
|
99
|
-
(
|
|
100
|
-
key:
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"
|
|
105
|
-
"get-suggest-model":
|
|
106
|
-
"get-suggest-options":
|
|
107
|
-
"enable-dnd":
|
|
108
|
-
"is-last":
|
|
109
|
-
"on-change-operand": (
|
|
110
|
-
"on-delete": () =>
|
|
111
|
-
|
|
112
|
-
|
|
151
|
+
}, 8, ["model-value", "class", "onUpdate:modelValue"]),
|
|
152
|
+
(l(!0), y(q, null, W(u(o).filters, (c, a) => (l(), v(K, {
|
|
153
|
+
key: a,
|
|
154
|
+
filter: h(u(o).filters[a]),
|
|
155
|
+
operand: u(o).type,
|
|
156
|
+
"column-options": m.items,
|
|
157
|
+
"supported-filters": r.supportedFilters,
|
|
158
|
+
"get-suggest-model": r.getSuggestModel,
|
|
159
|
+
"get-suggest-options": r.getSuggestOptions,
|
|
160
|
+
"enable-dnd": !!r.enableDnd,
|
|
161
|
+
"is-last": a === u(o).filters.length - 1,
|
|
162
|
+
"on-change-operand": (E) => u(o).type = E,
|
|
163
|
+
"on-delete": () => A(n, a),
|
|
164
|
+
"onUpdate:filter": (E) => z(u(o).filters, a, E)
|
|
165
|
+
}, null, 8, ["filter", "operand", "column-options", "supported-filters", "get-suggest-model", "get-suggest-options", "enable-dnd", "is-last", "on-change-operand", "on-delete", "onUpdate:filter"]))), 128)),
|
|
166
|
+
r.enableDnd ? (l(), y("div", {
|
|
113
167
|
key: 0,
|
|
114
|
-
class:
|
|
115
|
-
}, [...
|
|
116
|
-
|
|
117
|
-
])], 2)) : (
|
|
168
|
+
class: g(e.$style.dropzone)
|
|
169
|
+
}, [...t[4] || (t[4] = [
|
|
170
|
+
D("div", null, "Drop dimensions here", -1)
|
|
171
|
+
])], 2)) : (l(), v(p(B), {
|
|
118
172
|
key: 1,
|
|
119
|
-
|
|
173
|
+
icon: "add",
|
|
174
|
+
onClick: (c) => w(n, G.value)
|
|
120
175
|
}, {
|
|
121
|
-
default: i(() => [
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
style: { "margin-right": "8px" }
|
|
125
|
-
}),
|
|
126
|
-
e[6] || (e[6] = u("Add column ", -1))
|
|
127
|
-
]),
|
|
176
|
+
default: i(() => [...t[5] || (t[5] = [
|
|
177
|
+
f(" Add filter ", -1)
|
|
178
|
+
])]),
|
|
128
179
|
_: 1
|
|
129
180
|
}, 8, ["onClick"]))
|
|
130
|
-
], 42,
|
|
181
|
+
], 42, te)
|
|
131
182
|
]),
|
|
132
|
-
"item-after": i(({ index:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
183
|
+
"item-after": i(({ index: o }) => [
|
|
184
|
+
r.enableAddGroupButton || o < d().length - 1 ? (l(), v(Q, {
|
|
185
|
+
key: 0,
|
|
186
|
+
class: g(e.$style.buttonWrapper),
|
|
187
|
+
active: s.value.type,
|
|
188
|
+
disabled: o === d().length - 1,
|
|
189
|
+
"on-select": (n) => s.value.type = n
|
|
190
|
+
}, null, 8, ["class", "active", "disabled", "on-select"])) : T("", !0)
|
|
139
191
|
]),
|
|
140
192
|
_: 1
|
|
141
193
|
}, 8, ["items", "get-item-key", "item-class", "item-class-content", "item-class-title", "is-expanded", "on-expand"]),
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
"get-item-key": (
|
|
146
|
-
"item-class":
|
|
147
|
-
"item-class-content":
|
|
148
|
-
"item-class-title":
|
|
194
|
+
r.enableAddGroupButton ? (l(), v(p($), {
|
|
195
|
+
key: 0,
|
|
196
|
+
items: P,
|
|
197
|
+
"get-item-key": (o) => o.id,
|
|
198
|
+
"item-class": e.$style.filterGroup,
|
|
199
|
+
"item-class-content": e.$style.filterGroupContent,
|
|
200
|
+
"item-class-title": e.$style.filterGroupTitle,
|
|
149
201
|
"is-expanded": () => !0,
|
|
150
202
|
disableDragging: !0,
|
|
151
203
|
disableRemoving: !0,
|
|
152
204
|
disableToggling: !0,
|
|
153
205
|
disablePinning: !0,
|
|
154
206
|
dropzone: "true",
|
|
155
|
-
onDrop:
|
|
156
|
-
onDragover:
|
|
207
|
+
onDrop: O,
|
|
208
|
+
onDragover: F
|
|
157
209
|
}, {
|
|
158
|
-
"item-title": i(() => [...
|
|
159
|
-
|
|
210
|
+
"item-title": i(() => [...t[6] || (t[6] = [
|
|
211
|
+
f("Filter group", -1)
|
|
160
212
|
])]),
|
|
161
|
-
"item-content": i((
|
|
162
|
-
|
|
163
|
-
modelValue: t.not,
|
|
164
|
-
"onUpdate:modelValue": (n) => t.not = n,
|
|
165
|
-
disabled: ""
|
|
166
|
-
}, {
|
|
167
|
-
default: i(() => [...e[8] || (e[8] = [
|
|
168
|
-
u("NOT", -1)
|
|
169
|
-
])]),
|
|
170
|
-
_: 1
|
|
171
|
-
}, 8, ["modelValue", "onUpdate:modelValue"]),
|
|
172
|
-
d.enableDnd ? (r(), g("div", {
|
|
213
|
+
"item-content": i(() => [
|
|
214
|
+
m.enableDnd ? (l(), y("div", {
|
|
173
215
|
key: 0,
|
|
174
|
-
class:
|
|
175
|
-
}, [...
|
|
176
|
-
|
|
177
|
-
])], 2)) : (
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
_: 1
|
|
189
|
-
}))
|
|
216
|
+
class: g(e.$style.dropzone)
|
|
217
|
+
}, [...t[7] || (t[7] = [
|
|
218
|
+
D("div", null, "Drop dimensions here", -1)
|
|
219
|
+
])], 2)) : j(e.$slots, "add-group-buttons", { key: 1 }, () => [
|
|
220
|
+
b(p(B), {
|
|
221
|
+
icon: "add",
|
|
222
|
+
onClick: t[1] || (t[1] = (o) => C(G.value))
|
|
223
|
+
}, {
|
|
224
|
+
default: i(() => [...t[8] || (t[8] = [
|
|
225
|
+
f(" Add filter ", -1)
|
|
226
|
+
])]),
|
|
227
|
+
_: 1
|
|
228
|
+
})
|
|
229
|
+
])
|
|
190
230
|
]),
|
|
191
|
-
_:
|
|
192
|
-
}, 8, ["get-item-key", "item-class", "item-class-content", "item-class-title"])
|
|
231
|
+
_: 3
|
|
232
|
+
}, 8, ["get-item-key", "item-class", "item-class-content", "item-class-title"])) : T("", !0)
|
|
193
233
|
]));
|
|
194
234
|
}
|
|
195
235
|
});
|
|
196
236
|
export {
|
|
197
|
-
|
|
237
|
+
de as default
|
|
198
238
|
};
|
|
199
239
|
//# sourceMappingURL=PlAdvancedFilter.vue2.js.map
|