v7.3.0
SupportExamplesFree Trial

EventSegmentModel

This class represents an individual segment of a split event. When an event is split using splitToSegments, each resulting piece becomes an EventSegmentModel with its own start date, end date, and duration. Each segment holds a reference to its parent event and a zero-based segmentIndex indicating its position in the sequence.

See also

  • EventModel — The parent event that owns this segment
  • EventSegments — Feature enabling event splitting and segment display
No results

Fields

Fields belong to a Model class and define the Model data structure
  • The unique identifier of a task (mandatory)

  • The name of the time span (or Event / Task)

  • Id of the resource this event is associated with (only usable for single assignments). We recommend using assignments in an AssignmentStore over this approach. Internally any Event using resourceId will have an assignment in AssignmentStore generated.

  • Ids of the resources this event is associated with (can be used for multiple assignments). Any event using resourceIds will have assignments in AssignmentStore generated automatically. It only applies if is configured with persist: true.

      class CustomEventModel extends EventModel {
          static $name = 'CustomEventModel';
    
          static get fields() {
              return [
                  { name : 'resourceIds', persist : true }
              ];
          }
      };
    
      const
          resources   = [
              { id : 'r1', name : 'Celia' },
              { id : 'r2', name : 'Lee' },
              { id : 'r3', name : 'Macy' },
              { id : 'r4', name : 'Madison' }
          ],
          events      = [
              {
                  id          : 1,
                  resourceIds : ['r1', 'r2']
                  ...
              },
              {
                  id          : 2,
                  resourceIds : ['r3', 'r4']
                  ...
              }
          ];
    
      const scheduler = new Scheduler({
          ...
          eventStore : {
              modelClass : CustomEventModel,
              data       : events
          },
          ...
      });
    
  • The array of resources which are assigned to this event.

  • Specify false to prevent the event from being dragged (if EventDrag feature is used)

  • Specify false to prevent the event from being resized (if EventResize feature is used). You can also specify 'start' or 'end' to only allow resizing in one direction

  • A field marking event as all day(s) spanning event. For example, a holiday day may be represented by a startDate, and the allDay flag.

  • The current status of a task, expressed as the percentage completed (integer from 0 to 100)

  • Controls the primary color of the event. For available standard colors, see EventColor.

  • eventStyle : 'plain'/'border'/'colored'/'hollow'/'line'+ 7 more
    EventModelMixin

    Controls this events appearance, see Schedulers eventStyle config for available options.

  • CSS class specifying an icon to apply to the rendered time span element. Note: In case event is a milestone, using iconCls with dependency feature might slightly decrease performance because feature will refer to the DOM to get exact size of the element.

  • Width (in px) to use for this milestone when using Scheduler#milestoneLayoutMode 'data'.

  • Set this field to false to opt out of sticky event content (keeping event text in view while scrolling).

  • A CSS style string (applied to style.cssText) or object (applied to style)

    record.style = 'color: red;font-weight: 800';
    
  • Start expanded or not (only valid for tree data)

  • This is a read-only field provided in server synchronization packets to specify which position the node takes in the parent's ordered children array. This index is set on load and gets updated on reordering nodes in tree. Sorting and filtering have no effect on it.

  • parentId : String/Number/null
    READONLY
    TreeNode

    This is a read-only field provided in server synchronization packets to specify which record id is the parent of the record.

  • This is a read-only field provided in server synchronization packets to specify which position the node takes in the parent's children array. This index is set on load and gets updated automatically after row reordering, sorting, etc. To save the order, need to persist the field on the server and when data is fetched to be loaded, need to sort by this field.

  • Deprecated:

    This field has been deprecated. Please read the guide to find out if your app needs to use the new isFullyLoaded field.

    This field is added to the class at runtime when the Store is configured with lazyLoad. The number specified should reflect the total amount of children of a parent node, including nested descendants.

Properties

Properties are getters/setters or publicly accessible variables on this class
  • isEventModelMixin : Booleantrue
    READONLY
    static
    ADVANCED
    EventModelMixin
    Identifies an object as an instance of EventModelMixin class, or subclass thereof.
  • isEventSegmentModel : Booleantrue
    READONLY
    static
    ADVANCED
    Identifies an object as an instance of EventSegmentModel class, or subclass thereof.
  • isModelStm : Booleantrue
    READONLY
    static
    ADVANCED
    ModelStm
    Identifies an object as an instance of ModelStm class, or subclass thereof.
  • isPercentDoneMixin : Booleantrue
    READONLY
    static
    ADVANCED
    PercentDoneMixin
    Identifies an object as an instance of PercentDoneMixin class, or subclass thereof.
  • isTimeZonedDatesMixin : Booleantrue
    READONLY
    static
    ADVANCED
    TimeZonedDatesMixin
    Identifies an object as an instance of TimeZonedDatesMixin class, or subclass thereof.
  • isTreeNode : Booleantrue
    READONLY
    static
    ADVANCED
    TreeNode
    Identifies an object as an instance of TreeNode class, or subclass thereof.
  • properties : Object
    internal
    static
    TimeSpan

    A class property getter for the default values of internal properties for this class.

  • allFields : DataField[]
    READONLY
    static
    TimeSpan

    An array containing all the defined fields for this Model class. This will include all superclass's defined fields.

  • fieldMap : Object<String, DataField>
    READONLY
    static
    TimeSpan

    An object containing all the defined fields for this Model class. This will include all superclass's defined fields through its prototype chain. So be aware that Object.keys and Object.entries will only access this class's defined fields.

  • The data source for the id field which provides the ID of instances of this Model.

  • event : EventModel
    READONLY

    The event this segment belongs to.

  • segmentIndex : Number
    READONLY

    Zero-based index of the segment.

  • task : EventModel
    READONLY

    Alias for event, to better match naming in Gantt.

  • Returns all assignments for the event. Event must be part of the store for this method to work.

  • Returns the first assigned resource, or assigns a resource

  • Returns all resources assigned to an event.

  • emptyArray : Array
    internal
    READONLY
    TimeSpan

    An empty array that can be used as a default value.

  • emptyObject : Object
    internal
    READONLY
    TimeSpan

    An empty object that can be used as a default value.

  • isEventSegmentModel : Booleantrue
    READONLY
    ADVANCED
    Identifies an object as an instance of EventSegmentModel class, or subclass thereof.
  • isModel : Booleantrue
    READONLY
    ADVANCED
    TimeSpan
    Identifies an object as an instance of Model class, or subclass thereof.
  • isTimeSpan : Booleantrue
    READONLY
    ADVANCED
    TimeSpan
    Identifies an object as an instance of TimeSpan class, or subclass thereof.
  • Returns all predecessor dependencies of this event

  • Returns all successor dependencies of this event

  • copyOf : Model
    READONLY
    TimeSpan

    For copied records, this property links to the original model instance from which it was copied.

  • True if this Model is currently batching its changes.

  • True if this models changes are currently being committed.

  • Returns true if event can be drag and dropped

  • True if this model has any uncommitted changes.

  • Returns false if the event is not persistable. By default it always is, override this getter if you need custom logic.

  • Check if record has valid data. Default implementation returns true, override in your model to do actual validation.

  • Get a map of the modified fields in form of an object. The field´s dataSource is used as the property name in the returned object. The record's id is included unless its persist config is false.

  • Get a map of the modified data fields along with any alwaysWrite fields, in form of an object. The field´s dataSource is used as the property name in the returned object. Used internally by AjaxStore / CrudManager when sending updates.

  • rawModificationData : Object
    internal
    READONLY
    TimeSpan

    Returns a map of the modified persistable fields

  • Override persistable getter to prevent sending resourceId when using multiple resource assignment mode https://github.com/bryntum/support/issues/1345

  • Returns the string value for display purposes of an instance of this Model class. Needs to be overridden in subclasses.

  • When called on a group header row returns list of records in that group. Returns undefined otherwise.

  • Returns true for a group header record

  • Gets the records internalId. It is assigned during creation, guaranteed to be globally unique among models.

  • Returns true if the record is new and has not been persisted (and received a proper id).

  • config : Object
    READONLY
    ADVANCED
    TimeSpan

    Returns a copy of the full configuration which was used to configure this object.

  • isConstructing : Boolean
    READONLY
    ADVANCED
    TimeSpan

    This property is set to true before the constructor returns.

  • isDestroying : Boolean
    READONLY
    ADVANCED
    TimeSpan

    This property is set to true on entry to the destroy method. It remains on the objects after returning from destroy(). If isDestroyed is true, this property will also be true, so there is no need to test for both (for example, comp.isDestroying || comp.isDestroyed).

  • Is this record linked to another record?

  • Get the original record this record is linked to.

  • Returns the event store this event is part of, if any.

  • Get the first store that this model is assigned to.

  • Reference to STM manager, if used

  • isRemoved : Boolean
    internal
    READONLY
    TimeSpan

    Returns true if this record is not part of any store.

  • Retrieve all children, excluding filtered out nodes (by traversing sub nodes)

  • Retrieve all children, including filtered out nodes (by traversing sub nodes)

  • Depth in the tree at which this node exists. First visual level of nodes are at level 0, their direct children at level 1 and so on.

  • Count all children (including sub-children) for a node (in its `firstStore´)

  • Get the first child of this node

  • indexPath : Number[]
    private
    READONLY
    TimeSpan

    Returns index path to this node. This is the index of each node in the node path starting from the topmost parent. (only relevant when its part of a tree store).

  • Is a leaf node in a tree structure?

  • Returns true for parent nodes with children loaded (there might still be no children)

  • Is a parent node in a tree structure?

  • Returns true if this node is the root of the tree

  • Get the last child of this node

  • Get the next sibling of this node

  • parent : Model
    READONLY
    TreeNode

    This is a read-only property providing access to the parent node.

  • Get the previous sibling of this node

  • Returns count of all preceding sibling nodes (including their children).

  • Array of tree nodes without any filter applied. On first filter, will take order from sorted children, but is not thereafter kept in sorted order, so order should not be relied upon.

  • Count visible (expanded) children (including sub-children) for a node (in its firstStore)

  • Returns the WBS code of this model (e.g '2.1.3'). Only relevant when part of a tree store, as in the Gantt chart.

  • Indicates if the task is complete (its percent completion is 100% (or greater)).

  • Indicates if the task is in progress (its percent completion is greater than zero and less than 100%).

  • Indicates if the task is started (its percent completion is greater than zero).

  • Human-friendly rounding. When task is completed < 99%, it rounds the value. It floors value between 99 and 100, to not show task as completed when it is for example 99.51% done.

  • dates : Date[]
    READONLY
    TimeSpan

    Returns an array of dates in this range. If the range starts/ends not at the beginning of day, the whole day will be included.

  • Returns the duration of this Event in milliseconds.

  • Returns true if record is a milestone.

  • Checks if the range record has both start and end dates set and start <= end

  • Returns the event raw duration in milliseconds. Calculated as a simple distance between the event start and end dates in milliseconds. And thus this value (in Scheduler Pro and Gantt) doesn't take into account non-working time nor the project conversion rates.

  • Returns values of the persistable tree-defining fields: parentId, orderedParentIndex, and parentIndex or sparseIndex. parentIndex is omitted when sparseIndex is used.

Functions

Functions are methods available for calling on the class
  • onClassMixedIn( )
    internal
    static
    TimeSpan

    This optional class method is called when a class is mixed in using the mixin() method.

  • initClass( )
    static
    ADVANCED
    TimeSpan

    Registers this class type with its Factory

  • exposeRelations( )
    internal
    static
    TimeSpan

    Makes getters and setters for related records. Populates a Model#relation array with the relations, to allow it to be modified later when assigning stores.

  • Iterate over all associated resources

  • Cancels current batch operation. Any changes during the batch are discarded.

  • Reverts changes in this back to their original values.

  • Called from insertChild to notify StateTrackingManager about children insertion. Provides it with all necessary context information collected in beforeInsertChild required to undo/redo the action.

  • Called from removeChild to notify StateTrackingManager about children removing. Provides it with all necessary context information collected in beforeRemoveChild required to undo/redo the action.

  • Called during creation to also turn any children into Models joined to the same stores as this model

  • Initializes model relations. Called from store when adding a record.

  • clear( )
    private
    TreeNode

    Removes all records from the rootNode

Source path

SchedulerPro/model/EventSegmentModel.js

Contents