BMLTiOSLibEditableMeetingNode

public class BMLTiOSLibEditableMeetingNode : BMLTiOSLibMeetingNode

This is a special “micro class” for editing the meetings for a Server.

Public Calculated Properties

  • This returns a flat (non-hierarchical) array of Service Body nodes that this meeting can be assinged.

    This returns every Service body on the server that the current user can observe or edit. Each will be in a node, with links to its parents and children (if any).

    Declaration

    Swift

    public var serviceBodiesICanBelongTo: [BMLTiOSLibHierarchicalServiceBodyNode] { get }

    Return Value

    an Array of BMLTiOSLibHierarchicalServiceBodyNode objects, each of which represents one Service body.

  • This class is editable.

    Declaration

    Swift

    override public var isEditable: Bool { get }
  • This allows us to set a new collection of meeting formats via an array of format objects.

    Declaration

    Swift

    override public var formats: [BMLTiOSLibFormatNode] { get set }

    Return Value

    an array of format objects.

  • This allows us to set a new collection of meeting formats via a CSV string of their codes.

    Declaration

    Swift

    override public var formatsAsCSVList: String { get set }

    Return Value

    a CSV string of format codes, sorted alphabetically.

  • This sets the meeting’s “published” status.

    Declaration

    Swift

    override public var published: Bool { get set }

    Return Value

    A Bool. True, if the meeting is published.

  • This sets the meeting’s NAWS (World ID).

    Declaration

    Swift

    override public var worldID: String { get set }

    Return Value

    A String, with the meeting NAWS ID.

  • Declaration

    Swift

    override public var serviceBodyId: Int { get set }

    Return Value

    An Int, with the meeting’s Service body BMLT ID.

  • Declaration

    Swift

    override public var serviceBody: BMLTiOSLibHierarchicalServiceBodyNode! { get set }

    Return Value

    The meeting’s Service body object. nil, if no Service body (should never happen).

  • Declaration

    Swift

    override public var name: String { get set }

    Return Value

    A String, with the meeting name.

  • This creates new long/lat values for the given coordinate.

    Declaration

    Swift

    override public var locationCoords: CLLocationCoordinate2D! { get set }

    Return Value

    The location (optional).

  • Declaration

    Swift

    override public var locationName: String { get set }

    Return Value

    A String, with the location building name.

  • Declaration

    Swift

    override public var locationStreetAddress: String { get set }

    Return Value

    A String, with the location street address.

  • Declaration

    Swift

    override public var locationNeighborhood: String { get set }

    Return Value

    A String, with the location neighborhood.

  • Declaration

    Swift

    override public var locationBorough: String { get set }

    Return Value

    A String, with the location borough.

  • Declaration

    Swift

    override public var locationTown: String { get set }

    Return Value

    A String, with the location town.

  • Declaration

    Swift

    override public var locationCounty: String { get set }

    Return Value

    A String, with the location county.

  • Declaration

    Swift

    override public var locationState: String { get set }

    Return Value

    A String, with the location state/province.

  • Declaration

    Swift

    override public var locationZip: String { get set }

    Return Value

    A String, with the location zip code/postal code.

  • Declaration

    Swift

    override public var locationNation: String { get set }

    Return Value

    A String, with the location nation.

  • Declaration

    Swift

    override public var locationInfo: String { get set }

    Return Value

    A String, with additional location info.

  • Declaration

    Swift

    override public var virtualMeetingURI: String { get set }

    Return Value

    A String, with the virtual meeting link.

  • Declaration

    Swift

    override public var virtualMeetingAdditionalInfo: String { get set }

    Return Value

    A String, with any additional information about the virtual meeting.

  • Declaration

    Swift

    override public var meetingPhoneNumber: String { get set }

    Return Value

    A String, with the meeting phone number.

  • Declaration

    Swift

    override public var comments: String { get set }

    Return Value

    A String, with the comments.

  • Declaration

    Swift

    override public var weekdayIndex: Int { get set }

    Return Value

    An Int, with the weekday (1 = Sunday, 7 = Saturday).

  • This parses a military time string (either “HH:MM” or “HHMM”), and creates a new start time from the string.

    Declaration

    Swift

    override public var timeString: String { get set }

    Return Value

    A String, with the start time in military format (“HH:MM”).

  • Declaration

    Swift

    override public var durationString: String { get set }

    Return Value

    A String, with the duration (“HH:MM”).

  • Sets the new duration from an integer, representing the number of minutes.

    Declaration

    Swift

    override public var durationInMinutes: Int { get set }

    Return Value

    An Integer, with the duration in minutes.

  • This simply sets the time exactly from components.

    Declaration

    Swift

    override public var startTime: DateComponents! { get set }

    Return Value

    an optional DateComponents object, with the time of the meeting.

  • This extracts the weekday and the time of day from the components, and uses these as new values for the meeting.

    Declaration

    Swift

    override public var startTimeAndDay: DateComponents! { get set }

    Return Value

    an optional DateComponents object, with the weekday and time of the meeting.

  • This sets a new time and weekday by parsing the Date object provided. It extracts the weekday and the time of day, and uses these as new values for the meeting.

    Declaration

    Swift

    override public var nextStartDate: Date! { get set }

    Return Value

    an optional Date object, with the next occurrence of the meeting (from now).

  • Declaration

    Swift

    override public var isDirty: Bool { get }

    Return Value

    true, if the meeting data has changed from its original instance.

Public Initializer

  • Default initializer. Initiatlize with raw meeting data (a simple Dictionary).

    Declaration

    Swift

    override public init(_ inRawMeeting: [String : String], inHandler: BMLTiOSLib)

    Parameters

    inRawMeeting

    This is a Dictionary that describes the meeting.

    inHandler

    This is the BMLTiOSLib object that “owns” this meeting

Public Methods

  • This allows us to add a single format, via its object reference.

    If the format was already there, no change is made, and there is no error.

    Declaration

    Swift

    public func addFormat(_ inFormatObject: BMLTiOSLibFormatNode)

    Parameters

    inFormatObject

    The format object to be added.

  • This allows us to remove a single format, via its object reference.

    If the format was not there, no change is made, and there is no error.

    Declaration

    Swift

    public func removeFormat(_ inFormatObject: BMLTiOSLibFormatNode)

    Parameters

    inFormatObject

    The format object to be removed.

  • Removes all changes made to the meeting.

    Declaration

    Swift

    public func restoreToOriginal()
  • Reverts a meeting to the “before” state of a given change, but does not save it to the server.

    The “before” meeting must also be editable, the user needs to be currently logged in with edit privileges on the meeting.

    This makes the meeting “dirty.”

    Declaration

    Swift

    public func revertMeetingToBeforeThisChange(_ inChangeObject: BMLTiOSLibChangeNode) -> Bool

    Return Value

    True, if the reversion was allowed.

  • Reverts a meeting to the “before” state of a given change, and saves it to the server.

    The “before” meeting must also be editable, the user needs to be currently logged in with edit privileges on the meeting.

    Declaration

    Swift

    public func saveMeetingToBeforeThisChange(_ inChangeObject: BMLTiOSLibChangeNode) -> Bool

    Return Value

    True, if the reversion was allowed.

  • Test whether or not a given field has undergone a change.

    Declaration

    Swift

    public func valueChanged(_ inKey: String) -> Bool

    Parameters

    inKey

    The meeting field key to test.

    Return Value

    True, if the given field is different from the original one.

  • Deletes this meeting.

    Declaration

    Swift

    public func delete()
  • Saves changes made to the meeting.

    Declaration

    Swift

    public func saveChanges()