Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 

68 řádky
2.8 KiB

  1. import './slider.scss';
  2. import {createElement, createImage} from "../../_global/scripts/helpers";
  3. import $ from 'jquery';
  4. import {createButton} from "../../atoms/button/ButtonComponent";
  5. import IHKSlider from "./slider";
  6. import {sliderData} from "./SliderData";
  7. export const createSlider =
  8. ({
  9. slides = sliderData,
  10. }) => {
  11. const section = createElement('section', ['rotation'], null);
  12. const container = createElement('div', ['container'], null, section);
  13. const sliderComponent = createElement('div', ['slider'], null, container);
  14. slides.map((slideData, index) => {
  15. const slide = createElement('div', ['slide'], null, sliderComponent);
  16. const outer = createElement('outer', ['outer'], null, slide);
  17. const contextBoxContent = slideData.context ? slideData.context : '';
  18. const contextBoxContentImg = slideData.contextImg ? slideData.contextImg : '';
  19. if (slideData.imageSrc && slideData.imageSrc.length > 0) {
  20. const imageBox = createElement('div', ['image-box'], null, outer);
  21. createImage(slideData.imageSrc, 900, 600, 'Slide ' + index, [], imageBox);
  22. if (contextBoxContentImg) {
  23. const contentBoxImg = createElement('div', ['context-box', 'context-box--image'], null, imageBox);
  24. createImage(contextBoxContentImg, 200, 50, '', [], contentBoxImg);
  25. } else if (contextBoxContent) {
  26. createElement('div', ['context-box'], contextBoxContent, imageBox);
  27. }
  28. }
  29. const textBox = createElement('div', ['text-box'], null, outer);
  30. if (slideData.kicker && slideData.kicker.length > 0) {
  31. createElement('span', ['kicker'], slideData.kicker, textBox);
  32. }
  33. if (slideData.headline && slideData.headline.length > 0) {
  34. createElement('h3', ['like-h2'], slideData.headline, textBox);
  35. }
  36. if (slideData.kicker && slideData.kicker.length > 0) {
  37. createElement('p', [], slideData.copy, textBox);
  38. }
  39. if (slideData.cta && slideData.link) {
  40. const buttonP = createElement('p', [], '', textBox);
  41. const btn = createButton({
  42. color: 'white', icon: 'pfeil-simple-rechts', iconPosition: 'icon-right', label: slideData.cta
  43. });
  44. buttonP.appendChild(btn);
  45. }
  46. if (!slideData.imageSrc || slideData.imageSrc.length <= 0) {
  47. if (contextBoxContent) {
  48. textBox.classList.add('context');
  49. if (contextBoxContentImg) {
  50. const contentBox = createElement('div', ['context-box', 'context-box--image'], null, textBox);
  51. createImage(contextBoxContentImg, 200, 50, '', [], contentBox);
  52. } else if (contextBoxContent) {
  53. createElement('div', ['context-box'], contextBoxContent, textBox);
  54. }
  55. }
  56. }
  57. })
  58. new IHKSlider($(sliderComponent));
  59. return section;
  60. }