PageSourceSearch

https://central.greenroad.com/res/js/typescript/login/ChangePasswordManager.js?v=0924.1110.91

js greenroad.com collected 2026-09-28 09:41:17 UTC 14,221 bytes, 245 lines download raw bytes

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.