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.
@@ -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, form, customSelectValid, customTreeViewValid, isValid, formValues_1, error_1;
135
- var _a;
136
- return __generator(this, function (_b) {
137
- switch (_b.label) {
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
- setSubmitted(true); // Form gönderimi tetiklendi
140
+ // 1) Görsel validasyon state'lerini
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 = (_a = inst === null || inst === void 0 ? void 0 : inst.validateReady) === null || _a === void 0 ? void 0 : _a.call(inst);
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
- // Uyarıyı uploader kendisi gösterdi; submit başlamasın.
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
- // Eğer değer boş (string) veya boş array ise geçersiz kabul edin
160
- if ((Array.isArray(selectElement.value) &&
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
- isValid = form.checkValidity() && customSelectValid && customTreeViewValid;
178
- if (!isValid) return [3 /*break*/, 6];
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
- _b.label = 1;
187
+ _d.label = 1;
181
188
  case 1:
182
- _b.trys.push([1, 3, 4, 5]);
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
- _b.sent();
225
+ _d.sent();
223
226
  return [3 /*break*/, 5];
224
227
  case 3:
225
- error_1 = _b.sent();
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 [3 /*break*/, 7];
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
  }); };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "albinasoft-ui-package",
3
- "version": "1.1.61",
3
+ "version": "1.1.62",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {