"
- },
-
- /**
- * Build the proper message box
- *
- * @param {Object} item Current object in the queue
- *
- * @return {String} An HTML string of the message box
- */
- build: function(item) {
-
- var btnTxt = this.dialogs.buttons.ok;
- var html = "
");d.asScrollbar(b),this.options.showOnHover&&d.addClass(this.classes.barHide),d.appendTo(this.$wrap),this["$"+a]=d,this.$bar=null===this.$bar?d:this.$bar.add(d),this.updateBarHandle(a)},trigger:function(a){var b=Array.prototype.slice.call(arguments,1),c=[this].concat(b);this.$element.trigger(j+"::"+a,c),a=a.replace(/\b\w+\b/g,function(a){return a.substring(0,1).toUpperCase()+a.substring(1)});var d="on"+a;"function"==typeof this.options[d]&&this.options[d].apply(this,b)},is:function(a){return this._states[a]&&this._states[a]>0},enter:function(a){this._states[a]===e&&(this._states[a]=0),this._states[a]++},leave:function(a){this._states[a]--},eventName:function(a){if("string"!=typeof a||""===a)return"."+this.options.namespace;a=a.split(" ");for(var b=a.length,c=0;b>c;c++)a[c]=a[c]+"."+this.options.namespace;return a.join(" ")},eventNameWithId:function(a){if("string"!=typeof a||""===a)return this.options.namespace+"-"+this.instanceId;a=a.split(" ");for(var b=a.length,c=0;b>c;c++)a[c]=a[c]+"."+this.options.namespace+"-"+this.instanceId;return a.join(" ")},throttle:function(a,b){var c,d,e,f=Date.now||function(){return(new Date).getTime()},g=null,h=0,i=function(){h=f(),g=null,e=a.apply(c,d),c=d=null};return function(){var j=f(),k=b-(j-h);return c=this,d=arguments,0>=k?(clearTimeout(g),g=null,h=j,e=a.apply(c,d),c=d=null):g||(g=setTimeout(i,k)),e}},getBrowserScrollbarWidth:function(a){var c,d,e=this.attributes[a];return e.scrollbarWidth?e.scrollbarWidth:(c=b.createElement("div"),d=c.style,d.position="absolute",d.width="100px",d.height="100px",d.overflow="scroll",d.top="-9999px",b.body.appendChild(c),e.scrollbarWidth=c[e.offset]-c[e.clientLength],b.body.removeChild(c),e.scrollbarWidth)},getOffset:function(a){var b=this.attributes[a],c=this.$container[0];return c[b.pageOffset]||c[b.scroll]},getPercentOffset:function(a){return this.getOffset(a)/this.getScrollLength(a)},getContainerLength:function(a){return this.$container[0][this.attributes[a].clientLength]},getScrollLength:function(a){var b=this.$content[0][this.attributes[a].scrollLength];return b-this.getContainerLength(a)},scrollTo:function(a,b,c,d){var e=typeof b;"string"===e&&(g(b)&&(b=i(b)*this.getScrollLength(a)),b=parseFloat(b),e="number"),"number"===e&&this.move(a,b,c,d)},scrollBy:function(a,b,c,d){var e=typeof b;"string"===e&&(g(b)&&(b=i(b)*this.getScrollLength(a)),b=parseFloat(b),e="number"),"number"===e&&this.move(a,this.getOffset(a)+b,c,d)},move:function(b,c,d,e){if(this[b]===!0&&"number"==typeof c){var g=this;this.enter("moving"),0>c?c=0:c>this.getScrollLength(b)&&(c=this.getScrollLength(b));var h=this.attributes[b],i=function(){g.leave("moving")};if(e)this.$container[0][h.scroll]=c,d!==!1&&this.trigger("change",c/this.getScrollLength(b)),i();else{g.enter("animating");var j=f(),k=g.getOffset(b),l=c,m=function(e){var f=(e-j)/g.options.duration;f>1&&(f=1),f=g.easing.fn(f);var n=parseFloat(k+f*(l-k),10);g.$container[0][h.scroll]=n,d!==!1&&g.trigger("change",c/g.getScrollLength(b)),1===f?(a.cancelAnimationFrame(g._frameId),g._frameId=null,g.leave("animating"),i()):g._frameId=a.requestAnimationFrame(m)};g._frameId=a.requestAnimationFrame(m)}}},scrollXto:function(a,b,c){return this.scrollTo("horizontal",a,b,c)},scrollYto:function(a,b,c){return this.scrollTo("vertical",a,b,c)},scrollXby:function(a,b,c){return this.scrollBy("horizontal",a,b,c)},scrollYby:function(a,b,c){return this.scrollBy("vertical",a,b,c)},getBar:function(a){return a&&this["$"+a]?this["$"+a]:this.$bar},getBarApi:function(a){return this.getBar(a).data("asScrollbar")},getBarX:function(){return this.getBar("horizontal")},getBarY:function(){return this.getBar("vertical")},showBar:function(a){this.getBar(a).removeClass(this.classes.barHide)},hideBar:function(a){this.getBar(a).addClass(this.classes.barHide)},updateBarHandle:function(a){var b=this.getBarApi(a),c=this.getScrollLength(a),d=this.getContainerLength(a);c>0?(b.is("disabled")&&b.enable(),b.setHandleLength(b.getBarLength()*d/(c+d),!0)):b.disable()},disable:function(){this.is("disabled")||(this.enter("disabled"),this.$wrap.addClass(this.options.disabledClass).removeClass(this.options.enabledClass),this.unbindEvents(),this.unStyle())},enable:function(){this.is("disabled")&&(this.leave("disabled"),this.$wrap.addClass(this.options.enabledClass).removeClass(this.options.disabledClass),this.bindEvents(),this.update())},update:function(){this.is("disabled")||(this.vertical&&(this.initLayout("vertical"),this.updateBarHandle("vertical")),this.horizontal&&(this.initLayout("horizontal"),this.updateBarHandle("horizontal")))},unStyle:function(){this.horizontal&&(this.$container.css({height:"","padding-bottom":""}),this.$content.css({height:""})),this.vertical&&(this.$container.css({width:"",height:"","padding-right":""}),this.$content.css({width:""})),this.options.containerSelector||this.$wrap.css({height:""})},destory:function(){this.$wrap.removeClass(this.classes.wrap+"-vertical").removeClass(this.classes.wrap+"-horizontal").removeClass(this.classes.wrap).removeClass(this.options.enabledClass).removeClass(this.classes.disabledClass),this.unStyle(),this.$bar&&this.$bar.remove(),this.unbindEvents(),this.options.containerSelector?this.$container.removeClass(this.classes.container):this.$container.unwrap(),this.options.contentSelector||this.$content.unwrap(),this.$content.removeClass(this.classes.content),this.$element.data(j,null)}},c.fn[j]=function(a){if("string"!=typeof a)return this.each(function(){c(this).data(j)?c(this).data(j).update():c(this).data(j,new m(a,this))});var b=a,d=Array.prototype.slice.call(arguments,1);if(/^\_/.test(b))return!1;if(!/^(get)/.test(b))return this.each(function(){var a=c.data(this,j);a&&"function"==typeof a[b]&&a[b].apply(a,d)});var e=this.first().data(j);return e&&"function"==typeof e[b]?e[b].apply(e,d):this}}(window,document,jQuery,function(a){"use strict";return void 0===a.asScrollbar?!1:a.asScrollbar}(jQuery));
\ No newline at end of file
diff --git a/assets/global/vendor/bootbox/bootbox.js b/assets/global/vendor/bootbox/bootbox.js
deleted file mode 100755
index 6c7df7b..0000000
--- a/assets/global/vendor/bootbox/bootbox.js
+++ /dev/null
@@ -1,990 +0,0 @@
-/**
- * bootbox.js [master branch]
- *
- * http://bootboxjs.com/license.txt
- */
-
-// @see https://github.com/makeusabrew/bootbox/issues/180
-// @see https://github.com/makeusabrew/bootbox/issues/186
-(function (root, factory) {
-
- "use strict";
- if (typeof define === "function" && define.amd) {
- // AMD. Register as an anonymous module.
- define(["jquery"], factory);
- } else if (typeof exports === "object") {
- // Node. Does not work with strict CommonJS, but
- // only CommonJS-like environments that support module.exports,
- // like Node.
- module.exports = factory(require("jquery"));
- } else {
- // Browser globals (root is window)
- root.bootbox = factory(root.jQuery);
- }
-
-}(this, function init($, undefined) {
-
- "use strict";
-
- // the base DOM structure needed to create a modal
- var templates = {
- dialog:
- "
" +
- "
" +
- "
" +
- "
" +
- "
" +
- "
" +
- "
",
- header:
- "
" +
- "" +
- "
",
- footer:
- "",
- closeButton:
- "",
- form:
- "",
- inputs: {
- text:
- "",
- textarea:
- "",
- email:
- "",
- select:
- "",
- checkbox:
- "",
- date:
- "",
- time:
- "",
- number:
- "",
- password:
- ""
- }
- };
-
- var defaults = {
- // default language
- locale: "en",
- // show backdrop or not. Default to static so user has to interact with dialog
- backdrop: "static",
- // animate the modal in/out
- animate: true,
- // additional class string applied to the top level dialog
- className: null,
- // whether or not to include a close button
- closeButton: true,
- // show the dialog immediately by default
- show: true,
- // dialog container
- container: "body"
- };
-
- // our public object; augmented after our private API
- var exports = {};
-
- /**
- * @private
- */
- function _t(key) {
- var locale = locales[defaults.locale];
- return locale ? locale[key] : locales.en[key];
- }
-
- function processCallback(e, dialog, callback) {
- e.stopPropagation();
- e.preventDefault();
-
- // by default we assume a callback will get rid of the dialog,
- // although it is given the opportunity to override this
-
- // so, if the callback can be invoked and it *explicitly returns false*
- // then we'll set a flag to keep the dialog active...
- var preserveDialog = $.isFunction(callback) && callback.call(dialog, e) === false;
-
- // ... otherwise we'll bin it
- if (!preserveDialog) {
- dialog.modal("hide");
- }
- }
-
- function getKeyLength(obj) {
- // @TODO defer to Object.keys(x).length if available?
- var k, t = 0;
- for (k in obj) {
- t ++;
- }
- return t;
- }
-
- function each(collection, iterator) {
- var index = 0;
- $.each(collection, function(key, value) {
- iterator(key, value, index++);
- });
- }
-
- function sanitize(options) {
- var buttons;
- var total;
-
- if (typeof options !== "object") {
- throw new Error("Please supply an object of options");
- }
-
- if (!options.message) {
- throw new Error("Please specify a message");
- }
-
- // make sure any supplied options take precedence over defaults
- options = $.extend({}, defaults, options);
-
- if (!options.buttons) {
- options.buttons = {};
- }
-
- buttons = options.buttons;
-
- total = getKeyLength(buttons);
-
- each(buttons, function(key, button, index) {
-
- if ($.isFunction(button)) {
- // short form, assume value is our callback. Since button
- // isn't an object it isn't a reference either so re-assign it
- button = buttons[key] = {
- callback: button
- };
- }
-
- // before any further checks make sure by now button is the correct type
- if ($.type(button) !== "object") {
- throw new Error("button with key " + key + " must be an object");
- }
-
- if (!button.label) {
- // the lack of an explicit label means we'll assume the key is good enough
- button.label = key;
- }
-
- if (!button.className) {
- if (total <= 2 && index === total-1) {
- // always add a primary to the main option in a two-button dialog
- button.className = "btn-primary";
- } else {
- button.className = "btn-default";
- }
- }
- });
-
- return options;
- }
-
- /**
- * map a flexible set of arguments into a single returned object
- * if args.length is already one just return it, otherwise
- * use the properties argument to map the unnamed args to
- * object properties
- * so in the latter case:
- * mapArguments(["foo", $.noop], ["message", "callback"])
- * -> { message: "foo", callback: $.noop }
- */
- function mapArguments(args, properties) {
- var argn = args.length;
- var options = {};
-
- if (argn < 1 || argn > 2) {
- throw new Error("Invalid argument length");
- }
-
- if (argn === 2 || typeof args[0] === "string") {
- options[properties[0]] = args[0];
- options[properties[1]] = args[1];
- } else {
- options = args[0];
- }
-
- return options;
- }
-
- /**
- * merge a set of default dialog options with user supplied arguments
- */
- function mergeArguments(defaults, args, properties) {
- return $.extend(
- // deep merge
- true,
- // ensure the target is an empty, unreferenced object
- {},
- // the base options object for this type of dialog (often just buttons)
- defaults,
- // args could be an object or array; if it's an array properties will
- // map it to a proper options object
- mapArguments(
- args,
- properties
- )
- );
- }
-
- /**
- * this entry-level method makes heavy use of composition to take a simple
- * range of inputs and return valid options suitable for passing to bootbox.dialog
- */
- function mergeDialogOptions(className, labels, properties, args) {
- // build up a base set of dialog properties
- var baseOptions = {
- className: "bootbox-" + className,
- buttons: createLabels.apply(null, labels)
- };
-
- // ensure the buttons properties generated, *after* merging
- // with user args are still valid against the supplied labels
- return validateButtons(
- // merge the generated base properties with user supplied arguments
- mergeArguments(
- baseOptions,
- args,
- // if args.length > 1, properties specify how each arg maps to an object key
- properties
- ),
- labels
- );
- }
-
- /**
- * from a given list of arguments return a suitable object of button labels
- * all this does is normalise the given labels and translate them where possible
- * e.g. "ok", "confirm" -> { ok: "OK, cancel: "Annuleren" }
- */
- function createLabels() {
- var buttons = {};
-
- for (var i = 0, j = arguments.length; i < j; i++) {
- var argument = arguments[i];
- var key = argument.toLowerCase();
- var value = argument.toUpperCase();
-
- buttons[key] = {
- label: _t(value)
- };
- }
-
- return buttons;
- }
-
- function validateButtons(options, buttons) {
- var allowedButtons = {};
- each(buttons, function(key, value) {
- allowedButtons[value] = true;
- });
-
- each(options.buttons, function(key) {
- if (allowedButtons[key] === undefined) {
- throw new Error("button key " + key + " is not allowed (options are " + buttons.join("\n") + ")");
- }
- });
-
- return options;
- }
-
- exports.alert = function() {
- var options;
-
- options = mergeDialogOptions("alert", ["ok"], ["message", "callback"], arguments);
-
- if (options.callback && !$.isFunction(options.callback)) {
- throw new Error("alert requires callback property to be a function when provided");
- }
-
- /**
- * overrides
- */
- options.buttons.ok.callback = options.onEscape = function() {
- if ($.isFunction(options.callback)) {
- return options.callback.call(this);
- }
- return true;
- };
-
- return exports.dialog(options);
- };
-
- exports.confirm = function() {
- var options;
-
- options = mergeDialogOptions("confirm", ["cancel", "confirm"], ["message", "callback"], arguments);
-
- /**
- * overrides; undo anything the user tried to set they shouldn't have
- */
- options.buttons.cancel.callback = options.onEscape = function() {
- return options.callback.call(this, false);
- };
-
- options.buttons.confirm.callback = function() {
- return options.callback.call(this, true);
- };
-
- // confirm specific validation
- if (!$.isFunction(options.callback)) {
- throw new Error("confirm requires a callback");
- }
-
- return exports.dialog(options);
- };
-
- exports.prompt = function() {
- var options;
- var defaults;
- var dialog;
- var form;
- var input;
- var shouldShow;
- var inputOptions;
-
- // we have to create our form first otherwise
- // its value is undefined when gearing up our options
- // @TODO this could be solved by allowing message to
- // be a function instead...
- form = $(templates.form);
-
- // prompt defaults are more complex than others in that
- // users can override more defaults
- // @TODO I don't like that prompt has to do a lot of heavy
- // lifting which mergeDialogOptions can *almost* support already
- // just because of 'value' and 'inputType' - can we refactor?
- defaults = {
- className: "bootbox-prompt",
- buttons: createLabels("cancel", "confirm"),
- value: "",
- inputType: "text"
- };
-
- options = validateButtons(
- mergeArguments(defaults, arguments, ["title", "callback"]),
- ["cancel", "confirm"]
- );
-
- // capture the user's show value; we always set this to false before
- // spawning the dialog to give us a chance to attach some handlers to
- // it, but we need to make sure we respect a preference not to show it
- shouldShow = (options.show === undefined) ? true : options.show;
-
- /**
- * overrides; undo anything the user tried to set they shouldn't have
- */
- options.message = form;
-
- options.buttons.cancel.callback = options.onEscape = function() {
- return options.callback.call(this, null);
- };
-
- options.buttons.confirm.callback = function() {
- var value;
-
- switch (options.inputType) {
- case "text":
- case "textarea":
- case "email":
- case "select":
- case "date":
- case "time":
- case "number":
- case "password":
- value = input.val();
- break;
-
- case "checkbox":
- var checkedItems = input.find("input:checked");
-
- // we assume that checkboxes are always multiple,
- // hence we default to an empty array
- value = [];
-
- each(checkedItems, function(_, item) {
- value.push($(item).val());
- });
- break;
- }
-
- return options.callback.call(this, value);
- };
-
- options.show = false;
-
- // prompt specific validation
- if (!options.title) {
- throw new Error("prompt requires a title");
- }
-
- if (!$.isFunction(options.callback)) {
- throw new Error("prompt requires a callback");
- }
-
- if (!templates.inputs[options.inputType]) {
- throw new Error("invalid prompt type");
- }
-
- // create the input based on the supplied type
- input = $(templates.inputs[options.inputType]);
-
- switch (options.inputType) {
- case "text":
- case "textarea":
- case "email":
- case "date":
- case "time":
- case "number":
- case "password":
- input.val(options.value);
- break;
-
- case "select":
- var groups = {};
- inputOptions = options.inputOptions || [];
-
- if (!$.isArray(inputOptions)) {
- throw new Error("Please pass an array of input options");
- }
-
- if (!inputOptions.length) {
- throw new Error("prompt with select requires options");
- }
-
- each(inputOptions, function(_, option) {
-
- // assume the element to attach to is the input...
- var elem = input;
-
- if (option.value === undefined || option.text === undefined) {
- throw new Error("given options in wrong format");
- }
-
- // ... but override that element if this option sits in a group
-
- if (option.group) {
- // initialise group if necessary
- if (!groups[option.group]) {
- groups[option.group] = $("").attr("label", option.group);
- }
-
- elem = groups[option.group];
- }
-
- elem.append("");
- });
-
- each(groups, function(_, group) {
- input.append(group);
- });
-
- // safe to set a select's value as per a normal input
- input.val(options.value);
- break;
-
- case "checkbox":
- var values = $.isArray(options.value) ? options.value : [options.value];
- inputOptions = options.inputOptions || [];
-
- if (!inputOptions.length) {
- throw new Error("prompt with checkbox requires options");
- }
-
- if (!inputOptions[0].value || !inputOptions[0].text) {
- throw new Error("given options in wrong format");
- }
-
- // checkboxes have to nest within a containing element, so
- // they break the rules a bit and we end up re-assigning
- // our 'input' element to this container instead
- input = $("");
-
- each(inputOptions, function(_, option) {
- var checkbox = $(templates.inputs[options.inputType]);
-
- checkbox.find("input").attr("value", option.value);
- checkbox.find("label").append(option.text);
-
- // we've ensured values is an array so we can always iterate over it
- each(values, function(_, value) {
- if (value === option.value) {
- checkbox.find("input").prop("checked", true);
- }
- });
-
- input.append(checkbox);
- });
- break;
- }
-
- // @TODO provide an attributes option instead
- // and simply map that as keys: vals
- if (options.placeholder) {
- input.attr("placeholder", options.placeholder);
- }
-
- if (options.pattern) {
- input.attr("pattern", options.pattern);
- }
-
- if (options.maxlength) {
- input.attr("maxlength", options.maxlength);
- }
-
- // now place it in our form
- form.append(input);
-
- form.on("submit", function(e) {
- e.preventDefault();
- // Fix for SammyJS (or similar JS routing library) hijacking the form post.
- e.stopPropagation();
- // @TODO can we actually click *the* button object instead?
- // e.g. buttons.confirm.click() or similar
- dialog.find(".btn-primary").click();
- });
-
- dialog = exports.dialog(options);
-
- // clear the existing handler focusing the submit button...
- dialog.off("shown.bs.modal");
-
- // ...and replace it with one focusing our input, if possible
- dialog.on("shown.bs.modal", function() {
- // need the closure here since input isn't
- // an object otherwise
- input.focus();
- });
-
- if (shouldShow === true) {
- dialog.modal("show");
- }
-
- return dialog;
- };
-
- exports.dialog = function(options) {
- options = sanitize(options);
-
- var dialog = $(templates.dialog);
- var innerDialog = dialog.find(".modal-dialog");
- var body = dialog.find(".modal-body");
- var buttons = options.buttons;
- var buttonStr = "";
- var callbacks = {
- onEscape: options.onEscape
- };
-
- if ($.fn.modal === undefined) {
- throw new Error(
- "$.fn.modal is not defined; please double check you have included " +
- "the Bootstrap JavaScript library. See http://getbootstrap.com/javascript/ " +
- "for more details."
- );
- }
-
- each(buttons, function(key, button) {
-
- // @TODO I don't like this string appending to itself; bit dirty. Needs reworking
- // can we just build up button elements instead? slower but neater. Then button
- // can just become a template too
- buttonStr += "";
- callbacks[key] = button.callback;
- });
-
- body.find(".bootbox-body").html(options.message);
-
- if (options.animate === true) {
- dialog.addClass("fade");
- }
-
- if (options.className) {
- dialog.addClass(options.className);
- }
-
- if (options.size === "large") {
- innerDialog.addClass("modal-lg");
- } else if (options.size === "small") {
- innerDialog.addClass("modal-sm");
- }
-
- if (options.title) {
- body.before(templates.header);
- }
-
- if (options.closeButton) {
- var closeButton = $(templates.closeButton);
-
- if (options.title) {
- dialog.find(".modal-header").prepend(closeButton);
- } else {
- closeButton.css("margin-top", "-10px").prependTo(body);
- }
- }
-
- if (options.title) {
- dialog.find(".modal-title").html(options.title);
- }
-
- if (buttonStr.length) {
- body.after(templates.footer);
- dialog.find(".modal-footer").html(buttonStr);
- }
-
-
- /**
- * Bootstrap event listeners; used handle extra
- * setup & teardown required after the underlying
- * modal has performed certain actions
- */
-
- dialog.on("hidden.bs.modal", function(e) {
- // ensure we don't accidentally intercept hidden events triggered
- // by children of the current dialog. We shouldn't anymore now BS
- // namespaces its events; but still worth doing
- if (e.target === this) {
- dialog.remove();
- }
- });
-
- /*
- dialog.on("show.bs.modal", function() {
- // sadly this doesn't work; show is called *just* before
- // the backdrop is added so we'd need a setTimeout hack or
- // otherwise... leaving in as would be nice
- if (options.backdrop) {
- dialog.next(".modal-backdrop").addClass("bootbox-backdrop");
- }
- });
- */
-
- dialog.on("shown.bs.modal", function() {
- dialog.find(".btn-primary:first").focus();
- });
-
- /**
- * Bootbox event listeners; experimental and may not last
- * just an attempt to decouple some behaviours from their
- * respective triggers
- */
-
- if (options.backdrop !== "static") {
- // A boolean true/false according to the Bootstrap docs
- // should show a dialog the user can dismiss by clicking on
- // the background.
- // We always only ever pass static/false to the actual
- // $.modal function because with `true` we can't trap
- // this event (the .modal-backdrop swallows it)
- // However, we still want to sort of respect true
- // and invoke the escape mechanism instead
- dialog.on("click.dismiss.bs.modal", function(e) {
- // @NOTE: the target varies in >= 3.3.x releases since the modal backdrop
- // moved *inside* the outer dialog rather than *alongside* it
- if (dialog.children(".modal-backdrop").length) {
- e.currentTarget = dialog.children(".modal-backdrop").get(0);
- }
-
- if (e.target !== e.currentTarget) {
- return;
- }
-
- dialog.trigger("escape.close.bb");
- });
- }
-
- dialog.on("escape.close.bb", function(e) {
- if (callbacks.onEscape) {
- processCallback(e, dialog, callbacks.onEscape);
- }
- });
-
- /**
- * Standard jQuery event listeners; used to handle user
- * interaction with our dialog
- */
-
- dialog.on("click", ".modal-footer button", function(e) {
- var callbackKey = $(this).data("bb-handler");
-
- processCallback(e, dialog, callbacks[callbackKey]);
- });
-
- dialog.on("click", ".bootbox-close-button", function(e) {
- // onEscape might be falsy but that's fine; the fact is
- // if the user has managed to click the close button we
- // have to close the dialog, callback or not
- processCallback(e, dialog, callbacks.onEscape);
- });
-
- dialog.on("keyup", function(e) {
- if (e.which === 27) {
- dialog.trigger("escape.close.bb");
- }
- });
-
- // the remainder of this method simply deals with adding our
- // dialogent to the DOM, augmenting it with Bootstrap's modal
- // functionality and then giving the resulting object back
- // to our caller
-
- $(options.container).append(dialog);
-
- dialog.modal({
- backdrop: options.backdrop ? "static": false,
- keyboard: false,
- show: false
- });
-
- if (options.show) {
- dialog.modal("show");
- }
-
- // @TODO should we return the raw element here or should
- // we wrap it in an object on which we can expose some neater
- // methods, e.g. var d = bootbox.alert(); d.hide(); instead
- // of d.modal("hide");
-
- /*
- function BBDialog(elem) {
- this.elem = elem;
- }
-
- BBDialog.prototype = {
- hide: function() {
- return this.elem.modal("hide");
- },
- show: function() {
- return this.elem.modal("show");
- }
- };
- */
-
- return dialog;
-
- };
-
- exports.setDefaults = function() {
- var values = {};
-
- if (arguments.length === 2) {
- // allow passing of single key/value...
- values[arguments[0]] = arguments[1];
- } else {
- // ... and as an object too
- values = arguments[0];
- }
-
- $.extend(defaults, values);
- };
-
- exports.hideAll = function() {
- $(".bootbox").modal("hide");
-
- return exports;
- };
-
-
- /**
- * standard locales. Please add more according to ISO 639-1 standard. Multiple language variants are
- * unlikely to be required. If this gets too large it can be split out into separate JS files.
- */
- var locales = {
- ar : {
- OK : "موافق",
- CANCEL : "الغاء",
- CONFIRM : "تأكيد"
- },
- bg_BG : {
- OK : "Ок",
- CANCEL : "Отказ",
- CONFIRM : "Потвърждавам"
- },
- br : {
- OK : "OK",
- CANCEL : "Cancelar",
- CONFIRM : "Sim"
- },
- cs : {
- OK : "OK",
- CANCEL : "Zrušit",
- CONFIRM : "Potvrdit"
- },
- da : {
- OK : "OK",
- CANCEL : "Annuller",
- CONFIRM : "Accepter"
- },
- de : {
- OK : "OK",
- CANCEL : "Abbrechen",
- CONFIRM : "Akzeptieren"
- },
- el : {
- OK : "Εντάξει",
- CANCEL : "Ακύρωση",
- CONFIRM : "Επιβεβαίωση"
- },
- en : {
- OK : "OK",
- CANCEL : "Cancel",
- CONFIRM : "OK"
- },
- es : {
- OK : "OK",
- CANCEL : "Cancelar",
- CONFIRM : "Aceptar"
- },
- et : {
- OK : "OK",
- CANCEL : "Katkesta",
- CONFIRM : "OK"
- },
- fa : {
- OK : "قبول",
- CANCEL : "لغو",
- CONFIRM : "تایید"
- },
- fi : {
- OK : "OK",
- CANCEL : "Peruuta",
- CONFIRM : "OK"
- },
- fr : {
- OK : "OK",
- CANCEL : "Annuler",
- CONFIRM : "Confirmer"
- },
- he : {
- OK : "אישור",
- CANCEL : "ביטול",
- CONFIRM : "אישור"
- },
- hu : {
- OK : "OK",
- CANCEL : "Mégsem",
- CONFIRM : "Megerősít"
- },
- hr : {
- OK : "OK",
- CANCEL : "Odustani",
- CONFIRM : "Potvrdi"
- },
- id : {
- OK : "OK",
- CANCEL : "Batal",
- CONFIRM : "OK"
- },
- it : {
- OK : "OK",
- CANCEL : "Annulla",
- CONFIRM : "Conferma"
- },
- ja : {
- OK : "OK",
- CANCEL : "キャンセル",
- CONFIRM : "確認"
- },
- lt : {
- OK : "Gerai",
- CANCEL : "Atšaukti",
- CONFIRM : "Patvirtinti"
- },
- lv : {
- OK : "Labi",
- CANCEL : "Atcelt",
- CONFIRM : "Apstiprināt"
- },
- nl : {
- OK : "OK",
- CANCEL : "Annuleren",
- CONFIRM : "Accepteren"
- },
- no : {
- OK : "OK",
- CANCEL : "Avbryt",
- CONFIRM : "OK"
- },
- pl : {
- OK : "OK",
- CANCEL : "Anuluj",
- CONFIRM : "Potwierdź"
- },
- pt : {
- OK : "OK",
- CANCEL : "Cancelar",
- CONFIRM : "Confirmar"
- },
- ru : {
- OK : "OK",
- CANCEL : "Отмена",
- CONFIRM : "Применить"
- },
- sq : {
- OK : "OK",
- CANCEL : "Anulo",
- CONFIRM : "Prano"
- },
- sv : {
- OK : "OK",
- CANCEL : "Avbryt",
- CONFIRM : "OK"
- },
- th : {
- OK : "ตกลง",
- CANCEL : "ยกเลิก",
- CONFIRM : "ยืนยัน"
- },
- tr : {
- OK : "Tamam",
- CANCEL : "İptal",
- CONFIRM : "Onayla"
- },
- zh_CN : {
- OK : "OK",
- CANCEL : "取消",
- CONFIRM : "确认"
- },
- zh_TW : {
- OK : "OK",
- CANCEL : "取消",
- CONFIRM : "確認"
- }
- };
-
- exports.addLocale = function(name, values) {
- $.each(["OK", "CANCEL", "CONFIRM"], function(_, v) {
- if (!values[v]) {
- throw new Error("Please supply a translation for '" + v + "'");
- }
- });
-
- locales[name] = {
- OK: values.OK,
- CANCEL: values.CANCEL,
- CONFIRM: values.CONFIRM
- };
-
- return exports;
- };
-
- exports.removeLocale = function(name) {
- delete locales[name];
-
- return exports;
- };
-
- exports.setLocale = function(name) {
- return exports.setDefaults("locale", name);
- };
-
- exports.init = function(_$) {
- return init(_$ || $);
- };
-
- return exports;
-}));
diff --git a/assets/global/vendor/bootstrap-select/bootstrap-select.min.js b/assets/global/vendor/bootstrap-select/bootstrap-select.min.js
deleted file mode 100755
index 6f64b54..0000000
--- a/assets/global/vendor/bootstrap-select/bootstrap-select.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select)
- *
- * Copyright 2013-2016 bootstrap-select
- * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
- */
-!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},e.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1},e.prototype={constructor:e,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight===!0&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",d=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'