- Specific gutter style: Add
<div>inside<div class="as-split-gutter">to allow more customization. - Add SplitAreaDirective attribute selector: You can now use
<as-split-area>or<div as-split-area>, a classas-split-areais added to each areas for CSS targeting purpose.
- Style: Modify
<as-split-area>CSS selector to act only on current split areas children and not on potential sub split areas.
- Performance: Make
@Output()event emitters (dragStart,dragProgress,dragEnd,gutterClick,transitionEnd) works "lazily" to avoid useless change detection runs, especially fordragProgresswhich could be costly in big app.
- Styles: Refactor the way styles are manage, no more
renderer.setStyle()everywhere (except for areasorder&flex-basis), now works with added/removed classes (is-horizontal/is-vertical,is-disabled,is-transition,is-disabled,is-dragging), way better. Doing like this,<as-split-gutter>directive is not needed anymore.
- Bug: Fix Edge first rendering issue with nested split by applying css flex-direction property differently on
<as-split>#125.
- Critiqual bug: Remove reference to
TouchEventwhich cause error on Firefox & IE/Edge. Introduced in1.0.1but was there before on mobile browser other than chromium based.
- Bug: Modify the way to emit gutterClick event which was buggy #109.
- Project organization: Now follow
@angular/clilibrary management way which is awesome: Library status update 📢. - Dependencies:
angular@^7andrxjs@^6with pipe method (rxjs-compatnot needed anymore). - Breaking changes: Prefix
as-added to component/directive to follow best practises:<as-split>&<as-split-area>. - Regression: Revert change about
devicePixelRatioadded in1.0.0-rc.3because it was causing bad behavior on mobile #85, need to investigate more to resolve #81.
- Bug: Use
devicePixelRatioto make dragging value effective on HiDPI screen and browsers with zoom !== 100%, thanks to tkglaser and HondaHiroyuki.
- Performances: Put all event listeners inside
ngZone.runOutsideAngular()to avoid triggering change detection during drag, thanks to klemenoslaj.
- Bug: Call
cdRef.markForCheck()in several setters insideSplitComponentto force repaint if modified from TS class (instead of the template).
- Feature: Add RTL support. Previously on 'right to the left' pages, dragging went opposite side, issue here. Now just add
dir="ltr"on<split>component and that's fix. - Bug: Fix small bug when updating
[gutterSize]withuseTransition="true", now gutter's size got transition too and it's visually better.
- Bug: When updating
[disabled],[direction],[width],[height],.. keep size values got after gutter being dragged instead of reset to user provided values. - Bug: When
[useTransition]="true", no more transition at component initialisation.
- gutterSize: Default value from
10to11because of a small discrepancy in the shown dots position pointed there. - Custom gutters style: You can now use properties
[gutterColor]="'#ff0000'",[gutterImageH]="'url(xxx)'"and[gutterImageV]="'url(xxx)'".
- Feature: Emit
(gutterClick)event even if[disabled]="true"to specific usecase. - Bug: Fix bug occuring on split with
direction="vertical"initialization, container height was wrong becauseHostBindingwasn't applied yet.
- Renaming:
[visibleTransition]property renamed to[useTransition]and work with[visible]&[size]. - Renaming:
(visibleTransitionEnd)event renamed to(transitionEnd)and now triggered from[visible]&[size]property.
- SemVer compatibility: Copy of
0.2.3to avoid breaking semantic versionning (I screwed up with0.2.5&0.2.6which needed angular >=5). Apps using angular 4.x having"angular-split": "^0.2.2"inside theirpackage.jsonshoudn't break anymore.
- Bug: Code rewrite to calculate new
flex-basisvalues to avoid unwanted size flickering on areas not linked to dragged gutter. - Comment: Add an explanation comment on
split.component.tstop.
- Feature: Accept number & boolean params as string to allow template syntax like
<split gutterSize="12" disabled="true">...</split>or<split-area order="4" size="40" visible="true">...</split-area>. - Feature: Add a
(gutterClick)event for usecases like toggling area between 0% & X%. Now all drag events and gutterSize return{gutterNum: number, sizes: Array<number>}.
- Bug: Fix bug when dragging gutter with previous area with
[visible]="false"(bug there since the[visible]feature was added.. :( ). - Component access from JS/TS class: You can now access
SplitComponentandSplitAreaDirectiveasViewChild/ViewChildrendirectly from your class to interact with.
Complete refactor, more robust, will be used as new base to add frequently asked features like [minSize] (pixel or percent) and custom style.
- Allow area size init or drag to zero: Refactor way to calcul area size
flex-basis: calc( X% - Ypx );(seems easy at first sight but a bit painfull to implement). For example, you can now have 4 areas (with[visible]="true"), so 3 gutters, with sizes [0,0,0,100]. This was impossible before (size couldn't go down to 5%). - No more css
/deep/use: Could have used::ng-deepbut I prefer to avoid it too. - Renderer2: Use
Renderer2instead ofRendererwhich is deprecated.
- UMD module fix: Rollup config file wasn't correct.
- New files organisation: Complete reorganisation of the github repository and files published on npm forked from this library starter.
- New bundles generation: Now you have umd bundles, flat ES module, and ES2015 flat ESM format.
- Add tests: This is what motivated me to change organisation, I will add others one soon
npm test.
- Update package.json: Moves dependencies to peerDependencies to be compatible with angular 5.x pr59.
- UMD bundle: Add UMD bundle export thanks to BenjaminDobler.
- license: Add an Apache license.
- dependencies: Update
rxjsversion insidepackage.json.
- ng upgrade: upgrade to angular
^4.0.0, replace<template>by<ng-template>and rebuild dist folder.
- wording: add mention about CSS flexbox layout use, so
angular-splitis not compatible on browser not supporting it (like ios8).
- visibility toggle transition: add transition (optionnal:
<split [visibleTransition]="true">) when toggling visibility andvisibleTransitionEndevent ` pr11.
- gutter height on Safari: fix a weird bug about anormal gutter height when direction is 'vertical' on Safari only issue5. Note that
angular-splitisn't working on browser without flexbox support, so not working on ios older than 9.
- visibility toggle: fix a bug I introduced in 0.1.17 while merging pr10.
- visibility toggle: add possibility to show/hide areas using
<split-area [visible]="boolean">without removing them from the DOM, useful for specific case like with router. Thanks to jitsmaster (pr8 / pr10)