%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/templates/landing24/assets/js/helpers/ |
Current File : /home/bitrix/www/bitrix/templates/landing24/assets/js/helpers/base_carousel_init.js |
;(function () { "use strict"; BX.addCustomEvent("BX.Landing.Block:init", function (event) { BX.Landing.SliderHelper.init(event, 'init'); }); BX.addCustomEvent("BX.Landing.Block:beforeApplyContentChanges", function (event) { BX.Landing.SliderHelper.destroy(event); }); BX.addCustomEvent("BX.Landing.Block:Node:update", function (event) { BX.Landing.SliderHelper.init(event, 'update'); }); // we can't add card in slider - need destroy slider, clone DOM-element, // save content in DB and reinit slider later BX.addCustomEvent("BX.Landing.Block:Card:beforeAdd", function (event) { BX.Landing.SliderHelper.destroy(event); }); // reinit slider after add new element in DOM BX.addCustomEvent("BX.Landing.Block:Card:add", function (event) { BX.Landing.SliderHelper.init(event, 'add'); }); // NEW CARDS // we can't add card in slider - need destroy slider, clone DOM-element, // save content in DB and reinit slider later BX.addCustomEvent("BX.Landing.Block:Cards:beforeUpdate", function (event) { BX.Landing.SliderHelper.destroy(event); }); // NEW CARDS // reinit slider after add new element in DOM BX.addCustomEvent("BX.Landing.Block:Cards:update", function (event) { BX.Landing.SliderHelper.init(event); }); // we can't remove card in slider - need destroy slider, remove DOM-element, // save content in DB and reinit slider later BX.addCustomEvent("BX.Landing.Block:Card:beforeRemove", function (event) { BX.Landing.SliderHelper.destroy(event); }); // reinit slider after remove new element in DOM BX.addCustomEvent("BX.Landing.Block:Card:remove", function (event) { var relativeSelector = BX.Landing.SliderHelper.makeCarouselRelativeSelector(event); if ($(relativeSelector).length > 0) { var selector = event.data.selector, selectorName = selector.split("@")[0], selectorIndex = parseInt(selector.split("@")[1]), cards = event.block.querySelectorAll(selectorName); // if deleted not a last card - new card will be have same index // if not - find previously card var cardNew = cards[selectorIndex]; if (!cardNew) { if (!BX.type.isNumber(selectorIndex) || selectorIndex === 0) cardNew = null; else cardNew = cards[selectorIndex - 1]; } // if new card == null it means, that all cards was be deleted - do nothing if (cardNew) { event.card = cardNew; BX.Landing.SliderHelper.initBase(relativeSelector); BX.Landing.SliderHelper.goToSlide(event, 'remove'); } } }); // disable slider before removing block - to correctly work in history BX.addCustomEvent("BX.Landing.Block:remove", function (event) { BX.Landing.SliderHelper.destroy(event); }); // stop ALL SLIDERS if editing BX.addCustomEvent("BX.Landing.Editor:enable", function (event) { try { $(".js-carousel").slick('slickPause'); } catch (e) { } }); // play ALL SLIDERS if editing end BX.addCustomEvent("BX.Landing.Editor:disable", function (event) { try { $(".js-carousel").slick('slickPlay'); } catch (e) { } }); })();