An alternative admin panel frontend for extensions.
Things this extension provides:
composer.json
parameters:extra.flamarkt-backoffice.settingsInBackoffice
: whether to redirect admin to backoffice for settingsextra.flamarkt-backoffice.showInBackoffice
: whether to show extension in the extension list of backofficeextra.flamarkt-backoffice.hideFromAdmin
: whether to hide extension from admin list of extensions
- Global
backoffice
gate to configure base access to the backoffice. - Patch for flarum/framework#2876 (now fixed).
- Verbatim relationships.
common/utils/KeyboardNavigatable
: same as Flarum but exported.common/states/AbstractListState
: an alternative to Flarum's PaginatedListState.common/pages/AbstractShowPage
: a re-usable page component with pre-build logic for loading single modelscommon/components/AbstractRelationshipSelect
: re-usable select input.common/components/AbstractSortDropdown
: re-usable component to create sort dropdowns.common/components/ActiveLinkButton
: alternative to Flarum'sLinkButton
with ability to configure which routes will make the buttonactive
state.common/components/Sortable
: a Mithril implementation of a re-orderable list.common/components/SortableHandle
: to be used withSortable
.common/components/UserRelationshipSelect
: implementation ofAbstractRelationshipSelect
for user model.backoffice/app
: the app object reference forbackoffice
frontend.backoffice/states/UserListState
backoffice/resolvers/ExtensionPageResolver
: same as Flarum but exported.backoffice/pages/DashboardPage
backoffice/pages/UserIndexPage
backoffice/pages/UserShowPage
backoffice/components/AbstractList
: re-usable component for index pages in backoffice.backoffice/components/BackofficeNav
: same usage as Flarum'sAdminNav
.backoffice/components/HeaderPrimary
: same usage as Flarum'sHeaderPrimary
.backoffice/components/HeaderSecondary
: same usage as Flarum'sHeaderSecondary
.backoffice/components/PermanentDeleteButton
: re-usable button with built-in API request.backoffice/components/SoftDeleteButton
: re-usable delete/restore button with built-in API request.backoffice/components/SubmitButton
: re-usable button with built-in translations.backoffice/components/UserList
: implementation ofAbstractList
forUserIndexPage
.backoffice/components/UserSortDropdown
: implementation ofAbstractSortDropdown
for user model.- Optional migrations through
when
callback in migration definition.
To compile the new frontend and import the classes, you'll need to update your webpack.config.js
.
See other Flamarkt extensions for an example.
Note: because exports use the package name followed by the frontend name, backoffice
is repeated in some exports, for example: import 'flamarkt/backoffice/backoffice/app';
.
This package is implemented as an extension because it's the most reliable way to make sure all the logic runs only once and before any of the extensions that will use it.
More documentation will be published once out of beta.