AdminLTE wrapped with Meteor.
Add the package to your project:
meteor add xerdi:admin-lte
Also add the following NPM dependencies to the project:
meteor npm install --save \
admin-lte@^3.2.0 \
@fortawesome/fontawesome-free@^5.15.4 \
tempusdominus-core@^5.19.3 \
bootstrap@^4.6.2
In order for webfonts of Font Awesome to work we'll need it to be accessible from /webfonts
.
This can be done by setting a postinstall
script in your package.json
.
In this case the example shows a Bash example:
{
"name": "mypackage",
...
"scripts": {
"postinstall": "./postinstall.sh"
},
...
}
#!/bin/bash
if [ ! -d public/webfonts ]; then
echo "Linking fontawesome webfonts"
ln -rs node_modules/@fortawesome/fontawesome-free/webfonts public/webfonts
fi
This way after a meteor npm install
the webfonts will be available at /webfonts/...
.
Don't forget to give the script execution rights.
The package provides all components as templates. Example of a full dashboard:
Example of a login page:
At this time there are only structure templates available.
They use Template.contentBlock
for separating the view from data.
There's just one template for the 'login-page' component, namely wall
and accepts a card as inner content.
The adminLte
template, however, has the following extra templates for inner usage:
preloader
Takes a booleanready
whether to slide up the preloader or not.header
Only takes menu items in the content block.sidear
Takes a template namedbrand
and optionally ausername
,userAvatar
anduserLink
for theuserPanel
.brand
Takes apreTitle
,title
andimage
.menuGroup
Takestitle
,icon
andopen
, and uses content block for inner items.menuItem
Takestitle
, 'icon' andlink
.user-menu
Takesname
,avatar
andopen
, and uses content block for inner items.user-panel
Takesname
,avatar
andlink
, and is only used insidebar
itself.
content
Takes aname
andgroupName
for the content header.footer
Takes any HTML in the content block.
The package contains helpers for managing theme preferences.
To actually change a preference the Theme
is used, which is a ReactiveDict
.
Example:
import {Theme} from 'meteor/xerdi:admin-lte';
Meteor.startup(function () {
// The Theme object is constructed in another startup script
Theme.set('dark-mode', true);
});
The preferences have a default value specified in ThemeDefaults
.
Those defaults can be overridden. Example:
import {ThemeDefaults} from 'meteor/xerdi:admin-lte';
ThemeDefaults['dark-mode'] = false;
Preference | Default value |
---|---|
dark-mode |
true |
sidebar-mini |
true |
layout-fixed |
false |
layout-navbar-fixed |
false |
layout-footer-fixed |
false |
sidebar-collapse |
true |
layout-boxed |
false |
layout-top-nav |
false |
accent |
accent-primary |
navbar-dark-mode |
true |
navbar-dark-skin |
none |
navbar-light-skin |
none |
sidebar-dark-mode |
true |
sidebar-dark-skin |
sidebar-dark-primary |
sidebar-light-skin |
sidebar-light-primary |
sidebar-color |
none |