RelTime

baja. RelTime

new RelTime()

Description:
  • Represents a baja:RelTime in BajaScript.

    RelTime is a Simple type for managing a relative amount of time.

    When creating a Simple, always use the make() method instead of
    creating a new Object.

Source:

Extends

Members

(static) DAY :baja.RelTime

Description:
  • RelTime instance for a day.

Source:

RelTime instance for a day.

Type:

(static) DEFAULT :baja.RelTime

Description:
  • Default RelTime instance.

Source:

Default RelTime instance.

Type:

(static) HOUR :baja.RelTime

Description:
  • RelTime instance for an hour.

Source:

RelTime instance for an hour.

Type:

(static) MILLIS_IN_DAY :Number

Description:
  • Milliseconds in a day.

Source:

Milliseconds in a day.

Type:
  • Number

(static) MILLIS_IN_HOUR :Number

Description:
  • Milliseconds in an hour.

Source:

Milliseconds in an hour.

Type:
  • Number

(static) MILLIS_IN_MINUTE :Number

Description:
  • Milliseconds in a minute.

Source:

Milliseconds in a minute.

Type:
  • Number

(static) MILLIS_IN_SECOND :Number

Description:
  • Milliseconds in a second.

Source:

Milliseconds in a second.

Type:
  • Number

(static) MINUTE :baja.RelTime

Description:
  • RelTime instance for a minute.

Source:

RelTime instance for a minute.

Type:

(static) SECOND :baja.RelTime

Description:
  • RelTime instance for a second.

Source:

RelTime instance for a second.

Type:

Methods

decodeAsync(str, batchopt) → {baja.Simple|Promise.<baja.Simple>}

Description:
  • The string encoding of certain Simples may include Type information, or other data that may
    require asynchronous operations to decode. For instance, some Simples may function as
    "containers" for other Simples, and may include that Type information in the string encoding.
    That Simple would then need to import those Types before it could be fully decoded in the
    browser.

    baja.Facets is a great example of this. A Facets may contain FrozenEnum values that are
    defined by Types, such as baja:Weekday. For a Facets containing a Weekday to be fully
    constructed in the browser, the baja:Weekday Type must be imported first. Since importing
    a Type may require a network call, this Facets instance might not be able to be constructed
    synchronously, using only decodeFromString(). baja.Facets has itself implemented
    decodeAsync() to import any necessary Types.

    When implementing a Type Extension for a Simple, if your Simple references arbitrary Types that
    need to be imported when decoding your Simple, implement decodeAsync() and perform any Type
    imports (or other asynchronous operations) there.

    If you are writing code that decodes Simples from strings - that is, when you have a type spec
    and string encoding, and you need to be able to decode any kind of Simple - favor the use of
    decodeAsync, as it gives the individual Simple a chance to perform async operations to ensure
    that the decoded Simple is fully correct.

    The default implementation just returns decodeFromString directly.

    Prior to Niagara 4.14, decodeAsync() was only used in field editors. In 4.14 and later,
    decodeAsync() will be used by BajaScript itself to support asynchronous decoding of Simples
    when resolving ORDs and retrieving other data from the station.

    (Note: decodeAsync() cannot be used by the framework to decode frozen slots. If you
    have a frozen slot, whose definition is a Simple that would require the use of
    decodeAsync() to construct it, it will not work. The best approach would be to implement a
    Type Extension that would use the baja! plugin to preload all the types referenced by the
    default value of that frozen slot, so that decodeFromString would have all the information
    it needed to construct it synchronously.)

Source:
Inherited From:
Example
return Promise.resolve(baja.$(simpleTypeSpec).decodeAsync(stringEncoding))
  .then((simpleInstance) => {});
Parameters:
Name Type Attributes Description
str string
batch baja.comm.Batch <optional>

optional batch to use

Returns:

may return the Simple instance
directly, or a Promise resolving to same - so wrap in Promise.resolve()
if unsure.

Type
baja.Simple | Promise.<baja.Simple>

decodeFromString(str) → {baja.RelTime}

Description:
  • Decode a RelTime from a String.

Source:
Overrides:
Parameters:
Name Type Description
str String
Returns:
Type
baja.RelTime

encodeToString() → {String}

Description:
  • Encode the RelTime to a String.

Source:
Overrides:
Returns:
Type
String

equals(obj) → {Boolean}

Description:
  • Equality test.

Source:
Overrides:
Parameters:
Name Type Description
obj
Returns:
Type
Boolean

equivalent(obj) → {Boolean}

Description:
  • Equivalence test.

    equivalent() is used to compare if two Objects have equivalent
    state, but might not want to return true for equals since it
    it has implied semantics for many operations. The default
    implementation returns the result of baja.Object#equals.

Source:
Inherited From:
Parameters:
Name Type Description
obj
Returns:
Type
Boolean

getAgents(isopt, batchopt) → {Promise}

Description:
  • Returns a promise that resolves to the agent list for this Object.

Source:
Inherited From:
See:
Parameters:
Name Type Attributes Description
is Array.<String> <optional>

An optional array of filters to add to the
agent query.

batch baja.comm.Batch <optional>

An optional object used to batch network
calls together.

Returns:

A promise that will resolve with the Agent Info.

Type
Promise

getDataTypeSymbol() → {String}

Description:
  • Return the data type symbol.

Source:
Returns:
Type
String

getDays() → {Number}

Description:
  • Return number of days.

Source:
Returns:
Type
Number

getDaysPart() → {Number}

Description:
  • Return the days part of this duration.

Source:
Returns:
Type
Number

getHours() → {Number}

Description:
  • Return number of hours.

Source:
Returns:
Type
Number

getHoursPart() → {Number}

Description:
  • Return the hours part of this duration.

Source:
Returns:
Type
Number

getIcon() → {baja.Icon}

Description:
  • Return the Object's Icon.

Source:
Inherited From:
Returns:
Type
baja.Icon

getMillis() → {Number}

Description:
  • Return number of milliseconds.

Source:
Returns:
Type
Number

getMillisPart() → {Number}

Description:
  • Return the milliseconds part of this duration.

Source:
Returns:
Type
Number

getMinutes() → {Number}

Description:
  • Return number of minutes.

Source:
Returns:
Type
Number

getMinutesPart() → {Number}

Description:
  • Return the minutes part of this duration.

Source:
Returns:
Type
Number

getSeconds() → {Number}

Description:
  • Return number of seconds.

Source:
Returns:
Type
Number

getSecondsPart() → {Number}

Description:
  • Return the seconds part of this duration.

Source:
Returns:
Type
Number

getType() → {Type}

Description:
  • Get the type of this instance.

Source:
Inherited From:
Returns:
Type
Type

getTypeDisplayName(cxopt) → {Promise.<string>|string}

Description:
  • Gets the friendly type display name for this object.

Source:
Since:
  • Niagara 4.10
Inherited From:
See:
  • baja.Type#getDisplayName
Parameters:
Name Type Attributes Description
cx Object <optional>

a context to be passed down to Type

Returns:

If no context is provided, the type
display name is returned synchronously as a string. If context provided,
the type display name is resolved via a promise as a string.

Type
Promise.<string> | string

make(objopt) → {baja.RelTime}

Description:
  • Make a RelTime.

Source:
Overrides:
Example
//This method can take a number of milliseconds of an Object Literal with 
//the method's argument...
  var rt1 = baja.$("baja:RelTime").make(1000); // One second

  // ...or we can specify an Object Literal for more arguments...

  // Create a RelTime with 2 days + 2 hours + 2 minutes + 2 seconds + 2 milliseconds...
  var rt2 = baja.$("baja:RelTime").make({
    days: 2,
    hours: 2,
    minutes: 2,
    seconds: 2,
    ms: 2
  });
Parameters:
Name Type Attributes Description
obj Object | Number <optional>

the Object Literal or the number of milliseconds.

Properties
Name Type Attributes Description
days Number <optional>

the number of days.

hours Number <optional>

the number of hours.

minutes Number <optional>

the number of minutes.

seconds Number <optional>

the number of seconds.

ms Number <optional>

the number of milliseconds.

Returns:
Type
baja.RelTime

newCopy(exactopt)

Description:
  • Every value may be cloned using the newCopy method.

    Please note that Simples are immutable so they don't
    allocate a new instance.

Source:
Inherited From:
See:
Parameters:
Name Type Attributes Description
exact Boolean <optional>

true if an exact copy of the value should be
made (only valid in the Component architecture).

Returns:

a copy of the value (or the same instance if the value is a
Simple).

toFriendlyString() → {Promise.<string>}

Description:
  • Returns a friendly string indicating the time interval from the present
    moment. For example: "right now", "a few seconds ago", "3 months from now",
    "an hour ago".

Source:
Since:
  • Niagara 4.8
Returns:

a human-readable string indicating the time interval, relative to the present moment

Type
Promise.<string>

toString(cxopt) → {String|Promise.<string>}

Description:
  • Return a String representation of a RelTime.

Source:
Overrides:
Example
// IMPORTANT NOTE
  //
  // If a unit is greater than zero but the show flag for it is set to
  // false, then its value will get carried over to the leftmost shown
  // unit.

  var relTime = baja.RelTime.make({
    hours: 1, seconds: 1
  });

  // 1hour 1sec
  relTime.toString();

  // 60mins 1sec
  relTime.toString({
    showHours: false
  });

  // 3601secs
  relTime.toString({
    showHours: false,
    showMinutes: false
  });
Parameters:
Name Type Attributes Description
cx Object <optional>

the context.

Properties
Name Type Attributes Default Description
showMilliseconds Boolean <optional>
true

set to false to hide milliseconds.

showSeconds Boolean <optional>
true

set to false to hide seconds. If
showSeconds is false then milliseconds will not be shown.

showMinutes Boolean <optional>
true

set to false to hide minutes.

showHours Boolean <optional>
true

set to false to hide hours.

showDays Boolean <optional>
true

set to false to hide days.

Returns:

if context is given, a Promise that
resolves to a localized string; otherwise an unlocalized string

Type
String | Promise.<string>

valueOf() → {Number}

Description:
  • Return number of milliseconds.

Source:
Overrides:
Returns:
Type
Number

(static) make(objopt) → {baja.RelTime}

Description:
  • Make a RelTime.

Source:
Example
//This method can take a number of milliseconds or an Object Literal as 
 //method's argument...
  var rt1 = baja.RelTime.make(1000); // One second

  // ...or we can specify an Object Literal for more arguments...

  // Create a RelTime with 2 days + 2 hours + 2 minutes + 2 seconds + 2 milliseconds...
  var rt2 = baja.RelTime.make({
    days: 2,
    hours: 2,
    minutes: 2,
    seconds: 2,
    ms: 2
  });
Parameters:
Name Type Attributes Description
obj Object | Number <optional>

the Object Literal or the number of milliseconds.

Properties
Name Type Attributes Description
days Number <optional>

the number of days.

hours Number <optional>

the number of hours.

minutes Number <optional>

the number of minutes.

seconds Number <optional>

the number of seconds.

ms Number <optional>

the number of milliseconds.

Returns:
Type
baja.RelTime