Sent: Thursday, July 5, 2012 12:19 PM

Subject: 【Knowledge share】A follow up for data loss discussion

Actually the data loss can only happen when the cross component navigation is initiated. For example you change the product description and click other work center:

SAP CRM WebClient UI data loss设计原理

The implementation of data loss is:
Your click will trigger a cross component navigation. The navigation queue will be processed by UI framework:

SAP CRM WebClient UI data loss设计原理

The UI framework will delegate call to our class. Here we evaluate if data loss logic should be really triggered. If yes, register ourself as data loss handler.

SAP CRM WebClient UI data loss设计原理

In line 60, just set the data loss flag to true, which will be evaluated in step3.

SAP CRM WebClient UI data loss设计原理

UI framework will evaluate if data loss dialog should be displayed.

SAP CRM WebClient UI data loss设计原理

Here we can also found the registered data loss handler in step2.

SAP CRM WebClient UI data loss设计原理

Data loss dialog is displayed, clicking any button will trigger PROCESS_DATALOSS where Yes, No and Cancel button will be handled accordingly.

SAP CRM WebClient UI data loss设计原理
SAP CRM WebClient UI data loss设计原理

Since the navigation inside the same overview page will not trigger the method in step1, data loss logic will not be executed.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
SAP CRM WebClient UI data loss设计原理

相关文章: