123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { ref, computed } from 'vue';
- import '../../../utils/index.mjs';
- import { debugWarn } from '../../../utils/error.mjs';
- import { castArray } from 'lodash-unified';
- const SCOPE = "ElForm";
- function useFormLabelWidth() {
- const potentialLabelWidthArr = ref([]);
- const autoLabelWidth = computed(() => {
- if (!potentialLabelWidthArr.value.length)
- return "0";
- const max = Math.max(...potentialLabelWidthArr.value);
- return max ? `${max}px` : "";
- });
- function getLabelWidthIndex(width) {
- const index = potentialLabelWidthArr.value.indexOf(width);
- if (index === -1 && autoLabelWidth.value === "0") {
- debugWarn(SCOPE, `unexpected width ${width}`);
- }
- return index;
- }
- function registerLabelWidth(val, oldVal) {
- if (val && oldVal) {
- const index = getLabelWidthIndex(oldVal);
- potentialLabelWidthArr.value.splice(index, 1, val);
- } else if (val) {
- potentialLabelWidthArr.value.push(val);
- }
- }
- function deregisterLabelWidth(val) {
- const index = getLabelWidthIndex(val);
- if (index > -1) {
- potentialLabelWidthArr.value.splice(index, 1);
- }
- }
- return {
- autoLabelWidth,
- registerLabelWidth,
- deregisterLabelWidth
- };
- }
- const filterFields = (fields, props) => {
- const normalized = castArray(props);
- return normalized.length > 0 ? fields.filter((field) => field.prop && normalized.includes(field.prop)) : fields;
- };
- export { filterFields, useFormLabelWidth };
- //# sourceMappingURL=utils.mjs.map
|