What is that 'Optimize code' setting on tables?
The table is arguably one of the most commonly used components in applications built using Pega. It is also one of the most feature rich components. Over the years a lot of complexity has been added to the component so that it was able to fulfill requirements for which older browsers did not have standard HTML + CSS based solution. We have however deprecated older browsers, and as of the publishing of this article we only support IE11, Edge, Safari, Chrome, and Firefox, and have dropped support for older versions of Internet Explorer. That means that we can start to use some of the newer capability and advancements in both browser technology and front-end technology.
At the same time, all that functionality cannot be replaced within a matter of a release, and in certain cases there may not be good modern alternatives. Over the last few releases we have been developing a new modern table, which comes to life when the 'Optimize code' checkbox is enabled. At this time this new mode of the table contains many features and can be used in many use cases. So wherever possible we encourage you to use this new table by checking the 'Optimize code' checkbox. Here are the advantages:
- Very light on the browser as it uses very little JavaScript
- Uses client-side template-based rendering technology, which is much more performant than the server-side rendering that is used by the old table
- Natural resize and alignment within the browser since there is no forced adjustments through JavaScript.
- Supports new capabilities such as table personalization where an end user can personalize their view of the table by adding and removing columns, sorting and filtering the data in the table and saving that state as a personalization
We will continue to add new capability to this new rendering of the table, whether it be net new functionality or moving functionality from the old table to the new table. Once we reach a critical mass of features, the 'Optimize code' setting will be the default mode of rendering for the table, and at a point in the future we will deprecate the old rendering of the table.