Huy,
I should add to what I wrote yesterday, where I suggested writing a custom GBC front-call to read/write stored settings, I should add the normal disclaimer of when you get into that depth of customisation you are doing so at your own risk. It can go one of three ways ...
- either we like the customisation you make, we decide to incorporate it into the product, then the on-going maintenance becomes our problem and not yours. This is actually how the "AutoFill all columns", and "Fit to view all columns" options when you right-click in a Table evolved
- we make no changes and your customisation continues to work
- we make changes underneath in a maintenance, or major release, and suddenly your custom front-call that hooks into some GBC javascript doesn't work
... so with this last possibility, the onus is on you for every maintenance/major release you use to test that your customisation still works and if not adapt. Is a change likely?, lets just say this line "this._storedSettingsKey = "gwc.forms." + formName + ".tables." + tabName;" will have to change one day to cater for the fact you can have the same form name using same table name in different directories and so isn't a unique key as it could be for table stored settings.
So I'd discourage you from having too much of this advanced GBC customisation in production, keep your customisation to the hooks we allow via theme.scss.json etc, but by all means if you think something is possible write the customisation, show it to your support contact, and you never know it might end up in the product like AutoFit all columns, Fit to view all columns.
The same disclaimer applies to Dom Tree manipulation if you are creating forms dynamically as part of a Dynamic Dialog approach, although the form AUI tree is pretty stable and should not change over a maintenance release.
Reuben