{"version":3,"sources":["webpack:///./node_modules/accounting-js/dist/accounting.umd.js","webpack:///./src/views/Controls/SearchBox.vue?b683","webpack:///src/views/Controls/SearchBox.vue","webpack:///./src/views/Controls/SearchBox.vue?a977","webpack:///./src/views/Controls/SearchBox.vue","webpack:///./src/services/AttachmentService.js","webpack:///./src/views/Order/editPaymentComponent.vue?2ba9","webpack:///./src/views/Order/editPaymentComponent.js","webpack:///./src/views/Order/editPaymentComponent.js?5136","webpack:///./src/views/Order/editPaymentComponent.vue","webpack:///./node_modules/vue-upload-component/dist/vue-upload-component.js","webpack:///./node_modules/vue-loading-overlay/dist/vue-loading.min.js","webpack:///./src/views/Order/cancelOrderComponent.vue?009b","webpack:///./src/views/Order/cancelOrderComponent.js","webpack:///./src/views/Order/cancelOrderComponent.js?d016","webpack:///./src/views/Order/cancelOrderComponent.vue","webpack:///./node_modules/vue-numeric/dist/vue-numeric.min.js"],"names":["global","factory","exports","this","__commonjs","fn","module","settings","symbol","format","decimal","thousand","precision","grouping","stripZeros","fallback","unformat","value","arguments","length","undefined","Array","isArray","map","val","regex","RegExp","unformattedValueString","replace","negative","match","absUnformatted","parseFloat","unformatted","isNaN","_checkPrecision","base","Math","round","abs","toFixed","power","pow","index","hasOwnProperty","Object","prototype","propIsEnumerable","propertyIsEnumerable","toObject","TypeError","assign","target","source","from","symbols","to","s","key","call","getOwnPropertySymbols","i","objectAssign","_stripInsignificantZeros","str","parts","split","integerPart","decimalPart","formatNumber","number","opts","parseInt","mod","formatted","substr","index$1","strValue","String","valueOf","tryStringObject","e","toStr","toString","strClass","hasToStringTag","Symbol","toStringTag","isString","_checkCurrencyFormat","pos","neg","zero","formatMoney","formats","useFormat","formatColumn","list","padAfterSymbol","indexOf","maxLength","fVal","join","parse","render","_vm","_h","$createElement","_c","_self","attrs","scopedSlots","_u","selectedOption","Text","_l","option","on","$event","optionSelected","_v","_s","proxy","ref","model","callback","$$v","searchText","trim","expression","searchButtonClick","staticClass","deleteButtonClick","staticRenderFns","name","props","searchDelay","type","default","defaultOption","searchOptions","Value","components","data","timeoutObj","computed","searchFilter","created","console","methods","searchTextChanged","clear","component","attachmentServiceObj","getAllAttachments","uploadParams","axios","get","targetType","targetId","downloadAttachment","id","deleteAttachment","delete","attachmentService","loading","savePaymentInfo","$set","class","dueAmountIsInvalid","directives","rawName","checkPaidChange","paidAmountIsInvalid","postUrl","paymentUploadParams","authHeaders","paymentFiles","inputFile","inputFilter","file","staticStyle","viewAttachment","modifiers","setItemToBeDeleted","error","_e","itemToBeDeleted","item","showPreview","previewLink","Loading","FileUpload","Multiselect","Datepicker","VueNumeric","order","payment","paymentUploaded","Id","OrderId","DueAmount","Paid","PaidDate","PaidAmount","ReceipeNo","SendEmailToUser","SendEmailToClient","RowVersion","validations","required","between","isValid","$v","$anyError","loadFromPayment","authToken","store","getters","Authorization","chkState","field","getDescendantProp","$dirty","$invalid","validate","$touch","$nextTick","findFirstError","checked","saveAttachment","$emit","paymentFinalized","forEach","isNew","Vue","set","$refs","uploadPayment","active","dataItem","blob","show","remove","attachPromise","then","response","all","spread","newFile","oldFile","log","xhr","status","prevent","test","URL","window","webkitURL","createObjectURL","getDownloadLink","url","savePayment","orderService","EventBus","DueDate","date","Date","getFullYear","getMonth","getDate","watch","handler","paymentUploadDone","uploaded","uploadFinalized","deep","createRequest","options","XMLHttpRequest","open","method","responseType","headers","keys","setRequestHeader","sendRequest","body","Promise","resolve","reject","onload","JSON","err","onerror","send","stringify","sendFormRequest","FormData","append","request","_createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_classCallCheck","instance","ChunkUploadHandler","chunks","start","end","chunkSize","fileSize","push","slice","startOffset","retries","maxRetries","progress","stopChunks","chunksUploading","chunk","abort","startChunking","_this","promise","_this2","action","startBody","phase","mime_type","fileType","size","fileName","res","sessionId","session_id","end_offset","createChunks","catch","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","finish","_this3","updateFileProgress","upload","addEventListener","evt","lengthComputable","loaded","total","uploadBody","start_offset","_this4","finishBody","maxActive","_this5","completedProgress","chunksUploaded","uploadingProgress","reduce","min","filter","script","change","$parent","addInputFile","files","navigator","userAgent","$destroy","constructor","parent","el","$el","__vue_script__","__vue_render__","inputId","accept","capture","disabled","directory","features","multiple","html5","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_normalize__","template","style","script$$1","scope","functional","moduleIdentifier","createInjector","createInjectorSSR","_compiled","_scopeId","__vue_create_injector__","head","document","getElementsByTagName","styles","isOldIE","toLowerCase","css","querySelector","group","media","ids","element","includes","code","sources","btoa","unescape","encodeURIComponent","createElement","setAttribute","appendChild","getAttribute","styleSheet","cssText","Boolean","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","InputFile","_extends","_typeof","iterator","obj","_toConsumableArray","arr","arr2","CHUNK_DEFAULT_OPTIONS","minSize","script$1","maximum","Number","addIndex","postAction","putAction","customAction","Function","timeout","drop","dropDirectory","extensions","thread","chunkEnabled","drag","dropActive","uploading","destroy","mounted","input","webkitdirectory","ondrop","maps","$forceUpdate","watchDrop","beforeDestroy","fileObject","success","chunkOptions","className","_active","watchActive","oldMaps","emitFile","_key","emitInput","add","_files","addFiles","Blob","webkitRelativePath","relativePath","Element","speed","random","emitFilter","newFiles","concat","_newFiles","splice","apply","_i","_file2","_i2","names","__vuex__","addDataTransfer","dataTransfer","items","getAsEntry","getAsFile","webkitGetAsEntry","getEntry","results","_i3","entry","path","isFile","isDirectory","dirReader","createReader","readEntries","entries","id1","id2","file1","file2","index1","index2","update","isPrevent","setTimeout","message","search","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","HandlerClass","querys","queryString","uploadXhr","form","File","filename","_file","speedTime","speedLoaded","onprogress","speedTime2","now","interval","setInterval","clearInterval","complete","responseText","contentType","getResponseHeader","onabort","ontimeout","onKeydown","keyCode","preventDefault","iframe","src","getResponseData","doc","contentWindow","contentDocument","innerHTML","removeEventListener","submit","parentNode","_el","dropElement","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","$root","dt","types","contains","nodeName","explicitOriginalTarget","fromElement","clientX","clientY","innerWidth","innerHeight","__vue_script__$1","__vue_render__$1","_t","__vue_staticRenderFns__$1","__vue_inject_styles__$1","inject","__vue_scope_id__$1","__vue_module_identifier__$1","__vue_is_functional_template__$1","__vue_normalize__$1","hook","context","originalRender","h","existing","beforeCreate","__vue_create_injector__$1","FileUpload$1","freeze","require$$0","t","self","n","r","l","m","c","d","o","__esModule","create","bind","p","HTMLElement","enforceFocus","focusIn","isActive","container","isFullPage","parentElement","focus","a","u","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$options","shadowRoot","_injectStyles","color","height","width","viewBox","xmlns","stroke","fill","transform","cx","cy","attributeName","dur","repeatCount","begin","values","calcMode","x","y","attributeType","mixins","programmatic","lockScroll","transition","canCancel","onCancel","backgroundColor","blur","opacity","zIndex","loader","Spinner","Dots","Bars","beforeMount","keyPress","cancel","hide","disableScroll","classList","enableScroll","bgStyle","background","backdropFilter","tabindex","click","tag","extend","propsData","$slots","install","$loading","addToBlackList","blackListText","itemToBeChanged","backButtonClick","currency","max","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","minus","placeholder","emptyValue","separator","thousandSeparator","decimalSeparator","outputType","readOnly","readOnlyClass","currencySymbolPosition","amount","amountNumber","valueNumber","decimalSeparatorSymbol","thousandSeparatorSymbol","symbolPosition","numeric","activeElement","process","onChangeHandler","onBlurHandler","onFocusHandler","onInputHandler","esModule","domProps","composing"],"mappings":"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","file":"js/chunk-1714eee7.7b40b27a.js","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-input-group',{attrs:{\"id\":\"search-container\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-dropdown',{attrs:{\"text\":_vm.selectedOption.Text}},_vm._l((_vm.searchOptions),function(option,index){return _c('b-dropdown-item',{on:{\"click\":function($event){return _vm.optionSelected(option)}}},[_vm._v(_vm._s(option.Text))])}),1)]},proxy:true}])},[_c('b-form-input',{ref:\"searchBox\",attrs:{\"autofocus\":true,\"placeholder\":\"cauta...\",\"type\":\"text\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"searchText\"}}),_c('b-input-group-append',[_c('b-btn',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":_vm.searchButtonClick}},[_c('i',{staticClass:\"fa fa-search mr-1\"}),_vm._v(\"Cauta\")]),_c('b-btn',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":_vm.deleteButtonClick}},[_c('i',{staticClass:\"fa fa-remove\"})])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=baf02b2e&\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\nvar attachmentServiceObj =\r\n{\r\n getAllAttachments(uploadParams) {\r\n return axios.get(\"/api/attachment/\" + uploadParams.targetType + '/' + uploadParams.targetId);\r\n },\r\n downloadAttachment(id) {\r\n return axios.get(\"/api/attachment/\" + id);\r\n },\r\n deleteAttachment(id) {\r\n return axios.delete(\"/api/attachment/\" + id);\r\n }\r\n}\r\n\r\nexport const attachmentService = attachmentServiceObj;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"animated fadeIn\"},[_c('loading',{attrs:{\"active\":_vm.loading,\"is-full-page\":false,\"width\":40},on:{\"update:active\":function($event){_vm.loading=$event}}}),_c('b-row',[_c('b-col',[_c('b-form-group',{attrs:{\"label\":\"Data scadenta\"}},[_c('Datepicker',{attrs:{\"calendar-button\":true,\"calendar-button-icon\":\"fa fa-calendar\",\"format\":\"dd/MM/yyyy\"},model:{value:(_vm.savePaymentInfo.DueDate),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"DueDate\", $$v)},expression:\"savePaymentInfo.DueDate\"}})],1)],1),_c('b-col',[_c('b-form-group',{attrs:{\"label\":\"De incasat\"}},[_c('vue-numeric',{staticClass:\"form-control\",class:{'is-invalid': _vm.dueAmountIsInvalid},attrs:{\"currency\":\"RON\",\"currency-symbol-position\":\"suffix\",\"minus\":false,\"precision\":2,\"separator\":\".\"},model:{value:(_vm.savePaymentInfo.DueAmount),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"DueAmount\", $$v)},expression:\"savePaymentInfo.DueAmount\"}}),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dueAmountIsInvalid),expression:\"dueAmountIsInvalid\"}],staticClass:\"label-invalid-feedback\"},[_vm._v(\"Camp obligatoriu\")])],1)],1)],1),_c('b-row',{staticClass:\"mb-2\"},[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-checkbox',{on:{\"change\":_vm.checkPaidChange},model:{value:(_vm.savePaymentInfo.Paid),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"Paid\", $$v)},expression:\"savePaymentInfo.Paid\"}},[_vm._v(\"Rata incasata integral\")])],1)],1),_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('div',{class:{ 'invalid': _vm.paidAmountIsInvalid }},[_c('b-form-group',{attrs:{\"label\":\"Suma incasata\"}},[_c('vue-numeric',{staticClass:\"form-control\",class:{'is-invalid': _vm.paidAmountIsInvalid},attrs:{\"currency\":\"RON\",\"currency-symbol-position\":\"suffix\",\"minus\":false,\"precision\":2,\"separator\":\".\"},model:{value:(_vm.savePaymentInfo.PaidAmount),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"PaidAmount\", $$v)},expression:\"savePaymentInfo.PaidAmount\"}}),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paidAmountIsInvalid),expression:\"paidAmountIsInvalid\"}],staticClass:\"label-invalid-feedback\"},[_vm._v(\"Camp obligatoriu\")])],1)],1)]),_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Data incasarii\"}},[_c('Datepicker',{attrs:{\"calendar-button\":true,\"calendar-button-icon\":\"fa fa-calendar\",\"format\":\"dd/MM/yyyy\"},model:{value:(_vm.savePaymentInfo.PaidDate),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"PaidDate\", $$v)},expression:\"savePaymentInfo.PaidDate\"}})],1)],1)],1),_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Nr. chitanta\"}},[_c('b-input-group',[_c('b-form-input',{attrs:{\"type\":\"text\"},model:{value:(_vm.savePaymentInfo.ReceipeNo),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"ReceipeNo\", $$v)},expression:\"savePaymentInfo.ReceipeNo\"}}),_c('b-input-group-append',[_c('b-button-group',[_c('file-upload',{ref:\"uploadPayment\",staticClass:\"btn btn-primary\",attrs:{\"input-id\":\"payment-file\",\"post-action\":_vm.postUrl,\"data\":_vm.paymentUploadParams,\"headers\":_vm.authHeaders,\"multiple\":true,\"drop\":true,\"drop-directory\":true,\"disabled\":_vm.paymentFiles.length > 0},on:{\"input-file\":_vm.inputFile,\"input-filter\":_vm.inputFilter},model:{value:(_vm.paymentFiles),callback:function ($$v) {_vm.paymentFiles=$$v},expression:\"paymentFiles\"}},[_c('i',{staticClass:\"fa fa-upload\"})])],1)],1),_c('b-form-invalid-feedback',[_vm._v(\"Camp obligatoriu\")])],1),(_vm.paymentFiles.length)?_c('div',_vm._l((_vm.paymentFiles),function(file,index){return _c('span',{key:file.id},[_c('span',{staticStyle:{\"font-size\":\"11px\",\"color\":\"#777777\"}},[_vm._v(\"\\n Chitanta:\\n \"),_c('span',{staticStyle:{\"padding-left\":\"5px\",\"font-weight\":\"bold\"}},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.viewAttachment(file)}}},[_vm._v(_vm._s(file.name))])]),_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"size\":\"sm\",\"variant\":\"outline-normal\",\"title\":\"Sterge\"},on:{\"click\":function($event){return _vm.setItemToBeDeleted(_vm.paymentUploadParams.targetType, file)}}},[_c('i',{staticClass:\"fa fa-trash\"})])],1),(file.error)?_c('span',[_vm._v(\"- \"+_vm._s(file.error))]):(file.success)?_c('span',[_vm._v(\"success\")]):(file.active)?_c('span',[_vm._v(\"active\")]):_c('span')])}),0):_vm._e()],1)],1)],1),_c('hr'),_c('b-form-group',[_c('b-form-checkbox',{model:{value:(_vm.savePaymentInfo.SendEmailToUser),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"SendEmailToUser\", $$v)},expression:\"savePaymentInfo.SendEmailToUser\"}},[_vm._v(\"\\n Trimite chitanta pe e-mail utilizatorului\\n \")]),_c('b-form-checkbox',{model:{value:(_vm.savePaymentInfo.SendEmailToClient),callback:function ($$v) {_vm.$set(_vm.savePaymentInfo, \"SendEmailToClient\", $$v)},expression:\"savePaymentInfo.SendEmailToClient\"}},[_vm._v(\"\\n Trimite chitanta pe e-mail clientului\\n \")])],1),_c('b-modal',{ref:\"modalConfirmDeleteAttach\",attrs:{\"id\":\"confirmDeleteAttachModal\",\"title\":\"Sterge document\",\"header-bg-variant\":\"danger\",\"centered\":\"\"},on:{\"ok\":function($event){return _vm.deleteAttachment(_vm.itemToBeDeleted)}}},[_c('p',{staticClass:\"my-4\"},[_c('strong',[_vm._v(\"Doriti sa stergeti documentul \\\"\"+_vm._s(_vm.itemToBeDeleted == undefined ? '' : _vm.itemToBeDeleted.item.name)+\"\\\"? \")])])]),_c('b-modal',{attrs:{\"id\":\"modal-scrollable\",\"title\":\"Vizualizare document\",\"size\":\"xl\",\"hide-footer\":true,\"scrollable\":\"\"},model:{value:(_vm.showPreview),callback:function ($$v) {_vm.showPreview=$$v},expression:\"showPreview\"}},[_c('b-embed',{attrs:{\"type\":\"iframe\",\"aspect\":\"16by9\",\"src\":_vm.previewLink,\"allowfullscreen\":\"\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Loading from 'vue-loading-overlay';\r\nimport { mapGetters, mapMutations } from 'vuex';\r\nimport { orderService } from '../../services/OrderService'\r\nimport FileUpload from 'vue-upload-component'\r\nimport Multiselect from 'vue-multiselect'\r\nimport Datepicker from 'vuejs-datepicker';\r\nimport VueNumeric from 'vue-numeric'\r\nimport Vue from 'vue'\r\nimport { required, minLength, between } from 'vuelidate/lib/validators';\r\nimport store from '../../vuex/index'\r\nimport { EventBus } from '@/event-bus';\r\n\r\nexport default {\r\n name: 'EditPaymentComponent',\r\n\r\n components: {\r\n Loading,\r\n FileUpload,\r\n Multiselect,\r\n Datepicker,\r\n VueNumeric\r\n },\r\n\r\n props:\r\n {\r\n order: {},\r\n payment: {\r\n type: Object,\r\n default: null\r\n }\r\n },\r\n\r\n data: () => {\r\n return {\r\n loading: true,\r\n //\r\n authHeaders: {},\r\n postUrl: '/api/Attachment/postFiles',\r\n //\r\n paymentFiles: [],\r\n //\r\n paymentUploadParams: {\r\n targetType: 1, // Payment\r\n targetId: 0\r\n },\r\n //\r\n paymentUploaded: false,\r\n //\r\n itemToBeDeleted: null,\r\n //\r\n showPreview: false,\r\n previewLink: '',\r\n\r\n //\r\n savePaymentInfo: {\r\n Id: '',\r\n OrderId: 0,\r\n DueAmount:0,\r\n Paid: false,\r\n PaidDate: null,\r\n PaidAmount: 0,\r\n ReceipeNo: '',\r\n SendEmailToUser: false,\r\n SendEmailToClient: false,\r\n RowVersion: '',\r\n },\r\n }\r\n },\r\n validations() {\r\n {\r\n return {\r\n savePaymentInfo: {\r\n PaidAmount: {\r\n required,\r\n between: between(0.001, 100000000)\r\n },\r\n DueAmount: {\r\n required,\r\n between: between(0.001, 100000000)\r\n },\r\n PaidDate: {\r\n required\r\n },\r\n },\r\n }\r\n }\r\n \r\n },\r\n\r\n computed: {\r\n isValid() {\r\n return !this.$v.$anyError\r\n },\r\n\r\n paidAmountIsInvalid() {\r\n return this.$v.savePaymentInfo.PaidAmount.$anyError;\r\n },\r\n dueAmountIsInvalid() {\r\n return this.$v.savePaymentInfo.DueAmount.$anyError;\r\n },\r\n },\r\n\r\n created() {\r\n\r\n this.loadFromPayment();\r\n\r\n // Add the auth header manually here as the post will not be done through axios (so it's not added automatically)\r\n const authToken = store.getters['auth/authToken'];\r\n if (authToken) {\r\n this.authHeaders.Authorization = `Bearer ${authToken}`;\r\n }\r\n\r\n //\r\n this.paymentFiles = [];\r\n\r\n //\r\n this.loading = false;\r\n },\r\n\r\n methods: {\r\n chkState: function (val) {\r\n const field = this.getDescendantProp(this.$v, val);\r\n\r\n return !field.$dirty || !field.$invalid\r\n },\r\n\r\n validate: function () {\r\n this.$v.$touch();\r\n this.$nextTick(() => this.findFirstError());\r\n\r\n return this.isValid;\r\n },\r\n\r\n //\r\n\r\n checkPaidChange(checked) {\r\n if (checked) {\r\n this.savePaymentInfo.PaidAmount = this.savePaymentInfo.DueAmount;\r\n }\r\n else {\r\n this.savePaymentInfo.PaidAmount = 0;\r\n }\r\n },\r\n\r\n //\r\n\r\n saveAttachment: function () {\r\n var model = this;\r\n\r\n if (model.paymentFiles.length == 0) {\r\n // Change the bound value\r\n this.$emit('input', { paymentFinalized: true });\r\n } else {\r\n // Payment: Update the 'data' (POST params) to be sent to the back-end when uploading new files\r\n model.paymentFiles.forEach(function (value, key) {\r\n if (value.isNew) {\r\n model.paymentUploadParams.targetId = model.savePaymentInfo.Id;\r\n\r\n Vue.set(value, 'data', model.paymentUploadParams)\r\n\r\n // Trigger the file upload\r\n model.$refs.uploadPayment.active = true;\r\n\r\n // The .files watcher is detecting more changes.\r\n // We need to react only after the saving is done.\r\n model.paymentUploaded = true;\r\n }\r\n });\r\n }\r\n },\r\n\r\n viewAttachment: function (dataItem) {\r\n if (dataItem != null) {\r\n var model = this;\r\n\r\n if (dataItem.isNew) {\r\n model.showPreview = true;\r\n model.previewLink = dataItem.blob;\r\n }\r\n }\r\n },\r\n\r\n setItemToBeDeleted(targetType, data) {\r\n if (data != null) {\r\n this.itemToBeDeleted = {\r\n 'item': data,\r\n 'targetType': targetType\r\n };\r\n //\r\n this.$refs['modalConfirmDeleteAttach'].show();\r\n }\r\n },\r\n\r\n deleteAttachment: function (itemToBeDeleted) {\r\n if (itemToBeDeleted != null) {\r\n var model = this;\r\n\r\n if (itemToBeDeleted.targetType == 1) {\r\n //\r\n // Payment\r\n //\r\n if (itemToBeDeleted.item.isNew) {\r\n model.$refs.uploadPayment.remove(itemToBeDeleted.item);\r\n }\r\n else {\r\n var attachPromise = attachmentService.deleteAttachment(itemToBeDeleted.item.id)\r\n .then(response => {\r\n model.$refs.uploadPayment.remove(itemToBeDeleted.item);\r\n })\r\n\r\n axios.all([attachPromise])\r\n .then(axios.spread(function () {\r\n model.loading = false;\r\n }));\r\n }\r\n }\r\n }\r\n },\r\n\r\n inputFile: function (newFile, oldFile) {\r\n if (newFile && newFile.isNew == undefined)\r\n newFile.isNew = true;\r\n\r\n if (newFile && oldFile && !newFile.active && oldFile.active) {\r\n // Get response data\r\n console.log('response', newFile.response)\r\n if (newFile.xhr) {\r\n // Get the response status code\r\n console.log('status', newFile.xhr.status)\r\n }\r\n }\r\n },\r\n\r\n inputFilter: function (newFile, oldFile, prevent) {\r\n if (newFile && !oldFile) {\r\n // Filter non-image file\r\n if (!/\\.(jpeg|jpg|gif|png|webp|pdf|zip|rar|doc|docx|xls|xlsx)$/i.test(newFile.name)) {\r\n return prevent()\r\n }\r\n }\r\n\r\n if (newFile) {\r\n // Create a blob field\r\n newFile.blob = ''\r\n let URL = window.URL || window.webkitURL\r\n if (URL && URL.createObjectURL) {\r\n newFile.blob = URL.createObjectURL(newFile.file)\r\n }\r\n }\r\n },\r\n\r\n getDownloadLink: function (data) {\r\n if (data.item.url) {\r\n return data.item.url;\r\n }\r\n else {\r\n return 'api/Attachment/' + data.item.id;\r\n }\r\n },\r\n\r\n //\r\n savePayment: function () {\r\n if (!this.validate())\r\n return;\r\n\r\n var model = this;\r\n model.loading = true;\r\n\r\n orderService.savePayment(this.savePaymentInfo).then(() => {\r\n // Upload docs\n model.saveAttachment();\r\n EventBus.$emit('paymenFiles_uploaded', this.order.Id);\r\n });\r\n },\r\n\r\n loadFromPayment: function () {\r\n\r\n // update payment\r\n this.savePaymentInfo.Id = this.payment.Id;\r\n\r\n this.savePaymentInfo.DueDate = this.payment.DueDate;\r\n this.savePaymentInfo.DueAmount = this.payment.DueAmount;\r\n\r\n this.savePaymentInfo.Paid = this.payment.Paid;\r\n this.savePaymentInfo.ReceipeNo = this.payment.ReceipeNo;\r\n this.savePaymentInfo.PaidAmount = this.payment.PaidAmount;\r\n this.savePaymentInfo.OrderId = this.order.Id;\r\n\r\n if (!this.payment.Paid) {\r\n var date = new Date();\r\n this.savePaymentInfo.PaidDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n }\r\n else {\r\n this.savePaymentInfo.PaidDate = this.payment.PaidDate;\r\n }\r\n\r\n // row version\r\n this.savePaymentInfo.RowVersion = this.order.RowVersion;\r\n },\r\n },\r\n\r\n watch: {\r\n paymentFiles: {\r\n handler: function () {\r\n var paymentUploadDone = this.$refs.uploadPayment.uploaded && this.paymentUploaded;\r\n\r\n if (paymentUploadDone) {\r\n this.loading = false;\r\n\r\n // Change the bound value\r\n this.$emit('input', { uploadFinalized: true });\r\n \r\n \r\n }\r\n },\r\n deep: true\r\n },\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!./editPaymentComponent.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!./editPaymentComponent.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./editPaymentComponent.vue?vue&type=template&id=8b47caa6&\"\nimport script from \"./editPaymentComponent.js?vue&type=script&lang=js&\"\nexport * from \"./editPaymentComponent.js?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * Name: vue-upload-component\n * Version: 2.8.19\n * Author: LianYue\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.VueUploadComponent = factory());\n}(this, (function () { 'use strict';\n\n /**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n var createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n };\n\n /**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n var sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n xhr.send(JSON.stringify(body));\n });\n };\n\n /**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n var sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n xhr.send(body);\n });\n };\n\n /**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n function request (options) {\n var xhr = createRequest(options);\n\n return sendRequest(xhr, options.body);\n }\n\n 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; }; }();\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n var ChunkUploadHandler = function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n }\n\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: 'createChunks',\n\n\n /**\n * Creates all the chunks in the initial state\n */\n value: function createChunks() {\n this.chunks = [];\n\n var start = 0;\n var end = this.chunkSize;\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: 'updateFileProgress',\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: 'pause',\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: 'stopChunks',\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n }\n\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: 'resume',\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: 'upload',\n value: function upload() {\n var _this = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n this.start();\n\n return this.promise;\n }\n\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: 'start',\n value: function start() {\n var _this2 = this;\n\n request({\n method: 'POST',\n headers: Object.assign({}, this.headers, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this2.file.response = res;\n return _this2.reject('server');\n }\n\n _this2.sessionId = res.data.session_id;\n _this2.chunkSize = res.data.end_offset;\n\n _this2.createChunks();\n _this2.startChunking();\n }).catch(function (res) {\n _this2.file.response = res;\n _this2.reject('server');\n });\n }\n\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: 'startChunking',\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n }\n\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: 'uploadNextChunk',\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: 'uploadChunk',\n value: function uploadChunk(chunk) {\n var _this3 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n return _this3.reject('upload');\n }\n }\n\n _this3.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n if (chunk.retries-- <= 0) {\n _this3.stopChunks();\n return _this3.reject('upload');\n }\n\n _this3.uploadNextChunk();\n });\n }\n\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: 'finish',\n value: function finish() {\n var _this4 = this;\n\n this.updateFileProgress();\n\n request({\n method: 'POST',\n headers: Object.assign({}, this.headers, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this4.file.response = res;\n if (res.status !== 'success') {\n return _this4.reject('server');\n }\n\n _this4.resolve(res);\n }).catch(function (res) {\n _this4.file.response = res;\n _this4.reject('server');\n });\n }\n }, {\n key: 'maxRetries',\n get: function get() {\n return parseInt(this.options.maxRetries);\n }\n\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: 'maxActiveChunks',\n get: function get() {\n return parseInt(this.options.maxActive);\n }\n\n /**\n * Gets the file type\n */\n\n }, {\n key: 'fileType',\n get: function get() {\n return this.file.type;\n }\n\n /**\n * Gets the file size\n */\n\n }, {\n key: 'fileSize',\n get: function get() {\n return this.file.size;\n }\n\n /**\n * Gets the file name\n */\n\n }, {\n key: 'fileName',\n get: function get() {\n return this.file.name;\n }\n\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: 'action',\n get: function get() {\n return this.options.action || null;\n }\n\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: 'startBody',\n get: function get() {\n return this.options.startBody || {};\n }\n\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: 'uploadBody',\n get: function get() {\n return this.options.uploadBody || {};\n }\n\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: 'finishBody',\n get: function get() {\n return this.options.finishBody || {};\n }\n\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: 'headers',\n get: function get() {\n return this.options.headers || {};\n }\n\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: 'readyToUpload',\n get: function get() {\n return !!this.chunks;\n }\n\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: 'progress',\n get: function get() {\n var _this5 = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this5.chunks.length;\n }, 0);\n\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: 'chunksToUpload',\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: 'hasChunksToUpload',\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: 'chunksUploading',\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: 'chunksUploaded',\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n }]);\n\n return ChunkUploadHandler;\n }();\n\n //\n //\n //\n //\n //\n //\n //\n //\n //\n //\n //\n //\n //\n //\n\n var script = {\n methods: {\n change: function change(e) {\n this.$parent.addInputFile(e.target);\n if (e.target.files) {\n e.target.value = '';\n if (!/safari/i.test(navigator.userAgent)) {\n e.target.type = '';\n e.target.type = 'file';\n }\n } else {\n // ie9 fix #219\n this.$destroy();\n // eslint-disable-next-line\n new this.constructor({\n parent: this.$parent,\n el: this.$el\n });\n }\n }\n }\n };\n\n /* script */\n var __vue_script__ = script;\n\n /* template */\n var __vue_render__ = function __vue_render__() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('input', { attrs: { \"type\": \"file\", \"name\": _vm.$parent.name, \"id\": _vm.$parent.inputId || _vm.$parent.name, \"accept\": _vm.$parent.accept, \"capture\": _vm.$parent.capture, \"disabled\": _vm.$parent.disabled, \"webkitdirectory\": _vm.$parent.directory && _vm.$parent.features.directory, \"directory\": _vm.$parent.directory && _vm.$parent.features.directory, \"multiple\": _vm.$parent.multiple && _vm.$parent.features.html5 }, on: { \"change\": _vm.change } });\n };\n var __vue_staticRenderFns__ = [];\n\n /* style */\n var __vue_inject_styles__ = undefined;\n /* scoped */\n var __vue_scope_id__ = undefined;\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* component normalizer */\n function __vue_normalize__(template, style, script$$1, scope, functional, moduleIdentifier, createInjector, createInjectorSSR) {\n var component = (typeof script$$1 === 'function' ? script$$1.options : script$$1) || {};\n\n if (!component.render) {\n component.render = template.render;\n component.staticRenderFns = template.staticRenderFns;\n component._compiled = true;\n\n if (functional) component.functional = true;\n }\n\n component._scopeId = scope;\n\n return component;\n }\n /* style inject */\n function __vue_create_injector__() {\n var head = document.head || document.getElementsByTagName('head')[0];\n var styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {});\n var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return; // SSR styles are present.\n\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });\n\n if (!style.ids.includes(id)) {\n var code = css.source;\n var index = style.ids.length;\n\n style.ids.push(id);\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\n // http://stackoverflow.com/a/26603875\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']');\n }\n\n if (!style.element) {\n var el = style.element = document.createElement('style');\n el.type = 'text/css';\n\n if (css.media) el.setAttribute('media', css.media);\n if (isOldIE) {\n el.setAttribute('data-group', group);\n el.setAttribute('data-next-index', '0');\n }\n\n head.appendChild(el);\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'));\n style.element.setAttribute('data-next-index', index + 1);\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code);\n style.element.styleSheet.cssText = style.parts.filter(Boolean).join('\\n');\n } else {\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n };\n }\n /* style inject SSR */\n\n var InputFile = __vue_normalize__({ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ }, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, __vue_create_injector__, undefined);\n\n var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n var _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 function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n var CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n\n handler: ChunkUploadHandler\n };\n\n var script$1 = {\n components: {\n InputFile: InputFile\n },\n props: {\n inputId: {\n type: String\n },\n\n name: {\n type: String,\n default: 'file'\n },\n\n accept: {\n type: String\n },\n\n capture: {},\n\n disabled: {},\n\n multiple: {\n type: Boolean\n },\n\n maximum: {\n type: Number,\n default: function _default() {\n return this.multiple ? 0 : 1;\n }\n },\n\n addIndex: {\n type: [Boolean, Number]\n },\n\n directory: {\n type: Boolean\n },\n\n postAction: {\n type: String\n },\n\n putAction: {\n type: String\n },\n\n customAction: {\n type: Function\n },\n\n headers: {\n type: Object,\n default: Object\n },\n\n data: {\n type: Object,\n default: Object\n },\n\n timeout: {\n type: Number,\n default: 0\n },\n\n drop: {\n default: false\n },\n\n dropDirectory: {\n type: Boolean,\n default: true\n },\n\n size: {\n type: Number,\n default: 0\n },\n\n extensions: {\n default: Array\n },\n\n value: {\n type: Array,\n default: Array\n },\n\n thread: {\n type: Number,\n default: 1\n },\n\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n\n data: function data() {\n return {\n files: this.value,\n features: {\n html5: true,\n directory: false,\n drag: false\n },\n\n active: false,\n dropActive: false,\n\n uploading: 0,\n\n destroy: false\n };\n },\n\n\n /**\n * mounted\n * @return {[type]} [description]\n */\n mounted: function mounted() {\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true;\n\n // html5 特征\n if (window.FormData && input.files) {\n // 上传目录特征\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n }\n\n // 拖拽特征\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n }\n\n // files 定位缓存\n this.maps = {};\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n }\n\n this.$nextTick(function () {\n\n // 更新下父级\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n\n // 拖拽渲染\n this.watchDrop(this.drop);\n });\n },\n\n\n /**\n * beforeDestroy\n * @return {[type]} [description]\n */\n beforeDestroy: function beforeDestroy() {\n // 已销毁\n this.destroy = true;\n\n // 设置成不激活\n this.active = false;\n },\n\n\n computed: {\n /**\n * uploading 正在上传的线程\n * @return {[type]} [description]\n */\n\n /**\n * uploaded 文件列表是否全部已上传\n * @return {[type]} [description]\n */\n uploaded: function uploaded() {\n var file = void 0;\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n }\n },\n\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive() {\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n value: function value(files) {\n if (this.files === files) {\n return;\n }\n this.files = files;\n\n var oldMaps = this.maps;\n\n // 重写 maps 缓存\n this.maps = {};\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n\n // add, update\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n }\n\n // delete\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n\n methods: {\n\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = [];\n\n // 定位\n this.maps = {};\n\n // 事件\n this.emitInput();\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n return true;\n },\n\n\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if ((typeof id === 'undefined' ? 'undefined' : _typeof(id)) === 'object') {\n return this.maps[id.id] || false;\n }\n\n return this.maps[id] || false;\n },\n\n\n // 添加\n add: function add(_files) {\n var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.addIndex;\n\n var files = _files;\n var isArray = files instanceof Array;\n\n // 不是数组整理成数组\n if (!isArray) {\n files = [files];\n }\n\n // 遍历规范对象\n var addFiles = [];\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n if (this.features.html5 && file instanceof Blob) {\n file = {\n file: file,\n size: file.size,\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n var fileObject = false;\n if (file.fileObject === false) ; else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof Element) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n if (fileObject) {\n file = _extends({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file, {\n response: {},\n\n progress: '0.00', // 只读\n speed: 0 // 只读\n // xhr: false, // 只读\n // iframe: false, // 只读\n });\n\n file.data = _extends({}, this.data, file.data ? file.data : {});\n\n file.headers = _extends({}, this.headers, file.headers ? file.headers : {});\n }\n\n // 必须包含 id\n if (!file.id) {\n file.id = Math.random().toString(36).substr(2);\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n }\n\n // 最大数量限制\n if (this.maximum > 1 && addFiles.length + this.files.length >= this.maximum) {\n break;\n }\n\n addFiles.push(file);\n\n // 最大数量限制\n if (this.maximum === 1) {\n break;\n }\n }\n\n // 没有文件\n if (!addFiles.length) {\n return false;\n }\n\n // 如果是 1 清空\n if (this.maximum === 1) {\n this.clear();\n }\n\n // 添加进去 files\n var newFiles = void 0;\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(addFiles));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles;\n\n // 定位\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file2 = addFiles[_i];\n this.maps[_file2.id] = _file2;\n }\n\n // 事件\n this.emitInput();\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return isArray ? addFiles : addFiles[0];\n },\n\n\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var files = [];\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n size: file.size,\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n delete el.__vuex__;\n files.push({\n name: names[names.length - 1],\n el: el\n });\n }\n return this.add(files);\n },\n\n\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _this = this;\n\n var files = [];\n if (dataTransfer.items && dataTransfer.items.length) {\n var items = [];\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var item = dataTransfer.items[i];\n if (item.getAsEntry) {\n item = item.getAsEntry() || item.getAsFile();\n } else if (item.webkitGetAsEntry) {\n item = item.webkitGetAsEntry() || item.getAsFile();\n } else {\n item = item.getAsFile();\n }\n if (item) {\n items.push(item);\n }\n }\n\n return new Promise(function (resolve, reject) {\n var forEach = function forEach(i) {\n var item = items[i];\n // 结束 文件数量大于 最大数量\n if (!item || _this.maximum > 0 && files.length >= _this.maximum) {\n return resolve(_this.add(files));\n }\n _this.getEntry(item).then(function (results) {\n files.push.apply(files, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n forEach(0);\n });\n }\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n if (this.maximum > 0 && files.length >= this.maximum) {\n break;\n }\n }\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n\n\n // 获得 entry\n getEntry: function getEntry(entry) {\n var _this2 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n return new Promise(function (resolve, reject) {\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([{\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n } else if (entry.isDirectory && _this2.dropDirectory) {\n var files = [];\n var dirReader = entry.createReader();\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || _this2.maximum > 0 && files.length >= _this2.maximum) {\n return resolve(files);\n }\n if (!entries[i]) {\n return readEntries();\n }\n _this2.getEntry(entries[i], path + entry.name + '/').then(function (results) {\n files.push.apply(files, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n forEach(0);\n });\n };\n readEntries();\n } else {\n resolve([]);\n }\n });\n },\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n\n\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n files.splice(index, 1);\n this.files = files;\n\n // 定位\n delete this.maps[file.id];\n\n // 事件\n this.emitInput();\n this.emitFile(undefined, file);\n }\n return file;\n },\n\n\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n if (file) {\n var newFile = _extends({}, file, data);\n // 停用必须加上错误\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n files.splice(index, 1, newFile);\n this.files = files;\n\n // 删除 旧定位 写入 新定位 (已便支持修改id)\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile;\n\n // 事件\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n return false;\n },\n\n\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n isPrevent = true;\n return isPrevent;\n });\n return isPrevent;\n },\n\n\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n this.$emit('input-file', newFile, oldFile);\n if (newFile && newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++;\n // 激活\n this.$nextTick(function () {\n var _this3 = this;\n\n setTimeout(function () {\n _this3.upload(newFile).then(function () {\n // eslint-disable-next-line\n newFile = _this3.get(newFile);\n if (newFile && newFile.fileObject) {\n _this3.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n _this3.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, parseInt(Math.random() * 50 + 50, 10));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n }\n\n // 自动延续激活\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('input', this.files);\n },\n\n\n // 上传\n upload: function upload(id) {\n var file = this.get(id);\n\n // 被删除\n if (!file) {\n return Promise.reject('not_exists');\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return Promise.reject('file_object');\n }\n\n // 有错误直接响应\n if (file.error) {\n return Promise.reject(file.error);\n }\n\n // 已完成直接响应\n if (file.success) {\n return Promise.resolve(file);\n }\n\n // 后缀\n var extensions = this.extensions;\n if (extensions && (extensions.length || typeof extensions.length === 'undefined')) {\n if ((typeof extensions === 'undefined' ? 'undefined' : _typeof(extensions)) !== 'object' || !(extensions instanceof RegExp)) {\n if (typeof extensions === 'string') {\n extensions = extensions.split(',').map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n }\n extensions = new RegExp('\\\\.(' + extensions.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n if (file.name.search(extensions) === -1) {\n return Promise.reject('extension');\n }\n }\n\n // 大小\n if (this.size > 0 && file.size >= 0 && file.size > this.size) {\n return Promise.reject('size');\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n if (file.putAction) {\n return this.uploadPut(file);\n }\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n return Promise.reject('No action configured');\n },\n\n\n /**\n * Whether this file should be uploaded using chunk upload or not\n *\n * @param Object file\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size > this.chunkOptions.minSize;\n },\n\n\n /**\n * Upload a file using Chunk method\n *\n * @param File file\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n\n return file.chunk.upload();\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value = void 0;\n for (var key in file.data) {\n value = file.data[key];\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n var queryString = querys.length ? (file.putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', file.putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value = void 0;\n for (var key in file.data) {\n value = file.data[key];\n if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n }\n form.append(this.name, file.file, file.file.filename || file.name);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction);\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, _file, body) {\n var _this4 = this;\n\n var file = _file;\n var speedTime = 0;\n var speedLoaded = 0;\n\n // 进度条\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n file = _this4.get(file);\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n }\n\n // 进度 速度 每秒更新一次\n var speedTime2 = Math.round(Date.now() / 1000);\n if (speedTime2 === speedTime) {\n return;\n }\n speedTime = speedTime2;\n\n file = _this4.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n };\n\n // 检查激活状态\n var interval = setInterval(function () {\n file = _this4.get(file);\n if (file && file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n\n return new Promise(function (resolve, reject) {\n var complete = void 0;\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n complete = true;\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n file = _this4.get(file);\n\n // 不存在直接响应\n if (!file) {\n return reject('not_exists');\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return reject('file_object');\n }\n\n // 有错误自动响应\n if (file.error) {\n return reject(file.error);\n }\n\n // 未激活\n if (!file.active) {\n return reject('abort');\n }\n\n // 已完成 直接相应\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n break;\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n }\n\n // 更新\n file = _this4.update(file, data);\n\n // 相应错误\n if (file.error) {\n return reject(file.error);\n }\n\n // 响应\n return resolve(file);\n };\n\n // 事件\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn;\n\n // 超时\n if (file.timeout) {\n xhr.timeout = file.timeout;\n }\n\n // headers\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n }\n\n // 更新 xhr\n file = _this4.update(file, { xhr: xhr });\n\n // 开始上传\n xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(_file) {\n var _this5 = this;\n\n var file = _file;\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n\n var form = document.createElement('form');\n\n form.action = file.postAction;\n\n form.name = 'upload-form-' + file.id;\n\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n var value = void 0;\n var input = void 0;\n for (var key in file.data) {\n value = file.data[key];\n if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n if (value !== null && value !== undefined) {\n input = document.createElement('input');\n input.type = 'hidden';\n input.name = key;\n input.value = value;\n form.appendChild(input);\n }\n }\n form.appendChild(file.el);\n\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var doc = void 0;\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n if (!doc) {\n try {\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n doc = iframe.document;\n }\n }\n if (doc && doc.body) {\n return doc.body.innerHTML;\n }\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n file = _this5.update(file, { iframe: iframe });\n\n // 不存在\n if (!file) {\n return reject('not_exists');\n }\n\n // 定时检查\n var interval = setInterval(function () {\n file = _this5.get(file);\n if (file && file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n iframe.onabort({ type: file ? 'abort' : 'not_exists' });\n }, 100);\n\n var complete = void 0;\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n // 关闭 esc 事件\n document.body.removeEventListener('keydown', onKeydown);\n\n file = _this5.get(file);\n\n // 不存在直接响应\n if (!file) {\n return reject('not_exists');\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return reject('file_object');\n }\n\n // 有错误自动响应\n if (file.error) {\n return reject(file.error);\n }\n\n // 未激活\n if (!file.active) {\n return reject('abort');\n }\n\n // 已完成 直接相应\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n break;\n default:\n if (file.error) {\n data.error = file.error;\n } else if (data === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n data.response = response;\n }\n\n // 更新\n file = _this5.update(file, data);\n\n if (file.error) {\n return reject(file.error);\n }\n\n // 响应\n return resolve(file);\n };\n\n // 添加事件\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn;\n\n // 禁止 esc 键\n document.body.addEventListener('keydown', onKeydown);\n\n // 提交\n form.submit();\n }, 50);\n }).then(function (res) {\n iframe.parentNode && iframe.parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n iframe.parentNode && iframe.parentNode.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file = void 0;\n var index = 0;\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ; else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n if (!file.active && !file.error && !file.success) {\n this.update(file, { active: true });\n }\n } else {\n if (file.active) {\n this.update(file, { active: false });\n }\n }\n }\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(_el) {\n var el = _el;\n if (!this.features.drop) {\n return;\n }\n\n // 移除挂载\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDragenter, false);\n document.removeEventListener('dragleave', this.onDragleave, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n if (!el) {\n el = false;\n } else if (typeof el === 'string') {\n el = document.querySelector(el) || this.$root.$el.querySelector(el);\n } else if (el === true) {\n el = this.$parent.$el;\n }\n\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDragenter, false);\n document.addEventListener('dragleave', this.onDragleave, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n onDragenter: function onDragenter(e) {\n e.preventDefault();\n if (this.dropActive) {\n return;\n }\n if (!e.dataTransfer) {\n return;\n }\n var dt = e.dataTransfer;\n if (dt.files && dt.files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true;\n } else if (dt.types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n },\n onDragleave: function onDragleave(e) {\n e.preventDefault();\n if (!this.dropActive) {\n return;\n }\n if (e.target.nodeName === 'HTML' || e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n }\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n this.addDataTransfer(e.dataTransfer);\n }\n }\n };\n\n /* script */\n var __vue_script__$1 = script$1;\n\n /* template */\n var __vue_render__$1 = function __vue_render__() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { class: _vm.className }, [_vm._t(\"default\"), _vm._v(\" \"), _c('label', { attrs: { \"for\": _vm.inputId || _vm.name } }), _vm._v(\" \"), _c('input-file')], 2);\n };\n var __vue_staticRenderFns__$1 = [];\n\n /* style */\n var __vue_inject_styles__$1 = function (inject) {\n if (!inject) return;\n inject(\"data-v-595958af_0\", { source: \"\\n.file-uploads{overflow:hidden;position:relative;text-align:center;display:inline-block\\n}\\n.file-uploads.file-uploads-html4 input,.file-uploads.file-uploads-html5 label{background:#fff;opacity:0;font-size:20em;z-index:1;top:0;left:0;right:0;bottom:0;position:absolute;width:100%;height:100%\\n}\\n.file-uploads.file-uploads-html4 label,.file-uploads.file-uploads-html5 input{background:rgba(255,255,255,0);overflow:hidden;position:fixed;width:1px;height:1px;z-index:-1;opacity:0\\n}\", map: undefined, media: undefined });\n };\n /* scoped */\n var __vue_scope_id__$1 = undefined;\n /* module identifier */\n var __vue_module_identifier__$1 = undefined;\n /* functional template */\n var __vue_is_functional_template__$1 = false;\n /* component normalizer */\n function __vue_normalize__$1(template, style, script, scope, functional, moduleIdentifier, createInjector, createInjectorSSR) {\n var component = (typeof script === 'function' ? script.options : script) || {};\n\n if (!component.render) {\n component.render = template.render;\n component.staticRenderFns = template.staticRenderFns;\n component._compiled = true;\n\n if (functional) component.functional = true;\n }\n\n component._scopeId = scope;\n\n {\n var hook = void 0;\n if (style) {\n hook = function hook(context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n var originalRender = component.render;\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = component.beforeCreate;\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n }\n\n return component;\n }\n /* style inject */\n function __vue_create_injector__$1() {\n var head = document.head || document.getElementsByTagName('head')[0];\n var styles = __vue_create_injector__$1.styles || (__vue_create_injector__$1.styles = {});\n var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return; // SSR styles are present.\n\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined });\n\n if (!style.ids.includes(id)) {\n var code = css.source;\n var index = style.ids.length;\n\n style.ids.push(id);\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\n // http://stackoverflow.com/a/26603875\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']');\n }\n\n if (!style.element) {\n var el = style.element = document.createElement('style');\n el.type = 'text/css';\n\n if (css.media) el.setAttribute('media', css.media);\n if (isOldIE) {\n el.setAttribute('data-group', group);\n el.setAttribute('data-next-index', '0');\n }\n\n head.appendChild(el);\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'));\n style.element.setAttribute('data-next-index', index + 1);\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code);\n style.element.styleSheet.cssText = style.parts.filter(Boolean).join('\\n');\n } else {\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n };\n }\n /* style inject SSR */\n\n var FileUpload = __vue_normalize__$1({ render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 }, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, __vue_create_injector__$1, undefined);\n\n var FileUpload$1 = /*#__PURE__*/Object.freeze({\n default: FileUpload\n });\n\n var require$$0 = ( FileUpload$1 && FileUpload ) || FileUpload$1;\n\n var src = require$$0;\n\n return src;\n\n})));\n//# sourceMappingURL=vue-upload-component.js.map\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"VueLoading\",[],e):\"object\"==typeof exports?exports.VueLoading=e():t.VueLoading=e()}(\"undefined\"!=typeof self?self:this,(function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"\",i(i.s=1)}([function(t,e,i){},function(t,e,i){\"use strict\";i.r(e);var n=\"undefined\"!=typeof window?window.HTMLElement:Object,r={mounted:function(){this.enforceFocus&&document.addEventListener(\"focusin\",this.focusIn)},methods:{focusIn:function(t){if(this.isActive&&t.target!==this.$el&&!this.$el.contains(t.target)){var e=this.container?this.container:this.isFullPage?null:this.$el.parentElement;(this.isFullPage||e&&e.contains(t.target))&&(t.preventDefault(),this.$el.focus())}}},beforeDestroy:function(){document.removeEventListener(\"focusin\",this.focusIn)}};function a(t,e,i,n,r,a,o,s){var l,u=\"function\"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=i,u._compiled=!0),n&&(u.functional=!0),a&&(u._scopeId=\"data-v-\"+a),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=l):r&&(l=s?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:u}}var o=a({name:\"spinner\",props:{color:{type:String,default:\"#000\"},height:{type:Number,default:64},width:{type:Number,default:64}}},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{viewBox:\"0 0 38 38\",xmlns:\"http://www.w3.org/2000/svg\",width:this.width,height:this.height,stroke:this.color}},[e(\"g\",{attrs:{fill:\"none\",\"fill-rule\":\"evenodd\"}},[e(\"g\",{attrs:{transform:\"translate(1 1)\",\"stroke-width\":\"2\"}},[e(\"circle\",{attrs:{\"stroke-opacity\":\".25\",cx:\"18\",cy:\"18\",r:\"18\"}}),e(\"path\",{attrs:{d:\"M36 18c0-9.94-8.06-18-18-18\"}},[e(\"animateTransform\",{attrs:{attributeName:\"transform\",type:\"rotate\",from:\"0 18 18\",to:\"360 18 18\",dur:\"0.8s\",repeatCount:\"indefinite\"}})],1)])])])}),[],!1,null,null,null).exports,s=a({name:\"dots\",props:{color:{type:String,default:\"#000\"},height:{type:Number,default:240},width:{type:Number,default:60}}},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{viewBox:\"0 0 120 30\",xmlns:\"http://www.w3.org/2000/svg\",fill:this.color,width:this.width,height:this.height}},[e(\"circle\",{attrs:{cx:\"15\",cy:\"15\",r:\"15\"}},[e(\"animate\",{attrs:{attributeName:\"r\",from:\"15\",to:\"15\",begin:\"0s\",dur:\"0.8s\",values:\"15;9;15\",calcMode:\"linear\",repeatCount:\"indefinite\"}}),e(\"animate\",{attrs:{attributeName:\"fill-opacity\",from:\"1\",to:\"1\",begin:\"0s\",dur:\"0.8s\",values:\"1;.5;1\",calcMode:\"linear\",repeatCount:\"indefinite\"}})]),e(\"circle\",{attrs:{cx:\"60\",cy:\"15\",r:\"9\",\"fill-opacity\":\"0.3\"}},[e(\"animate\",{attrs:{attributeName:\"r\",from:\"9\",to:\"9\",begin:\"0s\",dur:\"0.8s\",values:\"9;15;9\",calcMode:\"linear\",repeatCount:\"indefinite\"}}),e(\"animate\",{attrs:{attributeName:\"fill-opacity\",from:\"0.5\",to:\"0.5\",begin:\"0s\",dur:\"0.8s\",values:\".5;1;.5\",calcMode:\"linear\",repeatCount:\"indefinite\"}})]),e(\"circle\",{attrs:{cx:\"105\",cy:\"15\",r:\"15\"}},[e(\"animate\",{attrs:{attributeName:\"r\",from:\"15\",to:\"15\",begin:\"0s\",dur:\"0.8s\",values:\"15;9;15\",calcMode:\"linear\",repeatCount:\"indefinite\"}}),e(\"animate\",{attrs:{attributeName:\"fill-opacity\",from:\"1\",to:\"1\",begin:\"0s\",dur:\"0.8s\",values:\"1;.5;1\",calcMode:\"linear\",repeatCount:\"indefinite\"}})])])}),[],!1,null,null,null).exports,l=a({name:\"bars\",props:{color:{type:String,default:\"#000\"},height:{type:Number,default:40},width:{type:Number,default:40}}},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 30 30\",height:this.height,width:this.width,fill:this.color}},[e(\"rect\",{attrs:{x:\"0\",y:\"13\",width:\"4\",height:\"5\"}},[e(\"animate\",{attrs:{attributeName:\"height\",attributeType:\"XML\",values:\"5;21;5\",begin:\"0s\",dur:\"0.6s\",repeatCount:\"indefinite\"}}),e(\"animate\",{attrs:{attributeName:\"y\",attributeType:\"XML\",values:\"13; 5; 13\",begin:\"0s\",dur:\"0.6s\",repeatCount:\"indefinite\"}})]),e(\"rect\",{attrs:{x:\"10\",y:\"13\",width:\"4\",height:\"5\"}},[e(\"animate\",{attrs:{attributeName:\"height\",attributeType:\"XML\",values:\"5;21;5\",begin:\"0.15s\",dur:\"0.6s\",repeatCount:\"indefinite\"}}),e(\"animate\",{attrs:{attributeName:\"y\",attributeType:\"XML\",values:\"13; 5; 13\",begin:\"0.15s\",dur:\"0.6s\",repeatCount:\"indefinite\"}})]),e(\"rect\",{attrs:{x:\"20\",y:\"13\",width:\"4\",height:\"5\"}},[e(\"animate\",{attrs:{attributeName:\"height\",attributeType:\"XML\",values:\"5;21;5\",begin:\"0.3s\",dur:\"0.6s\",repeatCount:\"indefinite\"}}),e(\"animate\",{attrs:{attributeName:\"y\",attributeType:\"XML\",values:\"13; 5; 13\",begin:\"0.3s\",dur:\"0.6s\",repeatCount:\"indefinite\"}})])])}),[],!1,null,null,null).exports,u=a({name:\"vue-loading\",mixins:[r],props:{active:Boolean,programmatic:Boolean,container:[Object,Function,n],isFullPage:{type:Boolean,default:!0},enforceFocus:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!1},transition:{type:String,default:\"fade\"},canCancel:Boolean,onCancel:{type:Function,default:function(){}},color:String,backgroundColor:String,blur:{type:String,default:\"2px\"},opacity:Number,width:Number,height:Number,zIndex:Number,loader:{type:String,default:\"spinner\"}},data:function(){return{isActive:this.active}},components:{Spinner:o,Dots:s,Bars:l},beforeMount:function(){this.programmatic&&(this.container?(this.isFullPage=!1,this.container.appendChild(this.$el)):document.body.appendChild(this.$el))},mounted:function(){this.programmatic&&(this.isActive=!0),document.addEventListener(\"keyup\",this.keyPress)},methods:{cancel:function(){this.canCancel&&this.isActive&&(this.hide(),this.onCancel.apply(null,arguments))},hide:function(){var t=this;this.$emit(\"hide\"),this.$emit(\"update:active\",!1),this.programmatic&&(this.isActive=!1,setTimeout((function(){var e;t.$destroy(),void 0!==(e=t.$el).remove?e.remove():e.parentNode.removeChild(e)}),150))},disableScroll:function(){this.isFullPage&&this.lockScroll&&document.body.classList.add(\"vld-shown\")},enableScroll:function(){this.isFullPage&&this.lockScroll&&document.body.classList.remove(\"vld-shown\")},keyPress:function(t){27===t.keyCode&&this.cancel()}},watch:{active:function(t){this.isActive=t},isActive:function(t){t?this.disableScroll():this.enableScroll()}},computed:{bgStyle:function(){return{background:this.backgroundColor,opacity:this.opacity,backdropFilter:\"blur(\".concat(this.blur,\")\")}}},beforeDestroy:function(){document.removeEventListener(\"keyup\",this.keyPress)}},(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i(\"transition\",{attrs:{name:t.transition}},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isActive,expression:\"isActive\"}],staticClass:\"vld-overlay is-active\",class:{\"is-full-page\":t.isFullPage},style:{zIndex:t.zIndex},attrs:{tabindex:\"0\",\"aria-busy\":t.isActive,\"aria-label\":\"Loading\"}},[i(\"div\",{staticClass:\"vld-background\",style:t.bgStyle,on:{click:function(e){return e.preventDefault(),t.cancel(e)}}}),i(\"div\",{staticClass:\"vld-icon\"},[t._t(\"before\"),t._t(\"default\",[i(t.loader,{tag:\"component\",attrs:{color:t.color,width:t.width,height:t.height}})]),t._t(\"after\")],2)])])}),[],!1,null,null,null).exports,c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{show:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,a={programmatic:!0},o=Object.assign({},e,n,a),s=new(t.extend(u))({el:document.createElement(\"div\"),propsData:o}),l=Object.assign({},i,r);return Object.keys(l).map((function(t){s.$slots[t]=l[t]})),s}}};i(0);u.install=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=c(t,e,i);t.$loading=n,t.prototype.$loading=n};e.default=u}]).default}));","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"animated fadeIn pt-1 pl-3\"},[_c('hr'),_c('b-form-group',[_c('b-form-checkbox',{model:{value:(_vm.addToBlackList),callback:function ($$v) {_vm.addToBlackList=$$v},expression:\"addToBlackList\"}},[_vm._v(\"\\n Adauga masina in lista neagra.\\n \")])],1),(_vm.addToBlackList)?_c('b-form-group',{attrs:{\"label\":\"Motiv\"}},[_c('b-form-textarea',{attrs:{\"rows\":\"3\",\"max-rows\":\"6\"},model:{value:(_vm.blackListText),callback:function ($$v) {_vm.blackListText=$$v},expression:\"blackListText\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { orderService } from '../../services/OrderService'\r\n\r\nexport default {\r\n name: 'CancelOrder',\r\n\r\n components: {\r\n },\r\n\r\n props:\r\n {\r\n itemToBeChanged: {},\r\n },\r\n\r\n\r\n data: () => {\r\n return {\r\n loading: true,\r\n addToBlackList: false,\r\n blackListText: ''\r\n }\r\n },\r\n\r\n computed: {\r\n },\r\n\r\n methods: {\r\n created() {\r\n\r\n },\r\n //\r\n backButtonClick: function () {\r\n\r\n },\r\n\r\n\r\n\r\n },\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!./cancelOrderComponent.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!./cancelOrderComponent.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./cancelOrderComponent.vue?vue&type=template&id=65130c04&\"\nimport script from \"./cancelOrderComponent.js?vue&type=script&lang=js&\"\nexport * from \"./cancelOrderComponent.js?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"accounting-js\")):\"function\"==typeof define&&define.amd?define(\"VueNumeric\",[\"accounting-js\"],t):\"object\"==typeof exports?exports.VueNumeric=t(require(\"accounting-js\")):e.VueNumeric=t(e.accounting)}(\"undefined\"!=typeof self?self:this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,\"a\",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=1)}([function(e,t,r){\"use strict\";var n=r(4),i=r.n(n);t.a={name:\"VueNumeric\",props:{currency:{type:String,default:\"\",required:!1},max:{type:Number,default:Number.MAX_SAFE_INTEGER||9007199254740991,required:!1},min:{type:Number,default:Number.MIN_SAFE_INTEGER||-9007199254740991,required:!1},minus:{type:Boolean,default:!1,required:!1},placeholder:{type:String,default:\"\",required:!1},emptyValue:{type:[Number,String],default:\"\",required:!1},precision:{type:Number,default:0,required:!1},separator:{type:String,default:\",\",required:!1},thousandSeparator:{default:void 0,required:!1,type:String},decimalSeparator:{default:void 0,required:!1,type:String},outputType:{required:!1,type:String,default:\"Number\"},value:{type:[Number,String],default:0,required:!0},readOnly:{type:Boolean,default:!1,required:!1},readOnlyClass:{type:String,default:\"\",required:!1},disabled:{type:Boolean,default:!1,required:!1},currencySymbolPosition:{type:String,default:\"prefix\",required:!1}},data:function(){return{amount:\"\"}},computed:{amountNumber:function(){return this.unformat(this.amount)},valueNumber:function(){return this.unformat(this.value)},decimalSeparatorSymbol:function(){return void 0!==this.decimalSeparator?this.decimalSeparator:\",\"===this.separator?\".\":\",\"},thousandSeparatorSymbol:function(){return void 0!==this.thousandSeparator?this.thousandSeparator:\".\"===this.separator?\".\":\"space\"===this.separator?\" \":\",\"},symbolPosition:function(){return this.currency?\"suffix\"===this.currencySymbolPosition?\"%v %s\":\"%s %v\":\"%v\"}},watch:{valueNumber:function(e){this.$refs.numeric!==document.activeElement&&(this.amount=this.format(e))},readOnly:function(e,t){var r=this;!1===t&&!0===e&&this.$nextTick(function(){r.$refs.readOnly.className=r.readOnlyClass})},separator:function(){this.process(this.valueNumber),this.amount=this.format(this.valueNumber)},currency:function(){this.process(this.valueNumber),this.amount=this.format(this.valueNumber)},precision:function(){this.process(this.valueNumber),this.amount=this.format(this.valueNumber)}},mounted:function(){var e=this;this.valueNumber&&(this.process(this.valueNumber),this.amount=this.format(this.valueNumber),setTimeout(function(){e.process(e.valueNumber),e.amount=e.format(e.valueNumber)},500)),this.readOnly&&(this.$refs.readOnly.className=this.readOnlyClass)},methods:{onChangeHandler:function(e){this.$emit(\"change\",e)},onBlurHandler:function(e){this.$emit(\"blur\",e),this.amount=this.format(this.valueNumber)},onFocusHandler:function(e){this.$emit(\"focus\",e),0===this.valueNumber?this.amount=null:this.amount=i.a.formatMoney(this.valueNumber,{symbol:\"\",format:\"%v\",thousand:\"\",decimal:this.decimalSeparatorSymbol,precision:Number(this.precision)})},onInputHandler:function(){this.process(this.amountNumber)},process:function(e){e>=this.max&&this.update(this.max),e<=this.min&&this.update(this.min),e>this.min&&e=0?this.update(this.min):this.update(0))},update:function(e){var t=i.a.toFixed(e,this.precision),r=\"string\"===this.outputType.toLowerCase()?t:Number(t);this.$emit(\"input\",r)},format:function(e){return i.a.formatMoney(e,{symbol:this.currency,format:this.symbolPosition,precision:Number(this.precision),decimal:this.decimalSeparatorSymbol,thousand:this.thousandSeparatorSymbol})},unformat:function(e){var t=\"string\"==typeof e&&\"\"===e?this.emptyValue:e;return i.a.unformat(t,this.decimalSeparatorSymbol)}}}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(2),i={install:function(e){e.component(n.a.name,n.a)}};n.a.install=i.install,t.default=n.a},function(e,t,r){\"use strict\";var n=r(0),i=r(5),u=r(3),o=u(n.a,i.a,!1,null,null,null);t.a=o.exports},function(e,t){e.exports=function(e,t,r,n,i,u){var o,a=e=e||{},s=typeof e.default;\"object\"!==s&&\"function\"!==s||(o=e,a=e.default);var l=\"function\"==typeof a?a.options:a;t&&(l.render=t.render,l.staticRenderFns=t.staticRenderFns,l._compiled=!0),r&&(l.functional=!0),i&&(l._scopeId=i);var c;if(u?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(u)},l._ssrRegister=c):n&&(c=n),c){var d=l.functional,m=d?l.render:l.beforeCreate;d?(l._injectStyles=c,l.render=function(e,t){return c.call(t),m(e,t)}):l.beforeCreate=m?[].concat(m,c):[c]}return{esModule:o,exports:a,options:l}}},function(t,r){t.exports=e},function(e,t,r){\"use strict\";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.readOnly?r(\"span\",{ref:\"readOnly\"},[e._v(e._s(e.amount))]):r(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.amount,expression:\"amount\"}],ref:\"numeric\",attrs:{placeholder:e.placeholder,disabled:e.disabled,type:\"tel\"},domProps:{value:e.amount},on:{blur:e.onBlurHandler,input:[function(t){t.target.composing||(e.amount=t.target.value)},e.onInputHandler],focus:e.onFocusHandler,change:e.onChangeHandler}})},i=[],u={render:n,staticRenderFns:i};t.a=u}])});"],"sourceRoot":""}