Commit Graph

67946 Commits

Author SHA1 Message Date
Sven Geusens
0e06c47ed7 Regression fix: searcher skip 10k not possible (#17977)
* Add new examine lucene option to restore functionality of earlier version

* Add reason comment for maxSkipTake
2025-01-20 14:00:46 +01:00
Lee Kelleher
dab932329b V15: Link Picker Modal UX Flow (#17994)
* Link Picker: reworked modal UX flow

* Tweaked "Target" description

* Link Picker modal tweaks

* Localized "Reset URL" confirm modal

* Awaits validation on picker change

* Added `data-mark` attributes

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2025-01-20 13:46:34 +01:00
Nikolaj Geisle
51823a7671 v15: Remove old values from checkboxlist (#17936)
* Remove old values from checkboxlist

* Add validator for MultipleValueEditor

* chore: adds mocked "published" handler

* chore(mock): adds multiple dropdown

* chore(mock): adds dropdown multiple to 'all properties'

* adds localization

* feat: adds support to show invalid/legacy options

* feat: show invalid/legacy options to let the user decide what to do

* Add validator for radio buttons

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2025-01-20 13:39:02 +01:00
Andy Butland
171ada26cc Allow for filtering of document type allowed children and allowed at root when creating new content. (#18029)
* Creates IContentTypeFilterService with a "no-op" implementation for filtering the content types available for selection at root and as children.

* Rework to collection so packages and implementors can stack filters if they need to.
2025-01-20 12:26:07 +01:00
Niels Lyngsø
ef478cf5d1 Merge pull request #17970 from umbraco/v15/bugfix/save-image-when-changing-focal-point
Fixes bug change focal point of Image Cropper can not save image
2025-01-20 12:15:22 +01:00
Andy Butland
72cae41653 Merge branch 'v15/dev' into contrib 2025-01-20 11:47:52 +01:00
Niels Lyngsø
bb8ef2ceff Merge branch 'v15/dev' into v15/bugfix/save-image-when-changing-focal-point 2025-01-20 11:41:48 +01:00
Henrik
ed08923b46 Use the new more efficient .NET 9 Lock type (#18015) 2025-01-20 11:41:13 +01:00
Niels Lyngsø
3f57a503e9 fix focal point reset 2025-01-20 11:40:51 +01:00
Tommy Enger
87916eb9cf 17760 - improved the Norwegian lang file (#17778)
* 17760 - improved the norwegain lang file

* 17760 - some corrections for the Norwegian lang file
2025-01-20 10:06:24 +00:00
Jacob Overgaard
3b6cdbe595 V15: "New version available" text is not reverified after an upgrade (#18013)
* fix: compare current version with the stored version

this ensures that if you come from an older version of Umbraco, we re-verify the upgrade-check to remove the message

* chore: update version in mock handler

* set "new version" button to a positive color

* feat: use modal data to pass on info to new-version modal element

* Amended `type` import
2025-01-20 09:37:05 +00:00
Sebastiaan Janssen
7c9e04f38c Merge branch 'contrib' into v15/dev 2025-01-20 09:55:35 +01:00
Mads Rasmussen
a6b9f201b3 Feature: Data type create options (#18023)
* add folder create option action kind

* register data type create options

* register folder collection actions

* use kind for document type folder option

* fix types

* fix weight

* update translations

* add icon label, description

* add deprecation warning
2025-01-20 08:27:57 +00:00
Niels Lyngsø
6c1c851d8a Fix: Improve sorter placement algorithm (#18021)
* improve sorting algorithm

* fix block type input

* make confirm modal localizable

* rename method

* clean up

* clean up

* improve code

* Fix creating Block Types in Groups

* remove #moveData

* lint fixes

* remove unused

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2025-01-20 08:10:50 +00:00
Mads Rasmussen
4353027655 Feature: Media Type Folder workspace (#18028)
* add manifests for media type tree item children

* export consts

* export path consts
2025-01-20 07:53:26 +00:00
Kenn Jacobsen
0d61890999 First content item at root should not have special meaning when routing (#18016) 2025-01-20 07:26:38 +01:00
Jacob Overgaard
cd5470f779 V15: Current User Group Id Condition (#18011)
* feat: adds userGroupIds to the current user model

* feat: generate new types

* feat: adds function to check for two array intersections

* feat: maps up userGroupIds

* feat: adds new condition to verify user's groups

* chore: add mocked data

* chore: add generated consts

* change structure of config to match other conditions

match, oneOf, allOf, noneOf

* rename condition from "group" to "groupId"

* feat: inherit from base `UserPresentationBase` to have a shared foundation across user models
2025-01-17 20:37:54 +00:00
Mads Rasmussen
0bcb3c59da Register create button for document type folders (#18010) 2025-01-17 14:04:02 +01:00
Niels Lyngsø
2288ce5d87 readme updates (#18007) 2025-01-17 09:17:03 +01:00
Niels Lyngsø
1e59d8895f Merge pull request #18008 from umbraco/v15/bugfix/fixing-empty-groups-appear-in-add-content-modal
Fix: Empty groups appear in block grid editor Add content UI
2025-01-16 20:56:41 +01:00
Mathias Helsengren
42997ee93c Fixing Empty groups appear in block grid editor Add content UI 2025-01-16 16:06:46 +01:00
Mads Rasmussen
e00290f400 Feature: Clipboard (#17820)
* wip clipboard context + tests

* clean up property action module + register copy action

* split manifests

* add clipboard module

* import type

* export type

* mark all methods async

* scaffold copy + paste property actions

* scaffold workspace, collection, repo + data sources

* remove references to language

* register detail manifests

* call repo when creating

* load clipboard collection data

* remove debugger

* register clipboard item picker modal

* return value from picker

* accept native error

* clean up data source

* add tests for error states

* make clipboard local storage manager

* add clip entry entity type

* create unique in scaffold

* add clipboard entry item data

* align naming

* move around

* name alignment

* fix imports

* fix missing entityType

* clean up

* use picker input context

* remove unused context

* Update clipboard.context.ts

* map to item model

* poc paste property action

* register copy/paste as kinds

* lint fix

* add tests

* rename test

* add repository tests

* register delete clipboard action + enable action dropdown outside of context menu

* remove notifcation

* export entity type

* temp use repo instead of context

* delete unused copy property action

* make data source non breaking

* Update vite.config.ts

* add icons for clipboard copy, paste + entry

* remove unused

* return if there is no property value

* add kind interfaces

* pass entry type for copy and paste

* register clipboard for block list

* implement filter on entry type

* delete unused context

* remove references

* rename data to value and don't force an array

* make icons and single value

* allow to add create and update dates for clipboard entries

* use clipboard icon

* add create and update dates

* export constants

* don't set as an array

* reload picker content

* add copy to clipboard button to block list entry

* make picker element

* allow to pick multiple

* remove generic block list clipboard actions

* Revert "remove generic block list clipboard actions"

This reverts commit 6ea65a02ce6315a781b80d0ccf0da288df602a7d.

* add get methods

* wip construct block clipboard entry value

* add method to get exposes + add jsdocs

* add expose

* remove todo + add jsdocs

* move clipboard out of core package

* add package files

* load package again

* render entry icon

* render correct icon

* remove clipboard from core vite.config

* Update package-lock.json

* wip copy/paste resolvers

* allow multiple accepted entry types

* move logic to resolvers

* transforming clipboard block value to fit block list

* wip copy/paste resolvers

* clean up

* remove unused

* fix missing exports

* fix tests

* return clipboard entry unique from modal

* Update block-list-entries.context.ts

* clipboard feature: clipboard property value cloner (#17824)

* restructure of property package

* content data merge controller tests

* deprecate meta from propertyValueResolver

* temp work

* temp

* poc

* rename to cloner

* stached block value cloner work

* block list implementation

* correct property value implementation

* RTE Block Property Value Cloner

* Block Grid Value Cloner

* update with comments

* try out cloner

* wip translators

* Revert "delete unused context"

This reverts commit ec31ae55aaa9e958b64c44019398e9af7cd61df4.

* move translator + cloner logic to context

* clean up

* implement read from clipboard in block list property editor

* remove debugger

* values array

* handle paste

* Update types.ts

* move files

* Update clipboard-local-storage.manager.ts

* set both create and update date when creating a clipboard entry

* align naming

* handle paste

* clean up + wip block grid translators

* updates types

* add grid block copy translator

* only allow paste translator to handle a single value

* align copy and paste translators

* remove debugger

* move to folders

* add block const

* rename

* add tests

* Update index.ts

* use correct type

* add tests for UmbBlockListToBlockClipboardCopyTranslator

* fix tests

* add translator tests

* add tests

* organize

* organize

* clean up translator tests

* align naming

* remove unused button

* only render copy property action if property has a value

* use constants

* copy single grid block

* get block grid property value from clipboard entry

* add clear method to extension registry + add js docs

* Update index.ts

* add tests for copy value resolver

* add icon for clipboard

* use clipboard icon in modal

* add tests

* remove unused setting

* fix log

* only create array once

* filter for supported paste translators

* use write method instead of duplicating the code

* add condition config type

* use config type

* Update manifests.ts

* add support for multi picker

* move multiple look up logic to context

* add js docs

* add js docs

* remove unused

* remove unused

* remove unused

* implement paste translator filtering for block catalogue modal

* temp color translator

* adding a UmbPropertyValueDataPotentiallyWithEditorAlias

* simplify observer

* append user unique to local storage key

* remove temp color picker clipboard implementations

* more explicit extension type name

* more renaming

* type specifications

* fix test and missing type

* more types for test

* renaming of paste translators

* rename folder

* rename value resolvers

* correct variable name

* wip tests for clipboard context

* clean up tests correctly

* add more tests for clipboard context

* Update clipboard.context.test.ts

* use after each for clean up

* fix test that times out

* correct name

* optimize

* remove webkit

* newest first when picking

* use fingerprint local storage key to obfuscate user id

* rename method

* use const

* set content max length

* return object including the selection uniques

* show confirm dialog before pasting value

* only show confirm dialog if there is a value

* Feature: clipboard block insert (#17935)

* insert methods

* fix originData

* move logic to base class

* progress on Grid and RTE

* correct for Block Grid paste implementation

* update async across

* remove expose from block clipboard entry model

* remove expose from grid block clipboard entry

* remove todo

* wip move value expand responsibility

* wip split clipboard context

* experiment with an extendable property context

* create propertyContexts + proxy events

* rename methods

* move proxy to context + update grid copy logic

* split tests

* remove unused

* add property context extension type

* fix tests

* fix tests

* reorganize

* Update clipboard.property-context.ts

* use context

* register property context clipboard kind

* register for block grid

* remove redundant code

* rename to replace

* Revert "rename to replace"

This reverts commit eb0535edcfaa9f68d0fc4c431c93739a43c7b29c.

* rename prop

* rename label

* improve block clean-up abilities

* Update rte-base.element.ts

* make local get of clipboard context

* add asyncFilter option to the type

* add is compatible method to the interface

* support asyncFilter in picker

* add compatability check for block list

* more explicit name

* wip implementation of filter

* add compatability checks

* add temp types

* add clipboard filtering for grid and list

* lint corrections

---------

Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
2025-01-16 15:50:09 +01:00
Mads Rasmussen
434bac788f Feature: Data Type Folder workspace (#17996)
* implement folder workspace view for data types

* Update index.ts

* export consts
2025-01-16 11:52:52 +00:00
mcl-sz
53060e1ec5 Remove __Key field from Backoffice Search if query is not a Guid
When a short search query is used, irrelevant results may arise because the query appears in the Key guide.
2025-01-15 19:11:53 +00:00
Sebastiaan Janssen
37343b24bb Merge branch 'contrib' into v15/dev 2025-01-15 16:54:02 +01:00
Mads Rasmussen
aaa025f85e close modal for create options with links (#17988) 2025-01-15 15:02:15 +00:00
Andy Butland
a29f51049b Link to content type and/or template from content/media/member info workspace view only if current user has access to settings (#17965)
* Link to content type and/or template from content/media/member info workspace view only if current user has access to sections.

* Fixed HTML

* add const for condition alias

* export const

* return permitted value in onChange callback

* use condition to check for access

* implement across content

* replace strings with consts

* replace strings with const

* remove attr with the ifDefined directive

* allow to pass in callback type

* Pass callback type

* Update index.ts

* add tests for UmbSectionUserPermissionCondition

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2025-01-15 13:46:01 +01:00
Andreas Zerbst
b8ee161e08 V15 QA updated our E2E pipeline to output test artifacts in a clearer way (#17826)
* Updated pipeline to publish acceptance test artifacts for each os. and to run tests from npm command

* Adjustment to the targetPath

* Publish all in results folder

* Moved folder

* Reverted changes

* Added all results in test folder

* Updated naming

* Used semicolon

* Additional semicolons

---------

Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
2025-01-15 10:21:36 +01:00
Jacob Overgaard
c8547d9ff0 Build: Detect circular dependencies with Madge (#17924)
* feat: adds script to run madge in a CI environment

* build: adds check for circular dependencies

* build: move actions higher up

* build: only print annotation once

* build: make script not fail CI until dependencies are fixed
2025-01-15 09:19:43 +00:00
Nikolaj Geisle
1c468e2088 Implement IsLockedOut on base class instead (#17979) 2025-01-15 08:53:15 +01:00
Jacob Overgaard
1347074330 V15: Adds validation to all entity workspaces (#17980)
* chore: add validation to mocked endpoints

* feat: create new base context `UmbEntityNamedDetailWorkspaceContextBase` to use for named entities

* feat: extend from `UmbEntityNamedDetailWorkspaceContextBase` to be able to save some code

* feat: allow to pass on the generic parameters

* feat: add type-safety property

* chore: remove duplicate code by extending from correct interface

* chore: fix type casting

* feat: make class abstract and add explanatory comment

* feat: Extend from UmbEntityNamedDetailWorkspaceContextBase to ensure all workspaces with a name follows the same interface

this allows the workspace to act as a UmbNamableWorkspace

* feat: adds a few needed properties to umb-workspace-header-name-editable

* fix: use <umb-workspace-header-name-editable> for partial views

* fix: bind to validation for templates

* chore: remove unused css

* fix(script editor): use `<umb-workspace-header-name-editable />` for the name field

* fix(stylesheet editor): use `<umb-workspace-header-name-editable />` for the name field

* chore: add missing mock endpoint for `tree/data-type/ancestors`

* chore: adds mocks for relations and relation-types

* chore: remove unused handlers

* feat: adds **readonly** to `<umb-input-with-alias />`

* fix: use `<umb-input-with-alias />` for relation type workspace editor

* chore: adds missing handler for package configuration (marketplace url)

* fix(packages): adds validation and data-marks to the package section

* feat: adds a validation context for all entity detail workspaces

* chore: remove duplicated validation contexts as that is now being set by their base class

---------

Co-authored-by: leekelleher <leekelleher@gmail.com>
2025-01-14 17:14:28 +00:00
Jacob Overgaard
c3134cbb9d V15: Add abstraction for named entity detail workspaces (#17959)
* chore: add validation to mocked endpoints

* feat: create new base context `UmbEntityNamedDetailWorkspaceContextBase` to use for named entities

* feat: extend from `UmbEntityNamedDetailWorkspaceContextBase` to be able to save some code

* feat: allow to pass on the generic parameters

* feat: add type-safety property

* chore: remove duplicate code by extending from correct interface

* chore: fix type casting

* feat: make class abstract and add explanatory comment
2025-01-14 16:38:24 +00:00
Niels Lyngsø
b5e48062b3 Merge pull request #17943 from umbraco/v15/feature/no-callback-then-destroy
Feature: no callback then destroy
2025-01-14 16:26:11 +01:00
Jacob Overgaard
836d526be8 Merge branch 'v15/dev' of https://github.com/umbraco/Umbraco-CMS into v15/dev 2025-01-14 16:06:15 +01:00
Jacob Overgaard
e49374d3f0 deps(build-dev): bump simple-icons from 13.21.0 to 14.2.0 and regenerate **icon-linkedin** 2025-01-14 16:06:12 +01:00
Jacob Overgaard
95f7aff360 hotfix: restore icon-layers due to renaming 2025-01-14 16:00:58 +01:00
Niels Lyngsø
f86919410c Merge pull request #17978 from umbraco/v15/chore/lint-corrections
Lint corrections
2025-01-14 16:00:08 +01:00
Niels Lyngsø
baecd565cc Fix: 17428 (#17976)
* method to extract json query properties

* fix issue when validation context has been destroyed

* method to remove and get validation messages

* param key

* do not assign a controller alias to this observation

* clean up delete method

* clean up validation messages

* remove unused imports
2025-01-14 15:52:54 +01:00
Mathias Helsengren
482af686a0 Updated the npm packages (#17975)
* Updated the npm packages

* generated server api and icons
2025-01-14 15:50:33 +01:00
Niels Lyngsø
bd0031d4cf lint auto corrections 2025-01-14 15:00:31 +01:00
Justin Neville
fd9c1a0e9c Fixes issue with the IVirtualPageController not setting PublishedRequest content via FindContent (#15121)
* Fixes issue https://github.com/umbraco/Umbraco-CMS/issues/12834

* Re-worked based on feedback

* Use dependency injection

* Only call new constructor

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2025-01-14 13:32:09 +01:00
Kenn Jacobsen
d6e7f83e3b Published Content should handle "is previewing" (#17957) 2025-01-14 10:39:39 +01:00
Kenn Jacobsen
6fc728c3d7 Make the Delivery API "ancestors" selector work with preview (#17938) (#17950) 2025-01-14 10:39:03 +01:00
Lan Nguyen Thuy
5afa4b069b add temporaryFileId to value when chaning focal point 2025-01-14 15:31:58 +07:00
Niels Lyngsø
45603e2689 rule to accept element base for abstract element class names (#17969) 2025-01-14 08:59:41 +01:00
Sebastiaan Janssen
c4021e27e5 Fixing problem on Linux where dotnet run fails because we try to set an IIS config (#17903)
* Don't add a blanket rule to allow synchronous IO, should not be necessary for the new management API

* Add obsolete warning

* Catch errors while adding global rule to allow synchronous IO, which fails on non-windows machines

* Some updates based on PR feedback
2025-01-14 01:32:43 +01:00
Krüger
42f49eb564 Visual update to user group modal (#17934)
* Initial commit of changes

* final touches on styling

* Refactored to observe and resolve the document/media node names

---------

Co-authored-by: DESKTOP-16T01G5\Umbraco <obk@umbraco.dk>
Co-authored-by: leekelleher <leekelleher@gmail.com>
2025-01-13 13:17:05 +00:00
Mole
44c30807fa Handle invariant domains (#17937) 2025-01-13 08:52:43 +01:00
Niels Lyngsø
80e94023d2 destroy if observer has no callback 2025-01-10 20:29:07 +01:00
Niels Lyngsø
3873b5b595 Merge pull request #17929 from umbraco/v15/bugfix/17312
Fix/Feature: Introducing Route Path Addendum
2025-01-10 19:51:00 +01:00