Layout - TimelineBuilder
Layout.TimelineBuilderDefine a UI planning related component, such as Calendar, Timeline or Gantt from a
Stream within a LayoutBuilder.Example
// use a StructType stream
const stream = Stream(
"My Stream",
DictType(
StringType,
StructType({
id: StringType,
label: StringType,
start: DateTimeType,
end: DateTimeType,
dependencies: SetType(StringType)
})
)
);
// create a form in a layout
const layout = new LayoutBuilder("My Layout")
.timeline("timeline", builder => builder
.fromStream(stream.outputStream())
.tasks((fields) => Struct({
id: fields.id,
label: fields.label,
start: fields.start,
end: fields.end,
dependencies: fields.dependencies
}))
.string("label", fields => fields.label)
)
.toTemplate()
Layout
constructor
• new TimelineBuilder(name
, module
):
TimelineBuilder
Define a UI planning related component, such as Calendar, Timeline or Gantt from a
Stream within a LayoutBuilder.Parameters
Name | Type |
---|---|
name | string |
module | ModulePath |
Returns
TimelineBuilder
Example
// use a DictType stream
* // use a DictType stream
const stream = Stream(
"My Stream",
DictType(
StringType,
StructType({
label: StringType,
start: DateTimeType,
end: DateTimeType,
})
)
);
// create a calendar
const layout = new LayoutBuilder("My Layout")
.planner("calendar", builder =>
builder
.fromStream(stream.outputStream())
.calendar({
label: (fields) => fields.label,
start: (fields) => fields.start,
end: (fields) => fields.end,
})
)
.toTemplate()
fromPatch
▸ fromPatch(patch
):
TimelineFinalizer
Define the
Stream to build a TimelineBuilder within a LayoutBuilder.Type parameters
Name | Type |
---|---|
T | extends DictType |
Parameters
Name | Type |
---|---|
patch | PatchSourceBuilder |
Returns
TimelineFinalizer
Example
// use a DictType stream
* // use a DictType stream
const stream = Stream(
"My Stream",
DictType(
StringType,
StructType({
label: StringType,
start: DateTimeType,
end: DateTimeType,
})
)
);
const patch = new SourceBuilder("My Patch")
.patch(stream.outputStream())
// create a calendar
const layout = new LayoutBuilder("My Layout")
.planner("calendar", builder =>
builder
.fromPatch(patch)
.calendar({
label: (fields) => fields.label,
start: (fields) => fields.start,
end: (fields) => fields.end,
})
)
.toTemplate()
fromStream
▸ fromStream(stream
):
TimelineFinalizer
Define the
Stream to build a TimelineBuilder within a LayoutBuilder.Type parameters
Name | Type |
---|---|
T | extends DictType |
Parameters
Name | Type | Description |
---|---|---|
stream | Stream | the DictType Stream to build the table from |
Returns
TimelineFinalizer
Example
// use a DictType stream
* // use a DictType stream
const stream = Stream(
"My Stream",
DictType(
StringType,
StructType({
label: StringType,
start: DateTimeType,
end: DateTimeType,
})
)
);
// create a calendar
const layout = new LayoutBuilder("My Layout")
.planner("calendar", builder =>
builder
.fromStream(stream.outputStream())
.calendar({
label: (fields) => fields.label,
start: (fields) => fields.start,
end: (fields) => fields.end,
})
)
.toTemplate()