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
<PackageReference Include="Indice.Features.Cases.UI" Version="8.50.0" />
<PackageVersion Include="Indice.Features.Cases.UI" Version="8.50.0" />
<PackageReference Include="Indice.Features.Cases.UI" />
paket add Indice.Features.Cases.UI --version 8.50.0
#r "nuget: Indice.Features.Cases.UI, 8.50.0"
#:package Indice.Features.Cases.UI@8.50.0
#addin nuget:?package=Indice.Features.Cases.UI&version=8.50.0
#tool nuget:?package=Indice.Features.Cases.UI&version=8.50.0
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
.resxfiles asEmbeddedResource. - With
ResourcesPath = "Resources"(the platform default), place them under aResourcesfolder so the manifest name is{Assembly}.Resources.{baseName}. Pass the base name without theResources.prefix — theResourcesPathadds it. - Pass the correct assembly name as
resourceLocation, and ensure that assembly'sRootNamespacematches 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
ReferenceNumberfilter enabledm, the filter was not shown.
[7.31.2] - 2024-10-11
Added
UnauthorizedComponentfromIndice.Angularlibrary to handle Forbidden requests.
[7.28.3] - 2024-08-30
Added
GridColumnConfigproperty 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
IsMenuItemproperty to CaseType, you can now have all your cases displayed in a separate category as a menu item based on their case typeGridFilterConfigproperty 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
SearchOptionjson 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-onlywidget component has been extended to handlehrefelements.label-onlywidget 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-onlywidget component are now displayed correctly.
[7.20.1] - 2024-02-14
Added
label-onlywidget 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
hrefwidget 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-indiceclasses 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-detailspages 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"
};
CheckpointTypeTranslations 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
checkpointsThatAllowDownloadas 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-channelthat 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
LangatCasesUIOptionsfor 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.metadataproperty
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
notificationsroute can only be seen & navigated by non-admin users- use
lib-toggle-buttoncomponent from@indice/ng-componentsnpm package
Fixed
- modal bugs introduced from
@indice/ng-componentsnpm 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-widgetthrough 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 | Versions 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. |
-
net10.0
- Indice.AspNetCore.EmbeddedUI (>= 8.50.0)
-
net8.0
- Indice.AspNetCore.EmbeddedUI (>= 8.50.0)
-
net9.0
- Indice.AspNetCore.EmbeddedUI (>= 8.50.0)
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 |