In addition to customizing the standard WorkProtect popup by configuration, you can replace it by your own custom implementation.
This box is displayed by the portal as a modal window. It should return one of the following values:
DESKTOP : discard the changes and open the new page in the same window
NEWWIN : protect the unsaved data by opening the new page in a new window
CANCEL : cancel navigation and stay on the page to save the changes
All other values are ignored.
The following example shows a basic HTML page that displays three buttons. Each button returns one of the values specified above:
<html> <head> <script> function btnClicked(btntype) { if (btntype == 'continue') returnValue='DESKTOP'; if (btntype == 'new_win') returnValue='NEWWIN'; if (btntype == 'go_back') returnValue='CANCEL'; window.close(); } </script> </head> <body> <br>You are about to navigate from the page that contains unsaved data. Click 'Continue' to discard the changes, <br>'New Window' to preserve the changes and open the page in a new window, or 'Cancel' to stay on the page.</br> <table> <td> <button type="button" id='continue' onClick="btnClicked('continue')">Continue</button> </td> <td> <button type="button" id='new_win' onClick="btnClicked('new_win')">New Window</button> </td> <td> <button type="button" id='go_back' onClick="btnClicked('go_back')">Cancel</button> </td> </table> </body> </html>
workprotect.mode.layout = external
workprotect.popup.external.url = myCompany.myPortalWorkProtectPopup (the name of your component)
For more information, see Configuring the EPCF Service .