Returns a new instance of this Record type with all values set to their default values.
Returns a new instance of this Record type with the value for the specific key set to its default value.
Returns the value associated with the provided key, which may be the default value defined when creating the Record factory function.
If the requested key is not defined by this Record type, then notSetValue will be returned if provided. Note that this scenario would produce an error when using Flow or TypeScript.
Get cursor formatter of this TimeTickStrategy
object.
FormattingFunction
as set by user, or undefined
to indicate that the default time cursor formatting is configured.
Get major tick style of this TimeTickStrategy object.
Major tick style.
Get minor tick style of this TimeTickStrategy object.
Minor tick style.
Get the timeOrigin of this TimeTickStrategy object.
Current time origin milliseconds or undefined.
Set cursor formatter for this TimeTickStrategy
object.
This will override the date time formatting used by:
TickStrategy
.Axis.formatValue
method of the Axis which uses this TickStrategy
. // Example syntax, custom cursor formatting.
Axis.setTickStrategy(AxisTickStrategies.Time, (ticks) => ticks
.setCursorFormatter((value, range, locale) =>
value.toFixed(3)
)
)
FormattingFunction
or undefined
to use default time cursor formatting.
New TimeTickStrategy object.
Construct a new TimeTickStrategy object based on this one, but with modified major tick style.
Example usage:
Set font of major ticks:
Axis.setTickStrategy(
AxisTickStrategies.Time,
( tickStrategy: TimeTickStrategy ) => tickStrategy
.setMajorTickStyle(( tickStyle ) => tickStyle
.setLabelFont(( font ) => font
.setWeight( 'bold' )
)
)
)
Either a VisibleTicks object or a function, which creates a new one based on the existing style.
New TimeTickStrategy object.
Construct a new TimeTickStrategy object based on this one, but with modified minor tick style.
Example usage:
Disable minor ticks:
Axis.setTickStrategy(
AxisTickStrategies.Time,
( tickStrategy: TimeTickStrategy ) => tickStrategy
.setMinorTickStyle( emptyTick )
)
Set font of minor ticks:
Axis.setTickStrategy(
AxisTickStrategies.Time,
( tickStrategy: TimeTickStrategy ) => tickStrategy
.setMinorTickStyle(( tickStyle: VisibleTicks ) => tickStyle
.setLabelFont(( font ) => font
.setWeight( 'bold' )
)
)
)
Either a TickStyle object or a function, which creates a new one based on the existing style. Passing a function only works if the existing style is not emptyTick.
New TimeTickStrategy object.
Construct a new TimeTickStrategy object based on this one, but with modified timeOrigin.
If a timeOrigin is defined, data-points will instead be interpreted as milliseconds since timeOrigin.
Example usage:
Application with 24 hour time origin offset:
Axis.setTickStrategy(AxisTickStrategies.Time,
(tickStrategy) => tickStrategy.setTimeOrigin(24 * 60 * 60 * 1000)
)
Millisecond offset or undefined
to disable time origin offsetting.
New TimeTickStrategy object.
Deeply converts this Record to equivalent native JavaScript Object.
Note: This method may not be overridden. Objects with custom serialization to plain JS may override toJSON() instead.
Shallowly converts this Record to equivalent native JavaScript Object.
Shallowly converts this Record to equivalent JavaScript Object.
Note: Not all methods can be used on a mutable collection or within
withMutations
! Only set
may be used mutatively.
Unlike other types in Immutable.js, the Record()
function creates a new
Record Factory, which is a function that creates Record instances.
See above for examples of using Record()
.
Note: Record
is a factory function and not a class, and does not use the
new
keyword during construction.
Records allow passing a second parameter to supply a descriptive name that appears when converting a Record to a string or in any error messages. A descriptive name for any record can be accessed by using this method. If one was not provided, the string "Record" is returned.
const { Record } = require('immutable')
const Person = Record({
name: null
}, 'Person')
var me = Person({ name: 'My Name' })
me.toString() // "Person { "name": "My Name" }"
Record.getDescriptiveName(me) // "Person"
True if maybeRecord
is an instance of a Record.
Axis Tick Strategy that is designed for depicting time ranges between hundreds of hours to individual nanoseconds.
Axis values are interpreted as milliseconds, for example:
0
->00:00:00
1 000
->00:00:01
3 600 000
->01:00:00
1
->00:00:00.001
0.001
->00:00:00.000001
Axis interval ranges supported by
TimeTickStrategy
:0.0001
).8 640 000 000
)Note, that available axis interval ranges can be also limited by the type of Axis, refer to Axis documentation for more information.
Axis tick strategy is selected with Axis.setTickStrategy method:
Axis.setTickStrategy(AxisTickStrategies.Time, (timeTicks) => timeTicks)
All configuration of automatically created ticks is done using the callback from
setTickStrategy
, see example below for the idea:// Specify TickStrategy and use callback to style automatic ticks. Axis.setTickStrategy(AxisTickStrategies.Time, (timeTicks) => timeTicks // All methods of `TimeTickStrategy` can be used here for styling ticks. .setMajorTickStyle((majorTicks) => majorTicks .setLabelFont((font) => font .setWeight('bold') ) ) )
All available strategies for automatic Axis ticks creation can be referenced via AxisTickStrategies.