Upgrading from v0.4
A few breaking changes have been made between version 0.4.x and version 1.0.x Upgrading should take less than 30 minutes.
Imports
Replace :
<!-- replace: -->
<script src="dist/js/jquery.chocolat.js"></script>
<!-- with: -->
<script src="dist/js/chocolat.js"></script>Instanciation
Version 1 is no longer relaying on jQuery.
// replace:
$('#parent').Chocolat({})
// with:
Chocolat(document.querySelectorAll('#parent .chocolat-image'), {})Also the imageSelector option has been removed.
// replace:
$('#parent').Chocolat({
imageSelector: '.my-image',
// options...
})
// with:
Chocolat(document.querySelectorAll('#parent .my-image'), {
// options...
})Options
images
You should no longer pass images array as an option, you are now supposed to pass it as the first argument of Chocolat.
You can learn more on how to instanciate Chocolat here.
// replace:
$('whatever').Chocolat({
images: [
{ src: 'img1.jpg' }, ...
],
// options...
})
// with:
Chocolat([ { src: 'img1.jpg' }, ... ], {
// options...
})container
container must be an HTMLElement .
Selectors are no longer valid.
// replace:
{
container: '.my-container-selector',
// options ...
}
// with
{
container: document.querySelector('.my-container-selector'),
// options ...
}jQuery objects are no longer valid.
// replace:
{
container: $('.my-container-selector'),
// options ...
}
// with
{
container: document.querySelector('.my-container-selector'),
// or
// container: $('.my-container-selector')[0],
// options ...
}setTitle
setTitle is now a function returning a string.
// replace:
{
setTitle: 'Title',
// options ...
}
// with
{
setTitle: function () { return 'title' },
// options ...
}You can no longer use data-chocolat-title on your html element to set the title.
<!-- replace: -->
<div id="parent" data-chocolat-title="Set title">
<!-- ... -->
</div>// with
{
setTitle: function () {
return 'Set title'
// or
// return document.querySelector('#parent').dataset.chocolatTitle
}
// options ...
}separator2
separator2 has been replaced with the pagination function.
// replace:
{
separator2: '-',
// options ...
}
// with
{
pagination: function () {
const last = this.settings.lastImageIndex + 1
const position = this.settings.currentImageIndex + 1
return `${position}-${last}`
},
// options ...
}firstImage
firstImage has been renamed to firstImageIndex .
// replace:
{
firstImage: 0,
// options ...
}
// with
{
firstImageIndex: 0,
// options ...
}lastImage
lastImage has been renamed to lastImageIndex .
// replace:
{
lastImage: 5,
// options ...
}
// with
{
lastImageIndex: 5,
// options ...
}currentImage
currentImage has been renamed to currentImageIndex .
// replace:
{
currentImage: 5,
// options ...
}
// with
{
currentImageIndex: 5,
// options ...
}imageSize
imageSize default value 'default' as been renamed to 'scale-down'
// replace:
{
imageSize: 'default',
// options ...
}
// with
{
imageSize: 'scale-down',
// options ...
}enableZoom
enableZoom has been renamed to allowZoom .
// replace:
{
enableZoom: true,
// options ...
}
// with
{
allowZoom: true,
// options ...
}Api
API can now be accessed without calling the api() function.
You can learn more on how to use the API here
// replace:
const instance = $(...).Chocolat().data('chocolat')
instance.api().open() // open() is taken as an example here.
// with:
const instance = Chocolat(...)
instance.api.open() // open() is taken as an example here.place
place has been renamed to position .
// replace:
instance.api().place()
// with:
instance.api.position()