{"version":3,"sources":["jquery.data-remote.js"],"names":[],"mappings":"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","file":"jquery.data-remote.js","sourcesContent":["/**\n * jQuery Data Remote Plugin\n * http://github.com/codfish/jquery-dataremote\n * Copyright 2014-2015, Chris O'Donnell\n *\n * jQuery plugin that simplifies the common task of making api/remote requests\n * and injecting the response to the page. Optionally leverages templating\n * engines (handlebars). Inpired by ruby on rails' unobtrusive scripting adapter\n * for jQuery (https://github.com/rails/jquery-ujs).\n */\n;(function ($, window, undefined) {\n \"use strict\";\n\n $.fn.dataRemote = function(options = {}) {\n // Default Settings\n var defaults = {\n url: null, // request url\n data: {}, // request data\n debug: false,\n eventType: 'load', // js event type to fire data request on (load, click, submit, mouseover, custom, etc.)\n dataType: 'json', // data type that's expected in response from your request\n type: 'GET', // type of request (currently only supports GET)\n target: '', // selector of the element where you want your response injected\n handlebars: false, // use handlebars to render the response?\n template: '', // handlebar template selector. by default it will look inside target\n placement: 'html', // where to inject response relative to target (jquery DOM insertion methods )\n loaderImg: null, // target selector for data response\n oneAndDone: true, // whether to remove the event binding after the first time running\n debounceEvents: ['keyup', 'keydown', 'keypress', 'scroll', 'resize'],\n success: successCallback, // gets passed 3 parameters ($target, options, response)\n error: errorCallback, // gets passed 4 parameters ($target, options, response, error)\n complete: () => {}, // callback fires after the request is made (on success OR error)\n before: () => {} // callback fires directly before the request is made\n };\n\n // Extend our default options with those provided when instantiating\n options = $.extend({}, defaults, options);\n\n /**\n * Default success callback for ajax requests.\n *\n * Handles hiding of loader image, debugging (if option is set),\n * and handling the ajax requests' response (levering handlebars if option\n * is set or handlebars template is found inside the target element).\n *\n * @param {jQuery} $target jquery object containing the target element for the ajax response\n * @param {object} options plugin options set during instantiation\n * @param {object} response data response from the ajax request\n */\n function successCallback($target, options, response) {\n var source;\n var template;\n var html;\n var $template;\n\n $target.find('.loader-image').hide();\n\n if (options.debug) {\n $.fn.dataRemote.debug($target, response);\n }\n\n // Use handlebars if the option is set to true *or* if a handlebars template is found\n if (options.handlebars !== false || $target.find('[type=\"text/x-handlebars-template\"]').length) {\n $template = options.template ? $(options.template) : $target.find('[type=\"text/x-handlebars-template\"]');\n source = $template.html();\n template = Handlebars.compile(source);\n html = template(response);\n } else {\n html = response;\n }\n\n // use proper jQuery method based on append option\n // if append == true, append results to target element,\n // or else replace inner html with results\n var validPlacements = ['html', 'append', 'prepend', 'after', 'before'];\n var placementIsValid = validPlacements.indexOf(options.placement) !== -1;\n if (!placementIsValid) {\n return;\n }\n $target[options.placement](html);\n }\n\n /**\n * Default error callback for ajax requests\n *\n * Hides the loader image, triggers debugging if it's turned on.\n *\n * @param {jQuery} $target jquery object containing the target element for the ajax response\n * @param {object} options plugin options set during instantiation\n * @param {object} response data response from the ajax request\n * @param {string} error textual portion of the HTTP status, i.e. \"Not Found\" or \"Internal Server Error.\"\n */\n function errorCallback($target, options, response, error) {\n $target.find('.loader-image').hide();\n\n if (options.debug) {\n $.fn.dataRemote.debug($target, response, error);\n }\n }\n\n /**\n * Private helper method for debounce\n *\n * @param [function] func function to debounce\n * @param [integer] wait amount of time to wait between events\n * @param [boolean] immediate cancels the debounce if True\n * @return [function] function function with debounce wrapper\n */\n function debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n /**\n * Private helper method for making the ajax request\n *\n * @param {object} url request url\n * @param {object} settings additional settings for the request\n * {\n * @param {jQuery} element jQuery object containing the current data remote element\n * @param {object} options data remote plugin options for current data remote element\n * @param {jQuery} $target jQuery object containing the target element to inject response\n * }\n * @return {void}\n */\n function fetch(url, settings) {\n var $element = settings.element;\n var $target = settings.target;\n var options = settings.options;\n\n // display loader image while retrieving content\n if (options.loaderImg) {\n $target.prepend(`\n