From 58761a988fe775c7ee176177463f0e739784d60f Mon Sep 17 00:00:00 2001 From: Rob Stewart Date: Mon, 26 Nov 2012 12:29:21 +0000 Subject: [PATCH] Refactored javascript for adding elements to GUI lists --- index.php | 50 +++++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/index.php b/index.php index 0d54fb8..8927f23 100644 --- a/index.php +++ b/index.php @@ -51,28 +51,36 @@ var professionalExpertiseTable = $("#tableExpertise"); var goalsTable = $("#tableGoals"); - var addInterestFunc = function() { - var i = interestsArray.length + 1; - var interestField = "personal_interest" + i; - var interestLabel = "interestLbl" + i; - var newRow = $(""+i+")

"); - personalInterestsTable.append(newRow); - interestsArray.push( { item: i, field: interestField } ); - document.getElementById('interests_serialized').value=encodeURIComponent(JSON.stringify(interestsArray)); - $("input#" + interestField).autocomplete( autoCompleteDBpediaConfig ); - $("#" + interestLabel).inFieldLabels(); - } - var addExpertiseFunc = function() { - var i = expertiseArray.length + 1; - var expertiseField = "professional_expertise" + i; - var expertiseLabel = "expertiseLbl" + i; - var newRow = $(""+i+")

"); - professionalExpertiseTable.append(newRow); - expertiseArray.push( { item: i, field: expertiseField } ); - document.getElementById('expertise_serialized').value=encodeURIComponent(JSON.stringify(expertiseArray)); - $("input#" + expertiseField).autocomplete( autoCompleteDBpediaConfig ); - $("#" + expertiseLabel).inFieldLabels(); + addElem(expertiseArray, + "expertise_serialized", + "professional_expertise", + "expertiseLbl", + "Add an area of expertise...", + professionalExpertiseTable, + autoCompleteDBpediaConfig); + }; + + var addInterestFunc = function() { + addElem(interestsArray, + "interests_serialized", + "personal_interest", + "interestLbl", + "Add an interest...", + personalInterestsTable, + autoCompleteDBpediaConfig); + }; + + function addElem(arrayVal, serializedArray, fieldVal, labelVal, inputText, tableVal, autoCompleteCfg){ + var i = arrayVal.length + 1; + var fieldVar = fieldVal + i; + var labelVar = labelVal + i; + var newRow = $(""+i+")

"); + tableVal.append(newRow); + arrayVal.push( { item: i, field: fieldVar } ); + document.getElementById(serializedArray).value=encodeURIComponent(JSON.stringify(arrayVal)); + $("input#" + fieldVar).autocomplete( autoCompleteCfg ); + $("#" + labelVar).inFieldLabels(); } var addGoalFunc = function() {