ContactItem
ContactItem
クラスは顧客コンタクト先や案件コンタクト先に対して操作を行うためのメンバーを持っています。
継承
インスタンスプロパティ
contactMasterChoices読み取り専用
コンタクト先マスタの配列です。
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
//選択肢を確認
console.log(contactItem.contactMasterChoices);
// [{ selectName:"キーマン",value:1 },{ selectValue:"担当者",value:2 }]
});
motivationChoices読み取り専用
意欲マスタの配列です。
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
//選択肢を確認
console.log(contactItem.motivationChoices);
// [{ selectName:"前向き",value:1 },{ selectValue:"後ろ向き",value:2 }]
});
positionChoices読み取り専用
立場マスタの配列です。
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
//選択肢を確認
console.log(contactItem.positionChoices);
// [{ selectName:"推進者",value:1 },{ selectValue:"決裁者",value:2 }]
});
インスタンスメソッド
includesNonReferableEntity
コンタクトの名刺情報に閲覧権限がない名刺が紐づいているかどうかを判定します。
構文
includesNonReferableEntity();
引数
なし
返値
真偽値
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
console.log(
contactItem.getContacts().entities.map((contact) => contact.contactId)
);
// [1,2,3,4,null]
const result = contactItem.includesNonReferableEntity();
console.log("結果:", result); // 結果:true
});
getContacts
Contactsクラスのインスタンスを返します。
構文
getContacts();
引数
なし
返値
Contactsクラスのインスタンス。
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
const contacts = getContacts();
});
onContactAdded
コンタクト先が追加された後に呼び出されるeventHookを登録します。
構文
onContactAdded(callback);
onContactAdded(callback, group);
引数
callback
コンタクトが追加されたタイミングで実行する関数です。
group
指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroup
に属するeventHookを全て解除することができます。
返値
なし
例
esmJSPlugin.screen.sheetSave("customer").onEntered(function (screen) {
const contactItem = screen.getSheetItem(
"customers.customer.relational_business_card_info"
);
const unlisten = contactItem.onContactAdded(function () {
console.log("contactAdded");
unlisten(); // 解除
});
});
onContactRemoved
コンタクトが削除された後に呼び出されるeventHookを登録します。
構文
onContactRemoved(callback);
onContactRemoved(callback, group);
引数
callback
コンタクトが削除されたタイミングで実行する関数です。
group
指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroup
に属するeventHookを全て解除することができます。
返値
なし
例
esmJSPlugin.screen.sheetSave("customer").onEntered(function (screen) {
const contactItem = screen.getSheetItem(
"customers.customer.relational_business_card_info"
);
const unlisten = contactItem.onContactRemoved(function () {
console.log("contactRemoved");
unlisten(); // 解除
});
});
onContactsUpdated
コンタクト先が更新された後に呼び出されるeventHookを登録します。
構文
onContactsUpdated(callback);
onContactsUpdated(callback, group);
引数
callback
コンタクトが更新されたタイミングで実行する関数です。
group
指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroup
に属するeventHookを全て解除することができます。
返値
なし
例
esmJSPlugin.screen.sheetSave("customer").onEntered(function (screen) {
const contactItem = screen.getSheetItem(
"customers.customer.relational_business_card_info"
);
// entitiesが初期化されたタイミングで関数を実行
const unlisten = contactItem.onContactsUpdated(function () {
console.log("contactsUpdated");
unlisten(); // 解除
});
});
setContactAdded
contactMasterId
を指定してコンタクトを追加します。
構文
setContactAdded(contactMasterId);
引数
contactMasterId
contactMasterChoicesに value に対応する数値です。 指定しない場合、未設定に登録されます。
返値
なし
例
esmJSPlugin.screen.sheetSave("customer").onSheetItemsMounted(function (screen) {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
console.log(contactItem.getContacts().entities);
// [Contact,Contact,Contact]
contactItem.setContactAdded(1);
console.log(contactItem.getContacts().entities);
// [Contact,Contact,Contact,Contact]
});
getContactRemoved
contactMasterId
を指定してコンタクトを削除します。
構文
getContactRemoved(contactMasterId);
引数
contactMasterId
contactMasterChoicesに value に対応する数値です。 指定しない場合、未設定に登録されます。
返値
なし
例
esmJSPlugin.screen.sheetSave("customer").onSheetItemsMounted(function (screen) {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
console.log(contactItem.getContacts().entities);
// [Contact,Contact,Contact]
contactItem.getContactRemoved(1);
console.log(contactItem.getContacts().entities);
// [Contact,Contact]
});
setContactRemovedByIndex
Index
で指定したコンタクトを削除します。
構文
setContactRemovedByIndex(contactMasterId);
引数
Index
何行目かのコンタクトかを示す数値
返値
なし
例
esmJSPlugin.screen.sheetSave("customer").onSheetItemsMounted(function (screen) {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
console.log(contactItem.getContacts().entities);
// [Contact,Contact,Contact]
contactItem.setContactRemovedByIndex(1);
console.log(contactItem.getContacts().entities);
// [Contact,Contact]
});
setContactMaster
コンタクト先マスタを変更します。
構文
setContactMaster(contactMasterId);
引数
contactMasterId
contactMasterChoicesの value に対応する ID です。
返値
なし
例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
const contactItem = SheetSaveScreen.getSheetItem(
"customers.customer.relational_business_card_info"
);
//選択肢を確認
console.log(contactItem.contactMasterChoices);
// [{ selectName:"キーマン",value:1 },{ selectValue:"担当者",value:2 }]
console.log(contactItem.contactMaster); //1
contactItem.setContactMaster(2);
console.log(contactItem.contactMaster); //2
});