Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <style>
- #adoric_smartbox_d8ca0d21bec2b .slider-item .title-text,
- #adoric_smartbox_d8ca0d21bec2b .slider-item .price-text,
- #adoric_smartbox_d8ca0d21bec2b .slider-item .element-image,
- #adoric_smartbox_d8ca0d21bec2b .slider-item .element-button {}
- #adoric_smartbox_d8ca0d21bec2b .slider-item .price-text {}
- #adoric_smartbox_d8ca0d21bec2b .adoric-slider-item-inner img {
- -webkit-border-radius: 0px !important;
- -moz-border-radius: 0px !important;
- border-radius: 0px !important;
- -o-object-fit: contain !important;
- object-fit: contain !important;
- }
- </style>
- <script>
- (async function() {
- var campaign = document.querySelector('.' + self.identifier + '.__ADORIC__ [tabindex]');
- var parser = new DOMParser();
- var leaveOnlyOneItemIfTitleIs = ['iphone', 'S23'];
- try {
- var url = 'https://feeds.datafeedwatch.com/89455/a1072d09c3dc02f20eeb154856c90087b240ca9f.xml';
- var response = await fetch(url);
- response = await response.text();
- } catch (error) {
- console.info(error);
- closeCurrentCampaign()
- }
- var feedItems = parser.parseFromString(response, 'text/html').querySelectorAll('item');
- if (feedItems.length === 0) {
- closeCurrentCampaign();
- }
- console.log('This is tablet device');
- if (self.device === 'tablet') {
- var styleElement = document.createElement('style');
- styleElement.classList.add('adoricCustomStyleTablet');
- styleElement.textContent = '@media(max-width: 1000px){ div.' + self.identifier + '>div{ width: auto !important; } div.' + self.identifier + ' .adoric_element.element-text, div.' + self.identifier + ' .adoric_element.element-slider { left: 50% !important; transform: translateX(-50%) scale(0.8, 0.8) !important; } }';
- document.head.append(styleElement);
- }
- var productsList = Array.from(feedItems).reduce(function(acc, item) {
- acc.push({
- img: item.getElementsByTagName('g:image_link')[0].textContent,
- title: item.getElementsByTagName('g:title')[0].textContent,
- price: item.getElementsByTagName('g:price')[0].textContent,
- link: item.getElementsByTagName('g:link')[0].textContent,
- item_group_id: item.getElementsByTagName('g:item_group_id')[0].textContent,
- item_id: item.getElementsByTagName('g:id')[0].textContent
- });
- return acc;
- }, []); /* sort items in order of best sellers(see audiance custom code) */
- var bestSellers = [];
- for (var item of window.adoricBestSellers) {
- for (var itemFromFeed of productsList) {
- if (item === itemFromFeed.item_id) {
- bestSellers.push(itemFromFeed);
- break;
- }
- }
- } /* Delete all duplicates from the list(leaveOnlyOneItemIfTitle) */
- bestSellers = leaveOneItemWithSpecificTitle(bestSellers, leaveOnlyOneItemIfTitleIs); /* leave only one item with unique item_group_id */
- bestSellers = leaveProductWithUniqueId(bestSellers);
- fillDynamicContent(bestSellers);
- function fillDynamicContent(dataArray) {
- var carousel = campaign.querySelector('.slider-content');
- var carouselItems = carousel.querySelectorAll('.slider-item');
- for (var i = 1; i < carouselItems.length; i++) {
- /* change content for cloned slider */
- if (i == carouselItems.length - 1) {
- fillOneCarouselItem(0, i - 1);
- }
- fillOneCarouselItem(i, i - 1);
- }
- function fillOneCarouselItem(carouselItem, index) {
- carouselItems[carouselItem].querySelector('img').src = dataArray[index]['img'];
- carouselItems[carouselItem].querySelector('img').setAttribute('onclick', `location.href="${dataArray[index]['link']}"`);
- carouselItems[carouselItem].querySelector('.title-text span').textContent = dataArray[index]['title'];
- carouselItems[carouselItem].querySelector('.price-text span').textContent = parseFloat(dataArray[index]['price']) + ' ₪';
- carouselItems[carouselItem].querySelector('button').setAttribute('onclick', `location.href="${dataArray[index]['link']}"`);
- }
- }
- function closeCurrentCampaign() {
- adoric.lightboxes.forEach(function(item) {
- if (item.isShowing && item.options.campaignId === self.campaignId) {
- item.close(4);
- }
- });
- }
- function leaveOneItemWithSpecificTitle(arr, productTitles) {
- productTitles = productTitles.map(function(item) {
- return item.toLowerCase();
- });
- var resultArray = [];
- for (var title of productTitles) {
- var itemBestPrice = 0;
- var itemToAdd;
- for (var item in arr) {
- var isTitleFromTheList = arr[item].title.toLowerCase().indexOf(title) !== -1;
- var itemPrice = parseFloat(arr[item].price);
- if (!isTitleFromTheList) {
- continue;
- }
- if (itemBestPrice === 0 || itemBestPrice > itemPrice) {
- itemBestPrice = itemPrice;
- itemToAdd = arr[item];
- }
- }
- resultArray.push(itemToAdd);
- }
- for (var item in arr) {
- var needToExcludeItem = productTitles.find(function(title) {
- if (arr[item].title.toLowerCase().indexOf(title) !== -1) {
- return true;
- }
- });
- if (needToExcludeItem) {
- continue;
- }
- resultArray.push(arr[item]);
- }
- return resultArray;
- }
- function leaveProductWithUniqueId(arr) {
- var resultArray = [];
- for (var item in arr) {
- if (!arr[item]) {
- continue;
- }
- var currentGroupId = arr[item].item_group_id;
- var buffer = arr.filter(function(item, index) {
- if (!item) {
- return false;
- }
- if (item.item_group_id === currentGroupId) {
- arr[index] = undefined;
- return true;
- }
- });
- buffer = buffer.sort(function(a, b) {
- return parseFloat(a.price) - parseFloat(b.price);
- });
- resultArray.push(buffer[0]);
- }
- return resultArray;
- }
- })()
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement