Guest User

Untitled

a guest
Apr 26th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. <template>
  2. <div>
  3.  
  4.  
  5. <button type="button" v-on:click="LoadCatalog()">Click me!! </button>
  6.  
  7. <div v-if="displayCategoryList" class="row">
  8. <h3>Select Category Men</h3>
  9. <select v-model="menCategory" v-on:change="passDataToChild()">
  10. <option v-for="item in categoriesfordisplay.men" v-bind:key="item">
  11. {{ item }}
  12. </option>
  13. </select>
  14. <h3>Select Category Women</h3>
  15. <select v-model="WomenCategory" v-on:change="passDataToChild()">
  16. <option v-for="item in categoriesfordisplay.women" v-bind:key="item">
  17. {{ item }}
  18. </option>
  19. </select>
  20. </div>
  21.  
  22. <div v-if="displayData" class="row">
  23.  
  24. <div v-for="item in data_to_show_on_mainpage" v-bind:key="item" >
  25. <button v-on:click="newfunction(item.cat,item.gender)" >
  26. <img v-bind:src="item.data.image"> </img>
  27. <p >{{ item.cat }}</p>
  28. </button>
  29. </div>
  30.  
  31.  
  32.  
  33. </div>
  34.  
  35. <category-items v-if="displayCategoryData" v-bind:gender="gender" v-bind:catsgory="catsgory" v-bind:catlog="catlog" ></category-items>
  36.  
  37.  
  38.  
  39.  
  40.  
  41. </div>
  42. </template>
  43.  
  44.  
  45. <script>
  46. import axios from 'axios'
  47. import CategoryItems from './CategoryItems'
  48. export default {
  49. name: 'GetCategoryItemsAndDisplayOne',
  50. props: ['categoriesfordisplay','ismainpage', 'catalogselected'],
  51.  
  52. components:{
  53. CategoryItems,
  54. },
  55. data(){
  56. return {
  57. IsMainPage_1 : "",
  58. data_to_show_on_mainpage : [],
  59. cat :[],
  60. displayData : true,
  61. menCategory : "",
  62. WomenCategory : "",
  63. displayCategoryList: true,
  64. displayCategoryData : false,
  65. CategoryFromImage : "",
  66. //dataSentToChild : {}
  67. gender : "",
  68. catsgory : "",
  69. catlog : ""
  70.  
  71.  
  72. }
  73. },
  74. methods:{
  75. passDataToChild(){
  76. if(this.menCategory != ""){
  77.  
  78. this.catsgory = this.menCategory
  79. this.gender = "men"
  80. this.catlog = this.catalogselected
  81. this.menCategory = ""
  82.  
  83. }else if(this.WomenCategory != ""){
  84. this.catsgory = this.WomenCategory
  85. this.gender = "women"
  86. this.catlog = this.catalogselected
  87. this.WomenCategory = ""
  88. }
  89. this.displayData = false
  90. this.displayCategoryData = true
  91. },
  92. changevalue(){
  93. this.data_to_show_on_mainpage = []
  94. },
  95. CatlogService(catlog_name,category,gender,mainpage){
  96.  
  97.  
  98. let url = "http://localhost:5000/xyz/" + (this.catalogselected).replace(/'/g,"%27") +"/api/"+ (gender) + "/catalogvis/" + (category) +"/items"
  99.  
  100. axios.get(encodeURI(url)).then((resp)=>{
  101. var jsonData = {"data": resp.data.response.Results.results[0] , "cat": category , "gender" : gender}
  102. )
  103. this.data_to_show_on_mainpage.push(jsonData)
  104.  
  105. })
  106. .catch(err => {
  107. console.log("we got an error the url is " + url)
  108. console.log(err);
  109. })
  110. },
  111.  
  112. GetItemsToShowonMainPage(){
  113. this.changevalue()
  114.  
  115.  
  116. if(this.categoriesfordisplay.men_for_display.length>0){
  117. for(let i =0;i<this.categoriesfordisplay.men_for_display.length;i++){
  118. let category = this.categoriesfordisplay.men_for_display[i].replace(/"/g,"%27");
  119. console.log(category)
  120. this.CatlogService(this.catalogselected,category,'men',this.ismainpage)
  121. }
  122.  
  123. }
  124. if(this.categoriesfordisplay.women_for_display.length>0){
  125.  
  126. for(let i = 0;i<this.categoriesfordisplay.women_for_display.length;i++){
  127. let category = this.categoriesfordisplay.women_for_display[i].replace(/"/g,"");
  128.  
  129. this.CatlogService(this.catalogselected,category,'women',this.ismainpage)
  130. }
  131.  
  132. }
  133. },
  134. LoadCatalog(){
  135. this.displayCategoryData = false
  136. this.GetItemsToShowonMainPage()
  137. this.displayData = true
  138. this.displayCategoryList = true
  139.  
  140. },
  141. newfunction(Cats,gender){
  142. this.displayCategoryData = true
  143. this.displayData = false
  144. this.catsgory = Cats
  145. this.gender = gender
  146. this.catlog = this.catalogselected
  147. }
  148.  
  149.  
  150.  
  151. },
  152. created(){
  153.  
  154. this.GetItemsToShowonMainPage()
  155. }
  156.  
  157.  
  158.  
  159. }
  160. </script>
  161.  
  162. <style>
  163.  
  164. </style>
  165.  
  166. <template>
  167.  
  168. <div>
  169. <h4>{{ genders }}</h4>
  170. <h4>{{ category }}</h4>
  171. <h4>{{ catalogue }}</h4>
  172. </div>
  173. </template>
  174.  
  175.  
  176. <script>
  177.  
  178.  
  179. export default{
  180. name : 'CategoryItems',
  181. props : ['gender','catsgory','catlog'],
  182.  
  183.  
  184.  
  185. data(){
  186. return {
  187. genders : "",
  188. category : "",
  189. catalogue : "",
  190.  
  191. }
  192. },
  193. watch : {
  194. category : function(){
  195.  
  196. this.GetProducts()
  197. }
  198. },
  199. methods:{
  200. GetProducts(){
  201. this.genders = this.gender
  202. this.category = this.catsgory
  203. this.catalogue = this.catlog
  204.  
  205. }
  206. },
  207. created(){
  208. this.genders = this.gender
  209. this.category = this.catsgory
  210. this.catalogue = this.catlog
  211.  
  212.  
  213. }
  214.  
  215. }
  216. </script>
  217.  
  218.  
  219. <style>
  220. </style>
Add Comment
Please, Sign In to add comment