@roomle/web-sdk 3.10.0 → 3.10.1-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/{api-D64AfPG6.mjs → api-Cjq6uyhy.mjs} +2 -2
  2. package/lib/{api-D64AfPG6.mjs.map → api-Cjq6uyhy.mjs.map} +1 -1
  3. package/lib/asset-loader.worker-CHyN7JB1.mjs.map +1 -1
  4. package/lib/banana-for-scale-Cs2s9dNp.mjs.map +1 -1
  5. package/lib/budgeteer.sw-BCLEIWCW.mjs.map +1 -1
  6. package/lib/{common-utils-uHp4dDZQ.mjs → common-utils-DeAwtH0V.mjs} +2 -2
  7. package/lib/common-utils-DeAwtH0V.mjs.map +1 -0
  8. package/lib/{component-dimensioning-lu16QjEZ.mjs → component-dimensioning-DINSxpnW.mjs} +2 -2
  9. package/lib/{component-dimensioning-lu16QjEZ.mjs.map → component-dimensioning-DINSxpnW.mjs.map} +1 -1
  10. package/lib/{component-raycast-helper-DRE5bxWr.mjs → component-raycast-helper-DiX3LOGg.mjs} +3 -3
  11. package/lib/{component-raycast-helper-DRE5bxWr.mjs.map → component-raycast-helper-DiX3LOGg.mjs.map} +1 -1
  12. package/lib/{configurator-CEHN5oY2.mjs → configurator-BC4t2q94.mjs} +4 -4
  13. package/lib/{configurator-CEHN5oY2.mjs.map → configurator-BC4t2q94.mjs.map} +1 -1
  14. package/lib/configurator-DrfzsCZi.mjs +2 -0
  15. package/lib/{glb-viewer-C03QVqRZ.mjs → glb-viewer-ClwM-_6N.mjs} +5 -5
  16. package/lib/{glb-viewer-C03QVqRZ.mjs.map → glb-viewer-ClwM-_6N.mjs.map} +1 -1
  17. package/lib/glb-viewer-DDQoDXq6.mjs +2 -0
  18. package/lib/{highlight-coordinator-DZReLBh6.mjs → highlight-coordinator-COSQsFCt.mjs} +2 -2
  19. package/lib/{highlight-coordinator-DZReLBh6.mjs.map → highlight-coordinator-COSQsFCt.mjs.map} +1 -1
  20. package/lib/{homag-intelligence-CaflKydn.mjs → homag-intelligence-7erRasyd.mjs} +3 -3
  21. package/lib/{homag-intelligence-CaflKydn.mjs.map → homag-intelligence-7erRasyd.mjs.map} +1 -1
  22. package/lib/{imos-ix-poc-export-helper-D6oTPQr3.mjs → imos-ix-poc-export-helper-ChN0ot1C.mjs} +2 -2
  23. package/lib/{imos-ix-poc-export-helper-D6oTPQr3.mjs.map → imos-ix-poc-export-helper-ChN0ot1C.mjs.map} +1 -1
  24. package/lib/{main-BkA09a6W.mjs → main-dvJVxkY5.mjs} +7612 -7595
  25. package/lib/main-dvJVxkY5.mjs.map +1 -0
  26. package/lib/{material-viewer-Nkl4Qx29.mjs → material-viewer-DsjLu7dY.mjs} +5 -5
  27. package/lib/{material-viewer-Nkl4Qx29.mjs.map → material-viewer-DsjLu7dY.mjs.map} +1 -1
  28. package/lib/packages-DKHZt16c.mjs +4 -0
  29. package/lib/planner-Beg0IuiG.mjs +2 -0
  30. package/lib/{planner-DsChoUH0.mjs → planner-mEOHjdf5.mjs} +3 -3
  31. package/lib/{planner-DsChoUH0.mjs.map → planner-mEOHjdf5.mjs.map} +1 -1
  32. package/lib/roomle-headless.d.ts +7 -4
  33. package/lib/roomle-headless.js +8 -8
  34. package/lib/roomle-sdk.d.ts +7 -4
  35. package/lib/roomle-sdk.js +7 -7
  36. package/lib/{roomle-webgpu-renderer-OGrZqd3w.mjs → roomle-webgpu-renderer--zQziKoO.mjs} +2 -2
  37. package/lib/{roomle-webgpu-renderer-OGrZqd3w.mjs.map → roomle-webgpu-renderer--zQziKoO.mjs.map} +1 -1
  38. package/lib/{scene-renderer-kbl6O83T.mjs → scene-renderer-DfFZINZw.mjs} +3 -3
  39. package/lib/{scene-renderer-kbl6O83T.mjs.map → scene-renderer-DfFZINZw.mjs.map} +1 -1
  40. package/lib/{script-loader-vbm5pELp.mjs → script-loader-CBi6aL4c.mjs} +2 -2
  41. package/lib/{script-loader-vbm5pELp.mjs.map → script-loader-CBi6aL4c.mjs.map} +1 -1
  42. package/lib/{shading-settings-BXL0haNX.mjs → shading-settings-BOXM96zx.mjs} +2 -2
  43. package/lib/{shading-settings-BXL0haNX.mjs.map → shading-settings-BOXM96zx.mjs.map} +1 -1
  44. package/lib/{stats-helper-B4ejVlyj.mjs → stats-helper-BjkO2TkP.mjs} +2 -2
  45. package/lib/{stats-helper-B4ejVlyj.mjs.map → stats-helper-BjkO2TkP.mjs.map} +1 -1
  46. package/lib/{threejs-utils-DQCcy2fJ.mjs → threejs-utils-CFcj19P1.mjs} +2 -2
  47. package/lib/{threejs-utils-DQCcy2fJ.mjs.map → threejs-utils-CFcj19P1.mjs.map} +1 -1
  48. package/lib/{tools-core-f9Mqfmi2.mjs → tools-core-DdgxDXwP.mjs} +3 -3
  49. package/lib/{tools-core-f9Mqfmi2.mjs.map → tools-core-DdgxDXwP.mjs.map} +1 -1
  50. package/package.json +1 -1
  51. package/lib/common-utils-uHp4dDZQ.mjs.map +0 -1
  52. package/lib/configurator-C3LkQHDF.mjs +0 -2
  53. package/lib/glb-viewer-vQQ5RF-e.mjs +0 -2
  54. package/lib/main-BkA09a6W.mjs.map +0 -1
  55. package/lib/packages-CNXXlUsV.mjs +0 -4
  56. package/lib/planner-Z2m78Y_4.mjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"imos-ix-poc-export-helper-D6oTPQr3.mjs","names":[],"sources":["../../packages/configurator-core/src/utils/imos-ix-poc-export-helper.ts"],"sourcesContent":["import { download } from '../../../common-core/src/utils/common-utils';\nimport { convertCObject } from '../../../common-core/src/utils/kernel-utils';\nimport {\n type ConfigurationExporter,\n type ConfiguratorKernelClass,\n ExportType,\n type HomagIxArticleData,\n} from '../../../typings/kernel';\nimport type { PlanOverview } from '../../../typings/planner';\n\nexport interface HomagIxOrderParams {\n orderNumber?: string;\n dispatchDate?: string;\n basketNumber?: string;\n}\n\nexport interface HomagIxHeaderParams {\n comm?: string;\n articleno?: string;\n customer?: string;\n retailer?: string;\n client?: string;\n program?: string;\n employee?: string;\n textLong?: string;\n textShort?: string;\n colour?: string[];\n info?: string[];\n address?: string[];\n billingAddress?: string[];\n shippingAddress?: string[];\n orderPriceInfo?: string[];\n customInfo?: string[];\n}\n\nexport interface HomagIxArticleParams {\n articleTextInfo1?: string;\n articleTextInfo2?: string;\n articlePriceInfo1?: string;\n articlePriceInfo2?: string;\n articlePriceInfo3?: string;\n deliveryPeriod?: string;\n supplier?: string;\n discount?: number;\n discountAbs?: number;\n}\n\nconst createVector3fString = (\n vec: { x: number; y: number; z: number },\n n: number,\n): string => {\n return `${vec.x.toFixed(n)},${vec.y.toFixed(n)},${vec.z.toFixed(n)}`;\n};\n\nconst createSectionFromArray = (\n sectionName: string,\n data: string[] | undefined,\n): string => {\n if (!data) {\n return '';\n }\n let result = '';\n for (let i = 0; i < data.length; i++) {\n result += `<${sectionName}${i + 1}>${data[i]}</${sectionName}${i + 1}>\n `;\n }\n return result;\n};\n\nconst createHeader = (data: HomagIxHeaderParams): string => {\n return `<Head>\n <COMM>${data.comm}</COMM>\n <ARTICLENO>${data.articleno}</ARTICLENO>\n <CUSTOMER>${data.customer}</CUSTOMER>\n <RETAILER>${data.retailer}</RETAILER>\n <CLIENT>${data.client}</CLIENT>\n <PROGRAM>${data.program}</PROGRAM>\n <EMPLOYEE>${data.employee}</EMPLOYEE>\n <TEXT_LONG>${data.textLong}</TEXT_LONG>\n <TEXT_SHORT>${data.textShort}</TEXT_SHORT>\n\n ${createSectionFromArray('COLOUR', data.colour)}\n ${createSectionFromArray('INFO', data.info)}\n ${createSectionFromArray('ADDRESS', data.address)}\n ${createSectionFromArray('BILLING_ADDRESS', data.billingAddress)}\n ${createSectionFromArray('SHIPPING_ADDRESS', data.shippingAddress)}\n ${createSectionFromArray('ORDER_PRICE_INFO', data.orderPriceInfo)}\n ${createSectionFromArray('CUSTOM_INFO', data.customInfo)}\n </Head>`;\n};\n\nconst createArticle = (\n shop: HomagIxArticleParams,\n article: HomagIxArticleData,\n): string => {\n return `\n <Pname>${article.name}</Pname>\n <Count>${article.count}</Count>\n <PVarString>${article.attributes}</PVarString>\n <ARTICLE_TEXT_INFO1>${\n shop.articleTextInfo1 || ''\n }</ARTICLE_TEXT_INFO1>\n <ARTICLE_TEXT_INFO2>${\n shop.articleTextInfo2 || ''\n }</ARTICLE_TEXT_INFO2>\n <ARTICLE_PRICE_INFO1>${\n shop.articlePriceInfo1 || ''\n }</ARTICLE_PRICE_INFO1>\n <ARTICLE_PRICE_INFO2>${\n shop.articlePriceInfo2 || ''\n }</ARTICLE_PRICE_INFO2>\n <ARTICLE_PRICE_INFO3>${\n shop.articlePriceInfo3 || ''\n }</ARTICLE_PRICE_INFO3>\n <Pinsertion>${createVector3fString(\n article.position,\n 2,\n )}</Pinsertion>\n <POrntation>${createVector3fString(\n article.rotation,\n 2,\n )}</POrntation>\n <DeliveryPeriod>${shop.deliveryPeriod || ''}</DeliveryPeriod>\n <LIEFERANT>${shop.supplier || ''}</LIEFERANT>\n <Mengenrabatt>${shop.discount || 0}</Mengenrabatt>\n <MengenrabattAbs>${shop.discountAbs || ''}</MengenrabattAbs>\n `;\n};\n\nconst createArticles = (\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: HomagIxArticleData[],\n): string => {\n let articlesDataString = '';\n for (let i = 0; i < articleCoreData.length; i++) {\n articlesDataString += `<Set LineNo=\"${i + 1}\">${createArticle(\n articleShopData,\n articleCoreData[i],\n )}</Set>\n `;\n }\n return articlesDataString;\n};\n\nexport const createHomagIxXml = (\n orderData: HomagIxOrderParams = {},\n headerData: HomagIxHeaderParams = {},\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: any,\n): string => {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <XML type=\"ListBuilder\">\n <Order No=\"${orderData.orderNumber}\" DispDate=\"${\n orderData.dispatchDate\n }\" Basket=\"${orderData.basketNumber}\">\n ${createHeader(headerData)}\n <BuilderList>\n ${createArticles(articleShopData, articleCoreData.articles)}\n </BuilderList>\n </Order>\n </XML>\n `;\n};\n\n// Mock data section, these can be deleted if proper values are available\nexport const getFakeOrderParams = (): HomagIxOrderParams => {\n const randomNumber = Math.floor(Math.random() * 1000000).toString();\n return {\n orderNumber: 'Order ' + randomNumber,\n dispatchDate: '9/11/1911',\n basketNumber: randomNumber,\n };\n};\n\nexport const getFakeHeaderParams = (): HomagIxHeaderParams => {\n return {\n comm: 'Rubens2Rembrand',\n articleno: 'ExampleSIM',\n customer: 'Roomle',\n retailer: 'Retail',\n client: 'Ex ClientName',\n program: 'program',\n employee: 'Homag',\n textLong: 'long long long txt',\n textShort: 'short txt',\n colour: ['colour1', 'colour2', 'colour3', 'colour4', 'colour5'],\n info: [\n '1Admin',\n '2Firma_ABC',\n '3Adresse_ABC',\n '4PLZ_ABC',\n '5Stadt_ABC',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n ],\n address: [\n 'Admin',\n 'Firma_ABC',\n 'Adresse_ABC',\n 'PLZ_ABC',\n 'Stadt_ABC',\n 'Kundennummer_ABC',\n 'Land_ABC',\n ],\n billingAddress: [\n 'Optional1',\n 'Optional2',\n 'Optional3',\n 'Optional4',\n 'Optional5',\n 'Optional6',\n ],\n shippingAddress: ['opt', 'opt', 'opt', 'opt', 'opt', 'opt'],\n orderPriceInfo: ['000', 'Price002', 'Price003', 'Price004', 'Price005'],\n customInfo: [\n 'CustInf1',\n 'CustInf2',\n 'CustInf3',\n 'CustInf4',\n 'CustInf5',\n 'CustInf6',\n 'CustInf7',\n 'CustInf8',\n 'CustInf9',\n 'CustInf10',\n ],\n };\n};\n\nexport const getFakeArticleParams = (): HomagIxArticleParams => {\n return {};\n};\n\nexport const downloadHomagIxExportPoC = async (\n planOverview: PlanOverview,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n) => {\n const planObjects = convertCObject(planOverview.objects);\n\n let articles: any[] = [];\n\n for (const planObject of planObjects) {\n const configurationRuntimeId = planObject.configurationRuntimeId;\n\n try {\n const planObjectExport = JSON.parse(\n exporter.generateExport(\n ExportType.HOMAGiX,\n configurationRuntimeId,\n kernelInstance,\n ),\n );\n articles = articles.concat(planObjectExport.articles);\n } catch (e) {\n console.error(e);\n return Promise.reject(\n `Could not create export JSON ${ExportType.HOMAGiX}`,\n );\n }\n }\n\n const homagIxOrderData = getFakeOrderParams();\n const homagIxHeaderParams = getFakeHeaderParams();\n const homagIxArticleParams = getFakeArticleParams();\n\n const xmltext = createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n { articles },\n );\n\n let filename = 'IMOSiX.xml';\n download(filename, xmltext);\n return Promise.resolve();\n};\nexport const generateExportHomagIxConfiguration = async (\n planObjectId: number,\n exportType: ExportType,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n defaultExportDefinition: string = '',\n): Promise<any> => {\n try {\n exporter.setDefaultExportDataDefinition(defaultExportDefinition);\n return Promise.resolve(\n JSON.parse(\n exporter.generateExport(exportType, planObjectId, kernelInstance),\n ),\n );\n } catch (e) {\n console.error(e);\n return Promise.reject(`Could not create export JSON ${exportType}`);\n }\n};\n\nexport const homagIxMockUpData = (\n articles: any[],\n homagIxOrderData = {},\n homagIxHeaderParams = {},\n homagIxArticleParams = {},\n) => {\n homagIxOrderData = getFakeOrderParams();\n homagIxHeaderParams = getFakeHeaderParams();\n homagIxArticleParams = getFakeArticleParams();\n\n return createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n articles,\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"imos-ix-poc-export-helper-ChN0ot1C.mjs","names":[],"sources":["../../packages/configurator-core/src/utils/imos-ix-poc-export-helper.ts"],"sourcesContent":["import { download } from '../../../common-core/src/utils/common-utils';\nimport { convertCObject } from '../../../common-core/src/utils/kernel-utils';\nimport {\n type ConfigurationExporter,\n type ConfiguratorKernelClass,\n ExportType,\n type HomagIxArticleData,\n} from '../../../typings/kernel';\nimport type { PlanOverview } from '../../../typings/planner';\n\nexport interface HomagIxOrderParams {\n orderNumber?: string;\n dispatchDate?: string;\n basketNumber?: string;\n}\n\nexport interface HomagIxHeaderParams {\n comm?: string;\n articleno?: string;\n customer?: string;\n retailer?: string;\n client?: string;\n program?: string;\n employee?: string;\n textLong?: string;\n textShort?: string;\n colour?: string[];\n info?: string[];\n address?: string[];\n billingAddress?: string[];\n shippingAddress?: string[];\n orderPriceInfo?: string[];\n customInfo?: string[];\n}\n\nexport interface HomagIxArticleParams {\n articleTextInfo1?: string;\n articleTextInfo2?: string;\n articlePriceInfo1?: string;\n articlePriceInfo2?: string;\n articlePriceInfo3?: string;\n deliveryPeriod?: string;\n supplier?: string;\n discount?: number;\n discountAbs?: number;\n}\n\nconst createVector3fString = (\n vec: { x: number; y: number; z: number },\n n: number,\n): string => {\n return `${vec.x.toFixed(n)},${vec.y.toFixed(n)},${vec.z.toFixed(n)}`;\n};\n\nconst createSectionFromArray = (\n sectionName: string,\n data: string[] | undefined,\n): string => {\n if (!data) {\n return '';\n }\n let result = '';\n for (let i = 0; i < data.length; i++) {\n result += `<${sectionName}${i + 1}>${data[i]}</${sectionName}${i + 1}>\n `;\n }\n return result;\n};\n\nconst createHeader = (data: HomagIxHeaderParams): string => {\n return `<Head>\n <COMM>${data.comm}</COMM>\n <ARTICLENO>${data.articleno}</ARTICLENO>\n <CUSTOMER>${data.customer}</CUSTOMER>\n <RETAILER>${data.retailer}</RETAILER>\n <CLIENT>${data.client}</CLIENT>\n <PROGRAM>${data.program}</PROGRAM>\n <EMPLOYEE>${data.employee}</EMPLOYEE>\n <TEXT_LONG>${data.textLong}</TEXT_LONG>\n <TEXT_SHORT>${data.textShort}</TEXT_SHORT>\n\n ${createSectionFromArray('COLOUR', data.colour)}\n ${createSectionFromArray('INFO', data.info)}\n ${createSectionFromArray('ADDRESS', data.address)}\n ${createSectionFromArray('BILLING_ADDRESS', data.billingAddress)}\n ${createSectionFromArray('SHIPPING_ADDRESS', data.shippingAddress)}\n ${createSectionFromArray('ORDER_PRICE_INFO', data.orderPriceInfo)}\n ${createSectionFromArray('CUSTOM_INFO', data.customInfo)}\n </Head>`;\n};\n\nconst createArticle = (\n shop: HomagIxArticleParams,\n article: HomagIxArticleData,\n): string => {\n return `\n <Pname>${article.name}</Pname>\n <Count>${article.count}</Count>\n <PVarString>${article.attributes}</PVarString>\n <ARTICLE_TEXT_INFO1>${\n shop.articleTextInfo1 || ''\n }</ARTICLE_TEXT_INFO1>\n <ARTICLE_TEXT_INFO2>${\n shop.articleTextInfo2 || ''\n }</ARTICLE_TEXT_INFO2>\n <ARTICLE_PRICE_INFO1>${\n shop.articlePriceInfo1 || ''\n }</ARTICLE_PRICE_INFO1>\n <ARTICLE_PRICE_INFO2>${\n shop.articlePriceInfo2 || ''\n }</ARTICLE_PRICE_INFO2>\n <ARTICLE_PRICE_INFO3>${\n shop.articlePriceInfo3 || ''\n }</ARTICLE_PRICE_INFO3>\n <Pinsertion>${createVector3fString(\n article.position,\n 2,\n )}</Pinsertion>\n <POrntation>${createVector3fString(\n article.rotation,\n 2,\n )}</POrntation>\n <DeliveryPeriod>${shop.deliveryPeriod || ''}</DeliveryPeriod>\n <LIEFERANT>${shop.supplier || ''}</LIEFERANT>\n <Mengenrabatt>${shop.discount || 0}</Mengenrabatt>\n <MengenrabattAbs>${shop.discountAbs || ''}</MengenrabattAbs>\n `;\n};\n\nconst createArticles = (\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: HomagIxArticleData[],\n): string => {\n let articlesDataString = '';\n for (let i = 0; i < articleCoreData.length; i++) {\n articlesDataString += `<Set LineNo=\"${i + 1}\">${createArticle(\n articleShopData,\n articleCoreData[i],\n )}</Set>\n `;\n }\n return articlesDataString;\n};\n\nexport const createHomagIxXml = (\n orderData: HomagIxOrderParams = {},\n headerData: HomagIxHeaderParams = {},\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: any,\n): string => {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <XML type=\"ListBuilder\">\n <Order No=\"${orderData.orderNumber}\" DispDate=\"${\n orderData.dispatchDate\n }\" Basket=\"${orderData.basketNumber}\">\n ${createHeader(headerData)}\n <BuilderList>\n ${createArticles(articleShopData, articleCoreData.articles)}\n </BuilderList>\n </Order>\n </XML>\n `;\n};\n\n// Mock data section, these can be deleted if proper values are available\nexport const getFakeOrderParams = (): HomagIxOrderParams => {\n const randomNumber = Math.floor(Math.random() * 1000000).toString();\n return {\n orderNumber: 'Order ' + randomNumber,\n dispatchDate: '9/11/1911',\n basketNumber: randomNumber,\n };\n};\n\nexport const getFakeHeaderParams = (): HomagIxHeaderParams => {\n return {\n comm: 'Rubens2Rembrand',\n articleno: 'ExampleSIM',\n customer: 'Roomle',\n retailer: 'Retail',\n client: 'Ex ClientName',\n program: 'program',\n employee: 'Homag',\n textLong: 'long long long txt',\n textShort: 'short txt',\n colour: ['colour1', 'colour2', 'colour3', 'colour4', 'colour5'],\n info: [\n '1Admin',\n '2Firma_ABC',\n '3Adresse_ABC',\n '4PLZ_ABC',\n '5Stadt_ABC',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n ],\n address: [\n 'Admin',\n 'Firma_ABC',\n 'Adresse_ABC',\n 'PLZ_ABC',\n 'Stadt_ABC',\n 'Kundennummer_ABC',\n 'Land_ABC',\n ],\n billingAddress: [\n 'Optional1',\n 'Optional2',\n 'Optional3',\n 'Optional4',\n 'Optional5',\n 'Optional6',\n ],\n shippingAddress: ['opt', 'opt', 'opt', 'opt', 'opt', 'opt'],\n orderPriceInfo: ['000', 'Price002', 'Price003', 'Price004', 'Price005'],\n customInfo: [\n 'CustInf1',\n 'CustInf2',\n 'CustInf3',\n 'CustInf4',\n 'CustInf5',\n 'CustInf6',\n 'CustInf7',\n 'CustInf8',\n 'CustInf9',\n 'CustInf10',\n ],\n };\n};\n\nexport const getFakeArticleParams = (): HomagIxArticleParams => {\n return {};\n};\n\nexport const downloadHomagIxExportPoC = async (\n planOverview: PlanOverview,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n) => {\n const planObjects = convertCObject(planOverview.objects);\n\n let articles: any[] = [];\n\n for (const planObject of planObjects) {\n const configurationRuntimeId = planObject.configurationRuntimeId;\n\n try {\n const planObjectExport = JSON.parse(\n exporter.generateExport(\n ExportType.HOMAGiX,\n configurationRuntimeId,\n kernelInstance,\n ),\n );\n articles = articles.concat(planObjectExport.articles);\n } catch (e) {\n console.error(e);\n return Promise.reject(\n `Could not create export JSON ${ExportType.HOMAGiX}`,\n );\n }\n }\n\n const homagIxOrderData = getFakeOrderParams();\n const homagIxHeaderParams = getFakeHeaderParams();\n const homagIxArticleParams = getFakeArticleParams();\n\n const xmltext = createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n { articles },\n );\n\n let filename = 'IMOSiX.xml';\n download(filename, xmltext);\n return Promise.resolve();\n};\nexport const generateExportHomagIxConfiguration = async (\n planObjectId: number,\n exportType: ExportType,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n defaultExportDefinition: string = '',\n): Promise<any> => {\n try {\n exporter.setDefaultExportDataDefinition(defaultExportDefinition);\n return Promise.resolve(\n JSON.parse(\n exporter.generateExport(exportType, planObjectId, kernelInstance),\n ),\n );\n } catch (e) {\n console.error(e);\n return Promise.reject(`Could not create export JSON ${exportType}`);\n }\n};\n\nexport const homagIxMockUpData = (\n articles: any[],\n homagIxOrderData = {},\n homagIxHeaderParams = {},\n homagIxArticleParams = {},\n) => {\n homagIxOrderData = getFakeOrderParams();\n homagIxHeaderParams = getFakeHeaderParams();\n homagIxArticleParams = getFakeArticleParams();\n\n return createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n articles,\n );\n};\n"],"mappings":";;;;AA+CA,IAAM,KACJ,GACA,MAEO,GAAG,EAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAI,EAAE,QAAQ,EAAE,IAG9D,KACJ,GACA,MACW;AACX,KAAI,CAAC,EACH,QAAO;CAET,IAAI,IAAS;AACb,MAAK,IAAI,IAAI,GAAG,IAAI,EAAK,QAAQ,IAC/B,MAAU,IAAI,IAAc,IAAI,EAAE,GAAG,EAAK,GAAG,IAAI,IAAc,IAAI,EAAE;;AAGvE,QAAO;GAGH,KAAgB,MACb;oBACW,EAAK,KAAK;yBACL,EAAK,UAAU;wBAChB,EAAK,SAAS;wBACd,EAAK,SAAS;sBAChB,EAAK,OAAO;uBACX,EAAK,QAAQ;wBACZ,EAAK,SAAS;yBACb,EAAK,SAAS;0BACb,EAAK,UAAU;;cAE3B,EAAuB,UAAU,EAAK,OAAO,CAAC;cAC9C,EAAuB,QAAQ,EAAK,KAAK,CAAC;cAC1C,EAAuB,WAAW,EAAK,QAAQ,CAAC;cAChD,EAAuB,mBAAmB,EAAK,eAAe,CAAC;cAC/D,EAAuB,oBAAoB,EAAK,gBAAgB,CAAC;cACjE,EAAuB,oBAAoB,EAAK,eAAe,CAAC;cAChE,EAAuB,eAAe,EAAK,WAAW,CAAC;kBAI/D,KACJ,GACA,MAEO;yBACgB,EAAQ,KAAK;yBACb,EAAQ,MAAM;8BACT,EAAQ,WAAW;sCAE/B,EAAK,oBAAoB,GAC1B;sCAEC,EAAK,oBAAoB,GAC1B;uCAEC,EAAK,qBAAqB,GAC3B;uCAEC,EAAK,qBAAqB,GAC3B;uCAEC,EAAK,qBAAqB,GAC3B;8BACa,EACZ,EAAQ,UACR,EACD,CAAC;8BACY,EACZ,EAAQ,UACR,EACD,CAAC;kCACgB,EAAK,kBAAkB,GAAG;6BAC/B,EAAK,YAAY,GAAG;gCACjB,EAAK,YAAY,EAAE;mCAChB,EAAK,eAAe,GAAG;KAIpD,KACJ,IAAwC,EAAE,EAC1C,MACW;CACX,IAAI,IAAqB;AACzB,MAAK,IAAI,IAAI,GAAG,IAAI,EAAgB,QAAQ,IAC1C,MAAsB,gBAAgB,IAAI,EAAE,IAAI,EAC9C,GACA,EAAgB,GACjB,CAAC;;AAGJ,QAAO;GAGI,KACX,IAAgC,EAAE,EAClC,IAAkC,EAAE,EACpC,IAAwC,EAAE,EAC1C,MAEO;;qBAEY,EAAU,YAAY,cACjC,EAAU,aACX,YAAY,EAAU,aAAa;cAC9B,EAAa,EAAW,CAAC;;kBAErB,EAAe,GAAiB,EAAgB,SAAS,CAAC;;;;KAQ/D,UAA+C;CAC1D,IAAM,IAAe,KAAK,MAAM,KAAK,QAAQ,GAAG,IAAQ,CAAC,UAAU;AACnE,QAAO;EACL,aAAa,WAAW;EACxB,cAAc;EACd,cAAc;EACf;GAGU,WACJ;CACL,MAAM;CACN,WAAW;CACX,UAAU;CACV,UAAU;CACV,QAAQ;CACR,SAAS;CACT,UAAU;CACV,UAAU;CACV,WAAW;CACX,QAAQ;EAAC;EAAW;EAAW;EAAW;EAAW;EAAU;CAC/D,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACA;EACD;CACD,iBAAiB;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAM;CAC3D,gBAAgB;EAAC;EAAO;EAAY;EAAY;EAAY;EAAW;CACvE,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACF,GAGU,WACJ,EAAE,GAGE,IAA2B,OACtC,GACA,GACA,MACG;CACH,IAAM,IAAc,EAAe,EAAa,QAAQ,EAEpD,IAAkB,EAAE;AAExB,MAAK,IAAM,KAAc,GAAa;EACpC,IAAM,IAAyB,EAAW;AAE1C,MAAI;GACF,IAAM,IAAmB,KAAK,MAC5B,EAAS,eACP,EAAW,SACX,GACA,EACD,CACF;AACD,OAAW,EAAS,OAAO,EAAiB,SAAS;WAC9C,GAAG;AAEV,UADA,QAAQ,MAAM,EAAE,EACT,QAAQ,OACb,gCAAgC,EAAW,UAC5C;;;AAiBL,QADA,EADe,cAPC,EAJS,GAAoB,EACjB,GAAqB,EACpB,GAAsB,EAMjD,EAAE,aAAU,CACb,CAG0B,EACpB,QAAQ,SAAS;GAEb,IAAqC,OAChD,GACA,GACA,GACA,GACA,IAAkC,OACjB;AACjB,KAAI;AAEF,SADA,EAAS,+BAA+B,EAAwB,EACzD,QAAQ,QACb,KAAK,MACH,EAAS,eAAe,GAAY,GAAc,EAAe,CAClE,CACF;UACM,GAAG;AAEV,SADA,QAAQ,MAAM,EAAE,EACT,QAAQ,OAAO,gCAAgC,IAAa;;GAI1D,KACX,GACA,IAAmB,EAAE,EACrB,IAAsB,EAAE,EACxB,IAAuB,EAAE,MAEzB,IAAmB,GAAoB,EACvC,IAAsB,GAAqB,EAC3C,IAAuB,GAAsB,EAEtC,EACL,GACA,GACA,GACA,EACD"}