Блог на компанията ITD Systems - Alvex Datagrid добавя персонализирани действия за
В последната публикация започнахме да разглеждаме точките за разширение на Alvex Datagrid. В тази публикация ще опишем друго важно нещо - добавяне на персонализирани действия за елементи на таблица (знаете, такива бутони в дясната колона).
Ще използваме плъгина на Alfresco Share на Дейв Дрейпър, можете да прочетете повече за него в тази публикация в блога на Дейв. Между другото, нашите разширения ще използват функции, които са налични само в Alvex Datagrid, така че трябва да инсталирате Alvex EE / CE или отделен модул Alvex Datagrid върху вашия Alfresco.
Създаваме нормална конфигурация за модула за разширение Alfresco Share:
Тук можете да видите, че разширяваме “documents-registers” с нашата корекция от “custom.documents-registers”. Ще разширим само js контролера за уеб скрипт.
Тук трябва да обърнете внимание на четири неща:
- href - шаблон за връзка, “nodeRef=” ще бъде обработен за всеки елемент от таблицата и реалният nodeRef на текущия елемент ще бъде заменен в него.
- разрешение - какви права трябва да има потребителят, за да извърши това действие. Наличните опции са „редактиране“, „изтриване“ или просто „“, ако имате достатъчно разрешения за четене.
- етикет - името на действието. Обикновено тук се посочва идентификаторът на полето от пакета за локализация.
- className - използва се в css за заместване на икони. Пример ще бъде буквално точно по-долу.
Вторият пример е действие с логика, реализирана от скрипта:
Единствената разлика с предишния пример е, че няма „href“, но има „func“ – името на функцията, която да извикате. Сега трябва да приложим тази функция.
Да видим как работи с регистъра от последния пост. Можем да добавим действие „Одобряване“, което ще попълни текущата дата в полето за датаподписване на споразумение. Разбира се, реалните примери ще бъдат по-сложни. Например, те ще изискват генериране на EDS и някои други действия. Но засега се нуждаем само от пример, така че ще оставим този вид сложност извън тази публикация. Изпълнение на действието:
Позволете ми да повторя това, което вече написах в последния пост: ако сте запознати с Alfresco UI, базиран на YUI, тогава тази функция е доста очевидна за вас. Обект, представляващ текущия елемент, се предава на нашата функция, ние създаваме и подаваме заявка за промяна на едно от свойствата. След промяна на стойността на свойството актуализираме потребителския интерфейс. Ако сте нов в разработката на предния край на Alfresco, мисля, че този код все още трябва да е доста разбираем, но можете да се обърнете към документацията за подробности.
Имаме още две малки парчета. Първо, нека изберем икони за нови действия. В този пример ще използваме стандартни икони Alfresco. Можете да използвате и своя собствена. Действията съдържат полета className и тези имена на полета трябва да се използват в css:
Последното нещо е зареждането на JS и CSS от страна на клиента. Ще го направя бързо и небрежно и просто ще добавя този блок към конфигурацията за споделяне:
Това е всичко. След като инсталирате новите действия, ще видите, че таблицата сега изглежда така:

Ако щракнете върху първата икона, ще се отвори стандартната страница „Управление на разрешенията“.

При натискане на бутона „Одобряване” се задава датата на подписване на договора в картата.