Skip to content

Commit 81f6e5f

Browse files
authored
Merge pull request #74 from ahasnawi/move-light-carousel
Move light carousel logic to the sdk
2 parents 859a430 + 1df4f6b commit 81f6e5f

3 files changed

Lines changed: 9 additions & 135 deletions

File tree

control/content/index.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
<script src="../../../../scripts/jquery/jquery-1.11.2.min.js"></script>
1313
<script src="../../../../scripts/buildfire.js"></script>
1414
<script src="../../../../scripts/sortable.min.js"></script>
15-
<script src="../../../../scripts/buildfire/components/carousel/carousel.js"></script>
1615
<script src="../../../../scripts/angular/angular.min.js"></script>
1716
<script src="../../../../scripts/angular/angular-route.min.js"></script>
1817
<script src="../../../../scripts/buildfire/components/carouselLight/carouselLightEditor.js"></script>

widget/controllers/widget.home.controller.js

Lines changed: 8 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -297,154 +297,33 @@
297297
itemListLayout: LAYOUTS.itemListLayout[0].name
298298
}
299299
};
300-
var lastImage=null;
301-
var changeTimer;
302-
303-
function shuffle(a,first,last) {
304-
var j, x, i;
305-
for (i = a.length - 1; i > 0; i--) {
306-
j = Math.floor(Math.random() * (i + 1));
307-
x = a[i];
308-
a[i] = a[j];
309-
a[j] = x;
310-
}
311-
if(last==a[0]||first==a[a.length-1]) return shuffle(a,first,last);
312-
else return a;
313-
}
314-
315-
316-
function randomizeArray(sent){
317-
shuffle(sent,null,null);
318-
var dup=Array.from(sent);
319-
shuffle(dup,null,sent[sent.length - 1]);
320-
sent.push(...dup);
321-
shuffle(dup,sent[0],sent[sent.length - 1]);
322-
sent.push(...dup);
323-
}
324-
325-
function changeImage(carouselImages,random){
326-
var oldState=carouselImages;
327-
if(random){
328-
carouselImages=[carouselImages[Math.floor(Math.random() * carouselImages.length)]];
329-
330-
if(carouselImages[0]!=lastImage[0]){
331-
lastImage=carouselImages;
332-
appendOneImage(carouselImages);
333-
}else changeImage(oldState);
334-
}else{
335-
var index=carouselImages.indexOf(lastImage[0]);
336-
var sendIndex=0;
337-
if(index==-1||index==carouselImages.length-1)carouselImages=[carouselImages[0]];
338-
else {carouselImages=[carouselImages[index+1]];sendIndex=index+1;}
339-
lastImage=carouselImages;
340-
var isHome=(new URLSearchParams(window.location.search).get('fid').split("=")[0]=="launcherPluginv");
341-
var storagePlace=(isHome)?"carouselLastImageHome":"carouselLastImage";
342-
buildfire.localStorage.setItem(storagePlace,sendIndex, function(e,r){
343-
appendOneImage(carouselImages);
344-
});
345-
}
346-
347-
}
348-
function appendOneImage(carouselImages){
349-
var carouselContainer = document.getElementById("carousel");
350-
var myImg=document.getElementById("one_img_home");
351-
352-
if(myImg==null){
353-
carouselContainer.innerHTML = '';
354-
var img = document.createElement('img');
355-
img.setAttribute("id", "one_img_home");
356-
img.setAttribute("src", buildfire.imageLib.cropImage(carouselImages[0].iconUrl, {
357-
width: window.innerWidth,
358-
height: Math.ceil(9 * (window.innerWidth) / 16)
359-
}));
360-
carouselContainer.appendChild(img);
361-
img.addEventListener("click", function () {
362-
buildfire.actionItems.execute(carouselImages[0], function (err, result) {
363-
if (err) {
364-
console.warn('Error openning slider action: ', err);
365-
}
366-
});
367-
});
368-
}else{
369-
myImg.setAttribute("src", buildfire.imageLib.cropImage(carouselImages[0].iconUrl, {
370-
width: window.innerWidth,
371-
height: Math.ceil(9 * (window.innerWidth) / 16)
372-
}));
373-
myImg.removeEventListener("click",function(){});
374-
myImg.addEventListener("click", function () {
375-
buildfire.actionItems.execute(carouselImages[0], function (err, result) {
376-
if (err) {
377-
console.warn('Error openning slider action: ', err);
378-
}
379-
});
380-
});
381-
}
382-
}
300+
383301
WidgetHome.renderCarousel = function(){
384302
carouselContainer = document.getElementById("carousel");
385-
if(changeTimer) clearInterval(changeTimer);
386-
if(carouselContainer != null){
303+
if (carouselContainer != null){
387304
if ( WidgetHome.data.content && WidgetHome.data.content.carouselImages) {
388305
var speed = WidgetHome.data.content.speed ? WidgetHome.data.content.speed : 5000
389306
var order = WidgetHome.data.content.order ? WidgetHome.data.content.order : 0
390307
var display = WidgetHome.data.content.display ? WidgetHome.data.content.display : 0
391308
var carouselImages = WidgetHome.data.content.carouselImages;
392-
var isHome=(new URLSearchParams(window.location.search).get('fid').split("=")[0]=="launcherPluginv");
393-
var storagePlace=(isHome)?"carouselLastImageHome":"carouselLastImage";
394-
if(order == 0 && display== 1 && carouselImages.length > 1){
395-
buildfire.localStorage.getItem(storagePlace, function(e,r) {
396-
var images=carouselImages;
397-
var sendIndex=0;
398-
if(r==null){
399-
carouselImages=[carouselImages[0]];
400-
}else{
401-
var index=Number(r);
402-
if(index==-1||index==carouselImages.length-1)carouselImages=[carouselImages[0]];
403-
else {carouselImages=[carouselImages[index+1]];sendIndex=index+1;}
404-
}
405-
buildfire.localStorage.setItem(storagePlace,sendIndex, function(e,r){
406-
lastImage=carouselImages;
407-
if(speed!=0)changeTimer=setInterval(changeImage, speed,images,false);
408-
});
409-
});
410-
}
411-
else if(order == 1 && display== 1 && carouselImages.length > 1){
412-
if(speed!=0){
413-
changeTimer=setInterval(changeImage, speed,carouselImages,true);
414-
}
415-
carouselImages=[carouselImages[Math.floor(Math.random() * carouselImages.length)]];
416-
lastImage=carouselImages;
417-
buildfire.localStorage.removeItem(storagePlace);
418-
419-
}else if(order == 1 && display== 0 && carouselImages.length > 1){
420-
randomizeArray(carouselImages);
421-
buildfire.localStorage.removeItem(storagePlace);
422-
}
423-
424-
if (carouselImages.length > 1) {
425309
setTimeout(()=>{
426310
WidgetHome.view = new buildfire.components.carousel.view({
427311
selector: carouselContainer,
428312
items: carouselImages,
429-
loop: (speed!=0),
430-
infinite:false,
431-
autoInterval:speed
313+
loop: (speed != 0),
314+
infinite: false,
315+
autoInterval: speed,
316+
order: order,
317+
display: display
432318
});
433-
},100)
434-
435-
} else {
436-
appendOneImage(carouselImages);
437-
}
438-
319+
}, 100)
439320
carouselContainer.classList.remove('hide');
440321
} else {
441322
carouselContainer.classList.add('hide');
442323
}
443324
}
444-
445325
}
446326

447-
448327
WidgetHome.init = function (cb) {
449328
Buildfire.spinner.show();
450329
var success = function (result) {

widget/index.html

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,17 @@
66
<!-- CSS -->
77
<link rel="stylesheet" href="../../../styles/siteIcons.css">
88
<link rel="stylesheet" href="../../../styles/helper.css">
9-
<link rel="stylesheet" href="../../../scripts/owlCarousel/owlCarousel.css">
109

1110
<!-- <link rel="stylesheet" href="assets/css/appThemeTemp.css"> -->
1211

1312
<!-- JS -->
14-
<script src="../../../scripts/buildfire.js"></script>
15-
<script src="../../../scripts/buildfire/components/toast/toast.js"></script>
1613
<script src="../../../scripts/_bundles/buildfire_lightcarousel.min.js"></script>
14+
<script src="../../../scripts/buildfire/components/toast/toast.js"></script>
1715

1816
<script src="../../../scripts/buildfire/services/notifications/pushNotifications.js"></script>
1917
<!-- Angular, jQuery & Owl Carousel-->
2018

2119
<script src="../../../scripts/jquery/jquery-1.11.2.min.js"></script>
22-
<script src="../../../scripts/smartcrop.js"></script>
23-
<script src="../../../scripts/owlCarousel/owlCarousel.js"></script>
2420
<script src="../../../scripts/angular/angular.min.js"></script>
2521
<script src="../../../scripts/angular/angular-route.min.js"></script>
2622
<script src="../../../scripts/angular/ui-bootstrap.min.js"></script>

0 commit comments

Comments
 (0)