Metronic exclusive components are written in Javascript without any jQuery dependency in order to make it easier to integrate with SPA frameworks such as Angular, React and Vue. However the Metronic HTML version stil uses jQuery as majority popular jQuery plugins are still on demand. During the build process the Javascript code from the source folder is minified and moved to the assets folder.
Components
The components folder in
src/js/componentscontains Metronic exclusive components written in Javascript without any jQuery dependency. All components can be used by Angular, React and Vue versions.
Layout
The layout folder in
src/js/layout/contains Javascript files that handle the Layout partials(Aside, Header, Footer, Subheader, etc).
Compilation
Metronic compiles layout, components(including the Bootstrap & custom components) Javascript code into the main bundle:
dist/assets/js/scripts.bundle.js.
The custom Javascript code is compiled separately into CSS folder:
dist/assets/js/custom
All 3rd-party plugins Javascript code are bundled into the plugins Javascript bundle file and globally included in all pages.
dist/assets/plugins/global/plugins.bundle.js`.
Components Dynamic Initialization
All In-house and 3rd-party components defined in
src/js/components/folder need to be initializated when the HTML elements are dynamically populated in DOM via AJAX:
The Layout partials(e.g: Aside, Search, Toolbar, etc) need to be initializated(if defined) when the layout is populated dynamically in DOM via AJAX. Look for available layout classes in
src/js/layout/folder.