Browse Source

configedittor js refactoring/modernization de-dojo

Jason Rivard 3 years ago
parent
commit
46e1b912b5

+ 67 - 68
webapp/src/main/webapp/public/resources/js/configeditor-settings-action.js

@@ -58,7 +58,7 @@ ActionHandler.ldapMethodOptions = [
 
 ActionHandler.init = function(keyName, postInitFunction) {
     console.log('ActionHandler init for ' + keyName);
-    var parentDiv = 'table_setting_' + keyName;
+    const parentDiv = 'table_setting_' + keyName;
     PWM_CFGEDIT.clearDivElements(parentDiv, true);
     PWM_CFGEDIT.readSetting(keyName, function(resultValue) {
         PWM_VAR['clientSettingCache'][keyName] = resultValue;
@@ -71,17 +71,17 @@ ActionHandler.init = function(keyName, postInitFunction) {
 
 ActionHandler.redraw = function(keyName) {
     console.log('ActionHandler redraw for ' + keyName);
-    var resultValue = PWM_VAR['clientSettingCache'][keyName];
-    var parentDiv = 'table_setting_' + keyName;
+    const resultValue = PWM_VAR['clientSettingCache'][keyName];
+    const parentDiv = 'table_setting_' + keyName;
     PWM_CFGEDIT.clearDivElements(parentDiv, false);
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
 
-    var html = '';
+    let html = '';
     if (!PWM_MAIN.JSLibrary.isEmpty(resultValue)) {
         html += '<table class="noborder">';
         html += '<tr><td>Name</td><td></td><td>Description</td></tr>';
 
-        for (var i in resultValue) {
+        for (const i in resultValue) {
             html += ActionHandler.drawRow(keyName, i, resultValue[i]);
         }
 
@@ -91,7 +91,7 @@ ActionHandler.redraw = function(keyName) {
     html += '<br/><button class="btn" id="button-' + keyName + '-addValue"><span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Action</button>';
     parentDivElement.innerHTML = html;
 
-    for (var i in resultValue) {
+    for (const i in resultValue) {
         html += ActionHandler.addRowHandlers(keyName, i, resultValue[i]);
     }
 
@@ -101,13 +101,13 @@ ActionHandler.redraw = function(keyName) {
 };
 
 ActionHandler.drawRow = function(settingKey, iteration, value) {
-    var inputID = 'value_' + settingKey + '_' + iteration + "_";
-    var optionList = ["webservice","ldap"];
+    const inputID = 'value_' + settingKey + '_' + iteration + "_";
+    const optionList = ["webservice","ldap"];
 
-    var newTableRow = document.createElement("tr");
+    const newTableRow = document.createElement("tr");
     newTableRow.setAttribute("style", "border-width: 0");
 
-    var htmlRow = '<tr>';
+    let htmlRow = '<tr>';
     htmlRow += '<td style="background: #f6f9f8; border:1px solid #dae1e1; width:160px">';
     htmlRow += '<div class="noWrapTextBox" id="display-' + inputID + '-name" ></div>';
     htmlRow += '<td style="width:1px" id="icon-editDescription-' + inputID + '"><span class="btn-icon pwm-icon pwm-icon-edit"></span></td>';
@@ -122,7 +122,7 @@ ActionHandler.drawRow = function(settingKey, iteration, value) {
 };
 
 ActionHandler.addRowHandlers = function(settingKey, iteration, value) {
-    var inputID = 'value_' + settingKey + '_' + iteration + "_";
+    const inputID = 'value_' + settingKey + '_' + iteration + "_";
     UILibrary.addTextValueToElement('display-' + inputID + '-name',value['name']);
     UILibrary.addTextValueToElement('display-' + inputID + '-description',value['description']);
 
@@ -130,7 +130,7 @@ ActionHandler.addRowHandlers = function(settingKey, iteration, value) {
         ActionHandler.showActionsDialog(settingKey, iteration);
     });
 
-    var descriptionEditFunction = function() {
+    const descriptionEditFunction = function() {
         UILibrary.stringEditorDialog({
             value: value['description'],
             textarea: true,
@@ -159,7 +159,7 @@ ActionHandler.addRowHandlers = function(settingKey, iteration, value) {
 };
 
 ActionHandler.write = function(settingKey, finishFunction) {
-    var cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
+    const cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
     PWM_CFGEDIT.writeSetting(settingKey, cachedSetting, finishFunction);
 };
 
@@ -183,8 +183,8 @@ ActionHandler.addRow = function(keyName) {
         instructions: 'Please enter a descriptive name for the action.',
         placeholder:'Name',
         completeFunction:function(newName){
-            var value = PWM_VAR['clientSettingCache'][keyName];
-            var currentSize = PWM_MAIN.JSLibrary.itemCount(value);
+            const value = PWM_VAR['clientSettingCache'][keyName];
+            const currentSize = PWM_MAIN.JSLibrary.itemCount(value);
             value[currentSize] = ActionHandler.defaultValue;
             value[currentSize].name = newName;
             ActionHandler.write(keyName,function(){
@@ -197,16 +197,16 @@ ActionHandler.addRow = function(keyName) {
 };
 
 ActionHandler.showActionsDialog = function(keyName, iteration) {
-    var value = PWM_VAR['clientSettingCache'][keyName][iteration];
-    var titleText = value['name'] + ' actions';
-    var bodyText = '<table class="noborder">';
+    const value = PWM_VAR['clientSettingCache'][keyName][iteration];
+    const titleText = value['name'] + ' actions';
+    let bodyText = '<table class="noborder">';
 
     if (!PWM_MAIN.JSLibrary.isEmpty(value['ldapActions'])) {
         bodyText += '<tr><td></td><td></td><td>LDAP Attribute</td></tr>';
     }
-    for (var iter in value['ldapActions']) {
+    for (const iter in value['ldapActions']) {
         (function (ldapActionsIter) {
-            var inputID = keyName + '_' + iteration + "_ldapActions_"  + ldapActionsIter;
+            const inputID = keyName + '_' + iteration + "_ldapActions_"  + ldapActionsIter;
             bodyText += '<tr id="tableRow-' + inputID + '">'
                 + '<td style="width:1px" id="icon-editLdapAction-' + inputID + '"><span class="btn-icon pwm-icon pwm-icon-edit"></span></td>'
                 + '<td>LDAP Action</td>'
@@ -220,9 +220,9 @@ ActionHandler.showActionsDialog = function(keyName, iteration) {
     if (!PWM_MAIN.JSLibrary.isEmpty(value['webActions'])) {
         bodyText += '<tr><td></td><td></td><td>URL</td></tr>';
     }
-    for (var iter in value['webActions']) {
+    for (const iter in value['webActions']) {
         (function (webActionIter) {
-            var inputID = keyName + '_' + iteration + "_webActions_"  + webActionIter;
+            const inputID = keyName + '_' + iteration + "_webActions_"  + webActionIter;
             bodyText += '<tr id="tableRow-' + inputID + '">'
                 + '<td style="width:1px" id="icon-editWebAction-' + inputID + '"><span class="btn-icon pwm-icon pwm-icon-edit"></span></td>'
                 + '<td>Web Service Action</td>'
@@ -234,7 +234,7 @@ ActionHandler.showActionsDialog = function(keyName, iteration) {
 
     bodyText += '</table><br/>';
 
-    var inputID = keyName + '_' + iteration + "_";
+    const inputID = keyName + '_' + iteration + "_";
     bodyText += '<br/><button class="btn" id="button-addLdap-' + inputID + '"><span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add LDAP Action</button>';
     bodyText += '<br/><button class="btn" id="button-addWebService-' + inputID + '"><span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Web Service Action</button>';
 
@@ -242,9 +242,9 @@ ActionHandler.showActionsDialog = function(keyName, iteration) {
         title: titleText,
         text: bodyText,
         loadFunction: function(){
-            for (var iter in value['ldapActions']) {
+            for (const iter in value['ldapActions']) {
                 (function (ldapActionsIter) {
-                    var inputID = keyName + '_' + iteration + "_ldapActions_"  + ldapActionsIter;
+                    const inputID = keyName + '_' + iteration + "_ldapActions_"  + ldapActionsIter;
                     PWM_MAIN.addEventHandler('tableRow-' + inputID ,'click',function(){
                         ActionHandler.addOrEditLdapAction(keyName,iteration,ldapActionsIter);
                     });
@@ -259,13 +259,13 @@ ActionHandler.showActionsDialog = function(keyName, iteration) {
                             }
                         });
                     });
-                    var value = PWM_VAR['clientSettingCache'][keyName][iteration]['ldapActions'][ldapActionsIter];
+                    const value = PWM_VAR['clientSettingCache'][keyName][iteration]['ldapActions'][ldapActionsIter];
                     PWM_MAIN.getObject('value-' + inputID).value =  value['attributeName'];
                 }(iter));
             }
-            for (var iter in value['webActions']) {
+            for (const iter in value['webActions']) {
                 (function (webActionIter) {
-                    var inputID = keyName + '_' + iteration + "_webActions_"  + webActionIter;
+                    const inputID = keyName + '_' + iteration + "_webActions_"  + webActionIter;
                     PWM_MAIN.addEventHandler('tableRow-' + inputID ,'click',function(){
                         ActionHandler.addOrEditWebAction(keyName,iteration,webActionIter);
                     });
@@ -280,18 +280,17 @@ ActionHandler.showActionsDialog = function(keyName, iteration) {
                             }
                         });
                     });
-                    var value = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter];
+                    const value = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter];
                     PWM_MAIN.getObject('value-' + inputID).value =  value['url'];
                 }(iter));
             }
 
-            inputID = keyName + '_' + iteration + "_";
             PWM_MAIN.addEventHandler('button-addLdap-' + inputID,'click',function(){
                 UILibrary.stringEditorDialog({
                     textarea: false,
                     title: 'Attribute Name',
                     completeFunction: function (newValue) {
-                        var currentSize = PWM_MAIN.JSLibrary.itemCount(value['ldapActions']);
+                        const currentSize = PWM_MAIN.JSLibrary.itemCount(value['ldapActions']);
                         value['ldapActions'].push(JSON.parse(JSON.stringify(ActionHandler.defaultLdapValue)));
                         value['ldapActions'][currentSize]['attributeName'] = newValue;
                         ActionHandler.write(keyName,function(){
@@ -305,7 +304,7 @@ ActionHandler.showActionsDialog = function(keyName, iteration) {
                     textarea: false,
                     title: 'URL',
                     completeFunction: function (newValue) {
-                        var currentSize = PWM_MAIN.JSLibrary.itemCount(value['webActions']);
+                        const currentSize = PWM_MAIN.JSLibrary.itemCount(value['webActions']);
                         value['webActions'].push(JSON.parse(JSON.stringify(ActionHandler.defaultWebValue)));
                         value['webActions'][currentSize]['url'] = newValue;
                         ActionHandler.write(keyName,function(){
@@ -319,11 +318,11 @@ ActionHandler.showActionsDialog = function(keyName, iteration) {
 };
 
 ActionHandler.addOrEditLdapAction = function(keyName, iteration, ldapActionIter) {
-    var inputID = 'value_' + keyName + '_' + iteration + "_" + ldapActionIter;
-    var value = PWM_VAR['clientSettingCache'][keyName][iteration]['ldapActions'][ldapActionIter];
-    var titleText = 'LDAP options';
+    const inputID = 'value_' + keyName + '_' + iteration + "_" + ldapActionIter;
+    const value = PWM_VAR['clientSettingCache'][keyName][iteration]['ldapActions'][ldapActionIter];
+    const titleText = 'LDAP options';
 
-    var bodyText = '<table class="noborder">';
+    let bodyText = '<table class="noborder">';
     bodyText += '<tr>';
     bodyText += '<td class="key">Attribute Name</td><td><input style="width:300px" class="configStringInput" type="text" id="input-' + inputID + '-attributeName' + '" value="' + value['attributeName'] + '"/></td>';
     bodyText += '</tr><tr>';
@@ -332,10 +331,10 @@ ActionHandler.addOrEditLdapAction = function(keyName, iteration, ldapActionIter)
     bodyText += '<tr>';
     bodyText += '<td class="key">Operation Type</td><td class="noborder"><select id="select-' + inputID + '-ldapMethod' + '">';
 
-    for (var optionItem in ActionHandler.ldapMethodOptions) {
-        var label = ActionHandler.ldapMethodOptions[optionItem]['label'];
-        var optionValue = ActionHandler.ldapMethodOptions[optionItem]['value'];
-        var selected = optionValue === value['ldapMethod'];
+    for (const optionItem in ActionHandler.ldapMethodOptions) {
+        const label = ActionHandler.ldapMethodOptions[optionItem]['label'];
+        const optionValue = ActionHandler.ldapMethodOptions[optionItem]['value'];
+        const selected = optionValue === value['ldapMethod'];
         bodyText += '<option value="' + optionValue + '"' + (selected ? ' selected' : '') + '>' + label + '</option>';
     }
     bodyText += '</td></tr>';
@@ -366,19 +365,19 @@ ActionHandler.addOrEditLdapAction = function(keyName, iteration, ldapActionIter)
 
 
 ActionHandler.addOrEditWebAction = function(keyName, iteration, webActionIter) {
-    var inputID = 'value_' + keyName + '_' + iteration + "_" + webActionIter;
-    var value = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter];
-    var titleText = 'Web Service Options';
-    var showBody = value['method'] !== 'get' && value['method'] !== 'delete';
+    const inputID = 'value_' + keyName + '_' + iteration + "_" + webActionIter;
+    const value = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter];
+    const titleText = 'Web Service Options';
+    const showBody = value['method'] !== 'get' && value['method'] !== 'delete';
 
-    var bodyText = '<table class="noborder">';
+    let bodyText = '<table class="noborder">';
     bodyText += '<tr>';
     bodyText += '<td class="key">HTTP Method</td><td class="noborder" ><select id="select-' + inputID + '-method">';
 
-    for (var optionItem in ActionHandler.httpMethodOptions) {
-        var label = ActionHandler.httpMethodOptions[optionItem]['label'];
-        var optionValue = ActionHandler.httpMethodOptions[optionItem]['value'];
-        var selected = optionValue === value['method'];
+    for (const optionItem in ActionHandler.httpMethodOptions) {
+        const label = ActionHandler.httpMethodOptions[optionItem]['label'];
+        const optionValue = ActionHandler.httpMethodOptions[optionItem]['value'];
+        const selected = optionValue === value['method'];
         bodyText += '<option value="' + optionValue + '"' + (selected ? ' selected' : '') + '>' + label + '</option>';
     }
     bodyText += '</td>';
@@ -424,7 +423,7 @@ ActionHandler.addOrEditWebAction = function(keyName, iteration, webActionIter) {
                 ActionHandler.showHeadersDialog(keyName,iteration, webActionIter);
             });
             PWM_MAIN.addEventHandler('select-' + inputID + '-method','change',function(){
-                var methodValue = PWM_MAIN.getObject('select-' + inputID + '-method').value;
+                const methodValue = PWM_MAIN.getObject('select-' + inputID + '-method').value;
                 if (methodValue === 'get') {
                     value['body'] = '';
                 }
@@ -455,7 +454,7 @@ ActionHandler.addOrEditWebAction = function(keyName, iteration, webActionIter) {
 
             PWM_MAIN.getObject('input-' + inputID + '-successStatus').value = value['successStatus'] ? value['successStatus'].join() : '';
             PWM_MAIN.addEventHandler('button-' + inputID + '-successStatus', 'click', function(){
-                var options = {};
+                const options = {};
                 options['regex'] = '[0-9]{3}';
                 options['title'] = 'Success Status Codes';
                 options['instructions'] = 'Enter the three digit HTTP status codes that will be considered a success if returned by the remote web service.';
@@ -465,7 +464,7 @@ ActionHandler.addOrEditWebAction = function(keyName, iteration, webActionIter) {
                     ActionHandler.write(keyName);
                     ActionHandler.addOrEditWebAction(keyName, iteration, webActionIter)
                 };
-                var values = 'successStatus' in value ? value['successStatus'] : [];
+                const values = 'successStatus' in value ? value['successStatus'] : [];
                 values.sort();
                 options['value'] = values;
                 UILibrary.stringArrayEditorDialog(options);
@@ -495,8 +494,8 @@ ActionHandler.addOrEditWebAction = function(keyName, iteration, webActionIter) {
                 });
             } else {
                 PWM_MAIN.addEventHandler('button-' + inputID + '-importCertificates','click',function() {
-                    var dataHandler = function(data) {
-                        var msgBody = '<div style="max-height: 400px; overflow-y: auto">' + data['successMessage'] + '</div>';
+                    const dataHandler = function(data) {
+                        const msgBody = '<div style="max-height: 400px; overflow-y: auto">' + data['successMessage'] + '</div>';
                         PWM_MAIN.showDialog({width:700,title: 'Results', text: msgBody, okAction: function () {
                                 PWM_CFGEDIT.readSetting(keyName, function(resultValue) {
                                     PWM_VAR['clientSettingCache'][keyName] = resultValue;
@@ -504,7 +503,7 @@ ActionHandler.addOrEditWebAction = function(keyName, iteration, webActionIter) {
                                 });
                             }});
                     };
-                    var extraData = {};
+                    const extraData = {};
                     extraData.iteration = iteration;
                     extraData.webActionIter = webActionIter;
                     PWM_CFGEDIT.executeSettingFunction(keyName, 'password.pwm.http.servlet.configeditor.function.ActionCertImportFunction', dataHandler, JSON.stringify(extraData));
@@ -516,17 +515,17 @@ ActionHandler.addOrEditWebAction = function(keyName, iteration, webActionIter) {
 };
 
 ActionHandler.showHeadersDialog = function(keyName, iteration, webActionIter) {
-    var settingValue = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter];
+    const settingValue = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter];
 
-    var inputID = 'value_' + keyName + '_' + iteration + "_webAction_" + webActionIter +  "_headers_";
+    const inputID = 'value_' + keyName + '_' + iteration + "_webAction_" + webActionIter +  "_headers_";
 
-    var bodyText = '';
+    let bodyText = '';
     bodyText += '<table class="noborder">';
     bodyText += '<tr><td><b>Name</b></td><td><b>Value</b></td></tr>';
-    for (var iter in settingValue['headers']) {
+    for (const iter in settingValue['headers']) {
         (function(headerName) {
-            var value = settingValue['headers'][headerName];
-            var optionID = inputID + headerName;
+            const value = settingValue['headers'][headerName];
+            const optionID = inputID + headerName;
             bodyText += '<tr><td class="border">' + headerName + '</td><td class="border">' + value + '</td>';
             bodyText += '<td style="width:15px;"><span class="delete-row-icon action-icon pwm-icon pwm-icon-times" id="button-' + optionID + '-deleteRow"></span></td>';
             bodyText += '</tr>';
@@ -542,9 +541,9 @@ ActionHandler.showHeadersDialog = function(keyName, iteration, webActionIter) {
             ActionHandler.addOrEditWebAction(keyName,iteration,webActionIter);
         },
         loadFunction: function() {
-            for (var iter in settingValue['headers']) {
+            for (const iter in settingValue['headers']) {
                 (function(headerName) {
-                    var headerID = inputID + headerName;
+                    const headerID = inputID + headerName;
                     PWM_MAIN.addEventHandler('button-' + headerID + '-deleteRow', 'click', function () {
                         delete settingValue['headers'][headerName];
                         ActionHandler.write(keyName);
@@ -560,12 +559,12 @@ ActionHandler.showHeadersDialog = function(keyName, iteration, webActionIter) {
 };
 
 ActionHandler.addHeader = function(keyName, iteration, webActionIter) {
-    var body = '<table class="noborder">';
+    let body = '<table class="noborder">';
     body += '<tr><td>Name</td><td><input class="configStringInput" id="newHeaderName" style="width:300px"/></td></tr>';
     body += '<tr><td>Value</td><td><input class="configStringInput" id="newHeaderValue" style="width:300px"/></td></tr>';
     body += '</table>';
 
-    var updateFunction = function(){
+    const updateFunction = function(){
         PWM_MAIN.getObject('dialog_ok_button').disabled = true;
         PWM_VAR['newHeaderName'] = PWM_MAIN.getObject('newHeaderName').value;
         PWM_VAR['newHeaderValue'] = PWM_MAIN.getObject('newHeaderValue').value;
@@ -587,7 +586,7 @@ ActionHandler.addHeader = function(keyName, iteration, webActionIter) {
             });
             updateFunction();
         },okAction:function(){
-            var headers = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter]['headers'];
+            const headers = PWM_VAR['clientSettingCache'][keyName][iteration]['webActions'][webActionIter]['headers'];
             headers[PWM_VAR['newHeaderName']] = PWM_VAR['newHeaderValue'];
             ActionHandler.write(keyName);
             ActionHandler.showHeadersDialog(keyName, iteration, webActionIter);
@@ -602,7 +601,7 @@ ActionHandler.showCertificateViewerDialog = function(data,extraDataJson) {
     let keyName = extraData['keyName'];
     let certInfos = data['data'];
     let bodyText = '';
-    for (let i in certInfos) {
+    for (const i in certInfos) {
         bodyText += X509CertificateHandler.certificateToHtml(certInfos[i],keyName,i);
     }
     let cancelFunction = function(){ ActionHandler.addOrEditWebAction(keyName, extraData['iteration'], extraData['webActionIter']); };

+ 49 - 65
webapp/src/main/webapp/public/resources/js/configeditor-settings-challenges.js

@@ -22,17 +22,17 @@ var ChallengeSettingHandler = {};
 ChallengeSettingHandler.defaultItem = {text:'Question',minLength:4,maxLength:200,adminDefined:true,enforceWordlist:true,maxQuestionCharsInAnswer:3};
 
 ChallengeSettingHandler.init = function(settingKey) {
-    var parentDiv = "table_setting_" + settingKey;
+    const parentDiv = "table_setting_" + settingKey;
     console.log('ChallengeSettingHandler init for ' + settingKey);
     PWM_CFGEDIT.clearDivElements(parentDiv, true);
     PWM_CFGEDIT.readSetting(settingKey, function(resultValue) {
         PWM_VAR['clientSettingCache'][settingKey] = resultValue;
         if (PWM_MAIN.JSLibrary.isEmpty(resultValue)) {
-            var htmlBody = '<button class="btn" id="button-addValue-' + settingKey + '">';
+            let htmlBody = '<button class="btn" id="button-addValue-' + settingKey + '">';
             htmlBody += '<span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Question';
             htmlBody += '</button>';
 
-            var parentDivElement = PWM_MAIN.getObject(parentDiv);
+            const parentDivElement = PWM_MAIN.getObject(parentDiv);
             parentDivElement.innerHTML = htmlBody;
 
             PWM_MAIN.addEventHandler('button-addValue-' + settingKey,'click',function(){
@@ -50,19 +50,19 @@ ChallengeSettingHandler.init = function(settingKey) {
 };
 
 ChallengeSettingHandler.draw = function(settingKey) {
-    var parentDiv = "table_setting_" + settingKey;
-    var resultValue = PWM_VAR['clientSettingCache'][settingKey];
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
-    var bodyText = '<div class="footnote">Click on challenge questions to edit questions and policy settings.</div>';
+    const parentDiv = "table_setting_" + settingKey;
+    const resultValue = PWM_VAR['clientSettingCache'][settingKey];
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
+    let bodyText = '<div class="footnote">Click on challenge questions to edit questions and policy settings.</div>';
     PWM_CFGEDIT.clearDivElements(parentDiv, false);
-    for (var localeName in resultValue) {
+    for (const localeName in resultValue) {
         (function(localeKey) {
-            var multiValues = resultValue[localeKey];
-            var rowCount = PWM_MAIN.JSLibrary.itemCount(multiValues);
+            const multiValues = resultValue[localeKey];
+            const rowCount = PWM_MAIN.JSLibrary.itemCount(multiValues);
 
             bodyText += '<table class="noborder"><tr><td>';
             bodyText += '<table class="setting-challenge-question-summary">';
-            var localeLabel = localeName === '' ? 'Default Locale' : PWM_GLOBAL['localeInfo'][localeName] + " (" + localeName + ")";
+            const localeLabel = localeName === '' ? 'Default Locale' : PWM_GLOBAL['localeInfo'][localeName] + " (" + localeName + ")";
             if (PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]) > 1) {
                 bodyText += '<tr><td class="title" style="font-size:100%; font-weight:normal">' + localeLabel + '</td></tr>';
             }
@@ -70,8 +70,8 @@ ChallengeSettingHandler.draw = function(settingKey) {
             bodyText += '<tr>';
             bodyText += '<td style="width:100%" id="button-edit-' + settingKey + '-' + localeKey + '">';
             if (rowCount > 0) {
-                for (var iteration in multiValues) {
-                    var id = 'panel-value-' + settingKey + '-' + localeKey + '-' + iteration;
+                for (const iteration in multiValues) {
+                    const id = 'panel-value-' + settingKey + '-' + localeKey + '-' + iteration;
                     bodyText += '<div style="text-overflow:ellipsis; white-space:nowrap; overflow:hidden" id="' + id + '">text</div>';
                     bodyText += '<div style="font-size: 80%; font-style: italic">'
                         + '<span style="padding-left: 10px">Min Length: <span id="' + id + '-minLength"></span></span>'
@@ -94,7 +94,7 @@ ChallengeSettingHandler.draw = function(settingKey) {
     }
     parentDivElement.innerHTML = bodyText;
 
-    var addLocaleFunction = function(localeValue) {
+    const addLocaleFunction = function(localeValue) {
         if (localeValue in PWM_VAR['clientSettingCache'][settingKey]) {
             PWM_MAIN.showDialog({title:PWM_MAIN.showString('Title_Error'),text:'Locale <i>' + localeValue + '</i> is already present.'});
         } else {
@@ -105,26 +105,26 @@ ChallengeSettingHandler.draw = function(settingKey) {
             });
         }
     };
-    var tableElement = document.createElement("div");
+    const tableElement = document.createElement("div");
     parentDivElement.appendChild(tableElement);
 
     UILibrary.addAddLocaleButtonRow(tableElement, settingKey, addLocaleFunction, Object.keys(resultValue));
 
-    for (var localeName in resultValue) {
+    for (const localeName in resultValue) {
         (function(localeKey) {
             PWM_MAIN.addEventHandler('button-edit-' + settingKey + '-' + localeKey,'click',function(){
                 ChallengeSettingHandler.editLocale(settingKey,localeKey);
             });
 
-            var multiValues = resultValue[localeKey];
-            var rowCount = PWM_MAIN.JSLibrary.itemCount(multiValues);
+            const multiValues = resultValue[localeKey];
+            const rowCount = PWM_MAIN.JSLibrary.itemCount(multiValues);
             if (rowCount > 0) {
-                for (var iteration in multiValues) {
+                for (const iteration in multiValues) {
                     (function (rowKey) {
-                        var id = 'panel-value-' + settingKey + '-' + localeKey + '-' + iteration;
-                        var questionText = multiValues[rowKey]['text'];
-                        var adminDefined = multiValues[rowKey]['adminDefined'];
-                        var output = (adminDefined ? questionText : '[User Defined]');
+                        const id = 'panel-value-' + settingKey + '-' + localeKey + '-' + iteration;
+                        const questionText = multiValues[rowKey]['text'];
+                        const adminDefined = multiValues[rowKey]['adminDefined'];
+                        const output = (adminDefined ? questionText : '[User Defined]');
                         UILibrary.addTextValueToElement(id,output);
                         UILibrary.addTextValueToElement(id + '-minLength', multiValues[rowKey]['minLength']);
                         UILibrary.addTextValueToElement(id + '-maxLength', multiValues[rowKey]['maxLength']);
@@ -143,15 +143,15 @@ ChallengeSettingHandler.draw = function(settingKey) {
 };
 
 ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
-    var localeDisplay = localeKey === "" ? "Default" : localeKey;
+    const localeDisplay = localeKey === "" ? "Default" : localeKey;
 
-    var localeName = localeKey;
+    const localeName = localeKey;
 
-    var resultValue = PWM_VAR['clientSettingCache'][keyName];
+    const resultValue = PWM_VAR['clientSettingCache'][keyName];
 
-    var multiValues = resultValue[localeName];
+    const multiValues = resultValue[localeName];
 
-    var dialogBody = '';
+    let dialogBody = '';
     dialogBody += '<div style="width:100%; text-align: center">'
         + '<span>Toggle All: </span><button class="btn" id="button-toggleWordlist-' + keyName + '-' + localeKey + '">Apply Word List</button>'
         + '<span>Change All: </span><button class="btn" id="button-changeAll-minLength-' + keyName + '-' + localeKey + '">Min Length</button>'
@@ -160,7 +160,7 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
         + '</div>';
     dialogBody += '<div id="challengeLocaleDialogDiv" style="max-height:500px; overflow-x: auto">';
 
-    for (var iteration in multiValues) {
+    for (const iteration in multiValues) {
         (function(rowKey) {
 
 
@@ -169,7 +169,7 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
             dialogBody += '<table class="noborder" style="margin:0"><tr>';
             dialogBody += '<td colspan="200" style="border-width: 0;">';
 
-            var inputID = "value-" + keyName + "-" + localeName + "-" + rowKey;
+            const inputID = "value-" + keyName + "-" + localeName + "-" + rowKey;
             PWM_MAIN.clearDijitWidget(inputID);
 
             dialogBody += '<input class="configStringInput" id="' + inputID + '" style="width: 700px" required="required" disabled value="Loading"/>';
@@ -215,7 +215,7 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
     dialogBody += '</div>';
     dialogBody += '<br/>';
 
-    var dialogTitle = PWM_SETTINGS['settings'][keyName]['label'] + ' - ' + localeDisplay + ' Locale';
+    const dialogTitle = PWM_SETTINGS['settings'][keyName]['label'] + ' - ' + localeDisplay + ' Locale';
     PWM_MAIN.showDialog({
         title:dialogTitle,
         buttonHtml:'<button class="btn" id="button-addValue"><span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Question</button>',
@@ -227,28 +227,28 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
                 ChallengeSettingHandler.addRow(keyName,localeKey);
             });
 
-            var switchAllValues = function(settingType, settingValue) {
-                for (var iteration in multiValues) {
+            const switchAllValues = function(settingType, settingValue) {
+                for (const iteration in multiValues) {
                     (function(rowKey) {
                         multiValues[rowKey][settingType] = settingValue;
                     }(iteration));
                 }
             };
 
-            var switchAllNumericValue = function(settingType, defaultValue, min, max) {
-                var dialogText = '<div>New Value <input type="number" id="newValue" value="' + defaultValue + '" min="' + min + '" max="' + max + '"></input></div>';
+            const switchAllNumericValue = function(settingType, defaultValue, min, max) {
+                const dialogText = '<div>New Value <input type="number" id="newValue" value="' + defaultValue + '" min="' + min + '" max="' + max + '"></input></div>';
                 PWM_VAR['tempValue'] = defaultValue;
-                var loadFunction = function(){
+                const loadFunction = function(){
                     PWM_MAIN.addEventHandler('newValue','change',function(){
                         PWM_VAR['tempValue'] = PWM_MAIN.getObject('newValue').value;
                     })
                 };
-                var okAction = function() {
+                const okAction = function() {
                     switchAllValues(settingType,PWM_VAR['tempValue']);
                     PWM_MAIN.JSLibrary.removeFromArray(PWM_VAR, 'tempValue');
                     ChallengeSettingHandler.editLocale(keyName, localeKey);
                 };
-                var cancelAction = function() {
+                const cancelAction = function() {
                     ChallengeSettingHandler.editLocale(keyName, localeKey);
                 }
                 PWM_MAIN.showConfirmDialog({text:dialogText,loadFunction:loadFunction, okAction:okAction, cancelAction:cancelAction});
@@ -256,7 +256,7 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
 
             PWM_MAIN.addEventHandler('button-toggleWordlist-' + keyName + '-' + localeKey,'click',function(){
                 PWM_MAIN.showConfirmDialog({okAction:function(){
-                        var row0value = multiValues[0]['enforceWordlist'];
+                        const row0value = multiValues[0]['enforceWordlist'];
                         switchAllValues('enforceWordlist',!row0value);
                         ChallengeSettingHandler.editLocale(keyName, localeKey);
                     }
@@ -276,9 +276,9 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
 
 
 
-            for (var iteration in multiValues) {
+            for (const iteration in multiValues) {
                 (function(rowKey) {
-                    var inputID = "value-" + keyName + "-" + localeName + "-" + rowKey;
+                    const inputID = "value-" + keyName + "-" + localeName + "-" + rowKey;
                     UILibrary.manageNumericInput('button-minLength-' + inputID, function(value){
                         PWM_VAR['clientSettingCache'][keyName][localeKey][rowKey]['minLength'] = value;
                     });
@@ -290,8 +290,8 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
                     });
 
                     // question text
-                    var processQuestion = function() {
-                        var isAdminDefined = multiValues[rowKey]['adminDefined'];
+                    const processQuestion = function() {
+                        const isAdminDefined = multiValues[rowKey]['adminDefined'];
                         PWM_MAIN.getObject(inputID).value = isAdminDefined ? multiValues[rowKey]['text'] : '[User Defined]';
                         PWM_MAIN.getObject(inputID).disabled = !isAdminDefined;
                     };
@@ -307,7 +307,7 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
                     PWM_MAIN.JSLibrary.setValueOfSelectElement('value-adminDefined-' + inputID, multiValues[rowKey]['adminDefined'] ? 'ADMIN' : 'USER');
 
                     PWM_MAIN.addEventHandler('value-adminDefined-' + inputID,'change',function(){
-                        var checked = PWM_MAIN.JSLibrary.readValueOfSelectElement('value-adminDefined-' + inputID) === 'ADMIN';
+                        const checked = PWM_MAIN.JSLibrary.readValueOfSelectElement('value-adminDefined-' + inputID) === 'ADMIN';
                         multiValues[rowKey]['adminDefined'] = checked;
                         processQuestion();
                     });
@@ -316,7 +316,7 @@ ChallengeSettingHandler.editLocale = function(keyName, localeKey) {
                     PWM_MAIN.getObject('value-wordlist-' + inputID).disabled = false;
                     PWM_MAIN.getObject('value-wordlist-' + inputID).checked = multiValues[rowKey]['enforceWordlist'];
                     PWM_MAIN.addEventHandler('value-wordlist-' + inputID,'change',function(){
-                        var checked = PWM_MAIN.getObject('value-wordlist-' + inputID).checked;
+                        const checked = PWM_MAIN.getObject('value-wordlist-' + inputID).checked;
                         multiValues[rowKey]['enforceWordlist'] = checked;
                     });
 
@@ -351,26 +351,10 @@ ChallengeSettingHandler.deleteLocale = function(keyName,localeKey) {
     });
 };
 
-ChallengeSettingHandler.toggleAdminDefinedRow = function(toggleElement,inputID,keyName,localeKey,rowKey) {
-    require(["dojo","dijit/registry"],function(dojo,registry){
-        var currentSetting = toggleElement.checked;
-        PWM_VAR['clientSettingCache'][keyName][localeKey][rowKey]['adminDefined'] = currentSetting;
-        var inputElement = registry.byId(inputID);
-        if (currentSetting) {
-            inputElement.set('disabled',false);
-            inputElement.set('value','Question');
-        } else {
-            inputElement.set('disabled',true);
-            inputElement.set('value','[User Defined]');
-            PWM_VAR['clientSettingCache'][keyName][localeKey][rowKey]['text'] = '';
-        }
-    });
-};
-
 ChallengeSettingHandler.deleteRow = function(keyName, localeKey, rowName) {
-    var questionText = PWM_VAR['clientSettingCache'][keyName][localeKey][rowName]['text'];
-    var adminDefined = PWM_VAR['clientSettingCache'][keyName][localeKey][rowName]['adminDefined'];
-    var output = (adminDefined ? 'the question "' + questionText + '"': 'the [User Defined] question?');
+    const questionText = PWM_VAR['clientSettingCache'][keyName][localeKey][rowName]['text'];
+    const adminDefined = PWM_VAR['clientSettingCache'][keyName][localeKey][rowName]['adminDefined'];
+    const output = (adminDefined ? 'the question "' + questionText + '"': 'the [User Defined] question?');
     PWM_MAIN.showConfirmDialog({
         text: 'Are you sure you want to remove ' + output,
         okAction:function(){
@@ -387,7 +371,7 @@ ChallengeSettingHandler.deleteRow = function(keyName, localeKey, rowName) {
 ChallengeSettingHandler.addRow = function(keyName, localeKey) {
     PWM_MAIN.showWaitDialog({
         loadFunction:function(){
-            var newValues = PWM_MAIN.copyObject(ChallengeSettingHandler.defaultItem);
+            const newValues = PWM_MAIN.copyObject(ChallengeSettingHandler.defaultItem);
             PWM_VAR['clientSettingCache'][keyName][localeKey].push(newValues);
             ChallengeSettingHandler.write(keyName,function(){
                 PWM_MAIN.showDialog({title:PWM_MAIN.showString('Title_Success'),text:'Added new item to end of existing question list.',okAction:function(){

+ 48 - 47
webapp/src/main/webapp/public/resources/js/configeditor-settings-customlink.js

@@ -29,7 +29,7 @@ CustomLinkHandler.newRowValue = {
 
 CustomLinkHandler.init = function(keyName) {
     console.log('CustomLinkHandler init for ' + keyName);
-    var parentDiv = 'table_setting_' + keyName;
+    const parentDiv = 'table_setting_' + keyName;
     PWM_CFGEDIT.clearDivElements(parentDiv, true);
     PWM_CFGEDIT.readSetting(keyName, function(resultValue) {
         PWM_VAR['clientSettingCache'][keyName] = resultValue;
@@ -38,26 +38,27 @@ CustomLinkHandler.init = function(keyName) {
 };
 
 CustomLinkHandler.redraw = function(keyName) {
-    var resultValue = PWM_VAR['clientSettingCache'][keyName];
-    var parentDiv = 'table_setting_' + keyName;
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
-
-    parentDivElement.innerHTML = '<table class="noborder" style="margin-left: 0; width:auto" id="table-top-' + keyName + '"></table>';
-    parentDiv = 'table-top-' + keyName;
-    parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const resultValue = PWM_VAR['clientSettingCache'][keyName];
+    {
+        const parentDiv = 'table_setting_' + keyName;
+        const parentDivElement = PWM_MAIN.getObject(parentDiv);
+        parentDivElement.innerHTML = '<table class="noborder" style="margin-left: 0; width:auto" id="table-top-' + keyName + '"></table>';
+    }
+    const parentDiv = 'table-top-' + keyName;
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
 
     if (!PWM_MAIN.JSLibrary.isEmpty(resultValue)) {
-        var headerRow = document.createElement("tr");
-        var rowHtml = '<td>Name</td><td></td><td>Label</td>';
+        const headerRow = document.createElement("tr");
+        const rowHtml = '<td>Name</td><td></td><td>Label</td>';
         headerRow.innerHTML = rowHtml;
         parentDivElement.appendChild(headerRow);
     }
 
-    for (var i in resultValue) {
+    for (const i in resultValue) {
         CustomLinkHandler.drawRow(parentDiv, keyName, i, resultValue[i]);
     }
 
-    var buttonRow = document.createElement("tr");
+    const buttonRow = document.createElement("tr");
     buttonRow.setAttribute("colspan","5");
     buttonRow.innerHTML = '<td><button class="btn" id="button-' + keyName + '-addRow"><span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Item</button></td>';
 
@@ -70,15 +71,15 @@ CustomLinkHandler.redraw = function(keyName) {
 };
 
 CustomLinkHandler.drawRow = function(parentDiv, settingKey, iteration, value) {
-        var itemCount = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]);
-        var inputID = 'value_' + settingKey + '_' + iteration + "_";
-        var options = PWM_SETTINGS['settings'][settingKey]['options'];
-        var properties = PWM_SETTINGS['settings'][settingKey]['properties'];
+        const itemCount = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]);
+        const inputID = 'value_' + settingKey + '_' + iteration + "_";
+        const options = PWM_SETTINGS['settings'][settingKey]['options'];
+        const properties = PWM_SETTINGS['settings'][settingKey]['properties'];
 
-        var newTableRow = document.createElement("tr");
+        const newTableRow = document.createElement("tr");
         newTableRow.setAttribute("style", "border-width: 0");
 
-        var htmlRow = '';
+        let htmlRow = '';
         htmlRow += '<td style="background: #f6f9f8; border:1px solid #dae1e1; width:180px"><div class="noWrapTextBox" id="panel-name-' + inputID + '" ></div></td>';
         htmlRow += '<td style="width:1px" id="icon-editLabel-' + inputID + '"><span class="btn-icon pwm-icon pwm-icon-edit"></span></td>';
         htmlRow += '<td style="background: #f6f9f8; border:1px solid #dae1e1; width:170px"><div style="" class="noWrapTextBox " id="' + inputID + 'label"><span>' + value['labels'][''] + '</span></div></td>';
@@ -99,7 +100,7 @@ CustomLinkHandler.drawRow = function(parentDiv, settingKey, iteration, value) {
         htmlRow += '<td style="width:10px"><span class="delete-row-icon action-icon pwm-icon pwm-icon-times" id="' + inputID + '-deleteRowButton"></span></td>';
 
         newTableRow.innerHTML = htmlRow;
-        var parentDivElement = PWM_MAIN.getObject(parentDiv);
+        const parentDivElement = PWM_MAIN.getObject(parentDiv);
         parentDivElement.appendChild(newTableRow);
 
         UILibrary.addTextValueToElement("panel-name-" + inputID,value['name']);
@@ -133,7 +134,7 @@ CustomLinkHandler.drawRow = function(parentDiv, settingKey, iteration, value) {
 };
 
 CustomLinkHandler.write = function(settingKey, finishFunction) {
-    var cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
+    const cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
     PWM_CFGEDIT.writeSetting(settingKey, cachedSetting, finishFunction);
 };
 
@@ -141,7 +142,7 @@ CustomLinkHandler.removeRow = function(keyName, iteration) {
     PWM_MAIN.showConfirmDialog({
         text:'Are you sure you wish to delete this item?',
         okAction:function(){
-            var currentValues = PWM_VAR['clientSettingCache'][keyName];
+            const currentValues = PWM_VAR['clientSettingCache'][keyName];
             currentValues.splice(iteration,1);
             CustomLinkHandler.write(keyName,function(){
                 CustomLinkHandler.init(keyName);
@@ -151,7 +152,7 @@ CustomLinkHandler.removeRow = function(keyName, iteration) {
 };
 
 CustomLinkHandler.move = function(settingKey, moveUp, iteration) {
-    var currentValues = PWM_VAR['clientSettingCache'][settingKey];
+    const currentValues = PWM_VAR['clientSettingCache'][settingKey];
     if (moveUp) {
         CustomLinkHandler.arrayMoveUtil(currentValues, iteration, iteration - 1);
     } else {
@@ -162,7 +163,7 @@ CustomLinkHandler.move = function(settingKey, moveUp, iteration) {
 };
 
 CustomLinkHandler.arrayMoveUtil = function(arr, fromIndex, toIndex) {
-    var element = arr[fromIndex];
+    const element = arr[fromIndex];
     arr.splice(fromIndex, 1);
     arr.splice(toIndex, 0, element);
 };
@@ -175,13 +176,13 @@ CustomLinkHandler.addRow = function(keyName) {
         regex:'^[a-zA-Z][a-zA-Z0-9-]*$',
         placeholder:'KeyName',
         completeFunction:function(value){
-            for (var i in PWM_VAR['clientSettingCache'][keyName]) {
+            for (const i in PWM_VAR['clientSettingCache'][keyName]) {
                 if (PWM_VAR['clientSettingCache'][keyName][i]['name'] === value) {
                     alert('key name already exists');
                     return;
                 }
             }
-            var currentSize = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][keyName]);
+            const currentSize = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][keyName]);
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1] = CustomLinkHandler.newRowValue;
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1].name = value;
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1].labels = {'':value};
@@ -193,27 +194,27 @@ CustomLinkHandler.addRow = function(keyName) {
 };
 
 CustomLinkHandler.showOptionsDialog = function(keyName, iteration) {
-    var type = PWM_VAR['clientSettingCache'][keyName][iteration]['type'];
-    var settings = PWM_SETTINGS['settings'][keyName];
-    var options = 'options' in PWM_SETTINGS['settings'][keyName] ? PWM_SETTINGS['settings'][keyName]['options'] : {};
+    const type = PWM_VAR['clientSettingCache'][keyName][iteration]['type'];
+    const settings = PWM_SETTINGS['settings'][keyName];
+    const options = 'options' in PWM_SETTINGS['settings'][keyName] ? PWM_SETTINGS['settings'][keyName]['options'] : {};
 
-    var inputID = 'value_' + keyName + '_' + iteration + '_';
-    var bodyText = '<div style="max-height: 500px; overflow-x: auto"><table class="noborder">';
+    const inputID = 'value_' + keyName + '_' + iteration + '_';
+    let bodyText = '<div style="max-height: 500px; overflow-x: auto"><table class="noborder">';
 
     bodyText += '<tr>';
-    var descriptionValue = PWM_VAR['clientSettingCache'][keyName][iteration]['description'][''];
+    const descriptionValue = PWM_VAR['clientSettingCache'][keyName][iteration]['description'][''];
     bodyText += '<td id="' + inputID + '-label-description" class="key" >Description</td><td>';
     bodyText += '<div class="noWrapTextBox" id="' + inputID + 'DescriptionValue"><span class="btn-icon pwm-icon pwm-icon-edit"></span><span>' + descriptionValue + '...</span></div>';
     bodyText += '</td>';
 
     bodyText += '</tr><tr>';
 
-    var customLinkUrl = PWM_VAR['clientSettingCache'][keyName][iteration]['customLinkUrl'];
+    const customLinkUrl = PWM_VAR['clientSettingCache'][keyName][iteration]['customLinkUrl'];
     bodyText += '<td id="' + inputID + '-Site-url" class="key" >Link URL</td><td>' +
         '<input placeholder="https://example.com" style="width: 350px;" type="url" class="key" id="' + inputID + 'SiteURL' + '" value="'+ customLinkUrl +'"/></td>';
     bodyText += '</tr><tr>';
 
-    var checkedValue = PWM_VAR['clientSettingCache'][keyName][iteration]['customLinkNewWindow'];
+    const checkedValue = PWM_VAR['clientSettingCache'][keyName][iteration]['customLinkNewWindow'];
     bodyText += '<td class="key" title="' + PWM_CONFIG.showString('Tooltip_Form_ShowInNewWindow') + '">Open link in new window</td><td><input type="checkbox" id="' + inputID + 'newWindow' + '" ';
     if(checkedValue) {
         bodyText += 'checked'
@@ -224,7 +225,7 @@ CustomLinkHandler.showOptionsDialog = function(keyName, iteration) {
 
     bodyText += '</table></div>';
 
-    var initDialogWidgets = function () {
+    const initDialogWidgets = function () {
 
         PWM_MAIN.addEventHandler(inputID + 'DescriptionValue', 'change', function () {
             CustomLinkHandler.showDescriptionDialog(keyName, iteration);
@@ -257,19 +258,19 @@ CustomLinkHandler.showOptionsDialog = function(keyName, iteration) {
 };
 
 CustomLinkHandler.showLabelDialog = function(keyName, iteration) {
-    var finishAction = function(){ CustomLinkHandler.redraw(keyName); };
-    var title = 'Label for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
+    const finishAction = function(){ CustomLinkHandler.redraw(keyName); };
+    const title = 'Label for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
     CustomLinkHandler.multiLocaleStringDialog(keyName, iteration, 'labels', finishAction, title);
 };
 
 CustomLinkHandler.multiLocaleStringDialog = function(keyName, iteration, settingType, finishAction, titleText) {
     require(["dijit/Dialog","dijit/form/Textarea","dijit/form/CheckBox"],function(){
-        var inputID = 'value_' + keyName + '_' + iteration + "_" + "label_";
-        var bodyText = '<table class="noborder" id="' + inputID + 'table">';
+        const inputID = 'value_' + keyName + '_' + iteration + "_" + "label_";
+        let bodyText = '<table class="noborder" id="' + inputID + 'table">';
         bodyText += '<tr>';
-        for (var localeName in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
-            var value = PWM_VAR['clientSettingCache'][keyName][iteration][settingType][localeName];
-            var localeID = inputID + localeName;
+        for (const localeName in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
+            const value = PWM_VAR['clientSettingCache'][keyName][iteration][settingType][localeName];
+            const localeID = inputID + localeName;
             bodyText += '<td>' + localeName + '</td>';
             bodyText += '<td><input style="width:420px" class="configStringInput" type="text" value="' + value + '" id="' + localeID + '-input"></input></td>';
             if (localeName !== '') {
@@ -286,12 +287,12 @@ CustomLinkHandler.multiLocaleStringDialog = function(keyName, iteration, setting
                 finishAction();
             },
             loadFunction:function(){
-                for (var iter in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
+                for (const iter in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
                     (function(localeName) {
-                        var localeID = inputID + localeName;
+                        const localeID = inputID + localeName;
                         PWM_MAIN.addEventHandler(localeID + '-input', 'input', function () {
-                            var inputElement = PWM_MAIN.getObject(localeID + '-input');
-                            var value = inputElement.value;
+                            const inputElement = PWM_MAIN.getObject(localeID + '-input');
+                            const value = inputElement.value;
                             PWM_VAR['clientSettingCache'][keyName][iteration][settingType][localeName] = value;
                             CustomLinkHandler.write(keyName);
                         });
@@ -318,8 +319,8 @@ CustomLinkHandler.multiLocaleStringDialog = function(keyName, iteration, setting
 
 
 CustomLinkHandler.showDescriptionDialog = function(keyName, iteration) {
-    var finishAction = function(){ CustomLinkHandler.showOptionsDialog(keyName, iteration); };
-    var title = 'Description for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
+    const finishAction = function(){ CustomLinkHandler.showOptionsDialog(keyName, iteration); };
+    const title = 'Description for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
     CustomLinkHandler.multiLocaleStringDialog(keyName, iteration, 'description', finishAction, title);
 };
 

+ 21 - 21
webapp/src/main/webapp/public/resources/js/configeditor-settings-email.js

@@ -38,28 +38,28 @@ EmailTableHandler.init = function(keyName) {
 };
 
 EmailTableHandler.draw = function(settingKey) {
-    var resultValue = PWM_VAR['clientSettingCache'][settingKey];
-    var parentDiv = 'table_setting_' + settingKey;
+    const resultValue = PWM_VAR['clientSettingCache'][settingKey];
+    const parentDiv = 'table_setting_' + settingKey;
     PWM_CFGEDIT.clearDivElements(parentDiv, true);
     PWM_CFGEDIT.clearDivElements(parentDiv, false);
 
-    var htmlBody = '';
-    for (var localeName in resultValue) {
+    let htmlBody = '';
+    for (const localeName in resultValue) {
         htmlBody += EmailTableHandler.drawRowHtml(settingKey,localeName)
     }
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
     parentDivElement.innerHTML = htmlBody;
 
-    for (var localeName in resultValue) {
+    for (const localeName in resultValue) {
         EmailTableHandler.instrumentRow(settingKey,localeName)
     }
 
     if (PWM_MAIN.JSLibrary.isEmpty(resultValue)) {
-        var htmlBody = '<button class="btn" id="button-addValue-' + settingKey + '">';
+        let htmlBody = '<button class="btn" id="button-addValue-' + settingKey + '">';
         htmlBody += '<span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Value';
         htmlBody += '</button>';
 
-        var parentDivElement = PWM_MAIN.getObject(parentDiv);
+        const parentDivElement = PWM_MAIN.getObject(parentDiv);
         parentDivElement.innerHTML = htmlBody;
 
         PWM_MAIN.addEventHandler('button-addValue-' + settingKey,'click',function(){
@@ -67,7 +67,7 @@ EmailTableHandler.draw = function(settingKey) {
         });
 
     } else {
-        var addLocaleFunction = function(localeValue) {
+        const addLocaleFunction = function(localeValue) {
             if (!PWM_VAR['clientSettingCache'][settingKey][localeValue]) {
                 PWM_VAR['clientSettingCache'][settingKey][localeValue] = EmailTableHandler.defaultValue;
                 EmailTableHandler.writeSetting(settingKey,true);
@@ -78,15 +78,15 @@ EmailTableHandler.draw = function(settingKey) {
 };
 
 EmailTableHandler.drawRowHtml = function(settingKey, localeName) {
-    var localeLabel = localeName === '' ? 'Default Locale' : PWM_GLOBAL['localeInfo'][localeName] + " (" + localeName + ")";
-    var idPrefix = "setting-" + localeName + "-" + settingKey;
-    var htmlBody = '';
+    const localeLabel = localeName === '' ? 'Default Locale' : PWM_GLOBAL['localeInfo'][localeName] + " (" + localeName + ")";
+    const idPrefix = "setting-" + localeName + "-" + settingKey;
+    let htmlBody = '';
     htmlBody += '<table class="noborder" style=""><tr ><td class="noborder" style="max-width: 440px">';
     htmlBody += '<table>';
     if (PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]) > 1) {
         htmlBody += '<tr><td colspan="5" class="title" style="font-size:100%; font-weight:normal">' + localeLabel + '</td></tr>';
     }
-    var outputFunction = function (labelText, typeText) {
+    const outputFunction = function (labelText, typeText) {
         htmlBody += '<tr><td style="text-align:right; border-width:0;">' + labelText + '</td>';
         htmlBody += '<td id="button-' + typeText + '-' + idPrefix + '" style="border-width:0; width: 15px"><span class="pwm-icon pwm-icon-edit"/></ta>';
         htmlBody += '<td style=""><div class="configStringPanel" id="panel-' + typeText + '-' + idPrefix + '"></div></td>';
@@ -108,7 +108,7 @@ EmailTableHandler.drawRowHtml = function(settingKey, localeName) {
 
 
 EmailTableHandler.instrumentRow = function(settingKey, localeName) {
-    var idPrefix = "setting-" + localeName + "-" + settingKey;
+    const idPrefix = "setting-" + localeName + "-" + settingKey;
 
     UILibrary.addTextValueToElement('panel-to-' + idPrefix,PWM_VAR['clientSettingCache'][settingKey][localeName]['to']);
     PWM_MAIN.addEventHandler('button-to-' + idPrefix,'click',function(){ EmailTableHandler.editor(settingKey,localeName,false,'to',PWM_CONFIG.showString('Instructions_Edit_Email')); });
@@ -139,12 +139,12 @@ EmailTableHandler.instrumentRow = function(settingKey, localeName) {
 };
 
 EmailTableHandler.htmlEditorChoice = function(settingKey,localeName,type) {
-    var  dialogBody = '';
+    let  dialogBody = '';
     dialogBody += '<div>You can use either the HTML or plaintext editor to modify the HTML email body.</div>';
     dialogBody += '<div class="buttonbar"><button class="btn" id="btn-editor-plain">Plain</button>';
     dialogBody += '<button class="btn" id="btn-editor-html">HTML</button></div>';
 
-    var addEventHandlers = function(){
+    const addEventHandlers = function(){
         PWM_MAIN.addEventHandler('btn-editor-plain','click',function(){ EmailTableHandler.editor(settingKey,localeName,true,type); });
         PWM_MAIN.addEventHandler('btn-editor-html','click',function(){ EmailTableHandler.htmlBodyEditor(settingKey,localeName); });
     };
@@ -160,7 +160,7 @@ EmailTableHandler.htmlEditorChoice = function(settingKey,localeName,type) {
 
 
 EmailTableHandler.editor = function(settingKey, localeName, drawTextArea, type, instructions){
-    var settingData = PWM_SETTINGS['settings'][settingKey];
+    const settingData = PWM_SETTINGS['settings'][settingKey];
     UILibrary.stringEditorDialog({
         title:'Edit Value - ' + settingData['label'],
         instructions: instructions ? instructions : '',
@@ -178,9 +178,9 @@ EmailTableHandler.editor = function(settingKey, localeName, drawTextArea, type,
 
 EmailTableHandler.htmlBodyEditor = function(keyName, localeName) {
     // Grab the scope from the angular controller we created on the div element with ID: centerbody-config
-    var $scope = angular.element(document.getElementById("centerbody-config")).scope();
-    var idValue = keyName + "_" + localeName + "_htmlEditor";
-    var toolbarButtons =
+    const $scope = angular.element(document.getElementById("centerbody-config")).scope();
+    const idValue = keyName + "_" + localeName + "_htmlEditor";
+    const toolbarButtons =
         "[" +
         "['h1','h2','h3','h4','h5','h6','p','pre','quote']," +
         "['bold','italics','underline','strikeThrough','ul','ol','undo','redo','clear']," +
@@ -208,7 +208,7 @@ EmailTableHandler.htmlBodyEditor = function(keyName, localeName) {
 
 
 EmailTableHandler.writeSetting = function(settingKey, redraw) {
-    var currentValues = PWM_VAR['clientSettingCache'][settingKey];
+    const currentValues = PWM_VAR['clientSettingCache'][settingKey];
     PWM_CFGEDIT.writeSetting(settingKey, currentValues, function(){
         if (redraw) {
             EmailTableHandler.init(settingKey);

+ 83 - 82
webapp/src/main/webapp/public/resources/js/configeditor-settings-form.js

@@ -39,7 +39,7 @@ FormTableHandler.newRowValue = {
 
 FormTableHandler.init = function(keyName) {
     console.log('FormTableHandler init for ' + keyName);
-    var parentDiv = 'table_setting_' + keyName;
+    const parentDiv = 'table_setting_' + keyName;
     PWM_CFGEDIT.clearDivElements(parentDiv, true);
     PWM_CFGEDIT.readSetting(keyName, function(resultValue) {
         PWM_VAR['clientSettingCache'][keyName] = resultValue;
@@ -48,26 +48,27 @@ FormTableHandler.init = function(keyName) {
 };
 
 FormTableHandler.redraw = function(keyName) {
-    var resultValue = PWM_VAR['clientSettingCache'][keyName];
-    var parentDiv = 'table_setting_' + keyName;
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
-
-    parentDivElement.innerHTML = '<table class="noborder" style="margin-left: 0; width:auto" id="table-top-' + keyName + '"></table>';
-    parentDiv = 'table-top-' + keyName;
-    parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const resultValue = PWM_VAR['clientSettingCache'][keyName];
+    {
+        const parentDiv = 'table_setting_' + keyName;
+        const parentDivElement = PWM_MAIN.getObject(parentDiv);
+        parentDivElement.innerHTML = '<table class="noborder" style="margin-left: 0; width:auto" id="table-top-' + keyName + '"></table>';
+    }
+    const parentDiv = 'table-top-' + keyName;
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
 
     if (!PWM_MAIN.JSLibrary.isEmpty(resultValue)) {
-        var headerRow = document.createElement("tr");
-        var rowHtml = '<td>Name</td><td></td><td>Label</td>';
+        const headerRow = document.createElement("tr");
+        const rowHtml = '<td>Name</td><td></td><td>Label</td>';
         headerRow.innerHTML = rowHtml;
         parentDivElement.appendChild(headerRow);
     }
 
-    for (var i in resultValue) {
+    for (const i in resultValue) {
         FormTableHandler.drawRow(parentDiv, keyName, i, resultValue[i]);
     }
 
-    var buttonRow = document.createElement("tr");
+    const buttonRow = document.createElement("tr");
     buttonRow.setAttribute("colspan","5");
     buttonRow.innerHTML = '<td><button class="btn" id="button-' + keyName + '-addRow"><span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Item</button></td>';
 
@@ -80,27 +81,27 @@ FormTableHandler.redraw = function(keyName) {
 };
 
 FormTableHandler.drawRow = function(parentDiv, settingKey, iteration, value) {
-    var itemCount = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]);
-    var inputID = 'value_' + settingKey + '_' + iteration + "_";
-    var options = PWM_SETTINGS['settings'][settingKey]['options'];
-    var properties = PWM_SETTINGS['settings'][settingKey]['properties'];
+    const itemCount = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]);
+    const inputID = 'value_' + settingKey + '_' + iteration + "_";
+    const options = PWM_SETTINGS['settings'][settingKey]['options'];
+    const properties = PWM_SETTINGS['settings'][settingKey]['properties'];
 
-    var newTableRow = document.createElement("tr");
+    const newTableRow = document.createElement("tr");
     newTableRow.setAttribute("style", "border-width: 0");
 
-    var htmlRow = '';
+    let htmlRow = '';
     htmlRow += '<td style="background: #f6f9f8; border:1px solid #dae1e1; width:180px"><div class="noWrapTextBox" id="panel-name-' + inputID + '" ></div></td>';
     htmlRow += '<td style="width:1px" id="icon-editLabel-' + inputID + '"><span class="btn-icon pwm-icon pwm-icon-edit"></span></td>';
     htmlRow += '<td style="background: #f6f9f8; border:1px solid #dae1e1; width:170px"><div style="" class="noWrapTextBox " id="' + inputID + 'label"><span>' + value['labels'][''] + '</span></div></td>';
 
-    var userDNtypeAllowed = options['type-userDN'] === 'show';
+    const userDNtypeAllowed = options['type-userDN'] === 'show';
     if (!PWM_MAIN.JSLibrary.isEmpty(options)) {
         htmlRow += '<td style="width:15px;">';
         htmlRow += '<select id="' + inputID + 'type">';
-        for (var optionItem in options) {
+        for (const optionItem in options) {
             //if (optionList[optionItem] !== 'userDN' || userDNtypeAllowed) {
-            var optionName = options[optionItem];
-            var selected = (optionName === PWM_VAR['clientSettingCache'][settingKey][iteration]['type']);
+            const optionName = options[optionItem];
+            const selected = (optionName === PWM_VAR['clientSettingCache'][settingKey][iteration]['type']);
             htmlRow += '<option value="' + optionName + '"' + (selected ? " selected" : "") + '>' + optionName + '</option>';
             //}
         }
@@ -108,7 +109,7 @@ FormTableHandler.drawRow = function(parentDiv, settingKey, iteration, value) {
         htmlRow += '</td>';
     }
 
-    var hideOptions = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][settingKey]['flags'], 'Form_HideOptions');
+    const hideOptions = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][settingKey]['flags'], 'Form_HideOptions');
     if (!hideOptions) {
         htmlRow += '<td class="noborder" style="min-width:90px;"><button id="' + inputID + 'optionsButton"><span class="btn-icon pwm-icon pwm-icon-sliders"/> Options</button></td>';
     }
@@ -127,7 +128,7 @@ FormTableHandler.drawRow = function(parentDiv, settingKey, iteration, value) {
     htmlRow += '<td style="width:10px"><span class="delete-row-icon action-icon pwm-icon pwm-icon-times" id="' + inputID + '-deleteRowButton"></span></td>';
 
     newTableRow.innerHTML = htmlRow;
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
     parentDivElement.appendChild(newTableRow);
 
     UILibrary.addTextValueToElement("panel-name-" + inputID,value['name']);
@@ -161,7 +162,7 @@ FormTableHandler.drawRow = function(parentDiv, settingKey, iteration, value) {
 };
 
 FormTableHandler.write = function(settingKey, finishFunction) {
-    var cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
+    const cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
     PWM_CFGEDIT.writeSetting(settingKey, cachedSetting, finishFunction);
 };
 
@@ -169,7 +170,7 @@ FormTableHandler.removeRow = function(keyName, iteration) {
     PWM_MAIN.showConfirmDialog({
         text:'Are you sure you wish to delete this item?',
         okAction:function(){
-            var currentValues = PWM_VAR['clientSettingCache'][keyName];
+            const currentValues = PWM_VAR['clientSettingCache'][keyName];
             currentValues.splice(iteration,1);
             FormTableHandler.write(keyName,function(){
                 FormTableHandler.init(keyName);
@@ -179,7 +180,7 @@ FormTableHandler.removeRow = function(keyName, iteration) {
 };
 
 FormTableHandler.move = function(settingKey, moveUp, iteration) {
-    var currentValues = PWM_VAR['clientSettingCache'][settingKey];
+    const currentValues = PWM_VAR['clientSettingCache'][settingKey];
     if (moveUp) {
         FormTableHandler.arrayMoveUtil(currentValues, iteration, iteration - 1);
     } else {
@@ -190,7 +191,7 @@ FormTableHandler.move = function(settingKey, moveUp, iteration) {
 };
 
 FormTableHandler.arrayMoveUtil = function(arr, fromIndex, toIndex) {
-    var element = arr[fromIndex];
+    const element = arr[fromIndex];
     arr.splice(fromIndex, 1);
     arr.splice(toIndex, 0, element);
 };
@@ -202,13 +203,13 @@ FormTableHandler.addRow = function(keyName) {
         regex:'^[a-zA-Z][a-zA-Z0-9-]*$',
         placeholder:'FieldName',
         completeFunction:function(value){
-            for (var i in PWM_VAR['clientSettingCache'][keyName]) {
+            for (const i in PWM_VAR['clientSettingCache'][keyName]) {
                 if (PWM_VAR['clientSettingCache'][keyName][i]['name'] === value) {
                     alert('field already exists');
                     return;
                 }
             }
-            var currentSize = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][keyName]);
+            const currentSize = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][keyName]);
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1] = FormTableHandler.newRowValue;
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1].name = value;
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1].labels = {'':value};
@@ -220,23 +221,23 @@ FormTableHandler.addRow = function(keyName) {
 };
 
 FormTableHandler.showOptionsDialog = function(keyName, iteration) {
-    var type = PWM_VAR['clientSettingCache'][keyName][iteration]['type'];
-    var settings = PWM_SETTINGS['settings'][keyName];
-    var currentValue = PWM_VAR['clientSettingCache'][keyName][iteration];
-    var options = PWM_SETTINGS['settings'][keyName]['options'];
+    const type = PWM_VAR['clientSettingCache'][keyName][iteration]['type'];
+    const settings = PWM_SETTINGS['settings'][keyName];
+    const currentValue = PWM_VAR['clientSettingCache'][keyName][iteration];
+    const options = PWM_SETTINGS['settings'][keyName]['options'];
 
 
-    var hideStandardOptions = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_HideStandardOptions') || type === 'photo';
-    var showRequired = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowRequiredOption');
-    var showUnique = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowUniqueOption') && type !== 'photo';
-    var showReadOnly = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowReadOnlyOption');
-    var showMultiValue = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowMultiValueOption');
-    var showConfirmation = type !== 'checkbox' && type !== 'select' && type != 'photo' && !hideStandardOptions;
-    var showSource = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowSource');
+    const hideStandardOptions = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_HideStandardOptions') || type === 'photo';
+    const showRequired = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowRequiredOption');
+    const showUnique = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowUniqueOption') && type !== 'photo';
+    const showReadOnly = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowReadOnlyOption');
+    const showMultiValue = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowMultiValueOption');
+    const showConfirmation = type !== 'checkbox' && type !== 'select' && type != 'photo' && !hideStandardOptions;
+    const showSource = PWM_MAIN.JSLibrary.arrayContains(settings['flags'],'Form_ShowSource');
 
 
-    var inputID = 'value_' + keyName + '_' + iteration + "_";
-    var bodyText = '<div style="max-height: 500px; overflow-y: auto"><table class="noborder">';
+    const inputID = 'value_' + keyName + '_' + iteration + "_";
+    let bodyText = '<div style="max-height: 500px; overflow-y: auto"><table class="noborder">';
     if (!hideStandardOptions || type === 'photo') {
         bodyText += '<tr>';
         bodyText += '<td id="' + inputID + '-label-description" class="key" title="' + PWM_CONFIG.showString('Tooltip_FormOptions_Description') + '">Description</td><td>';
@@ -276,7 +277,7 @@ FormTableHandler.showOptionsDialog = function(keyName, iteration) {
             bodyText += '<td id="' + inputID + '-label-regex" class="key" title="' + PWM_CONFIG.showString('Tooltip_FormOptions_Regex') + '">Regular Expression</td><td><input type="text" class="configStringInput" style="width:300px" id="' + inputID + 'regex' + '"/></td>';
             bodyText += '</tr><tr>';
 
-            var regexErrorValue = currentValue['regexErrors'][''];
+            const regexErrorValue = currentValue['regexErrors'][''];
             bodyText += '<td id="' + inputID + '-label-regexError" class="key" title="' + PWM_CONFIG.showString('Tooltip_FormOptions_RegexError') + '">Regular Expression<br/>Error Message</td><td>';
             bodyText += '<div class="noWrapTextBox" id="' + inputID + 'regexErrors"><span class="btn-icon pwm-icon pwm-icon-edit"></span><span>' + regexErrorValue + '...</span></div>';
             bodyText += '</td>';
@@ -311,8 +312,8 @@ FormTableHandler.showOptionsDialog = function(keyName, iteration) {
 
     bodyText += '</table></div>';
 
-    var initFormElements = function() {
-        var currentValue = PWM_VAR['clientSettingCache'][keyName][iteration];
+    const initFormElements = function() {
+        const currentValue = PWM_VAR['clientSettingCache'][keyName][iteration];
 
 
         PWM_MAIN.addEventHandler(inputID + 'editOptionsButton', 'click', function(){
@@ -327,7 +328,7 @@ FormTableHandler.showOptionsDialog = function(keyName, iteration) {
             FormTableHandler.showDescriptionDialog(keyName, iteration);
         });
 
-        var descriptionValue = currentValue['description'][''];
+        const descriptionValue = currentValue['description'][''];
         UILibrary.addTextValueToElement(inputID + '-value', descriptionValue ? descriptionValue : "Edit");
 
         if (showRequired) {
@@ -414,10 +415,10 @@ FormTableHandler.showOptionsDialog = function(keyName, iteration) {
             });
         }
         if (showSource) {
-            var nodeID = inputID + 'source';
+            const nodeID = inputID + 'source';
             PWM_MAIN.JSLibrary.setValueOfSelectElement(nodeID,currentValue['source']);
             PWM_MAIN.addEventHandler(nodeID,'change',function(){
-                var newValue = PWM_MAIN.JSLibrary.readValueOfSelectElement(nodeID);
+                const newValue = PWM_MAIN.JSLibrary.readValueOfSelectElement(nodeID);
                 currentValue['source'] = newValue;
                 FormTableHandler.write(keyName);
             });
@@ -436,17 +437,17 @@ FormTableHandler.showOptionsDialog = function(keyName, iteration) {
 };
 
 FormTableHandler.showLabelDialog = function(keyName, iteration) {
-    var finishAction = function(){ FormTableHandler.redraw(keyName); };
-    var title = 'Label for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
+    const finishAction = function(){ FormTableHandler.redraw(keyName); };
+    const title = 'Label for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
     FormTableHandler.multiLocaleStringDialog(keyName, iteration, 'labels', finishAction, title);
 };
 
 FormTableHandler.multiLocaleStringDialog = function(keyName, iteration, settingType, finishAction, titleText) {
-    var inputID = 'value_' + keyName + '_' + iteration + "_" + "label_";
-    var bodyText = '<table class="noborder" id="' + inputID + 'table">';
+    const inputID = 'value_' + keyName + '_' + iteration + "_" + "label_";
+    let bodyText = '<table class="noborder" id="' + inputID + 'table">';
     bodyText += '<tr>';
-    for (var localeName in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
-        var localeID = inputID + localeName;
+    for (const localeName in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
+        const localeID = inputID + localeName;
         bodyText += '<td>' + localeName + '</td>';
         bodyText += '<td><input style="width:420px" class="configStringInput" type="text" id="' + localeID + '-input"></input></td>';
         if (localeName !== '') {
@@ -463,14 +464,14 @@ FormTableHandler.multiLocaleStringDialog = function(keyName, iteration, settingT
             finishAction();
         },
         loadFunction:function(){
-            for (var iter in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
+            for (const iter in PWM_VAR['clientSettingCache'][keyName][iteration][settingType]) {
                 (function(localeName) {
-                    var value = PWM_VAR['clientSettingCache'][keyName][iteration][settingType][localeName];
-                    var localeID = inputID + localeName;
+                    const value = PWM_VAR['clientSettingCache'][keyName][iteration][settingType][localeName];
+                    const localeID = inputID + localeName;
                     PWM_MAIN.getObject(localeID + '-input').value = value;
                     PWM_MAIN.addEventHandler(localeID + '-input', 'input', function () {
-                        var inputElement = PWM_MAIN.getObject(localeID + '-input');
-                        var value = inputElement.value;
+                        const inputElement = PWM_MAIN.getObject(localeID + '-input');
+                        const value = inputElement.value;
                         PWM_VAR['clientSettingCache'][keyName][iteration][settingType][localeName] = value;
                         FormTableHandler.write(keyName);
                     });
@@ -496,23 +497,23 @@ FormTableHandler.multiLocaleStringDialog = function(keyName, iteration, settingT
 
 
 FormTableHandler.showRegexErrorsDialog = function(keyName, iteration) {
-    var finishAction = function(){ FormTableHandler.showOptionsDialog(keyName, iteration); };
-    var title = 'Regular Expression Error Message for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
+    const finishAction = function(){ FormTableHandler.showOptionsDialog(keyName, iteration); };
+    const title = 'Regular Expression Error Message for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
     FormTableHandler.multiLocaleStringDialog(keyName, iteration, 'regexErrors', finishAction, title);
 };
 
 
 FormTableHandler.showSelectOptionsDialog = function(keyName, iteration) {
-    var inputID = 'value_' + keyName + '_' + iteration + "_" + "selectOptions_";
-    var bodyText = '';
+    const inputID = 'value_' + keyName + '_' + iteration + "_" + "selectOptions_";
+    let bodyText = '';
     bodyText += '<table class="noborder" id="' + inputID + 'table"">';
     bodyText += '<tr>';
     bodyText += '<td><b>Value</b></td><td><b>Display Name</b></td>';
     bodyText += '</tr><tr>';
-    for (var optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['selectOptions']) {
+    for (const optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['selectOptions']) {
         (function(counter) {
-            var value = PWM_VAR['clientSettingCache'][keyName][iteration]['selectOptions'][counter];
-            var optionID = inputID + counter;
+            const value = PWM_VAR['clientSettingCache'][keyName][iteration]['selectOptions'][counter];
+            const optionID = inputID + counter;
             bodyText += '<td>' + counter + '</td><td>' + value + '</td>';
             bodyText += '<td class="noborder" style="width:15px">';
             bodyText += '<span id="' + optionID + '-removeButton" class="delete-row-icon action-icon pwm-icon pwm-icon-times"></span>';
@@ -526,10 +527,10 @@ FormTableHandler.showSelectOptionsDialog = function(keyName, iteration) {
     bodyText += '<input class="configStringInput" style="width:200px" type="text" placeholder="Display Name" required id="addSelectOptionValue"/>';
     bodyText += '<button id="addSelectOptionButton"><span class="btn-icon pwm-icon pwm-icon-plus-square"/> Add</button>';
 
-    var initFormFields = function() {
-        for (var optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['selectOptions']) {
+    const initFormFields = function() {
+        for (const optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['selectOptions']) {
             (function(counter) {
-                var optionID = inputID + counter;
+                const optionID = inputID + counter;
                 PWM_MAIN.addEventHandler(optionID + '-removeButton','click',function(){
                     FormTableHandler.removeSelectOptionsOption(keyName,iteration,counter);
                 });
@@ -537,8 +538,8 @@ FormTableHandler.showSelectOptionsDialog = function(keyName, iteration) {
         }
 
         PWM_MAIN.addEventHandler('addSelectOptionButton','click',function(){
-            var value = PWM_MAIN.getObject('addSelectOptionName').value;
-            var display = PWM_MAIN.getObject('addSelectOptionValue').value;
+            const value = PWM_MAIN.getObject('addSelectOptionName').value;
+            const display = PWM_MAIN.getObject('addSelectOptionValue').value;
             FormTableHandler.addSelectOptionsOption(keyName, iteration, value, display);
         });
     };
@@ -577,21 +578,21 @@ FormTableHandler.removeSelectOptionsOption = function(keyName, iteration, option
 };
 
 FormTableHandler.showDescriptionDialog = function(keyName, iteration) {
-    var finishAction = function(){ FormTableHandler.showOptionsDialog(keyName, iteration); };
-    var title = 'Description for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
+    const finishAction = function(){ FormTableHandler.showOptionsDialog(keyName, iteration); };
+    const title = 'Description for ' + PWM_VAR['clientSettingCache'][keyName][iteration]['name'];
     FormTableHandler.multiLocaleStringDialog(keyName, iteration, 'description', finishAction, title);
 };
 
 FormTableHandler.showMimeTypesDialog = function(keyName, iteration) {
-    var inputID = 'value_' + keyName + '_' + iteration + "_" + "selectOptions_";
-    var bodyText = '';
+    const inputID = 'value_' + keyName + '_' + iteration + "_" + "selectOptions_";
+    let bodyText = '';
     bodyText += '<table class="noborder" id="' + inputID + 'table"">';
     bodyText += '<tr>';
     bodyText += '</tr><tr>';
-    for (var optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['mimeTypes']) {
+    for (const optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['mimeTypes']) {
         (function(optionName) {
-            var value = PWM_VAR['clientSettingCache'][keyName][iteration]['mimeTypes'][optionName];
-            var optionID = inputID + optionName;
+            const value = PWM_VAR['clientSettingCache'][keyName][iteration]['mimeTypes'][optionName];
+            const optionID = inputID + optionName;
             bodyText += '<td><div class="noWrapTextBox">' + value + '</div></td>';
             bodyText += '<td class="noborder" style="">';
             bodyText += '<span id="' + optionID + '-removeButton" class="delete-row-icon action-icon pwm-icon pwm-icon-times"></span>';
@@ -612,9 +613,9 @@ FormTableHandler.showMimeTypesDialog = function(keyName, iteration) {
         }
     });
 
-    for (var optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['mimeTypes']) {
+    for (const optionName in PWM_VAR['clientSettingCache'][keyName][iteration]['mimeTypes']) {
         (function(optionName) {
-            var optionID = inputID + optionName;
+            const optionID = inputID + optionName;
             PWM_MAIN.addEventHandler(optionID + '-removeButton','click',function(){
                 delete PWM_VAR['clientSettingCache'][keyName][iteration]['mimeTypes'][optionName];
                 FormTableHandler.write(keyName);
@@ -624,7 +625,7 @@ FormTableHandler.showMimeTypesDialog = function(keyName, iteration) {
     }
 
     PWM_MAIN.addEventHandler('addItemButton','click',function(){
-        var value = PWM_MAIN.getObject('addValue').value;
+        const value = PWM_MAIN.getObject('addValue').value;
 
         if (value === null || value.length < 1) {
             alert('Value field is required');

+ 32 - 32
webapp/src/main/webapp/public/resources/js/configeditor-settings-permissions.js

@@ -35,17 +35,17 @@ UserPermissionHandler.init = function(keyName) {
 };
 
 UserPermissionHandler.draw = function(keyName) {
-    var resultValue = PWM_VAR['clientSettingCache'][keyName];
-    var parentDiv = 'table_setting_' + keyName;
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const resultValue = PWM_VAR['clientSettingCache'][keyName];
+    const parentDiv = 'table_setting_' + keyName;
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
 
     while (parentDivElement.firstChild) {
         parentDivElement.removeChild(parentDivElement.firstChild);
     }
 
-    var htmlBody = '';
+    let htmlBody = '';
     if (resultValue.length > 0) {
-        for (var iteration in resultValue) {
+        for (const iteration in resultValue) {
             (function (rowKey) {
                 if (htmlBody.length > 0) {
                     htmlBody += '<br/><br/><div style="clear:both; text-align:center">OR</span></div>'
@@ -60,7 +60,7 @@ UserPermissionHandler.draw = function(keyName) {
     htmlBody += '<button class="btn" id="button-' + keyName + '-addPermission">'
         + '<span class="btn-icon pwm-icon pwm-icon-plus-square"></span>' + PWM_CONFIG.showString('Button_AddPermission') + '</button>';
 
-    var hideMatch = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][keyName]['flags'], 'Permission_HideMatch')
+    const hideMatch = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][keyName]['flags'], 'Permission_HideMatch')
         || resultValue.length === 0;
     if (!hideMatch) {
         htmlBody += '<button id="button-' + keyName + '-viewMatches" class="btn">'
@@ -69,15 +69,15 @@ UserPermissionHandler.draw = function(keyName) {
 
     parentDivElement.innerHTML = htmlBody;
 
-    for (var iteration in resultValue) {
+    for (const iteration in resultValue) {
         (function(rowKey) {
             UserPermissionHandler.addRowHandlers(resultValue, keyName, rowKey);
         }(iteration));
     }
 
     PWM_MAIN.addEventHandler('button-' + keyName + '-viewMatches','click',function(){
-        var dataHandler = function(data) {
-            var html = PWM_CONFIG.convertListOfIdentitiesToHtml(data['data']);
+        const dataHandler = function(data) {
+            const html = PWM_CONFIG.convertListOfIdentitiesToHtml(data['data']);
             PWM_MAIN.showDialog({title:'Matches',text:html,dialogClass:'wide',showOk:false,showClose:true});
         };
         PWM_CFGEDIT.executeSettingFunction(keyName, 'password.pwm.http.servlet.configeditor.function.UserMatchViewerFunction', dataHandler, null)
@@ -89,11 +89,11 @@ UserPermissionHandler.draw = function(keyName) {
 };
 
 UserPermissionHandler.drawRow = function(keyName, resultValue, rowKey) {
-    var inputID = "value-" + keyName + "-" + rowKey;
-    var type = resultValue[rowKey]['type'];
+    const inputID = "value-" + keyName + "-" + rowKey;
+    const type = resultValue[rowKey]['type'];
 
-    var htmlBody = '<div class="setting_item_value_wrapper" style="float:left; width: 560px;">';
-    var profileLabelKey = (type === 'ldapAllUsers') ? 'Setting_Permission_Profile_AllUsers' : 'Setting_Permission_Profile';
+    let htmlBody = '<div class="setting_item_value_wrapper" style="float:left; width: 560px;">';
+    const profileLabelKey = (type === 'ldapAllUsers') ? 'Setting_Permission_Profile_AllUsers' : 'Setting_Permission_Profile';
 
     htmlBody += '<table class="noborder">'
         + '<tr><td style="width:200px" id="' + inputID + '_profileHeader' + '">' + PWM_CONFIG.showString(profileLabelKey) + '</td>'
@@ -119,7 +119,7 @@ UserPermissionHandler.drawRow = function(keyName, resultValue, rowKey) {
                 + '</tr>';
         }
 
-        var rowLabelKey = (type === 'ldapGroup') ? 'Setting_Permission_Base_Group' :
+        const rowLabelKey = (type === 'ldapGroup') ? 'Setting_Permission_Base_Group' :
             (type === 'ldapUser') ? 'Setting_Permission_Base_User' : 'Setting_Permission_Base'
         htmlBody += '<tr>'
             + '<td><span id="' + inputID + '_BaseHeader' + '">'
@@ -137,20 +137,20 @@ UserPermissionHandler.drawRow = function(keyName, resultValue, rowKey) {
 };
 
 UserPermissionHandler.addRowHandlers = function( resultValue, keyName, rowKey) {
-    var inputID = "value-" + keyName + "-" + rowKey;
+    const inputID = "value-" + keyName + "-" + rowKey;
 
-    var profileDataList = PWM_MAIN.getObject(inputID + "-datalist");
-    var profileIdList = PWM_SETTINGS['var']['ldapProfileIds'];
-    for (var i in profileIdList) {
-        var option = document.createElement('option');
+    const profileDataList = PWM_MAIN.getObject(inputID + "-datalist");
+    const profileIdList = PWM_SETTINGS['var']['ldapProfileIds'];
+    for (const i in profileIdList) {
+        const option = document.createElement('option');
         option.value = profileIdList[i];
         profileDataList.appendChild(option);
     }
 
-    var currentProfile = PWM_VAR['clientSettingCache'][keyName][rowKey]['ldapProfileID'];
+    let currentProfile = PWM_VAR['clientSettingCache'][keyName][rowKey]['ldapProfileID'];
     currentProfile = currentProfile === undefined ? '' : currentProfile;
-    var profileSelectNewValueFunction = function(newValue, writeNewValue) {
-        var allProfilesEnabled = !newValue || newValue === 'all' || newValue === '';
+    const profileSelectNewValueFunction = function(newValue, writeNewValue) {
+        const allProfilesEnabled = !newValue || newValue === 'all' || newValue === '';
         if (allProfilesEnabled) {
             PWM_MAIN.JSLibrary.setValueOfSelectElement(inputID + '-profileSelect', 'all');
             PWM_MAIN.addCssClass( inputID + '-profileWrapper', 'hidden');
@@ -180,7 +180,7 @@ UserPermissionHandler.addRowHandlers = function( resultValue, keyName, rowKey) {
 
     if (resultValue[rowKey]['type'] !== 'ldapGroup') {
         UILibrary.addTextValueToElement(inputID + '-query', PWM_VAR['clientSettingCache'][keyName][rowKey]['ldapQuery']);
-        var queryEditor = function(){
+        const queryEditor = function(){
             UILibrary.stringEditorDialog({
                 value:PWM_VAR['clientSettingCache'][keyName][rowKey]['ldapQuery'],
                 completeFunction:function(value) {
@@ -198,8 +198,8 @@ UserPermissionHandler.addRowHandlers = function( resultValue, keyName, rowKey) {
         });
     }
 
-    var currentBaseValue = ('ldapBase' in resultValue[rowKey]) ? resultValue[rowKey]['ldapBase'] : "";
-    var baseEditor = function(){
+    const currentBaseValue = ('ldapBase' in resultValue[rowKey]) ? resultValue[rowKey]['ldapBase'] : "";
+    const baseEditor = function(){
         UILibrary.editLdapDN(function(value, ldapProfileID) {
             PWM_VAR['clientSettingCache'][keyName][rowKey]['ldapProfileID'] = ldapProfileID;
             PWM_VAR['clientSettingCache'][keyName][rowKey]['ldapBase'] = value;
@@ -216,8 +216,8 @@ UserPermissionHandler.addRowHandlers = function( resultValue, keyName, rowKey) {
         baseEditor();
     });
 
-    var deleteButtonID = 'button-' + inputID + '-deleteRow';
-    var hasID = PWM_MAIN.getObject(deleteButtonID) ? "YES" : "NO";
+    const deleteButtonID = 'button-' + inputID + '-deleteRow';
+    const hasID = PWM_MAIN.getObject(deleteButtonID) ? "YES" : "NO";
     console.log("addEventHandler row: " + deleteButtonID + " rowKey=" + rowKey + " hasID="+hasID);
     PWM_MAIN.addEventHandler(deleteButtonID,'click',function(){
         console.log("delete row: " + inputID + " rowKey=" + rowKey + " hasID="+hasID);
@@ -243,7 +243,7 @@ UserPermissionHandler.addRowHandlers = function( resultValue, keyName, rowKey) {
 }
 
 UserPermissionHandler.write = function(settingKey,redraw) {
-    var nextFunction = function(){
+    const nextFunction = function(){
         if (redraw) {
             UserPermissionHandler.draw(settingKey);
         }
@@ -252,8 +252,8 @@ UserPermissionHandler.write = function(settingKey,redraw) {
 };
 
 UserPermissionHandler.addPermission = function(keyName) {
-    var bodyHtml = '<div><p>' + PWM_CONFIG.showString('MenuDisplay_Permissions') + '</p></div><table class="">'
-    var hideGroup = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][keyName]['flags'], 'Permission_HideGroups');
+    let bodyHtml = '<div><p>' + PWM_CONFIG.showString('MenuDisplay_Permissions') + '</p></div><table class="">'
+    const hideGroup = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][keyName]['flags'], 'Permission_HideGroups');
     bodyHtml += '<tr><td><button class="btn" id="button-' + keyName + '-addAllUsersValue">'
         + '<span class="btn-icon pwm-icon pwm-icon-plus-square"></span>' + PWM_CONFIG.showString('MenuItem_Permission_AllUsers')
         + '</button></td><td>' + PWM_CONFIG.showString('MenuDisplay_Permission_AllUsers') + '</td></tr>';
@@ -271,13 +271,13 @@ UserPermissionHandler.addPermission = function(keyName) {
 
     bodyHtml += '</table>';
 
-    var completeAddPermission = function(template) {
+    const completeAddPermission = function(template) {
         PWM_VAR['clientSettingCache'][keyName].push(PWM_MAIN.copyObject(template));
         PWM_MAIN.closeWaitDialog();
         UserPermissionHandler.write(keyName, true);
     }
 
-    var dialogOptions = {};
+    const dialogOptions = {};
     dialogOptions.title = PWM_CONFIG.showString('Button_AddPermission');
     dialogOptions.text = bodyHtml;
     dialogOptions.showCancel = false;

+ 39 - 39
webapp/src/main/webapp/public/resources/js/configeditor-settings-remotewebservices.js

@@ -38,7 +38,7 @@ RemoteWebServiceHandler.httpMethodOptions = [
 
 RemoteWebServiceHandler.init = function(keyName) {
     console.log('RemoteWebServiceHandler init for ' + keyName);
-    var parentDiv = 'table_setting_' + keyName;
+    const parentDiv = 'table_setting_' + keyName;
     PWM_CFGEDIT.clearDivElements(parentDiv, true);
     PWM_CFGEDIT.readSetting(keyName, function(resultValue) {
         PWM_VAR['clientSettingCache'][keyName] = resultValue;
@@ -48,17 +48,17 @@ RemoteWebServiceHandler.init = function(keyName) {
 
 RemoteWebServiceHandler.redraw = function(keyName) {
     console.log('RemoteWebServiceHandler redraw for ' + keyName);
-    var resultValue = PWM_VAR['clientSettingCache'][keyName];
-    var parentDiv = 'table_setting_' + keyName;
+    const resultValue = PWM_VAR['clientSettingCache'][keyName];
+    const parentDiv = 'table_setting_' + keyName;
     PWM_CFGEDIT.clearDivElements(parentDiv, false);
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
 
-    var html = '';
+    let html = '';
     if (!PWM_MAIN.JSLibrary.isEmpty(resultValue)) {
         html += '<table class="noborder">';
         html += '<tr><td>Name</td><td>URL</td></tr>';
 
-        for (var loop in resultValue) {
+        for (const loop in resultValue) {
             (function (loop) {
                 html += RemoteWebServiceHandler.drawRow(keyName, loop, resultValue[loop]);
             })(loop);
@@ -67,15 +67,15 @@ RemoteWebServiceHandler.redraw = function(keyName) {
         html += '</table>';
     }
 
-    var rowCount = PWM_MAIN.JSLibrary.itemCount(resultValue);
-    var maxRowCount = PWM_SETTINGS['settings'][keyName]['properties']['Maximum'];
+    const rowCount = PWM_MAIN.JSLibrary.itemCount(resultValue);
+    const maxRowCount = PWM_SETTINGS['settings'][keyName]['properties']['Maximum'];
     if (maxRowCount > 0 && rowCount < maxRowCount) {
         html += '<br/><button class="btn" id="button-' + keyName + '-addValue"><span class="btn-icon pwm-icon pwm-icon-plus-square"></span>Add Service</button>';
     }
 
     parentDivElement.innerHTML = html;
 
-    for (var i in resultValue) {
+    for (const i in resultValue) {
         html += RemoteWebServiceHandler.addRowHandlers(keyName, i, resultValue[i]);
     }
 
@@ -85,12 +85,12 @@ RemoteWebServiceHandler.redraw = function(keyName) {
 };
 
 RemoteWebServiceHandler.drawRow = function(settingKey, iteration) {
-    var inputID = 'value_' + settingKey + '_' + iteration + "_";
+    const inputID = 'value_' + settingKey + '_' + iteration + "_";
 
-    var newTableRow = document.createElement("tr");
+    const newTableRow = document.createElement("tr");
     newTableRow.setAttribute("style", "border-width: 0");
 
-    var htmlRow = '<tr>';
+    let htmlRow = '<tr>';
     htmlRow += '<td class="border">';
     htmlRow += '<div class="noWrapTextBox" style="width:50px" id="display-' + inputID + '-name" ></div>';
     htmlRow += '</td><td>';
@@ -104,7 +104,7 @@ RemoteWebServiceHandler.drawRow = function(settingKey, iteration) {
 };
 
 RemoteWebServiceHandler.addRowHandlers = function(settingKey, iteration, value) {
-    var inputID = 'value_' + settingKey + '_' + iteration + "_";
+    const inputID = 'value_' + settingKey + '_' + iteration + "_";
     UILibrary.addTextValueToElement('display-' + inputID + '-name',value['name']);
     UILibrary.addTextValueToElement('display-' + inputID + '-url',value['url']);
     UILibrary.addTextValueToElement('display-' + inputID + '-description',value['description']);
@@ -118,7 +118,7 @@ RemoteWebServiceHandler.addRowHandlers = function(settingKey, iteration, value)
 };
 
 RemoteWebServiceHandler.write = function(settingKey, finishFunction) {
-    var cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
+    const cachedSetting = PWM_VAR['clientSettingCache'][settingKey];
     PWM_CFGEDIT.writeSetting(settingKey, cachedSetting, finishFunction);
 };
 
@@ -142,7 +142,7 @@ RemoteWebServiceHandler.addRow = function(keyName) {
         instructions:'Please enter a descriptive name for the web service.',
         placeholder:'Name',
         completeFunction:function(value){
-            var currentSize = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][keyName]);
+            const currentSize = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][keyName]);
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1] = RemoteWebServiceHandler.defaultValue;
             PWM_VAR['clientSettingCache'][keyName][currentSize + 1].name = value;
 
@@ -159,23 +159,23 @@ RemoteWebServiceHandler.addRow = function(keyName) {
 };
 
 RemoteWebServiceHandler.showOptionsDialog = function(keyName, iteration) {
-    var inputID = 'value_' + keyName + '_' + iteration + "_";
-    var value = PWM_VAR['clientSettingCache'][keyName][iteration];
-    var titleText = 'Web Service options for ' + value['name'];
-    var bodyText = '<table class="noborder">';
+    const inputID = 'value_' + keyName + '_' + iteration + "_";
+    const value = PWM_VAR['clientSettingCache'][keyName][iteration];
+    const titleText = 'Web Service options for ' + value['name'];
+    let bodyText = '<table class="noborder">';
 
-    var hasMethodType = 'MethodType' in PWM_SETTINGS['settings'][keyName]['properties'];
-    var showBody = value['method'] !== 'get' && !(PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][keyName]['flags'], 'WebService_NoBody'));
+    const hasMethodType = 'MethodType' in PWM_SETTINGS['settings'][keyName]['properties'];
+    const showBody = value['method'] !== 'get' && !(PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][keyName]['flags'], 'WebService_NoBody'));
 
     bodyText += '<tr>';
     bodyText += '<td class="key">HTTP Method</td><td class="noborder" ><select id="select-' + inputID + '-method"'
         + (hasMethodType ? ' disabled' : '')
         + '>';
 
-    for (var optionItem in RemoteWebServiceHandler.httpMethodOptions) {
-        var label = RemoteWebServiceHandler.httpMethodOptions[optionItem]['label'];
-        var optionValue = RemoteWebServiceHandler.httpMethodOptions[optionItem]['value'];
-        var selected = optionValue === value['method'];
+    for (const optionItem in RemoteWebServiceHandler.httpMethodOptions) {
+        const label = RemoteWebServiceHandler.httpMethodOptions[optionItem]['label'];
+        const optionValue = RemoteWebServiceHandler.httpMethodOptions[optionItem]['value'];
+        const selected = optionValue === value['method'];
         bodyText += '<option value="' + optionValue + '"' + (selected ? ' selected' : '') + '>' + label + '</option>';
     }
     bodyText += '</td>';
@@ -220,7 +220,7 @@ RemoteWebServiceHandler.showOptionsDialog = function(keyName, iteration) {
             });
 
             PWM_MAIN.addEventHandler('select-' + inputID + '-method','change',function(){
-                var methodValue = PWM_MAIN.getObject('select-' + inputID + '-method').value;
+                const methodValue = PWM_MAIN.getObject('select-' + inputID + '-method').value;
                 if (methodValue === 'get') {
                     value['body'] = '';
                 }
@@ -271,8 +271,8 @@ RemoteWebServiceHandler.showOptionsDialog = function(keyName, iteration) {
                 });
             } else {
                 PWM_MAIN.addEventHandler('button-' + inputID + '-importCertificates','click',function() {
-                    var dataHandler = function(data) {
-                        var msgBody = '<div style="max-height: 400px; overflow-y: auto">' + data['successMessage'] + '</div>';
+                    const dataHandler = function(data) {
+                        const msgBody = '<div style="max-height: 400px; overflow-y: auto">' + data['successMessage'] + '</div>';
                         PWM_MAIN.showDialog({width:700,title: 'Results', text: msgBody, okAction: function () {
                             PWM_CFGEDIT.readSetting(keyName, function(resultValue) {
                                 PWM_VAR['clientSettingCache'][keyName] = resultValue;
@@ -291,16 +291,16 @@ RemoteWebServiceHandler.showOptionsDialog = function(keyName, iteration) {
 
 
 RemoteWebServiceHandler.showHeadersDialog = function(keyName, iteration) {
-    var settingValue = PWM_VAR['clientSettingCache'][keyName][iteration];
-    var inputID = 'value_' + keyName + '_' + iteration + "_" + "headers_";
+    const settingValue = PWM_VAR['clientSettingCache'][keyName][iteration];
+    const inputID = 'value_' + keyName + '_' + iteration + "_" + "headers_";
 
-    var bodyText = '';
+    let bodyText = '';
     bodyText += '<table class="noborder">';
     bodyText += '<tr><td><b>Name</b></td><td><b>Value</b></td></tr>';
-    for (var iter in settingValue['headers']) {
+    for (const iter in settingValue['headers']) {
         (function(headerName) {
-            var value = settingValue['headers'][headerName];
-            var optionID = inputID + headerName;
+            const value = settingValue['headers'][headerName];
+            const optionID = inputID + headerName;
             bodyText += '<tr><td class="border">' + headerName + '</td><td class="border">' + value + '</td>';
             bodyText += '<td style="width:15px;"><span class="delete-row-icon action-icon pwm-icon pwm-icon-times" id="button-' + optionID + '-deleteRow"></span></td>';
             bodyText += '</tr>';
@@ -316,9 +316,9 @@ RemoteWebServiceHandler.showHeadersDialog = function(keyName, iteration) {
             RemoteWebServiceHandler.showOptionsDialog(keyName,iteration);
         },
         loadFunction: function() {
-            for (var iter in settingValue['headers']) {
+            for (const iter in settingValue['headers']) {
                 (function(headerName) {
-                    var headerID = inputID + headerName;
+                    const headerID = inputID + headerName;
                     PWM_MAIN.addEventHandler('button-' + headerID + '-deleteRow', 'click', function () {
                         delete settingValue['headers'][headerName];
                         RemoteWebServiceHandler.write(keyName);
@@ -334,12 +334,12 @@ RemoteWebServiceHandler.showHeadersDialog = function(keyName, iteration) {
 };
 
 RemoteWebServiceHandler.addHeader = function(keyName, iteration) {
-    var body = '<table class="noborder">';
+    let body = '<table class="noborder">';
     body += '<tr><td>Name</td><td><input class="configStringInput" id="newHeaderName" style="width:300px"/></td></tr>';
     body += '<tr><td>Value</td><td><input class="configStringInput" id="newHeaderValue" style="width:300px"/></td></tr>';
     body += '</table>';
 
-    var updateFunction = function(){
+    const updateFunction = function(){
         PWM_MAIN.getObject('dialog_ok_button').disabled = true;
         PWM_VAR['newHeaderName'] = PWM_MAIN.getObject('newHeaderName').value;
         PWM_VAR['newHeaderValue'] = PWM_MAIN.getObject('newHeaderValue').value;
@@ -361,7 +361,7 @@ RemoteWebServiceHandler.addHeader = function(keyName, iteration) {
             });
             updateFunction();
         },okAction:function(){
-            var headers = PWM_VAR['clientSettingCache'][keyName][iteration]['headers'];
+            const headers = PWM_VAR['clientSettingCache'][keyName][iteration]['headers'];
             headers[PWM_VAR['newHeaderName']] = PWM_VAR['newHeaderValue'];
             RemoteWebServiceHandler.write(keyName);
             RemoteWebServiceHandler.showHeadersDialog(keyName, iteration);

+ 49 - 48
webapp/src/main/webapp/public/resources/js/configeditor-settings-stringarray.js

@@ -23,9 +23,11 @@ var StringArrayValueHandler = {};
 StringArrayValueHandler.init = function(keyName) {
     console.log('StringArrayValueHandler init for ' + keyName);
 
-    var parentDiv = 'table_setting_' + keyName;
-    PWM_MAIN.getObject(parentDiv).innerHTML = '<div id="tableTop_' + keyName + '">';
-    parentDiv = PWM_MAIN.getObject('tableTop_' + keyName);
+    {
+        const parentDiv = 'table_setting_' + keyName;
+        PWM_MAIN.getObject(parentDiv).innerHTML = '<div id="tableTop_' + keyName + '">';
+    }
+    const parentDiv = PWM_MAIN.getObject('tableTop_' + keyName);
 
     PWM_VAR['clientSettingCache'][keyName + "_options"] = PWM_VAR['clientSettingCache'][keyName + "_options"] || {};
     PWM_VAR['clientSettingCache'][keyName + "_options"]['parentDiv'] = parentDiv;
@@ -34,7 +36,7 @@ StringArrayValueHandler.init = function(keyName) {
         PWM_VAR['clientSettingCache'][keyName] = resultValue;
         StringArrayValueHandler.draw(keyName);
 
-        var syntax = PWM_SETTINGS['settings'][keyName]['syntax'];
+        const syntax = PWM_SETTINGS['settings'][keyName]['syntax'];
         if (syntax === 'PROFILE') {
             PWM_MAIN.getObject("resetButton-" + keyName).style.display = 'none';
             PWM_MAIN.getObject("helpButton-" + keyName).style.display = 'none';
@@ -45,43 +47,43 @@ StringArrayValueHandler.init = function(keyName) {
 
 
 StringArrayValueHandler.draw = function(settingKey) {
-    var parentDiv = PWM_VAR['clientSettingCache'][settingKey + "_options"]['parentDiv'];
-    var parentDivElement = PWM_MAIN.getObject(parentDiv);
+    const parentDiv = PWM_VAR['clientSettingCache'][settingKey + "_options"]['parentDiv'];
+    const parentDivElement = PWM_MAIN.getObject(parentDiv);
 
     PWM_CFGEDIT.clearDivElements(parentDiv, false);
-    var resultValue = PWM_VAR['clientSettingCache'][settingKey];
+    const resultValue = PWM_VAR['clientSettingCache'][settingKey];
 
-    var tableElement = document.createElement("table");
+    const tableElement = document.createElement("table");
     tableElement.setAttribute("style", "border-width: 0;");
 
-    var syntax = PWM_SETTINGS['settings'][settingKey]['syntax'];
+    const syntax = PWM_SETTINGS['settings'][settingKey]['syntax'];
     if (syntax === 'PROFILE') {
-        var divDescriptionElement = document.createElement("div");
-        var text = PWM_SETTINGS['settings'][settingKey]['description'];
+        const divDescriptionElement = document.createElement("div");
+        let text = PWM_SETTINGS['settings'][settingKey]['description'];
         text += '<br/>' + PWM_CONFIG.showString('Display_ProfileNamingRules');
         divDescriptionElement.innerHTML = text;
         parentDivElement.appendChild(divDescriptionElement);
 
-        var defaultProfileRow = document.createElement("tr");
+        const defaultProfileRow = document.createElement("tr");
         defaultProfileRow.setAttribute("colspan", "5");
     }
 
-    var counter = 0;
-    var itemCount = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]);
+    let counter = 0;
+    const itemCount = PWM_MAIN.JSLibrary.itemCount(PWM_VAR['clientSettingCache'][settingKey]);
     parentDivElement.appendChild(tableElement);
 
-    for (var i in resultValue) {
+    for (const i in resultValue) {
         (function(iteration) {
             StringArrayValueHandler.drawRow(settingKey, iteration, resultValue[iteration], itemCount, tableElement);
             counter++;
         })(i);
     }
 
-    var settingProperties = PWM_SETTINGS['settings'][settingKey]['properties'];
+    const settingProperties = PWM_SETTINGS['settings'][settingKey]['properties'];
     if (settingProperties && 'Maximum' in settingProperties && itemCount >= settingProperties['Maximum']) {
         // item count is already maxed out
     } else {
-        var addItemButton = document.createElement("button");
+        const addItemButton = document.createElement("button");
         addItemButton.setAttribute("type", "button");
         addItemButton.setAttribute("class", "btn");
         addItemButton.setAttribute("id", "button-" + settingKey + "-addItem");
@@ -95,44 +97,43 @@ StringArrayValueHandler.draw = function(settingKey) {
 };
 
 StringArrayValueHandler.drawRow = function(settingKey, iteration, value, itemCount, parentDivElement) {
-    var settingInfo = PWM_SETTINGS['settings'][settingKey];
-    var settingProperties = PWM_SETTINGS['settings'][settingKey]['properties'];
-    var syntax = settingInfo['syntax'];
+    const settingInfo = PWM_SETTINGS['settings'][settingKey];
+    const settingProperties = PWM_SETTINGS['settings'][settingKey]['properties'];
+    const syntax = settingInfo['syntax'];
 
-    var inputID = 'value-' + settingKey + '-' + iteration;
+    const inputID = 'value-' + settingKey + '-' + iteration;
 
-    var valueRow = document.createElement("tr");
+    const valueRow = document.createElement("tr");
     valueRow.setAttribute("style", "border-width: 0");
     valueRow.setAttribute("id",inputID + "_row");
 
-    var rowHtml = '';
+    let rowHtml = '';
     if (syntax !== 'PROFILE') {
         rowHtml = '<td id="button-' + inputID + '" style="border-width:0; width: 15px"><span class="pwm-icon pwm-icon-edit"/></td>';
     }
     rowHtml += '<td style=""><div class="configStringPanel" id="' + inputID + '"></div></td>';
 
+    const copyButtonID = 'button-' + settingKey + '-' + iteration + '-copy';
     if (syntax === 'PROFILE') {
-        var copyButtonID = 'button-' + settingKey + '-' + iteration + '-copy';
         rowHtml += '<td class="noborder nopadding" style="width:10px" title="Copy">';
         rowHtml += '<span id="' + copyButtonID + '" class="action-icon pwm-icon pwm-icon-copy"></span>';
         rowHtml += '</td>';
     } else if (syntax === 'DOMAIN') {
-        var copyButtonID = 'button-' + settingKey + '-' + iteration + '-copy';
         rowHtml += '<td class="noborder nopadding" style="width:10px" title="Copy">';
         rowHtml += '<span id="' + copyButtonID + '" class="action-icon pwm-icon pwm-icon-copy"></span>';
         rowHtml += '</td>';
     }
 
-    var showMoveButtons = syntax !== 'DOMAIN';
+    const showMoveButtons = syntax !== 'DOMAIN';
+    const downButtonID = 'button-' + settingKey + '-' + iteration + '-moveDown';
+    const upButtonID = 'button-' + settingKey + '-' + iteration + '-moveUp';
     if ( showMoveButtons ) {
-        var downButtonID = 'button-' + settingKey + '-' + iteration + '-moveDown';
         rowHtml += '<td class="noborder nopadding" style="width:10px" title="Move Down">';
         if (itemCount > 1 && iteration !== (itemCount - 1)) {
             rowHtml += '<span id="' + downButtonID + '" class="action-icon pwm-icon pwm-icon-chevron-down"></span>';
         }
         rowHtml += '</td>';
 
-        var upButtonID = 'button-' + settingKey + '-' + iteration + '-moveUp';
         rowHtml += '<td class="noborder nopadding" style="width:10px" title="Move Up">';
         if (itemCount > 1 && iteration !== 0) {
             rowHtml += '<span id="' + upButtonID + '" class="action-icon pwm-icon pwm-icon-chevron-up"></span>';
@@ -140,9 +141,9 @@ StringArrayValueHandler.drawRow = function(settingKey, iteration, value, itemCou
         rowHtml += '</td>';
     }
 
-    var showDeleteButtons = (itemCount > 1 || (!settingInfo['required'])) && (settingProperties['Minimum'] && itemCount > settingProperties['Minimum'])
+    const showDeleteButtons = (itemCount > 1 || (!settingInfo['required'])) && (settingProperties['Minimum'] && itemCount > settingProperties['Minimum'])
+    const deleteButtonID = 'button-' + settingKey + '-' + iteration + '-delete';
     if (showDeleteButtons) {
-        var deleteButtonID = 'button-' + settingKey + '-' + iteration + '-delete';
         rowHtml += '<td class="noborder nopadding" style="width:10px" title="Delete">';
         rowHtml += '<span id="' + deleteButtonID + '" class="delete-row-icon action-icon pwm-icon pwm-icon-times"></span>';
         rowHtml += '</td>';
@@ -151,22 +152,22 @@ StringArrayValueHandler.drawRow = function(settingKey, iteration, value, itemCou
     valueRow.innerHTML = rowHtml;
     parentDivElement.appendChild(valueRow);
 
-    var allowEditValue = true;
+    let allowEditValue = true;
     if (syntax === 'PROFILE' || syntax === 'DOMAIN') {
         allowEditValue = false;
         PWM_MAIN.addEventHandler(copyButtonID, 'click', function () {
-            var editorOptions = {};
+            const editorOptions = {};
             editorOptions['title'] = syntax === 'PROFILE' ? 'Copy Profile' : 'Copy Domain';
             editorOptions['instructions'] = syntax === 'PROFILE' ? 'Copy profile and all profile settings from existing "' + value + '" profile to a new profile.' :
                 'Copy domain and all domain settings from existing "' + value + '" domain to a new domain.'
             editorOptions['regex'] = PWM_SETTINGS['settings'][settingKey]['pattern'];
             editorOptions['placeholder'] = PWM_SETTINGS['settings'][settingKey]['placeholder'];
             editorOptions['completeFunction'] = function (newValue) {
-                var options = {};
+                const options = {};
                 options['setting'] = settingKey;
                 options['sourceID'] = value;
                 options['destinationID'] = newValue;
-                var resultFunction = function (data) {
+                const resultFunction = function (data) {
                     if (data['error']) {
                         PWM_MAIN.showErrorDialog(data);
                     } else {
@@ -174,10 +175,10 @@ StringArrayValueHandler.drawRow = function(settingKey, iteration, value, itemCou
                     }
                 };
 
-                var actionName = syntax === 'PROFILE' ? 'copyProfile' : 'copyDomain';
+                const actionName = syntax === 'PROFILE' ? 'copyProfile' : 'copyDomain';
                 PWM_MAIN.showWaitDialog({
                     loadFunction: function () {
-                        var url = PWM_MAIN.addParamToUrl(window.location.pathname, 'processAction',actionName);
+                        const url = PWM_MAIN.addParamToUrl(window.location.pathname, 'processAction',actionName);
                         PWM_MAIN.ajaxRequest(url, resultFunction, {content: options});
                     }
                 });
@@ -211,7 +212,7 @@ StringArrayValueHandler.drawRow = function(settingKey, iteration, value, itemCou
 };
 
 StringArrayValueHandler.valueHandler = function(settingKey, iteration) {
-    var okAction = function(value) {
+    const okAction = function(value) {
         if (iteration > -1) {
             PWM_VAR['clientSettingCache'][settingKey][iteration] = value;
         } else {
@@ -220,14 +221,14 @@ StringArrayValueHandler.valueHandler = function(settingKey, iteration) {
         StringArrayValueHandler.writeSetting(settingKey)
     };
 
-    var editorOptions = {};
+    const editorOptions = {};
     editorOptions['title'] = PWM_SETTINGS['settings'][settingKey]['label'] + " - " + (iteration > -1 ? "Edit" : "Add") + " Value";
     editorOptions['regex'] = PWM_SETTINGS['settings'][settingKey]['pattern'];
     editorOptions['placeholder'] = PWM_SETTINGS['settings'][settingKey]['placeholder'];
     editorOptions['completeFunction'] = okAction;
     editorOptions['value'] = iteration > -1 ? PWM_VAR['clientSettingCache'][settingKey][iteration] : '';
 
-    var isLdapDN = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][settingKey]['flags'],'ldapDNsyntax');
+    const isLdapDN = PWM_MAIN.JSLibrary.arrayContains(PWM_SETTINGS['settings'][settingKey]['flags'],'ldapDNsyntax');
     if (isLdapDN) {
         UILibrary.editLdapDN(okAction,{currentDN: editorOptions['value']});
     } else {
@@ -236,7 +237,7 @@ StringArrayValueHandler.valueHandler = function(settingKey, iteration) {
 };
 
 StringArrayValueHandler.move = function(settingKey, moveUp, iteration) {
-    var currentValues = PWM_VAR['clientSettingCache'][settingKey];
+    const currentValues = PWM_VAR['clientSettingCache'][settingKey];
     if (moveUp) {
         StringArrayValueHandler.arrayMoveUtil(currentValues, iteration, iteration - 1);
     } else {
@@ -246,16 +247,16 @@ StringArrayValueHandler.move = function(settingKey, moveUp, iteration) {
 };
 
 StringArrayValueHandler.arrayMoveUtil = function(arr, fromIndex, toIndex) {
-    var element = arr[fromIndex];
+    const element = arr[fromIndex];
     arr.splice(fromIndex, 1);
     arr.splice(toIndex, 0, element);
 };
 
 StringArrayValueHandler.removeValue = function(settingKey, iteration) {
-    var syntax = PWM_SETTINGS['settings'][settingKey]['syntax'];
-    var profileName = PWM_VAR['clientSettingCache'][settingKey][iteration];
-    var deleteFunction = function() {
-        var currentValues = PWM_VAR['clientSettingCache'][settingKey];
+    const syntax = PWM_SETTINGS['settings'][settingKey]['syntax'];
+    const profileName = PWM_VAR['clientSettingCache'][settingKey][iteration];
+    const deleteFunction = function() {
+        const currentValues = PWM_VAR['clientSettingCache'][settingKey];
         currentValues.splice(iteration,1);
         StringArrayValueHandler.writeSetting(settingKey,false);
     };
@@ -279,8 +280,8 @@ StringArrayValueHandler.removeValue = function(settingKey, iteration) {
 };
 
 StringArrayValueHandler.writeSetting = function(settingKey, reload) {
-    var syntax = PWM_SETTINGS['settings'][settingKey]['syntax'];
-    var nextFunction = function() {
+    const syntax = PWM_SETTINGS['settings'][settingKey]['syntax'];
+    const nextFunction = function() {
         if (syntax === 'PROFILE') {
             PWM_MAIN.gotoUrl('editor');
         }
@@ -290,6 +291,6 @@ StringArrayValueHandler.writeSetting = function(settingKey, reload) {
             StringArrayValueHandler.draw(settingKey);
         }
     };
-    var currentValues = PWM_VAR['clientSettingCache'][settingKey];
+    const currentValues = PWM_VAR['clientSettingCache'][settingKey];
     PWM_CFGEDIT.writeSetting(settingKey, currentValues, nextFunction);
 };

File diff suppressed because it is too large
+ 285 - 297
webapp/src/main/webapp/public/resources/js/configeditor-settings.js


File diff suppressed because it is too large
+ 187 - 199
webapp/src/main/webapp/public/resources/js/configeditor.js


+ 9 - 0
webapp/src/main/webapp/public/resources/js/main.js

@@ -1308,6 +1308,15 @@ PWM_MAIN.JSLibrary.removeFromArray = function(array,element) {
     }
 };
 
+PWM_MAIN.JSLibrary.getParameterByName = function(name, url = window.location.href) {
+    name = name.replace(/[\[\]]/g, '\\$&');
+    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
+        results = regex.exec(url);
+    if (!results) return null;
+    if (!results[2]) return '';
+    return decodeURIComponent(results[2].replace(/\+/g, ' '));
+}
+
 PWM_MAIN.JSLibrary.readValueOfSelectElement = function(nodeID) {
     var element = PWM_MAIN.getObject(nodeID);
     if (element && element.options && element.selectedIndex >= 0) {

Some files were not shown because too many files changed in this diff