Options
All
  • Public
  • Public/Protected
  • All
Menu

This is an event class, GanttProjectMixin is working with. It is constructed as SchedulerProEvent, enhanced with extra functionality.

Hierarchy

Index

Properties

Accessors

Methods

Properties

$project

The project instance, this entity belongs to.

assigned

assigned: Set<InstanceType<this["project"]["assignmentModelClass"]>>

A set of resources assigned to this task

calendar

The calendar of this entity.

Please use effectiveCalendar to get the calendar that is actually used by the entity. The calendar reflects only the value provided to this entity while effectiveCalendar returns the calendar that is really used (falls back to the project calendar in case the own calendar is not provided).

childEvents

childEvents: Set<HasChildrenMixin>

A set of references to child events

constraintDate

constraintDate: Date

The date of the constraint, applied to this event

constraintType

constraintType: ConstraintType

The type of constraint, applied to this event

critical

critical: boolean

A boolean field, indicating whether the event is critical or not. The event is critical if its total slack is zero (or less than zero). This means that if the event is delayed, its successor tasks and the project finish date are delayed as well.

direction

direction: Direction

The scheduling direction of the event. The Forward direction corresponds to the as-soon-as-possible scheduling (ASAP), Backward - to as-late-as-possible (ALAP).

If not specified (which is the default), direction is inherited from the parent task (and from project for the top-level tasks). By default, the project model has forward scheduling mode.

dispatcher

dispatcher: SEDDispatcher

The dispatcher instance for this event. Dispatcher accumulates the information about user input and decide which formula to use for calculation of every related field (startDate, endDate and duration at this level).

Every field can be calculated with 2 type of formulas. The 1st one is called "proposed" and it is used when there is a user input for this field ("proposed" input), or, when user intention is to keep the previous value of the field. The 2nd type is called "pure" and it is used, when a value of the field should be calculated "purely" based on the values of other fields.

See CycleResolverGuide for more information.

duration

duration: Duration

The duration of the event. See also durationUnit.

durationUnit

durationUnit: TimeUnit

The duration unit of the event's duration. See also duration.

earlyEndDate

earlyEndDate: Date

The earliest possible date the event can finish. This value is calculated based on the event restrictions.

earlyEndDateConstraintIntervals

earlyEndDateConstraintIntervals: DateInterval[]

An array of intervals, constraining the end date (as point in time) of this event in case the event is scheduled ASAP (as soon as possible). It is calculated with calculateEarlyEndDateConstraintIntervals

earlyStartDate

earlyStartDate: Date

The earliest possible date the event can start. This value is calculated based on the event restrictions.

earlyStartDateConstraintIntervals

earlyStartDateConstraintIntervals: DateInterval[]

An array of intervals, constraining the start date (as point in time) of this event in case the event is scheduled ASAP (as soon as possible). It is calculated with calculateEarlyStartDateConstraintIntervals

effectiveCalendar

effectiveCalendar: BaseCalendarMixin

The effective calendar used by this entity (either its own calendar if provided or the project calendar) for data calculation purposes.

effectiveVisualCalendar

effectiveVisualCalendar: BaseCalendarMixin

The effective calendar used by this entity (either its own calendar if provided or the project calendar) for data visualizing purposes.

effort

effort: Duration

The effort of this event. See also effortUnit.

effortDriven

effortDriven: boolean

Whether the effort of the task is "fixed". The FixedEffortMixin operates as if this flag is always enabled.

effortUnit

effortUnit: TimeUnit

The time unit of the effort field.

endDate

endDate: Date

The end date of the event. Can also be provided as a string, parsable with DateHelper.parse()

endDateConstraintIntervals

endDateConstraintIntervals: DateInterval[]

Field to accumulate the "generic" constraints for end date (which are not related to ASAP scheduling). It is calculated with calculateEndDateConstraintIntervals.

getCalendar

getCalendar: () => BaseCalendarMixin

Gets the calendar.

Type declaration

getDirection

getDirection: () => Direction

Getter for direction field.

Type declaration

getEffortDriven

getEffortDriven: () => boolean

Generated getter for the effortDriven field.

Type declaration

    • (): boolean
    • Returns boolean

getEffortUnit

getEffortUnit: () => TimeUnit

Generated getter for the effortUnit

Type declaration

getEndDate

getEndDate: () => Date

Gets the event end date.

Type declaration

    • (): Date
    • Returns Date

getSchedulingMode

getSchedulingMode: () => SchedulingMode

Generated getter for the schedulingMode field.

Type declaration

getStartDate

getStartDate: () => Date

Gets the event start date

Type declaration

    • (): Date
    • Returns Date

graph

graph: Replica

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)

ignoreResourceCalendar

ignoreResourceCalendar: boolean

Ignore assigned resource calendars when scheduling the event. If setting this to true the event dates/duration will be calculated based on the event calendar only.

inactive

inactive: Boolean

Inactive events do not affect successors nor rollup their attributes to parent events.

incomingDeps

incomingDeps: Set<InstanceType<this["project"]["dependencyModelClass"]>>

A set of incoming dependencies for this task (dependencies which ends at this task)

lateEndDate

lateEndDate: Date

The latest possible date the event can finish. This value is calculated based on the event restrictions.

lateEndDateConstraintIntervals

lateEndDateConstraintIntervals: DateInterval[]

An array of intervals, constraining the end date (as point in time) of this event in case the event is scheduled ALAP (as late as possible). It is calculated with calculateLateEndDateConstraintIntervals

lateStartDate

lateStartDate: Date

The latest possible date the event can start. This value is calculated based on the event restrictions.

lateStartDateConstraintIntervals

lateStartDateConstraintIntervals: DateInterval[]

An array of intervals, constraining the start date (as point in time) of this event in case the event is scheduled ALAP (as late as possible). It is calculated with calculateLateStartDateConstraintIntervals

manuallyScheduled

manuallyScheduled: boolean

A boolean field, indicating whether this event should be scheduled automatically or its startDate and endDate are supposed to be defined manually.

outgoingDeps

outgoingDeps: Set<InstanceType<this["project"]["dependencyModelClass"]>>

A set of outgoing dependencies from this task (dependencies which starts at this task)

parentEvent

parentEvent: HasChildrenMixin

A reference to the parent event

project

The project instance, this entity belongs to.

projectConstraintResolution

projectConstraintResolution: ProjectConstraintResolution

Specifies how the event should treat the project border (the project start or end depending if it's scheduled forward or backwards respectively).

The event can either respect the project border which for example means it cannot be placed before its forward scheduled project start. Or the event can ignore the project border and be scheduled regardless of that constraint.

Possible values are:

  • honor - event respects the project border.
  • ignore - event ignores the project border.
  • conflict - project triggers schedulingConflict event when the event attempts to violate the project border. In such cases an application can track the event and provide some appropriate logic (like asking user to choose a way to resolve the conflict).

schedulingMode

schedulingMode: SchedulingMode

The scheduling mode of the task.

setCalendar

setCalendar: (calendar: BaseCalendarMixin | ModelId) => Promise<CommitResult>

Sets the calendar. The method triggers schedule change propagation and returns a Promise:

// set calendar
model.setCalendar(calendar1).then(() => {
    // some code to run after schedule got updated
    ...
})

It also adds the calendar to the project calendar manager.

Type declaration

setConstraintDate

setConstraintDate: (constrainDate: Date) => Promise<CommitResult>

Sets the constraint date of the event.

param

Constraint date.

returns

Promise

Type declaration

setConstraintType

setConstraintType: (constrainType: ConstraintType) => Promise<CommitResult>

Sets the constraint type of the event.

param

Constraint type.

returns

Promise

Type declaration

setDirection

setDirection: (value: Direction) => Promise<CommitResult>

Setter for direction field.

Type declaration

setEffort

setEffort: (effort: Duration, unit?: TimeUnit) => Promise<CommitResult>

Generated setter for the effort

Type declaration

setEffortDriven

setEffortDriven: (effortDriven: boolean) => Promise<CommitResult>

Generated setter for the effortDriven field.

Type declaration

setSchedulingMode

setSchedulingMode: (schedulingMode: SchedulingMode) => Promise<CommitResult>

Generated setter for the schedulingMode field.

Type declaration

slackUnit

slackUnit: TimeUnit

A field storing unit for the totalSlack value.

startDate

startDate: Date

The start date of the event. Can also be provided as a string, parsable with DateHelper.parse()

startDateConstraintIntervals

startDateConstraintIntervals: DateInterval[]

Field to accumulate the "generic" constraints for start date (which are not related to ASAP scheduling). It is calculated with calculateStartDateConstraintIntervals.

totalSlack

totalSlack: Duration

A field storing the total slack (or total float) of the event. The total slack is the amount of time that this event can be delayed without causing a delay to the project end. The value is calculated in slackUnit units.

Accessors

$

  • get $(): {}
  • 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)

    Returns {}

$$

  • A graph identifier, that represents the whole entity.

    Returns EntityIdentifier

$entity

  • An EntityMeta instance, representing the "meta" information about the entity class. It is shared among all instances of the class.

    Returns EntityMeta

Static $entity

  • An EntityMeta instance, representing the "meta" information about the entity class. It is shared among all instances of the class.

    Returns EntityMeta

Methods

assign

  • assign(resource: InstanceType<this["project"]["resourceModelClass"]>, units?: number): Promise<CommitResult>

calculateDuration

calculateDurationProposed

calculateDurationPure

calculateEarlyEndDateConstraintIntervals

  • calculateEarlyEndDateConstraintIntervals(): CalculationIterator<this["earlyEndDateConstraintIntervals"]>

calculateEarlyStartDateConstraintIntervals

  • calculateEarlyStartDateConstraintIntervals(): CalculationIterator<this["earlyStartDateConstraintIntervals"]>

calculateEffectiveCalendar

calculateEffectiveVisualCalendar

calculateEndDate

calculateEndDateConstraintIntervals

  • calculateEndDateConstraintIntervals(): CalculationIterator<this["endDateConstraintIntervals"]>

calculateEndDateProposed

calculateEndDatePure

calculateLateEndDateConstraintIntervals

  • calculateLateEndDateConstraintIntervals(): CalculationIterator<this["lateEndDateConstraintIntervals"]>

calculateLateStartDateConstraintIntervals

  • calculateLateStartDateConstraintIntervals(): CalculationIterator<this["lateStartDateConstraintIntervals"]>

calculateMaxChildrenEndDate

calculateMinChildrenStartDate

calculateProjectedDuration

calculateProjectedXDateWithDuration

calculateStartDate

calculateStartDateConstraintIntervals

  • calculateStartDateConstraintIntervals(): CalculationIterator<this["startDateConstraintIntervals"]>

calculateStartDateProposed

calculateStartDatePure

calculateTotalChildrenEffort

commit

  • 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.

    Parameters

    Returns CommitResult

commitAsync

  • 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.

    Parameters

    Returns Promise<CommitResult>

enterGraph

  • enterGraph(replica: Replica): void
  • This method is called when entity is added to some replica.

    Parameters

    Returns void

getAssignmentById

  • getAssignmentById(id: ModelId): this["project"]["assignmentStore"]["modelInstanceT"]

getAssignmentFor

  • getAssignmentFor(resource: InstanceType<this["project"]["resourceModelClass"]>): InstanceType<this["project"]["assignmentModelClass"]> | null

getAssignmentStore

  • getAssignmentStore(): this["project"]["assignmentStore"]

getCalendarById

  • getCalendarById(id: ModelId): this["project"]["calendarManagerStore"]["modelInstanceT"]

getCalendarManagerStore

  • getCalendarManagerStore(): this["project"]["calendarManagerStore"]

getConstraintTypeDefaultDate

  • getConstraintTypeDefaultDate(Y: any, constraintType: ConstraintType): Date

getDependencyById

  • getDependencyById(id: ModelId): this["project"]["dependencyStore"]["modelInstanceT"]

getDependencyStore

  • getDependencyStore(): this["project"]["dependencyStore"]

getDuration

getEffort

getEventById

  • getEventById(id: ModelId): this["project"]["eventStore"]["modelInstanceT"]

getEventStore

  • getEventStore(): this["project"]["eventStore"]

getGraph

getProject

  • getProject(): this["project"]

getResourceById

  • getResourceById(id: ModelId): this["project"]["resourceStore"]["modelInstanceT"]

getResourceStore

  • getResourceStore(): this["project"]["resourceStore"]

hasSubEvents

isConstraintTypeApplicable

Private isTaskPinnableWithConstraint

  • isTaskPinnableWithConstraint(): boolean

joinProject

  • joinProject(): void

leaveGraph

  • This method is called when entity is removed from the replica it's been added to.

    Parameters

    Returns void

leaveProject

  • leaveProject(isReplacing?: boolean): void

setConstraint

setDuration

setEndDate

  • setEndDate(date: Date, keepDuration?: boolean): Promise<CommitResult>

setProject

  • setProject(project: this["project"]): this["project"]

setStartDate

  • setStartDate(date: Date, keepDuration?: boolean): Promise<CommitResult>

shouldPredecessorAffectScheduling

shouldRollupChildEarlyEndDate

  • shouldRollupChildEarlyEndDate(child: ConstrainedEarlyEventMixin): CalculationIterator<boolean>

shouldRollupChildEarlyStartDate

  • shouldRollupChildEarlyStartDate(child: ConstrainedEarlyEventMixin): CalculationIterator<boolean>

shouldRollupChildEffort

shouldRollupChildEndDate

shouldRollupChildLateEndDate

  • shouldRollupChildLateEndDate(childEvent: ConstrainedLateEventMixin): CalculationIterator<boolean>

shouldRollupChildLateStartDate

  • shouldRollupChildLateStartDate(childEvent: ConstrainedLateEventMixin): CalculationIterator<boolean>

shouldRollupChildStartDate

skipNonWorkingTime

skipWorkingTime

subEventsIterable

unassign

  • unassign(resource: InstanceType<this["project"]["resourceModelClass"]>): Promise<any>

userProvidedValue

Generated using TypeDoc