12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- 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.find((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
- );
- }
|