* Add localization for Approved color/Color Picker Data type
* Apply suggestions from code review
Co-authored-by: Andy Butland <abutland73@gmail.com>
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Ported changes from Umbraco 13 around not throwing exceptions with identity IDs that can't be parsed to an integer or GUID.
* Revert async changes (better done systemically in a separate update).
* Take content settings into account
* Implement test
* Amend error message
* Move new enums to have same values
* Update to check in ServiceBase
* Fix empty recycle bin
* Return proper operation status
* Apply suggestions from code review
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Fix according to feedback
---------
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* 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 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
* align 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 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 fallback element
* 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
* fix name collision
* require data source identifier
* use management api mapper
* add management api mapper
* fix type errors
* Update index.ts
* align naming
* add todo comment
* implement path pattern for media item
* clean up
* more clean up
* sort imports
* member edit path pattern
* clean up
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
* build(deps-dev): update storybook from 8.4.7 to 8.5.6
* build(deps): update tiptap from 2.11.2 to 2.11.5
* build(deps-dev): update eslint stuff to latest
* build(deps): update element-internals-polyfill from 1.3.12 to 1.3.13
* build(deps): update marked from 15.0.6 to 15.0.7
* build(deps-dev): update vite from 5.4.14 to 6.1.0
* build(deps-dev): update globals to 15.15.0 (eslint dependency)
* build(deps): update icon libraries to latest
* build(deps-dev): update prettier from 3.4.2 to 3.5.1
* chore: generate consts
* build(deps-dev): update test-related libraries
* feat: copy over code from the tiny base64-js library because it is not exported as esm and has not been updated in 4 years
* build(deps-dev): remove dependency from base64-js
* build(deps-dev): upgrade rollup dependencies
* test: disable tests for tinyce
* build(deps-dev): update @babel/core to 7.26.9
* build(deps): update storybook to latest
* build(deps-dev): update types
* build(deps-dev): update typedoc from 0.27.6 to 0.27.7
* build(deps-dev): update @rollup/plugin-commonjs to latest
* build(deps): import tiny as default and re-export as module and default to make everyone happy (and avoid commonjs pitfalls)
* build: remove dependency on commonjs to build externals
* build(deps-dev): uninstall @rollup/plugin-commonjs as it is no longer needed
* test: reenable tinymce tests
* fix: sets a default label
this mistake was highlighted by the test runner
* test: reenable tinymce tests
* build: ignores autogenerated test file
* build: adds github error logging to icon generator
* build: log as error
* build: adds tests for generate:* scripts
* build: optimises icons with svgo to remove useless things like comments
this also ensures that icons are unchanged when we upgrade icon library packages as they would normally include things like versions as comments in the files
* implement handleSelector configuration option for Sorter Controller
* improve sorting of Content Type Groups
* fix ignorerSelector
* remove button from default ignorer
* block grid type group sorter use handle
* fix content type group sorter style
* handle for Block List Entries
* adjustments for block list and grid
* Tiptap: Adds custom button for Table
Provides a popover with table menu actions.
* Moved Table extension to its own folder
* Extended the Tiptap `Table` extensions
* Amended table toolbar actions to have `focus()`
* Markup amends
* Fix up Tiptap mock data
* [WIP] Table column/row bubble menu
* Tiptap, enabled content check for invalid markup
* [WIP] Tiptap toolbar cascading menu items
* Tiptap: relocated Block extension
from "plugins" folder to "extensions" subfolder.
* Table toolbar, moved the menu to the API
* `UmbTiptapToolbarElementApiBase`, made `execute` concrete
so that it becomes optional in extended classes.
* Adds "default" toolbar element API
which does nothing, but satisfies the extension loader controller.
* `@ts-ignore` the `.showPopover()` and `.hidePopover()` calls
* Updated Tiptap toolbar mock data-type.data
to match TinyMCE toolbar layout.
* Implemented "Cascading Menu Popover" as a standalone component
* Reworked Table toolbar to use cascading menu
* [WIP] Tiptap bubble menu
* Adds Tiptap Cascading Menu Popover
Example with a Style Select menu, with default (hard coded) options,
similar to TinyMCE's unconfigured Style Select menu.
* Small code tidy ups
* Added "Insert Table" component
* Removed Table Bubble Menu feature (temporarily)
as its development isn't ready yet.
* Removed `umb-tiptap-hover-menu` component
as it wasn't been used.
I expect this will become the bubble menu feature.
* 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 fallback element
* 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
* move logic to item data resolver
* render draft as a tag
* Update document-item-ref.element.ts
* 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
* fix type errors
* Update index.ts
* clean up
* use path pattern
* feat: adds validation checks and saves a version when scheduling content
* chore: adds mock handler for validate
* docs: adds documentation for umbracoPath
* chore: adds deprecation and todos
* feat: adds a method to output a list format
* test: adds test for list format
* feat: rename to list
* feat: adds localization for scheduling
* feat: adds notifications for publishing by action
* test: fixes naming
* feat: adds notification for publishing in bulk
* feat: fixes todo by adding localization
* feat: adds notification when publishing from workspace
---------
Co-authored-by: leekelleher <leekelleher@gmail.com>
* Introduce IsDocumentPublishedInAnyCulture
Sometimes we don't care about culture
* Check ancestor path when resolving cache items
* Fix tests
* Rebuild NavigationService
* Only set node if it has a published ancestor path
* Remove branch when unpublished
* Add tests
* Add seed test
* Consider published ancestor path when seeding documents
* Introduce MediaBreadthFirstKeyProviderTests
This is needed since the logic of document and media is no longer the same
* Remove unused services
* Move assert page to helper
* Add variant tests
* Add tests
* Filter keys in ContentTypeSeedKeyProvider
* Fix tests
* Add failing test showing refreshing issue
* Don't blow up if we can't resolve the node from navigation cache
Turns out that this can actually happen :D Should be fine to just return false
* Refactor cache refresher check
* Make NavigationQueryService service protected
* Add comment on how to refactor breadth first key provider
* Refactor if statement
* Added IsTrashed to document collection model.
* Add IsProtected to document collection response model.
* Rework to do setting of IsProtected within the mapper.
* Remove use of service in map definition.
* Refactor document and media by key endpoints to use presentation factories.
* Set IsProtected property.
* Introduced base presentation factory interface for content.
* chore(mock): adds handling for publishing schedules
* chore: removes unused translation key
* feat: shows a message when a culture has pending changes that are not saved
* feat: optimises pending changes text
* feat(UmbInputDateElement): extends the UUIInputElement rather than using it internally, which allows for more advanced form usage as well as usage of its slots
* feat: adds a Clear button on each date field to more easily clear a schedule
* feat: optimises localization with text from the real button
* Display the remove button if the datetime input has a value
---------
Co-authored-by: leekelleher <leekelleher@gmail.com>
* feat: adds a method to output a list format
* test: adds test for list format
* feat: adds a method to show a compounded relative time
* test: improves test to be absolute
* feat: allows dates to be strings
* chore: fixes lit warnings
* feat: adds compounded time to document info view
* feat: rename to list
* feat: use the Intl.DurationFormat API to format durations
* test: adds test for string dates
* feat: times should always be absolute
* feat: adds duration to the umb-localize-date element
* feat: adds support to set your own title
* revert changes
* feat: adds localization to calculate duration past or future
* feat: adds danish localization