feat: カラーピッカーの修正の取り込み

This commit is contained in:
高木要 2023-07-19 17:38:43 +09:00
parent 7bf776fd36
commit 8329ad0b51

View File

@ -84,51 +84,54 @@ function selectDropDowList(id, selectedName){
function enableDatePicker() {
// カレンダーの表示を日曜日始まりに変更
flatpickr.l10ns.ja.firstDayOfWeek = 0;
$('.date_picker').flatpickr(
{
$(".date_picker").each(function(i, elem) {
const date_picker_name = elem.name;
flatpickr(elem, {
locale: 'ja', // 日本語カレンダー
allowInput: true, // 入力可能にする
dateFormat: 'Y/m/d' // 日付のフォーマットを修正
}
)
dateFormat: "YYYY/MM/DD", // 日付のフォーマット
onChange(_dates, currentDateString, _picker, _data) {
},
parseDate: function(strFormat, format) {
// yyyyMMddの場合→yyyy/MM/dd
const datePatternMatches = strFormat.match(/^(\d{4})(\d{2})(\d{2})$/);
if (datePatternMatches){
strFormat = `${datePatternMatches[1]}/${datePatternMatches[2]}/${datePatternMatches[3]}`;
}
// yyyy/00/00yyyy/00/00の場合→yyyy/01/01yyyy/12/31
// yyyy/MM/00yyyy/MM/01の場合→yyyy/MM/01yyyy/MM/末日
// 開始日の場合
if (date_picker_name.includes('from')){
strFormat = strFormat.replace("/00/00", "/01/01");
strFormat = strFormat.replace("/00", "/01");
}
// 終了日の場合
else if (date_picker_name.includes('to')){
strFormat = strFormat.replace("/00/00", "/12/31");
const date = new Date(strFormat.slice(0, 4), strFormat.slice(5, 7), 0).getDate();
strFormat = strFormat.replace("/00", "/"+date.toString());
}
return new Date(strFormat);
},
formatDate: (date, format) => {
// 日付の整合性チェック、不正の場合は空表示
if(isNaN(date.getDate())){
return;
}
// フォーマットを設定
const formatted = flatpickr.formatDate(date,'Y/m/d');
return formatted;
}
})
});
}
// 日付入力チェック
// 引数:チェックするテキストボックスNo
function autoModifyDate($this){
// 日付フォーマットチェック
if($this.value === "" ||
(!$this.value.match(/^\d{4}\/\d{2}\/\d{2}$/) && !$this.value.match(/^\d{4}\d{2}\d{2}$/)))
{
$this.value = "";
return;
}
/** @type { string }*/
let strFormat = $this.value;;
// yyyyMMddの場合→yyyy/MM/dd
const datePatternMatches = strFormat.match(/^(\d{4})(\d{2})(\d{2})$/);
if (datePatternMatches){
strFormat = `${datePatternMatches[1]}/${datePatternMatches[2]}/${datePatternMatches[3]}`;
}
// yyyy/00/00yyyy/00/00の場合→yyyy/01/01yyyy/12/31
// yyyy/MM/00yyyy/MM/01の場合→yyyy/MM/01yyyy/MM/末日
// 開始日の場合
if ($this.name.includes('from')){
strFormat = strFormat.replace("00/00", "01/01");
strFormat = strFormat.replace("00", "01");
}
// 終了日の場合
else if ($this.name.includes('to')){
strFormat = strFormat.replace("00/00", "12/31");
const date = new Date(strFormat.slice(0, 4), strFormat.slice(5, 7), 0).getDate();
strFormat = strFormat.replace("00", date.toString());
}
$this.value = strFormat;
}
// 前のスペースを許さない入力チェック
function checkSpaceForm($this)
{