petriNets.engine-processes.org_group.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of application-engine Show documentation
Show all versions of application-engine Show documentation
System provides workflow management functions including user, role and data management.
<?xml version="1.0" encoding="UTF-8"?> <document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://petriflow.com/petriflow.schema.xsd"> <id>org_group</id> <version>1.0.0</version> <initials>GRP</initials> <title>Organization group</title> <icon>home</icon> <defaultRole>true</defaultRole> <transitionRole>false</transitionRole> <!-- TRANSACTIONS --> <!-- ROLES --> <!-- PROCESS ROLE REFS --> <!-- PROCESS USER REFS --> <!-- FUNCTIONS --> <function scope="process" name="updateFilterAutocompleteOptions"> { com.netgrif.application.engine.petrinet.domain.dataset.EnumerationMapField filterAutocomplete, com.netgrif.application.engine.petrinet.domain.dataset.TaskField previewTaskRef, com.netgrif.application.engine.petrinet.domain.dataset.CaseField referencedFiltersList -> if (filterAutocomplete.getOptions().containsKey(filterAutocomplete.value)) { change previewTaskRef value { return [findTask({it.caseId.eq(filterAutocomplete.value).and(it.transitionId.eq("view_filter"))}).stringId] } } else { change filterAutocomplete options { return findFilters(filterAutocomplete.value != null ? filterAutocomplete.value : "") .findAll({filterCase -> !referencedFiltersList.value.contains(filterCase.stringId)}) .collectEntries({filterCase -> [filterCase.stringId, filterCase.title]}) } change previewTaskRef value { return [] } } } </function> <function scope="process" name="updateAvailableEntries"> { com.netgrif.application.engine.workflow.domain.Case useCase -> def cases = findCasesElastic( "processIdentifier:\"preference_filter_item\" AND dataSet.parentId.textValue.keyword:\"$useCase.stringId\"" as String, org.springframework.data.domain.PageRequest.of(0, 1000)) change availableEntries options { return menuImportExportService.createAvailableEntriesChoices(cases) } } </function> <role> <id>system</id> <title>System</title> </role> <!-- DATA --> <data type="text"> <id>group_id</id> <title>Group ID</title> <placeholder>Enter group ID</placeholder> <desc>ID of organization group</desc> <action trigger="get"> id: f.group_id; change id value { useCase.stringId } </action> </data> <data type="user"> <id>author</id> <title>Group Author</title> </data> <data type="text"> <id>group_name</id> <title>Group name</title> <placeholder>Enter group name</placeholder> <desc>Name of organization group</desc> <action trigger="set"> name: f.group_name; useCase.setTitle(name.value) workflowService.save(useCase) </action> </data> <data type="user"> <id>user_selection</id> <title>Select user</title> <placeholder>No user selected</placeholder> <desc>Select user to be added as a group member</desc> <action trigger="get"> userField: f.user_selection; change userField value { null } </action> <action trigger="set"> selection: f.members, userField: f.user_selection; change selection options { nextGroupService.addUser(userField.value, selection.options) } </action> </data> <data type="multichoice_map"> <id>members</id> <title>Members</title> <desc>Members of current organization group</desc> <component> <name>list</name> </component> </data> <data type="enumeration_map"> <id>user_action_selection</id> <title name="user_action_selection">Select action</title> <options> <option key="add" name="user_action_selection_add">Add existing user</option> <option key="invite" name="user_action_selection_invite">Invite new user</option> </options> <init>add</init> <action trigger="set"> action_selection: f.user_action_selection, user_selection: f.user_selection, invite_by_mail: f.invite_by_mail, trans: t.8; make user_selection, editable on trans when { action_selection.value == "add" } make invite_by_mail, hidden on trans when { action_selection.value == "add" } make user_selection, hidden on trans when { action_selection.value == "invite" } make invite_by_mail, editable on trans when { action_selection.value == "invite" } </action> </data> <data type="text"> <id>invite_by_mail</id> <title name="invite_by_mail">Add e-mail address</title> <placeholder>[email protected]</placeholder> <desc name="invite_by_mail_desc">Add e-meail address to send invitation</desc> <validations> <validation> <expression>email</expression> <message/> </validation> </validations> </data> <data type="taskRef"> <id>filter_tasks</id> <title></title> </data> <data type="taskRef"> <id>filter_preview</id> <title></title> </data> <data type="taskRef"> <id>imported_menu_ids</id> <title></title> </data> <data type="enumeration_map"> <id>filter_autocomplete_selection</id> <title name="select_menu_item_filter">Select filter</title> <component> <name>autocomplete_dynamic</name> </component> <action trigger="set"> filterAutocomplete: f.this, previewTaskRef: f.filter_preview, referencedFiltersList: f.referenced_filters; updateFilterAutocompleteOptions(filterAutocomplete, previewTaskRef, referencedFiltersList) </action> <action trigger="get"> filterAutocomplete: f.this, previewTaskRef: f.filter_preview, referencedFiltersList: f.referenced_filters; updateFilterAutocompleteOptions(filterAutocomplete, previewTaskRef, referencedFiltersList) </action> </data> <data type="button"> <id>add_filter_to_menu</id> <title></title> <placeholder name="add_menu_item">Add to menu</placeholder> <component> <name>raised</name> </component> <action trigger="set"> filterAutocomplete: f.filter_autocomplete_selection, menuItemsTaskRef: f.filter_tasks, availableEntries: f.available_export_entries, referencedFiltersList: f.referenced_filters; if (!filterAutocomplete.getOptions().containsKey(filterAutocomplete.value)) { return; } def filterCase = findCase({it._id.eq(filterAutocomplete.value)}) def optionCase = createCase("preference_filter_item", filterCase == null ? "" : filterCase.title) def initTask = findTask({it.transitionId.eq("init").and(it.caseId.eq(optionCase.stringId))}) assignTask(initTask) setData(initTask, [ "filter_case": ["type":"caseRef", "value": [filterAutocomplete.value], "allowedNets":["filter"]], "parentId": ["type":"text", "value":useCase.stringId], "allowed_nets": ["type": "multichoice_map", "value": filterCase.dataSet["allowed_nets"].value] ]) finishTask(initTask) change referencedFiltersList value {return referencedFiltersList.value + filterAutocomplete.value} def viewTask = findTask({it.transitionId.eq("view").and(it.caseId.eq(optionCase.stringId))}) change menuItemsTaskRef value {return menuItemsTaskRef.value + viewTask.stringId} change filterAutocomplete value {return ""} updateAvailableEntries(useCase) </action> </data> <data type="file"> <id>export_menu_file</id> <title name="export_file">Exported menu file</title> <placeholder name="export_file_placeholder">Your XML file with menus</placeholder> <desc name="export_file_desc">Download exported file with menus in XML format.</desc> </data> <data type="button"> <id>update_available_entries_btn</id> <title></title> <placeholder name="update_available_entries_btn_placeholder">Update entries</placeholder> <action trigger="set"> availableEntries: f.available_export_entries; updateAvailableEntries(useCase) </action> </data> <data type="button"> <id>clear_menu_selection_btn</id> <title></title> <placeholder name="clear_menu_selection_btn_placeholder">Clear menu configurations</placeholder> <action trigger="set"> menusForExport: f.menus_for_export; change menusForExport options {[:]} </action> </data> <data type="text"> <id>export_menu_name</id> <title name="exported_menu_id">Exported menu identifier</title> <desc name="exported_menu_id_desc">Unique name menu configuration for selected entries.</desc> <action trigger="set"> addToExportBtn: f.add_to_export_btn, exportMenuName: f.this, trans: t.navigationMenuConfig; if (exportMenuName.value == "") { make addToExportBtn, visible on trans when {true} } else { make addToExportBtn, editable on trans when {true} } </action> </data> <data type="multichoice_map"> <id>available_export_entries</id> <title name="available_export_entries">Available entries for export</title> <placeholder name="available_export_entries_placeholder">Export menu</placeholder> </data> <data type="button"> <id>add_to_export_btn</id> <title></title> <placeholder name="add_to_export_placeholder">Add entries to export</placeholder> <action trigger="set"> selectedEntries: f.available_export_entries, addToExportBtn: f.this, menuIdentifier: f.export_menu_name, menusForExport: f.menus_for_export; change menusForExport options { return menuImportExportService.addSelectedEntriesToExport(selectedEntries, menusForExport, menuIdentifier.value) } change selectedEntries value {[]} </action> <component> <name>raised</name> </component> </data> <data type="enumeration_map"> <id>menus_for_export</id> <title name="menus_for_export">Menus to be exported</title> </data> <data type="text"> <id>import_results</id> <title name="import_results">Import results</title> <component> <name>area</name> </component> </data> <data type="button"> <id>export_menu_btn</id> <title></title> <placeholder name="export_menu_btn_placeholder">Export menu</placeholder> <action trigger="set"> export_file: f.export_menu_file, menuIdentifier: f.export_menu_name, menusForExport: f.menus_for_export, groupId: f.group_id; change export_file value { menuImportExportService.exportMenu(menusForExport, groupId.value, export_file) } change menusForExport options {[:]} </action> <component> <name>raised</name> </component> </data> <data type="file"> <id>import_menu_file</id> <title>Import menu</title> <placeholder name="import_file_placeholder">Menu file to import</placeholder> <desc name="import_file_desc">Upload XML file containing menu here</desc> </data> <data type="button"> <id>import_menu_btn</id> <title></title> <placeholder name="import_menu_btn_placeholder">Import menu</placeholder> <desc name="import_menu_btn_desc">Import menu from provided XML file</desc> <action trigger="set"> import_file: f.import_menu_file, menuItemsTaskRef: f.filter_tasks, referencedFiltersList: f.referenced_filters, groupId: f.group_id, newEntries: f.imported_menu_ids, newIdsActionSetter: f.new_entries_setter, importResults: f.import_results; change importResults value {return ""} def cases = findCases({ it.processIdentifier.eq("preference_filter_item") }).findAll { it.dataSet["parentId"].value == useCase.stringId } change newEntries value { return menuImportExportService.importMenu(cases, import_file.value, useCase.stringId) } def actualUseCase = workflowService.findOne(useCase.stringId) actualUseCase.dataSet.entrySet().forEach{ e -> useCase.dataSet[e.key].value = e.value.value if(e.key == ("imported_menu_ids")) { useCase.dataSet[e.key].value = newEntries.value } } change newIdsActionSetter value { "triggerAction" } </action> <component> <name>raised</name> </component> </data> <data type="text"> <id>new_entries_setter</id> <title></title> <action trigger="set"> import_file: f.import_menu_file, menuItemsTaskRef: f.filter_tasks, referencedFiltersList: f.referenced_filters, groupId: f.group_id, newEntries: f.imported_menu_ids, availableEntries: f.available_export_entries, importResults: f.import_results; filterTaskIds = [] filterCaseIds = [] newEntries.value.forEach { itemId -> def idSplit = itemId.split(',') def initTask = findTask({it.transitionId.eq("init").and(it.caseId.eq(idSplit[0]))}) setData(initTask, [ "filter_case": ["type":"caseRef", "value": [idSplit[1]], "allowedNets":["filter"]], "use_icon": ["type":"boolean", "value": idSplit[2]] ]) finishTask(initTask) def viewTask = findTask({it.transitionId.eq("view").and(it.caseId.eq(idSplit[0]))}) filterTaskIds.add(viewTask.getStringId()) filterCaseIds.add(idSplit[1]) } change menuItemsTaskRef value {return menuItemsTaskRef.value + filterTaskIds} change referencedFiltersList value {return referencedFiltersList.value + filterCaseIds} workflowService.save(useCase) updateAvailableEntries(useCase) </action> </data> <data type="caseRef"> <id>referenced_filters</id> <title></title> <allowedNets> <allowedNet>filter</allowedNet> </allowedNets> </data> <data type="text"> <id>append_menu_item_stringId</id> <title/> </data> <!-- I18NS --> <i18n locale="sk"> <i18nString name="author">Autor grupy</i18nString> <i18nString name="group_id">ID grupy</i18nString> <i18nString name="group_id_desc">ID organizačnej grupy</i18nString> <i18nString name="group_id_placeh">Zadajte ID grupy</i18nString> <i18nString name="group_name">Názov grupy</i18nString> <i18nString name="group_name_desc">Názov organizačnej grupy</i18nString> <i18nString name="group_name_placeh">Zadajte názov grupy</i18nString> <i18nString name="user_selection">Vyberte nového používateľa</i18nString> <i18nString name="user_selection_desc">Vyberte nového používateľa pre pridanie do grupy</i18nString> <i18nString name="user_selection_placeh">Nebol vybraný žiadny používateľ</i18nString> <i18nString name="members">Členovia grupy</i18nString> <i18nString name="members_desc">Členovia organizačnej grupy</i18nString> <i18nString name="user_action_selection">Vyberte akciu</i18nString> <i18nString name="user_action_selection_add">Pridať existujúceho používateľa</i18nString> <i18nString name="user_action_selection_invite">Pozvať nového používateľa</i18nString> <i18nString name="invite_by_mail">Zadaj e-mail adresu</i18nString> <i18nString name="invite_by_mail_desc">Zadaj e-mail adresu</i18nString> <i18nString name="select_menu_item_filter">Zvoľte filter</i18nString> <i18nString name="add_menu_item">Pridať ako položku menu</i18nString> <i18nString name="menu_configuration">Konfigurácia menu</i18nString> <i18nString name="export_file">Exportovaný súbor s menu</i18nString> <i18nString name="export_file_desc">Stiahnite exportovaný XML súbor s menu položkami.</i18nString> <i18nString name="export_file_placeholder">Váš XML súbor s vybranou menu konfiguráciou.</i18nString> <i18nString name="exported_menu_id">Identifikátor menu nakonfigurovaného na export</i18nString> <i18nString name="exported_menu_id_desc">Unikátny názov menu pre zvolenú konfiguráciu.</i18nString> <i18nString name="available_export_entries">Dostupné menu položky pre export</i18nString> <i18nString name="available_export_entries_placeholder">Export menu</i18nString> <i18nString name="add_to_export_placeholder">Pridať menu na export</i18nString> <i18nString name="menus_for_export">Menu položky pripravené na export</i18nString> <i18nString name="import_results">Výsledky importu</i18nString> <i18nString name="export_menu_btn_placeholder">Exportovať menu</i18nString> <i18nString name="update_available_entries_btn_placeholder">Aktualizovať dostupné položky</i18nString> <i18nString name="clear_menu_selection_btn_placeholder">Zmazať vytvorené konfigurácie</i18nString> <i18nString name="import_export_dg">Import a export položiek menu</i18nString> </i18n> <i18n locale="de"> <i18nString name="select_menu_item_filter">Filter auswählen</i18nString> <i18nString name="add_menu_item">Als Menüpunkt hinzufügen</i18nString> <i18nString name="menu_configuration">Menükonfiguration</i18nString> <i18nString name="export_file">Exportierte Datei mit Menüs</i18nString> <i18nString name="export_file_desc">Exportierte XML-Datei mit Menüs herunterladen.</i18nString> <i18nString name="export_file_placeholder">Ihre XML-Datei mit Menüs</i18nString> <i18nString name="exported_menu_id">Name des für den Export konfigurierten Menüs</i18nString> <i18nString name="exported_menu_id_desc">Eindeutiger Name des Menüs für die gewählte Konfiguration.</i18nString> <i18nString name="available_export_entries">Verfügbare Menüeinträge für den Export</i18nString> <i18nString name="available_export_entries_placeholder">Menü exportieren</i18nString> <i18nString name="add_to_export_placeholder">Menü zum Export hinzufügen</i18nString> <i18nString name="menus_for_export">Menüeinträge bereit für den Export</i18nString> <i18nString name="import_results">Import Ergebnisse</i18nString> <i18nString name="export_menu_btn_placeholder">Menü exportieren</i18nString> <i18nString name="update_available_entries_btn_placeholder">Verfügbare Menüeinträge aktualisieren</i18nString> <i18nString name="clear_menu_selection_btn_placeholder">Menükonfigurationen löschen</i18nString> <i18nString name="import_export_dg">Import und Export von Menüeinträge</i18nString> </i18n> <!-- TRANSITIONS --> <transition> <id>2</id> <x>220</x> <y>220</y> <layout> <offset>0</offset> </layout> <label>Initialize group</label> <assignPolicy>auto</assignPolicy> <dataGroup> <id>DataGroup_0</id> <layout>grid</layout> <dataRef> <id>group_id</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>author</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>1</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>group_name</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>2</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> <event type="finish"> <id>1</id> <actions phase="pre"> <action> filtersTaskRef: f.filter_tasks, availableEntries: f.available_export_entries, referencedFiltersList: f.referenced_filters; defaultFilters = findDefaultFilters() filterTaskIds = [] filterCaseIds = [] defaultFilters.forEach { filterCase -> def optionCase = createCase("preference_filter_item", filterCase.title + " filter preference") def initTask = findTask({it.transitionId.eq("init").and(it.caseId.eq(optionCase.stringId))}) assignTask(initTask) setData(initTask, [ "filter_case": ["type":"caseRef", "value": [filterCase.stringId], "allowedNets":["filter"]], "parentId": ["type":"text", "value":useCase.stringId], "menu_identifier": ["type":"text", value:"defaultMenu"] ]) finishTask(initTask) def viewTask = findTask({it.transitionId.eq("view").and(it.caseId.eq(optionCase.stringId))}) filterTaskIds.add(viewTask.stringId) filterCaseIds.add(filterCase.stringId) } change filtersTaskRef value {return filterTaskIds} change referencedFiltersList value {return filterCaseIds} updateAvailableEntries(useCase) </action> </actions> </event> </transition> <transition> <id>6</id> <x>740</x> <y>100</y> <layout> <offset>0</offset> </layout> <label>Group info</label> <assignPolicy>auto</assignPolicy> <dataGroup> <id>DataGroup_0</id> <layout>grid</layout> <dataRef> <id>group_id</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>4</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>author</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>1</y> <rows>1</rows> <cols>4</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>group_name</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>2</y> <rows>1</rows> <cols>4</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>members</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>3</y> <rows>1</rows> <cols>4</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> </transition> <transition> <id>8</id> <x>500</x> <y>340</y> <layout> <offset>0</offset> </layout> <label>Add user</label> <assignPolicy>auto</assignPolicy> <dataGroup> <id>DataGroup_0</id> <layout>grid</layout> <dataRef> <id>user_action_selection</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>2</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>user_selection</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>2</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>invite_by_mail</id> <logic> <behavior>hidden</behavior> </logic> <layout> <x>0</x> <y>3</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>members</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>4</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> <event type="finish"> <id>invite_new_user</id> <actions phase="pre"> <action> action_selection: f.user_action_selection, invite_by_mail: f.invite_by_mail, members: f.members; if(action_selection.value == "invite" && invite_by_mail.value != null){ change members options { nextGroupService.inviteUser(invite_by_mail.value, members.options, useCase) } } </action> </actions> </event> </transition> <transition> <id>25</id> <x>740</x> <y>340</y> <layout> <offset>0</offset> </layout> <label>Edit group info</label> <assignPolicy>auto</assignPolicy> <dataGroup> <id>DataGroup_0</id> <layout>grid</layout> <dataRef> <id>group_id</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>author</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>1</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>group_name</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>2</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> </transition> <transition> <id>28</id> <x>500</x> <y>100</y> <layout> <offset>0</offset> </layout> <label>Remove user</label> <assignPolicy>auto</assignPolicy> <dataGroup> <id>DataGroup_0</id> <layout>grid</layout> <dataRef> <id>members</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>4</cols> <offset>6</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> <event type="finish"> <id>remove_user</id> <actions phase="pre"> <action> members: f.members; change members options { nextGroupService.removeUser(members.value, members.options, useCase) } change members value { [] } </action> </actions> </event> </transition> <transition> <id>navigationMenuConfig</id> <x>380</x> <y>100</y> <layout> <cols>5</cols> <offset>0</offset> </layout> <label name="menu_configuration">Configure menu</label> <assignPolicy>auto</assignPolicy> <dataGroup> <id>dg0</id> <layout>grid</layout> <dataRef> <id>filter_autocomplete_selection</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>4</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>add_filter_to_menu</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>4</x> <y>0</y> <rows>1</rows> <cols>1</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> <dataGroup> <id>dg1</id> <layout>grid</layout> <dataRef> <id>filter_preview</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>4</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> <dataGroup> <id>dg2</id> <layout>grid</layout> <title name="import_export_dg">Import & export of menu entries</title> <dataRef> <id>available_export_entries</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>1</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>export_menu_name</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>1</x> <y>0</y> <rows>1</rows> <cols>2</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>update_available_entries_btn</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>3</x> <y>0</y> <rows>1</rows> <cols>1</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>add_to_export_btn</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>4</x> <y>0</y> <rows>1</rows> <cols>1</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>menus_for_export</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>1</y> <rows>1</rows> <cols>3</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>clear_menu_selection_btn</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>3</x> <y>1</y> <rows>1</rows> <cols>1</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>export_menu_btn</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>4</x> <y>1</y> <rows>1</rows> <cols>1</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>export_menu_file</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>2</y> <rows>1</rows> <cols>3</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>import_menu_file</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>3</y> <rows>1</rows> <cols>3</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>import_menu_btn</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>4</x> <y>3</y> <rows>1</rows> <cols>1</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> <dataRef> <id>import_results</id> <logic> <behavior>visible</behavior> </logic> <layout> <x>0</x> <y>4</y> <rows>1</rows> <cols>5</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> <dataGroup> <id>DataGroup_0</id> <layout>grid</layout> <dataRef> <id>filter_tasks</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>4</cols> <offset>0</offset> <template>material</template> <appearance>outline</appearance> </layout> </dataRef> </dataGroup> </transition> <transition> <id>append_menu_item</id> <x>200</x> <y>100</y> <label>[Append menu item]</label> <roleRef> <id>default</id> <logic> <perform>false</perform> <view>false</view> </logic> </roleRef> <roleRef> <id>system</id> <logic> <perform>true</perform> </logic> </roleRef> <dataGroup> <id>NewDataGroup</id> <stretch>true</stretch> <dataRef> <id>append_menu_item_stringId</id> <logic> <behavior>editable</behavior> </logic> <layout> <x>0</x> <y>0</y> <rows>1</rows> <cols>2</cols> <template>material</template> <appearance>outline</appearance> </layout> <event type="set"> <id>set_event_0</id> <actions phase="post"> <action> append_menu_item_stringId: f.append_menu_item_stringId, menuItemsTaskRef: f.filter_tasks, availableEntries: f.available_export_entries, referencedFiltersList: f.referenced_filters; def optionCase = workflowService.findOne(append_menu_item_stringId.value) def filterCase = workflowService.findOne(optionCase.dataSet["filter_case"].value[0]) change referencedFiltersList value {return referencedFiltersList.value + filterCase.stringId} def viewTask = findTask({it.transitionId.eq("view").and(it.caseId.eq(optionCase.stringId))}) change menuItemsTaskRef value {return menuItemsTaskRef.value + viewTask.stringId} updateAvailableEntries(useCase) </action> </actions> </event> </dataRef> </dataGroup> </transition> <!-- PLACES --> <place> <id>1</id> <x>100</x> <y>220</y> <label>#init</label> <tokens>1</tokens> <static>false</static> </place> <place> <id>4</id> <x>620</x> <y>220</y> <label>Group created</label> <tokens>0</tokens> <static>false</static> </place> <place> <id>p1</id> <x>300</x> <y>100</y> <label></label> <tokens>0</tokens> <static>false</static> </place> <!-- ARCS --> <arc> <id>3</id> <type>regular</type> <sourceId>1</sourceId> <destinationId>2</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>5</id> <type>regular</type> <sourceId>2</sourceId> <destinationId>4</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>18</id> <type>read</type> <sourceId>4</sourceId> <destinationId>6</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>21</id> <type>regular</type> <sourceId>4</sourceId> <destinationId>8</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>22</id> <type>regular</type> <sourceId>8</sourceId> <destinationId>4</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>26</id> <type>regular</type> <sourceId>4</sourceId> <destinationId>25</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>27</id> <type>regular</type> <sourceId>25</sourceId> <destinationId>4</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>29</id> <type>regular</type> <sourceId>28</sourceId> <destinationId>4</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>30</id> <type>regular</type> <sourceId>4</sourceId> <destinationId>28</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>a3</id> <type>regular</type> <sourceId>2</sourceId> <destinationId>p1</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>a5</id> <type>read</type> <sourceId>p1</sourceId> <destinationId>navigationMenuConfig</destinationId> <multiplicity>1</multiplicity> </arc> <arc> <id>a6</id> <type>read</type> <sourceId>p1</sourceId> <destinationId>append_menu_item</destinationId> <multiplicity>1</multiplicity> </arc> </document>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy