Changes

Multi Select (UBIK Client)

2,117 bytes added, 16:50, 12 January 2023
== Activating the Multi Select Mode multi select mode ==
<tabs>
== Multi Select select panel ==
<tabs>
== Performing Actions actions on selected items ==
The following actions are currently available in Multi Select mode:
Actions marked with (*) are currently not presented in the standard XAMARIN UI. But they can be easily customized in XAML code with the following commands.
=== Copy and Paste paste ===
To copy multiple branches, the <code>ListViewModel.BulkOperation.CopyBranchesCommand</code> can be used without any additional CommandParameters.
The <code>ContentViewModel.PasteBranchCommand</code> already supports pasting multiple branches, therefore, it can be used to paste the previously copied objects. To clarify, the UI (XAMARIN & UWP) does not include pasting content into the selected objects, rather pasting multiple, previously copied branches into one object. This can be done eg. via the Paste option in the Context Menu.
=== Download Branches branches ===
To download multiple branches, <code>ListViewModel.BulkOperation.InvokeOnItemsCommand</code> with a KeyValueList containing <code>Key="Command"</code> and <code>Value="BranchDownloadCommand"</code> as CommandParameter can be used.
=== Discard Content content ===
To discard selected objects, <code>ListViewModel.BulkOperation.InvokeOnItemsCommand</code> with a KeyValueList containing <code>Key="Command"</code> and <code>Value="DiscardContentCommand"</code> as CommandParameter can be used.
=== Delete Content content ===
To delete selected objects, <code>ListViewModel.BulkOperation.InvokeOnItemsCommand</code> with a KeyValueList containing <code>Key="Command"</code> and <code>Value="DeleteContentCommand"</code> as CommandParameter can be used.
=== Download and Checkout checkout ===
This can be achieved by using the command for downloading, just with an additional KeyValueParameter to set the <code>Key="CheckOut"</code> to "True" as CommandParameter:
<source lang = "xml">
== Editing common Properties properties of selected items (UWP only) ==
When selecting or deselecting objects, the commonly shared properties on the left side are constantly updated during that process.
{{Hint|If the property being edited has various values, a default value (instead of the actual ones) is shown in the editor. E.g. empty for string type, false for boolean type, etc.}}
 
 
== Multi select for filtered lists ==
 
In the standard UI, multi selection targets the original unfiltered lists. However, those lists are often presented in several filtered lists in many cases. See content filtering in [[XAML_Changes_in_UBIK_WinX_3.5#Filtering_by_expressions|UWP]] and in [[Xamarin_XAML#Content_filtering|Xamarin]].
 
The multi select related XAML code (essentially <code>ListViewModel.BulkOperation</code>) in the standard UI can not be used directly in such scenarios. Because all filtered lists share the same original source list (<code>ListViewModel</code>). If the multi select feature is turned on from the original source list, all filtered lists will be affected.
 
For example, a source list can be divided into two filtered lists, one for finished tasks and the other for the unfinished ones.
 
'''UNDER CONSTRUCTION'''
<tabs>
<tab name="UWP">
<source lang = "xml">
<StackPanel xmlns:ctrls="using:UBIK.WinX.Controls">
<ctrls:EvalExpression
x:Name="Evaluator"
Context="{Binding}"
Expression="Context.Values[&quot;LK_OFFLINE&quot;]!=null || Context.Values[&quot;GUIDREF&quot;]!=null" />
<TextBlock
Foreground="White"
Text="Some Text"
Visibility="{Binding ElementName=Evaluator, Path=Result, Converter={StaticResource BoolToVisConverter}}" />
</StackPanel>
</source>
The TextBlock should be visible as long as at least one of the context object's two named properties has a value.
</tab>
 
<tab name="Xamarin">
<source lang = "xml">
<StackLayout xmlns:ctrls="clr-namespace:UBIK.CPL.Controls;assembly=UBIK.CPL">
<ctrls:EvalExpression
x:Name="Evaluator"
Context="{Binding}"
Expression="Context.Values[&quot;LK_EXAMPLE&quot;]!=null || Context.Values[&quot;GUIDREF&quot;]!=null" />
<Label
TextColor="#00000"
IsVisible="{Binding Path=Result, Source={x:Reference Evaluator}, Converter={StaticResource BoolToBool}}" />
</StackLayout>
</source>
The Label should be visible as long as at least one of the context object's two named properties has a value.
</tab>
</tabs>
 
'''UNDER CONSTRUCTION'''
[[Category:Client|Multi Select (UBIK Client)]]