{"version":3,"file":"favorite_and_history-ace4d9c7.js","sources":["../../../app/javascript/javascripts/favorite_and_history.vue","../../../app/javascript/entrypoints/favorite_and_history.js"],"sourcesContent":["\n\n\n","import Vue from 'vue/dist/vue.esm.js'\nimport $ from 'jquery'\nimport Cookies from 'js-cookie'\nimport FavoriteAndHistory from '@/javascripts/favorite_and_history.vue'\nimport agentAPI from '@/javascripts/utils/agent_api'\nimport { pharmacistFavoriteCount, touhanFavoriteCount } from '@/javascripts/utils/favorite_positions';\n\n// 薬剤師登録販売者でkeyを分ける\nconst target_position_key = document.getElementById('target_position_key');\nconst domain = target_position_key.getAttribute('domain')\nconst cookie_num_max = target_position_key.getAttribute('cookie_num_max')\nconst fp_key = target_position_key.getAttribute('fp_key')\nconst hp_key = target_position_key.getAttribute('hp_key')\n\nvar favoriteAndHistoryVue = new Vue({\n data: function () {\n return {\n cookies_fps: [],\n cookies_bhs: [],\n all_positions: [],\n fp_positions: [],\n browsing_history_positions: [],\n domain: domain\n }\n },\n el: '#favoriteAndHistory',\n components: {\n 'favorite_and_history': FavoriteAndHistory\n },\n mounted: function () {\n if(Cookies.get(fp_key)) { this.cookies_fps = Cookies.get(fp_key).split(',') }\n if(Cookies.get(hp_key)) { this.cookies_bhs = Cookies.get(hp_key).split(',') }\n this.setupPositions()\n },\n methods: {\n addFvp(add_position){ // お気に入りを追加\n this.all_positions.unshift(add_position)\n this.cookies_fps.unshift(add_position.id)\n this.updateFpPositions()\n },\n removeFvp(remove_position_id){ // お気に入りを削除\n let keyIndex = this.cookies_fps.indexOf(remove_position_id)\n if(keyIndex!=-1) { this.cookies_fps.splice(keyIndex,1) }\n this.updateFpPositions()\n },\n updateFpPositions(){\n this.fp_positions.splice(0)\n for (let i = 0; i < this.sliced_fps.length; i++) {\n let objectIndex = this.all_positions.findIndex(element => element.id === parseInt(this.sliced_fps[i]))\n if(objectIndex!=-1) { this.fp_positions.push(this.all_positions[objectIndex]) }\n }\n },\n updateBhPositions(){\n this.browsing_history_positions.splice(0)\n for (let j = 0; j < this.cookies_bhs.length; j++) {\n let objectIndex = this.all_positions.findIndex(element => element.id === parseInt(this.cookies_bhs[j]))\n if(objectIndex!=-1) { this.browsing_history_positions.push(this.all_positions[objectIndex]) }\n }\n },\n setupPositions(){\n let merged_keys = this.cookies_fps.concat(this.cookies_bhs)\n if(merged_keys.length == 0) { return true }\n agentAPI.get('/api/v1/position_by_ids?ids=' + merged_keys.join(',')).then((response) => {\n this.all_positions = response.data\n this.updateFpPositions()\n this.updateBhPositions()\n }, (error) => { console.log(error) });\n },\n },\n computed: {\n sliced_fps() { // お気に入り登録の表示は3件まで\n return this.cookies_fps.slice(0,3)\n }\n }\n})\n\n// 求人検索結果ページのお気に入り追加ボタン\n$('.js-add-favorite').on('click', function(){\n let dataId = parseInt(this.getAttribute('data-id'))\n let dataCatchcopy = this.getAttribute('data-catchcopy')\n let dataFeature = this.getAttribute('data-feature')\n let dataPositionCd = this.getAttribute('data-cd')\n setCookieByDataCookieKey(fp_key, dataId)\n let vueRightAreaComponent = favoriteAndHistoryVue.$refs.right_area_component.$root\n vueRightAreaComponent.addFvp({ id: dataId, catchcopy: dataCatchcopy, feature: dataFeature, position_cd: dataPositionCd })\n if (domain === \"touhan\") {\n touhanFavoriteCount()\n } else {\n pharmacistFavoriteCount()\n }\n})\n\n// 求人詳細ページのお気入り追加ボタン\nconst onClickDetailCallback = function(){\n const dataId = this.getAttribute('data-id')\n setCookieByDataCookieKey(fp_key, dataId)\n if(domain === 'touhan') {\n touhanFavoriteCount()\n } else {\n pharmacistFavoriteCount()\n }\n}\n$('.touhan_js_add_favorite_btn_from_detail').on('click', onClickDetailCallback)\n$('.js_add_favorite_btn_from_detail').on('click', onClickDetailCallback)\n\nfunction setCookieByDataCookieKey(dataCookieKey, dataId){\n const expires_dt = new Date();\n expires_dt.setTime(expires_dt.getTime() + (365 * 24 * 60 * 60 * 1000));\n if(Cookies.get(dataCookieKey)) {\n var th_favorite_ary = Cookies.get(dataCookieKey).split(',')\n if(th_favorite_ary.indexOf(dataId.toString()) > -1) { return true } // 重複時は何もしない\n th_favorite_ary.unshift(dataId.toString())\n Cookies.set(dataCookieKey, th_favorite_ary.slice(0,cookie_num_max).join(','), { \"expires\": expires_dt })\n } else {\n Cookies.set(dataCookieKey, dataId.toString(), { \"expires\": expires_dt })\n }\n}\n\n$('#favoritesList').on('click', '.js-remove-favorite', function(ev){\n let dataId = this.getAttribute('data-id')\n let fp_key = document.getElementById('target_position_key').getAttribute('fp_key')\n if(Cookies.get(fp_key)) { // Cookiesになければ何もしない\n let th_favorite_ary = Cookies.get(fp_key).split(',')\n let objectIndex = th_favorite_ary.indexOf(dataId)\n if(objectIndex == -1) { return true } // Cookiesに値がなければ何もしない\n th_favorite_ary.splice(objectIndex, 1)\n let expires_dt = new Date();\n expires_dt.setTime(expires_dt.getTime() + (365 * 24 * 60 * 60 * 1000));\n Cookies.set(fp_key, th_favorite_ary.join(','), { \"expires\": expires_dt })\n }\n let vueRightAreaComponent = favoriteAndHistoryVue.$refs.right_area_component.$root\n vueRightAreaComponent.removeFvp(dataId)\n if (domain === \"touhan\") {\n touhanFavoriteCount()\n } else {\n pharmacistFavoriteCount()\n }\n})\n"],"names":["appearance_area_list","_sfc_main","value","position","target_position_key","domain","cookie_num_max","fp_key","hp_key","favoriteAndHistoryVue","Vue","FavoriteAndHistory","Cookies","add_position","remove_position_id","keyIndex","i","objectIndex","element","j","merged_keys","agentAPI","response","error","$","dataId","dataCatchcopy","dataFeature","dataPositionCd","setCookieByDataCookieKey","touhanFavoriteCount","pharmacistFavoriteCount","onClickDetailCallback","dataCookieKey","expires_dt","th_favorite_ary","ev"],"mappings":"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"}