Snippets

Роман Торощин 54nrE: Untitled snippet

Created by Роман Торощин last modified

Основные типы полей

Переключатель (boolean)

{
    name: "is_new",
    type: "boolean",
    label: "Новостройка",
    required: "true|false", // Обязательно к заполнению
    hidden: "true|false", // Скрытое поле   
    options: {}
}

Селектбокс

{
    name: "realty_market",
    type: "select",
    label: "Рынок",
    required: "true|false", // Обязательно к заполнению
    hidden: "true|false", // Скрытое поле   
    values: [
        { label: "Новостройка", value: 1 },
        { label: "Вторичка", value: 2 }
    ],
    options: {      
        type: "radio|checkbox"
    }
}

Мультиселект

{
    name: "flat_parameters",
    type: "checkbox",
    label: "Параметры квартиры",
    required: "true|false", // Обязательно к заполнению
    hidden: "true|false", // Скрытое поле
    values: [
        { label: "Отделочные работы", value: 1 },
        { label: "Ремонт полов", value: 2 }
    ],
    options: {
        type: "radio|checkbox"
    }
}

Строковый инпут

{   
    name: "rooms",
    type: "text",
    label: "",
    required: "true|false", // Обязательно к заполнению
    hidden: "true|false", // Скрытое поле
    mask: '/[A-Za-z0-9]+/',
}

Числовой инпут

{
    name: "parameters",
    type: "number",
    label: "Параметры",
    required: "true|false",// Обязательно к заполнению
    hidden: "true|false", // Скрытое поле
    min: 1
    max: 15,
    toFixed: 0 // Количество знаков после запятой, по умолчанию 0 (целое)   
}

Дата/Время

{
    name: "created_at",
    type: "datetime",
    label: "Параметры",
    required: "true|false",// Обязательно к заполнению
    hidden: "true|false", // Скрытое поле
    format: "d.m.Y H:i:s", // php format    
}

Виджеты (группы полей)

Виджет - группа полей со своим набором параметров, способа отображени и правил валидации.

Поле с единицами измерений

{
    widget: "unitable",
    label: "Площадь",   
    options: {
        field: { name: "area", type: "number", required: true },
        unit: "SQ_M" // кв. метр
    }
}

Адрес

{   
    widget: "address"
    label: "Адрес",
    options: {
        fields: [
            { name: "address", type: "text", required: true },
            { name: "metro_name", type: "text", hidden: true },
            { name: "metro_lat", type: "text", hidden: true },
            { name: "metro_lon", type: "text", hidden: true }
        ]
    }
}

Выбор периода

{       
    widget: "period",
    label: "Период",    
    options: {
        fields: [
            { name: "start_date", type: "datetime", format: "d.m.Y", required: true },
            { name: "end_date", type: "datetime", format: "d.m.Y", required: true }
        ]
    }
}

Выбор этажности дома

{   
    widget: "realty_floor",
    label: "Этаж",
    options: {
        fields: [
            { name: "floor", type: "number", label: "Этаж" },
            { name: "max_floor", type: "number", label: "Этажность" },
        ]
    }
}

Comments (1)

  1. Роман Торощин

    Можно использовать термин component вместо widget

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.