พัฒนาWidgets
ตัวเลือกผู้ใช้งาน
ให้ผู้ใช้เลือกผู้ใช้หนึ่งคนหรือหลายคน ผลลัพธ์กลับมาเป็นข้อความ select widget จะแสดงเมื่อได้รับ post-widget-parameters แล้วเท่านั้น
widget user-and-group-picker ให้ผู้ใช้ค้นหาและเลือกผู้ใช้หนึ่งคนหรือหลายคน แล้วส่งผู้ใช้ที่เลือกกลับไปที่หน้าของคุณ
URL และพารามิเตอร์
widget อยู่ที่ <site>/widgets/user-and-group-picker พารามิเตอร์ที่ใช้ร่วมกันอยู่ใน Widgets
| พารามิเตอร์ | ความหมาย | จำเป็น |
|---|---|---|
single_select | true เลือกได้คนเดียว ค่าเริ่มต้นคือ false | ไม่ |
ค่าที่เหลืออยู่ใน payload ของ post-widget-parameters ดูหัวข้อถัดไป
ข้อความ
| action | ทิศทาง | payload |
|---|---|---|
ready | widget ถึงหน้าของคุณ | ไม่มี widget โหลดเสร็จ |
post-widget-parameters | หน้าของคุณถึง widget | { disabledUsers, disabledGroups } อาร์เรย์ของ _id ผู้ใช้และ _id กลุ่มที่ไม่ให้เลือก (สมาชิกของกลุ่มเหล่านั้นก็ไม่ปรากฏ) ส่งหลัง ready ใส่อาร์เรย์ว่างได้ แต่ต้องส่ง |
select | widget ถึงหน้าของคุณ | { items } อาร์เรย์ของผู้ใช้ที่เลือก แต่ละคนมี _id username firstName middleName lastName displayName email picture role และ fullName กับ pictureUrl ที่ widget เติมให้ ถ้าเลือกคนเดียวก็ยังเป็นอาร์เรย์ |
cancel | widget ถึงหน้าของคุณ | ไม่มี ผู้ใช้ปิดโดยไม่เลือก |
widget นี้ว่างเปล่าจนกว่าจะได้ post-widget-parameters widget ไม่แสดงผู้ใช้ที่ลงชื่อเข้าใช้อยู่ และไม่แสดงผู้ใช้ที่ถูกลบ
ตัวอย่าง
embedParams คือพารามิเตอร์ร่วมจาก Widgets
const params = new URLSearchParams({ ...embedParams, single_select: 'false' })
frame.src = `${site}/widgets/user-and-group-picker?${params}`
addEventListener('message', (e) => {
if (e.origin !== site || e.data.messageToken !== messageToken) return
if (e.data.action === 'ready') {
frame.contentWindow.postMessage(
{ messageToken, action: 'post-widget-parameters', payload: { disabledUsers: [], disabledGroups: [] } },
site
)
}
if (e.data.action === 'select') addMembers(e.data.payload.items)
})