พัฒนาWidgets
ตัวสร้าง expression
ฝังตัวสร้าง expression ที่ประกอบข้อความจากตัวอักษรและค่าของฟิลด์ แล้วรับข้อความที่ผู้ใช้เขียนกลับมา
widget expression-builder ให้ผู้ใช้เขียนข้อความที่มีค่าของฟิลด์แทรกอยู่ แล้วส่งข้อความนั้นกลับมาให้หน้าของคุณ
URL และพารามิเตอร์
พารามิเตอร์ที่ขึ้นต้นด้วย _ เหมือนกันทุก widget ดู Widgets
| พารามิเตอร์ | ความหมาย | จำเป็น |
|---|---|---|
schema_source_item_id | id ของตารางที่ฟิลด์มาจาก ไม่ใส่ ผู้ใช้เขียนได้แต่ข้อความ | ไม่ |
value | expression เดิมที่จะแก้ | ไม่ |
expression คือข้อความที่ใช้ {id} แทนค่าของฟิลด์ เช่น {name} อำเภอ{district} โดย id คือ id ของฟิลด์ในตาราง widget เสนอเฉพาะฟิลด์ชนิด String และ Number ที่ไม่ซ่อน
ข้อความ
widget นี้ไม่ส่ง ready และไม่รับ post-widget-parameters ค่าทั้งหมดอยู่ใน URL ข้อความทั่วไปที่เหลือดู Widgets
| action | ทิศทาง | payload |
|---|---|---|
done | widget ถึงหน้าของคุณ | สตริงของ expression ที่ผู้ใช้ยืนยัน |
cancel | widget ถึงหน้าของคุณ | ไม่มี ผู้ใช้ปิดโดยไม่เอา expression |
ตัวอย่าง
const messageToken = crypto.randomUUID()
const params = new URLSearchParams({
_credential_type: 'bearer-token',
_token: token,
_origin: location.origin,
_message_token: messageToken,
_locale: 'th',
schema_source_item_id: tableItemId,
value: '{name}',
})
frame.src = `${site}/widgets/expression-builder?${params}`
addEventListener('message', (e) => {
if (e.origin !== site || e.data.messageToken !== messageToken) return
if (e.data.action === 'done') save(e.data.payload) // เช่น '{name} อำเภอ{district}'
if (e.data.action === 'cancel') frame.remove()
})