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.
- package/README.git.md +121 -486
- package/README.md +142 -5
- package/README.npm.md +0 -0
- package/dist/etiquetas.es.js +66 -0
- package/dist/etiquetas.es.js.map +1 -0
- package/dist/etiquetas.umd.js +358 -0
- package/dist/etiquetas.umd.js.map +1 -0
- package/dist/index-BkmabrFq.js +59122 -0
- package/dist/index-BkmabrFq.js.map +1 -0
- package/dist/index.es-B4lKWyrH.js +9229 -0
- package/dist/index.es-B4lKWyrH.js.map +1 -0
- package/dist/purify.es-DzZgBtzL.js +965 -0
- package/dist/purify.es-DzZgBtzL.js.map +1 -0
- package/package.json +48 -15
- package/api/api-labels.json +0 -114
- package/api/api.js +0 -316
- package/api/mock/data-volume-id_680.json +0 -64
- package/api/mock/labels-input.json +0 -96
- package/api/mock/labels-part.json +0 -216
- package/api/mock/labels-scrap.json +0 -76
- package/api/mock/labels-thickened.json +0 -96
- package/api/mock/labels-volume.json +0 -56
- package/api/token.txt +0 -1
- package/services/index.js +0 -28
- package/src/constants.js +0 -247
- package/src/createLabel.js +0 -342
- package/src/etiquetas.js +0 -654
- package/src/formatData.js +0 -96
- package/src/formatDataIntegrated.js +0 -498
- package/src/index.js +0 -86
- package/src/label/services/index.js +0 -1201
- package/src/label/services/sortFunctions.js +0 -158
- package/src/label/services/utils.js +0 -280
- package/src/labelWorker.js +0 -123
- package/src/reducer.js +0 -40
- package/src/store.js +0 -55
- package/src/templates.js +0 -139
- package/src/useLabelData.js +0 -99
- package/src/usePrinterStore.js +0 -115
- package/src/variableManager.js +0 -224
package/src/createLabel.js
DELETED
|
@@ -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
|
-
}
|