MishkaCmsBuilderWeb.SidebarMenu (Mishka CMS Builder v0.0.1-alpha.2)

Copy Markdown View Source

The visual editor's admin pages — a "sidebar:menus" plugin (MishkaCmsCore.Sidebar).

The editor is reached from a page, layout, component or error-page row, never from the nav, so both of its LiveViews are declared as pages (nav: false) rather than links. The canvas is a declaration of its own because it is a mount of its own: it answers inside an iframe, and an undeclared page is one MishkaCmsCore.Sidebar.PageGuard refuses.

Both open to any name that opens an editor — the page, layout, component and error-page areas and admin:dashboard:code — and the editor then asks for the type it opens on. The names are read from MishkaCmsBuilder.Plugins.Settings.opens/0, the same ones that write the editor's own settings, so the two lists cannot drift. Neither page names an extension:: that would make the editor a switch each site can turn off, and it is not one.

The core names none of this, so a host without the editor has no builder pages at all.

Summary

Functions

Returns a specification to start this module under a supervisor.

Callback implementation for MishkaInstaller.Event.Hook.enable/0.

Callback implementation for MishkaInstaller.Event.Hook.get/0.

Optional. See MishkaInstaller.Event.Hook.health_check/0. Override to report health.

Every admin page the editor owns, each declared as a page and none as a link.

The permissions declared for one of the editor's pages. See MishkaCmsCore.Sidebar.permissions/2.

Callback implementation for MishkaInstaller.Event.Hook.register/0.

Callback implementation for MishkaInstaller.Event.Hook.restart/0.

Callback implementation for MishkaInstaller.Event.Hook.start/0.

Callback implementation for MishkaInstaller.Event.Hook.stop/0.

Types

error_return()

@type error_return() ::
  {:error, [%{action: atom(), field: atom(), message: String.t()}]}

okey_return()

@type okey_return() :: {:ok, struct() | map() | module() | [any()]}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

config()

@spec config() :: keyword()

config(key)

@spec config(atom()) :: any()

enable()

@spec enable() :: okey_return() | error_return()

Callback implementation for MishkaInstaller.Event.Hook.enable/0.

get()

@spec get() :: keyword()

Callback implementation for MishkaInstaller.Event.Hook.get/0.

health_check()

@spec health_check() :: :ok | {:degraded, term()} | {:error, term()}

Optional. See MishkaInstaller.Event.Hook.health_check/0. Override to report health.

items()

@spec items() :: [MishkaCmsCore.Sidebar.Item.t()]

Every admin page the editor owns, each declared as a page and none as a link.

on_dependency_error(error)

@spec on_dependency_error(term()) :: term()

Optional. See MishkaInstaller.Event.Hook.on_dependency_error/1. Override to react.

permissions(key)

The permissions declared for one of the editor's pages. See MishkaCmsCore.Sidebar.permissions/2.

register()

@spec register() :: okey_return() | error_return()

Callback implementation for MishkaInstaller.Event.Hook.register/0.

restart()

@spec restart() :: okey_return() | error_return()

Callback implementation for MishkaInstaller.Event.Hook.restart/0.

start()

@spec start() :: okey_return() | error_return()

Callback implementation for MishkaInstaller.Event.Hook.start/0.

start_link(args \\ [])

stop()

@spec stop() :: okey_return() | error_return()

Callback implementation for MishkaInstaller.Event.Hook.stop/0.

unregister()

@spec unregister() :: okey_return() | error_return()

Callback implementation for MishkaInstaller.Event.Hook.unregister/0.