r3249 - in branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp: WEB-INF/jsp/poll js
Author: tchemit Date: 2012-04-12 09:54:38 +0200 (Thu, 12 Apr 2012) New Revision: 3249 Url: http://chorem.org/repositories/revision/pollen/3249 Log: import group from voting list Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp 2012-04-12 06:54:09 UTC (rev 3248) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp 2012-04-12 07:54:38 UTC (rev 3249) @@ -41,6 +41,7 @@ displayVotingListUrl:'<s:url namespace="/poll" action="displayVotingList"/>', displayPersonToListUrl:'<s:url namespace="/poll" action="displayPersonToList"/>', importPersonListToVotingListUrl:'<s:url namespace="/poll" action="importPersonListToVotingList"/>', + importPersonListToNewVotingListUrl:'<s:url namespace="/poll" action="importPersonListToNewVotingList"/>', displayImageChoiceUrl:'<s:url namespace="/poll" action="displayImageChoice"/>', displayDateChoiceUrl:'<s:url namespace="/poll" action="displayDateChoice"/>', displayTextChoiceUrl:'<s:url namespace="/poll" action="displayTextChoice"/>', @@ -211,7 +212,7 @@ <s:if test="userLoggued"> <s:submit key="pollen.action.addVotingListFromPersonList" theme="simple" - onclick="return selectPersonListToCreateNewVotingList();" + onclick='return selectPersonListToCreateNewVotingList();' disabled="%{voteStarted}"/> </s:if> </div> Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp 2012-04-12 06:54:09 UTC (rev 3248) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp 2012-04-12 07:54:38 UTC (rev 3249) @@ -47,7 +47,7 @@ <s:submit onclick="return cancel();" theme="simple" key="pollen.action.cancel"/> <s:submit - onclick="return addPersonListToVotingList('%{votingListType}', '%{containerId}', '%{votingListNumber}', cancel);" + onclick="return addPersonListToVotingList('%{votingListType}', '%{containerId}', '%{votingListNumber}',$('#personList').val(), cancel);" theme="simple" disabled='true' id='add' key="pollen.action.importPersonListToExistingVotingList"/> </div> Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp 2012-04-12 06:54:09 UTC (rev 3248) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp 2012-04-12 07:54:38 UTC (rev 3249) @@ -31,22 +31,6 @@ return false; } - function importPersonListToNewVotingList(personListId) { - // add a new votingList - addNewVotingList(); - // get his number - var votingListNumber = getLastVotingList("votingLists"); - - var containerId = "personToList_" + votingListNumber; - // remove all personToList of this votingList - var numbers = getAllPersonToListNumbers(containerId); - for (n in numbers) { - deletePersonToList(containerId + "_" + n); - } - // add personList to this votingList at position 0 - loadPersonListToVotingList(votingListNumber, 0, personListId); - return cancel(); - } jQuery(document).ready(function () { $('#personList').change(function (event) { var val = $(this).val(); @@ -59,15 +43,12 @@ <s:select id="personList" listValue="value.name" list="personList" key='pollen.common.personList' headerKey="" headerValue=""/> - <s:hidden key="votingListType" label=""/> - <s:hidden key="votingListNumber" label=""/> - <hr/> <div align="right"> <s:submit onclick="return cancel();" theme="simple" key="pollen.action.cancel"/> <s:submit id='import' disabled="true" theme="simple" - onclick="return importPersonListToNewVotingList($('#personList').val());" + onclick="return importPersonListToNewVotingList($('#personList').val(), cancel);" key="pollen.action.importPersonListToNewVotingList"/> </div> </fieldset> \ No newline at end of file Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js 2012-04-12 06:54:09 UTC (rev 3248) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js 2012-04-12 07:54:38 UTC (rev 3249) @@ -49,17 +49,6 @@ //-- Voting List methods //---------------------------------------------------------------------------- -/*function getFirstVotingList(containerId) { - var result = 65535; - getAllVotingLists(containerId).each(function () { - var current = $(this).data('votingListNumber'); - if (current < result) { - result = current; - } - }); - return result; - }*/ - function getLastVotingList(containerId) { var result = 0; getAllVotingLists(containerId).each(function () { @@ -84,12 +73,22 @@ votingList.data('votingListNumber', index); votingList.data('votingListContainerId', containerId); - preparePersonToLists(index, votingListId + 'PersonToList'); + preparePersonToLists(votingListId + 'PersonToList', index); }); updateUpdownVotingListActions(containerId); } +function prepareVotingList(containerId, votingListNumber) { + + var votingListId = containerId + "_" + votingListNumber; + var votingList = $("#" + votingListId); + votingList.data('votingListNumber', votingListNumber); + votingList.data('votingListContainerId', containerId); + preparePersonToLists(votingListId + 'PersonToList', votingListNumber); + updateUpdownVotingListActions(containerId); +} + function updateUpdownVotingListActions(containerId) { getAllVotingLists(containerId).each(function (index) { var currentVotingListNumber = $(this).data('votingListNumber'); @@ -114,18 +113,41 @@ success:function (data) { var container = $("#" + containerId); container.append(data); - // store votingListNumber - var votingListId = containerId + "_" + votingListNumber; - var votingList = $("#" + votingListId); - votingList.data('votingListNumber', votingListNumber); - votingList.data('votingListContainerId', containerId); - preparePersonToLists(votingListNumber, votingListId + 'PersonToList'); - updateUpdownVotingListActions(containerId); + // store votingListNumber and updates personToLists + prepareVotingList(containerId, votingListNumber); } }); return false; } +function importPersonListToNewVotingList(personListId, cancelCallBack) { + + var containerId = 'votingListGROUP'; + + // get new voting list number + var votingListNumber = 1 + getLastVotingList(containerId); + + $.ajax( + { + url:datas['importPersonListToNewVotingListUrl'], + data:{ + votingListType:"GROUP", + votingListNumber:votingListNumber, + personListId:personListId + }, + async:false, + dataType:"html", + success:function (data) { + console.info("My fucking containerId : " + containerId); + var container = $("#" + containerId); + container.append(data); + prepareVotingList(containerId, votingListNumber); + } + } + ); + return cancelCallBack(); +} + function deleteVotingList(votingListId) { var votingList = $('#' + votingListId); var containerId = votingList.data('votingListContainerId'); @@ -139,17 +161,6 @@ //-- PersonToList methods //---------------------------------------------------------------------------- -/*function getFirstPersonToList(containerId) { - var result = 65535; - getAllPersonToLists(containerId).each(function () { - var current = $(this).data('personToListNumber'); - if (current < result) { - result = current; - } - }); - return result; - }*/ - function getLastPersonToList(containerId) { var result = 0; getAllPersonToLists(containerId).each(function () { @@ -177,7 +188,7 @@ function getFirstEmptyPersonToList(containerId) { var result = -1; var numbers = getAllPersonToListNumbers(containerId); - $.each(numbers, function (index) { + $.each(numbers, function () { var n = $(this)[0]; if (result == -1) { var nameInput = $('[name="' + containerId + '_' + n + '.votingId"]'); @@ -190,40 +201,30 @@ } } }); - console.info("getFirstEmptyPersonToList = "+result); return result; } -function preparePersonToLists(votingListNumber, containerId) { - getAllPersonToLists(containerId).each(function (index) { +function preparePersonToList(containerId, votingListNumber, personToListNumber) { + var personToList = $("#" + containerId + "_" + personToListNumber); - var personToListId = containerId + "_" + index; - var personToList = $("#" + personToListId); + personToList.data('votingListNumber', votingListNumber); + personToList.data('personToListNumber', personToListNumber); + personToList.data('personToListContainerId', containerId); + updateUpdownPersonToListActions(containerId); +} - console.info("preparePersonToLists : containerId = " + containerId + - ", votingListNumber = " + votingListNumber + - ", personToListId = " + personToListId + - ", index " + index); +function preparePersonToLists(containerId, votingListNumber) { + getAllPersonToLists(containerId).each(function (index) { - personToList.data('votingListNumber', votingListNumber); - personToList.data('personToListNumber', index); - personToList.data('personToListContainerId', containerId); + preparePersonToList(containerId, votingListNumber, index); }); - updateUpdownPersonToListActions(containerId); } + function updateUpdownPersonToListActions(containerId) { - console.info("updateUpdownPersonToListActions : containerId = " + - containerId); getAllPersonToLists(containerId).each(function (index) { var currentPersonToListNumber = $(this).data('personToListNumber'); - - console.info("updateUpdownPersonToListActions : containerId = " + - containerId + ", index " + index + - ", currentPersonToListNumber : " + - currentPersonToListNumber); - var labelWidget = $('#' + containerId + "_" + currentPersonToListNumber + "_label"); labelWidget.html(datas['personToListText'] + ' ' + (index + 1)); }); @@ -245,55 +246,12 @@ var container = $("#" + containerId); container.append(data); // store personToListNumber - var personToList = $("#" + containerId + "_" + personToListNumber); - personToList.data('votingListNumber', votingListNumber); - personToList.data('personToListNumber', personToListNumber); - personToList.data('personToListContainerId', containerId); - updateUpdownPersonToListActions(containerId); + preparePersonToList(containerId, votingListNumber, personToListNumber); } }); return false; } -function addPersonToList(votingListType, containerId, votingListNumber, personToListNumber, nbPersonToLists, tokenId) { - loadPersonToList( - votingListType, - containerId, - votingListNumber, personToListNumber, nbPersonToLists, tokenId - ); -} - -function loadPersonToList(votingListType, containerId, votingListNumber, personToListNumber, nbPersonToLists, tokenId) { - if (personToListNumber == -1) { - // to add a new personToList, get the new available personToListNumber - personToListNumber = 1 + getLastPersonToList(containerId); - } - $.ajax( - { - url:datas['displayPersonToListUrl'], - data:{ - tokenId:tokenId, - votingListNumber:votingListNumber, - votingListType:votingListType, - personToListNumber:personToListNumber - }, - async:false, - dataType:"html", - success:function (data) { - var container = $("#" + containerId); - container.append(data); - // store personToListNumber - var personToList = $("#" + containerId + "_" + personToListNumber); - personToList.data('votingListNumber', votingListNumber); - personToList.data('personToListNumber', personToListNumber); - personToList.data('personToListContainerId', containerId); - if (personToListNumber == nbPersonToLists || !tokenId) { - updateUpdownPersonToListActions(containerId); - } - } - }); -} - function deletePersonToList(personToListId) { var personToList = $('#' + personToListId); var containerId = personToList.data('personToListContainerId'); @@ -302,45 +260,8 @@ return false; } -function loadPersonListToVotingList(votingListNumber, personToListNumber, personListId) { +function addPersonListToVotingList(votingListType, containerId, votingListNumber, personListId, cancelCallBack) { - $.ajax( - { - url:datas['importPersonListToVotingListUrl'], - data:{ - votingListNumber:votingListNumber, - personToListNumber:personToListNumber, - personListId:personListId }, - async:false, - dataType:"json", - success:function (data) { - var token = data.tokenId; - var nbPersonToLists = parseInt(data['nbPersonToLists']); - var personToListNumber = parseInt(data.personToListNumber); - var maxPersonToListNumber = parseInt(personToListNumber) + nbPersonToLists - 1; - console.info(">> token = " + token); - console.info(">> personListId = " + personListId); - console.info(">> incoming votingListNumber = " + votingListNumber); - console.info(">> nb personToList to import = " + nbPersonToLists); - console.info(">> first personToListNumber = " + personToListNumber); - console.info(">> last PersonToListNumber = " + maxPersonToListNumber); - - var index = personToListNumber; - while (index <= maxPersonToListNumber) { - console.info("Will load personToList = " + index + " / " + maxPersonToListNumber); - addPersonToList(votingListNumber, - index, - maxPersonToListNumber, - token - ); - index += 1; - } - } - }); -} - -function addPersonListToVotingList(votingListType, containerId, votingListNumber, cancelCallBack) { - // get first personToList available position var firstNumber = getFirstEmptyPersonToList(containerId); if (firstNumber == -1) { @@ -363,23 +284,21 @@ data:{ votingListType:votingListType, votingListNumber:votingListNumber, - personListId:$('#personList').val(), + personListId:personListId, startNumber:firstNumber }, async:false, dataType:"html", success:function (data) { - console.info("My fucking containerId : " + containerId); var container = $("#" + containerId); container.append(data); - preparePersonToLists(votingListNumber, containerId); + preparePersonToLists(containerId, votingListNumber); } } ); return cancelCallBack(); } - //---------------------------------------------------------------------------- //-- Choice methods //----------------------------------------------------------------------------
participants (1)
-
tchemit@users.chorem.org