I have a design attribute which I want to be hidden as we are not using that attribute anymore but have to keep it here for legacy . Is there any way we can hide/show any design element in .design file?
-
How is your legacy system using the design attribute? I could not find how you could hide a design attribute.– JRiffeJul 19, 2017 at 16:17
-
2As far as I can tell, you can't "deprecate" design tokens. You might want to change the label or something to indicate that it's no longer needed.– sfdcfoxJul 19, 2017 at 16:33
-
Thanks JRiffe, Initially I have Text type input which expects a string.. but new requirement is to show a picklist . I am able to show picklist in design panel but if the stored value is not the new picklist datasource then component breaks.. even the published page doesn't show anything which is weird.. I am using this class : developer.salesforce.com/docs/atlas.en-us.lightning.meta/… Thanks sfdcfox..– balinder singhJul 19, 2017 at 17:32
1 Answer
You can implement the isValid method in your DynamicPickList class to allow the invalid values as well to get around the save validation issue. See https://developer.salesforce.com/docs/atlas.en-us.210.0.apexcode.meta/apexcode/apex_class_VisualEditor_DynamicPickList.htm
I'm afraid there is no mechanism today to remove design attributes once your component has been released. The attribute is part of the API contract of your component, and there will be pages using that. If the component hasn't been released/used anywhere you can remove the attribute, but I believe you first have to remove the implements="flexipage:xyz" interface from the .cmp to get around the validation.