* Prevents the removal of all user groups from a user.
* Add additional user group when removing
---------
Co-authored-by: mole <nikolajlauridsen@protonmail.ch>
* rename and implement fallbackRender
* re introducing method as part of the name
* rename impls
---------
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Andrej Davidovič <andrejd@cdata.com>
* Fix: custom block view rendering
* chore: formatting
* chore: formatting
* chore: marks render method as class property to bind it properly to the class so it can run private methods and does not lose its context
see also #extensionSlotRenderMethod
---------
Co-authored-by: Andrej Davidovič <andrejd@cdata.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* fix: uses isAuthorized to check if user is logged in before terminating the observer
* feat: adds new function to redirect to stored path
* fix: always redirect to stored path even on failure
the user may have landed up on the page by mistake
* Revert "fix: always redirect to stored path even on failure"
This reverts commit 0c0cc0253c175ae8910e0cd26fc6df238374e6b2.
* fix: sends back the result
* fix: waits for the initial authorization request to come back before listening to the authorization signal (and then only listen once for it)
also check if the request was null, which means we can safely redirect the user
* docs: clarify what happens
* chore: converts the promise code to async/await pattern
* fix: tokenResponse should validate its internal object state
* feat: allows function to force a window redirect
* fix: checks if the user happens to already be authorized, because then we do not need a new code check
* Update src/Umbraco.Web.UI.Client/src/packages/core/utils/path/stored-path.function.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix issue dragging tiptap toolbar buttons
* Moved the `.items` CSS rules to the group element
* Refactored the toolbar-group element
- Renamed "toolbar-item-click" event to "remove", to show intent
- Reordered the method names alphabetically
- Renamed `value` to `items`, to show intent
- Removed `toolbarValue`, as not required
- Added `data-mark` for menu/styleMenu buttons
* Renamed/relocated "umb-tiptap-toolbar-group-configuration" element
* Updated tag name
---------
Co-authored-by: Lan Nguyen Thuy <lnt@umbraco.dk>
Co-authored-by: leekelleher <leekelleher@gmail.com>
* build(deps): bump @hey-api/openapi-ts to 0.81.1 and pin the version to ensure compatibility between backoffice and extensions
* chore: regenerate api types and replace where necessary
* feat: pin version of @hey-api/openapi-ts and regenerate umbraco-extension files
* chore: removes unused 'client' field
* build(deps-dev): bump @hey-api/openapi-ts to 0.81.1 for the login app
* fix: adds documentation to the UmbImagingRepository and makes the internal store optional, and deprecates an old method
* fix: uses new method to request thumbnails
* fix: ensures the internal data store has at least been attempted to be consumed before proceeding
* feat: adds methods to clear cached resized images
* feat: awaits the store before attempting to clear cache
* fix: attempts to clear the imaging cache when a media item entity is updated or deleted
* fix: awaits the store
* fix: set unique as property
* fix: ensures that the imaging component reloads its thumbnail if it has already been loaded once
* chore: removes duplicate check for isLoading
* chore: cleans imports
* feat: marks method as internal so that we may change it later on
* disable eslint check
* Allow open split view using the keyboard
* Add localize method to the label
* Add a method to localize terms with a language parameter
* adjust localization wording
* support segments in label
* localize texts
---------
Co-authored-by: Mads Rasmussen <madsr@hey.com>
* todos
* navigation context
* replace raw manifests with view context
* Array State has method
* rename to hint and much more
* Notes for later
* correcting one word
* more notes
* update JS Docs
* update tests for getHasOne
* fix context api usage
* update code for v.16
* correct test
* export UMB_WORKSPACE_VIEW_CONTEXT
* minor corrections
* rename to _hintMap
* refactor part 1
* update version number in comment
* clear method for array states
* declare hint import map
* mega refactor
* final corrections for working POC
* clean up path logic
* implement scaffold
* propagation and inheritance from view to workspace
* separate types from classes
* refactor to view context
* rename editor navigation context to editor context
* propagate removals
* clean up notes
* Hints for Content Tabs
* use const path
* handle gone parent
* added comments on something to be looked at
* hints context types
* contentTypeMergedContainers
* lint fixes
* public contentTypeMergedContainers
* refactor property structure helper class
* a few notes for Presets
* set variant ID instead of parsing it to the constructor
* do not inject root to the path
* adjust structure manager logic
* UmbPropertyTypeContainerMergedModel type update
* correct mergedContainersOfParentIdAndType
* fix lint errors
* fix missing import
* Update src/Umbraco.Web.UI.Client/src/packages/core/hint/context/hints.controller.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/Umbraco.Web.UI.Client/src/packages/content/content/workspace/content-validation-to-hints.manager.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/Umbraco.Web.UI.Client/src/packages/content/content/workspace/content-validation-to-hints.manager.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* extend controller base
* extend controller base
* add package for management api
* add signalr as external package
* connect to server event hub
* do no act on undefined
* add event subject
* correct alias
* export token
* add helper methods
* cache server responses
* fix import
* use helpers
* add detail request manager
* implement for document type
* implement for data type
* add method for update
* add support for create method
* align code
* Update detail-request.manager.ts
* move explicit naming
* move into folder
* collect server code in folder
* add implementation for data type request manager
* implement for document type
* only cache when we have connection to the server events
* poc inflight request cache
* clean up
* update
* add management api inflight request cache
* Update document-type-detail.server.request-manager.ts
* Update src/Umbraco.Web.UI.Client/src/packages/management-api/detail/detail-data.request-manager.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* extend controller base
* extend controller base
* add package for management api
* add signalr as external package
* connect to server event hub
* do no act on undefined
* add event subject
* correct alias
* export token
* add helper methods
* cache server responses
* fix import
* use helpers
* add detail request manager
* implement for document type
* implement for data type
* add method for update
* add support for create method
* align code
* Update detail-request.manager.ts
* move explicit naming
* move into folder
* collect server code in folder
* add implementation for data type request manager
* implement for document type
* only cache when we have connection to the server events
* update
* fix imports
* introduce item cache
* call trough get items controller
* remove log
* add unit tests for item cache
* Create cache.test.ts
* use sync method to lookup data type item
* use correct alias
* remove unused code
* data type item cache
* add client document type item cache
* add client cache for dictionary items
* add media item client cache
* add client cache for media type item
* add client cache for member and member type items
* add member group item cache
* split detail cache invalidation from request manager
* introduce item cache invalidation manager
* remove arg
* add data type item cache manager
* add memeber group item cache invalidation manager
* remove unused
* invalidate documents when document types changes
* align naming
* add method to get unique
* add dictionary item cache manager
* use server model instead of mapping
* call method
* update args
* update document type item cache invalidation
* add cache invalidation for member items
* update
* update
* update
* add item caching for languages
* add template item cache
* cache stylesheet items
* add caching for script items
* cache partial view items
* cache user items
* cache user group items
* add document blueprint item cache
* Removed readonly Signs property to re-align client models.
* Regenerate client types.
* Applied changes from code review.
* cache static file items
* add webhook item cache
* update mocks with signs data
* update mocks
* fix lint error
* fix eslint errors
---------
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Andy Butland <abutland73@gmail.com>
* dropdown keyboard accessibility issue
* Eslint update
* Improve accessibility of the app language dropdown.
* Bring back combobox list element
* Add keyboard support for arrowup and arrowdown
* use change event for value change
* Change button element for a div as trigger
* Unused import
---------
Co-authored-by: Mads Rasmussen <madsr@hey.com>
* Create sign provider collection and call registered providers on rendering a page of tree item view models.
Re-work tree controller constructors to provide registered providers as a collection.
* Stub implementation of sign provider for documents with a scheduled publish pending.
* Complete implementation of tree sign for pending scheduled publish.
* Added integration test for new method on IContentService.
* Added unit test for HasScheduleSignProvider.
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Tidied usings and clarified method header comments.
* Adding a fixed prefix to all future signs, and removing the provider property
* Adding a sign for protected tree documents.
* Adding IsProtectedSignProviderTest.cs & correcting HasScheduleSignProviderTests.cs to no longer assert the provider
* Fixing minor things in accordance with CR
* Adding collection items compatibility
* Introduced IHasSigns interface to provide more re-use across trees and collections.
Fixed updates to base content controllers (no need to introduce a new type variable).
Removed passing entities for populating tree signs (we aren't using it, so simplifies things).
* Refactoring a bit to make existing code less duplicated and fixing some constructor obsoletion
* Introducing a has pending changes sign.
* Applying changes based on CR
* Introducing tests for HasPendingChangesSignProvider.cs and stopped the use of contentService
* Introducing tests for HasPendingChangesSignProvider.cs and slight logic change
* Introduced HasCollectionSignProvider.cs and tests.
* Introducing collection signs to Media Tree & Media Collection items
* Introducing Plain Items and tests. Refactoring tests as well
* Introduced alternative CanProvideSigns() implementation on IsProtectedSignProvider.cs
* Slight refactoring to reduce bloating.
* Adding [ActivatorUtilitiesConstructor] since it threw an error otherwise
* Minor cleanup.
* Updated OpenApi.json.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: NillasKA <kramernicklas@gmail.com>
* Updated hey-api as the client-fetch is bundled as part of @hey-api/openapi-ts in newer versions
* Regenerated a new package-lock.json file
* Fix typescript issue
* Update templates/UmbracoExtension/Client/package.json
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Updated client dependencies
* Vite, TypeScript, hey-api
* Chalk & Cross-Env for the generate-client script
* Explicitly remove package-lock.json as it will be out of sync due to UMBRACO_VERSION_FROM_TEMPLATE
* Regenerated Hey API client that now ships client rather than dependancy
* Vite and Hey-API were already out of date (updated to the very latest)
---------
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* extend controller base
* extend controller base
* add package for management api
* add signalr as external package
* connect to server event hub
* do no act on undefined
* add event subject
* correct alias
* export token
* add helper methods
* cache server responses
* fix import
* use helpers
* add detail request manager
* implement for document type
* implement for data type
* add method for update
* add support for create method
* align code
* Update detail-request.manager.ts
* move explicit naming
* move into folder
* collect server code in folder
* add implementation for data type request manager
* implement for document type
* only cache when we have connection to the server events
* update
* fix imports
* introduce item cache
* call trough get items controller
* remove log
* add unit tests for item cache
* Create cache.test.ts
* use sync method to lookup data type item
* use correct alias
* remove unused code
* split detail cache invalidation from request manager
* introduce item cache invalidation manager
* remove unused
* invalidate documents when document types changes
* align naming
* add method to get unique
* use server model instead of mapping
* call method
---------
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* extend controller base
* extend controller base
* add package for management api
* add signalr as external package
* connect to server event hub
* do no act on undefined
* add event subject
* correct alias
* export token
* add helper methods
* cache server responses
* fix import
* use helpers
* add detail request manager
* implement for document type
* implement for data type
* add method for update
* add support for create method
* align code
* Update detail-request.manager.ts
* move explicit naming
* move into folder
* collect server code in folder
* add implementation for data type request manager
* implement for document type
* only cache when we have connection to the server events
* update
* fix imports
* Create cache.test.ts
* use sync method to lookup data type item
* use correct alias