Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions 15/umbraco-ui-builder/.gitbook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root: ./

​structure:
readme: README.md
summary: SUMMARY.md

redirects:
getting-started/upgrading/README: upgrading/upgrade.md
getting-started/upgrading/version-specific-upgrades: upgrading/version-specific.md
getting-started/installation: installation/installation.md
getting-started/licensing-model: installation/licensing-model.md
guides/migrating-from-konstrukt-to-umbraco-ui-builder: upgrading/migrating-from-konstrukt-to-umbraco-ui-builder.md
29 changes: 29 additions & 0 deletions 15/umbraco-ui-builder/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
description: Documentation for Umbraco UI Builder, the backoffice UI builder for Umbraco.
---

# Umbraco UI Builder Documentation

Umbraco UI Builder is the backoffice UI builder for custom data structures configured via a fluent API.

![Example Umbraco UI Builder UI](images/listview.png)

If you have a custom data store that you want to content manage from within Umbraco, then you can use Umbraco UI Builder. With some lines of code, you can configure a custom administration UI, and reuse many core components with a consistent look and feel.

With Umbraco UI Builder, custom backoffice integrations can now take a matter of minutes, rather than days.

## Using the Documentation

**This documentation is aimed at developers** who have at least a basic understanding of Umbraco, as well as C#/MVC principles.

If you are new to Umbraco UI Builder, it is recommended that you start by taking a look at the [Getting Started](./getting-started/overview.md) section. This provides details on the system requirements and how to install Umbraco UI Builder.

Once you have Umbraco UI Builder installed and are wondering "What next?" then you'll want to take a look at the [Guides](./guides/creating-your-first-integration.md) section. This provides a quick-start example of how to configure Umbraco UI Builder.

Use the main menu to dive deeper into Umbraco UI Builder and get to know all of its features in detail. You can then jump to the specific topic you are interested in to find out more.

Finally, for all other resources/useful information you can head over to the [Miscellaneous](./miscellaneous/conventions.md) section.

## Getting Help

If you require assistance you can use our support channels to seek assistance.
92 changes: 92 additions & 0 deletions 15/umbraco-ui-builder/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Table of contents

* [Umbraco UI Builder Documentation](README.md)
* [Known Issues](known-issues.md)
* [Release Notes](release-notes.md)

## Installation

* [Installing Umbraco UI Builder](installation/installation.md)
* [Licensing](installation/licensing-model.md)

## Upgrading

* [Upgrading Umbraco UI Builder](upgrading/upgrade.md)
* [Version Specific Upgrade Notes](upgrading/version-specific.md)
* [Migrate from Konstrukt to Umbraco UI Builder](upgrading/migrating-from-konstrukt-to-umbraco-ui-builder.md)

## Getting Started

* [Overview](getting-started/overview.md)
* [Configuration](getting-started/configuration.md)
* [User Interface](getting-started/user-interface.md)

## How-to Guides

* [Creating your first integration](guides/creating-your-first-integration.md)

## Areas

* [Overview](areas/overview.md)
* [Sections](areas/sections.md)
* [Summary Dashboards](areas/summary-dashboards.md)
* [Trees](areas/trees.md)
* [Folders](areas/folders.md)
* [Dashboards](areas/dashboards.md)
* [Context Apps](areas/context-apps.md)

## Collections

* [Overview](collections/overview.md)
* [The Basics](collections/the-basics.md)
* [List Views](collections/list-views.md)
* [Field Views](collections/field-views.md)
* [Editors](collections/editors.md)
* [Child Collections](collections/child-collections.md)
* [Child Collection Groups](collections/child-collection-groups.md)
* [Retrieve Child Collections](collections/retrieve-child-collections.md)
* [Related Collections](collections/related-collections.md)

## Searching

* [Overview](searching/overview.md)
* [Searchable Properties](searching/searchable-properties.md)

## Filtering

* [Overview](filtering/overview.md)
* [Global Filters](filtering/global-filters.md)
* [Data Views](filtering/data-views.md)
* [Data Views Builders](filtering/data-views-builders.md)
* [Filterable Properties](filtering/filterable-properties.md)

## Actions

* [Overview](actions/overview.md)
* [The Basics](actions/the-basics.md)
* [Action Visibility](actions/action-visibility.md)
* [Inbuilt Actions](actions/inbuilt-actions.md)

## Cards

* [Overview](cards/overview.md)
* [Count Cards](cards/count-cards.md)
* [Custom Cards](cards/custom-cards.md)

## Property Editors

* [Overview](property-editors/overview.md)
* [Entity Picker](property-editors/entity-picker.md)

## Advanced

* [Virtual Sub Trees](advanced/virtual-sub-trees.md)
* [Encrypted Properties](advanced/encrypted-properties.md)
* [Value Mappers](advanced/value-mappers.md)
* [Repositories](advanced/repositories.md)
* [Events](advanced/events.md)

## Miscellaneous

* [Conventions](miscellaneous/conventions.md)
* [Umbraco Aliases](miscellaneous/umbraco-aliases.md)
109 changes: 109 additions & 0 deletions 15/umbraco-ui-builder/actions/action-visibility.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
description: Controlling the visibility of actions in Umbraco UI Builder, the backoffice UI builder for Umbraco.
---

# Action Visibility

By default actions are not visible in the UI and you must expressly define when and where an action should display. This can be achieved in two ways, either on the action definition itself or at the point of registration on the collections config.

## Controlling the default action visibility

To define the default visibility of an action at the action level you can do this by overriding the `IsVisible` method of the `Action<>` base class.

````csharp
// Example
public class MyAction : Action<ActionResult>
{
...
public override bool IsVisible(ActionVisibilityContext ctx)
{
return ctx.ActionType == ActionType.Bulk
|| ctx.ActionType == ActionType.Row;
}
...
}
````

The `IsVisible` method is passed a `ActionVisibilityContext` which you should use to decide whether the action should display, returning `true` if it should, or `false` if it should not. For more information check the [Action visibility context](#action-visibility-context).

## Overriding an actions visibility

Overriding an actions visibility is controlled via the [collections](../collections/overview.md) configuration.

### **AddAction&lt;TMenuActionType&gt;(Lambda actionConfig = null) : CollectionConfigBuilder&lt;TEntityType&gt;**

Adds an action of the given type to the collection with the given visibility.

````csharp
// Example
collectionConfig.AddAction<ExportMenuAction>(actionConfig => actionConfig
.SetVisibility(x => x.ActionType == ActionType.Bulk
|| x.ActionType == ActionType.Row)
);
````

### **AddAction(Type actionType, Lambda actionConfig = null) : CollectionConfigBuilder&lt;TEntityType&gt;**

Adds an action of the given type to the collection with the given visibility.

````csharp
// Example
collectionConfig.AddAction(typeof(ExportMenuAction), actionConfig => actionConfig
.SetVisibility(x => x.ActionType == ActionType.Bulk
|| x.ActionType == ActionType.Row)
);
````

### **AddAction(IAction action, Lambda actionConfig = null) : CollectionConfigBuilder&lt;TEntityType&gt;**

Adds the given action to the collection with the given visibility.

````csharp
// Example
collectionConfig.AddAction(action, actionConfig => actionConfig
.SetVisibility(x => x.ActionType == ActionType.Bulk
|| x.ActionType == ActionType.Row)
);
````

## Action visibility context

When controlling the visibility of an action you will be given a `ActionVisibilityContext` object from which you can decide whether to show the action or not. The visibility context contains two key pieces of information on which you can base this decision.

### ActionType

The action type property is an enum property that define which area of the UI it is that wishes to access this action. Enabling an action to display for a given action type will determine where an action is displayed.

#### ContainerMenu

The `ContainerMenu` action type determines that the action will be displayed in both the tree of the collection and its list view actions menu.

![Container Menu](../images/container_actions_menu.png)

#### EntityMenu

The `EntityMenu` action type determines that the action will be displayed in the actions menu of a collection editor UI.

![Entity Menu](../images/entity_actions_menu.png)

#### Bulk

The `Bulk` action type determines that the action will be displayed in the collection list view bulk actions menu.

![Bulk Actions](../images/bulk_actions_menu.png)

#### Row

The `Row` action type determines that the action will be displayed in the collection list view action row menu.

![Row Actions](../images/row_actions_menu.png)

#### Save

The `Save` action type determines that the action will be displayed as a sub button in an entity editors save button. All `Save` action types trigger a save before the action is executed and so to convey this, all `Save` action type button labels are prefixed `Save & [Action Name]`

![Save Actions](../images/save_actions_menu.png)

### UserGroups

The user groups collection contains a list of Umbraco `IReadOnlyUserGroup` objects for the current logged-in backoffice user. This allows you to control the visibility of actions for given user group members.
19 changes: 19 additions & 0 deletions 15/umbraco-ui-builder/actions/inbuilt-actions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
description: A list of inbuilt actions that come with Umbraco UI Builder, the backoffice UI builder for Umbraco.
---

# Inbuilt Actions

Umbraco UI Builder comes with some inbuilt actions that are available for you to use straight away.

## ExportEntityAction

**Namespace** Umbraco.UIBuilder.Infrastructure.Configuration.Actions

Provides a Comma-Separated Values (CSV) export functionality converting all properties to column headings and rendering each entity property values on each row.

## ImportEntityAction

**Namespace** Umbraco.UIBuilder.Infrastructure.Configuration.Actions

Provides a Comma-Separated Values (CSV) import functionality matching column headings with entity properties and mapping row values to an entity.
15 changes: 15 additions & 0 deletions 15/umbraco-ui-builder/actions/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
description: Configuring actions in Umbraco UI Builder, the backoffice UI builder for Umbraco.
---

# Actions

Actions provide an API to perform custom tasks against a collection and its entities from multiple locations in the UI. Examples: menu actions, bulk actions, or individual table row actions.

![Bulk Actions UI](../images/bulk_actions.png)

Get started with actions by learning about the basics.

{% content-ref url="the-basics.md" %}
[the-basics.md](the-basics.md)
{% endcontent-ref %}
Loading
Loading