Bloqs 0.1.6 – Release Notes

We’re pleased to announce Bloqs 0.1.6, which introduces new features, refinements, and improvements for easier and more powerful app development.

Renames

To improve clarity and consistency, several names have been updated:

  • AddSimpleCrudForClassAddCrudPagesForClass

  • SimpleCrudBuilderConfigurationCrudPagesBuilderConfiguration

  • HiddenAttributeExcludeFromDefaultUIAttribute


Easier DataService Creation

A new DataServiceCreatorArgs helper makes it simpler to create a DataService directly from a command or query.

// From command
var dataService = dataServiceCreator.GetDataService<Activity>(
    DataServiceCreatorArgs.FromCommand<Activity>(command)
);

// From query
var dataService = dataServiceCreator.GetDataService<Activity>(
    DataServiceCreatorArgs.FromQuery<Activity>(query)
);

AppDetails Override Constructor

You can now initialize AppDetails directly when creating an AppBuilder:

var builder = new AppBuilder(
    new AppDetails
    {
        Name = appName,
        Title = "Activity App",
        PrimaryColor = "#1fc198",
        SecondaryColor = "#585b62",
        Avatar = "_@",
        HomePageId = AppConstants.Pages.HomePage,
    }
);

Component Parameters

Custom components now support component parameters for more flexible configuration.

public Dictionary<string, object>? ComponentParameters { get; set; }

These parameters are injected as Blazor parameters in your custom component.

Example

When defining a custom component:

<h3 style="color:@Color">This is a custom component</h3>

@code {
    [Parameter] 
    public string? Color { get; set; }
}

You can pass parameters like this:

new CustomComponent
{
    ComponentParameters = new Dictionary<string, object>
    {
        ["Color"] = "red"
    }
}

This will render the component with Color = "red".


Drag & Drop File Upload

A new drag & drop file upload control has been added for easier file handling in apps.


Context Arguments in Logic, Commands & Queries

ContextArgs are now available inside logic blocks and most commands and queries.

This makes it possible to access route arguments directly in your code.

Example If the page URL is:

/page/copy-activity/arg0/arg1

Then arg0 and arg1 are automatically available via the ContextArgs array.

These context arguments can be accessed in logic blocks (both visual and programmatically using C#).


Soft Delete by Default

Soft delete is now enabled by default. Entities include a new DeleteStatus enum:

public enum DeleteStatus
{
    None = 0,
    ManuallyDeleted = 1,
    AutomaticallyDeleted = 2
}

MultiQuery: IncludeDeleted

By default, MultiQuery no longer returns entities that have been soft deleted. A new property IncludeDeleted can be set to true if you want to include deleted entities in query results.

var query = new MultiQuery
{
    IncludeDeleted = true
};

Core Enhancements, New Features & New Documentation

Last updated