* feat: converts tokenResponse into an object state
* feat: adds worker that checks token lifetime
* feat: initialises token worker to check up on tokens
* revert
* chore: defines typings for shared workers
* chore: uses correct assets url for core package
* feat: sets correct values for token check expiration
* feat: adds labels to confirm modal
* feat: separates logic for session monitoring to own controller
* feat: adds a timeout modal to correctly inform the user
* feat: opens the timeout modal (and closes it again) if a timeout occurs
* feat: log out when user clicks log out button
* feat: adds localization
* feat: sets sensible defaults for the web worker to check
* feat: adds more languages
* chore: adds more comments
* chore: removes nodejs types
* Update src/Umbraco.Web.UI.Client/src/packages/core/auth/workers/token-check.worker.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* chore: removes nodejs types
* chore: resolves cyclic imports
* chore: removes circular dependencies from the 'modal' package
* chore: redefine SharedWorkerGlobalScope because of Github Actions CI
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Adds `markedExtension` extension-type
* Relocates the Component and Filter extension-type interface code files
to under "extensions"
* Moves `UfmPlugin` type to its own referencable file
* Adds UFM support for JS expressions
making use of "@heximal/expressions" library.
* Modified regex pattern to match nested braces
* try/catch for invalid JS expressions
* Capitalizing the JS in `UmbUfmJsMarkedExtensionApi` class name
for consistency and improved readability.
* Abstracted out `ufmjs()` to its own Marked extension file
making it simpler to add unit-tests.
* Fixed up types in UFM context
added JSDocs for public methods
* Adds a generic Least Recently Used (LRU) cache implementation
* feat: adds new backend-api and http-client packages and generates the api with @hey-api/client-fetch
* feat: maps generic T back to promise to avoid usage of 'any'
* feat: sets up baseUrl and auth for the new client
* feat: gets the api base url from server context instead of the http client
* feat: gets the api base url from server context instead of the http client
* feat: allows undefined token for xhr requests
* feat: changes the response object to be either type T directly (to support @hey-api/client-fetch) or the given type if the response does not contain a 'data' object
* revert interface
* feat: creates an api return type to comply with @hey-api/client-fetch
* feat: maps T back to the data model for non-api types
* feat: simplify api response to return the promise you sent to it with an optional error object
* feat: moves http related modules to the core package
* feat: updates the required type of the client for the api interceptors
* docs: removes invalid property
* feat: adds request parameters to documents
* feat: adds request parameters to imaging
* feat: adds return type to item-server-data-source-base
* feat: adds request parameters to webhooks
* feat: adds request parameters to users
* feat: renames all `requestBody` to `body` to conform with new client-fetch
* feat: uses query to take parameters in
* feat: adds data source response to tree types
* feat: adds request parameters to templating
* feat: adds request parameters to templating
* feat: adds request parameters to telemetry
* feat: adds request parameters to tags
* feat: adds request parameters to examine management
* feat: adds request parameters to relations
* feat: adds request parameters to packages
* feat: catches new api errors that are direct problem details objects
* feat: adds default interceptor to handle Umb-Generated-Resource headers
* feat: uses an error interceptor specifically to catch errors to avoid overhead
* feat: adds request parameters to members
* Revert "feat: uses an error interceptor specifically to catch errors to avoid overhead"
This reverts commit 7ffb7b29bfe4ddbc51736434db78372767731dd1.
* feat: adds request parameters to media
* feat: adds request parameters to log viewer
* feat: adds request parameters to languages
* feat: adds request parameters to health check
* feat: adds request parameters to oembed
* feat: adds request parameters to documents
* feat: adds request parameters to redirect management
* feat: adds request parameters to blueprints
* feat: adds request parameters to dictionary
* feat: adds request parameters to data types
* feat: adds request parameters to temporary file
* feat: instructs delete methods to return an unknown value
* feat: allows default value to be unknown
* feat: adds request parameters to culture
* chore: import path
* feat: adds correct models to mocks
* feat: adds correct models to installer and upgrader
* feat: adds correct models to mocks
* chore: forgot to move ignore line
* chore: ignores generated files in eslint
* chore: removes old generated files
* feat: moves network connection status manager back into the main app to avoid imports from core
* chore: update imports
* feat: generate API for login screen without relying on the backoffice
* feat: uses the generated models on the login screen
* feat: sets 'credentials' to 'include' and adds it back to openapiconfiguration to avoid a breaking change
* adds back in commands moved to a workspace
* chore: vscode workspace settings formatted and useFlatConfig added for better compatibility
* fix: straightens out unnecessary imports of components and re-exports them appropriately
* fix: imports repository from file directly
* feat: introduces a "server" package and moves UmbAppContext logic to UmbServerContext
* feat: updates all cases of `UmbAppContext` -> `UmbServerContext`
* build: adjusts MAX_CIRCULAR_DEPENDENCIES from 6 to 3
* Update src/Umbraco.Web.UI.Client/devops/circular/index.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: removes unused interface
* build: adds server bundle to vite
* build: vite should build index barrel
* build: readjust to 5 to account for previous failed build
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* create a symlink between local Client .vscode snippets and global snippets for ease of use
* fix: no need to specify `Element` in the snippet as that is pulled from the filename
Because of our convention with `x.element.ts` you would have ended up with `UmbXElementElement`
* feat: adds new component `umb-input-dropzone`
* docs(storybook): more stories
* feat: construct the temporary files centrally along with an `AbortController` and use its signal
* feat: makes UmbInputDropzone form aware
* feat: introduces a change event
* chore: temporary changes before changing upload field
* feat: adds default slot
* docs: adds jsdocs
* feat: adds more properties
* feat: adds dashed styling
* feat: adds multiple support
* feat: allows to cancel file
* feat: separate **cancel** and **remove**
* fix stylibg
* move dropzone element
* move input-dropzone into dropzone package
* feat: introduces a 'dropzone' package
* import for backward compatibility
* remove ambigious export
* reexport everything from dropzone
* fix import
* cleanup test files
* use correct import paths
* test: make sure folder exists before writing to it
* adds export for modals
* adds entrypoint for dropzone package
* use the AbortController directly on the temporary file object
* uses correct icon name
* feat: adds ability to remove all files and cancel the request
* feat: adds styling for the uploader
and enables it to work in multiple mode with classes over id's
* do not let the content exceed its boundaries
* feat: formats progress with 2 decimals
* feat: formats with 0 decimals
* fix: returns cancel error
* fix: maps cancel errors back to the uploadable item
* fix: do not proceed with media items if the request was cancelled
* chore: mark exports from media <- dropzone as deprecated
* fix: use correct attribute and remove a todo with localizations
* fix: use correct attribute and remove a todo with localizations
* fix: allow to specify parent through attribute
* feat: align attribute `disableFolderUpload` between dropzone components
* add trash confirm modal
* make referenceRepo optional + adjust styling
* add referenceRepository to media trash action
* wip entity-item-ref extension point
* clean up
* add ref list element
* fix styling
* Update document-item-ref.element.ts
* move item repo
* implement for input member
* enable action slot
* add null check
* fix sorting again
* fix sorting again
* use member element
* add draft styling back
* move item repository
* implement for user input
* pass readonly and standalone props
* make editPath a state
* Update member-item-ref.element.ts
* Fix user item ref
* remove open button
* remove unused
* remove unused
* check for section permission
* add null check
* change to use entity-item-ref element
* register media item ref
* add fallback element
* show 3 references
* wip data mapper concept
* add unique to modal route registration
* add unique to modal router
* remove unused id
* Update member-item-ref.element.ts
* append unique
* compare with old value
* only recreate the controller if the entity type changes
* fix console warning
* implement for document item ref
* Added $type to ReferenceResponseModels
* move logic to item data resolver
* render draft as a tag
* Update document-item-ref.element.ts
* generate server models
* add more helpers to data resolver
* export resolver
* add observables
* use observables in document item ref
* add data resolver to tree item
* add observable state
* use const
* align models
* get icon from document type object
* observe name and state
* update observed value when a new item is set
* update method name
* update method names
* pass model type
* pass context type
* use api prop instead of context
* use api prop instead of context
* fix types
* use addUniquePaths for modal registration
* add fallback
* use ref list
* use reference items for media
* make mapper name more generic
* make default ref item always readonly
* export types
* temp fake variants array
* add variants array to model
* Update media-references-workspace-info-app.element.ts
* add variants to model
* hardcode fake array
* register media ref item
* update mock data
* dot not allow conditions for data mappers
* add data mapper
* prefix info routes
* prefix all ref routes
* return undefined if there is not edit path
* add types for reference data source + repository
* split trash with relation into its own action
* render descendants with references
* fix length check
* set standalone attribute
* implement for media
* move trash
* wip delete with relation
* move to element
* fix name collision
* require data source identifier
* use management api mapper
* add management api mapper
* fix type errors
* Update index.ts
* align naming
* show references when deleting a document
* Update delete-with-relation-modal.element.ts
* use deleteWithRelation kind for media
* clean up
* localize trash
* fix type
* Update trash-with-relation.action.ts
* override confirm methods in trash and delete actions
* Update index.ts
* export constants
* Limit referenced-by document and media endpoints to references only.
* Update document-reference-table.element.ts
* add methods to get bulk references for documents
* wip bulk trash
* add todo comment
* implement path pattern for media item
* clean up
* more clean up
* sort imports
* member edit path pattern
* clean up
* remove unused variant id
* export extension types
* wip bulk trash with relation
* debounce incoming events
* look up items + notify
* add todo
* temp solution to make it non breaking
* add bulk delete
* better description
* implement methods for are referenced
* change to use bulk trash with relation
* implement delete with relation kind
* deprecation warnings
* move files
* move files
* export const
* use correct kind
* align naming
* upper case Trash
* correct uui-text impl
* add comment about the v2 name
* fix circular depdendencies
* rename const
* split to module
* import global components
* more explicit naming
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
* 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>