META UI Components
    Preparing search index...

    Interface IMeTable

    Основной и единственный элемент для вывода таблиц и редактируемых таблиц @lego_elem

    interface IMeTable {
        align?: string;
        analyzable?: boolean;
        attrs?: IMeTableAttrs;
        bindAttrs?: IMeElemBindAttrs[];
        calculator?: IMeElemCalculatorInfo;
        cells: any[];
        changeState?: any;
        cssClass?: string;
        cssFormClass?: string;
        defaultValue?: any;
        depends?: string[];
        elemClassName?: string;
        elems?: IMeElem<any>[];
        entityId?: string;
        eraseValue?: boolean;
        errors?: IMeElemError[];
        exist?: string | IMeElemExistSetting;
        exportable?: boolean;
        exportLabel?: string;
        filterable?: boolean;
        formHorizontal?: boolean;
        help?: string;
        hideApplyButton?: boolean;
        i18n?: { string: string };
        icon?: string;
        id?: string;
        inlineForm?: boolean;
        label?: string;
        listen?: IMeElemListenItem[];
        liveReload?: boolean;
        mapAttrs?: IMeOfficeMapAttrs;
        maxMenuHeight?: number;
        name?: string;
        offset?: number;
        onLoadOptionsCallback?: Function;
        order?: number;
        persistValueView?: boolean;
        refData?: any;
        refPvmData?: string | IRefPvmValues;
        refPvmValidator?: string | IRefPvmValues;
        selectedValueView?: any;
        selfDepends?: boolean;
        selfDependsSettings?: any;
        selfDependsSettingsLoaded?: any;
        span?: number;
        styles?: any;
        submitRefPvmValidator?: string | IRefPvmValues;
        tooltip?: ITooltip;
        updateElemAttrsFromOptions?: boolean;
        valid?: boolean;
        validateInProgress?: boolean;
        value?: string;
        visible?: string;
    }

    Hierarchy (View Summary)

    Index

    Properties

    align?: string

    Позиционирование элемента в ячейке серки

    "left"
    
    analyzable?: boolean

    Будет ли работать бежим "Анализ данных" на таблице

    Зависят от типа элемента

    bindAttrs?: IMeElemBindAttrs[]

    Когда нужно подписаться на изменение данные в pvm и заполнять какие-то поля элемента Например, менять elems в me-lego динамически или запонять me-input[type=text] расчетным значением

    Атрибут calculator позволяет указать отношеня контролов между собой в виде формул. Они могут находятся на разных уровнях lego

    cells: any[]
    changeState?: any
    cssClass?: string

    Класс для кнопки (me-submit)

    cssFormClass?: string

    Класс колонки, нужно для выравнивания элементов.

    defaultValue?: any

    Значение элемента по умолчанию Для некоторых элементов

    depends?: string[]

    Указываться от корневого me-lego вставленного через html. Работает только когда у элемента есть параметр refPvmData и refPvmData с depends и зависимость еще не загружена. Также есть возможность делать зависимости от текущего уровня иерархии, это удобно, когда неизвестна родительская вложенность. Например, когда у вас одна и та же динамическая форма подгружается в разных местах приложения на разном уровне вложенности или даже в me-lego-list иногда

    Зависимости от других элементов. При изменении зависимых элементов, при условии, что заполнены все значения из depends делается автоматический переапрос refPvmData и depends будут переданы в env.sp как {key: value}

    Для зависимостей me-lego-list в одной строке используется нотация с [], например filled[].orgId, где filled - шв me-lego-list, orgId - id элемента

    Например: [ "filled[].orgId as orgId" ] - переименовать для env.sp. Придет как env.sp.orgId Например: [ "mode", "clientId" ] - Придет как env.sp.mode, env.sp.clientId Например: [ "@.subOrgId42 as orgId" ] - Для ссылки на текущую вложенность, например при динамической загрузки формы Например: [ "@:-1.orgId as orgId" ] - Для ссылки на один уровень наверх от предыдущей вложенности. Вместо -1 может быть -2, -3 и т.д.

    https://apps.devision.io/page?p=4329&a=35
    
    https://apps.devision.io/page?p=3597&a=35
    
    elemClassName?: string

    Нужен для стича, чтобы могли стилизовать отдельные елементы в MeLegoItem

    elems?: IMeElem<any>[]
    entityId?: string

    Meta EntityId Для некоторых элементов, напрмиер [[IMeInput]], [[IMeTable]]

    eraseValue?: boolean

    Удалять выбранные значения зависимого элемента из скоупа данных если элемент будет скрыт?

    false
    
    errors?: IMeElemError[]

    Список ошибок элемента пока только валидации, но определенно все ошибки будут тут

    exist?: string | IMeElemExistSetting

    AngularJs expression от рута vm страницы. Обратите внимание, что пути абсотюлтные, в отличие от "depends" в элементах Расчет идет на стороне браузера Например: 'editGroup.card.name == "exist" || editGroup.card.name == "exist23"' Для me-lego-list можно использовать нотацию [] для получения доступа в элементу списка, Например: env.sp.obj.filled[].deadline_enabled === true, где filled - id me-lego-list

    Важно! Если вам надо ставить два условия используйте indexOf Например: ["goal_completions", "visit"].indexOf(env.sp.obj.metric_elem[].kpi_indicator) > -1

    Если вдруг не работает, возможно надо использовать двойное отрицание "!!", чтобы получить bool из переменной любого типа. Например !pvm.data.mylist.row[0].user - будет "не user в первой строке" Например !!pvm.data.mylist.row[0].user - будет "есть user в первой строке и это не null, не пустота и не 0" Т.е. прямо как это работает в конструкции if в языках javascript, python, php

    Условия типа такого: env.sp.obj.metric_elem[].kpi_indicator == "visit" || env.sp.obj.metric_elem[].kpi_indicator == "goal_completions" где дважды используется [] не будут работать из-за внутренней реализации

    Так же сущетсвует возможность как в depends указывать относительные пути: Например: [ "@.orgId != 42" ] - Для ссылки на текущую вложенность, например при динамической загрузки формы

    https://apps.devision.io/page?p=3570&a=35
    
    https://apps.devision.io/page?p=4329&a=35
    
    exportable?: boolean

    Можно ли экспортировать таблицу

    exportLabel?: string
    filterable?: boolean

    Тех. настройка для автофильторв Только для разработчиков

    formHorizontal?: boolean

    Если элемента поддерживает, вывести его в стиле формы ключ, значение. Чтобы заголовок был на уровне элемента

    help?: string

    Доп информация, рисуется под label или под элементом. Зависит от типа элемента

    hideApplyButton?: boolean

    Скрывает кнопку применения в модальном окне

    i18n?: { string: string }

    MeElem property internationalization (for label and help for example). Key of i18m map is elem property name, value is message key of i18n file

    icon?: string

    Иконка Font Awesome Например fa-bicycle

    id?: string

    ID данных элемента Будет доступно в env.sp.{ID} или как вложенная структура, если это [[IMeElemContainer]]

    inlineForm?: boolean

    Нужно ли отрисовывать элемент без сетки в виде inlineForm (bootstrap)

    label?: string

    Заголовок элемента Обычно над элементом, на некоторых не рисуется вообще

    Подписка на изменения объектов. Пока работает только для изменений вызваных в модальном окне Например у вас таблица со списоком аккуантов и в "+ Аккаунт" вы можете добавить или привязать аккаунт, а после сохранения в модальном окне, родительская таблциа должна пересчитаться

    Напрмиер: [{"code": ["ADD", "REMOVE"], "reload":{},"entityId": 2782 }]

    liveReload?: boolean

    Отправляет страницу на пересчет

    maxMenuHeight?: number

    Через это свойство мы можем контролировать длину выпадающего меню. В компоненте MeInputSelect у Select есть свойство maxMenuHeight. Это свойство определяет максимальную высоту меню. Иногда список выпадающего меню некрасиво обрезается нижним краем модалки (страница https://apps.devision.io/page?p=3203&a=58, Select под названием "Поиск аккаунтов") и чтобы это не происходил мы можем увеличить длину выпадающего меню.

    name?: string

    Название элемента Например: me-lego, me-input

    offset?: number

    Отстут по сетке справа от 0 до12

    onLoadOptionsCallback?: Function
    order?: number

    Прзиция элемента в сетке, чем меньше значение, тем элемент выше и левее

    persistValueView?: boolean

    Блок обрабатывает вписывание в элемент текущего выбранного пункта в поле selectedValueView, чтобы можно быьт делать, label + name в скрытом режиме

    refData?: any

    Техническое поле. Имя связанных данных

    refPvmData?: string | IRefPvmValues

    Инструкции по получению данных для [[IMeInputAttrs.options]] или таблицы

    https://apps.devision.io/page?p=3570&a=35
    
    https://apps.devision.io/page?p=3597&a=35
    
    refPvmValidator?: string | IRefPvmValues

    Пользовательская валидация

    https://apps.devision.io/page?p=3443&a=35
    
    selectedValueView?: any

    Текстовое представление выбранного значения

    selfDepends?: boolean

    Зависимость от себя самого, нужно для editable [[IMeTable]] и прототип для поиска [[IMeInputAttrs.options]] в me-input для частичной подгрузки данных

    selfDependsSettings?: any
    selfDependsSettingsLoaded?: any
    span?: number

    Размер по сетке справа от 0 до12

    styles?: any

    Произвольные стили, применяемые к элементу Представляет из себя хешмап, где ключи - целевой блок, а значения - React.CSSProperties Стандартные ключи: meLegoItem meLogo meLegoContainer Остальные ключи зависят от реализации каждого элемента отдельно Например, для me-div создан ключ div - стили, применяемые к самому div

    submitRefPvmValidator?: string | IRefPvmValues

    Валидатор, который должен быть вызван перед сабмитом формы Структура и содержимое такое же, как у refPvmValidator

    tooltip?: ITooltip

    Стандартный Meta-tooltip

    updateElemAttrsFromOptions?: boolean

    Запишет пересчитанные значения атрибутов в зависимый контрол me-input. Это сработает только при наличии depends и refPvmData у элемента.

    valid?: boolean

    Элемент валидный

    validateInProgress?: boolean

    Принимает значение true на момент асинхронной валидации

    value?: string

    для некоторых элементов

    visible?: string

    AngularJs expression от корня vm страницы. Обратите внимание, что пути абсолютные, в отличие от "depends" в элементах Расчет идет на стороне браузера Например: 'editGroup.card.name == "visible"'

    https://apps.devision.io/page?p=3570&a=35