* align naming * mute updates * lower threshold * add expansion model with target * add function to link entries * fix self import * export constants * update js docs for entity expansion manager * link entries * fix import * do not export from menu here * fix import * fix import * align how we register manifests * add specific managers for section sidebar menu * use structure items * dot not expand current item * Refactor section sidebar menu to use programmatic extension slot Replaces the template-based <umb-extension-slot> with a programmatically created UmbExtensionSlotElement for improved performance and UX. * add section context extension * register menu as section context instead of hardcoding * rename folder * align naming * export extension slot elements * fix typings * destroy extension slot element when host is disconnected * Added user start node restrictions to sibling endpoints. * use entry model * move and rename * register global context to hold menu state across sections * temp observe section specific expansions * temp observe section specific expansions * add method to collapse multiple items * Further integration tests. * Tidy up. * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * bind expansion to section * make entity expansion manager generic * Revert previous update. * add helper method * remove temp test data * Retrieves item counts before and after the target for sibling endpoints and returns in API response. * Applied previous update correctly. * Removed blank line. * Fix build and test asserts following merge. * add getItem method * Update OpenApi.json. * generate new server types * include last item in target * add target pagination type * return totalBefore and totalAfter * call siblings endpoint for documents * add method to load children with target * rename to item * wip target pagination manager * add button to load prev tree items * render prev and nexts buttons for tree items * Update tree-load-prev-button.element.ts * add util to append to unique array * add state method to prepend data * implement methods to load next and prev items * add methods to interface * Update tree-item-element-base.ts * Update tree-item-context-base.ts * remove unused * align methods * update types * add jsdocs * add deprecation notice * fix jsdocs * fix import * Update tree-data-source.interface.ts * remove duplicate type * clean up * fix page calculations * remove unused * clean up * pass full entry to event * add type for menu item expansion * export types * add menuItem alias * Update types.ts * support menu item expansion entry * add const for menu item alias + use for breadcrumb and menu item * add data type menu item alias const + apply to breadcrumb * move to correct manifest * add menu item alias to expand entries * Update manifests.ts * add menu structure kind types * add kind to manifests * add menu item context * filter menu items * handle menu item expansion * clean up * fix order * add example dashboard and entity action * import types * align model type names * align naming * use ui component * add guard for menu item entry * use correct type * Update section-sidebar-menu.element.ts * Update entity-expansion.manager.ts * export constants * add menuItemAlias to manifest * add menuItemAlias to manifest * add menuItemAlias to manifest * add menuItemAlias to manifest * add menu item alias * add menuItemAlias to manifest * add menuItemAlias to manifest * add menuItemAlias to manifest * add alias * add kind * fix import path * do not expand menu from modal * collect all menu-item files in one folder * fix lint errors * Update content-detail-workspace-base.ts * clean up * rename to example * add button to collapse everything within a section * return correct data from base * recalculate after * fix breadcrumb for non-variant structure * reload entity * destroy * remove self * Updated acceptance tests to check if a caret button is open before clicking * Bumped version of test helpers * use const * add target paging for tree root items * more specific field names * update field name * add model for offset pagination * add request to model name * correct * using Event Contsants for event map * comment * clean event listeners before adding new ones * use createObservablePart * add paging type guards * add types * add check for unique * add comment * pass data type id * wip reload tree logic * move start + end target logic to target pagination manager * use target pagination manager in tree item context * remove local references to start, end and base targets * calculate before and after when reloading * clean up * support children in tree item context * add methods to observe an expansion entry * reload structure when item is created * UX adjustments * add controller alias to observer * Update default-tree.context.ts * Update default-tree.context.ts * Update default-tree.context.ts * test targets in document type tree data source * when reloading only send the target if its part of the current items * wip tree request manager * make data source base a controller * add tree request helper for document types * use request helper in data source * clear more data when clear is called * when reopening a tree item - reuse previous state * add tree item children manager * split to manager * clean up * only return an entity model when getting target * allow entity model as target * add null checks * add method for getSiblingsFrom * implement target for tree data request manager * Update default-tree.context.ts * set parent for tree root * reload if target is new * add types for tree data request manager * implement request manager for document tree * use request manager for media tree * add request manager for data type tree * move into folder * move into folder * move into folder * add target support for document blueprint * add request manager for template tree * add request manager for media type tree * add hasChildren flag for root * make start node its own thing * move hasChildren logic to children manager * Create tree-item-expansion.manager.ts * use expansion manager * align tree item managers * Update tree-item-context-base.ts * support take 0 * add methods to get new targets * add retries * add button loading states * fix next start and end * reset baset target * use clear when restting children * throw error if parent doesn't match request * show notifcation when children is reset * only render menu context for non trashed document and media items * use correct import * fix types * update interfaces and imports to fix circular dependencies * move into tree-item folder * rename file * Update tree-item-context-base.ts * move token out of context file to remove circular dependency * set take size to 50 * remove unused * export const * correct default value * check on both sides after a new base target * `import type` sort ordering --------- Co-authored-by: Andy Butland <abutland73@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Andreas Zerbst <andr317c@live.dk> Co-authored-by: Niels Lyngsø <nsl@umbraco.dk> Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com> Co-authored-by: leekelleher <leekelleher@gmail.com>
Umbraco CMS
Umbraco is a free and open source .NET content management system. Our mission is to help you deliver delightful digital experiences by making Umbraco friendly, simpler and social.
Learn more at umbraco.com
Looking to install Umbraco?
You can get started using the following commands on Windows, Linux and MacOS (after installing the .NET Runtime and SDK):
dotnet new install Umbraco.Templates
dotnet new umbraco --name MyProject
cd MyProject
dotnet run
Documentation
Our comprehensive documentation takes you from the fundamentals on how to start with Umbraco to deploying it to production.
Some important documentation links to get you started:
- Installing Umbraco CMS
- Getting to know Umbraco
- Tutorials for creating a basic website and customizing the editing experience
Get help
If you need a bit of feedback while building your Umbraco projects, we are chatty on Discord. Our Discord server serves both a social space but also has channels for questions and answers. Feel free to lurk or join in with your own questions. Or just post your daily Wordle score, up to you!
Looking to contribute back to Umbraco?
You came to the right place! Our GitHub repository is available for all kinds of contributions:
Umbraco is contribution-focused and community-driven. If you want to contribute back to the Umbraco source code, please check out our guide to contributing.
