Skip to main content
Default Gray Amethyst

Include

<mo-include> | MOInclude
Since 1.0 stable

Includes give you the power to embed external HTML files into the page.

Included files are asynchronously requested using window.fetch(). Requests are cached, so the same file can be included multiple times, but only one request will be made.

The included content will be inserted into the <mo-include> element’s default slot so it can be easily accessed and styled through the light DOM.

<mo-include src="https://shoelace.style/assets/examples/include.html"></mo-include>
import { MOInclude } from '@metsooutotec/modes-web-components/dist/react';

const App = () => <MOInclude src="https://shoelace.style/assets/examples/include.html" />;

Examples

Listening for events

When an include file loads successfully, the mo-load event will be emitted. You can listen for this event to add custom loading logic to your includes.

If the request fails, the mo-error event will be emitted. In this case, event.detail.status will contain the resulting HTTP status code of the request, e.g. 404 (not found).

<mo-include src="https://shoelace.style/assets/examples/include.html"></mo-include>

<script>
  const include = document.querySelector('mo-include');

  include.addEventListener('mo-load', () => {
    console.log('Success');
  });

  include.addEventListener('mo-error', event => {
    console.log('Error', event.detail.status);
  });
</script>

Importing

If you’re using the autoloader or the traditional loader, you can ignore this section. Otherwise, feel free to use any of the following snippets to cherry pick this component.

Bundler React Script

To import this component using a bundler:

import '@metsooutotec/modes-web-components/dist/components/include/include.js';

To import this component as a React component:

import MOInclude from '@metsooutotec/modes-web-components/dist/react/include/';

To import this component using a script tag:

<script type="module" src="https://modes-web.metso.com/dist/components/cdn/components/include/include.js"></script>

Properties

Name Description Reflects Type Default
src The location of the HTML file to include. WARNING: Be sure you trust the content you are including as it will be executed as code and can result in XSS attacks. string -
mode The fetch mode to use. 'cors' | 'no-cors' | 'same-origin' 'cors'
allowScripts
allow-scripts
Allows included scripts to be executed. You must ensure the content you’re including is trusted, otherwise this option can lead to XSS vulnerabilities in your app! boolean false
updateComplete A read-only promise that resolves when the component has finished updating.

Learn more about attributes and properties.

Events

Name React Event Description Event Detail
mo-load onMoLoad Emitted when the included file is loaded. -
mo-error onMoError Emitted when the included file fails to load due to an error. { status: number }

Learn more about events.