You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,13 +22,15 @@
22
22
-`ListViewModel.$orderByToggle()` method added to cycle through ascending, descending, and no ordering for a field.
23
23
- Custom methods now support descriptions via `DescriptionAttribute`. These are displayed in the admin pages.
24
24
- Added `FileTypeAttribute` to control allowed file types for custom method file parameters.
25
+
- Added `ClientCacheDurationSeconds` property to `ExecuteAttribute` to customize client-side cache duration for GET custom methods with `VaryByProperty`.
25
26
-`c-admin-display`: Binary values now render as links that will download the value as a file, instead of only showing the length in bytes.
-`c-input`: Added a `filter` prop for enum inputs to restrict the values available for selection.
28
29
-`c-select`: When bound to a `ViewModel` or `ViewModelCollection`, selected items are converted to `ViewModel` instances before being emitted so that event handlers will receive the final object instance, rather than the intermediate plain model instance.
29
30
-`c-select`: Now supports binding to a non-many-to-many collection navigation property. Selecting an item will populate the foreign key of the dependent item, and deselecting an item will clear the foreign key. This mechanism is only available when using c-select directly - it is not delegated by c-input.
30
31
-`c-select`: The `create` prop now supports a `position` property to control whether the create item appears at the start ('start', default) or end ('end') of the dropdown list.
31
32
-`c-select-many-to-many`: The `itemTitle` prop now receives the existing selected middle entity instance, if there is one.
33
+
-`c-loader-status`: Added `show-success` prop and flag to display success messages when operations complete successfully.
32
34
33
35
## Fixes
34
36
- Fix error in codegen when using JS reserved keywords or C# contextual keywords as parameter names.
Hides the table before the first load has completed, or if loading the list encountered an error. Don't show the progress bar after we've already loaded the list for the first time (useful for loads that occur without user interaction, e.g. `setInterval`):
Component level [flags](#flags) options that control behavior when the simple form of `loaders` (single instance or array) is used, as well as provide baseline defaults that can be overridden by the advanced form of `loaders` (object map) .
125
133
126
134
## Flags
127
135
128
-
The available flags are as follows, all of which default to `true`. In the object literal syntax for `loaders`, the `no-` prefix may be omitted to set the flag to `true`.
136
+
The available flags are as follows, all of which default to `true` except for `show-success` which defaults to `false`. In the object literal syntax for `loaders`, the `no-` prefix may be omitted to set the flag to `true`.
@@ -135,6 +143,7 @@ The available flags are as follows, all of which default to `true`. In the objec
135
143
|`no-progress`| Master toggle for whether the progress indicator is shown in any scenario. |
136
144
|`no-initial-progress`| Controls whether the progress indicator is shown when an API Caller is loading for the very first time (i.e. when `caller.wasSuccessful === null`). |
137
145
|`no-secondary-progress`| Controls whether the progress indicator is shown when an API Caller is loading any time after its first invocation (i.e. when `caller.wasSuccessful !== null`). |
146
+
|`show-success`| Controls whether success alerts are shown when API calls complete successfully (i.e. when `caller.wasSuccessful === true`). |
Copy file name to clipboardExpand all lines: docs/stacks/vue/getting-started.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,7 +75,7 @@ If any of the options you chose above require external integrations, you'll need
75
75
76
76
### AppHost Project
77
77
78
-
The AppHost project is a [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview) dev-time orchestration project. It is recommended you set this as your startup project when developing, although this is not strictly required if your project only has SQL Server as its sole dependency. If you're not familiar with .NET Aspire, you're strongly encouraged to read through its [overview documentation](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview#dev-time-orchestration) and learn about the features of the [Aspire dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/explore).
78
+
The AppHost project is a [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview) dev-time orchestration project. It is recommended you set this as your startup project when developing, although this is not strictly required if your project only has SQL Server as its sole dependency. If you're not familiar with .NET Aspire, you're strongly encouraged to read through its [overview documentation](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview) and learn about the features of the [Aspire dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/explore).
Copy file name to clipboardExpand all lines: docs/topics/audit-logging.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -117,9 +117,9 @@ public class AppDbContext : DbContext, IAuditLogDbContext<AuditLog>
117
117
118
118
### Exclusions & Formatting
119
119
120
-
Coalesce's audit logging is built on top of [Entity Framework Plus](https://entityframework-plus.net/ef-core-audit)and can be configured using all of its [configuration](https://entityframework-plus.net/ef-core-audit#scenarios), including [includes/excludes](https://entityframework-plus.net/ef-core-audit-exclude-include-entity) and [custom property formatting](https://entityframework-plus.net/ef-core-audit-format-value).
120
+
Coalesce's audit logging uses Entity Framework's change tracking capabilities to automatically detect and record changes to your entities. It intercepts the `SaveChanges` operation to capture entity state changes and property modifications before they're committed to the database.
121
121
122
-
Coalesce will not use EF Plus's `AuditManager.DefaultConfiguration` global singleton instance. You must use Coalesce's configuration extensions which allow for more targeted configuration per context that does not rely on a global static singleton. For example:
122
+
You can configure which entities and properties to include or exclude from auditing, as well as customize how property values are formatted in the audit logs. Coalesce's configuration extensions allow for targeted configuration per context without relying on global static singletons. For example:
Copy file name to clipboardExpand all lines: docs/topics/security.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -686,7 +686,7 @@ For a more complete explanation of everything you can do with behaviors, see the
686
686
687
687
Since Coalesce's data access layer is built on top of Entity Framework, you can also use [Entity Framework's Global Query Filters](https://learn.microsoft.com/en-us/ef/core/querying/filters) feature to apply row-level security.
688
688
689
-
This approach is less flexible than custom Coalesce data sources and has other [drawbacks](https://learn.microsoft.com/en-us/ef/core/querying/filters#accessing-entity-with-query-filter-using-required-navigation) as well, but on the other hand it has more absolute authority, is less susceptible to issues like inadvertently returning data through unfiltered navigation properties, and can sometimes require less work to implement than individual data sources.
689
+
This approach is less flexible than custom Coalesce data sources and has other [drawbacks](https://learn.microsoft.com/en-us/ef/core/querying/filters#query-filters-and-required-navigations) as well, but on the other hand it has more absolute authority, is less susceptible to issues like inadvertently returning data through unfiltered navigation properties, and can sometimes require less work to implement than individual data sources.
690
690
691
691
Global Query Filters are also the only way to implement database-executed [filtered includes](#filtered-includes) of [reference navigation properties](https://learn.microsoft.com/en-us/ef/core/modeling/relationships/glossary), as there is no version of `.Include()` for reference navigation properties that allows a database-executed predicate to be applied. See [this open issue](https://github.com/dotnet/efcore/issues/24422) on EF Core.
You can configure a default timezone for your client application to control how `DateTimeOffset` values are displayed in the UI. By default, this uses the client computer's timezone and does not need to be configured unless you want to override this. See [Time Zones](/modeling/model-types/models.md#time-zones) for more details.
189
+
You can configure a default timezone for your client application to control how `DateTimeOffset` values are displayed in the UI. By default, this uses the client computer's timezone and does not need to be configured unless you want to override this. See [Time Zones](/stacks/vue/layers/models.md#time-zones) for more details.
190
190
191
191
You can override this on a per-component or per-operation basis using the `timeZone` format option described above.
0 commit comments