Dynamic Search (ហ ៅ ថ ា Search API) អនុញ្ញាតឱ្យ select_one, select_multiple, ឬ text field load choices ពី remote web service at runtime


search-api() appearance

  search-api(method, url, post_body, value_column, display, data_path, save_path)
  

Parameters

Parameterការពិពណ៌នា
methodជ ា ន ិ ច ្ ច ប ្ រ ើ 'POST'
urlAPI endpoint
post_bodyJSON body; ប ្ រ ើ %__input__% ជ ា placeholder
value_columnkey ដើម្បី store value
displaykey ដើម្បី display ជ ា label
data_pathJSONPath ទ ៅ array (ឧ. $.data)
save_pathName ដើម្បី save raw response

Basic example

typenamelabelappearance
select_onefacilitySelect health facilitysearch-api('POST', 'https://api.example.com/facilities/search', '{"query": "%__input__%"}', 'id', 'name', '$.results', 'facility_data')

API returns:

  {
  "results": [
    {"id": "HF001", "name": "Nairobi Central Clinic"},
    {"id": "HF002", "name": "Nairobi West Hospital"}
  ]
}
  

Advanced display formatting

Using ##key## templates

  search-api('POST', 'https://api.example.com/search', '{"q": "%__input__%"}', 'id', '##name## (##district##)', '$.data', 'res')
  

Setting a default value: search-default-api()

  appearance: search-api(...) search-default-api('POST', 'https://api.example.com/get', '{"id": "##saved_id##"}', 'id', 'name', '$.item')
  

Using saved response data

typenamelabelcalculation
select_onefacilitySelect facilitysearch-api(..., 'facility_data')
calculatefacility_districtpulldata('facility_data', 'district')

Best Practices

  1. ធានា API endpoint respond ក ្ ន ុ ង 1–2 seconds ។
  2. ប ្ រ ើ %__input__% ក ្ ន ុ ង post_body
  3. Limit results ទ ៅ 20–50 items ។

Limitations

  • Dynamic Search ត ្ រ ូ វ ក ា រ network connectivity ។
  • %__input__% inject as-is; sanitise inputs server-side ។
តើទំព័រនេះមានប្រយោជន៍ទេ?