ข้ามไปเนื้อหา

ผลต่างระหว่างรุ่นของ "CuneiForm"

เพิ่มขึ้น 1,239 ไบต์ ,  15 เมษายน 2567
บรรทัดที่ 596: บรรทัดที่ 596:


=== Instacalc Routine ===
=== Instacalc Routine ===
The rough step-by-step working of an instacalc cycle is as follows:
# Determine whether the invoked instacalc should be '''processed''' immediately, '''queued''', or '''dumped'''.
# '''Send an instacalc ''POST'' request''' to the server.
# Once a successfull instacalc response is received, '''fill the form''' with appropriate values/formatting. Then, run functions in '''post_insta_cmds''' attribute of the {{code|form_obj}} (if any).
==== Process, Queue, or Dump ====
A single CuneiForm only handles one instacalc routine at a time. This behaviour necessitate a queue.  Each invoked instacalc goes through these filters:
# ''Check whether an instacalc with '''the same route''' is currently running or already in the queue''. (Instacalcs re-invoked from the queue get to skip this filter.)
#* If yes, the invoked instacalc is dumped.
# ''Check whether the CuneiForm is '''currently running another instacalc''''' (via flag '''populating''').
#* If yes, the invoked instacalc is queued.
# For an instacalc re-invoked from the queue, ''check whether '''all the result fields are already handled by the most recent populate-type process'''''.
#* If yes, the invoked instacalc is dumped.
# All instacalcs reaching this point is processed.


=== Navigation & Focusing ===
=== Navigation & Focusing ===