landingpage.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. var selectLocation = ["Canada", "China", "France", "Germany"];
  2. var selectLocation2 = ["China"];
  3. $(function() {
  4. $(".dropdown").mouseover(function () {
  5. $(this).addClass("open");
  6. });
  7. $(".dropdown").mouseleave(function(){
  8. $(this).removeClass("open");
  9. })
  10. var selectDisciplines = [" Masterplanning"," Architecture"," Interiors", "Lighting"," Landscape"," AV & Acoustics"," MEP"," Art work & Accessories"," Graphics & Signage"," Branding"," Furniture, Lighting"];
  11. var newestList = window.localStorage.getItem("newestList")
  12. var resentlist = window.localStorage.getItem("resentlist")
  13. var trendinglist = [
  14. "Interior", "Architecture", "Masterplanning", "Lighting", "Landscape", "Acoustics", "MEP",
  15. "Art work & Accessories",
  16. ]
  17. if(newestList==null){
  18. newestList=[...selectDisciplines]
  19. window.localStorage.setItem("newestList", JSON.stringify(newestList))
  20. }else{
  21. newestList = JSON.parse(newestList)
  22. }
  23. addlistNewest(".newest-list-pro",newestList)
  24. addlistBtn(".trendinglist", trendinglist)
  25. if (resentlist) {
  26. resentlist = JSON.parse(resentlist)
  27. addlistBtn(".resentlist", resentlist)
  28. } else {
  29. resentlist = []
  30. }
  31. $(".newest-list-pro").on("click", '.newest-item-x', function() {
  32. var name=$(this).parent().find(".query").text()
  33. var k2=newestList.indexOf(name)
  34. if (k2 != -1) {
  35. newestList.splice(k2, 1)
  36. }
  37. window.localStorage.setItem("newestList", JSON.stringify(newestList))
  38. $(this).parent().remove()
  39. })
  40. $(".search-item").on("click", '.querybtnli', function() {
  41. var value = $(this).text()
  42. $(".landingpage_search").val(value);
  43. $(".querybtn").click()
  44. })
  45. $(".querybtn").click(function() {
  46. resentlistAdd($(".landingpage_search").val())
  47. })
  48. $(".querybtn2").click(function() {
  49. resentlistAdd($(".landingpage_search").val())
  50. })
  51. function resentlistAdd(name) {
  52. if (name) {
  53. var k = resentlist.indexOf(name)
  54. var k2=newestList.indexOf(name)
  55. if (k != -1) {
  56. resentlist.splice(k, 1)
  57. }
  58. if (k2 != -1) {
  59. newestList.splice(k2, 1)
  60. }
  61. var i = resentlist.unshift(name)
  62. newestList.unshift(name)
  63. var num = 4
  64. if (i > num) {
  65. resentlist = resentlist.slice(0, num)
  66. }
  67. window.localStorage.setItem("resentlist", JSON.stringify(resentlist))
  68. window.localStorage.setItem("newestList", JSON.stringify(newestList))
  69. }
  70. addlistNewest(".newest-list-pro",newestList)
  71. addlistBtn(".resentlist", resentlist)
  72. $("#project-photo-row").empty();
  73. $.getJSON("../../assets/js/landingpage_photos.json", function(data) {
  74. data = data.sort(() => {
  75. return Math.random() > 0.5 ? -1 : 1
  76. })
  77. const tmphtml = template("flow-photos", {
  78. photos: data
  79. });
  80. $("#project-photo-row").append(tmphtml);
  81. });
  82. }
  83. addlistSelect(".selectDisciplines", selectDisciplines)
  84. addlistSelect(".selectLocation", selectLocation)
  85. function addlistNewest(name, list) {
  86. $(name).empty()
  87. list.forEach(function(item) {
  88. var btn = $('<div class="newest-item "> <span class="query">' + item + '</span><span class="newest-item-x" >x</span></div>')
  89. $(name).append(btn)
  90. })
  91. }
  92. function addlistBtn(name, list) {
  93. $(name).empty()
  94. list.forEach(function(item) {
  95. var btn = $('<button class="btn btn-lg querybtnli">' + item + '</button>')
  96. $(name).append(btn)
  97. })
  98. }
  99. $(".query").click(function() {
  100. resentlistAdd($(this).text())
  101. })
  102. $('.selectpicker').selectpicker({
  103. template: {
  104. caret: '<span class="sel-icon glyphicon glyphicon-menu-down"></span>'
  105. }
  106. });
  107. $('#filter-select').on('changed.bs.select', function (e, clickedIndex, isSelected, prestate,currentVal) {
  108. });
  109. $.getJSON("../../assets/js/landingpage_photos.json", function(data) {
  110. const tmphtml = template("flow-photos", {
  111. photos: data
  112. });
  113. $("#project-photo-row").append(tmphtml);
  114. });
  115. $("#project-photo-row").on("click", ".thumbnail img", function() {
  116. var loginUser = window.localStorage.getItem("loginUser");
  117. if (!loginUser) {
  118. window.location.href = "../signin/signin.html"
  119. return
  120. }
  121. let imgname = $(this).data('imgname');
  122. zeroModal.show({
  123. url: 'landingpage_details.html?img=' + imgname,
  124. iframe: true,
  125. width: '75%',
  126. height: '95%',
  127. onClosed: function() {
  128. $("body").css('overflow', 'auto');
  129. },
  130. onComplete: function() {
  131. $("body").css('overflow', 'hidden');
  132. }
  133. });
  134. });
  135. //trigger search by enter
  136. $(".landingpage_search").on("keyup",function(event){
  137. var e = event || window.event;
  138. if(e && e.keyCode==13 && this.value.length>0){
  139. resentlistAdd($(".landingpage_search").val());
  140. }
  141. });
  142. });
  143. function selectOnchang(obj){
  144. console.log(obj.selectedIndex)
  145. if(obj.selectedIndex==1){
  146. addlistSelect(".selectpicker.selectLocation", selectLocation2)
  147. }else{
  148. addlistSelect(".selectpicker.selectLocation", selectLocation)
  149. }
  150. $(".selectpicker.selectLocation").selectpicker('refresh');
  151. }
  152. function addlistSelect(name, list) {
  153. $(name).empty()
  154. list.forEach(function(item) {
  155. var btn = $('<option>' + item + '</option>')
  156. $(name).append(btn)
  157. })
  158. }