@fileverse-dev/fortune-core 1.3.7-dateImport-1 → 1.3.7-dateImport-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.
- package/es/events/paste.js +45 -26
- package/es/modules/format.js +12 -7
- package/es/modules/validation.js +6 -3
- package/lib/events/paste.js +43 -24
- package/lib/modules/format.js +12 -7
- package/lib/modules/validation.js +6 -3
- package/package.json +1 -1
package/es/events/paste.js
CHANGED
|
@@ -34,10 +34,10 @@ import { handlePastedTable } from "../paste-table-helpers";
|
|
|
34
34
|
import { getFlowdata } from "../context";
|
|
35
35
|
import { execfunction } from "../modules/formula";
|
|
36
36
|
import { getdatabyselection } from "../modules/cell";
|
|
37
|
-
import { update,
|
|
37
|
+
import { update, genarate } from "../modules/format";
|
|
38
38
|
import { normalizeSelection, selectionCache } from "../modules/selection";
|
|
39
39
|
import { getSheetIndex, isAllowEdit } from "../utils";
|
|
40
|
-
import { hasPartMC, isRealNum
|
|
40
|
+
import { hasPartMC, isRealNum } from "../modules/validation";
|
|
41
41
|
import { getBorderInfoCompute } from "../modules/border";
|
|
42
42
|
import { expandRowsAndColumns, storeSheetParamALL } from "../modules/sheet";
|
|
43
43
|
import { jfrefreshgrid } from "../modules/refresh";
|
|
@@ -207,7 +207,7 @@ var handleFormulaOnPaste = function handleFormulaOnPaste(ctx, d) {
|
|
|
207
207
|
}
|
|
208
208
|
};
|
|
209
209
|
function pasteHandler(ctx, data, borderInfo) {
|
|
210
|
-
var _a, _b, _c, _d, _e, _f;
|
|
210
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
211
211
|
if (ctx.luckysheet_selection_range) {
|
|
212
212
|
ctx.luckysheet_selection_range = [];
|
|
213
213
|
}
|
|
@@ -373,25 +373,39 @@ function pasteHandler(ctx, data, borderInfo) {
|
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
375
|
if (originCell) {
|
|
376
|
-
if (
|
|
377
|
-
var
|
|
378
|
-
if (
|
|
379
|
-
var
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
376
|
+
if (!isUrl) {
|
|
377
|
+
var generated = genarate(originalValueStr);
|
|
378
|
+
if (generated) {
|
|
379
|
+
var genM = generated[0],
|
|
380
|
+
genCt = generated[1],
|
|
381
|
+
genV = generated[2];
|
|
382
|
+
if ((genCt === null || genCt === void 0 ? void 0 : genCt.t) === "d") {
|
|
383
|
+
originCell.v = genV;
|
|
384
|
+
originCell.m = genM !== null && genM !== void 0 ? genM : originalValueStr;
|
|
385
|
+
originCell.ct = genCt;
|
|
386
|
+
} else {
|
|
387
|
+
originCell.v = value;
|
|
388
|
+
if (originCell.ct != null && originCell.ct.fa != null) {
|
|
389
|
+
if (originCell.ct.t === "d" && typeof originCell.v !== "number") {
|
|
390
|
+
originCell.m = String(originCell.v);
|
|
391
|
+
} else {
|
|
392
|
+
originCell.m = update(originCell.ct.fa, originCell.v);
|
|
393
|
+
}
|
|
394
|
+
} else {
|
|
395
|
+
originCell.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
390
398
|
} else {
|
|
391
|
-
originCell.
|
|
399
|
+
originCell.v = value;
|
|
400
|
+
if (originCell.ct != null && originCell.ct.fa != null) {
|
|
401
|
+
originCell.m = update(originCell.ct.fa, originCell.v);
|
|
402
|
+
} else {
|
|
403
|
+
originCell.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
|
|
404
|
+
}
|
|
392
405
|
}
|
|
393
406
|
} else {
|
|
394
|
-
originCell.
|
|
407
|
+
originCell.v = originalValueStr;
|
|
408
|
+
originCell.m = originalValueStr;
|
|
395
409
|
}
|
|
396
410
|
if (originCell.f != null && originCell.f.length > 0) {
|
|
397
411
|
originCell.f = "";
|
|
@@ -418,19 +432,24 @@ function pasteHandler(ctx, data, borderInfo) {
|
|
|
418
432
|
t: "s"
|
|
419
433
|
};
|
|
420
434
|
} else {
|
|
421
|
-
cell.v = originalValueStr;
|
|
422
|
-
cell.m = originalValueStr;
|
|
423
|
-
cell.ct = {
|
|
424
|
-
fa: "General",
|
|
425
|
-
t: "g"
|
|
426
|
-
};
|
|
427
435
|
if (/^0x?[a-fA-F0-9]+$/.test(value)) {
|
|
436
|
+
cell.v = value;
|
|
428
437
|
cell.m = value;
|
|
429
438
|
cell.ct = {
|
|
430
439
|
fa: "@",
|
|
431
440
|
t: "s"
|
|
432
441
|
};
|
|
433
|
-
|
|
442
|
+
} else {
|
|
443
|
+
var _h = (_g = genarate(originalValueStr)) !== null && _g !== void 0 ? _g : [],
|
|
444
|
+
m = _h[0],
|
|
445
|
+
ct = _h[1],
|
|
446
|
+
v = _h[2];
|
|
447
|
+
cell.v = v !== null && v !== void 0 ? v : originalValueStr;
|
|
448
|
+
cell.m = m != null ? String(m) : originalValueStr;
|
|
449
|
+
cell.ct = ct !== null && ct !== void 0 ? ct : {
|
|
450
|
+
fa: "General",
|
|
451
|
+
t: "g"
|
|
452
|
+
};
|
|
434
453
|
}
|
|
435
454
|
}
|
|
436
455
|
if (isUrl && url) {
|
package/es/modules/format.js
CHANGED
|
@@ -240,20 +240,24 @@ export function genarate(value) {
|
|
|
240
240
|
v = datenum_local(dateObj);
|
|
241
241
|
ct.t = "d";
|
|
242
242
|
var map = {
|
|
243
|
-
"yyyy-MM-dd": "dd
|
|
244
|
-
"yyyy-MM-dd HH:mm": "dd
|
|
245
|
-
"yyyy-MM-ddTHH:mm": "dd
|
|
246
|
-
"yyyy/MM/dd": "
|
|
247
|
-
"yyyy/MM/dd HH:mm": "
|
|
243
|
+
"yyyy-MM-dd": "yyyy-MM-dd",
|
|
244
|
+
"yyyy-MM-dd HH:mm": "yyyy-MM-dd HH:mm",
|
|
245
|
+
"yyyy-MM-ddTHH:mm": "yyyy-MM-dd HH:mm",
|
|
246
|
+
"yyyy/MM/dd": "yyyy/MM/dd",
|
|
247
|
+
"yyyy/MM/dd HH:mm": "yyyy/MM/dd HH:mm",
|
|
248
248
|
"yyyy.MM.dd": "yyyy.MM.dd",
|
|
249
249
|
"MM/dd/yyyy h:mm AM/PM": "MM/dd/yyyy h:mm AM/PM",
|
|
250
250
|
"MM/dd/yyyy": "MM/dd/yyyy",
|
|
251
251
|
"M/d/yyyy": "M/d/yyyy",
|
|
252
252
|
"MM/dd/yy": "MM/dd/yy",
|
|
253
253
|
"dd/MM/yyyy": "dd/MM/yyyy",
|
|
254
|
-
"dd-MM-yyyy": "dd
|
|
254
|
+
"dd-MM-yyyy": "dd-MM-yyyy",
|
|
255
255
|
"dd.MM.yyyy": "dd.MM.yyyy",
|
|
256
|
-
named: "
|
|
256
|
+
"named-mdy-full": "mmmm d, yyyy",
|
|
257
|
+
"named-mdy-abbr": "mmm d, yyyy",
|
|
258
|
+
"named-dmy-full": "d mmmm yyyy",
|
|
259
|
+
"named-dmy-abbr": "d mmm yyyy",
|
|
260
|
+
"named-abbr-dashes": "mmm-d-yyyy"
|
|
257
261
|
};
|
|
258
262
|
ct.fa = map[df.formatType] || "dd/MM/yyyy";
|
|
259
263
|
m = SSF.format(ct.fa, v);
|
|
@@ -273,6 +277,7 @@ export function update(fmt, v) {
|
|
|
273
277
|
return SSF.format(fmt, v);
|
|
274
278
|
}
|
|
275
279
|
export function is_date(fmt, v) {
|
|
280
|
+
console.log(SSF.is_date(fmt, v), "is_date");
|
|
276
281
|
return SSF.is_date(fmt, v);
|
|
277
282
|
}
|
|
278
283
|
function fuzzynum(s) {
|
package/es/modules/validation.js
CHANGED
|
@@ -66,6 +66,7 @@ var MONTH_NAME_MAP = {
|
|
|
66
66
|
};
|
|
67
67
|
var MONTH_NAMES_RE = "january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sep|oct|nov|dec";
|
|
68
68
|
var MONTH_ABBR_RE = "jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec";
|
|
69
|
+
var MONTH_ABBR_SET = new Set(MONTH_ABBR_RE.split("|"));
|
|
69
70
|
function isValidDateParts(year, month, day) {
|
|
70
71
|
if (year < 1900) return false;
|
|
71
72
|
if (month < 1 || month > 12) return false;
|
|
@@ -280,6 +281,7 @@ export function detectDateFormat(str) {
|
|
|
280
281
|
var d = +m[2];
|
|
281
282
|
var y = +m[3];
|
|
282
283
|
if (mo && isValidDateParts(y, mo, d)) {
|
|
284
|
+
var isAbbr = MONTH_ABBR_SET.has(m[1].toLowerCase());
|
|
283
285
|
return {
|
|
284
286
|
year: y,
|
|
285
287
|
month: mo,
|
|
@@ -287,7 +289,7 @@ export function detectDateFormat(str) {
|
|
|
287
289
|
hours: 0,
|
|
288
290
|
minutes: 0,
|
|
289
291
|
seconds: 0,
|
|
290
|
-
formatType: "named"
|
|
292
|
+
formatType: isAbbr ? "named-mdy-abbr" : "named-mdy-full"
|
|
291
293
|
};
|
|
292
294
|
}
|
|
293
295
|
}
|
|
@@ -297,6 +299,7 @@ export function detectDateFormat(str) {
|
|
|
297
299
|
var mo = MONTH_NAME_MAP[m[2].toLowerCase()];
|
|
298
300
|
var y = +m[3];
|
|
299
301
|
if (mo && isValidDateParts(y, mo, d)) {
|
|
302
|
+
var isAbbr = MONTH_ABBR_SET.has(m[2].toLowerCase());
|
|
300
303
|
return {
|
|
301
304
|
year: y,
|
|
302
305
|
month: mo,
|
|
@@ -304,7 +307,7 @@ export function detectDateFormat(str) {
|
|
|
304
307
|
hours: 0,
|
|
305
308
|
minutes: 0,
|
|
306
309
|
seconds: 0,
|
|
307
|
-
formatType: "named"
|
|
310
|
+
formatType: isAbbr ? "named-dmy-abbr" : "named-dmy-full"
|
|
308
311
|
};
|
|
309
312
|
}
|
|
310
313
|
}
|
|
@@ -321,7 +324,7 @@ export function detectDateFormat(str) {
|
|
|
321
324
|
hours: 0,
|
|
322
325
|
minutes: 0,
|
|
323
326
|
seconds: 0,
|
|
324
|
-
formatType: "named"
|
|
327
|
+
formatType: "named-abbr-dashes"
|
|
325
328
|
};
|
|
326
329
|
}
|
|
327
330
|
}
|
package/lib/events/paste.js
CHANGED
|
@@ -220,7 +220,7 @@ var handleFormulaOnPaste = function handleFormulaOnPaste(ctx, d) {
|
|
|
220
220
|
}
|
|
221
221
|
};
|
|
222
222
|
function pasteHandler(ctx, data, borderInfo) {
|
|
223
|
-
var _a, _b, _c, _d, _e, _f;
|
|
223
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
224
224
|
if (ctx.luckysheet_selection_range) {
|
|
225
225
|
ctx.luckysheet_selection_range = [];
|
|
226
226
|
}
|
|
@@ -386,25 +386,39 @@ function pasteHandler(ctx, data, borderInfo) {
|
|
|
386
386
|
}
|
|
387
387
|
}
|
|
388
388
|
if (originCell) {
|
|
389
|
-
if (
|
|
390
|
-
var
|
|
391
|
-
if (
|
|
392
|
-
var
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
389
|
+
if (!isUrl) {
|
|
390
|
+
var generated = (0, _format.genarate)(originalValueStr);
|
|
391
|
+
if (generated) {
|
|
392
|
+
var genM = generated[0],
|
|
393
|
+
genCt = generated[1],
|
|
394
|
+
genV = generated[2];
|
|
395
|
+
if ((genCt === null || genCt === void 0 ? void 0 : genCt.t) === "d") {
|
|
396
|
+
originCell.v = genV;
|
|
397
|
+
originCell.m = genM !== null && genM !== void 0 ? genM : originalValueStr;
|
|
398
|
+
originCell.ct = genCt;
|
|
399
|
+
} else {
|
|
400
|
+
originCell.v = value;
|
|
401
|
+
if (originCell.ct != null && originCell.ct.fa != null) {
|
|
402
|
+
if (originCell.ct.t === "d" && typeof originCell.v !== "number") {
|
|
403
|
+
originCell.m = String(originCell.v);
|
|
404
|
+
} else {
|
|
405
|
+
originCell.m = (0, _format.update)(originCell.ct.fa, originCell.v);
|
|
406
|
+
}
|
|
407
|
+
} else {
|
|
408
|
+
originCell.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
403
411
|
} else {
|
|
404
|
-
originCell.
|
|
412
|
+
originCell.v = value;
|
|
413
|
+
if (originCell.ct != null && originCell.ct.fa != null) {
|
|
414
|
+
originCell.m = (0, _format.update)(originCell.ct.fa, originCell.v);
|
|
415
|
+
} else {
|
|
416
|
+
originCell.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
|
|
417
|
+
}
|
|
405
418
|
}
|
|
406
419
|
} else {
|
|
407
|
-
originCell.
|
|
420
|
+
originCell.v = originalValueStr;
|
|
421
|
+
originCell.m = originalValueStr;
|
|
408
422
|
}
|
|
409
423
|
if (originCell.f != null && originCell.f.length > 0) {
|
|
410
424
|
originCell.f = "";
|
|
@@ -431,19 +445,24 @@ function pasteHandler(ctx, data, borderInfo) {
|
|
|
431
445
|
t: "s"
|
|
432
446
|
};
|
|
433
447
|
} else {
|
|
434
|
-
cell.v = originalValueStr;
|
|
435
|
-
cell.m = originalValueStr;
|
|
436
|
-
cell.ct = {
|
|
437
|
-
fa: "General",
|
|
438
|
-
t: "g"
|
|
439
|
-
};
|
|
440
448
|
if (/^0x?[a-fA-F0-9]+$/.test(value)) {
|
|
449
|
+
cell.v = value;
|
|
441
450
|
cell.m = value;
|
|
442
451
|
cell.ct = {
|
|
443
452
|
fa: "@",
|
|
444
453
|
t: "s"
|
|
445
454
|
};
|
|
446
|
-
|
|
455
|
+
} else {
|
|
456
|
+
var _h = (_g = (0, _format.genarate)(originalValueStr)) !== null && _g !== void 0 ? _g : [],
|
|
457
|
+
m = _h[0],
|
|
458
|
+
ct = _h[1],
|
|
459
|
+
v = _h[2];
|
|
460
|
+
cell.v = v !== null && v !== void 0 ? v : originalValueStr;
|
|
461
|
+
cell.m = m != null ? String(m) : originalValueStr;
|
|
462
|
+
cell.ct = ct !== null && ct !== void 0 ? ct : {
|
|
463
|
+
fa: "General",
|
|
464
|
+
t: "g"
|
|
465
|
+
};
|
|
447
466
|
}
|
|
448
467
|
}
|
|
449
468
|
if (isUrl && url) {
|
package/lib/modules/format.js
CHANGED
|
@@ -251,20 +251,24 @@ function genarate(value) {
|
|
|
251
251
|
v = datenum_local(dateObj);
|
|
252
252
|
ct.t = "d";
|
|
253
253
|
var map = {
|
|
254
|
-
"yyyy-MM-dd": "dd
|
|
255
|
-
"yyyy-MM-dd HH:mm": "dd
|
|
256
|
-
"yyyy-MM-ddTHH:mm": "dd
|
|
257
|
-
"yyyy/MM/dd": "
|
|
258
|
-
"yyyy/MM/dd HH:mm": "
|
|
254
|
+
"yyyy-MM-dd": "yyyy-MM-dd",
|
|
255
|
+
"yyyy-MM-dd HH:mm": "yyyy-MM-dd HH:mm",
|
|
256
|
+
"yyyy-MM-ddTHH:mm": "yyyy-MM-dd HH:mm",
|
|
257
|
+
"yyyy/MM/dd": "yyyy/MM/dd",
|
|
258
|
+
"yyyy/MM/dd HH:mm": "yyyy/MM/dd HH:mm",
|
|
259
259
|
"yyyy.MM.dd": "yyyy.MM.dd",
|
|
260
260
|
"MM/dd/yyyy h:mm AM/PM": "MM/dd/yyyy h:mm AM/PM",
|
|
261
261
|
"MM/dd/yyyy": "MM/dd/yyyy",
|
|
262
262
|
"M/d/yyyy": "M/d/yyyy",
|
|
263
263
|
"MM/dd/yy": "MM/dd/yy",
|
|
264
264
|
"dd/MM/yyyy": "dd/MM/yyyy",
|
|
265
|
-
"dd-MM-yyyy": "dd
|
|
265
|
+
"dd-MM-yyyy": "dd-MM-yyyy",
|
|
266
266
|
"dd.MM.yyyy": "dd.MM.yyyy",
|
|
267
|
-
named: "
|
|
267
|
+
"named-mdy-full": "mmmm d, yyyy",
|
|
268
|
+
"named-mdy-abbr": "mmm d, yyyy",
|
|
269
|
+
"named-dmy-full": "d mmmm yyyy",
|
|
270
|
+
"named-dmy-abbr": "d mmm yyyy",
|
|
271
|
+
"named-abbr-dashes": "mmm-d-yyyy"
|
|
268
272
|
};
|
|
269
273
|
ct.fa = map[df.formatType] || "dd/MM/yyyy";
|
|
270
274
|
m = _ssf.default.format(ct.fa, v);
|
|
@@ -284,6 +288,7 @@ function update(fmt, v) {
|
|
|
284
288
|
return _ssf.default.format(fmt, v);
|
|
285
289
|
}
|
|
286
290
|
function is_date(fmt, v) {
|
|
291
|
+
console.log(_ssf.default.is_date(fmt, v), "is_date");
|
|
287
292
|
return _ssf.default.is_date(fmt, v);
|
|
288
293
|
}
|
|
289
294
|
function fuzzynum(s) {
|
|
@@ -84,6 +84,7 @@ var MONTH_NAME_MAP = {
|
|
|
84
84
|
};
|
|
85
85
|
var MONTH_NAMES_RE = "january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sep|oct|nov|dec";
|
|
86
86
|
var MONTH_ABBR_RE = "jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec";
|
|
87
|
+
var MONTH_ABBR_SET = new Set(MONTH_ABBR_RE.split("|"));
|
|
87
88
|
function isValidDateParts(year, month, day) {
|
|
88
89
|
if (year < 1900) return false;
|
|
89
90
|
if (month < 1 || month > 12) return false;
|
|
@@ -298,6 +299,7 @@ function detectDateFormat(str) {
|
|
|
298
299
|
var d = +m[2];
|
|
299
300
|
var y = +m[3];
|
|
300
301
|
if (mo && isValidDateParts(y, mo, d)) {
|
|
302
|
+
var isAbbr = MONTH_ABBR_SET.has(m[1].toLowerCase());
|
|
301
303
|
return {
|
|
302
304
|
year: y,
|
|
303
305
|
month: mo,
|
|
@@ -305,7 +307,7 @@ function detectDateFormat(str) {
|
|
|
305
307
|
hours: 0,
|
|
306
308
|
minutes: 0,
|
|
307
309
|
seconds: 0,
|
|
308
|
-
formatType: "named"
|
|
310
|
+
formatType: isAbbr ? "named-mdy-abbr" : "named-mdy-full"
|
|
309
311
|
};
|
|
310
312
|
}
|
|
311
313
|
}
|
|
@@ -315,6 +317,7 @@ function detectDateFormat(str) {
|
|
|
315
317
|
var mo = MONTH_NAME_MAP[m[2].toLowerCase()];
|
|
316
318
|
var y = +m[3];
|
|
317
319
|
if (mo && isValidDateParts(y, mo, d)) {
|
|
320
|
+
var isAbbr = MONTH_ABBR_SET.has(m[2].toLowerCase());
|
|
318
321
|
return {
|
|
319
322
|
year: y,
|
|
320
323
|
month: mo,
|
|
@@ -322,7 +325,7 @@ function detectDateFormat(str) {
|
|
|
322
325
|
hours: 0,
|
|
323
326
|
minutes: 0,
|
|
324
327
|
seconds: 0,
|
|
325
|
-
formatType: "named"
|
|
328
|
+
formatType: isAbbr ? "named-dmy-abbr" : "named-dmy-full"
|
|
326
329
|
};
|
|
327
330
|
}
|
|
328
331
|
}
|
|
@@ -339,7 +342,7 @@ function detectDateFormat(str) {
|
|
|
339
342
|
hours: 0,
|
|
340
343
|
minutes: 0,
|
|
341
344
|
seconds: 0,
|
|
342
|
-
formatType: "named"
|
|
345
|
+
formatType: "named-abbr-dashes"
|
|
343
346
|
};
|
|
344
347
|
}
|
|
345
348
|
}
|