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()