An object of alternate ids for this object, with values as [[AltId]]
// you've marked certain forms with the FID of deprecated and want to filter for those
const warningMessage = baseObject.altIdsObject().FID.value().includes('deprecated') && 'Please use a different form';
An object of alternate ids for this object, with values as strings
// you've marked certain forms with the FID of deprecated and want to filter for those
const warningMessage = baseObject.altIds().FID.includes('deprecated') && 'Please use a different form';
An array of alternate ids for this object.
// you've marked certain forms with the FID of deprecated and want to filter for those
const warningMessage = baseObject.altIds().FID.includes('deprecated') && 'Please use a different form';
Same as calling optAncestor(var).orElse(null)
If this object is a Collection it returns it as an array. The majority of objects in the system are Collections. For most objects, this is the same as calling [[children]].
const ids = obj.asArray().map(ob => ob);
Get the children of the object. This retrieval goes one level deep.
Optional
classType: string | numberconst childrenNames = obj.children().map(child => child.displayName());
Clear the field's value.
// This is a surprisingly non-trivial example.numberField.val() > 10 && numberField.clear();// There are many things going on here:
// 1) We are performing a check that a value even exists in this field. If not, nothing happens.
// 2) If the first condition is met, we then check that the value is a number or a string representing a number
// (remember: '5'==5 in JavaScript), and that it is greater than 10. If not, nothing happens.
// 3) If the first two conditions are met, the field is then cleared of its value.
Set the date-time using [[Java.Time.LocalDateTime]] and a [[Java.Time.ZoneId]]. Same as calling val(localDateTime.atZone(zoneId))
Set the date-time using [[Java.Time.LocalDateTime]] and the users ZoneId. Same as calling val(localDateTime.atZone(B.userZoneId()))
Set the date-time using [[Java.Time.Instant]], or a number representing epoch seconds, or a string that the relate date/time field can parse.
The deleted children of this object. Only looks one level deep. E.g. a form's deleted children could include fields and form entries. A folder's deleted children could include folders, forms, and formulas, but not any of those forms' entries.
const deleted = baseObject.deletedChildren();
The default display name of this object. For the most part, this is the same as calling toString()
, which is the same as inserting the object into a string.
The following assumes you have already aggregated a selection of baseObject
s into an array
const displayNames = [];
for (const o of baseObjects) displayNames.push(o.displayName());
const namesList = `<ul><li>${displayNames.join('</li><li>')}</li></ul>`;
Sets the Display Name.
Returns this field's [[FormMetaData]] object.
const form = firstName.form();
const fieldNames = [];
for (field in form) fieldNames.push(form[field].displayName());
Gets an array of all the object's ancestors.
const numberOfAncestors = obj.getAncestors().length;
The [[Id]] of this object bounded to T.
const displayDiv = `<div class="object-card" id="${baseObject.id()}">
<div class="title">${baseObject}</div>
<div class="body">Hello World!</div>
</div>;
Returns the Local Cache object for this Thread/Base Object.
Returns the [[FieldMetaData]] object that this describes this field.
const firstNameClass = firstName.metaData().styleClass();
Optional value for this field. Same as [[valOpt]]. Try to use this as often as you can over val()
; Null-pointer exceptions can be a pain, and this will provide a measure of safety. Try to reserve val()
for situations where a field is required and you know that the value cannot be null.
const middleName = middleName.opt().orElse('No Middle Name Set!');
// or, similarly
const middleName = middleName.val() || 'No Middle Name Set!'
A [[Java.Optional]] of the ancestor with the specific class.
const ancestors = obj.optAncestor(1000001).ifPresent(a => console.log('${a} exists'));
A [[Java.Optional]] of the current object's parent object.
Optional
classType: string | numberconst ancestors = obj.optAncestor(1000001).ifPresent(a => console.log('${a} found'));
Same as calling optParent(var).orElse(null)
Optional
classType: string | numberGet the field's value, or else it will return null. This is the same as calling opt().orElse(null)
without typescript complaining.
In many cases, this is also the same as simply calling val()
, however some field implementations wish to
employ defaults, such as text fields that return an empty string if they are null.
The [[Id]] or [[AltId]] that the system deems most relevant.
const displayDiv = `<div class="object-card" id="${baseObject.topId()}">
<div class="title">${baseObject}</div>
<div class="body">Hello World!</div>
</div>;
Gets the field's value if there is one, and will otherwise return null. Some overrides of this method have default return-values for convenience but, that would not make sense for this: the general-use case. In situations where the value might be null
(e.g. non required field), consider using optional chaining: field.val()?.toString()
.
The preferred method to handle null
s in bs.js is simply [[opt]]/[[valOpt]]; as the methods available off of that can handle virtually any situation.
This is identical to calling field.opt().orElse(null)
.
// it is important to notice that, due to how JavaScript works, doubleVal will evaluate to 0 if numberField.val() is null.
const doubleVal = numberField.val() * 2;
Set the field's value.
The value to be put into the field.
// make the field say `hello`
field.val('hello');
Optional value for this field. Alias for [[opt]].
date.valOpt().map(val => `Report Date: ${val}`).orElse('No Date');
The versions of this object.
const versions = baseObject.versions();
Returns a view URL for this object, if it has one. This value is always a relative URL, meaning it does not contain the protocol prefix or domain name such as http://xyz.bluestep.net
.
const viewBtn = `<button data-href="${baseObject.viewUrl()}">Go to ${baseObject.displayName()}</button>;
Generated using TypeDoc
A [[Field]] for datetime data. Comes in ZonedDateTime.
See also [[DateField]], [[TimeField]]