2020-04-21 03:42:35 -07:00
/******/ ( function ( modules ) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = { } ;
/******/
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/
/******/ // Check if module is in cache
/******/ if ( installedModules [ moduleId ] ) {
/******/ return installedModules [ moduleId ] . exports ;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules [ moduleId ] = {
/******/ i : moduleId ,
/******/ l : false ,
/******/ exports : { }
/******/ } ;
/******/
/******/ // Execute the module function
/******/ modules [ moduleId ] . call ( module . exports , module , module . exports , _ _webpack _require _ _ ) ;
/******/
/******/ // Flag the module as loaded
/******/ module . l = true ;
/******/
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ _ _webpack _require _ _ . m = modules ;
/******/
/******/ // expose the module cache
/******/ _ _webpack _require _ _ . c = installedModules ;
/******/
/******/ // define getter function for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , name , getter ) {
/******/ if ( ! _ _webpack _require _ _ . o ( exports , name ) ) {
/******/ Object . defineProperty ( exports , name , {
/******/ configurable : false ,
/******/ enumerable : true ,
/******/ get : getter
/******/ } ) ;
/******/ }
/******/ } ;
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = function ( module ) {
/******/ var getter = module && module . _ _esModule ?
/******/ function getDefault ( ) { return module [ 'default' ] ; } :
/******/ function getModuleExports ( ) { return module ; } ;
/******/ _ _webpack _require _ _ . d ( getter , 'a' , getter ) ;
/******/ return getter ;
/******/ } ;
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ _ _webpack _require _ _ . o = function ( object , property ) { return Object . prototype . hasOwnProperty . call ( object , property ) ; } ;
/******/
/******/ // __webpack_public_path__
/******/ _ _webpack _require _ _ . p = "/" ;
/******/
/******/ // Load entry module and return exports
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = 0 ) ;
/******/ } )
/************************************************************************/
/******/ ( {
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/alert.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /*\n * The component's data.\n */\n props: ['alertType', 'title'],\n\n computed: {\n alertClassName: function alertClassName() {\n return 'alert-' + this.alertType;\n }\n },\n\n methods: {\n hideEvent: function hideEvent() {\n this.$emit('hide');\n }\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2FsZXJ0LnZ1ZT9iZjQ4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBO0FBQ0E7OztBQUdBLGlDQUpBOztBQU1BO0FBQ0Esc0JBREEsNEJBQ0E7QUFDQTtBQUNBO0FBSEEsS0FOQTs7QUFZQTtBQUNBLGlCQURBLHVCQUNBO0FBQ0E7QUFDQTtBQUhBO0FBWkEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz97XCJjYWNoZURpcmVjdG9yeVwiOnRydWUsXCJwcmVzZXRzXCI6W1tcImVudlwiLHtcIm1vZHVsZXNcIjpmYWxzZSxcInRhcmdldHNcIjp7XCJicm93c2Vyc1wiOltcIj4gMiVcIl0sXCJ1Z2xpZnlcIjp0cnVlfX1dXSxcInBsdWdpbnNcIjpbXCJ0cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkXCIsW1widHJhbnNmb3JtLXJ1bnRpbWVcIix7XCJwb2x5ZmlsbFwiOmZhbHNlLFwiaGVscGVyc1wiOmZhbHNlfV1dfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXNjcmlwdCZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2FsZXJ0LnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuPHN0eWxlIHNjb3BlZD5cbjwvc3R5bGU+XG5cbjx0ZW1wbGF0ZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiIDpjbGFzcz1cImFsZXJ0VHlwZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0XCIgOmNsYXNzPVwiYWxlcnRDbGFzc05hbWVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgQGNsaWNrPVwiaGlkZUV2ZW50XCI+JnRpbWVzOzwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2sgZmFhLXB1bHNlIGFuaW1hdGVkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdi1zaG93PVwiYWxlcnRUeXBlID09ICdzdWNjZXNzJ1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHRpdGxlIH19IDwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICAvKlxuICAgICAgICAgKiBUaGUgY29tcG9uZW50J3MgZGF0YS5cbiAgICAgICAgICovXG4gICAgICAgIHByb3BzOiBbJ2FsZXJ0VHlwZScsICd0aXRsZSddLFxuXG4gICAgICAgIGNvbXB1dGVkOiB7XG4gICAgICAgICAgICBhbGVydENsYXNzTmFtZSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LScgKyB0aGlzLmFsZXJ0VHlwZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBoaWRlRXZlbnQoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnaGlkZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG48L3NjcmlwdD5cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyByZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/alert.vue\n" ) ;
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\" ] = ( { \ n props : [ 'fieldsetId' , 'modelId' , 'previousInput' ] , \ n \ n data : function data ( ) { \ n return { \ n identifiers : { \ n fieldset : null , \ n model : null \ n } , \ n elements : { \ n fieldset : null , \ n field : null \ n } , \ n fields : null , \ n show : false , \ n error : false \ n } ; \ n } , \ n \ n \ n /**\n * Initialise the component (Vue 1.x).\n */ \ n ready : function ready ( ) { \ n this . init ( ) ; \ n } , \ n \ n \ n /**\n * Initialise the component (Vue 2.x).\n */ \ n mounted : function mounted ( ) { \ n this . init ( ) ; \ n } , \ n \ n \ n methods : { \ n /**\n * Grabs the toggle field and connected fieldset and if present,\n * set up the rest of the component. Scope lookups to the component\n * only so we're not traversing and/or manipulating the whole DOM\n */ \ n init : function init ( ) { \ n this . defaultValues = JSON . parse ( this . previousInput ) ; \ n this . identifiers . fieldset = this . fieldsetId ; \ n this . identifiers . model = this . modelId ; \ n \ n // This has to be jQuery because a lot of native functions/events\n // do not work with select2\n this.elements.fieldset = $('.js-fieldset-field');\n\n this.elements.field = document.querySelector('.js-default-values-toggler');\n\n if (this.elements.fieldset && this.elements.field) {\n this.addListeners();\n this.getFields();\n }\n },\n\n\n /**\n * Adds event listeners for:\n * - Toggle field changing\n * - Fieldset field changing\n *\n * Using jQuery event hooks for the select2 fieldset field as\n * select2 does not emit DOM events...\n */\n addListeners: function addListeners() {\n var _this = this;\n\n this.elements.field.addEventListener('change', function (e) {\n return _this.updateShow();\n });\n this.elements.fieldset.on('change', function (e) {\n return _this.updateFields();\n });\n },\n\n\n /**\n * Call the CustomFieldsetsController::fields() endpoint to grab\n * the fields we can set default values for\n */\n getFields: function getFields() {\n var _this2 = this;\n\n if (!this.identifiers.fieldset) {\n return this.fields = [];\n }\n\n this.$http.get(this.getUrl()).then(function (response) {\n return response.json();\n }).then(function (data) {\n return _this2.checkResponseForError(data);\n }).then(function (data) {\n return _this2.fields = data.rows;\n }).then(function () {\n return _this2.determineIfShouldShow();\n });\n },\n getValue: function getValue(field) {\n if (field.default_value) {\n return field.default_value;\n }\n\n return this.defaultValues != null ? this.defaultValues[field.id.toString()] : '';\n },\n\n\n /**\n * Generates the API URL depending on what information is available\n *\n * @return Router\n */\n getUrl: function getUrl() {\n if (this.identifiers.model) {\n return route('api.fieldsets.fields-with-default-value', {\n fieldset: this.identifiers.fieldset,\n model: this.identifiers.model\n });\n }\n\n
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/importer/importer-errors.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /*\n * The component's data.\n */\n props: ['errors']\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2ltcG9ydGVyL2ltcG9ydGVyLWVycm9ycy52dWU/NGQwNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDQTtBQUNBOzs7QUFHQTtBQUpBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/e1wiY2FjaGVEaXJlY3RvcnlcIjp0cnVlLFwicHJlc2V0c1wiOltbXCJlbnZcIix7XCJtb2R1bGVzXCI6ZmFsc2UsXCJ0YXJnZXRzXCI6e1wiYnJvd3NlcnNcIjpbXCI+IDIlXCJdLFwidWdsaWZ5XCI6dHJ1ZX19XV0sXCJwbHVnaW5zXCI6W1widHJhbnNmb3JtLW9iamVjdC1yZXN0LXNwcmVhZFwiLFtcInRyYW5zZm9ybS1ydW50aW1lXCIse1wicG9seWZpbGxcIjpmYWxzZSxcImhlbHBlcnNcIjpmYWxzZX1dXX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9pbXBvcnRlci9pbXBvcnRlci1lcnJvcnMudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG48c3R5bGUgc2NvcGVkPlxuPC9zdHlsZT5cblxuPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJib3hcIiB2LWlmPVwiZXJyb3JzXCI+XG4gIDxkaXYgY2xhc3M9XCJib3gtYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nXCI+XG4gICAgICA8c3Ryb25nPldhcm5pbmc8L3N0cm9uZz4gU29tZSBFcnJvcnMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmdcbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJlcnJvcnMtdGFibGVcIj5cbiAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWRcIiBpZD1cImVycm9ycy10YWJsZVwiPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRoPkl0ZW08L3RoPlxuICAgICAgICAgIDx0aD5FcnJvcnM8L3RoPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyIHYtZm9yPVwiKGVycm9yLCBpdGVtKSBpbiBlcnJvcnNcIj5cbiAgICAgICAgICAgIDx0ZD57eyBpdGVtIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZCB2LWZvcj1cIih2YWx1ZSwgZmllbGQpIGluIGVycm9yXCI+XG4gICAgICAgICAgICAgICAgPGI+e3sgZmllbGQgfX06PC9iPlxuICAgICAgICAgICAgICAgIDxzcGFuIHYtZm9yPVwiZXJyb3JTdHJpbmcgaW4gdmFsdWVcIj57e2Vycm9yU3RyaW5nWzBdfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICAvKlxuICAgICAgICAgKiBUaGUgY29tcG9uZW50J3MgZGF0YS5cbiAgICAgICAgICovXG4gICAgICAgICBwcm9wczogWydlcnJvcnMnXSxcbiAgICB9XG5cbjwvc2NyaXB0PlxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHJlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9pbXBvcnRlci9pbXBvcnRlci1lcnJvcnMudnVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/importer/importer-errors.vue\n" ) ;
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/importer/importer-file.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: ['file', 'customFields'],\n data: function data() {\n return {\n activeFile: this.file,\n processDetail: false,\n statusText: null,\n statusType: null,\n options: {\n importType: this.file.import_type,\n update: false,\n importTypes: [{ id: 'asset', text: 'Assets' }, { id: 'accessory', text: 'Accessories' }, { id: 'consumable', text: 'Consumables' }, { id: 'component', text: 'Components' }, { id: 'license', text: 'Licenses' }, { id: 'user', text: 'Users' }],\n statusText: null\n },\n columnOptions: {\n general: [{ id: 'category', text: 'Category' }, { id: 'company', text: 'Company' }, { id: 'checkout_to', text: 'Checked out to' }, { id: 'email', text: 'Email' }, { id: 'item_name', text: 'Item Name' }, { id: 'location', text: 'Location' }, { id: 'maintained', text: 'Maintained' }, { id: 'manufacturer', text: 'Manufacturer' }, { id: 'notes', text: 'Notes' }, { id: 'order_number', text: 'Order Number' }, { id: 'purchase_cost', text: 'Purchase Cost' }, { id: 'purchase_date', text: 'Purchase Date' }, { id: 'quantity', text: 'Quantity' }, { id: 'requestable', text: 'Requestable' }, { id: 'serial', text: 'Serial Number' }, { id: 'supplier', text: 'Supplier' }, { id: 'username', text: 'Username' }, { id: 'department', text: 'Department' }],\n assets: [{ id: 'asset_tag', text: 'Asset Tag' }, { id: 'asset_model', text: 'Model Name' }, { id: 'checkout_class', text: 'Checkout Type' }, { id: 'checkout_location', text: 'Checkout Location' }, { id: 'image', text: 'Image Filename' }, { id: 'model_number', text: 'Model Number' }, { id: 'full_name', text: 'Full Name' }, { id: 'status', text: 'Status' }, { id: 'warranty_months', text: 'Warranty Months' }],\n consumables: [{ id: 'item_no', text: \"Item Number\" }, { id: 'model_number', text: \"Model Number\" } ] , \ n licenses : [ { id : 'expiration_date' , text : 'Expiration Date' } , { id : 'license_email' , text : 'Licensed To Email' } , { id : 'license_name' , text : 'Licensed To Name' } , { id : 'purchase_order' , text : 'Purchase Order' } , { id : 'reassignable' , text : 'Reassignable' } , { id : 'seats' , text : 'Seats' } ] , \ n users : [ { id : 'employee_num' , text : 'Employee Number' } , { id : 'first_name' , text : 'First Name' } , { id : 'jobtitle' , text : 'Job Title' } , { id : 'last_name' , text : 'Last Name' } , { id : 'phone_number' , text : 'Phone Number' } , { id : 'manager_first_name' , text : 'Manager First Name' } , { id : 'manager_last_name' , text : 'Manager Last Name' } , { id : 'department' , text : 'Department' } , { id : 'activated' , text : 'Activated' } ] , \ n customFields : this . customFields \ n } , \ n columnMappings : this . file . field _map || { } , \ n activeColumn : null \ n } ; \ n } , \ n created : function created ( ) { \ n window . eventHub . $on ( 'showDetails' , this . toggleExtendedDisplay ) ; \ n this . populateSelect2ActiveItems ( ) ; \ n } , \ n \ n computed : { \ n columns : function columns ( ) { \ n // function to sort objects by their display text.\n function sorter(a, b) {\n if (a.text < b.text) return -1;\n if (a.text > b.text) return 1;\n return 0;\n }\n switch (this.options.importType) {\n case 'asset':\n return this.columnOptions.general.concat(this.columnOptions.assets).concat(this.columnOptions.customFields).s
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/importer/importer.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n\n__webpack_require__(\"./node_modules/blueimp-file-upload/js/jquery.fileupload.js\");\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /*\n * The component's data.\n */\n data: function data() {\n return {\n files: [],\n displayImportModal: false,\n activeFile: null,\n alert: {\n type: null,\n message: null,\n visible: false\n },\n importErrors: null,\n progress: {\n currentClass: \"progress-bar-warning\",\n currentPercent: \"0\",\n statusText: '',\n visible: false\n },\n customFields: []\n };\n },\n mounted: function mounted() {\n window.eventHub.$on('importErrors', this.updateImportErrors);\n this.fetchFiles();\n this.fetchCustomFields();\n var vm = this;\n $('#fileupload').fileupload({\n dataType: 'json',\n done: function done(e, data) {\n vm.progress.currentClass = \"progress-bar-success\";\n vm.progress.statusText = \"Success!\";\n vm.files = data.result.files.concat(vm.files);\n console.log(data.result.header_row);\n },\n add: function add(e, data) {\n data.headers = {\n \"X-Requested-With\": 'XMLHttpRequest',\n \"X-CSRF-TOKEN\": Laravel.csrfToken\n };\n data.process().done(function () {\n data.submit();\n });\n vm.progress.visible = true;\n },\n progress: function progress(e, data) {\n var progress = parseInt((data.loaded / data.total * 100, 10));\n vm.progress.currentPercent = progress;\n vm.progress.statusText = progress + '% Complete';\n },\n fail: function fail(e, data) {\n vm.progress.currentClass = \"progress-bar-danger\";\n // Display any errors returned from the $.ajax()\n vm.progress.statusText = data.jqXHR.responseJSON.messages;\n }\n });\n },\n\n\n methods: {\n fetchFiles: function fetchFiles() {\n var _this = this;\n\n this.$http.get(route('api.imports.index')).then(function (_ref) {\n var data = _ref.data;\n return _this.files = data;\n }, // Success\n //Fail\n function (response) {\n _this.alert.type = \"danger\";\n _this.alert.visible = true;\n _this.alert.message = \"Something went wrong fetching files...\" ; \ n } ) ; \ n } , \ n fetchCustomFields : function fetchCustomFields ( ) { \ n var _this2 = this ; \ n \ n this . $http . get ( route ( 'api.customfields.index' ) ) . then ( function ( _ref2 ) { \ n var data = _ref2 . data ; \ n \ n data = data . rows ; \ n data . forEach ( function ( item ) { \ n _this2 . customFields . push ( { \ n 'id' : item . db _column _name , \ n 'text' : item . name \ n } ) ; \ n } ) ; \ n } ) ; \ n } , \ n deleteFile : function deleteFile ( file , key ) { \ n var _this3 = this ; \ n \ n this . $http . delete ( route ( 'api.imports.destroy' , file . id ) ) . then ( \ n // Success, remove file from array.\n function (response) {\n _this3.files.splice(key, 1);\n _this3.alert.type = response.body.status; // A failed delete can still cause a 200 status code.\n _this3.alert.visible = true;\n _this3.alert.message = response.body.messages;\n }, function (response) {\n // Fail\n // this.files.splice(key, 1);\n _this3.alert.type
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\" ] = ( { \ n props : [ 'clientsUrl' , 'tokensUrl' ] , \ n /*\n * The component's data.\n */ \ n data : function data ( ) { \ n return { \ n tokens : [ ] \ n } ; \ n } , \ n \ n \ n /**\n * Prepare the component (Vue 1.x).\n */ \ n ready : function ready ( ) { \ n this . prepareComponent ( ) ; \ n } , \ n \ n \ n /**\n * Prepare the component (Vue 2.x).\n */ \ n mounted : function mounted ( ) { \ n this . prepareComponent ( ) ; \ n } , \ n \ n \ n methods : { \ n /**\n * Prepare the component (Vue 2.x).\n */ \ n prepareComponent : function prepareComponent ( ) { \ n this . getTokens ( ) ; \ n } , \ n \ n \ n /**\n * Get all of the authorized tokens for the user.\n */ \ n getTokens : function getTokens ( ) { \ n var _this = this ; \ n \ n this . $http . get ( this . tokensUrl ) . then ( function ( response ) { \ n _this . tokens = response . data ; \ n } ) ; \ n } , \ n \ n \ n /**\n * Revoke the given token.\n */ \ n revoke : function revoke ( token ) { \ n var _this2 = this ; \ n \ n this . $http . delete ( this . tokensUrl + '/' + token . id ) . then ( function ( response ) { \ n _this2 . getTokens ( ) ; \ n } ) ; \ n } \ n } \ n } ) ; //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL3Bhc3Nwb3J0L0F1dGhvcml6ZWRDbGllbnRzLnZ1ZT9hYjRhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5REE7QUFDQSxzQ0FEQTtBQUVBOzs7QUFHQSxRQUxBLGtCQUtBO0FBQ0E7QUFDQTtBQURBO0FBR0EsS0FUQTs7O0FBV0E7OztBQUdBLFNBZEEsbUJBY0E7QUFDQTtBQUNBLEtBaEJBOzs7QUFrQkE7OztBQUdBLFdBckJBLHFCQXFCQTtBQUNBO0FBQ0EsS0F2QkE7OztBQXlCQTtBQUNBOzs7QUFHQSx3QkFKQSw4QkFJQTtBQUNBO0FBQ0EsU0FOQTs7O0FBUUE7OztBQUdBLGlCQVhBLHVCQVdBO0FBQUE7O0FBQ0EsMkNBQ0EsSUFEQSxDQUNBO0FBQ0E7QUFDQSxhQUhBO0FBSUEsU0FoQkE7OztBQWtCQTs7O0FBR0EsY0FyQkEsa0JBcUJBLEtBckJBLEVBcUJBO0FBQUE7O0FBQ0EsK0RBQ0EsSUFEQSxDQUNBO0FBQ0E7QUFDQSxhQUhBO0FBSUE7QUExQkE7QUF6QkEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz97XCJjYWNoZURpcmVjdG9yeVwiOnRydWUsXCJwcmVzZXRzXCI6W1tcImVudlwiLHtcIm1vZHVsZXNcIjpmYWxzZSxcInRhcmdldHNcIjp7XCJicm93c2Vyc1wiOltcIj4gMiVcIl0sXCJ1Z2xpZnlcIjp0cnVlfX1dXSxcInBsdWdpbnNcIjpbXCJ0cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkXCIsW1widHJhbnNmb3JtLXJ1bnRpbWVcIix7XCJwb2x5ZmlsbFwiOmZhbHNlLFwiaGVscGVyc1wiOmZhbHNlfV1dfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXNjcmlwdCZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL3Bhc3Nwb3J0L0F1dGhvcml6ZWRDbGllbnRzLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjxzdHlsZSBzY29wZWQ+XG4gICAgLmFjdGlvbi1saW5rIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5tLWItbm9uZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuPC9zdHlsZT5cblxuPHRlbXBsYXRlPlxuICAgIDxkaXY+XG4gICAgICAgIDxkaXYgdi1pZj1cInRva2Vucy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcGFuZWwtZGVmYXVsdFwiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInBhbmVsLWhlYWRpbmdcIj5BdXRob3JpemVkIEFwcGxpY2F0aW9uczwvaDI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtYm9keVwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIEF1dGhvcml6ZWQgVG9rZW5zIC0tPlxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJsZXNzIG0tYi1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+TmFtZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TY29wZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+RGVsZXRlPC9zcGFuPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICA
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/passport/Clients.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\" ] = ( { \ n /*\n * The component's data.\n */ \ n props : [ 'clientsUrl' ] , \ n data : function data ( ) { \ n return { \ n clients : [ ] , \ n \ n createForm : { \ n errors : [ ] , \ n name : '' , \ n redirect : '' \ n } , \ n \ n editForm : { \ n errors : [ ] , \ n name : '' , \ n redirect : '' \ n } \ n } ; \ n } , \ n \ n \ n /**\n * Prepare the component (Vue 1.x).\n */ \ n ready : function ready ( ) { \ n this . prepareComponent ( ) ; \ n } , \ n \ n \ n /**\n * Prepare the component (Vue 2.x).\n */ \ n mounted : function mounted ( ) { \ n this . prepareComponent ( ) ; \ n } , \ n \ n \ n methods : { \ n /**\n * Prepare the component.\n */ \ n prepareComponent : function prepareComponent ( ) { \ n this . getClients ( ) ; \ n \ n $ ( '#modal-create-client' ) . on ( 'shown.bs.modal' , function ( ) { \ n $ ( '#create-client-name' ) . focus ( ) ; \ n } ) ; \ n \ n $ ( '#modal-edit-client' ) . on ( 'shown.bs.modal' , function ( ) { \ n $ ( '#edit-client-name' ) . focus ( ) ; \ n } ) ; \ n } , \ n \ n \ n /**\n * Get all of the OAuth clients for the user.\n */ \ n getClients : function getClients ( ) { \ n var _this = this ; \ n \ n this . $http . get ( this . clientsUrl ) . then ( function ( response ) { \ n _this . clients = response . data ; \ n } ) ; \ n } , \ n \ n \ n /**\n * Show the form for creating new clients.\n */ \ n showCreateClientForm : function showCreateClientForm ( ) { \ n $ ( '#modal-create-client' ) . modal ( 'show' ) ; \ n } , \ n \ n \ n /**\n * Create a new OAuth client for the user.\n */ \ n store : function store ( ) { \ n this . persistClient ( 'post' , this . clientsUrl , this . createForm , '#modal-create-client' ) ; \ n } , \ n \ n \ n /**\n * Edit the given client.\n */ \ n edit : function edit ( client ) { \ n this . editForm . id = client . id ; \ n this . editForm . name = client . name ; \ n this . editForm . redirect = client . redirect ; \ n \ n $ ( '#modal-edit-client' ) . modal ( 'show' ) ; \ n } , \ n \ n \ n /**\n * Update the client being edited.\n */ \ n update : function update ( ) { \ n this . persistClient ( 'put' , this . clientsUrl + '/' + this . editForm . id , this . editForm , '#modal-edit-client' ) ; \ n } , \ n \ n \ n /**\n * Persist the client to storage using the given form.\n */ \ n persistClient : function persistClient ( method , uri , form , modal ) { \ n var _this2 = this ; \ n \ n console . log ( 'persisting' ) ; \ n form . errors = [ ] ; \ n \ n console . log ( 'method: ' + meth
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\" ] = ( { \ n props : [ 'tokenUrl' , 'scopesUrl' ] , \ n /*\n * The component's data.\n */ \ n data : function data ( ) { \ n return { \ n accessToken : null , \ n \ n tokens : [ ] , \ n scopes : [ ] , \ n \ n form : { \ n name : '' , \ n scopes : [ ] , \ n errors : [ ] \ n } \ n } ; \ n } , \ n \ n \ n /**\n * Prepare the component (Vue 1.x).\n */ \ n ready : function ready ( ) { \ n this . prepareComponent ( ) ; \ n } , \ n \ n \ n /**\n * Prepare the component (Vue 2.x).\n */ \ n mounted : function mounted ( ) { \ n this . prepareComponent ( ) ; \ n } , \ n \ n \ n methods : { \ n /**\n * Prepare the component.\n */ \ n prepareComponent : function prepareComponent ( ) { \ n this . getTokens ( ) ; \ n this . getScopes ( ) ; \ n \ n $ ( '#modal-create-token' ) . on ( 'shown.bs.modal' , function ( ) { \ n $ ( '#create-token-name' ) . focus ( ) ; \ n } ) ; \ n } , \ n \ n \ n /**\n * Get all of the personal access tokens for the user.\n */ \ n getTokens : function getTokens ( ) { \ n var _this = this ; \ n \ n this . $http . get ( this . tokenUrl ) . then ( function ( response ) { \ n _this . tokens = response . data ; \ n } ) ; \ n } , \ n \ n \ n /**\n * Get all of the available scopes.\n */ \ n getScopes : function getScopes ( ) { \ n var _this2 = this ; \ n \ n this . $http . get ( this . scopesUrl ) . then ( function ( response ) { \ n _this2 . scopes = response . data ; \ n } ) ; \ n } , \ n \ n \ n /**\n * Show the form for creating new tokens.\n */ \ n showCreateTokenForm : function showCreateTokenForm ( ) { \ n $ ( '#modal-create-token' ) . modal ( 'show' ) ; \ n } , \ n \ n \ n /**\n * Create a new personal access token.\n */ \ n store : function store ( ) { \ n var _this3 = this ; \ n \ n this . accessToken = null ; \ n \ n this . form . errors = [ ] ; \ n \ n this . $http . post ( this . tokenUrl , this . form ) . then ( function ( response ) { \ n _this3 . form . name = '' ; \ n _this3 . form . scopes = [ ] ; \ n _this3 . form . errors = [ ] ; \ n \ n _this3 . tokens . push ( response . data . token ) ; \ n \ n _this3 . showAccessToken ( response . data . accessToken ) ; \ n } ) . catch ( function ( response ) { \ n if ( _typeof ( response . data ) === 'object' ) { \ n _this3 . form . errors = _ . flatten ( _ . toArray ( response . data ) ) ; \ n } else { \ n console . dir ( _this3 . form ) ; \ n _this3 . form . errors = [ 'Something went wrong. Please try again.' ] ; \ n } \ n } ) ; \ n } , \ n \ n \ n /**\n * Toggle the given scope in the list of assigned scopes.\n */ \ n toggleScope : function toggleScope ( scope ) { \ n if ( this . scopeIsAssigned ( scope ) ) { \ n this . form . scopes = _ . reject ( this . form . sco
/***/ } ) ,
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/select2.vue" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n__webpack_require__(\"./node_modules/select2/dist/js/select2.js\");\n/* harmony default export */ __webpack_exports__[\"default\" ] = ( { \ n /*\n * The component's data.\n */ \ n props : [ 'options' , 'value' ] , \ n \ n mounted : function mounted ( ) { \ n var vm = this ; \ n $ ( this . $el ) . select2 ( { \ n data : this . options \ n } ) . on ( 'change' , function ( ) { \ n vm . $emit ( 'input' , this . value ) ; \ n } ) . val ( this . value ) . trigger ( 'change' ) ; \ n } , \ n \ n watch : { \ n value : function value ( _value ) { \ n $ ( this . $el ) . val ( _value ) ; \ n } , \ n options : function options ( _options ) { \ n var vm = this ; \ n $ ( this . $el ) . select2 ( 'destroy' ) . empty ( ) . select2 ( { data : _options } ) . on ( 'change' , function ( ) { \ n vm . $emit ( 'input' , this . value ) ; \ n } ) . val ( this . value ) . trigger ( 'change' ) ; \ n } , \ n destroyed : function destroyed ( ) { \ n $ ( this . $el ) . off ( ) . select2 ( 'destroy' ) ; \ n } \ n } \ n } ) ; //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL3NlbGVjdDIudnVlPzAxYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBY0E7QUFDQTtBQUNBOzs7QUFHQSwrQkFKQTs7QUFNQSxXQU5BLHFCQU1BO0FBQ0E7QUFDQSxvQkFDQSxPQURBLENBQ0E7QUFDQTtBQURBLFNBREEsRUFJQSxFQUpBLENBSUEsUUFKQSxFQUlBO0FBQUE7QUFBQSxTQUpBLEVBS0EsR0FMQSxDQUtBLFVBTEEsRUFLQSxPQUxBLENBS0EsUUFMQTtBQU1BLEtBZEE7O0FBZUE7QUFDQTtBQUNBO0FBQ0EsU0FIQTtBQUlBO0FBQ0E7QUFDQSwrRUFDQSxFQURBLENBQ0EsUUFEQSxFQUNBO0FBQUE7QUFBQSxhQURBLEVBRUEsR0FGQSxDQUVBLFVBRkEsRUFFQSxPQUZBLENBRUEsUUFGQTtBQUdBLFNBVEE7QUFVQTtBQUNBO0FBQ0E7QUFaQTtBQWZBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/e1wiY2FjaGVEaXJlY3RvcnlcIjp0cnVlLFwicHJlc2V0c1wiOltbXCJlbnZcIix7XCJtb2R1bGVzXCI6ZmFsc2UsXCJ0YXJnZXRzXCI6e1wiYnJvd3NlcnNcIjpbXCI+IDIlXCJdLFwidWdsaWZ5XCI6dHJ1ZX19XV0sXCJwbHVnaW5zXCI6W1widHJhbnNmb3JtLW9iamVjdC1yZXN0LXNwcmVhZFwiLFtcInRyYW5zZm9ybS1ydW50aW1lXCIse1wicG9seWZpbGxcIjpmYWxzZSxcImhlbHBlcnNcIjpmYWxzZX1dXX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zY3JpcHQmaW5kZXg9MCEuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9zZWxlY3QyLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuPHN0eWxlIHNjb3BlZD5cbiAgICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgICAgIHotaW5kZXg6OTk5OTtcbiAgICB9XG48L3N0eWxlPlxuXG48dGVtcGxhdGU+XG4gICAgICAgIDxzZWxlY3Qgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvc2VsZWN0PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICByZXF1aXJlKCdzZWxlY3QyJyk7XG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICAvKlxuICAgICAgICAgKiBUaGUgY29tcG9uZW50J3MgZGF0YS5cbiAgICAgICAgICovXG4gICAgICAgIHByb3BzOiBbJ29wdGlvbnMnLCAndmFsdWUnXSxcblxuICAgICAgICBtb3VudGVkKCkge1xuICAgICAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgICAgICQodGhpcy4kZWwpXG4gICAgICAgICAgICAgICAgLnNlbGVjdDIoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB0aGlzLm9wdGlvbnNcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5vbignY2hhbmdlJywgZnVuY3Rpb24oKSB7IHZtLiRlbWl0KCdpbnB1dCcsIHRoaXMudmFsdWUpIH0gKVxuICAgICAgICAgICAgICAgIC52YWwodGhpcy52YWx1ZSkudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhdGNoOiB7XG4gICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzLiRlbCkudmFsKHZhbHVlKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wdGlvbnM6IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgICAgICAgICAkKHRoaXMuJGVsKS5zZWxlY3QyKCdkZXN0cm95JykuZW1wdHkoKS5zZWxlY3QyKHtkYXRhOiBvcHRpb25zfSlcbiAgICAgICAgICAgICAgICAub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCkgeyB2bS4kZW1pdCgnaW5wdXQnLCB0aGlzLnZhbHVlKSB9IClcbiAgICAgICAgICAgICAgICAudmFsKHRoaXMudmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlc3Ryb3llZDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzLiRlbCkub2ZmKCkuc2VsZWN0MignZGVzdHJveScpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbjwvc2NyaXB0PlxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHJlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9zZWxlY3QyLnZ1ZS
/***/ } ) ,
/***/ "./node_modules/blueimp-file-upload/js/jquery.fileupload.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*\n * jQuery File Upload Plugin\n * https://github.com/blueimp/jQuery-File-Upload\n *\n * Copyright 2010, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n */\n\n/* jshint nomen:false */\n/* global define, require, window, document, location, Blob, FormData */\n\n;(function (factory) {\n 'use strict';\n if (true) {\n // Register as an anonymous AMD module:\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n __webpack_require__(\"./node_modules/jquery/dist/jquery.js\"),\n __webpack_require__(\"./node_modules/jquery-ui/ui/widget.js\")\n ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object') {\n // Node/CommonJS:\n factory(\n require('jquery'),\n require('./vendor/jquery.ui.widget')\n );\n } else {\n // Browser globals:\n factory(window.jQuery);\n }\n}(function ($) {\n 'use strict';\n\n // Detect file input support, based on\n // http://viljamis.com/blog/2012/file-upload-support-on-mobile/\n $.support.fileInput = !(new RegExp(\n // Handle devices which give false positives for the feature detection:\n '(Android (1\\\\.[0156]|2\\\\.[01]))' +\n '|(Windows Phone (OS 7|8\\\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' +\n '|(w(eb)?OSBrowser)|(webOS)' +\n '|(Kindle/(1\\\\.0|2\\\\.[05]|3\\\\.0))'\n ).test(window.navigator.userAgent) ||\n // Feature detection for all other devices:\n $('<input type=\"file\"/>').prop('disabled'));\n\n // The FileReader API is not actually used, but works as feature detection,\n // as some Safari versions (5?) support XHR file uploads via the FormData API,\n // but not non-multipart XHR file uploads.\n // window.XMLHttpRequestUpload is not available on IE10, so we check for\n // window.ProgressEvent instead to detect XHR2 file upload capability:\n $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader);\n $.support.xhrFormDataFileUpload = !!window.FormData;\n\n // Detect support for Blob slicing (required for chunked uploads):\n $.support.blobSlice = window.Blob && (Blob.prototype.slice ||\n Blob.prototype.webkitSlice || Blob.prototype.mozSlice);\n\n // Helper function to create drag handlers for dragover/dragenter/dragleave:\n function getDragHandler(type) {\n var isDragOver = type === 'dragover';\n return function (e) {\n e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;\n var dataTransfer = e.dataTransfer;\n if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 &&\n this._trigger(\n type,\n $.Event(type, {delegatedEvent: e})\n ) !== false) {\n e.preventDefault();\n if (isDragOver) {\n dataTransfer.dropEffect = 'copy';\n }\n }\n };\n }\n\n // The fileupload widget listens for change events on file input fields defined\n // via fileInput setting and paste or drop events of the given dropZone.\n // In addition to the default jQuery Widget methods, the fileupload widget\n // exposes the \"add\" and \"send\" methods, to add or directly send files using\n // the fileupload API.\n // By default, files added via file input selection, paste, drag & drop or\n // \"add\" method are uploaded immediately, but it is possible to override\n // the \"add\" callback option to queue file uploads . \ n $ . wi
/***/ } ) ,
/***/ "./node_modules/bootstrap-less/js/bootstrap.js" :
/***/ ( function ( module , exports ) {
eval ( "/* */ \n\"format global\";\n\"deps jquery\";\n\"exports $\";\n/*!\n * Bootstrap v3.3.4 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nif (typeof jQuery === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n 'use strict';\n var version = $.fn.jquery.split(' ')[0].split('.')\n if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher')\n }\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: transition.js v3.3.4\n * http://getbootstrap.com/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n // ============================================================\n\n function transitionEnd() {\n var el = document.createElement('bootstrap')\n\n var transEndEventNames = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n for (var name in transEndEventNames) {\n if (el.style[name] !== undefined) {\n return { end: transEndEventNames[name] }\n }\n }\n\n return false // explicit for ie8 ( ._.)\n }\n\n // http://blog.alexmaccaw.com/css-transitions\n $.fn.emulateTransitionEnd = function (duration) {\n var called = false\n var $el = this\n $(this).one('bsTransitionEnd', function () { called = true })\n var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n setTimeout(callback, duration)\n return this\n }\n\n $(function () {\n $.support.transition = transitionEnd()\n\n if (!$.support.transition) return\n\n $.event.special.bsTransitionEnd = {\n bindType: $.support.transition.end,\n delegateType: $.support.transition.end,\n handle: function (e) {\n if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\n }\n }\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: alert.js v3.3.4\n * http://getbootstrap.com/javascript/#alerts\n * ========================================================================\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // ALERT CLASS DEFINITION\n // ======================\n\n var dismiss = '[data-dismiss=\"alert\" ] '\n var Alert = function (el) {\n $(el).on(' click ', dismiss, this.close)\n }\n\n Alert.VERSION = ' 3.3 . 4 '\n\n Alert.TRANSITION_DURATION = 150\n\n Alert.prototype.close = function (e) {\n var $this = $(this)\n var selector = $this.attr(' data - target ')\n\n if (!selector) {\n selector = $this.attr(' href ')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, ' ') // strip for ie7\n }\n\n var $parent = $(selector)\n\n if (e) e.preventDefault()\n\n if (!$parent.length) {\n $parent = $this.closest(' . alert ')\n }\n\n $parent.trigger(e = $.Event(' close . bs . alert '))\n\n if (e.isDefaultPrevented()) return\n\n $parent.removeClass(' in ')\n\n function removeElement() {\n // detach from parent, fire event then clean up data\n $parent.detach().trigger(' closed . bs . alert ').remove()\n }\n\n $.support.transition && $parent.hasClass(' fade ') ?\n $parent\n .one(' bsTransitionEnd ' , removeElement ) \ n
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-2adc8102\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( " exports = module . exports = _ _webpack _require _ _ ( \ " . / node _modules / css - loader / lib / css - base . js \ " ) ( true ) ; \ n // imports\n\n\n// module\nexports.push([module.i, \"\\nlegend[data-v-2adc8102] {\\n font-size: 13px;\\n font-weight: bold;\\n border: 0;\\n}\\nfieldset > div[data-v-2adc8102] {\\n background: #f4f4f4;\\n border: 1px solid #d3d6de;\\n margin: 0 15px 15px;\\n padding: 20px 20px 10px;\\n}\\n@media (max-width: 992px) {\\nlegend[data-v-2adc8102] {\\n text-align: left !important;\\n}\\n}\\n@media (min-width: 992px) {\\nfieldset > div[data-v-2adc8102] {\\n width: 55%;\\n}\\n}\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/snipe/Sites/snipe-it/snipe-it/resources/assets/js/components/forms/asset-models/resources/assets/js/components/forms/asset-models/fieldset-default-values.vue\"],\"names\":[],\"mappings\":\";AACA;IACA,gBAAA;IACA,kBAAA;IACA,UAAA;CACA;AAGA;IACA,oBAAA;IACA,0BAAA;IACA,oBAAA;IACA,wBAAA;CACA;AAEA;AACA;QACA,4BAAA;CACA;CACA;AAEA;AACA;QACA,WAAA;CACA;CACA\",\"file\":\"fieldset-default-values.vue\",\"sourcesContent\":[\"<style scoped>\\n legend {\\n font-size: 13px;\\n font-weight: bold;\\n border: 0;\\n }\\n\\n\\n fieldset > div {\\n background: #f4f4f4;\\n border: 1px solid #d3d6de;\\n margin: 0 15px 15px;\\n padding: 20px 20px 10px;\\n }\\n\\n @media (max-width: 992px) {\\n legend {\\n text-align: left !important;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n fieldset > div {\\n width: 55%;\\n }\\n }\\n\\n\\n</style>\\n\\n<template>\\n <div>\\n <div v-if=\\\"show && fields.length\\\">\\n <div class=\\\"form-group\\\">\\n <fieldset>\\n <legend class=\\\"col-md-3 control-label\\\">Default Values</legend>\\n <div class=\\\"col-sm-8 col-xl-7\\\">\\n <p v-if=\\\"error\\\">\\n There was a problem retrieving the fields for this fieldset.\\n </p>\\n <div class=\\\"row\\\" v-for=\\\"field in fields\\\">\\n <div class=\\\"col-sm-12 col-lg-6\\\">\\n <label class=\\\"control-label\\\" :for=\\\"'default-value' + field.id\\\">{{ field.name }}</label>\\n </div>\\n <div class=\\\"col-sm-12 col-lg-6\\\">\\n <input v-if=\\\"field.type == 'text'\\\" class=\\\"form-control m-b-xs\\\" type=\\\"text\\\" :value=\\\"getValue(field)\\\" :id=\\\"'default-value' + field.id\\\" :name=\\\"'default_values[' + field.id + ']'\\\">\\n <textarea v-if=\\\"field.type == 'textarea'\\\" class=\\\"form-control\\\" :value=\\\"getValue(field)\\\" :id=\\\"'default-value' + field.id\\\" :name=\\\"'default_values[' + field.id + ']'\\\"></textarea><br>\\n\\n <select v-if=\\\"field.type == 'listbox'\\\" class=\\\"form-control m-b-xs\\\" :name=\\\"'default_values[' + field.id + ']'\\\">\\n <option value=\\\"\\\"></option>\\n <option v-for=\\\"field_value in field.field_values_array\\\" :value=\\\"field_value\\\" :selected=\\\"getValue(field) == field_value\\\">{{ field_value }}</option>\\n </select>\\n </div>\\n </div>\\n </div>\\n </fieldset>\\n </div>\\n </div>\\n </div>\\n</template>\\n\\n<script>\\n export default {\\n props: [\\n 'fieldsetId',\\n 'modelId',\\n 'previousInput',\\n ],\\n\\n data() {\\n return {\\n identifiers: {\\n fieldset: null,\\n model: null,\\n },\\n elements: {\\n fieldset: null,\\n field: null,\\n
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-2ee9fe67\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( " exports = module . exports = _ _webpack _require _ _ ( \ " . / node _modules / css - loader / lib / css - base . js \ " ) ( true ) ; \ n // imports\n\n\n// module\nexports.push([module.i, \"\\n.action-link[data-v-2ee9fe67] {\\n cursor: pointer;\\n}\\n.m-b-none[data-v-2ee9fe67] {\\n margin-bottom: 0;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/snipe/Sites/snipe-it/snipe-it/resources/assets/js/components/passport/resources/assets/js/components/passport/AuthorizedClients.vue\"],\"names\":[],\"mappings\":\";AACA;IACA,gBAAA;CACA;AAEA;IACA,iBAAA;CACA\",\"file\":\"AuthorizedClients.vue\",\"sourcesContent\":[\"<style scoped>\\n .action-link {\\n cursor: pointer;\\n }\\n\\n .m-b-none {\\n margin-bottom: 0;\\n }\\n</style>\\n\\n<template>\\n <div>\\n <div v-if=\\\"tokens.length > 0\\\">\\n <div class=\\\"panel panel-default\\\">\\n <h2 class=\\\"panel-heading\\\">Authorized Applications</h2>\\n\\n <div class=\\\"panel-body\\\">\\n <!-- Authorized Tokens -->\\n <table class=\\\"table table-borderless m-b-none\\\">\\n <thead>\\n <tr>\\n <th>Name</th>\\n <th>Scopes</th>\\n <th><span class=\\\"sr-only\\\">Delete</span></th>\\n </tr>\\n </thead>\\n\\n <tbody>\\n <tr v-for=\\\"token in tokens\\\">\\n <!-- Client Name -->\\n <td style=\\\"vertical-align: middle;\\\">\\n {{ token.client.name }}\\n </td>\\n\\n <!-- Scopes -->\\n <td style=\\\"vertical-align: middle;\\\">\\n <span v-if=\\\"token.scopes.length > 0\\\">\\n {{ token.scopes.join(', ') }}\\n </span>\\n </td>\\n\\n <!-- Revoke Button -->\\n <td style=\\\"vertical-align: middle;\\\">\\n <a class=\\\"action-link text-danger\\\" @click=\\\"revoke(token)\\\">\\n Revoke\\n </a>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n </div>\\n </div>\\n</template>\\n\\n<script>\\n export default {\\n props: ['clientsUrl', 'tokensUrl'],\\n /*\\n * The component's data.\\n */\\n data() {\\n return {\\n tokens: []\\n };\\n },\\n\\n /**\\n * Prepare the component (Vue 1.x).\\n */\\n ready() {\\n this.prepareComponent();\\n },\\n\\n /**\\n * Prepare the component (Vue 2.x).\\n */\\n mounted() {\\n this.prepareComponent();\\n },\\n\\n methods: {\\n /**\\n * Prepare the component (Vue 2.x).\\n */\\n prepareComponent() {\\n this.getTokens();\\n },\\n\\n /**\\n * Get all of the authorized tokens for the user.\\n */\\n getTokens() {\\n this.$http.get(this.tokensUrl)\\n .then(response => {\\n this.tokens = response.data;\\n });\\n },\\n\\n /**\\n * Revoke the given token.\\n */\\n revoke(token) {\\n this.$http.delete(this.tokensUrl +'/'+ token.id)\\n .then(response => {\\n this.getTokens();\\n });
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-2fa8d822\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/select2.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "exports = module.exports = __webpack_require__(\"./node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.select2-dropdown[data-v-2fa8d822] {\\n z-index:9999;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/snipe/Sites/snipe-it/snipe-it/resources/assets/js/components/resources/assets/js/components/select2.vue\"],\"names\":[],\"mappings\":\";AAEA;IACA,aAAA;CACA\",\"file\":\"select2.vue\",\"sourcesContent\":[\"\\n<style scoped>\\n .select2-dropdown {\\n z-index:9999;\\n }\\n</style>\\n\\n<template>\\n <select style=\\\"width:100%\\\">\\n <slot></slot>\\n </select>\\n</template>\\n\\n<script>\\n require('select2');\\n export default {\\n /*\\n * The component's data.\\n */\\n props: ['options', 'value'],\\n\\n mounted() {\\n var vm = this;\\n $(this.$el)\\n .select2({\\n data: this.options\\n })\\n .on('change', function() { vm.$emit('input', this.value) } )\\n .val(this.value).trigger('change');\\n },\\n watch: {\\n value: function (value) {\\n $(this.$el).val(value)\\n },\\n options: function (options) {\\n var vm = this;\\n $(this.$el).select2('destroy').empty().select2({data: options})\\n .on('change', function() { vm.$emit('input', this.value) } )\\n .val(this.value).trigger('change');\\n },\\n destroyed: function() {\\n $(this.$el).off().select2('destroy')\\n }\\n }\\n }\\n\\n</script>\\n\"],\"sourceRoot\":\"\" } ] ) ; \ n \ n // exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvc2VsZWN0Mi52dWU/NjAwYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOzs7QUFHQTtBQUNBLCtEQUFnRSxtQkFBbUIsR0FBRyxVQUFVLGlLQUFpSyxLQUFLLFVBQVUsdUZBQXVGLHVCQUF1QixPQUFPLCtKQUErSixzQkFBc0Isd0hBQXdILDRCQUE0QixxREFBcUQsMkRBQTJELDZDQUE2QyxnQ0FBZ0MsdURBQXVELFdBQVcsbUJBQW1CLHVDQUF1Qyx1REFBdUQsNENBQTRDLGdDQUFnQyxrRUFBa0UsY0FBYyw2Q0FBNkMsZ0NBQWdDLHVEQUF1RCxlQUFlLHNDQUFzQyxxRUFBcUUsV0FBVyxPQUFPLGtDQUFrQzs7QUFFNWdEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTJmYThkODIyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6dHJ1ZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9zZWxlY3QyLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikodHJ1ZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCJcXG4uc2VsZWN0Mi1kcm9wZG93bltkYXRhLXYtMmZhOGQ4MjJdIHtcXG4gICAgei1pbmRleDo5OTk5O1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiL1VzZXJzL3NuaXBlL1NpdGVzL3NuaXBlLWl0L3NuaXBlLWl0L3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvc2VsZWN0Mi52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQUVBO0lBQ0EsYUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJzZWxlY3QyLnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJcXG48c3R5bGUgc2NvcGVkPlxcbiAgICAuc2VsZWN0Mi1kcm9wZG93biB7XFxuICAgICAgICB6LWluZGV4Ojk5OTk7XFxuICAgIH1cXG48L3N0eWxlPlxcblxcbjx0ZW1wbGF0ZT5cXG4gICAgICAgIDxzZWxlY3Qgc3R5bGU9XFxcIndpZHRoOjEwMCVcXFwiPlxcbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cXG4gICAgICAgIDwvc2VsZWN0PlxcbjwvdGVtcGxhdGU+XFxuXFxuPHNjcmlwdD5cXG4gICAgcmVxdWlyZSgnc2VsZWN0MicpO1xcbiAgICBleHBvcnQgZGVmYXVsdCB7XFxuICAgICAgICAvKlxcbiAgICAgICAgICogVGhlIGNvbXBvbmVudCdzIGRhdGEuXFxuICAgICAgICAgKi9cXG4gICAgICAgIHByb3BzOiBbJ29wdGlvbnMnLCAndmFsdWUnXSxcXG5cXG4gICAgICAgIG1vdW50ZWQoKSB7XFxuICAgICAgICAgICAgdmFyIHZtID0gdGhpcztcXG4gICAgICAgICAgICAkKHRoaXMuJGVsKVxcbiAgICAgICAgICAgICAgICAuc2VsZWN0Mih7XFxuICAgICAgICAgICAgICAgICA
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-5d1d7d82\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/Clients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "exports = module.exports = __webpack_require__(\"./node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.action-link[data-v-5d1d7d82] {\\n cursor: pointer;\\n}\\n.m-b-none[data-v-5d1d7d82] {\\n margin-bottom: 0;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/snipe/Sites/snipe-it/snipe-it/resources/assets/js/components/passport/resources/assets/js/components/passport/Clients.vue\"],\"names\":[],\"mappings\":\";AACA;IACA,gBAAA;CACA;AAEA;IACA,iBAAA;CACA\",\"file\":\"Clients.vue\",\"sourcesContent\":[\"<style scoped>\\n .action-link {\\n cursor: pointer;\\n }\\n\\n .m-b-none {\\n margin-bottom: 0;\\n }\\n</style>\\n\\n<template>\\n <div>\\n <div class=\\\"panel panel-default\\\">\\n <div class=\\\"panel-heading\\\">\\n <div style=\\\"display: flex; justify-content: space-between; align-items: center;\\\">\\n <h2>\\n OAuth Clients\\n </h2>\\n\\n <a class=\\\"action-link\\\" @click=\\\"showCreateClientForm\\\">\\n Create New Client\\n </a>\\n </div>\\n </div>\\n\\n <div class=\\\"panel-body\\\">\\n <!-- Current Clients -->\\n <p class=\\\"m-b-none\\\" v-if=\\\"clients.length === 0\\\">\\n You have not created any OAuth clients.\\n </p>\\n\\n <table class=\\\"table table-borderless m-b-none\\\" v-if=\\\"clients.length > 0\\\">\\n <thead>\\n <tr>\\n <th>Client ID</th>\\n <th>Name</th>\\n <th>Secret</th>\\n <th><span class=\\\"sr-only\\\">Edit</span></th>\\n <th><span class=\\\"sr-only\\\">Delete</span></th>\\n </tr>\\n </thead>\\n\\n <tbody>\\n <tr v-for=\\\"client in clients\\\">\\n <!-- ID -->\\n <td style=\\\"vertical-align: middle;\\\">\\n {{ client.id }}\\n </td>\\n\\n <!-- Name -->\\n <td style=\\\"vertical-align: middle;\\\">\\n {{ client.name }}\\n </td>\\n\\n <!-- Secret -->\\n <td style=\\\"vertical-align: middle;\\\">\\n <code>{{ client.secret }}</code>\\n </td>\\n\\n <!-- Edit Button -->\\n <td style=\\\"vertical-align: middle;\\\">\\n <a class=\\\"action-link\\\" @click=\\\"edit(client)\\\">\\n Edit\\n </a>\\n </td>\\n\\n <!-- Delete Button -->\\n <td style=\\\"vertical-align: middle;\\\">\\n <a class=\\\"action-link text-danger\\\" @click=\\\"destroy(client)\\\">\\n Delete\\n </a>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n\\n <!-- Create Client Modal -->\\n <div class=\\\"modal fade\\\" id=\\\"modal-create-client\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n <div class=\\\"modal-header\\\">\\n <button type=\\\"button \\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\" aria-hidden=\\\"true\\\">×</button>\\n\\n <h2 class=\\\" modal - title \ \ \
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-608cacf1\",\"scoped\":false,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-file.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "exports = module.exports = __webpack_require__(\"./node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\ntr {\\n padding-left:30px;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/snipe/Sites/snipe-it/snipe-it/resources/assets/js/components/importer/resources/assets/js/components/importer/importer-file.vue\"],\"names\":[],\"mappings\":\";AACA;IACA,kBAAA;CACA\",\"file\":\"importer-file.vue\",\"sourcesContent\":[\"<style>\\ntr {\\n padding-left:30px;\\n}\\n</style>\\n\\n<template>\\n <div v-show=\\\"processDetail\\\">\\n\\n <div class=\\\"row\\\">\\n <div class=\\\"col-md-2\\\"></div>\\n <div class=\\\"col-md-8\\\" style=\\\"padding-top: 30px; margin: 0 auto;\\\">\\n <div class=\\\"dynamic-form-row\\\">\\n <div class=\\\"col-md-5 col-xs-12\\\">\\n <label for=\\\"import-type\\\">Import Type:</label>\\n </div>\\n <div class=\\\"col-md-7 col-xs-12\\\">\\n <select2 :options=\\\"options.importTypes\\\" v-model=\\\"options.importType\\\" required>\\n <option disabled value=\\\"0\\\"></option>\\n </select2>\\n </div>\\n </div>\\n <div class=\\\"dynamic-form-row\\\">\\n <div class=\\\"col-md-5 col-xs-12\\\">\\n <label for=\\\"import-update\\\">Update Existing Values?:</label>\\n </div>\\n <div class=\\\"col-md-7 col-xs-12\\\">\\n <input type=\\\"checkbox\\\" name=\\\"import-update\\\" v-model=\\\"options.update\\\">\\n </div>\\n </div>\\n <div class=\\\"dynamic-form-row\\\">\\n <div class=\\\"col-md-5 col-xs-12\\\">\\n <label for=\\\"send-welcome\\\">Send Welcome Email for new Users?</label>\\n </div>\\n <div class=\\\"col-md-7 col-xs-12\\\">\\n <input type=\\\"checkbox\\\" name=\\\"send-welcome\\\" v-model=\\\"options.send_welcome\\\">\\n </div>\\n </div>\\n </div>\\n <div class=\\\"alert col-md-8 col-md-offset-2\\\" style=\\\"text-align:left\\\"\\n :class=\\\"alertClass\\\"\\n v-if=\\\"statusText\\\">\\n {{ this.statusText }}\\n </div>\\n </div>\\n <div class=\\\"row\\\">\\n <div class=\\\"col-md-2\\\"></div>\\n <div class=\\\"col-md-8\\\" style=\\\"padding-top: 30px;\\\">\\n <div class=\\\"col-md-4 text-right\\\"><h4>Header Field</h4></div>\\n <div class=\\\"col-md-4\\\"><h4>Import Field</h4></div>\\n <div class=\\\"col-md-4\\\"><h4>Sample Value</h4></div>\\n </div>\\n </div>\\n\\n <template v-for=\\\"(header, index) in file.header_row\\\">\\n <div class=\\\"row\\\">\\n <div class=\\\"col-md-2\\\"></div>\\n <div class=\\\"col-md-8\\\">\\n <div class=\\\"col-md-4 text-right\\\">\\n <label :for=\\\"header\\\" class=\\\"control-label\\\">{{ header }}</label>\\n </div>\\n <div class=\\\"col-md-4 form-group\\\">\\n <div required>\\n <select2 :options=\\\"columns\\\" v-model=\\\"columnMappings[header]\\\">\\n <option value=\\\"0\\\">Do Not Import</option>\\n </select2>\\n </div>\\n </div>\\n <div class=\\\"col-md-4\\\">\\n <p class=\\\"form-control-static\\\" > { { activeFile . first _row [ index ] } } < / p > \ \ n < / d i v > \ \ n
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-78c7e3d5\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/alert.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "exports = module.exports = __webpack_require__(\"./node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"alert.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlP2E5ZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7O0FBR0E7QUFDQSxxQ0FBc0MscUZBQXFGOztBQUUzSCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03OGM3ZTNkNVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKSh0cnVlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIlxcblxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiXCIsXCJmaWxlXCI6XCJhbGVydC52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03OGM3ZTNkNVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlXG4vLyBtb2R1bGUgaWQgPSAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03OGM3ZTNkNVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-78c7e3d5\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/alert.vue\n" ) ;
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-89c53f18\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "exports = module.exports = __webpack_require__(\"./node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.action-link[data-v-89c53f18] {\\n cursor: pointer;\\n}\\n.m-b-none[data-v-89c53f18] {\\n margin-bottom: 0;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/snipe/Sites/snipe-it/snipe-it/resources/assets/js/components/passport/resources/assets/js/components/passport/PersonalAccessTokens.vue\"],\"names\":[],\"mappings\":\";AACA;IACA,gBAAA;CACA;AAEA;IACA,iBAAA;CACA\",\"file\":\"PersonalAccessTokens.vue\",\"sourcesContent\":[\"<style scoped>\\n .action-link {\\n cursor: pointer;\\n }\\n\\n .m-b-none {\\n margin-bottom: 0;\\n }\\n</style>\\n\\n<template>\\n <div>\\n <div>\\n <div class=\\\"panel panel-default\\\">\\n <div class=\\\"panel-heading\\\">\\n <div style=\\\"display: flex; justify-content: space-between; align-items: center;\\\">\\n <h2>\\n Personal Access Tokens\\n </h2>\\n\\n <a class=\\\"action-link\\\" @click=\\\"showCreateTokenForm\\\">\\n Create New Token\\n </a>\\n </div>\\n </div>\\n\\n <div class=\\\"panel-body\\\">\\n <!-- No Tokens Notice -->\\n <p class=\\\"m-b-none\\\" v-if=\\\"tokens.length === 0\\\">\\n You have not created any personal access tokens.\\n </p>\\n\\n <!-- Personal Access Tokens -->\\n <table class=\\\"table table-borderless m-b-none\\\" v-if=\\\"tokens.length > 0\\\">\\n <thead>\\n <tr>\\n <th>Name</th>\\n <th><span class=\\\"sr-only\\\">Delete</span></th>\\n </tr>\\n </thead>\\n\\n <tbody>\\n <tr v-for=\\\"token in tokens\\\">\\n <!-- Client Name -->\\n <td style=\\\"vertical-align: middle;\\\">\\n {{ token.name }}\\n </td>\\n\\n <!-- Delete Button -->\\n <td style=\\\"vertical-align: middle;\\\">\\n <a class=\\\"action-link text-danger\\\" @click=\\\"revoke(token)\\\">\\n Delete\\n </a>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n </div>\\n\\n <!-- Create Token Modal -->\\n <div class=\\\"modal fade\\\" id=\\\"modal-create-token\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n <div class=\\\"modal-header\\\">\\n <button type=\\\"button \\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\" aria-hidden=\\\"true\\\">×</button>\\n\\n <h2 class=\\\"modal-title\\\">\\n Create Token\\n </h4>\\n </div>\\n\\n <div class=\\\"modal-body\\\">\\n <!-- Form Errors -->\\n <div class=\\\"alert alert-danger\\\" v-if=\\\"form.errors.length > 0\\\">\\n <p><strong>Whoops!</strong> Something went wrong!</p>\\n <br>\\n <ul>\\n <li v-for=\\\"error in form.errors\\\" > \ \ n { { error } } \ \ n < / l i > \ \ n
/***/ } ) ,
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-b38f57c0\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-errors.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "exports = module.exports = __webpack_require__(\"./node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n\\n\", \"\", {\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"file\":\"importer-errors.vue\",\"sourceRoot\":\"\"}]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZXJyb3JzLnZ1ZT9mYTJhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7OztBQUdBO0FBQ0EscUNBQXNDLCtGQUErRjs7QUFFckkiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYjM4ZjU3YzBcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjp0cnVlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2ltcG9ydGVyL2ltcG9ydGVyLWVycm9ycy52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuXFxuXCIsIFwiXCIsIHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJcIixcImZpbGVcIjpcImltcG9ydGVyLWVycm9ycy52dWVcIixcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1iMzhmNTdjMFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZXJyb3JzLnZ1ZVxuLy8gbW9kdWxlIGlkID0gLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYjM4ZjU3YzBcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjp0cnVlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2ltcG9ydGVyL2ltcG9ydGVyLWVycm9ycy52dWVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-b38f57c0\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-errors.vue\n" ) ;
/***/ } ) ,
/***/ "./node_modules/css-loader/lib/css-base.js" :
/***/ ( function ( module , exports ) {
eval ( "/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\" ; \ n \ t \ t \ t \ t } \ n \ t \ t \ t \ tlist . push ( item ) ; \ n \ t \ t \ t } \ n \ t \ t } \ n \ t } ; \ n \ treturn list ; \ n } ; \ n \ nfunction cssWithMappingToString ( item , useSourceMap ) { \ n \ tvar content = item [ 1 ] || '' ; \ n \ tvar cssMapping = item [ 3 ] ; \ n \ tif ( ! cssMapping ) { \ n \ t \ treturn content ; \ n \ t } \ n \ n \ tif ( useSourceMap && typeof btoa === 'function' ) { \ n \ t \ tvar sourceMapping = toComment ( cssMapping ) ; \ n \ t \ tvar sourceURLs = cssMapping . sources . map ( function ( source ) { \ n \ t \ t \ treturn '/*# sourceURL=' + cssMapping . sourceRoot + source + ' */' \ n \ t \ t } ) ; \ n \ n \ t \ treturn [ content ] . concat ( sourceURLs ) . concat ( [ sourceMapping ] ) . join ( '\\n' ) ; \ n \ t } \ n \ n \ treturn [ content ] . join ( '\\n' ) ; \ n } \ n \ n // Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanM/MTU5ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGdCQUFnQjtBQUNuRCxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlCQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxjQUFjOztBQUVsRTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgbGlzdCA9IFtdO1xuXG5cdC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblx0bGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuXHRcdFx0dmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCk7XG5cdFx0XHRpZihpdGVtWzJdKSB7XG5cdFx0XHRcdHJldHVybiBcIkBtZWRpYSBcIiArIGl0ZW1bMl0gKyBcIntcIiArIGNvbnRlbnQgKyBcIn1cIjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBjb25
/***/ } ) ,
/***/ "./node_modules/jquery-ui/ui/version.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {\n\tif ( true ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(\"./node_modules/jquery/dist/jquery.js\") ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} ( function( $ ) {\n\n$.ui = $.ui || {};\n\nreturn $.ui.version = \"1.12.1\";\n\n} ) );\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3VpL3ZlcnNpb24uanM/NTE5ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7O0FBRUEsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdWkvdmVyc2lvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIiggZnVuY3Rpb24oIGZhY3RvcnkgKSB7XG5cdGlmICggdHlwZW9mIGRlZmluZSA9PT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQgKSB7XG5cblx0XHQvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuXG5cdFx0ZGVmaW5lKCBbIFwianF1ZXJ5XCIgXSwgZmFjdG9yeSApO1xuXHR9IGVsc2Uge1xuXG5cdFx0Ly8gQnJvd3NlciBnbG9iYWxzXG5cdFx0ZmFjdG9yeSggalF1ZXJ5ICk7XG5cdH1cbn0gKCBmdW5jdGlvbiggJCApIHtcblxuJC51aSA9ICQudWkgfHwge307XG5cbnJldHVybiAkLnVpLnZlcnNpb24gPSBcIjEuMTIuMVwiO1xuXG59ICkgKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS91aS92ZXJzaW9uLmpzXG4vLyBtb2R1bGUgaWQgPSAuL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdWkvdmVyc2lvbi5qc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/jquery-ui/ui/version.js\n" ) ;
/***/ } ) ,
/***/ "./node_modules/jquery-ui/ui/widget.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * jQuery UI Widget 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: http://api.jqueryui.com/jQuery.widget/\n//>>demos: http://jqueryui.com/widget/\n\n( function( factory ) {\n\tif ( true ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(\"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(\"./node_modules/jquery-ui/ui/version.js\") ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}( function( $ ) {\n\nvar widgetUuid = 0;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\ttry {\n\n\t\t\t\t// Only trigger remove when necessary to save time\n\t\t\t\tevents = $._data( elem, \"events\" );\n\t\t\t\tif ( events && events.remove ) {\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t\t}\n\n\t\t\t// Http://bugs.jquery.com/ticket/8235\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( $.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword ( the code above always passes args ) \ n \ t \ tif ( arguments . length ) { \ n \ t \ t \ tthis . _createWidget ( options , element ) ; \ n \ t \ t } \ n \ t } ; \ n \ n \ t // Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( !$.isFunction( value ) ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].ap
/***/ } ) ,
/***/ "./node_modules/jquery/dist/jquery.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * jQuery JavaScript Library v3.3.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2018-01-20T17:24Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar document = window.document;\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML <object> elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\";\n };\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, doc, node ) {\n\t\tdoc = doc || document;\n\n\t\tvar i,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\t\t\t\tif ( node[ i ] ) {\n\t\t\t\t\tscript[ i ] = node[ i ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.3.1\" , \ n \ n \ t // Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android <=4.0 only\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n\njQuery.fn = jQuery.protot
/***/ } ) ,
/***/ "./node_modules/lodash/lodash.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( " /* WEBPACK VAR INJECTION */ ( function ( global , module ) { var _ _WEBPACK _AMD _DEFINE _RESULT _ _ ; /**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */ \ n ; ( function ( ) { \ n \ n /** Used as a safe reference for `undefined` in pre-ES5 environments. */ \ n var undefined ; \ n \ n /** Used as the semantic version number. */ \ n var VERSION = '4.17.5' ; \ n \ n /** Used as the size to enable large array optimizations. */ \ n var LARGE _ARRAY _SIZE = 200 ; \ n \ n /** Error message constants. */ \ n var CORE _ERROR _TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.' , \ n FUNC _ERROR _TEXT = 'Expected a function' ; \ n \ n /** Used to stand-in for `undefined` hash values. */ \ n var HASH _UNDEFINED = '__lodash_hash_undefined__' ; \ n \ n /** Used as the maximum memoize cache size. */ \ n var MAX _MEMOIZE _SIZE = 500 ; \ n \ n /** Used as the internal argument placeholder. */ \ n var PLACEHOLDER = '__lodash_placeholder__' ; \ n \ n /** Used to compose bitmasks for cloning. */ \ n var CLONE _DEEP _FLAG = 1 , \ n CLONE _FLAT _FLAG = 2 , \ n CLONE _SYMBOLS _FLAG = 4 ; \ n \ n /** Used to compose bitmasks for value comparisons. */ \ n var COMPARE _PARTIAL _FLAG = 1 , \ n COMPARE _UNORDERED _FLAG = 2 ; \ n \ n /** Used to compose bitmasks for function metadata. */ \ n var WRAP _BIND _FLAG = 1 , \ n WRAP _BIND _KEY _FLAG = 2 , \ n WRAP _CURRY _BOUND _FLAG = 4 , \ n WRAP _CURRY _FLAG = 8 , \ n WRAP _CURRY _RIGHT _FLAG = 16 , \ n WRAP _PARTIAL _FLAG = 32 , \ n WRAP _PARTIAL _RIGHT _FLAG = 64 , \ n WRAP _ARY _FLAG = 128 , \ n WRAP _REARG _FLAG = 256 , \ n WRAP _FLIP _FLAG = 512 ; \ n \ n /** Used as default options for `_.truncate`. */ \ n var DEFAULT _TRUNC _LENGTH = 30 , \ n DEFAULT _TRUNC _OMISSION = '...' ; \ n \ n /** Used to detect hot functions by number of calls within a span of milliseconds. */ \ n var HOT _COUNT = 800 , \ n HOT _SPAN = 16 ; \ n \ n /** Used to indicate the type of lazy iteratees. */ \ n var LAZY _FILTER _FLAG = 1 , \ n LAZY _MAP _FLAG = 2 , \ n LAZY _WHILE _FLAG = 3 ; \ n \ n /** Used as references for various `Number` constants. */ \ n var INFINITY = 1 / 0 , \ n MAX _SAFE _INTEGER = 9007199254740991 , \ n MAX _INTEGER = 1.7976931348623157 e + 308 , \ n NAN = 0 / 0 ; \ n \ n /** Used as references for the maximum length and index of an array. */ \ n var MAX _ARRAY _LENGTH = 4294967295 , \ n MAX _ARRAY _INDEX = MAX _ARRAY _LENGTH - 1 , \ n HALF _MAX _ARRAY _LENGTH = MAX _ARRAY _LENGTH >>> 1 ; \ n \ n /** Used to associate wrap methods with their bit flags. */ \ n var wrapFlags = [ \ n [ 'ary' , WRAP _ARY _FLAG ] , \ n [ 'bind' , WRAP _BIND _FLAG ] , \ n [ 'bindKey' , WRAP _BIND _KEY _FLAG ] , \ n [ 'curry' , WRAP _CURRY _FLAG ] , \ n [ 'curryRight' , WRAP _CURRY _RIGHT _FLAG ] , \ n [ 'flip' , WRAP _FLIP _FLAG ] , \ n [ 'partial' , WRAP _PARTIAL _FLAG ] , \ n [ 'partialRight' , WRAP _PARTIAL _RIGHT _FLAG ] , \ n [ 'rearg' , WRAP _REARG _FLAG ] \ n ] ; \ n \ n /** `Object#toString` result references. */ \ n var argsTag = '[object Arguments]' , \ n arrayTag = '[object Array]' , \ n asyncTag = '[object AsyncFunction]' , \ n boolTag = '[object Boolean]' , \ n dateTag = '[object Date]' , \ n domExcTag = '[object DOMException]' , \ n errorTag = '[object Error]' , \ n funcTag = '[object Function]' , \ n genTag = '[object GeneratorFunction]' , \ n mapTag = '[object Map]' , \ n numberTag = '[object Number]' , \ n nullTag = '[object Null]' , \ n objectTag = '[object Object]' , \ n promiseTag = '[object Promise]' , \ n proxyTag = '[object Proxy]' , \ n regexpTag = '[object RegExp]' , \ n setTag = '[object Set]' , \ n stringTag = '[object String]' , \ n symbolTag = '[object Symbol]' , \ n undefinedTag = '[object Undefined]' , \ n weakMapTag = '[object WeakMap]' , \ n weakSetTag = '[object WeakSet]' ; \ n \ n var arrayBufferTag = '[object ArrayBuffer]' , \ n dataViewTag = '[object DataView]' , \ n float32Tag = '[object Float32Array]' , \ n
/***/ } ) ,
/***/ "./node_modules/select2/dist/js/select2.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;var require;var require;/*!\n * Select2 4.0.13\n * https://select2.github.io\n *\n * Released under the MIT license\n * https://github.com/select2/select2/blob/master/LICENSE.md\n */\n;(function (factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(\"./node_modules/jquery/dist/jquery.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof module === 'object' && module.exports) {\n // Node/CommonJS\n module.exports = function (root, jQuery) {\n if (jQuery === undefined) {\n // require('jQuery') returns a factory that requires window to\n // build a jQuery instance, we normalize how we use modules\n // that require this pattern but the window provided is a noop\n // if it's defined (how jquery works)\n if (typeof window !== 'undefined') {\n jQuery = require('jquery');\n }\n else {\n jQuery = require('jquery')(root);\n }\n }\n factory(jQuery);\n return jQuery;\n };\n } else {\n // Browser globals\n factory(jQuery);\n }\n} (function (jQuery) {\n // This is needed so we can catch the AMD loader configuration and use it\n // The inner file should be wrapped (by `banner.start.js`) in a function that\n // returns the AMD loader references.\n var S2 =(function () {\n // Restore the Select2 AMD loader so it can be used\n // Needed mostly in the language files, where the loader is not inserted\n if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {\n var S2 = jQuery.fn.select2.amd;\n }\nvar S2;(function () { if (!S2 || !S2.requirejs) {\nif (!S2) { S2 = {}; } else { require = S2; }\n/**\n * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.\n * Released under MIT license, http://github.com/requirejs/almond/LICENSE\n */\n//Going sloppy to avoid 'use strict' string cost, but strict practices should\n//be followed.\n/*global setTimeout: false */\n\nvar requirejs, require, define;\n(function (undef) {\n var main, req, makeMap, handlers,\n defined = {},\n waiting = {},\n config = {},\n defining = {},\n hasOwn = Object.prototype.hasOwnProperty,\n aps = [].slice,\n jsSuffixRegExp = /\\.js$/;\n\n function hasProp(obj, prop) {\n return hasOwn.call(obj, prop);\n }\n\n /**\n * Given a relative module name, like ./something, normalize it to\n * a real name that can be mapped to a path.\n * @param {String} name the relative name\n * @param {String} baseName a real name that the name arg is relative\n * to.\n * @returns {String} normalized name\n */\n function normalize(name, baseName) {\n var nameParts, nameSegment, mapValue, foundMap, lastIndex,\n foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,\n baseParts = baseName && baseName.split(\"/\" ) , \ n map = config . map , \ n starMap = ( map && map [ '*' ] ) || { } ; \ n \ n //Adjust any relative paths.\n if (name) {\n name = name.split('/');\n lastIndex = name.length - 1;\n\n // If wanting node ID compatibility, strip .js from end\n // of IDs. Have to do this here, and not in nameToUrl\n // because node allows either .js or non .js to map\n // to same file.\n if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {\n name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');\n }\n\n // Starts with a '.' so need the baseName\n if (
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/component-normalizer.js" :
/***/ ( function ( module , exports ) {
eval ( " /* globals __VUE_SSR_CONTEXT__ */ \ n \ n // IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXIuanM/NTU0ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-2adc8102\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.show && _vm.fields.length\n ? _c(\"div\", [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"fieldset\", [\n _c(\"legend\", { staticClass: \"col-md-3 control-label\" }, [\n _vm._v(\"Default Values\")\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-8 col-xl-7\" },\n [\n _vm.error\n ? _c(\"p\", [\n _vm._v(\n \"\\n There was a problem retrieving the fields for this fieldset.\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.fields, function(field) {\n return _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-12 col-lg-6\" }, [\n _c(\n \"label\",\n {\n staticClass: \"control-label\",\n attrs: { for: \"default-value\" + field.id }\n },\n [_vm._v(_vm._s(field.name))]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-12 col-lg-6\" }, [\n field.type == \"text\"\n ? _c(\"input\", {\n staticClass: \"form-control m-b-xs\",\n attrs: {\n type: \"text\",\n id: \"default-value\" + field.id,\n name: \"default_values[\" + field.id + \"]\"\n },\n domProps: { value: _vm.getValue(field) }\n })\n : _vm._e(),\n _vm._v(\" \"),\n field.type == \"textarea\"\n ? _c(\"textarea\", {\n staticClass: \"form-control\",\n attrs: {\n id: \"default-value\" + field.id,\n name: \"default_values[\" + field.id + \"]\"\n },\n domProps: { value: _vm.getValue(field) }\n })\n : _vm._e(),\n _c(\"br\"),\n _vm._v(\" \"),\n field.type == \"listbox\"\n ? _c(\n \"select\",\n {\n staticClass: \"form-control m-b-xs\",\n attrs: {\n name: \"default_values[\" + field.id + \"]\"\n }\n },\n [\n _c(\"option\", { attrs: { value: \"\" } }),\n _vm._v(\" \"),\n _vm._l(field.field_values_array, function(\n field_value\n ) {\n return _c(\n \"option\" , \ n { \ n domProps : { \ n value : field _value , \ n selected : \ n _vm . getValue ( field ) == field _value \ n } \ n } , \ n [ _vm . _v ( _vm . _s ( field _valu
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-2ee9fe67\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.tokens.length > 0\n ? _c(\"div\", [\n _c(\"div\", { staticClass: \"panel panel-default\" }, [\n _c(\"h2\", { staticClass: \"panel-heading\" }, [\n _vm._v(\"Authorized Applications\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"panel-body\" }, [\n _c(\"table\", { staticClass: \"table table-borderless m-b-none\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.tokens, function(token) {\n return _c(\"tr\", [\n _c(\n \"td\",\n { staticStyle: { \"vertical-align\": \"middle\" } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(token.client.name) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n { staticStyle: { \"vertical-align\": \"middle\" } },\n [\n token.scopes.length > 0\n ? _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(token.scopes.join(\", \")) +\n \"\\n \"\n )\n ])\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n { staticStyle: { \"vertical-align\": \"middle\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"action-link text-danger\",\n on: {\n click: function($event) {\n _vm.revoke(token)\n }\n }\n },\n [\n _vm._v(\n \"\\n Revoke\\n \"\n )\n ]\n )\n ]\n )\n ])\n })\n )\n ])\n ])\n ])\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", [_vm._v(\"Name\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Scopes\")]),\n _vm._v(\" \"),\n _c(\"th\", [_c(\"span\", { staticClass: \"sr-only\" }, [_vm._v(\"Delete\")])])\n ])\n ])\n }\n]\nrender._withStripped = true\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-2ee9fe67\" , module . exports ) \ n } \ n } //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQXV0aG9yaXplZENsaWVudHMudnVlPzVlY2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIscUNBQX
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-2fa8d822\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/select2.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"select\",\n { staticStyle: { width: \"100%\" } },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-2fa8d822\", module.exports)\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvc2VsZWN0Mi52dWU/OGYyMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGVBQWUsZ0JBQWdCLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleC5qcz97XCJpZFwiOlwiZGF0YS12LTJmYThkODIyXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvc2VsZWN0Mi52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwic2VsZWN0XCIsXG4gICAgeyBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSB9LFxuICAgIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSxcbiAgICAyXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5tb2R1bGUuZXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtMmZhOGQ4MjJcIiwgbW9kdWxlLmV4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTJmYThkODIyXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvc2VsZWN0Mi52dWVcbi8vIG1vZHVsZSBpZCA9IC4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4LmpzP3tcImlkXCI6XCJkYXRhLXYtMmZhOGQ4MjJcIixcImhhc1Njb3BlZFwiOnRydWUsXCJidWJsZVwiOntcInRyYW5zZm9ybXNcIjp7fX19IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9zZWxlY3QyLnZ1ZVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-2fa8d822\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/select2.vue\n" ) ;
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-5d1d7d82\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/Clients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "module.exports={render:function(){},staticRenderFns:[]}\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-5d1d7d82\", module.exports)\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQ2xpZW50cy52dWU/NWEyZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQW1CO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleC5qcz97XCJpZFwiOlwiZGF0YS12LTVkMWQ3ZDgyXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQ2xpZW50cy52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cz17cmVuZGVyOmZ1bmN0aW9uKCl7fSxzdGF0aWNSZW5kZXJGbnM6W119XG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gIGlmIChtb2R1bGUuaG90LmRhdGEpIHtcbiAgICByZXF1aXJlKFwidnVlLWhvdC1yZWxvYWQtYXBpXCIpICAgICAgLnJlcmVuZGVyKFwiZGF0YS12LTVkMWQ3ZDgyXCIsIG1vZHVsZS5leHBvcnRzKVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi01ZDFkN2Q4MlwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL3Bhc3Nwb3J0L0NsaWVudHMudnVlXG4vLyBtb2R1bGUgaWQgPSAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleC5qcz97XCJpZFwiOlwiZGF0YS12LTVkMWQ3ZDgyXCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQ2xpZW50cy52dWVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-5d1d7d82\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/Clients.vue\n" ) ;
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-608cacf1\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/importer/importer-file.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.processDetail,\n expression: \"processDetail\"\n }\n ]\n },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-2\" }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"col-md-8\",\n staticStyle: { \"padding-top\": \"30px\", margin: \"0 auto\" }\n },\n [\n _c(\"div\", { staticClass: \"dynamic-form-row\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-md-7 col-xs-12\" },\n [\n _c(\n \"select2\",\n {\n attrs: { options: _vm.options.importTypes, required: \"\" },\n model: {\n value: _vm.options.importType,\n callback: function($$v) {\n _vm.options.importType = $$v\n },\n expression: \"options.importType\"\n }\n },\n [_c(\"option\", { attrs: { disabled: \"\", value: \"0\" } })]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"dynamic-form-row\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-md-7 col-xs-12\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.options.update,\n expression: \"options.update\"\n }\n ],\n attrs: { type: \"checkbox\", name: \"import-update\" },\n domProps: {\n checked: Array.isArray(_vm.options.update)\n ? _vm._i(_vm.options.update, null) > -1\n : _vm.options.update\n },\n on: {\n __c: function($event) {\n var $$a = _vm.options.update,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.options.update = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.options.update = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.options.update = $$c\n }\n }\n }\n })\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"dynamic-form-row\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-md-7 col-xs-12\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.options.send_welcome,\n expression: \"options.send_welcome\"\n }\n ],\n attrs: { type: \"checkbox\", name: \"send-welcome\" } , \ n domProps : { \ n checked : Array . isArray ( _vm . opti
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-78c7e3d5\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/alert.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"col-md-12\", class: _vm.alertType }, [\n _c(\n \"div\",\n { staticClass: \"alert\", class: _vm.alertClassName },\n [\n _c(\n \"button\",\n {\n staticClass: \"close\",\n attrs: { type: \"button\" },\n on: { click: _vm.hideEvent }\n },\n [_vm._v(\"× \")]\n ),\n _vm._v(\" \"),\n _c(\"i\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.alertType == \"success\",\n expression: \"alertType == 'success'\"\n }\n ],\n staticClass: \"fa fa-check faa-pulse animated\",\n attrs: { \"aria-hidden\": \"true\" }\n }),\n _vm._v(\" \"),\n _c(\"strong\", [_vm._v(_vm._s(_vm.title) + \" \")]),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-78c7e3d5\" , module . exports ) \ n } \ n } //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlPzQ4OTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsaURBQWlEO0FBQ3JFO0FBQ0E7QUFDQSxPQUFPLGtEQUFrRDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGlCQUFpQjtBQUNyQyxpQkFBaUI7QUFDakIsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleC5qcz97XCJpZFwiOlwiZGF0YS12LTc4YzdlM2Q1XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImNvbC1tZC0xMlwiLCBjbGFzczogX3ZtLmFsZXJ0VHlwZSB9LCBbXG4gICAgX2MoXG4gICAgICBcImRpdlwiLFxuICAgICAgeyBzdGF0aWNDbGFzczogXCJhbGVydFwiLCBjbGFzczogX3ZtLmFsZXJ0Q2xhc3NOYW1lIH0sXG4gICAgICBbXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiY2xvc2VcIixcbiAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwiYnV0dG9uXCIgfSxcbiAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0uaGlkZUV2ZW50IH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFtfdm0uX3YoXCLDl1wiKV1cbiAgICAgICAgKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJpXCIsIHtcbiAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmFsZXJ0VHlwZSA9PSBcInN1Y2Nlc3NcIixcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJhbGVydFR5cGUgPT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImZhIGZhLWNoZWNrIGZhYS1wdWxzZSBhbmltYXRlZFwiLFxuICAgICAgICAgIGF0dHJzOiB7IFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIgfVxuICAgICAgICB9KSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJzdHJvbmdcIiwgW192bS5fdihfdm0uX3MoX3ZtLnRpdGxlKSArIFwiIFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfdm0uX3QoXCJkZWZhdWx0XCIpXG4gICAgICBdLFxuICAgICAgMlxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5tb2R1bGUuZXhwb3J0cyA9IHsgcmVuZGVyOiByZW5kZXIsIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zIH1cbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-89c53f18\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "module.exports={render:function(){},staticRenderFns:[]}\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-89c53f18\", module.exports)\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlPzg5NGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCLG1CQUFtQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXguanM/e1wiaWRcIjpcImRhdGEtdi04OWM1M2YxOFwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL3Bhc3Nwb3J0L1BlcnNvbmFsQWNjZXNzVG9rZW5zLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzPXtyZW5kZXI6ZnVuY3Rpb24oKXt9LHN0YXRpY1JlbmRlckZuczpbXX1cbmlmIChtb2R1bGUuaG90KSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgaWYgKG1vZHVsZS5ob3QuZGF0YSkge1xuICAgIHJlcXVpcmUoXCJ2dWUtaG90LXJlbG9hZC1hcGlcIikgICAgICAucmVyZW5kZXIoXCJkYXRhLXYtODljNTNmMThcIiwgbW9kdWxlLmV4cG9ydHMpXG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LTg5YzUzZjE4XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlXG4vLyBtb2R1bGUgaWQgPSAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleC5qcz97XCJpZFwiOlwiZGF0YS12LTg5YzUzZjE4XCIsXCJoYXNTY29wZWRcIjp0cnVlLFwiYnVibGVcIjp7XCJ0cmFuc2Zvcm1zXCI6e319fSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-89c53f18\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue\n" ) ;
/***/ } ) ,
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-b38f57c0\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/importer/importer-errors.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.errors\n ? _c(\"div\", { staticClass: \"box\" }, [\n _c(\"div\", { staticClass: \"box-body\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"errors-table\" }, [\n _c(\n \"table\",\n {\n staticClass: \"table table-striped table-bordered\",\n attrs: { id: \"errors-table\" }\n },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.errors, function(error, item) {\n return _c(\n \"tr\",\n [\n _c(\"td\", [_vm._v(_vm._s(item))]),\n _vm._v(\" \"),\n _vm._l(error, function(value, field) {\n return _c(\n \"td\",\n [\n _c(\"b\", [_vm._v(_vm._s(field) + \":\")]),\n _vm._v(\" \"),\n _vm._l(value, function(errorString) {\n return _c(\"span\", [\n _vm._v(_vm._s(errorString[0]))\n ])\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 2\n )\n })\n ],\n 2\n )\n })\n )\n ]\n )\n ])\n ])\n ])\n : _vm._e()\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"alert alert-warning\" }, [\n _c(\"strong\", [_vm._v(\"Warning\")]),\n _vm._v(\" Some Errors occured while importing\\n \")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"th\", [_vm._v(\"Item\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Errors\")])\n ])\n }\n]\nrender._withStripped = true\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\nif (false) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\") .rerender(\"data-v-b38f57c0\" , module . exports ) \ n } \ n } //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZXJyb3JzLnZ1ZT9lODE1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIscUJBQXFCO0FBQ3RDLG1CQUFtQiwwQkFBMEI7QUFDN0M7QUFDQTtBQUNBLHFCQUFxQiw4QkFBOEI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixxQ0FBcUM7QUFDM0Q7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXIvaW5kZXguanM/e1wiaWRcIjpcImRhdGEtdi1iMzhmNTdjMFwiLFwiaGFzU2NvcGVkXCI6dHJ1ZSxcImJ1YmxlXCI6e1widHJhbnNmb3Jtc1wiOnt9fX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2ltcG9ydGVyL2ltcG9ydGVyLWVycm9ycy52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24
/***/ } ) ,
/***/ "./node_modules/vue-resource/dist/vue-resource.esm.js" :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
eval ( "Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Url\", function() { return Url; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Http\", function() { return Http; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Resource\" , function ( ) { return Resource ; } ) ; \ n /*!\n * vue-resource v1.5.0\n * https://github.com/pagekit/vue-resource\n * Released under the MIT License.\n */ \ n \ n /**\n * Promises/A+ polyfill v1.1.4 (https://github.com/bramstein/promis)\n */ \ n \ nvar RESOLVED = 0 ; \ nvar REJECTED = 1 ; \ nvar PENDING = 2 ; \ n \ nfunction Promise $1 ( executor ) { \ n \ n this . state = PENDING ; \ n this . value = undefined ; \ n this . deferred = [ ] ; \ n \ n var promise = this ; \ n \ n try { \ n executor ( function ( x ) { \ n promise . resolve ( x ) ; \ n } , function ( r ) { \ n promise . reject ( r ) ; \ n } ) ; \ n } catch ( e ) { \ n promise . reject ( e ) ; \ n } \ n } \ n \ nPromise$1 . reject = function ( r ) { \ n return new Promise $1 ( function ( resolve , reject ) { \ n reject ( r ) ; \ n } ) ; \ n } ; \ n \ nPromise$1 . resolve = function ( x ) { \ n return new Promise $1 ( function ( resolve , reject ) { \ n resolve ( x ) ; \ n } ) ; \ n } ; \ n \ nPromise$1 . all = function all ( iterable ) { \ n return new Promise $1 ( function ( resolve , reject ) { \ n var count = 0 , result = [ ] ; \ n \ n if ( iterable . length === 0 ) { \ n resolve ( result ) ; \ n } \ n \ n function resolver ( i ) { \ n return function ( x ) { \ n result [ i ] = x ; \ n count += 1 ; \ n \ n if ( count === iterable . length ) { \ n resolve ( result ) ; \ n } \ n } ; \ n } \ n \ n for ( var i = 0 ; i < iterable . length ; i += 1 ) { \ n Promise $1 . resolve ( iterable [ i ] ) . then ( resolver ( i ) , reject ) ; \ n } \ n } ) ; \ n } ; \ n \ nPromise$1 . race = function race ( iterable ) { \ n return new Promise $1 ( function ( resolve , reject ) { \ n for ( var i = 0 ; i < iterable . length ; i += 1 ) { \ n Promise $1 . resolve ( iterable [ i ] ) . then ( resolve , reject ) ; \ n } \ n } ) ; \ n } ; \ n \ nvar p = Promise $1 . prototype ; \ n \ np . resolve = function resolve ( x ) { \ n var promise = this ; \ n \ n if ( promise . state === PENDING ) { \ n if ( x === promise ) { \ n throw new TypeError ( 'Promise settled with itself.' ) ; \ n } \ n \ n var called = false ; \ n \ n try { \ n var then = x && x [ 'then' ] ; \ n \ n if ( x !== null && typeof x === 'object' && typeof then === 'function' ) { \ n then . call ( x , function ( x ) { \ n if ( ! called ) { \ n promise . resolve ( x ) ; \ n } \ n called = true ; \ n \ n } , function ( r ) { \ n if ( ! called ) { \ n promise . reject ( r ) ; \ n } \ n called = true ; \ n } ) ; \ n return ; \ n } \ n } catch ( e ) { \ n if ( ! called ) { \ n promise . reject ( e ) ; \ n } \ n return ; \ n } \ n \ n promise . state = RESOLVED ; \ n promise . value = x ; \ n promise . notify ( ) ; \ n } \ n } ; \ n \ np . reject = function reject ( reason ) { \ n var promise = this ; \ n \ n if ( promise . state === PENDING ) { \ n if ( reason === promise ) { \ n throw new TypeError ( 'Promise settled with itself.' ) ; \ n } \ n \ n promise . state = REJECTED ; \ n promise . value = reason ; \ n promise . notify ( ) ; \ n } \ n } ; \ n \ np . notify = function notify ( ) { \ n var promise = this ; \ n \ n nextTick ( function ( ) { \ n if ( promise . state !== PENDING ) { \ n while ( promise . deferred . length ) { \ n var deferred = promise . deferred . shift ( ) , \ n onResolved = deferred [ 0 ] , \ n onRejected = deferred [ 1 ] , \ n resolve = deferred [ 2 ] , \ n reject = deferred [ 3 ] ; \ n \ n try { \ n if ( promise . state === RESOLVED ) { \ n
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-2adc8102\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2adc8102\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"d8c9dc42\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2adc8102\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./fieldset-default-values.vue\", function() {\n var newContent = require(\"!!../../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2adc8102\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./fieldset-default-values.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvZm9ybXMvYXNzZXQtbW9kZWxzL2ZpZWxkc2V0LWRlZmF1bHQtdmFsdWVzLnZ1ZT8zMzgyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EsdVdBQThPO0FBQzlPO0FBQ0E7QUFDQTtBQUNBLHlIQUE4SDtBQUM5SDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRKQUE0SixpRkFBaUY7QUFDN08scUtBQXFLLGlGQUFpRjtBQUN0UDtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIvaW5kZXguanMhLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtMmFkYzgxMDJcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjp0cnVlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2Zvcm1zL2Fzc2V0LW1vZGVscy9maWVsZHNldC1kZWZhdWx0LXZhbHVlcy52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmFkYzgxMDJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6dHJ1ZX0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9maWVsZHNldC1kZWZhdWx0LXZhbHVlcy52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcImQ4YzlkYzQyXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuY
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-2ee9fe67\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2ee9fe67\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"3875959a\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2ee9fe67\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./AuthorizedClients.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2ee9fe67\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./AuthorizedClients.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQXV0aG9yaXplZENsaWVudHMudnVlPzQ5M2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSx1VkFBd087QUFDeE87QUFDQTtBQUNBO0FBQ0EseUhBQTJIO0FBQzNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0pBQXNKLGlGQUFpRjtBQUN2TywrSkFBK0osaUZBQWlGO0FBQ2hQO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0yZWU5ZmU2N1wiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQXV0aG9yaXplZENsaWVudHMudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTJlZTlmZTY3XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOnRydWV9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vQXV0aG9yaXplZENsaWVudHMudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIzODc1OTU5YVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-2fa8d822\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/select2.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2fa8d822\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/select2.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"48993559\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../node_modules/css-loader/index.js?sourceMap!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2fa8d822\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./select2.vue\", function() {\n var newContent = require(\"!!../../../../node_modules/css-loader/index.js?sourceMap!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2fa8d822\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./select2.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvc2VsZWN0Mi52dWU/MWQzMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLG9VQUFrTztBQUNsTztBQUNBO0FBQ0E7QUFDQSx5SEFBd0g7QUFDeEg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnSkFBZ0osaUZBQWlGO0FBQ2pPLHlKQUF5SixpRkFBaUY7QUFDMU87QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTJmYThkODIyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6dHJ1ZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9zZWxlY3QyLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yZmE4ZDgyMlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjp0cnVlfSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL3NlbGVjdDIudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI0ODk5MzU1OVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmZhOGQ4MjJcXFwiLFxcXCJz
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-5d1d7d82\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/Clients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d1d7d82\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/Clients.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"450b16e7\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d1d7d82\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Clients.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d1d7d82\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Clients.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQ2xpZW50cy52dWU/NWI3OCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLDZVQUF3TztBQUN4TztBQUNBO0FBQ0E7QUFDQSx5SEFBMkg7QUFDM0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzSkFBc0osaUZBQWlGO0FBQ3ZPLCtKQUErSixpRkFBaUY7QUFDaFA7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTVkMWQ3ZDgyXCIsXCJzY29wZWRcIjp0cnVlLFwiaGFzSW5saW5lQ29uZmlnXCI6dHJ1ZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9wYXNzcG9ydC9DbGllbnRzLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi01ZDFkN2Q4MlxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjp0cnVlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL0NsaWVudHMudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI0NTBiMTZlN1wiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97X
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-608cacf1\",\"scoped\":false,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-file.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-608cacf1\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-file.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"456a0465\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-608cacf1\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./importer-file.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-608cacf1\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./importer-file.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZmlsZS52dWU/ZDU2YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBLG9WQUF5TztBQUN6TztBQUNBO0FBQ0E7QUFDQSx5SEFBMkg7QUFDM0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzSkFBc0osa0ZBQWtGO0FBQ3hPLCtKQUErSixrRkFBa0Y7QUFDalA7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsZ0NBQWdDLFVBQVUsRUFBRTtBQUM1QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4LmpzP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTYwOGNhY2YxXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZmlsZS52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjA4Y2FjZjFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOnRydWV9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW1wb3J0ZXItZmlsZS52dWVcIik7XG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlc0NsaWVudC5qc1wiKShcIjQ1NmEwNDY1XCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1s
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-78c7e3d5\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/alert.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-78c7e3d5\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/alert.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"35322cb8\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../node_modules/css-loader/index.js?sourceMap!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-78c7e3d5\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./alert.vue\", function() {\n var newContent = require(\"!!../../../../node_modules/css-loader/index.js?sourceMap!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-78c7e3d5\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./alert.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlPzQ0MjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSxrVUFBa087QUFDbE87QUFDQTtBQUNBO0FBQ0EseUhBQXdIO0FBQ3hIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0pBQWdKLGlGQUFpRjtBQUNqTyx5SkFBeUosaUZBQWlGO0FBQzFPO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi03OGM3ZTNkNVwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTc4YzdlM2Q1XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOnRydWV9IS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vYWxlcnQudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIzNTMyMmNiOFwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNzhjN2UzZDVcXFwiLFxcXCJzY29wZWRcXFwiOn
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-89c53f18\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-89c53f18\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"0c043577\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-89c53f18\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./PersonalAccessTokens.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-89c53f18\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./PersonalAccessTokens.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlP2Y2N2EiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQSwwVkFBd087QUFDeE87QUFDQTtBQUNBO0FBQ0EseUhBQTJIO0FBQzNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0pBQXNKLGlGQUFpRjtBQUN2TywrSkFBK0osaUZBQWlGO0FBQ2hQO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdDQUFnQyxVQUFVLEVBQUU7QUFDNUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi04OWM1M2YxOFwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOnRydWV9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTg5YzUzZjE4XFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOnRydWV9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCIwYzA0MzU3N1wiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-b38f57c0\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-errors.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b38f57c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-errors.vue\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"./node_modules/vue-style-loader/lib/addStylesClient.js\")(\"5e5d105e\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b38f57c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./importer-errors.vue\", function() {\n var newContent = require(\"!!../../../../../node_modules/css-loader/index.js?sourceMap!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b38f57c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./importer-errors.vue\" ) ; \ n if ( typeof newContent === 'string' ) newContent = [ [ module . id , newContent , '' ] ] ; \ n update ( newContent ) ; \ n } ) ; \ n } \ n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZXJyb3JzLnZ1ZT9mZjM1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0EscVZBQXdPO0FBQ3hPO0FBQ0E7QUFDQTtBQUNBLHlIQUEySDtBQUMzSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNKQUFzSixpRkFBaUY7QUFDdk8sK0pBQStKLGlGQUFpRjtBQUNoUDtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxnQ0FBZ0MsVUFBVSxFQUFFO0FBQzVDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3Z1ZS1zdHlsZS1sb2FkZXIvaW5kZXguanMhLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXguanM/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtYjM4ZjU3YzBcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjp0cnVlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wIS4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2ltcG9ydGVyL2ltcG9ydGVyLWVycm9ycy52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdHlsZS1sb2FkZXI6IEFkZHMgc29tZSBjc3MgdG8gdGhlIERPTSBieSBhZGRpbmcgYSA8c3R5bGU+IHRhZ1xuXG4vLyBsb2FkIHRoZSBzdHlsZXNcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleC5qcz97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYjM4ZjU3YzBcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6dHJ1ZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9pbXBvcnRlci1lcnJvcnMudnVlXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikoXCI1ZTVkMTA1ZVwiLCBjb250ZW50LCBmYWxzZSwge30pO1xuLy8gSG90IE1vZHVsZSBSZXBsYWNlbWVudFxuaWYobW9kdWxlLmhvdCkge1xuIC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG4gaWYoIWNvbnRlbnQubG9jYWxzKSB7XG4gICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlc
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/lib/addStylesClient.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\nvar listToStyles = __webpack_require__(\"./node_modules/vue-style-loader/lib/listToStyles.js\")\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\" ] ')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can' t handle source map in server - rendered \ n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = ap
/***/ } ) ,
/***/ "./node_modules/vue-style-loader/lib/listToStyles.js" :
/***/ ( function ( module , exports ) {
eval ( "/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzP2I1MzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyx3QkFBd0I7QUFDM0QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUcmFuc2xhdGVzIHRoZSBsaXN0IGZvcm1hdCBwcm9kdWNlZCBieSBjc3MtbG9hZGVyIGludG8gc29tZXRoaW5nXG4gKiBlYXNpZXIgdG8gbWFuaXB1bGF0ZS5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBsaXN0VG9TdHlsZXMgKHBhcmVudElkLCBsaXN0KSB7XG4gIHZhciBzdHlsZXMgPSBbXVxuICB2YXIgbmV3U3R5bGVzID0ge31cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldXG4gICAgdmFyIGlkID0gaXRlbVswXVxuICAgIHZhciBjc3MgPSBpdGVtWzFdXG4gICAgdmFyIG1lZGlhID0gaXRlbVsyXVxuICAgIHZhciBzb3VyY2VNYXAgPSBpdGVtWzNdXG4gICAgdmFyIHBhcnQgPSB7XG4gICAgICBpZDogcGFyZW50SWQgKyAnOicgKyBpLFxuICAgICAgY3NzOiBjc3MsXG4gICAgICBtZWRpYTogbWVkaWEsXG4gICAgICBzb3VyY2VNYXA6IHNvdXJjZU1hcFxuICAgIH1cbiAgICBpZiAoIW5ld1N0eWxlc1tpZF0pIHtcbiAgICAgIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7IGlkOiBpZCwgcGFydHM6IFtwYXJ0XSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdTdHlsZXNbaWRdLnBhcnRzLnB1c2gocGFydClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0eWxlc1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzXG4vLyBtb2R1bGUgaWQgPSAuL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9saXN0VG9TdHlsZXMuanNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/vue-style-loader/lib/listToStyles.js\n" ) ;
/***/ } ) ,
/***/ "./node_modules/vue/dist/vue.common.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
"use strict" ;
eval ( " /* WEBPACK VAR INJECTION */ ( function ( global ) { /*!\n * Vue.js v2.4.4\n * (c) 2014-2017 Evan You\n * Released under the MIT License.\n */ \ n \ n \ n /* */ \ n \ n // these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nvar _toString = Object.prototype.toString;\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(val);\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind, faster than native\n */\nfunction bind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n // record original fn length\n boundFn._length = fn.length;\n return boundFn\n}\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n v
/***/ } ) ,
/***/ "./node_modules/webpack/buildin/global.js" :
/***/ ( function ( module , exports ) {
eval ( "var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzPzM2OTgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0Qzs7QUFFNUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBnO1xyXG5cclxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcclxuZyA9IChmdW5jdGlvbigpIHtcclxuXHRyZXR1cm4gdGhpcztcclxufSkoKTtcclxuXHJcbnRyeSB7XHJcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXHJcblx0ZyA9IGcgfHwgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpIHx8ICgxLGV2YWwpKFwidGhpc1wiKTtcclxufSBjYXRjaChlKSB7XHJcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcclxuXHRpZih0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKVxyXG5cdFx0ZyA9IHdpbmRvdztcclxufVxyXG5cclxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxyXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xyXG4vLyBlYXNpZXIgdG8gaGFuZGxlIHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGc7XHJcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vICh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qc1xuLy8gbW9kdWxlIGlkID0gLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/global.js\n" ) ;
/***/ } ) ,
/***/ "./node_modules/webpack/buildin/module.js" :
/***/ ( function ( module , exports ) {
eval ( "module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzP2MzYzIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9tb2R1bGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG1vZHVsZSkge1xyXG5cdGlmKCFtb2R1bGUud2VicGFja1BvbHlmaWxsKSB7XHJcblx0XHRtb2R1bGUuZGVwcmVjYXRlID0gZnVuY3Rpb24oKSB7fTtcclxuXHRcdG1vZHVsZS5wYXRocyA9IFtdO1xyXG5cdFx0Ly8gbW9kdWxlLnBhcmVudCA9IHVuZGVmaW5lZCBieSBkZWZhdWx0XHJcblx0XHRpZighbW9kdWxlLmNoaWxkcmVuKSBtb2R1bGUuY2hpbGRyZW4gPSBbXTtcclxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwibG9hZGVkXCIsIHtcclxuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcclxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmw7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJpZFwiLCB7XHJcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXHJcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHRcdG1vZHVsZS53ZWJwYWNrUG9seWZpbGwgPSAxO1xyXG5cdH1cclxuXHRyZXR1cm4gbW9kdWxlO1xyXG59O1xyXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAod2VicGFjaykvYnVpbGRpbi9tb2R1bGUuanNcbi8vIG1vZHVsZSBpZCA9IC4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9tb2R1bGUuanNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/module.js\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/js/bootstrap.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "\nwindow._ = __webpack_require__(\"./node_modules/lodash/lodash.js\");\n\n/**\n * We'll load jQuery and the Bootstrap jQuery plugin which provides support\n * for JavaScript based Bootstrap features such as modals and tabs. This\n * code may be modified to fit the specific needs of your application.\n */\nwindow.$ = window.jQuery = __webpack_require__(\"./node_modules/jquery/dist/jquery.js\");\n\n/**\n * jQuery UI is loaded here and then the tooltip is assigned another funtion name\n * This resolves the issue of jquery-ui & bootstrap tooltip conflict\n */\n__webpack_require__(\"./node_modules/jquery-ui/ui/widget.js\");\njQuery.fn.uitooltip = jQuery.fn.tooltip;\n\n/**\n * Load boostrap\n */\n__webpack_require__(\"./node_modules/bootstrap-less/js/bootstrap.js\");\n\n/**\n * Vue is a modern JavaScript library for building interactive web interfaces\n * using reactive data binding and reusable components. Vue's API is clean\n * and simple, leaving you to focus on building your next great project.\n */\n\nwindow.Vue = __webpack_require__(\"./node_modules/vue/dist/vue.common.js\");\nwindow.eventHub = new Vue();\n__webpack_require__(\"./node_modules/vue-resource/dist/vue-resource.esm.js\");\n\n/**\n * We'll register a HTTP interceptor to attach the \"CSRF\" header to each of\n * the outgoing requests issued by this application. The CSRF middleware\n * included with Laravel will automatically verify the header's value.\n */\n\nVue.http.interceptors.push(function (request, next) {\n request.headers.set('X-CSRF-TOKEN', Laravel.csrfToken);\n\n next();\n});\n\n/**\n * Echo exposes an expressive API for subscribing to channels and listening\n * for events that are broadcast by Laravel. Echo and event broadcasting\n * allows your team to easily build robust real-time web applications.\n */\n\n// import Echo from \"laravel-echo\" \ n \ n // window.Echo = new Echo({\n// broadcaster: 'pusher',\n// key: 'your-pusher-key'\n// });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2Jvb3RzdHJhcC5qcz81OTExIl0sIm5hbWVzIjpbIndpbmRvdyIsIl8iLCJyZXF1aXJlIiwiJCIsImpRdWVyeSIsImZuIiwidWl0b29sdGlwIiwidG9vbHRpcCIsIlZ1ZSIsImV2ZW50SHViIiwiaHR0cCIsImludGVyY2VwdG9ycyIsInB1c2giLCJyZXF1ZXN0IiwibmV4dCIsImhlYWRlcnMiLCJzZXQiLCJMYXJhdmVsIiwiY3NyZlRva2VuIl0sIm1hcHBpbmdzIjoiO0FBQ0FBLE9BQU9DLENBQVAsR0FBVyxtQkFBQUMsQ0FBUSxpQ0FBUixDQUFYOztBQUVBOzs7OztBQUtBRixPQUFPRyxDQUFQLEdBQVdILE9BQU9JLE1BQVAsR0FBZ0IsbUJBQUFGLENBQVEsc0NBQVIsQ0FBM0I7O0FBRUE7Ozs7QUFJQSxtQkFBQUEsQ0FBUSx1Q0FBUjtBQUNBRSxPQUFPQyxFQUFQLENBQVVDLFNBQVYsR0FBc0JGLE9BQU9DLEVBQVAsQ0FBVUUsT0FBaEM7O0FBRUE7OztBQUdBLG1CQUFBTCxDQUFRLCtDQUFSOztBQUVBOzs7Ozs7QUFNQUYsT0FBT1EsR0FBUCxHQUFhLG1CQUFBTixDQUFRLHVDQUFSLENBQWI7QUFDQUYsT0FBT1MsUUFBUCxHQUFrQixJQUFJRCxHQUFKLEVBQWxCO0FBQ0EsbUJBQUFOLENBQVEsc0RBQVI7O0FBRUE7Ozs7OztBQU1BTSxJQUFJRSxJQUFKLENBQVNDLFlBQVQsQ0FBc0JDLElBQXRCLENBQTJCLFVBQUNDLE9BQUQsRUFBVUMsSUFBVixFQUFtQjtBQUMxQ0QsVUFBUUUsT0FBUixDQUFnQkMsR0FBaEIsQ0FBb0IsY0FBcEIsRUFBb0NDLFFBQVFDLFNBQTVDOztBQUVBSjtBQUNILENBSkQ7O0FBTUE7Ozs7OztBQU1BOztBQUVBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9ib290c3RyYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbndpbmRvdy5fID0gcmVxdWlyZSgnbG9kYXNoJyk7XG5cbi8qKlxuICogV2UnbGwgbG9hZCBqUXVlcnkgYW5kIHRoZSBCb290c3RyYXAgalF1ZXJ5IHBsdWdpbiB3aGljaCBwcm92aWRlcyBzdXBwb3J0XG4gKiBmb3IgSmF2YVNjcmlwdCBiYXNlZCBCb290c3RyYXAgZmVhdHVyZXMgc3VjaCBhcyBtb2RhbHMgYW5kIHRhYnMuIFRoaXNcbiAqIGNvZGUgbWF5IGJlIG1vZGlmaWVkIHRvIGZpdCB0aGUgc3BlY2lmaWMgbmVlZHMgb2YgeW91ciBhcHBsaWNhdGlvbi5cbiAqL1xud2luZG93LiQgPSB3aW5kb3cualF1ZXJ5ID0gcmVxdWlyZSgnanF1ZXJ5Jyk7XG5cbi8qKlxuICogalF1ZXJ5IFVJIGlzIGxvYWRlZCBoZXJlIGFuZCB0aGVuIHRoZSB0b29sdGlwIGlzIGFzc2lnbmVkIGFub3RoZXIgZnVudGlvbiBuYW1lXG4gKiBUaGlzIHJlc29sdmVzIHRoZSBpc3N1ZSBvZiBqcXVlcnktdWkgJiBib290c3RyYXAgdG9vbHRpcCBjb25mbGljdFxuICovXG5yZXF1aXJlKCdqcXVlcnktdWknKTtcbmpRdWVyeS5mbi51aXRvb2x0aXAgPSBqUXVlcnkuZm4udG9vbHRpcDsgXG5cbi8qKlxuICogTG9hZCBib29zdHJhcFxuICovXG5yZXF1aXJlKCdib290c3RyYXAtbGVzcycpO1xuXG4vKipcbiAqIFZ1ZSBpcyBhIG1vZGVybiBKYXZhU2NyaXB0IGxpYnJh
/***/ } ) ,
/***/ "./resources/assets/js/components/alert.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-78c7e3d5\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/alert.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/alert.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-78c7e3d5\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/alert.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-78c7e3d5\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/alert.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-78c7e3d5\", Component.options)\n } else {\n hotAPI.reload(\"data-v-78c7e3d5\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlPzZlNmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsK1ZBQWtNO0FBQ2xNO0FBQ0E7QUFDQTtBQUNBLHNhQUFzUjtBQUN0UjtBQUNBLDhSQUErSztBQUMvSztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvYWxlcnQudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi03OGM3ZTNkNVxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjp0cnVlfSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL2FsZXJ0LnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbnZhciBfX3Z1ZV9zY3JpcHRfXyA9IHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlcj97XFxcImNhY2hlRGlyZWN0b3J5XFxcIjp0cnVlLFxcXCJwcmVzZXRzXFxcIjpbW1xcXCJlbnZcXFwiLHtcXFwibW9kdWxlc1xcXCI6ZmFsc2UsXFxcInRhcmdldHNcXFwiOntcXFwiYnJvd3NlcnNcXFwiOltcXFwiPiAyJVxcXCJdLFxcXCJ1Z2xpZnlcXFwiOnRydWV9fV1dLFxcXCJwbHVnaW5zXFxcIjpbXFxcInRyYW5zZm9ybS1vYmplY3QtcmVzdC1zcHJlYWRcXFwiLFtcXFwidHJhbnNmb3JtLXJ1bnRpbWV
/***/ } ) ,
/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2adc8102\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-2adc8102\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2adc8102\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/forms/asset-models/fieldset-default-values.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-2adc8102\", Component.options)\n } else {\n hotAPI.reload(\"data-v-2adc8102\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvZm9ybXMvYXNzZXQtbW9kZWxzL2ZpZWxkc2V0LWRlZmF1bHQtdmFsdWVzLnZ1ZT80NGI5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBLG9ZQUF3TTtBQUN4TTtBQUNBO0FBQ0E7QUFDQSwyY0FBc1I7QUFDdFI7QUFDQSxtVUFBcUw7QUFDckw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2Zvcm1zL2Fzc2V0LW1vZGVscy9maWVsZHNldC1kZWZhdWx0LXZhbHVlcy52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LTJhZGM4MTAyXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOnRydWV9IS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vZmllbGRzZXQtZGVmYXVsdC12YWx1ZXMudnVlXCIpXG59XG52YXIgbm9ybWFsaXplQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIilcbi8qIHNjcmlwdCAqL1xudmFyIF9fdnVlX3NjcmlwdF9fID0gcmVxdWlyZShcIiEhYmFiZWwtbG9hZGVyP3tcXFwiY2FjaGV
/***/ } ) ,
/***/ "./resources/assets/js/components/importer/importer-errors.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-b38f57c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-errors.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/importer/importer-errors.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-b38f57c0\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/importer/importer-errors.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-b38f57c0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/importer/importer-errors.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-b38f57c0\", Component.options)\n } else {\n hotAPI.reload(\"data-v-b38f57c0\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZXJyb3JzLnZ1ZT8zMDViIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBLGtYQUFxTTtBQUNyTTtBQUNBO0FBQ0E7QUFDQSx5YkFBc1I7QUFDdFI7QUFDQSxpVEFBa0w7QUFDbEw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVEIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9qcy9jb21wb25lbnRzL2ltcG9ydGVyL2ltcG9ydGVyLWVycm9ycy52dWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGlzcG9zZWQgPSBmYWxzZVxuZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgaWYgKGRpc3Bvc2VkKSByZXR1cm5cbiAgcmVxdWlyZShcIiEhdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3NvdXJjZU1hcCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXIvaW5kZXg/e1xcXCJ2dWVcXFwiOnRydWUsXFxcImlkXFxcIjpcXFwiZGF0YS12LWIzOGY1N2MwXFxcIixcXFwic2NvcGVkXFxcIjp0cnVlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOnRydWV9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW1wb3J0ZXItZXJyb3JzLnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbnZhciBfX3Z1ZV9zY3JpcHRfXyA9IHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlcj97XFxcImNhY2hlRGlyZWN0b3J5XFxcIjp0cnVlLFxcXCJwcmVzZXRzXFxcIjpbW1xcXCJlbnZcXFwiLHtcXFwibW9kdWxlc1xcXCI6ZmFsc2UsXFxcInRhcmdldHNcXFwiOntcXFwiYnJvd3NlcnNcXFwiOlt
/***/ } ) ,
/***/ "./resources/assets/js/components/importer/importer-file.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-608cacf1\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/importer/importer-file.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/importer/importer-file.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-608cacf1\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/importer/importer-file.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/importer/importer-file.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-608cacf1\", Component.options)\n } else {\n hotAPI.reload(\"data-v-608cacf1\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXItZmlsZS52dWU/YjgyYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSxpWEFBc007QUFDdE07QUFDQTtBQUNBO0FBQ0EsdWJBQXNSO0FBQ3RSO0FBQ0EsZ1RBQW1MO0FBQ25MO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9pbXBvcnRlci9pbXBvcnRlci1maWxlLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNjA4Y2FjZjFcXFwiLFxcXCJzY29wZWRcXFwiOmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOnRydWV9IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXN0eWxlcyZpbmRleD0wIS4vaW1wb3J0ZXItZmlsZS52dWVcIilcbn1cbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG52YXIgX192dWVfc2NyaXB0X18gPSByZXF1aXJlKFwiISFiYWJlbC1sb2FkZXI/e1xcXCJjYWNoZURpcmVjdG9yeVxcXCI6dHJ1ZSxcXFwicHJlc2V0c1xcXCI6W1tcXFwiZW52XFxcIix7XFxcIm1vZHVsZXNcXFwiOmZhbHNlLFxcXCJ0YXJnZXRzXFxcIjp7XFxcImJyb3dzZXJzXFxcIjpbXFxcIj4gMiVcXFwiXSxcXFwidWds
/***/ } ) ,
/***/ "./resources/assets/js/components/importer/importer.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/importer/importer.vue\")\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/importer/importer.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7d9ff630\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7d9ff630\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXIudnVlPzQ0NGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0Esa2JBQXNSO0FBQ3RSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvaW1wb3J0ZXIvaW1wb3J0ZXIudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbnZhciBub3JtYWxpemVDb21wb25lbnQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplclwiKVxuLyogc2NyaXB0ICovXG52YXIgX192dWVfc2NyaXB0X18gPSByZXF1aXJlKFwiISFiYWJlbC1sb2FkZXI/e1xcXCJjYWNoZURpcmVjdG9yeVxcXCI6dHJ1ZSxcXFwicHJlc2V0c1xcXCI6W1tcXFwiZW52XFxcIix7XFxcIm1vZHVsZXNcXFwiOmZhbHNlLFxcXCJ0YXJnZXRzXFxcIjp7XFxcImJyb3dzZXJzXFxcIjpbXFxcIj4gMiVcXFwiXSxcXFwidWdsaWZ5XFxcIjp0cnVlfX1dXSxcXFwicGx1Z2luc1xcXCI6W1xcXCJ0cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkXFxcIixbXFxcInRyYW5zZm9ybS1ydW50aW1lXFxcIix7XFxcInBvbHlmaWxsXFxcIjpmYWxzZSxcXFwiaGVscGVyc1xcXCI6ZmFsc2V9XV19IS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vaW1wb3J0ZXIudnVlXCIpXG4vKiB0ZW1wbGF0ZSAqL1xudmFyIF9fdnVlX3RlbXBsYXRlX18gPSBudWxsXG4vKiB0ZW1wbGF0ZSBmdW5jdGlvbmFsICovXG52YXIgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fID0gZmFsc2Vcbi8qIHN0eWxlcyAqL1xudmFyIF9fdnVlX3N0eWxlc19fID0gbnVsbFxuLyogc2NvcGVJZCAqL1xudmFyIF9fdnVlX3Njb3BlSWRfXyA9IG51bGxcbi8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xudmFyIF9fdnVlX21vZHVsZV9pZGVudGlmaWVyX18gPSBudWxsXG52YXIgQ29tcG9uZW50ID0gbm9ybWFsaXplQ29tcG9uZW50KFxuICBfX3Z1ZV9zY3JpcHRfXyxcbiAgX192dWVfdGVtcGxhdGVfXyxcbiAgX192dWVfdGVtcGxhdGVfZnVuY3Rpb25hbF9fLFxuICBfX3Z1ZV9zdHlsZXNfXyxcbiAgX192dWVfc2NvcGVJZF9fLFxuICBfX3Z1ZV9tb2R1bGVfaWRlbnRpZmllcl9fXG4pXG5Db21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInJlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9pbXBvcnRlci9pbXBvcnRlci52dWVcIlxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkgeyhmdW5jdGlvbiAoKSB7XG4gIHZhciBob3RBUEkgPSByZXF1aXJlKFwidnVlLWhvdC1yZWxvYWQtYXBpXCIpXG4gIGhvdEFQSS5pbnN0YWxsKHJlcXVpcmUoXCJ2dWVcIiksIGZhbHNlKVxuICBpZiAoIWhvdEFQSS5jb21wYXRpYmxlKSByZXR1cm5cbiAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICA
/***/ } ) ,
/***/ "./resources/assets/js/components/passport/AuthorizedClients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2ee9fe67\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-2ee9fe67\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/AuthorizedClients.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2ee9fe67\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/passport/AuthorizedClients.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-2ee9fe67\", Component.options)\n } else {\n hotAPI.reload(\"data-v-2ee9fe67\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQXV0aG9yaXplZENsaWVudHMudnVlPzIzZmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0Esb1hBQXFNO0FBQ3JNO0FBQ0E7QUFDQTtBQUNBLDJiQUFzUjtBQUN0UjtBQUNBLG1UQUFrTDtBQUNsTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQXV0aG9yaXplZENsaWVudHMudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi0yZWU5ZmU2N1xcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjp0cnVlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL0F1dGhvcml6ZWRDbGllbnRzLnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbnZhciBfX3Z1ZV9zY3JpcHRfXyA9IHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlcj97XFxcImNhY2hlRGlyZWN0b3J5XFxcIjp0cnVlLFxcXCJwcmVzZXRzXFxcIjpbW1xcXCJlbnZcXFwiLHtcXFwibW9kdWxlc1xcXCI6ZmFsc2UsXFxcInRhcmdldHNcXFwiOntcXFwiYnJ
/***/ } ) ,
/***/ "./resources/assets/js/components/passport/Clients.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5d1d7d82\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/Clients.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/passport/Clients.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-5d1d7d82\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/Clients.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5d1d7d82\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/passport/Clients.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-5d1d7d82\", Component.options)\n } else {\n hotAPI.reload(\"data-v-5d1d7d82\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvQ2xpZW50cy52dWU/ZGE2MSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSwwV0FBcU07QUFDck07QUFDQTtBQUNBO0FBQ0EsaWJBQXNSO0FBQ3RSO0FBQ0EseVNBQWtMO0FBQ2xMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9wYXNzcG9ydC9DbGllbnRzLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtNWQxZDdkODJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6dHJ1ZX0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9DbGllbnRzLnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbnZhciBfX3Z1ZV9zY3JpcHRfXyA9IHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlcj97XFxcImNhY2hlRGlyZWN0b3J5XFxcIjp0cnVlLFxcXCJwcmVzZXRzXFxcIjpbW1xcXCJlbnZcXFwiLHtcXFwibW9kdWxlc1xcXCI6ZmFsc2UsXFxcInRhcmdldHNcXFwiOntcXFwiYnJvd3NlcnNcXFwiOltcXFwiPiAyJVxcXCJdLFxcXCJ1Z2xpZnlcXFwiOnRydWV9fV1dLFxcXCJwbHVnaW5
/***/ } ) ,
/***/ "./resources/assets/js/components/passport/PersonalAccessTokens.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-89c53f18\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-89c53f18\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/passport/PersonalAccessTokens.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-89c53f18\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/passport/PersonalAccessTokens.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-89c53f18\", Component.options)\n } else {\n hotAPI.reload(\"data-v-89c53f18\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlP2E3MGQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsdVhBQXFNO0FBQ3JNO0FBQ0E7QUFDQTtBQUNBLDhiQUFzUjtBQUN0UjtBQUNBLHNUQUFrTDtBQUNsTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvcGFzc3BvcnQvUGVyc29uYWxBY2Nlc3NUb2tlbnMudnVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGRpc3Bvc2VkID0gZmFsc2VcbmZ1bmN0aW9uIGluamVjdFN0eWxlIChzc3JDb250ZXh0KSB7XG4gIGlmIChkaXNwb3NlZCkgcmV0dXJuXG4gIHJlcXVpcmUoXCIhIXZ1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxcImRhdGEtdi04OWM1M2YxOFxcXCIsXFxcInNjb3BlZFxcXCI6dHJ1ZSxcXFwiaGFzSW5saW5lQ29uZmlnXFxcIjp0cnVlfSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zdHlsZXMmaW5kZXg9MCEuL1BlcnNvbmFsQWNjZXNzVG9rZW5zLnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbnZhciBfX3Z1ZV9zY3JpcHRfXyA9IHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlcj97XFxcImNhY2hlRGlyZWN0b3J5XFxcIjp0cnVlLFxcXCJwcmVzZXRzXFxcIjpbW1xcXCJlbnZcXFwiLHtcXFwibW9kdWxlc1xcXCI6ZmFsc2UsXFxcInR
/***/ } ) ,
/***/ "./resources/assets/js/components/select2.vue" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "var disposed = false\nfunction injectStyle (ssrContext) {\n if (disposed) return\n __webpack_require__(\"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2fa8d822\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/select2.vue\")\n}\nvar normalizeComponent = __webpack_require__(\"./node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\nvar __vue_script__ = __webpack_require__(\"./node_modules/babel-loader/lib/index.js?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/select2.vue\")\n/* template */\nvar __vue_template__ = __webpack_require__(\"./node_modules/vue-loader/lib/template-compiler/index.js?{\\\"id\\\":\\\"data-v-2fa8d822\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/select2.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-2fa8d822\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"resources/assets/js/components/select2.vue\"\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-2fa8d822\", Component.options)\n } else {\n hotAPI.reload(\"data-v-2fa8d822\" , Component . options ) \ n } \ n module . hot . dispose ( function ( data ) { \ n disposed = true \ n } ) \ n } ) ( ) } \ n \ nmodule . exports = Component . exports \ n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL2NvbXBvbmVudHMvc2VsZWN0Mi52dWU/NmI5NCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSxpV0FBa007QUFDbE07QUFDQTtBQUNBO0FBQ0Esd2FBQXNSO0FBQ3RSO0FBQ0EsZ1NBQStLO0FBQy9LO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvanMvY29tcG9uZW50cy9zZWxlY3QyLnZ1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkaXNwb3NlZCA9IGZhbHNlXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBpZiAoZGlzcG9zZWQpIHJldHVyblxuICByZXF1aXJlKFwiISF2dWUtc3R5bGUtbG9hZGVyIWNzcy1sb2FkZXI/c291cmNlTWFwIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxcXCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtMmZhOGQ4MjJcXFwiLFxcXCJzY29wZWRcXFwiOnRydWUsXFxcImhhc0lubGluZUNvbmZpZ1xcXCI6dHJ1ZX0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9c3R5bGVzJmluZGV4PTAhLi9zZWxlY3QyLnZ1ZVwiKVxufVxudmFyIG5vcm1hbGl6ZUNvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpXG4vKiBzY3JpcHQgKi9cbnZhciBfX3Z1ZV9zY3JpcHRfXyA9IHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlcj97XFxcImNhY2hlRGlyZWN0b3J5XFxcIjp0cnVlLFxcXCJwcmVzZXRzXFxcIjpbW1xcXCJlbnZcXFwiLHtcXFwibW9kdWxlc1xcXCI6ZmFsc2UsXFxcInRhcmdldHNcXFwiOntcXFwiYnJvd3NlcnNcXFwiOltcXFwiPiAyJVxcXCJdLFxcXCJ1Z2xpZnlcXFwiOnRydWV9fV1dLFxcXCJwbHVnaW5zXFxcIjpbXFxcInRyYW5zZm9ybS1vYmplY3QtcmVzdC1zcHJlYWRcXFwiLFtcXFwidHJhbnN
/***/ } ) ,
/***/ "./resources/assets/js/vue.js" :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
eval ( "\n/**\n * First we will load all of this project's JavaScript dependencies which\n * include Vue and Vue Resource. This gives a great starting point for\n * building robust, powerful web applications using Vue and Laravel.\n */\n__webpack_require__(\"./resources/assets/js/bootstrap.js\");\n\n/**\n * Next, we will create a fresh Vue application instance and attach it to\n * the page. Then, you may begin adding components to this application\n * or customize the JavaScript scaffolding to fit your unique needs.\n */\nVue.component('passport-clients', __webpack_require__(\"./resources/assets/js/components/passport/Clients.vue\"));\n\nVue.component('passport-authorized-clients', __webpack_require__(\"./resources/assets/js/components/passport/AuthorizedClients.vue\"));\n\nVue.component('passport-personal-access-tokens', __webpack_require__(\"./resources/assets/js/components/passport/PersonalAccessTokens.vue\"));\n\nVue.component('importer', __webpack_require__(\"./resources/assets/js/components/importer/importer.vue\"));\n\nVue.component('fieldset-default-values', __webpack_require__(\"./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue\"));\n\n// Commented out currently to avoid trying to load vue everywhere.\n// const app = new Vue({\n// el: '#app'\n// });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2pzL3Z1ZS5qcz8xODM5Il0sIm5hbWVzIjpbInJlcXVpcmUiLCJWdWUiLCJjb21wb25lbnQiXSwibWFwcGluZ3MiOiI7QUFDQTs7Ozs7QUFLQSxtQkFBQUEsQ0FBUSxvQ0FBUjs7QUFFQTs7Ozs7QUFLQUMsSUFBSUMsU0FBSixDQUNJLGtCQURKLEVBRUksbUJBQUFGLENBQVEsdURBQVIsQ0FGSjs7QUFLQUMsSUFBSUMsU0FBSixDQUNJLDZCQURKLEVBRUksbUJBQUFGLENBQVEsaUVBQVIsQ0FGSjs7QUFLQUMsSUFBSUMsU0FBSixDQUNJLGlDQURKLEVBRUksbUJBQUFGLENBQVEsb0VBQVIsQ0FGSjs7QUFLQUMsSUFBSUMsU0FBSixDQUNJLFVBREosRUFFSSxtQkFBQUYsQ0FBUSx3REFBUixDQUZKOztBQUtBQyxJQUFJQyxTQUFKLENBQ0kseUJBREosRUFFSSxtQkFBQUYsQ0FBUSxpRkFBUixDQUZKOztBQUtBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9qcy92dWUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogRmlyc3Qgd2Ugd2lsbCBsb2FkIGFsbCBvZiB0aGlzIHByb2plY3QncyBKYXZhU2NyaXB0IGRlcGVuZGVuY2llcyB3aGljaFxuICogaW5jbHVkZSBWdWUgYW5kIFZ1ZSBSZXNvdXJjZS4gVGhpcyBnaXZlcyBhIGdyZWF0IHN0YXJ0aW5nIHBvaW50IGZvclxuICogYnVpbGRpbmcgcm9idXN0LCBwb3dlcmZ1bCB3ZWIgYXBwbGljYXRpb25zIHVzaW5nIFZ1ZSBhbmQgTGFyYXZlbC5cbiAqL1xucmVxdWlyZSgnLi9ib290c3RyYXAnKTtcblxuLyoqXG4gKiBOZXh0LCB3ZSB3aWxsIGNyZWF0ZSBhIGZyZXNoIFZ1ZSBhcHBsaWNhdGlvbiBpbnN0YW5jZSBhbmQgYXR0YWNoIGl0IHRvXG4gKiB0aGUgcGFnZS4gVGhlbiwgeW91IG1heSBiZWdpbiBhZGRpbmcgY29tcG9uZW50cyB0byB0aGlzIGFwcGxpY2F0aW9uXG4gKiBvciBjdXN0b21pemUgdGhlIEphdmFTY3JpcHQgc2NhZmZvbGRpbmcgdG8gZml0IHlvdXIgdW5pcXVlIG5lZWRzLlxuICovXG5WdWUuY29tcG9uZW50KFxuICAgICdwYXNzcG9ydC1jbGllbnRzJyxcbiAgICByZXF1aXJlKCcuL2NvbXBvbmVudHMvcGFzc3BvcnQvQ2xpZW50cy52dWUnKVxuKTtcblxuVnVlLmNvbXBvbmVudChcbiAgICAncGFzc3BvcnQtYXV0aG9yaXplZC1jbGllbnRzJyxcbiAgICByZXF1aXJlKCcuL2NvbXBvbmVudHMvcGFzc3BvcnQvQXV0aG9yaXplZENsaWVudHMudnVlJylcbik7XG5cblZ1ZS5jb21wb25lbnQoXG4gICAgJ3Bhc3Nwb3J0LXBlcnNvbmFsLWFjY2Vzcy10b2tlbnMnLFxuICAgIHJlcXVpcmUoJy4vY29tcG9uZW50cy9wYXNzcG9ydC9QZXJzb25hbEFjY2Vzc1Rva2Vucy52dWUnKVxuKTtcblxuVnVlLmNvbXBvbmVudChcbiAgICAnaW1wb3J0ZXInLFxuICAgIHJlcXVpcmUoJy4vY29tcG9uZW50cy9pbXBvcnRlci9pbXBvcnRlci52dWUnKVxuKTtcblxuVnVlLmNvbXBvbmVudChcbiAgICAnZmllbGRzZXQtZGVmYXVsdC12YWx1ZXMnLFxuICAgIHJlcXVpcmUoJy4vY29tcG9uZW50cy9mb3Jtcy9hc3NldC1tb2RlbHMvZmllbGRzZXQtZGVmYXVsdC12YWx1ZXMudnVlJylcbik7XG5cbi8vIENvbW1lbnRlZCBvdXQgY3VycmVudGx5IHRvIGF2b2lkIHRyeWluZyB0byBsb2FkIHZ1ZSBldmVyeXdoZXJlLlxuLy8gY29uc3QgYXBwID0gbmV3IFZ1ZSh7XG4vLyAgICAgZWw6ICcjYXBwJ1xuLy8gfSk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL2pzL3Z1ZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/assets/js/vue.js\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/AdminLTE.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3MvQWRtaW5MVEUubGVzcz85MWEyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL0FkbWluTFRFLmxlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL0FkbWluTFRFLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL0FkbWluTFRFLmxlc3Ncbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/assets/less/AdminLTE.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/app.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3MvYXBwLmxlc3M/NTgzYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9hcHAubGVzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3MvYXBwLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL2FwcC5sZXNzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/assets/less/app.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/overrides.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvb3ZlcnJpZGVzLmxlc3M/ZWJjZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9vdmVycmlkZXMubGVzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvb3ZlcnJpZGVzLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL292ZXJyaWRlcy5sZXNzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/assets/less/overrides.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-black-dark.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ibGFjay1kYXJrLmxlc3M/OWU5MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLWJsYWNrLWRhcmsubGVzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ibGFjay1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tYmxhY2stZGFyay5sZXNzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-black-dark.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-black.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ibGFjay5sZXNzP2FiODMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ibGFjay5sZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLWJsYWNrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tYmxhY2subGVzc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-black.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-blue-dark.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ibHVlLWRhcmsubGVzcz83MDNlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tYmx1ZS1kYXJrLmxlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tYmx1ZS1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tYmx1ZS1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-blue-dark.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-blue.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ibHVlLmxlc3M/ODc1YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLWJsdWUubGVzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ibHVlLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tYmx1ZS5sZXNzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-blue.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-contrast.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1jb250cmFzdC5sZXNzPzExMTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1jb250cmFzdC5sZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLWNvbnRyYXN0Lmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tY29udHJhc3QubGVzc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-contrast.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-green-dark.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ncmVlbi1kYXJrLmxlc3M/NWJlZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLWdyZWVuLWRhcmsubGVzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ncmVlbi1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tZ3JlZW4tZGFyay5sZXNzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-green-dark.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-green.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ncmVlbi5sZXNzPzYwMzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1ncmVlbi5sZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLWdyZWVuLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tZ3JlZW4ubGVzc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-green.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-orange-dark.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1vcmFuZ2UtZGFyay5sZXNzPzZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1vcmFuZ2UtZGFyay5sZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLW9yYW5nZS1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tb3JhbmdlLWRhcmsubGVzc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-orange-dark.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-orange.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1vcmFuZ2UubGVzcz8wMGU0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tb3JhbmdlLmxlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tb3JhbmdlLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tb3JhbmdlLmxlc3Ncbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-orange.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-purple-dark.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1wdXJwbGUtZGFyay5sZXNzPzgxMDkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1wdXJwbGUtZGFyay5sZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLXB1cnBsZS1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcHVycGxlLWRhcmsubGVzc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-purple-dark.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-purple.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1wdXJwbGUubGVzcz8zNGNiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcHVycGxlLmxlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcHVycGxlLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcHVycGxlLmxlc3Ncbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-purple.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-red-dark.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1yZWQtZGFyay5sZXNzPzE3ZDEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1yZWQtZGFyay5sZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLXJlZC1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcmVkLWRhcmsubGVzc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-red-dark.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-red.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi1yZWQubGVzcz8yNTk2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcmVkLmxlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcmVkLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4tcmVkLmxlc3Ncbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-red.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-yellow-dark.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi15ZWxsb3ctZGFyay5sZXNzPzM2MjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi15ZWxsb3ctZGFyay5sZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvbGVzcy9za2lucy9za2luLXllbGxvdy1kYXJrLmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4teWVsbG93LWRhcmsubGVzc1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-yellow-dark.less\n" ) ;
/***/ } ) ,
/***/ "./resources/assets/less/skins/skin-yellow.less" :
/***/ ( function ( module , exports ) {
eval ( "// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL2xlc3Mvc2tpbnMvc2tpbi15ZWxsb3cubGVzcz9lYjMyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4teWVsbG93Lmxlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4teWVsbG93Lmxlc3Ncbi8vIG1vZHVsZSBpZCA9IC4vcmVzb3VyY2VzL2Fzc2V0cy9sZXNzL3NraW5zL3NraW4teWVsbG93Lmxlc3Ncbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/assets/less/skins/skin-yellow.less\n" ) ;
/***/ } ) ,
/***/ 0 :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
_ _webpack _require _ _ ( "./resources/assets/js/vue.js" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/AdminLTE.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/app.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/overrides.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-blue.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-red.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-contrast.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-green.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-green-dark.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-black.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-black-dark.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-red-dark.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-purple.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-purple-dark.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-yellow.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-yellow-dark.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-blue-dark.less" ) ;
_ _webpack _require _ _ ( "./resources/assets/less/skins/skin-orange-dark.less" ) ;
module . exports = _ _webpack _require _ _ ( "./resources/assets/less/skins/skin-orange.less" ) ;
/***/ } ) ,
/***/ 1 :
/***/ ( function ( module , exports ) {
eval ( "/* (ignored) *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZ290IChpZ25vcmVkKT85MTljIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAoaWdub3JlZCkgKi9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyBnb3QgKGlnbm9yZWQpXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n" ) ;
/***/ } )
/******/ } ) ;
2020-04-21 03:07:11 -07:00
! function ( t , e ) { "function" == typeof define && define . amd ? define ( [ ] , e ) : "object" == typeof exports ? module . exports = e ( ) : t . Tether = e ( ) } ( this , function ( ) { "use strict" ; function t ( t , e ) { if ( ! ( t instanceof e ) ) throw new TypeError ( "Cannot call a class as a function" ) } function e ( t ) { var o = t . getBoundingClientRect ( ) , i = { } ; for ( var n in o ) i [ n ] = o [ n ] ; if ( t . ownerDocument !== document ) { var r = t . ownerDocument . defaultView . frameElement ; if ( r ) { var s = e ( r ) ; i . top += s . top , i . bottom += s . top , i . left += s . left , i . right += s . left } } return i } function o ( t ) { var e = getComputedStyle ( t ) || { } , o = e . position , i = [ ] ; if ( "fixed" === o ) return [ t ] ; for ( var n = t ; ( n = n . parentNode ) && n && 1 === n . nodeType ; ) { var r = void 0 ; try { r = getComputedStyle ( n ) } catch ( s ) { } if ( "undefined" == typeof r || null === r ) return i . push ( n ) , i ; var a = r , f = a . overflow , l = a . overflowX , h = a . overflowY ; /(auto|scroll|overlay)/ . test ( f + h + l ) && ( "absolute" !== o || [ "relative" , "absolute" , "fixed" ] . indexOf ( r . position ) >= 0 ) && i . push ( n ) } return i . push ( t . ownerDocument . body ) , t . ownerDocument !== document && i . push ( t . ownerDocument . defaultView ) , i } function i ( ) { O && document . body . removeChild ( O ) , O = null } function n ( t ) { var o = void 0 ; t === document ? ( o = document , t = document . documentElement ) : o = t . ownerDocument ; var i = o . documentElement , n = e ( t ) , r = A ( ) ; return n . top -= r . top , n . left -= r . left , "undefined" == typeof n . width && ( n . width = document . body . scrollWidth - n . left - n . right ) , "undefined" == typeof n . height && ( n . height = document . body . scrollHeight - n . top - n . bottom ) , n . top = n . top - i . clientTop , n . left = n . left - i . clientLeft , n . right = o . body . clientWidth - n . width - n . left , n . bottom = o . body . clientHeight - n . height - n . top , n } function r ( t ) { return t . offsetParent || document . documentElement } function s ( ) { if ( T ) return T ; var t = document . createElement ( "div" ) ; t . style . width = "100%" , t . style . height = "200px" ; var e = document . createElement ( "div" ) ; a ( e . style , { position : "absolute" , top : 0 , left : 0 , pointerEvents : "none" , visibility : "hidden" , width : "200px" , height : "150px" , overflow : "hidden" } ) , e . appendChild ( t ) , document . body . appendChild ( e ) ; var o = t . offsetWidth ; e . style . overflow = "scroll" ; var i = t . offsetWidth ; o === i && ( i = e . clientWidth ) , document . body . removeChild ( e ) ; var n = o - i ; return T = { width : n , height : n } } function a ( ) { var t = arguments . length <= 0 || void 0 === arguments [ 0 ] ? { } : arguments [ 0 ] , e = [ ] ; return Array . prototype . push . apply ( e , arguments ) , e . slice ( 1 ) . forEach ( function ( e ) { if ( e ) for ( var o in e ) ( { } ) . hasOwnProperty . call ( e , o ) && ( t [ o ] = e [ o ] ) } ) , t } function f ( t , e ) { if ( "undefined" != typeof t . classList ) e . split ( " " ) . forEach ( function ( e ) { e . trim ( ) && t . classList . remove ( e ) } ) ; else { var o = new RegExp ( "(^| )" + e . split ( " " ) . join ( "|" ) + "( |$)" , "gi" ) , i = d ( t ) . replace ( o , " " ) ; p ( t , i ) } } function l ( t , e ) { if ( "undefined" != typeof t . classList ) e . split ( " " ) . forEach ( function ( e ) { e . trim ( ) && t . classList . add ( e ) } ) ; else { f ( t , e ) ; var o = d ( t ) + ( " " + e ) ; p ( t , o ) } } function h ( t , e ) { if ( "undefined" != typeof t . classList ) return t . classList . contains ( e ) ; var o = d ( t ) ; return new RegExp ( "(^| )" + e + "( |$)" , "gi" ) . test ( o ) } function d ( t ) { return t . className instanceof t . ownerDocument . defaultView . SVGAnimatedString ? t . className . baseVal : t . className } function p ( t , e ) { t . setAttribute ( "class" , e ) } function u ( t , e , o ) { o . forEach ( function ( o ) { e . indexOf ( o ) === - 1 && h ( t , o ) && f ( t , o ) } ) , e . forEach ( function ( e ) { h ( t , e ) || l ( t , e ) } ) } function t ( t , e ) { if ( ! ( t instanceof e ) ) throw new TypeError ( "Cannot call a class as a function" ) } function c ( t , e ) { if ( "function" != typeof e && null !== e ) throw new TypeError ( "Super expression must either be null or a function, not " + typeof e ) ; t . prototype = Object . create ( e && e . prototype , { constructor : { value : t , enumerable : ! 1 , writable : ! 0 , configurable : ! 0 } } ) , e && ( Object . setPrototypeOf ? Object . setPrototypeOf ( t , e ) : t . _ _proto _ _ = e ) } function g ( t , e ) { var o = arguments . length <= 2 || void 0 === arguments [ 2 ] ? 1 : arguments [ 2 ] ; return t + o >= e && e >= t - o } function m ( ) { return "object" == typeof performance && "function" == typeof performance . now ? performance . now ( ) : + new Date } function v ( ) { for ( var t = { top : 0 , left : 0 } , e = arguments . length , o = Array ( e ) , i = 0 ; i < e ; i ++ ) o [ i ] = arguments [ i ] ; return o . forEach ( function ( e ) { var o = e . top , i = e . left ; "string" == typeof o && ( o = parseFloat ( o , 10 ) ) , "string" == typeof i && ( i = parseFloat ( i , 10 ) ) , t . top += o , t . left += i } ) , t } function y ( t , e ) { return "string" == typeof t . left && t . left . indexOf ( "%" ) !== - 1 && ( t . left = parseFloat ( t . left , 10 ) / 100 * e . width ) , "string" == typeof
/*! Copyright (c) 2011 Piotr Rochala (http:/ / rocha . la )
* Dual licensed under the MIT ( http : //www.opensource.org/licenses/mit-license.php)
* and GPL ( http : //www.opensource.org/licenses/gpl-license.php) licenses.
*
* Version : 1.3 . 8
*
* /
( function ( $ ) {
$ . fn . extend ( {
slimScroll : function ( options ) {
var defaults = {
// width in pixels of the visible scroll area
width : 'auto' ,
// height in pixels of the visible scroll area
height : '250px' ,
// width in pixels of the scrollbar and rail
size : '7px' ,
// scrollbar color, accepts any hex/color value
color : '#000' ,
// scrollbar position - left/right
position : 'right' ,
// distance in pixels between the side edge and the scrollbar
distance : '1px' ,
// default scroll position on load - top / bottom / $('selector')
start : 'top' ,
// sets scrollbar opacity
opacity : . 4 ,
// enables always-on mode for the scrollbar
alwaysVisible : false ,
// check if we should hide the scrollbar when user is hovering over
disableFadeOut : false ,
// sets visibility of the rail
railVisible : false ,
// sets rail color
railColor : '#333' ,
// sets rail opacity
railOpacity : . 2 ,
// whether we should use jQuery UI Draggable to enable bar dragging
railDraggable : true ,
// defautlt CSS class of the slimscroll rail
railClass : 'slimScrollRail' ,
// defautlt CSS class of the slimscroll bar
barClass : 'slimScrollBar' ,
// defautlt CSS class of the slimscroll wrapper
wrapperClass : 'slimScrollDiv' ,
// check if mousewheel should scroll the window if we reach top/bottom
allowPageScroll : false ,
// scroll amount applied to each mouse wheel step
wheelStep : 20 ,
// scroll amount applied when user is using gestures
touchScrollStep : 200 ,
// sets border radius
borderRadius : '7px' ,
// sets border radius of the rail
railBorderRadius : '7px'
} ;
var o = $ . extend ( defaults , options ) ;
// do it for every element that matches selector
this . each ( function ( ) {
var isOverPanel , isOverBar , isDragg , queueHide , touchDif ,
barHeight , percentScroll , lastScroll ,
divS = '<div></div>' ,
minBarHeight = 30 ,
releaseScroll = false ;
// used in event handlers and for better minification
var me = $ ( this ) ;
// ensure we are not binding it again
if ( me . parent ( ) . hasClass ( o . wrapperClass ) )
{
// start from last bar position
var offset = me . scrollTop ( ) ;
// find bar and rail
bar = me . siblings ( '.' + o . barClass ) ;
rail = me . siblings ( '.' + o . railClass ) ;
getBarHeight ( ) ;
// check if we should scroll existing instance
if ( $ . isPlainObject ( options ) )
{
// Pass height: auto to an existing slimscroll object to force a resize after contents have changed
if ( 'height' in options && options . height == 'auto' ) {
me . parent ( ) . css ( 'height' , 'auto' ) ;
me . css ( 'height' , 'auto' ) ;
var height = me . parent ( ) . parent ( ) . height ( ) ;
me . parent ( ) . css ( 'height' , height ) ;
me . css ( 'height' , height ) ;
} else if ( 'height' in options ) {
var h = options . height ;
me . parent ( ) . css ( 'height' , h ) ;
me . css ( 'height' , h ) ;
}
if ( 'scrollTo' in options )
{
// jump to a static point
offset = parseInt ( o . scrollTo ) ;
}
else if ( 'scrollBy' in options )
{
// jump by value pixels
offset += parseInt ( o . scrollBy ) ;
}
else if ( 'destroy' in options )
{
// remove slimscroll elements
bar . remove ( ) ;
rail . remove ( ) ;
me . unwrap ( ) ;
return ;
}
// scroll content by the given offset
scrollContent ( offset , false , true ) ;
}
return ;
}
else if ( $ . isPlainObject ( options ) )
{
if ( 'destroy' in options )
{
return ;
}
}
// optionally set height to the parent's height
o . height = ( o . height == 'auto' ) ? me . parent ( ) . height ( ) : o . height ;
// wrap content
var wrapper = $ ( divS )
. addClass ( o . wrapperClass )
. css ( {
position : 'relative' ,
overflow : 'hidden' ,
width : o . width ,
height : o . height
} ) ;
// update style for the div
me . css ( {
overflow : 'hidden' ,
width : o . width ,
height : o . height
} ) ;
// create scrollbar rail
var rail = $ ( divS )
. addClass ( o . railClass )
. css ( {
width : o . size ,
height : '100%' ,
position : 'absolute' ,
top : 0 ,
display : ( o . alwaysVisible && o . railVisible ) ? 'block' : 'none' ,
'border-radius' : o . railBorderRadius ,
background : o . railColor ,
opacity : o . railOpacity ,
zIndex : 90
} ) ;
// create scrollbar
var bar = $ ( divS )
. addClass ( o . barClass )
. css ( {
background : o . color ,
width : o . size ,
position : 'absolute' ,
top : 0 ,
opacity : o . opacity ,
display : o . alwaysVisible ? 'block' : 'none' ,
'border-radius' : o . borderRadius ,
BorderRadius : o . borderRadius ,
MozBorderRadius : o . borderRadius ,
WebkitBorderRadius : o . borderRadius ,
zIndex : 99
} ) ;
// set position
var posCss = ( o . position == 'right' ) ? { right : o . distance } : { left : o . distance } ;
rail . css ( posCss ) ;
bar . css ( posCss ) ;
// wrap it
me . wrap ( wrapper ) ;
// append to parent div
me . parent ( ) . append ( bar ) ;
me . parent ( ) . append ( rail ) ;
// make it draggable and no longer dependent on the jqueryUI
if ( o . railDraggable ) {
bar . bind ( "mousedown" , function ( e ) {
var $doc = $ ( document ) ;
isDragg = true ;
t = parseFloat ( bar . css ( 'top' ) ) ;
pageY = e . pageY ;
$doc . bind ( "mousemove.slimscroll" , function ( e ) {
currTop = t + e . pageY - pageY ;
bar . css ( 'top' , currTop ) ;
scrollContent ( 0 , bar . position ( ) . top , false ) ; // scroll content
} ) ;
$doc . bind ( "mouseup.slimscroll" , function ( e ) {
isDragg = false ; hideBar ( ) ;
$doc . unbind ( '.slimscroll' ) ;
} ) ;
return false ;
} ) . bind ( "selectstart.slimscroll" , function ( e ) {
e . stopPropagation ( ) ;
e . preventDefault ( ) ;
return false ;
} ) ;
}
// on rail over
rail . hover ( function ( ) {
showBar ( ) ;
} , function ( ) {
hideBar ( ) ;
} ) ;
// on bar over
bar . hover ( function ( ) {
isOverBar = true ;
} , function ( ) {
isOverBar = false ;
} ) ;
// show on parent mouseover
me . hover ( function ( ) {
isOverPanel = true ;
showBar ( ) ;
hideBar ( ) ;
} , function ( ) {
isOverPanel = false ;
hideBar ( ) ;
} ) ;
// support for mobile
me . bind ( 'touchstart' , function ( e , b ) {
if ( e . originalEvent . touches . length )
{
// record where touch started
touchDif = e . originalEvent . touches [ 0 ] . pageY ;
}
} ) ;
me . bind ( 'touchmove' , function ( e ) {
// prevent scrolling the page if necessary
if ( ! releaseScroll )
{
e . originalEvent . preventDefault ( ) ;
}
if ( e . originalEvent . touches . length )
{
// see how far user swiped
var diff = ( touchDif - e . originalEvent . touches [ 0 ] . pageY ) / o . touchScrollStep ;
// scroll content
scrollContent ( diff , true ) ;
touchDif = e . originalEvent . touches [ 0 ] . pageY ;
}
} ) ;
// set up initial height
getBarHeight ( ) ;
// check start position
if ( o . start === 'bottom' )
{
// scroll content to bottom
bar . css ( { top : me . outerHeight ( ) - bar . outerHeight ( ) } ) ;
scrollContent ( 0 , true ) ;
}
else if ( o . start !== 'top' )
{
// assume jQuery selector
scrollContent ( $ ( o . start ) . position ( ) . top , null , true ) ;
// make sure bar stays hidden
if ( ! o . alwaysVisible ) { bar . hide ( ) ; }
}
// attach scroll events
attachWheel ( this ) ;
function _onWheel ( e )
{
// use mouse wheel only when mouse is over
if ( ! isOverPanel ) { return ; }
var e = e || window . event ;
var delta = 0 ;
if ( e . wheelDelta ) { delta = - e . wheelDelta / 120 ; }
if ( e . detail ) { delta = e . detail / 3 ; }
var target = e . target || e . srcTarget || e . srcElement ;
if ( $ ( target ) . closest ( '.' + o . wrapperClass ) . is ( me . parent ( ) ) ) {
// scroll content
scrollContent ( delta , true ) ;
}
// stop window scroll
if ( e . preventDefault && ! releaseScroll ) { e . preventDefault ( ) ; }
if ( ! releaseScroll ) { e . returnValue = false ; }
}
function scrollContent ( y , isWheel , isJump )
{
releaseScroll = false ;
var delta = y ;
var maxTop = me . outerHeight ( ) - bar . outerHeight ( ) ;
if ( isWheel )
{
// move bar with mouse wheel
delta = parseInt ( bar . css ( 'top' ) ) + y * parseInt ( o . wheelStep ) / 100 * bar . outerHeight ( ) ;
// move bar, make sure it doesn't go out
delta = Math . min ( Math . max ( delta , 0 ) , maxTop ) ;
// if scrolling down, make sure a fractional change to the
// scroll position isn't rounded away when the scrollbar's CSS is set
// this flooring of delta would happened automatically when
// bar.css is set below, but we floor here for clarity
delta = ( y > 0 ) ? Math . ceil ( delta ) : Math . floor ( delta ) ;
// scroll the scrollbar
bar . css ( { top : delta + 'px' } ) ;
}
// calculate actual scroll amount
percentScroll = parseInt ( bar . css ( 'top' ) ) / ( me . outerHeight ( ) - bar . outerHeight ( ) ) ;
delta = percentScroll * ( me [ 0 ] . scrollHeight - me . outerHeight ( ) ) ;
if ( isJump )
{
delta = y ;
var offsetTop = delta / me [ 0 ] . scrollHeight * me . outerHeight ( ) ;
offsetTop = Math . min ( Math . max ( offsetTop , 0 ) , maxTop ) ;
bar . css ( { top : offsetTop + 'px' } ) ;
}
// scroll content
me . scrollTop ( delta ) ;
// fire scrolling event
me . trigger ( 'slimscrolling' , ~ ~ delta ) ;
// ensure bar is visible
showBar ( ) ;
// trigger hide when scroll is stopped
hideBar ( ) ;
}
function attachWheel ( target )
{
if ( window . addEventListener )
{
target . addEventListener ( 'DOMMouseScroll' , _onWheel , false ) ;
target . addEventListener ( 'mousewheel' , _onWheel , false ) ;
}
else
{
document . attachEvent ( "onmousewheel" , _onWheel )
}
}
function getBarHeight ( )
{
// calculate scrollbar height and make sure it is not too small
barHeight = Math . max ( ( me . outerHeight ( ) / me [ 0 ] . scrollHeight ) * me . outerHeight ( ) , minBarHeight ) ;
bar . css ( { height : barHeight + 'px' } ) ;
// hide scrollbar if content is not long enough
var display = barHeight == me . outerHeight ( ) ? 'none' : 'block' ;
bar . css ( { display : display } ) ;
}
function showBar ( )
{
// recalculate bar height
getBarHeight ( ) ;
clearTimeout ( queueHide ) ;
// when bar reached top or bottom
if ( percentScroll == ~ ~ percentScroll )
{
//release wheel
releaseScroll = o . allowPageScroll ;
// publish approporiate event
if ( lastScroll != percentScroll )
{
var msg = ( ~ ~ percentScroll == 0 ) ? 'top' : 'bottom' ;
me . trigger ( 'slimscroll' , msg ) ;
}
}
else
{
releaseScroll = false ;
}
lastScroll = percentScroll ;
// show only when required
if ( barHeight >= me . outerHeight ( ) ) {
//allow window scroll
releaseScroll = true ;
return ;
}
bar . stop ( true , true ) . fadeIn ( 'fast' ) ;
if ( o . railVisible ) { rail . stop ( true , true ) . fadeIn ( 'fast' ) ; }
}
function hideBar ( )
{
// only hide when options allow it
if ( ! o . alwaysVisible )
{
queueHide = setTimeout ( function ( ) {
if ( ! ( o . disableFadeOut && isOverPanel ) && ! isOverBar && ! isDragg )
{
bar . fadeOut ( 'slow' ) ;
rail . fadeOut ( 'slow' ) ;
}
} , 1000 ) ;
}
}
} ) ;
// maintain chainability
return this ;
}
} ) ;
$ . fn . extend ( {
slimscroll : $ . fn . slimScroll
} ) ;
} ) ( jQuery ) ;
// This [jQuery](https://jquery.com/) plugin implements an `<iframe>`
// [transport](https://api.jquery.com/jQuery.ajax/#extending-ajax) so that
// `$.ajax()` calls support the uploading of files using standard HTML file
// input fields. This is done by switching the exchange from `XMLHttpRequest`
// to a hidden `iframe` element containing a form that is submitted.
// The [source for the plugin](https://github.com/cmlenz/jquery-iframe-transport)
// is available on [Github](https://github.com/) and licensed under the [MIT
// license](https://github.com/cmlenz/jquery-iframe-transport/blob/master/LICENSE).
// ## Usage
// To use this plugin, you simply add an `iframe` option with the value `true`
// to the Ajax settings an `$.ajax()` call, and specify the file fields to
// include in the submssion using the `files` option, which can be a selector,
// jQuery object, or a list of DOM elements containing one or more
// `<input type="file">` elements:
// $("#myform").submit(function() {
// $.ajax(this.action, {
// files: $(":file", this),
// iframe: true
// }).complete(function(data) {
// console.log(data);
// });
// });
// The plugin will construct hidden `<iframe>` and `<form>` elements, add the
// file field(s) to that form, submit the form, and process the response.
// If you want to include other form fields in the form submission, include
// them in the `data` option, and set the `processData` option to `false`:
// $("#myform").submit(function() {
// $.ajax(this.action, {
// data: $(":text", this).serializeArray(),
// files: $(":file", this),
// iframe: true,
// processData: false
// }).complete(function(data) {
// console.log(data);
// });
// });
// ### Response Data Types
// As the transport does not have access to the HTTP headers of the server
// response, it is not as simple to make use of the automatic content type
// detection provided by jQuery as with regular XHR. If you can't set the
// expected response data type (for example because it may vary depending on
// the outcome of processing by the server), you will need to employ a
// workaround on the server side: Send back an HTML document containing just a
// `<textarea>` element with a `data-type` attribute that specifies the MIME
// type, and put the actual payload in the textarea:
// <textarea data-type="application/json">
// {"ok": true, "message": "Thanks so much"}
// </textarea>
// The iframe transport plugin will detect this and pass the value of the
// `data-type` attribute on to jQuery as if it was the "Content-Type" response
// header, thereby enabling the same kind of conversions that jQuery applies
// to regular responses. For the example above you should get a Javascript
// object as the `data` parameter of the `complete` callback, with the
// properties `ok: true` and `message: "Thanks so much"`.
// ### Handling Server Errors
// Another problem with using an `iframe` for file uploads is that it is
// impossible for the javascript code to determine the HTTP status code of the
// servers response. Effectively, all of the calls you make will look like they
// are getting successful responses, and thus invoke the `done()` or
// `complete()` callbacks. You can only communicate problems using the content
// of the response payload. For example, consider using a JSON response such as
// the following to indicate a problem with an uploaded file:
// <textarea data-type="application/json">
// {"ok": false, "message": "Please only upload reasonably sized files."}
// </textarea>
// ### Compatibility
// This plugin has primarily been tested on Safari 5 (or later), Firefox 4 (or
// later), and Internet Explorer (all the way back to version 6). While I
// haven't found any issues with it so far, I'm fairly sure it still doesn't
// work around all the quirks in all different browsers. But the code is still
// pretty simple overall, so you should be able to fix it and contribute a
// patch :)
// ## Annotated Source
( function ( $ , undefined ) {
"use strict" ;
// Register a prefilter that checks whether the `iframe` option is set, and
// switches to the "iframe" data type if it is `true`.
$ . ajaxPrefilter ( function ( options , origOptions , jqXHR ) {
if ( options . iframe ) {
options . originalURL = options . url ;
return "iframe" ;
}
} ) ;
// Register a transport for the "iframe" data type. It will only activate
// when the "files" option has been set to a non-empty list of enabled file
// inputs.
$ . ajaxTransport ( "iframe" , function ( options , origOptions , jqXHR ) {
var form = null ,
iframe = null ,
name = "iframe-" + $ . now ( ) ,
files = $ ( options . files ) . filter ( ":file:enabled" ) ,
markers = null ,
accepts = null ;
// This function gets called after a successful submission or an abortion
// and should revert all changes made to the page to enable the
// submission via this transport.
function cleanUp ( ) {
files . each ( function ( i , file ) {
var $file = $ ( file ) ;
$file . data ( "clone" ) . replaceWith ( $file ) ;
} ) ;
form . remove ( ) ;
iframe . one ( "load" , function ( ) { iframe . remove ( ) ; } ) ;
iframe . attr ( "src" , "javascript:false;" ) ;
}
// Remove "iframe" from the data types list so that further processing is
// based on the content type returned by the server, without attempting an
// (unsupported) conversion from "iframe" to the actual type.
options . dataTypes . shift ( ) ;
// Use the data from the original AJAX options, as it doesn't seem to be
// copied over since jQuery 1.7.
// See https://github.com/cmlenz/jquery-iframe-transport/issues/6
options . data = origOptions . data ;
if ( files . length ) {
form = $ ( "<form enctype='multipart/form-data' method='post'></form>" ) .
hide ( ) . attr ( { action : options . originalURL , target : name } ) ;
// If there is any additional data specified via the `data` option,
// we add it as hidden fields to the form. This (currently) requires
// the `processData` option to be set to false so that the data doesn't
// get serialized to a string.
if ( typeof ( options . data ) === "string" && options . data . length > 0 ) {
$ . error ( "data must not be serialized" ) ;
}
$ . each ( options . data || { } , function ( name , value ) {
if ( $ . isPlainObject ( value ) ) {
name = value . name ;
value = value . value ;
}
$ ( "<input type='hidden' />" ) . attr ( { name : name , value : value } ) .
appendTo ( form ) ;
} ) ;
// Add a hidden `X-Requested-With` field with the value `IFrame` to the
// field, to help server-side code to determine that the upload happened
// through this transport.
$ ( "<input type='hidden' value='IFrame' name='X-Requested-With' />" ) .
appendTo ( form ) ;
// Borrowed straight from the JQuery source.
// Provides a way of specifying the accepted data type similar to the
// HTTP "Accept" header
if ( options . dataTypes [ 0 ] && options . accepts [ options . dataTypes [ 0 ] ] ) {
accepts = options . accepts [ options . dataTypes [ 0 ] ] +
( options . dataTypes [ 0 ] !== "*" ? ", */*; q=0.01" : "" ) ;
} else {
accepts = options . accepts [ "*" ] ;
}
$ ( "<input type='hidden' name='X-HTTP-Accept'>" ) .
attr ( "value" , accepts ) . appendTo ( form ) ;
// Move the file fields into the hidden form, but first remember their
// original locations in the document by replacing them with disabled
// clones. This should also avoid introducing unwanted changes to the
// page layout during submission.
markers = files . after ( function ( idx ) {
var $this = $ ( this ) ,
$clone = $this . clone ( ) . prop ( "disabled" , true ) ;
$this . data ( "clone" , $clone ) ;
return $clone ;
} ) . next ( ) ;
files . appendTo ( form ) ;
return {
// The `send` function is called by jQuery when the request should be
// sent.
send : function ( headers , completeCallback ) {
iframe = $ ( "<iframe src='javascript:false;' name='" + name +
"' id='" + name + "' style='display:none'></iframe>" ) ;
// The first load event gets fired after the iframe has been injected
// into the DOM, and is used to prepare the actual submission.
iframe . one ( "load" , function ( ) {
// The second load event gets fired when the response to the form
// submission is received. The implementation detects whether the
// actual payload is embedded in a `<textarea>` element, and
// prepares the required conversions to be made in that case.
iframe . one ( "load" , function ( ) {
var doc = this . contentWindow ? this . contentWindow . document :
( this . contentDocument ? this . contentDocument : this . document ) ,
root = doc . documentElement ? doc . documentElement : doc . body ,
textarea = root . getElementsByTagName ( "textarea" ) [ 0 ] ,
type = textarea && textarea . getAttribute ( "data-type" ) || null ,
status = textarea && textarea . getAttribute ( "data-status" ) || 200 ,
statusText = textarea && textarea . getAttribute ( "data-statusText" ) || "OK" ,
content = {
html : root . innerHTML ,
text : type ?
textarea . value :
root ? ( root . textContent || root . innerText ) : null
} ;
cleanUp ( ) ;
completeCallback ( status , statusText , content , type ?
( "Content-Type: " + type ) :
null ) ;
} ) ;
// Now that the load handler has been set up, submit the form.
form [ 0 ] . submit ( ) ;
} ) ;
// After everything has been set up correctly, the form and iframe
// get injected into the DOM so that the submission can be
// initiated.
$ ( "body" ) . append ( form , iframe ) ;
} ,
// The `abort` function is called by jQuery when the request should be
// aborted.
abort : function ( ) {
if ( iframe !== null ) {
iframe . unbind ( "load" ) . attr ( "src" , "javascript:false;" ) ;
cleanUp ( ) ;
}
}
} ;
}
} ) ;
} ) ( jQuery ) ;
/ *
* jQuery File Upload Plugin
* https : //github.com/blueimp/jQuery-File-Upload
*
* Copyright 2010 , Sebastian Tschan
* https : //blueimp.net
*
* Licensed under the MIT license :
* https : //opensource.org/licenses/MIT
* /
/* jshint nomen:false */
/* global define, require, window, document, location, Blob, FormData */
; ( function ( factory ) {
'use strict' ;
if ( typeof define === 'function' && define . amd ) {
// Register as an anonymous AMD module:
define ( [
'jquery' ,
'jquery-ui/ui/widget'
] , factory ) ;
} else if ( typeof exports === 'object' ) {
// Node/CommonJS:
factory (
require ( 'jquery' ) ,
require ( './vendor/jquery.ui.widget' )
) ;
} else {
// Browser globals:
factory ( window . jQuery ) ;
}
} ( function ( $ ) {
'use strict' ;
// Detect file input support, based on
// http://viljamis.com/blog/2012/file-upload-support-on-mobile/
$ . support . fileInput = ! ( new RegExp (
// Handle devices which give false positives for the feature detection:
'(Android (1\\.[0156]|2\\.[01]))' +
'|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' +
'|(w(eb)?OSBrowser)|(webOS)' +
'|(Kindle/(1\\.0|2\\.[05]|3\\.0))'
) . test ( window . navigator . userAgent ) ||
// Feature detection for all other devices:
$ ( '<input type="file"/>' ) . prop ( 'disabled' ) ) ;
// The FileReader API is not actually used, but works as feature detection,
// as some Safari versions (5?) support XHR file uploads via the FormData API,
// but not non-multipart XHR file uploads.
// window.XMLHttpRequestUpload is not available on IE10, so we check for
// window.ProgressEvent instead to detect XHR2 file upload capability:
$ . support . xhrFileUpload = ! ! ( window . ProgressEvent && window . FileReader ) ;
$ . support . xhrFormDataFileUpload = ! ! window . FormData ;
// Detect support for Blob slicing (required for chunked uploads):
$ . support . blobSlice = window . Blob && ( Blob . prototype . slice ||
Blob . prototype . webkitSlice || Blob . prototype . mozSlice ) ;
// Helper function to create drag handlers for dragover/dragenter/dragleave:
function getDragHandler ( type ) {
var isDragOver = type === 'dragover' ;
return function ( e ) {
e . dataTransfer = e . originalEvent && e . originalEvent . dataTransfer ;
var dataTransfer = e . dataTransfer ;
if ( dataTransfer && $ . inArray ( 'Files' , dataTransfer . types ) !== - 1 &&
this . _trigger (
type ,
$ . Event ( type , { delegatedEvent : e } )
) !== false ) {
e . preventDefault ( ) ;
if ( isDragOver ) {
dataTransfer . dropEffect = 'copy' ;
}
}
} ;
}
// The fileupload widget listens for change events on file input fields defined
// via fileInput setting and paste or drop events of the given dropZone.
// In addition to the default jQuery Widget methods, the fileupload widget
// exposes the "add" and "send" methods, to add or directly send files using
// the fileupload API.
// By default, files added via file input selection, paste, drag & drop or
// "add" method are uploaded immediately, but it is possible to override
// the "add" callback option to queue file uploads.
$ . widget ( 'blueimp.fileupload' , {
options : {
// The drop target element(s), by the default the complete document.
// Set to null to disable drag & drop support:
dropZone : $ ( document ) ,
// The paste target element(s), by the default undefined.
// Set to a DOM node or jQuery object to enable file pasting:
pasteZone : undefined ,
// The file input field(s), that are listened to for change events.
// If undefined, it is set to the file input fields inside
// of the widget element on plugin initialization.
// Set to null to disable the change listener.
fileInput : undefined ,
// By default, the file input field is replaced with a clone after
// each input field change event. This is required for iframe transport
// queues and allows change events to be fired for the same file
// selection, but can be disabled by setting the following option to false:
replaceFileInput : true ,
// The parameter name for the file form data (the request argument name).
// If undefined or empty, the name property of the file input field is
// used, or "files[]" if the file input name property is also empty,
// can be a string or an array of strings:
paramName : undefined ,
// By default, each file of a selection is uploaded using an individual
// request for XHR type uploads. Set to false to upload file
// selections in one request each:
singleFileUploads : true ,
// To limit the number of files uploaded with one XHR request,
// set the following option to an integer greater than 0:
limitMultiFileUploads : undefined ,
// The following option limits the number of files uploaded with one
// XHR request to keep the request size under or equal to the defined
// limit in bytes:
limitMultiFileUploadSize : undefined ,
// Multipart file uploads add a number of bytes to each uploaded file,
// therefore the following option adds an overhead for each file used
// in the limitMultiFileUploadSize configuration:
limitMultiFileUploadSizeOverhead : 512 ,
// Set the following option to true to issue all file upload requests
// in a sequential order:
sequentialUploads : false ,
// To limit the number of concurrent uploads,
// set the following option to an integer greater than 0:
limitConcurrentUploads : undefined ,
// Set the following option to true to force iframe transport uploads:
forceIframeTransport : false ,
// Set the following option to the location of a redirect url on the
// origin server, for cross-domain iframe transport uploads:
redirect : undefined ,
// The parameter name for the redirect url, sent as part of the form
// data and set to 'redirect' if this option is empty:
redirectParamName : undefined ,
// Set the following option to the location of a postMessage window,
// to enable postMessage transport uploads:
postMessage : undefined ,
// By default, XHR file uploads are sent as multipart/form-data.
// The iframe transport is always using multipart/form-data.
// Set to false to enable non-multipart XHR uploads:
multipart : true ,
// To upload large files in smaller chunks, set the following option
// to a preferred maximum chunk size. If set to 0, null or undefined,
// or the browser does not support the required Blob API, files will
// be uploaded as a whole.
maxChunkSize : undefined ,
// When a non-multipart upload or a chunked multipart upload has been
// aborted, this option can be used to resume the upload by setting
// it to the size of the already uploaded bytes. This option is most
// useful when modifying the options object inside of the "add" or
// "send" callbacks, as the options are cloned for each file upload.
uploadedBytes : undefined ,
// By default, failed (abort or error) file uploads are removed from the
// global progress calculation. Set the following option to false to
// prevent recalculating the global progress data:
recalculateProgress : true ,
// Interval in milliseconds to calculate and trigger progress events:
progressInterval : 100 ,
// Interval in milliseconds to calculate progress bitrate:
bitrateInterval : 500 ,
// By default, uploads are started automatically when adding files:
autoUpload : true ,
// Error and info messages:
messages : {
uploadedBytes : 'Uploaded bytes exceed file size'
} ,
// Translation function, gets the message key to be translated
// and an object with context specific data as arguments:
i18n : function ( message , context ) {
message = this . messages [ message ] || message . toString ( ) ;
if ( context ) {
$ . each ( context , function ( key , value ) {
message = message . replace ( '{' + key + '}' , value ) ;
} ) ;
}
return message ;
} ,
// Additional form data to be sent along with the file uploads can be set
// using this option, which accepts an array of objects with name and
// value properties, a function returning such an array, a FormData
// object (for XHR file uploads), or a simple object.
// The form of the first fileInput is given as parameter to the function:
formData : function ( form ) {
return form . serializeArray ( ) ;
} ,
// The add callback is invoked as soon as files are added to the fileupload
// widget (via file input selection, drag & drop, paste or add API call).
// If the singleFileUploads option is enabled, this callback will be
// called once for each file in the selection for XHR file uploads, else
// once for each file selection.
//
// The upload starts when the submit method is invoked on the data parameter.
// The data object contains a files property holding the added files
// and allows you to override plugin options as well as define ajax settings.
//
// Listeners for this callback can also be bound the following way:
// .bind('fileuploadadd', func);
//
// data.submit() returns a Promise object and allows to attach additional
// handlers using jQuery's Deferred callbacks:
// data.submit().done(func).fail(func).always(func);
add : function ( e , data ) {
if ( e . isDefaultPrevented ( ) ) {
return false ;
}
if ( data . autoUpload || ( data . autoUpload !== false &&
$ ( this ) . fileupload ( 'option' , 'autoUpload' ) ) ) {
data . process ( ) . done ( function ( ) {
data . submit ( ) ;
} ) ;
}
} ,
// Other callbacks:
// Callback for the submit event of each file upload:
// submit: function (e, data) {}, // .bind('fileuploadsubmit', func);
// Callback for the start of each file upload request:
// send: function (e, data) {}, // .bind('fileuploadsend', func);
// Callback for successful uploads:
// done: function (e, data) {}, // .bind('fileuploaddone', func);
// Callback for failed (abort or error) uploads:
// fail: function (e, data) {}, // .bind('fileuploadfail', func);
// Callback for completed (success, abort or error) requests:
// always: function (e, data) {}, // .bind('fileuploadalways', func);
// Callback for upload progress events:
// progress: function (e, data) {}, // .bind('fileuploadprogress', func);
// Callback for global upload progress events:
// progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);
// Callback for uploads start, equivalent to the global ajaxStart event:
// start: function (e) {}, // .bind('fileuploadstart', func);
// Callback for uploads stop, equivalent to the global ajaxStop event:
// stop: function (e) {}, // .bind('fileuploadstop', func);
// Callback for change events of the fileInput(s):
// change: function (e, data) {}, // .bind('fileuploadchange', func);
// Callback for paste events to the pasteZone(s):
// paste: function (e, data) {}, // .bind('fileuploadpaste', func);
// Callback for drop events of the dropZone(s):
// drop: function (e, data) {}, // .bind('fileuploaddrop', func);
// Callback for dragover events of the dropZone(s):
// dragover: function (e) {}, // .bind('fileuploaddragover', func);
// Callback for the start of each chunk upload request:
// chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func);
// Callback for successful chunk uploads:
// chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func);
// Callback for failed (abort or error) chunk uploads:
// chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func);
// Callback for completed (success, abort or error) chunk upload requests:
// chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func);
// The plugin options are used as settings object for the ajax calls.
// The following are jQuery ajax settings required for the file uploads:
processData : false ,
contentType : false ,
cache : false ,
timeout : 0
} ,
// A list of options that require reinitializing event listeners and/or
// special initialization code:
_specialOptions : [
'fileInput' ,
'dropZone' ,
'pasteZone' ,
'multipart' ,
'forceIframeTransport'
] ,
_blobSlice : $ . support . blobSlice && function ( ) {
var slice = this . slice || this . webkitSlice || this . mozSlice ;
return slice . apply ( this , arguments ) ;
} ,
_BitrateTimer : function ( ) {
this . timestamp = ( ( Date . now ) ? Date . now ( ) : ( new Date ( ) ) . getTime ( ) ) ;
this . loaded = 0 ;
this . bitrate = 0 ;
this . getBitrate = function ( now , loaded , interval ) {
var timeDiff = now - this . timestamp ;
if ( ! this . bitrate || ! interval || timeDiff > interval ) {
this . bitrate = ( loaded - this . loaded ) * ( 1000 / timeDiff ) * 8 ;
this . loaded = loaded ;
this . timestamp = now ;
}
return this . bitrate ;
} ;
} ,
_isXHRUpload : function ( options ) {
return ! options . forceIframeTransport &&
( ( ! options . multipart && $ . support . xhrFileUpload ) ||
$ . support . xhrFormDataFileUpload ) ;
} ,
_getFormData : function ( options ) {
var formData ;
if ( $ . type ( options . formData ) === 'function' ) {
return options . formData ( options . form ) ;
}
if ( $ . isArray ( options . formData ) ) {
return options . formData ;
}
if ( $ . type ( options . formData ) === 'object' ) {
formData = [ ] ;
$ . each ( options . formData , function ( name , value ) {
formData . push ( { name : name , value : value } ) ;
} ) ;
return formData ;
}
return [ ] ;
} ,
_getTotal : function ( files ) {
var total = 0 ;
$ . each ( files , function ( index , file ) {
total += file . size || 1 ;
} ) ;
return total ;
} ,
_initProgressObject : function ( obj ) {
var progress = {
loaded : 0 ,
total : 0 ,
bitrate : 0
} ;
if ( obj . _progress ) {
$ . extend ( obj . _progress , progress ) ;
} else {
obj . _progress = progress ;
}
} ,
_initResponseObject : function ( obj ) {
var prop ;
if ( obj . _response ) {
for ( prop in obj . _response ) {
if ( obj . _response . hasOwnProperty ( prop ) ) {
delete obj . _response [ prop ] ;
}
}
} else {
obj . _response = { } ;
}
} ,
_onProgress : function ( e , data ) {
if ( e . lengthComputable ) {
var now = ( ( Date . now ) ? Date . now ( ) : ( new Date ( ) ) . getTime ( ) ) ,
loaded ;
if ( data . _time && data . progressInterval &&
( now - data . _time < data . progressInterval ) &&
e . loaded !== e . total ) {
return ;
}
data . _time = now ;
loaded = Math . floor (
e . loaded / e . total * ( data . chunkSize || data . _progress . total )
) + ( data . uploadedBytes || 0 ) ;
// Add the difference from the previously loaded state
// to the global loaded counter:
this . _progress . loaded += ( loaded - data . _progress . loaded ) ;
this . _progress . bitrate = this . _bitrateTimer . getBitrate (
now ,
this . _progress . loaded ,
data . bitrateInterval
) ;
data . _progress . loaded = data . loaded = loaded ;
data . _progress . bitrate = data . bitrate = data . _bitrateTimer . getBitrate (
now ,
loaded ,
data . bitrateInterval
) ;
// Trigger a custom progress event with a total data property set
// to the file size(s) of the current upload and a loaded data
// property calculated accordingly:
this . _trigger (
'progress' ,
$ . Event ( 'progress' , { delegatedEvent : e } ) ,
data
) ;
// Trigger a global progress event for all current file uploads,
// including ajax calls queued for sequential file uploads:
this . _trigger (
'progressall' ,
$ . Event ( 'progressall' , { delegatedEvent : e } ) ,
this . _progress
) ;
}
} ,
_initProgressListener : function ( options ) {
var that = this ,
xhr = options . xhr ? options . xhr ( ) : $ . ajaxSettings . xhr ( ) ;
// Accesss to the native XHR object is required to add event listeners
// for the upload progress event:
if ( xhr . upload ) {
$ ( xhr . upload ) . bind ( 'progress' , function ( e ) {
var oe = e . originalEvent ;
// Make sure the progress event properties get copied over:
e . lengthComputable = oe . lengthComputable ;
e . loaded = oe . loaded ;
e . total = oe . total ;
that . _onProgress ( e , options ) ;
} ) ;
options . xhr = function ( ) {
return xhr ;
} ;
}
} ,
_isInstanceOf : function ( type , obj ) {
// Cross-frame instanceof check
return Object . prototype . toString . call ( obj ) === '[object ' + type + ']' ;
} ,
_initXHRData : function ( options ) {
var that = this ,
formData ,
file = options . files [ 0 ] ,
// Ignore non-multipart setting if not supported:
multipart = options . multipart || ! $ . support . xhrFileUpload ,
paramName = $ . type ( options . paramName ) === 'array' ?
options . paramName [ 0 ] : options . paramName ;
options . headers = $ . extend ( { } , options . headers ) ;
if ( options . contentRange ) {
options . headers [ 'Content-Range' ] = options . contentRange ;
}
if ( ! multipart || options . blob || ! this . _isInstanceOf ( 'File' , file ) ) {
options . headers [ 'Content-Disposition' ] = 'attachment; filename="' +
encodeURI ( file . uploadName || file . name ) + '"' ;
}
if ( ! multipart ) {
options . contentType = file . type || 'application/octet-stream' ;
options . data = options . blob || file ;
} else if ( $ . support . xhrFormDataFileUpload ) {
if ( options . postMessage ) {
// window.postMessage does not allow sending FormData
// objects, so we just add the File/Blob objects to
// the formData array and let the postMessage window
// create the FormData object out of this array:
formData = this . _getFormData ( options ) ;
if ( options . blob ) {
formData . push ( {
name : paramName ,
value : options . blob
} ) ;
} else {
$ . each ( options . files , function ( index , file ) {
formData . push ( {
name : ( $ . type ( options . paramName ) === 'array' &&
options . paramName [ index ] ) || paramName ,
value : file
} ) ;
} ) ;
}
} else {
if ( that . _isInstanceOf ( 'FormData' , options . formData ) ) {
formData = options . formData ;
} else {
formData = new FormData ( ) ;
$ . each ( this . _getFormData ( options ) , function ( index , field ) {
formData . append ( field . name , field . value ) ;
} ) ;
}
if ( options . blob ) {
formData . append (
paramName ,
options . blob ,
file . uploadName || file . name
) ;
} else {
$ . each ( options . files , function ( index , file ) {
// This check allows the tests to run with
// dummy objects:
if ( that . _isInstanceOf ( 'File' , file ) ||
that . _isInstanceOf ( 'Blob' , file ) ) {
formData . append (
( $ . type ( options . paramName ) === 'array' &&
options . paramName [ index ] ) || paramName ,
file ,
file . uploadName || file . name
) ;
}
} ) ;
}
}
options . data = formData ;
}
// Blob reference is not needed anymore, free memory:
options . blob = null ;
} ,
_initIframeSettings : function ( options ) {
var targetHost = $ ( '<a></a>' ) . prop ( 'href' , options . url ) . prop ( 'host' ) ;
// Setting the dataType to iframe enables the iframe transport:
options . dataType = 'iframe ' + ( options . dataType || '' ) ;
// The iframe transport accepts a serialized array as form data:
options . formData = this . _getFormData ( options ) ;
// Add redirect url to form data on cross-domain uploads:
if ( options . redirect && targetHost && targetHost !== location . host ) {
options . formData . push ( {
name : options . redirectParamName || 'redirect' ,
value : options . redirect
} ) ;
}
} ,
_initDataSettings : function ( options ) {
if ( this . _isXHRUpload ( options ) ) {
if ( ! this . _chunkedUpload ( options , true ) ) {
if ( ! options . data ) {
this . _initXHRData ( options ) ;
}
this . _initProgressListener ( options ) ;
}
if ( options . postMessage ) {
// Setting the dataType to postmessage enables the
// postMessage transport:
options . dataType = 'postmessage ' + ( options . dataType || '' ) ;
}
} else {
this . _initIframeSettings ( options ) ;
}
} ,
_getParamName : function ( options ) {
var fileInput = $ ( options . fileInput ) ,
paramName = options . paramName ;
if ( ! paramName ) {
paramName = [ ] ;
fileInput . each ( function ( ) {
var input = $ ( this ) ,
name = input . prop ( 'name' ) || 'files[]' ,
i = ( input . prop ( 'files' ) || [ 1 ] ) . length ;
while ( i ) {
paramName . push ( name ) ;
i -= 1 ;
}
} ) ;
if ( ! paramName . length ) {
paramName = [ fileInput . prop ( 'name' ) || 'files[]' ] ;
}
} else if ( ! $ . isArray ( paramName ) ) {
paramName = [ paramName ] ;
}
return paramName ;
} ,
_initFormSettings : function ( options ) {
// Retrieve missing options from the input field and the
// associated form, if available:
if ( ! options . form || ! options . form . length ) {
options . form = $ ( options . fileInput . prop ( 'form' ) ) ;
// If the given file input doesn't have an associated form,
// use the default widget file input's form:
if ( ! options . form . length ) {
options . form = $ ( this . options . fileInput . prop ( 'form' ) ) ;
}
}
options . paramName = this . _getParamName ( options ) ;
if ( ! options . url ) {
options . url = options . form . prop ( 'action' ) || location . href ;
}
// The HTTP request method must be "POST" or "PUT":
options . type = ( options . type ||
( $ . type ( options . form . prop ( 'method' ) ) === 'string' &&
options . form . prop ( 'method' ) ) || ''
) . toUpperCase ( ) ;
if ( options . type !== 'POST' && options . type !== 'PUT' &&
options . type !== 'PATCH' ) {
options . type = 'POST' ;
}
if ( ! options . formAcceptCharset ) {
options . formAcceptCharset = options . form . attr ( 'accept-charset' ) ;
}
} ,
_getAJAXSettings : function ( data ) {
var options = $ . extend ( { } , this . options , data ) ;
this . _initFormSettings ( options ) ;
this . _initDataSettings ( options ) ;
return options ;
} ,
// jQuery 1.6 doesn't provide .state(),
// while jQuery 1.8+ removed .isRejected() and .isResolved():
_getDeferredState : function ( deferred ) {
if ( deferred . state ) {
return deferred . state ( ) ;
}
if ( deferred . isResolved ( ) ) {
return 'resolved' ;
}
if ( deferred . isRejected ( ) ) {
return 'rejected' ;
}
return 'pending' ;
} ,
// Maps jqXHR callbacks to the equivalent
// methods of the given Promise object:
_enhancePromise : function ( promise ) {
promise . success = promise . done ;
promise . error = promise . fail ;
promise . complete = promise . always ;
return promise ;
} ,
// Creates and returns a Promise object enhanced with
// the jqXHR methods abort, success, error and complete:
_getXHRPromise : function ( resolveOrReject , context , args ) {
var dfd = $ . Deferred ( ) ,
promise = dfd . promise ( ) ;
context = context || this . options . context || promise ;
if ( resolveOrReject === true ) {
dfd . resolveWith ( context , args ) ;
} else if ( resolveOrReject === false ) {
dfd . rejectWith ( context , args ) ;
}
promise . abort = dfd . promise ;
return this . _enhancePromise ( promise ) ;
} ,
// Adds convenience methods to the data callback argument:
_addConvenienceMethods : function ( e , data ) {
var that = this ,
getPromise = function ( args ) {
return $ . Deferred ( ) . resolveWith ( that , args ) . promise ( ) ;
} ;
data . process = function ( resolveFunc , rejectFunc ) {
if ( resolveFunc || rejectFunc ) {
data . _processQueue = this . _processQueue =
( this . _processQueue || getPromise ( [ this ] ) ) . then (
function ( ) {
if ( data . errorThrown ) {
return $ . Deferred ( )
. rejectWith ( that , [ data ] ) . promise ( ) ;
}
return getPromise ( arguments ) ;
}
) . then ( resolveFunc , rejectFunc ) ;
}
return this . _processQueue || getPromise ( [ this ] ) ;
} ;
data . submit = function ( ) {
if ( this . state ( ) !== 'pending' ) {
data . jqXHR = this . jqXHR =
( that . _trigger (
'submit' ,
$ . Event ( 'submit' , { delegatedEvent : e } ) ,
this
) !== false ) && that . _onSend ( e , this ) ;
}
return this . jqXHR || that . _getXHRPromise ( ) ;
} ;
data . abort = function ( ) {
if ( this . jqXHR ) {
return this . jqXHR . abort ( ) ;
}
this . errorThrown = 'abort' ;
that . _trigger ( 'fail' , null , this ) ;
return that . _getXHRPromise ( false ) ;
} ;
data . state = function ( ) {
if ( this . jqXHR ) {
return that . _getDeferredState ( this . jqXHR ) ;
}
if ( this . _processQueue ) {
return that . _getDeferredState ( this . _processQueue ) ;
}
} ;
data . processing = function ( ) {
return ! this . jqXHR && this . _processQueue && that
. _getDeferredState ( this . _processQueue ) === 'pending' ;
} ;
data . progress = function ( ) {
return this . _progress ;
} ;
data . response = function ( ) {
return this . _response ;
} ;
} ,
// Parses the Range header from the server response
// and returns the uploaded bytes:
_getUploadedBytes : function ( jqXHR ) {
var range = jqXHR . getResponseHeader ( 'Range' ) ,
parts = range && range . split ( '-' ) ,
upperBytesPos = parts && parts . length > 1 &&
parseInt ( parts [ 1 ] , 10 ) ;
return upperBytesPos && upperBytesPos + 1 ;
} ,
// Uploads a file in multiple, sequential requests
// by splitting the file up in multiple blob chunks.
// If the second parameter is true, only tests if the file
// should be uploaded in chunks, but does not invoke any
// upload requests:
_chunkedUpload : function ( options , testOnly ) {
options . uploadedBytes = options . uploadedBytes || 0 ;
var that = this ,
file = options . files [ 0 ] ,
fs = file . size ,
ub = options . uploadedBytes ,
mcs = options . maxChunkSize || fs ,
slice = this . _blobSlice ,
dfd = $ . Deferred ( ) ,
promise = dfd . promise ( ) ,
jqXHR ,
upload ;
if ( ! ( this . _isXHRUpload ( options ) && slice && ( ub || ( $ . type ( mcs ) === 'function' ? mcs ( options ) : mcs ) < fs ) ) ||
options . data ) {
return false ;
}
if ( testOnly ) {
return true ;
}
if ( ub >= fs ) {
file . error = options . i18n ( 'uploadedBytes' ) ;
return this . _getXHRPromise (
false ,
options . context ,
[ null , 'error' , file . error ]
) ;
}
// The chunk upload method:
upload = function ( ) {
// Clone the options object for each chunk upload:
var o = $ . extend ( { } , options ) ,
currentLoaded = o . _progress . loaded ;
o . blob = slice . call (
file ,
ub ,
ub + ( $ . type ( mcs ) === 'function' ? mcs ( o ) : mcs ) ,
file . type
) ;
// Store the current chunk size, as the blob itself
// will be dereferenced after data processing:
o . chunkSize = o . blob . size ;
// Expose the chunk bytes position range:
o . contentRange = 'bytes ' + ub + '-' +
( ub + o . chunkSize - 1 ) + '/' + fs ;
// Process the upload data (the blob and potential form data):
that . _initXHRData ( o ) ;
// Add progress listeners for this chunk upload:
that . _initProgressListener ( o ) ;
jqXHR = ( ( that . _trigger ( 'chunksend' , null , o ) !== false && $ . ajax ( o ) ) ||
that . _getXHRPromise ( false , o . context ) )
. done ( function ( result , textStatus , jqXHR ) {
ub = that . _getUploadedBytes ( jqXHR ) ||
( ub + o . chunkSize ) ;
// Create a progress event if no final progress event
// with loaded equaling total has been triggered
// for this chunk:
if ( currentLoaded + o . chunkSize - o . _progress . loaded ) {
that . _onProgress ( $ . Event ( 'progress' , {
lengthComputable : true ,
loaded : ub - o . uploadedBytes ,
total : ub - o . uploadedBytes
} ) , o ) ;
}
options . uploadedBytes = o . uploadedBytes = ub ;
o . result = result ;
o . textStatus = textStatus ;
o . jqXHR = jqXHR ;
that . _trigger ( 'chunkdone' , null , o ) ;
that . _trigger ( 'chunkalways' , null , o ) ;
if ( ub < fs ) {
// File upload not yet complete,
// continue with the next chunk:
upload ( ) ;
} else {
dfd . resolveWith (
o . context ,
[ result , textStatus , jqXHR ]
) ;
}
} )
. fail ( function ( jqXHR , textStatus , errorThrown ) {
o . jqXHR = jqXHR ;
o . textStatus = textStatus ;
o . errorThrown = errorThrown ;
that . _trigger ( 'chunkfail' , null , o ) ;
that . _trigger ( 'chunkalways' , null , o ) ;
dfd . rejectWith (
o . context ,
[ jqXHR , textStatus , errorThrown ]
) ;
} ) ;
} ;
this . _enhancePromise ( promise ) ;
promise . abort = function ( ) {
return jqXHR . abort ( ) ;
} ;
upload ( ) ;
return promise ;
} ,
_beforeSend : function ( e , data ) {
if ( this . _active === 0 ) {
// the start callback is triggered when an upload starts
// and no other uploads are currently running,
// equivalent to the global ajaxStart event:
this . _trigger ( 'start' ) ;
// Set timer for global bitrate progress calculation:
this . _bitrateTimer = new this . _BitrateTimer ( ) ;
// Reset the global progress values:
this . _progress . loaded = this . _progress . total = 0 ;
this . _progress . bitrate = 0 ;
}
// Make sure the container objects for the .response() and
// .progress() methods on the data object are available
// and reset to their initial state:
this . _initResponseObject ( data ) ;
this . _initProgressObject ( data ) ;
data . _progress . loaded = data . loaded = data . uploadedBytes || 0 ;
data . _progress . total = data . total = this . _getTotal ( data . files ) || 1 ;
data . _progress . bitrate = data . bitrate = 0 ;
this . _active += 1 ;
// Initialize the global progress values:
this . _progress . loaded += data . loaded ;
this . _progress . total += data . total ;
} ,
_onDone : function ( result , textStatus , jqXHR , options ) {
var total = options . _progress . total ,
response = options . _response ;
if ( options . _progress . loaded < total ) {
// Create a progress event if no final progress event
// with loaded equaling total has been triggered:
this . _onProgress ( $ . Event ( 'progress' , {
lengthComputable : true ,
loaded : total ,
total : total
} ) , options ) ;
}
response . result = options . result = result ;
response . textStatus = options . textStatus = textStatus ;
response . jqXHR = options . jqXHR = jqXHR ;
this . _trigger ( 'done' , null , options ) ;
} ,
_onFail : function ( jqXHR , textStatus , errorThrown , options ) {
var response = options . _response ;
if ( options . recalculateProgress ) {
// Remove the failed (error or abort) file upload from
// the global progress calculation:
this . _progress . loaded -= options . _progress . loaded ;
this . _progress . total -= options . _progress . total ;
}
response . jqXHR = options . jqXHR = jqXHR ;
response . textStatus = options . textStatus = textStatus ;
response . errorThrown = options . errorThrown = errorThrown ;
this . _trigger ( 'fail' , null , options ) ;
} ,
_onAlways : function ( jqXHRorResult , textStatus , jqXHRorError , options ) {
// jqXHRorResult, textStatus and jqXHRorError are added to the
// options object via done and fail callbacks
this . _trigger ( 'always' , null , options ) ;
} ,
_onSend : function ( e , data ) {
if ( ! data . submit ) {
this . _addConvenienceMethods ( e , data ) ;
}
var that = this ,
jqXHR ,
aborted ,
slot ,
pipe ,
options = that . _getAJAXSettings ( data ) ,
send = function ( ) {
that . _sending += 1 ;
// Set timer for bitrate progress calculation:
options . _bitrateTimer = new that . _BitrateTimer ( ) ;
jqXHR = jqXHR || (
( ( aborted || that . _trigger (
'send' ,
$ . Event ( 'send' , { delegatedEvent : e } ) ,
options
) === false ) &&
that . _getXHRPromise ( false , options . context , aborted ) ) ||
that . _chunkedUpload ( options ) || $ . ajax ( options )
) . done ( function ( result , textStatus , jqXHR ) {
that . _onDone ( result , textStatus , jqXHR , options ) ;
} ) . fail ( function ( jqXHR , textStatus , errorThrown ) {
that . _onFail ( jqXHR , textStatus , errorThrown , options ) ;
} ) . always ( function ( jqXHRorResult , textStatus , jqXHRorError ) {
that . _onAlways (
jqXHRorResult ,
textStatus ,
jqXHRorError ,
options
) ;
that . _sending -= 1 ;
that . _active -= 1 ;
if ( options . limitConcurrentUploads &&
options . limitConcurrentUploads > that . _sending ) {
// Start the next queued upload,
// that has not been aborted:
var nextSlot = that . _slots . shift ( ) ;
while ( nextSlot ) {
if ( that . _getDeferredState ( nextSlot ) === 'pending' ) {
nextSlot . resolve ( ) ;
break ;
}
nextSlot = that . _slots . shift ( ) ;
}
}
if ( that . _active === 0 ) {
// The stop callback is triggered when all uploads have
// been completed, equivalent to the global ajaxStop event:
that . _trigger ( 'stop' ) ;
}
} ) ;
return jqXHR ;
} ;
this . _beforeSend ( e , options ) ;
if ( this . options . sequentialUploads ||
( this . options . limitConcurrentUploads &&
this . options . limitConcurrentUploads <= this . _sending ) ) {
if ( this . options . limitConcurrentUploads > 1 ) {
slot = $ . Deferred ( ) ;
this . _slots . push ( slot ) ;
pipe = slot . then ( send ) ;
} else {
this . _sequence = this . _sequence . then ( send , send ) ;
pipe = this . _sequence ;
}
// Return the piped Promise object, enhanced with an abort method,
// which is delegated to the jqXHR object of the current upload,
// and jqXHR callbacks mapped to the equivalent Promise methods:
pipe . abort = function ( ) {
aborted = [ undefined , 'abort' , 'abort' ] ;
if ( ! jqXHR ) {
if ( slot ) {
slot . rejectWith ( options . context , aborted ) ;
}
return send ( ) ;
}
return jqXHR . abort ( ) ;
} ;
return this . _enhancePromise ( pipe ) ;
}
return send ( ) ;
} ,
_onAdd : function ( e , data ) {
var that = this ,
result = true ,
options = $ . extend ( { } , this . options , data ) ,
files = data . files ,
filesLength = files . length ,
limit = options . limitMultiFileUploads ,
limitSize = options . limitMultiFileUploadSize ,
overhead = options . limitMultiFileUploadSizeOverhead ,
batchSize = 0 ,
paramName = this . _getParamName ( options ) ,
paramNameSet ,
paramNameSlice ,
fileSet ,
i ,
j = 0 ;
if ( ! filesLength ) {
return false ;
}
if ( limitSize && files [ 0 ] . size === undefined ) {
limitSize = undefined ;
}
if ( ! ( options . singleFileUploads || limit || limitSize ) ||
! this . _isXHRUpload ( options ) ) {
fileSet = [ files ] ;
paramNameSet = [ paramName ] ;
} else if ( ! ( options . singleFileUploads || limitSize ) && limit ) {
fileSet = [ ] ;
paramNameSet = [ ] ;
for ( i = 0 ; i < filesLength ; i += limit ) {
fileSet . push ( files . slice ( i , i + limit ) ) ;
paramNameSlice = paramName . slice ( i , i + limit ) ;
if ( ! paramNameSlice . length ) {
paramNameSlice = paramName ;
}
paramNameSet . push ( paramNameSlice ) ;
}
} else if ( ! options . singleFileUploads && limitSize ) {
fileSet = [ ] ;
paramNameSet = [ ] ;
for ( i = 0 ; i < filesLength ; i = i + 1 ) {
batchSize += files [ i ] . size + overhead ;
if ( i + 1 === filesLength ||
( ( batchSize + files [ i + 1 ] . size + overhead ) > limitSize ) ||
( limit && i + 1 - j >= limit ) ) {
fileSet . push ( files . slice ( j , i + 1 ) ) ;
paramNameSlice = paramName . slice ( j , i + 1 ) ;
if ( ! paramNameSlice . length ) {
paramNameSlice = paramName ;
}
paramNameSet . push ( paramNameSlice ) ;
j = i + 1 ;
batchSize = 0 ;
}
}
} else {
paramNameSet = paramName ;
}
data . originalFiles = files ;
$ . each ( fileSet || files , function ( index , element ) {
var newData = $ . extend ( { } , data ) ;
newData . files = fileSet ? element : [ element ] ;
newData . paramName = paramNameSet [ index ] ;
that . _initResponseObject ( newData ) ;
that . _initProgressObject ( newData ) ;
that . _addConvenienceMethods ( e , newData ) ;
result = that . _trigger (
'add' ,
$ . Event ( 'add' , { delegatedEvent : e } ) ,
newData
) ;
return result ;
} ) ;
return result ;
} ,
_replaceFileInput : function ( data ) {
var input = data . fileInput ,
inputClone = input . clone ( true ) ,
restoreFocus = input . is ( document . activeElement ) ;
// Add a reference for the new cloned file input to the data argument:
data . fileInputClone = inputClone ;
$ ( '<form></form>' ) . append ( inputClone ) [ 0 ] . reset ( ) ;
// Detaching allows to insert the fileInput on another form
// without loosing the file input value:
input . after ( inputClone ) . detach ( ) ;
// If the fileInput had focus before it was detached,
// restore focus to the inputClone.
if ( restoreFocus ) {
inputClone . focus ( ) ;
}
// Avoid memory leaks with the detached file input:
$ . cleanData ( input . unbind ( 'remove' ) ) ;
// Replace the original file input element in the fileInput
// elements set with the clone, which has been copied including
// event handlers:
this . options . fileInput = this . options . fileInput . map ( function ( i , el ) {
if ( el === input [ 0 ] ) {
return inputClone [ 0 ] ;
}
return el ;
} ) ;
// If the widget has been initialized on the file input itself,
// override this.element with the file input clone:
if ( input [ 0 ] === this . element [ 0 ] ) {
this . element = inputClone ;
}
} ,
_handleFileTreeEntry : function ( entry , path ) {
var that = this ,
dfd = $ . Deferred ( ) ,
entries = [ ] ,
dirReader ,
errorHandler = function ( e ) {
if ( e && ! e . entry ) {
e . entry = entry ;
}
// Since $.when returns immediately if one
// Deferred is rejected, we use resolve instead.
// This allows valid files and invalid items
// to be returned together in one set:
dfd . resolve ( [ e ] ) ;
} ,
successHandler = function ( entries ) {
that . _handleFileTreeEntries (
entries ,
path + entry . name + '/'
) . done ( function ( files ) {
dfd . resolve ( files ) ;
} ) . fail ( errorHandler ) ;
} ,
readEntries = function ( ) {
dirReader . readEntries ( function ( results ) {
if ( ! results . length ) {
successHandler ( entries ) ;
} else {
entries = entries . concat ( results ) ;
readEntries ( ) ;
}
} , errorHandler ) ;
} ;
path = path || '' ;
if ( entry . isFile ) {
if ( entry . _file ) {
// Workaround for Chrome bug #149735
entry . _file . relativePath = path ;
dfd . resolve ( entry . _file ) ;
} else {
entry . file ( function ( file ) {
file . relativePath = path ;
dfd . resolve ( file ) ;
} , errorHandler ) ;
}
} else if ( entry . isDirectory ) {
dirReader = entry . createReader ( ) ;
readEntries ( ) ;
} else {
// Return an empy list for file system items
// other than files or directories:
dfd . resolve ( [ ] ) ;
}
return dfd . promise ( ) ;
} ,
_handleFileTreeEntries : function ( entries , path ) {
var that = this ;
return $ . when . apply (
$ ,
$ . map ( entries , function ( entry ) {
return that . _handleFileTreeEntry ( entry , path ) ;
} )
) . then ( function ( ) {
return Array . prototype . concat . apply (
[ ] ,
arguments
) ;
} ) ;
} ,
_getDroppedFiles : function ( dataTransfer ) {
dataTransfer = dataTransfer || { } ;
var items = dataTransfer . items ;
if ( items && items . length && ( items [ 0 ] . webkitGetAsEntry ||
items [ 0 ] . getAsEntry ) ) {
return this . _handleFileTreeEntries (
$ . map ( items , function ( item ) {
var entry ;
if ( item . webkitGetAsEntry ) {
entry = item . webkitGetAsEntry ( ) ;
if ( entry ) {
// Workaround for Chrome bug #149735:
entry . _file = item . getAsFile ( ) ;
}
return entry ;
}
return item . getAsEntry ( ) ;
} )
) ;
}
return $ . Deferred ( ) . resolve (
$ . makeArray ( dataTransfer . files )
) . promise ( ) ;
} ,
_getSingleFileInputFiles : function ( fileInput ) {
fileInput = $ ( fileInput ) ;
var entries = fileInput . prop ( 'webkitEntries' ) ||
fileInput . prop ( 'entries' ) ,
files ,
value ;
if ( entries && entries . length ) {
return this . _handleFileTreeEntries ( entries ) ;
}
files = $ . makeArray ( fileInput . prop ( 'files' ) ) ;
if ( ! files . length ) {
value = fileInput . prop ( 'value' ) ;
if ( ! value ) {
return $ . Deferred ( ) . resolve ( [ ] ) . promise ( ) ;
}
// If the files property is not available, the browser does not
// support the File API and we add a pseudo File object with
// the input value as name with path information removed:
files = [ { name : value . replace ( /^.*\\/ , '' ) } ] ;
} else if ( files [ 0 ] . name === undefined && files [ 0 ] . fileName ) {
// File normalization for Safari 4 and Firefox 3:
$ . each ( files , function ( index , file ) {
file . name = file . fileName ;
file . size = file . fileSize ;
} ) ;
}
return $ . Deferred ( ) . resolve ( files ) . promise ( ) ;
} ,
_getFileInputFiles : function ( fileInput ) {
if ( ! ( fileInput instanceof $ ) || fileInput . length === 1 ) {
return this . _getSingleFileInputFiles ( fileInput ) ;
}
return $ . when . apply (
$ ,
$ . map ( fileInput , this . _getSingleFileInputFiles )
) . then ( function ( ) {
return Array . prototype . concat . apply (
[ ] ,
arguments
) ;
} ) ;
} ,
_onChange : function ( e ) {
var that = this ,
data = {
fileInput : $ ( e . target ) ,
form : $ ( e . target . form )
} ;
this . _getFileInputFiles ( data . fileInput ) . always ( function ( files ) {
data . files = files ;
if ( that . options . replaceFileInput ) {
that . _replaceFileInput ( data ) ;
}
if ( that . _trigger (
'change' ,
$ . Event ( 'change' , { delegatedEvent : e } ) ,
data
) !== false ) {
that . _onAdd ( e , data ) ;
}
} ) ;
} ,
_onPaste : function ( e ) {
var items = e . originalEvent && e . originalEvent . clipboardData &&
e . originalEvent . clipboardData . items ,
data = { files : [ ] } ;
if ( items && items . length ) {
$ . each ( items , function ( index , item ) {
var file = item . getAsFile && item . getAsFile ( ) ;
if ( file ) {
data . files . push ( file ) ;
}
} ) ;
if ( this . _trigger (
'paste' ,
$ . Event ( 'paste' , { delegatedEvent : e } ) ,
data
) !== false ) {
this . _onAdd ( e , data ) ;
}
}
} ,
_onDrop : function ( e ) {
e . dataTransfer = e . originalEvent && e . originalEvent . dataTransfer ;
var that = this ,
dataTransfer = e . dataTransfer ,
data = { } ;
if ( dataTransfer && dataTransfer . files && dataTransfer . files . length ) {
e . preventDefault ( ) ;
this . _getDroppedFiles ( dataTransfer ) . always ( function ( files ) {
data . files = files ;
if ( that . _trigger (
'drop' ,
$ . Event ( 'drop' , { delegatedEvent : e } ) ,
data
) !== false ) {
that . _onAdd ( e , data ) ;
}
} ) ;
}
} ,
_onDragOver : getDragHandler ( 'dragover' ) ,
_onDragEnter : getDragHandler ( 'dragenter' ) ,
_onDragLeave : getDragHandler ( 'dragleave' ) ,
_initEventHandlers : function ( ) {
if ( this . _isXHRUpload ( this . options ) ) {
this . _on ( this . options . dropZone , {
dragover : this . _onDragOver ,
drop : this . _onDrop ,
// event.preventDefault() on dragenter is required for IE10+:
dragenter : this . _onDragEnter ,
// dragleave is not required, but added for completeness:
dragleave : this . _onDragLeave
} ) ;
this . _on ( this . options . pasteZone , {
paste : this . _onPaste
} ) ;
}
if ( $ . support . fileInput ) {
this . _on ( this . options . fileInput , {
change : this . _onChange
} ) ;
}
} ,
_destroyEventHandlers : function ( ) {
this . _off ( this . options . dropZone , 'dragenter dragleave dragover drop' ) ;
this . _off ( this . options . pasteZone , 'paste' ) ;
this . _off ( this . options . fileInput , 'change' ) ;
} ,
_destroy : function ( ) {
this . _destroyEventHandlers ( ) ;
} ,
_setOption : function ( key , value ) {
var reinit = $ . inArray ( key , this . _specialOptions ) !== - 1 ;
if ( reinit ) {
this . _destroyEventHandlers ( ) ;
}
this . _super ( key , value ) ;
if ( reinit ) {
this . _initSpecialOptions ( ) ;
this . _initEventHandlers ( ) ;
}
} ,
_initSpecialOptions : function ( ) {
var options = this . options ;
if ( options . fileInput === undefined ) {
options . fileInput = this . element . is ( 'input[type="file"]' ) ?
this . element : this . element . find ( 'input[type="file"]' ) ;
} else if ( ! ( options . fileInput instanceof $ ) ) {
options . fileInput = $ ( options . fileInput ) ;
}
if ( ! ( options . dropZone instanceof $ ) ) {
options . dropZone = $ ( options . dropZone ) ;
}
if ( ! ( options . pasteZone instanceof $ ) ) {
options . pasteZone = $ ( options . pasteZone ) ;
}
} ,
_getRegExp : function ( str ) {
var parts = str . split ( '/' ) ,
modifiers = parts . pop ( ) ;
parts . shift ( ) ;
return new RegExp ( parts . join ( '/' ) , modifiers ) ;
} ,
_isRegExpOption : function ( key , value ) {
return key !== 'url' && $ . type ( value ) === 'string' &&
/^\/.*\/[igm]{0,3}$/ . test ( value ) ;
} ,
_initDataAttributes : function ( ) {
var that = this ,
options = this . options ,
data = this . element . data ( ) ;
// Initialize options set via HTML5 data-attributes:
$ . each (
this . element [ 0 ] . attributes ,
function ( index , attr ) {
var key = attr . name . toLowerCase ( ) ,
value ;
if ( /^data-/ . test ( key ) ) {
// Convert hyphen-ated key to camelCase:
key = key . slice ( 5 ) . replace ( /-[a-z]/g , function ( str ) {
return str . charAt ( 1 ) . toUpperCase ( ) ;
} ) ;
value = data [ key ] ;
if ( that . _isRegExpOption ( key , value ) ) {
value = that . _getRegExp ( value ) ;
}
options [ key ] = value ;
}
}
) ;
} ,
_create : function ( ) {
this . _initDataAttributes ( ) ;
this . _initSpecialOptions ( ) ;
this . _slots = [ ] ;
this . _sequence = this . _getXHRPromise ( true ) ;
this . _sending = this . _active = 0 ;
this . _initProgressObject ( this ) ;
this . _initEventHandlers ( ) ;
} ,
// This method is exposed to the widget API and allows to query
// the number of active uploads:
active : function ( ) {
return this . _active ;
} ,
// This method is exposed to the widget API and allows to query
// the widget upload progress.
// It returns an object with loaded, total and bitrate properties
// for the running uploads:
progress : function ( ) {
return this . _progress ;
} ,
// This method is exposed to the widget API and allows adding files
// using the fileupload API. The data parameter accepts an object which
// must have a files property and can contain additional options:
// .fileupload('add', {files: filesList});
add : function ( data ) {
var that = this ;
if ( ! data || this . options . disabled ) {
return ;
}
if ( data . fileInput && ! data . files ) {
this . _getFileInputFiles ( data . fileInput ) . always ( function ( files ) {
data . files = files ;
that . _onAdd ( null , data ) ;
} ) ;
} else {
data . files = $ . makeArray ( data . files ) ;
this . _onAdd ( null , data ) ;
}
} ,
// This method is exposed to the widget API and allows sending files
// using the fileupload API. The data parameter accepts an object which
// must have a files or fileInput property and can contain additional options:
// .fileupload('send', {files: filesList});
// The method returns a Promise object for the file upload call.
send : function ( data ) {
if ( data && ! this . options . disabled ) {
if ( data . fileInput && ! data . files ) {
var that = this ,
dfd = $ . Deferred ( ) ,
promise = dfd . promise ( ) ,
jqXHR ,
aborted ;
promise . abort = function ( ) {
aborted = true ;
if ( jqXHR ) {
return jqXHR . abort ( ) ;
}
dfd . reject ( null , 'abort' , 'abort' ) ;
return promise ;
} ;
this . _getFileInputFiles ( data . fileInput ) . always (
function ( files ) {
if ( aborted ) {
return ;
}
if ( ! files . length ) {
dfd . reject ( ) ;
return ;
}
data . files = files ;
jqXHR = that . _onSend ( null , data ) ;
jqXHR . then (
function ( result , textStatus , jqXHR ) {
dfd . resolve ( result , textStatus , jqXHR ) ;
} ,
function ( jqXHR , textStatus , errorThrown ) {
dfd . reject ( jqXHR , textStatus , errorThrown ) ;
}
) ;
}
) ;
return this . _enhancePromise ( promise ) ;
}
data . files = $ . makeArray ( data . files ) ;
if ( data . files . length ) {
return this . _onSend ( null , data ) ;
}
}
return this . _getXHRPromise ( false , data && data . context ) ;
}
} ) ;
} ) ) ;
/ * !
* Bootstrap Colorpicker v2 . 5.2
* https : //itsjavi.com/bootstrap-colorpicker/
*
* Originally written by ( c ) 2012 Stefan Petre
* Licensed under the Apache License v2 . 0
* http : //www.apache.org/licenses/LICENSE-2.0.txt
*
* /
( function ( root , factory ) {
if ( typeof define === 'function' && define . amd ) {
// AMD. Register as an anonymous module unless amdModuleId is set
define ( [ "jquery" ] , function ( jq ) {
return ( factory ( jq ) ) ;
} ) ;
} 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 if ( jQuery && ! jQuery . fn . colorpicker ) {
factory ( jQuery ) ;
}
} ( this , function ( $ ) {
'use strict' ;
/ * *
* Color manipulation helper class
*
* @ param { Object | String } [ val ]
* @ param { Object } [ predefinedColors ]
* @ param { String | null } [ fallbackColor ]
* @ param { String | null } [ fallbackFormat ]
* @ param { Boolean } [ hexNumberSignPrefix ]
* @ constructor
* /
var Color = function (
val , predefinedColors , fallbackColor , fallbackFormat , hexNumberSignPrefix ) {
this . fallbackValue = fallbackColor ?
(
fallbackColor && ( typeof fallbackColor . h !== 'undefined' ) ?
fallbackColor :
this . value = {
h : 0 ,
s : 0 ,
b : 0 ,
a : 1
}
) :
null ;
this . fallbackFormat = fallbackFormat ? fallbackFormat : 'rgba' ;
this . hexNumberSignPrefix = hexNumberSignPrefix === true ;
this . value = this . fallbackValue ;
this . origFormat = null ; // original string format
this . predefinedColors = predefinedColors ? predefinedColors : { } ;
// We don't want to share aliases across instances so we extend new object
this . colors = $ . extend ( { } , Color . webColors , this . predefinedColors ) ;
if ( val ) {
if ( typeof val . h !== 'undefined' ) {
this . value = val ;
} else {
this . setColor ( String ( val ) ) ;
}
}
if ( ! this . value ) {
// Initial value is always black if no arguments are passed or val is empty
this . value = {
h : 0 ,
s : 0 ,
b : 0 ,
a : 1
} ;
}
} ;
Color . webColors = { // 140 predefined colors from the HTML Colors spec
"aliceblue" : "f0f8ff" ,
"antiquewhite" : "faebd7" ,
"aqua" : "00ffff" ,
"aquamarine" : "7fffd4" ,
"azure" : "f0ffff" ,
"beige" : "f5f5dc" ,
"bisque" : "ffe4c4" ,
"black" : "000000" ,
"blanchedalmond" : "ffebcd" ,
"blue" : "0000ff" ,
"blueviolet" : "8a2be2" ,
"brown" : "a52a2a" ,
"burlywood" : "deb887" ,
"cadetblue" : "5f9ea0" ,
"chartreuse" : "7fff00" ,
"chocolate" : "d2691e" ,
"coral" : "ff7f50" ,
"cornflowerblue" : "6495ed" ,
"cornsilk" : "fff8dc" ,
"crimson" : "dc143c" ,
"cyan" : "00ffff" ,
"darkblue" : "00008b" ,
"darkcyan" : "008b8b" ,
"darkgoldenrod" : "b8860b" ,
"darkgray" : "a9a9a9" ,
"darkgreen" : "006400" ,
"darkkhaki" : "bdb76b" ,
"darkmagenta" : "8b008b" ,
"darkolivegreen" : "556b2f" ,
"darkorange" : "ff8c00" ,
"darkorchid" : "9932cc" ,
"darkred" : "8b0000" ,
"darksalmon" : "e9967a" ,
"darkseagreen" : "8fbc8f" ,
"darkslateblue" : "483d8b" ,
"darkslategray" : "2f4f4f" ,
"darkturquoise" : "00ced1" ,
"darkviolet" : "9400d3" ,
"deeppink" : "ff1493" ,
"deepskyblue" : "00bfff" ,
"dimgray" : "696969" ,
"dodgerblue" : "1e90ff" ,
"firebrick" : "b22222" ,
"floralwhite" : "fffaf0" ,
"forestgreen" : "228b22" ,
"fuchsia" : "ff00ff" ,
"gainsboro" : "dcdcdc" ,
"ghostwhite" : "f8f8ff" ,
"gold" : "ffd700" ,
"goldenrod" : "daa520" ,
"gray" : "808080" ,
"green" : "008000" ,
"greenyellow" : "adff2f" ,
"honeydew" : "f0fff0" ,
"hotpink" : "ff69b4" ,
"indianred" : "cd5c5c" ,
"indigo" : "4b0082" ,
"ivory" : "fffff0" ,
"khaki" : "f0e68c" ,
"lavender" : "e6e6fa" ,
"lavenderblush" : "fff0f5" ,
"lawngreen" : "7cfc00" ,
"lemonchiffon" : "fffacd" ,
"lightblue" : "add8e6" ,
"lightcoral" : "f08080" ,
"lightcyan" : "e0ffff" ,
"lightgoldenrodyellow" : "fafad2" ,
"lightgrey" : "d3d3d3" ,
"lightgreen" : "90ee90" ,
"lightpink" : "ffb6c1" ,
"lightsalmon" : "ffa07a" ,
"lightseagreen" : "20b2aa" ,
"lightskyblue" : "87cefa" ,
"lightslategray" : "778899" ,
"lightsteelblue" : "b0c4de" ,
"lightyellow" : "ffffe0" ,
"lime" : "00ff00" ,
"limegreen" : "32cd32" ,
"linen" : "faf0e6" ,
"magenta" : "ff00ff" ,
"maroon" : "800000" ,
"mediumaquamarine" : "66cdaa" ,
"mediumblue" : "0000cd" ,
"mediumorchid" : "ba55d3" ,
"mediumpurple" : "9370d8" ,
"mediumseagreen" : "3cb371" ,
"mediumslateblue" : "7b68ee" ,
"mediumspringgreen" : "00fa9a" ,
"mediumturquoise" : "48d1cc" ,
"mediumvioletred" : "c71585" ,
"midnightblue" : "191970" ,
"mintcream" : "f5fffa" ,
"mistyrose" : "ffe4e1" ,
"moccasin" : "ffe4b5" ,
"navajowhite" : "ffdead" ,
"navy" : "000080" ,
"oldlace" : "fdf5e6" ,
"olive" : "808000" ,
"olivedrab" : "6b8e23" ,
"orange" : "ffa500" ,
"orangered" : "ff4500" ,
"orchid" : "da70d6" ,
"palegoldenrod" : "eee8aa" ,
"palegreen" : "98fb98" ,
"paleturquoise" : "afeeee" ,
"palevioletred" : "d87093" ,
"papayawhip" : "ffefd5" ,
"peachpuff" : "ffdab9" ,
"peru" : "cd853f" ,
"pink" : "ffc0cb" ,
"plum" : "dda0dd" ,
"powderblue" : "b0e0e6" ,
"purple" : "800080" ,
"red" : "ff0000" ,
"rosybrown" : "bc8f8f" ,
"royalblue" : "4169e1" ,
"saddlebrown" : "8b4513" ,
"salmon" : "fa8072" ,
"sandybrown" : "f4a460" ,
"seagreen" : "2e8b57" ,
"seashell" : "fff5ee" ,
"sienna" : "a0522d" ,
"silver" : "c0c0c0" ,
"skyblue" : "87ceeb" ,
"slateblue" : "6a5acd" ,
"slategray" : "708090" ,
"snow" : "fffafa" ,
"springgreen" : "00ff7f" ,
"steelblue" : "4682b4" ,
"tan" : "d2b48c" ,
"teal" : "008080" ,
"thistle" : "d8bfd8" ,
"tomato" : "ff6347" ,
"turquoise" : "40e0d0" ,
"violet" : "ee82ee" ,
"wheat" : "f5deb3" ,
"white" : "ffffff" ,
"whitesmoke" : "f5f5f5" ,
"yellow" : "ffff00" ,
"yellowgreen" : "9acd32" ,
"transparent" : "transparent"
} ;
Color . prototype = {
constructor : Color ,
colors : { } , // merged web and predefined colors
predefinedColors : { } ,
/ * *
* @ return { Object }
* /
getValue : function ( ) {
return this . value ;
} ,
/ * *
* @ param { Object } val
* /
setValue : function ( val ) {
this . value = val ;
} ,
_sanitizeNumber : function ( val ) {
if ( typeof val === 'number' ) {
return val ;
}
if ( isNaN ( val ) || ( val === null ) || ( val === '' ) || ( val === undefined ) ) {
return 1 ;
}
if ( val === '' ) {
return 0 ;
}
if ( typeof val . toLowerCase !== 'undefined' ) {
if ( val . match ( /^\./ ) ) {
val = "0" + val ;
}
return Math . ceil ( parseFloat ( val ) * 100 ) / 100 ;
}
return 1 ;
} ,
isTransparent : function ( strVal ) {
if ( ! strVal || ! ( typeof strVal === 'string' || strVal instanceof String ) ) {
return false ;
}
strVal = strVal . toLowerCase ( ) . trim ( ) ;
return ( strVal === 'transparent' ) || ( strVal . match ( /#?00000000/ ) ) || ( strVal . match ( /(rgba|hsla)\(0,0,0,0?\.?0\)/ ) ) ;
} ,
rgbaIsTransparent : function ( rgba ) {
return ( ( rgba . r === 0 ) && ( rgba . g === 0 ) && ( rgba . b === 0 ) && ( rgba . a === 0 ) ) ;
} ,
// parse a string to HSB
/ * *
* @ protected
* @ param { String } strVal
* @ returns { boolean } Returns true if it could be parsed , false otherwise
* /
setColor : function ( strVal ) {
strVal = strVal . toLowerCase ( ) . trim ( ) ;
if ( strVal ) {
if ( this . isTransparent ( strVal ) ) {
this . value = {
h : 0 ,
s : 0 ,
b : 0 ,
a : 0
} ;
return true ;
} else {
var parsedColor = this . parse ( strVal ) ;
if ( parsedColor ) {
this . value = this . value = {
h : parsedColor . h ,
s : parsedColor . s ,
b : parsedColor . b ,
a : parsedColor . a
} ;
if ( ! this . origFormat ) {
this . origFormat = parsedColor . format ;
}
} else if ( this . fallbackValue ) {
// if parser fails, defaults to fallbackValue if defined, otherwise the value won't be changed
this . value = this . fallbackValue ;
}
}
}
return false ;
} ,
setHue : function ( h ) {
this . value . h = 1 - h ;
} ,
setSaturation : function ( s ) {
this . value . s = s ;
} ,
setBrightness : function ( b ) {
this . value . b = 1 - b ;
} ,
setAlpha : function ( a ) {
this . value . a = Math . round ( ( parseInt ( ( 1 - a ) * 100 , 10 ) / 100 ) * 100 ) / 100 ;
} ,
toRGB : function ( h , s , b , a ) {
if ( arguments . length === 0 ) {
h = this . value . h ;
s = this . value . s ;
b = this . value . b ;
a = this . value . a ;
}
h *= 360 ;
var R , G , B , X , C ;
h = ( h % 360 ) / 60 ;
C = b * s ;
X = C * ( 1 - Math . abs ( h % 2 - 1 ) ) ;
R = G = B = b - C ;
h = ~ ~ h ;
R += [ C , X , 0 , 0 , X , C ] [ h ] ;
G += [ X , C , C , X , 0 , 0 ] [ h ] ;
B += [ 0 , 0 , X , C , C , X ] [ h ] ;
return {
r : Math . round ( R * 255 ) ,
g : Math . round ( G * 255 ) ,
b : Math . round ( B * 255 ) ,
a : a
} ;
} ,
toHex : function ( ignoreFormat , h , s , b , a ) {
if ( arguments . length <= 1 ) {
h = this . value . h ;
s = this . value . s ;
b = this . value . b ;
a = this . value . a ;
}
var prefix = '#' ;
var rgb = this . toRGB ( h , s , b , a ) ;
if ( this . rgbaIsTransparent ( rgb ) ) {
return 'transparent' ;
}
if ( ! ignoreFormat ) {
prefix = ( this . hexNumberSignPrefix ? '#' : '' ) ;
}
var hexStr = prefix + (
( 1 << 24 ) +
( parseInt ( rgb . r ) << 16 ) +
( parseInt ( rgb . g ) << 8 ) +
parseInt ( rgb . b ) )
. toString ( 16 )
. slice ( 1 ) ;
return hexStr ;
} ,
toHSL : function ( h , s , b , a ) {
if ( arguments . length === 0 ) {
h = this . value . h ;
s = this . value . s ;
b = this . value . b ;
a = this . value . a ;
}
var H = h ,
L = ( 2 - s ) * b ,
S = s * b ;
if ( L > 0 && L <= 1 ) {
S /= L ;
} else {
S /= 2 - L ;
}
L /= 2 ;
if ( S > 1 ) {
S = 1 ;
}
return {
h : isNaN ( H ) ? 0 : H ,
s : isNaN ( S ) ? 0 : S ,
l : isNaN ( L ) ? 0 : L ,
a : isNaN ( a ) ? 0 : a
} ;
} ,
toAlias : function ( r , g , b , a ) {
var c , rgb = ( arguments . length === 0 ) ? this . toHex ( true ) : this . toHex ( true , r , g , b , a ) ;
// support predef. colors in non-hex format too, as defined in the alias itself
var original = this . origFormat === 'alias' ? rgb : this . toString ( false , this . origFormat ) ;
for ( var alias in this . colors ) {
c = this . colors [ alias ] . toLowerCase ( ) . trim ( ) ;
if ( ( c === rgb ) || ( c === original ) ) {
return alias ;
}
}
return false ;
} ,
RGBtoHSB : function ( r , g , b , a ) {
r /= 255 ;
g /= 255 ;
b /= 255 ;
var H , S , V , C ;
V = Math . max ( r , g , b ) ;
C = V - Math . min ( r , g , b ) ;
H = ( C === 0 ? null :
V === r ? ( g - b ) / C :
V === g ? ( b - r ) / C + 2 :
( r - g ) / C + 4
) ;
H = ( ( H + 360 ) % 6 ) * 60 / 360 ;
S = C === 0 ? 0 : C / V ;
return {
h : this . _sanitizeNumber ( H ) ,
s : S ,
b : V ,
a : this . _sanitizeNumber ( a )
} ;
} ,
HueToRGB : function ( p , q , h ) {
if ( h < 0 ) {
h += 1 ;
} else if ( h > 1 ) {
h -= 1 ;
}
if ( ( h * 6 ) < 1 ) {
return p + ( q - p ) * h * 6 ;
} else if ( ( h * 2 ) < 1 ) {
return q ;
} else if ( ( h * 3 ) < 2 ) {
return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6 ;
} else {
return p ;
}
} ,
HSLtoRGB : function ( h , s , l , a ) {
if ( s < 0 ) {
s = 0 ;
}
var q ;
if ( l <= 0.5 ) {
q = l * ( 1 + s ) ;
} else {
q = l + s - ( l * s ) ;
}
var p = 2 * l - q ;
var tr = h + ( 1 / 3 ) ;
var tg = h ;
var tb = h - ( 1 / 3 ) ;
var r = Math . round ( this . HueToRGB ( p , q , tr ) * 255 ) ;
var g = Math . round ( this . HueToRGB ( p , q , tg ) * 255 ) ;
var b = Math . round ( this . HueToRGB ( p , q , tb ) * 255 ) ;
return [ r , g , b , this . _sanitizeNumber ( a ) ] ;
} ,
/ * *
* @ param { String } strVal
* @ returns { Object } Object containing h , s , b , a , format properties or FALSE if failed to parse
* /
parse : function ( strVal ) {
if ( arguments . length === 0 ) {
return false ;
}
var that = this ,
result = false ,
isAlias = ( typeof this . colors [ strVal ] !== 'undefined' ) ,
values , format ;
if ( isAlias ) {
strVal = this . colors [ strVal ] . toLowerCase ( ) . trim ( ) ;
}
$ . each ( this . stringParsers , function ( i , parser ) {
var match = parser . re . exec ( strVal ) ;
values = match && parser . parse . apply ( that , [ match ] ) ;
if ( values ) {
result = { } ;
format = ( isAlias ? 'alias' : ( parser . format ? parser . format : that . getValidFallbackFormat ( ) ) ) ;
if ( format . match ( /hsla?/ ) ) {
result = that . RGBtoHSB . apply ( that , that . HSLtoRGB . apply ( that , values ) ) ;
} else {
result = that . RGBtoHSB . apply ( that , values ) ;
}
if ( result instanceof Object ) {
result . format = format ;
}
return false ; // stop iterating
}
return true ;
} ) ;
return result ;
} ,
getValidFallbackFormat : function ( ) {
var formats = [
'rgba' , 'rgb' , 'hex' , 'hsla' , 'hsl'
] ;
if ( this . origFormat && ( formats . indexOf ( this . origFormat ) !== - 1 ) ) {
return this . origFormat ;
}
if ( this . fallbackFormat && ( formats . indexOf ( this . fallbackFormat ) !== - 1 ) ) {
return this . fallbackFormat ;
}
return 'rgba' ; // By default, return a format that will not lose the alpha info
} ,
/ * *
*
* @ param { string } [ format ] ( default : rgba )
* @ param { boolean } [ translateAlias ] Return real color for pre - defined ( non - standard ) aliases ( default : false )
* @ param { boolean } [ forceRawValue ] Forces hashtag prefix when getting hex color ( default : false )
* @ returns { String }
* /
toString : function ( forceRawValue , format , translateAlias ) {
format = format || this . origFormat || this . fallbackFormat ;
translateAlias = translateAlias || false ;
var c = false ;
switch ( format ) {
case 'rgb' :
{
c = this . toRGB ( ) ;
if ( this . rgbaIsTransparent ( c ) ) {
return 'transparent' ;
}
return 'rgb(' + c . r + ',' + c . g + ',' + c . b + ')' ;
}
break ;
case 'rgba' :
{
c = this . toRGB ( ) ;
return 'rgba(' + c . r + ',' + c . g + ',' + c . b + ',' + c . a + ')' ;
}
break ;
case 'hsl' :
{
c = this . toHSL ( ) ;
return 'hsl(' + Math . round ( c . h * 360 ) + ',' + Math . round ( c . s * 100 ) + '%,' + Math . round ( c . l * 100 ) + '%)' ;
}
break ;
case 'hsla' :
{
c = this . toHSL ( ) ;
return 'hsla(' + Math . round ( c . h * 360 ) + ',' + Math . round ( c . s * 100 ) + '%,' + Math . round ( c . l * 100 ) + '%,' + c . a + ')' ;
}
break ;
case 'hex' :
{
return this . toHex ( forceRawValue ) ;
}
break ;
case 'alias' :
{
c = this . toAlias ( ) ;
if ( c === false ) {
return this . toString ( forceRawValue , this . getValidFallbackFormat ( ) ) ;
}
if ( translateAlias && ! ( c in Color . webColors ) && ( c in this . predefinedColors ) ) {
return this . predefinedColors [ c ] ;
}
return c ;
}
default :
{
return c ;
}
break ;
}
} ,
// a set of RE's that can match strings and generate color tuples.
// from John Resig color plugin
// https://github.com/jquery/jquery-color/
stringParsers : [ {
re : /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/ ,
format : 'rgb' ,
parse : function ( execResult ) {
return [
execResult [ 1 ] ,
execResult [ 2 ] ,
execResult [ 3 ] ,
1
] ;
}
} , {
re : /rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/ ,
format : 'rgb' ,
parse : function ( execResult ) {
return [
2.55 * execResult [ 1 ] ,
2.55 * execResult [ 2 ] ,
2.55 * execResult [ 3 ] ,
1
] ;
}
} , {
re : /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ ,
format : 'rgba' ,
parse : function ( execResult ) {
return [
execResult [ 1 ] ,
execResult [ 2 ] ,
execResult [ 3 ] ,
execResult [ 4 ]
] ;
}
} , {
re : /rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ ,
format : 'rgba' ,
parse : function ( execResult ) {
return [
2.55 * execResult [ 1 ] ,
2.55 * execResult [ 2 ] ,
2.55 * execResult [ 3 ] ,
execResult [ 4 ]
] ;
}
} , {
re : /hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/ ,
format : 'hsl' ,
parse : function ( execResult ) {
return [
execResult [ 1 ] / 360 ,
execResult [ 2 ] / 100 ,
execResult [ 3 ] / 100 ,
execResult [ 4 ]
] ;
}
} , {
re : /hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ ,
format : 'hsla' ,
parse : function ( execResult ) {
return [
execResult [ 1 ] / 360 ,
execResult [ 2 ] / 100 ,
execResult [ 3 ] / 100 ,
execResult [ 4 ]
] ;
}
} , {
re : /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/ ,
format : 'hex' ,
parse : function ( execResult ) {
return [
parseInt ( execResult [ 1 ] , 16 ) ,
parseInt ( execResult [ 2 ] , 16 ) ,
parseInt ( execResult [ 3 ] , 16 ) ,
1
] ;
}
} , {
re : /#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/ ,
format : 'hex' ,
parse : function ( execResult ) {
return [
parseInt ( execResult [ 1 ] + execResult [ 1 ] , 16 ) ,
parseInt ( execResult [ 2 ] + execResult [ 2 ] , 16 ) ,
parseInt ( execResult [ 3 ] + execResult [ 3 ] , 16 ) ,
1
] ;
}
} ] ,
colorNameToHex : function ( name ) {
if ( typeof this . colors [ name . toLowerCase ( ) ] !== 'undefined' ) {
return this . colors [ name . toLowerCase ( ) ] ;
}
return false ;
}
} ;
/ *
* Default plugin options
* /
var defaults = {
horizontal : false , // horizontal mode layout ?
inline : false , //forces to show the colorpicker as an inline element
color : false , //forces a color
format : false , //forces a format
input : 'input' , // children input selector
container : false , // container selector
component : '.add-on, .input-group-addon' , // children component selector
fallbackColor : false , // fallback color value. null = keeps current color.
fallbackFormat : 'hex' , // fallback color format
hexNumberSignPrefix : true , // put a '#' (number sign) before hex strings
sliders : {
saturation : {
maxLeft : 100 ,
maxTop : 100 ,
callLeft : 'setSaturation' ,
callTop : 'setBrightness'
} ,
hue : {
maxLeft : 0 ,
maxTop : 100 ,
callLeft : false ,
callTop : 'setHue'
} ,
alpha : {
maxLeft : 0 ,
maxTop : 100 ,
callLeft : false ,
callTop : 'setAlpha'
}
} ,
slidersHorz : {
saturation : {
maxLeft : 100 ,
maxTop : 100 ,
callLeft : 'setSaturation' ,
callTop : 'setBrightness'
} ,
hue : {
maxLeft : 100 ,
maxTop : 0 ,
callLeft : 'setHue' ,
callTop : false
} ,
alpha : {
maxLeft : 100 ,
maxTop : 0 ,
callLeft : 'setAlpha' ,
callTop : false
}
} ,
template : '<div class="colorpicker dropdown-menu">' +
'<div class="colorpicker-saturation"><i><b></b></i></div>' +
'<div class="colorpicker-hue"><i></i></div>' +
'<div class="colorpicker-alpha"><i></i></div>' +
'<div class="colorpicker-color"><div /></div>' +
'<div class="colorpicker-selectors"></div>' +
'</div>' ,
align : 'right' ,
customClass : null , // custom class added to the colorpicker element
colorSelectors : null // custom color aliases
} ;
/ * *
* Colorpicker component class
*
* @ param { Object | String } element
* @ param { Object } options
* @ constructor
* /
var Colorpicker = function ( element , options ) {
this . element = $ ( element ) . addClass ( 'colorpicker-element' ) ;
this . options = $ . extend ( true , { } , defaults , this . element . data ( ) , options ) ;
this . component = this . options . component ;
this . component = ( this . component !== false ) ? this . element . find ( this . component ) : false ;
if ( this . component && ( this . component . length === 0 ) ) {
this . component = false ;
}
this . container = ( this . options . container === true ) ? this . element : this . options . container ;
this . container = ( this . container !== false ) ? $ ( this . container ) : false ;
// Is the element an input? Should we search inside for any input?
this . input = this . element . is ( 'input' ) ? this . element : ( this . options . input ?
this . element . find ( this . options . input ) : false ) ;
if ( this . input && ( this . input . length === 0 ) ) {
this . input = false ;
}
// Set HSB color
this . color = this . createColor ( this . options . color !== false ? this . options . color : this . getValue ( ) ) ;
this . format = this . options . format !== false ? this . options . format : this . color . origFormat ;
if ( this . options . color !== false ) {
this . updateInput ( this . color ) ;
this . updateData ( this . color ) ;
}
this . disabled = false ;
// Setup picker
var $picker = this . picker = $ ( this . options . template ) ;
if ( this . options . customClass ) {
$picker . addClass ( this . options . customClass ) ;
}
if ( this . options . inline ) {
$picker . addClass ( 'colorpicker-inline colorpicker-visible' ) ;
} else {
$picker . addClass ( 'colorpicker-hidden' ) ;
}
if ( this . options . horizontal ) {
$picker . addClass ( 'colorpicker-horizontal' ) ;
}
if (
( [ 'rgba' , 'hsla' , 'alias' ] . indexOf ( this . format ) !== - 1 ) ||
this . options . format === false ||
this . getValue ( ) === 'transparent'
) {
$picker . addClass ( 'colorpicker-with-alpha' ) ;
}
if ( this . options . align === 'right' ) {
$picker . addClass ( 'colorpicker-right' ) ;
}
if ( this . options . inline === true ) {
$picker . addClass ( 'colorpicker-no-arrow' ) ;
}
if ( this . options . colorSelectors ) {
var colorpicker = this ,
selectorsContainer = colorpicker . picker . find ( '.colorpicker-selectors' ) ;
if ( selectorsContainer . length > 0 ) {
$ . each ( this . options . colorSelectors , function ( name , color ) {
var $btn = $ ( '<i />' )
. addClass ( 'colorpicker-selectors-color' )
. css ( 'background-color' , color )
. data ( 'class' , name ) . data ( 'alias' , name ) ;
$btn . on ( 'mousedown.colorpicker touchstart.colorpicker' , function ( event ) {
event . preventDefault ( ) ;
colorpicker . setValue (
colorpicker . format === 'alias' ? $ ( this ) . data ( 'alias' ) : $ ( this ) . css ( 'background-color' )
) ;
} ) ;
selectorsContainer . append ( $btn ) ;
} ) ;
selectorsContainer . show ( ) . addClass ( 'colorpicker-visible' ) ;
}
}
// Prevent closing the colorpicker when clicking on itself
$picker . on ( 'mousedown.colorpicker touchstart.colorpicker' , $ . proxy ( function ( e ) {
if ( e . target === e . currentTarget ) {
e . preventDefault ( ) ;
}
} , this ) ) ;
// Bind click/tap events on the sliders
$picker . find ( '.colorpicker-saturation, .colorpicker-hue, .colorpicker-alpha' )
. on ( 'mousedown.colorpicker touchstart.colorpicker' , $ . proxy ( this . mousedown , this ) ) ;
$picker . appendTo ( this . container ? this . container : $ ( 'body' ) ) ;
// Bind other events
if ( this . input !== false ) {
this . input . on ( {
'keyup.colorpicker' : $ . proxy ( this . keyup , this )
} ) ;
this . input . on ( {
'change.colorpicker' : $ . proxy ( this . change , this )
} ) ;
if ( this . component === false ) {
this . element . on ( {
'focus.colorpicker' : $ . proxy ( this . show , this )
} ) ;
}
if ( this . options . inline === false ) {
this . element . on ( {
'focusout.colorpicker' : $ . proxy ( this . hide , this )
} ) ;
}
}
if ( this . component !== false ) {
this . component . on ( {
'click.colorpicker' : $ . proxy ( this . show , this )
} ) ;
}
if ( ( this . input === false ) && ( this . component === false ) ) {
this . element . on ( {
'click.colorpicker' : $ . proxy ( this . show , this )
} ) ;
}
// for HTML5 input[type='color']
if ( ( this . input !== false ) && ( this . component !== false ) && ( this . input . attr ( 'type' ) === 'color' ) ) {
this . input . on ( {
'click.colorpicker' : $ . proxy ( this . show , this ) ,
'focus.colorpicker' : $ . proxy ( this . show , this )
} ) ;
}
this . update ( ) ;
$ ( $ . proxy ( function ( ) {
this . element . trigger ( 'create' ) ;
} , this ) ) ;
} ;
Colorpicker . Color = Color ;
Colorpicker . prototype = {
constructor : Colorpicker ,
destroy : function ( ) {
this . picker . remove ( ) ;
this . element . removeData ( 'colorpicker' , 'color' ) . off ( '.colorpicker' ) ;
if ( this . input !== false ) {
this . input . off ( '.colorpicker' ) ;
}
if ( this . component !== false ) {
this . component . off ( '.colorpicker' ) ;
}
this . element . removeClass ( 'colorpicker-element' ) ;
this . element . trigger ( {
type : 'destroy'
} ) ;
} ,
reposition : function ( ) {
if ( this . options . inline !== false || this . options . container ) {
return false ;
}
var type = this . container && this . container [ 0 ] !== window . document . body ? 'position' : 'offset' ;
var element = this . component || this . element ;
var offset = element [ type ] ( ) ;
if ( this . options . align === 'right' ) {
offset . left -= this . picker . outerWidth ( ) - element . outerWidth ( ) ;
}
this . picker . css ( {
top : offset . top + element . outerHeight ( ) ,
left : offset . left
} ) ;
} ,
show : function ( e ) {
if ( this . isDisabled ( ) ) {
// Don't show the widget if it's disabled (the input)
return ;
}
this . picker . addClass ( 'colorpicker-visible' ) . removeClass ( 'colorpicker-hidden' ) ;
this . reposition ( ) ;
$ ( window ) . on ( 'resize.colorpicker' , $ . proxy ( this . reposition , this ) ) ;
if ( e && ( ! this . hasInput ( ) || this . input . attr ( 'type' ) === 'color' ) ) {
if ( e . stopPropagation && e . preventDefault ) {
e . stopPropagation ( ) ;
e . preventDefault ( ) ;
}
}
if ( ( this . component || ! this . input ) && ( this . options . inline === false ) ) {
$ ( window . document ) . on ( {
'mousedown.colorpicker' : $ . proxy ( this . hide , this )
} ) ;
}
this . element . trigger ( {
type : 'showPicker' ,
color : this . color
} ) ;
} ,
hide : function ( e ) {
if ( ( typeof e !== 'undefined' ) && e . target ) {
// Prevent hide if triggered by an event and an element inside the colorpicker has been clicked/touched
if (
$ ( e . currentTarget ) . parents ( '.colorpicker' ) . length > 0 ||
$ ( e . target ) . parents ( '.colorpicker' ) . length > 0
) {
return false ;
}
}
this . picker . addClass ( 'colorpicker-hidden' ) . removeClass ( 'colorpicker-visible' ) ;
$ ( window ) . off ( 'resize.colorpicker' , this . reposition ) ;
$ ( window . document ) . off ( {
'mousedown.colorpicker' : this . hide
} ) ;
this . update ( ) ;
this . element . trigger ( {
type : 'hidePicker' ,
color : this . color
} ) ;
} ,
updateData : function ( val ) {
val = val || this . color . toString ( false , this . format ) ;
this . element . data ( 'color' , val ) ;
return val ;
} ,
updateInput : function ( val ) {
val = val || this . color . toString ( false , this . format ) ;
if ( this . input !== false ) {
this . input . prop ( 'value' , val ) ;
this . input . trigger ( 'change' ) ;
}
return val ;
} ,
updatePicker : function ( val ) {
if ( typeof val !== 'undefined' ) {
this . color = this . createColor ( val ) ;
}
var sl = ( this . options . horizontal === false ) ? this . options . sliders : this . options . slidersHorz ;
var icns = this . picker . find ( 'i' ) ;
if ( icns . length === 0 ) {
return ;
}
if ( this . options . horizontal === false ) {
sl = this . options . sliders ;
icns . eq ( 1 ) . css ( 'top' , sl . hue . maxTop * ( 1 - this . color . value . h ) ) . end ( )
. eq ( 2 ) . css ( 'top' , sl . alpha . maxTop * ( 1 - this . color . value . a ) ) ;
} else {
sl = this . options . slidersHorz ;
icns . eq ( 1 ) . css ( 'left' , sl . hue . maxLeft * ( 1 - this . color . value . h ) ) . end ( )
. eq ( 2 ) . css ( 'left' , sl . alpha . maxLeft * ( 1 - this . color . value . a ) ) ;
}
icns . eq ( 0 ) . css ( {
'top' : sl . saturation . maxTop - this . color . value . b * sl . saturation . maxTop ,
'left' : this . color . value . s * sl . saturation . maxLeft
} ) ;
this . picker . find ( '.colorpicker-saturation' )
. css ( 'backgroundColor' , this . color . toHex ( true , this . color . value . h , 1 , 1 , 1 ) ) ;
this . picker . find ( '.colorpicker-alpha' )
. css ( 'backgroundColor' , this . color . toHex ( true ) ) ;
this . picker . find ( '.colorpicker-color, .colorpicker-color div' )
. css ( 'backgroundColor' , this . color . toString ( true , this . format ) ) ;
return val ;
} ,
updateComponent : function ( val ) {
var color ;
if ( typeof val !== 'undefined' ) {
color = this . createColor ( val ) ;
} else {
color = this . color ;
}
if ( this . component !== false ) {
var icn = this . component . find ( 'i' ) . eq ( 0 ) ;
if ( icn . length > 0 ) {
icn . css ( {
'backgroundColor' : color . toString ( true , this . format )
} ) ;
} else {
this . component . css ( {
'backgroundColor' : color . toString ( true , this . format )
} ) ;
}
}
return color . toString ( false , this . format ) ;
} ,
update : function ( force ) {
var val ;
if ( ( this . getValue ( false ) !== false ) || ( force === true ) ) {
// Update input/data only if the current value is not empty
val = this . updateComponent ( ) ;
this . updateInput ( val ) ;
this . updateData ( val ) ;
this . updatePicker ( ) ; // only update picker if value is not empty
}
return val ;
} ,
setValue : function ( val ) { // set color manually
this . color = this . createColor ( val ) ;
this . update ( true ) ;
this . element . trigger ( {
type : 'changeColor' ,
color : this . color ,
value : val
} ) ;
} ,
/ * *
* Creates a new color using the instance options
* @ protected
* @ param { String } val
* @ returns { Color }
* /
createColor : function ( val ) {
return new Color (
val ? val : null ,
this . options . colorSelectors ,
this . options . fallbackColor ? this . options . fallbackColor : this . color ,
this . options . fallbackFormat ,
this . options . hexNumberSignPrefix
) ;
} ,
getValue : function ( defaultValue ) {
defaultValue = ( typeof defaultValue === 'undefined' ) ? this . options . fallbackColor : defaultValue ;
var val ;
if ( this . hasInput ( ) ) {
val = this . input . val ( ) ;
} else {
val = this . element . data ( 'color' ) ;
}
if ( ( val === undefined ) || ( val === '' ) || ( val === null ) ) {
// if not defined or empty, return default
val = defaultValue ;
}
return val ;
} ,
hasInput : function ( ) {
return ( this . input !== false ) ;
} ,
isDisabled : function ( ) {
return this . disabled ;
} ,
disable : function ( ) {
if ( this . hasInput ( ) ) {
this . input . prop ( 'disabled' , true ) ;
}
this . disabled = true ;
this . element . trigger ( {
type : 'disable' ,
color : this . color ,
value : this . getValue ( )
} ) ;
return true ;
} ,
enable : function ( ) {
if ( this . hasInput ( ) ) {
this . input . prop ( 'disabled' , false ) ;
}
this . disabled = false ;
this . element . trigger ( {
type : 'enable' ,
color : this . color ,
value : this . getValue ( )
} ) ;
return true ;
} ,
currentSlider : null ,
mousePointer : {
left : 0 ,
top : 0
} ,
mousedown : function ( e ) {
if ( ! e . pageX && ! e . pageY && e . originalEvent && e . originalEvent . touches ) {
e . pageX = e . originalEvent . touches [ 0 ] . pageX ;
e . pageY = e . originalEvent . touches [ 0 ] . pageY ;
}
e . stopPropagation ( ) ;
e . preventDefault ( ) ;
var target = $ ( e . target ) ;
//detect the slider and set the limits and callbacks
var zone = target . closest ( 'div' ) ;
var sl = this . options . horizontal ? this . options . slidersHorz : this . options . sliders ;
if ( ! zone . is ( '.colorpicker' ) ) {
if ( zone . is ( '.colorpicker-saturation' ) ) {
this . currentSlider = $ . extend ( { } , sl . saturation ) ;
} else if ( zone . is ( '.colorpicker-hue' ) ) {
this . currentSlider = $ . extend ( { } , sl . hue ) ;
} else if ( zone . is ( '.colorpicker-alpha' ) ) {
this . currentSlider = $ . extend ( { } , sl . alpha ) ;
} else {
return false ;
}
var offset = zone . offset ( ) ;
//reference to guide's style
this . currentSlider . guide = zone . find ( 'i' ) [ 0 ] . style ;
this . currentSlider . left = e . pageX - offset . left ;
this . currentSlider . top = e . pageY - offset . top ;
this . mousePointer = {
left : e . pageX ,
top : e . pageY
} ;
//trigger mousemove to move the guide to the current position
$ ( window . document ) . on ( {
'mousemove.colorpicker' : $ . proxy ( this . mousemove , this ) ,
'touchmove.colorpicker' : $ . proxy ( this . mousemove , this ) ,
'mouseup.colorpicker' : $ . proxy ( this . mouseup , this ) ,
'touchend.colorpicker' : $ . proxy ( this . mouseup , this )
} ) . trigger ( 'mousemove' ) ;
}
return false ;
} ,
mousemove : function ( e ) {
if ( ! e . pageX && ! e . pageY && e . originalEvent && e . originalEvent . touches ) {
e . pageX = e . originalEvent . touches [ 0 ] . pageX ;
e . pageY = e . originalEvent . touches [ 0 ] . pageY ;
}
e . stopPropagation ( ) ;
e . preventDefault ( ) ;
var left = Math . max (
0 ,
Math . min (
this . currentSlider . maxLeft ,
this . currentSlider . left + ( ( e . pageX || this . mousePointer . left ) - this . mousePointer . left )
)
) ;
var top = Math . max (
0 ,
Math . min (
this . currentSlider . maxTop ,
this . currentSlider . top + ( ( e . pageY || this . mousePointer . top ) - this . mousePointer . top )
)
) ;
this . currentSlider . guide . left = left + 'px' ;
this . currentSlider . guide . top = top + 'px' ;
if ( this . currentSlider . callLeft ) {
this . color [ this . currentSlider . callLeft ] . call ( this . color , left / this . currentSlider . maxLeft ) ;
}
if ( this . currentSlider . callTop ) {
this . color [ this . currentSlider . callTop ] . call ( this . color , top / this . currentSlider . maxTop ) ;
}
// Change format dynamically
// Only occurs if user choose the dynamic format by
// setting option format to false
if (
this . options . format === false &&
( this . currentSlider . callTop === 'setAlpha' ||
this . currentSlider . callLeft === 'setAlpha' )
) {
// Converting from hex / rgb to rgba
if ( this . color . value . a !== 1 ) {
this . format = 'rgba' ;
this . color . origFormat = 'rgba' ;
}
// Converting from rgba to hex
else {
this . format = 'hex' ;
this . color . origFormat = 'hex' ;
}
}
this . update ( true ) ;
this . element . trigger ( {
type : 'changeColor' ,
color : this . color
} ) ;
return false ;
} ,
mouseup : function ( e ) {
e . stopPropagation ( ) ;
e . preventDefault ( ) ;
$ ( window . document ) . off ( {
'mousemove.colorpicker' : this . mousemove ,
'touchmove.colorpicker' : this . mousemove ,
'mouseup.colorpicker' : this . mouseup ,
'touchend.colorpicker' : this . mouseup
} ) ;
return false ;
} ,
change : function ( e ) {
this . keyup ( e ) ;
} ,
keyup : function ( e ) {
if ( ( e . keyCode === 38 ) ) {
if ( this . color . value . a < 1 ) {
this . color . value . a = Math . round ( ( this . color . value . a + 0.01 ) * 100 ) / 100 ;
}
this . update ( true ) ;
} else if ( ( e . keyCode === 40 ) ) {
if ( this . color . value . a > 0 ) {
this . color . value . a = Math . round ( ( this . color . value . a - 0.01 ) * 100 ) / 100 ;
}
this . update ( true ) ;
} else {
this . color = this . createColor ( this . input . val ( ) ) ;
// Change format dynamically
// Only occurs if user choose the dynamic format by
// setting option format to false
if ( this . color . origFormat && this . options . format === false ) {
this . format = this . color . origFormat ;
}
if ( this . getValue ( false ) !== false ) {
this . updateData ( ) ;
this . updateComponent ( ) ;
this . updatePicker ( ) ;
}
}
this . element . trigger ( {
type : 'changeColor' ,
color : this . color ,
value : this . input . val ( )
} ) ;
}
} ;
$ . colorpicker = Colorpicker ;
$ . fn . colorpicker = function ( option ) {
var apiArgs = Array . prototype . slice . call ( arguments , 1 ) ,
isSingleElement = ( this . length === 1 ) ,
returnValue = null ;
var $jq = this . each ( function ( ) {
var $this = $ ( this ) ,
inst = $this . data ( 'colorpicker' ) ,
options = ( ( typeof option === 'object' ) ? option : { } ) ;
if ( ! inst ) {
inst = new Colorpicker ( this , options ) ;
$this . data ( 'colorpicker' , inst ) ;
}
if ( typeof option === 'string' ) {
if ( $ . isFunction ( inst [ option ] ) ) {
returnValue = inst [ option ] . apply ( inst , apiArgs ) ;
} else { // its a property ?
if ( apiArgs . length ) {
// set property
inst [ option ] = apiArgs [ 0 ] ;
}
returnValue = inst [ option ] ;
}
} else {
returnValue = $this ;
}
} ) ;
return isSingleElement ? returnValue : $jq ;
} ;
$ . fn . colorpicker . constructor = Colorpicker ;
} ) ) ;
/ * !
* Datepicker for Bootstrap v1 . 8.0 ( https : //github.com/uxsolutions/bootstrap-datepicker)
*
* Licensed under the Apache License v2 . 0 ( http : //www.apache.org/licenses/LICENSE-2.0)
* /
( function ( factory ) {
if ( typeof define === 'function' && define . amd ) {
define ( [ 'jquery' ] , factory ) ;
} else if ( typeof exports === 'object' ) {
factory ( require ( 'jquery' ) ) ;
} else {
factory ( jQuery ) ;
}
} ( function ( $ , undefined ) {
function UTCDate ( ) {
return new Date ( Date . UTC . apply ( Date , arguments ) ) ;
}
function UTCToday ( ) {
var today = new Date ( ) ;
return UTCDate ( today . getFullYear ( ) , today . getMonth ( ) , today . getDate ( ) ) ;
}
function isUTCEquals ( date1 , date2 ) {
return (
date1 . getUTCFullYear ( ) === date2 . getUTCFullYear ( ) &&
date1 . getUTCMonth ( ) === date2 . getUTCMonth ( ) &&
date1 . getUTCDate ( ) === date2 . getUTCDate ( )
) ;
}
function alias ( method , deprecationMsg ) {
return function ( ) {
if ( deprecationMsg !== undefined ) {
$ . fn . datepicker . deprecated ( deprecationMsg ) ;
}
return this [ method ] . apply ( this , arguments ) ;
} ;
}
function isValidDate ( d ) {
return d && ! isNaN ( d . getTime ( ) ) ;
}
var DateArray = ( function ( ) {
var extras = {
get : function ( i ) {
return this . slice ( i ) [ 0 ] ;
} ,
contains : function ( d ) {
// Array.indexOf is not cross-browser;
// $.inArray doesn't work with Dates
var val = d && d . valueOf ( ) ;
for ( var i = 0 , l = this . length ; i < l ; i ++ )
// Use date arithmetic to allow dates with different times to match
if ( 0 <= this [ i ] . valueOf ( ) - val && this [ i ] . valueOf ( ) - val < 1000 * 60 * 60 * 24 )
return i ;
return - 1 ;
} ,
remove : function ( i ) {
this . splice ( i , 1 ) ;
} ,
replace : function ( new _array ) {
if ( ! new _array )
return ;
if ( ! $ . isArray ( new _array ) )
new _array = [ new _array ] ;
this . clear ( ) ;
this . push . apply ( this , new _array ) ;
} ,
clear : function ( ) {
this . length = 0 ;
} ,
copy : function ( ) {
var a = new DateArray ( ) ;
a . replace ( this ) ;
return a ;
}
} ;
return function ( ) {
var a = [ ] ;
a . push . apply ( a , arguments ) ;
$ . extend ( a , extras ) ;
return a ;
} ;
} ) ( ) ;
// Picker object
var Datepicker = function ( element , options ) {
$ . data ( element , 'datepicker' , this ) ;
this . _process _options ( options ) ;
this . dates = new DateArray ( ) ;
this . viewDate = this . o . defaultViewDate ;
this . focusDate = null ;
this . element = $ ( element ) ;
this . isInput = this . element . is ( 'input' ) ;
this . inputField = this . isInput ? this . element : this . element . find ( 'input' ) ;
this . component = this . element . hasClass ( 'date' ) ? this . element . find ( '.add-on, .input-group-addon, .btn' ) : false ;
if ( this . component && this . component . length === 0 )
this . component = false ;
this . isInline = ! this . component && this . element . is ( 'div' ) ;
this . picker = $ ( DPGlobal . template ) ;
// Checking templates and inserting
if ( this . _check _template ( this . o . templates . leftArrow ) ) {
this . picker . find ( '.prev' ) . html ( this . o . templates . leftArrow ) ;
}
if ( this . _check _template ( this . o . templates . rightArrow ) ) {
this . picker . find ( '.next' ) . html ( this . o . templates . rightArrow ) ;
}
this . _buildEvents ( ) ;
this . _attachEvents ( ) ;
if ( this . isInline ) {
this . picker . addClass ( 'datepicker-inline' ) . appendTo ( this . element ) ;
}
else {
this . picker . addClass ( 'datepicker-dropdown dropdown-menu' ) ;
}
if ( this . o . rtl ) {
this . picker . addClass ( 'datepicker-rtl' ) ;
}
if ( this . o . calendarWeeks ) {
this . picker . find ( '.datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear' )
. attr ( 'colspan' , function ( i , val ) {
return Number ( val ) + 1 ;
} ) ;
}
this . _process _options ( {
startDate : this . _o . startDate ,
endDate : this . _o . endDate ,
daysOfWeekDisabled : this . o . daysOfWeekDisabled ,
daysOfWeekHighlighted : this . o . daysOfWeekHighlighted ,
datesDisabled : this . o . datesDisabled
} ) ;
this . _allow _update = false ;
this . setViewMode ( this . o . startView ) ;
this . _allow _update = true ;
this . fillDow ( ) ;
this . fillMonths ( ) ;
this . update ( ) ;
if ( this . isInline ) {
this . show ( ) ;
}
} ;
Datepicker . prototype = {
constructor : Datepicker ,
_resolveViewName : function ( view ) {
$ . each ( DPGlobal . viewModes , function ( i , viewMode ) {
if ( view === i || $ . inArray ( view , viewMode . names ) !== - 1 ) {
view = i ;
return false ;
}
} ) ;
return view ;
} ,
_resolveDaysOfWeek : function ( daysOfWeek ) {
if ( ! $ . isArray ( daysOfWeek ) )
daysOfWeek = daysOfWeek . split ( /[,\s]*/ ) ;
return $ . map ( daysOfWeek , Number ) ;
} ,
_check _template : function ( tmp ) {
try {
// If empty
if ( tmp === undefined || tmp === "" ) {
return false ;
}
// If no html, everything ok
if ( ( tmp . match ( /[<>]/g ) || [ ] ) . length <= 0 ) {
return true ;
}
// Checking if html is fine
var jDom = $ ( tmp ) ;
return jDom . length > 0 ;
}
catch ( ex ) {
return false ;
}
} ,
_process _options : function ( opts ) {
// Store raw options for reference
this . _o = $ . extend ( { } , this . _o , opts ) ;
// Processed options
var o = this . o = $ . extend ( { } , this . _o ) ;
// Check if "de-DE" style date is available, if not language should
// fallback to 2 letter code eg "de"
var lang = o . language ;
if ( ! dates [ lang ] ) {
lang = lang . split ( '-' ) [ 0 ] ;
if ( ! dates [ lang ] )
lang = defaults . language ;
}
o . language = lang ;
// Retrieve view index from any aliases
o . startView = this . _resolveViewName ( o . startView ) ;
o . minViewMode = this . _resolveViewName ( o . minViewMode ) ;
o . maxViewMode = this . _resolveViewName ( o . maxViewMode ) ;
// Check view is between min and max
o . startView = Math . max ( this . o . minViewMode , Math . min ( this . o . maxViewMode , o . startView ) ) ;
// true, false, or Number > 0
if ( o . multidate !== true ) {
o . multidate = Number ( o . multidate ) || false ;
if ( o . multidate !== false )
o . multidate = Math . max ( 0 , o . multidate ) ;
}
o . multidateSeparator = String ( o . multidateSeparator ) ;
o . weekStart %= 7 ;
o . weekEnd = ( o . weekStart + 6 ) % 7 ;
var format = DPGlobal . parseFormat ( o . format ) ;
if ( o . startDate !== - Infinity ) {
if ( ! ! o . startDate ) {
if ( o . startDate instanceof Date )
o . startDate = this . _local _to _utc ( this . _zero _time ( o . startDate ) ) ;
else
o . startDate = DPGlobal . parseDate ( o . startDate , format , o . language , o . assumeNearbyYear ) ;
}
else {
o . startDate = - Infinity ;
}
}
if ( o . endDate !== Infinity ) {
if ( ! ! o . endDate ) {
if ( o . endDate instanceof Date )
o . endDate = this . _local _to _utc ( this . _zero _time ( o . endDate ) ) ;
else
o . endDate = DPGlobal . parseDate ( o . endDate , format , o . language , o . assumeNearbyYear ) ;
}
else {
o . endDate = Infinity ;
}
}
o . daysOfWeekDisabled = this . _resolveDaysOfWeek ( o . daysOfWeekDisabled || [ ] ) ;
o . daysOfWeekHighlighted = this . _resolveDaysOfWeek ( o . daysOfWeekHighlighted || [ ] ) ;
o . datesDisabled = o . datesDisabled || [ ] ;
if ( ! $ . isArray ( o . datesDisabled ) ) {
o . datesDisabled = o . datesDisabled . split ( ',' ) ;
}
o . datesDisabled = $ . map ( o . datesDisabled , function ( d ) {
return DPGlobal . parseDate ( d , format , o . language , o . assumeNearbyYear ) ;
} ) ;
var plc = String ( o . orientation ) . toLowerCase ( ) . split ( /\s+/g ) ,
_plc = o . orientation . toLowerCase ( ) ;
plc = $ . grep ( plc , function ( word ) {
return /^auto|left|right|top|bottom$/ . test ( word ) ;
} ) ;
o . orientation = { x : 'auto' , y : 'auto' } ;
if ( ! _plc || _plc === 'auto' )
; // no action
else if ( plc . length === 1 ) {
switch ( plc [ 0 ] ) {
case 'top' :
case 'bottom' :
o . orientation . y = plc [ 0 ] ;
break ;
case 'left' :
case 'right' :
o . orientation . x = plc [ 0 ] ;
break ;
}
}
else {
_plc = $ . grep ( plc , function ( word ) {
return /^left|right$/ . test ( word ) ;
} ) ;
o . orientation . x = _plc [ 0 ] || 'auto' ;
_plc = $ . grep ( plc , function ( word ) {
return /^top|bottom$/ . test ( word ) ;
} ) ;
o . orientation . y = _plc [ 0 ] || 'auto' ;
}
if ( o . defaultViewDate instanceof Date || typeof o . defaultViewDate === 'string' ) {
o . defaultViewDate = DPGlobal . parseDate ( o . defaultViewDate , format , o . language , o . assumeNearbyYear ) ;
} else if ( o . defaultViewDate ) {
var year = o . defaultViewDate . year || new Date ( ) . getFullYear ( ) ;
var month = o . defaultViewDate . month || 0 ;
var day = o . defaultViewDate . day || 1 ;
o . defaultViewDate = UTCDate ( year , month , day ) ;
} else {
o . defaultViewDate = UTCToday ( ) ;
}
} ,
_events : [ ] ,
_secondaryEvents : [ ] ,
_applyEvents : function ( evs ) {
for ( var i = 0 , el , ch , ev ; i < evs . length ; i ++ ) {
el = evs [ i ] [ 0 ] ;
if ( evs [ i ] . length === 2 ) {
ch = undefined ;
ev = evs [ i ] [ 1 ] ;
} else if ( evs [ i ] . length === 3 ) {
ch = evs [ i ] [ 1 ] ;
ev = evs [ i ] [ 2 ] ;
}
el . on ( ev , ch ) ;
}
} ,
_unapplyEvents : function ( evs ) {
for ( var i = 0 , el , ev , ch ; i < evs . length ; i ++ ) {
el = evs [ i ] [ 0 ] ;
if ( evs [ i ] . length === 2 ) {
ch = undefined ;
ev = evs [ i ] [ 1 ] ;
} else if ( evs [ i ] . length === 3 ) {
ch = evs [ i ] [ 1 ] ;
ev = evs [ i ] [ 2 ] ;
}
el . off ( ev , ch ) ;
}
} ,
_buildEvents : function ( ) {
var events = {
keyup : $ . proxy ( function ( e ) {
if ( $ . inArray ( e . keyCode , [ 27 , 37 , 39 , 38 , 40 , 32 , 13 , 9 ] ) === - 1 )
this . update ( ) ;
} , this ) ,
keydown : $ . proxy ( this . keydown , this ) ,
paste : $ . proxy ( this . paste , this )
} ;
if ( this . o . showOnFocus === true ) {
events . focus = $ . proxy ( this . show , this ) ;
}
if ( this . isInput ) { // single input
this . _events = [
[ this . element , events ]
] ;
}
// component: input + button
else if ( this . component && this . inputField . length ) {
this . _events = [
// For components that are not readonly, allow keyboard nav
[ this . inputField , events ] ,
[ this . component , {
click : $ . proxy ( this . show , this )
} ]
] ;
}
else {
this . _events = [
[ this . element , {
click : $ . proxy ( this . show , this ) ,
keydown : $ . proxy ( this . keydown , this )
} ]
] ;
}
this . _events . push (
// Component: listen for blur on element descendants
[ this . element , '*' , {
blur : $ . proxy ( function ( e ) {
this . _focused _from = e . target ;
} , this )
} ] ,
// Input: listen for blur on element
[ this . element , {
blur : $ . proxy ( function ( e ) {
this . _focused _from = e . target ;
} , this )
} ]
) ;
if ( this . o . immediateUpdates ) {
// Trigger input updates immediately on changed year/month
this . _events . push ( [ this . element , {
'changeYear changeMonth' : $ . proxy ( function ( e ) {
this . update ( e . date ) ;
} , this )
} ] ) ;
}
this . _secondaryEvents = [
[ this . picker , {
click : $ . proxy ( this . click , this )
} ] ,
[ this . picker , '.prev, .next' , {
click : $ . proxy ( this . navArrowsClick , this )
} ] ,
[ this . picker , '.day:not(.disabled)' , {
click : $ . proxy ( this . dayCellClick , this )
} ] ,
[ $ ( window ) , {
resize : $ . proxy ( this . place , this )
} ] ,
[ $ ( document ) , {
'mousedown touchstart' : $ . proxy ( function ( e ) {
// Clicked outside the datepicker, hide it
if ( ! (
this . element . is ( e . target ) ||
this . element . find ( e . target ) . length ||
this . picker . is ( e . target ) ||
this . picker . find ( e . target ) . length ||
this . isInline
) ) {
this . hide ( ) ;
}
} , this )
} ]
] ;
} ,
_attachEvents : function ( ) {
this . _detachEvents ( ) ;
this . _applyEvents ( this . _events ) ;
} ,
_detachEvents : function ( ) {
this . _unapplyEvents ( this . _events ) ;
} ,
_attachSecondaryEvents : function ( ) {
this . _detachSecondaryEvents ( ) ;
this . _applyEvents ( this . _secondaryEvents ) ;
} ,
_detachSecondaryEvents : function ( ) {
this . _unapplyEvents ( this . _secondaryEvents ) ;
} ,
_trigger : function ( event , altdate ) {
var date = altdate || this . dates . get ( - 1 ) ,
local _date = this . _utc _to _local ( date ) ;
this . element . trigger ( {
type : event ,
date : local _date ,
viewMode : this . viewMode ,
dates : $ . map ( this . dates , this . _utc _to _local ) ,
format : $ . proxy ( function ( ix , format ) {
if ( arguments . length === 0 ) {
ix = this . dates . length - 1 ;
format = this . o . format ;
} else if ( typeof ix === 'string' ) {
format = ix ;
ix = this . dates . length - 1 ;
}
format = format || this . o . format ;
var date = this . dates . get ( ix ) ;
return DPGlobal . formatDate ( date , format , this . o . language ) ;
} , this )
} ) ;
} ,
show : function ( ) {
if ( this . inputField . prop ( 'disabled' ) || ( this . inputField . prop ( 'readonly' ) && this . o . enableOnReadonly === false ) )
return ;
if ( ! this . isInline )
this . picker . appendTo ( this . o . container ) ;
this . place ( ) ;
this . picker . show ( ) ;
this . _attachSecondaryEvents ( ) ;
this . _trigger ( 'show' ) ;
if ( ( window . navigator . msMaxTouchPoints || 'ontouchstart' in document ) && this . o . disableTouchKeyboard ) {
$ ( this . element ) . blur ( ) ;
}
return this ;
} ,
hide : function ( ) {
if ( this . isInline || ! this . picker . is ( ':visible' ) )
return this ;
this . focusDate = null ;
this . picker . hide ( ) . detach ( ) ;
this . _detachSecondaryEvents ( ) ;
this . setViewMode ( this . o . startView ) ;
if ( this . o . forceParse && this . inputField . val ( ) )
this . setValue ( ) ;
this . _trigger ( 'hide' ) ;
return this ;
} ,
destroy : function ( ) {
this . hide ( ) ;
this . _detachEvents ( ) ;
this . _detachSecondaryEvents ( ) ;
this . picker . remove ( ) ;
delete this . element . data ( ) . datepicker ;
if ( ! this . isInput ) {
delete this . element . data ( ) . date ;
}
return this ;
} ,
paste : function ( e ) {
var dateString ;
if ( e . originalEvent . clipboardData && e . originalEvent . clipboardData . types
&& $ . inArray ( 'text/plain' , e . originalEvent . clipboardData . types ) !== - 1 ) {
dateString = e . originalEvent . clipboardData . getData ( 'text/plain' ) ;
} else if ( window . clipboardData ) {
dateString = window . clipboardData . getData ( 'Text' ) ;
} else {
return ;
}
this . setDate ( dateString ) ;
this . update ( ) ;
e . preventDefault ( ) ;
} ,
_utc _to _local : function ( utc ) {
if ( ! utc ) {
return utc ;
}
var local = new Date ( utc . getTime ( ) + ( utc . getTimezoneOffset ( ) * 60000 ) ) ;
if ( local . getTimezoneOffset ( ) !== utc . getTimezoneOffset ( ) ) {
local = new Date ( utc . getTime ( ) + ( local . getTimezoneOffset ( ) * 60000 ) ) ;
}
return local ;
} ,
_local _to _utc : function ( local ) {
return local && new Date ( local . getTime ( ) - ( local . getTimezoneOffset ( ) * 60000 ) ) ;
} ,
_zero _time : function ( local ) {
return local && new Date ( local . getFullYear ( ) , local . getMonth ( ) , local . getDate ( ) ) ;
} ,
_zero _utc _time : function ( utc ) {
return utc && UTCDate ( utc . getUTCFullYear ( ) , utc . getUTCMonth ( ) , utc . getUTCDate ( ) ) ;
} ,
getDates : function ( ) {
return $ . map ( this . dates , this . _utc _to _local ) ;
} ,
getUTCDates : function ( ) {
return $ . map ( this . dates , function ( d ) {
return new Date ( d ) ;
} ) ;
} ,
getDate : function ( ) {
return this . _utc _to _local ( this . getUTCDate ( ) ) ;
} ,
getUTCDate : function ( ) {
var selected _date = this . dates . get ( - 1 ) ;
if ( selected _date !== undefined ) {
return new Date ( selected _date ) ;
} else {
return null ;
}
} ,
clearDates : function ( ) {
this . inputField . val ( '' ) ;
this . update ( ) ;
this . _trigger ( 'changeDate' ) ;
if ( this . o . autoclose ) {
this . hide ( ) ;
}
} ,
setDates : function ( ) {
var args = $ . isArray ( arguments [ 0 ] ) ? arguments [ 0 ] : arguments ;
this . update . apply ( this , args ) ;
this . _trigger ( 'changeDate' ) ;
this . setValue ( ) ;
return this ;
} ,
setUTCDates : function ( ) {
var args = $ . isArray ( arguments [ 0 ] ) ? arguments [ 0 ] : arguments ;
this . setDates . apply ( this , $ . map ( args , this . _utc _to _local ) ) ;
return this ;
} ,
setDate : alias ( 'setDates' ) ,
setUTCDate : alias ( 'setUTCDates' ) ,
remove : alias ( 'destroy' , 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead' ) ,
setValue : function ( ) {
var formatted = this . getFormattedDate ( ) ;
this . inputField . val ( formatted ) ;
return this ;
} ,
getFormattedDate : function ( format ) {
if ( format === undefined )
format = this . o . format ;
var lang = this . o . language ;
return $ . map ( this . dates , function ( d ) {
return DPGlobal . formatDate ( d , format , lang ) ;
} ) . join ( this . o . multidateSeparator ) ;
} ,
getStartDate : function ( ) {
return this . o . startDate ;
} ,
setStartDate : function ( startDate ) {
this . _process _options ( { startDate : startDate } ) ;
this . update ( ) ;
this . updateNavArrows ( ) ;
return this ;
} ,
getEndDate : function ( ) {
return this . o . endDate ;
} ,
setEndDate : function ( endDate ) {
this . _process _options ( { endDate : endDate } ) ;
this . update ( ) ;
this . updateNavArrows ( ) ;
return this ;
} ,
setDaysOfWeekDisabled : function ( daysOfWeekDisabled ) {
this . _process _options ( { daysOfWeekDisabled : daysOfWeekDisabled } ) ;
this . update ( ) ;
return this ;
} ,
setDaysOfWeekHighlighted : function ( daysOfWeekHighlighted ) {
this . _process _options ( { daysOfWeekHighlighted : daysOfWeekHighlighted } ) ;
this . update ( ) ;
return this ;
} ,
setDatesDisabled : function ( datesDisabled ) {
this . _process _options ( { datesDisabled : datesDisabled } ) ;
this . update ( ) ;
return this ;
} ,
place : function ( ) {
if ( this . isInline )
return this ;
var calendarWidth = this . picker . outerWidth ( ) ,
calendarHeight = this . picker . outerHeight ( ) ,
visualPadding = 10 ,
container = $ ( this . o . container ) ,
windowWidth = container . width ( ) ,
scrollTop = this . o . container === 'body' ? $ ( document ) . scrollTop ( ) : container . scrollTop ( ) ,
appendOffset = container . offset ( ) ;
var parentsZindex = [ 0 ] ;
this . element . parents ( ) . each ( function ( ) {
var itemZIndex = $ ( this ) . css ( 'z-index' ) ;
if ( itemZIndex !== 'auto' && Number ( itemZIndex ) !== 0 ) parentsZindex . push ( Number ( itemZIndex ) ) ;
} ) ;
var zIndex = Math . max . apply ( Math , parentsZindex ) + this . o . zIndexOffset ;
var offset = this . component ? this . component . parent ( ) . offset ( ) : this . element . offset ( ) ;
var height = this . component ? this . component . outerHeight ( true ) : this . element . outerHeight ( false ) ;
var width = this . component ? this . component . outerWidth ( true ) : this . element . outerWidth ( false ) ;
var left = offset . left - appendOffset . left ;
var top = offset . top - appendOffset . top ;
if ( this . o . container !== 'body' ) {
top += scrollTop ;
}
this . picker . removeClass (
'datepicker-orient-top datepicker-orient-bottom ' +
'datepicker-orient-right datepicker-orient-left'
) ;
if ( this . o . orientation . x !== 'auto' ) {
this . picker . addClass ( 'datepicker-orient-' + this . o . orientation . x ) ;
if ( this . o . orientation . x === 'right' )
left -= calendarWidth - width ;
}
// auto x orientation is best-placement: if it crosses a window
// edge, fudge it sideways
else {
if ( offset . left < 0 ) {
// component is outside the window on the left side. Move it into visible range
this . picker . addClass ( 'datepicker-orient-left' ) ;
left -= offset . left - visualPadding ;
} else if ( left + calendarWidth > windowWidth ) {
// the calendar passes the widow right edge. Align it to component right side
this . picker . addClass ( 'datepicker-orient-right' ) ;
left += width - calendarWidth ;
} else {
if ( this . o . rtl ) {
// Default to right
this . picker . addClass ( 'datepicker-orient-right' ) ;
} else {
// Default to left
this . picker . addClass ( 'datepicker-orient-left' ) ;
}
}
}
// auto y orientation is best-situation: top or bottom, no fudging,
// decision based on which shows more of the calendar
var yorient = this . o . orientation . y ,
top _overflow ;
if ( yorient === 'auto' ) {
top _overflow = - scrollTop + top - calendarHeight ;
yorient = top _overflow < 0 ? 'bottom' : 'top' ;
}
this . picker . addClass ( 'datepicker-orient-' + yorient ) ;
if ( yorient === 'top' )
top -= calendarHeight + parseInt ( this . picker . css ( 'padding-top' ) ) ;
else
top += height ;
if ( this . o . rtl ) {
var right = windowWidth - ( left + width ) ;
this . picker . css ( {
top : top ,
right : right ,
zIndex : zIndex
} ) ;
} else {
this . picker . css ( {
top : top ,
left : left ,
zIndex : zIndex
} ) ;
}
return this ;
} ,
_allow _update : true ,
update : function ( ) {
if ( ! this . _allow _update )
return this ;
var oldDates = this . dates . copy ( ) ,
dates = [ ] ,
fromArgs = false ;
if ( arguments . length ) {
$ . each ( arguments , $ . proxy ( function ( i , date ) {
if ( date instanceof Date )
date = this . _local _to _utc ( date ) ;
dates . push ( date ) ;
} , this ) ) ;
fromArgs = true ;
} else {
dates = this . isInput
? this . element . val ( )
: this . element . data ( 'date' ) || this . inputField . val ( ) ;
if ( dates && this . o . multidate )
dates = dates . split ( this . o . multidateSeparator ) ;
else
dates = [ dates ] ;
delete this . element . data ( ) . date ;
}
dates = $ . map ( dates , $ . proxy ( function ( date ) {
return DPGlobal . parseDate ( date , this . o . format , this . o . language , this . o . assumeNearbyYear ) ;
} , this ) ) ;
dates = $ . grep ( dates , $ . proxy ( function ( date ) {
return (
! this . dateWithinRange ( date ) ||
! date
) ;
} , this ) , true ) ;
this . dates . replace ( dates ) ;
if ( this . o . updateViewDate ) {
if ( this . dates . length )
this . viewDate = new Date ( this . dates . get ( - 1 ) ) ;
else if ( this . viewDate < this . o . startDate )
this . viewDate = new Date ( this . o . startDate ) ;
else if ( this . viewDate > this . o . endDate )
this . viewDate = new Date ( this . o . endDate ) ;
else
this . viewDate = this . o . defaultViewDate ;
}
if ( fromArgs ) {
// setting date by clicking
this . setValue ( ) ;
this . element . change ( ) ;
}
else if ( this . dates . length ) {
// setting date by typing
if ( String ( oldDates ) !== String ( this . dates ) && fromArgs ) {
this . _trigger ( 'changeDate' ) ;
this . element . change ( ) ;
}
}
if ( ! this . dates . length && oldDates . length ) {
this . _trigger ( 'clearDate' ) ;
this . element . change ( ) ;
}
this . fill ( ) ;
return this ;
} ,
fillDow : function ( ) {
if ( this . o . showWeekDays ) {
var dowCnt = this . o . weekStart ,
html = '<tr>' ;
if ( this . o . calendarWeeks ) {
html += '<th class="cw"> </th>' ;
}
while ( dowCnt < this . o . weekStart + 7 ) {
html += '<th class="dow' ;
if ( $ . inArray ( dowCnt , this . o . daysOfWeekDisabled ) !== - 1 )
html += ' disabled' ;
html += '">' + dates [ this . o . language ] . daysMin [ ( dowCnt ++ ) % 7 ] + '</th>' ;
}
html += '</tr>' ;
this . picker . find ( '.datepicker-days thead' ) . append ( html ) ;
}
} ,
fillMonths : function ( ) {
var localDate = this . _utc _to _local ( this . viewDate ) ;
var html = '' ;
var focused ;
for ( var i = 0 ; i < 12 ; i ++ ) {
focused = localDate && localDate . getMonth ( ) === i ? ' focused' : '' ;
html += '<span class="month' + focused + '">' + dates [ this . o . language ] . monthsShort [ i ] + '</span>' ;
}
this . picker . find ( '.datepicker-months td' ) . html ( html ) ;
} ,
setRange : function ( range ) {
if ( ! range || ! range . length )
delete this . range ;
else
this . range = $ . map ( range , function ( d ) {
return d . valueOf ( ) ;
} ) ;
this . fill ( ) ;
} ,
getClassNames : function ( date ) {
var cls = [ ] ,
year = this . viewDate . getUTCFullYear ( ) ,
month = this . viewDate . getUTCMonth ( ) ,
today = UTCToday ( ) ;
if ( date . getUTCFullYear ( ) < year || ( date . getUTCFullYear ( ) === year && date . getUTCMonth ( ) < month ) ) {
cls . push ( 'old' ) ;
} else if ( date . getUTCFullYear ( ) > year || ( date . getUTCFullYear ( ) === year && date . getUTCMonth ( ) > month ) ) {
cls . push ( 'new' ) ;
}
if ( this . focusDate && date . valueOf ( ) === this . focusDate . valueOf ( ) )
cls . push ( 'focused' ) ;
// Compare internal UTC date with UTC today, not local today
if ( this . o . todayHighlight && isUTCEquals ( date , today ) ) {
cls . push ( 'today' ) ;
}
if ( this . dates . contains ( date ) !== - 1 )
cls . push ( 'active' ) ;
if ( ! this . dateWithinRange ( date ) ) {
cls . push ( 'disabled' ) ;
}
if ( this . dateIsDisabled ( date ) ) {
cls . push ( 'disabled' , 'disabled-date' ) ;
}
if ( $ . inArray ( date . getUTCDay ( ) , this . o . daysOfWeekHighlighted ) !== - 1 ) {
cls . push ( 'highlighted' ) ;
}
if ( this . range ) {
if ( date > this . range [ 0 ] && date < this . range [ this . range . length - 1 ] ) {
cls . push ( 'range' ) ;
}
if ( $ . inArray ( date . valueOf ( ) , this . range ) !== - 1 ) {
cls . push ( 'selected' ) ;
}
if ( date . valueOf ( ) === this . range [ 0 ] ) {
cls . push ( 'range-start' ) ;
}
if ( date . valueOf ( ) === this . range [ this . range . length - 1 ] ) {
cls . push ( 'range-end' ) ;
}
}
return cls ;
} ,
_fill _yearsView : function ( selector , cssClass , factor , year , startYear , endYear , beforeFn ) {
var html = '' ;
var step = factor / 10 ;
var view = this . picker . find ( selector ) ;
var startVal = Math . floor ( year / factor ) * factor ;
var endVal = startVal + step * 9 ;
var focusedVal = Math . floor ( this . viewDate . getFullYear ( ) / step ) * step ;
var selected = $ . map ( this . dates , function ( d ) {
return Math . floor ( d . getUTCFullYear ( ) / step ) * step ;
} ) ;
var classes , tooltip , before ;
for ( var currVal = startVal - step ; currVal <= endVal + step ; currVal += step ) {
classes = [ cssClass ] ;
tooltip = null ;
if ( currVal === startVal - step ) {
classes . push ( 'old' ) ;
} else if ( currVal === endVal + step ) {
classes . push ( 'new' ) ;
}
if ( $ . inArray ( currVal , selected ) !== - 1 ) {
classes . push ( 'active' ) ;
}
if ( currVal < startYear || currVal > endYear ) {
classes . push ( 'disabled' ) ;
}
if ( currVal === focusedVal ) {
classes . push ( 'focused' ) ;
}
if ( beforeFn !== $ . noop ) {
before = beforeFn ( new Date ( currVal , 0 , 1 ) ) ;
if ( before === undefined ) {
before = { } ;
} else if ( typeof before === 'boolean' ) {
before = { enabled : before } ;
} else if ( typeof before === 'string' ) {
before = { classes : before } ;
}
if ( before . enabled === false ) {
classes . push ( 'disabled' ) ;
}
if ( before . classes ) {
classes = classes . concat ( before . classes . split ( /\s+/ ) ) ;
}
if ( before . tooltip ) {
tooltip = before . tooltip ;
}
}
html += '<span class="' + classes . join ( ' ' ) + '"' + ( tooltip ? ' title="' + tooltip + '"' : '' ) + '>' + currVal + '</span>' ;
}
view . find ( '.datepicker-switch' ) . text ( startVal + '-' + endVal ) ;
view . find ( 'td' ) . html ( html ) ;
} ,
fill : function ( ) {
var d = new Date ( this . viewDate ) ,
year = d . getUTCFullYear ( ) ,
month = d . getUTCMonth ( ) ,
startYear = this . o . startDate !== - Infinity ? this . o . startDate . getUTCFullYear ( ) : - Infinity ,
startMonth = this . o . startDate !== - Infinity ? this . o . startDate . getUTCMonth ( ) : - Infinity ,
endYear = this . o . endDate !== Infinity ? this . o . endDate . getUTCFullYear ( ) : Infinity ,
endMonth = this . o . endDate !== Infinity ? this . o . endDate . getUTCMonth ( ) : Infinity ,
todaytxt = dates [ this . o . language ] . today || dates [ 'en' ] . today || '' ,
cleartxt = dates [ this . o . language ] . clear || dates [ 'en' ] . clear || '' ,
titleFormat = dates [ this . o . language ] . titleFormat || dates [ 'en' ] . titleFormat ,
tooltip ,
before ;
if ( isNaN ( year ) || isNaN ( month ) )
return ;
this . picker . find ( '.datepicker-days .datepicker-switch' )
. text ( DPGlobal . formatDate ( d , titleFormat , this . o . language ) ) ;
this . picker . find ( 'tfoot .today' )
. text ( todaytxt )
. css ( 'display' , this . o . todayBtn === true || this . o . todayBtn === 'linked' ? 'table-cell' : 'none' ) ;
this . picker . find ( 'tfoot .clear' )
. text ( cleartxt )
. css ( 'display' , this . o . clearBtn === true ? 'table-cell' : 'none' ) ;
this . picker . find ( 'thead .datepicker-title' )
. text ( this . o . title )
. css ( 'display' , typeof this . o . title === 'string' && this . o . title !== '' ? 'table-cell' : 'none' ) ;
this . updateNavArrows ( ) ;
this . fillMonths ( ) ;
var prevMonth = UTCDate ( year , month , 0 ) ,
day = prevMonth . getUTCDate ( ) ;
prevMonth . setUTCDate ( day - ( prevMonth . getUTCDay ( ) - this . o . weekStart + 7 ) % 7 ) ;
var nextMonth = new Date ( prevMonth ) ;
if ( prevMonth . getUTCFullYear ( ) < 100 ) {
nextMonth . setUTCFullYear ( prevMonth . getUTCFullYear ( ) ) ;
}
nextMonth . setUTCDate ( nextMonth . getUTCDate ( ) + 42 ) ;
nextMonth = nextMonth . valueOf ( ) ;
var html = [ ] ;
var weekDay , clsName ;
while ( prevMonth . valueOf ( ) < nextMonth ) {
weekDay = prevMonth . getUTCDay ( ) ;
if ( weekDay === this . o . weekStart ) {
html . push ( '<tr>' ) ;
if ( this . o . calendarWeeks ) {
// ISO 8601: First week contains first thursday.
// ISO also states week starts on Monday, but we can be more abstract here.
var
// Start of current week: based on weekstart/current date
ws = new Date ( + prevMonth + ( this . o . weekStart - weekDay - 7 ) % 7 * 864e5 ) ,
// Thursday of this week
th = new Date ( Number ( ws ) + ( 7 + 4 - ws . getUTCDay ( ) ) % 7 * 864e5 ) ,
// First Thursday of year, year from thursday
yth = new Date ( Number ( yth = UTCDate ( th . getUTCFullYear ( ) , 0 , 1 ) ) + ( 7 + 4 - yth . getUTCDay ( ) ) % 7 * 864e5 ) ,
// Calendar week: ms between thursdays, div ms per day, div 7 days
calWeek = ( th - yth ) / 864e5 / 7 + 1 ;
html . push ( '<td class="cw">' + calWeek + '</td>' ) ;
}
}
clsName = this . getClassNames ( prevMonth ) ;
clsName . push ( 'day' ) ;
var content = prevMonth . getUTCDate ( ) ;
if ( this . o . beforeShowDay !== $ . noop ) {
before = this . o . beforeShowDay ( this . _utc _to _local ( prevMonth ) ) ;
if ( before === undefined )
before = { } ;
else if ( typeof before === 'boolean' )
before = { enabled : before } ;
else if ( typeof before === 'string' )
before = { classes : before } ;
if ( before . enabled === false )
clsName . push ( 'disabled' ) ;
if ( before . classes )
clsName = clsName . concat ( before . classes . split ( /\s+/ ) ) ;
if ( before . tooltip )
tooltip = before . tooltip ;
if ( before . content )
content = before . content ;
}
//Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2)
//Fallback to unique function for older jquery versions
if ( $ . isFunction ( $ . uniqueSort ) ) {
clsName = $ . uniqueSort ( clsName ) ;
} else {
clsName = $ . unique ( clsName ) ;
}
html . push ( '<td class="' + clsName . join ( ' ' ) + '"' + ( tooltip ? ' title="' + tooltip + '"' : '' ) + ' data-date="' + prevMonth . getTime ( ) . toString ( ) + '">' + content + '</td>' ) ;
tooltip = null ;
if ( weekDay === this . o . weekEnd ) {
html . push ( '</tr>' ) ;
}
prevMonth . setUTCDate ( prevMonth . getUTCDate ( ) + 1 ) ;
}
this . picker . find ( '.datepicker-days tbody' ) . html ( html . join ( '' ) ) ;
var monthsTitle = dates [ this . o . language ] . monthsTitle || dates [ 'en' ] . monthsTitle || 'Months' ;
var months = this . picker . find ( '.datepicker-months' )
. find ( '.datepicker-switch' )
. text ( this . o . maxViewMode < 2 ? monthsTitle : year )
. end ( )
. find ( 'tbody span' ) . removeClass ( 'active' ) ;
$ . each ( this . dates , function ( i , d ) {
if ( d . getUTCFullYear ( ) === year )
months . eq ( d . getUTCMonth ( ) ) . addClass ( 'active' ) ;
} ) ;
if ( year < startYear || year > endYear ) {
months . addClass ( 'disabled' ) ;
}
if ( year === startYear ) {
months . slice ( 0 , startMonth ) . addClass ( 'disabled' ) ;
}
if ( year === endYear ) {
months . slice ( endMonth + 1 ) . addClass ( 'disabled' ) ;
}
if ( this . o . beforeShowMonth !== $ . noop ) {
var that = this ;
$ . each ( months , function ( i , month ) {
var moDate = new Date ( year , i , 1 ) ;
var before = that . o . beforeShowMonth ( moDate ) ;
if ( before === undefined )
before = { } ;
else if ( typeof before === 'boolean' )
before = { enabled : before } ;
else if ( typeof before === 'string' )
before = { classes : before } ;
if ( before . enabled === false && ! $ ( month ) . hasClass ( 'disabled' ) )
$ ( month ) . addClass ( 'disabled' ) ;
if ( before . classes )
$ ( month ) . addClass ( before . classes ) ;
if ( before . tooltip )
$ ( month ) . prop ( 'title' , before . tooltip ) ;
} ) ;
}
// Generating decade/years picker
this . _fill _yearsView (
'.datepicker-years' ,
'year' ,
10 ,
year ,
startYear ,
endYear ,
this . o . beforeShowYear
) ;
// Generating century/decades picker
this . _fill _yearsView (
'.datepicker-decades' ,
'decade' ,
100 ,
year ,
startYear ,
endYear ,
this . o . beforeShowDecade
) ;
// Generating millennium/centuries picker
this . _fill _yearsView (
'.datepicker-centuries' ,
'century' ,
1000 ,
year ,
startYear ,
endYear ,
this . o . beforeShowCentury
) ;
} ,
updateNavArrows : function ( ) {
if ( ! this . _allow _update )
return ;
var d = new Date ( this . viewDate ) ,
year = d . getUTCFullYear ( ) ,
month = d . getUTCMonth ( ) ,
startYear = this . o . startDate !== - Infinity ? this . o . startDate . getUTCFullYear ( ) : - Infinity ,
startMonth = this . o . startDate !== - Infinity ? this . o . startDate . getUTCMonth ( ) : - Infinity ,
endYear = this . o . endDate !== Infinity ? this . o . endDate . getUTCFullYear ( ) : Infinity ,
endMonth = this . o . endDate !== Infinity ? this . o . endDate . getUTCMonth ( ) : Infinity ,
prevIsDisabled ,
nextIsDisabled ,
factor = 1 ;
switch ( this . viewMode ) {
case 4 :
factor *= 10 ;
/* falls through */
case 3 :
factor *= 10 ;
/* falls through */
case 2 :
factor *= 10 ;
/* falls through */
case 1 :
prevIsDisabled = Math . floor ( year / factor ) * factor < startYear ;
nextIsDisabled = Math . floor ( year / factor ) * factor + factor > endYear ;
break ;
case 0 :
prevIsDisabled = year <= startYear && month < startMonth ;
nextIsDisabled = year >= endYear && month > endMonth ;
break ;
}
this . picker . find ( '.prev' ) . toggleClass ( 'disabled' , prevIsDisabled ) ;
this . picker . find ( '.next' ) . toggleClass ( 'disabled' , nextIsDisabled ) ;
} ,
click : function ( e ) {
e . preventDefault ( ) ;
e . stopPropagation ( ) ;
var target , dir , day , year , month ;
target = $ ( e . target ) ;
// Clicked on the switch
if ( target . hasClass ( 'datepicker-switch' ) && this . viewMode !== this . o . maxViewMode ) {
this . setViewMode ( this . viewMode + 1 ) ;
}
// Clicked on today button
if ( target . hasClass ( 'today' ) && ! target . hasClass ( 'day' ) ) {
this . setViewMode ( 0 ) ;
this . _setDate ( UTCToday ( ) , this . o . todayBtn === 'linked' ? null : 'view' ) ;
}
// Clicked on clear button
if ( target . hasClass ( 'clear' ) ) {
this . clearDates ( ) ;
}
if ( ! target . hasClass ( 'disabled' ) ) {
// Clicked on a month, year, decade, century
if ( target . hasClass ( 'month' )
|| target . hasClass ( 'year' )
|| target . hasClass ( 'decade' )
|| target . hasClass ( 'century' ) ) {
this . viewDate . setUTCDate ( 1 ) ;
day = 1 ;
if ( this . viewMode === 1 ) {
month = target . parent ( ) . find ( 'span' ) . index ( target ) ;
year = this . viewDate . getUTCFullYear ( ) ;
this . viewDate . setUTCMonth ( month ) ;
} else {
month = 0 ;
year = Number ( target . text ( ) ) ;
this . viewDate . setUTCFullYear ( year ) ;
}
this . _trigger ( DPGlobal . viewModes [ this . viewMode - 1 ] . e , this . viewDate ) ;
if ( this . viewMode === this . o . minViewMode ) {
this . _setDate ( UTCDate ( year , month , day ) ) ;
} else {
this . setViewMode ( this . viewMode - 1 ) ;
this . fill ( ) ;
}
}
}
if ( this . picker . is ( ':visible' ) && this . _focused _from ) {
this . _focused _from . focus ( ) ;
}
delete this . _focused _from ;
} ,
dayCellClick : function ( e ) {
var $target = $ ( e . currentTarget ) ;
var timestamp = $target . data ( 'date' ) ;
var date = new Date ( timestamp ) ;
if ( this . o . updateViewDate ) {
if ( date . getUTCFullYear ( ) !== this . viewDate . getUTCFullYear ( ) ) {
this . _trigger ( 'changeYear' , this . viewDate ) ;
}
if ( date . getUTCMonth ( ) !== this . viewDate . getUTCMonth ( ) ) {
this . _trigger ( 'changeMonth' , this . viewDate ) ;
}
}
this . _setDate ( date ) ;
} ,
// Clicked on prev or next
navArrowsClick : function ( e ) {
var $target = $ ( e . currentTarget ) ;
var dir = $target . hasClass ( 'prev' ) ? - 1 : 1 ;
if ( this . viewMode !== 0 ) {
dir *= DPGlobal . viewModes [ this . viewMode ] . navStep * 12 ;
}
this . viewDate = this . moveMonth ( this . viewDate , dir ) ;
this . _trigger ( DPGlobal . viewModes [ this . viewMode ] . e , this . viewDate ) ;
this . fill ( ) ;
} ,
_toggle _multidate : function ( date ) {
var ix = this . dates . contains ( date ) ;
if ( ! date ) {
this . dates . clear ( ) ;
}
if ( ix !== - 1 ) {
if ( this . o . multidate === true || this . o . multidate > 1 || this . o . toggleActive ) {
this . dates . remove ( ix ) ;
}
} else if ( this . o . multidate === false ) {
this . dates . clear ( ) ;
this . dates . push ( date ) ;
}
else {
this . dates . push ( date ) ;
}
if ( typeof this . o . multidate === 'number' )
while ( this . dates . length > this . o . multidate )
this . dates . remove ( 0 ) ;
} ,
_setDate : function ( date , which ) {
if ( ! which || which === 'date' )
this . _toggle _multidate ( date && new Date ( date ) ) ;
if ( ( ! which && this . o . updateViewDate ) || which === 'view' )
this . viewDate = date && new Date ( date ) ;
this . fill ( ) ;
this . setValue ( ) ;
if ( ! which || which !== 'view' ) {
this . _trigger ( 'changeDate' ) ;
}
this . inputField . trigger ( 'change' ) ;
if ( this . o . autoclose && ( ! which || which === 'date' ) ) {
this . hide ( ) ;
}
} ,
moveDay : function ( date , dir ) {
var newDate = new Date ( date ) ;
newDate . setUTCDate ( date . getUTCDate ( ) + dir ) ;
return newDate ;
} ,
moveWeek : function ( date , dir ) {
return this . moveDay ( date , dir * 7 ) ;
} ,
moveMonth : function ( date , dir ) {
if ( ! isValidDate ( date ) )
return this . o . defaultViewDate ;
if ( ! dir )
return date ;
var new _date = new Date ( date . valueOf ( ) ) ,
day = new _date . getUTCDate ( ) ,
month = new _date . getUTCMonth ( ) ,
mag = Math . abs ( dir ) ,
new _month , test ;
dir = dir > 0 ? 1 : - 1 ;
if ( mag === 1 ) {
test = dir === - 1
// If going back one month, make sure month is not current month
// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)
? function ( ) {
return new _date . getUTCMonth ( ) === month ;
}
// If going forward one month, make sure month is as expected
// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)
: function ( ) {
return new _date . getUTCMonth ( ) !== new _month ;
} ;
new _month = month + dir ;
new _date . setUTCMonth ( new _month ) ;
// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11
new _month = ( new _month + 12 ) % 12 ;
}
else {
// For magnitudes >1, move one month at a time...
for ( var i = 0 ; i < mag ; i ++ )
// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...
new _date = this . moveMonth ( new _date , dir ) ;
// ...then reset the day, keeping it in the new month
new _month = new _date . getUTCMonth ( ) ;
new _date . setUTCDate ( day ) ;
test = function ( ) {
return new _month !== new _date . getUTCMonth ( ) ;
} ;
}
// Common date-resetting loop -- if date is beyond end of month, make it
// end of month
while ( test ( ) ) {
new _date . setUTCDate ( -- day ) ;
new _date . setUTCMonth ( new _month ) ;
}
return new _date ;
} ,
moveYear : function ( date , dir ) {
return this . moveMonth ( date , dir * 12 ) ;
} ,
moveAvailableDate : function ( date , dir , fn ) {
do {
date = this [ fn ] ( date , dir ) ;
if ( ! this . dateWithinRange ( date ) )
return false ;
fn = 'moveDay' ;
}
while ( this . dateIsDisabled ( date ) ) ;
return date ;
} ,
weekOfDateIsDisabled : function ( date ) {
return $ . inArray ( date . getUTCDay ( ) , this . o . daysOfWeekDisabled ) !== - 1 ;
} ,
dateIsDisabled : function ( date ) {
return (
this . weekOfDateIsDisabled ( date ) ||
$ . grep ( this . o . datesDisabled , function ( d ) {
return isUTCEquals ( date , d ) ;
} ) . length > 0
) ;
} ,
dateWithinRange : function ( date ) {
return date >= this . o . startDate && date <= this . o . endDate ;
} ,
keydown : function ( e ) {
if ( ! this . picker . is ( ':visible' ) ) {
if ( e . keyCode === 40 || e . keyCode === 27 ) { // allow down to re-show picker
this . show ( ) ;
e . stopPropagation ( ) ;
}
return ;
}
var dateChanged = false ,
dir , newViewDate ,
focusDate = this . focusDate || this . viewDate ;
switch ( e . keyCode ) {
case 27 : // escape
if ( this . focusDate ) {
this . focusDate = null ;
this . viewDate = this . dates . get ( - 1 ) || this . viewDate ;
this . fill ( ) ;
}
else
this . hide ( ) ;
e . preventDefault ( ) ;
e . stopPropagation ( ) ;
break ;
case 37 : // left
case 38 : // up
case 39 : // right
case 40 : // down
if ( ! this . o . keyboardNavigation || this . o . daysOfWeekDisabled . length === 7 )
break ;
dir = e . keyCode === 37 || e . keyCode === 38 ? - 1 : 1 ;
if ( this . viewMode === 0 ) {
if ( e . ctrlKey ) {
newViewDate = this . moveAvailableDate ( focusDate , dir , 'moveYear' ) ;
if ( newViewDate )
this . _trigger ( 'changeYear' , this . viewDate ) ;
} else if ( e . shiftKey ) {
newViewDate = this . moveAvailableDate ( focusDate , dir , 'moveMonth' ) ;
if ( newViewDate )
this . _trigger ( 'changeMonth' , this . viewDate ) ;
} else if ( e . keyCode === 37 || e . keyCode === 39 ) {
newViewDate = this . moveAvailableDate ( focusDate , dir , 'moveDay' ) ;
} else if ( ! this . weekOfDateIsDisabled ( focusDate ) ) {
newViewDate = this . moveAvailableDate ( focusDate , dir , 'moveWeek' ) ;
}
} else if ( this . viewMode === 1 ) {
if ( e . keyCode === 38 || e . keyCode === 40 ) {
dir = dir * 4 ;
}
newViewDate = this . moveAvailableDate ( focusDate , dir , 'moveMonth' ) ;
} else if ( this . viewMode === 2 ) {
if ( e . keyCode === 38 || e . keyCode === 40 ) {
dir = dir * 4 ;
}
newViewDate = this . moveAvailableDate ( focusDate , dir , 'moveYear' ) ;
}
if ( newViewDate ) {
this . focusDate = this . viewDate = newViewDate ;
this . setValue ( ) ;
this . fill ( ) ;
e . preventDefault ( ) ;
}
break ;
case 13 : // enter
if ( ! this . o . forceParse )
break ;
focusDate = this . focusDate || this . dates . get ( - 1 ) || this . viewDate ;
if ( this . o . keyboardNavigation ) {
this . _toggle _multidate ( focusDate ) ;
dateChanged = true ;
}
this . focusDate = null ;
this . viewDate = this . dates . get ( - 1 ) || this . viewDate ;
this . setValue ( ) ;
this . fill ( ) ;
if ( this . picker . is ( ':visible' ) ) {
e . preventDefault ( ) ;
e . stopPropagation ( ) ;
if ( this . o . autoclose )
this . hide ( ) ;
}
break ;
case 9 : // tab
this . focusDate = null ;
this . viewDate = this . dates . get ( - 1 ) || this . viewDate ;
this . fill ( ) ;
this . hide ( ) ;
break ;
}
if ( dateChanged ) {
if ( this . dates . length )
this . _trigger ( 'changeDate' ) ;
else
this . _trigger ( 'clearDate' ) ;
this . inputField . trigger ( 'change' ) ;
}
} ,
setViewMode : function ( viewMode ) {
this . viewMode = viewMode ;
this . picker
. children ( 'div' )
. hide ( )
. filter ( '.datepicker-' + DPGlobal . viewModes [ this . viewMode ] . clsName )
. show ( ) ;
this . updateNavArrows ( ) ;
this . _trigger ( 'changeViewMode' , new Date ( this . viewDate ) ) ;
}
} ;
var DateRangePicker = function ( element , options ) {
$ . data ( element , 'datepicker' , this ) ;
this . element = $ ( element ) ;
this . inputs = $ . map ( options . inputs , function ( i ) {
return i . jquery ? i [ 0 ] : i ;
} ) ;
delete options . inputs ;
this . keepEmptyValues = options . keepEmptyValues ;
delete options . keepEmptyValues ;
datepickerPlugin . call ( $ ( this . inputs ) , options )
. on ( 'changeDate' , $ . proxy ( this . dateUpdated , this ) ) ;
this . pickers = $ . map ( this . inputs , function ( i ) {
return $ . data ( i , 'datepicker' ) ;
} ) ;
this . updateDates ( ) ;
} ;
DateRangePicker . prototype = {
updateDates : function ( ) {
this . dates = $ . map ( this . pickers , function ( i ) {
return i . getUTCDate ( ) ;
} ) ;
this . updateRanges ( ) ;
} ,
updateRanges : function ( ) {
var range = $ . map ( this . dates , function ( d ) {
return d . valueOf ( ) ;
} ) ;
$ . each ( this . pickers , function ( i , p ) {
p . setRange ( range ) ;
} ) ;
} ,
clearDates : function ( ) {
$ . each ( this . pickers , function ( i , p ) {
p . clearDates ( ) ;
} ) ;
} ,
dateUpdated : function ( e ) {
// `this.updating` is a workaround for preventing infinite recursion
// between `changeDate` triggering and `setUTCDate` calling. Until
// there is a better mechanism.
if ( this . updating )
return ;
this . updating = true ;
var dp = $ . data ( e . target , 'datepicker' ) ;
if ( dp === undefined ) {
return ;
}
var new _date = dp . getUTCDate ( ) ,
keep _empty _values = this . keepEmptyValues ,
i = $ . inArray ( e . target , this . inputs ) ,
j = i - 1 ,
k = i + 1 ,
l = this . inputs . length ;
if ( i === - 1 )
return ;
$ . each ( this . pickers , function ( i , p ) {
if ( ! p . getUTCDate ( ) && ( p === dp || ! keep _empty _values ) )
p . setUTCDate ( new _date ) ;
} ) ;
if ( new _date < this . dates [ j ] ) {
// Date being moved earlier/left
while ( j >= 0 && new _date < this . dates [ j ] ) {
this . pickers [ j -- ] . setUTCDate ( new _date ) ;
}
} else if ( new _date > this . dates [ k ] ) {
// Date being moved later/right
while ( k < l && new _date > this . dates [ k ] ) {
this . pickers [ k ++ ] . setUTCDate ( new _date ) ;
}
}
this . updateDates ( ) ;
delete this . updating ;
} ,
destroy : function ( ) {
$ . map ( this . pickers , function ( p ) { p . destroy ( ) ; } ) ;
$ ( this . inputs ) . off ( 'changeDate' , this . dateUpdated ) ;
delete this . element . data ( ) . datepicker ;
} ,
remove : alias ( 'destroy' , 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead' )
} ;
function opts _from _el ( el , prefix ) {
// Derive options from element data-attrs
var data = $ ( el ) . data ( ) ,
out = { } , inkey ,
replace = new RegExp ( '^' + prefix . toLowerCase ( ) + '([A-Z])' ) ;
prefix = new RegExp ( '^' + prefix . toLowerCase ( ) ) ;
function re _lower ( _ , a ) {
return a . toLowerCase ( ) ;
}
for ( var key in data )
if ( prefix . test ( key ) ) {
inkey = key . replace ( replace , re _lower ) ;
out [ inkey ] = data [ key ] ;
}
return out ;
}
function opts _from _locale ( lang ) {
// Derive options from locale plugins
var out = { } ;
// Check if "de-DE" style date is available, if not language should
// fallback to 2 letter code eg "de"
if ( ! dates [ lang ] ) {
lang = lang . split ( '-' ) [ 0 ] ;
if ( ! dates [ lang ] )
return ;
}
var d = dates [ lang ] ;
$ . each ( locale _opts , function ( i , k ) {
if ( k in d )
out [ k ] = d [ k ] ;
} ) ;
return out ;
}
var old = $ . fn . datepicker ;
var datepickerPlugin = function ( option ) {
var args = Array . apply ( null , arguments ) ;
args . shift ( ) ;
var internal _return ;
this . each ( function ( ) {
var $this = $ ( this ) ,
data = $this . data ( 'datepicker' ) ,
options = typeof option === 'object' && option ;
if ( ! data ) {
var elopts = opts _from _el ( this , 'date' ) ,
// Preliminary otions
xopts = $ . extend ( { } , defaults , elopts , options ) ,
locopts = opts _from _locale ( xopts . language ) ,
// Options priority: js args, data-attrs, locales, defaults
opts = $ . extend ( { } , defaults , locopts , elopts , options ) ;
if ( $this . hasClass ( 'input-daterange' ) || opts . inputs ) {
$ . extend ( opts , {
inputs : opts . inputs || $this . find ( 'input' ) . toArray ( )
} ) ;
data = new DateRangePicker ( this , opts ) ;
}
else {
data = new Datepicker ( this , opts ) ;
}
$this . data ( 'datepicker' , data ) ;
}
if ( typeof option === 'string' && typeof data [ option ] === 'function' ) {
internal _return = data [ option ] . apply ( data , args ) ;
}
} ) ;
if (
internal _return === undefined ||
internal _return instanceof Datepicker ||
internal _return instanceof DateRangePicker
)
return this ;
if ( this . length > 1 )
throw new Error ( 'Using only allowed for the collection of a single element (' + option + ' function)' ) ;
else
return internal _return ;
} ;
$ . fn . datepicker = datepickerPlugin ;
var defaults = $ . fn . datepicker . defaults = {
assumeNearbyYear : false ,
autoclose : false ,
beforeShowDay : $ . noop ,
beforeShowMonth : $ . noop ,
beforeShowYear : $ . noop ,
beforeShowDecade : $ . noop ,
beforeShowCentury : $ . noop ,
calendarWeeks : false ,
clearBtn : false ,
toggleActive : false ,
daysOfWeekDisabled : [ ] ,
daysOfWeekHighlighted : [ ] ,
datesDisabled : [ ] ,
endDate : Infinity ,
forceParse : true ,
format : 'mm/dd/yyyy' ,
keepEmptyValues : false ,
keyboardNavigation : true ,
language : 'en' ,
minViewMode : 0 ,
maxViewMode : 4 ,
multidate : false ,
multidateSeparator : ',' ,
orientation : "auto" ,
rtl : false ,
startDate : - Infinity ,
startView : 0 ,
todayBtn : false ,
todayHighlight : false ,
updateViewDate : true ,
weekStart : 0 ,
disableTouchKeyboard : false ,
enableOnReadonly : true ,
showOnFocus : true ,
zIndexOffset : 10 ,
container : 'body' ,
immediateUpdates : false ,
title : '' ,
templates : {
leftArrow : '«' ,
rightArrow : '»'
} ,
showWeekDays : true
} ;
var locale _opts = $ . fn . datepicker . locale _opts = [
'format' ,
'rtl' ,
'weekStart'
] ;
$ . fn . datepicker . Constructor = Datepicker ;
var dates = $ . fn . datepicker . dates = {
en : {
days : [ "Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ] ,
daysShort : [ "Sun" , "Mon" , "Tue" , "Wed" , "Thu" , "Fri" , "Sat" ] ,
daysMin : [ "Su" , "Mo" , "Tu" , "We" , "Th" , "Fr" , "Sa" ] ,
months : [ "January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December" ] ,
monthsShort : [ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ] ,
today : "Today" ,
clear : "Clear" ,
titleFormat : "MM yyyy"
}
} ;
var DPGlobal = {
viewModes : [
{
names : [ 'days' , 'month' ] ,
clsName : 'days' ,
e : 'changeMonth'
} ,
{
names : [ 'months' , 'year' ] ,
clsName : 'months' ,
e : 'changeYear' ,
navStep : 1
} ,
{
names : [ 'years' , 'decade' ] ,
clsName : 'years' ,
e : 'changeDecade' ,
navStep : 10
} ,
{
names : [ 'decades' , 'century' ] ,
clsName : 'decades' ,
e : 'changeCentury' ,
navStep : 100
} ,
{
names : [ 'centuries' , 'millennium' ] ,
clsName : 'centuries' ,
e : 'changeMillennium' ,
navStep : 1000
}
] ,
validParts : /dd?|DD?|mm?|MM?|yy(?:yy)?/g ,
nonpunctuation : /[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g ,
parseFormat : function ( format ) {
if ( typeof format . toValue === 'function' && typeof format . toDisplay === 'function' )
return format ;
// IE treats \0 as a string end in inputs (truncating the value),
// so it's a bad format delimiter, anyway
var separators = format . replace ( this . validParts , '\0' ) . split ( '\0' ) ,
parts = format . match ( this . validParts ) ;
if ( ! separators || ! separators . length || ! parts || parts . length === 0 ) {
throw new Error ( "Invalid date format." ) ;
}
return { separators : separators , parts : parts } ;
} ,
parseDate : function ( date , format , language , assumeNearby ) {
if ( ! date )
return undefined ;
if ( date instanceof Date )
return date ;
if ( typeof format === 'string' )
format = DPGlobal . parseFormat ( format ) ;
if ( format . toValue )
return format . toValue ( date , format , language ) ;
var fn _map = {
d : 'moveDay' ,
m : 'moveMonth' ,
w : 'moveWeek' ,
y : 'moveYear'
} ,
dateAliases = {
yesterday : '-1d' ,
today : '+0d' ,
tomorrow : '+1d'
} ,
parts , part , dir , i , fn ;
if ( date in dateAliases ) {
date = dateAliases [ date ] ;
}
if ( /^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i . test ( date ) ) {
parts = date . match ( /([\-+]\d+)([dmwy])/gi ) ;
date = new Date ( ) ;
for ( i = 0 ; i < parts . length ; i ++ ) {
part = parts [ i ] . match ( /([\-+]\d+)([dmwy])/i ) ;
dir = Number ( part [ 1 ] ) ;
fn = fn _map [ part [ 2 ] . toLowerCase ( ) ] ;
date = Datepicker . prototype [ fn ] ( date , dir ) ;
}
return Datepicker . prototype . _zero _utc _time ( date ) ;
}
parts = date && date . match ( this . nonpunctuation ) || [ ] ;
function applyNearbyYear ( year , threshold ) {
if ( threshold === true )
threshold = 10 ;
// if year is 2 digits or less, than the user most likely is trying to get a recent century
if ( year < 100 ) {
year += 2000 ;
// if the new year is more than threshold years in advance, use last century
if ( year > ( ( new Date ( ) ) . getFullYear ( ) + threshold ) ) {
year -= 100 ;
}
}
return year ;
}
var parsed = { } ,
setters _order = [ 'yyyy' , 'yy' , 'M' , 'MM' , 'm' , 'mm' , 'd' , 'dd' ] ,
setters _map = {
yyyy : function ( d , v ) {
return d . setUTCFullYear ( assumeNearby ? applyNearbyYear ( v , assumeNearby ) : v ) ;
} ,
m : function ( d , v ) {
if ( isNaN ( d ) )
return d ;
v -= 1 ;
while ( v < 0 ) v += 12 ;
v %= 12 ;
d . setUTCMonth ( v ) ;
while ( d . getUTCMonth ( ) !== v )
d . setUTCDate ( d . getUTCDate ( ) - 1 ) ;
return d ;
} ,
d : function ( d , v ) {
return d . setUTCDate ( v ) ;
}
} ,
val , filtered ;
setters _map [ 'yy' ] = setters _map [ 'yyyy' ] ;
setters _map [ 'M' ] = setters _map [ 'MM' ] = setters _map [ 'mm' ] = setters _map [ 'm' ] ;
setters _map [ 'dd' ] = setters _map [ 'd' ] ;
date = UTCToday ( ) ;
var fparts = format . parts . slice ( ) ;
// Remove noop parts
if ( parts . length !== fparts . length ) {
fparts = $ ( fparts ) . filter ( function ( i , p ) {
return $ . inArray ( p , setters _order ) !== - 1 ;
} ) . toArray ( ) ;
}
// Process remainder
function match _part ( ) {
var m = this . slice ( 0 , parts [ i ] . length ) ,
p = parts [ i ] . slice ( 0 , m . length ) ;
return m . toLowerCase ( ) === p . toLowerCase ( ) ;
}
if ( parts . length === fparts . length ) {
var cnt ;
for ( i = 0 , cnt = fparts . length ; i < cnt ; i ++ ) {
val = parseInt ( parts [ i ] , 10 ) ;
part = fparts [ i ] ;
if ( isNaN ( val ) ) {
switch ( part ) {
case 'MM' :
filtered = $ ( dates [ language ] . months ) . filter ( match _part ) ;
val = $ . inArray ( filtered [ 0 ] , dates [ language ] . months ) + 1 ;
break ;
case 'M' :
filtered = $ ( dates [ language ] . monthsShort ) . filter ( match _part ) ;
val = $ . inArray ( filtered [ 0 ] , dates [ language ] . monthsShort ) + 1 ;
break ;
}
}
parsed [ part ] = val ;
}
var _date , s ;
for ( i = 0 ; i < setters _order . length ; i ++ ) {
s = setters _order [ i ] ;
if ( s in parsed && ! isNaN ( parsed [ s ] ) ) {
_date = new Date ( date ) ;
setters _map [ s ] ( _date , parsed [ s ] ) ;
if ( ! isNaN ( _date ) )
date = _date ;
}
}
}
return date ;
} ,
formatDate : function ( date , format , language ) {
if ( ! date )
return '' ;
if ( typeof format === 'string' )
format = DPGlobal . parseFormat ( format ) ;
if ( format . toDisplay )
return format . toDisplay ( date , format , language ) ;
var val = {
d : date . getUTCDate ( ) ,
D : dates [ language ] . daysShort [ date . getUTCDay ( ) ] ,
DD : dates [ language ] . days [ date . getUTCDay ( ) ] ,
m : date . getUTCMonth ( ) + 1 ,
M : dates [ language ] . monthsShort [ date . getUTCMonth ( ) ] ,
MM : dates [ language ] . months [ date . getUTCMonth ( ) ] ,
yy : date . getUTCFullYear ( ) . toString ( ) . substring ( 2 ) ,
yyyy : date . getUTCFullYear ( )
} ;
val . dd = ( val . d < 10 ? '0' : '' ) + val . d ;
val . mm = ( val . m < 10 ? '0' : '' ) + val . m ;
date = [ ] ;
var seps = $ . extend ( [ ] , format . separators ) ;
for ( var i = 0 , cnt = format . parts . length ; i <= cnt ; i ++ ) {
if ( seps . length )
date . push ( seps . shift ( ) ) ;
date . push ( val [ format . parts [ i ] ] ) ;
}
return date . join ( '' ) ;
} ,
headTemplate : '<thead>' +
'<tr>' +
'<th colspan="7" class="datepicker-title"></th>' +
'</tr>' +
'<tr>' +
'<th class="prev">' + defaults . templates . leftArrow + '</th>' +
'<th colspan="5" class="datepicker-switch"></th>' +
'<th class="next">' + defaults . templates . rightArrow + '</th>' +
'</tr>' +
'</thead>' ,
contTemplate : '<tbody><tr><td colspan="7"></td></tr></tbody>' ,
footTemplate : '<tfoot>' +
'<tr>' +
'<th colspan="7" class="today"></th>' +
'</tr>' +
'<tr>' +
'<th colspan="7" class="clear"></th>' +
'</tr>' +
'</tfoot>'
} ;
DPGlobal . template = '<div class="datepicker">' +
'<div class="datepicker-days">' +
'<table class="table-condensed">' +
DPGlobal . headTemplate +
'<tbody></tbody>' +
DPGlobal . footTemplate +
'</table>' +
'</div>' +
'<div class="datepicker-months">' +
'<table class="table-condensed">' +
DPGlobal . headTemplate +
DPGlobal . contTemplate +
DPGlobal . footTemplate +
'</table>' +
'</div>' +
'<div class="datepicker-years">' +
'<table class="table-condensed">' +
DPGlobal . headTemplate +
DPGlobal . contTemplate +
DPGlobal . footTemplate +
'</table>' +
'</div>' +
'<div class="datepicker-decades">' +
'<table class="table-condensed">' +
DPGlobal . headTemplate +
DPGlobal . contTemplate +
DPGlobal . footTemplate +
'</table>' +
'</div>' +
'<div class="datepicker-centuries">' +
'<table class="table-condensed">' +
DPGlobal . headTemplate +
DPGlobal . contTemplate +
DPGlobal . footTemplate +
'</table>' +
'</div>' +
'</div>' ;
$ . fn . datepicker . DPGlobal = DPGlobal ;
/ * D A T E P I C K E R N O C O N F L I C T
* === === === === === === = * /
$ . fn . datepicker . noConflict = function ( ) {
$ . fn . datepicker = old ;
return this ;
} ;
/ * D A T E P I C K E R V E R S I O N
* === === === === === === = * /
$ . fn . datepicker . version = '1.8.0' ;
$ . fn . datepicker . deprecated = function ( msg ) {
var console = window . console ;
if ( console && console . warn ) {
console . warn ( 'DEPRECATED: ' + msg ) ;
}
} ;
/ * D A T E P I C K E R D A T A - A P I
* === === === === === === * /
$ ( document ) . on (
'focus.datepicker.data-api click.datepicker.data-api' ,
'[data-provide="datepicker"]' ,
function ( e ) {
var $this = $ ( this ) ;
if ( $this . data ( 'datepicker' ) )
return ;
e . preventDefault ( ) ;
// component click requires us to explicitly show it
datepickerPlugin . call ( $this , 'show' ) ;
}
) ;
$ ( function ( ) {
datepickerPlugin . call ( $ ( '[data-provide="datepicker-inline"]' ) ) ;
} ) ;
} ) ) ;
/ * !
* iCheck v1 . 0.2 , http : //git.io/arlzeA
* === === === === === === === === === === === ==
* Powerful jQuery and Zepto plugin for checkboxes and radio buttons customization
*
* ( c ) 2013 Damir Sultanov , http : //fronteed.com
* MIT Licensed
* /
( function ( $ ) {
// Cached vars
var _iCheck = 'iCheck' ,
_iCheckHelper = _iCheck + '-helper' ,
_checkbox = 'checkbox' ,
_radio = 'radio' ,
_checked = 'checked' ,
_unchecked = 'un' + _checked ,
_disabled = 'disabled' ,
_determinate = 'determinate' ,
_indeterminate = 'in' + _determinate ,
_update = 'update' ,
_type = 'type' ,
_click = 'click' ,
_touch = 'touchbegin.i touchend.i' ,
_add = 'addClass' ,
_remove = 'removeClass' ,
_callback = 'trigger' ,
_label = 'label' ,
_cursor = 'cursor' ,
_mobile = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i . test ( navigator . userAgent ) ;
// Plugin init
$ . fn [ _iCheck ] = function ( options , fire ) {
// Walker
var handle = 'input[type="' + _checkbox + '"], input[type="' + _radio + '"]' ,
stack = $ ( ) ,
walker = function ( object ) {
object . each ( function ( ) {
var self = $ ( this ) ;
if ( self . is ( handle ) ) {
stack = stack . add ( self ) ;
} else {
stack = stack . add ( self . find ( handle ) ) ;
}
} ) ;
} ;
// Check if we should operate with some method
if ( /^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i . test ( options ) ) {
// Normalize method's name
options = options . toLowerCase ( ) ;
// Find checkboxes and radio buttons
walker ( this ) ;
return stack . each ( function ( ) {
var self = $ ( this ) ;
if ( options == 'destroy' ) {
tidy ( self , 'ifDestroyed' ) ;
} else {
operate ( self , true , options ) ;
}
// Fire method's callback
if ( $ . isFunction ( fire ) ) {
fire ( ) ;
}
} ) ;
// Customization
} else if ( typeof options == 'object' || ! options ) {
// Check if any options were passed
var settings = $ . extend ( {
checkedClass : _checked ,
disabledClass : _disabled ,
indeterminateClass : _indeterminate ,
labelHover : true
} , options ) ,
selector = settings . handle ,
hoverClass = settings . hoverClass || 'hover' ,
focusClass = settings . focusClass || 'focus' ,
activeClass = settings . activeClass || 'active' ,
labelHover = ! ! settings . labelHover ,
labelHoverClass = settings . labelHoverClass || 'hover' ,
// Setup clickable area
area = ( '' + settings . increaseArea ) . replace ( '%' , '' ) | 0 ;
// Selector limit
if ( selector == _checkbox || selector == _radio ) {
handle = 'input[type="' + selector + '"]' ;
}
// Clickable area limit
if ( area < - 50 ) {
area = - 50 ;
}
// Walk around the selector
walker ( this ) ;
return stack . each ( function ( ) {
var self = $ ( this ) ;
// If already customized
tidy ( self ) ;
var node = this ,
id = node . id ,
// Layer styles
offset = - area + '%' ,
size = 100 + ( area * 2 ) + '%' ,
layer = {
position : 'absolute' ,
top : offset ,
left : offset ,
display : 'block' ,
width : size ,
height : size ,
margin : 0 ,
padding : 0 ,
background : '#fff' ,
border : 0 ,
opacity : 0
} ,
// Choose how to hide input
hide = _mobile ? {
position : 'absolute' ,
visibility : 'hidden'
} : area ? layer : {
position : 'absolute' ,
opacity : 0
} ,
// Get proper class
className = node [ _type ] == _checkbox ? settings . checkboxClass || 'i' + _checkbox : settings . radioClass || 'i' + _radio ,
// Find assigned labels
label = $ ( _label + '[for="' + id + '"]' ) . add ( self . closest ( _label ) ) ,
// Check ARIA option
aria = ! ! settings . aria ,
// Set ARIA placeholder
ariaID = _iCheck + '-' + Math . random ( ) . toString ( 36 ) . substr ( 2 , 6 ) ,
// Parent & helper
parent = '<div class="' + className + '" ' + ( aria ? 'role="' + node [ _type ] + '" ' : '' ) ,
helper ;
// Set ARIA "labelledby"
if ( aria ) {
label . each ( function ( ) {
parent += 'aria-labelledby="' ;
if ( this . id ) {
parent += this . id ;
} else {
this . id = ariaID ;
parent += ariaID ;
}
parent += '"' ;
} ) ;
}
// Wrap input
parent = self . wrap ( parent + '/>' ) [ _callback ] ( 'ifCreated' ) . parent ( ) . append ( settings . insert ) ;
// Layer addition
helper = $ ( '<ins class="' + _iCheckHelper + '"/>' ) . css ( layer ) . appendTo ( parent ) ;
// Finalize customization
self . data ( _iCheck , { o : settings , s : self . attr ( 'style' ) } ) . css ( hide ) ;
! ! settings . inheritClass && parent [ _add ] ( node . className || '' ) ;
! ! settings . inheritID && id && parent . attr ( 'id' , _iCheck + '-' + id ) ;
parent . css ( 'position' ) == 'static' && parent . css ( 'position' , 'relative' ) ;
operate ( self , true , _update ) ;
// Label events
if ( label . length ) {
label . on ( _click + '.i mouseover.i mouseout.i ' + _touch , function ( event ) {
var type = event [ _type ] ,
item = $ ( this ) ;
// Do nothing if input is disabled
if ( ! node [ _disabled ] ) {
// Click
if ( type == _click ) {
if ( $ ( event . target ) . is ( 'a' ) ) {
return ;
}
operate ( self , false , true ) ;
// Hover state
} else if ( labelHover ) {
// mouseout|touchend
if ( /ut|nd/ . test ( type ) ) {
parent [ _remove ] ( hoverClass ) ;
item [ _remove ] ( labelHoverClass ) ;
} else {
parent [ _add ] ( hoverClass ) ;
item [ _add ] ( labelHoverClass ) ;
}
}
if ( _mobile ) {
event . stopPropagation ( ) ;
} else {
return false ;
}
}
} ) ;
}
// Input events
self . on ( _click + '.i focus.i blur.i keyup.i keydown.i keypress.i' , function ( event ) {
var type = event [ _type ] ,
key = event . keyCode ;
// Click
if ( type == _click ) {
return false ;
// Keydown
} else if ( type == 'keydown' && key == 32 ) {
if ( ! ( node [ _type ] == _radio && node [ _checked ] ) ) {
if ( node [ _checked ] ) {
off ( self , _checked ) ;
} else {
on ( self , _checked ) ;
}
}
return false ;
// Keyup
} else if ( type == 'keyup' && node [ _type ] == _radio ) {
! node [ _checked ] && on ( self , _checked ) ;
// Focus/blur
} else if ( /us|ur/ . test ( type ) ) {
parent [ type == 'blur' ? _remove : _add ] ( focusClass ) ;
}
} ) ;
// Helper events
helper . on ( _click + ' mousedown mouseup mouseover mouseout ' + _touch , function ( event ) {
var type = event [ _type ] ,
// mousedown|mouseup
toggle = /wn|up/ . test ( type ) ? activeClass : hoverClass ;
// Do nothing if input is disabled
if ( ! node [ _disabled ] ) {
// Click
if ( type == _click ) {
operate ( self , false , true ) ;
// Active and hover states
} else {
// State is on
if ( /wn|er|in/ . test ( type ) ) {
// mousedown|mouseover|touchbegin
parent [ _add ] ( toggle ) ;
// State is off
} else {
parent [ _remove ] ( toggle + ' ' + activeClass ) ;
}
// Label hover
if ( label . length && labelHover && toggle == hoverClass ) {
// mouseout|touchend
label [ /ut|nd/ . test ( type ) ? _remove : _add ] ( labelHoverClass ) ;
}
}
if ( _mobile ) {
event . stopPropagation ( ) ;
} else {
return false ;
}
}
} ) ;
} ) ;
} else {
return this ;
}
} ;
// Do something with inputs
function operate ( input , direct , method ) {
var node = input [ 0 ] ,
state = /er/ . test ( method ) ? _indeterminate : /bl/ . test ( method ) ? _disabled : _checked ,
active = method == _update ? {
checked : node [ _checked ] ,
disabled : node [ _disabled ] ,
indeterminate : input . attr ( _indeterminate ) == 'true' || input . attr ( _determinate ) == 'false'
} : node [ state ] ;
// Check, disable or indeterminate
if ( /^(ch|di|in)/ . test ( method ) && ! active ) {
on ( input , state ) ;
// Uncheck, enable or determinate
} else if ( /^(un|en|de)/ . test ( method ) && active ) {
off ( input , state ) ;
// Update
} else if ( method == _update ) {
// Handle states
for ( var each in active ) {
if ( active [ each ] ) {
on ( input , each , true ) ;
} else {
off ( input , each , true ) ;
}
}
} else if ( ! direct || method == 'toggle' ) {
// Helper or label was clicked
if ( ! direct ) {
input [ _callback ] ( 'ifClicked' ) ;
}
// Toggle checked state
if ( active ) {
if ( node [ _type ] !== _radio ) {
off ( input , state ) ;
}
} else {
on ( input , state ) ;
}
}
}
// Add checked, disabled or indeterminate state
function on ( input , state , keep ) {
var node = input [ 0 ] ,
parent = input . parent ( ) ,
checked = state == _checked ,
indeterminate = state == _indeterminate ,
disabled = state == _disabled ,
callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled' ,
regular = option ( input , callback + capitalize ( node [ _type ] ) ) ,
specific = option ( input , state + capitalize ( node [ _type ] ) ) ;
// Prevent unnecessary actions
if ( node [ state ] !== true ) {
// Toggle assigned radio buttons
if ( ! keep && state == _checked && node [ _type ] == _radio && node . name ) {
var form = input . closest ( 'form' ) ,
inputs = 'input[name="' + node . name + '"]' ;
inputs = form . length ? form . find ( inputs ) : $ ( inputs ) ;
inputs . each ( function ( ) {
if ( this !== node && $ ( this ) . data ( _iCheck ) ) {
off ( $ ( this ) , state ) ;
}
} ) ;
}
// Indeterminate state
if ( indeterminate ) {
// Add indeterminate state
node [ state ] = true ;
// Remove checked state
if ( node [ _checked ] ) {
off ( input , _checked , 'force' ) ;
}
// Checked or disabled state
} else {
// Add checked or disabled state
if ( ! keep ) {
node [ state ] = true ;
}
// Remove indeterminate state
if ( checked && node [ _indeterminate ] ) {
off ( input , _indeterminate , false ) ;
}
}
// Trigger callbacks
callbacks ( input , checked , state , keep ) ;
}
// Add proper cursor
if ( node [ _disabled ] && ! ! option ( input , _cursor , true ) ) {
parent . find ( '.' + _iCheckHelper ) . css ( _cursor , 'default' ) ;
}
// Add state class
parent [ _add ] ( specific || option ( input , state ) || '' ) ;
// Set ARIA attribute
if ( ! ! parent . attr ( 'role' ) && ! indeterminate ) {
parent . attr ( 'aria-' + ( disabled ? _disabled : _checked ) , 'true' ) ;
}
// Remove regular state class
parent [ _remove ] ( regular || option ( input , callback ) || '' ) ;
}
// Remove checked, disabled or indeterminate state
function off ( input , state , keep ) {
var node = input [ 0 ] ,
parent = input . parent ( ) ,
checked = state == _checked ,
indeterminate = state == _indeterminate ,
disabled = state == _disabled ,
callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled' ,
regular = option ( input , callback + capitalize ( node [ _type ] ) ) ,
specific = option ( input , state + capitalize ( node [ _type ] ) ) ;
// Prevent unnecessary actions
if ( node [ state ] !== false ) {
// Toggle state
if ( indeterminate || ! keep || keep == 'force' ) {
node [ state ] = false ;
}
// Trigger callbacks
callbacks ( input , checked , callback , keep ) ;
}
// Add proper cursor
if ( ! node [ _disabled ] && ! ! option ( input , _cursor , true ) ) {
parent . find ( '.' + _iCheckHelper ) . css ( _cursor , 'pointer' ) ;
}
// Remove state class
parent [ _remove ] ( specific || option ( input , state ) || '' ) ;
// Set ARIA attribute
if ( ! ! parent . attr ( 'role' ) && ! indeterminate ) {
parent . attr ( 'aria-' + ( disabled ? _disabled : _checked ) , 'false' ) ;
}
// Add regular state class
parent [ _add ] ( regular || option ( input , callback ) || '' ) ;
}
// Remove all traces
function tidy ( input , callback ) {
if ( input . data ( _iCheck ) ) {
// Remove everything except input
input . parent ( ) . html ( input . attr ( 'style' , input . data ( _iCheck ) . s || '' ) ) ;
// Callback
if ( callback ) {
input [ _callback ] ( callback ) ;
}
// Unbind events
input . off ( '.i' ) . unwrap ( ) ;
$ ( _label + '[for="' + input [ 0 ] . id + '"]' ) . add ( input . closest ( _label ) ) . off ( '.i' ) ;
}
}
// Get some option
function option ( input , state , regular ) {
if ( input . data ( _iCheck ) ) {
return input . data ( _iCheck ) . o [ state + ( regular ? '' : 'Class' ) ] ;
}
}
// Capitalize some string
function capitalize ( string ) {
return string . charAt ( 0 ) . toUpperCase ( ) + string . slice ( 1 ) ;
}
// Executable handlers
function callbacks ( input , checked , callback , keep ) {
if ( ! keep ) {
if ( checked ) {
input [ _callback ] ( 'ifToggled' ) ;
}
input [ _callback ] ( 'ifChanged' ) [ _callback ] ( 'if' + capitalize ( callback ) ) ;
}
}
} ) ( window . jQuery || window . Zepto ) ;
/*! List.js v1.5.0 (http://listjs.com) by Jonny Strömberg (http://javve.com) */
var List =
/******/ ( function ( modules ) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = { } ;
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/ // Check if module is in cache
/******/ if ( installedModules [ moduleId ] )
/******/ return installedModules [ moduleId ] . exports ;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules [ moduleId ] = {
/******/ i : moduleId ,
/******/ l : false ,
/******/ exports : { }
/******/ } ;
/******/ // Execute the module function
/******/ modules [ moduleId ] . call ( module . exports , module , module . exports , _ _webpack _require _ _ ) ;
/******/ // Flag the module as loaded
/******/ module . l = true ;
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/ // expose the modules object (__webpack_modules__)
/******/ _ _webpack _require _ _ . m = modules ;
/******/ // expose the module cache
/******/ _ _webpack _require _ _ . c = installedModules ;
/******/ // identity function for calling harmony imports with the correct context
/******/ _ _webpack _require _ _ . i = function ( value ) { return value ; } ;
/******/ // define getter function for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , name , getter ) {
/******/ if ( ! _ _webpack _require _ _ . o ( exports , name ) ) {
/******/ Object . defineProperty ( exports , name , {
/******/ configurable : false ,
/******/ enumerable : true ,
/******/ get : getter
/******/ } ) ;
/******/ }
/******/ } ;
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = function ( module ) {
/******/ var getter = module && module . _ _esModule ?
/******/ function getDefault ( ) { return module [ 'default' ] ; } :
/******/ function getModuleExports ( ) { return module ; } ;
/******/ _ _webpack _require _ _ . d ( getter , 'a' , getter ) ;
/******/ return getter ;
/******/ } ;
/******/ // Object.prototype.hasOwnProperty.call
/******/ _ _webpack _require _ _ . o = function ( object , property ) { return Object . prototype . hasOwnProperty . call ( object , property ) ; } ;
/******/ // __webpack_public_path__
/******/ _ _webpack _require _ _ . p = "" ;
/******/ // Load entry module and return exports
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = 11 ) ;
/******/ } )
/************************************************************************/
/******/ ( [
/* 0 */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* Module dependencies .
* /
var index = _ _webpack _require _ _ ( 4 ) ;
/ * *
* Whitespace regexp .
* /
var re = /\s+/ ;
/ * *
* toString reference .
* /
var toString = Object . prototype . toString ;
/ * *
* Wrap ` el ` in a ` ClassList ` .
*
* @ param { Element } el
* @ return { ClassList }
* @ api public
* /
module . exports = function ( el ) {
return new ClassList ( el ) ;
} ;
/ * *
* Initialize a new ClassList for ` el ` .
*
* @ param { Element } el
* @ api private
* /
function ClassList ( el ) {
if ( ! el || ! el . nodeType ) {
throw new Error ( 'A DOM element reference is required' ) ;
}
this . el = el ;
this . list = el . classList ;
}
/ * *
* Add class ` name ` if not already present .
*
* @ param { String } name
* @ return { ClassList }
* @ api public
* /
ClassList . prototype . add = function ( name ) {
// classList
if ( this . list ) {
this . list . add ( name ) ;
return this ;
}
// fallback
var arr = this . array ( ) ;
var i = index ( arr , name ) ;
if ( ! ~ i ) arr . push ( name ) ;
this . el . className = arr . join ( ' ' ) ;
return this ;
} ;
/ * *
* Remove class ` name ` when present , or
* pass a regular expression to remove
* any which match .
*
* @ param { String | RegExp } name
* @ return { ClassList }
* @ api public
* /
ClassList . prototype . remove = function ( name ) {
// classList
if ( this . list ) {
this . list . remove ( name ) ;
return this ;
}
// fallback
var arr = this . array ( ) ;
var i = index ( arr , name ) ;
if ( ~ i ) arr . splice ( i , 1 ) ;
this . el . className = arr . join ( ' ' ) ;
return this ;
} ;
/ * *
* Toggle class ` name ` , can force state via ` force ` .
*
* For browsers that support classList , but do not support ` force ` yet ,
* the mistake will be detected and corrected .
*
* @ param { String } name
* @ param { Boolean } force
* @ return { ClassList }
* @ api public
* /
ClassList . prototype . toggle = function ( name , force ) {
// classList
if ( this . list ) {
if ( "undefined" !== typeof force ) {
if ( force !== this . list . toggle ( name , force ) ) {
this . list . toggle ( name ) ; // toggle again to correct
}
} else {
this . list . toggle ( name ) ;
}
return this ;
}
// fallback
if ( "undefined" !== typeof force ) {
if ( ! force ) {
this . remove ( name ) ;
} else {
this . add ( name ) ;
}
} else {
if ( this . has ( name ) ) {
this . remove ( name ) ;
} else {
this . add ( name ) ;
}
}
return this ;
} ;
/ * *
* Return an array of classes .
*
* @ return { Array }
* @ api public
* /
ClassList . prototype . array = function ( ) {
var className = this . el . getAttribute ( 'class' ) || '' ;
var str = className . replace ( /^\s+|\s+$/g , '' ) ;
var arr = str . split ( re ) ;
if ( '' === arr [ 0 ] ) arr . shift ( ) ;
return arr ;
} ;
/ * *
* Check if class ` name ` is present .
*
* @ param { String } name
* @ return { ClassList }
* @ api public
* /
ClassList . prototype . has =
ClassList . prototype . contains = function ( name ) {
return this . list ? this . list . contains ( name ) : ! ! ~ index ( this . array ( ) , name ) ;
} ;
/***/ } ) ,
/* 1 */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
var bind = window . addEventListener ? 'addEventListener' : 'attachEvent' ,
unbind = window . removeEventListener ? 'removeEventListener' : 'detachEvent' ,
prefix = bind !== 'addEventListener' ? 'on' : '' ,
toArray = _ _webpack _require _ _ ( 5 ) ;
/ * *
* Bind ` el ` event ` type ` to ` fn ` .
*
* @ param { Element } el , NodeList , HTMLCollection or Array
* @ param { String } type
* @ param { Function } fn
* @ param { Boolean } capture
* @ api public
* /
exports . bind = function ( el , type , fn , capture ) {
el = toArray ( el ) ;
for ( var i = 0 ; i < el . length ; i ++ ) {
el [ i ] [ bind ] ( prefix + type , fn , capture || false ) ;
}
} ;
/ * *
* Unbind ` el ` event ` type ` ' s callback ` fn ` .
*
* @ param { Element } el , NodeList , HTMLCollection or Array
* @ param { String } type
* @ param { Function } fn
* @ param { Boolean } capture
* @ api public
* /
exports . unbind = function ( el , type , fn , capture ) {
el = toArray ( el ) ;
for ( var i = 0 ; i < el . length ; i ++ ) {
el [ i ] [ unbind ] ( prefix + type , fn , capture || false ) ;
}
} ;
/***/ } ) ,
/* 2 */
/***/ ( function ( module , exports ) {
module . exports = function ( list ) {
return function ( initValues , element , notCreate ) {
var item = this ;
this . _values = { } ;
this . found = false ; // Show if list.searched == true and this.found == true
this . filtered = false ; // Show if list.filtered == true and this.filtered == true
var init = function ( initValues , element , notCreate ) {
if ( element === undefined ) {
if ( notCreate ) {
item . values ( initValues , notCreate ) ;
} else {
item . values ( initValues ) ;
}
} else {
item . elm = element ;
var values = list . templater . get ( item , initValues ) ;
item . values ( values ) ;
}
} ;
this . values = function ( newValues , notCreate ) {
if ( newValues !== undefined ) {
for ( var name in newValues ) {
item . _values [ name ] = newValues [ name ] ;
}
if ( notCreate !== true ) {
list . templater . set ( item , item . values ( ) ) ;
}
} else {
return item . _values ;
}
} ;
this . show = function ( ) {
list . templater . show ( item ) ;
} ;
this . hide = function ( ) {
list . templater . hide ( item ) ;
} ;
this . matching = function ( ) {
return (
( list . filtered && list . searched && item . found && item . filtered ) ||
( list . filtered && ! list . searched && item . filtered ) ||
( ! list . filtered && list . searched && item . found ) ||
( ! list . filtered && ! list . searched )
) ;
} ;
this . visible = function ( ) {
return ( item . elm && ( item . elm . parentNode == list . list ) ) ? true : false ;
} ;
init ( initValues , element , notCreate ) ;
} ;
} ;
/***/ } ) ,
/* 3 */
/***/ ( function ( module , exports ) {
/ * *
* A cross - browser implementation of getElementsByClass .
* Heavily based on Dustin Diaz ' s function : http : //dustindiaz.com/getelementsbyclass.
*
* Find all elements with class ` className ` inside ` container ` .
* Use ` single = true ` to increase performance in older browsers
* when only one element is needed .
*
* @ param { String } className
* @ param { Element } container
* @ param { Boolean } single
* @ api public
* /
var getElementsByClassName = function ( container , className , single ) {
if ( single ) {
return container . getElementsByClassName ( className ) [ 0 ] ;
} else {
return container . getElementsByClassName ( className ) ;
}
} ;
var querySelector = function ( container , className , single ) {
className = '.' + className ;
if ( single ) {
return container . querySelector ( className ) ;
} else {
return container . querySelectorAll ( className ) ;
}
} ;
var polyfill = function ( container , className , single ) {
var classElements = [ ] ,
tag = '*' ;
var els = container . getElementsByTagName ( tag ) ;
var elsLen = els . length ;
var pattern = new RegExp ( "(^|\\s)" + className + "(\\s|$)" ) ;
for ( var i = 0 , j = 0 ; i < elsLen ; i ++ ) {
if ( pattern . test ( els [ i ] . className ) ) {
if ( single ) {
return els [ i ] ;
} else {
classElements [ j ] = els [ i ] ;
j ++ ;
}
}
}
return classElements ;
} ;
module . exports = ( function ( ) {
return function ( container , className , single , options ) {
options = options || { } ;
if ( ( options . test && options . getElementsByClassName ) || ( ! options . test && document . getElementsByClassName ) ) {
return getElementsByClassName ( container , className , single ) ;
} else if ( ( options . test && options . querySelector ) || ( ! options . test && document . querySelector ) ) {
return querySelector ( container , className , single ) ;
} else {
return polyfill ( container , className , single ) ;
}
} ;
} ) ( ) ;
/***/ } ) ,
/* 4 */
/***/ ( function ( module , exports ) {
var indexOf = [ ] . indexOf ;
module . exports = function ( arr , obj ) {
if ( indexOf ) return arr . indexOf ( obj ) ;
for ( var i = 0 ; i < arr . length ; ++ i ) {
if ( arr [ i ] === obj ) return i ;
}
return - 1 ;
} ;
/***/ } ) ,
/* 5 */
/***/ ( function ( module , exports ) {
/ * *
* Source : https : //github.com/timoxley/to-array
*
* Convert an array - like object into an ` Array ` .
* If ` collection ` is already an ` Array ` , then will return a clone of ` collection ` .
*
* @ param { Array | Mixed } collection An ` Array ` or array - like object to convert e . g . ` arguments ` or ` NodeList `
* @ return { Array } Naive conversion of ` collection ` to a new ` Array ` .
* @ api public
* /
module . exports = function toArray ( collection ) {
if ( typeof collection === 'undefined' ) return [ ] ;
if ( collection === null ) return [ null ] ;
if ( collection === window ) return [ window ] ;
if ( typeof collection === 'string' ) return [ collection ] ;
if ( isArray ( collection ) ) return collection ;
if ( typeof collection . length != 'number' ) return [ collection ] ;
if ( typeof collection === 'function' && collection instanceof Function ) return [ collection ] ;
var arr = [ ] ;
for ( var i = 0 ; i < collection . length ; i ++ ) {
if ( Object . prototype . hasOwnProperty . call ( collection , i ) || i in collection ) {
arr . push ( collection [ i ] ) ;
}
}
if ( ! arr . length ) return [ ] ;
return arr ;
} ;
function isArray ( arr ) {
return Object . prototype . toString . call ( arr ) === "[object Array]" ;
}
/***/ } ) ,
/* 6 */
/***/ ( function ( module , exports ) {
module . exports = function ( s ) {
s = ( s === undefined ) ? "" : s ;
s = ( s === null ) ? "" : s ;
s = s . toString ( ) ;
return s ;
} ;
/***/ } ) ,
/* 7 */
/***/ ( function ( module , exports ) {
/ *
* Source : https : //github.com/segmentio/extend
* /
module . exports = function extend ( object ) {
// Takes an unlimited number of extenders.
var args = Array . prototype . slice . call ( arguments , 1 ) ;
// For each extender, copy their properties on our object.
for ( var i = 0 , source ; source = args [ i ] ; i ++ ) {
if ( ! source ) continue ;
for ( var property in source ) {
object [ property ] = source [ property ] ;
}
}
return object ;
} ;
/***/ } ) ,
/* 8 */
/***/ ( function ( module , exports ) {
module . exports = function ( list ) {
var addAsync = function ( values , callback , items ) {
var valuesToAdd = values . splice ( 0 , 50 ) ;
items = items || [ ] ;
items = items . concat ( list . add ( valuesToAdd ) ) ;
if ( values . length > 0 ) {
setTimeout ( function ( ) {
addAsync ( values , callback , items ) ;
} , 1 ) ;
} else {
list . update ( ) ;
callback ( items ) ;
}
} ;
return addAsync ;
} ;
/***/ } ) ,
/* 9 */
/***/ ( function ( module , exports ) {
module . exports = function ( list ) {
// Add handlers
list . handlers . filterStart = list . handlers . filterStart || [ ] ;
list . handlers . filterComplete = list . handlers . filterComplete || [ ] ;
return function ( filterFunction ) {
list . trigger ( 'filterStart' ) ;
list . i = 1 ; // Reset paging
list . reset . filter ( ) ;
if ( filterFunction === undefined ) {
list . filtered = false ;
} else {
list . filtered = true ;
var is = list . items ;
for ( var i = 0 , il = is . length ; i < il ; i ++ ) {
var item = is [ i ] ;
if ( filterFunction ( item ) ) {
item . filtered = true ;
} else {
item . filtered = false ;
}
}
}
list . update ( ) ;
list . trigger ( 'filterComplete' ) ;
return list . visibleItems ;
} ;
} ;
/***/ } ) ,
/* 10 */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
var classes = _ _webpack _require _ _ ( 0 ) ,
events = _ _webpack _require _ _ ( 1 ) ,
extend = _ _webpack _require _ _ ( 7 ) ,
toString = _ _webpack _require _ _ ( 6 ) ,
getByClass = _ _webpack _require _ _ ( 3 ) ,
fuzzy = _ _webpack _require _ _ ( 19 ) ;
module . exports = function ( list , options ) {
options = options || { } ;
options = extend ( {
location : 0 ,
distance : 100 ,
threshold : 0.4 ,
multiSearch : true ,
searchClass : 'fuzzy-search'
} , options ) ;
var fuzzySearch = {
search : function ( searchString , columns ) {
// Substract arguments from the searchString or put searchString as only argument
var searchArguments = options . multiSearch ? searchString . replace ( / +$/ , '' ) . split ( / +/ ) : [ searchString ] ;
for ( var k = 0 , kl = list . items . length ; k < kl ; k ++ ) {
fuzzySearch . item ( list . items [ k ] , columns , searchArguments ) ;
}
} ,
item : function ( item , columns , searchArguments ) {
var found = true ;
for ( var i = 0 ; i < searchArguments . length ; i ++ ) {
var foundArgument = false ;
for ( var j = 0 , jl = columns . length ; j < jl ; j ++ ) {
if ( fuzzySearch . values ( item . values ( ) , columns [ j ] , searchArguments [ i ] ) ) {
foundArgument = true ;
}
}
if ( ! foundArgument ) {
found = false ;
}
}
item . found = found ;
} ,
values : function ( values , value , searchArgument ) {
if ( values . hasOwnProperty ( value ) ) {
var text = toString ( values [ value ] ) . toLowerCase ( ) ;
if ( fuzzy ( text , searchArgument , options ) ) {
return true ;
}
}
return false ;
}
} ;
events . bind ( getByClass ( list . listContainer , options . searchClass ) , 'keyup' , function ( e ) {
var target = e . target || e . srcElement ; // IE have srcElement
list . search ( target . value , fuzzySearch . search ) ;
} ) ;
return function ( str , columns ) {
list . search ( str , columns , fuzzySearch . search ) ;
} ;
} ;
/***/ } ) ,
/* 11 */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
var naturalSort = _ _webpack _require _ _ ( 18 ) ,
getByClass = _ _webpack _require _ _ ( 3 ) ,
extend = _ _webpack _require _ _ ( 7 ) ,
indexOf = _ _webpack _require _ _ ( 4 ) ,
events = _ _webpack _require _ _ ( 1 ) ,
toString = _ _webpack _require _ _ ( 6 ) ,
classes = _ _webpack _require _ _ ( 0 ) ,
getAttribute = _ _webpack _require _ _ ( 17 ) ,
toArray = _ _webpack _require _ _ ( 5 ) ;
module . exports = function ( id , options , values ) {
var self = this ,
init ,
Item = _ _webpack _require _ _ ( 2 ) ( self ) ,
addAsync = _ _webpack _require _ _ ( 8 ) ( self ) ,
initPagination = _ _webpack _require _ _ ( 12 ) ( self ) ;
init = {
start : function ( ) {
self . listClass = "list" ;
self . searchClass = "search" ;
self . sortClass = "sort" ;
self . page = 10000 ;
self . i = 1 ;
self . items = [ ] ;
self . visibleItems = [ ] ;
self . matchingItems = [ ] ;
self . searched = false ;
self . filtered = false ;
self . searchColumns = undefined ;
self . handlers = { 'updated' : [ ] } ;
self . valueNames = [ ] ;
self . utils = {
getByClass : getByClass ,
extend : extend ,
indexOf : indexOf ,
events : events ,
toString : toString ,
naturalSort : naturalSort ,
classes : classes ,
getAttribute : getAttribute ,
toArray : toArray
} ;
self . utils . extend ( self , options ) ;
self . listContainer = ( typeof ( id ) === 'string' ) ? document . getElementById ( id ) : id ;
if ( ! self . listContainer ) { return ; }
self . list = getByClass ( self . listContainer , self . listClass , true ) ;
self . parse = _ _webpack _require _ _ ( 13 ) ( self ) ;
self . templater = _ _webpack _require _ _ ( 16 ) ( self ) ;
self . search = _ _webpack _require _ _ ( 14 ) ( self ) ;
self . filter = _ _webpack _require _ _ ( 9 ) ( self ) ;
self . sort = _ _webpack _require _ _ ( 15 ) ( self ) ;
self . fuzzySearch = _ _webpack _require _ _ ( 10 ) ( self , options . fuzzySearch ) ;
this . handlers ( ) ;
this . items ( ) ;
this . pagination ( ) ;
self . update ( ) ;
} ,
handlers : function ( ) {
for ( var handler in self . handlers ) {
if ( self [ handler ] ) {
self . on ( handler , self [ handler ] ) ;
}
}
} ,
items : function ( ) {
self . parse ( self . list ) ;
if ( values !== undefined ) {
self . add ( values ) ;
}
} ,
pagination : function ( ) {
if ( options . pagination !== undefined ) {
if ( options . pagination === true ) {
options . pagination = [ { } ] ;
}
if ( options . pagination [ 0 ] === undefined ) {
options . pagination = [ options . pagination ] ;
}
for ( var i = 0 , il = options . pagination . length ; i < il ; i ++ ) {
initPagination ( options . pagination [ i ] ) ;
}
}
}
} ;
/ *
* Re - parse the List , use if html have changed
* /
this . reIndex = function ( ) {
self . items = [ ] ;
self . visibleItems = [ ] ;
self . matchingItems = [ ] ;
self . searched = false ;
self . filtered = false ;
self . parse ( self . list ) ;
} ;
this . toJSON = function ( ) {
var json = [ ] ;
for ( var i = 0 , il = self . items . length ; i < il ; i ++ ) {
json . push ( self . items [ i ] . values ( ) ) ;
}
return json ;
} ;
/ *
* Add object to list
* /
this . add = function ( values , callback ) {
if ( values . length === 0 ) {
return ;
}
if ( callback ) {
addAsync ( values , callback ) ;
return ;
}
var added = [ ] ,
notCreate = false ;
if ( values [ 0 ] === undefined ) {
values = [ values ] ;
}
for ( var i = 0 , il = values . length ; i < il ; i ++ ) {
var item = null ;
notCreate = ( self . items . length > self . page ) ? true : false ;
item = new Item ( values [ i ] , undefined , notCreate ) ;
self . items . push ( item ) ;
added . push ( item ) ;
}
self . update ( ) ;
return added ;
} ;
this . show = function ( i , page ) {
this . i = i ;
this . page = page ;
self . update ( ) ;
return self ;
} ;
/ * R e m o v e s o b j e c t f r o m l i s t .
* Loops through the list and removes objects where
* property "valuename" === value
* /
this . remove = function ( valueName , value , options ) {
var found = 0 ;
for ( var i = 0 , il = self . items . length ; i < il ; i ++ ) {
if ( self . items [ i ] . values ( ) [ valueName ] == value ) {
self . templater . remove ( self . items [ i ] , options ) ;
self . items . splice ( i , 1 ) ;
il -- ;
i -- ;
found ++ ;
}
}
self . update ( ) ;
return found ;
} ;
/ * G e t s t h e o b j e c t s i n t h e l i s t w h i c h
* property "valueName" === value
* /
this . get = function ( valueName , value ) {
var matchedItems = [ ] ;
for ( var i = 0 , il = self . items . length ; i < il ; i ++ ) {
var item = self . items [ i ] ;
if ( item . values ( ) [ valueName ] == value ) {
matchedItems . push ( item ) ;
}
}
return matchedItems ;
} ;
/ *
* Get size of the list
* /
this . size = function ( ) {
return self . items . length ;
} ;
/ *
* Removes all items from the list
* /
this . clear = function ( ) {
self . templater . clear ( ) ;
self . items = [ ] ;
return self ;
} ;
this . on = function ( event , callback ) {
self . handlers [ event ] . push ( callback ) ;
return self ;
} ;
this . off = function ( event , callback ) {
var e = self . handlers [ event ] ;
var index = indexOf ( e , callback ) ;
if ( index > - 1 ) {
e . splice ( index , 1 ) ;
}
return self ;
} ;
this . trigger = function ( event ) {
var i = self . handlers [ event ] . length ;
while ( i -- ) {
self . handlers [ event ] [ i ] ( self ) ;
}
return self ;
} ;
this . reset = {
filter : function ( ) {
var is = self . items ,
il = is . length ;
while ( il -- ) {
is [ il ] . filtered = false ;
}
return self ;
} ,
search : function ( ) {
var is = self . items ,
il = is . length ;
while ( il -- ) {
is [ il ] . found = false ;
}
return self ;
}
} ;
this . update = function ( ) {
var is = self . items ,
il = is . length ;
self . visibleItems = [ ] ;
self . matchingItems = [ ] ;
self . templater . clear ( ) ;
for ( var i = 0 ; i < il ; i ++ ) {
if ( is [ i ] . matching ( ) && ( ( self . matchingItems . length + 1 ) >= self . i && self . visibleItems . length < self . page ) ) {
is [ i ] . show ( ) ;
self . visibleItems . push ( is [ i ] ) ;
self . matchingItems . push ( is [ i ] ) ;
} else if ( is [ i ] . matching ( ) ) {
self . matchingItems . push ( is [ i ] ) ;
is [ i ] . hide ( ) ;
} else {
is [ i ] . hide ( ) ;
}
}
self . trigger ( 'updated' ) ;
return self ;
} ;
init . start ( ) ;
} ;
/***/ } ) ,
/* 12 */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
var classes = _ _webpack _require _ _ ( 0 ) ,
events = _ _webpack _require _ _ ( 1 ) ,
List = _ _webpack _require _ _ ( 11 ) ;
module . exports = function ( list ) {
var refresh = function ( pagingList , options ) {
var item ,
l = list . matchingItems . length ,
index = list . i ,
page = list . page ,
pages = Math . ceil ( l / page ) ,
currentPage = Math . ceil ( ( index / page ) ) ,
innerWindow = options . innerWindow || 2 ,
left = options . left || options . outerWindow || 0 ,
right = options . right || options . outerWindow || 0 ;
right = pages - right ;
pagingList . clear ( ) ;
for ( var i = 1 ; i <= pages ; i ++ ) {
var className = ( currentPage === i ) ? "active" : "" ;
//console.log(i, left, right, currentPage, (currentPage - innerWindow), (currentPage + innerWindow), className);
if ( is . number ( i , left , right , currentPage , innerWindow ) ) {
item = pagingList . add ( {
page : i ,
dotted : false
} ) [ 0 ] ;
if ( className ) {
classes ( item . elm ) . add ( className ) ;
}
addEvent ( item . elm , i , page ) ;
} else if ( is . dotted ( pagingList , i , left , right , currentPage , innerWindow , pagingList . size ( ) ) ) {
item = pagingList . add ( {
page : "..." ,
dotted : true
} ) [ 0 ] ;
classes ( item . elm ) . add ( "disabled" ) ;
}
}
} ;
var is = {
number : function ( i , left , right , currentPage , innerWindow ) {
return this . left ( i , left ) || this . right ( i , right ) || this . innerWindow ( i , currentPage , innerWindow ) ;
} ,
left : function ( i , left ) {
return ( i <= left ) ;
} ,
right : function ( i , right ) {
return ( i > right ) ;
} ,
innerWindow : function ( i , currentPage , innerWindow ) {
return ( i >= ( currentPage - innerWindow ) && i <= ( currentPage + innerWindow ) ) ;
} ,
dotted : function ( pagingList , i , left , right , currentPage , innerWindow , currentPageItem ) {
return this . dottedLeft ( pagingList , i , left , right , currentPage , innerWindow ) || ( this . dottedRight ( pagingList , i , left , right , currentPage , innerWindow , currentPageItem ) ) ;
} ,
dottedLeft : function ( pagingList , i , left , right , currentPage , innerWindow ) {
return ( ( i == ( left + 1 ) ) && ! this . innerWindow ( i , currentPage , innerWindow ) && ! this . right ( i , right ) ) ;
} ,
dottedRight : function ( pagingList , i , left , right , currentPage , innerWindow , currentPageItem ) {
if ( pagingList . items [ currentPageItem - 1 ] . values ( ) . dotted ) {
return false ;
} else {
return ( ( i == ( right ) ) && ! this . innerWindow ( i , currentPage , innerWindow ) && ! this . right ( i , right ) ) ;
}
}
} ;
var addEvent = function ( elm , i , page ) {
events . bind ( elm , 'click' , function ( ) {
list . show ( ( i - 1 ) * page + 1 , page ) ;
} ) ;
} ;
return function ( options ) {
var pagingList = new List ( list . listContainer . id , {
listClass : options . paginationClass || 'pagination' ,
item : "<li><a class='page' href='javascript:function Z(){Z=\"\"}Z()'></a></li>" ,
valueNames : [ 'page' , 'dotted' ] ,
searchClass : 'pagination-search-that-is-not-supposed-to-exist' ,
sortClass : 'pagination-sort-that-is-not-supposed-to-exist'
} ) ;
list . on ( 'updated' , function ( ) {
refresh ( pagingList , options ) ;
} ) ;
refresh ( pagingList , options ) ;
} ;
} ;
/***/ } ) ,
/* 13 */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
module . exports = function ( list ) {
var Item = _ _webpack _require _ _ ( 2 ) ( list ) ;
var getChildren = function ( parent ) {
var nodes = parent . childNodes ,
items = [ ] ;
for ( var i = 0 , il = nodes . length ; i < il ; i ++ ) {
// Only textnodes have a data attribute
if ( nodes [ i ] . data === undefined ) {
items . push ( nodes [ i ] ) ;
}
}
return items ;
} ;
var parse = function ( itemElements , valueNames ) {
for ( var i = 0 , il = itemElements . length ; i < il ; i ++ ) {
list . items . push ( new Item ( valueNames , itemElements [ i ] ) ) ;
}
} ;
var parseAsync = function ( itemElements , valueNames ) {
var itemsToIndex = itemElements . splice ( 0 , 50 ) ; // TODO: If < 100 items, what happens in IE etc?
parse ( itemsToIndex , valueNames ) ;
if ( itemElements . length > 0 ) {
setTimeout ( function ( ) {
parseAsync ( itemElements , valueNames ) ;
} , 1 ) ;
} else {
list . update ( ) ;
list . trigger ( 'parseComplete' ) ;
}
} ;
list . handlers . parseComplete = list . handlers . parseComplete || [ ] ;
return function ( ) {
var itemsToIndex = getChildren ( list . list ) ,
valueNames = list . valueNames ;
if ( list . indexAsync ) {
parseAsync ( itemsToIndex , valueNames ) ;
} else {
parse ( itemsToIndex , valueNames ) ;
}
} ;
} ;
/***/ } ) ,
/* 14 */
/***/ ( function ( module , exports ) {
module . exports = function ( list ) {
var item ,
text ,
columns ,
searchString ,
customSearch ;
var prepare = {
resetList : function ( ) {
list . i = 1 ;
list . templater . clear ( ) ;
customSearch = undefined ;
} ,
setOptions : function ( args ) {
if ( args . length == 2 && args [ 1 ] instanceof Array ) {
columns = args [ 1 ] ;
} else if ( args . length == 2 && typeof ( args [ 1 ] ) == "function" ) {
columns = undefined ;
customSearch = args [ 1 ] ;
} else if ( args . length == 3 ) {
columns = args [ 1 ] ;
customSearch = args [ 2 ] ;
} else {
columns = undefined ;
}
} ,
setColumns : function ( ) {
if ( list . items . length === 0 ) return ;
if ( columns === undefined ) {
columns = ( list . searchColumns === undefined ) ? prepare . toArray ( list . items [ 0 ] . values ( ) ) : list . searchColumns ;
}
} ,
setSearchString : function ( s ) {
s = list . utils . toString ( s ) . toLowerCase ( ) ;
s = s . replace ( /[-[\]{}()*+?.,\\^$|#]/g , "\\$&" ) ; // Escape regular expression characters
searchString = s ;
} ,
toArray : function ( values ) {
var tmpColumn = [ ] ;
for ( var name in values ) {
tmpColumn . push ( name ) ;
}
return tmpColumn ;
}
} ;
var search = {
list : function ( ) {
for ( var k = 0 , kl = list . items . length ; k < kl ; k ++ ) {
search . item ( list . items [ k ] ) ;
}
} ,
item : function ( item ) {
item . found = false ;
for ( var j = 0 , jl = columns . length ; j < jl ; j ++ ) {
if ( search . values ( item . values ( ) , columns [ j ] ) ) {
item . found = true ;
return ;
}
}
} ,
values : function ( values , column ) {
if ( values . hasOwnProperty ( column ) ) {
text = list . utils . toString ( values [ column ] ) . toLowerCase ( ) ;
if ( ( searchString !== "" ) && ( text . search ( searchString ) > - 1 ) ) {
return true ;
}
}
return false ;
} ,
reset : function ( ) {
list . reset . search ( ) ;
list . searched = false ;
}
} ;
var searchMethod = function ( str ) {
list . trigger ( 'searchStart' ) ;
prepare . resetList ( ) ;
prepare . setSearchString ( str ) ;
prepare . setOptions ( arguments ) ; // str, cols|searchFunction, searchFunction
prepare . setColumns ( ) ;
if ( searchString === "" ) {
search . reset ( ) ;
} else {
list . searched = true ;
if ( customSearch ) {
customSearch ( searchString , columns ) ;
} else {
search . list ( ) ;
}
}
list . update ( ) ;
list . trigger ( 'searchComplete' ) ;
return list . visibleItems ;
} ;
list . handlers . searchStart = list . handlers . searchStart || [ ] ;
list . handlers . searchComplete = list . handlers . searchComplete || [ ] ;
list . utils . events . bind ( list . utils . getByClass ( list . listContainer , list . searchClass ) , 'keyup' , function ( e ) {
var target = e . target || e . srcElement , // IE have srcElement
alreadyCleared = ( target . value === "" && ! list . searched ) ;
if ( ! alreadyCleared ) { // If oninput already have resetted the list, do nothing
searchMethod ( target . value ) ;
}
} ) ;
// Used to detect click on HTML5 clear button
list . utils . events . bind ( list . utils . getByClass ( list . listContainer , list . searchClass ) , 'input' , function ( e ) {
var target = e . target || e . srcElement ;
if ( target . value === "" ) {
searchMethod ( '' ) ;
}
} ) ;
return searchMethod ;
} ;
/***/ } ) ,
/* 15 */
/***/ ( function ( module , exports ) {
module . exports = function ( list ) {
var buttons = {
els : undefined ,
clear : function ( ) {
for ( var i = 0 , il = buttons . els . length ; i < il ; i ++ ) {
list . utils . classes ( buttons . els [ i ] ) . remove ( 'asc' ) ;
list . utils . classes ( buttons . els [ i ] ) . remove ( 'desc' ) ;
}
} ,
getOrder : function ( btn ) {
var predefinedOrder = list . utils . getAttribute ( btn , 'data-order' ) ;
if ( predefinedOrder == "asc" || predefinedOrder == "desc" ) {
return predefinedOrder ;
} else if ( list . utils . classes ( btn ) . has ( 'desc' ) ) {
return "asc" ;
} else if ( list . utils . classes ( btn ) . has ( 'asc' ) ) {
return "desc" ;
} else {
return "asc" ;
}
} ,
getInSensitive : function ( btn , options ) {
var insensitive = list . utils . getAttribute ( btn , 'data-insensitive' ) ;
if ( insensitive === "false" ) {
options . insensitive = false ;
} else {
options . insensitive = true ;
}
} ,
setOrder : function ( options ) {
for ( var i = 0 , il = buttons . els . length ; i < il ; i ++ ) {
var btn = buttons . els [ i ] ;
if ( list . utils . getAttribute ( btn , 'data-sort' ) !== options . valueName ) {
continue ;
}
var predefinedOrder = list . utils . getAttribute ( btn , 'data-order' ) ;
if ( predefinedOrder == "asc" || predefinedOrder == "desc" ) {
if ( predefinedOrder == options . order ) {
list . utils . classes ( btn ) . add ( options . order ) ;
}
} else {
list . utils . classes ( btn ) . add ( options . order ) ;
}
}
}
} ;
var sort = function ( ) {
list . trigger ( 'sortStart' ) ;
var options = { } ;
var target = arguments [ 0 ] . currentTarget || arguments [ 0 ] . srcElement || undefined ;
if ( target ) {
options . valueName = list . utils . getAttribute ( target , 'data-sort' ) ;
buttons . getInSensitive ( target , options ) ;
options . order = buttons . getOrder ( target ) ;
} else {
options = arguments [ 1 ] || options ;
options . valueName = arguments [ 0 ] ;
options . order = options . order || "asc" ;
options . insensitive = ( typeof options . insensitive == "undefined" ) ? true : options . insensitive ;
}
buttons . clear ( ) ;
buttons . setOrder ( options ) ;
// caseInsensitive
// alphabet
var customSortFunction = ( options . sortFunction || list . sortFunction || null ) ,
multi = ( ( options . order === 'desc' ) ? - 1 : 1 ) ,
sortFunction ;
if ( customSortFunction ) {
sortFunction = function ( itemA , itemB ) {
return customSortFunction ( itemA , itemB , options ) * multi ;
} ;
} else {
sortFunction = function ( itemA , itemB ) {
var sort = list . utils . naturalSort ;
sort . alphabet = list . alphabet || options . alphabet || undefined ;
if ( ! sort . alphabet && options . insensitive ) {
sort = list . utils . naturalSort . caseInsensitive ;
}
return sort ( itemA . values ( ) [ options . valueName ] , itemB . values ( ) [ options . valueName ] ) * multi ;
} ;
}
list . items . sort ( sortFunction ) ;
list . update ( ) ;
list . trigger ( 'sortComplete' ) ;
} ;
// Add handlers
list . handlers . sortStart = list . handlers . sortStart || [ ] ;
list . handlers . sortComplete = list . handlers . sortComplete || [ ] ;
buttons . els = list . utils . getByClass ( list . listContainer , list . sortClass ) ;
list . utils . events . bind ( buttons . els , 'click' , sort ) ;
list . on ( 'searchStart' , buttons . clear ) ;
list . on ( 'filterStart' , buttons . clear ) ;
return sort ;
} ;
/***/ } ) ,
/* 16 */
/***/ ( function ( module , exports ) {
var Templater = function ( list ) {
var itemSource ,
templater = this ;
var init = function ( ) {
itemSource = templater . getItemSource ( list . item ) ;
if ( itemSource ) {
itemSource = templater . clearSourceItem ( itemSource , list . valueNames ) ;
}
} ;
this . clearSourceItem = function ( el , valueNames ) {
for ( var i = 0 , il = valueNames . length ; i < il ; i ++ ) {
var elm ;
if ( valueNames [ i ] . data ) {
for ( var j = 0 , jl = valueNames [ i ] . data . length ; j < jl ; j ++ ) {
el . setAttribute ( 'data-' + valueNames [ i ] . data [ j ] , '' ) ;
}
} else if ( valueNames [ i ] . attr && valueNames [ i ] . name ) {
elm = list . utils . getByClass ( el , valueNames [ i ] . name , true ) ;
if ( elm ) {
elm . setAttribute ( valueNames [ i ] . attr , "" ) ;
}
} else {
elm = list . utils . getByClass ( el , valueNames [ i ] , true ) ;
if ( elm ) {
elm . innerHTML = "" ;
}
}
elm = undefined ;
}
return el ;
} ;
this . getItemSource = function ( item ) {
if ( item === undefined ) {
var nodes = list . list . childNodes ,
items = [ ] ;
for ( var i = 0 , il = nodes . length ; i < il ; i ++ ) {
// Only textnodes have a data attribute
if ( nodes [ i ] . data === undefined ) {
return nodes [ i ] . cloneNode ( true ) ;
}
}
} else if ( /<tr[\s>]/g . exec ( item ) ) {
var tbody = document . createElement ( 'tbody' ) ;
tbody . innerHTML = item ;
return tbody . firstChild ;
} else if ( item . indexOf ( "<" ) !== - 1 ) {
var div = document . createElement ( 'div' ) ;
div . innerHTML = item ;
return div . firstChild ;
} else {
var source = document . getElementById ( list . item ) ;
if ( source ) {
return source ;
}
}
return undefined ;
} ;
this . get = function ( item , valueNames ) {
templater . create ( item ) ;
var values = { } ;
for ( var i = 0 , il = valueNames . length ; i < il ; i ++ ) {
var elm ;
if ( valueNames [ i ] . data ) {
for ( var j = 0 , jl = valueNames [ i ] . data . length ; j < jl ; j ++ ) {
values [ valueNames [ i ] . data [ j ] ] = list . utils . getAttribute ( item . elm , 'data-' + valueNames [ i ] . data [ j ] ) ;
}
} else if ( valueNames [ i ] . attr && valueNames [ i ] . name ) {
elm = list . utils . getByClass ( item . elm , valueNames [ i ] . name , true ) ;
values [ valueNames [ i ] . name ] = elm ? list . utils . getAttribute ( elm , valueNames [ i ] . attr ) : "" ;
} else {
elm = list . utils . getByClass ( item . elm , valueNames [ i ] , true ) ;
values [ valueNames [ i ] ] = elm ? elm . innerHTML : "" ;
}
elm = undefined ;
}
return values ;
} ;
this . set = function ( item , values ) {
var getValueName = function ( name ) {
for ( var i = 0 , il = list . valueNames . length ; i < il ; i ++ ) {
if ( list . valueNames [ i ] . data ) {
var data = list . valueNames [ i ] . data ;
for ( var j = 0 , jl = data . length ; j < jl ; j ++ ) {
if ( data [ j ] === name ) {
return { data : name } ;
}
}
} else if ( list . valueNames [ i ] . attr && list . valueNames [ i ] . name && list . valueNames [ i ] . name == name ) {
return list . valueNames [ i ] ;
} else if ( list . valueNames [ i ] === name ) {
return name ;
}
}
} ;
var setValue = function ( name , value ) {
var elm ;
var valueName = getValueName ( name ) ;
if ( ! valueName )
return ;
if ( valueName . data ) {
item . elm . setAttribute ( 'data-' + valueName . data , value ) ;
} else if ( valueName . attr && valueName . name ) {
elm = list . utils . getByClass ( item . elm , valueName . name , true ) ;
if ( elm ) {
elm . setAttribute ( valueName . attr , value ) ;
}
} else {
elm = list . utils . getByClass ( item . elm , valueName , true ) ;
if ( elm ) {
elm . innerHTML = value ;
}
}
elm = undefined ;
} ;
if ( ! templater . create ( item ) ) {
for ( var v in values ) {
if ( values . hasOwnProperty ( v ) ) {
setValue ( v , values [ v ] ) ;
}
}
}
} ;
this . create = function ( item ) {
if ( item . elm !== undefined ) {
return false ;
}
if ( itemSource === undefined ) {
throw new Error ( "The list need to have at list one item on init otherwise you'll have to add a template." ) ;
}
/ * I f i t e m s o u r c e d o e s n o t e x i s t s , u s e t h e f i r s t i t e m i n l i s t a s
source for new items * /
var newItem = itemSource . cloneNode ( true ) ;
newItem . removeAttribute ( 'id' ) ;
item . elm = newItem ;
templater . set ( item , item . values ( ) ) ;
return true ;
} ;
this . remove = function ( item ) {
if ( item . elm . parentNode === list . list ) {
list . list . removeChild ( item . elm ) ;
}
} ;
this . show = function ( item ) {
templater . create ( item ) ;
list . list . appendChild ( item . elm ) ;
} ;
this . hide = function ( item ) {
if ( item . elm !== undefined && item . elm . parentNode === list . list ) {
list . list . removeChild ( item . elm ) ;
}
} ;
this . clear = function ( ) {
/* .innerHTML = ''; fucks up IE */
if ( list . list . hasChildNodes ( ) ) {
while ( list . list . childNodes . length >= 1 )
{
list . list . removeChild ( list . list . firstChild ) ;
}
}
} ;
init ( ) ;
} ;
module . exports = function ( list ) {
return new Templater ( list ) ;
} ;
/***/ } ) ,
/* 17 */
/***/ ( function ( module , exports ) {
/ * *
* A cross - browser implementation of getAttribute .
* Source found here : http : //stackoverflow.com/a/3755343/361337 written by Vivin Paliath
*
* Return the value for ` attr ` at ` element ` .
*
* @ param { Element } el
* @ param { String } attr
* @ api public
* /
module . exports = function ( el , attr ) {
var result = ( el . getAttribute && el . getAttribute ( attr ) ) || null ;
if ( ! result ) {
var attrs = el . attributes ;
var length = attrs . length ;
for ( var i = 0 ; i < length ; i ++ ) {
if ( attr [ i ] !== undefined ) {
if ( attr [ i ] . nodeName === attr ) {
result = attr [ i ] . nodeValue ;
}
}
}
}
return result ;
} ;
/***/ } ) ,
/* 18 */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
"use strict" ;
var alphabet ;
var alphabetIndexMap ;
var alphabetIndexMapLength = 0 ;
function isNumberCode ( code ) {
return code >= 48 && code <= 57 ;
}
function naturalCompare ( a , b ) {
var lengthA = ( a += '' ) . length ;
var lengthB = ( b += '' ) . length ;
var aIndex = 0 ;
var bIndex = 0 ;
while ( aIndex < lengthA && bIndex < lengthB ) {
var charCodeA = a . charCodeAt ( aIndex ) ;
var charCodeB = b . charCodeAt ( bIndex ) ;
if ( isNumberCode ( charCodeA ) ) {
if ( ! isNumberCode ( charCodeB ) ) {
return charCodeA - charCodeB ;
}
var numStartA = aIndex ;
var numStartB = bIndex ;
while ( charCodeA === 48 && ++ numStartA < lengthA ) {
charCodeA = a . charCodeAt ( numStartA ) ;
}
while ( charCodeB === 48 && ++ numStartB < lengthB ) {
charCodeB = b . charCodeAt ( numStartB ) ;
}
var numEndA = numStartA ;
var numEndB = numStartB ;
while ( numEndA < lengthA && isNumberCode ( a . charCodeAt ( numEndA ) ) ) {
++ numEndA ;
}
while ( numEndB < lengthB && isNumberCode ( b . charCodeAt ( numEndB ) ) ) {
++ numEndB ;
}
var difference = numEndA - numStartA - numEndB + numStartB ; // numA length - numB length
if ( difference ) {
return difference ;
}
while ( numStartA < numEndA ) {
difference = a . charCodeAt ( numStartA ++ ) - b . charCodeAt ( numStartB ++ ) ;
if ( difference ) {
return difference ;
}
}
aIndex = numEndA ;
bIndex = numEndB ;
continue ;
}
if ( charCodeA !== charCodeB ) {
if (
charCodeA < alphabetIndexMapLength &&
charCodeB < alphabetIndexMapLength &&
alphabetIndexMap [ charCodeA ] !== - 1 &&
alphabetIndexMap [ charCodeB ] !== - 1
) {
return alphabetIndexMap [ charCodeA ] - alphabetIndexMap [ charCodeB ] ;
}
return charCodeA - charCodeB ;
}
++ aIndex ;
++ bIndex ;
}
return lengthA - lengthB ;
}
naturalCompare . caseInsensitive = naturalCompare . i = function ( a , b ) {
return naturalCompare ( ( '' + a ) . toLowerCase ( ) , ( '' + b ) . toLowerCase ( ) ) ;
} ;
Object . defineProperties ( naturalCompare , {
alphabet : {
get : function ( ) {
return alphabet ;
} ,
set : function ( value ) {
alphabet = value ;
alphabetIndexMap = [ ] ;
var i = 0 ;
if ( alphabet ) {
for ( ; i < alphabet . length ; i ++ ) {
alphabetIndexMap [ alphabet . charCodeAt ( i ) ] = i ;
}
}
alphabetIndexMapLength = alphabetIndexMap . length ;
for ( i = 0 ; i < alphabetIndexMapLength ; i ++ ) {
if ( alphabetIndexMap [ i ] === undefined ) {
alphabetIndexMap [ i ] = - 1 ;
}
}
} ,
} ,
} ) ;
module . exports = naturalCompare ;
/***/ } ) ,
/* 19 */
/***/ ( function ( module , exports ) {
module . exports = function ( text , pattern , options ) {
// Aproximately where in the text is the pattern expected to be found?
var Match _Location = options . location || 0 ;
//Determines how close the match must be to the fuzzy location (specified above). An exact letter match which is 'distance' characters away from the fuzzy location would score as a complete mismatch. A distance of '0' requires the match be at the exact location specified, a threshold of '1000' would require a perfect match to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
var Match _Distance = options . distance || 100 ;
// At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match (of both letters and location), a threshold of '1.0' would match anything.
var Match _Threshold = options . threshold || 0.4 ;
if ( pattern === text ) return true ; // Exact match
if ( pattern . length > 32 ) return false ; // This algorithm cannot be used
// Set starting location at beginning text and initialise the alphabet.
var loc = Match _Location ,
s = ( function ( ) {
var q = { } ,
i ;
for ( i = 0 ; i < pattern . length ; i ++ ) {
q [ pattern . charAt ( i ) ] = 0 ;
}
for ( i = 0 ; i < pattern . length ; i ++ ) {
q [ pattern . charAt ( i ) ] |= 1 << ( pattern . length - i - 1 ) ;
}
return q ;
} ( ) ) ;
// Compute and return the score for a match with e errors and x location.
// Accesses loc and pattern through being a closure.
function match _bitapScore _ ( e , x ) {
var accuracy = e / pattern . length ,
proximity = Math . abs ( loc - x ) ;
if ( ! Match _Distance ) {
// Dodge divide by zero error.
return proximity ? 1.0 : accuracy ;
}
return accuracy + ( proximity / Match _Distance ) ;
}
var score _threshold = Match _Threshold , // Highest score beyond which we give up.
best _loc = text . indexOf ( pattern , loc ) ; // Is there a nearby exact match? (speedup)
if ( best _loc != - 1 ) {
score _threshold = Math . min ( match _bitapScore _ ( 0 , best _loc ) , score _threshold ) ;
// What about in the other direction? (speedup)
best _loc = text . lastIndexOf ( pattern , loc + pattern . length ) ;
if ( best _loc != - 1 ) {
score _threshold = Math . min ( match _bitapScore _ ( 0 , best _loc ) , score _threshold ) ;
}
}
// Initialise the bit arrays.
var matchmask = 1 << ( pattern . length - 1 ) ;
best _loc = - 1 ;
var bin _min , bin _mid ;
var bin _max = pattern . length + text . length ;
var last _rd ;
for ( var d = 0 ; d < pattern . length ; d ++ ) {
// Scan for the best match; each iteration allows for one more error.
// Run a binary search to determine how far from 'loc' we can stray at this
// error level.
bin _min = 0 ;
bin _mid = bin _max ;
while ( bin _min < bin _mid ) {
if ( match _bitapScore _ ( d , loc + bin _mid ) <= score _threshold ) {
bin _min = bin _mid ;
} else {
bin _max = bin _mid ;
}
bin _mid = Math . floor ( ( bin _max - bin _min ) / 2 + bin _min ) ;
}
// Use the result from this iteration as the maximum for the next.
bin _max = bin _mid ;
var start = Math . max ( 1 , loc - bin _mid + 1 ) ;
var finish = Math . min ( loc + bin _mid , text . length ) + pattern . length ;
var rd = Array ( finish + 2 ) ;
rd [ finish + 1 ] = ( 1 << d ) - 1 ;
for ( var j = finish ; j >= start ; j -- ) {
// The alphabet (s) is a sparse hash, so the following line generates
// warnings.
var charMatch = s [ text . charAt ( j - 1 ) ] ;
if ( d === 0 ) { // First pass: exact match.
rd [ j ] = ( ( rd [ j + 1 ] << 1 ) | 1 ) & charMatch ;
} else { // Subsequent passes: fuzzy match.
rd [ j ] = ( ( ( rd [ j + 1 ] << 1 ) | 1 ) & charMatch ) |
( ( ( last _rd [ j + 1 ] | last _rd [ j ] ) << 1 ) | 1 ) |
last _rd [ j + 1 ] ;
}
if ( rd [ j ] & matchmask ) {
var score = match _bitapScore _ ( d , j - 1 ) ;
// This match will almost certainly be better than any existing match.
// But check anyway.
if ( score <= score _threshold ) {
// Told you so.
score _threshold = score ;
best _loc = j - 1 ;
if ( best _loc > loc ) {
// When passing loc, don't exceed our current distance from loc.
start = Math . max ( 1 , 2 * loc - best _loc ) ;
} else {
// Already passed loc, downhill from here on in.
break ;
}
}
}
}
// No hope for a (better) match at greater error levels.
if ( match _bitapScore _ ( d + 1 , loc ) > score _threshold ) {
break ;
}
last _rd = rd ;
}
return ( best _loc < 0 ) ? false : true ;
} ;
/***/ } )
/******/ ] ) ;
/ * !
* Lightbox for Bootstrap by @ ashleydw
* https : //github.com/ashleydw/lightbox
*
* License : https : //github.com/ashleydw/lightbox/blob/master/LICENSE
* /
+ function ( $ ) {
'use strict' ;
var _createClass = ( function ( ) { function defineProperties ( target , props ) { for ( var i = 0 ; i < props . length ; i ++ ) { var descriptor = props [ i ] ; descriptor . enumerable = descriptor . enumerable || false ; descriptor . configurable = true ; if ( 'value' in descriptor ) descriptor . writable = true ; Object . defineProperty ( target , descriptor . key , descriptor ) ; } } return function ( Constructor , protoProps , staticProps ) { if ( protoProps ) defineProperties ( Constructor . prototype , protoProps ) ; if ( staticProps ) defineProperties ( Constructor , staticProps ) ; return Constructor ; } ; } ) ( ) ;
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( 'Cannot call a class as a function' ) ; } }
var Lightbox = ( function ( $ ) {
var NAME = 'ekkoLightbox' ;
var JQUERY _NO _CONFLICT = $ . fn [ NAME ] ;
var Default = {
title : '' ,
footer : '' ,
maxWidth : 9999 ,
maxHeight : 9999 ,
showArrows : true , //display the left / right arrows or not
wrapping : true , //if true, gallery loops infinitely
type : null , //force the lightbox into image / youtube mode. if null, or not image|youtube|vimeo; detect it
alwaysShowClose : false , //always show the close button, even if there is no title
loadingMessage : '<div class="ekko-lightbox-loader"><div><div></div><div></div></div></div>' , // http://tobiasahlin.com/spinkit/
leftArrow : '<span>❮</span>' ,
rightArrow : '<span>❯</span>' ,
strings : {
close : 'Close' ,
fail : 'Failed to load image:' ,
type : 'Could not detect remote target type. Force the type using data-type'
} ,
doc : document , // if in an iframe can specify top.document
onShow : function onShow ( ) { } ,
onShown : function onShown ( ) { } ,
onHide : function onHide ( ) { } ,
onHidden : function onHidden ( ) { } ,
onNavigate : function onNavigate ( ) { } ,
onContentLoaded : function onContentLoaded ( ) { }
} ;
var Lightbox = ( function ( ) {
_createClass ( Lightbox , null , [ {
key : 'Default' ,
/ * *
Class properties :
_$element : null - > the < a > element currently being displayed
_$modal : The bootstrap modal generated
_$modalDialog : The . modal - dialog
_$modalContent : The . modal - content
_$modalBody : The . modal - body
_$modalHeader : The . modal - header
_$modalFooter : The . modal - footer
_$lightboxContainerOne : Container of the first lightbox element
_$lightboxContainerTwo : Container of the second lightbox element
_$lightboxBody : First element in the container
_$modalArrows : The overlayed arrows container
_$galleryItems : Other < a > ' s available for this gallery
_galleryName : Name of the current data ( 'gallery' ) showing
_galleryIndex : The current index of the _$galleryItems being shown
_config : { } the options for the modal
_modalId : unique id for the current lightbox
_padding / _border : CSS properties for the modal container ; these are used to calculate the available space for the content
* /
get : function get ( ) {
return Default ;
}
} ] ) ;
function Lightbox ( $element , config ) {
var _this = this ;
_classCallCheck ( this , Lightbox ) ;
this . _config = $ . extend ( { } , Default , config ) ;
this . _$modalArrows = null ;
this . _galleryIndex = 0 ;
this . _galleryName = null ;
this . _padding = null ;
this . _border = null ;
this . _titleIsShown = false ;
this . _footerIsShown = false ;
this . _wantedWidth = 0 ;
this . _wantedHeight = 0 ;
this . _touchstartX = 0 ;
this . _touchendX = 0 ;
this . _modalId = 'ekkoLightbox-' + Math . floor ( Math . random ( ) * 1000 + 1 ) ;
this . _$element = $element instanceof jQuery ? $element : $ ( $element ) ;
this . _isBootstrap3 = $ . fn . modal . Constructor . VERSION [ 0 ] == 3 ;
var h4 = '<h4 class="modal-title">' + ( this . _config . title || " " ) + '</h4>' ;
var btn = '<button type="button" class="close" data-dismiss="modal" aria-label="' + this . _config . strings . close + '"><span aria-hidden="true">×</span></button>' ;
var header = '<div class="modal-header' + ( this . _config . title || this . _config . alwaysShowClose ? '' : ' hide' ) + '">' + ( this . _isBootstrap3 ? btn + h4 : h4 + btn ) + '</div>' ;
var footer = '<div class="modal-footer' + ( this . _config . footer ? '' : ' hide' ) + '">' + ( this . _config . footer || " " ) + '</div>' ;
var body = '<div class="modal-body"><div class="ekko-lightbox-container"><div class="ekko-lightbox-item fade in show"></div><div class="ekko-lightbox-item fade"></div></div></div>' ;
var dialog = '<div class="modal-dialog" role="document"><div class="modal-content">' + header + body + footer + '</div></div>' ;
$ ( this . _config . doc . body ) . append ( '<div id="' + this . _modalId + '" class="ekko-lightbox modal fade" tabindex="-1" tabindex="-1" role="dialog" aria-hidden="true">' + dialog + '</div>' ) ;
this . _$modal = $ ( '#' + this . _modalId , this . _config . doc ) ;
this . _$modalDialog = this . _$modal . find ( '.modal-dialog' ) . first ( ) ;
this . _$modalContent = this . _$modal . find ( '.modal-content' ) . first ( ) ;
this . _$modalBody = this . _$modal . find ( '.modal-body' ) . first ( ) ;
this . _$modalHeader = this . _$modal . find ( '.modal-header' ) . first ( ) ;
this . _$modalFooter = this . _$modal . find ( '.modal-footer' ) . first ( ) ;
this . _$lightboxContainer = this . _$modalBody . find ( '.ekko-lightbox-container' ) . first ( ) ;
this . _$lightboxBodyOne = this . _$lightboxContainer . find ( '> div:first-child' ) . first ( ) ;
this . _$lightboxBodyTwo = this . _$lightboxContainer . find ( '> div:last-child' ) . first ( ) ;
this . _border = this . _calculateBorders ( ) ;
this . _padding = this . _calculatePadding ( ) ;
this . _galleryName = this . _$element . data ( 'gallery' ) ;
if ( this . _galleryName ) {
this . _$galleryItems = $ ( document . body ) . find ( '*[data-gallery="' + this . _galleryName + '"]' ) ;
this . _galleryIndex = this . _$galleryItems . index ( this . _$element ) ;
$ ( document ) . on ( 'keydown.ekkoLightbox' , this . _navigationalBinder . bind ( this ) ) ;
// add the directional arrows to the modal
if ( this . _config . showArrows && this . _$galleryItems . length > 1 ) {
this . _$lightboxContainer . append ( '<div class="ekko-lightbox-nav-overlay"><a href="#">' + this . _config . leftArrow + '</a><a href="#">' + this . _config . rightArrow + '</a></div>' ) ;
this . _$modalArrows = this . _$lightboxContainer . find ( 'div.ekko-lightbox-nav-overlay' ) . first ( ) ;
this . _$lightboxContainer . on ( 'click' , 'a:first-child' , function ( event ) {
event . preventDefault ( ) ;
return _this . navigateLeft ( ) ;
} ) ;
this . _$lightboxContainer . on ( 'click' , 'a:last-child' , function ( event ) {
event . preventDefault ( ) ;
return _this . navigateRight ( ) ;
} ) ;
this . updateNavigation ( ) ;
}
}
this . _$modal . on ( 'show.bs.modal' , this . _config . onShow . bind ( this ) ) . on ( 'shown.bs.modal' , function ( ) {
_this . _toggleLoading ( true ) ;
_this . _handle ( ) ;
return _this . _config . onShown . call ( _this ) ;
} ) . on ( 'hide.bs.modal' , this . _config . onHide . bind ( this ) ) . on ( 'hidden.bs.modal' , function ( ) {
if ( _this . _galleryName ) {
$ ( document ) . off ( 'keydown.ekkoLightbox' ) ;
$ ( window ) . off ( 'resize.ekkoLightbox' ) ;
}
_this . _$modal . remove ( ) ;
return _this . _config . onHidden . call ( _this ) ;
} ) . modal ( this . _config ) ;
$ ( window ) . on ( 'resize.ekkoLightbox' , function ( ) {
_this . _resize ( _this . _wantedWidth , _this . _wantedHeight ) ;
} ) ;
this . _$lightboxContainer . on ( 'touchstart' , function ( ) {
_this . _touchstartX = event . changedTouches [ 0 ] . screenX ;
} ) . on ( 'touchend' , function ( ) {
_this . _touchendX = event . changedTouches [ 0 ] . screenX ;
_this . _swipeGesure ( ) ;
} ) ;
}
_createClass ( Lightbox , [ {
key : 'element' ,
value : function element ( ) {
return this . _$element ;
}
} , {
key : 'modal' ,
value : function modal ( ) {
return this . _$modal ;
}
} , {
key : 'navigateTo' ,
value : function navigateTo ( index ) {
if ( index < 0 || index > this . _$galleryItems . length - 1 ) return this ;
this . _galleryIndex = index ;
this . updateNavigation ( ) ;
this . _$element = $ ( this . _$galleryItems . get ( this . _galleryIndex ) ) ;
this . _handle ( ) ;
}
} , {
key : 'navigateLeft' ,
value : function navigateLeft ( ) {
if ( ! this . _$galleryItems ) return ;
if ( this . _$galleryItems . length === 1 ) return ;
if ( this . _galleryIndex === 0 ) {
if ( this . _config . wrapping ) this . _galleryIndex = this . _$galleryItems . length - 1 ; else return ;
} else //circular
this . _galleryIndex -- ;
this . _config . onNavigate . call ( this , 'left' , this . _galleryIndex ) ;
return this . navigateTo ( this . _galleryIndex ) ;
}
} , {
key : 'navigateRight' ,
value : function navigateRight ( ) {
if ( ! this . _$galleryItems ) return ;
if ( this . _$galleryItems . length === 1 ) return ;
if ( this . _galleryIndex === this . _$galleryItems . length - 1 ) {
if ( this . _config . wrapping ) this . _galleryIndex = 0 ; else return ;
} else //circular
this . _galleryIndex ++ ;
this . _config . onNavigate . call ( this , 'right' , this . _galleryIndex ) ;
return this . navigateTo ( this . _galleryIndex ) ;
}
} , {
key : 'updateNavigation' ,
value : function updateNavigation ( ) {
if ( ! this . _config . wrapping ) {
var $nav = this . _$lightboxContainer . find ( 'div.ekko-lightbox-nav-overlay' ) ;
if ( this . _galleryIndex === 0 ) $nav . find ( 'a:first-child' ) . addClass ( 'disabled' ) ; else $nav . find ( 'a:first-child' ) . removeClass ( 'disabled' ) ;
if ( this . _galleryIndex === this . _$galleryItems . length - 1 ) $nav . find ( 'a:last-child' ) . addClass ( 'disabled' ) ; else $nav . find ( 'a:last-child' ) . removeClass ( 'disabled' ) ;
}
}
} , {
key : 'close' ,
value : function close ( ) {
return this . _$modal . modal ( 'hide' ) ;
}
// helper private methods
} , {
key : '_navigationalBinder' ,
value : function _navigationalBinder ( event ) {
event = event || window . event ;
if ( event . keyCode === 39 ) return this . navigateRight ( ) ;
if ( event . keyCode === 37 ) return this . navigateLeft ( ) ;
}
// type detection private methods
} , {
key : '_detectRemoteType' ,
value : function _detectRemoteType ( src , type ) {
type = type || false ;
if ( ! type && this . _isImage ( src ) ) type = 'image' ;
if ( ! type && this . _getYoutubeId ( src ) ) type = 'youtube' ;
if ( ! type && this . _getVimeoId ( src ) ) type = 'vimeo' ;
if ( ! type && this . _getInstagramId ( src ) ) type = 'instagram' ;
if ( ! type || [ 'image' , 'youtube' , 'vimeo' , 'instagram' , 'video' , 'url' ] . indexOf ( type ) < 0 ) type = 'url' ;
return type ;
}
} , {
key : '_isImage' ,
value : function _isImage ( string ) {
return string && string . match ( /(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i ) ;
}
} , {
key : '_containerToUse' ,
value : function _containerToUse ( ) {
var _this2 = this ;
// if currently showing an image, fade it out and remove
var $toUse = this . _$lightboxBodyTwo ;
var $current = this . _$lightboxBodyOne ;
if ( this . _$lightboxBodyTwo . hasClass ( 'in' ) ) {
$toUse = this . _$lightboxBodyOne ;
$current = this . _$lightboxBodyTwo ;
}
$current . removeClass ( 'in show' ) ;
setTimeout ( function ( ) {
if ( ! _this2 . _$lightboxBodyTwo . hasClass ( 'in' ) ) _this2 . _$lightboxBodyTwo . empty ( ) ;
if ( ! _this2 . _$lightboxBodyOne . hasClass ( 'in' ) ) _this2 . _$lightboxBodyOne . empty ( ) ;
} , 500 ) ;
$toUse . addClass ( 'in show' ) ;
return $toUse ;
}
} , {
key : '_handle' ,
value : function _handle ( ) {
var $toUse = this . _containerToUse ( ) ;
this . _updateTitleAndFooter ( ) ;
var currentRemote = this . _$element . attr ( 'data-remote' ) || this . _$element . attr ( 'href' ) ;
var currentType = this . _detectRemoteType ( currentRemote , this . _$element . attr ( 'data-type' ) || false ) ;
if ( [ 'image' , 'youtube' , 'vimeo' , 'instagram' , 'video' , 'url' ] . indexOf ( currentType ) < 0 ) return this . _error ( this . _config . strings . type ) ;
switch ( currentType ) {
case 'image' :
this . _preloadImage ( currentRemote , $toUse ) ;
this . _preloadImageByIndex ( this . _galleryIndex , 3 ) ;
break ;
case 'youtube' :
this . _showYoutubeVideo ( currentRemote , $toUse ) ;
break ;
case 'vimeo' :
this . _showVimeoVideo ( this . _getVimeoId ( currentRemote ) , $toUse ) ;
break ;
case 'instagram' :
this . _showInstagramVideo ( this . _getInstagramId ( currentRemote ) , $toUse ) ;
break ;
case 'video' :
this . _showHtml5Video ( currentRemote , $toUse ) ;
break ;
default :
// url
this . _loadRemoteContent ( currentRemote , $toUse ) ;
break ;
}
return this ;
}
} , {
key : '_getYoutubeId' ,
value : function _getYoutubeId ( string ) {
if ( ! string ) return false ;
var matches = string . match ( /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/ ) ;
return matches && matches [ 2 ] . length === 11 ? matches [ 2 ] : false ;
}
} , {
key : '_getVimeoId' ,
value : function _getVimeoId ( string ) {
return string && string . indexOf ( 'vimeo' ) > 0 ? string : false ;
}
} , {
key : '_getInstagramId' ,
value : function _getInstagramId ( string ) {
return string && string . indexOf ( 'instagram' ) > 0 ? string : false ;
}
// layout private methods
} , {
key : '_toggleLoading' ,
value : function _toggleLoading ( show ) {
show = show || false ;
if ( show ) {
this . _$modalDialog . css ( 'display' , 'none' ) ;
this . _$modal . removeClass ( 'in show' ) ;
$ ( '.modal-backdrop' ) . append ( this . _config . loadingMessage ) ;
} else {
this . _$modalDialog . css ( 'display' , 'block' ) ;
this . _$modal . addClass ( 'in show' ) ;
$ ( '.modal-backdrop' ) . find ( '.ekko-lightbox-loader' ) . remove ( ) ;
}
return this ;
}
} , {
key : '_calculateBorders' ,
value : function _calculateBorders ( ) {
return {
top : this . _totalCssByAttribute ( 'border-top-width' ) ,
right : this . _totalCssByAttribute ( 'border-right-width' ) ,
bottom : this . _totalCssByAttribute ( 'border-bottom-width' ) ,
left : this . _totalCssByAttribute ( 'border-left-width' )
} ;
}
} , {
key : '_calculatePadding' ,
value : function _calculatePadding ( ) {
return {
top : this . _totalCssByAttribute ( 'padding-top' ) ,
right : this . _totalCssByAttribute ( 'padding-right' ) ,
bottom : this . _totalCssByAttribute ( 'padding-bottom' ) ,
left : this . _totalCssByAttribute ( 'padding-left' )
} ;
}
} , {
key : '_totalCssByAttribute' ,
value : function _totalCssByAttribute ( attribute ) {
return parseInt ( this . _$modalDialog . css ( attribute ) , 10 ) + parseInt ( this . _$modalContent . css ( attribute ) , 10 ) + parseInt ( this . _$modalBody . css ( attribute ) , 10 ) ;
}
} , {
key : '_updateTitleAndFooter' ,
value : function _updateTitleAndFooter ( ) {
var title = this . _$element . data ( 'title' ) || "" ;
var caption = this . _$element . data ( 'footer' ) || "" ;
this . _titleIsShown = false ;
if ( title || this . _config . alwaysShowClose ) {
this . _titleIsShown = true ;
this . _$modalHeader . css ( 'display' , '' ) . find ( '.modal-title' ) . html ( title || " " ) ;
} else this . _$modalHeader . css ( 'display' , 'none' ) ;
this . _footerIsShown = false ;
if ( caption ) {
this . _footerIsShown = true ;
this . _$modalFooter . css ( 'display' , '' ) . html ( caption ) ;
} else this . _$modalFooter . css ( 'display' , 'none' ) ;
return this ;
}
} , {
key : '_showYoutubeVideo' ,
value : function _showYoutubeVideo ( remote , $containerForElement ) {
var id = this . _getYoutubeId ( remote ) ;
var query = remote . indexOf ( '&' ) > 0 ? remote . substr ( remote . indexOf ( '&' ) ) : '' ;
var width = this . _$element . data ( 'width' ) || 560 ;
var height = this . _$element . data ( 'height' ) || width / ( 560 / 315 ) ;
return this . _showVideoIframe ( '//www.youtube.com/embed/' + id + '?badge=0&autoplay=1&html5=1' + query , width , height , $containerForElement ) ;
}
} , {
key : '_showVimeoVideo' ,
value : function _showVimeoVideo ( id , $containerForElement ) {
var width = this . _$element . data ( 'width' ) || 500 ;
var height = this . _$element . data ( 'height' ) || width / ( 560 / 315 ) ;
return this . _showVideoIframe ( id + '?autoplay=1' , width , height , $containerForElement ) ;
}
} , {
key : '_showInstagramVideo' ,
value : function _showInstagramVideo ( id , $containerForElement ) {
// instagram load their content into iframe's so this can be put straight into the element
var width = this . _$element . data ( 'width' ) || 612 ;
var height = width + 80 ;
id = id . substr ( - 1 ) !== '/' ? id + '/' : id ; // ensure id has trailing slash
$containerForElement . html ( '<iframe width="' + width + '" height="' + height + '" src="' + id + 'embed/" frameborder="0" allowfullscreen></iframe>' ) ;
this . _resize ( width , height ) ;
this . _config . onContentLoaded . call ( this ) ;
if ( this . _$modalArrows ) //hide the arrows when showing video
this . _$modalArrows . css ( 'display' , 'none' ) ;
this . _toggleLoading ( false ) ;
return this ;
}
} , {
key : '_showVideoIframe' ,
value : function _showVideoIframe ( url , width , height , $containerForElement ) {
// should be used for videos only. for remote content use loadRemoteContent (data-type=url)
height = height || width ; // default to square
$containerForElement . html ( '<div class="embed-responsive embed-responsive-16by9"><iframe width="' + width + '" height="' + height + '" src="' + url + '" frameborder="0" allowfullscreen class="embed-responsive-item"></iframe></div>' ) ;
this . _resize ( width , height ) ;
this . _config . onContentLoaded . call ( this ) ;
if ( this . _$modalArrows ) this . _$modalArrows . css ( 'display' , 'none' ) ; //hide the arrows when showing video
this . _toggleLoading ( false ) ;
return this ;
}
} , {
key : '_showHtml5Video' ,
value : function _showHtml5Video ( url , $containerForElement ) {
// should be used for videos only. for remote content use loadRemoteContent (data-type=url)
var width = this . _$element . data ( 'width' ) || 560 ;
var height = this . _$element . data ( 'height' ) || width / ( 560 / 315 ) ;
$containerForElement . html ( '<div class="embed-responsive embed-responsive-16by9"><video width="' + width + '" height="' + height + '" src="' + url + '" preload="auto" autoplay controls class="embed-responsive-item"></video></div>' ) ;
this . _resize ( width , height ) ;
this . _config . onContentLoaded . call ( this ) ;
if ( this . _$modalArrows ) this . _$modalArrows . css ( 'display' , 'none' ) ; //hide the arrows when showing video
this . _toggleLoading ( false ) ;
return this ;
}
} , {
key : '_loadRemoteContent' ,
value : function _loadRemoteContent ( url , $containerForElement ) {
var _this3 = this ;
var width = this . _$element . data ( 'width' ) || 560 ;
var height = this . _$element . data ( 'height' ) || 560 ;
var disableExternalCheck = this . _$element . data ( 'disableExternalCheck' ) || false ;
this . _toggleLoading ( false ) ;
// external urls are loading into an iframe
// local ajax can be loaded into the container itself
if ( ! disableExternalCheck && ! this . _isExternal ( url ) ) {
$containerForElement . load ( url , $ . proxy ( function ( ) {
return _this3 . _$element . trigger ( 'loaded.bs.modal' ) ; l ;
} ) ) ;
} else {
$containerForElement . html ( '<iframe src="' + url + '" frameborder="0" allowfullscreen></iframe>' ) ;
this . _config . onContentLoaded . call ( this ) ;
}
if ( this . _$modalArrows ) //hide the arrows when remote content
this . _$modalArrows . css ( 'display' , 'none' ) ;
this . _resize ( width , height ) ;
return this ;
}
} , {
key : '_isExternal' ,
value : function _isExternal ( url ) {
var match = url . match ( /^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/ ) ;
if ( typeof match [ 1 ] === "string" && match [ 1 ] . length > 0 && match [ 1 ] . toLowerCase ( ) !== location . protocol ) return true ;
if ( typeof match [ 2 ] === "string" && match [ 2 ] . length > 0 && match [ 2 ] . replace ( new RegExp ( ':(' + ( {
"http:" : 80 ,
"https:" : 443
} ) [ location . protocol ] + ')?$' ) , "" ) !== location . host ) return true ;
return false ;
}
} , {
key : '_error' ,
value : function _error ( message ) {
console . error ( message ) ;
this . _containerToUse ( ) . html ( message ) ;
this . _resize ( 300 , 300 ) ;
return this ;
}
} , {
key : '_preloadImageByIndex' ,
value : function _preloadImageByIndex ( startIndex , numberOfTimes ) {
if ( ! this . _$galleryItems ) return ;
var next = $ ( this . _$galleryItems . get ( startIndex ) , false ) ;
if ( typeof next == 'undefined' ) return ;
var src = next . attr ( 'data-remote' ) || next . attr ( 'href' ) ;
if ( next . attr ( 'data-type' ) === 'image' || this . _isImage ( src ) ) this . _preloadImage ( src , false ) ;
if ( numberOfTimes > 0 ) return this . _preloadImageByIndex ( startIndex + 1 , numberOfTimes - 1 ) ;
}
} , {
key : '_preloadImage' ,
value : function _preloadImage ( src , $containerForImage ) {
var _this4 = this ;
$containerForImage = $containerForImage || false ;
var img = new Image ( ) ;
if ( $containerForImage ) {
( function ( ) {
// if loading takes > 200ms show a loader
var loadingTimeout = setTimeout ( function ( ) {
$containerForImage . append ( _this4 . _config . loadingMessage ) ;
} , 200 ) ;
img . onload = function ( ) {
if ( loadingTimeout ) clearTimeout ( loadingTimeout ) ;
loadingTimeout = null ;
var image = $ ( '<img />' ) ;
image . attr ( 'src' , img . src ) ;
image . addClass ( 'img-fluid' ) ;
// backward compatibility for bootstrap v3
image . css ( 'width' , '100%' ) ;
$containerForImage . html ( image ) ;
if ( _this4 . _$modalArrows ) _this4 . _$modalArrows . css ( 'display' , '' ) ; // remove display to default to css property
_this4 . _resize ( img . width , img . height ) ;
_this4 . _toggleLoading ( false ) ;
return _this4 . _config . onContentLoaded . call ( _this4 ) ;
} ;
img . onerror = function ( ) {
_this4 . _toggleLoading ( false ) ;
return _this4 . _error ( _this4 . _config . strings . fail + ( ' ' + src ) ) ;
} ;
} ) ( ) ;
}
img . src = src ;
return img ;
}
} , {
key : '_swipeGesure' ,
value : function _swipeGesure ( ) {
if ( this . _touchendX < this . _touchstartX ) {
return this . navigateRight ( ) ;
}
if ( this . _touchendX > this . _touchstartX ) {
return this . navigateLeft ( ) ;
}
}
} , {
key : '_resize' ,
value : function _resize ( width , height ) {
height = height || width ;
this . _wantedWidth = width ;
this . _wantedHeight = height ;
var imageAspecRatio = width / height ;
// if width > the available space, scale down the expected width and height
var widthBorderAndPadding = this . _padding . left + this . _padding . right + this . _border . left + this . _border . right ;
// force 10px margin if window size > 575px
var addMargin = this . _config . doc . body . clientWidth > 575 ? 20 : 0 ;
var discountMargin = this . _config . doc . body . clientWidth > 575 ? 0 : 20 ;
var maxWidth = Math . min ( width + widthBorderAndPadding , this . _config . doc . body . clientWidth - addMargin , this . _config . maxWidth ) ;
if ( width + widthBorderAndPadding > maxWidth ) {
height = ( maxWidth - widthBorderAndPadding - discountMargin ) / imageAspecRatio ;
width = maxWidth ;
} else width = width + widthBorderAndPadding ;
var headerHeight = 0 ,
footerHeight = 0 ;
// as the resize is performed the modal is show, the calculate might fail
// if so, default to the default sizes
if ( this . _footerIsShown ) footerHeight = this . _$modalFooter . outerHeight ( true ) || 55 ;
if ( this . _titleIsShown ) headerHeight = this . _$modalHeader . outerHeight ( true ) || 67 ;
var borderPadding = this . _padding . top + this . _padding . bottom + this . _border . bottom + this . _border . top ;
//calculated each time as resizing the window can cause them to change due to Bootstraps fluid margins
var margins = parseFloat ( this . _$modalDialog . css ( 'margin-top' ) ) + parseFloat ( this . _$modalDialog . css ( 'margin-bottom' ) ) ;
var maxHeight = Math . min ( height , $ ( window ) . height ( ) - borderPadding - margins - headerHeight - footerHeight , this . _config . maxHeight - borderPadding - headerHeight - footerHeight ) ;
if ( height > maxHeight ) {
// if height > the available height, scale down the width
width = Math . ceil ( maxHeight * imageAspecRatio ) + widthBorderAndPadding ;
}
this . _$lightboxContainer . css ( 'height' , maxHeight ) ;
this . _$modalDialog . css ( 'flex' , 1 ) . css ( 'maxWidth' , width ) ;
var modal = this . _$modal . data ( 'bs.modal' ) ;
if ( modal ) {
// v4 method is mistakenly protected
try {
modal . _handleUpdate ( ) ;
} catch ( Exception ) {
modal . handleUpdate ( ) ;
}
}
return this ;
}
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
var _this5 = this ;
config = config || { } ;
return this . each ( function ( ) {
var $this = $ ( _this5 ) ;
var _config = $ . extend ( { } , Lightbox . Default , $this . data ( ) , typeof config === 'object' && config ) ;
new Lightbox ( _this5 , _config ) ;
} ) ;
}
} ] ) ;
return Lightbox ;
} ) ( ) ;
$ . fn [ NAME ] = Lightbox . _jQueryInterface ;
$ . fn [ NAME ] . Constructor = Lightbox ;
$ . fn [ NAME ] . noConflict = function ( ) {
$ . fn [ NAME ] = JQUERY _NO _CONFLICT ;
return Lightbox . _jQueryInterface ;
} ;
return Lightbox ;
} ) ( jQuery ) ;
//# sourceMappingURL=ekko-lightbox.js.map
} ( jQuery ) ;
/ * *
* Module containing core application logic .
* @ param { jQuery } $ Insulated jQuery object
* @ param { JSON } settings Insulated ` window.snipeit.settings ` object .
* @ return { IIFE } Immediately invoked . Returns self .
* /
lineOptions = {
legend : {
position : "bottom"
} ,
scales : {
yAxes : [ {
ticks : {
fontColor : "rgba(0,0,0,0.5)" ,
fontStyle : "bold" ,
beginAtZero : true ,
maxTicksLimit : 5 ,
padding : 20
} ,
gridLines : {
drawTicks : false ,
display : false
}
} ] ,
xAxes : [ {
gridLines : {
zeroLineColor : "transparent"
} ,
ticks : {
padding : 20 ,
fontColor : "rgba(0,0,0,0.5)" ,
fontStyle : "bold"
}
} ]
}
} ;
pieOptions = {
//Boolean - Whether we should show a stroke on each segment
segmentShowStroke : true ,
//String - The colour of each segment stroke
segmentStrokeColor : "#fff" ,
//Number - The width of each segment stroke
segmentStrokeWidth : 1 ,
//Number - The percentage of the chart that we cut out of the middle
percentageInnerCutout : 50 , // This is 0 for Pie charts
//Number - Amount of animation steps
animationSteps : 100 ,
//String - Animation easing effect
animationEasing : "easeOutBounce" ,
//Boolean - Whether we animate the rotation of the Doughnut
animateRotate : true ,
//Boolean - Whether we animate scaling the Doughnut from the centre
animateScale : false ,
//Boolean - whether to make the chart responsive to window resizing
responsive : true ,
// Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
maintainAspectRatio : false ,
//String - A legend template
legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li>" +
"<i class='fa fa-circle-o' style='color: <%=segments[i].fillColor%>'></i>" +
"<%if(segments[i].label){%><%=segments[i].label%><%}%> foo</li><%}%></ul>" ,
//String - A tooltip template
tooltipTemplate : "<%=value %> <%=label%> "
} ;
//-----------------
//- END PIE CHART -
//-----------------
var baseUrl = $ ( 'meta[name="baseUrl"]' ) . attr ( 'content' ) ;
( function ( $ , settings ) {
var Components = { } ;
Components . modals = { } ;
// confirm delete modal
Components . modals . confirmDelete = function ( ) {
var $el = $ ( 'table' ) ;
var events = {
'click' : function ( evnt ) {
var $context = $ ( this ) ;
var $dataConfirmModal = $ ( '#dataConfirmModal' ) ;
var href = $context . attr ( 'href' ) ;
var message = $context . attr ( 'data-content' ) ;
var title = $context . attr ( 'data-title' ) ;
$ ( '#myModalLabel' ) . text ( title ) ;
$dataConfirmModal . find ( '.modal-body' ) . text ( message ) ;
$ ( '#deleteForm' ) . attr ( 'action' , href ) ;
$dataConfirmModal . modal ( {
show : true
} ) ;
return false ;
}
} ;
var render = function ( ) {
$el . on ( 'click' , '.delete-asset' , events [ 'click' ] ) ;
} ;
return {
render : render
} ;
} ;
/ * *
* Application start point
* Component definition stays out of load event , execution only happens .
* /
$ ( function ( ) {
new Components . modals . confirmDelete ( ) . render ( ) ;
} ) ;
} ( jQuery , window . snipeit . settings ) ) ;
$ ( document ) . ready ( function ( ) {
/ *
* Slideout help menu
* /
$ ( '.slideout-menu-toggle' ) . on ( 'click' , function ( event ) {
event . preventDefault ( ) ;
// create menu variables
var slideoutMenu = $ ( '.slideout-menu' ) ;
var slideoutMenuWidth = $ ( '.slideout-menu' ) . width ( ) ;
// toggle open class
slideoutMenu . toggleClass ( "open" ) ;
// slide menu
if ( slideoutMenu . hasClass ( "open" ) ) {
slideoutMenu . show ( ) ;
slideoutMenu . animate ( {
right : "0px"
} ) ;
} else {
slideoutMenu . animate ( {
right : - slideoutMenuWidth
} , "-350px" ) ;
slideoutMenu . fadeOut ( ) ;
}
} ) ;
/ *
* iCheck checkbox plugin
* /
$ ( 'input[type="checkbox"].minimal, input[type="radio"].minimal' ) . iCheck ( {
checkboxClass : 'icheckbox_minimal-blue' ,
radioClass : 'iradio_minimal-blue'
} ) ;
/ *
* Select2
* /
var iOS = /iPhone|iPad|iPod/ . test ( navigator . userAgent ) && ! window . MSStream ;
if ( ! iOS )
{
// Vue collision: Avoid overriding a vue select2 instance
// by checking to see if the item has already been select2'd.
$ ( 'select.select2:not(".select2-hidden-accessible")' ) . each ( function ( i , obj ) {
{
$ ( obj ) . select2 ( ) ;
}
} ) ;
}
// $('.datepicker').datepicker();
// var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value
// $.fn.bootstrapDP = datepicker;
// $('.datepicker').datepicker();
// Crazy select2 rich dropdowns with images!
$ ( '.js-data-ajax' ) . each ( function ( i , item ) {
var link = $ ( item ) ;
var endpoint = link . data ( "endpoint" ) ;
var select = link . data ( "select" ) ;
link . select2 ( {
/ * *
* Adds an empty placeholder , allowing every select2 instance to be cleared .
* This placeholder can be overridden with the "data-placeholder" attribute .
* /
placeholder : '' ,
allowClear : true ,
ajax : {
// the baseUrl includes a trailing slash
url : Ziggy . baseUrl + 'api/v1/' + endpoint + '/selectlist' ,
dataType : 'json' ,
delay : 250 ,
headers : {
"X-Requested-With" : 'XMLHttpRequest' ,
"X-CSRF-TOKEN" : $ ( 'meta[name="csrf-token"]' ) . attr ( 'content' )
} ,
data : function ( params ) {
var data = {
search : params . term ,
page : params . page || 1 ,
assetStatusType : link . data ( "asset-status-type" ) ,
} ;
return data ;
} ,
processResults : function ( data , params ) {
params . page = params . page || 1 ;
var answer = {
results : data . items ,
pagination : {
more : "true" //(params.page < data.page_count)
}
} ;
return answer ;
} ,
cache : true
} ,
escapeMarkup : function ( markup ) { return markup ; } , // let our custom formatter work
templateResult : formatDatalist ,
templateSelection : formatDataSelection
} ) ;
} ) ;
function getSelect2Value ( element ) {
// if the passed object is not a jquery object, assuming 'element' is a selector
if ( ! ( element instanceof jQuery ) ) element = $ ( element ) ;
var select = element . data ( "select2" ) ;
// There's two different locations where the select2-generated input element can be.
searchElement = select . dropdown . $search || select . $container . find ( ".select2-search__field" ) ;
var value = searchElement . val ( ) ;
return value ;
}
$ ( ".select2-hidden-accessible" ) . on ( 'select2:selecting' , function ( e ) {
var data = e . params . args . data ;
var isMouseUp = false ;
var element = $ ( this ) ;
var value = getSelect2Value ( element ) ;
if ( e . params . args . originalEvent ) isMouseUp = e . params . args . originalEvent . type == "mouseup" ;
// if selected item does not match typed text, do not allow it to pass - force close for ajax.
if ( ! isMouseUp ) {
if ( value . toLowerCase ( ) && data . text . toLowerCase ( ) . indexOf ( value ) < 0 ) {
e . preventDefault ( ) ;
element . select2 ( 'close' ) ;
// if it does match, we set a flag in the event (which gets passed to subsequent events), telling it not to worry about the ajax
} else if ( value . toLowerCase ( ) && data . text . toLowerCase ( ) . indexOf ( value ) > - 1 ) {
e . params . args . noForceAjax = true ;
}
}
} ) ;
$ ( ".select2-hidden-accessible" ) . on ( 'select2:closing' , function ( e ) {
var element = $ ( this ) ;
var value = getSelect2Value ( element ) ;
var noForceAjax = false ;
var isMouseUp = false ;
if ( e . params . args . originalSelect2Event ) noForceAjax = e . params . args . originalSelect2Event . noForceAjax ;
if ( e . params . args . originalEvent ) isMouseUp = e . params . args . originalEvent . type == "mouseup" ;
if ( value && ! noForceAjax && ! isMouseUp ) {
var endpoint = element . data ( "endpoint" ) ;
var assetStatusType = element . data ( "asset-status-type" ) ;
$ . ajax ( {
url : Ziggy . baseUrl + 'api/v1/' + endpoint + '/selectlist?search=' + value + '&page=1' + ( assetStatusType ? '&assetStatusType=' + assetStatusType : '' ) ,
dataType : 'json' ,
headers : {
"X-Requested-With" : 'XMLHttpRequest' ,
"X-CSRF-TOKEN" : $ ( 'meta[name="csrf-token"]' ) . attr ( 'content' )
} ,
} ) . done ( function ( response ) {
var currentlySelected = element . select2 ( 'data' ) . map ( function ( x ) {
return + x . id ;
} ) . filter ( function ( x ) {
return x !== 0 ;
} ) ;
// makes sure we're not selecting the same thing twice for multiples
var filteredResponse = response . items . filter ( function ( item ) {
return currentlySelected . indexOf ( + item . id ) < 0 ;
} ) ;
var first = ( currentlySelected . length > 0 ) ? filteredResponse [ 0 ] : response . items [ 0 ] ;
if ( first && first . id ) {
first . selected = true ;
if ( $ ( "option[value='" + first . id + "']" , element ) . length < 1 ) {
var option = new Option ( first . text , first . id , true , true ) ;
element . append ( option ) ;
} else {
var isMultiple = element . attr ( "multiple" ) == "multiple" ;
element . val ( isMultiple ? element . val ( ) . concat ( first . id ) : element . val ( first . id ) ) ;
}
element . trigger ( 'change' ) ;
element . trigger ( {
type : 'select2:select' ,
params : {
data : first
}
} ) ;
}
} ) ;
}
} ) ;
function formatDatalist ( datalist ) {
var loading _markup = '<i class="fa fa-spinner fa-spin" aria-hidden="true"></i> Loading...' ;
if ( datalist . loading ) {
return loading _markup ;
}
var markup = "<div class='clearfix'>" ;
markup += "<div class='pull-left' style='padding-right: 10px;'>" ;
if ( datalist . image ) {
markup += "<div style='width: 30px;'><img src='" + datalist . image + "' style='max-height: 20px; max-width: 30px;' alt='" + datalist . text + "'></div>" ;
} else {
markup += "<div style='height: 20px; width: 30px;'></div>" ;
}
markup += "</div><div>" + datalist . text + "</div>" ;
markup += "</div>" ;
return markup ;
}
function formatDataSelection ( datalist ) {
// This a heinous workaround for a known bug in Select2.
// Without this, the rich selectlists are vulnerable to XSS.
// Many thanks to @uberbrady for this fix. It ain't pretty,
// but it resolves the issue until Select2 addresses it on their end.
//
// Bug was reported in 2016 :{
// https://github.com/select2/select2/issues/4587
return datalist . text . replace ( />/g , '>' )
. replace ( /</g , '<' )
. replace ( /"/g , '"' )
. replace ( /'/g , ''' ) ;
}
// This handles the radio button selectors for the checkout-to-foo options
// on asset checkout and also on asset edit
$ ( function ( ) {
$ ( 'input[name=checkout_to_type]' ) . on ( "change" , function ( ) {
var assignto _type = $ ( 'input[name=checkout_to_type]:checked' ) . val ( ) ;
var userid = $ ( '#assigned_user option:selected' ) . val ( ) ;
if ( assignto _type == 'asset' ) {
$ ( '#current_assets_box' ) . fadeOut ( ) ;
$ ( '#assigned_asset' ) . show ( ) ;
$ ( '#assigned_user' ) . hide ( ) ;
$ ( '#assigned_location' ) . hide ( ) ;
$ ( '.notification-callout' ) . fadeOut ( ) ;
} else if ( assignto _type == 'location' ) {
$ ( '#current_assets_box' ) . fadeOut ( ) ;
$ ( '#assigned_asset' ) . hide ( ) ;
$ ( '#assigned_user' ) . hide ( ) ;
$ ( '#assigned_location' ) . show ( ) ;
$ ( '.notification-callout' ) . fadeOut ( ) ;
} else {
$ ( '#assigned_asset' ) . hide ( ) ;
$ ( '#assigned_user' ) . show ( ) ;
$ ( '#assigned_location' ) . hide ( ) ;
if ( userid ) {
$ ( '#current_assets_box' ) . fadeIn ( ) ;
}
$ ( '.notification-callout' ) . fadeIn ( ) ;
}
} ) ;
} ) ;
// ------------------------------------------------
// Deep linking for Bootstrap tabs
// ------------------------------------------------
var taburl = document . location . toString ( ) ;
// Allow full page URL to activate a tab's ID
// ------------------------------------------------
// This allows linking to a tab on page load via the address bar.
// So a URL such as, http://snipe-it.local/hardware/2/#my_tab will
// cause the tab on that page with an ID of “my_tab” to be active.
if ( taburl . match ( '#' ) ) {
$ ( '.nav-tabs a[href="#' + taburl . split ( '#' ) [ 1 ] + '"]' ) . tab ( 'show' ) ;
}
// Allow internal page links to activate a tab's ID.
// ------------------------------------------------
// This allows you to link to a tab from anywhere on the page
// including from within another tab. Also note that internal page
// links either inside or out of the tabs need to include data-toggle="tab"
// Ex: <a href="#my_tab" data-toggle="tab">Click me</a>
$ ( 'a[data-toggle="tab"]' ) . click ( function ( e ) {
var href = $ ( this ) . attr ( "href" ) ;
history . pushState ( null , null , href ) ;
e . preventDefault ( ) ;
$ ( 'a[href="' + $ ( this ) . attr ( 'href' ) + '"]' ) . tab ( 'show' ) ;
} ) ;
// ------------------------------------------------
// End Deep Linking for Bootstrap tabs
// ------------------------------------------------
// Image preview
function readURL ( input , $preview ) {
if ( input . files && input . files [ 0 ] ) {
var reader = new FileReader ( ) ;
reader . onload = function ( e ) {
$preview . attr ( 'src' , e . target . result ) ;
} ;
reader . readAsDataURL ( input . files [ 0 ] ) ;
}
}
function formatBytes ( bytes ) {
if ( bytes < 1024 ) return bytes + " Bytes" ;
else if ( bytes < 1048576 ) return ( bytes / 1024 ) . toFixed ( 2 ) + " KB" ;
else if ( bytes < 1073741824 ) return ( bytes / 1048576 ) . toFixed ( 2 ) + " MB" ;
else return ( bytes / 1073741824 ) . toFixed ( 2 ) + " GB" ;
}
// File size validation
$ ( '.js-uploadFile' ) . bind ( 'change' , function ( ) {
let $this = $ ( this ) ;
let id = '#' + $this . attr ( 'id' ) ;
let status = id + '-status' ;
let $status = $ ( status ) ;
$status . removeClass ( 'text-success' ) . removeClass ( 'text-danger' ) ;
$ ( status + ' .goodfile' ) . remove ( ) ;
$ ( status + ' .badfile' ) . remove ( ) ;
$ ( status + ' .previewSize' ) . hide ( ) ;
$ ( id + '-info' ) . html ( '' ) ;
var max _size = $this . data ( 'maxsize' ) ;
var total _size = 0 ;
for ( var i = 0 ; i < this . files . length ; i ++ ) {
total _size += this . files [ i ] . size ;
$ ( id + '-info' ) . append ( '<span class="label label-default">' + this . files [ i ] . name + ' (' + formatBytes ( this . files [ i ] . size ) + ')</span> ' ) ;
}
if ( total _size > max _size ) {
$status . addClass ( 'text-danger' ) . removeClass ( 'help-block' ) . prepend ( '<i class="badfile fa fa-times"></i> ' ) . append ( '<span class="previewSize"> Upload is ' + formatBytes ( total _size ) + '.</span>' ) ;
} else {
$status . addClass ( 'text-success' ) . removeClass ( 'help-block' ) . prepend ( '<i class="goodfile fa fa-check"></i> ' ) ;
let $preview = $ ( id + '-imagePreview' ) ;
readURL ( this , $preview ) ;
$preview . fadeIn ( ) ;
}
} ) ;
} ) ;
/ * *
* Toggle disabled
* /
( function ( $ ) {
$ . fn . toggleDisabled = function ( callback ) {
return this . each ( function ( ) {
var disabled , $this = $ ( this ) ;
if ( $this . attr ( 'disabled' ) ) {
$this . removeAttr ( 'disabled' ) ;
disabled = false ;
} else {
$this . attr ( 'disabled' , 'disabled' ) ;
disabled = true ;
}
if ( callback && typeof callback === 'function' ) {
callback ( this , disabled ) ;
}
} ) ;
} ;
} ) ( jQuery ) ;
/ *
*
* Snipe - IT Universal Modal support
*
* Enables modal dialogs to create sub - resources throughout Snipe - IT
*
* /
/ *
HOW TO USE
Create a Button looking like this :
< a href = '{{ route(' modal . user ') }}' data - toggle = "modal" data - target = "#createModal" data - select = 'assigned_to' class = "btn btn-sm btn-primary" > New < / a >
If you don 't have access to Blade commands (like {{ and }}, etc), you can hard-code a URL as the ' href '
data - toggle = "modal" - required for Bootstrap Modals
data - target = "#createModal" - fixed ID for the modal , do not change
data - select = "assigned_to" - What is the * ID * of the select - dropdown that you 're going to be adding to, if the modal-create was a success? Be on the lookout for duplicate ID' s , it will confuse this library !
class = "btn btn-sm btn-primary" - makes it look button - ey , feel free to change : )
If you want to pass additional variables to the modal ( In the Category Create one , for example , you can pass category _id ) , you can encode them as URL variables in the href
* /
$ ( function ( ) {
//handle modal-add-interstitial calls
var model , select , refreshSelector ;
if ( $ ( '#createModal' ) . length == 0 ) {
$ ( 'body' ) . append ( '<div class="modal fade" id="createModal"></div><!-- /.modal -->' ) ;
}
$ ( '#createModal' ) . on ( "show.bs.modal" , function ( event ) {
var link = $ ( event . relatedTarget ) ;
model = link . data ( "dependency" ) ;
select = link . data ( "select" ) ;
refreshSelector = link . data ( "refresh" ) ;
$ ( '#createModal' ) . load ( link . attr ( 'href' ) , function ( ) {
//do we need to re-select2 this, after load? Probably.
$ ( '#createModal' ) . find ( 'select.select2' ) . select2 ( ) ;
// Initialize the ajaxy select2 with images.
// This is a copy/paste of the code from snipeit.js, would be great to only have this in one place.
$ ( '.js-data-ajax' ) . each ( function ( i , item ) {
var link = $ ( item ) ;
var endpoint = link . data ( "endpoint" ) ;
var select = link . data ( "select" ) ;
link . select2 ( {
ajax : {
// the baseUrl includes a trailing slash
url : Ziggy . baseUrl + 'api/v1/' + endpoint + '/selectlist' ,
dataType : 'json' ,
delay : 250 ,
headers : {
"X-Requested-With" : 'XMLHttpRequest' ,
"X-CSRF-TOKEN" : $ ( 'meta[name="csrf-token"]' ) . attr ( 'content' )
} ,
data : function ( params ) {
var data = {
search : params . term ,
page : params . page || 1 ,
assetStatusType : link . data ( "asset-status-type" ) ,
} ;
return data ;
} ,
processResults : function ( data , params ) {
params . page = params . page || 1 ;
var answer = {
results : data . items ,
pagination : {
more : "true" //(params.page < data.page_count)
}
} ;
return answer ;
} ,
cache : true
} ,
escapeMarkup : function ( markup ) { return markup ; } , // let our custom formatter work
templateResult : formatDatalist ,
templateSelection : formatDataSelection
} ) ;
} ) ;
} ) ;
} ) ;
$ ( '#createModal' ) . on ( 'click' , '#modal-save' , function ( ) {
$ . ajax ( {
type : 'POST' ,
url : $ ( '.modal-body form' ) . attr ( 'action' ) ,
headers : {
"X-Requested-With" : 'XMLHttpRequest' ,
"X-CSRF-TOKEN" : $ ( 'meta[name="csrf-token"]' ) . attr ( 'content' )
} ,
data : $ ( '.modal-body form' ) . serialize ( ) ,
success : function ( result ) {
if ( result . status == "error" ) {
var error _message = "" ;
for ( var field in result . messages ) {
error _message += "<li>Problem(s) with field <i><strong>" + field + "</strong></i>: " + result . messages [ field ] ;
}
$ ( '#modal_error_msg' ) . html ( error _message ) . show ( ) ;
return false ;
}
var id = result . payload . id ;
var name = result . payload . name || ( result . payload . first _name + " " + result . payload . last _name ) ;
if ( ! id || ! name ) {
console . error ( "Could not find resulting name or ID from modal-create. Name: " + name + ", id: " + id ) ;
return false ;
}
$ ( '#createModal' ) . modal ( 'hide' ) ;
$ ( '#createModal' ) . html ( "" ) ;
var refreshTable = $ ( '#' + refreshSelector ) ;
if ( refreshTable . length > 0 ) {
refreshTable . bootstrapTable ( 'refresh' ) ;
}
// "select" is the original drop-down menu that someone
// clicked 'add' on to add a new 'thing'
// this code adds the newly created object to that select
var selector = document . getElementById ( select ) ;
if ( ! selector ) {
return false ;
}
selector . options [ selector . length ] = new Option ( name , id ) ;
selector . selectedIndex = selector . length - 1 ;
$ ( selector ) . trigger ( "change" ) ;
if ( window . fetchCustomFields ) {
fetchCustomFields ( ) ;
}
} ,
error : function ( result ) {
msg = result . responseJSON . messages || result . responseJSON . error ;
$ ( '#modal_error_msg' ) . html ( "Server Error: " + msg ) . show ( ) ;
}
} ) ;
} ) ;
} ) ;
function formatDatalist ( datalist ) {
var loading _markup = '<i class="fa fa-spinner fa-spin" aria-hidden="true"></i> Loading...' ;
if ( datalist . loading ) {
return loading _markup ;
}
var markup = "<div class='clearfix'>" ;
markup += "<div class='pull-left' style='padding-right: 10px;'>" ;
if ( datalist . image ) {
markup += "<div style='width: 30px;'><img src='" + datalist . image + "' alt='" + datalist . tex + "' style='max-height: 20px; max-width: 30px;'></div>" ;
} else {
markup += "<div style='height: 20px; width: 30px;'></div>" ;
}
markup += "</div><div>" + datalist . text + "</div>" ;
markup += "</div>" ;
return markup ;
}
function formatDataSelection ( datalist ) {
return datalist . text . replace ( />/g , '>' )
. replace ( /</g , '<' )
. replace ( /"/g , '"' )
. replace ( /'/g , ''' ) ;
}