Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

1 ligne
31 KiB

  1. {"ast":null,"code":"import _regeneratorRuntime from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits\";\nvar _jsxFileName = \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/src/shared/components/PDFGeneratorButtons/PDFButtonPackListLabel.tsx\";\n//http://raw.githack.com/MrRio/jsPDF/master/ to check out the documentation.\nimport React from 'react';\nimport { Component } from 'react';\nimport jsPDF from 'jspdf';\nimport axios from 'axios';\n\n// // Directions from RPM Client\n// Use Part Numbers from the BOM section of the kit form. Take # of labels the user wants and multiply that by the “New” column \n// on the BOM section of the kit form and that will equate to the number of times that Part Number needs printed out on a label. \n// Multiple pages will be necessary and it will be 80 labels per page.\nvar PDFButtonPackListLabel = /*#__PURE__*/function (_Component) {\n _inherits(PDFButtonPackListLabel, _Component);\n\n function PDFButtonPackListLabel(props) {\n var _this;\n\n _classCallCheck(this, PDFButtonPackListLabel);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(PDFButtonPackListLabel).call(this, props));\n\n _this.createLabelBoundaryLines = function (doc) {\n function horizontalLine(yPos, doc) {\n //doc.line(xStart, yStart, xEnd,yEnd)\n doc.line(0.25, yPos, 8.25, yPos);\n }\n\n function verticalLine(xPos, doc) {\n //doc.line(xStart, yStart, xEnd,yEnd)\n doc.line(xPos, 0.5, xPos, 10);\n }\n\n doc.setLineWidth(0.01); //Vertical Lines measured in inches + fractionalInches\n\n verticalLine(0 + 4 / 16, doc);\n verticalLine(2 + 0 / 16, doc);\n verticalLine(2 + 5 / 16, doc);\n verticalLine(4 + 1 / 16, doc);\n verticalLine(4 + 1 / 16, doc);\n verticalLine(4 + 6 / 16, doc);\n verticalLine(6 + 2 / 16, doc);\n verticalLine(6 + 7 / 16, doc);\n verticalLine(8 + 3 / 16, doc); //Horizontal Lines measured in inches + fractionalInches\n\n horizontalLine(0 + 1 / 2, doc);\n horizontalLine(1 + 0 / 2, doc);\n horizontalLine(1 + 1 / 2, doc);\n horizontalLine(2 + 0 / 2, doc);\n horizontalLine(2 + 1 / 2, doc);\n horizontalLine(3 + 0 / 2, doc);\n horizontalLine(3 + 1 / 2, doc);\n horizontalLine(4 + 0 / 2, doc);\n horizontalLine(4 + 1 / 2, doc);\n horizontalLine(5 + 0 / 2, doc);\n horizontalLine(5 + 1 / 2, doc);\n horizontalLine(6 + 0 / 2, doc);\n horizontalLine(6 + 1 / 2, doc);\n horizontalLine(7 + 0 / 2, doc);\n horizontalLine(7 + 1 / 2, doc);\n horizontalLine(8 + 0 / 2, doc);\n horizontalLine(8 + 1 / 2, doc);\n horizontalLine(9 + 0 / 2, doc);\n horizontalLine(9 + 1 / 2, doc);\n horizontalLine(10 + 0 / 2, doc);\n };\n\n _this.createPDF = function () {\n // Document Defaults\n var doc = new jsPDF({\n unit: 'in',\n orientation: 'portrait',\n format: 'letter',\n pagesplit: true\n });\n var margins = {\n left: 1,\n right: 1.25,\n top: 1,\n bottom: 1.25\n };\n var page = {\n height: 11,\n width: 8.5\n };\n /*const { Header } = this.props;\n const {\n bodyPartNumber,\n bodyNew,\n bodyPartCode \n } = Header;*/\n\n var setOfLabelInfo = _this.state.PackListLabels;\n console.log('PackListLabels: ', _this.state.PackListLabels);\n console.log('PackListLabelInfo: ', setOfLabelInfo);\n\n if (setOfLabelInfo == null || setOfLabelInfo == undefined || setOfLabelInfo.length == 0) {\n alert('No Data Found');\n return;\n } // OBTAIN INPUTS: for totalLabels and kitNumber from user (default: use the currently viewed record)\n // const defaultKit = TODO: Obtain the kit number from props\n //const defaultTotal = 1;\n\n\n var total = prompt('How many lables do you want?', '15');\n var kit = prompt('What is the kit number?', \"\".concat(_this.props.pn));\n var totalLabels = parseInt(total);\n var kitNumber = parseInt(kit);\n\n if (kit === null || total === null) {\n return null;\n } // if (this.props.pn != kit){\n // return kit;\n // }\n\n\n var newStartingRow = 0;\n var newTotalLabels = 0;\n var noLabelsFound = true;\n var pageNum = 1;\n var rowLimit = 0; // Coordinates for first label\n\n var startX = 7 / 8;\n var startY = 7.5 / 8; //Spacing between labels.\n\n var stepX = 2; //Was 2 + (2 / 16)\n\n var stepY = 0.5; //Was 0.5\n\n for (var i = 0; i < setOfLabelInfo.length; i++) {\n var partCodeCheck = ['Wire', 'Terminal', 'Sure Seal', 'Deutsch', 'Box', 'Bolt', 'Nut', 'Washer', 'Clamp', 'Hose', 'Controlled Document', 'Sticker', 'WIRE', 'TERMINAL', 'SURE SEAL', 'DEUTSCH', 'BOX', 'BOLT', 'NUT', 'WASHER', 'CLAMP', 'HOSE', 'CONTROLLED DOCUMENT', 'STICKER'];\n var ignore = false;\n\n for (var j = 0; j < 22; j++) {\n if (setOfLabelInfo[i].bodyPartCode == partCodeCheck[j]) {\n console.log('Ignoring:', setOfLabelInfo[i].bodyPartCode);\n ignore = true;\n } else {\n noLabelsFound = false;\n }\n }\n\n if (ignore == true) {\n console.log('Ignore is True');\n } else {\n //Font Settings\n doc.setFontSize(14);\n\n if (setOfLabelInfo[i].bodyNew != null && setOfLabelInfo[i].bodyNew != undefined) {\n if (setOfLabelInfo[i].bodyNew.includes(\"\\\"\") || setOfLabelInfo[i].bodyNew.includes(\"\\\\\") || setOfLabelInfo[i].bodyNew.includes(\"mm\")) {\n newTotalLabels = 0;\n } else {\n newTotalLabels = totalLabels * Math.round(setOfLabelInfo[i].bodyNew);\n }\n } //HELPER: Will print the label boundaries, use in dev only (otherwise wastes ink in prod.)\n // this.createLabelBoundaryLines(doc);\n //Calculated Values\n\n\n var columns = 4;\n\n if (newTotalLabels < 4) {\n columns = newTotalLabels;\n }\n\n var rows = Math.floor(newTotalLabels / columns);\n var remainder = newTotalLabels % columns; //Take Part number and find the document.\n //Find the array of BOM items, we need the partNumber: string, and 'new': number\n //For each item print numberOfTimesIndividualBOMPartNumberIsPrinted = (new * totalLabels) (So this will happen for each item on the bom.)\n\n doc.setPage(pageNum);\n console.log('PageNum: ', pageNum);\n\n for (var y = 0; y < rows; y += 1) {\n for (var x = 0; x < columns; x += 1) {\n doc.text(startX + stepX * x, startY + stepY * (y + newStartingRow), \"\".concat(setOfLabelInfo[i].bodyPartNumber));\n } //PageTransitionEvent\n\n\n if ((y + 1) % 20 == 0) {\n rowLimit = 20;\n doc.addPage('letter', 'portrait');\n pageNum = pageNum + 1;\n doc.setPage(pageNum);\n console.log('Move to new page since y = ', y);\n console.log('Pack List Label Page Number:', pageNum);\n newStartingRow = 0;\n }\n }\n\n newStartingRow = newStartingRow + rows;\n console.log('newStartingRow:', newStartingRow); //if (pageLimit == 20) { doc.addPage(); doc.text('Added New Page!', startX, startY); pageLimit = 0; }\n\n if (remainder > 0) {\n for (var r = 0; r < remainder; r += 1) {\n doc.text(startX + stepX * r, startY + stepY * newStartingRow, \"\".concat(setOfLabelInfo[i].bodyPartNumber));\n }\n\n newStartingRow = newStartingRow + 1;\n console.log('newStartingRow:', newStartingRow);\n\n if ((rows + 1) % 20 == 0) {\n rowLimit = 20;\n doc.addPage('letter', 'portrait');\n pageNum = pageNum + 1;\n doc.setPage(pageNum);\n console.log('Move to new page since rows = ', rows);\n console.log('Pack List Label Page Number:', pageNum);\n newStartingRow = 0;\n }\n }\n\n if (rowLimit == 20) {\n doc.addPage();\n rowLimit = 0;\n }\n } //end of else statement\n // doc.addPage('letter', 'portrait');\n // doc.text('Testing!', startX, startY);\n // if ((ignore == false) && (i == setOfLabelInfo.length)) {\n // doc.addPage();\n // pageNum = pageNum + 1;\n // doc.setPage(pageNum);\n // console.log('Add a page since at end of FOR Loop');\n // console.log('Pack List Label Page Number:', pageNum);\n // }\n\n } //end of for loop\n\n\n if (noLabelsFound == true) {\n console.log('NO LABELS FOUND');\n alert('No Labels Found');\n }\n\n doc.save(\"\".concat(_this.props.pn, \"_PackListLabel.pdf\"));\n };\n\n _this.rand6digitNumber = function () {\n return Math.floor(Math.random() * 1000000);\n };\n\n _this.state = {\n PackListLabels: null //totalLabels: '',\n\n };\n return _this;\n }\n\n _createClass(PDFButtonPackListLabel, [{\n key: \"componentDidMount\",\n value: function () {\n var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _this2 = this;\n\n var _this$props, dsId, pn, rev, PackListLabels, newStartingRow;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this.props.dsId === 'new')) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n // skip xhr's if we're working on a new spec (they won't exist anyway) \n _this$props = this.props, dsId = _this$props.dsId, pn = _this$props.pn, rev = _this$props.rev;\n newStartingRow = 0;\n _context.next = 6;\n return axios.get(\"/api/designspec/packlistlabels/\".concat(dsId, \"/\").concat(pn, \"/\").concat(rev)).then(function (res) {\n PackListLabels = res.data.items.records || '';\n\n _this2.setState({\n PackListLabels: res.data.items.records || ''\n });\n }).catch(function (err) {\n return console.error(err);\n });\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function componentDidMount() {\n return _componentDidMount.apply(this, arguments);\n }\n\n return componentDidMount;\n }() //A function to create the lines that represent the printable labels (leave off in production, only turn on for help in dev.)\n\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n onClick: this.createPDF,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 263,\n columnNumber: 12\n }\n }, this.props.text);\n }\n }]);\n\n return PDFButtonPackListLabel;\n}(Component);\n\nexport default PDFButtonPackListLabel;","map":{"version":3,"sources":["/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/src/shared/components/PDFGeneratorButtons/PDFButtonPackListLabel.tsx"],"names":["React","Component","jsPDF","axios","PDFButtonPackListLabel","props","createLabelBoundaryLines","doc","horizontalLine","yPos","line","verticalLine","xPos","setLineWidth","createPDF","unit","orientation","format","pagesplit","margins","left","right","top","bottom","page","height","width","setOfLabelInfo","state","PackListLabels","console","log","undefined","length","alert","total","prompt","kit","pn","totalLabels","parseInt","kitNumber","newStartingRow","newTotalLabels","noLabelsFound","pageNum","rowLimit","startX","startY","stepX","stepY","i","partCodeCheck","ignore","j","bodyPartCode","setFontSize","bodyNew","includes","Math","round","columns","rows","floor","remainder","setPage","y","x","text","bodyPartNumber","addPage","r","save","rand6digitNumber","random","dsId","rev","get","then","res","data","items","records","setState","catch","err","error"],"mappings":"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","sourcesContent":["//http://raw.githack.com/MrRio/jsPDF/master/ to check out the documentation.\nimport React from 'react'\nimport { Component } from 'react'\nimport jsPDF from 'jspdf'\nimport axios from 'axios'\ninterface PDFBtnProps {\n text: any\n //Header: any\n PackListLabels: []\n}\n\nexport interface PackListLabel {\n bodyPartNumber: number,\n bodyNew: string,\n bodyPartCode: string,\n}\n\nexport interface LabelReportFormState extends PackListLabel {\n PackListLabels: PackListLabel[],\n}\n\n// // Directions from RPM Client\n// Use Part Numbers from the BOM section of the kit form. Take # of labels the user wants and multiply that by the “New” column \n// on the BOM section of the kit form and that will equate to the number of times that Part Number needs printed out on a label. \n// Multiple pages will be necessary and it will be 80 labels per page.\n\n\nclass PDFButtonPackListLabel extends Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = {\n PackListLabels: null,\n //totalLabels: '',\n }\n }\n\n async componentDidMount() {\n if (this.props.dsId === 'new') return; // skip xhr's if we're working on a new spec (they won't exist anyway) \n const { dsId, pn, rev } = this.props;\n let PackListLabels: PackListLabel[];\n var newStartingRow = 0;\n\n await axios.get(`/api/designspec/packlistlabels/${dsId}/${pn}/${rev}`)\n .then((res: any) => {\n PackListLabels = res.data.items.records || ''\n this.setState({\n PackListLabels: res.data.items.records || ''\n })\n })\n .catch((err: any) => console.error(err))\n }\n\n //A function to create the lines that represent the printable labels (leave off in production, only turn on for help in dev.)\n createLabelBoundaryLines = (doc: any) => {\n function horizontalLine(yPos: number, doc: any) {\n //doc.line(xStart, yStart, xEnd,yEnd)\n doc.line(0.25, yPos, 8.25, yPos)\n }\n function verticalLine(xPos: any, doc: any) {\n //doc.line(xStart, yStart, xEnd,yEnd)\n doc.line(xPos, 0.5, xPos, 10)\n }\n doc.setLineWidth(0.01)\n //Vertical Lines measured in inches + fractionalInches\n verticalLine(0 + (4 / 16), doc)\n verticalLine(2 + (0 / 16), doc)\n verticalLine(2 + (5 / 16), doc)\n verticalLine(4 + (1 / 16), doc)\n verticalLine(4 + (1 / 16), doc)\n verticalLine(4 + (6 / 16), doc)\n verticalLine(6 + (2 / 16), doc)\n verticalLine(6 + (7 / 16), doc)\n verticalLine(8 + (3 / 16), doc)\n\n //Horizontal Lines measured in inches + fractionalInches\n horizontalLine(0 + (1 / 2), doc)\n horizontalLine(1 + (0 / 2), doc)\n horizontalLine(1 + (1 / 2), doc)\n horizontalLine(2 + (0 / 2), doc)\n horizontalLine(2 + (1 / 2), doc)\n horizontalLine(3 + (0 / 2), doc)\n horizontalLine(3 + (1 / 2), doc)\n horizontalLine(4 + (0 / 2), doc)\n horizontalLine(4 + (1 / 2), doc)\n horizontalLine(5 + (0 / 2), doc)\n horizontalLine(5 + (1 / 2), doc)\n horizontalLine(6 + (0 / 2), doc)\n horizontalLine(6 + (1 / 2), doc)\n horizontalLine(7 + (0 / 2), doc)\n horizontalLine(7 + (1 / 2), doc)\n horizontalLine(8 + (0 / 2), doc)\n horizontalLine(8 + (1 / 2), doc)\n horizontalLine(9 + (0 / 2), doc)\n horizontalLine(9 + (1 / 2), doc)\n horizontalLine(10 + (0 / 2), doc)\n }\n\n createPDF = () => {\n // Document Defaults\n var doc = new jsPDF({\n unit: 'in',\n orientation: 'portrait',\n format: 'letter',\n pagesplit: true\n });\n const margins = {\n left: 1,\n right: 1.25,\n top: 1,\n bottom: 1.25\n }\n const page = {\n height: 11,\n width: 8.5\n }\n\n /*const { Header } = this.props;\n const {\n bodyPartNumber,\n bodyNew,\n bodyPartCode \n } = Header;*/\n\n const setOfLabelInfo = this.state.PackListLabels;\n console.log('PackListLabels: ', this.state.PackListLabels);\n console.log('PackListLabelInfo: ', setOfLabelInfo);\n if ((setOfLabelInfo == null) || (setOfLabelInfo == undefined) || (setOfLabelInfo.length == 0)) {\n alert('No Data Found');\n return;\n }\n\n // OBTAIN INPUTS: for totalLabels and kitNumber from user (default: use the currently viewed record)\n // const defaultKit = TODO: Obtain the kit number from props\n //const defaultTotal = 1;\n const total: any = prompt('How many lables do you want?', '15');\n const kit: any = prompt('What is the kit number?', `${this.props.pn}`);\n const totalLabels: number = parseInt(total);\n const kitNumber: number = parseInt(kit);\n if (kit === null || total === null) {\n return null;\n }\n // if (this.props.pn != kit){\n // return kit;\n // }\n\n var newStartingRow = 0;\n var newTotalLabels = 0;\n var noLabelsFound = true;\n var pageNum = 1;\n var rowLimit = 0;\n\n // Coordinates for first label\n const startX = (7 / 8); \n const startY = (7.5 / 8); \n\n //Spacing between labels.\n const stepX = 2; //Was 2 + (2 / 16)\n const stepY = 0.5; //Was 0.5\n\n\n for (var i = 0; i < setOfLabelInfo.length; i++) {\n const partCodeCheck = ['Wire', 'Terminal', 'Sure Seal', 'Deutsch', 'Box', 'Bolt', 'Nut', 'Washer', 'Clamp', 'Hose', 'Controlled Document', 'Sticker',\n 'WIRE', 'TERMINAL', 'SURE SEAL', 'DEUTSCH', 'BOX', 'BOLT', 'NUT', 'WASHER', 'CLAMP', 'HOSE', 'CONTROLLED DOCUMENT', 'STICKER'];\n var ignore = false;\n for (var j = 0; j < 22; j++) {\n if (setOfLabelInfo[i].bodyPartCode == partCodeCheck[j]) {\n console.log('Ignoring:', setOfLabelInfo[i].bodyPartCode);\n ignore = true;\n }\n else { noLabelsFound = false; }\n }\n if (ignore == true) {\n console.log('Ignore is True');\n }\n else {\n //Font Settings\n doc.setFontSize(14);\n\n if ((setOfLabelInfo[i].bodyNew != null) && (setOfLabelInfo[i].bodyNew != undefined)) {\n if ((setOfLabelInfo[i].bodyNew.includes(\"\\\"\")) || (setOfLabelInfo[i].bodyNew.includes(\"\\\\\")) || (setOfLabelInfo[i].bodyNew.includes(\"mm\"))) {\n newTotalLabels = 0;\n } else {\n newTotalLabels = totalLabels * Math.round(setOfLabelInfo[i].bodyNew);\n }\n }\n\n //HELPER: Will print the label boundaries, use in dev only (otherwise wastes ink in prod.)\n // this.createLabelBoundaryLines(doc);\n\n //Calculated Values\n var columns = 4;\n if (newTotalLabels < 4) { columns = newTotalLabels; }\n const rows = Math.floor(newTotalLabels / columns);\n const remainder = newTotalLabels % columns;\n\n //Take Part number and find the document.\n //Find the array of BOM items, we need the partNumber: string, and 'new': number\n //For each item print numberOfTimesIndividualBOMPartNumberIsPrinted = (new * totalLabels) (So this will happen for each item on the bom.)\n\n doc.setPage(pageNum);\n console.log('PageNum: ', pageNum);\n for (let y = 0; y < rows; y += 1) {\n for (let x = 0; x < columns; x += 1) {\n doc.text(startX + stepX * x, startY + stepY * (y + newStartingRow), `${setOfLabelInfo[i].bodyPartNumber}`);\n }\n //PageTransitionEvent\n if (((y + 1) % 20) == 0) {\n rowLimit = 20;\n doc.addPage('letter', 'portrait');\n pageNum = pageNum + 1;\n doc.setPage(pageNum);\n console.log('Move to new page since y = ', y);\n console.log('Pack List Label Page Number:', pageNum);\n newStartingRow = 0;\n }\n }\n newStartingRow = newStartingRow + rows;\n console.log('newStartingRow:', newStartingRow);\n //if (pageLimit == 20) { doc.addPage(); doc.text('Added New Page!', startX, startY); pageLimit = 0; }\n\n if (remainder > 0) {\n for (let r = 0; r < remainder; r += 1) {\n doc.text(startX + stepX * r, startY + stepY * newStartingRow, `${setOfLabelInfo[i].bodyPartNumber}`);\n }\n newStartingRow = newStartingRow + 1;\n console.log('newStartingRow:', newStartingRow);\n if (((rows + 1) % 20) == 0) {\n rowLimit = 20;\n doc.addPage('letter', 'portrait');\n pageNum = pageNum + 1;\n doc.setPage(pageNum);\n console.log('Move to new page since rows = ', rows);\n console.log('Pack List Label Page Number:', pageNum);\n newStartingRow = 0;\n }\n }\n if (rowLimit == 20) { doc.addPage(); rowLimit = 0; }\n } //end of else statement\n // doc.addPage('letter', 'portrait');\n // doc.text('Testing!', startX, startY);\n // if ((ignore == false) && (i == setOfLabelInfo.length)) {\n // doc.addPage();\n // pageNum = pageNum + 1;\n // doc.setPage(pageNum);\n // console.log('Add a page since at end of FOR Loop');\n // console.log('Pack List Label Page Number:', pageNum);\n // }\n } //end of for loop\n\n if (noLabelsFound == true) {\n console.log('NO LABELS FOUND');\n alert('No Labels Found');\n }\n\n doc.save(`${this.props.pn}_PackListLabel.pdf`)\n };\n\n rand6digitNumber = () => {\n return Math.floor(Math.random() * 1000000);\n };\n\n render() {\n return <div onClick={this.createPDF}>{this.props.text}</div>;\n }\n}\n\nexport default PDFButtonPackListLabel "]},"metadata":{},"sourceType":"module"}