@everymatrix/general-player-register-form-step1 0.0.293 → 0.0.296
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.
|
|
3
|
+
"version": "0.0.296",
|
|
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": "
|
|
39
|
+
"gitHead": "628a0e30f5160748837a6a7acb4cf44623d87c3d"
|
|
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:
|
|
11
|
-
let invalidName:
|
|
12
|
-
let invalidPassword:
|
|
13
|
-
let invalidConfirmPassword:
|
|
14
|
-
let invalidSecurityQuestion:
|
|
15
|
-
let invalidSecurityAnswer:
|
|
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:
|
|
25
|
-
let isConfirmPasswordVisible:
|
|
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:
|
|
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(
|
|
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
|
|
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 {
|