PageSourceSearch

https://chosonsinbo.com/wp-content/themes/advanced-newspaper/assets/js/cf7-datepicker.js?ver=1774248471

js chosonsinbo.com collected 2026-10-02 06:56:43 UTC 11,761 bytes, 411 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function () {
2
3  if (typeof flatpickr === 'undefined') return;
4
5
6  /* ================================
7     購読開始日
8  ================================ */
9
10  const subscribeStart = document.getElementById('menu-kaishi-date');
11
12  if (subscribeStart) {
13
14    const yearField = document.getElementById('menu-kaishi-y');
15    const monthField = document.getElementById('menu-kaishi-m');
16    const dayField = document.getElementById('menu-kaishi-d');
17
18    flatpickr(subscribeStart, {
19      locale: 'ja',
20      dateFormat: 'Y-m-d',
21      disableMobile: true,
22      minDate: '2020-01-01',
23
24      onChange: function (selectedDates) {
25
26        if (!selectedDates.length) return;
27
28        const d = selectedDates[0];
29
30        if (yearField) yearField.value = d.getFullYear();
31        if (monthField) monthField.value = d.getMonth() + 1;
32        if (dayField) dayField.value = d.getDate();
33
34      }
35    });
36
37  }
38
39
40  /* ================================
41     イベント開催日(報告フォーム)
42  ================================ */
43
44  const eventStart = document.getElementById('event-start-date');
45
46  if (eventStart) {
47
48    const eventStartYear = document.getElementById('event_start_year');
49    const eventStartMonth = document.getElementById('event_start_month');
50    const eventStartDay = document.getElementById('event_start_day');
51
52    flatpickr(eventStart, {
53      locale: 'ja',
54      dateFormat: 'Y-m-d',
55      disableMobile: true,
56      minDate: '2020-01-01',
57      maxDate: 'today',
58
59      onChange: function (selectedDates) {
60
61        if (!selectedDates.length) return;
62
63        const d = selectedDates[0];
64
65        if (eventStartYear) eventStartYear.value = d.getFullYear();
66        if (eventStartMonth) eventStartMonth.value = d.getMonth() + 1;
67        if (eventStartDay) eventStartDay.value = d.getDate();
68
69      }
70    });
71
72  }
73
74  /* ================================
75     生年月日
76  ================================ */
77
78  const birthDate = document.getElementById('birth-date');
79
80  if (birthDate) {
81
82    const birthYear = document.getElementById('year_of_birth');
83    const birthMonth = document.getElementById('month_of_birth');
84    const birthDay = document.getElementById('day_of_birth');
85
86    flatpickr(birthDate, {
87      locale: 'ja',
88      dateFormat: 'Y-m-d',
89      disableMobile: true,
90      minDate: '1900-01-01',
91      maxDate: 'today',
92
93      onChange: function (selectedDates) {
94
95        if (!selectedDates.length) return;
96
97        const d = selectedDates[0];
98
99        if (birthYear) birthYear.value = d.getFullYear();
100        if (birthMonth) birthMonth.value = d.getMonth() + 1;
101        if (birthDay) birthDay.value = d.getDate();
102
103      }
104    });
105
106  }
107  /* ================================
108     担当者生年月日
109  ================================ */
110
111  const birthDateManager = document.getElementById('birth-date-manager');
112
113  if (birthDateManager) {
114
115    const birthYear = document.getElementById('year_of_birth');
116    const birthMonth = document.getElementById('month_of_birth');
117    const birthDay = document.getElementById('day_of_birth');
118
119    flatpickr(birthDateManager, {
120      locale: 'ja',
121      dateFormat: 'Y-m-d',
122      disableMobile: true,
123      minDate: '1900-01-01',
124      maxDate: 'today',
125
126      onChange: function (selectedDates) {
127
128        if (!selectedDates.length) return;
129
130        const d = selectedDates[0];
131
132        if (birthYear) birthYear.value = d.getFullYear();
133        if (birthMonth) birthMonth.value = d.getMonth() + 1;
134        if (birthDay) birthDay.value = d.getDate();
135
136      }
137    });
138
139  }
140
141  /* ================================
142     イベント日時(開始日・終了日)
143     過去/未来どちらも可
144  ================================ */
145
146  const kikan1Date = document.getElementById('menu-kikan1-date');
147
148  if (kikan1Date) {
149
150    const kikan1Year = document.getElementById('menu-kikan1y');
151    const kikan1Month = document.getElementById('menu-kikan1m');
152    const kikan1Day = document.getElementById('menu-kikan1d');
153
154    flatpickr(kikan1Date, {
155      locale: 'ja',
156      dateFormat: 'Y-m-d',
157      disableMobile: true,
158
159      onChange: function (selectedDates) {
160
161        if (!selectedDates.length) return;
162
163        const d = selectedDates[0];
164
165        if (kikan1Year) kikan1Year.value = d.getFullYear();
166        if (kikan1Month) kikan1Month.value = d.getMonth() + 1;
167        if (kikan1Day) kikan1Day.value = d.getDate();
168
169      }
170    });
171
172  }
173
174  const kikan2Date = document.getElementById('menu-kikan2-date');
175
176  if (kikan2Date) {
177
178    const kikan2Year = document.getElementById('menu-kikan2y');
179    const kikan2Month = document.getElementById('menu-kikan2m');
180    const kikan2Day = document.getElementById('menu-kikan2d');
181
182    flatpickr(kikan2Date, {
183      locale: 'ja',
184      dateFormat: 'Y-m-d',
185      disableMobile: true,
186
187      onChange: function (selectedDates) {
188
189        if (!selectedDates.length) return;
190
191        const d = selectedDates[0];
192
193        if (kikan2Year) kikan2Year.value = d.getFullYear();
194        if (kikan2Month) kikan2Month.value = d.getMonth() + 1;
195        if (kikan2Day) kikan2Day.value = d.getDate();
196
197      }
198    });
199
200  }
201  /* ================================
202     過去日用 共通関数
203  ================================ */
204  function initPastDatePicker(inputId, yearId, monthId, dayId) {
205    const input = document.getElementById(inputId);
206    if (!input) return;
207
208    const yearField = document.getElementById(yearId);
209    const monthField = document.getElementById(monthId);
210    const dayField = document.getElementById(dayId);
211
212    flatpickr(input, {
213      locale: 'ja',
214      dateFormat: 'Y-m-d',
215      disableMobile: true,
216      minDate: '2011-01-01',
217      maxDate: 'today',
218
219      onChange: function (selectedDates) {
220        if (!selectedDates.length) return;
221
222        const d = selectedDates[0];
223
224        if (yearField) yearField.value = d.getFullYear();
225        if (monthField) monthField.value = d.getMonth() + 1;
226        if (dayField) dayField.value = d.getDate();
227      }
228    });
229  }
230
231  /* 写真プリント販売フォーム */
232  initPastDatePicker('paper-date-1a', 'menu-nen1A', 'menu-gatsu1A', 'menu-hi1A');
233  initPastDatePicker('paper-date-1b', 'menu-nen1B', 'menu-gatsu1B', 'menu-hi1B');
234
235  initPastDatePicker('paper-date-2a', 'menu-nen2A', 'menu-gatsu2A', 'menu-hi2A');
236  initPastDatePicker('paper-date-2b', 'menu-nen2B', 'menu-gatsu2B', 'menu-hi2B');
237
238  initPastDatePicker('paper-date-3a', 'menu-nen3A', 'menu-gatsu3A', 'menu-hi3A');
239  initPastDatePicker('paper-date-3b', 'menu-nen3B', 'menu-gatsu3B', 'menu-hi3B');
240
241  initPastDatePicker('paper-date-4a', 'menu-nen4A', 'menu-gatsu4A', 'menu-hi4A');
242  initPastDatePicker('paper-date-4b', 'menu-nen4B', 'menu-gatsu4B', 'menu-hi4B');
243
244  initPastDatePicker('paper-date-5a', 'menu-nen5A', 'menu-gatsu5A', 'menu-hi5A');
245  initPastDatePicker('paper-date-5b', 'menu-nen5B', 'menu-gatsu5B', 'menu-hi5B');
246
247
248  /* ================================
249     紙面データ販売フォーム
250     1行目必須 / 2〜5行目任意
251     過去日のみ
252  ================================ */
253
254  function initPaperDatePicker(inputId, yearId, monthId, dayId) {
255    const input = document.getElementById(inputId);
256    if (!input) return;
257
258    const yearField = document.getElementById(yearId);
259    const monthField = document.getElementById(monthId);
260    const dayField = document.getElementById(dayId);
261
262    flatpickr(input, {
263      locale: 'ja',
264      dateFormat: 'Y-m-d',
265      disableMobile: true,
266      minDate: '2010-01-01',
267      maxDate: 'today',
268
269      onChange: function (selectedDates) {
270        if (!selectedDates.length) return;
271
272        const d = selectedDates[0];
273
274        if (yearField) yearField.value = d.getFullYear();
275        if (monthField) monthField.value = d.getMonth() + 1;
276        if (dayField) dayField.value = d.getDate();
277      }
278    });
279  }
280
281  initPaperDatePicker('paper-date-1', 'menu-nen', 'menu-gatsu', 'menu-hi');
282  initPaperDatePicker('paper-date-2', 'menu-nen2', 'menu-gatsu2', 'menu-hi2');
283  initPaperDatePicker('paper-date-3', 'menu-nen3', 'menu-gatsu3', 'menu-hi3');
284  initPaperDatePicker('paper-date-4', 'menu-nen4', 'menu-gatsu4', 'menu-hi4');
285  initPaperDatePicker('paper-date-5', 'menu-nen5', 'menu-gatsu5', 'menu-hi5');
286
287
288  /* ================================
289     朝鮮語版 購読開始日
290  ================================ */
291
292  const subscribeStartKr = document.getElementById('menu-kaishi-date-kr');
293
294  if (subscribeStartKr) {
295
296    const yearFieldKr = document.getElementById('menu-kaishi-y');
297    const monthFieldKr = document.getElementById('menu-kaishi-m');
298    const dayFieldKr = document.getElementById('menu-kaishi-d');
299
300    flatpickr(subscribeStartKr, {
301      locale: 'ja',
302      dateFormat: 'Y-m-d',
303      disableMobile: true,
304      minDate: '2020-01-01',
305
306      onChange: function (selectedDates) {
307
308        if (!selectedDates.length) return;
309
310        const d = selectedDates[0];
311
312        if (yearFieldKr) yearFieldKr.value = d.getFullYear();
313        if (monthFieldKr) monthFieldKr.value = d.getMonth() + 1;
314        if (dayFieldKr) dayFieldKr.value = d.getDate();
315
316      }
317    });
318
319  }
320  /* ================================
321     朝鮮語版 お問い合わせ イベント期間
322     過去/未来どちらも可
323  ================================ */
324
325  const kikan1DateKr = document.getElementById('menu-kikan1-date-kr');
326
327  if (kikan1DateKr) {
328
329    const kikan1YearKr = document.getElementById('menu-kikan1y');
330    const kikan1MonthKr = document.getElementById('menu-kikan1m');
331    const kikan1DayKr = document.getElementById('menu-kikan1d');
332
333    flatpickr(kikan1DateKr, {
334      locale: 'ja',
335      dateFormat: 'Y-m-d',
336      disableMobile: true,
337
338      onChange: function (selectedDates) {
339
340        if (!selectedDates.length) return;
341
342        const d = selectedDates[0];
343
344        if (kikan1YearKr) kikan1YearKr.value = d.getFullYear();
345        if (kikan1MonthKr) kikan1MonthKr.value = d.getMonth() + 1;
346        if (kikan1DayKr) kikan1DayKr.value = d.getDate();
347
348      }
349    });
350
351  }
352
353  const kikan2DateKr = document.getElementById('menu-kikan2-date-kr');
354
355  if (kikan2DateKr) {
356
357    const kikan2YearKr = document.getElementById('menu-kikan2y');
358    const kikan2MonthKr = document.getElementById('menu-kikan2m');
359    const kikan2DayKr = document.getElementById('menu-kikan2d');
360
361    flatpickr(kikan2DateKr, {
362      locale: 'ja',
363      dateFormat: 'Y-m-d',
364      disableMobile: true,
365
366      onChange: function (selectedDates) {
367
368        if (!selectedDates.length) return;
369
370        const d = selectedDates[0];
371
372        if (kikan2YearKr) kikan2YearKr.value = d.getFullYear();
373        if (kikan2MonthKr) kikan2MonthKr.value = d.getMonth() + 1;
374        if (kikan2DayKr) kikan2DayKr.value = d.getDate();
375
376      }
377    });
378
379  }
380  /* ================================
381     朝鮮語版 행사・활동 투고 폼 開催日
382     過去/未来どちらも可
383  ================================ */
384
385  const eventStartKo = document.getElementById('event-start-date-ko');
386
387  if (eventStartKo) {
388
389    const eventStartYearKo = document.getElementById('event_start_year');
390    const eventStartMonthKo = document.getElementById('event_start_month');
391    const eventStartDayKo = document.getElementById('event_start_day');
392
393    flatpickr(eventStartKo, {
394      locale: 'ja',
395      dateFormat: 'Y-m-d',
396      disableMobile: true,
397
398      onChange: function (selectedDates) {
399        if (!selectedDates.length) return;
400
401        const d = selectedDates[0];
402
403        if (eventStartYearKo) eventStartYearKo.value = d.getFullYear();
404        if (eventStartMonthKo) eventStartMonthKo.value = d.getMonth() + 1;
405        if (eventStartDayKo) eventStartDayKo.value = d.getDate();
406      }
407    });
408
409  }
410
411});

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.