{"version":3,"file":"common_search_result_count-DtjCKGXG.js","sources":["../../../app/frontend/entrypoints/jobs/index/common_search_result_count.js"],"sourcesContent":["// getSearchResultCountの共通メソッド群\n\n// SearchParamの生成\nexport function generateSearchParam(form, isReset, free_word = null) {\n const formData = new FormData(form);\n\n const search_param = {\n jobs_search: {\n // free_wordの整形はバックエンドで行う\n free_word: '',\n category_names: [],\n type_names: [],\n license_names: [],\n area_names: [],\n prefecture_names: [],\n annual_salary_min: '',\n annual_salary_max: '',\n contract_names: [],\n feature_names: [],\n },\n };\n\n if (!isReset) {\n formData.forEach((value, key) => {\n if (key === 'jobs_search[free_word]') {\n search_param.jobs_search.free_word = free_word ? free_word : value;\n } else if (key.startsWith('jobs_search[category_names][]')) {\n search_param.jobs_search.category_names.push(value);\n } else if (key.startsWith('jobs_search[type_names][]')) {\n search_param.jobs_search.type_names.push(value);\n } else if (key.startsWith('jobs_search[license_names][]')) {\n search_param.jobs_search.license_names.push(value);\n } else if (key.startsWith('jobs_search[area_names][]')) {\n search_param.jobs_search.area_names.push(value);\n } else if (key.startsWith('jobs_search[prefecture_names][]')) {\n search_param.jobs_search.prefecture_names.push(value);\n } else if (key === 'jobs_search[annual_salary_min]') {\n search_param.jobs_search.annual_salary_min = value ? value : '';\n } else if (key === 'jobs_search[annual_salary_max]') {\n search_param.jobs_search.annual_salary_max = value ? value : '';\n } else if (key.startsWith('jobs_search[contract_names][]')) {\n search_param.jobs_search.contract_names.push(value);\n } else if (key.startsWith('jobs_search[feature_names][]')) {\n search_param.jobs_search.feature_names.push(value);\n }\n });\n }\n\n return search_param;\n}\n\n// SearchParamからURLSearchParamsを生成する\nexport function generateQueryParam(searchParam) {\n // クエリパラメータを生成\n const queryParams = new URLSearchParams();\n\n // jobs_searchオブジェクトをクエリパラメータに追加\n for (const [key, value] of Object.entries(searchParam.jobs_search)) {\n if (Array.isArray(value)) {\n value.forEach((val) => queryParams.append(`${key}[]`, val)); // 配列の場合は[]を付けて追加\n } else {\n queryParams.append(key, value); // 単一の値の場合はそのまま追加\n }\n }\n\n return queryParams;\n}\n\n// 生成したqueryParamを使って検索結果数を取得する\nexport async function getSearchResultCount(queryParams) {\n const API_END_POINT = '/api/jobs/search_results_count';\n return await fetch(`${API_END_POINT}?${queryParams.toString()}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': document\n .querySelector('meta[name=\"csrf-token\"]')\n .getAttribute('content'),\n },\n });\n}\n"],"names":["generateSearchParam","form","isReset","free_word","formData","search_param","value","key","generateQueryParam","searchParam","queryParams","val","getSearchResultCount"],"mappings":"AAGO,SAASA,EAAoBC,EAAMC,EAASC,EAAY,KAAM,CACnE,MAAMC,EAAW,IAAI,SAASH,CAAI,EAE5BI,EAAe,CACnB,YAAa,CAEX,UAAW,GACX,eAAgB,CAAE,EAClB,WAAY,CAAE,EACd,cAAe,CAAE,EACjB,WAAY,CAAE,EACd,iBAAkB,CAAE,EACpB,kBAAmB,GACnB,kBAAmB,GACnB,eAAgB,CAAE,EAClB,cAAe,CAAE,CAClB,CACL,EAEE,OAAKH,GACHE,EAAS,QAAQ,CAACE,EAAOC,IAAQ,CAC3BA,IAAQ,yBACVF,EAAa,YAAY,UAAYF,GAAwBG,EACpDC,EAAI,WAAW,+BAA+B,EACvDF,EAAa,YAAY,eAAe,KAAKC,CAAK,EACzCC,EAAI,WAAW,2BAA2B,EACnDF,EAAa,YAAY,WAAW,KAAKC,CAAK,EACrCC,EAAI,WAAW,8BAA8B,EACtDF,EAAa,YAAY,cAAc,KAAKC,CAAK,EACxCC,EAAI,WAAW,2BAA2B,EACnDF,EAAa,YAAY,WAAW,KAAKC,CAAK,EACrCC,EAAI,WAAW,iCAAiC,EACzDF,EAAa,YAAY,iBAAiB,KAAKC,CAAK,EAC3CC,IAAQ,iCACjBF,EAAa,YAAY,kBAAoBC,GAAgB,GACpDC,IAAQ,iCACjBF,EAAa,YAAY,kBAAoBC,GAAgB,GACpDC,EAAI,WAAW,+BAA+B,EACvDF,EAAa,YAAY,eAAe,KAAKC,CAAK,EACzCC,EAAI,WAAW,8BAA8B,GACtDF,EAAa,YAAY,cAAc,KAAKC,CAAK,CAEzD,CAAK,EAGID,CACT,CAGO,SAASG,EAAmBC,EAAa,CAE9C,MAAMC,EAAc,IAAI,gBAGxB,SAAW,CAACH,EAAKD,CAAK,IAAK,OAAO,QAAQG,EAAY,WAAW,EAC3D,MAAM,QAAQH,CAAK,EACrBA,EAAM,QAASK,GAAQD,EAAY,OAAO,GAAGH,CAAG,KAAMI,CAAG,CAAC,EAE1DD,EAAY,OAAOH,EAAKD,CAAK,EAIjC,OAAOI,CACT,CAGO,eAAeE,EAAqBF,EAAa,CAEtD,OAAO,MAAM,MAAM,kCAAoBA,EAAY,SAAU,CAAA,GAAI,CAC/D,OAAQ,MACR,QAAS,CACP,eAAgB,mBAChB,eAAgB,SACb,cAAc,yBAAyB,EACvC,aAAa,SAAS,CAC1B,CACL,CAAG,CACH"}