META
Справочник по API
Me Input

Элемент Me Input

Основной элемент для ввода данных Использует attrs.type для уточнения внешнего вида элемента. Может принимать вид текстового поля ввода, выпадающего списка, checkbox, radio и пр.

@returns any - тип результирующего значения зависит от IMeInputAttrs.type элемента и от значения multiple

Общее

Обратите внимание на структуру всех классов

Структура

{
  "__tid": "(any)",
  "align": "(string)",
  "attrs": {
    "addDollarSign": "(boolean)",
    "addObjectButton": {
      "cssClass": "(string)",
      "cssProperties": "(string)",
      "disabled": "(boolean)",
      "drawAsMainElementOnParentElemIsEmpty": "(boolean)",
      "env": {
        "state": "(string)"
      },
      "icon": "(string)",
      "icon_image": "(string)",
      "modalSize": "( xs, sm, md, lg, fullscreen, max )",
      "mode": "( modal, sidenav, hidden )",
      "pageId": "(string)",
      "title": "(string)",
      "tooltip": {
        "content": "(string)",
        "jsonContent": "(string)",
        "label": "(string)",
        "output": "(any)"
      }
    },
    "align": "( left | right )",
    "applyValueOnSelectInMultiple": "(boolean)",
    "authParams": "(string)",
    "autoFocus": "(boolean)",
    "autoSelect": "( none | first | if_only_one )",
    "className": "(string)",
    "clearable": "( auto | yes | no )",
    "contextualClass": "(string)",
    "copyBtn": "(any)",
    "create": "(boolean)",
    "disabled": "(boolean)",
    "engine": "(string)",
    "enterSubmit": "(boolean)",
    "entityId": "(string)",
    "exposeSelectedOptionKeys": [
      {
        "source": "(string)",
        "target": "(string)"
      }
    ],
    "fastViewObjectButton": {
      "drawActorList": "(boolean)",
      "drawTopMenu": "(boolean)",
      "env": {
        "state": "(string)"
      },
      "modalSize": "( xs, sm, md, lg, fullscreen, max )",
      "modalTitle": "(string)",
      "mode": "( modal, sidenav, hidden )",
      "pageId": "(string)"
    },
    "folderId": "(string)",
    "formInputName": "(string)",
    "groupAddon": {
      "text": "(string)"
    },
    "icon": "(string)",
    "info": "(object)",
    "inlineElements": "(boolean)",
    "inlineLabel": "(boolean)",
    "isPrivate": "(boolean)",
    "max": "(number)",
    "maxHeight": "(string)",
    "maxSizeMB": "(number)",
    "maxTotalSizeMB": "(number)",
    "mentio": {
      "autocompleteMode": "(boolean)",
      "items": [
        {
          "date": "(string)",
          "description": "(string)",
          "disabled": "(boolean)",
          "name": "(string)",
          "search_text": "(string)",
          "section": "(string)",
          "title": "(string)"
        }
      ],
      "triggerChar": "(string)"
    },
    "min": "(number)",
    "minSizeMB": "(number)",
    "mode": "( JSON | JSON_OBJECT | HTML | SQL )",
    "multiple": "(boolean)",
    "native": "(any)",
    "objectId": "(string)",
    "options": [
      {
        "attrs": "(any)",
        "cssClass": "(string)",
        "date": "(string)",
        "description": "(string)",
        "disabled": "(boolean)",
        "exist": "(any)",
        "fast_select": "(boolean)",
        "icon": "(string)",
        "icon_image": "(string)",
        "image": "(string)",
        "link": {
          "modalSize": "( xs, sm, lg, normal, max )",
          "target": "( _modal, _blank )",
          "type": "( href, meta )",
          "value": {
            "entityId": "(string)",
            "env": {
              "state": "(string)"
            },
            "mode": "( modal, sidenav, hidden )",
            "objectId": "(string)",
            "pageId": "(string)",
            "show_actors": "(boolean)",
            "url": "(string)"
          }
        },
        "name": "(string)",
        "search_text": "(string)",
        "section": "(string)",
        "show_actors": "(boolean)",
        "style": "(string)",
        "title": "(string)",
        "tooltip": {
          "content": "(string)",
          "jsonContent": "(string)",
          "label": "(string)",
          "output": "(any)"
        },
        "value": {
          "unit": {
            "value": "(string)"
          },
          "value": "(any)"
        },
        "visible": "(any)"
      }
    ],
    "pattern": "(string)",
    "placeholder": "(string)",
    "popupWindowParams": {
      "height": "(number)",
      "width": "(number)"
    },
    "prepLegoForm": {
      "__tid": "(any)",
      "align": "(string)",
      "attrs": "(Attrs)",
      "bindAttrs": [
        {
          "source": "(string)",
          "target": "(string)"
        }
      ],
      "calculator": {
        "currentValue": "(any)",
        "decimals": "(number)",
        "depends": [
          "(string)"
        ],
        "formula": "(string)",
        "path": "(string)"
      },
      "cssClass": "(string)",
      "cssFormClass": "(string)",
      "defaultValue": "(any)",
      "depends": [
        "(string)"
      ],
      "elemClassName": "(string)",
      "entityId": "(string)",
      "eraseValue": "(boolean)",
      "errors": [
        {
          "id": "(string)",
          "name": "(string)"
        }
      ],
      "exportable": "(boolean)",
      "formHorizontal": "(boolean)",
      "help": "(string)",
      "icon": "(string)",
      "id": "(string)",
      "inlineForm": "(boolean)",
      "label": "(string)",
      "listen": [
        {
          "$promise": "(any)",
          "code": [
            "( ADD | SET, REMOVE )"
          ],
          "entityId": "(string)",
          "objectId": "(string)",
          "pubSubChannel": [
            "(string)"
          ],
          "refreshRefPvmData": "(any)",
          "reload": "(any)",
          "selectAfterAdd": "(boolean)"
        }
      ],
      "liveReload": "(boolean)",
      "maxMenuHeight": "(number)",
      "name": "(string)",
      "noMenuPortalTarget": "(boolean)",
      "offset": "(number)",
      "onLoadOptionsCallback": "(Function)",
      "order": "(number)",
      "persistValueView": "(boolean)",
      "refData": "(any)",
      "selectedValueView": "(any)",
      "selfDepends": "(boolean)",
      "selfDependsSettings": "(any)",
      "selfDependsSettingsLoaded": "(any)",
      "span": "(number)",
      "tooltip": {
        "content": "(string)",
        "jsonContent": "(string)",
        "label": "(string)",
        "output": "(any)"
      },
      "updateElemAttrsFromOptions": "(boolean)",
      "valid": "(boolean)",
      "validateInProgress": "(boolean)",
      "value": "(string)",
      "visible": "(string)"
    },
    "readonly": "(boolean)",
    "refreshOptionsButton": {
      "refPvmBeforeRefresh": {
        "additionalPartialLoad": [
          "(string)"
        ],
        "dataId": "(string)",
        "id": "(string)",
        "spQueryDepends": [
          "(string)"
        ],
        "waitingId": "(string)"
      }
    },
    "required": "(boolean)",
    "rows": "(number)",
    "scaleByContent": "(boolean)",
    "searchText": "(string)",
    "step": "(number)",
    "style": "(string)",
    "timePicker": "(boolean)",
    "tooltip": {
      "content": "(string)",
      "jsonContent": "(string)",
      "label": "(string)",
      "output": "(any)"
    },
    "ttlInSec": "(number)",
    "type": "( text | select | duallist | submit | textarea | checkbox | radio | me-summary-btn | me-tabs | filecontent | url | tel | email | percent )",
    "value": "(string)",
    "valueMultiplier": "(number)",
    "verticalColumns": "(boolean)",
    "viewSize": "( xs | sm | lg )"
  },
  "bindAttrs": [
    {
      "source": "(string)",
      "target": "(string)"
    }
  ],
  "calculator": {
    "currentValue": "(any)",
    "decimals": "(number)",
    "depends": [
      "(string)"
    ],
    "formula": "(string)",
    "path": "(string)"
  },
  "cssClass": "(string)",
  "cssFormClass": "(string)",
  "defaultValue": "(any)",
  "depends": [
    "(string)"
  ],
  "elemClassName": "(string)",
  "elems": "(any)",
  "entityId": "(string)",
  "eraseValue": "(boolean)",
  "errors": [
    {
      "id": "(string)",
      "name": "(string)"
    }
  ],
  "exportable": "(boolean)",
  "formHorizontal": "(boolean)",
  "help": "(string)",
  "icon": "(string)",
  "id": "(string)",
  "inlineForm": "(boolean)",
  "label": "(string)",
  "listen": [
    {
      "$promise": "(any)",
      "code": [
        "( ADD | SET, REMOVE )"
      ],
      "entityId": "(string)",
      "objectId": "(string)",
      "pubSubChannel": [
        "(string)"
      ],
      "refreshRefPvmData": "(any)",
      "reload": "(any)",
      "selectAfterAdd": "(boolean)"
    }
  ],
  "liveReload": "(boolean)",
  "maxMenuHeight": "(number)",
  "name": "me-input",
  "noMenuPortalTarget": "(boolean)",
  "offset": "(number)",
  "onLoadOptionsCallback": "(Function)",
  "order": "(number)",
  "persistValueView": "(boolean)",
  "refData": "(any)",
  "selectedValueView": "(any)",
  "selfDepends": "(boolean)",
  "selfDependsSettings": "(any)",
  "selfDependsSettingsLoaded": "(any)",
  "span": "(number)",
  "tooltip": {
    "content": "(string)",
    "jsonContent": "(string)",
    "label": "(string)",
    "output": "(any)"
  },
  "updateElemAttrsFromOptions": "(boolean)",
  "valid": "(boolean)",
  "validateInProgress": "(boolean)",
  "value": "(string)",
  "visible": "(string)"
}

__tid (any)

Автоматически генерируемое приватное поле

align (string)

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

@default "left"

attrs [object Object]

bindAttrs [object Object]

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

calculator [object Object]

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

@link http://apps.devision.io/page?p=3593&a=35 (opens in a new tab)

cssClass (string)

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

cssFormClass (string)

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

@link http://localhost:8080/page?p=493c9084-85b8-4a00-a478-43ca056541a0&a=sp (opens in a new tab)

defaultValue (any)

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

depends (string)

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

@example https://apps.devision.io/page?p=4329&a=35 (opens in a new tab)

@example https://apps.devision.io/page?p=3597&a=35 (opens in a new tab)

elemClassName (string)

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

elems (any)

entityId (string)

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

eraseValue (boolean)

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

@default false

errors [object Object]

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

exist

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

@example https://apps.devision.io/page?p=3570&a=35 (opens in a new tab)

@example https://apps.devision.io/page?p=4329&a=35 (opens in a new tab)

exportable (boolean)

Имеет ли экспорт этот элемент

formHorizontal (boolean)

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

help (string)

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

i18n

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

@link http://ui.adplatform.lan/Static_Full_Version/icons.html (opens in a new tab)

id (string)

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

inlineForm (boolean)

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

@link {http://stackoverflow.com/questions/12201835/form-inline-inside-a-form-horizontal-in-twitter-bootstrap} (opens in a new tab)

label (string)

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

listen [object Object]

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

liveReload (boolean)

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

maxMenuHeight (number)

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

name (string)

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

noMenuPortalTarget (boolean)

Если это свойство передано, то элементы выпадающего списка не уплывают вниз при скроллинге, иначе они зафиксированы на странице и при скроллинге уплывают вниз

offset (number)

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

onLoadOptionsCallback (Function)

order (number)

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

persistValueView (boolean)

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

refData (any)

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

refPvmData

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

@example https://apps.devision.io/page?p=3570&a=35 (opens in a new tab)

@example https://apps.devision.io/page?p=3597&a=35 (opens in a new tab)

refPvmValidator

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

@example https://apps.devision.io/page?p=3443&a=35 (opens in a new tab)

selectedValueView (any)

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

selfDepends (boolean)

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

@beta

selfDependsSettings (any)

selfDependsSettingsLoaded (any)

span (number)

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

tooltip [object Object]

Стандартный мета тултип

updateElemAttrsFromOptions (boolean)

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

@link http://localhost:8080/page?p=36a8d1ef-fe3d-4011-9ea3-5a2a87c2df45&a=35 (opens in a new tab)

valid (boolean)

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

validateInProgress (boolean)

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

value (string)

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

visible (string)

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

@example https://apps.devision.io/page?p=3570&a=35 (opens in a new tab)