@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.
@@ -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, datenum_local } from "../modules/format";
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, detectDateFormat } from "../modules/validation";
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 (originCell.ct && originCell.ct.t === "d" && !isUrl) {
377
- var df = detectDateFormat(originalValueStr);
378
- if (df) {
379
- var dateObj = new Date(df.year, df.month - 1, df.day, df.hours, df.minutes, df.seconds);
380
- originCell.v = datenum_local(dateObj);
381
- } else {
382
- originCell.v = originalValueStr;
383
- }
384
- } else {
385
- originCell.v = isUrl ? originalValueStr : value;
386
- }
387
- if (originCell.ct != null && originCell.ct.fa != null) {
388
- if (originCell.ct.t === "d" && typeof originCell.v !== "number") {
389
- originCell.m = String(originCell.v);
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.m = update(originCell.ct.fa, originCell.v);
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.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
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
- cell.v = value;
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) {
@@ -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/MM/yyyy",
244
- "yyyy-MM-dd HH:mm": "dd/MM/yyyy",
245
- "yyyy-MM-ddTHH:mm": "dd/MM/yyyy",
246
- "yyyy/MM/dd": "dd/MM/yyyy",
247
- "yyyy/MM/dd HH:mm": "dd/MM/yyyy",
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/MM/yyyy",
254
+ "dd-MM-yyyy": "dd-MM-yyyy",
255
255
  "dd.MM.yyyy": "dd.MM.yyyy",
256
- named: "dd/MM/yyyy"
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) {
@@ -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
  }
@@ -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 (originCell.ct && originCell.ct.t === "d" && !isUrl) {
390
- var df = (0, _validation.detectDateFormat)(originalValueStr);
391
- if (df) {
392
- var dateObj = new Date(df.year, df.month - 1, df.day, df.hours, df.minutes, df.seconds);
393
- originCell.v = (0, _format.datenum_local)(dateObj);
394
- } else {
395
- originCell.v = originalValueStr;
396
- }
397
- } else {
398
- originCell.v = isUrl ? originalValueStr : value;
399
- }
400
- if (originCell.ct != null && originCell.ct.fa != null) {
401
- if (originCell.ct.t === "d" && typeof originCell.v !== "number") {
402
- originCell.m = String(originCell.v);
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.m = (0, _format.update)(originCell.ct.fa, originCell.v);
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.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
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
- cell.v = value;
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) {
@@ -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/MM/yyyy",
255
- "yyyy-MM-dd HH:mm": "dd/MM/yyyy",
256
- "yyyy-MM-ddTHH:mm": "dd/MM/yyyy",
257
- "yyyy/MM/dd": "dd/MM/yyyy",
258
- "yyyy/MM/dd HH:mm": "dd/MM/yyyy",
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/MM/yyyy",
265
+ "dd-MM-yyyy": "dd-MM-yyyy",
266
266
  "dd.MM.yyyy": "dd.MM.yyyy",
267
- named: "dd/MM/yyyy"
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/fortune-core",
3
- "version": "1.3.7-dateImport-1",
3
+ "version": "1.3.7-dateImport-2",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.js",
6
6
  "typings": "lib/index.d.ts",