new RelTime()
- Description:
Represents a
baja:RelTimein BajaScript.RelTimeis aSimpletype for managing a relative amount of time.When creating a
Simple, always use themake()method instead of
creating a new Object.
- Source:
Extends
Members
(static) DAY :baja.RelTime
- Description:
RelTimeinstance for a day.
- Source:
RelTime instance for a day.
Type:
(static) DEFAULT :baja.RelTime
- Description:
Default
RelTimeinstance.
- Source:
Default RelTime instance.
Type:
(static) HOUR :baja.RelTime
- Description:
RelTimeinstance 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:
RelTimeinstance for a minute.
- Source:
RelTime instance for a minute.
Type:
(static) SECOND :baja.RelTime
- Description:
RelTimeinstance 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 asbaja:Weekday. For a Facets containing a Weekday to be fully
constructed in the browser, thebaja:WeekdayType 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 onlydecodeFromString(). 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, implementdecodeAsync()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
decodeFromStringdirectly.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 thebaja!plugin to preload all the types referenced by the
default value of that frozen slot, so thatdecodeFromStringwould 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
RelTimefrom aString.
- Source:
- Overrides:
Parameters:
| Name | Type | Description |
|---|---|---|
str |
String |
Returns:
- Type
- baja.RelTime
encodeToString() → {String}
- Description:
Encode the
RelTimeto aString.
- 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 |
batch |
baja.comm.Batch |
<optional> |
An optional object used to batch network |
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
|
Returns:
- Type
- baja.RelTime
newCopy(exactopt)
- Description:
Every value may be cloned using the
newCopymethod.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 |
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
Stringrepresentation of aRelTime.
- 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
|
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
|
Returns:
- Type
- baja.RelTime