class anychart.core.waterfall.series.Waterfall Improve this Doc
Extends: anychart.core.cartesian.series.WidthBased
Waterfall Series Class.
Methods Overview
Specific settings | |
clip() | Series clip settings. |
getPixelPointWidth() | Gets point width in case of width-based series. |
id() | Series id. |
legendItem() | Legend item settings. |
pointWidth() | Point width settings. |
selectionMode() | Selection mode. |
transformX() | Transforms X value to pixel coordinates. |
transformY() | Transforms Y value to pixel coordinates. |
xPointPosition() | Position of the point. |
Coloring | |
color() | Color settings. |
fallingFill() | Falling fill settings. |
fill() | Fill settings. |
risingFill() | Rising fill settings. |
Data | |
data() | Data settings. |
excludePoint() | Excludes points at the specified index. |
getExcludedPoints() | Returns an array of excluded points. |
includeAllPoints() | Includes all excluded points. |
includePoint() | Includes excluded points with the specified indexes. |
keepOnlyPoints() | Keep only the specified points. |
meta() | Series meta data settings. |
name() | Series name settings. |
Events | |
listen() | Adds an event listener. |
listenOnce() | Adds a single time event listener. |
removeAllListeners() | Removes all listeners. |
unlisten() | Removes the listener. |
unlistenByKey() | Removes the listener by the key. |
Export | |
print() | Prints all elements. |
Interactivity | |
enabled() | Element state (enabled or disabled). |
hover() | Hover settings. |
select() | Select settings. |
tooltip() | Tooltip settings. |
unhover() | Removes hover from the series. |
unselect() | Deselects all selected points. |
Point Elements | |
getPoint() | Gets wrapped point by index. |
hoverLabels() | Labels settings in hover mode. |
hoverMarkers() | Markers settings in hover mode. |
labels() | Labels settings. |
markers() | Markers settings. |
selectLabels() | Labels settings in selected mode. |
selectMarkers() | Markers settings in selected mode. |
Scales | |
xScale() | X-scale settings. |
yScale() | Y-scale settings. |
Series | |
rendering() | Rendering settings |
seriesType() | Switch the series type |
Size and Position | |
bottom() | Bottom bound setting. |
bounds() | Bounds settings. |
getPixelBounds() | Returns pixel bounds. |
height() | Height setting. |
left() | Left bound setting. |
maxHeight() | Maximum height. |
maxWidth() | Maximum width. |
minHeight() | Minimum height. |
minWidth() | Minimum width. |
right() | Right bound setting. |
top() | Top bound setting. |
width() | Width setting. |
zIndex() | Z-index of the element. |
Miscellaneous | |
isVertical() | Getter for the series layout direction. |
Methods Description
bottom
Returns:
number | string | undefined - Current element's bottom bound setting.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Bottom bound setting for the element. |
Returns:
anychart.core.waterfall.series.Waterfall - Returns self for method chaining.Try it:
bounds
Returns:
anychart.core.utils.Bounds - Current bounds of the element.Params:
Name | Type | Description |
---|---|---|
value | anychart.utils.RectObj | anychart.math.Rect | anychart.core.utils.Bounds | Bounds of element. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
x | number | string | null | X-coordinate. |
y | number | string | null | Y-coordinate. |
width | number | string | null | Width. |
height | number | string | null | Height. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
clip
Params:
Name | Type | Default | Description |
---|---|---|---|
value | boolean | anychart.math.Rect | False, if series is created manually. | Enable/disable series clip. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
color
Learn more about coloring.
Params:
Name | Type | Description |
---|---|---|
value | string | Color as a string. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
data
Params:
Name | Type | Description |
---|---|---|
value | anychart.data.View | anychart.data.Set | Array | string | Value to set. |
csvSettings | anychart.enums.TextParsingMode | anychart.data.TextParsingSettings | If CSV string is passed by first param, you can pass CSV parser settings here as a hash map. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.enabled
Returns:
boolean - The current element state.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
value | boolean | true | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.if (!element.enabled()) element.enabled(true);
Try it:
excludePoint
Params:
Name | Type | Description |
---|---|---|
indexes | number | Array.<number> | Points indexes. |
Returns:
boolean - Returns true if the points were excluded.Try it:
fallingFill
Returns:
anychart.graphics.vector.Fill - Falling fill color.var fallingFill = series.fallingFill();
Params:
Name | Type | Default | Description |
---|---|---|---|
value | anychart.graphics.vector.Fill | null | Color as an object or a string. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
fillFunction | function | function() { return anychart.color.darken(this.sourceColor); } | Function that looks like function(){
// this.index - series index.
// this.sourceColor - color returned by fill() getter.
// this.iterator - series point iterator.
return fillValue; // type anychart.graphics.vector.Fill
} . |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
color | string | Color as a string. |
opacity | number | Color opacity. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
keys | Array.<(anychart.graphics.vector.GradientKey|string)> | Gradient keys. |
angle | number | Gradient angle. |
mode | boolean | anychart.graphics.vector.Rect | Object | Gradient mode. |
opacity | number | Gradient opacity. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
keys | Array.<(anychart.graphics.vector.GradientKey|string)> | Color-stop gradient keys. |
cx | number | X ratio of center radial gradient. |
cy | number | Y ratio of center radial gradient. |
mode | anychart.graphics.math.Rect | If defined then userSpaceOnUse mode, else objectBoundingBox. |
opacity | number | Opacity of the gradient. |
fx | number | X ratio of focal point. |
fy | number | Y ratio of focal point. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
imageSettings | anychart.graphics.vector.Fill | Object with settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
fill
Returns:
anychart.graphics.vector.Fill - The fill color.Params:
Name | Type | Description |
---|---|---|
value | anychart.graphics.vector.Fill | Color as an object or a string. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
fillFunction | function | function() { return anychart.color.darken(this.sourceColor); } | Function that looks like function(){
// this.index - series index.
// this.sourceColor - color returned by fill() getter.
// this.iterator - series point iterator.
return fillValue; // type anychart.graphics.vector.Fill
} . |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
color | string | Color as a string. |
opacity | number | Color opacity. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
keys | Array.<(anychart.graphics.vector.GradientKey|string)> | Gradient keys. |
angle | number | Gradient angle. |
mode | boolean | anychart.graphics.vector.Rect | Object | Gradient mode. |
opacity | number | Gradient opacity. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
keys | Array.<(anychart.graphics.vector.GradientKey|string)> | Color-stop gradient keys. |
cx | number | X ratio of center radial gradient. |
cy | number | Y ratio of center radial gradient. |
mode | anychart.graphics.math.Rect | If defined then userSpaceOnUse mode, else objectBoundingBox. |
opacity | number | Opacity of the gradient. |
fx | number | X ratio of focal point. |
fy | number | Y ratio of focal point. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
imageSettings | anychart.graphics.vector.Fill | Object with settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
getExcludedPoints
Returns:
Array.<anychart.core.Point> - Array of the points.Try it:
getPixelBounds
Returns:
anychart.math.Rect - Pixel bounds of the element.getPixelPointWidth
Returns:
number - Point width.Try it:
getPoint
Params:
Name | Type | Description |
---|---|---|
index | number | Point index. |
Returns:
anychart.core.SeriesPoint - Wrapped point.Try it:
height
Returns:
number | string | undefined - Current element's height setting.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Height setting for the element. |
Returns:
anychart.core.waterfall.series.Waterfall - Returns self for method chaining.Try it:
hover
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
index | number | Point index. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
indexes | Array.<number> | Array of indexes. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
hoverLabels
Returns:
anychart.core.ui.LabelsFactory - Labels instance.Try it:
- null/boolean - disable or enable chart hover labels.
- object - sets chart hover labels settings.
Params:
Name | Type | Description |
---|---|---|
value | Object | boolean | null | Series data labels settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.hoverMarkers
Returns:
anychart.core.ui.MarkersFactory - Markers instance.Try it:
- null/boolean - disable or enable series markers on hover.
- object - sets series markers settings on hover.
- string - sets series markers type on hover.
Params:
Name | Type | Default | Description |
---|---|---|---|
value | Object | boolean | null | string | false | Series data markers settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.id
Returns:
string | number - The current series id.Try it:
Params:
Name | Type | Description |
---|---|---|
value | string | number | Id of the series. Default id is equal to internal index. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
includeAllPoints
Returns:
boolean - Returns true if all points were included.Try it:
includePoint
Params:
Name | Type | Description |
---|---|---|
indexes | number | Array.<number> | Points indexes. |
Returns:
boolean - Returns true if the points were included.Try it:
isVertical
Returns:
boolean - The flag of the series layout direction.var flag = series.isVertical();
Params:
Name | Type | Description |
---|---|---|
value | boolean | null | Whether to change the series layout direction to vertical. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
keepOnlyPoints
Params:
Name | Type | Description |
---|---|---|
indexes | number | Array.<number> | Point index or indexes. |
Try it:
labels
Returns:
anychart.core.ui.LabelsFactory - Labels instance.Try it:
- null/boolean - disable or enable chart labels.
- object - sets chart labels settings.
Params:
Name | Type | Description |
---|---|---|
value | Object | boolean | null | Series data labels settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.left
Returns:
number | string | undefined - Current element's left bound setting.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Left bound setting for the element. |
Returns:
anychart.core.waterfall.series.Waterfall - Returns self for method chaining.Try it:
legendItem
Returns:
anychart.core.utils.LegendItemSettings - Legend item settings.Try it:
Params:
Name | Type | Description |
---|---|---|
value | Object | Legend item settings object. |
Returns:
anychart.core.waterfall.series.Waterfall - Legend item settings or self for chaining.Try it:
listen
Note Notice that if the existing listener is one-off (added using listenOnce), it will cease to be such after calling the listen() method.
Params:
Name | Type | Default | Description |
---|---|---|---|
type | string | The event type id. | |
listener | function | Callback method. Function that looks like function(event){
// event.actualTarget - actual event target
// event.currentTarget - current event target
// event.iterator - event iterator
// event.originalEvent - original event
// event.point - event point
// event.pointIndex - event point index
} . | |
useCapture | boolean | false | Whether to fire in capture phase. Learn more about capturing https://javascript.info/bubbling-and-capturing |
listenerScope | Object | Object in whose scope to call the listener. |
Returns:
Object - Unique key for the listener.Try it:
listenOnce
If the event handler being added already exists, listenOnce will do nothing.
Note In particular, if the handler is already registered using listen(), listenOnce() will not make it one-off. Similarly, if a one-off listener already exists, listenOnce will not change it (it wil remain one-off).
Params:
Name | Type | Default | Description |
---|---|---|---|
type | string | The event type id. | |
listener | function | Callback method. | |
useCapture | boolean | false | Whether to fire in capture phase. Learn more about capturing https://javascript.info/bubbling-and-capturing |
listenerScope | Object | Object in whose scope to call the listener. |
Returns:
Object - Unique key for the listener.Try it:
markers
- null/boolean - disable or enable series markers.
- object - sets series markers settings.
- string - sets series markers type.
Params:
Name | Type | Default | Description |
---|---|---|---|
value | Object | boolean | null | string | false | Series data markers settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.maxHeight
Returns:
number | string | null - Current element's maximum height.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
maxWidth
Returns:
number | string | null - Current element's maximum width.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
meta
Params:
Name | Type | Description |
---|---|---|
key | * | Metadata key. |
Returns:
* - Metadata object, key value or itself for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
object | * | Object to replace metadata. |
value | * | Meta data value. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
key | * | Metadata key. |
value | * | Meta data value. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
minHeight
Returns:
number | string | null - Current element's minimum height.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
minWidth
Returns:
number | string | null - Current element's minimum width.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
name
Returns:
string | undefined - The current series name value.Try it:
Params:
Name | Type | Description |
---|---|---|
value | string | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
pointWidth
Returns:
string | number - The point width pixel value.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | "90%" | Point width pixel value. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
paperSizeOrOptions | anychart.graphics.vector.PaperSize | Object | Paper size or object with options. | |
landscape | boolean | false | Flag of landscape. |
Try it:
removeAllListeners
Params:
Name | Type | Description |
---|---|---|
type | string | Type of event to remove, default is to remove all types. |
Returns:
number - Number of listeners removed.Try it:
rendering
Returns:
anychart.core.series.RenderingSettings - Rendering settings.Try it:
Params:
Name | Type | Description |
---|---|---|
value | Object | function | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
right
Returns:
number | string | undefined - Current element's right bound setting.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Right bound setting for the element. |
Returns:
anychart.core.waterfall.series.Waterfall - Returns self for method chaining.Try it:
risingFill
Returns:
anychart.graphics.vector.Fill - Rising fill color.var risingFill = series.risingFill();
Params:
Name | Type | Description |
---|---|---|
value | anychart.graphics.vector.Fill | Color as an object or a string. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
fillFunction | function | function() { return anychart.color.darken(this.sourceColor); } | Function that looks like function(){
// this.index - series index.
// this.sourceColor - color returned by fill() getter.
// this.iterator - series point iterator.
return fillValue; // type anychart.graphics.vector.Fill
} . |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
color | string | Color as a string. |
opacity | number | Color opacity. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
keys | Array.<(anychart.graphics.vector.GradientKey|string)> | Gradient keys. |
angle | number | Gradient angle. |
mode | boolean | anychart.graphics.vector.Rect | Object | Gradient mode. |
opacity | number | Gradient opacity. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
keys | Array.<(anychart.graphics.vector.GradientKey|string)> | Color-stop gradient keys. |
cx | number | X ratio of center radial gradient. |
cy | number | Y ratio of center radial gradient. |
mode | anychart.graphics.math.Rect | If defined then userSpaceOnUse mode, else objectBoundingBox. |
opacity | number | Opacity of the gradient. |
fx | number | X ratio of focal point. |
fy | number | Y ratio of focal point. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
imageSettings | anychart.graphics.vector.Fill | Object with settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
select
Params:
Name | Type | Description |
---|---|---|
index | number | Index of the point to select. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
indexes | number | Array.<number> | Array of indexes of the point to select. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
selectLabels
Returns:
anychart.core.ui.LabelsFactory - Labels instance.Try it:
- null/boolean - disable or enable labels in selected state.
- object - sets selected labels settings.
Params:
Name | Type | Description |
---|---|---|
value | Object | boolean | null | Series data labels settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.selectMarkers
Returns:
anychart.core.ui.MarkersFactory - Markers instance.Try it:
- null/boolean - disable or enable markers in selected state.
- object - sets selected markers settings.
- string - sets selected markers type.
Params:
Name | Type | Description |
---|---|---|
value | Object | boolean | null | string | Series data markers settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.selectionMode
Returns:
anychart.enums.SelectionMode | null - Selection mode.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
value | anychart.enums.SelectionMode | string | null | "multiSelect" | Selection mode. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
seriesType
Params:
Name | Type | Description |
---|---|---|
value | string | Series type. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
tooltip
- null/boolean - disable or enable chart tooltip.
- object - sets chart tooltip settings.
Params:
Name | Type | Description |
---|---|---|
value | Object | boolean | null | Tooltip settings. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.top
Returns:
number | string | undefined - Current element's top bound setting.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Top bound setting for the element. |
Returns:
anychart.core.waterfall.series.Waterfall - Returns self for method chaining.Try it:
transformX
Params:
Name | Type | Description |
---|---|---|
value | * | X value. |
subRangeRatio | number | Range ratio value. |
Returns:
number - Pixel value.Try it:
transformY
Params:
Name | Type | Description |
---|---|---|
value | * | Y value. |
subRangeRatio | number | Range ratio value. |
Returns:
number - Pixel value.Try it:
unhover
Params:
Name | Type | Description |
---|---|---|
indexOrIndexes | number | Array.<number> | Point index or array of indexes. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
unlisten
Params:
Name | Type | Default | Description |
---|---|---|---|
type | string | The event type id. | |
listener | function | Callback method. | |
useCapture | boolean | false | Whether to fire in capture phase. Learn more about capturing https://javascript.info/bubbling-and-capturing |
listenerScope | Object | Object in whose scope to call the listener. |
Returns:
boolean - Whether any listener was removed.Try it:
unlistenByKey
Params:
Name | Type | Description |
---|---|---|
key | Object | The key returned by listen() or listenOnce(). |
Returns:
boolean - Whether any listener was removed.Try it:
unselect
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
index | number | Index of the point to select. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
Params:
Name | Type | Description |
---|---|---|
indexes | Array.<number> | An array of indexes of the point to select. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
width
Returns:
number | string | undefined - Current element's width setting.Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | string | null | null | Width setting for the element. |
Returns:
anychart.core.waterfall.series.Waterfall - Returns self for method chaining.Try it:
xPointPosition
Returns:
number - X-point position.Try it:
Points get a place on ordinal scale, the size of the place can be set manually.
If there are more than one seties, place size is calculated to fit all.
Params:
Name | Type | Default | Description |
---|---|---|---|
position | number | 0.5 | Point position (in 0 to 1 range). |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
xScale
Params:
Name | Type | Default | Description |
---|---|---|---|
value | anychart.scales.Base | "ordinal" | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
yScale
Params:
Name | Type | Default | Description |
---|---|---|---|
value | anychart.scales.Base | "linear" | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it:
zIndex
Returns:
number - The current zIndex.Try it:
Params:
Name | Type | Default | Description |
---|---|---|---|
value | number | 0 | Value to set. |
Returns:
anychart.core.waterfall.series.Waterfall - Self instance for method chaining.Try it: