PageSourceSearch

https://kuramore.jp/sell/js/components/form-button.js

js kuramore.jp collected 2026-10-04 13:25:47 UTC 2,379 bytes, 79 lines download raw bytes

1import * as api from '../../../trend/js/components/api.js';
2
3/**
4 * 売却フォーム / Home4Uへ遷移させる
5 * @param {object} params パラメータ
6 * @param {string} bukkenId 物件ID
7 */
8export const navigateToPage = async (params, bukkenId = '') => {
9  let form = '';
10
11  // 物件IDで物件住所を取得してパラメータに設定
12  if (bukkenId !== '') {
13    const bukkenData = await api.fetchBukkenData(bukkenId);
14    params = {
15      ...params,
16      bukkenPrefCd: bukkenData.prefCd,
17      bukkenCityCd: bukkenData.cityCd,
18      bukkenTownCd: bukkenData.townCd,
19      bukkenChomeCd: bukkenData.chomeCd,
20      bukkenBlockName: bukkenData.buildingName,
21      bukkenBuildingName: bukkenData.name
22    }
23    // 物件情報が存在しない:売却フォーム(GET)
24    if (Object.keys(bukkenData).length === 0) {
25      window.location.href = '/form/sell/';
26      return;
27    }
28  }
29
30  // 担当店舗存在する:売却フォーム(POST) / 担当店舗存在しない:Home4U
31  if (await existsAssignShop(params)) {
32    form = createForm('POST', '/form/sell/', params);
33  } else {
34    const minimalParams = {
35      prefCd: params.bukkenPrefCd,
36      cityCd: params.bukkenCityCd
37    }
38    form = createForm('GET', '/lp/sell/partner-h4u', minimalParams);
39  }
40  document.body.appendChild(form);
41  form.submit();
42}
43
44/**
45 * 物件住所情報に紐づく担当店舗の存在有無をチェックする
46 * @param {object} params 物件住所情報
47 * @return 担当店舗存在有無
48 */
49async function existsAssignShop(params) {
50  const assignShopData = await api.fetchAssignShopData(params.bukkenPrefCd, params.bukkenCityCd, params.bukkenTownCd, params.bukkenChomeCd);
51  if (Object.keys(assignShopData).length === 0) {
52    return false;
53  }
54  return true;
55}
56
57/**
58 * フォームを生成する
59 * @param {string} method 
60 * @param {string} action 
61 * @param {object} params 
62 * @return {object} 生成したフォーム
63 */
64function createForm (method, action, params) {
65  const form = document.createElement('form');
66  form.method = method;
67  form.action = action;
68
69  for (const key in params) {
70    if (params.hasOwnProperty(key)) {
71      const hiddenField = document.createElement('input');
72      hiddenField.type = 'hidden';
73      hiddenField.name = key;
74      hiddenField.value = params[key];
75      form.appendChild(hiddenField);
76    }
77  }
78  return form;
79}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.