The project instance, this entity belongs to.
A CSS class to add to non-working time elements rendered in the UI
A reference to the graph, this entity belongs to. Initially empty, and is populated when the entity instance is added to the replica (Replica.addEntity)
A CSS class defining an icon to display inside non-working time elements rendered in the UI
If set to true
, the calendar will ignore the project current timeZone setting. Used in the default
"weekends" calendar
The calendar name
The project instance, this entity belongs to.
The flag, indicating, whether the "unspecified" time (time that does not belong to any interval)
is working (true
) or not (false
). Default value is true
An object, which properties corresponds to the ChronoGraph Identifiers, created for every field.
For example:
class Author extends Entity.mix(Base) {
@field()
firstName : string
@field()
lastName : string
}
const author = Author.new()
// identifier for the field `firstName`
author.$.firstName
const firstName = replica.read(author.$.firstName)
A graph identifier, that represents the whole entity.
An EntityMeta instance, representing the "meta" information about the entity class. It is shared among all instances of the class.
An EntityMeta instance, representing the "meta" information about the entity class. It is shared among all instances of the class.
This method starts at the given date
and moves forward or backward in time, depending on isForward
.
It stops moving as soon as it accumulates the durationMs
milliseconds of working time and returns the date
at which it has stopped and remaining duration - the AccumulateWorkingTimeResult object.
Normally, the remaining duration will be 0, indicating the full durationMs
has been accumulated.
However, sometimes, calendar might not be able to accumulate enough working time due to various reasons,
like if it does not contain enough working time - this case will be indicated with remaining duration bigger than 0.
This method adds a single CalendarIntervalMixin to the internal collection of the calendar
This method adds an array of CalendarIntervalMixin to the internal collection of the calendar
Calculate the working time duration between the 2 dates, in milliseconds.
Calculate the end date of the time interval which starts at startDate
and has durationMs
working time duration
(in milliseconds).
Calculate the start date of the time interval which ends at endDate
and has durationMs
working time duration
(in milliseconds).
This method removes all intervals from the internal collection of the calendar
This is a convenience method, that just delegates to the ChronoGraph.commit method of this entity's graph.
If there's no graph (entity has not been added to any replica) a CommitZero constant will be returned.
This is a convenience method, that just delegates to the ChronoGraph.commitAsync method of this entity's graph.
If there's no graph (entity has not been added to any replica) a resolved promise with CommitZero constant will be returned.
This method is called when entity is added to some replica.
The core iterator method of the calendar.
The options for iterator. Should contain at least one of the startDate
/endDate
properties
which indicates what timespan to examine for availability intervals. If one of boundaries is not provided
iterator function should return false
at some point, to avoid infinite loops.
Another recognized option is isForward
, which indicates the direction in which to iterate through the timespan.
The iterator function to call. It will be called for every distinct set of availability intervals, found
in the given timespan. All the intervals, which are "active" for current interval are collected in the 3rd argument
for this function - calendarCacheInterval. If iterator returns false
(checked with ===
)
the iteration stops.
The scope (this
value) to execute the iterator in.
Convenience method to get the instance of assignment by its id.
Convenience method to get the instance of the assignment store in the project instance, this entity belongs to.
Convenience method to get the instance of calendar by its id.
Convenience method to get the instance of the calendar manager store in the project instance, this entity belongs to.
Convenience method to get the instance of dependency by its id.
Convenience method to get the instance of the dependency store in the project instance, this entity belongs to.
Convenience method to get the instance of event by its id.
Convenience method to get the instance of the event store in the project instance, this entity belongs to.
The method to get the ChronoGraph
instance, this entity belongs to.
Returns non-working time ranges between the provided dates.
Start of the period to get ranges from.
End of the period to get ranges from.
The method to get the project instance, this entity belongs to.
Convenience method to get the instance of resource by its id.
Convenience method to get the instance of the resource store in the project instance, this entity belongs to.
Returns working time ranges between the provided dates.
Start of the period to get ranges from.
End of the period to get ranges from.
Checks if there is a working time interval in the provided time range (or when just startDate is provided, checks if the date is contained inside a working time interval in this calendar)
Template method, which is called when model is joining the project (through joining some store that has already joined the project)
This method is called when entity is removed from the replica it's been added to.
Template method, which is called when model is leaving the project (through leaving some store usually)
This method removes a single CalendarIntervalMixin from the internal collection of the calendar
This method removes an array of CalendarIntervalMixin from the internal collection of the calendar
The method to set the project instance, this entity belongs to.
Returns the earliest point at which a working period of time starts, following the given date. Can be the date itself, if it comes on the working time.
The date after which to skip the non-working time.
Whether the "following" means forward in time or backward.
Calculation function that simply returns current (proposed or previous) value of an identifier.
Generated using TypeDoc
The calendar for project scheduling, it is used to mark certain time intervals as "non-working" and ignore them during scheduling.
The calendar consists from several intervals. The intervals can be either static or recurrent.