MCPcopy Create free account
hub / github.com/electerious/basicSlider / init

Function init

src/scripts/main.js:167–196  ·  view source on GitHub ↗
(elem, slides, instance, opts)

Source from the content-addressed store, hash-verified

165}
166
167const init = function(elem, slides, instance, opts) {
168
169 // Initialize slide counter
170 const c = counter(0, instance.length() - 1, opts.index)
171
172 // Object containing references to all rendered elements
173 const refs = {}
174
175 // Render all elements
176 refs.slideElems = slides.map(renderSlide)
177 refs.dotElems = slides.map((_, i) => renderDot(instance.goto.bind(null, i)))
178 refs.dotsElem = renderDots(refs.dotElems)
179 refs.slidesElem = renderSlides(refs.slideElems)
180 refs.containerElem = renderContainer(refs.slidesElem)
181 refs.arrowLeftElem = renderArrow(ARROW_LEFT, instance.prev)
182 refs.arrowRightElem = renderArrow(ARROW_RIGHT, instance.next)
183
184 // Set initial slide
185 setSlide(refs.dotElems, refs.slidesElem, c(), instance.length())
186
187 // Modify the target elem
188 // Adds required classes and replaces its content
189 renderSlider(elem, refs, opts)
190
191 return {
192 c,
193 refs
194 }
195
196}
197
198export const create = function(elem, slides, opts) {
199

Callers 1

createFunction · 0.85

Calls 7

renderDotFunction · 0.85
renderDotsFunction · 0.85
renderSlidesFunction · 0.85
renderContainerFunction · 0.85
renderArrowFunction · 0.85
setSlideFunction · 0.85
renderSliderFunction · 0.85

Tested by

no test coverage detected