{"version":3,"sources":["../../es6/Intervals.js"],"names":["Intervals","intervalsPerHour","week","activatedRules","intervalValue","aZeitenFeiertag","AZeitenFT","intervalsPerWeek","A","B","D","C","P","X","intervalsPerDay","oldIntervals","weekdays","isCalculated","breakDeduction","breakDeductionPerDay","_calcIntervals","wishes","i","length","weekday","j","wish","value","day","document","getElementById","oldWishes","intervalleProTag","minimumBreakTimeRule","MinimumBreakTimeRules","dayNr","_calcIntervalsPerDay","_calcBreakDeduction","_calcOldIntervals","k","_isFeiertag","_isAbsence","dayBreakDeduction","calcSubtractionFromHourRules","tagid","tagstatus","getAttribute"],"mappings":"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","sourcesContent":["class Intervals{\r\n constructor(intervalsPerHour, week, activatedRules){\r\n this.week = week;\r\n this.intervalsPerHour = intervalsPerHour;\r\n this.intervalValue = (intervalsPerHour == 2 ? 30:15);\r\n this.activatedRules = activatedRules;\r\n this.aZeitenFeiertag = (activatedRules.AZeitenFT = 1);\r\n this.intervalsPerWeek = {A: 0, B: 0, D: 0, C:0, P: 0, X:0};\r\n this.intervalsPerDay = {\"mo\": {A: 0, B: 0, D: 0, C:0, P: 0, X:0},\r\n \"di\": {A: 0, B: 0, D: 0, C:0, P: 0, X:0},\r\n \"mi\": {A: 0, B: 0, D: 0, C:0, P: 0, X:0},\r\n \"do\": {A: 0, B: 0, D: 0, C:0, P: 0, X:0},\r\n \"fr\": {A: 0, B: 0, D: 0, C:0, P: 0, X:0},\r\n \"sa\": {A: 0, B: 0, D: 0, C:0, P: 0, X:0},\r\n \"so\": {A: 0, B: 0, D: 0, C:0, P: 0, X:0}};\r\n this.oldIntervals = {\"mo\": {A: 0, B: 0},\r\n \"di\": {A: 0, B: 0},\r\n \"mi\": {A: 0, B: 0},\r\n \"do\": {A: 0, B: 0},\r\n \"fr\": {A: 0, B: 0},\r\n \"sa\": {A: 0, B: 0},\r\n \"so\": {A: 0, B: 0}};\r\n this.weekdays = [\"mo\", \"di\", \"mi\", \"do\", \"fr\", \"sa\", \"so\"];\r\n this.isCalculated = false;\r\n this.breakDeduction = 0;\r\n this.breakDeductionPerDay = {\"mo\": 0,\r\n \"di\": 0,\r\n \"mi\": 0,\r\n \"do\": 0,\r\n \"fr\": 0,\r\n \"sa\": 0,\r\n \"so\": 0};\r\n }\r\n\r\n getIntervalsPerDay(){\r\n if(!this.isCalculated) {\r\n this._calcIntervals();\r\n }\r\n return this.intervalsPerDay;\r\n }\r\n\r\n getIntervalsPerWeek(){\r\n if(!this.isCalculated) {\r\n this._calcIntervals();\r\n }\r\n return this.intervalsPerWeek;\r\n }\r\n\r\n getOldIntervals(){\r\n if(!this.isCalculated) {\r\n this._calcIntervals();\r\n }\r\n return this.oldIntervals;\r\n }\r\n\r\n getAbzug(){\r\n if(!this.isCalculated) {\r\n this._calcIntervals();\r\n }\r\n return this.breakDeduction;\r\n }\r\n\r\n setIntervals(){\r\n let wishes = [\"A\", \"B\", \"P\"];\r\n for(let i = 0; i < this.weekdays.length; i++ ){\r\n let weekday = this.weekdays[i];\r\n for(let j = 0; j < wishes.length; j++ ){\r\n let wish = wishes[j];\r\n let value = 0;\r\n if(wish === \"P\"){\r\n value = this.intervalsPerDay[weekday][wish] + this.breakDeductionPerDay[weekday];\r\n }else{\r\n value = this.intervalsPerDay[weekday][wish];\r\n }\r\n let day = i + 1;\r\n document.getElementById(\"w\" + this.week + \"_\" + day + wish).value = value / this.intervalsPerHour;\r\n }\r\n }\r\n }\r\n\r\n _calcIntervals(){\r\n let oldWishes = [\"A\", \"B\"];\r\n let intervalleProTag = 24 * this.intervalsPerHour;\r\n let minimumBreakTimeRule = new MinimumBreakTimeRules(this.activatedRules);\r\n\r\n for(let i = 0; i < this.weekdays.length; i++){\r\n let dayNr = i +1;\r\n let weekday = this.weekdays[i];\r\n\r\n this._calcIntervalsPerDay(dayNr, intervalleProTag, weekday);\r\n this._calcBreakDeduction(minimumBreakTimeRule, weekday);\r\n this._calcOldIntervals(oldWishes, i, dayNr);\r\n }\r\n\r\n this.isCalculated = true;\r\n }\r\n\r\n _calcOldIntervals(oldWishes, i, dayNr) {\r\n for (let k = 0; k < oldWishes.length; k++) {\r\n this.oldIntervals[this.weekdays[i]][oldWishes[k]] = document.getElementById(\"w\" + this.week + \"_\" + dayNr + oldWishes[k]).value;\r\n }\r\n }\r\n\r\n _calcIntervalsPerDay(dayNr, intervalleProTag, weekday) {\r\n if (!this._isFeiertag(dayNr, this.aZeitenFeiertag) && !this._isAbsence(dayNr)) {\r\n for (let j = 0; j <= (intervalleProTag - 1); j++) {\r\n let wish = document.getElementById(\"w\" + this.week + \"_\" + weekday + j).value;\r\n this.intervalsPerDay[weekday][wish]++;\r\n this.intervalsPerWeek[wish]++;\r\n }\r\n }\r\n\r\n }\r\n\r\n _calcBreakDeduction(minimumBreakTimeRule, weekday) {\r\n let dayBreakDeduction = minimumBreakTimeRule.calcSubtractionFromHourRules(this.intervalsPerDay[weekday][\"A\"] * this.intervalValue, this.intervalsPerDay[weekday][\"P\"] * this.intervalValue);\r\n this.breakDeduction += dayBreakDeduction;\r\n this.breakDeductionPerDay[weekday] = dayBreakDeduction / this.intervalValue;\r\n }\r\n\r\n _isFeiertag(dayNr) {\r\n let tagid = document.getElementById(\"w\" + this.week + \"_tagname\" + dayNr);\r\n let tagstatus = tagid.getAttribute('data-tagstatus');\r\n if (this.aZeitenFeiertag === 1) {\r\n if (tagstatus === \"isHoliday\") {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n _isAbsence(dayNr) {\r\n let tagid = document.getElementById(\"w\" + this.week + \"_tagname\" + dayNr);\r\n let tagstatus = tagid.getAttribute('data-tagstatus');\r\n\r\n return tagstatus === \"isAbsence\";\r\n }\r\n\r\n}"],"file":"Intervals.js"}