DefaultTemplate

Description

Default template for MerjentApp - binds mixin methods and defines composite behaviors.

This template is automatically installed by the MerjentApp constructor and provides a complete working app configuration. It binds methods from the mixin modules to the app instance and defines composite methods that orchestrate the workflow.

What This Template Provides

  • Two-state status (Draft/Complete) via StatusMixins.draft_complete
  • Four-tier permissions (Admin/Editor/User/Viewer) via PermissionMixins.fourTier
  • Field locking on submission via LockingMixins.standardLockEditing
  • Complete record locking via LockingMixins.checkCompleteLockStatus
  • Photo validation via PhotoMixins.standardValidation

Mixin Bindings

App Method Bound To
getStatus StatusMixins.draft_complete
getPermissions PermissionMixins.fourTier
baseUpdatePermission PermissionMixins.standardUpdate
getLockStatus LockingMixins.checkLockStatus
getCompleteLockStatus LockingMixins.checkCompleteLockStatus
baseLockEditing LockingMixins.standardLockEditing
validatePhoto PhotoMixins.standardValidation
limitCaption PhotoMixins.limitCaption
validateAllPhotos PhotoMixins.validateAllPhotos

Composite Methods Defined Here

  • start() - Entry point: runs updatePermission → updateStatus → updateLock
  • updatePermission() - Calls baseUpdatePermission + addUpdatePermission
  • lockEditing() - Calls baseLockEditing + addLockEditing
  • updateLock() - Toggles lock based on getLockStatus()
  • updateStatus() - Updates status if changed

Extension Hooks

Override these methods in your custom template to add behavior:

  • addUpdatePermission(event) - Additional permission logic
  • addLockEditing(event) - Additional locking logic
  • reportIDprefix() - Custom report ID prefix
Details