RelationItem
RelationItem
クラスは紐づけ型項目に対して操作を行うためのメンバーを持っています。
継承
インスタンスプロパティ
sheetName読み取り専用
紐づけ可能なシートのsheetNameです。
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
// 変更後の値を確認
console.log("sheetName:", relationItem.sheetName); // sheetName: "employee"
});
selectionNames
紐づいている各シートの名前の配列です。
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
console.log("紐づいているシートの名前の配列", relationItem.selectionNames); // 紐づいているシートの名前の配列: "[高橋, 佐藤, 近藤, 斎藤]"
});
selectionLength
紐づいているシート数の数値です。
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
console.log("紐づいているシートの名前の配列", relationItem.selectionNames); // 紐づいているシートの名前の配列: "[高橋, 佐藤, 近藤, 斎藤]"
console.log("紐づいているシートの数:", relationItem.selectionLength); // 紐づいているシートの数:4
});
インスタンスメソッド
selectionsInclude
id を示す数値を受け取り、紐づいているシートに指定した id が含まれているかどうかの真偽値を返します。
構文
selectionsInclude(id);
引数
id
シートの ID を示す数値です。
返値
真偽値
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest2"
);
console.log(
"selections:",
relationalItem.selections
.getRows()
.entries.map((selection) => selection.selectionId)
); // selections: [1,2,3,4,5]
const result = relationItem.selectionsInclude(1);
console.log("結果:", result); // 結果: true
});
selectionNamesInclude
文字列を受け取り、紐づいているシートの名前項目の値に指定した文字列が含まれているかどうかの真偽値を返します。
構文
selectionsInclude(name);
引数
name
シートの名前を示す文字列です。
返値
真偽値
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest2"
);
console.log(relationalItem.selectionNames); // selections: ["佐藤","鈴木"]
const result = relationItem.selectionsInclude("佐藤");
console.log("結果:", result); // 結果: true
});
includesNonReferableSelection
紐づいているシートに閲覧権限のないシートが含まれているかどうかを判定します。
構文
includesNonReferableSelection();
引数
なし
返値
真偽値
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest2"
);
console.log(
"selections:",
relationalItem.selections
.getRows()
.entries.map((selection) => selection.selectionId)
); // selections: [1,2,NaN,4,5]
const result = relationItem.includesNonReferableSelection();
console.log("結果:", result); // 結果: true
});
onSelectionAdded
紐づいているシートが追加された後に呼び出されるeventHookを登録します。
構文
onSelectionAdded(callback);
onSelectionAdded(callback, group);
引数
callback
紐づいているシートが追加されたタイミングで実行する関数です。
group
指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroup
に属するeventHookを全て解除することができます。
返値
なし
例
esmJSPlugin.screen.sheetSave("schedule").onEntered(function (screen) {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
const unlisten = relationalItem.onSelectionAdded(function () {
console.log("SelectionAdded");
unlisten(); // 解除
});
});
onSelectionRemoved
紐づいているシートが削除された後に呼び出されるeventHookを登録します。
構文
onSelectionRemoved(callback);
onSelectionRemoved(callback, group);
引数
callback
紐づいているシートが削除されたタイミングで実行する関数です。
group
指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroup
に属するeventHookを全て解除することができます。
返値
なし
例
esmJSPlugin.screen.sheetSave("schedule").onEntered(function (screen) {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
const unlisten = relationalItem.onSelectionRemoved(function () {
console.log("SelectionRemoved");
unlisten(); // 解除
});
});
onSelectionsUpdated
紐づいているシートが更新された後に呼び出されるeventHookを登録します。
構文
onSelectionsUpdated(callback);
onSelectionsUpdated(callback, group);
引数
callback
紐づいているシートが更新されたタイミングで実行する関数です。
group
指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroup
に属するeventHookを全て解除することができます。
返値
なし
例
esmJSPlugin.screen.sheetSave("schedule").onEntered(function (screen) {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
// entitiesが初期化されたタイミングで関数を実行
const unlisten = relationalItem.onSelectionsUpdated(function () {
console.log("SelectionsUpdated");
unlisten(); // 解除
});
});
onSelectionsResolved
紐づいているシートのデータが解決された後に呼び出されるeventHookを登録します。
構文
onSelectionsResolved(callback);
onSelectionsResolved(callback, group);
引数
callback
紐づいているシートのデータが解決されたタイミングで実行する関数です。
group
指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroup
に属するeventHookを全て解除することができます。
返値
なし
例
esmJSPlugin.screen.sheetSave("schedule").onEntered(function (screen) {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
// entitiesが初期化されたタイミングで関数を実行
const unlisten = relationalItem.onSelectionsResolved(function () {
console.log("SelectionsResolved");
unlisten(); // 解除
});
});
getSelections
Selectionsクラスのインスタンスを返します。
構文
getSelections();
引数
なし
返値
Selectionsクラスのインスタンス
esmJSPlugin.sheetSave("schedule").onSheetItemsMounted((screen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
const selections = relationalItem.getSelections();
console.log(selections);
});
getSelectionBy
指定した ID のSelectionクラスのインスタンスを返します。
構文
getSelectionBy(ID);
引数
ID
紐づいているシートの ID を示す数値です。
返値
Selectionクラスのインスタンス
例
esmJSPlugin.sheetSave("schedule").onSheetItemsMounted((screen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
const Selection = relationalItem.getSelectionBy(1);
console.log(Selection.entityId);
// 1
});
getSelectionByIndex
指定した行のSelectionクラスのインスタンスを返します。
構文
getSelectionByIndex(index);
引数
index
紐づいているシートが何行目かを示す数値です。
返値
Selectionクラスのインスタンス
例
esmJSPlugin.sheetSave("schedule").onSheetItemsMounted((screen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
const Selection = relationalItem.getSelectionByIndex(1);
console.log(Selection.entityId);
// 1
});
setSelectionsEmpty
紐づいているシートを全て削除します。
構文
setSelectionsEmpty();
引数
なし
返値
なし
例
esmJSPlugin.sheetSave("schedule").onSheetItemsMounted((screen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
console.log(relationalItem.selectionLength);
// 3
relationalItem.setSelectionsEmpty();
console.log(relationalItem.selectionLength);
// 0
});
setSelectionAdded
entityId
を指定して、紐づいているシートを追加します。
構文
setSelectionAdded(entityId);
引数
entityId
紐づいているシートの entityId を示す数値です。
返値
なし
例
esmJSPlugin.sheetSave("schedule").onSheetItemsMounted((screen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
console.log(relationalItem.selectionLength);
// 3
relationalItem.setSelectionAdded(1);
console.log(relationalItem.selectionLength);
// 4
});
setSelectionRemoved
指定した entityId
の紐づいているシートを削除します。
構文
setSelectionAdded(entityId);
引数
entityId
紐づいているシートの entityId を示す数値です。
返値
なし
例
esmJSPlugin.sheetSave("schedule").onSheetItemsMounted((screen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
console.log(relationalItem.selectionLength);
// 3
relationalItem.setSelectionRemoved(1);
console.log(relationalItem.selectionLength);
// 2
});
setSelectionRemovedByIndex
指定した index
の紐づいているシートを削除します。
構文
setSelectionRemovedByIndex(index);
引数
index
何行目かの紐づいているシートを示す数値です。
返値
なし
例
esmJSPlugin.sheetSave("schedule").onSheetItemsMounted((screen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
console.log(relationalItem.selectionLength);
// 3
relationalItem.setSelectionRemovedByIndex(1);
console.log(relationalItem.selectionLength);
// 2
});
selectionLengthEqualsTo
selectionLengthが指定した数値と等しいかどうかを判定します。
構文
selectionLengthEqualsTo(number);
引数
number
比較対象の数値です。
返値
真偽値
例
esmJSPlugin.sheetEntry("schedule").onEntered((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
relationalItem.onUpdated(function () {
// 値を確認
console.log("値:", relationalItem.selectionLength); // 値: 7
const result = relationalItem.selectionLengthEqualsTo(7);
console.log("7と等しいか:", result); // 7と等しいかどうか: true
});
});
selectionLengthIsGreaterThan
selectionLengthが指定した数値より大きいかどうかを判定します。
構文
selectionLengthIsGreaterThan(number);
引数
number
比較対象の数値です。
返値
真偽値
例
esmJSPlugin.sheetEntry("schedule").onEntered((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
relationalItem.onUpdated(function () {
// 値を確認
console.log("値:", relationalItem.selectionLength); // 値: 7
const result = relationalItem.selectionLengthIsGreaterThan(6);
console.log("6より大きいか:", result); // 6より大きいか: true
});
});
selectionLengthIsGreaterThanOrEqual
selectionLengthが指定した数値以上かどうかを判定します。
構文
selectionLengthIsGreaterThanOrEqual(number);
引数
number
比較対象の数値です。
返値
真偽値
例
esmJSPlugin.sheetEntry("schedule").onEntered((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
relationalItem.onUpdated(function () {
// 値を確認
console.log("値:", relationalItem.selectionLength); // 値: 7
const result = relationalItem.selectionLengthIsGreaterThanOrEqual(6);
console.log("6以上か:", result); // 6以上か: true
});
});
selectionLengthIsLessThan
selectionLengthが指定した数値より小さいかどうかを判定します。
構文
selectionLengthIsLessThan(number);
引数
number
比較対象の数値です。
返値
真偽値
例
esmJSPlugin.sheetEntry("schedule").onEntered((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
relationalItem.onUpdated(function () {
// 値を確認
console.log("値:", relationalItem.selectionLength); // 値: 7
const result = relationalItem.selectionLengthIsLessThan(10);
console.log("10未満か:", result); // 10未満か: true
});
});
selectionLengthIsLessThanOrEqual
selectionLengthが指定した数値以下かどうかを判定します。
構文
selectionLengthIsLessThanOrEqual(number);
引数
number
比較対象の数値です。
返値
真偽値
例
esmJSPlugin.sheetEntry("schedule").onEntered((SheetSaveScreen) => {
const relationalItem = SheetSaveScreen.getSheetItem(
"customers.customer.type_suggest1"
);
relationalItem.onUpdated(function () {
// 値を確認
console.log("値:", relationalItem.selectionLength); // 値: 7
const result = relationalItem.selectionLengthIsLessThanOrEqual(8);
console.log("8以下か:", result); // 8以下か: true
});
});