Skip to main content

Layout - TimelineBuilder

Layout.TimelineBuilder

Define 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

NameType
namestring
moduleModulePath

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

NameType
Textends DictType

Parameters

NameType
patchPatchSourceBuilder

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

NameType
Textends DictType

Parameters

NameTypeDescription
streamStreamthe 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()