### Flarum ExtensionPermissionGrid: Component Method Example Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionpermissiongrid This example illustrates using the `component` method provided by the ExtensionPermissionGrid class to render the component. It shows how to pass attributes as an object. ```JavaScript returnm('div', MyComponent.component({foo:'bar'}), m('p', 'Hello World!')); ``` -------------------------------- ### Flarum Forum Application and Routing Source: https://api.docs.flarum.org/js/main/classes/common_store Core application setup and routing configurations for the Flarum forum. ```JavaScript import app from "./forum/app"; import compat from "./forum/compat"; import ForumApplication from "./forum/ForumApplication"; import routes from "./forum/routes"; export { app, compat, ForumApplication, routes }; ``` -------------------------------- ### Flarum Component Initialization Source: https://api.docs.flarum.org/js/main/classes/forum_components_changeemailmodal Covers the initialization process for Flarum components, including constructor and attribute setup. ```javascript constructor alertAttrs $ ``` -------------------------------- ### Flarum Forum Application and Routing Source: https://api.docs.flarum.org/js/main/types/admin_components_adminpage Core application setup and routing configurations for the Flarum forum. ```JavaScript import app from "./forum/app"; import compat from "./forum/compat"; import ForumApplication from "./forum/ForumApplication"; import routes from "./forum/routes"; export { app, compat, ForumApplication, routes }; ``` -------------------------------- ### Flarum Forum Application and Routing Source: https://api.docs.flarum.org/js/main/modules/admin_components_adminpage Core application setup and routing configurations for the Flarum forum. ```JavaScript import app from "./forum/app"; import compat from "./forum/compat"; import ForumApplication from "./forum/ForumApplication"; import routes from "./forum/routes"; export { app, compat, ForumApplication, routes }; ``` -------------------------------- ### Flarum Forum Application and Routing Source: https://api.docs.flarum.org/js/main/classes/common_models_accesstoken Core application setup and routing configurations for the Flarum forum. ```JavaScript import app from "./forum/app"; import compat from "./forum/compat"; import ForumApplication from "./forum/ForumApplication"; import routes from "./forum/routes"; export { app, compat, ForumApplication, routes }; ``` -------------------------------- ### React Component Example Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionpage A simple React functional component example that renders a paragraph element. ```jsx () => { return

Mycoolcomponent

; } ``` -------------------------------- ### AdminApplication Methods Source: https://api.docs.flarum.org/js/main/classes/admin_adminapplication Lists the methods available in the AdminApplication class, including booting extensions, loading data, mounting the application, handling requests, and updating titles. ```TypeScript boot() // Boots the application. ``` ```TypeScript bootExtensions() // Boots the application's extensions. ``` ```TypeScript getRequiredPermissions(): Promise // Retrieves the required permissions for the admin application. ``` ```TypeScript load(payload: any): void // Loads data into the application. ``` ```TypeScript mount(): void // Mounts the admin application to the DOM. ``` ```TypeScript preloadedApiDocument(): any // Returns the preloaded API document. ``` ```TypeScript request(options: any): Promise // Makes a request to the API. ``` ```TypeScript requestErrorCatch(error: any): void // Handles errors during API requests. ``` ```TypeScript requestErrorDefaultHandler(error: any): void // Default handler for API request errors. ``` ```TypeScript requestWasCrossOrigin(): boolean // Checks if the last request was cross-origin. ``` ```TypeScript screen(key: string, component: any): void // Sets the current screen of the application. ``` ```TypeScript setTitle(title: string): void // Sets the title of the application. ``` ```TypeScript setTitleCount(count: number): void // Sets a count associated with the application's title. ``` ```TypeScript transformRequestOptions(options: any): any // Transforms request options before making a request. ``` ```TypeScript updateTitle(title: string): void // Updates the application's title. ``` -------------------------------- ### Flarum Forum Application Setup Source: https://api.docs.flarum.org/js/main/classes/common_models_user Represents the main application instance for the Flarum forum. It likely holds the core state, components, and services for the forum. ```JavaScript import ForumApplication from "./forum/ForumApplication"; import app from "./forum/app"; ``` -------------------------------- ### Flarum Admin Components - Specific Examples Source: https://api.docs.flarum.org/js/main/classes/forum_components_loginmodal Specific examples of admin components, including modals for editing settings and managing extensions. ```javascript admin/components/SettingsModal admin/components/EditGroupModal admin/components/ReadmeModal ``` -------------------------------- ### Flarum Common Models - Specific Examples Source: https://api.docs.flarum.org/js/main/classes/common_models_user Specific model examples within Flarum's common modules, such as Discussion and Post. ```JavaScript // common/models/Discussion // common/models/Post ``` -------------------------------- ### ForumApplication Methods Source: https://api.docs.flarum.org/js/main/classes/forum_forumapplication Lists the methods available in the ForumApplication class, such as authenticationComplete, boot, bootExtensions, load, mount, preloadedApiDocument, request, requestErrorCatch, requestErrorDefaultHandler, requestWasCrossOrigin, screen, setTitle, setTitleCount, transformRequestOptions, and updateTitle. ```TypeScript authenticationComplete() boot() bootExtensions() load() mount() preloadedApiDocument() request(options?: RequestOptions) requestErrorCatch(response: Response) requestErrorDefaultHandler(response: Response) requestWasCrossOrigin(request: Request) screen() setTitle(title: string) setTitleCount(title: string, count: number) transformRequestOptions(options: RequestOptions): RequestOptions updateTitle(title: string) ``` -------------------------------- ### Flarum Forum Application Core Source: https://api.docs.flarum.org/js/main/classes/forum_components_notificationgrid This section details the core components and entry points for the Flarum forum application's JavaScript. It includes the main `ForumApplication` class, the global `app` instance, compatibility layers (`compat`), and routing configurations. These are essential for initializing and running the Flarum frontend. ```JavaScript import app from "./app"; import ForumApplication from "./ForumApplication"; import "./compat"; import routes from "./routes"; ``` -------------------------------- ### Flarum Common Helpers - Specific Examples Source: https://api.docs.flarum.org/js/main/classes/common_models_user Examples of common helper functions in Flarum, including avatar generation and time formatting. ```JavaScript // common/helpers/avatar // common/helpers/fullTime ``` -------------------------------- ### Boot Application - JavaScript Source: https://api.docs.flarum.org/js/main/classes/common_application Initializes the Flarum application. This method is essential for starting the application's core functionalities and is defined within the framework's common JavaScript. ```JavaScript boot(): void ``` -------------------------------- ### Flarum Common Components - Specific Examples Source: https://api.docs.flarum.org/js/main/classes/common_models_user Illustrative examples of specific common components within Flarum, such as Alert, Button, and Modal. ```JavaScript // common/components/Alert // common/components/Button // common/components/Modal ``` -------------------------------- ### Flarum Admin Components - Specific Examples Source: https://api.docs.flarum.org/js/main/interfaces/common_components_dropdown Provides specific examples of admin components, including modals for editing settings and managing extensions. ```javascript admin/components/CreateUserModal admin/components/EditCustomCssModal admin/components/EditCustomFooterModal admin/components/EditCustomHeaderModal admin/components/EditGroupModal admin/components/ReadmeModal admin/components/SettingsModal ``` -------------------------------- ### Initialize Flarum AccessTokensList Component with component method Source: https://api.docs.flarum.org/js/main/classes/forum_components_accesstokenslist This example demonstrates initializing the AccessTokensList component using the `component` method provided by the base class. It passes attributes to `MyComponent` and includes a 'p' tag with 'Hello World!' content. This method offers an alternative to JSX for component instantiation. ```JavaScript returnm('div', MyComponent.component({foo:'bar'), m('p', 'Hello World!')); ``` -------------------------------- ### Flarum Modal: Get Title Source: https://api.docs.flarum.org/js/main/classes/common_components_modal Retrieves the title of the modal dialog. This method is used to set or get the modal's header text. ```TypeScript title(): Children * Defined in framework/core/js/src/common/components/Modal.tsx:179 ``` -------------------------------- ### Flarum Common Components - Specific Examples Source: https://api.docs.flarum.org/js/main/interfaces/admin_components_sessiondropdown This snippet provides specific examples of common components within Flarum, such as SessionDropdown and its attributes, and various UI elements like Alerts and Buttons. ```javascript common/components/Alert common/components/AlertManager common/components/Badge common/components/Button common/components/Checkbox common/components/ColorPreviewInput common/components/ConfirmDocumentUnload common/components/Dropdown common/components/EditUserModal common/components/FieldSet common/components/GroupBadge common/components/LabelValue common/components/Link common/components/LinkButton common/components/LoadingIndicator common/components/Modal common/components/ModalManager common/components/Navigation common/components/Page common/components/Placeholder common/components/RequestErrorModal common/components/Select common/components/SelectDropdown common/components/Separator common/components/SplitDropdown common/components/Switch common/components/TextEditor common/components/TextEditorButton common/components/Tooltip common/components/SessionDropdown common/components/SessionDropdown common/components/ISessionDropdownAttrs ``` -------------------------------- ### Flarum SignUpModal: Get Class Name Source: https://api.docs.flarum.org/js/main/classes/forum_components_signupmodal Gets the CSS class name to be applied to the modal. This method overrides the one from the base Modal class. ```TypeScript className(): string * Get the class name to apply to the modal. #### Returns string Overrides Modal.className * Defined in framework/core/js/src/forum/components/SignUpModal.tsx:48 ``` -------------------------------- ### Flarum Boot Extensions Source: https://api.docs.flarum.org/js/main/classes/forum_forumapplication Boots the extensions for the Flarum application. It takes an object containing extension configurations, including extenders. ```JavaScript bootExtensions(extensions): void ``` -------------------------------- ### Flarum Fragment: Example Usage of render Source: https://api.docs.flarum.org/js/main/classes/common_fragment This example demonstrates how to create a new Fragment instance and render its virtual DOM into the document's body using m.render. ```JavaScript const fragment = new MyFragment(); m.render(document.body, fragment.render()); ``` -------------------------------- ### Flarum User Page Methods Source: https://api.docs.flarum.org/js/main/classes/forum_components_usersecuritypage Details methods related to the Flarum UserPage component. This includes the protected 'show' method for initializing a user and loading their activity feed, and the 'view' method which serves as the base template. The 'terminateAllOtherSessions' method is also included for managing user sessions. ```TypeScript show(user: User): void ``` ```TypeScript terminateAllOtherSessions(): undefined | Promise ``` ```TypeScript view(): Element ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/variables/forum References the core application instances and compatibility layers for admin, common, and forum modules. ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/app common/compat forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Flarum React Component Example Source: https://api.docs.flarum.org/js/main/classes/admin_components_mailpage A simple React functional component example that renders a paragraph element. This is often used within Flarum's JavaScript components. ```jsx () => { return

Mycoolcomponent

; } ``` -------------------------------- ### Define Setting Component Structure (JavaScript) Source: https://api.docs.flarum.org/js/main/classes/admin_components_basicspage This example demonstrates the structure for defining a setting component in JavaScript, including properties like setting key, label, type, options, and default value. ```javascript { * setting: 'acme.select', * label: app.translator.trans('acme.admin.setting_label'), * type: 'select', * options: { * 'option1': 'Option 1 label', * 'option2': 'Option 2 label', * }, * default: 'option1', * } ``` -------------------------------- ### Flarum ExtensionPermissionGrid: JSX Example Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionpermissiongrid This example demonstrates how to render the ExtensionPermissionGrid component using JSX syntax within a Flarum application. It shows how to pass attributes and nest child elements. ```JavaScript returnm('div',

HelloWorld

); ``` -------------------------------- ### Flarum Forum Application Source: https://api.docs.flarum.org/js/main/classes/forum_components_welcomehero Represents the main Flarum application instance, providing access to core functionalities, routing, and state management for the forum. ```JavaScript import Application from '@flarum/core/js/Application'; const app = new Application({ // ... application configuration ... }); export default app; ``` -------------------------------- ### LogInModal className() - Get modal CSS class name Source: https://api.docs.flarum.org/js/main/classes/forum_components_loginmodal Gets the CSS class name to be applied to the modal. This method overrides the base Modal's className method and is defined in LogInModal.tsx. ```JavaScript className(): string * Defined in framework/core/js/src/forum/components/LogInModal.tsx:42 ``` -------------------------------- ### Flarum Composer Component - Initialization and State Management Source: https://api.docs.flarum.org/js/main/classes/forum_components_composer This snippet covers the core functionality of the Flarum Composer component, including its initialization, state management, and basic UI manipulation methods. It details how to manage the composer's visibility, focus, and size, along with its interaction with the backdrop element. ```JavaScript constructor() $backdrop: undefined | JQuery active: undefined | boolean attrs: ComponentAttrs element: Element handle: any handlers: undefined | {} prevPosition: any state: undefined | ComposerState $(selector?: string): JQuery animateHeightChange(): Promise, any, any> animatePositionChange(): void changeHeight(height: number): void configHandle(vnode: any): void controlItems(): ItemList defaultHeight(): number focus(): void "Private" hide(): void hideBackdrop(): void initializeHeight(): void minimize(): void onbeforeremove(): void onbeforeupdate(): void oncreate(): void oninit(): void onmousemove(): void onmouseup(): void onremove(): void onupdate(): void show(): void showBackdrop(): void updateBodyPadding(): void updateHeight(): void view(): JSX.Element ``` -------------------------------- ### Get and Set Title Count - JavaScript Source: https://api.docs.flarum.org/js/main/classes/common_application Manages the display of a count within the page's title. This property is private and can be both read to get the current count and written to set a new count. ```JavaScript get titleCount(): number set titleCount(val): void ``` -------------------------------- ### Flarum Welcome Hero Component Source: https://api.docs.flarum.org/js/main/interfaces/forum_components_newaccesstokenmodal Documentation for the WelcomeHero component, likely displayed on the landing page or upon new user registration. ```JavaScript forum/components/WelcomeHero ``` -------------------------------- ### Flarum StatusWidget: JSX Example Source: https://api.docs.flarum.org/js/main/classes/admin_components_statuswidget This example demonstrates how to use the StatusWidget component with JSX syntax, nesting a 'p' tag with 'HelloWorld' text within the custom component. It utilizes the 'returnm' function for rendering. ```JavaScript returnm('div',

HelloWorld

); ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/interfaces/forum_components_post References the core application instances and compatibility layers for admin, common, and forum modules in Flarum. ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Flarum StatusWidget: Hyperscript Example Source: https://api.docs.flarum.org/js/main/classes/admin_components_statuswidget This example shows how to instantiate the StatusWidget component using hyperscript syntax, passing attributes and a child 'p' tag with 'Hello World!' text. It also uses the 'returnm' function for rendering. ```JavaScript returnm('div', MyComponent.component({foo:'bar'}), m('p', 'Hello World!')); ``` -------------------------------- ### Flarum Application Initialization Source: https://api.docs.flarum.org/js/main/classes/common_application Demonstrates the basic structure and properties of the Flarum Application class, including its role as a container for application-wide data and utilities. It highlights key properties like session, routing, and UI state management. ```TypeScript class Application { // Properties for managing application state and utilities session: Session; routes: Record; cache: Record = {}; alerts: AlertManagerState; modal: ModalManagerState; drawer: Drawer; current: PageState; previous: PageState; // ... other properties and methods constructor() { // Initialization logic } // ... methods like boot, load, mount, etc. } ``` -------------------------------- ### Get Modal Fields Source: https://api.docs.flarum.org/js/main/classes/admin_components_createusermodal Retrieves the list of fields associated with the modal. ```JavaScript fields(): ItemList ``` -------------------------------- ### Boot Extensions - JavaScript Source: https://api.docs.flarum.org/js/main/classes/common_application Loads and initializes extensions for the Flarum application. It accepts an object containing extension configurations, including extenders. ```JavaScript bootExtensions(extensions: Record[] }>): void ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/modules/forum This snippet includes core application and compatibility modules for Flarum, covering the main application instances and compatibility layers for different environments. ```JavaScript admin/compat admin/app common/Application common/app common/compat forum/app forum/compat forum/ForumApplication ``` -------------------------------- ### Get EditCustomCssModal Content Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomcssmodal Retrieves the content of the modal. This method is inherited from the SettingsModal. ```javascript content(): Element ``` -------------------------------- ### Flarum Forum Application Source: https://api.docs.flarum.org/js/main/modules/admin_resolvers_extensionpageresolver The main application class for the Flarum forum interface, responsible for its setup and operation. ```JavaScript import ForumApplication from '@forum/ForumApplication'; ``` -------------------------------- ### Flarum JS Component Lifecycle Methods Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionpermissiongrid Provides documentation for standard Mithril component lifecycle methods such as oninit, onremove, and onupdate. These methods are crucial for managing component initialization, cleanup, and updates within the Flarum framework. ```TypeScript oninit(vnode): void Inherited from PermissionGrid.oninit * Defined in framework/core/js/src/admin/components/ExtensionPermissionGrid.tsx:16 ``` ```TypeScript onremove(vnode): void Inherited from PermissionGrid.onremove * Defined in framework/core/js/src/common/Component.ts:97 ``` ```TypeScript onupdate(vnode): void Inherited from PermissionGrid.onupdate * Defined in framework/core/js/src/common/Component.ts:87 ``` -------------------------------- ### Flarum Common Utils Get Categorized Extensions Source: https://api.docs.flarum.org/js/main/interfaces/forum_components_sessiondropdown Utility function to retrieve Flarum extensions categorized by their type. ```javascript admin/utils/getCategorizedExtensions ``` -------------------------------- ### Flarum Constructor and Initialization Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionlinkbutton Covers the constructor and initialization methods for components and classes within Flarum. ```JavaScript constructor component initAttrs ``` -------------------------------- ### Get User Username Source: https://api.docs.flarum.org/js/main/classes/common_models_user Retrieves the username of the user. This method returns a string. ```TypeScript username(): string ``` -------------------------------- ### Build Select Setting Component Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionpage Example of building a select (dropdown) setting component for the Flarum admin page. It includes options and a default value. ```javascript { setting: 'acme.select', label: app.translator.trans('acme.admin.setting_label'), type: 'select', options: { 'option1': 'Option 1 label', 'option2': 'Option 2 label', }, default: 'option1', } ``` -------------------------------- ### Flarum Theme Attributes and Lifecycle Source: https://api.docs.flarum.org/js/main/classes/forum_components_postpreview Details attributes and lifecycle methods for Flarum components, covering initialization -------------------------------- ### Get Modal Body Element Source: https://api.docs.flarum.org/js/main/classes/admin_components_createusermodal Retrieves the DOM Element representing the body of the modal. ```JavaScript body(): Element ``` -------------------------------- ### WelcomeHero Constructor (TypeScript) Source: https://api.docs.flarum.org/js/main/classes/forum_components_welcomehero Demonstrates the constructor for the WelcomeHero component. It inherits from the base Component constructor. ```TypeScript new WelcomeHero(): WelcomeHero; ``` -------------------------------- ### Get Changed State Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomcssmodal Returns the changed state of the modal. This method is inherited from the SettingsModal. ```javascript changed(): number ``` -------------------------------- ### Static Component Methods Source: https://api.docs.flarum.org/js/main/classes/forum_components_replyplaceholder Explains the static methods available on the ReplyPlaceholder class, such as 'component' for creating instances and 'initAttrs' for initializing attributes. ```javascript // component(attrs?, children?): Vnode<{}, {}> - Convenience method to attach a component without JSX. // Has the same effect as calling `m(THIS_CLASS, attrs, children)`. // See: https://mithril.js.org/hyperscript.html#mselector,-attributes,-children // initAttrs(attrs): void - Initialize the component's attrs. This can be used to assign default values for missing, optional attrs. ``` -------------------------------- ### Flarum Admin Components - Extensions Source: https://api.docs.flarum.org/js/main/functions/common_utils_focustrap Components for managing and displaying information about installed extensions. ```JavaScript admin/components/ExtensionLinkButton admin/components/ExtensionPage admin/components/ExtensionPermissionGrid admin/components/ExtensionsWidget admin/models/ExtensionReadme ``` -------------------------------- ### Get Modal Content Source: https://api.docs.flarum.org/js/main/classes/forum_components_forgotpasswordmodal Retrieves the content of the modal. This method overrides the base Modal.content. ```TypeScript /* Defined in framework/core/js/src/forum/components/ForgotPasswordModal.tsx:40 */ content(): Element; // Get the content of the modal. ``` -------------------------------- ### Flarum Forum Application Structure Source: https://api.docs.flarum.org/js/main/classes/forum_components_userpage This snippet details the core application structure for the Flarum forum, including the main application class, compatibility layer, and the global application instance. It's essential for understanding how the forum is initialized and accessed. ```JavaScript import ForumApplication from "./ForumApplication"; import app from "./app"; import "./compat"; export { ForumApplication, app, }; ``` -------------------------------- ### Get User Slug Source: https://api.docs.flarum.org/js/main/classes/common_models_user Retrieves the URL-friendly slug for the user. This method returns a string. ```TypeScript slug(): string ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/modules/forum_compat References the core application instances and compatibility layers for admin, common, and forum modules. ```javascript admin/app admin/compat common/Application common/app common/compat forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get Resource URL Source: https://api.docs.flarum.org/js/main/classes/admin_components_uploadimagebutton Retrieves the resource URL. This method is defined in the UploadImageButton component. ```javascript resourceUrl(): string ``` -------------------------------- ### Flarum Core Application Initialization Source: https://api.docs.flarum.org/js/main/modules/common_utils_focustrap Entry points for initializing the Flarum application in different environments. ```JavaScript common/Application admin/AdminApplication admin/app common/app forum/ForumApplication forum/app ``` -------------------------------- ### Flarum Forum Application Core Source: https://api.docs.flarum.org/js/main/classes/admin_components_loadingmodal This section details the core components of the Flarum forum application, including the main application instance, compatibility layers, and essential app-level utilities. ```JavaScript import ForumApplication from "./ForumApplication"; import app from "./app"; import compat from "./compat"; ``` -------------------------------- ### Get Dirty State Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomcssmodal Returns a record of dirty fields in the modal. This method is inherited from the SettingsModal. ```javascript dirty(): Record ``` -------------------------------- ### Flarum Admin Components - Extensions Source: https://api.docs.flarum.org/js/main/modules/common_utils_focustrap Components for managing and displaying information about installed extensions. ```JavaScript admin/components/ExtensionLinkButton admin/components/ExtensionPage admin/components/ExtensionPermissionGrid admin/components/ExtensionsWidget admin/models/ExtensionReadme ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/classes/forum_forumapplication Details the core application structure and compatibility layers within Flarum's JavaScript API. This includes the main application instances and compatibility modules. ```javascript common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat admin/AdminApplication admin/app admin/compat ``` -------------------------------- ### Flarum Admin Utilities - Extension Categorization Source: https://api.docs.flarum.org/js/main/classes/forum_components_composer Utility function for categorizing installed extensions. ```JavaScript admin/utils/getCategorizedExtensions ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/functions/common_helpers_humantime Defines the core application structure and compatibility layers for Flarum. This includes the main application instances and compatibility modules for different environments. ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/app common/compat forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Build Boolean Setting Component Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionpage Example of building a boolean setting component for the Flarum admin page. It defines the setting key, label, type, and help text. ```javascript { setting: 'acme.checkbox', label: app.translator.trans('acme.admin.setting_label'), type: 'bool', help: app.translator.trans('acme.admin.setting_help'), className: 'Setting-item' } ``` -------------------------------- ### Get Modal Title Source: https://api.docs.flarum.org/js/main/classes/forum_components_forgotpasswordmodal Retrieves the title of the modal dialog. This method overrides the base Modal.title. ```TypeScript /* Defined in framework/core/js/src/forum/components/ForgotPasswordModal.tsx:36 */ title(): NestedStringArray; // Get the title of the modal dialog. ``` -------------------------------- ### Get User Email Source: https://api.docs.flarum.org/js/main/classes/common_models_user Retrieves the email address of the user. The email can be either a string or undefined. ```TypeScript email(): undefined | string ``` -------------------------------- ### Get Modal Fields Source: https://api.docs.flarum.org/js/main/classes/common_components_editusermodal Retrieves the list of fields for the modal. This method is defined in the EditUserModal component. ```JavaScript fields(): ItemList ``` -------------------------------- ### Flarum Application and Compat Source: https://api.docs.flarum.org/js/main/functions/forum_routes References core application classes and compatibility layers for different Flarum environments (admin, common, forum). ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat common/extend forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get Modal Data Source: https://api.docs.flarum.org/js/main/classes/common_components_editusermodal Retrieves the data associated with the modal. This method is defined in the EditUserModal component. ```JavaScript data(): SaveAttributes ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/modules/common_utils_isobject Core application classes and compatibility layers for Flarum. This includes the main application instances for admin and forum, as well as compatibility modules. ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get Total Page Count Source: https://api.docs.flarum.org/js/main/classes/admin_components_userlistpage Retrieves the total number of pages available for the user list. ```TypeScript getTotalPageCount(): number ``` -------------------------------- ### Flarum View and Component Methods Source: https://api.docs.flarum.org/js/main/classes/admin_components_extensionpermissiongrid Documents the `view` method for rendering component output and the static `component` and `initAttrs` methods for component instantiation and attribute initialization. These are fundamental for building and managing UI elements in Flarum. ```TypeScript view(vnode): Element; Inherited from PermissionGrid.view * Defined in framework/core/js/src/admin/components/PermissionGrid.tsx:36 ``` ```TypeScript viewItems(): ItemList; Overrides PermissionGrid.viewItems * Defined in framework/core/js/src/admin/components/ExtensionPermissionGrid.tsx:36 ``` ```TypeScript static component(attrs?, children?): Vnode<{}, {}>; Convenience method to attach a component without JSX. Has the same effect as calling `m(THIS_CLASS, attrs, children)`. #### Type Parameters * #### SAttrs extends ComponentAttrs = ComponentAttrs #### Parameters * ##### attrs: SAttrs = ... * ##### children: Children = null #### Returns Vnode<{}, {}> #### See https://mithril.js.org/hyperscript.html#mselector,-attributes,-children Inherited from PermissionGrid.component * Defined in framework/core/js/src/common/Component.ts:124 ``` ```TypeScript static initAttrs(attrs): void; Initialize the component's attrs. This can be used to assign default values for missing, optional attrs. #### Parameters * ##### attrs: unknown #### Returns void Inherited from PermissionGrid.initAttrs * Defined in framework/core/js/src/common/Component.ts:159 ``` -------------------------------- ### Get Modal View Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomcssmodal Renders the modal's view. This method is inherited from the base Modal component. ```javascript view(): Element ``` -------------------------------- ### Flarum Application and Compat Source: https://api.docs.flarum.org/js/main/modules/forum_components_indexpage References core application classes and compatibility layers for different Flarum environments (admin, common, forum). ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat common/extend forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get Modal Submit Button Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomcssmodal Retrieves the submit button component for the modal. This method is inherited from the SettingsModal. ```javascript submitButton(): Children ``` -------------------------------- ### Flarum Common Components - Loading and Placeholders Source: https://api.docs.flarum.org/js/main/modules/admin_components_createusermodal Details components for indicating loading states and providing placeholders in the Flarum UI. ```JavaScript common/components/LoadingIndicator common/components/Placeholder ``` -------------------------------- ### Flarum Application and Compat Source: https://api.docs.flarum.org/js/main/types/forum_components_signupmodal References core application classes and compatibility layers for different Flarum environments (admin, common, forum). ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat common/extend forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get EditCustomCssModal Title Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomcssmodal Retrieves the title of the modal dialog. This method overrides the default implementation from SettingsModal. ```javascript title(): NestedStringArray ``` -------------------------------- ### Flarum Application and Compat Source: https://api.docs.flarum.org/js/main/modules/forum_routes References core application classes and compatibility layers for different Flarum environments (admin, common, forum). ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat common/extend forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get Dirty Settings Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomheadermodal Returns a record of settings that have been modified. This method is inherited from the `SettingsModal` base class. ```TypeScript dirty(): Record ``` -------------------------------- ### Get Modal Content Source: https://api.docs.flarum.org/js/main/classes/admin_components_editcustomheadermodal Retrieves the content element of the modal. This method is inherited from the `SettingsModal` base class. ```TypeScript content(): Element ``` -------------------------------- ### Flarum Common Components - Indicators/Placeholders Source: https://api.docs.flarum.org/js/main/classes/forum_components_signupmodal Components for displaying loading indicators and placeholders for content that is not yet available. ```javascript import LoadingIndicator from '@common/components/LoadingIndicator'; import Placeholder from '@common/components/Placeholder'; ``` -------------------------------- ### Flarum Admin Components Source: https://api.docs.flarum.org/js/main/classes/forum_components_signupmodal Provides a comprehensive list of components available within the Flarum admin interface. These include UI elements for managing extensions, settings, users, and more. ```javascript import AdminHeader from '@admin/components/AdminHeader'; import AdminNav from '@admin/components/AdminNav'; import AdminPage from '@admin/components/AdminPage'; import AppearancePage from '@admin/components/AppearancePage'; import BasicsPage from '@admin/components/BasicsPage'; import CreateUserModal from '@admin/components/CreateUserModal'; import DashboardPage from '@admin/components/DashboardPage'; import DashboardWidget from '@admin/components/DashboardWidget'; import DebugWarningWidget from '@admin/components/DebugWarningWidget'; import EditCustomCssModal from '@admin/components/EditCustomCssModal'; import EditCustomFooterModal from '@admin/components/EditCustomFooterModal'; import EditCustomHeaderModal from '@admin/components/EditCustomHeaderModal'; import EditGroupModal from '@admin/components/EditGroupModal'; import ExtensionLinkButton from '@admin/components/ExtensionLinkButton'; import ExtensionPage from '@admin/components/ExtensionPage'; import ExtensionPermissionGrid from '@admin/components/ExtensionPermissionGrid'; import ExtensionsWidget from '@admin/components/ExtensionsWidget'; import HeaderPrimary from '@admin/components/HeaderPrimary'; import HeaderSecondary from '@admin/components/HeaderSecondary'; import LoadingModal from '@admin/components/LoadingModal'; import MailPage from '@admin/components/MailPage'; import PermissionDropdown from '@admin/components/PermissionDropdown'; import PermissionGrid from '@admin/components/PermissionGrid'; import PermissionsPage from '@admin/components/PermissionsPage'; import ReadmeModal from '@admin/components/ReadmeModal'; import SessionDropdown from '@admin/components/SessionDropdown'; import SettingDropdown from '@admin/components/SettingDropdown'; import SettingsModal from '@admin/components/SettingsModal'; import StatusWidget from '@admin/components/StatusWidget'; import UploadImageButton from '@admin/components/UploadImageButton'; import UserListPage from '@admin/components/UserListPage'; ``` -------------------------------- ### Flarum Admin Components - Settings Pages Source: https://api.docs.flarum.org/js/main/classes/forum_components_signupmodal Components for managing various settings pages, such as appearance, basics, and mail configuration. ```javascript import AppearancePage from '@admin/components/AppearancePage'; import BasicsPage from '@admin/components/BasicsPage'; import MailPage from '@admin/components/MailPage'; ``` -------------------------------- ### Flarum Application and Compat Source: https://api.docs.flarum.org/js/main/modules/forum_components_notificationgrid References core application classes and compatibility layers for different Flarum environments (admin, common, forum). ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat common/extend forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Flarum withAttr Utility Source: https://api.docs.flarum.org/js/main/classes/forum_states_composerstate A helper function to get or set attributes on DOM elements, commonly used in Mithril.js. ```JavaScript import { withAttr } from "./common/utils/withAttr"; // Example usage with Mithril.js: // m('input', { oninput: withAttr("value", v => console.log(v)) }) // Standalone example: const element = { getAttribute: key => element[key], setAttribute: (key, value) => element[key] = value }; const getValue = withAttr("value"); const setValue = withAttr("value", "initial"); console.log(getValue(element)); // undefined setValue(element); console.log(element.value); // "initial" ``` -------------------------------- ### Flarum Application and Compat Source: https://api.docs.flarum.org/js/main/modules/forum_components_postmeta References core application classes and compatibility layers for different Flarum environments (admin, common, forum). ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat common/extend forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### LogInModal loginParams() - Get login parameters Source: https://api.docs.flarum.org/js/main/classes/forum_components_loginmodal Retrieves the login parameters for the modal. This method is defined in LogInModal.tsx. ```JavaScript loginParams(): LoginParams * Defined in framework/core/js/src/forum/components/LogInModal.tsx:173 ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/classes/forum_components_postuser References core application objects and compatibility layers for both admin and common modules, providing access to global functionalities. ```JavaScript admin/compat admin/app common/Application common/app common/compat ``` -------------------------------- ### LogInModal fields() - Get modal fields Source: https://api.docs.flarum.org/js/main/classes/forum_components_loginmodal Retrieves the list of fields for the modal. This method is defined in LogInModal.tsx. ```JavaScript fields(): ItemList * Defined in framework/core/js/src/forum/components/LogInModal.tsx:58 ``` -------------------------------- ### Flarum Core Application and Compat Source: https://api.docs.flarum.org/js/main/classes/admin_components_settingdropdown Lists core application classes and compatibility modules for both admin and common Flarum functionalities. ```javascript admin/compat admin/adminApplication admin/app common/compat common/Application common/app ``` -------------------------------- ### Flarum Application and Compat Source: https://api.docs.flarum.org/js/main/modules/forum_components_postsuserpage References core application classes and compatibility layers for different Flarum environments (admin, common, forum). ```JavaScript admin/AdminApplication admin/app admin/compat common/Application common/Component common/Fragment common/IHistory common/Model common/Session common/Store common/Translator common/app common/compat common/extend forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get Request Parameters Source: https://api.docs.flarum.org/js/main/classes/forum_components_forgotpasswordmodal Returns a record of unknown key-value pairs, likely used for API requests. ```TypeScript /* Defined in framework/core/js/src/forum/components/ForgotPasswordModal.tsx:120 */ requestParams(): Record; // Returns Record ``` -------------------------------- ### Get Modal Fields Source: https://api.docs.flarum.org/js/main/classes/forum_components_forgotpasswordmodal Returns an ItemList of unknown type, likely representing the fields within the modal. ```TypeScript /* Defined in framework/core/js/src/forum/components/ForgotPasswordModal.tsx:66 */ fields(): ItemList; // Returns ItemList ``` -------------------------------- ### Flarum Forum Application Core Source: https://api.docs.flarum.org/js/main/interfaces/common_store Core components and application instances for the Flarum forum. This includes the main application object, compatibility layers, and essential components for rendering the forum interface. ```JavaScript import "./compat"; import app from "./app"; import ForumApplication from "./ForumApplication"; export { app, ForumApplication }; ``` -------------------------------- ### Flarum Core Application Structure Source: https://api.docs.flarum.org/js/main/modules/forum_app Outlines the core application structures for Flarum, including the main application instances for admin and forum, and compatibility layers. ```javascript admin/AdminApplication admin/app admin/compat common/Application common/app common/compat forum/ForumApplication forum/app forum/compat ``` -------------------------------- ### Get User Password Source: https://api.docs.flarum.org/js/main/classes/common_models_user Retrieves the user's password. This method returns either undefined or a string. ```TypeScript password(): undefined | string ``` -------------------------------- ### Get User Groups Source: https://api.docs.flarum.org/js/main/classes/common_models_user Retrieves the groups the user belongs to. This can be false or an array of undefined or Group objects. ```TypeScript groups(): false | (undefined | Group)[] ```