UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.53 kB
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/form/src/utils.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { debugWarn, ensureArray, isArray } from '@element-plus/utils'\n\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemContext } from './types'\nimport type { FormItemProp } from './form-item'\n\nconst SCOPE = 'ElForm'\n\nexport function useFormLabelWidth() {\n const potentialLabelWidthArr = ref<number[]>([])\n\n const autoLabelWidth = computed(() => {\n if (!potentialLabelWidthArr.value.length) return '0'\n const max = Math.max(...potentialLabelWidthArr.value)\n return max ? `${max}px` : ''\n })\n\n function getLabelWidthIndex(width: number) {\n const index = potentialLabelWidthArr.value.indexOf(width)\n if (index === -1 && autoLabelWidth.value === '0') {\n debugWarn(SCOPE, `unexpected width ${width}`)\n }\n return index\n }\n\n function registerLabelWidth(val: number, oldVal: number) {\n if (val && oldVal) {\n const index = getLabelWidthIndex(oldVal)\n potentialLabelWidthArr.value.splice(index, 1, val)\n } else if (val) {\n potentialLabelWidthArr.value.push(val)\n }\n }\n\n function deregisterLabelWidth(val: number) {\n const index = getLabelWidthIndex(val)\n if (index > -1) {\n potentialLabelWidthArr.value.splice(index, 1)\n }\n }\n\n return {\n autoLabelWidth,\n registerLabelWidth,\n deregisterLabelWidth,\n }\n}\n\nexport const filterFields = (\n fields: FormItemContext[],\n props: Arrayable<FormItemProp>\n) => {\n const normalized = ensureArray(props).map((prop) =>\n isArray(prop) ? prop.join('.') : prop\n )\n return normalized.length > 0\n ? fields.filter(\n (field) => field.propString && normalized.includes(field.propString)\n )\n : fields\n}\n"],"names":["ensureArray"],"mappings":";;;;;AAOA,MAAM,KAAQ,GAAA,QAAA,CAAA;AAEP,SAAS,iBAAoB,GAAA;AAClC,EAAM,MAAA,sBAAA,GAAyB,GAAc,CAAA,EAAE,CAAA,CAAA;AAE/C,EAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,IAAI,IAAA,CAAC,uBAAuB,KAAM,CAAA,MAAA;AAAQ,MAAO,OAAA,GAAA,CAAA;AACjD,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,GAAG,uBAAuB,KAAK,CAAA,CAAA;AACpD,IAAO,OAAA,GAAA,GAAM,GAAG,GAAU,CAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AAAA,GAC3B,CAAA,CAAA;AAED,EAAA,SAAS,mBAAmB,KAAe,EAAA;AACzC,IAAA,MAAM,KAAQ,GAAA,sBAAA,CAAuB,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AACxD,IAAA,IAAI,KAAU,KAAA,CAAA,CAAA,IAAM,cAAe,CAAA,KAAA,KAAU,GAAK,EAAA;AAChD,MAAU,SAAA,CAAA,KAAA,EAAO,oBAAoB,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,KAC9C;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAEA,EAAS,SAAA,kBAAA,CAAmB,KAAa,MAAgB,EAAA;AACvD,IAAA,IAAI,OAAO,MAAQ,EAAA;AACjB,MAAM,MAAA,KAAA,GAAQ,mBAAmB,MAAM,CAAA,CAAA;AACvC,MAAA,sBAAA,CAAuB,KAAM,CAAA,MAAA,CAAO,KAAO,EAAA,CAAA,EAAG,GAAG,CAAA,CAAA;AAAA,eACxC,GAAK,EAAA;AACd,MAAuB,sBAAA,CAAA,KAAA,CAAM,KAAK,GAAG,CAAA,CAAA;AAAA,KACvC;AAAA,GACF;AAEA,EAAA,SAAS,qBAAqB,GAAa,EAAA;AACzC,IAAM,MAAA,KAAA,GAAQ,mBAAmB,GAAG,CAAA,CAAA;AACpC,IAAA,IAAI,QAAQ,CAAI,CAAA,EAAA;AACd,MAAuB,sBAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAAA,KAC9C;AAAA,GACF;AAEA,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,kBAAA;AAAA,IACA,oBAAA;AAAA,GACF,CAAA;AACF,CAAA;AAEa,MAAA,YAAA,GAAe,CAC1B,MAAA,EACA,KACG,KAAA;AACH,EAAM,MAAA,UAAA,GAAaA,SAAY,CAAA,KAAK,CAAE,CAAA,GAAA;AAAA,IAAI,CAAC,SACzC,OAAQ,CAAA,IAAI,IAAI,IAAK,CAAA,IAAA,CAAK,GAAG,CAAI,GAAA,IAAA;AAAA,GACnC,CAAA;AACA,EAAO,OAAA,UAAA,CAAW,MAAS,GAAA,CAAA,GACvB,MAAO,CAAA,MAAA;AAAA,IACL,CAAC,KAAU,KAAA,KAAA,CAAM,cAAc,UAAW,CAAA,QAAA,CAAS,MAAM,UAAU,CAAA;AAAA,GAErE,GAAA,MAAA,CAAA;AACN;;;;"}