* 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>
* Removing obsoleted code from MigrationPlanExecutor.cs & Interface
* Removing obsoleted code from EmailAddressPropertyEditor.cs
* Removing obsoleted class CacheRebuilder.cs
* Removing obsoleted code from TextBuilder.cs
* Removing obsoleted class ICacheRebuilder.cs
* Removing obsoleted code from SerilogLogger.cs
* Removing the use of Infrastructure IBackgroundTaskQueue.cs and replacing usage with the Core replacement
* Removing obsoleted code from the FileUploadPropertyEditor.cs
* Removing obsoleted code from BlockValuePropertyValueEditorBase.cs
* Removing obsoleted constructors and methods from MultiNodeTreePickerPropertyEditor.cs and TextHeaderWriter.cs
* Removing obsoleted code from CacheInstructionService.cs
* Bumping obsoleted code from MigrationBase.cs to V18
* Removing obsoleted code from EmailSender.cs
* Removing obsoleted code from BlockEditorVarianceHandler.cs
* Removing obsoleted code from IBackOfficeApplicationManager.cs
* Removing obsoleted code from RedirectTracker.cs & RichTextEditorPastedImages.cs
* 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>
* Persist and expose Umbraco system dates as UTC (#19705)
* Updated persistence DTOs defining default dates to use UTC.
* Remove ForceToUtc = false from all persistence DTO attributes (default when not specified is true).
* Removed use of SpecifyKind setting dates to local.
* Removed unnecessary Utc suffixes on properties.
* Persist current date time with UtcNow.
* Removed further necessary Utc suffixes and fixed failing unit tests.
* Added migration for SQL server to update database date default constraints.
* Added comment justifying not providing a migration for SQLite default date constraints.
* Ensure UTC for datetimes created from persistence DTOs.
* Ensure UTC when creating dates for published content rendering in Razor and outputting in delivery API.
* Fixed migration SQL syntax.
* Introduced AuditItemFactory for creating entries for the backoffice document history, so we can control the UTC setting on the retrieved persisted dates.
* Ensured UTC dates are retrieved for document versions.
* Ensured UTC is returned for backoffice display of last edited and published for variant content.
* Fixed SQLite syntax for default current datetime.
* Apply suggestions from code review
Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
* Further updates from code review.
---------
Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
* Migrate system dates from local server time to UTC (#19798)
* Add settings for the migration.
* Add migration and implement for SQL server.
* Implement for SQLite.
* Fixes from testing with SQL Server.
* Fixes from testing with SQLite.
* Code tidy.
* Cleaned up usings.
* Removed audit log date from conversion.
* Removed webhook log date from conversion.
* Updated update date initialization on saving dictionary items.
* Updated filter on log queries.
* Use timezone ID instead of system name to work cross-culture.
---------
Co-authored-by: Laura Neto <12862535+lauraneto@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>
* Removing obsoleted class GlobalSettingsExtensions.cs
* Removing obsoleted methods and usage from ObjectExtensions.cs
* Removing a ton of obsoleted methods from PublishedContentExtensions.cs
* Removing obsoleted constructors
* Removing obsoleted tag on private method that's still in use.
* 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