Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 

51 rinda
1.9 KiB

  1. import './tile-grid.scss';
  2. import {createElement, createImage} from "../../_global/scripts/helpers";
  3. import {TileGridData} from "./TileGridData";
  4. import IHKTileGrid from "./tile-grid";
  5. import IHKEventOverviewTiles from "../eventoverview-stage/eventoverview";
  6. export const createTileGrid = ({
  7. headline = 'Daten und Fakten auf einen Blick',
  8. tiles = TileGridData,
  9. }) => {
  10. const section = createElement('section', ['tile-grid']);
  11. const container = createElement('div', ['container'], null, section);
  12. createElement('h2', [], headline, container);
  13. const row = createElement('div', ['row'], null, container);
  14. tiles.map((group) => {
  15. const col = createElement('div', ['col'], null, row);
  16. const head = createElement('div', ['tile-head'], null, col);
  17. const tileLink = createElement('a', ['tile-head-outer'], null, head);
  18. tileLink.href = group.titleUrl;
  19. createElement('h3', ['like-h4'], group.title, tileLink);
  20. group.tiles.map((item) => {
  21. const tile = createElement('div', ['tile'], null, col);
  22. let tileLink;
  23. if (item.url) {
  24. tileLink = createElement('a', ['tile-outer'], null, tile);
  25. tileLink.href = item.url;
  26. } else {
  27. tileLink = createElement('span', ['tile-outer'], null, tile);
  28. }
  29. if (item.icon) {
  30. const iconBox = createElement('div', ['icon'], null, tileLink);
  31. createImage(item.icon, 220, 220, ['icon'], [], iconBox);
  32. }
  33. if (item.dynamicIcon) {
  34. const iconBox = createElement('div', ['icon','dynamic-icon'], null, tileLink);
  35. iconBox.classList.add(item.dynamicIcon);
  36. }
  37. const p = createElement('p', [], null, tileLink);
  38. const num = createElement('span', ['number'], item.number, p);
  39. if (item.unit) {
  40. createElement('small', [], item.unit, num);
  41. }
  42. createElement('span', ['label'], item.label, p);
  43. })
  44. new IHKTileGrid($(section));
  45. })
  46. return section;
  47. }