react-hooks-toolbox
Version:
React hooks toolbox
47 lines (41 loc) • 9.15 kB
JavaScript
import axios from "axios";
import XMLParser from "react-xml-parser";
export function getDymoUrl(typeDymoFunction) {
var port = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 41951;
return "https://localhost:" + port + "/DYMO/DLS/Printing/" + typeDymoFunction;
}
export var dymoAxios = axios.create({
transformRequest: [function (data, headers) {
delete headers.common;
return data;
}]
});
// Converts the XML response thrown by the dymo service for GetPrinters in a object with the following structure
// Only return the printers type => "LabelWriterPrinters"
// {
// name: "",
// modelName: "",
// isLocal: "",
// isTwinTurbo: "",
// isConnected: "",
// }
//
export function getDymoPrintersFromXml(xml, modelPrinter) {
var xmlParse = new XMLParser().parseFromString(xml),
labelWritersPrinters = xmlParse.getElementsByTagName(modelPrinter);
var printers = [];
labelWritersPrinters.map(function (printer) {
var printerDetails = {};
printer.children.map(function (item) {
printerDetails[item["name"].charAt(0).toLowerCase() + item["name"].slice(1)] = item.value;
});
printers.push(printerDetails);
});
return printers;
}
export function generateXmlExample() {
var dymo_name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "Prueba";
var dymo_address = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Prueba";
var labelXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DieCutLabel Version=\"8.0\" Units=\"twips\" MediaType=\"Default\">\n <PaperOrientation>Landscape</PaperOrientation>\n <Id>Storage</Id>\n <PaperName>30258 Diskette</PaperName>\n <DrawCommands>\n <RoundRectangle X=\"0\" Y=\"0\" Width=\"3060\" Height=\"3960\" Rx=\"370\" Ry=\"370\"/>\n </DrawCommands>\n <ObjectInfo>\n <TextObject>\n <Name>Practice name (label)</Name>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n <BackColor Alpha=\"0\" Red=\"255\" Green=\"255\" Blue=\"255\"/>\n <LinkedObjectName></LinkedObjectName>\n <Rotation>Rotation0</Rotation>\n <IsMirrored>False</IsMirrored>\n <IsVariable>False</IsVariable>\n <HorizontalAlignment>Left</HorizontalAlignment>\n <VerticalAlignment>Top</VerticalAlignment>\n <TextFitMode>None</TextFitMode>\n <UseFullFontHeight>False</UseFullFontHeight>\n <Verticalized>False</Verticalized>\n <StyledText>\n <Element>\n <String>" + dymo_name + "</String>\n <Attributes>\n <Font Family=\"Courier\" Size=\"9\" Bold=\"False\" Italic=\"False\" Underline=\"False\" Strikeout=\"False\"/>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n </Attributes>\n </Element>\n </StyledText>\n </TextObject>\n <Bounds X=\"316.7999\" Y=\"129.6\" Width=\"3484.8\" Height=\"230.4\"/>\n </ObjectInfo>\n <ObjectInfo>\n <TextObject>\n <Name>Office address where visit happened</Name>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n <BackColor Alpha=\"0\" Red=\"255\" Green=\"255\" Blue=\"255\"/>\n <LinkedObjectName></LinkedObjectName>\n <Rotation>Rotation0</Rotation>\n <IsMirrored>False</IsMirrored>\n <IsVariable>False</IsVariable>\n <HorizontalAlignment>Left</HorizontalAlignment>\n <VerticalAlignment>Top</VerticalAlignment>\n <TextFitMode>None</TextFitMode>\n <UseFullFontHeight>False</UseFullFontHeight>\n <Verticalized>False</Verticalized>\n <StyledText>\n <Element>\n <String>" + dymo_address + "</String>\n <Attributes>\n <Font Family=\"Courier\" Size=\"9\" Bold=\"False\" Italic=\"False\" Underline=\"False\" Strikeout=\"False\"/>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n </Attributes>\n </Element>\n </StyledText>\n </TextObject>\n <Bounds X=\"316.7999\" Y=\"360\" Width=\"3484.8\" Height=\"230.4\"/>\n </ObjectInfo>\n <ObjectInfo>\n <TextObject>\n <Name>Patient Name</Name>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n <BackColor Alpha=\"0\" Red=\"255\" Green=\"255\" Blue=\"255\"/>\n <LinkedObjectName></LinkedObjectName>\n <Rotation>Rotation0</Rotation>\n <IsMirrored>False</IsMirrored>\n <IsVariable>False</IsVariable>\n <HorizontalAlignment>Left</HorizontalAlignment>\n <VerticalAlignment>Top</VerticalAlignment>\n <TextFitMode>None</TextFitMode>\n <UseFullFontHeight>False</UseFullFontHeight>\n <Verticalized>False</Verticalized>\n <StyledText>\n <Element>\n <String>Jesse I. Fernandez</String>\n <Attributes>\n <Font Family=\"Courier\" Size=\"10\" Bold=\"True\" Italic=\"False\" Underline=\"False\" Strikeout=\"False\"/>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n </Attributes>\n </Element>\n </StyledText>\n </TextObject>\n <Bounds X=\"316.7999\" Y=\"1046.278\" Width=\"3484.8\" Height=\"259.2\"/>\n </ObjectInfo>\n <ObjectInfo>\n <ShapeObject>\n <Name>SHAPE</Name>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n <BackColor Alpha=\"0\" Red=\"255\" Green=\"255\" Blue=\"255\"/>\n <LinkedObjectName></LinkedObjectName>\n <Rotation>Rotation0</Rotation>\n <IsMirrored>False</IsMirrored>\n <IsVariable>False</IsVariable>\n <ShapeType>HorizontalLine</ShapeType>\n <LineWidth>20</LineWidth>\n <LineAlignment>LeftOrTop</LineAlignment>\n <FillColor Alpha=\"0\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n </ShapeObject>\n <Bounds X=\"317.8156\" Y=\"2148.055\" Width=\"3384\" Height=\"144\"/>\n </ObjectInfo>\n <ObjectInfo>\n <TextObject>\n <Name>User Dosage Instructions</Name>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n <BackColor Alpha=\"0\" Red=\"255\" Green=\"255\" Blue=\"255\"/>\n <LinkedObjectName></LinkedObjectName>\n <Rotation>Rotation0</Rotation>\n <IsMirrored>False</IsMirrored>\n <IsVariable>False</IsVariable>\n <HorizontalAlignment>Left</HorizontalAlignment>\n <VerticalAlignment>Top</VerticalAlignment>\n <TextFitMode>None</TextFitMode>\n <UseFullFontHeight>False</UseFullFontHeight>\n <Verticalized>False</Verticalized>\n <StyledText>\n <Element>\n <String>This is a test note generated\nfor the preview of the labe \n </String>\n <Attributes>\n <Font Family=\"Courier\" Size=\"9\" Bold=\"False\" Italic=\"False\" Underline=\"False\" Strikeout=\"False\"/>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n </Attributes>\n </Element>\n </StyledText>\n </TextObject>\n <Bounds X=\"316.7999\" Y=\"2447.37\" Width=\"3484.8\" Height=\"432\"/>\n </ObjectInfo>\n <ObjectInfo>\n <TextObject>\n <Name>Office Phone Number</Name>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n <BackColor Alpha=\"0\" Red=\"255\" Green=\"255\" Blue=\"255\"/>\n <LinkedObjectName></LinkedObjectName>\n <Rotation>Rotation0</Rotation>\n <IsMirrored>False</IsMirrored>\n <IsVariable>False</IsVariable>\n <HorizontalAlignment>Left</HorizontalAlignment>\n <VerticalAlignment>Top</VerticalAlignment>\n <TextFitMode>None</TextFitMode>\n <UseFullFontHeight>False</UseFullFontHeight>\n <Verticalized>False</Verticalized>\n <StyledText>\n <Element>\n <String>(456) 839-7392</String>\n <Attributes>\n <Font Family=\"Courier\" Size=\"9\" Bold=\"False\" Italic=\"False\" Underline=\"False\" Strikeout=\"False\"/>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n </Attributes>\n </Element>\n </StyledText>\n </TextObject>\n <Bounds X=\"310.7999\" Y=\"576\" Width=\"1487.977\" Height=\"201.6\"/>\n </ObjectInfo>\n <ObjectInfo>\n <TextObject>\n <Name>Filled by practitioner</Name>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n <BackColor Alpha=\"0\" Red=\"255\" Green=\"255\" Blue=\"255\"/>\n <LinkedObjectName></LinkedObjectName>\n <Rotation>Rotation0</Rotation>\n <IsMirrored>False</IsMirrored>\n <IsVariable>False</IsVariable>\n <HorizontalAlignment>Left</HorizontalAlignment>\n <VerticalAlignment>Top</VerticalAlignment>\n <TextFitMode>None</TextFitMode>\n <UseFullFontHeight>False</UseFullFontHeight>\n <Verticalized>False</Verticalized>\n <StyledText>\n <Element>\n <String>Filled: 25/04/19</String>\n <Attributes>\n <Font Family=\"Courier\" Size=\"9\" Bold=\"False\" Italic=\"False\" Underline=\"False\" Strikeout=\"False\"/>\n <ForeColor Alpha=\"255\" Red=\"0\" Green=\"0\" Blue=\"0\"/>\n </Attributes>\n </Element>\n </StyledText>\n </TextObject>\n <Bounds X=\"1915.2\" Y=\"576\" Width=\"1872\" Height=\"201.6\"/>\n </ObjectInfo>\n</DieCutLabel>";
return labelXml;
}