@everymatrix/general-player-register-form-step1 0.0.292 → 0.0.295

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/general-player-register-form-step1",
3
- "version": "0.0.292",
3
+ "version": "0.0.295",
4
4
  "main": "dist/general-player-register-form-step1.js",
5
5
  "svelte": "src/index.ts",
6
6
  "scripts": {
@@ -36,5 +36,5 @@
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  },
39
- "gitHead": "c69fc04487b15c7c69d2a7c8943340d2a8b78c4f"
39
+ "gitHead": "5f850bb3c7a28c78d04d9b6d856c364797cdaf40"
40
40
  }
@@ -6,13 +6,17 @@
6
6
  import { RegisterFormStep1Translations } from './translations';
7
7
 
8
8
  export let lang:string = '';
9
+ // Possible disabled fields: ['email', 'username', 'name', 'password', 'confirmPassword', 'securityQuestion', 'securityAnswer']
10
+ export let disabledfields:string = '';
9
11
 
10
- let invalidEmail:Boolean = false;
11
- let invalidName:Boolean = false;
12
- let invalidPassword:Boolean = false;
13
- let invalidConfirmPassword:Boolean = false;
14
- let invalidSecurityQuestion:Boolean = false;
15
- let invalidSecurityAnswer:Boolean = false;
12
+ let invalidEmail:boolean = false;
13
+ let invalidName:boolean = false;
14
+ let invalidPassword:boolean = false;
15
+ let invalidConfirmPassword:boolean = false;
16
+ let invalidSecurityQuestion:boolean = false;
17
+ let invalidSecurityAnswer:boolean = false;
18
+
19
+ let disabledFieldsList:Array<string>;
16
20
 
17
21
  let userValue:string = '';
18
22
  let userEmail:string = '';
@@ -21,13 +25,13 @@
21
25
  let securityQuestion:string = '';
22
26
  let securityAnswer:string = '';
23
27
 
24
- let isPasswordVisible:Boolean = false;
25
- let isConfirmPasswordVisible:Boolean = false;
28
+ let isPasswordVisible:boolean = false;
29
+ let isConfirmPasswordVisible:boolean = false;
26
30
 
27
31
  let passwordVisibilityToggle:HTMLElement;
28
32
  let confirmPasswordVisibilityToggle:HTMLElement;
29
33
 
30
- let isValid:Boolean = false;
34
+ let isValid:boolean = false;
31
35
 
32
36
  // setupI18n({ withLocale: 'en', translations: {}});
33
37
 
@@ -35,24 +39,25 @@
35
39
  addNewMessages(item, RegisterFormStep1Translations[item]);
36
40
  });
37
41
 
38
- const checkIsValid = () => {
42
+ const checkIsValid = ():void => {
39
43
  isValid = !(invalidEmail || invalidName || invalidPassword || invalidConfirmPassword || invalidSecurityQuestion || invalidSecurityAnswer);
44
+
40
45
  if (userValue.length <= 0 || userEmail.length <= 0 || userPassword.length <= 0 || confirmUserPassword.length <= 0 || securityQuestion.length <= 0 || securityAnswer.length <= 0) {
41
46
  isValid = false;
42
47
  }
43
48
  }
44
49
 
45
- const switchToLogin = () => {
50
+ const switchToLogin = ():void => {
46
51
  window.postMessage({ type: "ToLogin" }, window.location.href);
47
52
  }
48
53
 
49
- const regexValidators = {
54
+ const regexValidators:any = {
50
55
  user: /^(?!(?:.*\d){9})(?=(?:.*[a-zA-Z]){4})^[a-zA-Z\d]*$/,
51
56
  email: /^[^<>()*{}=/|?`~[\]\\,;:\%#^\s@\"$&!@]+@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}))$/i,
52
57
  password: /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,20}$/
53
58
  }
54
59
 
55
- const checkEmailIdentifier = (email:string) => {
60
+ const checkEmailIdentifier = (email:string):boolean => {
56
61
  if (regexValidators.email.test(email) && email.length <= 100) {
57
62
  return true;
58
63
  }
@@ -60,71 +65,73 @@
60
65
  return false;
61
66
  }
62
67
 
63
- const validateEmail = () => {
68
+ const validateEmail = ():void => {
64
69
  invalidEmail = !checkEmailIdentifier(userEmail);
65
70
  checkIsValid();
66
71
  }
67
72
 
68
- const checkUserIdentifier = (user:string) => {
69
- if(regexValidators.user.test(user) && user.length <= 20) {
73
+ const checkUserIdentifier = (user:string):boolean => {
74
+ if (regexValidators.user.test(user) && user.length <= 20) {
70
75
  return true;
71
76
  }
72
77
 
73
78
  return false;
74
79
  }
75
80
 
76
- const validateUserName = () => {
81
+ const validateUserName = ():void => {
77
82
  invalidName = !checkUserIdentifier(userValue);
78
83
  checkIsValid();
79
84
  }
80
85
 
81
- const showPassword = () => {
86
+ const showPassword = ():void => {
82
87
  isPasswordVisible = true;
83
88
  togglePasswordVisibility();
84
89
  }
85
90
 
86
- const showConfirmPassword = () => {
91
+ const showConfirmPassword = ():void => {
87
92
  isConfirmPasswordVisible = true;
88
93
  toggleConfirmPasswordVisibility();
89
94
  }
90
95
 
91
- const hidePassword = () => {
96
+ const hidePassword = ():void => {
92
97
  isPasswordVisible = false;
93
98
  togglePasswordVisibility();
94
99
  }
95
100
 
96
- const hideConfirmPassword = () => {
101
+ const hideConfirmPassword = ():void => {
97
102
  isConfirmPasswordVisible = false;
98
103
  toggleConfirmPasswordVisibility();
99
104
  }
100
105
 
101
- const togglePasswordVisibility = () => {
106
+ const togglePasswordVisibility = ():void => {
102
107
  passwordVisibilityToggle.type = isPasswordVisible ? "text" : "password";
103
108
  }
104
109
 
105
- const toggleConfirmPasswordVisibility = () => {
110
+ const toggleConfirmPasswordVisibility = ():void => {
106
111
  confirmPasswordVisibilityToggle.type = isConfirmPasswordVisible ? "text" : "password";
107
112
  }
108
113
 
109
- const checkUserPassword = (password:string) => {
110
- if(regexValidators.password.test(password)) {
114
+ const checkUserPassword = (password:string):boolean => {
115
+ if (regexValidators.password.test(password)) {
111
116
  return true;
112
117
  }
113
118
 
114
119
  return false;
115
120
  }
116
121
 
117
- const validatePassword = () => {
122
+ const validatePassword = ():void => {
118
123
  invalidPassword = !checkUserPassword(userPassword);
124
+
119
125
  if (userPassword !== confirmUserPassword && confirmUserPassword.length > 0) {
120
126
  invalidConfirmPassword = true;
121
127
  } else {
122
128
  invalidConfirmPassword = false;
123
129
  }
130
+
124
131
  checkIsValid();
125
132
  }
126
133
 
127
- const checkUserConfirmPassword = () => {
134
+ const checkUserConfirmPassword = ():boolean => {
128
135
  if (userPassword === confirmUserPassword) {
129
136
  return true;
130
137
  }
@@ -132,12 +139,12 @@
132
139
  return false;
133
140
  }
134
141
 
135
- const validateConfirmPassword = () => {
136
- invalidConfirmPassword = !checkUserConfirmPassword(confirmUserPassword);
142
+ const validateConfirmPassword = ():void => {
143
+ invalidConfirmPassword = !checkUserConfirmPassword();
137
144
  checkIsValid();
138
145
  }
139
146
 
140
- const checkSecurityQuestion = () => {
147
+ const checkSecurityQuestion = ():boolean => {
141
148
  if (securityQuestion && securityQuestion.length <= 120) {
142
149
  return true;
143
150
  }
@@ -145,12 +152,12 @@
145
152
  return false;
146
153
  }
147
154
 
148
- const validateSecurityQuestion = () => {
155
+ const validateSecurityQuestion = ():void => {
149
156
  invalidSecurityQuestion = !checkSecurityQuestion();
150
157
  checkIsValid();
151
158
  }
152
159
 
153
- const checkSecurityAnswer = () => {
160
+ const checkSecurityAnswer = ():boolean => {
154
161
  if (securityAnswer && securityAnswer.length <= 120) {
155
162
  return true;
156
163
  }
@@ -158,12 +165,12 @@
158
165
  return false;
159
166
  }
160
167
 
161
- const validateSecurityAnswer = () => {
168
+ const validateSecurityAnswer = ():void => {
162
169
  invalidSecurityAnswer = !checkSecurityAnswer();
163
170
  checkIsValid();
164
171
  }
165
172
 
166
- const goNext = () => {
173
+ const goNext = ():void => {
167
174
  let registerStepOneData = {
168
175
  userEmail,
169
176
  userValue,
@@ -171,11 +178,12 @@
171
178
  confirmUserPassword,
172
179
  securityQuestion,
173
180
  securityAnswer
174
- }
181
+ };
182
+
175
183
  window.postMessage({ type: 'RegisterStepOne', registerStepOneData }, window.location.href);
176
184
  }
177
185
 
178
- const messageHandler = (e:any) => {
186
+ const messageHandler = (e:any):void => {
179
187
  if (e.data) {
180
188
  switch(e.data.type) {
181
189
  case 'StepOneDataBackup':
@@ -187,15 +195,45 @@
187
195
  securityAnswer = e.data.userData.securityAnswer;
188
196
  checkIsValid();
189
197
  break;
190
-
191
- default:
192
- // do nothing
193
- break;
194
198
  }
195
199
  }
196
200
  }
197
201
 
198
- const setActiveLanguage = () => {
202
+ const formatDisabledFields = ():void => {
203
+ disabledFieldsList = disabledfields.split(',');
204
+
205
+ if (disabledFieldsList.indexOf('email') >= 0) {
206
+ userEmail = 'dummy@dummy.com';
207
+ invalidEmail = false;
208
+ }
209
+
210
+ if (disabledFieldsList.indexOf('username') >= 0) {
211
+ userValue = 'dummy username';
212
+ invalidName = false;
213
+ }
214
+
215
+ if (disabledFieldsList.indexOf('password') >= 0) {
216
+ userPassword = 'dummy password';
217
+ invalidPassword = false;
218
+ }
219
+
220
+ if (disabledFieldsList.indexOf('confirmPassword') >= 0) {
221
+ confirmUserPassword = 'dummy password';
222
+ invalidConfirmPassword = false;
223
+ }
224
+
225
+ if (disabledFieldsList.indexOf('securityQuestion') >= 0) {
226
+ securityQuestion = 'dummy question';
227
+ invalidSecurityQuestion = false;
228
+ }
229
+
230
+ if (disabledFieldsList.indexOf('securityAnswer') >= 0) {
231
+ securityAnswer = 'dummy answer';
232
+ invalidSecurityAnswer = false;
233
+ }
234
+ }
235
+
236
+ const setActiveLanguage = ():void => {
199
237
  setLocale(lang);
200
238
  }
201
239
 
@@ -208,6 +246,7 @@
208
246
  });
209
247
 
210
248
  $: lang && setActiveLanguage();
249
+ $: disabledfields && formatDisabledFields();
211
250
  </script>
212
251
 
213
252
  <div class="RegisterFormHeader" part="RegisterFormHeader">
@@ -215,21 +254,21 @@
215
254
  <p class="RegisterFormSubtitle" part="RegisterFormSubtitle">{$_('registerFormStep1.registerSubtitle')} <span class="FormLoginCallToAction" on:click={() => switchToLogin()}>{$_('registerFormStep1.registerSubtitleLogin')}</span></p>
216
255
  </div>
217
256
  <div class="RegisterFormContent" part="RegisterFormContent">
218
- <div class="EmailContainer {invalidEmail ? 'InvalidField' : ''}" part="EmailContainer {invalidEmail ? 'InvalidField' : ''}">
257
+ <div class="EmailContainer {invalidEmail ? 'InvalidField' : ''}{disabledFieldsList?.indexOf('email') >= 0 ? 'Hidden' : ''}" part="EmailContainer {invalidEmail ? 'InvalidField' : ''}" >
219
258
  <label for="Email">{$_('registerFormStep1.registerEmail')}:<span class="FormRequired" part="FormRequired">*</span></label>
220
259
  <input bind:value={userEmail} on:blur={validateEmail} type="text" id="Email" />
221
260
  {#if invalidEmail}
222
261
  <p class="InvalidInput" part="InvalidInput">{$_('registerFormStep1.registerEmailError')}</p>
223
262
  {/if}
224
263
  </div>
225
- <div class="UserContainer {invalidName ? 'InvalidField' : ''}" part="UserContainer {invalidName ? 'InvalidField' : ''}">
264
+ <div class="UserContainer {invalidName ? 'InvalidField' : ''}{disabledFieldsList?.indexOf('username') >= 0 ? 'Hidden' : ''}" part="UserContainer {invalidName ? 'InvalidField' : ''}">
226
265
  <label for="UserName">{$_('registerFormStep1.registerUsername')}:<span class="FormRequired" part="FormRequired">*</span></label>
227
266
  <input bind:value={userValue} on:blur={validateUserName} type="text" id="UserName" />
228
267
  {#if invalidName}
229
268
  <p class="InvalidInput" part="InvalidInput">{$_('registerFormStep1.registerUsernameError')}</p>
230
269
  {/if}
231
270
  </div>
232
- <div class="PasswordContainer {invalidPassword ? 'InvalidField' : ''}" part="PasswordContainer {invalidPassword ? 'InvalidField' : ''}">
271
+ <div class="PasswordContainer {invalidPassword ? 'InvalidField' : ''}{disabledFieldsList?.indexOf('password') >= 0 ? 'Hidden' : ''}" part="PasswordContainer {invalidPassword ? 'InvalidField' : ''}" hidden={disabledFieldsList?.indexOf('password') >= 0}>
233
272
  <label for="Password">{$_('registerFormStep1.registerPassword')}:<span class="FormRequired" part="FormRequired">*</span></label>
234
273
  <input bind:value={userPassword} on:blur={validatePassword} type="password" id="Password" bind:this={passwordVisibilityToggle} />
235
274
  {#if isPasswordVisible}
@@ -241,7 +280,7 @@
241
280
  <p class="InvalidInput" part="InvalidInput">{$_('registerFormStep1.registerPasswordError')}</p>
242
281
  {/if}
243
282
  </div>
244
- <div class="ConfirmPasswordContainer {invalidConfirmPassword ? 'InvalidField' : ''}" part="ConfirmPasswordContainer {invalidConfirmPassword ? 'InvalidField' : ''}">
283
+ <div class="ConfirmPasswordContainer {invalidConfirmPassword ? 'InvalidField' : ''}{disabledFieldsList?.indexOf('confirmPassword') >= 0 ? 'Hidden' : ''}" part="ConfirmPasswordContainer {invalidConfirmPassword ? 'InvalidField' : ''}">
245
284
  <label for="ConfirmPassword">{$_('registerFormStep1.registerConfirmPassword')}:<span class="FormRequired" part="FormRequired">*</span></label>
246
285
  <input bind:value={confirmUserPassword} on:blur={validateConfirmPassword} type="password" id="ConfirmPassword" bind:this={confirmPasswordVisibilityToggle} />
247
286
  {#if isConfirmPasswordVisible}
@@ -253,14 +292,14 @@
253
292
  <p class="InvalidInput" part="InvalidInput">{$_('registerFormStep1.registerConfirmPasswordError')}</p>
254
293
  {/if}
255
294
  </div>
256
- <div class="SecurityQuestionContainer {invalidSecurityQuestion ? 'InvalidField' : ''}" part="SecurityQuestionContainer {invalidSecurityQuestion ? 'InvalidField' : ''}">
295
+ <div class="SecurityQuestionContainer {invalidSecurityQuestion ? 'InvalidField' : ''}{disabledFieldsList?.indexOf('securityQuestion') >= 0 ? 'Hidden' : ''}" part="SecurityQuestionContainer {invalidSecurityQuestion ? 'InvalidField' : ''}">
257
296
  <label for="SecurityQuestion">{$_('registerFormStep1.registerSecurityQuestion')}:<span class="FormRequired" part="FormRequired">*</span></label>
258
297
  <input bind:value={securityQuestion} on:blur={validateSecurityQuestion} type="text" id="SecurityQuestion" />
259
298
  {#if invalidSecurityQuestion}
260
299
  <p class="InvalidInput" part="InvalidInput">{$_('registerFormStep1.registerSecurityQuestionError')}</p>
261
300
  {/if}
262
301
  </div>
263
- <div class="SecurityAnswerContainer {invalidSecurityAnswer ? 'InvalidField' : ''}" part="SecurityAnswerContainer {invalidSecurityAnswer ? 'InvalidField' : ''}">
302
+ <div class="SecurityAnswerContainer {invalidSecurityAnswer ? 'InvalidField' : ''}{disabledFieldsList?.indexOf('securityAnswer') >= 0 ? 'Hidden' : ''}" part="SecurityAnswerContainer {invalidSecurityAnswer ? 'InvalidField' : ''}">
264
303
  <label for="SecurityAnswer">{$_('registerFormStep1.registerSecurityAnswer')}:<span class="FormRequired" part="FormRequired">*</span></label>
265
304
  <input bind:value={securityAnswer} on:keyup={validateSecurityAnswer} type="text" id="SecurityAnswer" />
266
305
  {#if invalidSecurityAnswer}
@@ -334,6 +373,10 @@
334
373
  color: var(--emfe-w-color-primary, #D0046C);
335
374
  }
336
375
  }
376
+
377
+ &.Hidden {
378
+ display: none;
379
+ }
337
380
  }
338
381
 
339
382
  .PasswordContainer, .ConfirmPasswordContainer {