Apps the user has enabled, in their configured Sequence order
Every system app the user is authorized for, joined with their per-user config
Apps not yet enabled, alphabetical
Collapse state for the Available-apps panel (mobile accordion)
Emitted when the user cancels (or saves with nothing to save)
Source index of the in-flight drag within ActiveApps
Item currently being dragged for reorder, null when idle
Index the drag is currently hovering (drop indicator position)
User-facing load/save failure message; empty when healthy
True while the initial configuration load is in flight
True while the batch save is in flight (disables the footer buttons)
If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.
Emitted once after a successful batch save
Collapse state for the Selected-apps panel (mobile accordion)
True while a touch drag is in progress
Source index of the in-flight touch drag (-1 when idle)
Row index the touch drag would drop at
StaticɵdirStaticɵfacReturns either the default Metadata provider or the one specified in the Provider property, if it was specified
Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified
Returns either the default RunReport provider or the one specified in the Provider property, if it was specified
Returns either the default RunView provider or the one specified in the Provider property, if it was specified
Adds an app to the user's active list
Cancel button — host decides what dismissal means
Checks if there are any unsaved changes
Moves an app down in the order. Positional — see MoveUp for why.
Moves an app up in the order. Positional (splice + renumber), NOT a sequence-value swap: rows can carry duplicate Sequence values (issue #3027 — e.g. a re-enabled app kept a stale value), and swapping two equal values is a silent no-op. Reordering by position then renumbering 0..n-1 always works and heals duplicates as a side effect.
A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.
Clear all drag state (fires on drop or drag cancel)
Track the row index the drag is hovering (drop indicator)
Allow dropping while a row drag passes over the list
Begin an HTML5 drag of an active-app row
Reorder ActiveApps to the hovered position and renumber sequences
Commit the touch reorder (if moved) and reset touch-drag state
Follow the finger: translate the row, track drop target, auto-scroll near edges
Begin a touch drag of a mobile app row (long-press handle)
Removes an app from the user's active list
Resets all changes and reloads the configuration
Saves the user's app configuration
Toggles an app between active and inactive
Chrome-free app-configuration content: select which applications appear in the app switcher and arrange their order. Owns all list/reorder/persistence logic (including its own Reset / Save / Cancel footer) but NO overlay — hosts embed it wherever it should live:
UserAppConfigComponentwraps it in the full-screen modal (Home dashboard)Loads on init (hosts create it fresh under an
@if), saves in a batch on the Save button, and signals the host viaSaved/Cancelled— the host decides what "done" means (close the dialog, swap the view back, etc.).