Skip to content

Commit abbd0db

Browse files
committed
モバイルでの日付更新修正
1 parent 5f07be8 commit abbd0db

1 file changed

Lines changed: 19 additions & 2 deletions

File tree

src/templates/components/StockTable.html

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,12 @@
9090
? "date"
9191
: "text";
9292
$("#{{stock._id}}_{{key}}").addClass("complete-invisible");
93-
$("#{{stock._id}}_{{key}}_input").attr("type", inputType).focus();
94-
var form = $("#{{stock._id}}_{{key}}_input").get(0);
93+
const $input = $("#{{stock._id}}_{{key}}_input");
94+
$input.attr("type", inputType);
95+
$input.attr("data-original-value", $input.val());
96+
$input.attr("data-submitted", "0");
97+
$input.focus();
98+
var form = $input.get(0);
9599
if (inputType === "text") {
96100
// HACK: テキストカーソルを末尾に移動
97101
tmp = form.value;
@@ -101,11 +105,24 @@
101105
});
102106

103107
$("#{{stock._id}}_{{key}}_input").on("blur", (e) => {
108+
const original = $(e.currentTarget).attr("data-original-value");
109+
const current = $(e.currentTarget).val();
104110
$("#{{stock._id}}_{{key}}").removeClass("complete-invisible");
105111
$("#{{stock._id}}_{{key}}_input").attr("type", "hidden");
112+
if (current !== original && $(e.currentTarget).attr("data-submitted") !== "1") {
113+
$("#{{stock._id}}_{{key}}_form").trigger("submit");
114+
}
115+
});
116+
117+
// iOS Safari の date 入力では Enter submit されないことがあるため change で確定更新
118+
$("#{{stock._id}}_{{key}}_input").on("change", (e) => {
119+
if ("{{key}}" === "str_created_at" || "{{key}}" === "str_expiry_date") {
120+
$("#{{stock._id}}_{{key}}_form").trigger("submit");
121+
}
106122
});
107123

108124
form = $("#{{stock._id}}_{{key}}_form").submit((ele) => {
125+
$("#{{stock._id}}_{{key}}_input").attr("data-submitted", "1");
109126
if (ele.target.name == "item_name") {
110127
const item_name = $("#{{stock._id}}_item_name_input").val();
111128
if (item_name == "") {

0 commit comments

Comments
 (0)