aw-front-helpers 2.5.30 → 2.5.32

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.
@@ -9,31 +9,31 @@ const defaultOptions = {
9
9
  classIsError: 'is-error',
10
10
  animateToFirstError: false,
11
11
  i18n: {
12
- required: window.Translator && window.Translator.trans
12
+ required: window.Translator?.trans
13
13
  ? window.Translator.trans('form_errors.pattern')
14
14
  : 'Ce champs est obligatoire',
15
- same: window.Translator && window.Translator.trans
15
+ same: window.Translator?.trans
16
16
  ? window.Translator.trans('form_errors.same')
17
17
  : 'Les champs ne correspondent pas.',
18
- email: window.Translator && window.Translator.trans
18
+ email: window.Translator?.trans
19
19
  ? window.Translator.trans('form_errors.email')
20
20
  : 'Merci de renseigner un email valide.',
21
- empty: window.Translator && window.Translator.trans
21
+ empty: window.Translator?.trans
22
22
  ? window.Translator.trans('form_errors.empty')
23
23
  : 'Ce champs est obligatoire.',
24
- checkbox: window.Translator && window.Translator.trans
24
+ checkbox: window.Translator?.trans
25
25
  ? window.Translator.trans('form_errors.checkbox')
26
26
  : 'Veuillez accepter les conditions.',
27
- radio: window.Translator && window.Translator.trans
27
+ radio: window.Translator?.trans
28
28
  ? window.Translator.trans('form_errors.radio')
29
29
  : 'Veuillez sélectionner au moins un choix.',
30
- minLength: window.Translator && window.Translator.trans
30
+ minLength: window.Translator?.trans
31
31
  ? window.Translator.trans('form_errors.min_length')
32
32
  : 'Ce champ doit contenir au minimum %length% caractères',
33
- maxLength: window.Translator && window.Translator.trans
33
+ maxLength: window.Translator?.trans
34
34
  ? window.Translator.trans('form_errors.max_length')
35
35
  : 'Ce champ doit contenir au maximum %length% caractères',
36
- pattern: window.Translator && window.Translator.trans
36
+ pattern: window.Translator?.trans
37
37
  ? window.Translator.trans('form_errors.pattern')
38
38
  : 'La donnée saisie ne respecte pas les règles énoncées.',
39
39
  },
@@ -70,6 +70,8 @@ export default class FormControl {
70
70
  ...options,
71
71
  };
72
72
 
73
+ this.disabledControls = [];
74
+
73
75
  this._form.setAttribute('novalidate', 'novalidate');
74
76
  this._formCreateBound();
75
77
  this._formGrabDom();
@@ -104,6 +106,15 @@ export default class FormControl {
104
106
 
105
107
  //________________________________________________________ public
106
108
  // -
109
+ disableControlsIn(container) {
110
+ this.disabledControls.push( container );
111
+ }
112
+
113
+ enableControlsIn(container) {
114
+ const index = this.disabledControls.indexOf(container);
115
+ this.disabledControls.splice( index, 1 );
116
+ }
117
+
107
118
  destroy() {
108
119
  this._form.removeEventListener('submit', this._onFormSubmit);
109
120
  this._domForm.inputs.forEach((input) => {
@@ -251,7 +262,12 @@ export default class FormControl {
251
262
  const group = el.closest(this._options.selectorGroup);
252
263
  if (group === null) return false;
253
264
  if (el.getAttribute('disabled') !== null) return false;
254
-
265
+ if( this.disabledControls.length > 0 ) {
266
+ for( let i = 0; i < this.disabledControls.length; i++) {
267
+ const container = this.disabledControls[i];
268
+ if (container.contains(el)) return false;
269
+ }
270
+ }
255
271
  let invalid = false;
256
272
  if (!testRequired(el, this._form)) {
257
273
  invalid = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aw-front-helpers",
3
- "version": "2.5.30",
3
+ "version": "2.5.32",
4
4
  "description": "Assets helpers for projects",
5
5
  "author": "Yoann Le Poupon",
6
6
  "license": "ISC",