******************************************************************* ******* Explanation about menu.json ******* ******************************************************************* The menu.json defines the menu to show for each type of "roles": Supported roles: ----------------------------- ADMIN DESIGNER The JSON is separated to roles, and for each role we define "states", what menu to show the user for each state of the component: Supported states: ----------------------------- NOT_CERTIFIED_CHECKOUT NOT_CERTIFIED_CHECKIN CERTIFIED For each state we can define the user that will see this menu, the available parameters are: Supported users: ----------------------------- ANY NOT_OWNER Example: For designer, if the component state is checkout and the component was created by other user, the NOT_OWNER will be used. "DESIGNER":{ "states":{ "NOT_CERTIFIED_CHECKOUT":{ "ANY":[ {"text":"Edit" ,"action":"goToEntity"}, {"text":"Check in","action":"changeLifecycleState", "url":"lifecycleState/CHECKIN", "confirmationModal": "lifecycleState/CHECKIN"}, {"text":"View" ,"action":"openViewerModal"} ], "NOT_OWNER":[ {"text":"View" ,"action":"openViewerModal"} ] }, Definition of the menu item: ----------------------------- text - The text to show action - Function that will be called when pressing on the menu item url - Data added to menu item, in case the function need to use it, example: for function "changeLifecycleState", I need to pass also the url "lifecycleState/CHECKOUT" that I want the state to change to. confirmationModal - Open confirmation modal (user should select "OK" or "Cancel"), and continue with the action. blockedForTypes - This item will not be shown for specific components types.