feat(main): Add slider block type
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
$(document).ready(function () {
|
||||
window.prestashop.component.initComponents([
|
||||
'TinyMCEEditor',
|
||||
]);
|
||||
|
||||
function toggleBlockTypeFields() {
|
||||
var type = $('#custom_html_block_type').val();
|
||||
|
||||
$('.customhtmlblock-type-html').hide();
|
||||
$('.customhtmlblock-type-faq').hide();
|
||||
$('.customhtmlblock-type-banner').hide();
|
||||
$('.customhtmlblock-type-alert').hide();
|
||||
$('.customhtmlblock-type-usp').hide();
|
||||
$('.customhtmlblock-type-slider').hide();
|
||||
$('.customhtmlblock-type-' + type).show();
|
||||
}
|
||||
|
||||
$('#custom_html_block_type').on('change', toggleBlockTypeFields);
|
||||
toggleBlockTypeFields();
|
||||
|
||||
function initRepeater(containerSelector, addButtonSelector, itemClass, removeButtonClass) {
|
||||
var container = $(containerSelector);
|
||||
var removeLabel = container.data('removeLabel');
|
||||
|
||||
$(addButtonSelector).on('click', function () {
|
||||
var index = container.data('index');
|
||||
var prototype = container.data('prototype').replace(/__name__/g, index);
|
||||
|
||||
var item = $('<div class="' + itemClass + ' card mb-2"><div class="card-body"></div></div>');
|
||||
item.find('.card-body')
|
||||
.append(prototype)
|
||||
.append(
|
||||
'<button type="button" class="btn btn-outline-danger btn-sm ' + removeButtonClass + '">' +
|
||||
'<i class="material-icons">delete</i> ' + removeLabel + '</button>'
|
||||
);
|
||||
|
||||
container.append(item);
|
||||
container.data('index', index + 1);
|
||||
});
|
||||
|
||||
container.on('click', '.' + removeButtonClass, function () {
|
||||
$(this).closest('.' + itemClass).remove();
|
||||
});
|
||||
}
|
||||
|
||||
initRepeater('#customhtmlblock-faq-items', '#customhtmlblock-add-faq', 'customhtmlblock-faq-item', 'customhtmlblock-remove-faq');
|
||||
initRepeater('#customhtmlblock-slide-items', '#customhtmlblock-add-slide', 'customhtmlblock-slide-item', 'customhtmlblock-remove-slide');
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
$(document).ready(function () {
|
||||
const customhtmlblockGrid = new window.prestashop.component.Grid('customhtmlblock');
|
||||
|
||||
customhtmlblockGrid.addExtension(new window.prestashop.component.GridExtensions.SortingExtension());
|
||||
customhtmlblockGrid.addExtension(new window.prestashop.component.GridExtensions.FiltersResetExtension());
|
||||
customhtmlblockGrid.addExtension(new window.prestashop.component.GridExtensions.ColumnTogglingExtension());
|
||||
customhtmlblockGrid.addExtension(new window.prestashop.component.GridExtensions.SubmitRowActionExtension());
|
||||
customhtmlblockGrid.addExtension(new window.prestashop.component.GridExtensions.PositionExtension());
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
$(document).ready(function () {
|
||||
const customhtmlgroupGrid = new window.prestashop.component.Grid('customhtmlgroup');
|
||||
|
||||
customhtmlgroupGrid.addExtension(new window.prestashop.component.GridExtensions.SortingExtension());
|
||||
customhtmlgroupGrid.addExtension(new window.prestashop.component.GridExtensions.FiltersResetExtension());
|
||||
customhtmlgroupGrid.addExtension(new window.prestashop.component.GridExtensions.ColumnTogglingExtension());
|
||||
customhtmlgroupGrid.addExtension(new window.prestashop.component.GridExtensions.SubmitRowActionExtension());
|
||||
customhtmlgroupGrid.addExtension(new window.prestashop.component.GridExtensions.PositionExtension());
|
||||
});
|
||||
Reference in New Issue
Block a user