{"version":3,"sources":["wwwroot/js/Views/ScoreSheet/Script/ScoreSheet.js","wwwroot/js/Views/ScoreSheet/Script/ScoreSheetLive.js","wwwroot/js/Views/ScoreSheetFinder/Script/ScoreSheetFinder.js"],"names":["OnScoreSheetItemClicked","element","container","ClearIsHighlighted","t","data","p","g","r","so","gs","ps","rs","sos","highlightAllGames","toString","indexOf","split","push","hasClass","players","$","scores","addClass","each","i","ga","games","y","game","removeClass","window","GUID_9540771b_7a9e_4490_adbd_3063c1db2d5f","getGuid","GUID_938e12d2_d2ba_4d13_a62f_25c08591064b","actionsToDoOnClose","refreshSourceElements","updateStats","setHasFinished","setHas","warningBeforeEditScoreSheet","inValidationIfCanEditMode","tournamentEditMode","dropDownSubstituteInEditMode","ShowErrorWarning","BindScoreSheet","source","encounterRowId","Form","val","CS","win","off","on","e","div","document","createElement","innerHTML","JSRess","PendingChangesScoreSheet","message","firstChild","nodeValue","returnValue","ScoreSheetActionSelector","moveSumOfToThisTopCoord","ScoreSheetGameHistory","remove","appendTo","body","autoSaveTimeout","autoSaveSubTimeout","OnButtonClicked","button","buttonValue","clearTimeout","actualButton","buttonId","id","BindActionSelectorMenu","CompuSport","Layout","PositionTargetRefToSourceAndWindows","is","slideUp","slideDown","UnfinishMatch","FinishMatch","SendToApprobation","AcceptScoreSheet","RejectScoreSheet","OverrideCloseButton","winnerCups","length","value","DoActionsOnClose","Close","OnClosing","canEdit","find","undefined","toLowerCase","BodyLayout","LayoutElement","$element","target","closest","OnScoreSheetItemClickedLive","preventDefault","CSCheckBoxV2","actualCheckBox","this","actualVal","Val","BindSubstituteControls","keyCode","$target","tab","tagName","type","ValidateIfCanEdit","DisableAllButtons","setTimeout","PostPendingSubs","PostPendingValues","focusables","current","index","eq","focus","BindDropDowns","SwitchOpponentOfEncounter","ClearScoreSheet","ResetScoreErrors","LetScoreKeepersReenterScores","AddSubstitute","ForfeitUnforfeitEncounter","lastHistoryHighlighted","historyTimer","$actualElement","scoreSheetTemplateValueId","replace","Ajax","Get","CSParameters","RUrl","SportEventId","response","layout","openDirection","Top","VMiddle","css","left","Left","top","Bottom","bottom","html","hide","SelectAnotherScoreSheet","context","dropDowns","CSDropDownV2","dropdown","DropDown","parent","allDropDownHiddenValues","hiddenCount","ElementsValues","elementId","sourceOfUpdate","SelectedTeamId","positionOrder","ExtendedContainer","popup","Controls","Popup","url","GetAndShow","PopupId","Url","Data","AjaxCallType","GET","OnContentLoaded","BindAddTeamWithMembers","Content","OnPosted","ReplacementElementsWithNewList","focusin","OpenElementsList","focusout","CloseElementsList","ShowConfirmDialogV2","GetGeneralDataOfScoreSheet","Post","UpdateSourceContent","GetValueOfInput","input","pendingResult","Array","pendingValues","$this","Id","Value","JSON","stringify","scoresheetTimeStamp","calculatedResult","oldElement","inputBox","inputIsCheckbox","isFocused","$newelement","replaceWith","ReloadScoreSheet","EnableAllButtons","substituteLine","teamNumber","playerId","money","average","averageGameTypeId","TeamNumber","PlayerId","AverageStr","MoneyStr","result","subValues","subDropDowns","subValue","corrDropDowns","filter","hidden","EntityId","dropDown","$dropDown","subAverageInput","next","GameTypeId","Average","AreYouSure","UpdateContent","substitutedPlayers","show","subId","actualSubIndex","DeleteScoreSheetSubstitutes","otherLines","subIndex","newIndex","focusMode","textBox","select","substituteId","SubstituteScore","bind","results","callback","noWarning","isFinished","_unfinishMatch","Error","Messages","CloseScoreSheet","scoreSheetId","applyToAllNextScoreSheets","checked","isForfeit","ShowInputDialogV2","inputValue","accepted","rejectReason","elementToRefresh","flowBlockId","navLoadingIndicator","Info","Warning","trigger","Params","FormId","GUID_a40efcfc_0247_463c_b2ae_e14a9f8859d0","ScoreSheetFinder","constructor","debug","fieldNameToColumnTitleMap","isForSingles","isForEveryone","hasBreakLabel","hasWinBoxes","hasHandicap","hasFlawlessBox","hasFlawlessList","hasMoney","hasRoundPointModifier","hasTotalScoreModifier","has8Ball","has9Ball","has10Ball","hasDoubles","hasInnings","hasRaceTo","hasSpecial","hasPlayerRepeater","isVertical","hasTotalsForVertical","gameRowsAreDynamic","init","filters","initialFilters","instance","_instance","eventAutocomplete","_a","opponentTypePicker","kendoDropDownList","playersPicker","playersPicker2","gamesPicker","gamesPicker2","roundsPicker","roundsPicker2","rotationsButton","kendoButton","advancedFiltersButton","formatPicker","raceToChip","kendoChip","raceToSwitch","kendoSwitch","myScoreSheetsChip","myScoreSheetsSwitch","grid","kendoGrid","gridSearch","kendoTextBox","listView","kendoListView","roundRotationsDrawer","kendoDrawer","roundRotationsChip","eventChip","compareTextBox","compareMultiSelect","kendoMultiSelect","ids","name","eventId","opponentType","NbPlayers","NbGames","NbRounds","rotations","advancedFilters","HasRaceTo","format","IsUserTemplate","IsForSingles","HasDoubles","Title","HasBreakLabels","HasWinBoxes","HasHandicap","HasFlawlessBox","HasFlawlessList","HasMoney","HasRoundPointModifier","HasTotalScoreModifier","Has8Ball","Has9Ball","Has10Ball","HasInnings","HasSpecial","HasPlayerRepeater","IsVertical","HasTotalsForVertical","GameRowsAreDynamic","getNbGamesLabel","CSRess","english","french","spanish","error","console","onGridCompareTextBoxChange","onGridCompareMultiSelectChange","sender","isEmpty","updateFilters","payload","log","setInitialFilters","readonly","setDrawersContent","$scoreSheetFinderEventId","$scoreSheetFinderEventIdTextBox","autocomplete","autocompletetest","$TextBox","ClearValue","eventName","SelectedValue","clearAllChips","toggleClass","label","text","OnClosed","reset","fetchDrawersContent","advancedFiltersDrawerContent","rotationsDrawerContent","_b","_c","rounds","drawer","$drawerContent","$drawerEmptyStateContent","result1","result2","generateThumbnails","generateThumbnail","ScoreSheet","previewScoreSheet","$tr","rowIndex","clearSelection","encounterTypeId","call","selectScoreSheet","toggleDrawer","state","drawerInstance","drawerContainer","toggleAdvancedFiltersDrawer","toggleRotationsDrawer","onScoreSheetFinderDrawerHide","onAdvancedFiltersDrawerHide","onRotationsDrawerHide","onOpponentTypePickerChange","items","onPlayersPerTeamPickerChange","onPlayersPerTeamPickerChange2","onGamesPerMatchPickerChange","onGamesPerMatchPickerChange2","onRoundsPickerChange","onRoundsPickerChange2","onFormatPickerChange","onRaceToChipSelect","wasSelected","onMyScoreSheetsChipSelect","check","onRoundRotationsChipSelect","selected","updateRotations","uncheck","onEventChipSelect","toggleRoundRotations","params","_d","_e","rotationsChip","gamesPerRound","gamesOrRoundIsNull","$rounds","roundIndex","round","$round","roundNumber","parseInt","roundToggleSwitch","$games","gameIndex","$game","gameNumber","homeDropdownList","awayDropdownList","oldRotations","oldRotationsStringified","getStringifiedRotations","newRotations","getRotations","newRotationsIsDifferent","updateGridDataSource","overrideRotations","stringified","isArray","home","away","j","trim","getStringifiedIds","hideEmptyResultsMessage","scoresheetIds","hasRotations","rotation","originalFilter","dataSource","originalDataSource","newGridDataSource","kendo","DataSource","pageSize","sort","page","change","onGridChange","onGridFilter","setDataSource","logic","updateListViewFromGrid","roundIsHidden","gameIsHidden","homeValue","awayValue","onRoundRotationHomePlayerChange","player","$parentRoundElement","onRoundRotationAwayPlayerChange","gridDataSource","filteredData","Query","refresh","showEmptyResultsMessage","onListViewChange","showEmptyGridMessage","showEmptyListViewMessage","gridContent","copy","clone","append","$resetFiltersButton","removeAttr","resetFilters","listViewContent","hideEmptyGridMessage","hideEmptyListViewMessage","emptyStateMessage","chips","field","attr","chip","correspondingToggleSwitch","chipContainer","toggleAdvancedFilter","correspondingChip","onAdvancedFilterChipSelect","onGridSearchChange","onGridSearchButtonClick","_f","initialOpponentType","initialPlayers","initialGames","initialRounds","initialBasedOnRaceTo","updateFiltersUI","updateGrid","shouldTriggerRotationsReset","shouldTriggerDatasourceUpdate","itemsThatShouldTriggerRotationsUpdate","itemsThatShouldTriggerDatasourceUpdate","forEach","item","updateResultsUI","$results","$listView","$listViewPager","$grid","_g","_h","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_0","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","_16","wrapper","selectedPickerBackgroundColor","selectedTextStyle","opacity","fontWeight","unselectedPickerBackgroundColor","unselectedTextStyle","fieldsToUpdate","fieldsToOperatorMap","fieldsToDisableIfFalse","newFilters","isNumber","isNaN","Number","operator","nbGamesFilter","idsFilter","onUploadComplete","$scoreSheetContainer","imgElements","promises","imgCanvas","imgElement","imgPromise","Promise","resolve","reject","newImg","Image","crossOrigin","onload","width","naturalWidth","height","naturalHeight","getContext","drawImage","base64image","toDataURL","clonedImg","cloneNode","src","onerror","all","then","options","html2canvas","canvas","appendChild","style","display","imageDataUrl","dataImage","ImageType","Base64","ScoreSheetId","popupNotificationElement","kendoNotification","position","$popupNotification"],"mappings":"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","file":"scoresheet.min.js","sourcesContent":["(function() { window.GUID_9540771b_7a9e_4490_adbd_3063c1db2d5f = { getGuid: function() { return \"9540771b-7a9e-4490-adbd-3063c1db2d5f\"; } }; })();\nfunction OnScoreSheetItemClicked(element, container) {\n ClearIsHighlighted();\n var t = element.data(\"t\"); //TeamNumber\n var p = element.data(\"p\"); //PlayerNumber\n var g = element.data(\"g\"); //GameNumber\n var r = element.data(\"r\"); //GameRound\n var so = element.data(\"so\"); //GameRound\n var gs = [];\n var ps = [];\n var rs = [];\n var sos = [];\n if (t === \"\") {\n t = null;\n }\n if (p === \"\") {\n p = null;\n }\n if (g === \"\") {\n g = null;\n }\n if (r === \"\") {\n r = null;\n }\n if (so === \"\") {\n so = null;\n }\n var highlightAllGames = false;\n if (g != null) {\n if (g.toString().indexOf(\",\") > -1) {\n gs = g.split(\",\");\n }\n else {\n gs.push(g);\n }\n }\n if (p != null) {\n if (p.toString().indexOf(\",\") > -1) {\n ps = p.split(\",\");\n }\n else {\n ps.push(p);\n }\n }\n if (r != null) {\n if (r.toString().indexOf(\",\") > -1) {\n rs = r.split(\",\");\n }\n else {\n rs.push(r);\n }\n }\n if (so != null) {\n if (so.toString().indexOf(\",\") > -1) {\n sos = so.split(\",\");\n }\n else {\n sos.push(r);\n }\n }\n if (element.hasClass(\"VTTeam\") && t != null) {\n var players = $(\".VTPlayer[data-t=\" + t + \"]\", container);\n var scores = $(\".VTScore[data-t=\" + t + \"]\", container);\n players.addClass(\"IsHighlighted\");\n scores.addClass(\"IsHighlighted\");\n }\n else if (element.hasClass(\"VTPlayer\")) {\n highlightAllGames = true;\n }\n else if (element.hasClass(\"VTScore\")) {\n highlightAllGames = false;\n }\n if (t != null && !element.hasClass(\"VTTeam\")) {\n var team = $(\".VTTeam[data-t=\" + t + \"]\", container);\n team.addClass(\"IsHighlighted\");\n }\n if (gs != null) {\n $.each(gs, function (i, ga) {\n var game = $('.VTScore[data-g=\"' + ga + '\"][data-t=' + t + \"]\", container);\n game.addClass(\"IsHighlighted\");\n var oppGame = $('.VTScore[data-g=\"' + ga + '\"][data-t!=' + t + \"]\", container);\n oppGame.addClass(\"IsHighlightedOpp\");\n });\n }\n if (ps != null) {\n $.each(ps, function (i, p) {\n var player = $('.VTPlayer[data-p=\"' + p + '\"][data-t=' + t + \"]\", container);\n player.addClass(\"IsHighlighted\");\n if (highlightAllGames) {\n var games = $('.VTScore[data-p=\"' + p + '\"][data-t=' + t + \"]\", container);\n games.addClass(\"IsHighlighted\");\n $.each(games, function (y, game) {\n var g = $(game).data(\"g\");\n var oppGame = $('.VTScore[data-g=\"' + g + '\"][data-t!=' + t + \"]\", container);\n oppGame.addClass(\"IsHighlightedOpp\");\n });\n }\n });\n }\n if (rs != null) {\n $.each(rs, function (i, r) {\n var game = $('.VTScore[data-r=\"' + r + '\"][data-t=' + t + \"]\", container);\n game.addClass(\"IsHighlighted\");\n });\n }\n if (sos != null) {\n $.each(sos, function (i, so) {\n var element = $(\"#E\" + so, container);\n element.addClass(\"IsHighlighted\");\n });\n }\n element.addClass(\"IsHighlightedSelf\");\n}\nfunction ClearIsHighlighted() {\n $(\".IsHighlightedSelf\").removeClass(\"IsHighlightedSelf\");\n $(\".IsHighlighted\").removeClass(\"IsHighlighted\");\n $(\".IsHighlightedOpp\").removeClass(\"IsHighlightedOpp\");\n}\n\n//# sourceMappingURL=ScoreSheet.js.map\n","(function() { window.GUID_938e12d2_d2ba_4d13_a62f_25c08591064b = { getGuid: function() { return \"938e12d2-d2ba-4d13-a62f-25c08591064b\"; } }; })();\nvar actionsToDoOnClose = {\n refreshSourceElements: false,\n updateStats: false,\n setHasFinished: false,\n setHas: ''\n};\nvar warningBeforeEditScoreSheet = null;\nvar inValidationIfCanEditMode = false;\nvar tournamentEditMode = false;\nvar dropDownSubstituteInEditMode = null;\nlet ShowErrorWarning = true;\nCS.on('PopupContentLoaded', function (e, source) {\n if (source != undefined) {\n if (source.Params.FormId == \"ScoreSheetLive\") {\n BindScoreSheet(source);\n }\n }\n});\nfunction BindScoreSheet(source) {\n var encounterRowId = $('#encounterRowId', source.Form).val();\n CS.win.off('beforeunload.scoresheet');\n CS.win.on('beforeunload.scoresheet', function (e) {\n if (actionsToDoOnClose.refreshSourceElements) {\n var div = document.createElement('div');\n div.innerHTML = JSRess.PendingChangesScoreSheet;\n var decoded = div.firstChild.nodeValue;\n var message = decoded;\n e.returnValue = message;\n return message;\n }\n });\n inValidationIfCanEditMode = false;\n tournamentEditMode = $('#TournamentEditMode', source.Form).val() == \"True\";\n source.ScoreSheetActionSelector = null;\n var moveSumOfToThisTopCoord = $('#MoveSumOfToThisTopCoord', source.Form).val();\n if (source.ScoreSheetGameHistory == null) {\n source.ScoreSheetGameHistory = $('#ScoreSheetGameHistory', source.Form);\n source.ScoreSheetGameHistory.remove().appendTo(CS.body);\n }\n var autoSaveTimeout = null;\n var autoSaveSubTimeout = null;\n source.OnButtonClicked = function (button, buttonValue) {\n if (autoSaveSubTimeout != null) {\n clearTimeout(autoSaveSubTimeout);\n }\n if (autoSaveTimeout != null) {\n clearTimeout(autoSaveTimeout);\n }\n var actualButton = button;\n var buttonId = actualButton[0].id;\n if (buttonId == \"BtnScoreSheetOptions\") {\n if (source.ScoreSheetActionSelector == null) {\n source.ScoreSheetActionSelector = $('#ScoreSheetActionSelector', source.Form);\n BindActionSelectorMenu(source, encounterRowId);\n }\n CompuSport.Layout.PositionTargetRefToSourceAndWindows(actualButton, source.ScoreSheetActionSelector);\n if (source.ScoreSheetActionSelector.is(':visible')) {\n source.ScoreSheetActionSelector.slideUp();\n }\n else {\n source.ScoreSheetActionSelector.slideDown();\n }\n }\n else if (buttonId == \"BtnScoreSheetUnfinishMatch\") {\n UnfinishMatch(source, false);\n }\n else if (buttonId == \"BtnScoreSheetFinishMatch\") {\n FinishMatch(source);\n }\n else if (buttonId == \"BtnScoreSheetSendToApprobation\") {\n SendToApprobation(source);\n }\n else if (buttonId == \"BtnScoreSheetAccept\") {\n AcceptScoreSheet(source);\n }\n else if (buttonId == \"BtnScoreSheetReject\") {\n RejectScoreSheet(source);\n }\n };\n source.OverrideCloseButton = function () {\n if (actionsToDoOnClose.refreshSourceElements) {\n if (tournamentEditMode) {\n var winnerCups = $('.VTWinnerOfMatch .CSCheckBoxV2 input[type=hidden]', source.Form);\n if (winnerCups.length == 2) {\n if (winnerCups[0].value == \"True\" || winnerCups[1].value == \"True\") {\n actionsToDoOnClose.setHas = 'Finished';\n }\n else {\n actionsToDoOnClose.setHas = 'NotFinished';\n }\n }\n }\n DoActionsOnClose(source);\n }\n else {\n source.Close();\n }\n };\n source.OnClosing = function () {\n CS.off('mouseenter.scoresheet');\n CS.off('mousemove.scoresheet');\n CS.off('popup.closed.scoresheet');\n CS.off('click.scoresheet');\n source.ScoreSheetGameHistory.remove();\n dropDownSubstituteInEditMode = null;\n };\n var canEdit = source.Form.find('#canEdit').val();\n if (canEdit == undefined || canEdit.toLowerCase() == \"false\") {\n return;\n }\n source.BodyLayout = new CS.LayoutElement(CS.body);\n warningBeforeEditScoreSheet = $('#WarningBeforeEditScoreSheet', source.Form);\n CS.off('click.scoresheet');\n CS.off('click.checkbox');\n CS.on('click.scoresheet', function (e) {\n var $element = $(e.target);\n if ($element[0].id != 'BtnScoreSheetOptions' && $element[0].id != 'BtnActivateGameHistoryOnMouseOver' && $element[0].id != 'SLIEncounterTypes' && $element[0].id != \"applyToFlowBlock\" && !$element.hasClass('CSCheckBoxDiv')) {\n if (source.ScoreSheetActionSelector != null) {\n source.ScoreSheetActionSelector.slideUp();\n }\n }\n if (!$element.hasClass('LayoutLiveItem')) {\n $element = $element.closest('.LayoutLiveItem');\n }\n if ($element.hasClass('LayoutLiveItem')) {\n OnScoreSheetItemClickedLive($element, source, false);\n }\n else {\n ClearIsHighlighted();\n }\n }).on('focus', 'input', function (e) {\n var $element = $(e.target);\n if (!$element.hasClass('LayoutLiveItem')) {\n $element = $element.closest('.LayoutLiveItem');\n }\n if ($element.hasClass('LayoutLiveItem')) {\n OnScoreSheetItemClickedLive($element, source, true);\n }\n }).on('click.checkbox', '.CSCheckBoxV2', function (e) {\n e.preventDefault();\n var $element = $(e.target).closest('.CSCheckBoxV2', source.Form);\n $element.CSCheckBoxV2(true); // sert à réobtenir la nouvelle checkBoxV2 quand elle est rafraichie\n var actualCheckBox = $(this).data('context');\n var actualVal = actualCheckBox.Val();\n actualCheckBox.Val(!actualVal);\n });\n BindSubstituteControls(source);\n $('.CSCheckBoxV2', source.Form).CSCheckBoxV2(true);\n source.Form.off('change keydown');\n source.Form.on('change keydown', function (e) {\n if (e.keyCode > 36 && e.keyCode < 41) {\n e.preventDefault();\n return;\n }\n });\n source.Form.off('change keyup');\n source.Form.on('change keyup', function (e) {\n let $target = $(e.target);\n /*Ne doit pas detecter un changement sur tab, ou les flèches*/\n if (e.keyCode == 9 || (e.keyCode > 36 && e.keyCode < 41)) {\n return;\n }\n else if (e.keyCode == 13) {\n var focusables = $(\":focusable\");\n var current = focusables.index($target);\n var next = focusables.eq(current + 1).length ? focusables.eq(current + 1) : focusables.eq(0);\n next.focus();\n return;\n }\n var tab = false;\n if ($target[0].tagName == \"INPUT\" && e.type != 'keyup') {\n //je calcul les inputs box juste sur le keyup et non sur le change parce que sinon, \n //je double le post parce que le lost focus clanche un change\n /*J'ai placé ce bout en commentaire parce que le keyup n'est pas raisé si je vais tres vite avec le tab, donc, à laisser en commentaires*/\n //return;\n tab = true;\n }\n if (!ValidateIfCanEdit(source)) {\n return;\n }\n if ($target.closest('#SubstitutesContainer').length > 0) {\n let $target = $(e.target);\n $target.addClass('PendSub');\n if (!tab) {\n source.DisableAllButtons();\n }\n if (autoSaveSubTimeout != null) {\n clearTimeout(autoSaveSubTimeout);\n }\n autoSaveSubTimeout = setTimeout(function () {\n PostPendingSubs(source, encounterRowId);\n }, 1000);\n }\n var discValue = $target.closest('.DiscValue');\n if (discValue.length > 0) {\n $target.addClass('Pend');\n if (!tab) {\n source.DisableAllButtons();\n }\n if (autoSaveTimeout != null) {\n clearTimeout(autoSaveTimeout);\n }\n autoSaveTimeout = setTimeout(function () {\n PostPendingValues(source, encounterRowId, moveSumOfToThisTopCoord);\n }, 1000);\n }\n }).on('contextmenu', function (e) {\n e.preventDefault();\n });\n BindDropDowns(source);\n}\nfunction BindActionSelectorMenu(source, encounterRowId) {\n source.ScoreSheetActionSelector.on('click', '.OptionMenu', function (e) {\n e.preventDefault();\n if (e.target.id == \"BtnSwitchOpponentOfEncounter\") {\n SwitchOpponentOfEncounter(source, encounterRowId);\n }\n else if (e.target.id == \"BtnClearScoreSheet\") {\n ClearScoreSheet(source, encounterRowId);\n }\n else if (e.target.id == \"BtnResetScoreErrors\") {\n ResetScoreErrors(source, encounterRowId);\n }\n else if (e.target.id == \"BtnLetScoreKeepersReenterScores\") {\n LetScoreKeepersReenterScores(source, encounterRowId);\n }\n else if (e.target.id == \"BtnAddSubstitutHome\") {\n AddSubstitute(source, 0);\n }\n else if (e.target.id == \"BtnAddSubstitutVisitor\") {\n AddSubstitute(source, 1);\n }\n else if (e.target.id == \"BtnForfeit\") {\n let $target = $(e.target);\n ForfeitUnforfeitEncounter(source, encounterRowId, !$target.hasClass('IsActive'), $target);\n }\n else if (e.target.id == \"BtnActivateGameHistoryOnMouseOver\") {\n let $target = $(e.target);\n var lastHistoryHighlighted = null;\n if ($target.hasClass('IsActive')) {\n $target.removeClass('IsActive');\n CS.off('mouseenter.scoresheet');\n CS.off('mousemove.scoresheet');\n }\n else {\n $target.addClass('IsActive');\n var historyTimer = null;\n CS.off('mouseenter.scoresheet');\n CS.off('mousemove.scoresheet');\n CS.on('mouseenter.scoresheet', '.DiscValue', function (e) {\n if (historyTimer != null) {\n clearTimeout(historyTimer);\n }\n var $actualElement = $(e.target);\n historyTimer = setTimeout(function () {\n $actualElement = $actualElement.closest('.DiscValue');\n if ($actualElement.length > 0) {\n var data = {\n encounterRowId: encounterRowId,\n scoreSheetTemplateValueId: $actualElement[0].id.replace(\"E\", \"\")\n };\n CompuSport.Ajax.Get(CSParameters.RUrl + \"ScoreSheetLive/GetScoreSheetLiveValueHistory/\" + CSParameters.SportEventId, data, function (response) {\n var layout = new CS.LayoutElement($actualElement);\n var openDirection = 'down';\n if (source.BodyLayout && layout.Top > source.BodyLayout.VMiddle) {\n openDirection = 'up';\n }\n if (openDirection == \"down\") {\n source.ScoreSheetGameHistory.css({\n left: layout.Left + 'px',\n top: layout.Bottom + 'px',\n bottom: 'auto'\n });\n }\n else if (openDirection == \"up\") {\n source.ScoreSheetGameHistory.css({\n left: layout.Left + 'px',\n top: 'auto',\n bottom: source.BodyLayout.Bottom - layout.Top + 'px'\n });\n }\n source.ScoreSheetGameHistory.html(response);\n source.ScoreSheetGameHistory.slideDown();\n $actualElement.addClass('HistoryHighlighted');\n lastHistoryHighlighted = $actualElement;\n });\n }\n }, 1000);\n }).on('mousemove.scoresheet', function () {\n source.ScoreSheetGameHistory.hide();\n if (lastHistoryHighlighted != null) {\n lastHistoryHighlighted.removeClass('HistoryHighlighted');\n lastHistoryHighlighted = null;\n }\n });\n }\n }\n });\n source.ScoreSheetActionSelector.on('change', '#SLIEncounterTypes', function () {\n SelectAnotherScoreSheet(source, encounterRowId, $(this).val());\n });\n}\nfunction BindDropDowns(source, context) {\n var dropDowns = null;\n if (context == null) {\n dropDowns = $('.CSDropDownV2', source.Form);\n }\n else {\n dropDowns = $('.CSDropDownV2', context);\n }\n dropDowns.CSDropDownV2();\n dropDowns.off('beforeopen');\n dropDowns.off('extendclick');\n dropDowns.on('beforeopen', function (e, dropdown) {\n if (dropdown.DropDown.parent().hasClass('VTPlayer')) {\n var allDropDownHiddenValues = $('.CSDropDownV2 input[type=hidden]', source.Form);\n var hiddenCount = allDropDownHiddenValues.length;\n dropdown.ElementsValues.removeClass('InUse');\n $.each(dropdown.ElementsValues, function () {\n var elementId = this.id.replace(\"EId\", \"\");\n for (var i = 0; i < hiddenCount; i++) {\n var entityId = $(allDropDownHiddenValues[i]).val();\n if (elementId == entityId) {\n $(this).addClass('InUse');\n }\n }\n });\n }\n }).on('extendclick', function (e, dropdown) {\n var data = {\n sourceOfUpdate: 'ScoreSheetLive',\n encounterRowId: $('#encounterRowId', source.Form).val(),\n SelectedTeamId: null,\n positionOrder: 0\n };\n if (dropdown.ExtendedContainer.hasClass('ExtKeyHomePlayers')) {\n data.SelectedTeamId = $('#homeTeamId', source.Form).val();\n data.positionOrder = 0;\n }\n else {\n data.SelectedTeamId = $('#visitorTeamId', source.Form).val();\n data.positionOrder = 1;\n }\n var popup = new CompuSport.Controls.Popup();\n var url = CSParameters.RUrl + 'Teams/AddGridViewMemberOfTeams/' + CSParameters.SportEventId;\n popup.GetAndShow({\n PopupId: 'AddGridViewMemberOfTeams',\n Url: url,\n Data: data,\n AjaxCallType: CompuSport.Ajax.AjaxCallType.GET\n });\n popup.OnContentLoaded = function () {\n BindAddTeamWithMembers(popup.Content);\n };\n popup.OnPosted = function (response) {\n dropdown.ReplacementElementsWithNewList(response);\n };\n });\n $(\".VTPlayer[tabindex='0']\").focusin(function () {\n var dropdown = $(this).find('.CSDropDownV2');\n var control = dropdown.data('context');\n control.OpenElementsList();\n //dropdown.on('change', function () {\n // var focusables = $(\":focusable\");\n // var current = focusables.index(dropdown);\n // var next = focusables.eq(current + 1).length ? focusables.eq(current + 1) : focusables.eq(0);\n // setTimeout(() => { next.focus(); }, 200);\n //});\n }).focusout(function () {\n var dropdown = $(this).find('.CSDropDownV2');\n var control = dropdown.data('context');\n //dropdown.off('change');\n control.CloseElementsList();\n });\n}\nfunction ValidateIfCanEdit(source) {\n if (tournamentEditMode) {\n return true;\n }\n if (inValidationIfCanEditMode) {\n return false;\n }\n if (warningBeforeEditScoreSheet != null && warningBeforeEditScoreSheet.length > 0) {\n inValidationIfCanEditMode = true;\n var popup = CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", warningBeforeEditScoreSheet[0].innerHTML);\n popup.OnButtonClicked = function (button, value) {\n if (value == \"ok\") {\n UnfinishMatch(source, true);\n }\n else {\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/GetPopup/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n }\n };\n return false;\n }\n return true;\n}\nfunction GetValueOfInput(input) {\n var value = '';\n if (input.hasClass('CSDropDownV2')) {\n value = input.find('input[type=hidden]').val();\n }\n else if (input.hasClass('CSCheckBoxV2')) {\n value = input.find('input[type=hidden]').val();\n }\n else {\n value = input.val();\n }\n return value;\n}\nfunction PostPendingValues(source, encounterRowId, moveSumOfToThisTopCoord) {\n if (tournamentEditMode) {\n // actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n }\n var pendingResult = new Array();\n var pendingValues = source.Form.find('.Pend');\n $.each(pendingValues, function () {\n var $this = $(this);\n var id = $this.parent()[0].id.replace(\"E\", \"\");\n var value = GetValueOfInput($this);\n if (value != $this.data('lv')) {\n pendingResult.push({ Id: id, Value: value });\n }\n });\n if (pendingResult.length > 0) {\n var data = {\n encounterRowId: encounterRowId,\n pendingResult: JSON.stringify(pendingResult),\n moveSumOfToThisTopCoord: moveSumOfToThisTopCoord,\n scoresheetTimeStamp: $('#scoresheetTimeStamp', source.Form).val()\n };\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/ScoreSheetAutoSave/\" + CSParameters.SportEventId, data, function (response) {\n /*pour chaques valeurs envoyés, présumer qu'elle se sont savé donc ne sont plus en pending.*/\n $.each(pendingValues, function () {\n var $this = $(this);\n $this.removeClass('Pend'); //enlever le pending APRES le save comme ca si le save ne se fait pas y va le refaire plus tard\n var value = GetValueOfInput($this);\n if (value != $this.data('lv')) {\n $this.data('lv', value); //mettre le lv apres le save aussi.\n }\n });\n if (response == \"RELOAD\") {\n ReloadScoreSheet(source, encounterRowId);\n return;\n }\n var calculatedResult = $(response);\n $.each(calculatedResult, function (i, element) {\n if (element.id != \"\") {\n var oldElement = source.Form.find('#' + element.id);\n var inputBox = oldElement.find('input');\n var inputIsCheckbox = false;\n if (inputBox.length > 0 && inputBox[0].type == 'hidden') {\n inputBox = inputBox.parent();\n if (inputBox.hasClass('CSCheckBoxV2')) {\n inputIsCheckbox = true;\n }\n }\n var isFocused = inputBox.is(':focus');\n var $newelement = $(element);\n if (inputBox.length > 0 && isFocused && $newelement.find('input').val() === inputBox.val()) {\n if ($newelement.hasClass('IsInvalid')) {\n oldElement.addClass('IsInvalid');\n }\n else {\n oldElement.removeClass('IsInvalid');\n }\n }\n else {\n if ($newelement.hasClass('VTPlayer')) {\n BindDropDowns(source, $newelement);\n }\n oldElement.replaceWith($newelement);\n }\n if (isFocused && inputBox.length > 0) {\n if (inputIsCheckbox) {\n $newelement.find('.CSCheckBoxV2').focus();\n }\n else {\n $newelement.find('input').focus();\n }\n }\n }\n });\n });\n }\n else {\n source.EnableAllButtons();\n }\n}\nfunction PostPendingSubs(source, encounterRowId) {\n if (!ValidateIfCanEdit(source.Form)) {\n source.EnableAllButtons();\n return;\n }\n var pendingValues = source.Form.find('.PendSub');\n var pendingResult = new Array();\n $.each(pendingValues, function () {\n var $this = $(this);\n $this.removeClass('PendSub');\n var substituteLine = $this.closest('.SubstituteLine');\n var id = substituteLine.data('id');\n var teamNumber = substituteLine.data('teamnumber');\n var playerId = substituteLine.find('#SubPlayer' + id + ' input[type=hidden]').val();\n var money = substituteLine.find('.SubMoney').val();\n var average = null;\n var averageGameTypeId = null;\n if ($this.hasClass('SubAverage')) {\n average = $this.val();\n averageGameTypeId = $this.data('gametypeid');\n }\n pendingResult.push({ Id: id, TeamNumber: teamNumber, PlayerId: playerId, AverageStr: average, averageGameTypeId: averageGameTypeId, MoneyStr: money });\n });\n if (pendingResult.length > 0) {\n var data = {\n encounterRowId: encounterRowId,\n pendingResult: JSON.stringify(pendingResult)\n };\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/ScoreSheetAutoSaveSubstitutes/\" + CSParameters.SportEventId, data, function (response) {\n var calculatedResult = $(response.result);\n $.each(calculatedResult, function (i, element) {\n var oldElement = source.Form.find('#' + element.id);\n oldElement.replaceWith(element);\n });\n if (response.subValues != null && response.subValues.length > 0) {\n let subDropDowns = source.Form.find('.SubstituteDropDown');\n $.each(response.subValues, function (i, subValue) {\n //Trouve le(s) dropdowns qui a la valeur qui correspond au subValue.EntityId\n let corrDropDowns = subDropDowns.filter(function () {\n let $this = $(this);\n let hidden = $this.find('input');\n if (hidden.length > 0) {\n if (hidden.val() == subValue.EntityId) {\n return true;\n }\n }\n });\n $.each(corrDropDowns, function (i, dropDown) {\n let $dropDown = $(dropDown);\n if ($dropDown.length > 0) {\n var subAverageContainer = $dropDown.next('.SubAverages');\n var subAverageInput = subAverageContainer.find('.SubAverage[data-gametypeid=\"' + subValue.GameTypeId + '\"]');\n if (subAverageInput.length > 0) {\n subAverageInput.val(subValue.Average);\n }\n }\n });\n });\n }\n });\n }\n else {\n source.EnableAllButtons();\n }\n}\nfunction ReloadScoreSheet(source, encounterRowId) {\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/ReloadMatch/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n}\nfunction ResetScoreErrors(source, encounterRowId) {\n var popup = CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", JSRess.AreYouSure, function () {\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/ResetScoreErrors/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n });\n}\nfunction UpdateSourceContent(source, response) {\n source.ScoreSheetActionSelector = null;\n source.UpdateContent(response);\n}\nfunction AddSubstitute(source, teamNumber) {\n if (!ValidateIfCanEdit(source)) {\n return;\n }\n var actualContainer = null;\n if (teamNumber == 0) {\n actualContainer = $('#SubstitutedPlayersHome');\n }\n else {\n actualContainer = $('#SubstitutedPlayersVisitor');\n }\n var data = GetGeneralDataOfScoreSheet(source);\n data.teamNumber = teamNumber;\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/AddSubstitute/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n}\nfunction BindSubstituteControls(source) {\n var substitutedPlayers = $('#SubstitutesContainer');\n substitutedPlayers.on('click', 'button', function (e) {\n e.preventDefault();\n var $this = $(this);\n var parent = $this.closest('.SubstituteLine');\n $('.SubstituteLine', substitutedPlayers).removeClass('InEditMode');\n if ($this.hasClass('SubEdit')) {\n dropDownSubstituteInEditMode = parent.find('.CSDropDownV2');\n parent.addClass('InEditMode');\n source.Form.addClass('InSubstituteMode');\n source.Form.find('.LayoutLiveItem input').hide();\n }\n else if ($this.hasClass('SubStopEdit')) {\n parent.removeClass('InEditMode');\n dropDownSubstituteInEditMode = null;\n source.Form.removeClass('InSubstituteMode');\n source.Form.find('.LayoutLiveItem input').show();\n }\n else if ($this.hasClass('SubDelete')) {\n var substituteLine = parent;\n var container = substituteLine.parent();\n var subId = substituteLine.data('id');\n var actualSubIndex = substituteLine.data('subindex');\n DeleteScoreSheetSubstitutes(source, subId, function () {\n substituteLine.remove();\n var otherLines = $('.SubstituteLine', container);\n $.each(otherLines, function (e, element) {\n var $element = $(element);\n var subIndex = $element.data('subindex');\n if (subIndex > actualSubIndex) {\n $element.removeClass('Line' + subIndex);\n var newIndex = subIndex - 1;\n $element.addClass('Line' + newIndex);\n $element.data('subindex', newIndex);\n }\n });\n });\n }\n });\n}\nfunction OnScoreSheetItemClickedLive(element, source, focusMode) {\n ClearIsHighlighted();\n var t = element.data('t'); //TeamNumber\n var g = element.data('g'); //GameNumber\n var p = element.data('p'); //GameNumber\n if (t === \"\") {\n t = null;\n }\n if (g === \"\") {\n g = null;\n }\n if (p === \"\") {\n p = null;\n }\n if (element.hasClass('VTScore')) {\n if (dropDownSubstituteInEditMode != null && !focusMode) {\n var substituteLine = dropDownSubstituteInEditMode.closest('.SubstituteLine');\n var substituteId = substituteLine.data('id');\n var subIndex = substituteLine.data('subindex');\n var scoreSheetTemplateValueId = element[0].id.replace('E', '');\n var bind = false;\n if (element.find('.Sub.SInd' + subIndex + \".SId\" + substituteId).length > 0) {\n SubstituteScore(source, substituteId, scoreSheetTemplateValueId, false);\n }\n else {\n SubstituteScore(source, substituteId, scoreSheetTemplateValueId, true);\n }\n }\n else {\n if (t != null && g != null) {\n var game = $('.VTScore[data-g=\"' + g + '\"][data-t=' + t + ']', source.Form);\n game.addClass('IsHighlightedSelf');\n var textBox = game.find('input[type=text]');\n if (textBox.length > 0) {\n textBox.select();\n }\n var oppGame = $('.VTScore[data-g=\"' + g + '\"][data-t!=' + t + ']', source.Form);\n oppGame.addClass('IsHighlightedOpp');\n }\n }\n }\n else if (element.hasClass('VTPlayer')) {\n var games = $('.VTScore[data-p=\"' + p + '\"][data-t=' + t + ']', source.Form);\n games.addClass('IsHighlightedSelf');\n $.each(games, function (y, game) {\n var g = $(game).data('g');\n var oppGame = $('.VTScore[data-g=\"' + g + '\"][data-t!=' + t + ']', source.Form);\n oppGame.addClass('IsHighlightedOpp');\n });\n }\n}\nfunction SubstituteScore(source, substituteId, scoreSheetTemplateValueId, bind) {\n if (!ValidateIfCanEdit(source)) {\n return;\n }\n var data = {\n encounterRowId: $('#encounterRowId', source.Form).val(),\n substituteId: substituteId,\n scoreSheetTemplateValueId: scoreSheetTemplateValueId,\n bind: bind\n };\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/SubstituteGame/\" + CSParameters.SportEventId, data, function (response) {\n var results = $(response);\n $.each(results, function (i, element) {\n var oldElement = source.Form.find('#' + element.id);\n oldElement.replaceWith(element);\n });\n });\n}\nfunction DeleteScoreSheetSubstitutes(source, id, callback) {\n if (!ValidateIfCanEdit(source)) {\n return;\n }\n var data = GetGeneralDataOfScoreSheet(source);\n data.id = id;\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/DeleteScoreSheetSubstitute/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n}\nfunction UnfinishMatch(source, noWarning) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n var data = GetGeneralDataOfScoreSheet(source);\n data.isFinished = false;\n if (noWarning) {\n _unfinishMatch(source);\n }\n else {\n var popup = CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", JSRess.AreYouSure, function () {\n _unfinishMatch(source);\n });\n }\n}\nfunction FinishMatch(source) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n var data = GetGeneralDataOfScoreSheet(source);\n data.isFinished = true;\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/FinishMatch/\" + CSParameters.SportEventId, data, function (response) {\n if (response.Error != null) {\n var popup = CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", response.Messages, function () { });\n }\n else {\n CloseScoreSheet(source, response);\n }\n });\n}\nfunction LetScoreKeepersReenterScores(source, encounterRowId) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n actionsToDoOnClose.setHas = null;\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", JSRess.AreYouSure, function () {\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/LetScoreKeepersReenterScores/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n });\n}\nfunction ClearScoreSheet(source, encounterRowId) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n actionsToDoOnClose.setHas = null;\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", JSRess.AreYouSure, function () {\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/ClearScoreSheet/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n });\n}\nfunction SwitchOpponentOfEncounter(source, encounterRowId) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n actionsToDoOnClose.setHas = null;\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", JSRess.AreYouSure, function () {\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/SwitchOpponentOfEncounter/\" + CSParameters.SportEventId, data, function (response) {\n if (response.message == undefined || response.message == null) {\n UpdateSourceContent(source, response);\n }\n else {\n CompuSport.Controls.Popup.ShowConfirmDialogV2('', response.message);\n }\n });\n });\n}\nfunction SelectAnotherScoreSheet(source, encounterRowId, scoreSheetId) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n actionsToDoOnClose.setHas = null;\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", JSRess.AreYouSure, function () {\n var data = GetGeneralDataOfScoreSheet(source);\n data.scoreSheetId = scoreSheetId;\n data.applyToAllNextScoreSheets = $('#applyToAllNextScoreSheets')[0].checked;\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/SelectAnotherScoreSheet/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n });\n}\nfunction _unfinishMatch(source) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/UnfinishMatch/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n}\nfunction ForfeitUnforfeitEncounter(source, encounterRowId, isForfeit, button) {\n if (!ValidateIfCanEdit(source)) {\n return;\n }\n actionsToDoOnClose.refreshSourceElements = true;\n var data = GetGeneralDataOfScoreSheet(source);\n data.isForfeit = isForfeit;\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/ForfeitUnforfeitEncounter/\" + CSParameters.SportEventId, data, function (response) {\n UpdateSourceContent(source, response);\n });\n}\nfunction SendToApprobation(source) {\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", JSRess.AreYouSure, function () {\n /*verifier le me match peut se terminer.*/\n actionsToDoOnClose.refreshSourceElements = true;\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/SendToApprobation/\" + CSParameters.SportEventId, data, function (response) {\n if (response.Error != null) {\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", response.Messages, function () { });\n ReloadScoreSheet(source, null);\n }\n else {\n CloseScoreSheet(source, response);\n }\n });\n });\n}\nfunction AcceptScoreSheet(source) {\n actionsToDoOnClose.refreshSourceElements = true;\n actionsToDoOnClose.updateStats = true;\n var data = GetGeneralDataOfScoreSheet(source);\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/AcceptScoreSheet/\" + CSParameters.SportEventId, data, function (response) {\n if (response.Error != null) {\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", response.Messages, function () { });\n }\n else {\n CloseScoreSheet(source, response);\n }\n });\n}\nfunction RejectScoreSheet(source) {\n var message = $('.RejectReasonTitle')[0].innerHTML;\n CompuSport.Controls.Popup.ShowInputDialogV2(message, true, function (inputValue, accepted) {\n if (accepted) {\n actionsToDoOnClose.refreshSourceElements = true;\n var data = GetGeneralDataOfScoreSheet(source);\n data.rejectReason = inputValue;\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/RejectScoreSheet/\" + CSParameters.SportEventId, data, function (response) {\n if (response.Error != null) {\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", response.Messages, function () { });\n }\n else {\n CloseScoreSheet(source, response);\n }\n });\n }\n });\n}\nfunction CloseScoreSheet(source, response) {\n source.OverrideCloseButton();\n}\nfunction GetGeneralDataOfScoreSheet(source) {\n var data = {\n encounterRowId: source.Form.find('#encounterRowId').val(),\n elementToRefresh: source.Form.find('#elementToRefresh').val(),\n flowBlockId: source.Form.find('#FlowBlockId').val(),\n updateStats: actionsToDoOnClose.updateStats,\n setHas: actionsToDoOnClose.setHas,\n teamNumber: null,\n isFinished: false,\n id: null,\n isForfeit: false,\n rejectReason: null,\n ShowErrorWarning: true\n };\n return data;\n}\nfunction DoActionsOnClose(source) {\n var data = GetGeneralDataOfScoreSheet(source);\n data.ShowErrorWarning = ShowErrorWarning;\n CS.navLoadingIndicator.show();\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetLive/DoActionsOnClose/\" + CSParameters.SportEventId, data, function (response) {\n if (response.Error || response.Info || response.Warning) {\n CS.navLoadingIndicator.hide();\n CompuSport.Controls.Popup.ShowConfirmDialogV2(\"\", response.Messages, function () { });\n ReloadScoreSheet(source, null);\n ShowErrorWarning = false;\n return;\n }\n ShowErrorWarning = true;\n CS.body.trigger('scoresheetupdated', response);\n CS.navLoadingIndicator.hide();\n actionsToDoOnClose.refreshSourceElements = false;\n actionsToDoOnClose.updateStats = false;\n source.Close();\n });\n}\n\n//# sourceMappingURL=ScoreSheetLive.js.map\n","(function() { window.GUID_a40efcfc_0247_463c_b2ae_e14a9f8859d0 = { getGuid: function() { return \"a40efcfc-0247-463c-b2ae-e14a9f8859d0\"; } }; })();\nclass ScoreSheetFinder {\n constructor() {\n this.debug = false;\n this.fieldNameToColumnTitleMap = {\n isForSingles: \"IsForSingles\",\n isForEveryone: \"IsForEveryone\",\n hasBreakLabel: \"HasBreakLabels\",\n hasWinBoxes: \"HasWinBoxes\",\n hasHandicap: \"HasHandicap\",\n hasFlawlessBox: \"HasFlawlessBox\",\n hasFlawlessList: \"HasFlawlessList\",\n hasMoney: \"HasMoney\",\n hasRoundPointModifier: \"HasRoundPointModifier\",\n hasTotalScoreModifier: \"HasTotalScoreModifier\",\n has8Ball: \"Has8Ball\",\n has9Ball: \"Has9Ball\",\n has10Ball: \"Has10Ball\",\n hasDoubles: \"HasDoubles\",\n hasInnings: \"HasInnings\",\n hasRaceTo: \"HasRaceTo\",\n hasSpecial: \"HasSpecial\",\n hasPlayerRepeater: \"HasPlayerRepeater\",\n isVertical: \"IsVertical\",\n hasTotalsForVertical: \"HasTotalsForVertical\",\n gameRowsAreDynamic: \"GameRowsAreDynamic\",\n };\n this.init();\n }\n init() {\n this.data = {};\n this.popup = new CompuSport.Controls.Popup();\n this.callback = () => { };\n this.filters = ScoreSheetFinder.initialFilters;\n }\n static get instance() {\n if (!this._instance) {\n this._instance = new ScoreSheetFinder();\n }\n return this._instance;\n }\n static get eventAutocomplete() {\n var _a;\n return (_a = $(\"#scoreSheetFinderEventsAutocomplete\").data()) === null || _a === void 0 ? void 0 : _a.context;\n }\n static get opponentTypePicker() {\n var _a;\n return (_a = $(\"#scoreSheetFinderOpponentTypePicker\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get playersPicker() {\n var _a;\n return (_a = $(\"#scoreSheetFinderPlayersPerTeamPicker\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get playersPicker2() {\n var _a;\n return (_a = $(\"#scoreSheetFinderPlayersPerTeamPicker2\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get gamesPicker() {\n var _a;\n return (_a = $(\"#scoreSheetFinderGamesPerMatchPicker\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get gamesPicker2() {\n var _a;\n return (_a = $(\"#scoreSheetFinderGamesPerMatchPicker2\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get roundsPicker() {\n var _a;\n return (_a = $(\"#scoreSheetFinderRoundsPicker\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get roundsPicker2() {\n var _a;\n return (_a = $(\"#scoreSheetFinderRoundsPicker2\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get rotationsButton() {\n var _a;\n return (_a = $(\"#scoreSheetFinderRotationsPicker\").data()) === null || _a === void 0 ? void 0 : _a.kendoButton;\n }\n static get advancedFiltersButton() {\n var _a;\n return (_a = $(\"#scoreSheetFinderAdvancedFilters\").data()) === null || _a === void 0 ? void 0 : _a.kendoButton;\n }\n static get formatPicker() {\n var _a;\n return (_a = $(\"#scoreSheetFinderFormatPicker\").data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n }\n static get raceToChip() {\n var _a;\n return (_a = $(\"#scoreSheetFinderRaceToChip\").data()) === null || _a === void 0 ? void 0 : _a.kendoChip;\n }\n static get raceToSwitch() {\n var _a;\n return (_a = $(\"#scoreSheetFinderRaceToSwitch\").data()) === null || _a === void 0 ? void 0 : _a.kendoSwitch;\n }\n static get myScoreSheetsChip() {\n var _a;\n return (_a = $(\"#scoreSheetFinderMyScoreSheetsChip\").data()) === null || _a === void 0 ? void 0 : _a.kendoChip;\n }\n static get myScoreSheetsSwitch() {\n var _a;\n return (_a = $(\"#scoreSheetFinderMyScoreSheetsSwitch\").data()) === null || _a === void 0 ? void 0 : _a.kendoSwitch;\n }\n static get grid() {\n var _a;\n return (_a = $(\"#scoreSheetFinderGrid\").data()) === null || _a === void 0 ? void 0 : _a.kendoGrid;\n }\n static get gridSearch() {\n var _a;\n return (_a = $(\"#scoreSheetFinderGridSearch\").data()) === null || _a === void 0 ? void 0 : _a.kendoTextBox;\n }\n static get listView() {\n var _a;\n return (_a = $(\"#scoreSheetFinderGridListView\").data()) === null || _a === void 0 ? void 0 : _a.kendoListView;\n }\n static get roundRotationsDrawer() {\n var _a;\n return (_a = $(\"#scoreSheetFinderRotationsDrawer\").data()) === null || _a === void 0 ? void 0 : _a.kendoDrawer;\n }\n static get roundRotationsChip() {\n var _a;\n return (_a = $(\"#scoreSheetFinderRoundRotationsChip\").data()) === null || _a === void 0 ? void 0 : _a.kendoChip;\n }\n static get eventChip() {\n var _a;\n return (_a = $(\"#scoreSheetFinderEventChip\").data()) === null || _a === void 0 ? void 0 : _a.kendoChip;\n }\n static get compareTextBox() {\n var _a;\n return (_a = $(\"#scoreSheetFinderCompareTextBox\").data()) === null || _a === void 0 ? void 0 : _a.kendoTextBox;\n }\n static get compareMultiSelect() {\n var _a;\n return (_a = $(\"#scoreSheetFinderCompareMultiSelect\").data()) === null || _a === void 0 ? void 0 : _a.kendoMultiSelect;\n }\n static get initialFilters() {\n return {\n ids: {\n name: \"ids\",\n value: undefined,\n },\n eventId: {\n name: \"eventId\",\n value: undefined,\n },\n opponentType: {\n name: \"opponentType\",\n value: undefined,\n },\n NbPlayers: {\n name: \"NbPlayers\",\n value: undefined,\n },\n NbGames: {\n name: \"NbGames\",\n value: undefined,\n },\n NbRounds: {\n name: \"NbRounds\",\n value: undefined,\n },\n rotations: {\n name: \"rotations\",\n value: undefined,\n },\n advancedFilters: {\n name: \"advancedFilters\",\n value: undefined,\n },\n HasRaceTo: {\n name: \"HasRaceTo\",\n value: undefined,\n },\n format: {\n name: \"format\",\n value: \"list\",\n },\n IsUserTemplate: {\n name: \"IsUserTemplate\",\n value: undefined,\n },\n IsForSingles: {\n name: \"IsForSingles\",\n value: undefined,\n },\n HasDoubles: {\n name: \"HasDoubles\",\n value: undefined,\n },\n Title: {\n name: \"Title\",\n value: undefined,\n },\n HasBreakLabels: {\n name: \"HasBreakLabels\",\n value: undefined,\n },\n HasWinBoxes: {\n name: \"HasWinBoxes\",\n value: undefined,\n },\n HasHandicap: {\n name: \"HasHandicap\",\n value: undefined,\n },\n HasFlawlessBox: {\n name: \"HasFlawlessBox\",\n value: undefined,\n },\n HasFlawlessList: {\n name: \"HasFlawlessList\",\n value: undefined,\n },\n HasMoney: {\n name: \"HasMoney\",\n value: undefined,\n },\n HasRoundPointModifier: {\n name: \"HasRoundPointModifier\",\n value: undefined,\n },\n HasTotalScoreModifier: {\n name: \"HasTotalScoreModifier\",\n value: undefined,\n },\n Has8Ball: {\n name: \"Has8Ball\",\n value: undefined,\n },\n Has9Ball: {\n name: \"Has9Ball\",\n value: undefined,\n },\n Has10Ball: {\n name: \"Has10Ball\",\n value: undefined,\n },\n HasInnings: {\n name: \"HasInnings\",\n value: undefined,\n },\n HasSpecial: {\n name: \"HasSpecial\",\n value: undefined,\n },\n HasPlayerRepeater: {\n name: \"HasPlayerRepeater\",\n value: undefined,\n },\n IsVertical: {\n name: \"IsVertical\",\n value: undefined,\n },\n HasTotalsForVertical: {\n name: \"HasTotalsForVertical\",\n value: undefined,\n },\n GameRowsAreDynamic: {\n name: \"GameRowsAreDynamic\",\n value: undefined,\n },\n };\n }\n static getNbGamesLabel(data) {\n let result = \"\";\n try {\n if (data.GameRowsAreDynamic && data.NbGames > 1) {\n result = CS.CSRess({\n english: \"Up to \" + data.NbGames + \" games\",\n french: \"Jusqu'à \" + data.NbGames + \" parties\",\n spanish: \"Hasta \" + data.NbGames + \" juegos\",\n });\n }\n else {\n if (data.NbGames > 1) {\n result = CS.CSRess({\n english: data.NbGames + \" games\",\n french: data.NbGames + \" parties\",\n spanish: data.NbGames + \" juegos\",\n });\n }\n else {\n result = CS.CSRess({\n english: data.NbGames + \" game\",\n french: data.NbGames + \" partie\",\n spanish: data.NbGames + \" juego\",\n });\n }\n }\n }\n catch (error) {\n console.error(\"Error while getting number of games label\", error);\n }\n finally {\n return result;\n }\n }\n static onGridCompareTextBoxChange(e) {\n try {\n // const value = e.sender.value();\n // const ids = value.split(\",\").map((id: string) => parseInt(id));\n // console.log(ids);\n }\n catch (error) {\n console.error(\"Error while changing grid compare text box\", error);\n }\n }\n static onGridCompareMultiSelectChange(e) {\n try {\n const ids = e.sender.value();\n const isEmpty = ids.length === 0;\n ScoreSheetFinder.updateFilters({\n payload: {\n name: \"ids\",\n value: isEmpty ? undefined : ids,\n },\n });\n }\n catch (error) {\n console.error(\"Error while changing grid compare multi select\", error);\n }\n }\n // public static onGridCompareButtonClick(e: any) {\n // try {\n // const multiSelect = ScoreSheetFinder.compareMultiSelect;\n // if (!multiSelect) {\n // throw new Error(\"Compare multi select not found\");\n // }\n // const ids = multiSelect.value();\n // console.log(ids);\n // } catch (error) {\n // console.error(\"Error while clicking grid compare button\", error);\n // }\n // }\n static show(callback, flowBlockId) {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Showing score sheet finder\");\n }\n const { instance } = this;\n instance.callback = callback;\n instance.popup.GetAndShow({\n PopupId: \"ScoreSheetFinderPopup\",\n Title: CS.CSRess({\n english: \"Find a score sheet\",\n french: \"Trouver une feuille de pointage\",\n spanish: \"Encontrar una hoja de puntuación\",\n }),\n Data: {\n flowBlockId: flowBlockId,\n },\n Url: CSParameters.RUrl + \"ScoreSheetFinder/Show/\",\n AjaxCallType: CompuSport.Ajax.AjaxCallType.GET,\n });\n instance.popup.OnContentLoaded = () => {\n // Prevent scrolling of body\n // $(\"body\").css(\"overflow\", \"hidden\");\n ScoreSheetFinder.setInitialFilters();\n $(\"#scoreSheetFinderRaceToSwitch\").kendoSwitch({\n readonly: true,\n });\n $(\"#scoreSheetFinderMyScoreSheetsSwitch\").kendoSwitch({\n readonly: true,\n });\n ScoreSheetFinder.setDrawersContent();\n // ScoreSheetFinder.grid?.dataSource?.read();\n // ScoreSheetFinder.grid?.refresh();\n // ScoreSheetFinder.grid?.bind(\"filter\", function (e) {\n // ScoreSheetFinder.onGridFilter(e);\n // });\n let $scoreSheetFinderEventId = $(\"#ScoreSheetFinderEventId\");\n const $scoreSheetFinderEventIdTextBox = $(\"#ScoreSheetFinderEventIdTextBox\");\n if ($scoreSheetFinderEventIdTextBox.length) {\n $scoreSheetFinderEventIdTextBox.addClass(\"k-input k-textbox k-input-outline k-input-md k-rounded-md\");\n $scoreSheetFinderEventIdTextBox.removeClass(\"AutoCompleteTextBox CSTextBox\");\n }\n instance.autocomplete = $scoreSheetFinderEventId.data(\"context\");\n CS.on(\"change keyup\", \"#ScoreSheetFinderEventIdTextBox\", function (e, autocompletetest) {\n if (instance.autocomplete.$TextBox.val() == \"\") {\n instance.autocomplete.ClearValue();\n }\n });\n $scoreSheetFinderEventId.on(\"change\", function () {\n var _a;\n const eventId = $scoreSheetFinderEventId.val();\n const eventName = instance.autocomplete.SelectedValue();\n const compareMultiSelect = ScoreSheetFinder.compareMultiSelect;\n if (eventId) {\n ScoreSheetFinder.instance.filters = ScoreSheetFinder.initialFilters;\n ScoreSheetFinder.clearAllChips();\n if (compareMultiSelect) {\n compareMultiSelect.value([]);\n }\n ScoreSheetFinder.updateFilters({\n payload: {\n name: \"eventId\",\n value: eventId,\n },\n });\n const eventChip = ScoreSheetFinder.eventChip;\n if (eventChip) {\n // Calling the select method on the chip via JS does not trigger the chip's select event\n eventChip.select(true);\n const container = eventChip.element.closest(\".scoreSheetFinderChipContainer\");\n if (container) {\n container.toggleClass(\"selected\", true);\n }\n const label = eventChip.element.find(\".k-chip-label\");\n if (label) {\n label.text(eventName);\n }\n (_a = ScoreSheetFinder.instance.autocomplete) === null || _a === void 0 ? void 0 : _a.ClearValue();\n }\n }\n else {\n ScoreSheetFinder.instance.filters.rotations.value = undefined;\n }\n });\n };\n instance.popup.OnClosed = () => {\n $(\"body\").css(\"overflow\", \"\");\n ScoreSheetFinder.reset();\n };\n }\n static reset() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Resetting score sheet finder\");\n }\n const { instance } = ScoreSheetFinder;\n instance.init();\n }\n catch (error) {\n console.error(\"Error while resetting score sheet finder\", error);\n }\n }\n static setDrawersContent() {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Setting drawers content\");\n }\n ScoreSheetFinder.fetchDrawersContent(({ advancedFiltersDrawerContent, rotationsDrawerContent }) => {\n var _a, _b, _c;\n try {\n $(\"#scoreSheetFinderAdvancedFiltersDrawer-content\").html(advancedFiltersDrawerContent);\n $(\"#scoreSheetFinderRotationsDrawer-content\").html(rotationsDrawerContent);\n const { filters } = ScoreSheetFinder.instance;\n const games = (_a = filters.NbGames.value) !== null && _a !== void 0 ? _a : 0;\n const rounds = (_b = filters.NbRounds.value) !== null && _b !== void 0 ? _b : 0;\n const players = (_c = filters.NbPlayers.value) !== null && _c !== void 0 ? _c : 0;\n const drawer = ScoreSheetFinder.roundRotationsDrawer;\n const $drawerContent = drawer.element.find(\".drawer-content__content\");\n const $drawerEmptyStateContent = drawer.element.find(\".drawer-content__empty-state-content\");\n if (games == 0 || rounds == 0 || players == 0) {\n $drawerContent.addClass(\"hiddenforced\");\n $drawerEmptyStateContent.removeClass(\"hiddenforced\");\n }\n else {\n $drawerContent.removeClass(\"hiddenforced\");\n $drawerEmptyStateContent.addClass(\"hiddenforced\");\n }\n }\n catch (error) {\n console.error(\"Error while setting drawers content\", error);\n }\n });\n }\n static fetchDrawersContent(callback) {\n var _a, _b, _c;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Fetching drawer content\");\n }\n // The Kendo UI Drawer's content configuration accepts an HTML string.\n // In order to use a Kendo UI component in the Drawer's content, a separate\n // partial view is loaded via AJAX and injected into the Drawer's content.\n const filters = ScoreSheetFinder.instance.filters;\n const data = {\n players: (_a = filters.NbPlayers.value) !== null && _a !== void 0 ? _a : null,\n games: (_b = filters.NbGames.value) !== null && _b !== void 0 ? _b : null,\n rounds: (_c = filters.NbRounds.value) !== null && _c !== void 0 ? _c : null,\n };\n CompuSport.Ajax.Get(\"/ScoreSheetFinder/AdvancedFiltersDrawer\", {}, function (result1) {\n CompuSport.Ajax.Get(\"/ScoreSheetFinder/RoundRotationsDrawer\", data, function (result2) {\n callback({\n advancedFiltersDrawerContent: result1,\n rotationsDrawerContent: result2,\n });\n });\n });\n }\n catch (e) {\n console.error(\"Error while fetching drawer content\", e);\n }\n }\n static /*async*/ generateThumbnails() {\n try {\n // We'd need to target a more recent version of typescript in order to use\n // promises or async/await syntax. For now, we can only use callbacks, so\n // the code below is commented out.\n return;\n //const data = ScoreSheetFinder.grid?.dataSource?.data();\n //if (!data) {\n // throw new Error(\"No data\");\n //}\n //let scoreSheetIds = data.map((item: any) =>\n // parseInt(item.Id)\n //) as number[];\n //const prompt = window.prompt(\n // `Set the start/end index for the score sheet IDs to generate thumbnails for (e.g. 0-50). Format should be \"startIndex-endIndex\". Minimum is 0, maximum is ${scoreSheetIds.length}.`,\n // \"0-50\"\n //);\n //const startIndex = parseInt(prompt.split(\"-\")[0]);\n //const endIndex = parseInt(prompt.split(\"-\")[1]);\n //if (isNaN(startIndex) || isNaN(endIndex)) {\n // throw new Error(\"Invalid start/end index\");\n //}\n //if (startIndex < 0 || endIndex < 0) {\n // throw new Error(\"Start/end index cannot be negative\");\n //}\n //if (startIndex > endIndex) {\n // throw new Error(\"Start index cannot be greater than end index\");\n //}\n //if (endIndex > scoreSheetIds.length) {\n // throw new Error(\n // `End index cannot be greater than the total number of score sheets (${scoreSheetIds.length})`\n // );\n //}\n //scoreSheetIds = scoreSheetIds.slice(startIndex, endIndex);\n //const zip = new JSZip();\n //for (let i = 0; i < scoreSheetIds.length; i++) {\n // const id = scoreSheetIds[i];\n // await new Promise((resolve) => {\n // ScoreSheetFinder.generateThumbnail(id, (imageDataUrl, canvas) => {\n // canvas.toBlob((blob: any) => {\n // zip.file(`scoresheet-thumbnail-${id}.png`, blob);\n // canvas.remove();\n // resolve();\n // }, \"image/png\");\n // });\n // });\n //}\n //const content = await zip.generateAsync({ type: \"blob\" });\n //const a = document.createElement(\"a\");\n //a.href = URL.createObjectURL(content);\n //a.download = `scoresheet-thumbnails-${startIndex + 1}-${endIndex}.zip`;\n //a.click();\n //a.remove();\n }\n catch (error) {\n console.error(\"Error while generating all thumbnails\", error);\n }\n }\n static generateThumbnail(id, callback) {\n if (ScoreSheetFinder.instance.debug) {\n console.log(`Generating thumbnail for score sheet ${id}`);\n }\n ScoreSheet.generateThumbnail({\n scoreSheetId: id,\n callback: callback,\n });\n }\n static previewScoreSheet(id, callback) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(`Previewing score sheet ${id}`);\n }\n const $element = $(`.scoresheetFinderGridCell[data-scoresheet-id=${id}]`);\n if ($element.length) {\n const $tr = $element.closest(\"tr\");\n if ($tr.length) {\n const rowIndex = $tr.index();\n if (rowIndex > -1) {\n const grid = ScoreSheetFinder.grid;\n if (grid) {\n grid.clearSelection();\n grid.select(`tr:eq(${rowIndex})`);\n }\n }\n }\n }\n const popup = new CompuSport.Controls.Popup();\n var matchTypeRadio = $(\"input[type=radio][name=MatchType]\");\n var data = {\n encounterTypeId: id,\n };\n popup.GetAndShow({\n PopupId: \"PreviewScoreSheetPopup\",\n Data: data,\n Url: CSParameters.RUrl +\n \"Scores/PreviewPopup/\" +\n CSParameters.SportEventId,\n AjaxCallType: CompuSport.Ajax.AjaxCallType.GET,\n });\n popup.OnContentLoaded = () => {\n if (callback) {\n callback === null || callback === void 0 ? void 0 : callback.call(this, popup);\n }\n };\n }\n catch (error) {\n console.error(\"Error while previewing score sheet\", error);\n }\n }\n static selectScoreSheet(id) {\n if (ScoreSheetFinder.instance.debug) {\n console.log(`Selecting score sheet ${id}`);\n }\n const { instance } = this;\n instance.popup.Close();\n instance.callback.call(instance, id);\n }\n static toggleDrawer(id, state) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(`Toggling drawer ${id}`);\n }\n const drawerInstance = $(`#${id}`).data().kendoDrawer;\n const drawerContainer = drawerInstance.drawerContainer;\n if (state != null) {\n if (state) {\n drawerInstance.show();\n // We need to handle the drawer's show event and attach a click handler to the overlay\n // so that the drawer hides when the user clicks outside of the drawer's content.\n const overlay = drawerContainer.find(\".k-overlay\");\n overlay.on(\"click\", function (e) {\n drawerInstance.hide();\n });\n }\n else {\n drawerInstance.hide();\n }\n return;\n }\n if (drawerContainer.hasClass(\"k-drawer-expanded\")) {\n drawerInstance.hide();\n }\n else {\n drawerInstance.show();\n // We need to handle the drawer's show event and attach a click handler to the overlay\n // so that the drawer hides when the user clicks outside of the drawer's content.\n const overlay = drawerContainer.find(\".k-overlay\");\n overlay.on(\"click\", function (e) {\n drawerInstance.hide();\n });\n }\n }\n catch (e) {\n console.error(\"Error while toggling drawer\", e);\n }\n }\n static toggleAdvancedFiltersDrawer() {\n ScoreSheetFinder.toggleDrawer(\"scoreSheetFinderAdvancedFiltersDrawer\");\n }\n static toggleRotationsDrawer() {\n ScoreSheetFinder.toggleDrawer(\"scoreSheetFinderRotationsDrawer\");\n }\n static onScoreSheetFinderDrawerHide(e) {\n try {\n // By default, Kendo UI Drawers hide when the user clicks anywhere (including the drawer's content).\n // To prevent this, we need to handle the drawer's hide event and prevent the default behavior.\n e.preventDefault();\n }\n catch (error) {\n console.error(\"Error while hiding drawer\", error);\n }\n }\n static onAdvancedFiltersDrawerHide(e) {\n ScoreSheetFinder.onScoreSheetFinderDrawerHide(e);\n }\n static onRotationsDrawerHide(e) {\n ScoreSheetFinder.onScoreSheetFinderDrawerHide(e);\n }\n static onOpponentTypePickerChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing opponent type\");\n }\n const opponentType = e.sender.value();\n const items = [\n { name: \"opponentType\", value: opponentType },\n ];\n switch (opponentType) {\n case \"teams\":\n items.push({ name: \"NbPlayers\", value: \"\" });\n items.push({ name: \"HasDoubles\", value: undefined });\n break;\n case \"singles\":\n items.push({ name: \"NbPlayers\", value: 1 });\n items.push({ name: \"HasDoubles\", value: undefined });\n break;\n case \"doubles\":\n items.push({ name: \"NbPlayers\", value: \"\" });\n items.push({ name: \"HasDoubles\", value: true });\n break;\n default:\n items.push({ name: \"NbPlayers\", value: \"\" });\n items.push({ name: \"HasDoubles\", value: undefined });\n break;\n }\n ScoreSheetFinder.updateFilters({\n payload: items,\n });\n }\n catch (error) {\n console.error(\"Error while changing opponent type\", error);\n }\n }\n static onPlayersPerTeamPickerChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing players per team\");\n }\n const { instance } = ScoreSheetFinder;\n const { NbGames: games } = instance.filters;\n const players = e.sender.value();\n ScoreSheetFinder.playersPicker2.value(players);\n // portion qui change le filtre round en fonction des games et des joueur\n //if (games.value > 0 && players > 0) {\n // const rounds = games.value / players;\n // if (rounds % 1 !== 0) {\n // ScoreSheetFinder.updateFilters({\n // payload: { name: \"NbPlayers\", value: players },\n // });\n // return;\n // }\n // ScoreSheetFinder.roundsPicker.value(rounds.toString());\n // ScoreSheetFinder.roundsPicker2.value(rounds.toString());\n // ScoreSheetFinder.updateFilters({\n // payload: [\n // { name: \"NbPlayers\", value: players },\n // { name: \"NbRounds\", value: rounds },\n // ],\n // });\n //} else if ((isNaN(Number(players)) || Number(players) == 0) && (isNaN(Number(games.value)) || Number(games.value) == 0)) {\n // ScoreSheetFinder.roundsPicker.value('');\n // ScoreSheetFinder.roundsPicker2.value('');\n // ScoreSheetFinder.updateFilters({\n // payload: [\n // { name: \"NbPlayers\", value: players },\n // { name: \"NbRounds\", value: '' },\n // ],\n // });\n // return;\n //} else {\n ScoreSheetFinder.updateFilters({\n payload: { name: \"NbPlayers\", value: players },\n });\n return;\n //}\n }\n catch (error) {\n console.error(\"Error while changing players per team\", error);\n }\n }\n static onPlayersPerTeamPickerChange2(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing players per team 2\");\n }\n ScoreSheetFinder.playersPicker.value(e.sender.value());\n ScoreSheetFinder.onPlayersPerTeamPickerChange(e);\n }\n catch (error) {\n console.error(\"Error while changing players per team 2\", error);\n }\n }\n static onGamesPerMatchPickerChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing games per match\");\n }\n const { instance } = ScoreSheetFinder;\n const { NbPlayers: players } = instance.filters;\n const games = e.sender.value();\n ScoreSheetFinder.gamesPicker2.value(games);\n // portion qui change le filtre round en fonction des games et des joueur\n //if (players.value > 0 && games > 0) {\n // const rounds = games / players.value;\n // if (rounds % 1 !== 0) {\n // ScoreSheetFinder.updateFilters({\n // payload: { name: \"NbGames\", value: e.sender.value() },\n // });\n // return;\n // }\n // ScoreSheetFinder.roundsPicker.value(rounds.toString());\n // ScoreSheetFinder.roundsPicker2.value(rounds.toString());\n // ScoreSheetFinder.updateFilters({\n // payload: [\n // { name: \"NbGames\", value: games },\n // { name: \"NbRounds\", value: rounds },\n // ],\n // });\n //} else if ((isNaN(Number(players.value)) || Number(players.value) == 0) && (isNaN(Number(games)) || Number(games) == 0)) {\n // ScoreSheetFinder.roundsPicker.value('');\n // ScoreSheetFinder.roundsPicker2.value('');\n // ScoreSheetFinder.updateFilters({\n // payload: [\n // { name: \"NbGames\", value: games },\n // { name: \"NbRounds\", value: '' },\n // ],\n // });\n // return;\n //} else {\n ScoreSheetFinder.updateFilters({\n payload: { name: \"NbGames\", value: e.sender.value() },\n });\n return;\n //}\n }\n catch (error) {\n console.error(\"Error while changing games per match\", error);\n }\n }\n static onGamesPerMatchPickerChange2(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing games per match 2\");\n }\n ScoreSheetFinder.gamesPicker.value(e.sender.value());\n ScoreSheetFinder.onGamesPerMatchPickerChange(e);\n }\n catch (error) {\n console.error(\"Error while changing games per match 2\", error);\n }\n }\n static onRoundsPickerChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing rounds\");\n }\n ScoreSheetFinder.roundsPicker2.value(e.sender.value());\n ScoreSheetFinder.updateFilters({\n payload: { name: \"NbRounds\", value: e.sender.value() },\n });\n }\n catch (error) {\n console.error(\"Error while changing rounds\", error);\n }\n }\n static onRoundsPickerChange2(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing rounds 2\");\n }\n ScoreSheetFinder.roundsPicker.value(e.sender.value());\n ScoreSheetFinder.onRoundsPickerChange(e);\n }\n catch (error) {\n console.error(\"Error while changing rounds 2\", error);\n }\n }\n static onFormatPickerChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing format\");\n }\n ScoreSheetFinder.updateFilters({\n payload: { name: \"format\", value: e.sender.value() },\n });\n }\n catch (error) {\n console.error(\"Error while changing format\", error);\n }\n }\n static onRaceToChipSelect(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"On race to chip select...\");\n }\n const wasSelected = ScoreSheetFinder.instance.filters.GameRowsAreDynamic.value;\n ScoreSheetFinder.updateFilters({\n payload: { name: \"GameRowsAreDynamic\", value: !wasSelected },\n });\n //if (ScoreSheetFinder.raceToSwitch) {\n // ScoreSheetFinder.raceToSwitch.check(value);\n //}\n }\n catch (error) {\n console.error(\"Error while selecting based on race-to\", error);\n }\n }\n static onMyScoreSheetsChipSelect(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"My score sheets chip selected\");\n }\n const selected = e.sender.select();\n const value = !selected ? true : false;\n ScoreSheetFinder.updateFilters({\n payload: { name: \"IsUserTemplate\", value: value },\n });\n if (ScoreSheetFinder.myScoreSheetsSwitch) {\n ScoreSheetFinder.myScoreSheetsSwitch.check(value);\n }\n }\n catch (error) {\n console.error(\"Error while selecting based on my score sheets\", error);\n }\n }\n static onRoundRotationsChipSelect(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Round rotations chip selected\");\n }\n const selected = e.sender.select();\n const value = !selected ? true : false;\n if (value == false) {\n ScoreSheetFinder.updateRotations({\n uncheck: true,\n });\n }\n }\n catch (error) {\n console.error(\"Error while selecting based on round rotations\", error);\n }\n }\n static onEventChipSelect(e) {\n var _a;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Event chip selected\");\n }\n const selected = e.sender.select();\n const value = !selected ? true : false;\n if (value == false) {\n (_a = ScoreSheetFinder.instance.autocomplete) === null || _a === void 0 ? void 0 : _a.ClearValue();\n ScoreSheetFinder.updateFilters({\n payload: { name: \"eventId\", value: undefined },\n });\n }\n }\n catch (error) {\n console.error(\"Error while selecting based on event\", error);\n }\n }\n static toggleRoundRotations(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Toggling round rotations\");\n }\n // const checked = e.checked;\n // const id = e.sender.element.attr(\"id\");\n // const parts = id.split(\"-\");\n // const roundNumber = parts[1];\n ScoreSheetFinder.updateRotations();\n }\n catch (error) {\n console.error(\"Error while toggling round rotations\", error);\n }\n }\n static updateRotations(params) {\n var _a, _b, _c, _d, _e;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updating rotations\");\n }\n const reset = (_a = params === null || params === void 0 ? void 0 : params.reset) !== null && _a !== void 0 ? _a : false;\n if (reset) {\n const rotationsChip = ScoreSheetFinder.roundRotationsChip;\n if (rotationsChip) {\n rotationsChip.select(false);\n const container = rotationsChip.element.closest(\".scoreSheetFinderChipContainer\");\n if (container) {\n container.toggleClass(\"selected\", false);\n }\n }\n }\n const uncheck = (_b = params === null || params === void 0 ? void 0 : params.uncheck) !== null && _b !== void 0 ? _b : false;\n const { filters } = ScoreSheetFinder.instance;\n const games = (_c = filters.NbGames.value) !== null && _c !== void 0 ? _c : 0;\n const rounds = (_d = filters.NbRounds.value) !== null && _d !== void 0 ? _d : 0;\n const players = (_e = filters.NbPlayers.value) !== null && _e !== void 0 ? _e : 0;\n const drawer = ScoreSheetFinder.roundRotationsDrawer;\n const gamesPerRound = games == 0 || rounds == 0 ? 0 : games / rounds;\n const gamesOrRoundIsNull = games == 0 || rounds == 0;\n const $rounds = drawer.element.find(\".round\");\n if (!$rounds.length) {\n return;\n }\n $rounds.each(function (roundIndex, round) {\n const $round = $(round);\n const roundNumber = parseInt($round.data(\"round-number\"));\n const roundToggleSwitch = $round\n .find(`#scoreSheetFinderRotationsToggleSwitchRound-${roundNumber}`)\n .data().kendoSwitch;\n if (roundToggleSwitch) {\n if (reset) {\n roundToggleSwitch.check(false);\n }\n else if (uncheck) {\n roundToggleSwitch.check(false);\n }\n }\n if (gamesOrRoundIsNull) {\n $round.removeClass(\"hiddenforced\");\n }\n else if (roundIndex >= rounds) {\n $round.addClass(\"hiddenforced\");\n }\n else {\n $round.removeClass(\"hiddenforced\");\n }\n const $games = $round.find(\".game\");\n if (!$games.length) {\n return;\n }\n $games.each(function (gameIndex, game) {\n var _a, _b;\n const $game = $(game);\n if (reset) {\n const gameNumber = gameIndex;\n const homeDropdownList = (_a = $game\n .find(`#scoreSheetFinderRotationsHomePlayer-${roundIndex}-${gameNumber}`)\n .data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n const awayDropdownList = (_b = $game\n .find(`#scoreSheetFinderRotationsAwayPlayer-${roundIndex}-${gameNumber}`)\n .data()) === null || _b === void 0 ? void 0 : _b.kendoDropDownList;\n if (homeDropdownList && awayDropdownList) {\n // homeDropdownList.value(\"\");\n awayDropdownList.value(\"\");\n }\n }\n if (gamesOrRoundIsNull) {\n $game.removeClass(\"hiddenforced\");\n }\n else if (gameIndex >= gamesPerRound) {\n $game.addClass(\"hiddenforced\");\n }\n else {\n $game.removeClass(\"hiddenforced\");\n }\n });\n });\n const $drawerContent = drawer.element.find(\".drawer-content__content\");\n const $drawerEmptyStateContent = drawer.element.find(\".drawer-content__empty-state-content\");\n if (games == 0 || rounds == 0 || players == 0) {\n $drawerContent.addClass(\"hiddenforced\");\n $drawerEmptyStateContent.removeClass(\"hiddenforced\");\n }\n else {\n $drawerContent.removeClass(\"hiddenforced\");\n $drawerEmptyStateContent.addClass(\"hiddenforced\");\n }\n const oldRotations = ScoreSheetFinder.instance.filters.rotations.value;\n const oldRotationsStringified = ScoreSheetFinder.getStringifiedRotations(oldRotations);\n const newRotations = ScoreSheetFinder.getRotations();\n const newRotationsStringified = ScoreSheetFinder.getStringifiedRotations(newRotations);\n const newRotationsIsDifferent = oldRotationsStringified != newRotationsStringified;\n ScoreSheetFinder.instance.filters.rotations.value = newRotations;\n if (newRotationsIsDifferent) {\n ScoreSheetFinder.updateGridDataSource();\n }\n }\n catch (error) {\n console.error(\"Error while updating rotations\", error);\n }\n }\n /**\n *\n * @param overrideRotations If not provided, the rotations will be retrieved from instance.filters.rotations.value\n * @returns\n */\n static getStringifiedRotations(overrideRotations) {\n var _a, _b;\n let stringified = \"\";\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Getting stringified rotations\");\n }\n const { instance } = ScoreSheetFinder;\n const rotations = overrideRotations != null\n ? overrideRotations\n : (_a = instance.filters.rotations) === null || _a === void 0 ? void 0 : _a.value;\n if (rotations == null || !Array.isArray(rotations)) {\n return \"\";\n }\n for (let i = 0; i < rotations.length; i++) {\n const round = rotations[i];\n if (i != 0 && i != rotations.length - 1) {\n stringified += \"\\n\";\n }\n if (!round.checked || round.hidden) {\n stringified += \" -\";\n continue;\n }\n if (!((_b = round.games) === null || _b === void 0 ? void 0 : _b.length)) {\n stringified += \" -\";\n continue;\n }\n if (round.games[0].hidden ||\n round.games[0].home == null ||\n round.games[0].away == null ||\n round.games[0].home == \"\" ||\n round.games[0].away == \"\") {\n stringified += \" -\";\n continue;\n }\n for (let j = 0; j < round.games.length; j++) {\n const game = round.games[j];\n if (!game.home || !game.away || game.hidden) {\n break;\n }\n stringified += ` ${game.home}-${game.away}`;\n }\n }\n if (!stringified || stringified.replace(/-/g, \"\").trim().length == 0) {\n return \"\";\n }\n return stringified;\n }\n catch (error) {\n console.error(\"Error while getting stringified rotations\", error);\n return stringified;\n }\n }\n static getStringifiedIds() {\n var _a;\n let stringified = \"\";\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Getting stringified Ids\");\n }\n const ids = (_a = ScoreSheetFinder.instance.filters.ids) === null || _a === void 0 ? void 0 : _a.value;\n if (ids == null || !Array.isArray(ids)) {\n return \"\";\n }\n for (let i = 0; i < ids.length; i++) {\n stringified += ids[i].toString();\n if (i < ids.length - 1)\n stringified += \",\";\n }\n return stringified;\n }\n static updateGridDataSource() {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updating grid data source\");\n }\n ScoreSheetFinder.hideEmptyResultsMessage();\n const rotations = ScoreSheetFinder.getStringifiedRotations();\n const eventId = ScoreSheetFinder.instance.filters.eventId.value;\n const scoresheetIds = ScoreSheetFinder.getStringifiedIds();\n const hasRotations = rotations.trim() != \"\";\n let data = {};\n if (scoresheetIds) {\n data = {\n data: JSON.stringify({\n ids: scoresheetIds,\n }),\n };\n }\n else if (hasRotations || eventId) {\n if (hasRotations && eventId) {\n data = {\n data: JSON.stringify({\n eventId: eventId,\n rotation: rotations,\n }),\n };\n }\n else if (hasRotations) {\n data = {\n data: JSON.stringify({\n rotation: rotations,\n }),\n };\n }\n else if (eventId) {\n data = {\n data: JSON.stringify({\n eventId: eventId,\n }),\n };\n }\n }\n const roundRotationsChip = ScoreSheetFinder.roundRotationsChip;\n if (roundRotationsChip) {\n const container = roundRotationsChip.element.closest(\".scoreSheetFinderChipContainer\");\n if (hasRotations) {\n roundRotationsChip.select(true);\n container === null || container === void 0 ? void 0 : container.addClass(\"selected\");\n }\n else {\n roundRotationsChip.select(false);\n container === null || container === void 0 ? void 0 : container.removeClass(\"selected\");\n }\n }\n const eventChip = ScoreSheetFinder.eventChip;\n if (eventChip) {\n const container = eventChip.element.closest(\".scoreSheetFinderChipContainer\");\n if (eventId) {\n eventChip.select(true);\n container === null || container === void 0 ? void 0 : container.addClass(\"selected\");\n }\n else {\n eventChip.select(false);\n container === null || container === void 0 ? void 0 : container.removeClass(\"selected\");\n }\n }\n CompuSport.Ajax.Post(CSParameters.RUrl + \"ScoreSheetFinder/Filter/\", data, function (response) {\n var _a;\n try {\n if (!Array.isArray(response)) {\n throw new Error(\"Response is not an array\");\n }\n if (!ScoreSheetFinder.grid) {\n throw new Error(\"Grid is not defined\");\n }\n const originalFilter = ScoreSheetFinder.grid.dataSource.filter();\n const originalDataSource = ScoreSheetFinder.grid.dataSource;\n const newGridDataSource = new kendo.data.DataSource({\n data: response,\n pageSize: originalDataSource.pageSize(),\n sort: originalDataSource.sort(),\n page: originalDataSource.page(),\n change: function (e) {\n ScoreSheetFinder.onGridChange(e);\n },\n filter: function (e) {\n ScoreSheetFinder.onGridFilter(e);\n },\n });\n ScoreSheetFinder.grid.setDataSource(newGridDataSource);\n ScoreSheetFinder.grid.dataSource.filter({\n logic: \"and\",\n filters: (_a = originalFilter.filters) !== null && _a !== void 0 ? _a : [],\n });\n ScoreSheetFinder.updateListViewFromGrid();\n // if (\n // response.length == 0 ||\n // ScoreSheetFinder.grid.items()?.length == 0\n // ) {\n // ScoreSheetFinder.showEmptyResultsMessage();\n // }\n }\n catch (error) {\n console.error(\"Error while updating grid data source\", error);\n }\n });\n }\n static getRotations() {\n let rotations = [];\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Getting rotations\");\n }\n const drawer = ScoreSheetFinder.roundRotationsDrawer;\n const $rounds = drawer.element.find(\".round\");\n if (!$rounds.length) {\n return rotations;\n }\n $rounds.each(function (roundIndex, round) {\n const $round = $(round);\n const roundNumber = parseInt($round.data(\"round-number\"));\n const roundToggleSwitch = $round\n .find(`#scoreSheetFinderRotationsToggleSwitchRound-${roundNumber}`)\n .data().kendoSwitch;\n const checked = roundToggleSwitch.check();\n const $games = $round.find(\".game\");\n const games = [];\n const roundIsHidden = $round.hasClass(\"hiddenforced\");\n if ($games.length) {\n $games.each(function (gameIndex, game) {\n var _a, _b;\n const $game = $(game);\n const gameIsHidden = $game.hasClass(\"hiddenforced\");\n const gameNumber = gameIndex;\n const homeDropdownList = (_a = $game\n .find(`#scoreSheetFinderRotationsHomePlayer-${roundNumber}-${gameNumber}`)\n .data()) === null || _a === void 0 ? void 0 : _a.kendoDropDownList;\n const awayDropdownList = (_b = $game\n .find(`#scoreSheetFinderRotationsAwayPlayer-${roundNumber}-${gameNumber}`)\n .data()) === null || _b === void 0 ? void 0 : _b.kendoDropDownList;\n if (homeDropdownList && awayDropdownList) {\n const homeValue = homeDropdownList.value();\n const awayValue = awayDropdownList.value();\n games.push({\n home: homeValue,\n away: awayValue,\n hidden: gameIsHidden,\n });\n }\n });\n rotations.push({\n round: roundNumber,\n games: games,\n checked: roundIsHidden ? false : checked,\n hidden: roundIsHidden,\n });\n }\n });\n return rotations;\n }\n catch (error) {\n console.error(\"Error while getting rotations\", error);\n return rotations;\n }\n }\n static onRoundRotationHomePlayerChange(e) {\n var _a;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing home player\");\n }\n const player = e.sender.value();\n // const id = e.sender.element.attr(\"id\");\n // const parts = id.split(\"-\");\n // const roundNumber = parts[1];\n // const gameNumber = parts[2];\n if (player != null && player != \"\") {\n const element = e.sender.element;\n const $parentRoundElement = element.closest(\".round\");\n if ($parentRoundElement === null || $parentRoundElement === void 0 ? void 0 : $parentRoundElement.length) {\n const roundNumber = parseInt($parentRoundElement.data(\"round-number\"));\n const roundToggleSwitch = (_a = $parentRoundElement\n .find(`#scoreSheetFinderRotationsToggleSwitchRound-${roundNumber}`)\n .data()) === null || _a === void 0 ? void 0 : _a.kendoSwitch;\n if (roundToggleSwitch) {\n const checked = roundToggleSwitch.check();\n if (!checked) {\n roundToggleSwitch.check(true);\n }\n }\n }\n }\n ScoreSheetFinder.updateRotations();\n }\n catch (error) {\n console.error(\"Error while changing home player\", error);\n }\n }\n static onRoundRotationAwayPlayerChange(e) {\n var _a;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Changing away player\");\n }\n const player = e.sender.value();\n // const id = e.sender.element.attr(\"id\");\n // const parts = id.split(\"-\");\n // const roundNumber = parts[1];\n // const gameNumber = parts[2];\n if (player != null && player != \"\") {\n const element = e.sender.element;\n const $parentRoundElement = element.closest(\".round\");\n if ($parentRoundElement === null || $parentRoundElement === void 0 ? void 0 : $parentRoundElement.length) {\n const roundNumber = parseInt($parentRoundElement.data(\"round-number\"));\n const roundToggleSwitch = (_a = $parentRoundElement\n .find(`#scoreSheetFinderRotationsToggleSwitchRound-${roundNumber}`)\n .data()) === null || _a === void 0 ? void 0 : _a.kendoSwitch;\n if (roundToggleSwitch) {\n const checked = roundToggleSwitch.check();\n if (!checked) {\n roundToggleSwitch.check(true);\n }\n }\n }\n }\n ScoreSheetFinder.updateRotations();\n }\n catch (error) {\n console.error(\"Error while changing home player\", error);\n }\n }\n static onGridChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Grid changed\", e);\n }\n const items = e.items;\n if (!Array.isArray(items)) {\n return;\n }\n ScoreSheetFinder.updateListViewFromGrid();\n // if (items.length == 0) {\n // ScoreSheetFinder.showEmptyResultsMessage();\n // } else {\n // ScoreSheetFinder.hideEmptyResultsMessage();\n // }\n }\n catch (error) {\n console.error(\"Error while changing grid\", error);\n }\n }\n static updateListViewFromGrid() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updating list view from grid\");\n }\n const gridDataSource = ScoreSheetFinder.grid.dataSource;\n const filters = gridDataSource.filter();\n const data = gridDataSource.data();\n const query = new kendo.data.Query(data);\n const filteredData = query.filter(filters).data;\n ScoreSheetFinder.listView.dataSource.data(filteredData);\n ScoreSheetFinder.listView.refresh();\n if (filteredData.length == 0) {\n ScoreSheetFinder.showEmptyResultsMessage();\n }\n else {\n ScoreSheetFinder.hideEmptyResultsMessage();\n }\n }\n catch (error) {\n console.error(\"Error while updating list view from grid\", error);\n }\n }\n static onGridFilter(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Grid filter changed\", e);\n }\n }\n catch (error) {\n console.error(\"Error while filtering grid\", error);\n }\n }\n static onListViewChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"List view changed\", e);\n }\n }\n catch (error) {\n console.error(\"Error while changing list view\", error);\n }\n }\n static showEmptyResultsMessage() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Showing empty results message\");\n }\n ScoreSheetFinder.hideEmptyResultsMessage();\n ScoreSheetFinder.showEmptyGridMessage();\n ScoreSheetFinder.showEmptyListViewMessage();\n }\n catch (error) {\n console.error(\"Error while showing empty grid message\", error);\n }\n }\n static showEmptyGridMessage() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Showing empty grid message\");\n }\n const grid = ScoreSheetFinder.grid;\n if (!grid) {\n throw new Error(\"Grid is not defined\");\n }\n const gridContent = grid.element.find(\".k-grid-content\");\n const emptyStateMessage = $(\".scoresheet-finder__empty-state-message.hiddenforced\");\n const copy = emptyStateMessage.clone();\n copy.removeClass(\"hiddenforced\");\n gridContent.append(copy);\n const $resetFiltersButton = copy.find(\".scoresheet-finder__reset-filters-button\");\n if ($resetFiltersButton === null || $resetFiltersButton === void 0 ? void 0 : $resetFiltersButton.length) {\n $resetFiltersButton.removeAttr(\"disabled\");\n $resetFiltersButton.on(\"click\", function (e) {\n ScoreSheetFinder.resetFilters();\n });\n }\n }\n catch (error) {\n console.error(\"Error while showing empty grid message\", error);\n }\n }\n static showEmptyListViewMessage() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Showing empty list view message\");\n }\n const listView = ScoreSheetFinder.listView;\n if (!listView) {\n throw new Error(\"List view is not defined\");\n }\n const listViewContent = listView.element.find(\".k-listview-content\");\n const emptyStateMessage = $(\".scoresheet-finder__empty-state-message.hiddenforced\");\n const copy = emptyStateMessage.clone();\n copy.removeClass(\"hiddenforced\");\n listViewContent.append(copy);\n const $resetFiltersButton = copy.find(\".scoresheet-finder__reset-filters-button\");\n if ($resetFiltersButton === null || $resetFiltersButton === void 0 ? void 0 : $resetFiltersButton.length) {\n $resetFiltersButton.removeAttr(\"disabled\");\n $resetFiltersButton.on(\"click\", function (e) {\n ScoreSheetFinder.resetFilters();\n });\n }\n }\n catch (error) {\n console.error(\"Error while showing empty list view message\", error);\n }\n }\n static hideEmptyResultsMessage() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Hiding empty results message\");\n }\n ScoreSheetFinder.hideEmptyGridMessage();\n ScoreSheetFinder.hideEmptyListViewMessage();\n }\n catch (error) {\n console.error(\"Error while hiding empty results message\", error);\n }\n }\n static hideEmptyGridMessage() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Hiding empty grid message\");\n }\n const grid = ScoreSheetFinder.grid;\n if (!grid) {\n throw new Error(\"Grid is not defined\");\n }\n const emptyStateMessage = grid.element.find(\".scoresheet-finder__empty-state-message\");\n if (emptyStateMessage === null || emptyStateMessage === void 0 ? void 0 : emptyStateMessage.length) {\n emptyStateMessage.remove();\n }\n }\n catch (error) {\n console.error(\"Error while hiding empty grid message\", error);\n }\n }\n static hideEmptyListViewMessage() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Hiding empty list view message\");\n }\n const listView = ScoreSheetFinder.listView;\n if (!listView) {\n throw new Error(\"List view is not defined\");\n }\n const emptyStateMessage = listView.element.find(\".scoresheet-finder__empty-state-message\");\n if (emptyStateMessage === null || emptyStateMessage === void 0 ? void 0 : emptyStateMessage.length) {\n emptyStateMessage.remove();\n }\n }\n catch (error) {\n console.error(\"Error while hiding empty list view message\", error);\n }\n }\n static clearAllChips() {\n const chips = $('[id*=\"scoreSheetFinderAdvancedFiltersChip\"]');\n const compareMultiSelect = ScoreSheetFinder.compareMultiSelect;\n if (compareMultiSelect) {\n compareMultiSelect.value([]);\n }\n chips.each(function (index, element) {\n let id = $(element).attr(\"id\");\n let parts = id.split(\"-\");\n let field = parts[1];\n if (field) {\n let chip = $(element).data().kendoChip;\n if (field) {\n let correspondingToggleSwitch = $(`#scoreSheetFinderToggleSwitch-${field}`).data().kendoSwitch;\n let chipContainer = chip.element.closest(\".scoreSheetFinderChipContainer\");\n if (chip)\n chip.select(false);\n if (chipContainer)\n chipContainer.toggleClass(\"selected\", false);\n if (correspondingToggleSwitch)\n correspondingToggleSwitch.check(false);\n }\n }\n });\n ScoreSheetFinder.raceToChip.select(false);\n ScoreSheetFinder.myScoreSheetsChip.select(false);\n ScoreSheetFinder.eventChip.select(false);\n ScoreSheetFinder.myScoreSheetsSwitch.check(false);\n }\n static toggleAdvancedFilter(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Toggling advanced filter\");\n }\n const checked = e.checked;\n const id = e.sender.element.attr(\"id\");\n const parts = id.split(\"-\");\n const field = parts[1];\n const correspondingChip = $(`#scoreSheetFinderAdvancedFiltersChip-${field}`).data().kendoChip;\n if (correspondingChip) {\n // Calling the select method on the chip via JS does not trigger the chip's select event\n correspondingChip.select(checked);\n const container = correspondingChip.element.closest(\".scoreSheetFinderChipContainer\");\n if (container) {\n container.toggleClass(\"selected\", checked);\n const { instance } = ScoreSheetFinder;\n ScoreSheetFinder.updateFilters({\n payload: {\n name: instance.fieldNameToColumnTitleMap[field],\n value: checked,\n },\n });\n }\n }\n }\n catch (error) {\n console.error(\"Error while toggling advanced filter\", error);\n }\n }\n static onAdvancedFilterChipSelect(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Advanced filter chip selected\");\n }\n const value = e.sender.select();\n const selected = !value ? true : false;\n const id = e.sender.element.attr(\"id\");\n const parts = id.split(\"-\");\n const field = parts[1];\n const chipContainer = e.sender.element.closest(\".scoreSheetFinderChipContainer\");\n if (chipContainer) {\n chipContainer.toggleClass(\"selected\", selected);\n }\n const correspondingToggleSwitch = $(`#scoreSheetFinderToggleSwitch-${field}`).data().kendoSwitch;\n if (correspondingToggleSwitch) {\n correspondingToggleSwitch.check(selected);\n const { instance } = ScoreSheetFinder;\n ScoreSheetFinder.updateFilters({\n payload: {\n name: instance.fieldNameToColumnTitleMap[field],\n value: selected,\n },\n });\n }\n }\n catch (error) {\n console.error(\"Error while selecting based on advanced filters\", error);\n }\n }\n static onGridSearchChange(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Grid search changed\", e);\n }\n const value = ScoreSheetFinder.gridSearch.value();\n ScoreSheetFinder.updateFilters({\n payload: { name: \"Title\", value: value },\n });\n }\n catch (e) {\n console.error(\"Error while searching grid\", e);\n }\n }\n static onGridSearchButtonClick(e) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Grid search button clicked\", e);\n }\n ScoreSheetFinder.onGridSearchChange(e);\n }\n catch (e) {\n console.error(\"Error while searching grid\", e);\n }\n }\n static setInitialFilters() {\n var _a, _b, _c, _d, _e, _f;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Setting initial filters\");\n }\n const payload = [];\n const initialOpponentType = (_a = ScoreSheetFinder.opponentTypePicker) === null || _a === void 0 ? void 0 : _a.value();\n if (initialOpponentType != null && initialOpponentType != \"\") {\n payload.push({\n name: \"opponentType\",\n value: initialOpponentType,\n });\n switch (initialOpponentType) {\n case \"teams\":\n payload.push({ name: \"NbPlayers\", value: \"\" });\n payload.push({ name: \"HasDoubles\", value: undefined });\n break;\n case \"singles\":\n payload.push({ name: \"NbPlayers\", value: 1 });\n payload.push({ name: \"HasDoubles\", value: undefined });\n break;\n case \"doubles\":\n payload.push({ name: \"NbPlayers\", value: \"\" });\n payload.push({ name: \"HasDoubles\", value: true });\n break;\n default:\n payload.push({ name: \"NbPlayers\", value: \"\" });\n payload.push({ name: \"HasDoubles\", value: undefined });\n break;\n }\n }\n const initialPlayers = (_b = ScoreSheetFinder.playersPicker) === null || _b === void 0 ? void 0 : _b.value();\n if (initialPlayers != null && initialPlayers != \"\") {\n payload.push({\n name: \"NbPlayers\",\n value: initialPlayers,\n });\n }\n const initialGames = (_c = ScoreSheetFinder.gamesPicker) === null || _c === void 0 ? void 0 : _c.value();\n if (initialGames != null && initialGames != \"\") {\n payload.push({\n name: \"NbGames\",\n value: initialGames,\n });\n }\n const initialRounds = (_d = ScoreSheetFinder.roundsPicker) === null || _d === void 0 ? void 0 : _d.value();\n if (initialRounds != null && initialRounds != \"\") {\n payload.push({\n name: \"NbRounds\",\n value: initialRounds,\n });\n }\n const initialBasedOnRaceTo = (_f = (_e = $(\"#scoreSheetFinderRaceToChipInitialValue\")) === null || _e === void 0 ? void 0 : _e.val()) !== null && _f !== void 0 ? _f : \"\";\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Initial based on race to\", initialBasedOnRaceTo);\n }\n if (initialBasedOnRaceTo &&\n (initialBasedOnRaceTo == \"true\" || initialBasedOnRaceTo == true)) {\n payload.push({\n name: \"GameRowsAreDynamic\",\n value: true,\n });\n }\n if (payload.length) {\n ScoreSheetFinder.updateFilters({\n payload: payload,\n });\n }\n else {\n ScoreSheetFinder.updateFiltersUI();\n }\n }\n catch (error) {\n console.error(\"Error while setting initial filters\", error);\n }\n }\n static resetFilters(callback) {\n var _a, _b;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Resetting filters\");\n }\n ScoreSheetFinder.setInitialFilters();\n ScoreSheetFinder.instance.filters = ScoreSheetFinder.initialFilters;\n const format = (_a = ScoreSheetFinder.formatPicker) === null || _a === void 0 ? void 0 : _a.value();\n if (format == \"list\" || format == \"cards\") {\n ScoreSheetFinder.instance.filters.format.value = format;\n }\n const compareMultiSelect = ScoreSheetFinder.compareMultiSelect;\n if (compareMultiSelect) {\n compareMultiSelect.value([]);\n }\n const opponentTypePicker = ScoreSheetFinder.opponentTypePicker;\n if (opponentTypePicker) {\n opponentTypePicker.value(\"\");\n }\n const playersPicker = ScoreSheetFinder.playersPicker;\n if (playersPicker) {\n playersPicker.value(\"\");\n }\n const playersPicker2 = ScoreSheetFinder.playersPicker2;\n if (playersPicker2) {\n playersPicker2.value(\"\");\n }\n const gamesPicker = ScoreSheetFinder.gamesPicker;\n if (gamesPicker) {\n gamesPicker.value(\"\");\n }\n const gamesPicker2 = ScoreSheetFinder.gamesPicker2;\n if (gamesPicker2) {\n gamesPicker2.value(\"\");\n }\n const roundsPicker = ScoreSheetFinder.roundsPicker;\n if (roundsPicker) {\n roundsPicker.value(\"\");\n }\n const roundsPicker2 = ScoreSheetFinder.roundsPicker2;\n if (roundsPicker2) {\n roundsPicker2.value(\"\");\n }\n ScoreSheetFinder.updateRotations({ reset: true });\n ScoreSheetFinder.clearAllChips();\n (_b = ScoreSheetFinder.instance.autocomplete) === null || _b === void 0 ? void 0 : _b.ClearValue();\n let $scoreSheetFinderEventId = $(\"#ScoreSheetFinderEventId\");\n if ($scoreSheetFinderEventId === null || $scoreSheetFinderEventId === void 0 ? void 0 : $scoreSheetFinderEventId.length) {\n $scoreSheetFinderEventId.val(\"\");\n }\n ScoreSheetFinder.updateFiltersUI();\n ScoreSheetFinder.updateGrid();\n ScoreSheetFinder.updateGridDataSource();\n }\n catch (error) {\n console.error(\"Error while resetting filters\", error);\n }\n }\n static updateFilters(params) {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updating filters\", params);\n }\n const payload = params === null || params === void 0 ? void 0 : params.payload;\n let shouldTriggerRotationsReset = false;\n let shouldTriggerDatasourceUpdate = false;\n if (payload) {\n const items = Array.isArray(payload) ? payload : [payload];\n const itemsThatShouldTriggerRotationsUpdate = [\n \"NbGames\",\n \"NbPlayers\",\n \"NbRounds\",\n ];\n const itemsThatShouldTriggerDatasourceUpdate = [\"eventId\", \"ids\"];\n items.forEach((item) => {\n if (typeof item.name !== \"string\") {\n throw new Error(\"Invalid name, expected string\");\n }\n if (itemsThatShouldTriggerRotationsUpdate.filter((name) => name === item.name)[0] != null) {\n shouldTriggerRotationsReset = true;\n }\n if (itemsThatShouldTriggerDatasourceUpdate.filter((name) => name === item.name)[0] != null) {\n shouldTriggerDatasourceUpdate = true;\n }\n const { instance } = ScoreSheetFinder;\n instance.filters[item.name] = item;\n });\n }\n ScoreSheetFinder.updateFiltersUI();\n ScoreSheetFinder.updateResultsUI();\n ScoreSheetFinder.updateGrid();\n if (shouldTriggerRotationsReset) {\n ScoreSheetFinder.updateRotations({ reset: true });\n }\n if (shouldTriggerDatasourceUpdate) {\n ScoreSheetFinder.updateGridDataSource();\n }\n }\n catch (error) {\n console.error(\"Error while updating filters\", error);\n }\n }\n static updateResultsUI() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updating results UI\");\n }\n const { instance } = ScoreSheetFinder;\n const format = instance.filters.format.value;\n const $results = $(\".scoresheet-finder__results\");\n const $listView = $results.find(\"#scoreSheetFinderGridListView\");\n const $listViewPager = $results.find(\"#scoreSheetFinderGridListView_pager\");\n const $grid = $results.find(\"#scoreSheetFinderGrid\");\n if (!$results.length || !$listView.length || !$grid.length) {\n throw new Error(\"Results UI elements not found\");\n }\n if (format == \"list\") {\n $grid === null || $grid === void 0 ? void 0 : $grid.css(\"display\", \"flex\");\n $listView === null || $listView === void 0 ? void 0 : $listView.css(\"display\", \"none\");\n $listViewPager === null || $listViewPager === void 0 ? void 0 : $listViewPager.css(\"display\", \"none\");\n }\n else if (format == \"cards\") {\n $grid === null || $grid === void 0 ? void 0 : $grid.css(\"display\", \"none\");\n $listView === null || $listView === void 0 ? void 0 : $listView.css(\"display\", \"block\");\n $listViewPager === null || $listViewPager === void 0 ? void 0 : $listViewPager.css(\"display\", \"flex\");\n }\n }\n catch (error) {\n console.error(\"Error while updating results UI\", error);\n }\n }\n static updateFiltersUI() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16;\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updating filters UI...\");\n console.log(\"Filters\", ScoreSheetFinder.instance.filters);\n }\n const { instance } = ScoreSheetFinder;\n const { filters } = instance;\n const opponentType = filters.opponentType.value;\n if (opponentType === \"singles\") {\n (_a = ScoreSheetFinder.playersPicker) === null || _a === void 0 ? void 0 : _a.wrapper.closest(\".scoreSheetFinderInputElement-container\").hide();\n (_b = ScoreSheetFinder.rotationsButton) === null || _b === void 0 ? void 0 : _b.wrapper.closest(\".scoreSheetFinderInputElement-container\").hide();\n }\n else if (opponentType === \"doubles\") {\n (_c = ScoreSheetFinder.playersPicker) === null || _c === void 0 ? void 0 : _c.wrapper.closest(\".scoreSheetFinderInputElement-container\").hide();\n (_d = ScoreSheetFinder.rotationsButton) === null || _d === void 0 ? void 0 : _d.wrapper.closest(\".scoreSheetFinderInputElement-container\").hide();\n }\n else {\n (_e = ScoreSheetFinder.playersPicker) === null || _e === void 0 ? void 0 : _e.wrapper.closest(\".scoreSheetFinderInputElement-container\").show();\n (_f = ScoreSheetFinder.rotationsButton) === null || _f === void 0 ? void 0 : _f.wrapper.closest(\".scoreSheetFinderInputElement-container\").show();\n }\n const selectedPickerBackgroundColor = \"var(--kendo-selected-background-color)\";\n const selectedTextStyle = {\n opacity: \"\",\n fontWeight: \"bold\",\n };\n const unselectedPickerBackgroundColor = \"\";\n const unselectedTextStyle = {\n opacity: \"0.5\",\n fontWeight: \"400\",\n };\n if (opponentType == null || opponentType == \"\") {\n (_g = ScoreSheetFinder.opponentTypePicker) === null || _g === void 0 ? void 0 : _g.value(\"\");\n (_h = ScoreSheetFinder.opponentTypePicker) === null || _h === void 0 ? void 0 : _h.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_j = ScoreSheetFinder.opponentTypePicker) === null || _j === void 0 ? void 0 : _j.wrapper.css(\"background-color\", unselectedPickerBackgroundColor);\n }\n else {\n (_k = ScoreSheetFinder.opponentTypePicker) === null || _k === void 0 ? void 0 : _k.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_l = ScoreSheetFinder.opponentTypePicker) === null || _l === void 0 ? void 0 : _l.wrapper.css(\"background-color\", selectedPickerBackgroundColor);\n }\n const players = filters.NbPlayers.value;\n if (players == null || players == \"\") {\n (_m = ScoreSheetFinder.playersPicker) === null || _m === void 0 ? void 0 : _m.value(\"\");\n (_o = ScoreSheetFinder.playersPicker) === null || _o === void 0 ? void 0 : _o.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_p = ScoreSheetFinder.playersPicker) === null || _p === void 0 ? void 0 : _p.wrapper.css(\"background-color\", unselectedPickerBackgroundColor);\n (_q = ScoreSheetFinder.playersPicker2) === null || _q === void 0 ? void 0 : _q.value(\"\");\n (_r = ScoreSheetFinder.playersPicker2) === null || _r === void 0 ? void 0 : _r.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_s = ScoreSheetFinder.playersPicker2) === null || _s === void 0 ? void 0 : _s.wrapper.css(\"background-color\", unselectedPickerBackgroundColor);\n }\n else {\n (_t = ScoreSheetFinder.playersPicker) === null || _t === void 0 ? void 0 : _t.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_u = ScoreSheetFinder.playersPicker) === null || _u === void 0 ? void 0 : _u.wrapper.css(\"background-color\", selectedPickerBackgroundColor);\n (_v = ScoreSheetFinder.playersPicker2) === null || _v === void 0 ? void 0 : _v.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_w = ScoreSheetFinder.playersPicker2) === null || _w === void 0 ? void 0 : _w.wrapper.css(\"background-color\", selectedPickerBackgroundColor);\n }\n const games = filters.NbGames.value;\n if (games == null || games == \"\") {\n (_x = ScoreSheetFinder.gamesPicker) === null || _x === void 0 ? void 0 : _x.value(\"\");\n (_y = ScoreSheetFinder.gamesPicker) === null || _y === void 0 ? void 0 : _y.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_z = ScoreSheetFinder.gamesPicker) === null || _z === void 0 ? void 0 : _z.wrapper.css(\"background-color\", unselectedPickerBackgroundColor);\n (_0 = ScoreSheetFinder.gamesPicker2) === null || _0 === void 0 ? void 0 : _0.value(\"\");\n (_1 = ScoreSheetFinder.gamesPicker2) === null || _1 === void 0 ? void 0 : _1.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_2 = ScoreSheetFinder.gamesPicker2) === null || _2 === void 0 ? void 0 : _2.wrapper.css(\"background-color\", unselectedPickerBackgroundColor);\n }\n else {\n (_3 = ScoreSheetFinder.gamesPicker) === null || _3 === void 0 ? void 0 : _3.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_4 = ScoreSheetFinder.gamesPicker) === null || _4 === void 0 ? void 0 : _4.wrapper.css(\"background-color\", selectedPickerBackgroundColor);\n (_5 = ScoreSheetFinder.gamesPicker2) === null || _5 === void 0 ? void 0 : _5.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_6 = ScoreSheetFinder.gamesPicker2) === null || _6 === void 0 ? void 0 : _6.wrapper.css(\"background-color\", selectedPickerBackgroundColor);\n }\n const rounds = filters.NbRounds.value;\n if (rounds == null || rounds == \"\") {\n (_7 = ScoreSheetFinder.roundsPicker) === null || _7 === void 0 ? void 0 : _7.value(\"\");\n (_8 = ScoreSheetFinder.roundsPicker) === null || _8 === void 0 ? void 0 : _8.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_9 = ScoreSheetFinder.roundsPicker) === null || _9 === void 0 ? void 0 : _9.wrapper.css(\"background-color\", unselectedPickerBackgroundColor);\n (_10 = ScoreSheetFinder.roundsPicker2) === null || _10 === void 0 ? void 0 : _10.value(\"\");\n (_11 = ScoreSheetFinder.roundsPicker2) === null || _11 === void 0 ? void 0 : _11.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_12 = ScoreSheetFinder.roundsPicker2) === null || _12 === void 0 ? void 0 : _12.wrapper.css(\"background-color\", unselectedPickerBackgroundColor);\n }\n else {\n (_13 = ScoreSheetFinder.roundsPicker) === null || _13 === void 0 ? void 0 : _13.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_14 = ScoreSheetFinder.roundsPicker) === null || _14 === void 0 ? void 0 : _14.wrapper.css(\"background-color\", selectedPickerBackgroundColor);\n (_15 = ScoreSheetFinder.roundsPicker2) === null || _15 === void 0 ? void 0 : _15.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_16 = ScoreSheetFinder.roundsPicker2) === null || _16 === void 0 ? void 0 : _16.wrapper.css(\"background-color\", selectedPickerBackgroundColor);\n }\n const basedOnRaceTo = filters.GameRowsAreDynamic.value;\n if (basedOnRaceTo) {\n setTimeout(() => {\n var _a, _b, _c;\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Checking race to switch\");\n }\n (_a = ScoreSheetFinder.raceToChip) === null || _a === void 0 ? void 0 : _a.select(true);\n (_b = ScoreSheetFinder.raceToChip) === null || _b === void 0 ? void 0 : _b.wrapper.find(\".k-input-value-text\").css(selectedTextStyle);\n (_c = ScoreSheetFinder.raceToSwitch) === null || _c === void 0 ? void 0 : _c.check(true);\n }, 100);\n }\n else {\n setTimeout(() => {\n var _a, _b, _c;\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Unchecking race to switch\");\n }\n (_a = ScoreSheetFinder.raceToChip) === null || _a === void 0 ? void 0 : _a.select(false);\n (_b = ScoreSheetFinder.raceToChip) === null || _b === void 0 ? void 0 : _b.wrapper.find(\".k-input-value-text\").css(unselectedTextStyle);\n (_c = ScoreSheetFinder.raceToSwitch) === null || _c === void 0 ? void 0 : _c.check(false);\n }, 100);\n }\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updated filters UI\");\n }\n }\n catch (error) {\n console.error(\"Error while updating filters UI\", error);\n }\n }\n static updateGrid() {\n try {\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"Updating grid\");\n }\n const { instance } = ScoreSheetFinder;\n const { ids, NbGames, NbPlayers, NbRounds, HasRaceTo, IsUserTemplate, IsForSingles, HasDoubles, Title, HasBreakLabels, HasWinBoxes, HasHandicap, HasFlawlessBox, HasFlawlessList, HasMoney, HasRoundPointModifier, HasTotalScoreModifier, Has8Ball, Has9Ball, Has10Ball, HasInnings, HasSpecial, HasPlayerRepeater, IsVertical, HasTotalsForVertical, GameRowsAreDynamic, } = instance.filters;\n const fieldsToUpdate = [\n NbGames,\n NbPlayers,\n NbRounds,\n HasRaceTo,\n IsUserTemplate,\n IsForSingles,\n HasDoubles,\n Title,\n HasBreakLabels,\n HasWinBoxes,\n HasHandicap,\n HasFlawlessBox,\n HasFlawlessList,\n HasMoney,\n HasRoundPointModifier,\n HasTotalScoreModifier,\n Has8Ball,\n Has9Ball,\n Has10Ball,\n HasInnings,\n HasSpecial,\n HasPlayerRepeater,\n IsVertical,\n HasTotalsForVertical,\n GameRowsAreDynamic,\n ];\n const fieldsToOperatorMap = {\n eventId: \"eq\",\n opponentType: \"eq\",\n NbPlayers: \"eq\",\n NbGames: \"eq\",\n NbRounds: \"eq\",\n IsForSingles: \"eq\",\n HasDoubles: \"eq\",\n IsUserTemplate: \"eq\",\n Title: \"contains\",\n rotations: \"eq\",\n advancedFilters: \"eq\",\n format: \"eq\",\n HasRaceTo: \"eq\",\n GameRowsAreDynamic: \"eq\",\n };\n const fieldsToDisableIfFalse = [\n HasRaceTo,\n IsUserTemplate,\n HasBreakLabels,\n HasWinBoxes,\n HasHandicap,\n HasFlawlessBox,\n HasFlawlessList,\n HasMoney,\n HasRoundPointModifier,\n HasTotalScoreModifier,\n Has8Ball,\n Has9Ball,\n Has10Ball,\n HasInnings,\n HasSpecial,\n HasPlayerRepeater,\n IsVertical,\n HasTotalsForVertical,\n GameRowsAreDynamic,\n ];\n const dataSource = ScoreSheetFinder.grid.dataSource;\n const filter = dataSource.filter();\n let newFilters = filter && (filter === null || filter === void 0 ? void 0 : filter.filters) && (filter === null || filter === void 0 ? void 0 : filter.filters.length)\n ? [...filter.filters]\n : [];\n fieldsToUpdate.forEach((item) => {\n var _a, _b;\n const shouldDisableIfFalse = fieldsToDisableIfFalse.filter((field) => field.name === item.name)[0] != null;\n if (shouldDisableIfFalse &&\n (item.value == false || ((_a = item.value) === null || _a === void 0 ? void 0 : _a.toString()) == \"false\")) {\n // Remove existing filter if the value is false\n newFilters = newFilters.filter((filter) => filter.field !== item.name);\n }\n else if (item.value == null || ((_b = item.value) === null || _b === void 0 ? void 0 : _b.toString()) == \"\") {\n // Remove existing filter if the value is null\n newFilters = newFilters.filter((filter) => filter.field !== item.name);\n }\n else {\n // Update/create filter if the value is not null\n const filter = newFilters.filter((filter) => filter.field === item.name)[0];\n // Parse number values\n const isNumber = typeof item.value !== \"boolean\" &&\n item.value != false &&\n item.value != true &&\n item.value != \"false\" &&\n item.value != \"true\" &&\n !isNaN(item.value);\n if (filter) {\n filter.value = isNumber ? Number(item.value) : item.value;\n }\n else {\n newFilters.push({\n field: item.name,\n operator: fieldsToOperatorMap[item.name],\n value: isNumber ? Number(item.value) : item.value,\n });\n }\n }\n });\n // Update the NbGames filter operator based on the GameRowsAreDynamic value\n const nbGamesFilter = newFilters.filter((filter) => filter.field === \"NbGames\");\n if (nbGamesFilter && nbGamesFilter.length) {\n nbGamesFilter[0].operator =\n GameRowsAreDynamic.value == true ? \"gte\" : \"eq\";\n }\n // Set the ids filter\n if (ids.value && ids.value.length) {\n const idsFilter = newFilters.filter((filter) => filter.field === \"Id\");\n if (idsFilter && idsFilter.length) {\n idsFilter[0].value = ids.value;\n idsFilter[0].operator = function (item) {\n return ids.value.indexOf(item) > -1;\n };\n }\n else {\n newFilters.push({\n field: \"Id\",\n operator: function (item) {\n return ids.value.indexOf(item) > -1;\n },\n value: ids.value,\n });\n }\n // enlève les filtre autre que Id pour éviter confusion quand scoresheet n'apparait pas\n newFilters = newFilters.filter((filter) => filter.field == \"Id\");\n }\n else {\n newFilters = newFilters.filter((filter) => filter.field !== \"Id\");\n }\n if (ScoreSheetFinder.instance.debug) {\n console.log(\"New filters, newFilters\", newFilters);\n }\n // Set the new filters\n ScoreSheetFinder.grid.dataSource.filter({\n logic: \"and\",\n filters: newFilters,\n });\n }\n catch (error) {\n console.error(\"Error while updating grid\", error);\n }\n }\n}\nclass ScoreSheet {\n constructor() { }\n static generateThumbnail(params) {\n try {\n const { scoreSheetId, callback, onUploadComplete } = params;\n const popup = new CompuSport.Controls.Popup();\n var data = {\n encounterTypeId: scoreSheetId,\n };\n popup.GetAndShow({\n PopupId: \"PreviewScoreSheetPopup\",\n Data: data,\n Url: CSParameters.RUrl +\n \"Scores/PreviewPopup/\" +\n CSParameters.SportEventId,\n AjaxCallType: CompuSport.Ajax.AjaxCallType.GET,\n });\n popup.OnContentLoaded = () => {\n setTimeout(() => {\n let me = this;\n const $scoreSheetContainer = popup.Content.find(\"#ScoreSheetContainerDiv\");\n if (!$scoreSheetContainer.length) {\n throw new Error(\"Score sheet container not found\");\n }\n $scoreSheetContainer.css(\"background-color\", \"black\");\n $scoreSheetContainer.css(\"padding\", \"8px\");\n let imgElements = $scoreSheetContainer.find('img');\n let promises = []; // Array to hold all promises for image loading and processing\n // Create a canvas element\n var imgCanvas = window.document.createElement('canvas');\n //Because the images are on another domain, we need to set the crossOrigin attribute to handle CORS and redownload the images\n imgElements.each((index, imgElement) => {\n // Create a promise for each image load and process\n let imgPromise = new Promise((resolve, reject) => {\n let newImg = new Image();\n newImg.crossOrigin = \"anonymous\"; // Set the crossOrigin attribute to handle CORS\n newImg.onload = () => {\n try {\n // Convert the image to Base64 once it is loaded\n imgCanvas.width = imgElement.naturalWidth;\n imgCanvas.height = imgElement.naturalHeight;\n // Draw the image onto the canvas\n var ctx = imgCanvas.getContext('2d');\n ctx.drawImage(imgElement, 0, 0);\n // Convert the canvas to a base64 string\n let base64image = imgCanvas.toDataURL('image/png'); // You can adjust the format\n // Create a clone of the current img element without copying its attributes (like 'src').\n let clonedImg = imgElement.cloneNode(false);\n clonedImg.src = base64image;\n // Replace the original img element with the cloned one in the DOM\n $(imgElement).replaceWith($(clonedImg));\n resolve(null); // Resolve the promise after processing is done\n }\n catch (e) {\n console.error(\"Failed to load image with crossOrigin set. \" + e);\n resolve(null); // Resolve the promise after processing is done\n }\n };\n newImg.onerror = (e) => {\n console.error(\"Failed to load image with crossOrigin set. \" + e);\n resolve(null); // Resolve the promise after processing is done\n };\n // Set the source last to ensure the load event can be caught\n newImg.src = imgElement.src;\n });\n promises.push(imgPromise); // Add the promise to the array\n });\n Promise.all(promises).then(() => {\n console.log(\"All images have been loaded and transformed to Base64.\");\n let options = {};\n options.onclone = (document) => {\n $(document).find('img').attr('crossOrigin', 'anonymous');\n };\n html2canvas($scoreSheetContainer[0], options).then((canvas) => {\n document.body.appendChild(canvas);\n canvas.style.display = \"none\";\n setTimeout(() => {\n if (callback) {\n const imageDataUrl = canvas.toDataURL(\"image/png\");\n popup.Close();\n popup.OnClosed = () => {\n setTimeout(() => {\n callback(imageDataUrl, canvas);\n }, 250);\n };\n }\n else {\n const dataImage = canvas\n .toDataURL(\"image/png\")\n .replace(/^data:image\\/(png|jpg);base64,/, \"\");\n const data = {\n data: JSON.stringify({\n ImageType: \"png\",\n Base64: dataImage,\n ScoreSheetId: scoreSheetId,\n }),\n };\n CompuSport.Ajax.Post(\"/ScoreSheet/UploadScoreSheetThumbnail/\", data, function (result) {\n popup.Close();\n const popupNotificationElement = $(``);\n $(\"body\").append(popupNotificationElement);\n const popupNotification = popupNotificationElement\n .kendoNotification({\n position: {\n bottom: 150,\n left: 100,\n },\n })\n .data(\"kendoNotification\");\n popupNotification.show(`Thumbnail for score sheet ${scoreSheetId} updated successfully!`, \"success\");\n const $popupNotification = $(\"#popupNotification\");\n const width = $popupNotification.width();\n const windowWidth = $(window).width();\n const left = (windowWidth - width) / 2;\n $popupNotification.css(\"left\", left);\n setTimeout(() => {\n $popupNotification === null || $popupNotification === void 0 ? void 0 : $popupNotification.remove();\n }, 3000);\n });\n }\n }, 250);\n });\n });\n }, 250);\n };\n }\n catch (error) {\n console.error(\"Error while previewing score sheet\", error);\n }\n }\n}\n\n//# sourceMappingURL=ScoreSheetFinder.js.map\n"]}