PageSourceSearch

https://banhome.jp/banhome-cms/wp-content/themes/banhome/KengakuCloud/kcevents.js

js banhome.jp collected 2026-10-04 04:02:41 UTC 11,745 bytes, 382 lines download raw bytes

1const API_TOKEN = "429a2f67-d679-42c2-9a12-00aa6c6d3339"; // APIトークン 株式会社藤真工業様
2// const API_TOKEN = "6b50b26f-be6f-4b49-b465-0a6f0b9a4715"; // APIトークン デモトークン
3const API_ACCESS_KEY =
4  "https://www.ie-miru.jp/api/v1/events?token=" + API_TOKEN; // APIアクセスキー
5const API_ACCESS_KEY_FINISHED =
6  "https://www.ie-miru.jp/api/v1/events?token=" +
7  API_TOKEN +
8  "&include_finished_events=true"; // APIアクセスキー 終了イベントも含む
9const IMG_FOLDER = "./img/"; // imgフォルダのパス
10const KC_SOURCE = "banhome.jp";
11const TOP_EVENTS_NUM = 3;
12const HEADER_BACK_URL = "https://banhome.jp/";
13const Spinner = window.VueSimpleSpinner;
14
15var utilityMixin = {
16  methods: {
17    formatDateStr(p_event_date) {
18      // 2022年1月28日(木)~2022年1月29日(木) にする
19      let format_str = p_event_date;
20      format_str = format_str.replace(/\)〜/g, "\)〜<br>");
21      return format_str;
22    },
23    checkImg(p_url) {
24      if (p_url) {
25        return p_url;
26      }
27      return "https://www.ie-miru.jp/custom/images/base/photo_no_image_02.png";
28    },
29
30    checkDisplayAddressText(p_address, p_display_address_text) {
31      // 表示用住所が入力されている場合はそちらを表示
32      let ret_address = p_address;
33      if (p_display_address_text) {
34        ret_address = p_display_address_text;
35      }
36      return ret_address;
37    },
38
39    dispModel(p_type) {
40      switch (p_type) {
41        case 'モデルハウス':
42          return true;
43      }
44      return false;
45    },
46  },
47};
48
49let componentTopEvents = {
50  mixins: [utilityMixin],
51  template: `
52  <div class="kc-content">
53    <spinner class="kc-spinner" v-show="isEventLoading"></spinner>
54    <ul v-show="!isEventLoading" class="kc-cards">
55        <li v-for="event in events" class="kc-card">
56            <a :href="event.url + (event.url.indexOf('?') != -1 ? '&' : '?') + 'kc_source=' + KC_SOURCE + '&utm_store_kc=true' + '&header_back_url=' +  HEADER_BACK_URL" class="kc-link">
57              <div class="kc-image">
58                <img :src="checkImg(event.image_url)" alt="">
59              </div>
60              <div class="kc-info">
61                <div class="kc-tags">
62                  <span class="kc-type">{{event.event_type}}</span>
63                  <span class="kc-format">{{event.event_format_string}}</span>
64                </div>
65                <h3 class="kc-name">{{event.name}}</h3>
66                <div class="kc-date" v-html="formatDateStr(event.event_open_date_from_to_string)"></div>
67                <div class="kc-address"><span class="kc-venue">会場&nbsp;&nbsp;|&nbsp;&nbsp;</span>{{checkDisplayAddressText(event.event_rough_address,event.display_address_text)}}</div>
68              </div>
69            </a>
70        </li>
71    </ul>
72  </div>
73
74  `,
75  components: {
76    spinner: Spinner,
77  },
78  data() {
79    return {
80      events: [],
81      isEventLoading: true,
82      // imgfolder: "",
83    };
84  },
85  mounted() {
86    this.dispEvent();
87    this.imgfolder = IMG_FOLDER;
88  },
89  methods: {
90    dispEvent: async function () {
91      // 先にKCイベントを表示する
92      let result = await this.Kcevent();
93    },
94    Kcevent: async function () {
95      // this.imgfolder = IMG_FOLDER;
96      await axios
97        .get(API_ACCESS_KEY)
98        .then(
99          function (response) {
100            getEvents = response.data.events;
101            for (normalItem in getEvents) {
102              if (!this.dispModel(getEvents[normalItem].event_type)) {
103                this.events.push(getEvents[normalItem]);
104              }
105              if (this.events.length >= TOP_EVENTS_NUM) {
106                break;
107              };
108            };
109            this.isEventLoading = false;
110          }.bind(this)
111        )
112        .catch(
113          function (response) {
114            console.log("error");
115            console.log(response.data);
116          }.bind(this)
117        );
118    },
119  },
120  created() {
121    document.addEventListener("turbolinks:before-cache", this.onBrowserBack)
122  },
123  destroyed() {
124    document.removeEventListener("turbolinks:before-cache", this.onBrowserBack)
125  },
126};
127
128let componentTopModelEvents = {
129  mixins: [utilityMixin],
130  template: `
131  <div class="kc-content">
132    <spinner class="kc-spinner" v-show="isEventLoading"></spinner>
133    <ul v-show="!isEventLoading" class="kc-cards">
134        <li v-for="event in events" class="kc-card">
135            <a :href="event.url + (event.url.indexOf('?') != -1 ? '&' : '?') + 'kc_source=' + KC_SOURCE + '&utm_store_kc=true' + '&header_back_url=' +  HEADER_BACK_URL" class="kc-link">
136              <div class="kc-image">
137                <img :src="checkImg(event.image_url)" alt="">
138              </div>
139              <div class="kc-info">
140                <h3 class="kc-name">{{event.name}}</h3>
141                <div class="kc-address"><span class="kc-venue">会場&nbsp;&nbsp;|&nbsp;&nbsp;</span>{{checkDisplayAddressText(event.event_rough_address,event.display_address_text)}}</div>
142              </div>
143            </a>
144        </li>
145    </ul>
146  </div>
147
148  `,
149  components: {
150    spinner: Spinner,
151  },
152  data() {
153    return {
154      events: [],
155      isEventLoading: true,
156      // imgfolder: "",
157    };
158  },
159  mounted() {
160    this.dispEvent();
161    this.imgfolder = IMG_FOLDER;
162  },
163  methods: {
164    dispEvent: async function () {
165      // 先にKCイベントを表示する
166      let result = await this.Kcevent();
167    },
168    Kcevent: async function () {
169      // this.imgfolder = IMG_FOLDER;
170      await axios
171        .get(API_ACCESS_KEY)
172        .then(
173          function (response) {
174            getEvents = response.data.events;
175            for (normalItem in getEvents) {
176              if (this.dispModel(getEvents[normalItem].event_type)) {
177                this.events.push(getEvents[normalItem]);
178              }
179              if (this.events.length >= TOP_EVENTS_NUM) {
180                break;
181              };
182            };
183            this.isEventLoading = false;
184          }.bind(this)
185        )
186        .catch(
187          function (response) {
188            console.log("error");
189            console.log(response.data);
190          }.bind(this)
191        );
192    },
193  },
194  created() {
195    document.addEventListener("turbolinks:before-cache", this.onBrowserBack)
196  },
197  destroyed() {
198    document.removeEventListener("turbolinks:before-cache", this.onBrowserBack)
199  },
200};
201
202
203let componentAllEvents = {
204  mixins: [utilityMixin],
205  template: `
206  <div class="kc-content">
207    <spinner class="kc-spinner" v-show="isEventLoading"></spinner>
208    <ul v-show="!isEventLoading" class="kc-cards -all">
209        <li v-for="event in events" class="kc-card -all" :class="event.finished ? 'endDateTimeBg' : '' ">
210            <a :href="event.url + (event.url.indexOf('?') != -1 ? '&' : '?') + 'kc_source=' + KC_SOURCE + '&utm_store_kc=true' + '&header_back_url=' +  HEADER_BACK_URL" class="kc-link">
211              <div class="kc-image">
212                <img :src="checkImg(event.image_url)" alt="">
213              </div>
214              <div class="kc-info">
215                <div class="kc-tags">
216                  <span class="kc-type">{{event.event_type}}</span>
217                  <span class="kc-format">{{event.event_format_string}}</span>
218                </div>
219                <h3 class="kc-name">{{event.name}}</h3>
220                <div class="kc-date" v-html="formatDateStr(event.event_open_date_from_to_string)"></div>
221                <div class="kc-address"><span class="kc-venue">会場&nbsp;&nbsp;|&nbsp;&nbsp;</span>{{checkDisplayAddressText(event.event_rough_address,event.display_address_text)}}</div>
222              </div>
223            </a>
224        </li>
225    </ul>
226  </div>
227
228  `,
229  components: {
230    spinner: Spinner,
231  },
232  data() {
233    return {
234      events: [],
235      isEventLoading: true,
236      // imgfolder: "",
237    };
238  },
239  mounted() {
240    this.dispEvent();
241    this.imgfolder = IMG_FOLDER;
242  },
243  methods: {
244    dispEvent: async function () {
245      // 先にKCイベントを表示する
246      let result = await this.Kcevent();
247    },
248    Kcevent: async function () {
249      // this.imgfolder = IMG_FOLDER;
250      await axios
251        .get(API_ACCESS_KEY_FINISHED)
252        .then(
253          function (response) {
254            getEvents = response.data.events;
255            for (normalItem in getEvents) {
256              if (!this.dispModel(getEvents[normalItem].event_type)) {
257                this.events.push(getEvents[normalItem]);
258              }
259              // if (this.events.length >= TOP_EVENTS_NUM) {
260              //   break;
261              // };
262            };
263            this.isEventLoading = false;
264          }.bind(this)
265        )
266        .catch(
267          function (response) {
268            console.log("error");
269            console.log(response.data);
270          }.bind(this)
271        );
272    },
273  },
274  created() {
275    document.addEventListener("turbolinks:before-cache", this.onBrowserBack)
276  },
277  destroyed() {
278    document.removeEventListener("turbolinks:before-cache", this.onBrowserBack)
279  },
280};
281
282
283let componentModelEvents = {
284  mixins: [utilityMixin],
285  template: `
286 <div class="kc-content">
287    <spinner class="kc-spinner" v-show="isEventLoading"></spinner>
288    <ul v-show="!isEventLoading" class="kc-cards -all">
289        <li v-for="event in events" class="kc-card -all">
290            <a :href="event.url + (event.url.indexOf('?') != -1 ? '&' : '?') + 'kc_source=' + KC_SOURCE + '&utm_store_kc=true' + '&header_back_url=' +  HEADER_BACK_URL" class="kc-link">
291              <div class="kc-image">
292                <img :src="checkImg(event.image_url)" alt="">
293              </div>
294              <div class="kc-info">
295                <h3 class="kc-name">{{event.name}}</h3>
296                <div class="kc-address"><span class="kc-venue">会場&nbsp;&nbsp;|&nbsp;&nbsp;</span>{{checkDisplayAddressText(event.event_rough_address,event.display_address_text)}}</div>
297              </div>
298            </a>
299        </li>
300    </ul>
301  </div>
302  `,
303  components: {
304    spinner: Spinner,
305  },
306  data() {
307    return {
308      events: [],
309      isEventLoading: true,
310      // imgfolder: "",
311    };
312  },
313  mounted() {
314    this.dispEvent();
315    this.imgfolder = IMG_FOLDER;
316  },
317  methods: {
318    dispEvent: async function () {
319      // 先にKCイベントを表示する
320      let result = await this.Kcevent();
321    },
322    Kcevent: async function () {
323      // this.imgfolder = IMG_FOLDER;
324      await axios
325        .get(API_ACCESS_KEY_FINISHED)
326        .then(
327          function (response) {
328            getEvents = response.data.events;
329            for (normalItem in getEvents) {
330              if (this.dispModel(getEvents[normalItem].event_type)) {
331                this.events.push(getEvents[normalItem]);
332              }
333              // if (this.events.length >= TOP_EVENTS_NUM) {
334              //   break;
335              // };
336            };
337            this.isEventLoading = false;
338          }.bind(this)
339        )
340        .catch(
341          function (response) {
342            console.log("error");
343            console.log(response.data);
344          }.bind(this)
345        );
346    },
347  },
348  created() {
349    document.addEventListener("turbolinks:before-cache", this.onBrowserBack)
350  },
351  destroyed() {
352    document.removeEventListener("turbolinks:before-cache", this.onBrowserBack)
353  },
354};
355
356
357var kcapp = new Vue({
358  el: "#kcapp",
359  components: {
360    "top-events": componentTopEvents,
361    "all-events": componentAllEvents,
362    "model-events": componentModelEvents,
363  },
364  data: {},
365  mounted() { },
366  beforeDestroy() { },
367  methods: {},
368});
369
370var kcapp2 = new Vue({
371  el: "#kcapp2",
372  components: {
373    "top-model-events": componentTopModelEvents,
374
375  },
376  data: {},
377  mounted() { },
378  beforeDestroy() { },
379  methods: {},
380});
381
382

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.