0
0
mirror of https://github.com/wagtail/wagtail.git synced 2024-12-01 11:41:20 +01:00
wagtail/client/storybook/preview.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

48 lines
1.2 KiB
JavaScript
Raw Normal View History

2021-04-24 12:35:47 +02:00
import '../tests/stubs';
import '../../wagtail/admin/static_src/wagtailadmin/scss/core.scss';
import './preview.scss';
export const parameters = {
controls: {
hideNoControlsWarning: true,
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
};
const cachedIcons = sessionStorage.getItem('WAGTAIL_ICONS');
window.WAGTAIL_ICONS = cachedIcons ? JSON.parse(cachedIcons) : [];
/**
* Loads Wagtails icon sprite into the DOM, similarly to the admin.
*/
const loadIconSprite = () => {
const PATTERN_LIBRARY_SPRITE_URL = '/pattern-library/api/v1/sprite';
window
.fetch(PATTERN_LIBRARY_SPRITE_URL)
.then((res) => res.text())
.then((html) => {
const sprite = document.createElement('div');
sprite.innerHTML = html;
const symbols = Array.from(sprite.querySelectorAll('symbol'));
const icons = symbols.map((elt) => elt.id.replace('icon-', '')).sort();
window.WAGTAIL_ICONS = icons;
sessionStorage.setItem('WAGTAIL_ICONS', JSON.stringify(icons));
if (document.body) {
document.body.appendChild(sprite);
} else {
window.addEventListener('DOMContentLoaded', () => {
document.body.appendChild(sprite);
});
}
});
};
loadIconSprite();