☰ OmniPlan Classes (v4.2.4)

Alert • Application • Array • Assignment • Calendar • CalendarEvent • Color • ColorSpace • Console • Credentials • Data • DateComponents • Decimal • Dependency • DependencyKind • Device • DeviceType • Document • PlanDocument • Duration • Email • Error • FilePicker • FileSaver • FileWrapper • FileWrapper.Type • Form • Form.Field • Form.Field.Checkbox • Form.Field.Date • Form.Field.MultipleOptions • Form.Field.Option • Form.Field.Password • Form.Field.String • Formatter • Formatter.Date • Formatter.Decimal • Formatter.Duration • Formatter.Date.Style • Function • Image • Locale • MenuItem • Pasteboard • Pasteboard.Item • PlugIn • PlugIn.Action • PlugIn.Handler • PlugIn.Handler.Registration • PlugIn.Library • Project • Promise • Resource • ResourceAssignmentType • ResourceCalendar • ResourceType • Scenario • Schedule • Selection • SharePanel • Task • TaskType • TimeZone • Timer • ToolbarItem • TypeIdentifier • URL • URL.FetchRequest • URL.FetchResponse • Version • Window

Alert

An alert interface for displaying information to the user, blocking further interaction until the alert is dismissed.

Constructors

new Alert(title: String, message: String)Alert

Create a new alert panel with the given title and text contents.

Instance Functions

function show(callback: Function or null)Promise of Number

Displays the alert. If no options have yet been added, a default “OK” option is added. Once the user selects an option, the alert is dismissed. If a callback function was supplied, it is invoked with the zero-based index of the selected option as its argument. A Promise is returned as well, which may also be used to collect the result of the Alert.

function addOption(string: String)

Adds an option button to the alert.

Application

Instance Functions

function openDocument(from: Document or null, url: URL, completed: Function)

Attempts to open the specified document and return a reference to it asynchronously. If the document is already open, the reference is passed along. Note that due to platform sandboxing restrictions, opening the document may fail if the application doesn’t have currently permission to access the given URL. The document, if any, that is associated with the calling script can be passed along to help grant permission to open the new document. The passed in function will be passed two argument. The first will be either either the Document or an Error. On success, the second argument is a Boolean specifying whether the document was already open.

Instance Properties

var buildVersionVersion read-only

The internal build version number for the app. See also userVersion.

var commandKeyDownBoolean read-only

Whether the Command key is currently down. (Currently only available on Mac.)

var controlKeyDownBoolean read-only

Whether the Control key is currently down. (Currently only available on Mac.)

var nameString read-only

Application name.

var optionKeyDownBoolean read-only

Whether the Option key is currently down. (Currently only available on Mac.)

var platformNameString read-only

Returns a string describing the current platform, currently "iOS" or "macOS".

var shiftKeyDownBoolean read-only

Whether the Shift key is currently down. (Currently only available on Mac.)

var userVersionVersion read-only

The user-visible version number for the app. See also buildVersion.

var versionString read-only

Deprecated: Recommend using either userVersion or buildVersion.

For backwards compatibility with existing scripts, this returns the same result as buildVersion.versionString. We recommend using either the user-visible userVersion or the internal buildVersion instead, which are more clear about which version they’re returning and provide their results as Version objects which can be semantically compared with other Version objects.

Array

The built-in JavaScript Array constructor.

Assignment

An Assignment from a Resource to a Task.

Instance Functions

function remove()

Call to delete this assignment, removing it from it’s task and resource.

Instance Properties

var isLocalBoolean read-only

Whether this assignment is part of this project or not. A non-local assignment comes from sharing resource loads from a server project repository.

var resourceResource read-only

The Resource of this assignment.

var specificAssignmentsArray of Assignment read-only

When the assigned resource is to a resource group, the specific resources within that group who are actually assigned to do the work.

var taskTask read-only

The Task of this assignment.

var totalCostDecimal read-only

Total cost of this assignment.

var totalDurationNumber read-only

Total duration of this assignment.

var totalEffortNumber read-only

Total effort performed during this assignment.

var unitsAssignedNumber

Resource units assigned to this task.

Calendar

Class Properties

var buddhistCalendar read-only

var chineseCalendar read-only

var copticCalendar read-only

var currentCalendar read-only

The user’s preferred calendar

var ethiopicAmeteAlemCalendar read-only

var ethiopicAmeteMihretCalendar read-only

var gregorianCalendar read-only

The Gregorian calendar.

var hebrewCalendar read-only

var indianCalendar read-only

var islamicCalendar read-only

var islamicCivilCalendar read-only

var islamicTabularCalendar read-only

var islamicUmmAlQuraCalendar read-only

var iso8601Calendar read-only

var japaneseCalendar read-only

var persianCalendar read-only

var republicOfChinaCalendar read-only

Instance Functions

function dateByAddingDateComponents(date: Date, components: DateComponents)Date or null

Returns a new Date by adding the given DateComponents, or null if no date could be calculated.

function dateFromDateComponents(components: DateComponents)Date or null

Returns a new Date from the given DateComponents, or null if no date could be calculated.

function dateComponentsFromDate(date: Date)DateComponents

Returns a new DateComponents for the given Date.

function dateComponentsBetweenDates(start: Date, end: Date)DateComponents

Returns the difference from the start Date to the end Date as a DateComponents.

function startOfDay(date: Date)Date

Returns a Date for the first moment of the day containing the given Date according to this Calendar.

Instance Properties

var identifierString read-only

The ISO identifier for the calendar.

var localeLocale or null read-only

The locale of the calendar.

var timeZoneTimeZone read-only

The time zone of the calendar.

CalendarEvent

Instance Properties

var endDate read-only

Ending date for this event.

var startDate read-only

Starting date for this event.

var titleString or null read-only

Title of this event.

Color

Class Functions

function RGB(r: Number, g: Number, b: Number, a: Number or null)Color

Makes a new color in the RGB colorspace, with the given components. If the alpha component is not given, 1.0 is used.

function HSB(h: Number, s: Number, b: Number, a: Number or null)Color

Makes a new color in the HSB colorspace, with the given components. If the alpha component is not given, 1.0 is used.

function White(w: Number, a: Number or null)Color

Makes a new color in the White colorspace, with the given components. If the alpha component is not given, 1.0 is used.

Class Properties

var blackColor read-only

A color in the White colorspace with white component of 0.0.

var blueColor read-only

A color in the RGB colorspace with components (0, 0, 1, 1).

var brownColor read-only

A color in the RGB colorspace with components (0.6, 0.4, 0.2, 1).

var clearColor read-only

A color in the White colorspace with white component of 0.0 and alpha of 0.0 (“transparent black”).

var cyanColor read-only

A color in the RGB colorspace with components (0, 1, 1, 1).

var darkGrayColor read-only

A color in the White colorspace with white component of 0.333.

var grayColor read-only

A color in the White colorspace with white component of 0.5.

var greenColor read-only

A color in the RGB colorspace with components (0, 1, 0, 1).

var lightGrayColor read-only

A color in the White colorspace with white component of 0.667.

var magentaColor read-only

A color in the RGB colorspace with components (1, 0, 1, 1).

var orangeColor read-only

A color in the RGB colorspace with components (1, 0.5, 0, 1).

var purpleColor read-only

A color in the RGB colorspace with components (1, 0, 1, 1).

var redColor read-only

A color in the RGB colorspace with components (1, 0, 0, 1).

var whiteColor read-only

A color in the White colorspace with white component of 1.0.

var yellowColor read-only

A color in the RGB colorspace with components (1, 1, 0, 1).

Instance Functions

function blend(otherColor: Color, fraction: Number)Color or null

Returns a new color that is a linear combination of the receiver and fraction of the other color (so, a fraction of 1.0 would just return the otherColor. If the colors cannot be blended (for example, if they cannot be converted to the same colorspace), then null is returned.

Instance Properties

var alphaNumber read-only

Returns the alpha component of the color.

var blueNumber read-only

Returns the blue component of the color, after converting to a RGB colorspace.

var brightnessNumber read-only

Returns the brightness component of the color, after converting to a HSB colorspace.

var colorSpaceColorSpace read-only

Returns the colorspace of the instance.

var greenNumber read-only

Returns the green component of the color, after converting to a RGB colorspace.

var hueNumber read-only

Returns the hue component of the color, after converting to a HSB colorspace.

var redNumber read-only

Returns the red component of the color, after converting to a RGB colorspace.

var saturationNumber read-only

Returns the saturation component of the color, after converting to a HSB colorspace.

var whiteNumber read-only

Returns the white component of the color, after converting to a White colorspace.

ColorSpace

Class Properties

var CMYKColorSpace read-only

A colorspace with cyan, magenta, yellow, black, and alpha components.

var HSBColorSpace read-only

A colorspace with hue, saturation, and value (or brightness) components.

var NamedColorSpace read-only

A space for named colors, like system defined colors, or specific color palette spaces.

var PatternColorSpace read-only

A colorspace that wraps a pattern image.

var RGBColorSpace read-only

The sRGB colorspace with red, green, blue, and alpha components.

var WhiteColorSpace read-only

A colorspace with white and alpha components.

var allArray of ColorSpace read-only

An array of all items of this enumeration.

Console

The Console allows scripts to log debugging, warning, or error information where it can be viewed in the system console or in the console output area. A single instance of Console is available to scripts as the console global variable.

Instance Functions

function log(message: Object, additional: Array of Object or null)

Appends a line to the application console formed by concatenating the given message (after converting it to a String), any additional arguments separated by spaces, and finally a newline.

function error(message: Object, additional: Array of Object or null)

function info(message: Object, additional: Array of Object or null)

function warn(message: Object, additional: Array of Object or null)

Just calls Console.log, currently.

function clear()

Clears the console in the user-visible window.

Credentials

The Credentials class allows storage of private username and password pairs. Instances are tied to a single plug-in and single application, and may only be created in plug-ins when they are being loaded.

For example, when a PlugIn.Action is being created, you could use the following pattern:

(() => {
    let credentials = new Credentials();

    var action = new PlugIn.Action(function(selection) {
        // ... use the captured credentials ...
    });

    return action;
})();

Attempts to create Credential instances elsewhere will throw an error. Care should be taken to store instances in anonymous closures as above, and not pass them to or store them on other objects.

Credentials are keyed off a service identifier, which your plug-in can define however it likes.

Constructors

new Credentials()Credentials

Creates a new Credentials instance for the currently loading plug-in. Throws an error if called outside of plug-in loading.

Instance Functions

function read(service: String) → Object or null

Looks up the current credentials for a given service identifier. If credentials have previously been stored, an object will be returned containing "user" an "password" properties.

function write(service: String, username: String, password: String)

Creates or updates an existing credential, storing the username and password for this service securely in the Keychain.

function remove(service: String)

Deletes any currently stored credentials for the specified service

Data

A generic bag of bytes. Mainly useful to be interpreted / converted to some other type.

Class Functions

function fromString(string: String)Data

Convert from a String to the UTF8 encoding of that string as Data

function fromBase64(string: String)Data

Instance Functions

function toString()String

Convert to a String, assuming that this Data is encoded as UTF8.

function toBase64()String

Convert to a Base-64 encoded string.

Instance Properties

var lengthNumber read-only

Number of bytes in this data.

var toObjectObject or null read-only

DateComponents

Constructors

new DateComponents()DateComponents

Instance Properties

var dateDate or null read-only

var dayNumber or null

var eraNumber or null

var hourNumber or null

var minuteNumber or null

var monthNumber or null

var nanosecondNumber or null

var secondNumber or null

var timeZoneTimeZone or null

var yearNumber or null

Decimal

The Decimal class provides support for operating on base-10 numbers, which may not be exactly representable by types like the built-in JavaScript Number class. Note that Decimal does not use the built-in arithmetic operations; for example, to add two Decimal instances, you must use the add() function.

Class Functions

function fromString(string: String)Decimal

Parses the given string into a Decimal. If the string cannot be parsed, notANumber is returned.

Class Properties

var maximumDecimal read-only

Returns the maximum representable Decimal value.

var minimumDecimal read-only

Returns the minimum representable Decimal value.

var notANumberDecimal read-only

Returns a Decimal that represents a non-number value. Any arithmetic operations involving non-number values will return notANumber.

var oneDecimal read-only

Returns a Decimal representing one.

var zeroDecimal read-only

Returns a Decimal representing zero.

Instance Functions

function toString()String

Converts the Decimal to a String representation.

function add(number: Decimal)Decimal

Generates a new Decimal by adding the argument and the receiver.

function subtract(number: Decimal)Decimal

Generates a new Decimal by subtracting the argument from the receiver.

function multiply(number: Decimal)Decimal

Generates a new Decimal by multiplying the argument and the receiver.

function divide(number: Decimal)Decimal

Generates a new Decimal by dividing the receiver by the argument.

function compare(number: Decimal)Number

Compares the receiver and argument. If the receiver is less than the argument, -1 is returned. If the receiver is greater than the argument, 1 is returned. Otherwise, 0 is returned. notANumber is considered less than any valid number, and equal to itself.

function equals(number: Decimal)Boolean

Returns true if the receiver and argument represent the same number (or both are notANumber), and false otherwise.

Dependency

A Dependency between two tasks.

Instance Functions

function remove()

Call to delete this dependency, removing it from it’s prerequisite and dependent tasks.

Instance Properties

var dependentTask read-only

The dependent of this dependency, which is the target Task whose schedule is effected.

var dependentAlignedToEndBoolean

Whether this dependency aligned to the start or the end date of its dependent task.

var kindDependencyKind

The kind of dependency.

var leadTimeDurationDuration or null

The lead time before the dependent task, as a duration.

var leadTimePercentageNumber or null

The lead time before the dependent task, as a percentage of the duration of the prerequisite.

var prerequisiteTask read-only

The prerequisite of this dependency, which is the source Task that helps determine when the target Task is scheduled.

var prerequisiteAlignedToEndBoolean

Whether this dependency aligned to the start or the end date of its prerequisite task.

DependencyKind

Class Properties

var FinishFinishDependencyKind read-only

From finish of prerequisite to finish of dependent.

var FinishStartDependencyKind read-only

From finish of prerequisite to start of dependent.

var InvalidDependencyKind read-only

An invalid dependency kind.

var StartFinishDependencyKind read-only

From start of prerequisite to end finish of dependent.

var StartStartDependencyKind read-only

From start of prerequisite to start of dependent.

var allArray of DependencyKind read-only

An array of all items of this enumeration.

Device

Class Properties

var currentDevice read-only

The device the current application is running on.

Instance Properties

var iOSBoolean read-only

A convenience that returns true on iPhone and iPad devices

var iPadBoolean read-only

A convenience that returns true only on iPad devices, but not on iPhone devices.

var macBoolean read-only

A convenience that returns true only on Mac devices.

var operatingSystemVersionVersion read-only

The current operation system version running on the device

var typeDeviceType or null read-only

The general type of the current device

DeviceType

Class Properties

var allArray of DeviceType read-only

An array of all items of this enumeration.

var iPadDeviceType read-only

An iPad

var iPhoneDeviceType read-only

An iPhone

var macDeviceType read-only

A Mac device

Document

Class Functions

function makeNew(resultFunction: Function or null)Promise of Document

Create a new document, which can be populated with data and then presented. On iOS, if the document is not presented by the time the resultFunction returns, it will be closed. On macOS, the document will be left around and accessible to the running script. resultFunction is executed before any functions tethered to the result Promise are executed. Returns a Promise that will yield the new document or an error.

function makeNewAndShow(resultFunction: Function or null)Promise of Document

Create a new document and presents it. Returns a Promise that will yield the new document or an error.

Instance Functions

function close(didCancel: Function or null)

Close this document. If for some reason the document cannot be closed, the didCancel function may be called at some point in the future, with the original document as the single argument. For example, on the Mac the user may review unsaved changes and may cancel the close operation. If the document is closed, the didCancel function will not be called at all.

function save()

Save this document.

function fileWrapper(type: String or null)FileWrapper

Deprecated: Please use makeFileWrapper() instead. Returns a new FileWrapper representing the contents of the document formatted as the specified type, or its current fileType if a null is passed for the type.

function makeFileWrapper(baseName: String, type: String or null)Promise of FileWrapper

Generates a FileWrapper representing the contents of the document formatted as the specified type, or its current fileType if a null is passed for the type. Returns a Promise that will yield the file wrapper or an error. The returned file wrapper will have a name based off the given baseName and the default path extension for the requested file type.

function undo()

Undo the last done action.

function redo()

Redo the last undone action.

function show(resultFunction: Function or null)

Presents the document, ordering the window forward on macOS, and possibly closing the existing document and opening the new on on iOS.

Instance Properties

var canRedoBoolean read-only

Whether there are currently any actions that can be redone.

var canUndoBoolean read-only

Whether there are currently any actions that can be undone.

var fileTypeString or null read-only

The file type identifier the document uses when saving, if set.

var nameString or null read-only

Document name.

var writableTypesArray of String read-only

A list of all of the file types that this document can be written as.

PlanDocument : Document

An OmniPlan document.

Instance Properties

var projectProject read-only

Project stored in this document.

var windowsArray of Window read-only

Currently open windows viewing this document.

Duration

A duration.

Class Functions

function workSeconds(s: Number)Duration

function workHours(h: Number)Duration

function elapsedHourMinSec(h: Number, m: Number, s: Number)Duration

function elapsedDays(d: Number)Duration

function elapsedYearMonthDay(y: Number, m: Number, d: Number)Duration

Instance Properties

var elapsedBoolean read-only

Whether or not this duration is measured in project time or elapsed calendar time.

var elapsedDaysNumber read-only

Number of days, for a duration measued in elapsed time.

var elapsedHoursNumber read-only

Number of hours, for a duration measued in elapsed time.

var elapsedMinutesNumber read-only

Number of minutes, for a duration measued in elapsed time.

var elapsedMonthsNumber read-only

Number of months, for a duration measued in elapsed time.

var elapsedSecondsNumber read-only

Number of seconds, for a duration measued in elapsed time.

var elapsedWeeksNumber read-only

Number of weeks, for a duration measued in elapsed time.

var elapsedYearsNumber read-only

Number of years, for a duration measued in elapsed time.

var workSecondsNumber read-only

Number of project schedule work-seconds of duration, for a duration measured in project time.

Email

A set of parameters for generating an email.

Constructors

new Email()Email

Instance Functions

function generate()

Presents the generated email to the user for them to send (or discard). On iOS, any included attachment FileWrappers that are directories will be converted to Zip files.

Instance Properties

var blindCarbonCopyString or null

var bodyString or null

var carbonCopyString or null

var fileWrappersArray of FileWrapper

var receiverString or null

var subjectString or null

Error

The built-in JavaScript Error constructor.

FilePicker

A FilePicker allows the user to select URLs for files via the system-supplied file picking interface.

Constructors

new FilePicker()FilePicker

Returns a new FilePicker with default settings.

Instance Functions

function show()Promise of Array of URL

Presents the system file selection interface to the user, allowing them to choose one or more files of the given types. The returned Promise will yield the chosen URLs on success. If the user cancels chosing, the Promise will be rejected. Note that even when picking a single file or folder, the result will be an array of URLs.

Instance Properties

var foldersBoolean

If true, then folders may be selected, but not files. In this case, types is ignored. Defaults to false.

var messageString

A message to display describing what files are being picked. This is currently only supported on macOS.

var multipleBoolean

If true, then multiple files may be selected. Defaults to false.

var typesArray of TypeIdentifier or null

The file types that will be allowed. If null, all file types will be allowed. Defaults to null.

FileSaver

A FileSaver allows the user to save a FileWrapper to a URLs via the system-supplied file picking interface.

Constructors

new FileSaver()FileSaver

Returns a new FileSaver with default settings.

Instance Functions

function show(fileWrapper: FileWrapper)Promise of URL

Presents the system file saving interface to the user, allowing them to choose a location and file name to save the file wrapper. The returned Promise will yield the chosen URL on success. If the user cancels chosing, the Promise will be rejected.

Instance Properties

var messageString

A message to display describing what file is being saved. This is currently only supported on macOS.

var nameLabelString

The label shown next to the user-editable file name field. This is currently only supported on macOS.

var promptString

The prompt shown on the the save button. This is currently only supported on macOS.

var typesArray of TypeIdentifier or null

The file types that will be allowed. If null, all file types will be allowed. Defaults to null.

FileWrapper

Class Functions

function withContents(name: String or null, contents: Data)FileWrapper

Returns a new FileWrapper that represents a flat file containing the given data.

function withChildren(name: String or null, children: Array of FileWrapper)FileWrapper

Returns a new FileWrapper that represents a directory with the given child file wrappers. Each child file wrapper must have a unique name specified.

Instance Functions

function filenameForChild(child: FileWrapper)String or null

Returns the unique file name that will be used for the given child FileWrapper, or null if this file wrapper is not a child of the receiver.

Instance Properties

var childrenArray of FileWrapper read-only

Returns an Array of child FileWrappers, if this represents a directory. Otherwise, an empty array is returned.

var contentsData or null read-only

Returns the regular file contents of the wrapper, if this represents a regular file. Otherwise, null is returned.

var destinationURL or null read-only

Returns the destination if this represents a symbolic link. Otherwise, null is returned.

var filenameString or null

Returns the actual file name that was last read for this file wrapper. Depending on the names of other sibling wrappers, this may not be what file name will be written.

var preferredFilenameString or null

Returns the preferred file name that should be used when writing the file wrapper if no other file in the same parent directory wrapper is in use.

var typeFileWrapper.Type read-only

Returns the type of this FileWrapper.

FileWrapper.Type

Class Properties

var DirectoryFileWrapper.Type read-only

A FileWrapper that represents a directory with zero or more child wrappers.

var FileFileWrapper.Type read-only

A FileWrapper that represents a regular file with data contents.

var LinkFileWrapper.Type read-only

A FileWrapper that represents a symbolic link to another location.

var allArray of FileWrapper.Type read-only

An array of all items of this enumeration.

Form

Form provides a mechanism to collect input from the user. Each form contains one or more instances of subclasses of Field, which are given a key. As the form is filled out, values object is populated with the values from the user interface.

Constructors

new Form()Form

Instance Functions

function addField(field: Form.Field, index: Number or null)

Adds the new Field to the Form, at the indicated position, or at the end if no position is specified. If the field has a default value, it will be added to the values result object immediately.

function removeField(field: Form.Field)

Removes the Field from the Form. Any entry in the values` for this field will be removed as well.

function show(title: String, confirmTitle: String)Promise of Form

Present the Form to the user, and return a Promise to be fullfilled or rejected when the user commits or cancels the form.

Instance Properties

var fieldsArray of Form.Field read-only

The current Field instances in the form, which will be visible to the user entering input.

var validateFunction or null

A function to check whether the entered values are acceptable. The form to validate is passed as the argument and the function is expected to return a boolean result or null to perform default validation. If an Error is thrown, it’s message will be displayed in the form as the reason for validation failure. Note that the validation function may add or remove fields and update entries in the values object (which will cause the interface to be updated). This is called any time the user edits values, or a field is added or removed. If no validate function is specified or it returns null, some per-field default validation will be performed (see Form.Field.Option. If the validate function returns a boolean result, no default validation will be performed.

var valuesObject read-only

An object with the collected values for each field, stored under the key for that field.

Form.Field

A single entry for a user input value in a Form. Each field can only be added to a single Form. This class cannot be constructed directly.

Instance Properties

var displayNameString or null read-only

Human readable string used as the label for this field.

var keyString read-only

Key to use when storing the value for this field in the containing form’s values object.

Form.Field.Checkbox : Form.Field

Constructors

new Form.Field.Checkbox(key: String, displayName: String or null, value: Boolean or null)Form.Field.Checkbox

Returns a new Checkbox field, optionally with an initial value (which will be false if no value is specified).

Form.Field.Date : Form.Field

Constructors

new Form.Field.Date(key: String, displayName: String or null, value: Date or null, formatter: Formatter.Date or null)Form.Field.Date

Returns a new Date field, optionally with an initial value, and optionally a date formatter. If no formatter is specified, a default one will be created that follows the user’s date formatting preferences to display and determine component ordering when parsing dates. Relative dates like “1d”, “tomorrow”, “now” can also be entered.

Form.Field.MultipleOptions : Form.Field

Constructors

new Form.Field.MultipleOptions(key: String, displayName: String or null, options: Array of Object, names: Array of String or null, selected: Array of Object)Form.Field.MultipleOptions

Returns a new MultipleOptions field, allowing the user to pick multiple items from a list of option objects. A list of names may also be given, which must have the same length as the options array if so. If no names are given, the objects are converted to strings for display. An array of zero or more initially selected objects (which must be members of the options array) may also be given. An empty array is valid input for the initially selected items. Additionally, it is valid for MultipleOptions fields to have a value that is an empty array.

Form.Field.Option : Form.Field

Constructors

new Form.Field.Option(key: String, displayName: String or null, options: Array of Object, names: Array of String or null, selected: Object or null, nullOptionTitle: String or null)Form.Field.Option

Returns a new Option field, allowing the user to pick from a list of option objects. A list of names may also be given, which must have the same length as the options array if so. If no names are given, the objects are converted to strings for display. An initially selected object (which must be a member of the options array) may also be given. If the field is not configured to allow a null value and no initially selected value is specified, the user must select a value before the field is considered valid under the default form validation.

Instance Properties

var allowsNullBoolean

If set to true, an option will be added to allow selecting null.

var nullOptionTitleString or null

If null is allowed, this will be used for the title of that option. Otherwise a default title will be used.

Form.Field.Password : Form.Field

A field for text-based input, optionally using a Formatter to convert the string value into a different type.

Constructors

new Form.Field.Password(key: String, displayName: String or null, value: String or null)Form.Field.Password

Returns a new Password field, optionally with an initial value. The displayed text will be obscured.

Form.Field.String : Form.Field

A field for text-based input, optionally using a Formatter to convert the string value into a different type.

Constructors

new Form.Field.String(key: String, displayName: String or null, value: Object or null, formatter: Formatter or null)Form.Field.String

Returns a new String field, optionally with an initial value and formatter. If a formatter is specified, the value should be of the output type from the formatter or null. If no formatter is specified, the value should be a string or null.

Formatter

Formatter.Date : Formatter

Class Functions

function withStyle(dateStyle: Formatter.Date.Style, timeStyle: Formatter.Date.Style or null)Formatter.Date

A formatter that will display dates according to the specified date and time formats selected in system settings.

function withFormat(format: String)Formatter.Date

Returns a formatter with a specific ICU date format and the user’s current locale, calendar, and timeZone. See http://userguide.icu-project.org/formatparse/datetime/ for details on date format strings.

Class Properties

var iso8601Formatter.Date read-only

Return a date formatter that produces ISO-8601 formatted dates, using the Gregorian calendar and the UTC time zone.

Instance Functions

function stringFromDate(date: Date)String

function dateFromString(string: String)Date or null

Instance Properties

var calendarCalendar

var dateFormatString read-only

var localeLocale

var timeZoneTimeZone

Formatter.Decimal : Formatter

This formatter class formats and parses Decimal-valued strings (note, not Number values).

Class Functions

function currency(code: String or null)Formatter.Decimal

Returns a new formatter that will display the value as a currency value. An ISO currency code may be specified to pick a specific currency, or null may be passed to use the default currency for the user’s locale. If the argument is not a valid currency code, an error will be thrown.

Class Properties

var currencyCodesArray of String read-only

Deprecated: Please use the currencyCode property on Locale instead. Returns the list of known ISO currency codes

var customFormatter.Decimal read-only

Returns a new formatter that can be configured with custom settings.

var decimalFormatter.Decimal read-only

Returns a new number formatter that will use both a decimal separator.

var percentFormatter.Decimal read-only

Returns a new number formatter that will display the value as a percentage.

var percentWithDecimalFormatter.Decimal read-only

Returns a new number formatter that will display the value as a percentage with a decimal separator.

var plainFormatter.Decimal read-only

Returns a new number formatter that will not use any separators.

var thousandsAndDecimalFormatter.Decimal read-only

Returns a new number formatter that will use both a thousands and decimal separator.

Instance Functions

function stringFromDecimal(number: Decimal)String or null

Format a Decimal as a string, based on the rules set on the formatter.

function decimalFromString(string: String)Decimal or null

Parses a Decimal from a string, based on the rules set on the formatter. Returns null if the value was not recognized.

Instance Properties

var decimalSeparatorString

The string to display between the whole portion of a number and the decimal portion.

var negativeFormatString

A format string to use for negative values.

var positiveFormatString

A format string to use for positive values.

var thousandsSeparatorString or null

The string to display between groups of digits representing powers of a thousand.

var zeroSymbolString or null

The string to use when displaying a zero value. If this is null, the positiveFormat is used.

Formatter.Duration : Formatter

Constructors

new Formatter.Duration()Formatter.Duration

Instance Functions

function stringFromDecimal(number: Decimal)String or null

function decimalFromString(string: String)Decimal or null

Instance Properties

var hoursPerDayNumber

var hoursPerWeekNumber

var useVerboseFormatBoolean

Formatter.Date.Style

Class Properties

var FullFormatter.Date.Style read-only

Use the user’s “full” format as selected in system settings.

var LongFormatter.Date.Style read-only

Use the user’s “long” format as selected in system settings.

var MediumFormatter.Date.Style read-only

Use the user’s “medium” format as selected in system settings.

var ShortFormatter.Date.Style read-only

Use the user’s “short” format as selected in system settings.

var allArray of Formatter.Date.Style read-only

An array of all items of this enumeration.

Function

The built-in JavaScript Function constructor.

Image

Locale

Class Properties

var identifiersArray of String read-only

The list of known ISO locale identifiers.

Constructors

new Locale(identifier: String)Locale

Instance Properties

var calendarCalendar read-only

The calendar for the locale.

var currencyCodeString or null read-only

The currency code for the locale.

var identifierString read-only

The ISO locale identifier for this object.

MenuItem

Instance Properties

var checkedBoolean

If true, a checkmark is displayed next to the MenuItem’s label.

var labelString

The string displayed to describe the MenuItem’s action.

Pasteboard

A pasteboard temporarily holds representations of items of different types for transfer between different applications or different locations in the application.

Class Functions

function makeUnique()Pasteboard

Creates a new unique pasteboard.

Class Properties

var generalPasteboard read-only

The Pasteboard used for user-initiated copy/paste support.

Instance Functions

function availableType(types: Array of TypeIdentifier)TypeIdentifier or null

The first type from the provided list which is available on the pasteboard, or null if none are available.

function addItems(items: Array of Pasteboard.Item)

Appends the new items to the pasteboard.

function clear()

Remove all items from the pasteboard.

function dataForType(type: TypeIdentifier)Data or null

The Data representation for the given type in this pasteboard, or null if none is available.

function setDataForType(data: Data, type: TypeIdentifier)

Set the Data representation for the given type in this pasteboard, replacing any previously set data.

function stringForType(type: TypeIdentifier)String or null

The String representation for the given type in this pasteboard, or null if none is available.

function setStringForType(string: String, type: TypeIdentifier)

Set the String representation for the given type in this pasteboard, replacing any previously set data.

Instance Properties

var URLURL or null

Gets or sets the pasteboard content as a single URL.

var URLsArray of URL or null

Gets or sets the pasteboard content as a list of URLs.

var colorColor or null

Gets or sets the pasteboard content as a single color.

var colorsArray of Color or null

Gets or sets the pasteboard content as a list of colors.

var hasColorsBoolean read-only

Returns true if the pasteboard contains one or more colors.

var hasImagesBoolean read-only

Returns true if the pasteboard contains one or more images.

var hasStringsBoolean read-only

Returns true if the pasteboard contains one or more strings.

var hasURLsBoolean read-only

Returns true if the pasteboard contains one or more URLs.

var imageImage or null

Gets or sets the pasteboard content as a single image.

var imagesArray of Image or null

Gets or sets the pasteboard content as a list of images.

var itemsArray of Pasteboard.Item

The array of individual items on the pasteboard, each potentially with their own set of types.

var stringString or null

Gets or sets the pasteboard content as a single plain-text string.

var stringsArray of String or null

Gets or sets the pasteboard content as a list of plain-text strings.

var typesArray of TypeIdentifier read-only

The list of pasteboard types currently available on the pasteboard.

Pasteboard.Item

Constructors

new Pasteboard.Item()Pasteboard.Item

Make a new empty pasteboard item with no contents.

Instance Functions

function dataForType(type: TypeIdentifier)Data or null

The Data representation for the given type in this pasteboard item, or null if none is available.

function setDataForType(data: Data, type: TypeIdentifier)

Set the Data representation for the given type in this pasteboard item, replacing any previously set data.

function stringForType(type: TypeIdentifier)String or null

The String representation for the given type in this pasteboard item, or null if none is available.

function setStringForType(string: String, type: TypeIdentifier)

Set the String representation for the given type in this pasteboard item, replacing any previously set data.

Instance Properties

var typesArray of TypeIdentifier read-only

The list of types available for this pasteboard item.

PlugIn

Class Functions

function find(identifier: String, minimumVersion: Version or null)PlugIn or null

Class Properties

var allArray of PlugIn read-only

Instance Functions

function library(identifier: String)Object or null

Looks for a PlugIn.Library in the receiver and returns it if found.

function action(identifier: String)PlugIn.Action or null

function handler(identifier: String)PlugIn.Handler or null

function resourceNamed(name: String)URL or null

function imageNamed(name: String)Image or null

Instance Properties

var URLURL or null read-only

Returns the original URL from whence this PlugIn came, if known.

var actionsArray of PlugIn.Action read-only

var authorString read-only

Returns the author for the PlugIn.

var descriptionString read-only

Returns the description provided for the PlugIn.

var displayNameString read-only

Returns the localized, human-readable name for the PlugIn.

var handlersArray of PlugIn.Handler read-only

var identifierString read-only

The unique identifier of the PlugIn.

var librariesArray of PlugIn.Library read-only

var versionVersion read-only

Returns the current Version for the PlugIn.

PlugIn.Action

Constructors

new PlugIn.Action(perform: Function)PlugIn.Action

Returns a new PlugIn.Action. Only used within an action JavaScript file embedded within a PlugIn.

Instance Properties

var descriptionString read-only

var labelString read-only

Returns the default label to use for interface controls that invoke the action.

var longLabelString read-only

Returns the label to use for interface controls that invoke the action, when a long amount of space is available.

var mediumLabelString read-only

Returns the label to use for interface controls that invoke the action, when a medium amount of space is available.

var nameString read-only

Returns the name of the PlugIn.Action.

var paletteLabelString read-only

Returns the label to use for interface controls that show a prototype of the action control, such as on a macOS toolbar configuration sheet.

var performFunction read-only

var plugInPlugIn read-only

Returns the PlugIn that contains this object.

var shortLabelString read-only

Returns the label to use for interface controls that invoke the action, when a short amount of space is available.

var validateFunction or null

A function to check whether the action is supported, given the current application state, as determined by the arguments passed (typically including the selection). This optional Function may be configured while the Action is being loaded, but after that the Action will be frozen.

PlugIn.Handler

Constructors

new PlugIn.Handler(invoke: Function)PlugIn.Handler

Returns a new PlugIn.Handler. Only used within an handler JavaScript file embedded within a PlugIn.

Instance Properties

var invokeFunction read-only

The Function that will be executed for each handler registered for an event posted by an application object.

var nameString read-only

Returns the name of the PlugIn.Handler.

var plugInPlugIn read-only

Returns the PlugIn that contains this object.

var willAttachFunction or null

An optional Function that can be set on PlugIn.Handler as it is being loaded (but not after). This function is passed the application object that post events to trigger the handler. The return value should be a state object that is JSON archivable (or undefined if the handler has no state to maintain across invocations).

var willDetachFunction or null

An optional Function that can be set on PlugIn.Handler as it is being loaded (but not after). Called when a previously attached PlugIn.Handler is being detached from an application object. Any return value or thrown error are ignored.

PlugIn.Handler.Registration

Instance Functions

function remove()

Removes a previously added event observation.

PlugIn.Library

An object that represents a library from a plug-in.

Constructors

new PlugIn.Library(version: Version)PlugIn.Library

Returns a new Library. Typically only used within a library JavaScript file embedded within a PlugIn.

Instance Properties

var nameString read-only

Returns the name of the PlugIn.Library.

var plugInPlugIn read-only

Returns the PlugIn that contains this object.

var versionVersion read-only

Returns the Version of this library, as passed to the constructor.

Project

A Project represents the main contents of an OmniPlan Document and is used as the global object in any scripting session that is related to a particular document.

Instance Functions

function customValue(forKey: String)String or null

Access to custom data values.

function setCustomValue(forKey: String, to: String)

Change custom data values.

function baselineNamed(name: String)Scenario or null

Load the given named baseline scenario, if necessary, and return it.

Instance Properties

var actualScenario read-only

The scenario containing actual values for all tasks and resources, as opposed to baselines.

var baselineNamesArray of String read-only

Names of all of the baseline scenarios.

var documentPlanDocument or null read-only

Document that stores this project.

var titleString

Title of this project.

Promise

The built-in JavaScript Promise constructor.

Resource

A Resource.

Instance Functions

function customValue(forKey: String)String or null

Access to custom data values.

function setCustomValue(forKey: String, to: String)

Change custom data values.

function addMember()Resource

Create new resource member and makes this resource into a group.

function descendents()Array of Resource

All descendents from this group.

function remove()

Delete this resource and remove it from the project, along with any associated assignments.

Instance Properties

var assignmentsArray of Assignment read-only

Assignments of this resource to tasks.

var completedCostDecimal read-only

Expenditure on this resource that has already happened for work performed.

var costPerHourDecimal

Cost per hour of work performed.

var costPerUseDecimal

Cost per task that this resource is assigned to.

var efficiencyNumber

Amount of work actually performed per time. Defaults to 1.0 (100%).

var emailString or null

Email address of this resource.

var membersArray of Resource read-only

Member resources of this group.

var nameString

Name of this resource.

var noteString

Note for this resource.

var scheduleSchedule read-only

Schedule for this resource.

var totalCostDecimal read-only

Total planned expenditure on this resource.

var totalHoursNumber read-only

Total assigned hours.

var typeResourceType

Resource type for this resource.

var uniqueIDNumber read-only

Unique ID number of this resource.

var unitsAvailableNumber

Number of units of this resource available for this project.

ResourceAssignmentType

Class Properties

var adjustAssignedUnitsResourceAssignmentType read-only

When changing resource assignments, adjust other assignments’ units.

var adjustDurationResourceAssignmentType read-only

When changing resource assignments, adjust the task duration.

var adjustEffortResourceAssignmentType read-only

When changing resource assignments, adjust the task effort.

var allArray of ResourceAssignmentType read-only

An array of all items of this enumeration.

ResourceCalendar

Instance Properties

var eventsArray of CalendarEvent read-only

All events in this calendar.

var nameString read-only

Name of this calendar.

var overtimeBoolean read-only

Whether events in this calendar represents overtime for the resource/project or vacation/off-time.

ResourceType

Class Properties

var allArray of ResourceType read-only

An array of all items of this enumeration.

var equipmentResourceType read-only

A resource that is shared amongst tasks like staff but normally contributes no work itself (efficiency defaults to zero).

var groupResourceType read-only

A group of other resources.

var materialResourceType read-only

A material - instead of having limited units to be shared amongst tasks, materials count up their total uses.

var staffResourceType read-only

A normal resource that performs work.

Scenario

A Scenario represents a set of tasks and resources and associated schedules. The actuals for a project are one scenario, and saved baselines are the others.

Instance Functions

function taskNamed(name: String)Task or null

Get a given task by name. If there is more than one with the same name, only returns the first.

function resourceNamed(name: String)Resource or null

Get a given resource by name. If there is more than one with the same name, only returns the first.

Instance Properties

var completedNumber read-only

Overall project percentage completed.

var endDateDate

Overall project end date.

var hasFixedEndDateBoolean

Whether tasks in this scenario scheduled forward from a fixed overall start, or backwards from a fixed overall end.

var hasGenericDatesBoolean

Generic dates (e.g. “Day 1”, “Day 12”) vs actual dates (e.g. “Jan 1, 2019”)

var milestonesArray of Task read-only

A list of all milestones in the project.

var nameString

Name of this scenario.

var rootResourceResource read-only

Root resource of the project. This is a hidden group which contains all top-level resources.

var rootTaskTask read-only

Root task of the project. This is a hidden group which contains all top-level tasks.

var scheduleSchedule read-only

The overall project schedule.

var startDateDate

Overall project start date.

var totalCostDecimal read-only

Overall project total cost.

Schedule

Instance Functions

function endDate(start: Date, duration: Duration)Date

Compute the end date for a given start date and duration in this schedule.

function startDate(end: Date, duration: Duration)Date

Compute the start date for a given end date and duration in this schedule.

function durationBetween(start: Date, end: Date)Duration

Compute the work-second duration between a given start date and end date in this schedule.

Instance Properties

var calendarsArray of ResourceCalendar read-only

All calendars in this schedule. OmniPlan manages two built-in calendars for each schedule: an off-time calendar and an overtime calendar. Additional calendars may be added by synchronizing with Calendar.app or ical URLs, etc.

Selection

The ‘selection’ argument to plugin actions, letting them inspect the selection.

Instance Properties

var documentPlanDocument or null read-only

The current document.

var projectProject or null read-only

The current project.

var resourcesArray of Resource read-only

The currently selected resources.

var tasksArray of Task read-only

The currently selected tasks.

var windowWindow or null read-only

The current window.

SharePanel

An interface that can display the system share interaction for the given items.

Constructors

new SharePanel(items: Array of URL, String, Image, or FileWrapper)SharePanel

Create a new share panel with the given items.

Instance Functions

function addItem(shareItem: URL, String, Image, or FileWrapper)

Appends the item to the end of items.

function addItems(shareItems: Array of URL, String, Image, or FileWrapper)

Appends the contents of the given array to the end of items.

function removeItem(shareItem: URL, String, Image, or FileWrapper)

Removes the first occurrence of the item from items if it is present in items.

function removeItems(shareItems: Array of URL, String, Image, or FileWrapper)

Removes the first occurrence of each member of the given array from items if that member is present in items.

function clearItems()

Sets items to an empty array. Note: Calling show when items is empty results in an error, so be sure to add new items after calling this and before calling show.

function show()

Presents the share panel for its items. Calling this when items is empty will result in an error.

Instance Properties

var itemsArray of URL, String, Image, or FileWrapper

The items that will be supplied to the system share interaction upon calling show.

Task

A Task.

Instance Functions

function customValue(forKey: String)String or null

Access to custom data values.

function setCustomValue(forKey: String, to: String)

Change custom data values.

function descendents()Array of Task

All tasks which are descended from this one.

function clearResourceLeveledDate()

Remove the effects of resource leveling from this task.

function addPrerequisite(to: Task)Dependency

Create a new dependency where the passed in task is the prerequisite and this task is the dependent.

function addDependent(to: Task)Dependency

Create a new dependency where the passed in task is the dependent and this task is the prerequisite.

function addAssignment(to: Resource)Assignment

Create a new assignment to the given resource.

function addSubtask()Task

Create a new subtask, and making this task into a group.

function split(at: Date, resumingAt: Date)Boolean

Divide this task into multiple split chunks, with the same name, overall effort, and assignments, but with any duration after the split date moved to begin at the resume date.

function remove()

Delete this task and remove it from the project, along with any associated dependencies and assignments.

Instance Properties

var absoluteEndLimitDate read-only

Latest that this task could end without effecting the overall start or end of the project.

var absoluteStartLimitDate read-only

Earliest that this task could start without effecting the overall start or end of the project.

var assignmentsArray of Assignment read-only

Resources assigned to this task.

var assignmentsCostDecimal read-only

The cost of assigned resources to this task (per use and per hour costs).

var currentEndLimitDate read-only

Latest that this task could end without effecting any other connected task.

var currentStartLimitDate read-only

Earliest that this task could start without effecting any other connected task.

var dependentsArray of Dependency read-only

Dependencies where this task is the prerequisite task.

var durationDuration or null

Duration of the task.

var effortNumber

Total effort needed to complete this task in person-seconds.

var effortDoneNumber

Effort already accomplished upon this task in person-seconds.

var effortRemainingNumber

Effort remaining until completion of this task in person-seconds.

var endDateDate read-only

Scheduled end date.

var endNoEarlierThanDateDate or null

Constraint that this task must end no earlier than the given date, if any.

var endNoLaterThanDateDate or null

Constraint that this task must end no later than the given date, if any.

var expectedEffortEstimateNumber

Three-point estimation expected effort estimate in person-seconds.

var freeSlackNumber read-only

Free slack (or float) is how much time a task can be delayed before any other connected task is effected.

var manualEndDateDate or null

Manual end date of this task, if any.

var manualStartDateDate or null

Manual start date of this task, if any.

var maxEffortEstimateNumber

Three-point estimation maximum effort estimate in person-seconds.

var minEffortEstimateNumber

Three-point estimation minimum effort estimate in person-seconds.

var noteString

Note for this task.

var prerequisitesArray of Dependency read-only

Dependencies where this task is the dependent task.

var priorityNumber

Priority of this task during resource leveling. The higher the priority, the sooner leveling will attempt to schedule the task.

var resourceAssignmentTypeResourceAssignmentType

How this task should react when resources are assigned to it.

var resourceLeveledDateDate or null read-only

The date that resource leveling has determined that this task ought to be scheduled at. May be missing if resource leveling isn’t needed to place this task. (E.g. if the task is manually scheduled or otherwise already scheduled at an appropriate date.)

var resourceLevelingDelayNumber read-only

The amount of time that resource leveling needs to delay this task beyond when it could otherwise be scheduled.

var startDateDate read-only

Scheduled start date.

var startNoEarlierThanDateDate or null

Constraint that this task must start no earlier than the given date, if any.

var startNoLaterThanDateDate or null

Constraint that this task must start no later than the given date, if any.

var staticCostDecimal

The built-in cost of performing this task.

var subtasksArray of Task read-only

Child tasks contained within this task group, or split chunks of this task, if it is split.

var titleString

Title of this task.

var totalCostDecimal read-only

The sum of static and assignment costs.

var totalSlackNumber read-only

Total slack (or float) is how much time a task can be delayed before effecting the overall start or end of the project.

var typeTaskType

Type of this task.

var uniqueIDNumber read-only

Unique ID number of this task.

TaskType

Class Properties

var allArray of TaskType read-only

An array of all items of this enumeration.

var groupTaskType read-only

A container for other tasks.

var hammockTaskType read-only

A task whose length is determined by its dependencies rather than from a fixed effort or duration.

var milestoneTaskType read-only

A milestone. Has zero duration.

var taskTaskType read-only

A standard task.

TimeZone

Class Properties

var abbreviationsArray of String read-only

The list of known time zone abbreviations.

Constructors

new TimeZone(abbreviation: String)TimeZone or null

Make a new TimeZone with the given abbreviation. Note that the returned TimeZone may have a different abbreviation than the passed argument. For example, if one of “PST” or “PDT” is requested that doens’t match the current use of daylight savings time, the one that does match will be returned.

Instance Properties

var abbreviationString or null read-only

The abbreviation for the TimeZone.

var daylightSavingTimeBoolean read-only

Returns true if the TimeZone is currently using daylight savings time.

var secondsFromGMTNumber read-only

The current difference in seconds between this TimeZone and GMT.

Timer

Class Functions

function once(interval: Number, action: Function)Timer

Makes a new Timer that will fire once, after the specified interval (in seconds from the current time). When the Timer fires, the passed in Function is called, passing the Timer as its argument.

function repeating(interval: Number, action: Function)Timer

Makes a new Timer that will fire repeatedly with the specified interval (in seconds, with the first invocation happening that interval after the current time). When the Timer fires, the passed in Function is called, passing the Timer as its argument.

Instance Functions

function cancel()

Instance Properties

var intervalNumber read-only

ToolbarItem

Instance Properties

var imageImage or null

var labelString

var toolTipString or null

TypeIdentifier

Class Properties

var URLTypeIdentifier read-only

The URL type.

var binaryPropertyListTypeIdentifier read-only

The binary property list type.

var csvTypeIdentifier read-only

The comma-separated text type.

var editableTypesArray of TypeIdentifier read-only

The list of TypeIdentifiers that can be read and written natively by documents in this application.

var gifTypeIdentifier read-only

The GIF image type.

var imageTypeIdentifier read-only

A generic type that all image types conform to.

var jpegTypeIdentifier read-only

The JPEG image type.

var jsonTypeIdentifier read-only

The JSON type.

var pdfTypeIdentifier read-only

The PDF type.

var plainTextTypeIdentifier read-only

The plain text type.

var pngTypeIdentifier read-only

The PNG image type.

var propertyListTypeIdentifier read-only

The generic property list type.

var readableTypesArray of TypeIdentifier read-only

The list of TypeIdentifiers that can be read by documents in this this application.

var rtfTypeIdentifier read-only

The RTF type.

var rtfdTypeIdentifier read-only

The RTFD type.

var tiffTypeIdentifier read-only

The TIFF image type.

var writableTypesArray of TypeIdentifier read-only

The list of TypeIdentifiers that can be written by documents in this application (though some documents may be exportable only in a subset of these types).

var xmlPropertyListTypeIdentifier read-only

The XML property list type.

Constructors

new TypeIdentifier(identifier: String)TypeIdentifier

Returns a new FileType with the given identifier.

Instance Functions

function conformsTo(other: TypeIdentifier)Boolean

Returns true if the instance is the same as the given argument or a more specific type. For example, TypeIdentifier.png.conformsTo(TypeIdentifier.image) will be true, but TypeIdentifier.png.conformsTo(TypeIdentifier.plainText) will be false.

Instance Properties

var displayNameString read-only

Returns a human-readable description of the type.

var identifierString read-only

Returns a unique string for a type identifier, suitable for archiving or encoding in scripts.

var pathExtensionsArray of String read-only

The list of filesystem path extensions used by this type.

URL

Class Functions

function choose(types: Array of String)URL or null

Deprecated: Please use FilePicker instead.

Allows the user to choose a file URL if possible and returns a new instance, or null otherwise.

function chooseFolder()URL or null

Deprecated: Please use FilePicker instead.

Allows the user to choose a folder URL if possible and returns a new instance, or null otherwise.

function fromString(string: String)URL or null

Parses the string as a URL if possible and returns a new instance, or null otherwise.

function tellScript(app: String, js: String, arg: Object or null)URL or null

Creates a URL to invoke the given JS on the given app (url scheme) appropriate for use with the call function.

function tellFunction(app: String, jsFunction: Function, arg: Object or null)URL or null

Creates a URL to invoke the given JS function on the given app (url scheme) appropriate for use with the call function.

Class Properties

var currentAppSchemeString read-only

Returns the URL scheme for the current app.

Instance Functions

function fetch(success: Function, failure: Function or null)

Get the contents at the destination of this URL.

function call(success: Function, failure: Function or null)

Invoke an x-callback-url API end-point, with the callback functions being invoked when a reply is received. When a reply is received, the parameters of that URL are decoded as JSON, or left as String values if not valid JSON, and stored as properties of a result object. For a successful reply, if the result object has one property, its value is passed as the first argument to the success function. If there are zero or more than one parameters, the full object is passed as the first argument. In both cases, the success function is passed a second argument that is the full object of parameters. The failure callback is always passed the object will all the result parameters, typically errorCode and errorMessage.

function open()

Ask the system to open this URL.

function find(types: Array of TypeIdentifier, recurse: Boolean or null)Promise of Array of URL

Scan a directory URL for files of the given types. If recurse is specified and is false, only the immediate contents of the directory will be considered. If recurse is not specified or is true, the full directory tree will be scanned.

function toString()String

function appendingPathComponent(component: String)URL

function deletingLastPathComponent()URL

Instance Properties

var stringString read-only

String representation of this URL.

var toObjectObject or null read-only

URL.FetchRequest

Class Functions

function fromString(string: String)URL.FetchRequest or null

Parses the string as a URL if possible and returns a new instance, or null otherwise.

Constructors

new URL.FetchRequest()URL.FetchRequest

Creates a new instance.

Instance Functions

function fetch()Promise of URL.FetchResponse

Perform the request, returning a Promise. On success, the promise will resolve to a URL.FetchResponse.

Instance Properties

var bodyDataData or null

The body of the request, typically used in an HTTP POST or PUT request. This API is suitable for uploading binary data, or for text which needs to be encoded in a form other than UTF-8. If UTF-8 text is suitable, bodyString is likely to be a better choice.

var bodyStringString or null

The body of the request, typically used in an HTTP POST or PUT request. The provided string will be transmitted using the UTF-8 encoding.

var cacheString or null

The cache policy for the request: default, no-store, reload, no-cache, force-cache, or only-if-cached.

var headers → Object

Custom HTTP headers to be sent with this request.

var methodString or null

The HTTP request method of the request: GET, POST, PUT, DELETE, etc.

var urlURL or null

The URL for this fetch request. Much of the additional functionality provided by the fetch request API will only work with http and https URLs. (For example, the method and cache and headers don’t have any effect in the context of a file or omnifocus URL.)

URL.FetchResponse

URL.FetchResponse represents the response from fetching a URL resource, providing additional information about the response such as the HTTP status code and headers along with the actual data for that response. This is a read-only object returned by performing a URL.FetchRequest; see that class for more details on actually performing the request.

Instance Properties

var bodyDataData or null read-only

Returns the raw HTTP body data from this response.

var bodyStringString or null read-only

This is a convenience wrapper which interprets the bodyData of this response as UTF-8 text. (Note: the current implementation assumes the text is encoded using UTF-8, but ideally it would honor the text encoding as reported by textEncodingName.)

var headers → Object read-only

Returns the HTTP header fields for this response.

var mimeTypeString or null read-only

Returns the HTTP MIME type for this response (e.g. text/plain, application/json, etc.).

var statusCodeNumber read-only

Returns the HTTP status code for this response (e.g. 200, 404, etc.).

var textEncodingNameString or null read-only

Returns the reported text encoding for this response. This name will be the actual string reported by the origin source, or null if no encoding was specified.

var urlURL or null read-only

Returns the URL for this response.

Version

Constructors

new Version(versionString: String)Version

Parses a string representation of a Version and returns an instance, or throws an error if the string isn’t a valid version.

Instance Functions

function equals(version: Version)Boolean

Returns true if the receiving Version is equal to the argument Version.

function atLeast(version: Version)Boolean

Returns true if the receiving Version is at the same as or newer than the argument Version.

function isAfter(version: Version)Boolean

Returns true if the receiving Version is strictly after the argument Version.

function isBefore(version: Version)Boolean

Returns true if the receiving Version is strictly before the argument Version.

Instance Properties

var versionStringString read-only

Returns as an opaque string representation of the Version, suitable for display or logging. This should never be used in comparisons of any sort.

Window

An OmniPlan window.

Instance Properties

var selectionSelection read-only

Current selection in this window.