first commit
This commit is contained in:
97
node_modules/vant/lib/picker/utils.js
generated
vendored
Normal file
97
node_modules/vant/lib/picker/utils.js
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name2 in all)
|
||||
__defProp(target, name2, { get: all[name2], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var stdin_exports = {};
|
||||
__export(stdin_exports, {
|
||||
assignDefaultFields: () => assignDefaultFields,
|
||||
bem: () => bem,
|
||||
findIndexOfEnabledOption: () => findIndexOfEnabledOption,
|
||||
findOptionByValue: () => findOptionByValue,
|
||||
formatCascadeColumns: () => formatCascadeColumns,
|
||||
getColumnsType: () => getColumnsType,
|
||||
getElementTranslateY: () => getElementTranslateY,
|
||||
getFirstEnabledOption: () => getFirstEnabledOption,
|
||||
isOptionExist: () => isOptionExist,
|
||||
name: () => name,
|
||||
t: () => t
|
||||
});
|
||||
module.exports = __toCommonJS(stdin_exports);
|
||||
var import_utils = require("../utils");
|
||||
const [name, bem, t] = (0, import_utils.createNamespace)("picker");
|
||||
const getFirstEnabledOption = (options) => options.find((option) => !option.disabled) || options[0];
|
||||
function getColumnsType(columns, fields) {
|
||||
const firstColumn = columns[0];
|
||||
if (firstColumn) {
|
||||
if (Array.isArray(firstColumn)) {
|
||||
return "multiple";
|
||||
}
|
||||
if (fields.children in firstColumn) {
|
||||
return "cascade";
|
||||
}
|
||||
}
|
||||
return "default";
|
||||
}
|
||||
function findIndexOfEnabledOption(options, index) {
|
||||
index = (0, import_utils.clamp)(index, 0, options.length);
|
||||
for (let i = index; i < options.length; i++) {
|
||||
if (!options[i].disabled) return i;
|
||||
}
|
||||
for (let i = index - 1; i >= 0; i--) {
|
||||
if (!options[i].disabled) return i;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
const isOptionExist = (options, value, fields) => value !== void 0 && options.some((option) => option[fields.value] === value);
|
||||
function findOptionByValue(options, value, fields) {
|
||||
const index = options.findIndex((option) => option[fields.value] === value);
|
||||
const enabledIndex = findIndexOfEnabledOption(options, index);
|
||||
return options[enabledIndex];
|
||||
}
|
||||
function formatCascadeColumns(columns, fields, selectedValues) {
|
||||
const formatted = [];
|
||||
let cursor = {
|
||||
[fields.children]: columns
|
||||
};
|
||||
let columnIndex = 0;
|
||||
while (cursor && cursor[fields.children]) {
|
||||
const options = cursor[fields.children];
|
||||
const value = selectedValues.value[columnIndex];
|
||||
cursor = (0, import_utils.isDef)(value) ? findOptionByValue(options, value, fields) : void 0;
|
||||
if (!cursor && options.length) {
|
||||
const firstValue = getFirstEnabledOption(options)[fields.value];
|
||||
cursor = findOptionByValue(options, firstValue, fields);
|
||||
}
|
||||
columnIndex++;
|
||||
formatted.push(options);
|
||||
}
|
||||
return formatted;
|
||||
}
|
||||
function getElementTranslateY(element) {
|
||||
const { transform } = window.getComputedStyle(element);
|
||||
const translateY = transform.slice(7, transform.length - 1).split(", ")[5];
|
||||
return Number(translateY);
|
||||
}
|
||||
function assignDefaultFields(fields) {
|
||||
return (0, import_utils.extend)(
|
||||
{
|
||||
text: "text",
|
||||
value: "value",
|
||||
children: "children"
|
||||
},
|
||||
fields
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user