landingpage.js 4.8 KB

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