=== ChildItemTemplateSelector (UWP & Xamarin) ===
This returns a fitting DataTemplate template based on the given child item. <tabs><tab name="UWP">according to the following rules:
* If the child item is classified with the [[SYSCLS_CHILDITEMTEMPLATE|child item template classification]] and carries a valid child item template name:
** 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.
** 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.
</tab>
<tab name="Xamarin">
* If the child item is classified with the [[SYSCLS_CHILDITEMTEMPLATE|child item template classification]] and carries a valid child item template name:
** 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 item 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]].}}
[[Category:Client|UBIK Templates]]
[[Category:UBIK|UBIK Templates]]
[[Category:WinX|UBIK Templates]]
=== PropertyDirectItemTemplateSelector (UWP & Xamarin) ===
This returns a fitting DataTemplate template based on the given property item.according to the following rules:
<tabs>
<tab name="UWP">
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
[[Category:Client|UBIK Templates]]
[[Category:UBIK|UBIK Templates]]
[[Category:WinX|UBIK Templates]]
=== TaskPropertyTemplateSelector (UWP & Xamarin) ===
This returns a fitting DataTemplate template based on the given task property item.according to the following rules:
<tabs>
<tab name="UWP">
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}
[[Category:Client|UBIK Templates]]
[[Category:UBIK|UBIK Templates]]
[[Category:WinX|UBIK Templates]]
=== HotSpotTemplateSelector (UWP & Xamarin) ===
This returns a fitting DataTemplate template based on the given [[HotSpotting#HotSpots|HotSpot]] item.according to the following rules:
* Returns a ''UBIKAngularLinkHotSpot'' template if the given [[HotSpotting#HotSpots|HotSpot]] is of type LinkHotSpot with HotSpotShape Angular & if the UBIKAngularLinkHotSpot template is not null.
* Returns a ''UBIKRoundLinkHotSpot'' template if the given [[HotSpotting#HotSpots|HotSpot]] is of type LinkHotSpot with HotSpotShape Round & if the UBIKRoundLinkHotSpot template is not null.
=== RootItemTemplateSelector (UWP) ===
This returns a fitting DataTemplate template based on the given root itemaccording to the following rules:* If the root item is classified with the [[SYSCLS_CHILDITEMTEMPLATE|child item template classification]] and carries a valid root item template name:** 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.* It * 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 ''UBIKProjectItemUBIKTaskItem'' template if .** 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]])and the ProjectItemTemplate is not null, it returns that ProjectItemTemplate.* It returns a ''UBIKTaskItem'' template * Otherwise, if the given item is a TaskViewModel MROViewModel contains ProjectData (namely if the associated object is a [[MRO_Objects_(Client)#TaskMRO_objects_with_project_information_.28WinX_only.29|TaskMRO object with project information]])and the ProjectItemTemplate is null, it returns a ''UBIKProjectItem'' template.** If nothing of the above fits, it returns a ''UBIKMainItem''template.
{{Hint|To get an overview of how template selectors work, please refer to [[UBIK_Templates#Template_loading_mechanism|Template loading mechanism]].}}