etiquetas.js 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (40) hide show
  1. package/README.git.md +121 -486
  2. package/README.md +142 -5
  3. package/README.npm.md +0 -0
  4. package/dist/etiquetas.es.js +66 -0
  5. package/dist/etiquetas.es.js.map +1 -0
  6. package/dist/etiquetas.umd.js +358 -0
  7. package/dist/etiquetas.umd.js.map +1 -0
  8. package/dist/index-BkmabrFq.js +59122 -0
  9. package/dist/index-BkmabrFq.js.map +1 -0
  10. package/dist/index.es-B4lKWyrH.js +9229 -0
  11. package/dist/index.es-B4lKWyrH.js.map +1 -0
  12. package/dist/purify.es-DzZgBtzL.js +965 -0
  13. package/dist/purify.es-DzZgBtzL.js.map +1 -0
  14. package/package.json +48 -15
  15. package/api/api-labels.json +0 -114
  16. package/api/api.js +0 -316
  17. package/api/mock/data-volume-id_680.json +0 -64
  18. package/api/mock/labels-input.json +0 -96
  19. package/api/mock/labels-part.json +0 -216
  20. package/api/mock/labels-scrap.json +0 -76
  21. package/api/mock/labels-thickened.json +0 -96
  22. package/api/mock/labels-volume.json +0 -56
  23. package/api/token.txt +0 -1
  24. package/services/index.js +0 -28
  25. package/src/constants.js +0 -247
  26. package/src/createLabel.js +0 -342
  27. package/src/etiquetas.js +0 -654
  28. package/src/formatData.js +0 -96
  29. package/src/formatDataIntegrated.js +0 -498
  30. package/src/index.js +0 -86
  31. package/src/label/services/index.js +0 -1201
  32. package/src/label/services/sortFunctions.js +0 -158
  33. package/src/label/services/utils.js +0 -280
  34. package/src/labelWorker.js +0 -123
  35. package/src/reducer.js +0 -40
  36. package/src/store.js +0 -55
  37. package/src/templates.js +0 -139
  38. package/src/useLabelData.js +0 -99
  39. package/src/usePrinterStore.js +0 -115
  40. package/src/variableManager.js +0 -224
@@ -1,342 +0,0 @@
1
- import JsBarcode from "jsbarcode";
2
- import { jsPDF } from "jspdf";
3
- import { getImagesFromUrl, defaultPrefs } from "../services/index.js";
4
- import pkg from "lodash";
5
- const { values } = pkg;
6
- import html2canvas from "html2canvas";
7
- import { toPng } from "html-to-image";
8
- import { insertFiguresToPdf } from "./label/services/index.js";
9
- import VariableManager from "./variableManager.js";
10
-
11
- // jsPDF 2.x API extension for setLineDash
12
- jsPDF.API.setLineDash = function (dashArray, dashPhase) {
13
- if (dashArray == undefined) {
14
- this.internal.write("[] 0 d");
15
- } else {
16
- this.internal.write("[" + dashArray + "] " + dashPhase + " d");
17
- }
18
- };
19
-
20
- // Utility function for async delays
21
- const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
22
- const mmToPt = (number) => {
23
- return number ;
24
- };
25
- const pxToMm = (number) => {
26
- return number * 0.2645833333;
27
- };
28
-
29
- const image = [];
30
-
31
- export const getImagesFromLabel = (labels = []) => {
32
- const promises = labels.reduce((accumulator, label, labelIndex) => {
33
- if (label.specialProp === "Image") {
34
- accumulator.push(getImagesFromUrl(label.src));
35
- }
36
- return accumulator;
37
- }, []);
38
- return Promise.all(promises);
39
- };
40
-
41
- const cacheImages = [];
42
-
43
-
44
- const NEW_insertLabelElements = async (
45
- { pdfInstance,
46
- indexLabel,
47
- partList,
48
- labelElements,
49
- x,
50
- y,
51
- width,
52
- height,
53
- userPrefs,
54
- group,
55
- sheets,
56
- imagesCache,
57
- sheetsByPartCode,
58
- pageHeight,
59
- pageWidth,
60
- horizontalSpace,
61
- verticalSpace,
62
- marginLeft,
63
- marginTop,
64
- firstLeft,
65
- firstTop,
66
- }
67
-
68
- ) => {
69
-
70
- const partTypes = {
71
- cabinet: "Caixa",
72
- door: "Porta",
73
- drawer: "Gaveta",
74
- thickened: "Tamponamento",
75
- };
76
-
77
- // Inicializa o gerenciador de variáveis
78
- const variableManager = new VariableManager();
79
-
80
- console.log("length", labelElements.length)
81
-
82
- for (let i = 0; i < labelElements.length; i++) {
83
- try {
84
- const v = labelElements[i];
85
- console.log('labelElements', i)
86
- const vl = partList[indexLabel];
87
- const vLeft = pxToMm(v.left - firstLeft);
88
- const vTop = pxToMm(v.top - firstTop);
89
- const vWidth = pxToMm(v.width * v.scaleX);
90
- const vHeight = pxToMm(v.height * v.scaleY);
91
-
92
- // Usa o VariableManager para obter inputs e outputs
93
- const { inputs, outputs } = variableManager.getLegacyFormat(
94
- partList[indexLabel],
95
- partTypes
96
- );
97
-
98
- console.log(`Processando elemento ${i} de ${labelElements.length - 1}`);
99
-
100
- await insertFiguresToPdf({
101
- specialProp: v.specialProp,
102
- vLeft: vLeft,
103
- vHeight: vHeight,
104
- vWidth: vWidth,
105
- vTop: vTop,
106
- pdfInstance: pdfInstance,
107
- v: v,
108
- vl: vl,
109
- inputs: inputs,
110
- outputs: outputs,
111
- verticalSpace: verticalSpace,
112
- horizontalSpace: horizontalSpace,
113
- x: x,
114
- y: y,
115
- marginLeft: marginLeft,
116
- marginTop: marginTop,
117
- width: width,
118
- height: height,
119
- actualData: partList[indexLabel],
120
- nextData:partList[indexLabel+1],
121
- partIndex: indexLabel,
122
- sheets: sheets,
123
- userPrefs: userPrefs,
124
- imagesCache: imagesCache,
125
- sheetsByPartCode
126
- });
127
-
128
- console.log(`Elemento ${i} processado com sucesso`);
129
-
130
- } catch (error) {
131
- console.error(`Erro ao processar elemento ${i}:`, error);
132
- // Continue com o próximo elemento mesmo se houver erro
133
- continue;
134
- }
135
- }
136
-
137
- console.log(`Loop finalizado. Processados todos os ${labelElements.length} elementos.`);
138
- return;
139
- };
140
-
141
-
142
- const createLabelPage = async (params) => {
143
- const {pdfInstance,
144
- pageWidth,
145
- pageHeight,
146
- rectCanvas,
147
- labelElements,
148
- dataSource,
149
- width,
150
- height,
151
- horizontalSpace,
152
- verticalSpace,
153
- firstLeft,
154
- firstTop,
155
- marginLeft,
156
- marginTop,
157
- userPrefs,
158
- x,
159
- y,
160
- imagesCache} = params;
161
- let {dataIndex} = params;
162
- console.log("here11")
163
- await NEW_insertLabelElements(
164
- {
165
- ...params,
166
- labelElements,
167
- pdfInstance,
168
- indexLabel:dataIndex,
169
- partList:dataSource,
170
- x,
171
- y,
172
- width,
173
- height,
174
- horizontalSpace,
175
- verticalSpace,
176
- firstLeft,
177
- firstTop,
178
- marginLeft,
179
- marginTop,
180
- userPrefs,
181
- imagesCache
182
-
183
-
184
- }
185
- );
186
-
187
-
188
-
189
-
190
- return ;
191
- }
192
- export async function NEW_createLabel (params) {
193
- //replace partList with dataSource
194
- // replace indexLabel with dataIndex
195
- const {labels:labelElements,rectCanvas,userPrefs = defaultPrefs,dataIndex = 0,dataSource,imagesCache={},x,y} = params;
196
- const { pageLines = 1, pageColumns = 1 } = rectCanvas;
197
- const pageWidth = mmToPt(rectCanvas.pageWidth) || 0;
198
- const pageHeight = mmToPt(rectCanvas.pageHeight) || 0;
199
-
200
- const width = pxToMm(rectCanvas.width);
201
- const height = pxToMm(rectCanvas.height);
202
- const horizontalSpace = rectCanvas.pageHorizontalSpace;
203
- const verticalSpace = rectCanvas.pageVerticalSpace;
204
- const marginLeft = rectCanvas.pageMarginLeft || 0;
205
- const marginTop = rectCanvas.pageMarginTop || 0;
206
- const firstLeft = rectCanvas.left;
207
- const firstTop = rectCanvas.top;
208
- const pdfInstance = params.pdfInstance
209
-
210
- if(pageLines > 0){
211
- await createLabelPage(
212
- {...params,
213
- pdfInstance,
214
- pageWidth,
215
- pageHeight,
216
- rectCanvas,
217
- labelElements,
218
- dataIndex,
219
- dataSource,
220
- width,
221
- height,
222
- horizontalSpace,
223
- verticalSpace,
224
- firstLeft,
225
- firstTop,
226
- marginLeft,
227
- marginTop,
228
- userPrefs,
229
- imagesCache}
230
-
231
-
232
- )
233
-
234
-
235
- }
236
-
237
-
238
- }
239
- const imagesCache = {}
240
-
241
- export async function * createLabelsGenerator (params){
242
- const {
243
- dataSource = [],
244
- labels = [],
245
- userPrefs = defaultPrefs,
246
- sheets = [],
247
- group = "",
248
- labelId = "",
249
- cacheKey,
250
- sheetsByPartCode,
251
- } = params;
252
- const obj = {};
253
- let indexLabel = 0;
254
-
255
- const [rectCanvas,...otherElements] =labels;
256
- const { pageLines = 1, pageColumns = 1 } = rectCanvas;
257
- const pageWidth = mmToPt(rectCanvas.pageWidth) || 0;
258
- const pageHeight = mmToPt(rectCanvas.pageHeight) || 0;
259
- const pdfOptions = {
260
- unit: "mm",
261
- format: [pageWidth,pageHeight],
262
- orientation:'landscape'
263
- };
264
- const pdfInstance = new jsPDF(pdfOptions);
265
- pdfInstance.deletePage(1);
266
- const width = pxToMm(rectCanvas.width);
267
- const height = pxToMm(rectCanvas.height);
268
- const horizontalSpace = rectCanvas.pageHorizontalSpace;
269
- const verticalSpace = rectCanvas.pageVerticalSpace;
270
- const marginLeft = rectCanvas.pageMarginLeft || 0;
271
- const marginTop = rectCanvas.pageMarginTop || 0;
272
- const firstLeft = rectCanvas.left;
273
- const firstTop = rectCanvas.top;
274
- let isLoopFinished = (indexLabel >= dataSource.length-1)
275
- let containerEl = null;
276
-
277
-
278
- // Em ambiente Node.js, não há necessidade de criar elementos DOM
279
- if (typeof document !== 'undefined') {
280
- containerEl = document.getElementById('label-container');
281
- if(!containerEl){
282
- const container = document.createElement('div')
283
- container.id = "label-container"
284
- document.body.append(container)
285
- containerEl = document.getElementById('label-container');
286
- }
287
- }
288
- while (indexLabel < dataSource.length) {
289
- pdfInstance.addPage();
290
-
291
- for (let x = 0; x < pageLines ; x++) {
292
- for (let y = 0; y < pageColumns ; y++) {
293
-
294
- pdfInstance.setDrawColor("#000000");
295
- pdfInstance.setLineWidth(0.200025);
296
- if (rectCanvas.pageShowBorder) {
297
- pdfInstance.rect(
298
- width * y + (verticalSpace * y + marginLeft),
299
- height * x + (horizontalSpace * x + marginTop),
300
- width,
301
- height
302
- );
303
- }
304
- try {
305
- await NEW_createLabel(
306
- {
307
- dataSource,
308
- dataIndex:indexLabel,
309
- sheets,
310
- sheetsByPartCode,
311
- labels:otherElements,
312
- rectCanvas,
313
- pdfInstance,
314
- imagesCache,
315
- x,
316
- y
317
- }
318
- )
319
- }catch {
320
- //console.log('max label reached')
321
- }
322
-
323
- yield [Math.ceil((indexLabel++/dataSource.length) * 100),cacheKey,null];
324
-
325
- }
326
- }
327
- }
328
- // Limpeza compatível com pacote npm
329
- if (typeof document !== 'undefined') {
330
- document.querySelectorAll('.partRemove').forEach((el) => el.remove())
331
- }
332
-
333
- try{
334
- if (containerEl && typeof document !== 'undefined') {
335
- containerEl.remove();
336
- }
337
- }catch{
338
- console.log('Erro na hora da remoção do container')
339
- }
340
- return [pdfInstance.output('bloburi'), cacheKey,pdfInstance];
341
-
342
- }