{"version":3,"sources":["webpack:///./src/mtapi/cart.js","webpack:///./src/mtapi/entity.js","webpack:///./src/mtapi/browser.js","webpack:///./src/mtapi/index.js","webpack:///./src/mtapi/core.js","webpack:///./src/mtapi/document.js","webpack:///./src/utils/public-path.js"],"names":["CartManager","this","current","selectedPartyId","mtapi","clientContext","loggedInPartyId","axios","get","response","data","Count","createCart","created","updateCartCount","Items","$values","console","error","currentDate","Date","cartData","$type","UserId","ComboOrder","Order","BillToCustomerParty","PartyId","Delivery","Lines","SoldToCustomerParty","UpdateInformation","CreatedBy","CreatedOn","toISOString","slice","UpdatedBy","UpdatedOn","post","status","delete","CartId","productCode","quantity","lineIndex","productLineInCart","QuantityOrdered","Amount","lineData","OrderLineId","guid","Item","ItemId","LineNumber","CanCombine","push","put","warn","findIndex","x","currentQuantity","productQuantityInCart","splice","window","updateCartItemCount","cart","ImisEntity","source","Object","defineProperty","enumerable","writable","_data","JSON","parse","Properties","forEach","property","Name","Value","$value","set","value","configurable","getOwnPropertyNames","propertyName","hasOwnProperty","Array","isArray","toLowerCase","includes","arr","map","item","obj","stringify","ImisEntityCollection","startsWith","Offset","Limit","TotalCount","HasNext","NextOffset","Entities","entity","openObjectBrowserDialog","options","showRecycleBin","hideAddress","showMenu","showMenuPublish","showMenuVersions","showMenuRun","showMenuPreview","hideMenuNew","hideMenuEdit","hideMenuOrganize","log","core","docs","browser","$mtapi","eventBus","Vue","uid","document","getElementById","defaults","baseURL","gWebRoot","headers","common","RequestVerificationToken","withCredentials","ready","callback","readyState","addEventListener","attachEvent","result","v4","isGuid","test","delay","ms","Promise","resolve","setTimeout","getDocumentByVersionKey","documentVersionKey","OperationName","EntityTypeName","Parameters","ParameterTypeName","UseJson","then","Result","getDocumentByPath","documentPath","getIqaDefinition","documentPathOrVersionKey","System","String","base64ToBlob","base64","mime","sliceSize","byteChars","atob","byteArrays","offset","len","length","byteNumbers","i","charCodeAt","byteArray","Uint8Array","Blob","type","documentTypeIdToMime","documentTypeId","fileType","MimeType","split","downloadBlobAsFile","blob","filename","navigator","msSaveBlob","msSaveOrOpenBlob","element","createElement","setAttribute","URL","createObjectURL","style","display","body","appendChild","click","removeChild","getBlobAndFileNameFromDocumentSystem","base64Data","Data","DocumentTypeId","fileName","getBlobAndFileNameFromUDFile","xmlDoc","DOMParser","parseFromString","getElementsByTagName","textContent","fileUploadToUDFile","file","encodedFile","btoa","name","pop","toUpperCase","readAsBinaryStringSupported","FileReader","prototype","readAsBinaryString","__webpack_public_path__","process","replace"],"mappings":"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","file":"js/chunk-common.90cfc7fe.js","sourcesContent":["import mtapi from './core'\r\n\r\nclass CartManager {\r\n constructor () {\r\n this.current = null\r\n }\r\n\r\n async getCart (selectedPartyId = mtapi.clientContext.selectedPartyId, loggedInPartyId = mtapi.clientContext.loggedInPartyId) {\r\n try {\r\n this.current = null\r\n const response = await mtapi.axios.get(`/api/Cart?UserId=${selectedPartyId}&UpdatedBy=${loggedInPartyId}`)\r\n if (response.data.Count === 0) {\r\n const created = await this.createCart(selectedPartyId, loggedInPartyId)\r\n this.updateCartCount()\r\n return created\r\n } else {\r\n this.current = response.data.Items.$values[0]\r\n this.updateCartCount()\r\n return true\r\n }\r\n } catch (error) {\r\n this.current = null\r\n console.error('Error: could not get cart')\r\n return false\r\n }\r\n }\r\n\r\n async createCart (selectedPartyId = mtapi.clientContext.selectedPartyId, loggedInPartyId = mtapi.clientContext.loggedInPartyId) {\r\n try {\r\n this.current = null\r\n const currentDate = new Date()\r\n const cartData = {\r\n $type: 'Asi.Soa.Commerce.DataContracts.CartData, Asi.Contracts',\r\n UserId: selectedPartyId,\r\n ComboOrder: {\r\n $type: 'Asi.Soa.Commerce.DataContracts.ComboOrderData, Asi.Contracts',\r\n Order: {\r\n $type: 'Asi.Soa.Commerce.DataContracts.OrderData, Asi.Contracts',\r\n BillToCustomerParty: {\r\n $type: 'Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts',\r\n PartyId: selectedPartyId\r\n },\r\n Delivery: {\r\n $type: 'Asi.Soa.Commerce.DataContracts.DeliveryDataCollection, Asi.Contracts',\r\n $values: [\r\n {\r\n $type: 'Asi.Soa.Commerce.DataContracts.DeliveryData, Asi.Contracts'\r\n }\r\n ]\r\n },\r\n Lines: {\r\n $type: 'Asi.Soa.Commerce.DataContracts.OrderLineDataCollection, Asi.Contracts',\r\n $values: []\r\n },\r\n SoldToCustomerParty: {\r\n $type: 'Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts',\r\n PartyId: selectedPartyId\r\n }\r\n }\r\n },\r\n UpdateInformation: {\r\n $type: 'Asi.Soa.Core.DataContracts.EntityUpdateInformationData, Asi.Contracts',\r\n CreatedBy: loggedInPartyId,\r\n CreatedOn: currentDate.toISOString().slice(0, -1),\r\n UpdatedBy: loggedInPartyId,\r\n UpdatedOn: currentDate.toISOString().slice(0, -1)\r\n }\r\n }\r\n const response = await mtapi.axios.post('/api/Cart', cartData)\r\n if (response.status === 201) {\r\n this.current = response.data\r\n return true\r\n } else {\r\n console.error('Error: could not create cart')\r\n return false\r\n }\r\n } catch (error) {\r\n this.current = null\r\n console.error('Error: could not create cart')\r\n return false\r\n }\r\n }\r\n\r\n async clearCart () {\r\n try {\r\n if (this.current) {\r\n const response = await mtapi.axios.delete(`/api/Cart/${this.current.CartId}`)\r\n this.current = null\r\n this.updateCartCount()\r\n return response.status === 200\r\n } else {\r\n this.current = null\r\n return true\r\n }\r\n } catch (error) {\r\n this.current = null\r\n console.error('Error: could not clear cart')\r\n return false\r\n }\r\n }\r\n\r\n async addProductToCart (productCode, quantity = 1) {\r\n try {\r\n if (this.current) {\r\n const lineIndex = this.productLineInCart(productCode)\r\n if (lineIndex > -1) {\r\n this.current.ComboOrder.Order.Lines.$values[lineIndex].QuantityOrdered.Amount += quantity\r\n } else {\r\n const lineData = {\r\n $type: 'Asi.Soa.Commerce.DataContracts.OrderLineData, Asi.Contracts',\r\n OrderLineId: mtapi.guid(),\r\n Item: {\r\n $type: 'Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts',\r\n ItemId: productCode\r\n },\r\n LineNumber: 1,\r\n QuantityOrdered: {\r\n $type: 'System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib',\r\n Amount: quantity\r\n },\r\n CanCombine: true\r\n }\r\n this.current.ComboOrder.Order.Lines.$values.push(lineData)\r\n }\r\n const response = await mtapi.axios.put(`/api/Cart/${this.current.CartId}`, this.current)\r\n this.current = response.data\r\n this.updateCartCount()\r\n return true\r\n } else {\r\n console.warn('Warning: cannot add product to cart, please load a cart first')\r\n return false\r\n }\r\n } catch (error) {\r\n this.current = null\r\n console.error('Error: could not add product to cart')\r\n return false\r\n }\r\n }\r\n\r\n productLineInCart (productCode) {\r\n if (this.current) {\r\n return this.current.ComboOrder.Order.Lines.$values.findIndex(x => x.Item.ItemId === productCode)\r\n } else {\r\n return -1\r\n }\r\n }\r\n\r\n productQuantityInCart (productCode) {\r\n if (this.current) {\r\n const lineIndex = this.productLineInCart(productCode)\r\n if (lineIndex > -1) {\r\n return this.current.ComboOrder.Order.Lines.$values[lineIndex].QuantityOrdered.Amount\r\n }\r\n }\r\n return 0\r\n }\r\n\r\n async removeProductFromCart (productCode, quantity = 1) {\r\n try {\r\n if (this.current) {\r\n const currentQuantity = this.productQuantityInCart(productCode)\r\n if (currentQuantity === 0) { return false }\r\n const lineIndex = this.productLineInCart(productCode)\r\n if (currentQuantity - quantity > 0) { this.current.ComboOrder.Order.Lines.$values[lineIndex].QuantityOrdered.Amount -= quantity } else { this.current.ComboOrder.Order.Lines.$values.splice(lineIndex, 1) }\r\n const response = await mtapi.axios.put(`/api/Cart/${this.current.CartId}`, this.current)\r\n this.current = response.data\r\n this.updateCartCount()\r\n return true\r\n } else {\r\n console.warn('Warning: cannot remove product from cart, please load a cart first')\r\n return false\r\n }\r\n } catch (error) {\r\n this.current = null\r\n console.error('Error: could not remove product from cart')\r\n return false\r\n }\r\n }\r\n\r\n updateCartCount () {\r\n if (typeof window.updateCartItemCount === 'function') { window.updateCartItemCount() }\r\n }\r\n}\r\n\r\nconst cart = new CartManager()\r\n\r\nexport default {\r\n cart\r\n}\r\n","/* eslint-disable no-prototype-builtins */\r\nclass ImisEntity {\r\n constructor (source) {\r\n Object.defineProperty(this, '_data', { enumerable: false, writable: true })\r\n this._data = typeof source === 'string' ? JSON.parse(source) : source\r\n if (typeof this._data === 'object') {\r\n if (this._data.$type === 'Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts') {\r\n // Generic entity data. Pivot and flatten properties.\r\n this._data.Properties.$values.forEach((property) => {\r\n Object.defineProperty(this, property.Name, {\r\n get () {\r\n if (typeof property.Value === 'object') { return property.Value.$value } else { return property.Value }\r\n },\r\n set (value) {\r\n if (typeof property.Value === 'object') { property.Value.$value = value } else { property.Value = value }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n })\r\n })\r\n } else {\r\n // Other entity types. Flatten collection $values to simple arrays.\r\n Object.getOwnPropertyNames(this._data).forEach((propertyName) => {\r\n if (this._data[propertyName] && typeof this._data[propertyName] === 'object') {\r\n if (this._data[propertyName].hasOwnProperty('$type') &&\r\n this._data[propertyName].hasOwnProperty('$values') &&\r\n Array.isArray(this._data[propertyName].$values) &&\r\n this._data[propertyName].$type.toLowerCase().includes('collection')) {\r\n const arr = this._data[propertyName].$values.map((item) => {\r\n if (item && typeof item === 'object') { return new ImisEntity(item) } else { return item }\r\n })\r\n Object.defineProperty(this, propertyName, {\r\n get () {\r\n return arr\r\n },\r\n set (value) {\r\n this._data[propertyName].$values = value\r\n },\r\n enumerable: true,\r\n configurable: true\r\n })\r\n } else {\r\n const obj = new ImisEntity(this._data[propertyName])\r\n Object.defineProperty(this, propertyName, {\r\n get () {\r\n return obj\r\n },\r\n set (value) {\r\n this._data[propertyName] = value\r\n },\r\n enumerable: true,\r\n configurable: true\r\n })\r\n }\r\n } else {\r\n if (propertyName.toLowerCase() !== '$type') {\r\n Object.defineProperty(this, propertyName, {\r\n get () {\r\n return this._data[propertyName]\r\n },\r\n set (value) {\r\n this._data[propertyName] = value\r\n },\r\n enumerable: true,\r\n configurable: true\r\n })\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n getObject () {\r\n return this._data\r\n }\r\n\r\n getJSON () {\r\n return JSON.stringify(this._data)\r\n }\r\n}\r\n/* eslint-enable no-prototype-builtins */\r\n\r\nclass ImisEntityCollection {\r\n constructor (source) {\r\n Object.defineProperty(this, '_data', { enumerable: false, writable: true })\r\n this._data = typeof source === 'string' ? JSON.parse(source) : source\r\n if (typeof this._data === 'object' &&\r\n this._data.$type &&\r\n this._data.$type.startsWith('Asi.Soa.Core.DataContracts.PagedResult')\r\n ) {\r\n this.Offset = this._data.Offset\r\n this.Limit = this._data.Limit\r\n this.Count = this._data.Count\r\n this.TotalCount = this._data.TotalCount\r\n this.HasNext = this._data.HasNext\r\n this.NextOffset = this._data.NextOffset\r\n this.Entities = []\r\n this._data.Items.$values.forEach((entity) => {\r\n this.Entities.push(new ImisEntity(entity))\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default {\r\n ImisEntity, ImisEntityCollection\r\n}\r\n","// import mtapi from './core'\r\n/*\r\nclass objectBrowserDialog {\r\n constructor () {\r\n this.options = {\r\n windowTitle: 'Document Browser',\r\n documentPath\r\n }\r\n }\r\n}\r\n*/\r\nconst openObjectBrowserDialog = (\r\n documentPath = '@/',\r\n rootFolder = '',\r\n typeFilter = '',\r\n windowTitle = 'Document Browser',\r\n multiSelect = false,\r\n publishedOnly = false,\r\n options = {\r\n showRecycleBin: false,\r\n hideAddress: false,\r\n showMenu: false,\r\n showMenuPublish: false,\r\n showMenuVersions: false,\r\n showMenuRun: false,\r\n showMenuPreview: false,\r\n hideMenuNew: false,\r\n hideMenuEdit: false,\r\n hideMenuOrganize: false\r\n }\r\n) => {\r\n console.log(options)\r\n}\r\n\r\nexport default {\r\n openObjectBrowserDialog\r\n}\r\n\r\n/*\r\n\r\n windowTitle: {type:String, default:'Document Browser'},\r\n documentPath: {type:String, default:'@/'},\r\n rootFolder: {type:String, default:''},\r\n typeFilter: {type: String, default:''},\r\n multiSelect: {type:Boolean, default: false},\r\n publishedOnly: {type:Boolean, default: false},\r\n showRecycleBin: {type:Boolean, default: false},\r\n hideAddress: {type:Boolean, default: false},\r\n showMenu: {type:Boolean, default: false},\r\n showMenuPublish: {type:Boolean, default: false},\r\n showMenuVersions: {type:Boolean, default: false},\r\n showMenuRun: {type:Boolean, default: false},\r\n showMenuPreview: {type:Boolean, default: false},\r\n hideMenuNew: {type:Boolean, default: false},\r\n hideMenuEdit: {type:Boolean, default: false},\r\n hideMenuOrganize: {type:Boolean, default: false}\r\n },\r\n data () {\r\n return {\r\n path: ''\r\n }\r\n },\r\n computed: {\r\n urlParams () {\r\n let urlParamString = `DocumentPath=${encodeURIComponent(this.documentPath)}`\r\n if (this.rootFolder !== '')\r\n urlParamString += `&iRootFolder=${encodeURIComponent(this.rootFolder)}`\r\n if (this.typeFilter !== '')\r\n urlParamString += `&TypeFilter=${encodeURIComponent(this.typeFilter.toUpperCase())}`\r\n urlParamString += `&ShowRecycleBin=${this.showRecycleBin}`\r\n if (this.hideAddress)\r\n urlParamString += `&ShowAddress=${!this.hideAddress}`\r\n if (this.showMenu)\r\n urlParamString += `&ShowMenu=${this.showMenu}`\r\n if (this.showMenu) {\r\n urlParamString += `&ShowMenuPublish=${this.showMenuPublish}`\r\n urlParamString += `&ShowMenuVersions=${this.showMenuVersions}`\r\n urlParamString += `&ShowMenuRun=${this.showMenuRun}`\r\n urlParamString += `&ShowMenuPreview=${this.showMenuPreview}`\r\n urlParamString += `&ShowMenuNew=${!this.hideMenuNew}`\r\n urlParamString += `&ShowMenuEdit=${!this.hideMenuEdit}`\r\n urlParamString += `&ShowMenuOrganize=${!this.hideMenuOrganize}`\r\n }\r\n return urlParamString\r\n*/\r\n","import core from './core'\r\nimport cart from './cart'\r\nimport docs from './document'\r\nimport entity from './entity'\r\nimport browser from './browser'\r\n\r\nexport default {\r\n ...core, ...cart, ...docs, ...entity, ...browser\r\n}\r\n","import axios from 'axios'\r\nimport Vue from 'vue'\r\nimport { v4 } from 'uuid'\r\n\r\n/* Setup global event bus. Exposed both through the ES6 module and the window global to allow\r\n event injection from external scripts and to share the same bus instance between different iParts\r\n Sometimes we need to get a unique ID for the DOM, particularly for matching labels to input elements\r\n so also creating a uid counter on the eventBus */\r\nwindow.$mtapi = window.$mtapi || {}\r\nwindow.$mtapi.eventBus = window.$mtapi.eventBus || new Vue({ data: { uid: 0 } })\r\nconst eventBus = window.$mtapi.eventBus\r\n\r\n// Client context - baseUrl, isAnonymous, loggedInPartyId, selectedPartyId, websiteRoot, virtualDir\r\nconst clientContext = JSON.parse(document.getElementById('__ClientContext').value)\r\n\r\n// Axios - set baseurl and add authorization header\r\naxios.defaults.baseURL = window.gWebRoot || ''\r\naxios.defaults.headers.common.RequestVerificationToken = document.getElementById('__RequestVerificationToken').value\r\naxios.defaults.withCredentials = true\r\n\r\n// Call callback after dom ready\r\nconst ready = (callback) => {\r\n if (document.readyState !== 'loading') {\r\n callback()\r\n } else if (document.addEventListener) {\r\n document.addEventListener('DOMContentLoaded', callback)\r\n } else {\r\n document.attachEvent('onreadystatechange', () => {\r\n if (document.readyState !== 'loading') { callback() }\r\n })\r\n }\r\n}\r\n\r\n// Get a unique id for html elements\r\nconst uid = () => {\r\n const result = 'uid-' + eventBus.uid\r\n eventBus.uid++\r\n return result\r\n}\r\n\r\n// Generate a GUID\r\nconst guid = () => {\r\n return v4()\r\n}\r\n\r\n// Check valid GUID\r\nconst isGuid = (value) => {\r\n return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(value)\r\n}\r\n\r\nconst delay = (ms) => new Promise(resolve => setTimeout(resolve, ms))\r\n\r\nexport default {\r\n eventBus, clientContext, axios, ready, uid, guid, isGuid, delay\r\n}\r\n","import mtapi from './'\r\n\r\nconst getDocumentByVersionKey = (documentVersionKey) => {\r\n return mtapi.axios.post('/api/Document/_execute', {\r\n $type: 'Asi.Soa.Core.DataContracts.GenericExecuteRequest, Asi.Contracts',\r\n OperationName: 'FindByVersionId',\r\n EntityTypeName: 'Document',\r\n Parameters: {\r\n $type: 'System.Collections.ObjectModel.Collection`1[[System.Object, mscorlib]], mscorlib',\r\n $values: [\r\n {\r\n $type: 'System.String',\r\n $value: documentVersionKey\r\n }\r\n ]\r\n },\r\n ParameterTypeName: {\r\n $type: 'System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib',\r\n $values: [\r\n 'System.String'\r\n ]\r\n },\r\n UseJson: false\r\n }).then(response => {\r\n if (response.data.$type.startsWith('Asi.Soa.Core.DataContracts.ServiceResponse') && response.data.Result.$type === 'Asi.Soa.Core.DataContracts.DocumentData, Asi.Contracts') {\r\n return response.data.Result\r\n } else {\r\n return response.data\r\n }\r\n })\r\n}\r\n\r\nconst getDocumentByPath = (documentPath) => {\r\n return mtapi.axios.post('/api/Document/_execute', {\r\n $type: 'Asi.Soa.Core.DataContracts.GenericExecuteRequest, Asi.Contracts',\r\n OperationName: 'FindByPath',\r\n EntityTypeName: 'Document',\r\n Parameters: {\r\n $type: 'System.Collections.ObjectModel.Collection`1[[System.Object, mscorlib]], mscorlib',\r\n $values: [\r\n {\r\n $type: 'System.String',\r\n $value: documentPath\r\n }\r\n ]\r\n },\r\n ParameterTypeName: {\r\n $type: 'System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib',\r\n $values: [\r\n 'System.String'\r\n ]\r\n },\r\n UseJson: false\r\n }).then(response => {\r\n if (response.data.$type.startsWith('Asi.Soa.Core.DataContracts.ServiceResponse') && response.data.Result.$type === 'Asi.Soa.Core.DataContracts.DocumentData, Asi.Contracts') {\r\n return response.data.Result\r\n } else {\r\n return response.data\r\n }\r\n })\r\n}\r\n\r\nconst getIqaDefinition = (documentPathOrVersionKey) => {\r\n return mtapi.axios.post('/api/QueryDefinition/_execute', {\r\n $type: 'Asi.Soa.Core.DataContracts.GenericExecuteRequest, Asi.Contracts',\r\n OperationName: mtapi.isGuid(documentPathOrVersionKey) ? 'FindById' : 'FindByPath',\r\n EntityTypeName: 'QueryDefinition',\r\n Parameters: {\r\n $type: 'System.Collections.ObjectModel.Collection`1[[System.Object, mscorlib]], mscorlib',\r\n $values: [\r\n {\r\n $type: 'System.String',\r\n $value: documentPathOrVersionKey\r\n }\r\n ]\r\n },\r\n ParameterTypeName: {\r\n $type: 'System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib',\r\n $values: [\r\n System.String // eslint-disable-line\r\n ]\r\n },\r\n UseJson: false\r\n }).then(response => {\r\n if (response.data.$type.startsWith('Asi.Soa.Core.DataContracts.ServiceResponse') && response.data.Result.$type === 'Asi.Soa.Core.DataContracts.DocumentData, Asi.Contracts') {\r\n return response.data.Result\r\n } else {\r\n return response.data\r\n }\r\n })\r\n}\r\n\r\nconst base64ToBlob = (base64, mime) => {\r\n mime = mime || ''\r\n var sliceSize = 1024\r\n var byteChars = atob(base64)\r\n var byteArrays = []\r\n for (var offset = 0, len = byteChars.length; offset < len; offset += sliceSize) {\r\n var slice = byteChars.slice(offset, offset + sliceSize)\r\n var byteNumbers = new Array(slice.length)\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i)\r\n }\r\n var byteArray = new Uint8Array(byteNumbers)\r\n byteArrays.push(byteArray)\r\n }\r\n return new Blob(byteArrays, { type: mime })\r\n}\r\n\r\nconst documentTypeIdToMime = async (documentTypeId) => {\r\n const response = await mtapi.axios.get(`/api/FileTypeRef/${documentTypeId}`)\r\n const fileType = new mtapi.ImisEntity(response.data)\r\n return fileType.MimeType.split(',')[0]\r\n}\r\n\r\nconst downloadBlobAsFile = (blob, filename) => {\r\n if (navigator.msSaveBlob) {\r\n navigator.msSaveOrOpenBlob(blob, filename)\r\n } else {\r\n var element = document.createElement('a')\r\n element.setAttribute('href', URL.createObjectURL(blob))\r\n element.setAttribute('download', filename)\r\n element.style.display = 'none'\r\n document.body.appendChild(element)\r\n element.click()\r\n document.body.removeChild(element)\r\n }\r\n}\r\n\r\nconst getBlobAndFileNameFromDocumentSystem = async (documentPathOrVersionKey) => {\r\n let response\r\n if (mtapi.isGuid(documentPathOrVersionKey)) { response = await mtapi.getDocumentByVersionKey(documentPathOrVersionKey) } else { response = await mtapi.getDocumentByPath(documentPathOrVersionKey) }\r\n const base64Data = response.Data.$value\r\n const mime = await mtapi.documentTypeIdToMime(response.DocumentTypeId)\r\n const fileName = response.Name\r\n return { blob: mtapi.base64ToBlob(base64Data, mime), fileName: fileName }\r\n}\r\n\r\nconst getBlobAndFileNameFromUDFile = (data) => {\r\n const xmlDoc = new DOMParser().parseFromString(atob(data), 'application/xml')\r\n const fileName = atob(xmlDoc.getElementsByTagName('UploadedFileName').length > 0 ? xmlDoc.getElementsByTagName('UploadedFileName')[0].textContent : '')\r\n const mime = atob(xmlDoc.getElementsByTagName('FileContentType')[0].textContent)\r\n const base64Data = xmlDoc.getElementsByTagName('File')[0].textContent\r\n return { blob: mtapi.base64ToBlob(base64Data, mime), fileName: fileName }\r\n}\r\n\r\nconst fileUploadToUDFile = (file) => {\r\n const encodedFile = btoa(\r\n `\r\n ${btoa(file.type)}\r\n ${btoa(file.name.split('.').pop().toUpperCase())}\r\n ${btoa(file.name)}\r\n ${btoa(file.data)}`)\r\n return encodedFile\r\n}\r\n\r\nconst readAsBinaryStringSupported = (() => {\r\n return typeof FileReader !== 'undefined' &&\r\n typeof FileReader.prototype !== 'undefined' &&\r\n typeof FileReader.prototype.readAsBinaryString !== 'undefined'\r\n})()\r\n\r\nexport default {\r\n getDocumentByVersionKey,\r\n getDocumentByPath,\r\n base64ToBlob,\r\n documentTypeIdToMime,\r\n downloadBlobAsFile,\r\n getBlobAndFileNameFromDocumentSystem,\r\n getBlobAndFileNameFromUDFile,\r\n readAsBinaryStringSupported,\r\n fileUploadToUDFile,\r\n getIqaDefinition\r\n}\r\n","if (process.env.NODE_ENV === 'production') {\r\n __webpack_public_path__ = (window.gWebRoot || '') + process.env.VUE_APP_PATH.replace('[name]', process.env.VUE_APP_NAME) // eslint-disable-line\r\n}\r\n"],"sourceRoot":""}