1var toNumber; 2var GRT; 3(function (GRT) { 4 var Login; 5 (function (Login) { 6 var ChangePasswordManager = /** @class */ (function () { 7 function ChangePasswordManager(domElementsSelectors, cssClass, server, tokenManager) { 8 this.domElementsSelectors = domElementsSelectors; 9 this.cssClass = cssClass; 10 this.server = server; 11 this.tokenManager = tokenManager; 12 this.isInProgress = false; 13 this.removeSecondPassword = false; 14 } 15 ChangePasswordManager.prototype.ready = function () { 16 var _this = this; 17 $(this.domElementsSelectors.passwordBars).css("visibility", "hidden"); 18 $(this.domElementsSelectors.changePasswordField).keyup(function () { 19 if (_this.removeSecondPassword) { 20 $(_this.domElementsSelectors.firstStepPopup).find(_this.domElementsSelectors.changePassword2).val(''); 21 _this.removeSecondPassword = false; 22 } 23 $(_this.domElementsSelectors.firstPasswordError).hide(); 24 $(_this.domElementsSelectors.passwordBars).css("display", "block"); 25 _this.removeErrors(); 26 _this.updatePasswordBar(); 27 }); 28 $(this.domElementsSelectors.changePasswordField).focusout(function () { 29 var isPasswordValid = _this.checkIfPasswordValid($(_this.domElementsSelectors.changePasswordField).val()); 30 if (!isPasswordValid) { 31 _this.showPasswordNotValidError(); 32 } 33 else { 34 _this.removePasswordNotValidError(); 35 } 36 }); 37 $(this.domElementsSelectors.changePasswordField).focus(function () { 38 _this.removePasswordNotValidError(); 39 }); 40 $(this.domElementsSelectors.okBtn).click(function () { 41 _this.changePassword(); 42 }); 43 $(this.domElementsSelectors.cpContinueBtn).click(function () { 44 window.location.href = "/"; 45 }); 46 $(this.domElementsSelectors.cancelBtn).click(function () { 47 _this.cancel(); 48 }); 49 }; 50 ChangePasswordManager.prototype.show = function (currentUsername, currentPassword) { 51 this.username = currentUsername; 52 this.password = currentPassword; 53 this.removeErrors(); 54 $(this.domElementsSelectors.changePassword1).val(''); 55 $(this.domElementsSelectors.firstStepPopup).find(this.domElementsSelectors.changePassword2).val(''); 56 $(this.domElementsSelectors.passwordBars).css("visibility", "hidden"); 57 $(this.domElementsSelectors.popupContainer).children("div").hide(); 58 $(this.domElementsSelectors.firstStepPopup).show(); 59 $(this.domElementsSelectors.xBtn).hide(); 60 $(this.domElementsSelectors.popupContainer).show(); 61 $(this.domElementsSelectors.popupOverlay).show(); 62 $(".loginPopup").hide(); 63 }; 64 ChangePasswordManager.prototype.showSuccessScreen = function () { 65 $(this.domElementsSelectors.popupContainer).children("div").hide(); 66 $(this.domElementsSelectors.changePasswordStep2).show(); 67 }; 68 ChangePasswordManager.prototype.hide = function () { 69 $(this.domElementsSelectors.popupContainer).hide(); 70 $(this.domElementsSelectors.popupOverlay).hide(); 71 $(".loginPopup").show(); 72 }; 73 ChangePasswordManager.prototype.checkIfPasswordValid = function (password) { 74 if (password.length < 8) { 75 return false; 76 } 77 if (!password.match(/[a-zA-Z]/i)) { 78 return false; 79 } 80 if (!/\d/.test(password)) { 81 return false; 82 } 83 return true; 84 }; 85 ChangePasswordManager.prototype.updatePasswordBar = function () { 86 var value = $(this.domElementsSelectors.changePasswordField).val(); 87 if (this.checkIfPasswordValid(value)) { 88 $(this.domElementsSelectors.passwordBars).css("visibility", "visible"); 89 } 90 else { 91 $(this.domElementsSelectors.passwordBars).css("visibility", "hidden"); 92 } 93 var strength = toNumber(value, { minLength: 8 }); 94 $(this.domElementsSelectors.passbar).removeClass(this.cssClass.passbarRed); 95 $(this.domElementsSelectors.passbar).removeClass(this.cssClass.passbarYellow); 96 $(this.domElementsSelectors.passbar).removeClass(this.cssClass.passbarGreen); 97 if (strength < 2) { 98 $(this.domElementsSelectors.passbar + "0").addClass(this.cssClass.passbarRed); 99 if (strength >= 1) { 100 $(this.domElementsSelectors.passbar + "1").addClass(this.cssClass.passbarRed); 101 } 102 $(this.domElementsSelectors.passwordStrgnth).removeClass("passwordStrgnthYellow"); 103 $(this.domElementsSelectors.passwordStrgnth).removeClass("passwordStrgnthGreen"); 104 $(this.domElementsSelectors.passwordStrgnth).html("Password strength: Weak"); 105 } 106 else if (strength < 4) { 107 $(this.domElementsSelectors.passbar + "0").addClass(this.cssClass.passbarYellow); 108 $(this.domElementsSelectors.passbar + "1").addClass(this.cssClass.passbarYellow); 109 $(this.domElementsSelectors.passbar + "2").addClass(this.cssClass.passbarYellow); 110 if (strength >= 3) { 111 $(this.domElementsSelectors.passbar + "3").addClass(this.cssClass.passbarYellow); 112 } 113 $(this.domElementsSelectors.passwordStrgnth).addClass("passwordStrgnthYellow"); 114 $(this.domElementsSelectors.passwordStrgnth).removeClass("passwordStrgnthGreen"); 115 $(this.domElementsSelectors.passwordStrgnth).html("Password strength: Fair"); 116 } 117 else { 118 $(this.domElementsSelectors.passbar + "0").addClass(this.cssClass.passbarGreen); 119 $(this.domElementsSelectors.passbar + "1").addClass(this.cssClass.passbarGreen); 120 $(this.domElementsSelectors.passbar + "2").addClass(this.cssClass.passbarGreen); 121 $(this.domElementsSelectors.passbar + "3").addClass(this.cssClass.passbarGreen); 122 $(this.domElementsSelectors.passbar + "4").addClass(this.cssClass.passbarGreen); 123 if (strength == 5) { 124 $(this.domElementsSelectors.passbar + "5").addClass(this.cssClass.passbarGreen); 125 } 126 $(this.domElementsSelectors.passwordStrgnth).removeClass("passwordStrgnthYellow"); 127 $(this.domElementsSelectors.passwordStrgnth).addClass("passwordStrgnthGreen"); 128 $(this.domElementsSelectors.passwordStrgnth).html("Password strength: Strong"); 129 } 130 }; 131 ChangePasswordManager.prototype.changePassword = function () { 132 var _this = this; 133 if (this.isInProgress) 134 return; 135 var password1 = $(this.domElementsSelectors.changePasswordField).val(); 136 var password2 = $(this.domElementsSelectors.firstStepPopup).find(this.domElementsSelectors.changePassword2).val(); 137 if (!password1) { 138 $(this.domElementsSelectors.firstPasswordError).show(); 139 $(this.domElementsSelectors.passwordBars).hide(); 140 $(this.domElementsSelectors.changePasswordField).addClass("InvalidInput"); 141 if (!password2) { 142 this.setError(GRT["Resources"].Login.PleaseReEnterNewPassword, false); 143 } 144 return; 145 } 146 if (password1 != password2) { 147 this.showPasswordNotMatchedError(); 148 this.removeSecondPassword = true; 149 return; 150 } 151 if (password1 == this.password) { 152 this.showPasswordIsEqualToCurrentPasswordError(); 153 return; 154 } 155 this.changeLoaderVisibility(true); 156 var that = this; 157 this.isInProgress = true; 158 this.tokenManager.getToken().then(function (token) { 159 $.ajax({
160 type: 'POST', 161 url: _this.server.endpoint, 162 data: JSON.stringify({ 163 "userName": _this.username, 164 "oldPassword": _this.password, 165 "newPassword": password1, 166 "accessToken": token, 167 "refreshToken": _this.tokenManager.getRefreshToken() 168 }), 169 success: function (data) { 170 _this.isInProgress = false; 171 _this.changeLoaderVisibility(false); 172 if (data.isPasswordChanged) { 173 that.showSuccessScreen(); 174 } 175 else { 176 if (!data.isPasswordValid) { 177 that.showPasswordNotValidError(); 178 } 179 if (data.isPasswordEqualToLastPasswords) { 180 that.setError(GRT["Resources"].Login.CanotReusePasswords, true); 181 } 182 } 183 }, 184 error: function () { 185 _this.isInProgress = false; 186 _this.changeLoaderVisibility(false); 187 }, 188 contentType: "application/json", 189 dataType: 'json' 190 }); 191 }); 192 }; 193 ChangePasswordManager.prototype.changeLoaderVisibility = function (display) { 194 if (display) { 195 $(this.domElementsSelectors.okBtn).css("opacity", "0.3"); 196 $(this.domElementsSelectors.cancelBtn).css("opacity", "0.3"); 197 $(this.domElementsSelectors.loadingImage).css("display", "flex"); 198 } 199 else { 200 $(this.domElementsSelectors.okBtn).css("opacity", "1"); 201 $(this.domElementsSelectors.cancelBtn).css("opacity", "1"); 202 $(this.domElementsSelectors.loadingImage).css("display", "none"); 203 } 204 }; 205 ChangePasswordManager.prototype.cancel = function () { 206 this.hide(); 207 $(".bottom").show(); 208 }; 209 ChangePasswordManager.prototype.showPasswordIsEqualToCurrentPasswordError = function () { 210 this.setError(GRT["Resources"].Login.CanotReusePasswords, true); 211 }; 212 ChangePasswordManager.prototype.showPasswordNotMatchedError = function () { 213 this.setError(GRT["Resources"].Login.PasswordsDontMatch, true); 214 }; 215 ChangePasswordManager.prototype.showPasswordNotValidError = function () { 216 var password2 = $(this.domElementsSelectors.firstStepPopup).find(this.domElementsSelectors.changePassword2).val(); 217 if (password2) { 218 $(this.domElementsSelectors.changePasswordField).addClass("InvalidInput"); 219 } 220 $(".passwordInforamtion").addClass("invalidPopupContent"); 221 $(this.domElementsSelectors.changePasswordField).addClass("InvalidInput"); 222 }; 223 ChangePasswordManager.prototype.removePasswordNotValidError = function () { 224 $(".passwordInforamtion").removeClass("invalidPopupContent"); 225 $(this.domElementsSelectors.changePasswordField).removeClass("InvalidInput"); 226 $(this.domElementsSelectors.firstStepPopup).find(this.domElementsSelectors.changePassword2).removeClass("InvalidInput"); 227 }; 228 ChangePasswordManager.prototype.removeErrors = function () { 229 $(this.domElementsSelectors.firstPasswordError).hide(); 230 $(this.domElementsSelectors.passwordBars).css("display", "block"); 231 $(this.domElementsSelectors.passwordError).html(''); 232 $(this.domElementsSelectors.changePasswordField).removeClass("InvalidInput"); 233 $(this.domElementsSelectors.firstStepPopup).find(this.domElementsSelectors.changePassword2).removeClass("InvalidInput"); 234 }; 235 ChangePasswordManager.prototype.setError = function (message, addErrorClassToFirstField) { 236 $(this.domElementsSelectors.passwordError).html(message); 237 $(this.domElementsSelectors.changePasswordField).addClass("InvalidInput"); 238 $(this.domElementsSelectors.firstStepPopup).find(this.domElementsSelectors.changePassword2).addClass("InvalidInput"); 239 }; 240 return ChangePasswordManager; 241 }()); 242 Login.ChangePasswordManager = ChangePasswordManager; 243 })(Login = GRT.Login || (GRT.Login = {})); 244})(GRT || (GRT = {})); 245//# sourceMappingURL=ChangePasswordManager.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.