Changes
/* Template Selectors */
=== ChildItemTemplateSelector (UWP & Xamarin) ===
<tabs>
<tab name="UWP">
* Returns a custom template if one is configured.
* Otherwise, it returns a ''UBIKProjectItem'' template if the given item is a MROViewModel and contains ProjectData (namely if the associated object is a [[MRO_Objects_(Client)#MRO_objects_with_project_information_.28WinX_only.29|MRO object with project information]])* Otherwise, it returns a ''UBIKTaskItem'' template if the given item is a TaskViewModel (namely if the associated object is a [[MRO_Objects_(Client)#Task|Task]])* If nothing of the above fits, it returns a ''UBIKChildItem''template.
</tab>
<tab name="Xamarin">
* If the given ContentListItemViewModel is not null:
** If the given item is a TaskViewModel (namely if the associated object is a [[MRO_Objects_(Client)#Task|Task]]) and the TaskItemTemplate is not null, it returns that TaskItemTemplate.
** Otherwise, if the given item is a TaskViewModel (namely if the associated object is a [[MRO_Objects_(Client)#Task|Task]]) & the TaskItemTemplate is null, it returns a ''UBIKTaskItem''template.
** If the given MROViewModel contains ProjectData (namely if the associated object is a [[MRO_Objects_(Client)#MRO_objects_with_project_information_.28WinX_only.29|MRO object with project information]]) and the ProjectItemTemplate is not null, it returns that ProjectItemTemplate.
** Otherwise, if the given MROViewModel contains ProjectData (namely if the associated object is a [[MRO_Objects_(Client)#MRO_objects_with_project_information_.28WinX_only.29|MRO object with project information]]) and the ProjectItemTemplate is null, it returns a ''UBIKProjectItem''template.
** If nothing of the above fits & the ChildItemTemplate is not null, it returns that ChildItemTemplate.
** If nothing of the above fits & the ChildItemTemplate is null, it returns a ''UBIKChildItem''template.
* Returns null if the given ContentListItemViewModel is null.
</tab>
</tabs>
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== PropertyDirectItemTemplateSelector (UWP & Xamarin) ===
<tabs>
<tab name="UWP">
** if the related property is read only or
** if the object is locked or
** when the object property requires authentication.
* Otherwise:
** Returns a ''UBIKPropertyDirectItemList'' template if the MetaProperty of the given item has a [[UBIK_Client_Basics#Selective_List_Properties|SelectiveList]].** Returns a ''UBIKPropertyDirectItemBool'' template if the given PropertyViewModel Property is of type Bool.** Returns a ''UBIKPropertyDirectItemString'' template if the given PropertyViewModel Property is of type String.** Returns a ''UBIKPropertyDirectItemInt'' template if the given PropertyViewModel Property is of type Int.** Returns a ''UBIKPropertyDirectItemDouble'' template if the given PropertyViewModel Property is of type Double.** Returns a ''UBIKPropertyDirectItemDateTime'' template if the given PropertyViewModel Property is of type DateTime.** Returns a ''UBIKPropertyDirectItemGuid'' template if the given PropertyViewModel Property is of type Guid.** Returns a ''UBIKPropertyDirectItemGeoData'' template if the givenPropertyViewModel given Property is of type GeoData.
</tab>
<tab name="Xamarin">
** if the related property is read only or
** if the object is locked or
** when the object property requires authentication.
* Otherwise:
** Returns a ''UBIKPropertyDirectItemList'' template if the MetaProperty of the given item has a [[UBIK_Client_Basics#Selective_List_Properties|SelectiveList]].** Returns a ''UBIKPropertyDirectItemBool'' template if the given PropertyViewModel Property is of type Bool.** Returns a ''UBIKPropertyDirectItemString'' template if the given PropertyViewModel Property is of type String.** Returns a ''UBIKPropertyDirectItemInt'' template if the given PropertyViewModel Property is of type Int.** Returns a ''UBIKPropertyDirectItemDouble'' template if the given PropertyViewModel Property is of type Double.** Returns a ''UBIKPropertyDirectItemGuid'' template if the given PropertyViewModel Property is of type Guid.
</tab>
</tabs>
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== TaskPropertyTemplateSelector (UWP & Xamarin) ===
<tabs>
<tab name="UWP">
** if the related property is read only or
** if the object is locked or
** when the objects property requires authentication.
* Otherwise:
** Returns a ''UBIKTaskPropertyList'' template if the MetaProperty of the given item has a [[UBIK_Client_Basics#Selective_List_Properties|SelectiveList]].** Returns a ''UBIKTaskPropertyBool'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Bool.** Returns a ''UBIKTaskPropertyString'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type String.** Returns a ''UBIKTaskPropertyInt'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Int.** Returns a ''UBIKTaskPropertyDouble'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Double.** Returns a ''UBIKTaskPropertyDateTime'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type DateTime.** Returns a ''UBIKTaskPropertyGuid'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Guid.** Returns a ''UBIKTaskPropertyGeoData'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type GeoData.
</tab>
<tab name="Xamarin">
** if the related property is read only or
** if the object is locked or
** when the objects property requires authentication.
* Otherwise:
** Returns a ''UBIKTaskPropertyList'' template if the MetaProperty of the given item has a [[UBIK_Client_Basics#Selective_List_Properties|SelectiveList]].** Returns a ''UBIKTaskPropertyBool'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Bool.** Returns a ''UBIKTaskPropertyString'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type String.** Returns a ''UBIKTaskPropertyInt'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Int.** Returns a ''UBIKTaskPropertyDouble'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Double.** Returns a ''UBIKTaskPropertyGuid'' template if the given TaskViewModels (namely the associated object is a [[MRO_Objects_(Client)#Task|Task]]) Value is of type Guid.
</tab>
</tabs>
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== HotSpotTemplateSelector (UWP & Xamarin) ===
=== ProfileItemTemplateSelector (UWP) ===
* The ProfileItemTemplateSelector This returns a ''UBIKProfileItem'' template if the given item is a Profile file.* If the given item is a folder, it returns a ''UBIKProfileFolder''template.{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== RootItemTemplateSelector (UWP) ===
* If nothing of the above fits, it returns a ''UBIKMainItem''.
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== ComboBoxItemTemplateSelector (UWP) ===
* The ComboBoxItemTemplateSelector This returns a ''DropDownItemTemplate'' for drop-down list items.
* Otherwise, it returns a ''ComboBoxSectionItemTemplate'' (for the selected item when the drop-down list is closed).
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== ChildAreaTemplateSelector (UWP) / ChildAreaTemplateConverter (Xamarin) ===
</tab>
</tabs>
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== ContentAreaTemplateSelector (UWP) / ContentAreaTemplateConverter (Xamarin) ===
* If the context object is classified with the [[SYSCLS_CONTENTAREATEMPLATE|ContentAreaTemplate Classification]] and carries a valid content area template name:
** Tries to return a custom template with the name of CustomTemplateName + Suffix;
** If not found, returns an [[Developer_Mode#Errors|error template ]] (strict policy on) or goes to rule 2 (strict policy off).
* Otherwise:
** Tries to return a custom template with the name of ''UBIKContentArea'' + Suffix;
** If not found, it returns an [[Developer_Mode#Errors|error template]].
</tab>
<tab name="Xamarin">
* If the context object is classified with the [[SYSCLS_CONTENTAREATEMPLATE|ContentAreaTemplate Classification]] and carries a valid content area template name:
** Tries to return a custom template with the name of CustomTemplateName;
** If not found, returns an [[Developer_Mode#Errors|error template]].
* Otherwise:
** Tries to return a custom template with the name of ''UBIKContentArea'';
** If not found, it returns an [[Developer_Mode#Errors|error template]].
</tab>
</tabs>
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
=== PropertyEditorItemTemplateSelector (UWP) / EditTemplateConverter (Xamarin) ===