-
Notifications
You must be signed in to change notification settings - Fork 9
w2regrid
do- edited this page Nov 11, 2020
·
13 revisions
$(...).w2regrid (...)
- лёгкая обёртка над $(...).w2grid (...)
, с теми же параметрами.
Отличия:
- если на текущей странице уже есть таблица с таким именем - удаляет её во избежание конфликтов;
- если не определена опция
show.skipRecords
- ставит тудаfalse
(чтобы скрыть сбивающее с толку поле ввода в стандартном меню при таблице); - принимается во внимание дополнительная опция
src
, значение которой — либо строка, либо массив:- если
src
— строка, то считается, что она содержит основные параметры в форматеtype[/part/id]
и из неё формируется соответствующийurl=/back?type=${type}[&id=${id}&part=${part}]
; - если массив, то его первый элемент порождает
url
по вышеописанным правилам, а второй копируется вpostData
;
- если
- если определена опция url (то есть таблица динамическая — в частности, в силу указанного
src
), а onLoad пусто, то туда подставляется dia2w2ui; - если не определён
$_REQUEST.id
(то есть таблица расположена на экране-реестре) и отсутствует опцияonDblClick
, туда проставляется обработчик, который открывает URL/$_REQUEST.type/{uuid}
(карточка того же типа, что реестр; - если в описании колонки задан параметр
voc
, значением которого является js-объект (в норме — созданный add_vocabularies), то функцияrender
определяется таким образом, чтобы использовать его в качестве словаря данных. Например:
{field: "id_role", caption: "Роль", voc: data.roles}
вместо
{field: "id_role", caption: "Роль", render: function (i) {return data.roles [i.id_role] }}
Пустые значения (null
, undefined
) преобразуются в voc ['']
. То есть если необходимо отображать неопределённое значение в виде специфической надписи, её следует прописать в словарь с ключом ''
. В противном случае (по умолчанию) пустые значения выглядят пустыми строками.
Если значение поля является массивом id (то есть поле многозначное и на форме ввода ему соответствует enum
), то текст формируется тоже по словарю; строки сортируются и склеиваются через запятую.
Параметр voc
можно использовать и в качестве источника данных для редактируемых полей:
{field: "id_role", caption: "Роль", voc: data.roles, editable: {type: 'list'}} // items вычисляется автоматически
Аналогично указывается и словарь опций для полей расширенного поиска типа list
и enum
:
searches: [ {field: 'id_org', caption: 'Организация', type: 'enum', voc: data.orgs}, ],