Commit Graph

69957 Commits

Author SHA1 Message Date
Niels Lyngsø
6001d94f50 Add more icons correct Content Type Designer Icons (#20252)
* add more icons correct Content Type Designer Icons

* add icon
2025-09-24 10:55:00 +00:00
Laura Neto
7a3c711add Bump @umbraco-cms/backoffice to 16.2.0 in Umbraco.Web.UI.Login 2025-09-24 12:01:40 +02:00
Niels Lyngsø
6d7c722ec3 Upload field Property Editor: Fix resetting value to undefined when empty (#20134)
* set value to undefined when empty

* fix nullable checks

* ensure promise rejection when validation fails

* avoid js error when detailStore is not present

* implement editor as form control

* remove unused

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2025-09-24 09:29:42 +00:00
Bjarne Fyrstenborg
a6c92d8a91 Tiptap RTE: Adds heading (h4-h6) toolbar buttons (#20243)
* Register more heading icons

* TipTap heading extensions

* Change icon for headings
2025-09-24 10:18:58 +01:00
Bjarne Fyrstenborg
cacd5c23bd Register more heading icons (#20242) 2025-09-24 09:16:28 +00:00
Niels Lyngsø
3c7e05dc4a Server Validation: Ugly hack to convert server validation path to match JSON model (#20240)
* Ugly hack to convert server validation path to match JSON model

* Update src/Umbraco.Web.UI.Client/src/packages/core/validation/context/server-model-validator.context.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Umbraco.Web.UI.Client/src/packages/core/validation/context/server-model-validator.context.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-24 08:18:39 +00:00
Niels Lyngsø
909bc5ac33 View Context: rename setBrowserTitle to setTitle (#20248)
rename setBrowserTitle to setTitle
2025-09-24 07:58:38 +00:00
Andy Butland
36d46624bf Dropdown: Support migrated empty values (closes #20029) (#20247)
* Display the latest update date in document collection view

* Don't consider "" as a missing option when initializing the drop down list.

* Don't flag "" as a missing option when validatng server-side.

---------

Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
2025-09-24 08:48:47 +01:00
Niels Lyngsø
8c25295294 Workspace Base: make nonesense getter method to make Lit happy (#20238)
make nonesense getter method to make lit happy
2025-09-24 08:32:58 +01:00
Andy Butland
099fd2aa7c Merge branch 'main' of https://github.com/umbraco/Umbraco-CMS 2025-09-24 08:09:06 +02:00
Laura Neto
e96f0e58b7 Collection view: Wrong Last edited date displayed in document collection view (closes #19988) (#20235)
Display the latest update date in document collection view
2025-09-24 07:11:58 +02:00
Andy Butland
cea2184d47 Merge branch 'v16/bugfix/sorting-by-updateDate-isnt-working-correctly' of https://github.com/umbraco/Umbraco-CMS 2025-09-24 07:09:00 +02:00
Bjarne Fyrstenborg
8136b251f1 Adjust height of image crop input append (#20245) 2025-09-24 07:03:14 +02:00
Bjarne Fyrstenborg
9cc801a7f7 Make package item readonly instead of disabled (#20246) 2025-09-24 06:59:21 +02:00
Bjarne Fyrstenborg
a02cd8ecb1 Alignment of daterange in logviewer (#20244) 2025-09-24 06:53:10 +02:00
Laura Neto
f5cfbb110e Merge branch 'main' into v16/bugfix/sorting-by-updateDate-isnt-working-correctly 2025-09-23 17:51:29 +02:00
Laura Neto
aa2a85328e Display the latest update date in document collection view 2025-09-23 17:12:57 +02:00
Lee Kelleher
85cf3d835e Block List: Fixed clipboard label for nested block items (closes #19929) (#20223)
* Clipboard label for nested block item

* Falsey check
2025-09-23 14:10:46 +02:00
Sven Geusens
9f2d404ca3 Add test for sibling endpoint returning parent id even when its a folder (#20118)
* Improve GetManagementApiUrl to use the globally defined default version if not specified on the controller

* Add a test to check logic introduced in #20083

* Update tests/Umbraco.Tests.Integration/ManagementApi/Trees/DocumentTypeSiblingControllerTests.cs

Co-authored-by: Andy Butland <abutland73@gmail.com>

* Update tests/Umbraco.Tests.Integration/ManagementApi/Trees/DocumentTypeSiblingControllerTests.cs

Co-authored-by: Andy Butland <abutland73@gmail.com>

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-09-23 13:56:52 +02:00
Nicklas Kramer
7db7346d4a Test Data: Fixing endpoint not working #20044 (#20227)
* It worked before i must have broken it somehow. Commit as checkpoint

* Adding a reference from Web.UI.csproj to TestData to allow composers to be composed

* Changing readme and removing project reference
2025-09-23 11:22:29 +00:00
Mole
859505e751 Models builder: Move InMemoryAuto models builder and razor runtime compilation into its own package to enable hot reload (#20187)
* Move in memory models builder out of core

* Move runtime validations into backoffice development project

* Obsolete ModelsMode enum

* Move the InMemoryModelsbuilder/RRC novel into the Backoffice development umbraco builder extension

* Add runtime validator to warn if InMemoryAuto is selected but the package isn't installed

* Add backoffice development to template

* Remove propertyGroup

* Remove oopsie

* Check for modelsbuilder in notification handler instead of runtime validator

* Update src/Umbraco.Cms.Api.Management/Controllers/ModelsBuilder/BuildModelsBuilderController.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Umbraco.Infrastructure/Runtime/RuntimeModeValidators/ModelsBuilderModeValidator.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove ModelsMode enum and ModelsModeExtensions

* Apply suggestions from code review

Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>

* Move project to source folder

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2025-09-23 11:58:09 +02:00
Jacob Overgaard
8a2f1bc233 Localization: Fixes an issue where the fallback localization was not available after changing DefaultUILanguage (fixes #20216) (#20230)
fix: always load the default/fallback language code so it is available
2025-09-23 10:55:56 +01:00
Nicklas Kramer
8213da1b77 Trees: Expanding sibling endpoints to include all entities with trees (#20150)
* Adding member types sibling endpoints

* Introducing sibling endpoint for Partial Views and logic.

* Introducing sibling endpoint for stylesheets

* Introducing sibling endpoint for scripts

* Introducing FileSystemTreeServiceBase.cs

* Introducing interfaces for implementation specific services

* Introducing services for specific trees

* Modifying controller bases to fit new interface and logic.

* Obsoleting old constructors related to PartialView

* Obsoleting ctors related to Stylesheets

* Obsoleting ctors related to scripts

* Adding tests for scriptsTreeService

* Adding tests for siblings

* Removing unused dependencies

* Removing signs and replacing it with flags

* Fixing breaking changes by obsoletion

* Fixing more breaking changes

* Registering missing service

* Fixing breaking changes again

* Changing name of method GetSiblingsViewModels

* Rewritten tests for less bloat and less duplicate code

* Expanding tests to include other methods from service

* Test refactoring: avoided populating file systems that weren't under test, updated encapsulation, renaming, further re-use.

* Management API: Expanding the existing sibling endpoints to support trashed entities (#20154)

* Refactoring existing logic to include trashed items

* Including tests for trashed entities

* Groundwork for trashed siblings

* Documents trashed siblings endpoint

* Controller for Media trashed items

* Expanding tests to include a test for trashed siblings

* Code review corrections

* Resolving code review

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-09-23 11:17:25 +02:00
Lee Kelleher
f379c9bbdd Member Workspace: Fixes property validation (closes #20210) (#20222) 2025-09-23 09:05:50 +02:00
Asbjørn Riis-Knudsen
493dd1dc78 Fix DecimalPropertyEditor on non-English systems (#20215)
* Directly convert from double or float when possible. Also fixes string parsing to work on all cultures. Fixes #20214

* Added unit tests to verify behaviour.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-09-23 06:59:08 +00:00
Andy Butland
a6e736849f Update Umbraco version for LTS release in UmbracoProject template 2025-09-23 06:23:00 +02:00
Niels Lyngsø
3b8d8c57c3 Content Editor: Fix shared label and localize it (#20188)
* correct shared label and localize it

* fix localization
2025-09-22 17:05:30 +01:00
Niels Lyngsø
fb0f719c7d Shortcuts: Implement context and a few shortcuts of interest (#20204)
* setup files

* allow Unproviding as a valid word

* setup context

* declare new module

* clean up on destroy

* implement keydown listener

* rename to all

* Revert "rename to all"

This reverts commit 5384408d5f70111b63a5e07b9b20d6536c530c00.

* revert shortcuts revert

* move view initialization to submittable workspace base

* comment on destroy thingy

* submit workspace shortcut

* rename to action

* observe parent activation to make sure children follows along.

* fix comment to make AI happy

* implement modal view and titles

* fix getting title from token

* rename context alias

* use controller not context here

* provide modal view at modal element

* implement view context at app level

* Refactor view inheritance logic

* reverse children to be activated loop

* note on global shortcuts

* additional note
2025-09-22 15:19:28 +00:00
Nikolaj Geisle
e29e612e46 Caching: Don't remove null values from hybrid cache to avoid broken content references repeatedly requiring a database hit (closes #18892) (#20209)
* Implement initial fix

* Revert "Implement initial fix"

This reverts commit 05e5803ebaa6330979e9a4ff6a4b343e74957ca0.

* Don't remove null cache values, they can always get removed when clearing cache
2025-09-22 16:13:00 +02:00
dependabot[bot]
3c592ad2cd Bump vite from 7.1.3 to 7.1.5 in /src/Umbraco.Web.UI.Login
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.3 to 7.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.5
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-22 13:45:13 +02:00
Andy Butland
2be39d8b9f Merge branch 'main' of https://github.com/umbraco/Umbraco-CMS 2025-09-22 13:34:55 +02:00
Andy Butland
410fc1900d Cherry-pick of #20129 to 16 (part 2). 2025-09-22 13:34:44 +02:00
Laura Neto
5d17920a73 UTC data migration doesn't work in Linux (closes #20002) (#20112)
* Adjusted the UTC SQL Server migration to convert time zone ids to the correct format

* Apply suggestions from code review

Co-authored-by: Andy Butland <abutland73@gmail.com>

* Small rename

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-09-22 13:16:13 +02:00
Andy Butland
d7d39658e0 Permissions: Fix removal of check on removal the final admin user (closes #19917) (#19921)
Reworks update of user groups on a user by updating in place rather than deleting and re-adding.
Ensure user groups affected by the update are invalidated in the repository cache.

Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2025-09-22 12:51:27 +02:00
Krüger
79de4e3871 Tiptap RTE: Adds hover and focus border input states (#20172)
* added hovering and focus border to RTE

* fix main to OG

* fix to main again

* I'm going to cry

* added hovering and focus border to RTE

* fix indentation

* Refactored to set `--umb-tiptap-edge-border-color` variable

so that the toolbar and statusbar can pick up the state changes.

* Applies `transition` to the toolbar/statusbar components

---------

Co-authored-by: Oskar kruger <obk@umbraco.dk>
Co-authored-by: leekelleher <leekelleher@gmail.com>
2025-09-22 10:35:52 +00:00
Andy Butland
8ff11e7c64 Link rendering: Add support for UrlMode parameter in HtmlLocalLinkParser (port to 16) (#20207)
* Add support for UrlMode parameter in HtmlLocalLinkParser (port of #20200 from 13 to 16).

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2025-09-22 09:34:08 +00:00
Andy Butland
2c3a2e2b2d Cherry-pick of #20129 to 16. 2025-09-22 11:26:25 +02:00
Krüger
5dd75c0877 Update label for tree item caret to identify if open or closed (#20199)
* added hovering and focus border to RTE

* fix main to OG

* fix to main again

* I'm going to cry

* added dynamic label to expand/collapse button on parent/child treeitems

---------

Co-authored-by: Oskar kruger <obk@umbraco.dk>
2025-09-22 11:09:54 +02:00
Abdulaziz
182b7e0cfa Accessibility changes for the top navbar tabs and settings tabs (#20107)
* Accessibility changes for the top navbar tabs and settings tabs

* fix indention

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2025-09-22 08:33:58 +00:00
Mads Rasmussen
815f28e3b9 Section Sidebar Menu: Auto expand to paginated tree items (closes #17074) (#19883)
* align naming

* mute updates

* lower threshold

* add expansion model with target

* add function to link entries

* fix self import

* export constants

* update js docs for entity expansion manager

* link entries

* fix import

* do not export from menu here

* fix import

* fix import

* align how we register manifests

* add specific managers for section sidebar menu

* use structure items

* dot not expand current item

* Refactor section sidebar menu to use programmatic extension slot

Replaces the template-based <umb-extension-slot> with a programmatically created UmbExtensionSlotElement for improved performance and UX.

* add section context extension

* register menu as section context instead of hardcoding

* rename folder

* align naming

* export extension slot elements

* fix typings

* destroy extension slot element when host is disconnected

* Added user start node restrictions to sibling endpoints.

* use entry model

* move and rename

* register global context to hold menu state across sections

* temp observe section specific expansions

* temp observe section specific expansions

* add method to collapse multiple items

* Further integration tests.

* Tidy up.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* bind expansion to section

* make entity expansion manager generic

* Revert previous update.

* add helper method

* remove temp test data

* Retrieves item counts before and after the target for sibling endpoints and returns in API response.

* Applied previous update correctly.

* Removed blank line.

* Fix build and test asserts following merge.

* add getItem method

* Update OpenApi.json.

* generate new server types

* include last item in target

* add target pagination type

* return totalBefore and totalAfter

* call siblings endpoint for documents

* add method to load children with target

* rename to item

* wip target pagination manager

* add button to load prev tree items

* render prev and nexts buttons for tree items

* Update tree-load-prev-button.element.ts

* add util to append to unique array

* add state method to prepend data

* implement methods to load next and prev items

* add methods to interface

* Update tree-item-element-base.ts

* Update tree-item-context-base.ts

* remove unused

* align methods

* update types

* add jsdocs

* add deprecation notice

* fix jsdocs

* fix import

* Update tree-data-source.interface.ts

* remove duplicate type

* clean up

* fix page calculations

* remove unused

* clean up

* pass full entry to event

* add type for menu item expansion

* export types

* add menuItem alias

* Update types.ts

* support menu item expansion entry

* add const for menu item alias + use for breadcrumb and menu item

* add data type menu item alias const + apply to breadcrumb

* move to correct manifest

* add menu item alias to expand entries

* Update manifests.ts

* add menu structure kind types

* add kind to manifests

* add menu item context

* filter menu items

* handle menu item expansion

* clean up

* fix order

* add example dashboard and entity action

* import types

* align model type names

* align naming

* use ui component

* add guard for menu item entry

* use correct type

* Update section-sidebar-menu.element.ts

* Update entity-expansion.manager.ts

* export constants

* add menuItemAlias to manifest

* add menuItemAlias to manifest

* add menuItemAlias to manifest

* add menuItemAlias to manifest

* add menu item alias

* add menuItemAlias to manifest

* add menuItemAlias to manifest

* add menuItemAlias to manifest

* add alias

* add kind

* fix import path

* do not expand menu from modal

* collect all menu-item files in one folder

* fix lint errors

* Update content-detail-workspace-base.ts

* clean up

* rename to example

* add button to collapse everything within a section

* return correct data from base

* recalculate after

* fix breadcrumb for non-variant structure

* reload entity

* destroy

* remove self

* Updated acceptance tests to check if a caret button is open before clicking

* Bumped version of test helpers

* use const

* add target paging for tree root items

* more specific field names

* update field name

* add model for offset pagination

* add request to model name

* correct

* using Event Contsants for event map

* comment

* clean event listeners before adding new ones

* use createObservablePart

* add paging type guards

* add types

* add check for unique

* add comment

* pass data type id

* wip reload tree logic

* move start + end target logic to target pagination manager

* use target pagination manager in tree item context

* remove local references to start, end and base targets

* calculate before and after when reloading

* clean up

* support children in tree item context

* add methods to observe an expansion entry

* reload structure when item is created

* UX adjustments

* add controller alias to observer

* Update default-tree.context.ts

* Update default-tree.context.ts

* Update default-tree.context.ts

* test targets in document type tree data source

* when reloading only send the target if its part of the current items

* wip tree request manager

* make data source base a controller

* add tree request helper for document types

* use request helper in data source

* clear more data when clear is called

* when reopening a tree item - reuse previous state

* add tree item children manager

* split to manager

* clean up

* only return an entity model when getting target

* allow entity model as target

* add null checks

* add method for getSiblingsFrom

* implement target for tree data request manager

* Update default-tree.context.ts

* set parent for tree root

* reload if target is new

* add types for tree data request manager

* implement request manager for document tree

* use request manager for media tree

* add request manager for data type tree

* move into folder

* move into folder

* move into folder

* add target support for document blueprint

* add request manager for template tree

* add request manager for media type tree

* add hasChildren flag for root

* make start node its own thing

* move hasChildren logic to children manager

* Create tree-item-expansion.manager.ts

* use expansion manager

* align tree item managers

* Update tree-item-context-base.ts

* support take 0

* add methods to get new targets

* add retries

* add button loading states

* fix next start and end

* reset baset target

* use clear when restting children

* throw error if parent doesn't match request

* show notifcation when children is reset

* only render menu context for non trashed document and media items

* use correct import

* fix types

* update interfaces and imports to fix circular dependencies

* move into tree-item folder

* rename file

* Update tree-item-context-base.ts

* move token out of context file to remove circular dependency

* set take size to 50

* remove unused

* export const

* correct default value

* check on both sides after a new base target

* `import type` sort ordering

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: leekelleher <leekelleher@gmail.com>
2025-09-22 07:22:54 +00:00
BerglindV
96b37889ae Docs: Updated contribution guidelines to include PR naming best practices (#20180)
* Add naming PR guide to Update contributing-creating-a-pr.md

* Add PR naming guide to contributing-creating-a-pr.md

* Update contributing-creating-a-pr.md

* Updates note on versions and default branch

Updated default branch reference and contribution guidelines.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-09-20 13:15:53 +00:00
Niels Lyngsø
fa575d1f84 View Context: observe parent activation to make sure children follows along. (#20206)
observe parent activation to make sure children follows along.
2025-09-20 14:03:41 +02:00
Mads Rasmussen
37f9dea259 Tree: Optimize tree root total children calls (#20192)
* Remove redundant call to #loadTreeRoot in tree context

* Update tree root requests to use take: 0

Changed all tree repository requestTreeRoot methods to call getRootItems with { take: 0 } instead of { take: 1 }. This ensures that no items are fetched when only the total count is needed to determine if children exist, improving efficiency.
2025-09-20 13:57:38 +02:00
Mehmet
61c0ab6759 Management API: Add user data delete endpoint (closes #19793) (#20040)
* Add user data delete endpoint to the management API

* Fix typo and remove unused umbracoMapper

* Applied changes from code review.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-09-20 10:45:14 +00:00
Dirk Seefeld
a7bb1fc20d Repositories: Quote table and columns and use NPoco extensions over raw SQL (#20034)
* fix sql syntax issues

* unify all dtos, fix autoIncrement for NPoco.Insert and .BulkInsert

* fix Copilot review comments

* fix sql syntax in TrackedReferencesRepository.GetPagedDescendantsInReferences()

* remove changes in TemplateServiceTests

* Tweaks and fixes from first review.

* Reverted changes outside scope of PR.

* Use FirstOrDefault over SelectTop.

* Fix delete member issue.

* Fixed issue with create of webhooks.

* Reverted changes to default data install.

* Removed unused method.

* Rationalised use of quoting helpers.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix nullability issue.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-20 11:40:16 +02:00
Niels Lyngsø
07f0b7c6ae Content/Document Picker: make not existing items appear as not found items (#20198)
make not existing items appear as not found items
2025-09-19 17:45:46 +00:00
Niels Lyngsø
12ae51d67e Hints: Chore, just renaming files to fit name (#20203)
rename files to fit name
2025-09-19 19:22:16 +02:00
Niels Lyngsø
3a196ef996 Icons: add badge icon (#20201)
add badge icon
2025-09-19 19:01:19 +02:00
Niels Lyngsø
c1b74b6883 Badge: Make badge go on top (#20196)
* umb badge and implementation

* only show variant selector hint if hint on none active variant
2025-09-19 13:18:35 +02:00
Mads Rasmussen
5921950ea0 remove console.log 2025-09-19 12:53:25 +02:00