Skip to content

Latest commit

 

History

History
397 lines (290 loc) · 17.8 KB

File metadata and controls

397 lines (290 loc) · 17.8 KB

Ignite UI Dock Manager Change Log

All notable changes for each version of this project will be documented in this file.

2.1.0

New features

  • Added paneFlyoutToggle event that fires when an unpinned pane's flyout opens or closes (distinct from pin/unpin operations).
  • Added minResizeWidth and minResizeHeight properties to IgcContentPane, IgcSplitPane, and IgcTabGroupPane to constrain resizing behavior during resize operations. These properties set minimum size constraints (in pixels, default: 42) that are enforced when a user interacts with splitters or resizes floating panes. Note: These constraints only apply during active resize operations and do not prevent docking into smaller containers or affect container sizing during docking operations.
  • The layoutChange event now includes the updated layout in its detail.layout property.

Bug Fixes

  • The hover area for showing pane headers when showPaneHeaders is set to onHoverOnly now correctly accounts for the actual pane header height, including custom heights set via ::part(pane-header) styles. Note that when customizing the header height, the min-height property should also be overridden, as it defaults to 40px to ensure header elements are properly displayed.

2.0.0

Breaking Changes

  • Localization resources are no longer bundled directly with this package. The previously exported resource string objects:

    • IgcDockManagerResourceStringsEN
    • IgcDockManagerResourceStringsES
    • IgcDockManagerResourceStringsJP
    • IgcDockManagerResourceStringsKO

    have been removed from this package and moved into dedicated localization packages (see the README "Localization" section for details). The corresponding resource string objects in the new localization packages no longer use the Igc prefix.

  • Applications that relied on these exports must now:

    • Install the new localization package(s), and
    • Update imports to use the resource strings from the new packages.

Major Changes

  • Migrated the dock manager component from Stencil to Lit framework. This is an internal architectural change that maintains full API compatibility with previous versions.

Enhancements

  • Refactored TypeScript enums to string union types for better type safety and simpler codebase structure. Const objects are provided for backward compatibility. For example, the following:
    const layout1: IgcDockManagerLayout = {
      rootPane: {
        type: IgcDockManagerPaneType.splitPane,
        orientation: IgcSplitPaneOrientation.horizontal,
        panes: [
          // ...
        ]
      }
    };
    Can now also be written as:
    const layout1: IgcDockManagerLayout = {
      rootPane: {
        type: 'splitPane',
        orientation: 'horizontal',
        panes: [
          // ...
        ]
      }
    };

1.19.0

New features

  • Added paneFlyoutToggle event that fires when an unpinned pane's flyout opens or closes, allowing developers to track when unpinned pane content becomes visible or hidden.
  • Added minResizeWidth and minResizeHeight properties to IgcContentPane, IgcSplitPane, and IgcTabGroupPane to constrain resizing behavior during resize operations. These properties set minimum size constraints (in pixels, default: 42) that are enforced when a user interacts with splitters or resizes floating panes. Note: These constraints only apply during active resize operations and do not prevent docking into smaller containers or affect container sizing during docking operations.
  • The layoutChange event now includes the updated layout in its detail.layout property.

Bug Fixes

  • The hover area for showing pane headers when showPaneHeaders is set to onHoverOnly now correctly accounts for the actual pane header height, including custom heights set via ::part(pane-header) styles. Note that when customizing the header height, the min-height property should also be overridden, as it defaults to 40px to ensure header elements are properly displayed.

1.18.0

New features

  • Introduced a new docking behavior that allows docking directly in a split pane by dragging a pane over one of its splitters. It can be switched on via the new allowSplitterDock property of the IgcDockManagerComponent.
  • Added edge docking functionality for docking panes to the edges of the dock manager. This docking mode is enabled when root docking is disabled via allowRootDock = false.
  • Added automatic scrolling when resizing panes with useFixedSize enabled, allowing resizing beyond viewport bounds.
  • Added visual feedback with a thin border highlighting the pane being resized. This can be customized via new CSS variables: --igc-resize-target-border-color, --igc-resize-target-border-width, and --igc-resize-target-border-style.
  • Added enableDragCursor property to provide cursor feedback on hover for interactive panes and tabs - when enabled, the cursor changes to pointer when panes/tabs can be dragged.
  • Exposed new CSS variables for splitter and resize handle customization:
    • --igc-splitter-thickness (replaces --igc-splitter-width)
    • --igc-resize-handle-size (replaces --igc-resize-handle-height)
    • --igc-resize-handle-thickness (replaces --igc-resize-handle-width)
  • Improved joystick indicators to display on the visible portion of target panes.

Enhancements

  • Resize handle CSS variables renamed to be orientation-agnostic with backward compatibility maintained for old variable names.
  • Auto-scroll behavior now triggers when dragging panes near the edges of the root container.
  • Improved drop shadow positioning when docking in split panes with useFixedSize enabled.

Bug fixes

  • Removed obsolete start placeholder and splitter implementation.
  • Fixed auto-scroll triggering incorrectly when dragging mouse upward at the top of the container.
  • Fixed flyout behavior when clicking on splitters.
  • Fixed splitter resizing to work without requiring mouse movement.
  • Fixed splitter dragging preventing default browser behavior to avoid unwanted text selection and auto-scroll.
  • Fixed dock indicators and preview incorrectly showing when context menu is displayed.
  • Removed resize border from unpinned panes.
  • Fixed bottom dock preview positioning.
  • Fixed pane size calculation when floatingWidth or floatingHeight are undefined.
  • Fixed root dock preview display for edge indicators.
  • Fixed null reference errors during splitter docking.

1.17.0

New features

  • Adding two new Dock Manager properties:
    • useFixedSizeOnDock, which specifies which docking orientations should apply the FixedSize sizing mode when split panes are dynamically created via docking.
    • allowRootDock, which defaults to true, and enables or disables docking into the root-level container.
  • Adding automatic scrolling of the root container during drag-and-drop operations.
    • Introduced a new autoScrollConfig property for finer control over scroll behavior.

Bug fixes

  • Placeholder panes are no longer present in Pane Navigator
  • Dark theme is now properly applied to scrollbars

1.16.1

Bug fixes

  • Dock manager is not loading if layout has no floating panes collection

1.16.0

New features

  • Introduced a new docking behavior that allows docking directly in a split pane by dragging a pane over one of its splitters. It can be switched on via the new allowSplitterDock property of the IgcDockManagerComponent.
  • Introduced the useFixedSize property of Split Panes - a new resizing behavior where child panes are sized in pixels and can be resized beyond the viewport, allowing scrollable overflow within the container.

Bug fixes

  • The showHeaderIconOnHover property now defaults to 'none' instead of undefined and has correct type

1.15.1

Enhancements

  • Added custom elements manifest file

1.15.0

New features

  • Added closeBehavior and unpinBehavior properties controlling whether the selected pane or all panes are closed/unpinned when clicking the respective button of a pane within a dockable TabGroup #94

Enhancements

  • Added new CSS variables for styling the scrollbars

Bug fixes

  • TabGroupPane disappears when an unpinned pane is pinned #84
  • Unpinned panes on the right and bottom edges cannot be resized via the splitter after being sized to minimum width/height #90
  • Splitter cursor should be correct while resizing #93
  • Uncaught TypeError: Cannot read properties of undefined (reading 'focus') #96
  • Layout has more nesting levels then should #97
  • Reopening a pane in IgcDockManager after closing a tab group pane does not show content of pane #103
  • DockManager's maximized pane is not cleared when closing a maximized tabgroup pane

1.14.4

Bug fixes

  • Applying isMaximized on split pane breaks maximizing #95

1.14.3

Bug fixes

  • Dock manager throws errors with Vite-based builds #88
  • Docking to edge in an empty root split pane throws errors #89

1.14.2

Bug fixes

  • Constraining panels inside the dock manager boundaries with quick drags #83

1.14.1

Bug fixes

  • Proximity dock rtl check

1.14.0

New features

  • Add showPaneHeaders property #65
  • Add proximityDock property #66
  • Add containedInBoundaries property #68

Enhancements

  • Add contentId of elements as CSS parts #32

Bug fixes

  • Maximizing and unpinning panes leads to unclickable panes #72
  • Center dock is possible in a pane that has acceptsInnerDock to true if the allowInnerDock of IgcDockManagerComponent is set to false

1.13.0

New features

  • Add focusPane method #58, #59
  • Add allowInnerDock and acceptsInnerDock properties #67

Enhancements

  • Save pane maximized state in layout #60

Bug fixes

  • Tab selection order is not preserved #31

1.12.5

New features

  • Add paneScroll event #51

Bug fixes

  • ТabGroupPane: Pinning one of several unpinned panes results in all the panes getting pinned #62
  • Context menu not positioning correctly in RTL mode
  • Active pane is not retained when docking with keyboard

1.12.4

Bug fixes

  • Active pane incorrectly set when more than one Tab Group Pane is within a Floating Pane #61

1.12.3

Bug fixes

  • Error is thrown when dropping pane in a separate window

1.12.2

Bug fixes

  • Docking indicator left/right arrows positions are reversed in RTL mode #54
  • Context menu not positioning correctly
  • Missing overloads for addEventListener and removeEventListener

Enhancements

  • Add tabs-more-menu-content and tabs-more-menu-item CSS parts

1.12.1

Enhancements

  • Include pane information in splitterResizeStart and splitterResizeEnd events
  • IgcDockManagerComponent is now exported as class

Bug fixes

  • Contents in slots with unpinnedHeaderId are not updated correctly #53

1.12.0

Bug fixes

  • Docking not working with allowFloating: false #40
  • Flyout pane closing while active #41
  • Focusable elements does not receive focus #42
  • Navigating with pane navigator does not bring selected floating window on top #48
  • Event splitterResizeStart can't be cancelled
  • Tabs context menu not positioning correctly

1.11.3

New features

  • Add contextMenuPosition property
  • Add selected option for tab-header-close-button CSS part

1.11.2

New features

  • Add hovered option for tab-header-close-button CSS part

1.11.1

Bug fixes

  • CSS part fixes for tab-header

1.11.0

New features

  • Add options for showHeaderIconOnHover property for different buttons
  • Add horizontal and vertical options for splitter-handle CSS part
  • Add header-title CSS part
  • Add hover option for tab-header-close-button CSS part in active/inactive states
  • Add paneHeaderCloseButton and tabHeaderCloseButton slots

1.10.0

New features

  • Add showHeaderIconOnHover property

Bug fixes

  • Active pane is not retained on float/dock
  • Splitter styles are not applied #36
  • click event on customized header buttons is not working #37
  • Removed erroneous dock indicators while dragging over splitter

1.9.0

Bug fixes

  • Styles not applied #33
  • Resize in RTL mode #24

1.8.0

New features

  • Customize dock manager buttons
  • layoutChange event which fires when the layout updates #17

1.7.0

New features

  • Customizable floating pane header
  • disabled property per pane #23
  • documentOnly property which allows content pane to be docked only inside a document host
  • allowEmpty property for split and tab group panes which allows displaying empty areas #18
  • disableKeyboardNavigation property on the dock manager #22

Bug fixes

  • Docking indicators appear over the currently dragged floating pane

1.6.0

New features

  • Customize dock manager panes and tabs #3

Bug fixes

  • A floating pane is draggable outside of the page #14

1.5.0

New features

  • allowMaximize property per pane #10

Bug fixes

  • Unpinned pane is closing automatically upon clicking on its content #11
  • Panes selected from the overflow menu are not activated if there is an unpinned pane from the same tab group

1.4.1

Bug fixes

  • Pane with allowPinning=false placed inside tab group can be unpinned #9
  • Normalize a maximized pane when navigating away from it via the keyboard

1.4.0

New features

  • Reorder tabs without creating floating pane
  • Keyboard navigation
  • Pane navigator
  • Enable/disable floating pane resizing #4
  • Events for floating pane resizing

Bug fixes

  • Select pane when activated
  • Flyout unpinned pane when activated
  • Error thrown when hosting external popup inside pane #5
  • Tab selection is lost with nested Dock Manager components #6
  • Floating pane containing panes with disabled floating and docking cannot be moved
  • Exception thrown when docking floating pane inside empty dock manager #7

1.3.0

New features

  • More tabs menu appears when there is not enough space to display all tab headers
  • Hide pane without removing it from the layout using its hidden property #1
  • Header slot properties for tab and unpinned pane - tabHeaderId and unpinnedHeaderId #2

1.2.0

New features

  • Active pane
  • Localization support

Bug fixes

  • Errors thrown when dragging the last document host tab and there is unpinned pane
  • Tabs content disappears after docking a pane with allowFloating=false
  • Exception thrown when quickly switching between docking indicators

1.1.0

New features

  • Maximizing panes
  • Docking preview shadow
  • ARIA support
  • API for external drag/drop support
  • Properties and events for user interactions such as closing, pinning, dragging
  • Support for ng update for Angular projects

1.0.3

Enhancements

  • Resize splitter using the keyboard

1.0.2

Bug fixes

  • Pane goes out of view when resized to its minimum size

1.0.1

Enhancements

  • Add active color css variable
  • Add keyboard support for context menu

Bug fixes

  • Selection is not working on first click when context menu is opened
  • Single tab is not rendered correctly after pinning/unpinning its sibling

1.0.0

Initial release of Ignite UI Dock Manager