@milaboratories/uikit 2.6.0 → 2.6.2
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 +43 -43
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +14 -0
- package/dist/components/DataTable/TableComponent.vue.js +4 -2
- package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts +4 -0
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +74 -68
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts +4 -0
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +52 -46
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.vue.d.ts +8 -0
- package/dist/components/PlDropdown/PlDropdown.vue.js +67 -60
- package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js +21 -19
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts +4 -0
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +47 -41
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue.d.ts +20 -0
- package/dist/components/PlElementList/PlElementList.vue2.js +180 -135
- package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue.d.ts +20 -0
- package/dist/components/PlElementList/PlElementListItem.vue2.js +99 -74
- package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.vue.js +24 -22
- package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
- package/dist/components/PlLogView/PlLogView.vue.js +24 -22
- package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
- package/dist/components/PlNumberField/PlNumberField.vue.d.ts +5 -0
- package/dist/components/PlNumberField/PlNumberField.vue.js +60 -54
- package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +4 -2
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
- package/dist/components/PlSvg/PlSvg.vue2.js +15 -11
- package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
- package/dist/components/PlTextArea/PlTextArea.vue.js +15 -13
- package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
- package/dist/components/PlTextField/PlTextField.vue.d.ts +4 -0
- package/dist/components/PlTextField/PlTextField.vue.js +45 -39
- package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
- package/dist/composition/filters/metadata.d.ts +205 -0
- package/dist/composition/filters/metadata.js +129 -19
- package/dist/composition/filters/metadata.js.map +1 -1
- package/dist/utils/DoubleContour.vue.d.ts +7 -1
- package/dist/utils/DoubleContour.vue.js +20 -13
- package/dist/utils/DoubleContour.vue.js.map +1 -1
- package/dist/utils/DoubleContour.vue2.js +19 -3
- package/dist/utils/DoubleContour.vue2.js.map +1 -1
- package/dist/utils/DoubleContour.vue3.js +7 -0
- package/dist/utils/DoubleContour.vue3.js.map +1 -0
- package/package.json +4 -4
- package/src/components/PlAutocomplete/PlAutocomplete.vue +6 -1
- package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +6 -1
- package/src/components/PlDropdown/PlDropdown.vue +12 -2
- package/src/components/PlDropdownMulti/PlDropdownMulti.vue +6 -1
- package/src/components/PlElementList/PlElementList.vue +40 -6
- package/src/components/PlElementList/PlElementListItem.vue +64 -47
- package/src/components/PlNumberField/PlNumberField.vue +4 -1
- package/src/components/PlSvg/PlSvg.vue +13 -10
- package/src/components/PlTextField/PlTextField.vue +7 -3
- package/src/composition/filters/metadata.ts +105 -0
- package/src/utils/DoubleContour.vue +68 -2
- package/dist/components/PlAccordion/ExpandTransition.vue.js +0 -27
- package/dist/components/PlAccordion/ExpandTransition.vue.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlTextField.vue.js","sources":["../../../src/components/PlTextField/PlTextField.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Component for one-line string data manipulation\n */\nexport default {\n name: 'PlTextField',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M, E = string, C = E\">\nimport type { Equal } from '@milaboratories/helpers';\nimport { computed, reactive, ref, useSlots } from 'vue';\nimport SvgRequired from '../../assets/images/required.svg?raw';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport { useValidation } from '../../utils/useValidation';\nimport { PlIcon16 } from '../PlIcon16';\nimport {
|
|
1
|
+
{"version":3,"file":"PlTextField.vue.js","sources":["../../../src/components/PlTextField/PlTextField.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Component for one-line string data manipulation\n */\nexport default {\n name: 'PlTextField',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M, E = string, C = E\">\nimport type { Equal } from '@milaboratories/helpers';\nimport { computed, reactive, ref, useSlots } from 'vue';\nimport SvgRequired from '../../assets/images/required.svg?raw';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport { useValidation } from '../../utils/useValidation';\nimport { PlIcon16 } from '../PlIcon16';\nimport { PlIcon24 } from '../PlIcon24';\nimport { PlSvg } from '../PlSvg';\nimport { PlTooltip } from '../PlTooltip';\nimport './pl-text-field.scss';\n\nconst slots = useSlots();\n\ntype Model = Equal<M, E | C> extends true ? M : never; // basically in === out\n\n/**\n * The current value of the input field.\n */\nconst model = defineModel<Model>({\n required: true,\n});\n\nconst props = defineProps<{\n /**\n * The label to display above the input field.\n */\n label?: string;\n /**\n * If `true`, a clear icon will appear in the input field to clear the value (set it to empty string).\n * Or you can pass a callback that returns a custom \"empty\" value (null | undefined | string)\n */\n clearable?: boolean | (() => C);\n /**\n * An optional callback to parse and/or cast the value, the return type overrides the model type.\n * The callback must throw an exception if the value is invalid\n */\n parse?: (v: string) => E;\n /**\n * If `true`, the input field is marked as required.\n */\n required?: boolean;\n /**\n * An error message to display below the input field.\n */\n error?: unknown;\n /**\n * A helper text to display below the input field when there are no errors.\n */\n helper?: string;\n /**\n * A placeholder text to display inside the input field when it is empty.\n */\n placeholder?: string;\n /**\n * If `true`, the input field is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * If `true`, the input field has a dashed border.\n */\n dashed?: boolean;\n /**\n * A prefix text to display inside the input field before the value.\n */\n prefix?: string;\n /**\n * An array of validation rules to apply to the input field. Each rule is a function that takes the current value and returns `true` if valid or an error message if invalid.\n */\n rules?: ((v: string) => boolean | string)[];\n /**\n * The string specifies whether the field should be a password or not, value could be \"password\" or undefined.\n */\n type?: 'password';\n /**\n * Makes some of corners not rounded\n * */\n groupPosition?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';\n}>();\n\nconst rootRef = ref<HTMLInputElement | undefined>(undefined);\n\nconst inputRef = ref<HTMLInputElement | undefined>();\n\nconst showPassword = ref(false);\n\nconst data = reactive({\n cached: undefined as { error: string; value: string } | undefined,\n});\n\nconst valueRef = computed<string>({\n get() {\n if (data.cached) {\n return data.cached.value;\n }\n return model.value === undefined || model.value === null ? '' : String(model.value);\n },\n set(value) {\n data.cached = undefined;\n\n if (props.parse) {\n try {\n model.value = props.parse(value) as Model;\n } catch (err) {\n data.cached = {\n error: err instanceof Error ? err.message : String(err),\n value,\n };\n }\n } else {\n model.value = value as Model;\n }\n },\n});\n\nconst fieldType = computed(() => {\n if (props.type && props.type === 'password') {\n return showPassword.value ? 'text' : props.type;\n } else {\n return 'text';\n }\n});\n\nconst passwordIcon = computed(() => (showPassword.value ? 'view-show' : 'view-hide'));\n\nconst clear = () => {\n if (props.clearable) {\n data.cached = undefined;\n model.value = props.clearable === true ? ('' as Model) : (props.clearable() as Model);\n }\n};\n\nconst validationData = useValidation(valueRef, props.rules || []);\n\nconst isEmpty = computed(() => {\n if (props.clearable) {\n return props.clearable === true ? model.value === '' : model.value === props.clearable();\n }\n\n return model.value === '';\n});\n\nconst nonEmpty = computed(() => !isEmpty.value);\n\nconst displayErrors = computed(() => {\n const errors: string[] = [];\n const propsError = getErrorMessage(props.error);\n if (propsError) {\n errors.push(propsError);\n }\n if (data.cached) {\n errors.push(data.cached.error);\n }\n if (!validationData.value.isValid) {\n errors.push(...validationData.value.errors);\n }\n return errors;\n});\n\nconst hasErrors = computed(() => displayErrors.value.length > 0);\n\nconst canShowClearable = computed(() => props.clearable && nonEmpty.value && props.type !== 'password' && !props.disabled);\n\nconst togglePasswordVisibility = () => (showPassword.value = !showPassword.value);\n\nconst onFocusOut = () => {\n data.cached = undefined;\n};\n\nconst setFocusOnInput = () => inputRef.value?.focus();\n\nuseLabelNotch(rootRef);\n</script>\n\n<template>\n <div class=\"pl-text-field__envelope\">\n <div\n ref=\"rootRef\"\n class=\"pl-text-field\"\n :class=\"{\n error: hasErrors,\n disabled,\n dashed,\n nonEmpty,\n }\"\n >\n <label v-if=\"label\" ref=\"label\">\n <PlSvg v-if=\"required\" :uri=\"SvgRequired\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <div v-if=\"prefix\" class=\"pl-text-field__prefix\">\n {{ prefix }}\n </div>\n <input\n ref=\"inputRef\"\n v-model=\"valueRef\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder || '...'\"\n :type=\"fieldType\"\n spellcheck=\"false\"\n @focusout=\"onFocusOut\"\n />\n <div class=\"pl-text-field__append\" @click=\"setFocusOnInput\">\n <PlIcon16 v-if=\"canShowClearable\" class=\"pl-text-field__clearable\" name=\"delete-clear\" @click.stop=\"clear\" />\n <PlIcon24 v-if=\"type === 'password'\" :name=\"passwordIcon\" style=\"cursor: pointer\" @click.stop=\"togglePasswordVisibility\" />\n <slot name=\"append\" />\n </div>\n <DoubleContour class=\"pl-text-field__contour\" :group-position=\"groupPosition\" />\n </div>\n <div v-if=\"hasErrors\" class=\"pl-text-field__error\">\n {{ displayErrors.join(' ') }}\n </div>\n <div v-else-if=\"helper\" class=\"pl-text-field__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"names":["__default__","slots","useSlots","model","_useModel","__props","props","rootRef","ref","inputRef","showPassword","data","reactive","valueRef","computed","value","err","fieldType","passwordIcon","clear","validationData","useValidation","isEmpty","nonEmpty","displayErrors","errors","propsError","getErrorMessage","hasErrors","canShowClearable","togglePasswordVisibility","onFocusOut","setFocusOnInput","_a","useLabelNotch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;GAIAA,KAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAMC,IAAQC,EAAA,GAORC,IAAQC,EAAkBC,GAAA,YAE/B,GAEKC,IAAQD,GAyDRE,IAAUC,EAAkC,MAAS,GAErDC,IAAWD,EAAA,GAEXE,IAAeF,EAAI,EAAK,GAExBG,IAAOC,EAAS;AAAA,MACpB,QAAQ;AAAA,IAAA,CACT,GAEKC,IAAWC,EAAiB;AAAA,MAChC,MAAM;AACJ,eAAIH,EAAK,SACAA,EAAK,OAAO,QAEdR,EAAM,UAAU,UAAaA,EAAM,UAAU,OAAO,KAAK,OAAOA,EAAM,KAAK;AAAA,MACpF;AAAA,MACA,IAAIY,GAAO;AAGT,YAFAJ,EAAK,SAAS,QAEVL,EAAM;AACR,cAAI;AACF,YAAAH,EAAM,QAAQG,EAAM,MAAMS,CAAK;AAAA,UACjC,SAASC,GAAK;AACZ,YAAAL,EAAK,SAAS;AAAA,cACZ,OAAOK,aAAe,QAAQA,EAAI,UAAU,OAAOA,CAAG;AAAA,cACtD,OAAAD;AAAA,YAAA;AAAA,UAEJ;AAAA;AAEA,UAAAZ,EAAM,QAAQY;AAAA,MAElB;AAAA,IAAA,CACD,GAEKE,IAAYH,EAAS,MACrBR,EAAM,QAAQA,EAAM,SAAS,aACxBI,EAAa,QAAQ,SAASJ,EAAM,OAEpC,MAEV,GAEKY,IAAeJ,EAAS,MAAOJ,EAAa,QAAQ,cAAc,WAAY,GAE9ES,IAAQ,MAAM;AAClB,MAAIb,EAAM,cACRK,EAAK,SAAS,QACdR,EAAM,QAAQG,EAAM,cAAc,KAAQ,KAAgBA,EAAM,UAAA;AAAA,IAEpE,GAEMc,IAAiBC,EAAcR,GAAUP,EAAM,SAAS,CAAA,CAAE,GAE1DgB,IAAUR,EAAS,MACnBR,EAAM,YACDA,EAAM,cAAc,KAAOH,EAAM,UAAU,KAAKA,EAAM,UAAUG,EAAM,UAAA,IAGxEH,EAAM,UAAU,EACxB,GAEKoB,IAAWT,EAAS,MAAM,CAACQ,EAAQ,KAAK,GAExCE,IAAgBV,EAAS,MAAM;AACnC,YAAMW,IAAmB,CAAA,GACnBC,IAAaC,EAAgBrB,EAAM,KAAK;AAC9C,aAAIoB,KACFD,EAAO,KAAKC,CAAU,GAEpBf,EAAK,UACPc,EAAO,KAAKd,EAAK,OAAO,KAAK,GAE1BS,EAAe,MAAM,WACxBK,EAAO,KAAK,GAAGL,EAAe,MAAM,MAAM,GAErCK;AAAA,IACT,CAAC,GAEKG,IAAYd,EAAS,MAAMU,EAAc,MAAM,SAAS,CAAC,GAEzDK,IAAmBf,EAAS,MAAMR,EAAM,aAAaiB,EAAS,SAASjB,EAAM,SAAS,cAAc,CAACA,EAAM,QAAQ,GAEnHwB,IAA2B,MAAOpB,EAAa,QAAQ,CAACA,EAAa,OAErEqB,IAAa,MAAM;AACvB,MAAApB,EAAK,SAAS;AAAA,IAChB,GAEMqB,IAAkB,MAAA;;AAAM,cAAAC,IAAAxB,EAAS,UAAT,gBAAAwB,EAAgB;AAAA;AAE9C,WAAAC,EAAc3B,CAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -21,6 +21,27 @@ export declare const filterUiMetadata: {
|
|
|
21
21
|
};
|
|
22
22
|
supportedFor: typeof isNumericValueType;
|
|
23
23
|
};
|
|
24
|
+
notEqual: {
|
|
25
|
+
label: string;
|
|
26
|
+
form: {
|
|
27
|
+
column: {
|
|
28
|
+
label: string;
|
|
29
|
+
fieldType: "SUniversalPColumnId";
|
|
30
|
+
defaultValue: () => undefined;
|
|
31
|
+
};
|
|
32
|
+
type: {
|
|
33
|
+
label: string;
|
|
34
|
+
fieldType: "FilterType";
|
|
35
|
+
defaultValue: () => "notEqual";
|
|
36
|
+
};
|
|
37
|
+
x: {
|
|
38
|
+
label: string;
|
|
39
|
+
fieldType: "number";
|
|
40
|
+
defaultValue: () => number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
supportedFor: typeof isNumericValueType;
|
|
44
|
+
};
|
|
24
45
|
lessThan: {
|
|
25
46
|
label: string;
|
|
26
47
|
form: {
|
|
@@ -436,6 +457,90 @@ export declare const filterUiMetadata: {
|
|
|
436
457
|
};
|
|
437
458
|
supportedFor: () => false;
|
|
438
459
|
};
|
|
460
|
+
patternMatchesRegularExpression: {
|
|
461
|
+
label: string;
|
|
462
|
+
form: {
|
|
463
|
+
column: {
|
|
464
|
+
label: string;
|
|
465
|
+
fieldType: "SUniversalPColumnId";
|
|
466
|
+
defaultValue: () => undefined;
|
|
467
|
+
};
|
|
468
|
+
type: {
|
|
469
|
+
label: string;
|
|
470
|
+
fieldType: "FilterType";
|
|
471
|
+
defaultValue: () => "patternMatchesRegularExpression";
|
|
472
|
+
};
|
|
473
|
+
value: {
|
|
474
|
+
label: string;
|
|
475
|
+
fieldType: "string";
|
|
476
|
+
defaultValue: () => string;
|
|
477
|
+
};
|
|
478
|
+
};
|
|
479
|
+
supportedFor: typeof isStringValueType;
|
|
480
|
+
};
|
|
481
|
+
patternFuzzyContainSubsequence: {
|
|
482
|
+
label: string;
|
|
483
|
+
form: {
|
|
484
|
+
column: {
|
|
485
|
+
label: string;
|
|
486
|
+
fieldType: "SUniversalPColumnId";
|
|
487
|
+
defaultValue: () => undefined;
|
|
488
|
+
};
|
|
489
|
+
type: {
|
|
490
|
+
label: string;
|
|
491
|
+
fieldType: "FilterType";
|
|
492
|
+
defaultValue: () => "patternFuzzyContainSubsequence";
|
|
493
|
+
};
|
|
494
|
+
value: {
|
|
495
|
+
label: string;
|
|
496
|
+
fieldType: "string";
|
|
497
|
+
defaultValue: () => string;
|
|
498
|
+
};
|
|
499
|
+
};
|
|
500
|
+
supportedFor: typeof isStringValueType;
|
|
501
|
+
};
|
|
502
|
+
inSet: {
|
|
503
|
+
label: string;
|
|
504
|
+
form: {
|
|
505
|
+
column: {
|
|
506
|
+
label: string;
|
|
507
|
+
fieldType: "SUniversalPColumnId";
|
|
508
|
+
defaultValue: () => undefined;
|
|
509
|
+
};
|
|
510
|
+
type: {
|
|
511
|
+
label: string;
|
|
512
|
+
fieldType: "FilterType";
|
|
513
|
+
defaultValue: () => "inSet";
|
|
514
|
+
};
|
|
515
|
+
value: {
|
|
516
|
+
fieldType: "unknown[]";
|
|
517
|
+
label: string;
|
|
518
|
+
defaultValue: () => never[];
|
|
519
|
+
};
|
|
520
|
+
};
|
|
521
|
+
supportedFor: typeof isStringValueType;
|
|
522
|
+
};
|
|
523
|
+
notInSet: {
|
|
524
|
+
label: string;
|
|
525
|
+
form: {
|
|
526
|
+
column: {
|
|
527
|
+
label: string;
|
|
528
|
+
fieldType: "SUniversalPColumnId";
|
|
529
|
+
defaultValue: () => undefined;
|
|
530
|
+
};
|
|
531
|
+
type: {
|
|
532
|
+
label: string;
|
|
533
|
+
fieldType: "FilterType";
|
|
534
|
+
defaultValue: () => "notInSet";
|
|
535
|
+
};
|
|
536
|
+
value: {
|
|
537
|
+
label: string;
|
|
538
|
+
fieldType: "unknown[]";
|
|
539
|
+
defaultValue: () => never[];
|
|
540
|
+
};
|
|
541
|
+
};
|
|
542
|
+
supportedFor: typeof isStringValueType;
|
|
543
|
+
};
|
|
439
544
|
};
|
|
440
545
|
export declare function getFilterUiTypeOptions(columnSpec?: SimplifiedPColumnSpec): {
|
|
441
546
|
label: string;
|
|
@@ -461,6 +566,26 @@ export declare function getFilterUiMetadata(type: FilterSpecType): {
|
|
|
461
566
|
};
|
|
462
567
|
};
|
|
463
568
|
supportedFor: typeof isNumericValueType;
|
|
569
|
+
} | {
|
|
570
|
+
label: string;
|
|
571
|
+
form: {
|
|
572
|
+
column: {
|
|
573
|
+
label: string;
|
|
574
|
+
fieldType: "SUniversalPColumnId";
|
|
575
|
+
defaultValue: () => undefined;
|
|
576
|
+
};
|
|
577
|
+
type: {
|
|
578
|
+
label: string;
|
|
579
|
+
fieldType: "FilterType";
|
|
580
|
+
defaultValue: () => "notEqual";
|
|
581
|
+
};
|
|
582
|
+
x: {
|
|
583
|
+
label: string;
|
|
584
|
+
fieldType: "number";
|
|
585
|
+
defaultValue: () => number;
|
|
586
|
+
};
|
|
587
|
+
};
|
|
588
|
+
supportedFor: typeof isNumericValueType;
|
|
464
589
|
} | {
|
|
465
590
|
label: string;
|
|
466
591
|
form: {
|
|
@@ -856,6 +981,86 @@ export declare function getFilterUiMetadata(type: FilterSpecType): {
|
|
|
856
981
|
};
|
|
857
982
|
};
|
|
858
983
|
supportedFor: () => false;
|
|
984
|
+
} | {
|
|
985
|
+
label: string;
|
|
986
|
+
form: {
|
|
987
|
+
column: {
|
|
988
|
+
label: string;
|
|
989
|
+
fieldType: "SUniversalPColumnId";
|
|
990
|
+
defaultValue: () => undefined;
|
|
991
|
+
};
|
|
992
|
+
type: {
|
|
993
|
+
label: string;
|
|
994
|
+
fieldType: "FilterType";
|
|
995
|
+
defaultValue: () => "patternMatchesRegularExpression";
|
|
996
|
+
};
|
|
997
|
+
value: {
|
|
998
|
+
label: string;
|
|
999
|
+
fieldType: "string";
|
|
1000
|
+
defaultValue: () => string;
|
|
1001
|
+
};
|
|
1002
|
+
};
|
|
1003
|
+
supportedFor: typeof isStringValueType;
|
|
1004
|
+
} | {
|
|
1005
|
+
label: string;
|
|
1006
|
+
form: {
|
|
1007
|
+
column: {
|
|
1008
|
+
label: string;
|
|
1009
|
+
fieldType: "SUniversalPColumnId";
|
|
1010
|
+
defaultValue: () => undefined;
|
|
1011
|
+
};
|
|
1012
|
+
type: {
|
|
1013
|
+
label: string;
|
|
1014
|
+
fieldType: "FilterType";
|
|
1015
|
+
defaultValue: () => "patternFuzzyContainSubsequence";
|
|
1016
|
+
};
|
|
1017
|
+
value: {
|
|
1018
|
+
label: string;
|
|
1019
|
+
fieldType: "string";
|
|
1020
|
+
defaultValue: () => string;
|
|
1021
|
+
};
|
|
1022
|
+
};
|
|
1023
|
+
supportedFor: typeof isStringValueType;
|
|
1024
|
+
} | {
|
|
1025
|
+
label: string;
|
|
1026
|
+
form: {
|
|
1027
|
+
column: {
|
|
1028
|
+
label: string;
|
|
1029
|
+
fieldType: "SUniversalPColumnId";
|
|
1030
|
+
defaultValue: () => undefined;
|
|
1031
|
+
};
|
|
1032
|
+
type: {
|
|
1033
|
+
label: string;
|
|
1034
|
+
fieldType: "FilterType";
|
|
1035
|
+
defaultValue: () => "inSet";
|
|
1036
|
+
};
|
|
1037
|
+
value: {
|
|
1038
|
+
fieldType: "unknown[]";
|
|
1039
|
+
label: string;
|
|
1040
|
+
defaultValue: () => never[];
|
|
1041
|
+
};
|
|
1042
|
+
};
|
|
1043
|
+
supportedFor: typeof isStringValueType;
|
|
1044
|
+
} | {
|
|
1045
|
+
label: string;
|
|
1046
|
+
form: {
|
|
1047
|
+
column: {
|
|
1048
|
+
label: string;
|
|
1049
|
+
fieldType: "SUniversalPColumnId";
|
|
1050
|
+
defaultValue: () => undefined;
|
|
1051
|
+
};
|
|
1052
|
+
type: {
|
|
1053
|
+
label: string;
|
|
1054
|
+
fieldType: "FilterType";
|
|
1055
|
+
defaultValue: () => "notInSet";
|
|
1056
|
+
};
|
|
1057
|
+
value: {
|
|
1058
|
+
label: string;
|
|
1059
|
+
fieldType: "unknown[]";
|
|
1060
|
+
defaultValue: () => never[];
|
|
1061
|
+
};
|
|
1062
|
+
};
|
|
1063
|
+
supportedFor: typeof isStringValueType;
|
|
859
1064
|
};
|
|
860
1065
|
declare function isNumericValueType(spec: SimplifiedPColumnSpec): boolean;
|
|
861
1066
|
declare function isStringValueType(spec: SimplifiedPColumnSpec): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const o = {
|
|
2
2
|
equal: {
|
|
3
3
|
label: "Col = X (Equal)",
|
|
4
4
|
form: {
|
|
@@ -19,7 +19,29 @@ const t = {
|
|
|
19
19
|
defaultValue: () => 0
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
|
-
supportedFor:
|
|
22
|
+
supportedFor: l
|
|
23
|
+
},
|
|
24
|
+
notEqual: {
|
|
25
|
+
label: "Col ≠ X (Not Equal)",
|
|
26
|
+
form: {
|
|
27
|
+
column: {
|
|
28
|
+
label: "Column",
|
|
29
|
+
fieldType: "SUniversalPColumnId",
|
|
30
|
+
defaultValue: () => {
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
type: {
|
|
34
|
+
label: "Predicate",
|
|
35
|
+
fieldType: "FilterType",
|
|
36
|
+
defaultValue: () => "notEqual"
|
|
37
|
+
},
|
|
38
|
+
x: {
|
|
39
|
+
label: "X",
|
|
40
|
+
fieldType: "number",
|
|
41
|
+
defaultValue: () => 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
supportedFor: l
|
|
23
45
|
},
|
|
24
46
|
lessThan: {
|
|
25
47
|
label: "Col < X (Less Than)",
|
|
@@ -41,7 +63,7 @@ const t = {
|
|
|
41
63
|
defaultValue: () => 0
|
|
42
64
|
}
|
|
43
65
|
},
|
|
44
|
-
supportedFor:
|
|
66
|
+
supportedFor: l
|
|
45
67
|
},
|
|
46
68
|
greaterThan: {
|
|
47
69
|
label: "Col > X (Greater Than)",
|
|
@@ -63,7 +85,7 @@ const t = {
|
|
|
63
85
|
defaultValue: () => 0
|
|
64
86
|
}
|
|
65
87
|
},
|
|
66
|
-
supportedFor:
|
|
88
|
+
supportedFor: l
|
|
67
89
|
},
|
|
68
90
|
lessThanOrEqual: {
|
|
69
91
|
label: "Col ≤ X (Less Than or Equal)",
|
|
@@ -85,7 +107,7 @@ const t = {
|
|
|
85
107
|
defaultValue: () => 0
|
|
86
108
|
}
|
|
87
109
|
},
|
|
88
|
-
supportedFor:
|
|
110
|
+
supportedFor: l
|
|
89
111
|
},
|
|
90
112
|
greaterThanOrEqual: {
|
|
91
113
|
label: "Col ≥ X (Greater Than or Equal)",
|
|
@@ -107,7 +129,7 @@ const t = {
|
|
|
107
129
|
defaultValue: () => 0
|
|
108
130
|
}
|
|
109
131
|
},
|
|
110
|
-
supportedFor:
|
|
132
|
+
supportedFor: l
|
|
111
133
|
},
|
|
112
134
|
// Columns comparison
|
|
113
135
|
equalToColumn: {
|
|
@@ -131,7 +153,7 @@ const t = {
|
|
|
131
153
|
}
|
|
132
154
|
}
|
|
133
155
|
},
|
|
134
|
-
supportedFor: (e,
|
|
156
|
+
supportedFor: (e, a) => l(e) && (a === void 0 || l(a))
|
|
135
157
|
},
|
|
136
158
|
lessThanColumn: {
|
|
137
159
|
label: "Col₁ < Col₂ (Compare Columns)",
|
|
@@ -160,7 +182,7 @@ const t = {
|
|
|
160
182
|
}
|
|
161
183
|
}
|
|
162
184
|
},
|
|
163
|
-
supportedFor: (e,
|
|
185
|
+
supportedFor: (e, a) => l(e) && (a === void 0 || l(a))
|
|
164
186
|
},
|
|
165
187
|
greaterThanColumn: {
|
|
166
188
|
label: "Col₁ > Col₂ (Compare Columns)",
|
|
@@ -189,7 +211,7 @@ const t = {
|
|
|
189
211
|
}
|
|
190
212
|
}
|
|
191
213
|
},
|
|
192
|
-
supportedFor: (e,
|
|
214
|
+
supportedFor: (e, a) => l(e) && (a === void 0 || l(a))
|
|
193
215
|
},
|
|
194
216
|
lessThanColumnOrEqual: {
|
|
195
217
|
label: "Col₁ ≤ Col₂ (Compare Columns)",
|
|
@@ -218,7 +240,7 @@ const t = {
|
|
|
218
240
|
}
|
|
219
241
|
}
|
|
220
242
|
},
|
|
221
|
-
supportedFor: (e,
|
|
243
|
+
supportedFor: (e, a) => l(e) && (a === void 0 || l(a))
|
|
222
244
|
},
|
|
223
245
|
greaterThanColumnOrEqual: {
|
|
224
246
|
label: "Col₁ ≥ Col₂ (Compare Columns)",
|
|
@@ -247,7 +269,7 @@ const t = {
|
|
|
247
269
|
}
|
|
248
270
|
}
|
|
249
271
|
},
|
|
250
|
-
supportedFor: (e,
|
|
272
|
+
supportedFor: (e, a) => l(e) && (a === void 0 || l(a))
|
|
251
273
|
},
|
|
252
274
|
// Ordering filters
|
|
253
275
|
topN: {
|
|
@@ -270,7 +292,7 @@ const t = {
|
|
|
270
292
|
defaultValue: () => 10
|
|
271
293
|
}
|
|
272
294
|
},
|
|
273
|
-
supportedFor:
|
|
295
|
+
supportedFor: l
|
|
274
296
|
},
|
|
275
297
|
bottomN: {
|
|
276
298
|
label: "Bottom N",
|
|
@@ -292,7 +314,7 @@ const t = {
|
|
|
292
314
|
defaultValue: () => 10
|
|
293
315
|
}
|
|
294
316
|
},
|
|
295
|
-
supportedFor:
|
|
317
|
+
supportedFor: l
|
|
296
318
|
},
|
|
297
319
|
patternContainSubsequence: {
|
|
298
320
|
label: "Col ~ Seq (Contain Subsequence)",
|
|
@@ -464,25 +486,113 @@ const t = {
|
|
|
464
486
|
}
|
|
465
487
|
},
|
|
466
488
|
supportedFor: () => !1
|
|
489
|
+
},
|
|
490
|
+
patternMatchesRegularExpression: {
|
|
491
|
+
label: "Col ~ X (Matches Regular Expression)",
|
|
492
|
+
form: {
|
|
493
|
+
column: {
|
|
494
|
+
label: "Column",
|
|
495
|
+
fieldType: "SUniversalPColumnId",
|
|
496
|
+
defaultValue: () => {
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
type: {
|
|
500
|
+
label: "Predicate",
|
|
501
|
+
fieldType: "FilterType",
|
|
502
|
+
defaultValue: () => "patternMatchesRegularExpression"
|
|
503
|
+
},
|
|
504
|
+
value: {
|
|
505
|
+
label: "Seq",
|
|
506
|
+
fieldType: "string",
|
|
507
|
+
defaultValue: () => ""
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
supportedFor: u
|
|
511
|
+
},
|
|
512
|
+
patternFuzzyContainSubsequence: {
|
|
513
|
+
label: "Col ~ Seq (Fuzzy Contain Subsequence)",
|
|
514
|
+
form: {
|
|
515
|
+
column: {
|
|
516
|
+
label: "Column",
|
|
517
|
+
fieldType: "SUniversalPColumnId",
|
|
518
|
+
defaultValue: () => {
|
|
519
|
+
}
|
|
520
|
+
},
|
|
521
|
+
type: {
|
|
522
|
+
label: "Predicate",
|
|
523
|
+
fieldType: "FilterType",
|
|
524
|
+
defaultValue: () => "patternFuzzyContainSubsequence"
|
|
525
|
+
},
|
|
526
|
+
value: {
|
|
527
|
+
label: "Set",
|
|
528
|
+
fieldType: "string",
|
|
529
|
+
defaultValue: () => ""
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
supportedFor: u
|
|
533
|
+
},
|
|
534
|
+
inSet: {
|
|
535
|
+
label: "Col ∈ Set (In Set)",
|
|
536
|
+
form: {
|
|
537
|
+
column: {
|
|
538
|
+
label: "Column",
|
|
539
|
+
fieldType: "SUniversalPColumnId",
|
|
540
|
+
defaultValue: () => {
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
type: {
|
|
544
|
+
label: "Predicate",
|
|
545
|
+
fieldType: "FilterType",
|
|
546
|
+
defaultValue: () => "inSet"
|
|
547
|
+
},
|
|
548
|
+
value: {
|
|
549
|
+
fieldType: "unknown[]",
|
|
550
|
+
label: "Set",
|
|
551
|
+
defaultValue: () => []
|
|
552
|
+
}
|
|
553
|
+
},
|
|
554
|
+
supportedFor: u
|
|
555
|
+
},
|
|
556
|
+
notInSet: {
|
|
557
|
+
label: "Col ∉ Set (Not In Set)",
|
|
558
|
+
form: {
|
|
559
|
+
column: {
|
|
560
|
+
label: "Column",
|
|
561
|
+
fieldType: "SUniversalPColumnId",
|
|
562
|
+
defaultValue: () => {
|
|
563
|
+
}
|
|
564
|
+
},
|
|
565
|
+
type: {
|
|
566
|
+
label: "Predicate",
|
|
567
|
+
fieldType: "FilterType",
|
|
568
|
+
defaultValue: () => "notInSet"
|
|
569
|
+
},
|
|
570
|
+
value: {
|
|
571
|
+
label: "Seq",
|
|
572
|
+
fieldType: "unknown[]",
|
|
573
|
+
defaultValue: () => []
|
|
574
|
+
}
|
|
575
|
+
},
|
|
576
|
+
supportedFor: u
|
|
467
577
|
}
|
|
468
578
|
};
|
|
469
579
|
function r(e) {
|
|
470
|
-
return e ? Object.entries(
|
|
471
|
-
label:
|
|
472
|
-
value:
|
|
580
|
+
return e ? Object.entries(o).filter(([a, t]) => t.supportedFor(e)).map(([a, t]) => ({
|
|
581
|
+
label: t.label,
|
|
582
|
+
value: a
|
|
473
583
|
})) : [];
|
|
474
584
|
}
|
|
475
585
|
function d(e) {
|
|
476
|
-
return
|
|
586
|
+
return o[e];
|
|
477
587
|
}
|
|
478
|
-
function
|
|
588
|
+
function l(e) {
|
|
479
589
|
return e.valueType === "Int" || e.valueType === "Long" || e.valueType === "Float" || e.valueType === "Double";
|
|
480
590
|
}
|
|
481
591
|
function u(e) {
|
|
482
592
|
return e.valueType === "String";
|
|
483
593
|
}
|
|
484
594
|
export {
|
|
485
|
-
|
|
595
|
+
o as filterUiMetadata,
|
|
486
596
|
d as getFilterUiMetadata,
|
|
487
597
|
r as getFilterUiTypeOptions
|
|
488
598
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sources":["../../../src/composition/filters/metadata.ts"],"sourcesContent":["import type { FilterSpecType, SimplifiedPColumnSpec } from '@platforma-sdk/model';\nimport type { FilterSpecMetadataRecord } from './types';\n\nexport const filterUiMetadata = {\n equal: {\n label: 'Col = X (Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'equal',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThan: {\n label: 'Col < X (Less Than)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThan',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThan: {\n label: 'Col > X (Greater Than)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThan',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThanOrEqual: {\n label: 'Col ≤ X (Less Than or Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThanOrEqual',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThanOrEqual: {\n label: 'Col ≥ X (Greater Than or Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThanOrEqual',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n // Columns comparison\n equalToColumn: {\n label: 'Col₁ = Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'equalToColumn',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumn: {\n label: 'Col₁ < Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThanColumn',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumn: {\n label: 'Col₁ > Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThanColumn',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumnOrEqual: {\n label: 'Col₁ ≤ Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThanColumnOrEqual',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumnOrEqual: {\n label: 'Col₁ ≥ Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThanColumnOrEqual',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n // Ordering filters\n topN: {\n label: 'Top N',\n form: {\n column: {\n label: 'Rank By Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'topN',\n },\n n: {\n label: 'N',\n fieldType: 'number',\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n bottomN: {\n label: 'Bottom N',\n form: {\n column: {\n label: 'Rank By Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'bottomN',\n },\n n: {\n label: 'N',\n fieldType: 'number',\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n patternContainSubsequence: {\n label: 'Col ~ Seq (Contain Subsequence)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternContainSubsequence',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotContainSubsequence: {\n label: 'Col ≁ Seq (Not Contain Subsequence)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternNotContainSubsequence',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n patternEquals: {\n label: 'Col = Seq (Equals)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternEquals',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotEquals: {\n label: 'Col ≠ Seq (Not Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternNotEquals',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n isNA: {\n label: 'Is NA',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'isNA',\n },\n },\n supportedFor: () => true,\n },\n isNotNA: {\n label: 'Is Not NA',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'isNotNA',\n },\n },\n supportedFor: () => true,\n },\n or: {\n label: 'Or',\n form: {\n type: {\n fieldType: 'FilterType',\n label: 'Predicate',\n defaultValue: () => 'or',\n },\n filters: {\n fieldType: 'unknown[]',\n label: 'Filters',\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n and: {\n label: 'And',\n form: {\n type: {\n fieldType: 'FilterType',\n label: 'Predicate',\n defaultValue: () => 'and',\n },\n filters: {\n fieldType: 'unknown[]',\n label: 'Filters',\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n not: {\n label: 'Not',\n form: {\n type: {\n fieldType: 'FilterType',\n label: 'Predicate',\n defaultValue: () => 'not',\n },\n filter: {\n fieldType: 'form',\n label: 'Filter',\n defaultValue: () => undefined,\n },\n },\n supportedFor: () => false,\n },\n} satisfies FilterSpecMetadataRecord<FilterSpecType>;\n\nexport function getFilterUiTypeOptions(columnSpec?: SimplifiedPColumnSpec) {\n if (!columnSpec) {\n return [];\n }\n\n return Object.entries(filterUiMetadata).filter(([_, metadata]) => metadata.supportedFor(columnSpec)).map(([type, metadata]) => ({\n label: metadata.label,\n value: type,\n }));\n}\n\nexport function getFilterUiMetadata(type: FilterSpecType) {\n return filterUiMetadata[type];\n}\n\nfunction isNumericValueType(spec: SimplifiedPColumnSpec): boolean {\n return spec.valueType === 'Int' || spec.valueType === 'Long' || spec.valueType === 'Float' || spec.valueType === 'Double';\n}\n\nfunction isStringValueType(spec: SimplifiedPColumnSpec): boolean {\n return spec.valueType === 'String';\n}\n"],"names":["filterUiMetadata","isNumericValueType","spec1","spec2","isStringValueType","getFilterUiTypeOptions","columnSpec","_","metadata","type","getFilterUiMetadata","spec"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metadata.js","sources":["../../../src/composition/filters/metadata.ts"],"sourcesContent":["import type { FilterSpecType, SimplifiedPColumnSpec } from '@platforma-sdk/model';\nimport type { FilterSpecMetadataRecord } from './types';\n\nexport const filterUiMetadata = {\n equal: {\n label: 'Col = X (Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'equal',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n notEqual: {\n label: 'Col ≠ X (Not Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'notEqual',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThan: {\n label: 'Col < X (Less Than)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThan',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThan: {\n label: 'Col > X (Greater Than)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThan',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThanOrEqual: {\n label: 'Col ≤ X (Less Than or Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThanOrEqual',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThanOrEqual: {\n label: 'Col ≥ X (Greater Than or Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThanOrEqual',\n },\n x: {\n label: 'X',\n fieldType: 'number',\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n // Columns comparison\n equalToColumn: {\n label: 'Col₁ = Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'equalToColumn',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumn: {\n label: 'Col₁ < Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThanColumn',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumn: {\n label: 'Col₁ > Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThanColumn',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumnOrEqual: {\n label: 'Col₁ ≤ Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'lessThanColumnOrEqual',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumnOrEqual: {\n label: 'Col₁ ≥ Col₂ (Compare Columns)',\n form: {\n column: {\n label: 'Col₁',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'greaterThanColumnOrEqual',\n },\n rhs: {\n label: 'Col₂',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n minDiff: {\n label: 'Margin (positive)',\n fieldType: 'number?',\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n // Ordering filters\n topN: {\n label: 'Top N',\n form: {\n column: {\n label: 'Rank By Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'topN',\n },\n n: {\n label: 'N',\n fieldType: 'number',\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n bottomN: {\n label: 'Bottom N',\n form: {\n column: {\n label: 'Rank By Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'bottomN',\n },\n n: {\n label: 'N',\n fieldType: 'number',\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n patternContainSubsequence: {\n label: 'Col ~ Seq (Contain Subsequence)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternContainSubsequence',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotContainSubsequence: {\n label: 'Col ≁ Seq (Not Contain Subsequence)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternNotContainSubsequence',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n patternEquals: {\n label: 'Col = Seq (Equals)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternEquals',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotEquals: {\n label: 'Col ≠ Seq (Not Equal)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternNotEquals',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n isNA: {\n label: 'Is NA',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'isNA',\n },\n },\n supportedFor: () => true,\n },\n isNotNA: {\n label: 'Is Not NA',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'isNotNA',\n },\n },\n supportedFor: () => true,\n },\n or: {\n label: 'Or',\n form: {\n type: {\n fieldType: 'FilterType',\n label: 'Predicate',\n defaultValue: () => 'or',\n },\n filters: {\n fieldType: 'unknown[]',\n label: 'Filters',\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n and: {\n label: 'And',\n form: {\n type: {\n fieldType: 'FilterType',\n label: 'Predicate',\n defaultValue: () => 'and',\n },\n filters: {\n fieldType: 'unknown[]',\n label: 'Filters',\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n not: {\n label: 'Not',\n form: {\n type: {\n fieldType: 'FilterType',\n label: 'Predicate',\n defaultValue: () => 'not',\n },\n filter: {\n fieldType: 'form',\n label: 'Filter',\n defaultValue: () => undefined,\n },\n },\n supportedFor: () => false,\n },\n patternMatchesRegularExpression: {\n label: 'Col ~ X (Matches Regular Expression)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternMatchesRegularExpression',\n },\n value: {\n label: 'Seq',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n patternFuzzyContainSubsequence: {\n label: 'Col ~ Seq (Fuzzy Contain Subsequence)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'patternFuzzyContainSubsequence',\n },\n value: {\n label: 'Set',\n fieldType: 'string',\n defaultValue: () => '',\n },\n },\n supportedFor: isStringValueType,\n },\n inSet: {\n label: 'Col ∈ Set (In Set)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'inSet',\n },\n value: {\n fieldType: 'unknown[]',\n label: 'Set',\n defaultValue: () => [],\n },\n },\n supportedFor: isStringValueType,\n },\n notInSet: {\n label: 'Col ∉ Set (Not In Set)',\n form: {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => 'notInSet',\n },\n value: {\n label: 'Seq',\n fieldType: 'unknown[]',\n defaultValue: () => [],\n },\n },\n supportedFor: isStringValueType,\n },\n} satisfies FilterSpecMetadataRecord<FilterSpecType>;\n\nexport function getFilterUiTypeOptions(columnSpec?: SimplifiedPColumnSpec) {\n if (!columnSpec) {\n return [];\n }\n\n return Object.entries(filterUiMetadata).filter(([_, metadata]) => metadata.supportedFor(columnSpec)).map(([type, metadata]) => ({\n label: metadata.label,\n value: type,\n }));\n}\n\nexport function getFilterUiMetadata(type: FilterSpecType) {\n return filterUiMetadata[type];\n}\n\nfunction isNumericValueType(spec: SimplifiedPColumnSpec): boolean {\n return spec.valueType === 'Int' || spec.valueType === 'Long' || spec.valueType === 'Float' || spec.valueType === 'Double';\n}\n\nfunction isStringValueType(spec: SimplifiedPColumnSpec): boolean {\n return spec.valueType === 'String';\n}\n"],"names":["filterUiMetadata","isNumericValueType","spec1","spec2","isStringValueType","getFilterUiTypeOptions","columnSpec","_","metadata","type","getFilterUiMetadata","spec"],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
2
|
+
groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
|
|
3
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
4
|
+
groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
|
|
5
|
+
}> & Readonly<{}>, {
|
|
6
|
+
groupPosition: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
|
|
7
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
2
8
|
default?(_: {}): any;
|
|
3
9
|
}>;
|
|
4
10
|
export default _default;
|