Nov 22, 2016
Feb 20, 2017
Core
Closed, Acceptance tests pass
PlaceHolder is used in the Email Actor and RichText Element.
It is template of text, with placeholders like #NAME# #EMAIL#, where NAME is a field name of a form.
And, there are some extra predefined placeholders, like #SUMMARY#, that output a summary of all fields in form.
All available placeHolders are
EditView UI might provide the combobox of available replaceable PlaceHolders, so the editor can choose a placeHolder easily. By default, The EmailActor and the RichTextElement have this combobox.
It is provided by this code
FormsDataStore.GetAvailableReplacablePlaceHolders()
All processing of Placeholder is put in the PlaceHolderService (you can replace it with Dependency Injection - DI).
By default, it activates all instances IPlaceHolderProvider interface, and calls ProcessPlaceHolders().
PlaceHolderService calls available IPlaceHolderProviders in a chain of processing, by Order property. The latter provider is able to alter the previous provider result.
DefaultPlaceHolderProvider is the default implementation of IPlaceHolderProvider: