Jump to: navigation, search

Multi Select (UBIK Client)


Revision as of 11:52, 7 October 2022 by CWI (Talk | contribs)

The Multi Select mode aims to improve the efficiency of performing actions on a large number of selected objects (XAMARIN & UWP), as well as changing property values for a large number of selected objects (UWP only). Editing property values for a large number of objects was known in some previous UWP versions as Mass Editing. Currently, the Multi Select mode is available for lists of children and documents.


Activating the Multi Select Mode

UWP

Clicking on a Multi Select button, which will appear when hovering over an item, activates the Multi Select mode. A panel at the left side gets displayed.

XAMARIN

The Multi Select mode gets enabled by holding (long tapping) an item. As soon as it is active, a panel on the bottom gets displayed.

Multi Select panel

UWP

The header displays the count of the currently selected items and three buttons. The first one is to selecting all items, the second for deselecting all items at one click. The "x" button closes the panel and deactivates the Multi Select mode. Further, the panel contains two tabs. The "properties" tab displays all common editable properties of the selected items. If none are selected, or if the selected items dont share any common properties, it will remain empty. The "other options" tab contains buttons to perform actions on all selected items.

XAMARIN

The Multi Select panel in the XAMARIN client is located at the bottom. It displays the count of selected items, command buttons for Copy, Discard, Delete and Download actions and a close button to deactivate the Multi Select mode.

Multi Select mode (UWP)


IC Hint square.pngNote: Please only use the buttons in the Multi Select Panel to perform actions on the selected objects. Others, like content area / context menu button actions are still related to the content page and do not work for the selected objects.


For the current usecase and the standard client, the Multi Select mode can be activated for Document and Children objects in parallel, hence when activating the Multi Select mode in the Children tab and then switching to Documents tab, it is possible to enable a separate Multi Select panel there.

By navigating away from the related content page, all active Multi Select modes get deactivated automatically.

Selection

Multi Select mode (XAMARIN)

By default, all objects are deselected when the Multi Select Mode gets invoked. Items can be selected by tapping on them. Therefore, navigating into the related objects by tapping on them is no longer available. To be able to navigate again, the Multi Select mode needs to be exited.

In UWP, there are some additional selection options further to the above mentioned "Select All" and "Deselect All" buttons. Selecting or deselecting a bunch of items in a row can be achieved by holding shift and first clicking on the first required item and then clicking on the last required item.

Performing Actions on selected items

The following actions are currently available in Multi Select mode:

  • Copy / Paste
  • Download Branches
  • Discard Content
  • Delete Content
  • Download and Checkout (UWP only)
  • Checkout (UWP only)
  • Release (UWP only)
  • Revert local changes (UWP only)


Copy and Paste

For copying multiple branches, the CopyBranchesCommand can be used without any additional CommandParameter. The already existing PasteBranchCommand already supports pasting multiple branches, therefore, it can be reused.

Download Branches

To download multiple branches, InvokeOnItemsCommand with a KeyValueList containing Key="Command" and Value="BranchDownloadCommand" as CommandParameter can be used.

Discard Content

To discard selected objects, InvokeOnItemsCommand with a KeyValueList containing Key="Command" and Value="DiscardContentCommand" as CommandParameter can be used.

Delete Content

To delete selected objects, InvokeOnItemsCommand with a KeyValueList containing Key="Command" and Value="DeleteContentCommand" as CommandParameter can be used.

Download and Checkout (UWP only)

The Download and Checkout actions can be provided like the command for Downloading, just with an additional KeyValueParameter to set the Key="CheckOut" to "True" as CommandParameter. It is shown in the following example:

<Button Command="{Binding InvokeOnItemsCommand}">
    <StackPanel Spacing="8">
        <FontIcon Glyph="{Binding ExclusiveAccessClaim, Source={StaticResource UBIKIcons}}" />
        <TextBlock Text="{Binding DownloadAndCheckOut_Label, Source={StaticResource AppResources}}" />
    </StackPanel>
    <Button.CommandParameter>
        <controls:KeyValueList>
            <controls:KeyValueParameter Key="Command" Value="BranchDownloadCommand" />
            <controls:KeyValueParameter Key="CheckOut" Value="True" />
        </controls:KeyValueList>
    </Button.CommandParameter>
</Button>

Checkout (UWP only)

To checkout multiple objects, the InvokeOnItemsCommand with a KeyValueList containing Key="Command" and Value="CheckOutContentCommand" and a KeyValueList with Key="SelectedItemsOnly" set to Value="True" as CommandParameter can be used. Itcan be inspected in the following example:

<Button Command="{Binding InvokeOnItemsCommand}">
    <StackPanel Spacing="8">
        <FontIcon Glyph="{Binding ExclusiveAccessClaim, Source={StaticResource UBIKIcons}}" />
        <TextBlock Text="{Binding Checkout_Label, Source={StaticResource AppResources}}" />
    </StackPanel>
    <Button.CommandParameter>
        <controls:KeyValueList>
            <controls:KeyValueParameter Key="Command" Value="CheckOutContentCommand" />
            <controls:KeyValueParameter Key="SelectedItemsOnly" Value="True" />
        </controls:KeyValueList>
    </Button.CommandParameter>
</Button>

Release (UWP only)

To checkout multiple objects, the InvokeOnItemsCommand with a KeyValueList containing Key="Command" and Value="ReleaseContentCommand" and a KeyValueList with Key="SelectedItemsOnly" set to Value="True" as CommandParameter can be used. Itcan be inspected in the following example:

<Button Command="{Binding InvokeOnItemsCommand}">
    <StackPanel Spacing="8">
        <FontIcon Glyph="{Binding ExclusiveAccessRelease, Source={StaticResource UBIKIcons}}" />
        <TextBlock Text="{Binding Release_Label, Source={StaticResource AppResources}}" />
    </StackPanel>
    <Button.CommandParameter>
        <controls:KeyValueList>
            <controls:KeyValueParameter Key="Command" Value="ReleaseContentCommand" />
            <controls:KeyValueParameter Key="SelectedItemsOnly" Value="True" />
        </controls:KeyValueList>
    </Button.CommandParameter>
</Button>

Revert local changes (UWP only)

To revert locally executed changes on objects, the InvokeOnItemsCommand with a KeyValueList containing Key="Command" and Value="RevertLocalChangesCommand" as CommandParameter should be used.

Editing common 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.

IC Hint square.pngFor such a property, if all selected objects share the same property value, that value is displayed as it is; Otherwise, "..." is displayed to indicate the presence of various values.


Once a user clicks/taps on such a property, an editor dialog is shown and the user can enter values just like when editing properties of single objects. However, when the user finishes editing and confirms the dialog, the value is saved to that property of all selected objects immediately.

IC Hint square.pngIf 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.