{"version":3,"sources":["webpack:///./src/domain/enums/MotorDesign.ts","webpack:///./node_modules/dom-to-image/src/dom-to-image.js","webpack:///./src/modules/project/components/loads/models/chargeModel.ts","webpack:///./src/modules/project/components/loads/models/typeCharge.ts"],"names":["MotorDesign","MotorDesignList","Object","entries","map","key","value","filter","tuple","global","util","newUtil","inliner","newInliner","fontFaces","newFontFaces","images","newImages","defaultOptions","imagePlaceholder","undefined","cacheBust","domtoimage","toSvg","toPng","toJpeg","toBlob","toPixelData","impl","options","node","copyOptions","Promise","resolve","then","cloneNode","embedFonts","inlineImages","applyOptions","clone","makeSvgDataUri","width","height","bgcolor","style","backgroundColor","keys","forEach","property","draw","canvas","getContext","getImageData","data","toDataURL","quality","canvasToBlob","domNode","makeImage","delay","image","newCanvas","drawImage","document","createElement","ctx","fillStyle","fillRect","root","makeNodeCopy","cloneChildren","processClone","HTMLCanvasElement","original","children","childNodes","length","cloneChildrenInOrder","asArray","parent","done","child","childClone","appendChild","Element","cloneStyle","clonePseudoElements","copyUserInput","fixSvg","copyStyle","source","target","copyProperties","name","setProperty","getPropertyValue","getPropertyPriority","cssText","window","getComputedStyle","clonePseudoElement","element","content","className","uid","styleElement","formatPseudoElementStyle","selector","formatCssText","formatCssProperties","createTextNode","formatProperty","join","HTMLTextAreaElement","innerHTML","HTMLInputElement","setAttribute","SVGElement","SVGRectElement","attribute","getAttribute","resolveAll","styleNode","inlineAll","XMLSerializer","serializeToString","escapeXhtml","xhtml","foreignObject","svg","escape","parseExtension","mimeType","dataAsUrl","isDataUrl","resolveUrl","getAndEncode","mimes","WOFF","JPEG","url","match","exec","extension","toLowerCase","search","binaryString","atob","split","binaryArray","Uint8Array","i","charCodeAt","Blob","type","baseUrl","doc","implementation","createHTMLDocument","base","head","a","body","href","index","fourRandomChars","Math","random","pow","toString","slice","uri","reject","Image","onload","onerror","src","TIMEOUT","test","Date","getTime","placeholder","request","XMLHttpRequest","onreadystatechange","ontimeout","timeout","responseType","open","send","readyState","status","encoder","FileReader","onloadend","result","readAsDataURL","response","fail","message","console","error","string","replace","ms","arg","setTimeout","arrayLike","array","push","leftBorder","px","rightBorder","scrollWidth","topBorder","bottomBorder","scrollHeight","styleProperty","parseFloat","URL_REGEX","shouldProcess","readUrls","inline","get","dataUrl","urlAsRegex","RegExp","nothingToInline","urls","readAll","webFonts","all","webFont","cssStrings","styleSheets","getCssRules","selectWebFontRules","rules","newWebFont","cssRules","rule","CSSRule","FONT_FACE_RULE","sheet","bind","e","log","webFontRule","parentStyleSheet","newImage","inlineBackground","HTMLImageElement","background","inlined","module","exports","Harmonics","Feedable","constructor","super","_defineProperty","this","feed","HarmonicsHelper","ichdArray","harmonics","ichd","JSON","parse","h1","h2","n3","n5","n7","n9","n11","n13","n15","n17","n19","ChargeModel","Set","readyForcalculation","accept","visitor","Error","PowerFactorGeneric","args","ChargeLighting","TypeCharge","Lighting","visitLighting","ChargeBatteryCharger","BatteryCharger","visitBatteryCharger","ChargeOfficeEquipement","OfficeEquipement","visitOfficeEquipment","ChargeMiscLinear","LinearLoad","visitMiscLinear","ChargeMiscNonLinear","NoLinearLoad","visitNonMiscLinear","ChargeUPS","UPS","visitUPS","ChargeMedicalEquipement","MedicalEquipment","visitMedicalEquipment","ChargeWelder","Welder","visitWelder","ChargeMotorGeneric","NEMA","powerAmpsValue","ChargeMotor","Motor","visitMotor","ChargeAirConditionner","AirConditioner","visitAirConditionner","ChargeFirePump","FirePump","visitFirePump","ChargeElevator","Elevator","visitElevator","ChargeATS","ATS","visitATS","ChargeTransformer","Transformer","visitTransformer","ChargeCircuitBreaker","CircuitBreaker","visitCircuitBreaker","ChargeGenerator","Generator","visitGenerator","ChargeModelHelper","loadFromBack","loadType","newLoad","runningKW","childLoads","childLoadFromBack","chargeModel","getFromBack","loads","add"],"mappings":"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","file":"js/chunk-37e8b0f2.e59c9178.js","sourcesContent":["enum MotorDesign {\r\n IEC = 0 as number,\r\n NEMA = 1 as number\r\n}\r\n\r\nexport default MotorDesign\r\nexport const MotorDesignList: {\r\n key: string\r\n value: MotorDesign\r\n}[] = Object.entries(MotorDesign)\r\n .map(([key, value]) => ({ key, value: value as MotorDesign }))\r\n .filter(tuple => typeof (tuple.value as any) !== 'string')\r\n","(function (global) {\n 'use strict';\n\n var util = newUtil();\n var inliner = newInliner();\n var fontFaces = newFontFaces();\n var images = newImages();\n\n // Default impl options\n var defaultOptions = {\n // Default is to fail on error, no placeholder\n imagePlaceholder: undefined,\n // Default cache bust is false, it will use the cache\n cacheBust: false\n };\n\n var domtoimage = {\n toSvg: toSvg,\n toPng: toPng,\n toJpeg: toJpeg,\n toBlob: toBlob,\n toPixelData: toPixelData,\n impl: {\n fontFaces: fontFaces,\n images: images,\n util: util,\n inliner: inliner,\n options: {}\n }\n };\n\n if (typeof module !== 'undefined')\n module.exports = domtoimage;\n else\n global.domtoimage = domtoimage;\n\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options\n * @param {Function} options.filter - Should return true if passed node should be included in the output\n * (excluding node means excluding it's children as well). Not called on the root node.\n * @param {String} options.bgcolor - color for the background, any valid CSS color value.\n * @param {Number} options.width - width to be applied to node before rendering.\n * @param {Number} options.height - height to be applied to node before rendering.\n * @param {Object} options.style - an object whose properties to be copied to node's style before rendering.\n * @param {Number} options.quality - a Number between 0 and 1 indicating image quality (applicable to JPEG only),\n defaults to 1.0.\n * @param {String} options.imagePlaceholder - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch\n * @param {Boolean} options.cacheBust - set to true to cache bust by appending the time to the request url\n * @return {Promise} - A promise that is fulfilled with a SVG image data URL\n * */\n function toSvg(node, options) {\n options = options || {};\n copyOptions(options);\n return Promise.resolve(node)\n .then(function (node) {\n return cloneNode(node, options.filter, true);\n })\n .then(embedFonts)\n .then(inlineImages)\n .then(applyOptions)\n .then(function (clone) {\n return makeSvgDataUri(clone,\n options.width || util.width(node),\n options.height || util.height(node)\n );\n });\n\n function applyOptions(clone) {\n if (options.bgcolor) clone.style.backgroundColor = options.bgcolor;\n\n if (options.width) clone.style.width = options.width + 'px';\n if (options.height) clone.style.height = options.height + 'px';\n\n if (options.style)\n Object.keys(options.style).forEach(function (property) {\n clone.style[property] = options.style[property];\n });\n\n return clone;\n }\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.\n * */\n function toPixelData(node, options) {\n return draw(node, options || {})\n .then(function (canvas) {\n return canvas.getContext('2d').getImageData(\n 0,\n 0,\n util.width(node),\n util.height(node)\n ).data;\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image data URL\n * */\n function toPng(node, options) {\n return draw(node, options || {})\n .then(function (canvas) {\n return canvas.toDataURL();\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a JPEG image data URL\n * */\n function toJpeg(node, options) {\n options = options || {};\n return draw(node, options)\n .then(function (canvas) {\n return canvas.toDataURL('image/jpeg', options.quality || 1.0);\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image blob\n * */\n function toBlob(node, options) {\n return draw(node, options || {})\n .then(util.canvasToBlob);\n }\n\n function copyOptions(options) {\n // Copy options to impl options for use in impl\n if(typeof(options.imagePlaceholder) === 'undefined') {\n domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder;\n } else {\n domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder;\n }\n\n if(typeof(options.cacheBust) === 'undefined') {\n domtoimage.impl.options.cacheBust = defaultOptions.cacheBust;\n } else {\n domtoimage.impl.options.cacheBust = options.cacheBust;\n }\n }\n\n function draw(domNode, options) {\n return toSvg(domNode, options)\n .then(util.makeImage)\n .then(util.delay(100))\n .then(function (image) {\n var canvas = newCanvas(domNode);\n canvas.getContext('2d').drawImage(image, 0, 0);\n return canvas;\n });\n\n function newCanvas(domNode) {\n var canvas = document.createElement('canvas');\n canvas.width = options.width || util.width(domNode);\n canvas.height = options.height || util.height(domNode);\n\n if (options.bgcolor) {\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = options.bgcolor;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n\n return canvas;\n }\n }\n\n function cloneNode(node, filter, root) {\n if (!root && filter && !filter(node)) return Promise.resolve();\n\n return Promise.resolve(node)\n .then(makeNodeCopy)\n .then(function (clone) {\n return cloneChildren(node, clone, filter);\n })\n .then(function (clone) {\n return processClone(node, clone);\n });\n\n function makeNodeCopy(node) {\n if (node instanceof HTMLCanvasElement) return util.makeImage(node.toDataURL());\n return node.cloneNode(false);\n }\n\n function cloneChildren(original, clone, filter) {\n var children = original.childNodes;\n if (children.length === 0) return Promise.resolve(clone);\n\n return cloneChildrenInOrder(clone, util.asArray(children), filter)\n .then(function () {\n return clone;\n });\n\n function cloneChildrenInOrder(parent, children, filter) {\n var done = Promise.resolve();\n children.forEach(function (child) {\n done = done\n .then(function () {\n return cloneNode(child, filter);\n })\n .then(function (childClone) {\n if (childClone) parent.appendChild(childClone);\n });\n });\n return done;\n }\n }\n\n function processClone(original, clone) {\n if (!(clone instanceof Element)) return clone;\n\n return Promise.resolve()\n .then(cloneStyle)\n .then(clonePseudoElements)\n .then(copyUserInput)\n .then(fixSvg)\n .then(function () {\n return clone;\n });\n\n function cloneStyle() {\n copyStyle(window.getComputedStyle(original), clone.style);\n\n function copyStyle(source, target) {\n if (source.cssText) target.cssText = source.cssText;\n else copyProperties(source, target);\n\n function copyProperties(source, target) {\n util.asArray(source).forEach(function (name) {\n target.setProperty(\n name,\n source.getPropertyValue(name),\n source.getPropertyPriority(name)\n );\n });\n }\n }\n }\n\n function clonePseudoElements() {\n [':before', ':after'].forEach(function (element) {\n clonePseudoElement(element);\n });\n\n function clonePseudoElement(element) {\n var style = window.getComputedStyle(original, element);\n var content = style.getPropertyValue('content');\n\n if (content === '' || content === 'none') return;\n\n var className = util.uid();\n clone.className = clone.className + ' ' + className;\n var styleElement = document.createElement('style');\n styleElement.appendChild(formatPseudoElementStyle(className, element, style));\n clone.appendChild(styleElement);\n\n function formatPseudoElementStyle(className, element, style) {\n var selector = '.' + className + ':' + element;\n var cssText = style.cssText ? formatCssText(style) : formatCssProperties(style);\n return document.createTextNode(selector + '{' + cssText + '}');\n\n function formatCssText(style) {\n var content = style.getPropertyValue('content');\n return style.cssText + ' content: ' + content + ';';\n }\n\n function formatCssProperties(style) {\n\n return util.asArray(style)\n .map(formatProperty)\n .join('; ') + ';';\n\n function formatProperty(name) {\n return name + ': ' +\n style.getPropertyValue(name) +\n (style.getPropertyPriority(name) ? ' !important' : '');\n }\n }\n }\n }\n }\n\n function copyUserInput() {\n if (original instanceof HTMLTextAreaElement) clone.innerHTML = original.value;\n if (original instanceof HTMLInputElement) clone.setAttribute(\"value\", original.value);\n }\n\n function fixSvg() {\n if (!(clone instanceof SVGElement)) return;\n clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n if (!(clone instanceof SVGRectElement)) return;\n ['width', 'height'].forEach(function (attribute) {\n var value = clone.getAttribute(attribute);\n if (!value) return;\n\n clone.style.setProperty(attribute, value);\n });\n }\n }\n }\n\n function embedFonts(node) {\n return fontFaces.resolveAll()\n .then(function (cssText) {\n var styleNode = document.createElement('style');\n node.appendChild(styleNode);\n styleNode.appendChild(document.createTextNode(cssText));\n return node;\n });\n }\n\n function inlineImages(node) {\n return images.inlineAll(node)\n .then(function () {\n return node;\n });\n }\n\n function makeSvgDataUri(node, width, height) {\n return Promise.resolve(node)\n .then(function (node) {\n node.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');\n return new XMLSerializer().serializeToString(node);\n })\n .then(util.escapeXhtml)\n .then(function (xhtml) {\n return '' + xhtml + '';\n })\n .then(function (foreignObject) {\n return '';\n })\n .then(function (svg) {\n return 'data:image/svg+xml;charset=utf-8,' + svg;\n });\n }\n\n function newUtil() {\n return {\n escape: escape,\n parseExtension: parseExtension,\n mimeType: mimeType,\n dataAsUrl: dataAsUrl,\n isDataUrl: isDataUrl,\n canvasToBlob: canvasToBlob,\n resolveUrl: resolveUrl,\n getAndEncode: getAndEncode,\n uid: uid(),\n delay: delay,\n asArray: asArray,\n escapeXhtml: escapeXhtml,\n makeImage: makeImage,\n width: width,\n height: height\n };\n\n function mimes() {\n /*\n * Only WOFF and EOT mime types for fonts are 'real'\n * see http://www.iana.org/assignments/media-types/media-types.xhtml\n */\n var WOFF = 'application/font-woff';\n var JPEG = 'image/jpeg';\n\n return {\n 'woff': WOFF,\n 'woff2': WOFF,\n 'ttf': 'application/font-truetype',\n 'eot': 'application/vnd.ms-fontobject',\n 'png': 'image/png',\n 'jpg': JPEG,\n 'jpeg': JPEG,\n 'gif': 'image/gif',\n 'tiff': 'image/tiff',\n 'svg': 'image/svg+xml'\n };\n }\n\n function parseExtension(url) {\n var match = /\\.([^\\.\\/]*?)$/g.exec(url);\n if (match) return match[1];\n else return '';\n }\n\n function mimeType(url) {\n var extension = parseExtension(url).toLowerCase();\n return mimes()[extension] || '';\n }\n\n function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1;\n }\n\n function toBlob(canvas) {\n return new Promise(function (resolve) {\n var binaryString = window.atob(canvas.toDataURL().split(',')[1]);\n var length = binaryString.length;\n var binaryArray = new Uint8Array(length);\n\n for (var i = 0; i < length; i++)\n binaryArray[i] = binaryString.charCodeAt(i);\n\n resolve(new Blob([binaryArray], {\n type: 'image/png'\n }));\n });\n }\n\n function canvasToBlob(canvas) {\n if (canvas.toBlob)\n return new Promise(function (resolve) {\n canvas.toBlob(resolve);\n });\n\n return toBlob(canvas);\n }\n\n function resolveUrl(url, baseUrl) {\n var doc = document.implementation.createHTMLDocument();\n var base = doc.createElement('base');\n doc.head.appendChild(base);\n var a = doc.createElement('a');\n doc.body.appendChild(a);\n base.href = baseUrl;\n a.href = url;\n return a.href;\n }\n\n function uid() {\n var index = 0;\n\n return function () {\n return 'u' + fourRandomChars() + index++;\n\n function fourRandomChars() {\n /* see http://stackoverflow.com/a/6248722/2519373 */\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\n }\n };\n }\n\n function makeImage(uri) {\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n resolve(image);\n };\n image.onerror = reject;\n image.src = uri;\n });\n }\n\n function getAndEncode(url) {\n var TIMEOUT = 30000;\n if(domtoimage.impl.options.cacheBust) {\n // Cache bypass so we dont have CORS issues with cached images\n // Source: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n url += ((/\\?/).test(url) ? \"&\" : \"?\") + (new Date()).getTime();\n }\n\n return new Promise(function (resolve) {\n var request = new XMLHttpRequest();\n\n request.onreadystatechange = done;\n request.ontimeout = timeout;\n request.responseType = 'blob';\n request.timeout = TIMEOUT;\n request.open('GET', url, true);\n request.send();\n\n var placeholder;\n if(domtoimage.impl.options.imagePlaceholder) {\n var split = domtoimage.impl.options.imagePlaceholder.split(/,/);\n if(split && split[1]) {\n placeholder = split[1];\n }\n }\n\n function done() {\n if (request.readyState !== 4) return;\n\n if (request.status !== 200) {\n if(placeholder) {\n resolve(placeholder);\n } else {\n fail('cannot fetch resource: ' + url + ', status: ' + request.status);\n }\n\n return;\n }\n\n var encoder = new FileReader();\n encoder.onloadend = function () {\n var content = encoder.result.split(/,/)[1];\n resolve(content);\n };\n encoder.readAsDataURL(request.response);\n }\n\n function timeout() {\n if(placeholder) {\n resolve(placeholder);\n } else {\n fail('timeout of ' + TIMEOUT + 'ms occured while fetching resource: ' + url);\n }\n }\n\n function fail(message) {\n console.error(message);\n resolve('');\n }\n });\n }\n\n function dataAsUrl(content, type) {\n return 'data:' + type + ';base64,' + content;\n }\n\n function escape(string) {\n return string.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n function delay(ms) {\n return function (arg) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve(arg);\n }, ms);\n });\n };\n }\n\n function asArray(arrayLike) {\n var array = [];\n var length = arrayLike.length;\n for (var i = 0; i < length; i++) array.push(arrayLike[i]);\n return array;\n }\n\n function escapeXhtml(string) {\n return string.replace(/#/g, '%23').replace(/\\n/g, '%0A');\n }\n\n function width(node) {\n var leftBorder = px(node, 'border-left-width');\n var rightBorder = px(node, 'border-right-width');\n return node.scrollWidth + leftBorder + rightBorder;\n }\n\n function height(node) {\n var topBorder = px(node, 'border-top-width');\n var bottomBorder = px(node, 'border-bottom-width');\n return node.scrollHeight + topBorder + bottomBorder;\n }\n\n function px(node, styleProperty) {\n var value = window.getComputedStyle(node).getPropertyValue(styleProperty);\n return parseFloat(value.replace('px', ''));\n }\n }\n\n function newInliner() {\n var URL_REGEX = /url\\(['\"]?([^'\"]+?)['\"]?\\)/g;\n\n return {\n inlineAll: inlineAll,\n shouldProcess: shouldProcess,\n impl: {\n readUrls: readUrls,\n inline: inline\n }\n };\n\n function shouldProcess(string) {\n return string.search(URL_REGEX) !== -1;\n }\n\n function readUrls(string) {\n var result = [];\n var match;\n while ((match = URL_REGEX.exec(string)) !== null) {\n result.push(match[1]);\n }\n return result.filter(function (url) {\n return !util.isDataUrl(url);\n });\n }\n\n function inline(string, url, baseUrl, get) {\n return Promise.resolve(url)\n .then(function (url) {\n return baseUrl ? util.resolveUrl(url, baseUrl) : url;\n })\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(url));\n })\n .then(function (dataUrl) {\n return string.replace(urlAsRegex(url), '$1' + dataUrl + '$3');\n });\n\n function urlAsRegex(url) {\n return new RegExp('(url\\\\([\\'\"]?)(' + util.escape(url) + ')([\\'\"]?\\\\))', 'g');\n }\n }\n\n function inlineAll(string, baseUrl, get) {\n if (nothingToInline()) return Promise.resolve(string);\n\n return Promise.resolve(string)\n .then(readUrls)\n .then(function (urls) {\n var done = Promise.resolve(string);\n urls.forEach(function (url) {\n done = done.then(function (string) {\n return inline(string, url, baseUrl, get);\n });\n });\n return done;\n });\n\n function nothingToInline() {\n return !shouldProcess(string);\n }\n }\n }\n\n function newFontFaces() {\n return {\n resolveAll: resolveAll,\n impl: {\n readAll: readAll\n }\n };\n\n function resolveAll() {\n return readAll(document)\n .then(function (webFonts) {\n return Promise.all(\n webFonts.map(function (webFont) {\n return webFont.resolve();\n })\n );\n })\n .then(function (cssStrings) {\n return cssStrings.join('\\n');\n });\n }\n\n function readAll() {\n return Promise.resolve(util.asArray(document.styleSheets))\n .then(getCssRules)\n .then(selectWebFontRules)\n .then(function (rules) {\n return rules.map(newWebFont);\n });\n\n function selectWebFontRules(cssRules) {\n return cssRules\n .filter(function (rule) {\n return rule.type === CSSRule.FONT_FACE_RULE;\n })\n .filter(function (rule) {\n return inliner.shouldProcess(rule.style.getPropertyValue('src'));\n });\n }\n\n function getCssRules(styleSheets) {\n var cssRules = [];\n styleSheets.forEach(function (sheet) {\n try {\n util.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules));\n } catch (e) {\n console.log('Error while reading CSS rules from ' + sheet.href, e.toString());\n }\n });\n return cssRules;\n }\n\n function newWebFont(webFontRule) {\n return {\n resolve: function resolve() {\n var baseUrl = (webFontRule.parentStyleSheet || {}).href;\n return inliner.inlineAll(webFontRule.cssText, baseUrl);\n },\n src: function () {\n return webFontRule.style.getPropertyValue('src');\n }\n };\n }\n }\n }\n\n function newImages() {\n return {\n inlineAll: inlineAll,\n impl: {\n newImage: newImage\n }\n };\n\n function newImage(element) {\n return {\n inline: inline\n };\n\n function inline(get) {\n if (util.isDataUrl(element.src)) return Promise.resolve();\n\n return Promise.resolve(element.src)\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(element.src));\n })\n .then(function (dataUrl) {\n return new Promise(function (resolve, reject) {\n element.onload = resolve;\n element.onerror = reject;\n element.src = dataUrl;\n });\n });\n }\n }\n\n function inlineAll(node) {\n if (!(node instanceof Element)) return Promise.resolve(node);\n\n return inlineBackground(node)\n .then(function () {\n if (node instanceof HTMLImageElement)\n return newImage(node).inline();\n else\n return Promise.all(\n util.asArray(node.childNodes).map(function (child) {\n return inlineAll(child);\n })\n );\n });\n\n function inlineBackground(node) {\n var background = node.style.getPropertyValue('background');\n\n if (!background) return Promise.resolve(node);\n\n return inliner.inlineAll(background)\n .then(function (inlined) {\n node.style.setProperty(\n 'background',\n inlined,\n node.style.getPropertyPriority('background')\n );\n })\n .then(function () {\n return node;\n });\n }\n }\n }\n})(this);\n","/* ====================== PARTIE DATA ==================== */\r\n/* == Définition des datas par défaut pour chaque charge == */\r\n/* ======================================================== */\r\n\r\nimport MotorDesign from '@/domain/enums/MotorDesign'\r\nimport Feedable from '@/global/dejaVue/feedable'\r\nimport { ChargeModelVisitorInterface } from './ChargeModelVisitorInterface'\r\nimport { ChargeViewModel } from './chargePatronModel'\r\nimport MotorCodeModel from './motorCode'\r\nimport TypeCharge from './typeCharge'\r\n\r\nexport interface VisitableChargeModel {\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel\r\n}\r\n\r\nexport class Harmonics extends Feedable {\r\n id = 0\r\n n3 = 0\r\n n5 = 0\r\n n7 = 0\r\n n9 = 0\r\n n11 = 0\r\n n13 = 0\r\n n15 = 0\r\n n17 = 0\r\n n19 = 0\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n\r\nexport class HarmonicsHelper {\r\n static getFromArray(ichdArray: number[] | undefined): Harmonics {\r\n const harmonics = new Harmonics()\r\n if (ichdArray != undefined && ichdArray.length > 0) {\r\n let i = 0\r\n Object.keys(harmonics).forEach(key => {\r\n if (key != 'id') {\r\n if (i < ichdArray.length) {\r\n ; (harmonics as any)[key] = ichdArray[i]\r\n }\r\n i++\r\n }\r\n })\r\n }\r\n return harmonics\r\n }\r\n\r\n static getFromICHD(ichd: string | undefined) {\r\n const harmonics = new Harmonics()\r\n if (ichd != undefined) {\r\n const ichdArray = JSON.parse(ichd)\r\n if (ichdArray.length > 0) {\r\n let i = 0\r\n Object.keys(harmonics).forEach(key => {\r\n if (key != 'id') {\r\n if (i < ichdArray.length) {\r\n ; (harmonics as any)[key] = ichdArray[i]\r\n }\r\n i++\r\n }\r\n })\r\n }\r\n }\r\n return harmonics\r\n }\r\n\r\n static areHarmonicsEquals(h1: Harmonics, h2: Harmonics) {\r\n return (\r\n h1.n3 == h2.n3 &&\r\n h1.n5 == h2.n5 &&\r\n h1.n7 == h2.n7 &&\r\n h1.n9 == h2.n9 &&\r\n h1.n11 == h2.n11 &&\r\n h1.n13 == h2.n13 &&\r\n h1.n15 == h2.n15 &&\r\n h1.n17 == h2.n17 &&\r\n h1.n19 == h2.n19\r\n )\r\n }\r\n\r\n static prepareForCompute(harmonics: Harmonics) {\r\n return [\r\n harmonics?.n3,\r\n harmonics?.n5,\r\n harmonics?.n7,\r\n harmonics?.n9,\r\n harmonics?.n11,\r\n harmonics?.n13,\r\n harmonics?.n15,\r\n harmonics?.n17,\r\n harmonics?.n19\r\n ]\r\n }\r\n}\r\nexport class ChargeModel extends Feedable implements VisitableChargeModel {\r\n [x: string]: any\r\n id = 0\r\n description = ''\r\n type = 0\r\n nom = ''\r\n meta_Order = 1\r\n meta_StepOrder = 1\r\n step = 1\r\n //readyForcalculation = false\r\n loads = new Set()\r\n /* Les champs de données qui seraient en commun entre toutes les données des charges */\r\n\r\n constructor(options?: any) {\r\n super()\r\n }\r\n readyForcalculation(): boolean {\r\n return true\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n throw new Error('Method not implemented.')\r\n }\r\n}\r\nexport interface LoadWhithEfficiency {\r\n efficiency: number\r\n manualEfficiency: boolean\r\n}\r\nexport interface LoadWithHarmonics extends ChargeModel {\r\n harmonics?: Harmonics\r\n ithd?: number\r\n userIthd?: boolean\r\n haveInputFilter: boolean\r\n}\r\nexport interface LoadWithLoadConnection extends ChargeModel {\r\n idLoadConnection?: number\r\n}\r\nexport interface LoadWithStartingPower extends ChargeModel {\r\n startingPower?: number\r\n powerAmpsValue: number\r\n}\r\nexport interface LoadWithLoadFactor extends ChargeModel {\r\n loadFactor: number\r\n}\r\nexport class PowerFactorGeneric extends ChargeModel {\r\n runningPF?: number\r\n startingPF?: number\r\n manualRpf = true\r\n manualSpf = true\r\n}\r\n\r\nexport class ChargeLighting extends ChargeModel\r\n implements LoadWithLoadConnection, LoadWithHarmonics, LoadWithLoadFactor {\r\n type = TypeCharge.Lighting\r\n nom = 'Lighting'\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n unit = 'kW'\r\n powerAmpsValue = 0\r\n haveInputFilter = false\r\n idLightingType = 1\r\n idBallast = 1\r\n runningPF = 1\r\n runningKW = 0\r\n startingPF = 1\r\n ithd?: number\r\n userIthd = false\r\n loadFactor = 1\r\n calculation = 0\r\n harmonics = new Harmonics()\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.Lighting\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitLighting(this)\r\n }\r\n}\r\nexport class ChargeBatteryCharger extends ChargeModel\r\n implements LoadWithLoadConnection, LoadWithHarmonics {\r\n type = TypeCharge.BatteryCharger\r\n\r\n nom = 'BatteryCharger'\r\n description = ''\r\n qt = 1\r\n unit = 'kW' // future liste des unités de mesure\r\n powerAmpsValue = 0\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n idBatteryType = 0\r\n idTypeRectifier = 0\r\n haveInputFilter = false\r\n currentCharge = 0\r\n runningPF = 1\r\n runningKW = 0\r\n startingPF = 1\r\n ithd?: number\r\n userIthd = false\r\n harmonics = new Harmonics()\r\n calculation = 0\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.BatteryCharger\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitBatteryCharger(this)\r\n }\r\n}\r\nexport class ChargeOfficeEquipement extends PowerFactorGeneric\r\n implements LoadWithLoadConnection, LoadWithHarmonics {\r\n type = TypeCharge.OfficeEquipement\r\n nom = 'OfficeEquipement'\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n numberOfComputer = 0\r\n numberOfPrinter = 0\r\n numberOfFax = 0\r\n numberOfCopiers = 0\r\n runningPF = 0.01\r\n runningKW = 0\r\n startingPF = 0.01\r\n ithd?: number\r\n userIthd = false\r\n harmonics = new Harmonics()\r\n calculation = 0\r\n haveInputFilter = false\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.OfficeEquipement\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitOfficeEquipment(this)\r\n }\r\n}\r\nexport class ChargeMiscLinear extends PowerFactorGeneric\r\n implements LoadWithLoadConnection, LoadWithStartingPower, LoadWithLoadFactor {\r\n type = TypeCharge.LinearLoad\r\n nom = 'LinearLoad'\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n unit = 'kW'\r\n powerAmpsValue = 0.0\r\n isOff = false\r\n startingPower = 0.0\r\n runningPF = 1.0\r\n runningKW = 0\r\n startingPF = 1.0\r\n loadFactor = 1.0\r\n calculation = 0\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.LinearLoad\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitMiscLinear(this)\r\n }\r\n}\r\nexport class ChargeMiscNonLinear extends ChargeModel\r\n implements LoadWithLoadConnection, LoadWithHarmonics, LoadWithStartingPower, LoadWithLoadFactor {\r\n type = TypeCharge.NoLinearLoad\r\n nom = 'NoLinearLoad'\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n unit = 'kW'\r\n powerAmpsValue = 0\r\n haveInputFilter = false\r\n runningPF = 0.9\r\n runningKW = 0\r\n idUpsType = 1\r\n isOff = false\r\n startingPower = 0\r\n startingPF = 0.9\r\n ithd?: number\r\n loadFactor = 1\r\n userIthd = false\r\n harmonics = new Harmonics()\r\n calculation = ''\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.NoLinearLoad\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitNonMiscLinear(this)\r\n }\r\n}\r\n\r\nexport class ChargeUPS extends PowerFactorGeneric\r\n implements LoadWithHarmonics, LoadWithLoadConnection, LoadWhithEfficiency {\r\n type = TypeCharge.UPS\r\n nom = 'UPS'\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n haveInputFilter = false\r\n idUpsType = 2\r\n outputRating = 0\r\n loadingPercentage = 100.0\r\n batteryChargerPercentage = 25.0\r\n runningPF = 0.85\r\n runningKW = 0\r\n startingPF = 0.85\r\n ithd = 28.9\r\n userIthd = false\r\n efficiency = 0.9\r\n manualEfficiency = true\r\n harmonics = new Harmonics()\r\n calculation = 0\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.UPS\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitUPS(this)\r\n }\r\n}\r\nexport class ChargeMedicalEquipement extends ChargeModel\r\n implements LoadWithLoadConnection {\r\n type = TypeCharge.MedicalEquipment\r\n nom = 'MedicalEquipment'\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 2\r\n idVoltage = 13\r\n maxVoltageDip = 15\r\n maxPeakKVA = 0\r\n runningKW = 0\r\n pFAtMaxPeakKVA = 0.9\r\n continuousKVA = 0\r\n continuousPF = 0.9\r\n isOff = false\r\n calculation = 0\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.MedicalEquipment\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitMedicalEquipment(this)\r\n }\r\n}\r\nexport class ChargeWelder extends ChargeModel\r\n implements LoadWithLoadConnection, LoadWithHarmonics, LoadWithLoadFactor {\r\n type = TypeCharge.Welder\r\n nom = 'Welder'\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n haveInputFilter = false\r\n runningKVA = 0\r\n runningKW = 0\r\n peakKVA = 0\r\n idWelderSpec = 1\r\n isOff = false\r\n runningPF = 0.8\r\n startingPF = 0.4\r\n ithd = 12.0\r\n userIthd = false\r\n loadFactor = 1.0\r\n harmonics = new Harmonics()\r\n calculation = 0\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.Welder\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitWelder(this)\r\n }\r\n}\r\n\r\nexport class ChargeMotorGeneric extends PowerFactorGeneric\r\n implements LoadWithLoadConnection, LoadWithHarmonics, LoadWhithEfficiency, LoadWithLoadFactor {\r\n description = ''\r\n qt = 1\r\n idLoadConnection = 9\r\n idVoltage = 13\r\n powerAmpsValue = 0\r\n startingAmps = 0\r\n numberOfPhases = 3\r\n haveInputFilter = false\r\n idMotorCodeLetter = 1\r\n idMotorStartingMethod = 1\r\n idMotorVFDType? = 1\r\n idMotorSinglePhaseType: number | undefined = 1\r\n sCCL = 3\r\n design: MotorDesign = MotorDesign.NEMA\r\n isLoaded = true\r\n isOff = false\r\n runningPF = 0.01\r\n runningKW = 0\r\n startingPF = 0.01\r\n ithd?: number\r\n userIthd = false\r\n vFDSkVaLimit? = 100.0\r\n vFDEfficiency? = 0.9\r\n efficiency = 0.5\r\n harmonics = new Harmonics()\r\n calculation = 0\r\n loadFactor = 1.0\r\n manualMotorCodeLetter = true\r\n motoCode?: MotorCodeModel\r\n manualEfficiency = true\r\n unit = ''\r\n readyForcalculation(): boolean {\r\n return this.powerAmpsValue != 0\r\n }\r\n}\r\nexport class ChargeMotor extends ChargeMotorGeneric {\r\n type = TypeCharge.Motor\r\n nom = 'Motor'\r\n unit = 'HP'\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.Motor\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitMotor(this)\r\n }\r\n}\r\nexport class ChargeAirConditionner extends ChargeMotorGeneric {\r\n type = TypeCharge.AirConditioner\r\n nom = 'AirConditioner'\r\n unit = 'Tons'\r\n numberOfCompressors = 1\r\n tonHeating = 0\r\n sEER = 13\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.AirConditioner\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitAirConditionner(this)\r\n }\r\n}\r\nexport class ChargeFirePump extends ChargeMotorGeneric {\r\n type = TypeCharge.FirePump\r\n nom = 'FirePump'\r\n description = ''\r\n unit = 'kVA'\r\n isVoltageDipLock = true\r\n\r\n isNECRequirement = true\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.FirePump\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitFirePump(this)\r\n }\r\n}\r\nexport class ChargeElevator extends ChargeMotorGeneric {\r\n type = TypeCharge.Elevator\r\n nom = 'Elevator'\r\n unit = 'HP'\r\n haveRegenerativeDrive = false\r\n regenerativeDrivePercentage = 0\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.Elevator\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitElevator(this)\r\n }\r\n}\r\nexport class ChargeATS extends ChargeModel {\r\n type = TypeCharge.ATS\r\n nom = 'ATS'\r\n description = ''\r\n amps = 0\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.ATS\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitATS(this)\r\n }\r\n}\r\nexport class ChargeTransformer extends ChargeModel {\r\n type = TypeCharge.Transformer\r\n nom = 'Transformer'\r\n description = ''\r\n kVARating = 0\r\n idPrimaryVoltage = 13\r\n idSecondaryVoltage = 13\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.Transformer\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitTransformer(this)\r\n }\r\n}\r\nexport class ChargeCircuitBreaker extends ChargeModel {\r\n type = TypeCharge.CircuitBreaker\r\n nom = 'CircuitBreaker'\r\n description = ''\r\n amps = 0\r\n percentageRating = 80\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options, true)\r\n this.type = TypeCharge.CircuitBreaker\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitCircuitBreaker(this)\r\n }\r\n}\r\nexport class ChargeGenerator extends ChargeModel {\r\n type = TypeCharge.Generator\r\n nom = 'Generator'\r\n description = ''\r\n qt = 1\r\n phase = 3\r\n voltage = ''\r\n frequency = ''\r\n\r\n constructor(options?: any) {\r\n super(options)\r\n this.feed(options)\r\n this.type = TypeCharge.Generator\r\n }\r\n\r\n accept(visitor: ChargeModelVisitorInterface): ChargeViewModel {\r\n return visitor.visitGenerator(this)\r\n }\r\n}\r\n\r\nexport class ChargeModelHelper {\r\n static getFromBack(loadFromBack: any): ChargeModel {\r\n const loadType = loadFromBack['loadType']\r\n let newLoad = new ChargeModel()\r\n switch (loadType) {\r\n case 'AirConditioner':\r\n newLoad = new ChargeAirConditionner(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'BatteryCharger':\r\n newLoad = new ChargeBatteryCharger(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'Elevator':\r\n newLoad = new ChargeElevator(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'FirePump':\r\n newLoad = new ChargeFirePump(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'Lighting':\r\n newLoad = new ChargeLighting(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'LinearLoad':\r\n newLoad = new ChargeMiscLinear(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'MedicalEquipment':\r\n newLoad = new ChargeMedicalEquipement(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'Motor':\r\n newLoad = new ChargeMotor(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'NoLinearLoad':\r\n newLoad = new ChargeMiscNonLinear(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'OfficeEquipment':\r\n newLoad = new ChargeOfficeEquipement(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'UPS':\r\n newLoad = new ChargeUPS(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'Welder':\r\n newLoad = new ChargeWelder(loadFromBack)\r\n newLoad.runningKW = loadFromBack['RunningKw']\r\n break\r\n case 'ATS':\r\n newLoad = new ChargeATS(loadFromBack)\r\n break\r\n case 'CircuitBreaker':\r\n newLoad = new ChargeCircuitBreaker(loadFromBack)\r\n break\r\n case 'Transformer':\r\n newLoad = new ChargeTransformer(loadFromBack)\r\n break\r\n default:\r\n break\r\n }\r\n\r\n const childLoads = loadFromBack['loads']\r\n if (childLoads != undefined && childLoads.length > 0) {\r\n childLoads.forEach((childLoadFromBack: any) => {\r\n const chargeModel = ChargeModelHelper.getFromBack(childLoadFromBack)\r\n newLoad.loads.add(chargeModel)\r\n })\r\n }\r\n\r\n return newLoad\r\n }\r\n}\r\n","enum TypeCharge {\r\n Generator = 0,\r\n Lighting = 1,\r\n BatteryCharger = 2,\r\n OfficeEquipement = 3,\r\n LinearLoad = 4,\r\n NoLinearLoad = 5,\r\n UPS = 6,\r\n MedicalEquipment = 7,\r\n Welder = 8,\r\n Motor = 9,\r\n AirConditioner = 10,\r\n FirePump = 11,\r\n Elevator = 12,\r\n ATS = 13,\r\n Transformer = 14,\r\n CircuitBreaker = 15\r\n}\r\nexport default TypeCharge\r\n"],"sourceRoot":""}