Class Atk4\Ui\UserAction\ModalExecutor

extends Modal
implements JsExecutorInterface
uses CommonExecutorTrait, HookTrait, StepExecutorTrait

Modal executor for action. These are special modal that will divide a model action into steps and run each step accordingly via a loader setup in modal view. The step orders are Argument, Field and Preview, prior to execute the model action.

It will first determine the number of step necessary to run the model action. When a step is running through the view loader, data collect for each step are store in browser session storage via javascript. Thus, each request to execute loader, include step data within the request.

ModalExecutor modal view may be generated via callbacks. These modal are added to app->html view if not already added and the api service take care of generating them when output in JSON via callback. It is important that these ModalExecutor modals stay within the page HTML content for loader to run each steps properly.

Methods
Methods inherited from Atk4\Ui\Modal
set(), enableCallback(), addContentCss(), jsShow(), jsHide(), setOption(), addScrolling(), addDenyAction(), addApproveAction(), addButtonAction(), notClosable(), renderView()
Methods inherited from Atk4\Ui\View
__construct(), setModel(), setSource(), setMissingProperty(), setElement(), link(), getExecutorFactory(), add(), getClosestOwner(), addClass(), removeClass(), setStyle(), removeStyle(), setAttr(), removeAttr(), url(), jsUrl(), _getStickyArgs(), stickyGet(), recursiveRender(), renderAll(), renderTemplateToHtml(), render(), renderToTab(), renderToJsonArr(), getHtml(), js(), vue(), jsEmitEvent(), jsGetStoreData(), jsClearStoreData(), jsAddStoreData(), jsReload(), on(), getHtmlId(), getJsRenderActions(), getJs()
Methods inherited from Atk4\Ui\AbstractView
getOwner()
Methods used from Atk4\Core\AppScopeTrait
assertInstanceOfApp(), issetApp(), getApp(), setApp()
Methods used from Atk4\Core\ContainerTrait
_uniqueElementName(), _addContainer(), removeElement(), _shorten(), getElement(), hasElement()
Methods used from Atk4\Core\InitializerTrait
isInitialized(), assertIsInitialized(), invokeInit()
Methods used from Atk4\Core\StaticAddToTrait
_addToAdd(), addTo(), addToWithCl(), addToWithClUnsafe()
Methods used from Atk4\Core\TrackableTrait
issetOwner(), setOwner(), unsetOwner(), getDesiredName(), destroy()
Methods used from Atk4\Ui\UserAction\CommonExecutorTrait
executeModelActionLoad()
Methods used from Atk4\Core\HookTrait
_rebindHookFxToFakeInstance(), _unbindHookFxIfBoundToThis(), _rebindHooksIfCloned(), onHook(), onHookShort(), _makeHookDynamicFx(), onHookDynamic(), onHookDynamicShort(), hookHasCallbacks(), removeHook(), hook(), breakHook()
Methods used from Atk4\Ui\UserAction\StepExecutorTrait
addStepTitle(), addFormTo(), setFormField(), runSteps(), doArgs(), doFields(), doPreview(), doFinal(), getSteps(), isFirstStep(), isLastStep(), getPreviousStep(), getNextStep(), getStep(), createButtonBar(), jsSetButtonsState(), jsSetNextState(), jsSetPreviousState(), jsSetExecuteState(), jsSetPreviousHandler(), jsSetSubmitButton(), jsStepSubmit(), getActionData(), setActionDataFromModel(), getActionPreview(), getActionArgs()
Constants
Properties inherited from Atk4\Ui\Modal
$ui, $defaultTemplate, $title, $loadingLabel, $headerCss, $fx, $cb, $cbView, $args, $options, $type, $contentCss, $showActions
Properties inherited from Atk4\Ui\View
$_jsActions, $model, $region, $class, $style, $attr, $template, $content, $element, $executorFactory, $stickyArgs
Properties inherited from Atk4\Ui\AbstractView
$_addLater, $_rendered, $elements
Properties used from Atk4\Core\AppScopeTrait
$_app, $maxNameLength, $uniqueNameHashes
Properties used from Atk4\Core\ContainerTrait
$_elementNameCounts
Properties used from Atk4\Core\InitializerTrait
$_initialized
Properties used from Atk4\Core\NameTrait
$name
Properties used from Atk4\Core\TrackableTrait
$_owner, $shortName
Properties used from Atk4\Core\HookTrait
$hooks, $_hookIndexCounter, $_hookOrigThis
Properties used from Atk4\Ui\UserAction\StepExecutorTrait
$steps, $step, $loader, $loaderUi, $loaderShim, $previousStepButton, $nextStepButton, $executeActionButton, $buttonsView, $action, $actionData, $actionInitialized, $jsSuccess, $formSeed, $previewType, $stepTitle, $finalMsg