{"version":3,"sources":["wwwroot/js/ContextControls/AddSchedulesDates/Script/AddSchedulesDates.js"],"names":["CompuSport","window","GUID_d4161f39_16fb_423c_aec0_ef24b81b1170","getGuid","ContextControls","AddSchedulesDates","Show","groupId","me","this","data","Ajax","Get","ActionUrl","response","refreshHtml","DiscoverUI","$container","$","$schedulesTableContainer","$btnClose","find","$startOn","$endOn","$nbTimesPerNight","$btnReserveDates","$atTime","$matchLenghtMinutes","CSDatePicker","CSTimePicker","EventToTrigger","BindEvents","on","PreviewGeneratedDates","slideUp","remove","toggleClass","parentRow","closest","groupid","rowId","Post","$this","$cell","hasClass","cellData","GetCellData","reserverd","addClass","Controls","Popup","ShowInputDialogV2","inputValue","accepted","includeExcludeCell","flowBlockId","removeClass","e","key","event","keyCode","which","type","prop","descCellData","saveNewDescription","inputtedText","controlIsLoaded","dropDown","$endOnDropDown","SelectionChange","element","cell","inputText","length","html","trim","description","deleteRowId","Lag","generationParameters","startOn","val","endOn","GetSelectedItemValue","nbTimesPerNight","parseInt","iterations","ExtractIterationsPerFlowBlock","matchLenghtMinutes","CheckIfParametersAreDifferents","lastGenerationParameters","inputs","result","each","checked","value","fb","reservationMode","tempScrollLeft","tempScrollTop","scrollLeft","scrollTop","CS","body","append","url","CSParameters","BaseUrl","SportEventId","toString"],"mappings":"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","file":"addschedulesdates.min.js","sourcesContent":["(function() { window.GUID_d4161f39_16fb_423c_aec0_ef24b81b1170 = { getGuid: function() { return \"d4161f39-16fb-423c-aec0-ef24b81b1170\"; } }; })();\nvar CompuSport;\n(function (CompuSport) {\n var ContextControls;\n (function (ContextControls) {\n class AddSchedulesDates {\n Show(groupId) {\n let me = this;\n let data = {\n groupId: groupId\n };\n CompuSport.Ajax.Get(this.ActionUrl(\"Show\"), data, function (response) {\n me.refreshHtml(response);\n });\n }\n DiscoverUI() {\n let me = this;\n me.$container = $('#add-schedules-dates-container');\n me.$schedulesTableContainer = $('.schedules-table-container');\n me.groupId = me.$container.data('groupid');\n me.groupId = me.$container.data('groupid');\n me.$btnClose = me.$container.find('.btn-close-main');\n me.$startOn = me.$container.find('#startOn');\n me.$endOn = me.$container.find('#endOn');\n me.$nbTimesPerNight = me.$container.find('#nb-times-per-night');\n me.$btnReserveDates = me.$container.find('.btn-reserve-dates');\n me.$atTime = me.$container.find('#atTime');\n me.$matchLenghtMinutes = me.$container.find('#match-length-minutes');\n me.$startOn.CSDatePicker();\n me.$atTime.CSTimePicker();\n me.$atTime.data('context').EventToTrigger = \"change\";\n }\n BindEvents() {\n let me = this;\n me.$startOn.on('change', function () {\n me.PreviewGeneratedDates();\n });\n me.$btnClose.on('click', function () {\n me.$container.slideUp(250, function () {\n me.$container.remove();\n });\n });\n me.$btnReserveDates.on('click', function () {\n me.$container.toggleClass('reservation-mode');\n });\n me.$container.on('click', '.btn-delete-date', function () {\n let parentRow = $(this).closest('.date-row');\n let data = {\n groupid: me.groupId,\n rowId: parentRow.data('rowid')\n };\n CompuSport.Ajax.Post(me.ActionUrl(\"DeleteUndeleteRow\"), data, function (response) {\n if (response != \"\") {\n me.refreshHtml(response);\n }\n });\n }).on('click', '.ic-cs-lock,.ic-cs-unlock', function () {\n let $this = $(this);\n let $cell = $this.closest('td');\n if (me.$container.hasClass('reservation-mode')) {\n let cellData = me.GetCellData($this);\n let askReservationDescription = !cellData.reserverd;\n if (askReservationDescription) {\n $cell.addClass('highlighted');\n CompuSport.Controls.Popup.ShowInputDialogV2(\"Description\", true, function (inputValue, accepted) {\n if (accepted) {\n me.includeExcludeCell(cellData.rowId, cellData.flowBlockId, inputValue);\n }\n else {\n $cell.removeClass('highlighted');\n }\n });\n }\n else {\n me.includeExcludeCell(cellData.rowId, cellData.flowBlockId, null);\n }\n }\n }).on('change keyup', '.nb-iterations,.endon-choice,.iteration-choice,#match-length-minutes,#nb-times-per-night,#atTime', function (e) {\n let key = window.event ? e.keyCode : e.which;\n if (e.type == \"keyup\" && key != 13) {\n return;\n }\n me.PreviewGeneratedDates();\n }).on('click', '.nb-iterations', function () {\n let radio = $(this).closest('.choice').find('input[type=radio]');\n radio.prop('checked', true);\n }).on('click', '.description', function () {\n if (me.$container.hasClass('reservation-mode')) {\n let $this = $(this);\n let descCellData = me.GetCellData($this);\n CompuSport.Controls.Popup.ShowInputDialogV2(\"Description\", true, function (inputValue, accepted) {\n if (accepted) {\n me.saveNewDescription(descCellData.rowId, descCellData.flowBlockId, inputValue);\n }\n }, descCellData.inputtedText);\n }\n });\n this.$endOn.controlIsLoaded(function (dropDown) {\n me.$endOnDropDown = dropDown;\n dropDown.SelectionChange = function () {\n me.PreviewGeneratedDates();\n };\n });\n }\n GetCellData(element) {\n let cell = element.closest('td');\n let parentRow = cell.closest('.date-row');\n let inputtedText = cell.find('.inputted-text');\n let inputText = \"\";\n if (inputtedText.length > 0) {\n inputText = inputtedText.html().trim();\n }\n return {\n rowId: parentRow.data('rowid'),\n flowBlockId: cell.data('fb'),\n inputtedText: inputText,\n reserverd: cell.hasClass('reserved')\n };\n }\n includeExcludeCell(rowId, flowBlockId, description) {\n let me = this;\n let data = {\n groupId: me.groupId,\n rowId: rowId,\n flowBlockId: flowBlockId,\n description: description\n };\n CompuSport.Ajax.Post(me.ActionUrl(\"IncludeExcludeCell\"), data, function (response) {\n me.refreshHtml(response);\n });\n }\n saveNewDescription(rowId, flowBlockId, description) {\n let me = this;\n let data = {\n groupId: me.groupId,\n rowId: rowId,\n flowBlockId: flowBlockId,\n description: description\n };\n CompuSport.Ajax.Post(me.ActionUrl(\"SaveNewDescription\"), data, function (response) {\n me.refreshHtml(response);\n });\n }\n PreviewGeneratedDates(deleteRowId) {\n let me = this;\n CompuSport.Lag(500, function () {\n let generationParameters = {\n groupId: me.groupId,\n startOn: me.$startOn.val() + \" \" + me.$atTime.val(),\n endOn: me.$endOnDropDown.GetSelectedItemValue(\"datestr\"),\n nbTimesPerNight: parseInt(me.$nbTimesPerNight.val()),\n iterations: me.ExtractIterationsPerFlowBlock(),\n matchLenghtMinutes: me.$matchLenghtMinutes.val(),\n deleteRowId: deleteRowId\n };\n if (me.CheckIfParametersAreDifferents(generationParameters)) {\n me.lastGenerationParameters = generationParameters;\n CompuSport.Ajax.Post(me.ActionUrl(\"PreviewGeneratedDates\"), generationParameters, function (response) {\n me.refreshHtml(response);\n });\n }\n });\n }\n ExtractIterationsPerFlowBlock() {\n let inputs = this.$container.find('.nb-iterations');\n let result = '';\n $.each(inputs, function () {\n let $this = $(this);\n let parent = $this.closest('.flowblock-iterations-choices');\n let iterationChoice = parent.find('.iteration-choice');\n if (iterationChoice[0].checked == true) {\n let value = $this.val();\n let fb = $this.data('fb');\n result += fb + ',' + value + '|';\n }\n });\n return result;\n }\n CheckIfParametersAreDifferents(generationParameters) {\n return this.lastGenerationParameters == null ||\n this.lastGenerationParameters.groupId != generationParameters.groupId ||\n this.lastGenerationParameters.startOn != generationParameters.startOn ||\n this.lastGenerationParameters.endOn != generationParameters.endOn ||\n this.lastGenerationParameters.deleteRowId != generationParameters.deleteRowId ||\n this.lastGenerationParameters.iterations != generationParameters.iterations ||\n this.lastGenerationParameters.nbTimesPerNight != generationParameters.nbTimesPerNight ||\n this.lastGenerationParameters.matchLenghtMinutes != generationParameters.matchLenghtMinutes;\n }\n refreshHtml(response) {\n let reservationMode = false;\n var tempScrollLeft = 0;\n var tempScrollTop = 0;\n if (this.$container != null && this.$container.length > 0) {\n reservationMode = this.$container.hasClass('reservation-mode');\n tempScrollLeft = this.$schedulesTableContainer.scrollLeft();\n tempScrollTop = this.$schedulesTableContainer.scrollTop();\n this.$container.remove();\n }\n CS.body.append(response);\n this.DiscoverUI();\n this.BindEvents();\n this.$schedulesTableContainer.scrollLeft(tempScrollLeft);\n this.$schedulesTableContainer.scrollTop(tempScrollTop);\n if (reservationMode) {\n this.$container.addClass('reservation-mode');\n }\n }\n ActionUrl(url) {\n return (CSParameters.BaseUrl + \"AddSchedulesDates/\" + url + \"/\" + CSParameters.SportEventId.toString());\n }\n }\n ContextControls.AddSchedulesDates = AddSchedulesDates;\n })(ContextControls = CompuSport.ContextControls || (CompuSport.ContextControls = {}));\n})(CompuSport || (CompuSport = {}));\n\n//# sourceMappingURL=AddSchedulesDates.js.map\n"]}