{"version":3,"file":"js/page-home.js","mappings":"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","sources":["webpack://gbase.web/./dev/src/isomorphic/behaviors/lazyload-carousel.ts","webpack://gbase.web/./dev/src/components/home/NewestGear.vue?d174","webpack://gbase.web/./dev/src/components/home/MoreGear.vue?019a","webpack://gbase.web/./dev/src/components/home/MoreGear.ts","webpack://gbase.web/./dev/src/components/home/MoreGear.ts?68fe","webpack://gbase.web/./dev/src/components/home/MoreGear.vue","webpack://gbase.web/./dev/src/components/home/NewestGear.ts?ba19","webpack://gbase.web/./dev/src/components/home/NewestGear.ts","webpack://gbase.web/./dev/src/components/home/NewestGear.vue","webpack://gbase.web/./dev/src/isomorphic/pages/page-home.ts"],"sourcesContent":["import $ from \"jquery\";\r\n\r\nconsole.log(\"[app-behaviors] Installed lazy-load carousel behavior\");\r\n\r\n$(() => $(\".carousel.lazy\").on(\"slide.bs.carousel\", ev => {\r\n \r\n // bootstrap carousel defines this event \r\n // with relatedTarget and direction\r\n\r\n // @ts-ignore:2551\r\n if (ev.relatedTarget !== null) {\r\n // @ts-ignore:2551\r\n var lazy = $(ev.relatedTarget).find(\"img[data-src]\");\r\n lazy.attr(\"src\", lazy.data('src'));\r\n lazy.removeAttr(\"data-src\");\r\n }\r\n}));","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"more-gear\", { attrs: { \"fallback-url\": \"/gear?sort=-posted\" } })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"tile-grid\" },\n [\n _vm._l(_vm.gear, function (item) {\n return _c(\n \"div\",\n {\n staticClass: \"tile product\",\n attrs: { \"data-onclick\": item.detailUrl },\n },\n [\n _c(\"div\", { staticClass: \"header\" }, [\n _c(\"a\", { attrs: { href: item.detailUrl } }, [\n _c(\"img\", {\n staticClass: \"cover\",\n attrs: { src: item.imgUrl, alt: item.modelName },\n }),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"footer\" }, [\n _c(\"div\", { staticClass: \"title clipper\" }, [\n _c(\"a\", { attrs: { href: item.detailUrl } }, [\n _c(\"span\", { staticClass: \"clip\" }, [\n _vm._v(_vm._s(item.label)),\n ]),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"store clipper\" }, [\n _c(\"a\", { attrs: { href: item.StoreUrl } }, [\n _c(\"span\", { staticClass: \"clip\" }, [\n _vm._v(_vm._s(item.storeName)),\n ]),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"price\" }, [\n _vm._v(\n \"\\n \" + _vm._s(item.price) + \"\\n \"\n ),\n ]),\n ]),\n ]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"load-more\" },\n [\n _c(\n \"transition\",\n { attrs: { name: \"fade\", mode: \"out-in\" } },\n [\n _vm.isLoading\n ? _c(\"spinner\", {\n attrs: { size: \"medium\", message: \"Getting more gear...\" },\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.isLoading\n ? _c(\n \"button\",\n {\n staticClass: \"btn btn-primary\",\n on: { click: _vm.loadMore },\n },\n [_c(\"span\", [_vm._v(\"Show Me More!\")])]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport Spinner from 'vue-simple-spinner'\r\nimport {getNewestGear} from \"@/services/apiService\";\r\nimport { Clickable } from \"../../isomorphic/behaviors/clickable-attribute\";\r\n\r\nexport default Vue.extend({\r\n name: \"inventory-list\",\r\n components: {\r\n \"spinner\": Spinner\r\n },\r\n props: {\r\n 'fallbackUrl': { type: String, default: '' },\r\n },\r\n data() {\r\n return {\r\n gear: [] as any[],\r\n nextPage: 0,\r\n isLoading: false,\r\n canLoad: ('Promise' in window) as boolean\r\n };\r\n },\r\n mounted() {\r\n console.log(\"MoreGear.mounted( fallback:\" + this.fallbackUrl + \")\");\r\n },\r\n methods: {\r\n loadMore: async function () {\r\n console.log(\"MoreGear.loadMore() \");\r\n\r\n this.isLoading = true;\r\n\r\n if (!this.canLoad) {\r\n this.loadFallback();\r\n return;\r\n }\r\n\r\n try {\r\n var newGear = await getNewestGear(++this.nextPage, 30);\r\n this.gear.push(...newGear.data.gear); \r\n this.isLoading = false;\r\n\r\n Vue.nextTick(function () {\r\n window.scrollBy({top: 200, behavior: 'smooth'});\r\n Clickable.watchDataClicks(true);\r\n });\r\n }\r\n catch (e) {\r\n console.error(e); \r\n this.loadFallback();\r\n } \r\n },\r\n loadFallback: function () {\r\n window.location.href = this.fallbackUrl;\r\n }\r\n }\r\n});","import mod from \"-!../../../../node_modules/.pnpm/babel-loader@9.1.3_@babel+core@7.23.9_webpack@5.75.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/ts-loader@9.4.2_typescript@4.9.3_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-2[0].rules[0].use[1]!./MoreGear.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/babel-loader@9.1.3_@babel+core@7.23.9_webpack@5.75.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/ts-loader@9.4.2_typescript@4.9.3_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-2[0].rules[0].use[1]!./MoreGear.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MoreGear.vue?vue&type=template&id=330ad0a4&\"\nimport script from \"./MoreGear.ts?vue&type=script&lang=ts&\"\nexport * from \"./MoreGear.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.9.8_css-loader@6.7.4_vue-template-compiler@2.7.16_webpack@5.75.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"C:\\\\agent\\\\_work\\\\4\\\\s\\\\src\\\\Gbase.Web\\\\node_modules\\\\.pnpm\\\\vue-hot-reload-api@2.3.4\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('330ad0a4')) {\n api.createRecord('330ad0a4', component.options)\n } else {\n api.reload('330ad0a4', component.options)\n }\n module.hot.accept(\"./MoreGear.vue?vue&type=template&id=330ad0a4&\", function () {\n api.rerender('330ad0a4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"dev/src/components/home/MoreGear.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/.pnpm/babel-loader@9.1.3_@babel+core@7.23.9_webpack@5.75.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/ts-loader@9.4.2_typescript@4.9.3_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-2[0].rules[0].use[1]!./NewestGear.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/babel-loader@9.1.3_@babel+core@7.23.9_webpack@5.75.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/ts-loader@9.4.2_typescript@4.9.3_webpack@5.75.0/node_modules/ts-loader/index.js??clonedRuleSet-2[0].rules[0].use[1]!./NewestGear.ts?vue&type=script&lang=ts&\"","import Vue from \"vue\"\r\nimport MoreGear from \"./MoreGear.vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"newest-gear\",\r\n components: {\r\n \"more-gear\": MoreGear\r\n },\r\n mounted() {\r\n console.log(\"NewestGear.mounted()\");\r\n }\r\n});\r\n\r\n","import { render, staticRenderFns } from \"./NewestGear.vue?vue&type=template&id=9fa74a82&\"\nimport script from \"./NewestGear.ts?vue&type=script&lang=ts&\"\nexport * from \"./NewestGear.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.9.8_css-loader@6.7.4_vue-template-compiler@2.7.16_webpack@5.75.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"C:\\\\agent\\\\_work\\\\4\\\\s\\\\src\\\\Gbase.Web\\\\node_modules\\\\.pnpm\\\\vue-hot-reload-api@2.3.4\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9fa74a82')) {\n api.createRecord('9fa74a82', component.options)\n } else {\n api.reload('9fa74a82', component.options)\n }\n module.hot.accept(\"./NewestGear.vue?vue&type=template&id=9fa74a82&\", function () {\n api.rerender('9fa74a82', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"dev/src/components/home/NewestGear.vue\"\nexport default component.exports","console.log(\"[app-load] page-home.ts\");\r\n\r\nimport \"@/isomorphic/behaviors/lazyload-photos\";\r\nimport \"@/isomorphic/behaviors/lazyload-carousel\";\r\nimport \"@/isomorphic/behaviors/clickable-attribute\";\r\nimport \"@/isomorphic/behaviors/datatip-attribute\";\r\n\r\nimport { ready } from \"@/isomorphic/behaviors/ready-event\";\r\nimport { isMobile } from '../../utils/browsers';\r\nimport {watchProducts} from \"@/components/toggle-watch/ProductInterest\";\r\n\r\n//import { bindAdControls } from \"@/components/ad-block/AdUtils\";\r\n\r\n// Setup more gear handling\r\nimport NewestGear from \"@/components/home/NewestGear.vue\";\r\n\r\nready(() => { \r\n const ng = new NewestGear({ el: \"#more-gear\" });\r\n\r\n if (!isMobile()) $('.carousel').carousel();\r\n\r\n //\r\n // Setup toggle-watch\r\n //\r\n watchProducts(); \r\n\r\n // Expliclity call to delay until after other stuff\r\n //bindAdControls();\r\n});"],"names":["$","on","ev","relatedTarget","lazy","find","attr","data","removeAttr","render","_h","this","$createElement","_self","_c","attrs","_withStripped","_vm","staticClass","_l","gear","item","detailUrl","href","src","imgUrl","alt","modelName","_v","_s","label","StoreUrl","storeName","price","name","mode","isLoading","size","message","_e","click","loadMore","Vue","components","Spinner","props","type","String","default","nextPage","canLoad","window","mounted","fallbackUrl","methods","_context","next","loadFallback","abrupt","prev","getNewestGear","newGear","sent","_this$gear","push","apply","_toConsumableArray","scrollBy","top","behavior","Clickable","t0","console","error","stop","_callee","location","component","options","__file","MoreGear","ready","NewestGear","el","isMobile","carousel","watchProducts"],"sourceRoot":""}