Indice.Features.Cases.UI 8.50.0

dotnet add package Indice.Features.Cases.UI --version 8.50.0
                    
NuGet\Install-Package Indice.Features.Cases.UI -Version 8.50.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Indice.Features.Cases.UI" Version="8.50.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Indice.Features.Cases.UI" Version="8.50.0" />
                    
Directory.Packages.props
<PackageReference Include="Indice.Features.Cases.UI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Indice.Features.Cases.UI --version 8.50.0
                    
#r "nuget: Indice.Features.Cases.UI, 8.50.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Indice.Features.Cases.UI@8.50.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Indice.Features.Cases.UI&version=8.50.0
                    
Install as a Cake Addin
#tool nuget:?package=Indice.Features.Cases.UI&version=8.50.0
                    
Install as a Cake Tool

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[8.50.0] - 2026-06-16

Overriding / extending translations

Default implementation covers all the previous el.json keys and more (previously hardcoded UI html,ts etc), but if you want to override any of them or add your own, you can layer a second resource onto the same cases-i18n endpoint with AddTranslationsResource.

The keys for the new resources are the same as the previous keys in el.json but with dots instead of camelCase, and prefixed with the page name. For example, the key groupedByCasetype in el.json becomes dashboard.groupedByCasetype in the new resource file.

Note: You can find the rest of the keys in Indice.Features.Cases.Server project, inside the Resources folder.

Previous keys in el.json example:

{
  "dashboard": {
    "groupedByCasetype": "Συνολικές Υποθέσεις ανά Τύπο Υπόθεσης"
    }
}

New resource en/neutral example:

  <data name="dashboard.groupedByCasetype" xml:space="preserve">
    <value>Total Cases by Case Type</value>
  </data>

New resource el example:

  <data name="dashboard.groupedByCasetype" xml:space="preserve">
    <value>Συνολικές Υποθέσεις ανά Τύπο Υπόθεσης</value>
  </data>

Example override:

// resourceName: "MyApp.Cases.Translations" -> look for MyApp.Cases.Translations.{culture}.resx embedded resources * inside a Resources folder * (by default)
// endpointRoutePattern: null -> reuse the default cases-i18n endpoint
// resourceLocation: "MyApp.Host" -> look for embedded resources in the MyApp.Host assembly
builder.Services.AddTranslationsResource( resourceName: "MyApp.Cases.Translations",
    endpointRoutePattern: null, resourceLocation: "MyApp.Host");

Make the added resource actually resolve. All resources sharing the endpoint are resolved in one pass; if any one can't find its embedded manifest, the entire request throws MissingManifestResourceException. For your resource to resolve:

  • Provide a neutral .resx (e.g. MyApp.Cases.Translations.resx), not only culture-specific ones.
  • Mark the .resx files as EmbeddedResource.
  • With ResourcesPath = "Resources" (the platform default), place them under a Resources folder so the manifest name is {Assembly}.Resources.{baseName}. Pass the base name without the Resources. prefix — the ResourcesPath adds it.
  • Pass the correct assembly name as resourceLocation, and ensure that assembly's RootNamespace matches its assembly name.

Note: You can remove the previous translation file el.json as it is no longer needed.

Disabling the new endpoints.

By default, the system will automatically map the built-in translation endpoints.<br> However, if you have integrated your own custom translation service and wish to bypass the provided endpoints entirely, you can easily opt out of this default behavior. Simply update your startup configuration by setting CaseServerOptions.MapTranslations to false

builder.AddCaseServer(options => { options.PathPrefix = "/api"; // rest of configs...
                                   options.MapTranslations = false; });

[8.42.2] - 2026-06-04

Fixed

  • A bug when the configuration had ReferenceNumber filter enabledm, the filter was not shown.

[7.31.2] - 2024-10-11

Added

  • UnauthorizedComponent from Indice.Angular library to handle Forbidden requests.

[7.28.3] - 2024-08-30

Added

  • GridColumnConfig property to CaseType, you can change your lib-list-view to display custom columns.

[7.23.3] - 2024-06-20

Added

  • The selected specific case type that is selected by the side navbar menu (navlinks) is now being displayed in the title
  • When clicking on specific case type from the menu, the filter can now no longer be removed

[7.23.2] - 2024-06-05

Added

  • IsMenuItem property to CaseType, you can now have all your cases displayed in a separate category as a menu item based on their case type
  • GridFilterConfig property to CaseType, you can add a case type specific filter to your searchOptions dropdown.

For example, you can edit a case type from the UI and put a SearchOption json formatted string like so:

[
    {
        "field": "RequestId",
        "name": "REQUEST ID",
        "dataType": "string"
    }
]

[7.20.2] - 2024-02-22

Changed

  • Global renaming on case name greek wording.
    • ΑίτησηΥπόθεση
  • Row height of Case & Case Type list View has been reduced.
  • Case custom Action buttons have been aligned to the left to conform with case form elements.

Added

  • label-only widget component has been extended to handle href elements.
  • label-only widget component has been extended to handle elements that need data-binding from other form data, eg. extraType = "data-bind".

Bugfix

  • Number data types on label-only widget component are now displayed correctly.

[7.20.1] - 2024-02-14

Added

  • label-only widget component to handle form input data as a simple label in cases BackOffice. Supports enum, currency & bool type conversions.
  • Disables Add button from readonly array types & other improvements.

[7.4.1] - 2023-08-29

Added

  • href widget component to handle links in cases backoffice.

[7.4.0] - 2023-08-29

Added

  • SPA settings to control which filters & columns are visible in the cases list view.
  • ReferenceNumber translation using the key cases.referenceNumber & caseDetails.referenceNumber
  • CasesUIOptions to control which filters & columns are visible in the cases list view.

Example to override the visible filters & columns

app.UseCasesUI(options => {
    // Filter using only: ReferenceNumber, CustomerId, CustomerName,
    // TaxId, CaseTypeCode
    options.CaseListFilters = new HashSet<CaseListFilter>() {
        CaseListFilter.ReferenceNumber,
        CaseListFilter.CustomerId,
        CaseListFilter.CustomerName,
        CaseListFilter.TaxId,
        CaseListFilter.CaseTypeCodes,
    };
    // Display only the columns: ReferenceNumber, CustomerId,
    // CustomerName, TaxId, CaseType, AssignedTo. SubmitDate
    options.CaseListColumns = new HashSet<CaseListColumn>() {
        CaseListColumn.ReferenceNumber,
        CaseListColumn.CustomerId,
        CaseListColumn.CustomerName,
        CaseListColumn.TaxId,
        CaseListColumn.CaseType,
        CaseListColumn.AssignedTo,
        CaseListColumn.SubmitDate
    };
});

[7.3.6] - 2023-07-06

Bugfix

  • PDF button visibility is calculated from the correct property checkpointType.status.

[7.3.5] - 2023-07-03

Bugfix

  • Tailwind ng-indice classes were overriding back-office action buttons, making them transparent.

[7.3.4] - 2023-07-03

Added

  • "not-equals" and "contains" operators to GetCases list filters.

[7.3.2] - 2023-06-29

Added

  • Overridable translation support for dashboard, cases, case-details pages using @ngx-translate.

Example to override default el.json file

app.UseCasesUI(options => {
    // This is the absolute path to the folder that contains the el.json
    options.I18nAssets = "/assets/cases/i18n";
});
  • Added the ability to control which canvases (dashboardTags) should be enabled for the dashboard

Example enabling only two canvases

app.UseCasesUI(options => {
    options.DashboardTags = new List<string>() {
        "GroupedByCasetype",
        "GroupedByStatus"
    };
  • CheckpointType Translations to cases list, checkpointtype filter, case details and timeline.

[7.1.8] - 2023-05-26

Bugfix

  • CaseForm now allows empty layout and shows json schema correctly

[7.0.5] - 2023-03-30

Added

  • checkpointsThatAllowDownload as a case type Config option

[7.0.4 - 2023-03-27]

Added

  • Notification subscriptions now use case type Categories & Ordering

[7.0.3 - 2023-03-27]

Added

  • layoutNode option case-channel that indicates whether the field is visible based on case's channel.
  • lookup caching

[6.12.2] - 2023-03-22

Added

  • Categories & Ordering for case types
  • WYSIWYG widget, using ngx-quill

[6.11.3] - 2023-03-15

Changed

  • allow negative numbers to currency-widget

[6.11.2] - 2023-03-15

Added

  • Create new case side pane redesign
  • Property Lang at CasesUIOptions for handling the attribute <html lang='XXX'> from the options.

This change will require from the consumer api to handle the language. Eg:

app.UseCasesUI(options => {
        // ...
        options.Lang = "el"; 
    });
  • onInit layout callback, now can return and set the entity to the ajsf form
  • onInit layout callback, now it can access the case.metadata property

example layout that sets the data.isLegal property

{ 
	"backoffice": [
		{
			// mv: modelValue, f: form (entity), md: case metadata
			"onInit": "function(mv,f,md) {f = f || {}; if(md.LegalEntity === '1' || md.LegalEntity.toLowerCase() === 'true') {f.isLegal = true;} return f; }",
		...
	]
}

[6.10.6] - 2023-03-13

Changed

  • Redesigned the create case side panel. Removed the drop down for picking a case type. Now it displays all the available case types. Made the title dynamically change based on the wizard step. Minor design changes for picking customer number. Created a new component for displaying all the available case types.

[6.10.5] - 2023-03-02

Changed

  • Case type form for create/update is simplified. Only case type entity is being edited.

[6.10.4] - 2023-03-01

Changed

  • notifications route can only be seen & navigated by non-admin users
  • use lib-toggle-button component from @indice/ng-components npm package

Fixed

  • modal bugs introduced from @indice/ng-components npm package latest version

[6.10.1] - 2023-02-15

Added

  • Dashboard with stats, filtered by role

[6.9.1] - 2023-02-07

Changed

  • Notification Subscriptions are now per case type

[6.6.0] - 2023-01-30

  • Jumped to 6.6.0 to match other Indice Packages

[6.5.1] - 2023-01-24

Fixed

  • Angular build

[6.5.0] - 2023-01-24

Added

  • Support for net7

Changed

  • Changes following the API refactoring in dto names
  • JSON.stringify(data) is no longer needed to send json data to a case. Case data request is dynamic.
  • JSON.parse(data) is no longer needed for parsing. Case data response is dynamic.

Removed

  • Support for net3.1

[6.4.3] - 2023-01-10

Added

  • add min/max date configuration for date-widget through layout options
  • momentjs dependency

[6.4.2] - 2023-01-10

Added

  • a lookup-selector widget

Fixed

  • a minor typeahead bug in lookup widget

[6.4.0] - 2022-12-22

  • Jumped to 6.4.0 to match other Indice Packages
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.50.0 44 6/25/2026
8.50.0-rc01 94 6/19/2026
8.49.0 108 6/5/2026
8.48.1 168 6/2/2026
8.48.0 117 5/28/2026
8.47.3 107 5/26/2026
8.47.1 147 5/22/2026
8.47.0 109 5/14/2026
8.47.0-rc06 94 5/15/2026
8.47.0-rc05 101 5/14/2026
8.47.0-rc04 96 5/14/2026
8.47.0-rc03 108 5/14/2026
8.47.0-rc02 96 5/14/2026
8.47.0-rc01 101 5/13/2026
8.46.0 125 5/5/2026
8.45.0 118 4/30/2026
8.44.0 181 4/24/2026
8.43.3 129 4/20/2026
8.43.2 134 4/15/2026
8.43.1 128 4/14/2026
Loading failed