{"version":3,"file":"tinder.min.js","sources":["https:\/\/moodle.sonsbeekmedia.nl\/caie_test\/mod\/teachingtools\/teachingapp\/swipe\/amd\/src\/tinder.js"],"sourcesContent":["\/*\n * jTinder v.1.0.0\n * https:\/\/github.com\/do-web\/jTinder\n * Requires jQuery 1.7+, jQuery transform2d\n *\n * Copyright (c) 2014, Dominik Weber\n * Licensed under GPL Version 2.\n * https:\/\/github.com\/do-web\/jTinder\/blob\/master\/LICENSE\n *\/\n\n\/* eslint-disable *\/\ndefine([\"jquery\", \".\/transform\"], \/\/ Require jquery\n function($, _){\n\n\tvar pluginName = \"jTinder\",\n\t\tdefaults = {\n\t\t\tonDislike: null,\n\t\t\tonLike: null,\n\t\t\tonSwipeDone: null,\n\t\t\tanimationRevertSpeed: 200,\n\t\t\tanimationSpeed: 400,\n\t\t\tthreshold: 1,\n\t\t\tlikeSelector: '.like',\n\t\t\tdislikeSelector: '.dislike',\n\t\t\tactionsSelector: '[data-region=\"cardactions\"]',\n\t\t\tcommentsRegion: '.card-comments .card-comment-item',\n\t\t\tariaAnnounceRegion: '[data-region=\"aria-enhancement\"]'\n\t\t};\n\n\tvar container = null;\n\tvar panes = null;\n\tvar $that = null;\n\tvar xStart = 0;\n\tvar yStart = 0;\n\tvar touchStart = false;\n\tvar posX = 0, posY = 0, lastPosX = 0, lastPosY = 0, pane_width = 0, pane_count = 0, current_pane = 0;\n\n\tfunction Plugin(element, options) {\n\t\tthis.element = element;\n\t\tthis.settings = $.extend({}, defaults, options);\n\t\tthis._defaults = defaults;\n\t\tthis._name = pluginName;\n\t\tthis.init(element);\n\t}\n\n\tPlugin.prototype = {\n\n\n\t\tinit: function (element) {\n\n\t\t\tcontainer = $(\">ul\", element);\n\t\t\tpanes = $(\">ul>li\", element);\n\t\t\tpane_width = container.width();\n\t\t\tpane_count = panes.length;\n\t\t\tcurrent_pane = panes.length - 1;\n\t\t\tvar current_id = $(panes[current_pane]).attr('data-card-id');\n\t\t\t$that = this;\n\t\t\t$($that.settings.actionsSelector).attr('data-current-card', current_id);\n\t\t\t$(element).bind('touchstart mousedown', this.handler);\n\t\t\t$(element).bind('touchmove mousemove', this.handler);\n\t\t\t$(element).bind('touchend mouseup', this.handler);\n\t\t},\n\n\t\tshowPane: function (index) {\n\n\t\t\tpanes.eq(current_pane).hide();\n\t\t\tcurrent_pane = index;\n\t\t\t\/\/ Announce the new current card.\n\t\t\tvar next_pane = panes.eq(current_pane);\n\t\t\tif($that.settings.onSwipeDone && next_pane.length > 0) {\n\t\t\t\t$that.settings.onSwipeDone(next_pane);\n\t\t\t}\n\t\t},\n\n\t\tnext: function () {\n\t\t\t$($that.settings.commentsRegion).each(function(data, element) {\n\t\t\t\t$(element).addClass('hidden')\n\t\t\t});\n\t\t\tvar current_id = $(panes[current_pane - 1]).attr('data-card-id');\n\t\t\t$($that.settings.actionsSelector).attr('data-current-card', current_id);\n\t\t\treturn this.showPane(current_pane - 1);\n\t\t},\n\n\t\tdislike: function() {\n\t\t\tcard = panes.eq(current_pane);\n\t\t\t$(card).animate({\"transform\": \"translate(-\" + (pane_width) + \"px,\" + (pane_width*-1.5) + \"px) rotate(-60deg)\"}, $that.settings.animationSpeed, function () {\n\t\t\t\tif($that.settings.onDislike) {\n\t\t\t\t\t$that.settings.onDislike(panes.eq(current_pane));\n\t\t\t\t}\n\t\t\t\t$that.next();\n\t\t\t});\n\t\t},\n\n\t\tlike: function() {\n\t\t\tpanes.eq(current_pane).animate({\"transform\": \"translate(\" + (pane_width) + \"px,\" + (pane_width*-1.5) + \"px) rotate(60deg)\"}, $that.settings.animationSpeed, function () {\n\t\t\t\tif($that.settings.onLike) {\n\t\t\t\t\t$that.settings.onLike(panes.eq(current_pane));\n\t\t\t\t}\n\t\t\t\t$that.next();\n\t\t\t});\n\t\t},\n\n\t\thandler: function (ev) {\n\t\t\tev.preventDefault();\n\n\t\t\tswitch (ev.type) {\n\t\t\t\tcase 'touchstart':\n\t\t\t\t\tif(touchStart === false) {\n\t\t\t\t\t\ttouchStart = true;\n\t\t\t\t\t\txStart = ev.originalEvent.touches[0].pageX;\n\t\t\t\t\t\tyStart = ev.originalEvent.touches[0].pageY;\n\t\t\t\t\t}\n\t\t\t\tcase 'mousedown':\n\t\t\t\t\tif(touchStart === false) {\n\t\t\t\t\t\ttouchStart = true;\n\t\t\t\t\t\txStart = ev.pageX;\n\t\t\t\t\t\tyStart = ev.pageY;\n\t\t\t\t\t}\n\t\t\t\tcase 'mousemove':\n\t\t\t\tcase 'touchmove':\n\t\t\t\t\tif(touchStart === true) {\n\t\t\t\t\t\tvar pageX = typeof ev.pageX == 'undefined' ? ev.originalEvent.touches[0].pageX : ev.pageX;\n\t\t\t\t\t\tvar pageY = typeof ev.pageY == 'undefined' ? ev.originalEvent.touches[0].pageY : ev.pageY;\n\t\t\t\t\t\tvar deltaX = parseInt(pageX) - parseInt(xStart);\n\t\t\t\t\t\tvar deltaY = parseInt(pageY) - parseInt(yStart);\n\t\t\t\t\t\tvar percent = ((100 \/ pane_width) * deltaX) \/ pane_count;\n\t\t\t\t\t\tposX = deltaX + lastPosX;\n\t\t\t\t\t\tposY = deltaY + lastPosY;\n\n\t\t\t\t\t\tpanes.eq(current_pane).css(\"transform\", \"translate(\" + posX + \"px,\" + posY + \"px) rotate(\" + (percent \/ 2) + \"deg)\");\n\n\t\t\t\t\t\tvar opa = (Math.abs(deltaX) \/ $that.settings.threshold) \/ 100 + 0.2;\n\t\t\t\t\t\tif(opa > 1.0) {\n\t\t\t\t\t\t\topa = 1.0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (posX >= 0) {\n\t\t\t\t\t\t\tpanes.eq(current_pane).find($that.settings.likeSelector).css('opacity', opa);\n\t\t\t\t\t\t\tpanes.eq(current_pane).find($that.settings.dislikeSelector).css('opacity', 0);\n\t\t\t\t\t\t} else if (posX < 0) {\n\n\t\t\t\t\t\t\tpanes.eq(current_pane).find($that.settings.dislikeSelector).css('opacity', opa);\n\t\t\t\t\t\t\tpanes.eq(current_pane).find($that.settings.likeSelector).css('opacity', 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'mouseup':\n\t\t\t\tcase 'touchend':\n\t\t\t\t\ttouchStart = false;\n\t\t\t\t\tvar pageX = (typeof ev.pageX == 'undefined') ? ev.originalEvent.changedTouches[0].pageX : ev.pageX;\n\t\t\t\t\tvar pageY = (typeof ev.pageY == 'undefined') ? ev.originalEvent.changedTouches[0].pageY : ev.pageY;\n\t\t\t\t\tvar deltaX = parseInt(pageX) - parseInt(xStart);\n\t\t\t\t\tvar deltaY = parseInt(pageY) - parseInt(yStart);\n\n\t\t\t\t\tposX = deltaX + lastPosX;\n\t\t\t\t\tposY = deltaY + lastPosY;\n\t\t\t\t\tvar opa = Math.abs((Math.abs(deltaX) \/ $that.settings.threshold) \/ 100 + 0.2);\n\n\t\t\t\t\tif (opa >= 1) {\n\t\t\t\t\t\tif (posX > 0) {\n\t\t\t\t\t\t\tpanes.eq(current_pane).animate({\"transform\": \"translate(\" + (pane_width) + \"px,\" + (posY + pane_width) + \"px) rotate(60deg)\"}, $that.settings.animationSpeed, function () {\n\t\t\t\t\t\t\t\tif($that.settings.onLike) {\n\t\t\t\t\t\t\t\t\t$that.settings.onLike(panes.eq(current_pane));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$that.next();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpanes.eq(current_pane).animate({\"transform\": \"translate(-\" + (pane_width) + \"px,\" + (posY + pane_width) + \"px) rotate(-60deg)\"}, $that.settings.animationSpeed, function () {\n\t\t\t\t\t\t\t\tif($that.settings.onDislike) {\n\t\t\t\t\t\t\t\t\t$that.settings.onDislike(panes.eq(current_pane));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$that.next();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlastPosX = 0;\n\t\t\t\t\t\tlastPosY = 0;\n\t\t\t\t\t\tpanes.eq(current_pane).animate({\"transform\": \"translate(0px,0px) rotate(0deg)\"}, $that.settings.animationRevertSpeed);\n\t\t\t\t\t\tpanes.eq(current_pane).find($that.settings.likeSelector).animate({\"opacity\": 0}, $that.settings.animationRevertSpeed);\n\t\t\t\t\t\tpanes.eq(current_pane).find($that.settings.dislikeSelector).animate({\"opacity\": 0}, $that.settings.animationRevertSpeed);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\t$.fn[ pluginName ] = function (options) {\n\t\tthis.each(function () {\n\t\t\tif (!$.data(this, \"plugin_\" + pluginName)) {\n\t\t\t\t$.data(this, \"plugin_\" + pluginName, new Plugin(this, options));\n\t\t\t}\n\t\t\telse if ($.isFunction(Plugin.prototype[options])) {\n\t\t\t\t$.data(this, 'plugin_' + pluginName)[options]();\n\t\t }\n\t\t});\n\n\t\treturn this;\n\t};\n\n});\n\/* eslint-enable *\/"],"names":["define","$","_","defaults","onDislike","onLike","onSwipeDone","animationRevertSpeed","animationSpeed","threshold","likeSelector","dislikeSelector","actionsSelector","commentsRegion","ariaAnnounceRegion","container","panes","$that","xStart","yStart","touchStart","posX","posY","lastPosX","lastPosY","pane_width","pane_count","current_pane","Plugin","element","options","settings","extend","_defaults","_name","init","prototype","width","length","current_id","attr","this","bind","handler","showPane","index","eq","hide","next_pane","next","each","data","addClass","dislike","card","animate","like","ev","preventDefault","type","originalEvent","touches","pageX","pageY","deltaX","parseInt","deltaY","percent","css","opa","Math","abs","find","changedTouches","fn","isFunction"],"mappings":"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"}