albinasoft-ui-package 1.1.61 → 1.1.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CustomForm.js +35 -37
- package/package.json +1 -1
@@ -131,35 +131,32 @@ var CustomForm = function (_a) {
|
|
131
131
|
uploaderInstances.current[id] = inst;
|
132
132
|
}; };
|
133
133
|
var handleConfirm = function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
134
|
-
var instances, _i, instances_1, inst, ok,
|
135
|
-
var
|
136
|
-
return __generator(this, function (
|
137
|
-
switch (
|
134
|
+
var form, uploaderValid, instances, _i, instances_1, inst, ok, customSelectValid, customTreeViewValid, nativeValid, allValid, formValues_1, _a;
|
135
|
+
var _b, _c;
|
136
|
+
return __generator(this, function (_d) {
|
137
|
+
switch (_d.label) {
|
138
138
|
case 0:
|
139
139
|
e.preventDefault();
|
140
|
-
|
140
|
+
// 1) Görsel validasyon state'lerini aç
|
141
|
+
setSubmitted(true);
|
142
|
+
form = formRef.current;
|
143
|
+
if (!form)
|
144
|
+
return [2 /*return*/];
|
145
|
+
uploaderValid = true;
|
141
146
|
instances = Object.values(uploaderInstances.current);
|
142
147
|
for (_i = 0, instances_1 = instances; _i < instances_1.length; _i++) {
|
143
148
|
inst = instances_1[_i];
|
144
|
-
ok = (
|
149
|
+
ok = (_b = inst === null || inst === void 0 ? void 0 : inst.validateReady) === null || _b === void 0 ? void 0 : _b.call(inst);
|
145
150
|
if (ok === false) {
|
146
|
-
|
147
|
-
return [2 /*return*/];
|
151
|
+
uploaderValid = false;
|
148
152
|
}
|
149
153
|
}
|
150
|
-
setSubmitted(true);
|
151
|
-
form = formRef.current;
|
152
|
-
if (!form)
|
153
|
-
return [2 /*return*/];
|
154
154
|
customSelectValid = true;
|
155
155
|
elements.forEach(function (element) {
|
156
|
-
if (element.type === ElementType.SELECT &&
|
157
|
-
element.required) {
|
156
|
+
if (element.type === ElementType.SELECT && element.required) {
|
158
157
|
var selectElement = element;
|
159
|
-
|
160
|
-
if ((Array.isArray(
|
161
|
-
selectElement.value.length === 0) ||
|
162
|
-
(!Array.isArray(selectElement.value) && !selectElement.value)) {
|
158
|
+
var val = selectElement.value;
|
159
|
+
if ((Array.isArray(val) && val.length === 0) || (!Array.isArray(val) && !val)) {
|
163
160
|
customSelectValid = false;
|
164
161
|
}
|
165
162
|
}
|
@@ -174,12 +171,22 @@ var CustomForm = function (_a) {
|
|
174
171
|
}
|
175
172
|
}
|
176
173
|
});
|
177
|
-
|
178
|
-
|
174
|
+
nativeValid = form.checkValidity();
|
175
|
+
allValid = uploaderValid && customSelectValid && customTreeViewValid && nativeValid;
|
176
|
+
if (!allValid) {
|
177
|
+
// Bootstrap görsel validasyonlarını hemen göster
|
178
|
+
form.classList.add("was-validated");
|
179
|
+
// Destekleyen tarayıcılarda nerenin hatalı olduğunu anında gösterir
|
180
|
+
(_c = form.reportValidity) === null || _c === void 0 ? void 0 : _c.call(form);
|
181
|
+
// Kullanıcıya genel mesaj
|
182
|
+
notify.error("Gerekli tüm alanları doldurunuz.");
|
183
|
+
return [2 /*return*/];
|
184
|
+
}
|
185
|
+
// 7) BURADAN SONRA GERÇEK SUBMIT
|
179
186
|
setIsLoading(true);
|
180
|
-
|
187
|
+
_d.label = 1;
|
181
188
|
case 1:
|
182
|
-
|
189
|
+
_d.trys.push([1, 3, 4, 5]);
|
183
190
|
formValues_1 = {};
|
184
191
|
Array.from(form.elements).forEach(function (element) {
|
185
192
|
if (element instanceof HTMLInputElement ||
|
@@ -187,18 +194,15 @@ var CustomForm = function (_a) {
|
|
187
194
|
element instanceof HTMLSelectElement) {
|
188
195
|
if (element.id) {
|
189
196
|
var name_1 = element.name || element.id;
|
190
|
-
if (element instanceof HTMLInputElement &&
|
191
|
-
element.type === ElementType.RADIO) {
|
197
|
+
if (element instanceof HTMLInputElement && element.type === "radio") {
|
192
198
|
if (element.checked) {
|
193
199
|
formValues_1[name_1] = element.value;
|
194
200
|
}
|
195
201
|
}
|
196
|
-
else if (element instanceof HTMLInputElement &&
|
197
|
-
element.type === ElementType.CHECKBOX) {
|
202
|
+
else if (element instanceof HTMLInputElement && element.type === "checkbox") {
|
198
203
|
formValues_1[name_1] = element.checked;
|
199
204
|
}
|
200
|
-
else if (element instanceof HTMLSelectElement &&
|
201
|
-
element.multiple) {
|
205
|
+
else if (element instanceof HTMLSelectElement && element.multiple) {
|
202
206
|
var selectedOptions = Array.from(element.selectedOptions).map(function (option) { return option.value; });
|
203
207
|
formValues_1[name_1] = selectedOptions;
|
204
208
|
}
|
@@ -211,7 +215,6 @@ var CustomForm = function (_a) {
|
|
211
215
|
}
|
212
216
|
}
|
213
217
|
});
|
214
|
-
// Özel elemanlar için (örneğin RichTextbox) değerleri ekleyin
|
215
218
|
elements.forEach(function (element) {
|
216
219
|
if ("value" in element && element.type === ElementType.RICHTEXTBOX) {
|
217
220
|
formValues_1[element.id] = element.value;
|
@@ -219,21 +222,16 @@ var CustomForm = function (_a) {
|
|
219
222
|
});
|
220
223
|
return [4 /*yield*/, onSubmit(formValues_1)];
|
221
224
|
case 2:
|
222
|
-
|
225
|
+
_d.sent();
|
223
226
|
return [3 /*break*/, 5];
|
224
227
|
case 3:
|
225
|
-
|
228
|
+
_a = _d.sent();
|
226
229
|
notify.error("Form gönderimi sırasında bir hata oluştu.");
|
227
230
|
return [3 /*break*/, 5];
|
228
231
|
case 4:
|
229
232
|
setIsLoading(false);
|
230
233
|
return [7 /*endfinally*/];
|
231
|
-
case 5: return [
|
232
|
-
case 6:
|
233
|
-
notify.error("Gerekli tüm alanları doldurunuz.");
|
234
|
-
form.classList.add("was-validated");
|
235
|
-
_b.label = 7;
|
236
|
-
case 7: return [2 /*return*/];
|
234
|
+
case 5: return [2 /*return*/];
|
237
235
|
}
|
238
236
|
});
|
239
237
|
}); };
|