События мобильного приложения вызываются в js файле, заданном в Configuration.xml в теге BitMobile.Configuration.GlobalEvents. Например:
<c:Configuration xmlns:c="BitMobile.Configuration" xmlns:s="BitMobile.ValueStack"> ... <c:Script> <c:GlobalEvents File="Global\Events.js" /> ... </c:Script>
Для подписки на событие достаточно описать с заданном файле метод с соответствующей сигнатурой.
События
Метод | Описание | Параметры | Пример | Версия |
---|---|---|---|---|
OnApplicationInit() | Вызывается при первичной загрузке приложения | function OnApplicationInit() { $.AddGlobal("starttime", CurrentDate()); LoadStateFromDd(); } | - | |
OnApplicationBackground(workflow) | Вызывается при сворачивании приложения | workflow - имя текущего рабочего процесса | function OnApplicationBackground(workflow) { SaveCurrentStateToDb(workflow); LogToDb("background"); } | - |
OnApplicationRestore(workflow) | Вызывается при восстановлении приложения | workflow - имя текущего рабочего процесса | function OnApplicationBackground(workflow) { LogToDb("restore"); } | - |
OnApplicationShake(workflow) | Вызывается при тряске устройства | workflow - имя текущего рабочего процесса | function OnApplicationShake(workflow) { if (workflow == "Sync") Sync(); } | - |
OnWorkflowStart(workflow) | Вызывается при старте рабочего процесса | workflow - имя текущего рабочего процесса | function OnWorkflowStart(name) { if ($.Exists("workflow")) $.Remove("workflow"); } | - |
OnWorkflowForwarding(workflow, lastStep, nextStep, parameters) | Вызывается перед шагом вперед рабочего процесса. Возвращает true, если движение рабочему процессу разрешено. | workflow - имя текущего рабочего процесса lastStep - имя предыдущего шага nextStep - имя следующего шага parameters - параметры перехода | function OnWorkflowForwarding(workflow , lastStep , nextStep , parameters) { return $.stepAllowed; } | - |
OnWorkflowForward(workflow, lastStep, nextStep, parameters) | Вызывается после шага вперед рабочего процесса. | workflow - имя текущего рабочего процесса lastStep - имя предыдущего шага nextStep - имя следующего шага parameters - параметры перехода | function OnWorkflowForward(name , lastStep , nextStep , parameters) { if (lastStep == "Order" && nextStep == "EditSKU" && Variables.Exists("AlreadyAdded") == false) { Variables.AddGlobal("AlreadyAdded", true); } } | - |
OnWorkflowBack(workflow, lastStep, nextStep) | Вызывается после шага назад рабочего процесса. | workflow - имя текущего рабочего процесса lastStep - имя предыдущего шага nextStep - имя следующего шага | function OnWorkflowBack(workflow, lastStep, nextStep) { LogBackStep(); } | - |
OnWorkflowFinish(workflow, reason) Obsolete | Вызывается после завершения рабочего процесса | workflow - имя текущего рабочего процесса reason - commit или rollback | function OnWorkflowFinish(workflow, reason) { if(reason == "commit") WriteSuccess(); } | - |
OnWorkflowFinished(workflow, reason) | Вызывается после завершения рабочего процесса и подтверждения или отмены транзакции | workflow - имя текущего рабочего процесса reason - commit или rollback | function OnWorkflowFinished(workflow, reason) { if(reason == "commit") { var c = CaptionFromDatabase(); $.AddGlobal("caption", c); } else if (reason == "rollback") { $.AddGlobal("caption", "-"); } } | |
OnWorkflowPause(workflow) | Вызывается после открытия нового рабочего процесса из текущего | workflow - имя текущего рабочего процесса | function OnWorkflowPause(name) { Variables.Remove("workflow"); } | - |