{"version":3,"names":[],"mappings":"","sources":["../../V2/TTCMWebSite/Resources/scripts/js/controls/clientControlSummaries.min.js"],"sourcesContent":["/*\r\nThere are many controls that will have their own custom way of displaying their summary.\r\n\r\nThis is a singleton class that requires no instanciation that can be used to create methods for the custom summaries\r\nthat can then be passed to the clientControl as a custom call back option (customGetSummaryCallback).\r\n\r\nUse like this..\r\n\r\nvar clientControlTest = $(\"#clientControlTest\").clientControl({\r\n customGetSummaryCallback: clientControlSummaries.commaSeparatedUnderParent,\r\n summaryObjectId: 'clientControlSummary',\r\n summaryObjectEmptyMessage: 'None Selected',\r\n webServiceUrl: '/WebServices/Lookups.asmx/GetCountryState'\r\n});\r\n\r\n*/\r\nvar clientControlSummaries = {\r\n commaSeperatedWithRemove: function (clientControl) {\r\n var summary = null;\r\n\r\n var selected = clientControl.jsonManager.getSelectedItems();\r\n\r\n if (selected && selected.length > 0) {\r\n\r\n summary = $('');\r\n summary.append('Selected:
');\r\n\r\n for (var i = 0; i < selected.length; i++) {\r\n var txt = $('');\r\n\r\n var unSelectItem = $(\"\");\r\n unSelectItem.click({ 'jsonItem': selected[i] }, function (event) {\r\n clientControl.unselect(event.data.jsonItem);\r\n });\r\n\r\n var img = $(\"\", { src: '/Resources/images/remove.png' });\r\n img.mouseover(function () {\r\n $(this).attr('src', '/Resources/images/removeHover.png');\r\n });\r\n img.mouseout(function () {\r\n $(this).attr('src', '/Resources/images/remove.png');\r\n });\r\n\r\n unSelectItem.append(img);\r\n summary.append(selected[i].Name);\r\n summary.append(unSelectItem);\r\n if (i + 1 < selected.length) {\r\n summary.append(', ');\r\n }\r\n }\r\n\r\n }\r\n\r\n return summary;\r\n },\r\n\r\n\r\n\r\n commaSeperatedNoTitle: function (clientControl) {\r\n var summary = null;\r\n\r\n var selected = clientControl.jsonManager.getSelectedItems();\r\n\r\n if (selected && selected.length > 0) {\r\n var selectedNames = new Array();\r\n\r\n for (var i = 0; i < selected.length; i++) {\r\n selectedNames.push(selected[i].Name);\r\n }\r\n\r\n summary = selectedNames.join(', ');\r\n }\r\n\r\n return summary;\r\n },\r\n\r\n\r\n\r\n commaSeperated: function (clientControl) {\r\n var summary = clientControlSummaries.commaSeperatedNoTitle(clientControl);\r\n\r\n if (summary) {\r\n summary = 'Selected:
' + summary;\r\n }\r\n\r\n return summary;\r\n },\r\n\r\n\r\n\r\n /*\r\n Gives a summary like this...\r\n\r\n Instructional Faculty\r\n • \tBusiness Education - Accounting/Finance, Business Administration\r\n • \tCareer and Technical Education - All\r\n Support Staff & Services\r\n • \tAcademic Affairs - All\r\n • \tInstructional Support - In-School Suspension\r\n */\r\n titlesAndBullets: function (clientControl) {\r\n var html = '';\r\n var selected = clientControl.jsonManager.getSelectedIDs();\r\n\r\n for (var top = 0; top < clientControl.jsonManager.json.length; top++) {\r\n\r\n var parentSummary = '';\r\n\r\n if (clientControl.jsonManager.json[top].Children) {\r\n var childrenSummary = '';\r\n for (var parent = 0; parent < clientControl.jsonManager.json[top].Children.length; parent++) {\r\n if (clientControl.jsonManager.json[top].Children[parent].Children) {\r\n var allSelected = clientControl.jsonManager.json[top].Children[parent].Children.length > 0; // If there aren't any children, then they can't all be selected\r\n var childrenList = new Array();\r\n for (var child = 0; child < clientControl.jsonManager.json[top].Children[parent].Children.length; child++) {\r\n var currentID = clientControl.jsonManager.json[top].Children[parent].Children[child].ID;\r\n if (jQuery.inArray(currentID, selected) > -1) {\r\n childrenList.push(clientControl.jsonManager.json[top].Children[parent].Children[child].Name);\r\n }\r\n else {\r\n allSelected = false;\r\n }\r\n }\r\n\r\n if (allSelected) {\r\n childrenSummary = 'all';\r\n }\r\n else {\r\n if (childrenList.length > 0) {\r\n childrenSummary = childrenList.join(\", \");\r\n }\r\n else {\r\n childrenSummary = '';\r\n }\r\n }\r\n }\r\n\r\n if (childrenSummary != '') {\r\n parentSummary += \"
 • \" + clientControl.jsonManager.json[top].Children[parent].Name + \" - \" + childrenSummary + \"
\";\r\n }\r\n else {\r\n // Could be a single parent with no children selected\r\n if (jQuery.inArray(clientControl.jsonManager.json[top].Children[parent].ID, selected) > -1) {\r\n parentSummary += \"
 • \" + clientControl.jsonManager.json[top].Children[parent].Name + \"
\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (parentSummary != '') {\r\n html += \"\" + clientControl.jsonManager.json[top].Name + \"
\" + parentSummary + \"
\";\r\n }\r\n }\r\n return html;\r\n },\r\n\r\n titlesAndBullets2: function (clientControl) {\r\n var html = '';\r\n\r\n var list = clientControl.jsonManager.getList();\r\n\r\n if (list) {\r\n for (var top = 0; top < list.length; top++) {\r\n\r\n if (list[top].Selected || clientControl.jsonManager.someChildrenSelected(list[top])) {\r\n\r\n html += '' + list[top].Name + '
';\r\n\r\n if (list[top].Children && list[top].Children.length > 0) {\r\n\r\n html += '';\r\n\r\n for (var parent = 0; parent < list[top].Children.length; parent++) {\r\n\r\n if (list[top].Children[parent].Selected || clientControl.jsonManager.someChildrenSelected(list[top].Children[parent])) {\r\n\r\n html += '';\r\n }\r\n }\r\n\r\n html += '
 • ' + list[top].Children[parent].Name;\r\n\r\n if (list[top].Children[parent].Children && list[top].Children[parent].Children.length > 0) {\r\n\r\n html += ' - ';\r\n if (clientControl.jsonManager.allChildrenSelected(list[top].Children[parent])) {\r\n html += 'All';\r\n }\r\n else {\r\n var thirdSelected = clientControl.jsonManager.getSelectedItems(list[top].Children[parent].Children);\r\n var selectedNames = new Array();\r\n\r\n for (var third = 0; third < thirdSelected.length; third++) {\r\n selectedNames.push(thirdSelected[third].Name);\r\n }\r\n\r\n html += selectedNames.join(', ');\r\n }\r\n }\r\n\r\n html += '
';\r\n }\r\n }\r\n\r\n }\r\n }\r\n return html;\r\n },\r\n\r\n\r\n /*\r\n Gives a summary like this...\r\n\r\n Selected:\r\n United States - Alaska, Arizona, Delaware\r\n Canada - All\r\n Andorra, Australia, Austria, Bosnia and Hersegovina, Burundi\r\n */\r\n commaSeparatedUnderParent: function (clientControl) {\r\n var summary = '';\r\n\r\n var list = clientControl.jsonManager.getList();\r\n\r\n var lastAddedParentSummary = false;\r\n var lastAddedSingle = false;\r\n\r\n for (var i = 0; i < list.length; i++) {\r\n\r\n var hasChildrenSelected = clientControl.jsonManager.someChildrenSelected(list[i]);\r\n\r\n if (list[i].Selected || hasChildrenSelected) {\r\n\r\n if (hasChildrenSelected) {\r\n if (summary) summary += '
';\r\n\r\n var summaryLine = list[i].Name + ' - ';\r\n\r\n if (clientControl.jsonManager.allChildrenSelected(list[i])) {\r\n summaryLine += 'All';\r\n }\r\n else {\r\n var selectedNames = new Array();\r\n\r\n var selectedItems = clientControl.jsonManager.getSelectedItems(list[i].Children);\r\n\r\n for (var j = 0; j < selectedItems.length; j++) {\r\n selectedNames.push(selectedItems[j].Name);\r\n }\r\n\r\n summaryLine += selectedNames.join(', ');\r\n }\r\n\r\n summary += summaryLine;\r\n\r\n lastAddedParentSummary = true;\r\n lastAddedSingle = false;\r\n }\r\n else {\r\n if (lastAddedParentSummary) {\r\n if (summary) summary += '
';\r\n }\r\n if (lastAddedSingle) {\r\n if (summary) summary += ', ';\r\n }\r\n summary += list[i].Name;\r\n\r\n lastAddedParentSummary = false;\r\n lastAddedSingle = true;\r\n }\r\n }\r\n }\r\n\r\n /*\r\n if (summary) {\r\n summary = 'Selected:
' + summary;\r\n }\r\n */\r\n\r\n return summary;\r\n }, \r\n\r\n geographicLocations: function (clientControl) {\r\n var html = '';\r\n var selected = clientControl.jsonManager.getSelectedIDs();\r\n\r\n for (var top = 0; top < clientControl.jsonManager.json.length; top++) {\r\n\r\n var parentSummary = '';\r\n\r\n if (clientControl.jsonManager.json[top].Children) {\r\n var childrenSummary = '';\r\n for (var parent = 0; parent < clientControl.jsonManager.json[top].Children.length; parent++) {\r\n if (clientControl.jsonManager.json[top].Children[parent].Children) {\r\n var allSelected = clientControl.jsonManager.json[top].Children[parent].Children.length > 0; // If there aren't any children, then they can't all be selected\r\n var childrenList = new Array();\r\n for (var child = 0; child < clientControl.jsonManager.json[top].Children[parent].Children.length; child++) {\r\n var currentID = clientControl.jsonManager.json[top].Children[parent].Children[child].ID;\r\n if (jQuery.inArray(currentID, selected) > -1) {\r\n childrenList.push(clientControl.jsonManager.json[top].Children[parent].Children[child].Name);\r\n }\r\n else {\r\n allSelected = false;\r\n }\r\n }\r\n\r\n if (allSelected) {\r\n childrenSummary = 'all';\r\n }\r\n else {\r\n if (childrenList.length > 0) {\r\n childrenSummary = childrenList.join(\", \");\r\n }\r\n else {\r\n childrenSummary = '';\r\n }\r\n }\r\n }\r\n\r\n if (childrenSummary != '') {\r\n parentSummary += \"
\" + clientControl.jsonManager.json[top].Children[parent].Name + \" - \" + childrenSummary + \"
\";\r\n }\r\n else {\r\n // Could be a single parent with no children selected\r\n if (jQuery.inArray(clientControl.jsonManager.json[top].Children[parent].ID, selected) > -1) {\r\n parentSummary += \"
\" + clientControl.jsonManager.json[top].Children[parent].Name + \"
\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (parentSummary != '') {\r\n html += parentSummary + \"
\";\r\n }\r\n }\r\n return html;\r\n }\r\n\r\n};\r\n\r\n\r\n"],"file":"clientControlSummaries.min.js"}