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';
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.
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;
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 | numberGets 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');
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
Field inside of a form. The types are
Through [[Permissions]], individual fields can be opened and closed to different [[User]] Groups.