@univerjs/sheets-data-validation 1.0.0-insiders.20260809-70eefdd → 1.0.0-rc.0

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 (85) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +10 -2
  3. package/lib/cjs/index.js +35 -25
  4. package/lib/cjs/locale/ar-SA.js +5 -25
  5. package/lib/cjs/locale/ca-ES.js +5 -25
  6. package/lib/cjs/locale/de-DE.js +5 -25
  7. package/lib/cjs/locale/en-US.js +5 -25
  8. package/lib/cjs/locale/es-ES.js +5 -25
  9. package/lib/cjs/locale/fa-IR.js +5 -25
  10. package/lib/cjs/locale/fr-FR.js +5 -25
  11. package/lib/cjs/locale/id-ID.js +5 -25
  12. package/lib/cjs/locale/it-IT.js +5 -25
  13. package/lib/cjs/locale/ja-JP.js +5 -25
  14. package/lib/cjs/locale/ko-KR.js +5 -25
  15. package/lib/cjs/locale/pl-PL.js +5 -25
  16. package/lib/cjs/locale/pt-BR.js +5 -25
  17. package/lib/cjs/locale/ru-RU.js +5 -25
  18. package/lib/cjs/locale/sk-SK.js +5 -25
  19. package/lib/cjs/locale/vi-VN.js +5 -25
  20. package/lib/cjs/locale/zh-CN.js +5 -25
  21. package/lib/cjs/locale/zh-HK.js +5 -25
  22. package/lib/cjs/locale/zh-TW.js +5 -25
  23. package/lib/es/index.js +36 -26
  24. package/lib/es/locale/ar-SA.js +5 -25
  25. package/lib/es/locale/ca-ES.js +5 -25
  26. package/lib/es/locale/de-DE.js +5 -25
  27. package/lib/es/locale/en-US.js +5 -25
  28. package/lib/es/locale/es-ES.js +5 -25
  29. package/lib/es/locale/fa-IR.js +5 -25
  30. package/lib/es/locale/fr-FR.js +5 -25
  31. package/lib/es/locale/id-ID.js +5 -25
  32. package/lib/es/locale/it-IT.js +5 -25
  33. package/lib/es/locale/ja-JP.js +5 -25
  34. package/lib/es/locale/ko-KR.js +5 -25
  35. package/lib/es/locale/pl-PL.js +5 -25
  36. package/lib/es/locale/pt-BR.js +5 -25
  37. package/lib/es/locale/ru-RU.js +5 -25
  38. package/lib/es/locale/sk-SK.js +5 -25
  39. package/lib/es/locale/vi-VN.js +5 -25
  40. package/lib/es/locale/zh-CN.js +5 -25
  41. package/lib/es/locale/zh-HK.js +5 -25
  42. package/lib/es/locale/zh-TW.js +5 -25
  43. package/lib/index.js +36 -26
  44. package/lib/locale/ar-SA.js +5 -25
  45. package/lib/locale/ca-ES.js +5 -25
  46. package/lib/locale/de-DE.js +5 -25
  47. package/lib/locale/en-US.js +5 -25
  48. package/lib/locale/es-ES.js +5 -25
  49. package/lib/locale/fa-IR.js +5 -25
  50. package/lib/locale/fr-FR.js +5 -25
  51. package/lib/locale/id-ID.js +5 -25
  52. package/lib/locale/it-IT.js +5 -25
  53. package/lib/locale/ja-JP.js +5 -25
  54. package/lib/locale/ko-KR.js +5 -25
  55. package/lib/locale/pl-PL.js +5 -25
  56. package/lib/locale/pt-BR.js +5 -25
  57. package/lib/locale/ru-RU.js +5 -25
  58. package/lib/locale/sk-SK.js +5 -25
  59. package/lib/locale/vi-VN.js +5 -25
  60. package/lib/locale/zh-CN.js +5 -25
  61. package/lib/locale/zh-HK.js +5 -25
  62. package/lib/locale/zh-TW.js +5 -25
  63. package/lib/types/locale/en-US.d.ts +0 -18
  64. package/lib/types/validators/date-validator.d.ts +3 -1
  65. package/lib/umd/index.js +1 -1
  66. package/lib/umd/locale/ar-SA.js +1 -1
  67. package/lib/umd/locale/ca-ES.js +1 -1
  68. package/lib/umd/locale/de-DE.js +1 -1
  69. package/lib/umd/locale/en-US.js +1 -1
  70. package/lib/umd/locale/es-ES.js +1 -1
  71. package/lib/umd/locale/fa-IR.js +1 -1
  72. package/lib/umd/locale/fr-FR.js +1 -1
  73. package/lib/umd/locale/id-ID.js +1 -1
  74. package/lib/umd/locale/it-IT.js +1 -1
  75. package/lib/umd/locale/ja-JP.js +1 -1
  76. package/lib/umd/locale/ko-KR.js +1 -1
  77. package/lib/umd/locale/pl-PL.js +1 -1
  78. package/lib/umd/locale/pt-BR.js +1 -1
  79. package/lib/umd/locale/ru-RU.js +1 -1
  80. package/lib/umd/locale/sk-SK.js +1 -1
  81. package/lib/umd/locale/vi-VN.js +1 -1
  82. package/lib/umd/locale/zh-CN.js +1 -1
  83. package/lib/umd/locale/zh-HK.js +1 -1
  84. package/lib/umd/locale/zh-TW.js +1 -1
  85. package/package.json +9 -9
@@ -9,8 +9,7 @@ const locale = { "sheets-data-validation": {
9
9
  lessThanOrEqual: "меньше или равно",
10
10
  equal: "равно",
11
11
  notEqual: "не равно",
12
- notBetween: "не между",
13
- legal: "является допустимым типом"
12
+ notBetween: "не между"
14
13
  },
15
14
  ruleName: {
16
15
  between: "между {FORMULA1} и {FORMULA2}",
@@ -43,8 +42,7 @@ const locale = { "sheets-data-validation": {
43
42
  lessThanOrEqual: "в или до",
44
43
  equal: "равно",
45
44
  notEqual: "не равно",
46
- notBetween: "не между",
47
- legal: "является допустимой датой"
45
+ notBetween: "не между"
48
46
  },
49
47
  ruleName: {
50
48
  between: "между {FORMULA1} и {FORMULA2}",
@@ -86,20 +84,16 @@ const locale = { "sheets-data-validation": {
86
84
  custom: {
87
85
  ruleName: "Пользовательская формула {FORMULA1}",
88
86
  title: "Пользовательская формула",
89
- validFail: "Пожалуйста, введите допустимую формулу",
90
87
  error: "Содержимое этой ячейки нарушает правило проверки"
91
88
  },
92
89
  validFail: {
93
90
  value: "Пожалуйста, введите значение",
94
- common: "Пожалуйста, введите значение или формулу",
95
91
  number: "Пожалуйста, введите число или формулу",
96
92
  formula: "Пожалуйста, введите формулу",
97
- integer: "Пожалуйста, введите целое число или формулу",
98
93
  date: "Пожалуйста, введите дату или формулу",
99
94
  list: "Пожалуйста, введите параметры",
100
95
  listInvalid: "Источник списка должен быть разделенным списком или ссылкой на одну строку или столбец",
101
96
  checkboxEqual: "Для выбранных и не выбранных ячеек введите разные значения",
102
- formulaError: "Диапазон ссылок содержит невидимые данные, пожалуйста, пересмотрите диапазон",
103
97
  listIntersects: "Выбранный диапазон не может пересекаться с диапазоном правила.",
104
98
  primitive: "Формулы не разрешены для пользовательских отмеченных и неотмеченных значений."
105
99
  },
@@ -110,28 +104,14 @@ const locale = { "sheets-data-validation": {
110
104
  list: {
111
105
  title: "Выпадающий список",
112
106
  name: "Значение содержит одно из диапазона",
113
- error: "Ввод должен соответствовать указанному диапазону",
114
- emptyError: "Пожалуйста, введите значение",
115
- add: "Добавить",
116
- dropdown: "Выбрать",
117
- options: "Параметры",
118
- customOptions: "Пользовательские",
119
- refOptions: "Из диапазона",
120
- formulaError: "Источник списка должен быть разделенным списком данных или ссылкой на одну строку или столбец.",
121
- edit: "Редактировать"
122
- },
123
- listMultiple: {
124
- title: "Выпадающий список - Множественный",
125
- dropdown: "Множественный выбор"
107
+ error: "Ввод должен соответствовать указанному диапазону"
126
108
  },
109
+ listMultiple: { title: "Выпадающий список - Множественный" },
127
110
  decimal: { title: "Число" },
128
111
  whole: { title: "Целое число" },
129
112
  checkbox: {
130
113
  title: "Флажок",
131
- error: "Содержимое этой ячейки нарушает правило проверки",
132
- tips: "Используйте пользовательские значения в ячейках",
133
- checked: "Выбранное значение",
134
- unchecked: "Не выбранное значение"
114
+ error: "Содержимое этой ячейки нарушает правило проверки"
135
115
  }
136
116
  } };
137
117
 
@@ -9,8 +9,7 @@ const locale = { "sheets-data-validation": {
9
9
  lessThanOrEqual: "menšie alebo rovné",
10
10
  equal: "rovné",
11
11
  notEqual: "nerovné",
12
- notBetween: "nie medzi",
13
- legal: "je platný typ"
12
+ notBetween: "nie medzi"
14
13
  },
15
14
  ruleName: {
16
15
  between: "Je medzi {FORMULA1} a {FORMULA2}",
@@ -43,8 +42,7 @@ const locale = { "sheets-data-validation": {
43
42
  lessThanOrEqual: "v alebo pred",
44
43
  equal: "rovné",
45
44
  notEqual: "nerovné",
46
- notBetween: "nie medzi",
47
- legal: "je platný dátum"
45
+ notBetween: "nie medzi"
48
46
  },
49
47
  ruleName: {
50
48
  between: "je medzi {FORMULA1} a {FORMULA2}",
@@ -86,20 +84,16 @@ const locale = { "sheets-data-validation": {
86
84
  custom: {
87
85
  ruleName: "Vlastný vzorec je {FORMULA1}",
88
86
  title: "Vlastný vzorec",
89
- validFail: "Zadajte platný vzorec",
90
87
  error: "Obsah tejto bunky porušuje pravidlo overenia"
91
88
  },
92
89
  validFail: {
93
90
  value: "Zadajte hodnotu",
94
- common: "Zadajte hodnotu alebo vzorec",
95
91
  number: "Zadajte číslo alebo vzorec",
96
92
  formula: "Zadajte vzorec",
97
- integer: "Zadajte celé číslo alebo vzorec",
98
93
  date: "Zadajte dátum alebo vzorec",
99
94
  list: "Zadajte možnosti",
100
95
  listInvalid: "Zdroj zoznamu musí byť zoznam oddelený oddeľovačmi alebo odkaz na jeden riadok alebo stĺpec",
101
96
  checkboxEqual: "Zadajte odlišné hodnoty pre označený a neoznačený obsah bunky.",
102
- formulaError: "Referenčný rozsah obsahuje neviditeľné údaje, upravte rozsah",
103
97
  listIntersects: "Vybraný rozsah sa nemôže prekrývať s rozsahom pravidiel",
104
98
  primitive: "Vzorce nie sú povolené pre vlastné hodnoty označené/neoznačené."
105
99
  },
@@ -110,28 +104,14 @@ const locale = { "sheets-data-validation": {
110
104
  list: {
111
105
  title: "Rozbaľovací zoznam",
112
106
  name: "Hodnota obsahuje jednu z rozsahu",
113
- error: "Vstup musí spadať do zadaného rozsahu",
114
- emptyError: "Zadajte hodnotu",
115
- add: "Pridať",
116
- dropdown: "Vybrať",
117
- options: "Možnosti",
118
- customOptions: "Vlastné",
119
- refOptions: "Z rozsahu",
120
- formulaError: "Zdroj zoznamu musí byť zoznam oddelený oddeľovačmi alebo odkaz na jeden riadok alebo stĺpec.",
121
- edit: "Upraviť"
122
- },
123
- listMultiple: {
124
- title: "Rozbaľovací zoznam – viacnásobný",
125
- dropdown: "Viacnásobný výber"
107
+ error: "Vstup musí spadať do zadaného rozsahu"
126
108
  },
109
+ listMultiple: { title: "Rozbaľovací zoznam – viacnásobný" },
127
110
  decimal: { title: "Číslo" },
128
111
  whole: { title: "Celé číslo" },
129
112
  checkbox: {
130
113
  title: "Začiarkavacie políčko",
131
- error: "Obsah tejto bunky porušuje pravidlo overenia",
132
- tips: "Použite vlastné hodnoty v bunkách",
133
- checked: "Vybraná hodnota",
134
- unchecked: "Nevybraná hodnota"
114
+ error: "Obsah tejto bunky porušuje pravidlo overenia"
135
115
  }
136
116
  } };
137
117
 
@@ -9,8 +9,7 @@ const locale = { "sheets-data-validation": {
9
9
  lessThanOrEqual: "Nhỏ hơn hoặc bằng",
10
10
  equal: "Bằng",
11
11
  notEqual: "Không bằng",
12
- notBetween: "Không nằm giữa",
13
- legal: "là kiểu hợp lệ"
12
+ notBetween: "Không nằm giữa"
14
13
  },
15
14
  ruleName: {
16
15
  between: "Giữa {FORMULA1} và {FORMULA2}",
@@ -43,8 +42,7 @@ const locale = { "sheets-data-validation": {
43
42
  lessThanOrEqual: "Trước hoặc bằng",
44
43
  equal: "Bằng",
45
44
  notEqual: "Không bằng",
46
- notBetween: "Không nằm giữa",
47
- legal: "là ngày hợp lệ"
45
+ notBetween: "Không nằm giữa"
48
46
  },
49
47
  ruleName: {
50
48
  between: "Giữa {FORMULA1} và {FORMULA2}",
@@ -86,20 +84,16 @@ const locale = { "sheets-data-validation": {
86
84
  custom: {
87
85
  ruleName: "Công thức tùy chỉnh {FORMULA1}",
88
86
  title: "Công thức tùy chỉnh",
89
- validFail: "Vui lòng nhập một công thức hợp lệ",
90
87
  error: "Nội dung của ô này vi phạm quy tắc xác thực"
91
88
  },
92
89
  validFail: {
93
90
  value: "Vui lòng nhập một giá trị hợp lệ",
94
- common: "Vui lòng nhập giá trị hoặc công thức",
95
91
  number: "Vui lòng nhập một số hợp lệ hoặc công thức",
96
92
  formula: "Vui lòng nhập một công thức hợp lệ",
97
- integer: "Vui lòng nhập một số nguyên hợp lệ hoặc công thức",
98
93
  date: "Vui lòng nhập một ngày hợp lệ hoặc công thức",
99
94
  list: "Vui lòng nhập ít nhất một tùy chọn hợp lệ",
100
95
  listInvalid: "Nguồn danh sách phải là một danh sách phân tách hoặc một tham chiếu đến một hàng hoặc cột đơn.",
101
96
  checkboxEqual: "Nhập các giá trị khác nhau cho các ô được chọn và không được chọn.",
102
- formulaError: "Phạm vi tham chiếu chứa dữ liệu không hiển thị, vui lòng điều chỉnh lại phạm vi",
103
97
  listIntersects: "Phạm vi đã chọn không thể giao với phạm vi quy tắc",
104
98
  primitive: "Các giá trị tùy chỉnh cho ô được chọn và không được chọn không được phép sử dụng công thức."
105
99
  },
@@ -110,28 +104,14 @@ const locale = { "sheets-data-validation": {
110
104
  list: {
111
105
  title: "Danh sách thả xuống",
112
106
  name: "Giá trị phải nằm trong danh sách",
113
- error: "Đầu vào phải nằm trong phạm vi chỉ định",
114
- emptyError: "Vui lòng nhập một giá trị",
115
- add: "Thêm tùy chọn",
116
- dropdown: "Chọn một",
117
- options: "Nguồn tùy chọn",
118
- customOptions: "Tùy chỉnh",
119
- refOptions: "Tham chiếu dữ liệu",
120
- formulaError: "Nguồn danh sách phải là danh sách dữ liệu đã được phân chia rõ ràng, hoặc là tham chiếu đến một hàng hoặc cột đơn.",
121
- edit: "Biên tập"
122
- },
123
- listMultiple: {
124
- title: "Danh sách thả xuống - Chọn nhiều",
125
- dropdown: "Chọn nhiều"
107
+ error: "Đầu vào phải nằm trong phạm vi chỉ định"
126
108
  },
109
+ listMultiple: { title: "Danh sách thả xuống - Chọn nhiều" },
127
110
  decimal: { title: "Số thập phân" },
128
111
  whole: { title: "Số nguyên" },
129
112
  checkbox: {
130
113
  title: "Hộp kiểm",
131
- error: "Nội dung của ô này vi phạm quy tắc xác thực",
132
- tips: "Sử dụng giá trị tùy chỉnh trong ô",
133
- checked: "Giá trị khi chọn",
134
- unchecked: "Giá trị khi không chọn"
114
+ error: "Nội dung của ô này vi phạm quy tắc xác thực"
135
115
  }
136
116
  } };
137
117
 
@@ -9,8 +9,7 @@ const locale = { "sheets-data-validation": {
9
9
  lessThanOrEqual: "小于或等于",
10
10
  equal: "等于",
11
11
  notEqual: "不等于",
12
- notBetween: "未介于",
13
- legal: "是合法类型"
12
+ notBetween: "未介于"
14
13
  },
15
14
  ruleName: {
16
15
  between: "介于 {FORMULA1} 和 {FORMULA2} 之间",
@@ -43,8 +42,7 @@ const locale = { "sheets-data-validation": {
43
42
  lessThanOrEqual: "早于或等于",
44
43
  equal: "等于",
45
44
  notEqual: "不等于",
46
- notBetween: "未介于",
47
- legal: "是合法日期"
45
+ notBetween: "未介于"
48
46
  },
49
47
  ruleName: {
50
48
  between: "介于 {FORMULA1} 和 {FORMULA2} 之间",
@@ -86,20 +84,16 @@ const locale = { "sheets-data-validation": {
86
84
  custom: {
87
85
  ruleName: "自定义公式 {FORMULA1}",
88
86
  title: "自定义公式",
89
- validFail: "请输入合法的公式",
90
87
  error: "此单元格的内容违反了验证规则"
91
88
  },
92
89
  validFail: {
93
90
  value: "请输入一个合法值",
94
- common: "请输入值或公式",
95
91
  number: "请输入合法的数字或公式",
96
92
  formula: "请输入合法的公式",
97
- integer: "请输入合法的整数或公式",
98
93
  date: "请输入合法的日期或公式",
99
94
  list: "请输入至少一个合法选项",
100
95
  listInvalid: "列表源必须是分隔列表或对单行或列的引用。",
101
96
  checkboxEqual: "为勾选和未勾选的单元格内容输入不同的值。",
102
- formulaError: "引用范围内包含不可见的数据,请重新调整范围",
103
97
  listIntersects: "所选范围不能和规则范围相交",
104
98
  primitive: "自定义勾选和未勾选值不允许使用公式。"
105
99
  },
@@ -110,28 +104,14 @@ const locale = { "sheets-data-validation": {
110
104
  list: {
111
105
  title: "下拉菜单",
112
106
  name: "值必须是列表中的值",
113
- error: "输入必须在指定的范围内",
114
- emptyError: "请输入一个值",
115
- add: "添加选项",
116
- dropdown: "单选",
117
- options: "选项来源",
118
- customOptions: "自定义",
119
- refOptions: "引用数据",
120
- formulaError: "列表源必须是划定分界后的数据列表,或是对单一行或一列的引用。",
121
- edit: "编辑"
122
- },
123
- listMultiple: {
124
- title: "下拉菜单-多选",
125
- dropdown: "多选"
107
+ error: "输入必须在指定的范围内"
126
108
  },
109
+ listMultiple: { title: "下拉菜单-多选" },
127
110
  decimal: { title: "数字" },
128
111
  whole: { title: "整数" },
129
112
  checkbox: {
130
113
  title: "复选框",
131
- error: "此单元格的内容违反了验证规则",
132
- tips: "在单元格内使用自定义值",
133
- checked: "选中值",
134
- unchecked: "未选中值"
114
+ error: "此单元格的内容违反了验证规则"
135
115
  }
136
116
  } };
137
117
 
@@ -9,8 +9,7 @@ const locale = { "sheets-data-validation": {
9
9
  lessThanOrEqual: "小於或等於",
10
10
  equal: "等於",
11
11
  notEqual: "不等於",
12
- notBetween: "未介於",
13
- legal: "是合法類型"
12
+ notBetween: "未介於"
14
13
  },
15
14
  ruleName: {
16
15
  between: "介於 {FORMULA1} 和 {FORMULA2} 之間",
@@ -43,8 +42,7 @@ const locale = { "sheets-data-validation": {
43
42
  lessThanOrEqual: "早於或等於",
44
43
  equal: "等於",
45
44
  notEqual: "不等於",
46
- notBetween: "未介於",
47
- legal: "是合法日期"
45
+ notBetween: "未介於"
48
46
  },
49
47
  ruleName: {
50
48
  between: "介於 {FORMULA1} 和 {FORMULA2} 之間",
@@ -86,20 +84,16 @@ const locale = { "sheets-data-validation": {
86
84
  custom: {
87
85
  ruleName: "自訂公式 {FORMULA1}",
88
86
  title: "自訂公式",
89
- validFail: "請輸入合法的公式",
90
87
  error: "此儲存格的內容違反了驗證規則"
91
88
  },
92
89
  validFail: {
93
90
  value: "請輸入一個合法值",
94
- common: "請輸入數值或公式",
95
91
  number: "請輸入合法的數字或公式",
96
92
  formula: "請輸入合法的公式",
97
- integer: "請輸入合法的整數或公式",
98
93
  date: "請輸入合法的日期或公式",
99
94
  list: "請輸入至少一個合法選項",
100
95
  listInvalid: "清單來源必須是分隔清單或單列或欄的參考。 ",
101
96
  checkboxEqual: "為勾選和未勾選的儲存格內容輸入不同的值。 ",
102
- formulaError: "引用範圍內包含不可見的數據,請重新調整範圍",
103
97
  listIntersects: "所選範圍不能和規則範圍相交",
104
98
  primitive: "自訂勾選和未勾選值不允許使用公式。 "
105
99
  },
@@ -110,28 +104,14 @@ const locale = { "sheets-data-validation": {
110
104
  list: {
111
105
  title: "下拉選單",
112
106
  name: "值必須是列表中的值",
113
- error: "輸入必須在指定的範圍內",
114
- emptyError: "請輸入一個值",
115
- add: "新增選項",
116
- dropdown: "單選",
117
- options: "選項來源",
118
- customOptions: "自訂",
119
- refOptions: "引用資料",
120
- formulaError: "列表來源必須是劃定分界後的資料列表,或是對單一列或欄的引用。",
121
- edit: "編輯"
122
- },
123
- listMultiple: {
124
- title: "下拉式選單-多選",
125
- dropdown: "多選"
107
+ error: "輸入必須在指定的範圍內"
126
108
  },
109
+ listMultiple: { title: "下拉式選單-多選" },
127
110
  decimal: { title: "數字" },
128
111
  whole: { title: "整數" },
129
112
  checkbox: {
130
113
  title: "複選框",
131
- error: "此儲存格的內容違反了驗證規則",
132
- tips: "在儲存格內使用自訂值",
133
- checked: "選取值",
134
- unchecked: "未選取值"
114
+ error: "此儲存格的內容違反了驗證規則"
135
115
  }
136
116
  } };
137
117
 
@@ -9,8 +9,7 @@ const locale = { "sheets-data-validation": {
9
9
  lessThanOrEqual: "小於或等於",
10
10
  equal: "等於",
11
11
  notEqual: "不等於",
12
- notBetween: "未介於",
13
- legal: "是合法類型"
12
+ notBetween: "未介於"
14
13
  },
15
14
  ruleName: {
16
15
  between: "介於 {FORMULA1} 和 {FORMULA2} 之間",
@@ -43,8 +42,7 @@ const locale = { "sheets-data-validation": {
43
42
  lessThanOrEqual: "早於或等於",
44
43
  equal: "等於",
45
44
  notEqual: "不等於",
46
- notBetween: "未介於",
47
- legal: "是合法日期"
45
+ notBetween: "未介於"
48
46
  },
49
47
  ruleName: {
50
48
  between: "介於 {FORMULA1} 和 {FORMULA2} 之間",
@@ -86,20 +84,16 @@ const locale = { "sheets-data-validation": {
86
84
  custom: {
87
85
  ruleName: "自訂公式 {FORMULA1}",
88
86
  title: "自訂公式",
89
- validFail: "請輸入合法的公式",
90
87
  error: "此儲存格的內容違反了驗證規則"
91
88
  },
92
89
  validFail: {
93
90
  value: "請輸入一個合法值",
94
- common: "請輸入數值或公式",
95
91
  number: "請輸入合法的數字或公式",
96
92
  formula: "請輸入合法的公式",
97
- integer: "請輸入合法的整數或公式",
98
93
  date: "請輸入合法的日期或公式",
99
94
  list: "請輸入至少一個合法選項",
100
95
  listInvalid: "清單來源必須是分隔清單或單列或欄的參考。 ",
101
96
  checkboxEqual: "為勾選和未勾選的儲存格內容輸入不同的值。 ",
102
- formulaError: "引用範圍內包含不可見的數據,請重新調整範圍",
103
97
  listIntersects: "所選範圍不能和規則範圍相交",
104
98
  primitive: "自訂勾選和未勾選值不允許使用公式。 "
105
99
  },
@@ -110,28 +104,14 @@ const locale = { "sheets-data-validation": {
110
104
  list: {
111
105
  title: "下拉選單",
112
106
  name: "值必須是列表中的值",
113
- error: "輸入必須在指定的範圍內",
114
- emptyError: "請輸入一個值",
115
- add: "新增選項",
116
- dropdown: "單選",
117
- options: "選項來源",
118
- customOptions: "自訂",
119
- refOptions: "引用資料",
120
- formulaError: "列表來源必須是劃定分界後的資料列表,或是對單一列或欄的引用。",
121
- edit: "編輯"
122
- },
123
- listMultiple: {
124
- title: "下拉式選單-多選",
125
- dropdown: "多選"
107
+ error: "輸入必須在指定的範圍內"
126
108
  },
109
+ listMultiple: { title: "下拉式選單-多選" },
127
110
  decimal: { title: "數字" },
128
111
  whole: { title: "整數" },
129
112
  checkbox: {
130
113
  title: "複選框",
131
- error: "此儲存格的內容違反了驗證規則",
132
- tips: "在儲存格內使用自訂值",
133
- checked: "選取值",
134
- unchecked: "未選取值"
114
+ error: "此儲存格的內容違反了驗證規則"
135
115
  }
136
116
  } };
137
117
 
package/lib/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { CellValueType, CommandType, DataValidationOperator, DataValidationRenderMode, DataValidationStatus, DataValidationType, DependentOn, Disposable, ICommandService, IConfigService, IPermissionService, IUndoRedoService, IUniverInstanceService, Inject, Injector, LifecycleService, LifecycleStages, ObjectMatrix, Plugin, RBush, Range, Rectangle, RxDisposable, Tools, UniverInstanceType, WrapStrategy, bufferDebounceTime, dateKit, debounce, generateRandomId, getIntersectRange, getOriginCellValue, isFormulaString, isRangesEqual, merge, numfmt, sequenceExecute, toDisposable } from "@univerjs/core";
1
+ import { CellValueType, CommandType, DataValidationOperator, DataValidationRenderMode, DataValidationStatus, DataValidationType, DateSystem, DependentOn, Disposable, ICommandService, IConfigService, IPermissionService, IUndoRedoService, IUniverInstanceService, Inject, Injector, LifecycleService, LifecycleStages, ObjectMatrix, Plugin, RBush, Range, Rectangle, RxDisposable, Tools, UniverInstanceType, WrapStrategy, bufferDebounceTime, debounce, excelSerialToDateTimeParts, generateRandomId, getIntersectRange, getNumfmtLocaleTag, getOriginCellValue, isFormulaString, isRangesEqual, merge, numfmt, sequenceExecute, toDisposable } from "@univerjs/core";
2
2
  import { AddDataValidationMutation, BaseDataValidator, DataValidationModel, DataValidatorRegistryService, RemoveDataValidationMutation, UniverDataValidationPlugin, UpdateDataValidationMutation, UpdateRuleType, getRuleOptions, getRuleSetting } from "@univerjs/data-validation";
3
3
  import { ERROR_TYPE_SET, LexerTreeBuilder, OtherFormulaBizType, RegisterOtherFormulaService, UniverFormulaEnginePlugin, deserializeRangeWithSheet, deserializeRangeWithSheetWithCache, isReferenceString, operatorToken, sequenceNodeType } from "@univerjs/engine-formula";
4
4
  import { ClearSelectionAllCommand, CopySheetCommand, RefRangeService, RemoveSheetCommand, RemoveSheetMutation, SetRangeValuesMutation, SetRangeValuesUndoMutationFactory, SheetInterceptorService, SheetsSelectionsService, UniverSheetsPlugin, WorksheetViewPermission, deserializeListOptions, getSheetCommandTarget, handleCommonDefaultRangeChangeWithEffectRefCommands } from "@univerjs/sheets";
@@ -1273,14 +1273,15 @@ function getTransformedFormula(lexerTreeBuilder, rule, position) {
1273
1273
 
1274
1274
  //#endregion
1275
1275
  //#region src/validators/date-validator.ts
1276
- const transformDate2SerialNumber = (value) => {
1277
- var _numfmt$parseDate, _numfmt$parseDate2;
1276
+ const transformDate2SerialNumber = (value, options = {}) => {
1277
+ var _numfmt$parseDate;
1278
1278
  if (value === void 0 || value === null || typeof value === "boolean") return;
1279
1279
  if (typeof value === "number" || !Number.isNaN(+value)) return +value;
1280
- const v = (_numfmt$parseDate = numfmt.parseDate(value)) === null || _numfmt$parseDate === void 0 ? void 0 : _numfmt$parseDate.v;
1281
- if (Tools.isDefine(v)) return v;
1282
- return (_numfmt$parseDate2 = numfmt.parseDate(dateKit(value).format("YYYY-MM-DD HH:mm:ss"))) === null || _numfmt$parseDate2 === void 0 ? void 0 : _numfmt$parseDate2.v;
1280
+ return (_numfmt$parseDate = numfmt.parseDate(value, options)) === null || _numfmt$parseDate === void 0 ? void 0 : _numfmt$parseDate.v;
1283
1281
  };
1282
+ function pad(value) {
1283
+ return String(value).padStart(2, "0");
1284
+ }
1284
1285
  var DateValidator = class extends BaseSheetValidator {
1285
1286
  constructor(..._args) {
1286
1287
  super(..._args);
@@ -1300,6 +1301,14 @@ var DateValidator = class extends BaseSheetValidator {
1300
1301
  _defineProperty(this, "scopes", ["sheet"]);
1301
1302
  _defineProperty(this, "_customFormulaService", this.injector.get(DataValidationCustomFormulaService));
1302
1303
  _defineProperty(this, "_lexerTreeBuilder", this.injector.get(LexerTreeBuilder));
1304
+ _defineProperty(this, "_univerInstanceService", this.injector.get(IUniverInstanceService));
1305
+ }
1306
+ _getParseOptions(unitId, workbook) {
1307
+ const targetWorkbook = workbook ?? (unitId ? this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET) : void 0);
1308
+ return targetWorkbook ? {
1309
+ locale: getNumfmtLocaleTag(targetWorkbook.getSnapshot().locale),
1310
+ dateSystem: targetWorkbook.getDateSystem()
1311
+ } : { dateSystem: DateSystem.Date1900 };
1303
1312
  }
1304
1313
  async parseFormula(rule, unitId, subUnitId, row, column) {
1305
1314
  const formulaResult1 = await this._customFormulaService.getCellFormulaValue(unitId, subUnitId, rule.uid, row, column);
@@ -1307,27 +1316,29 @@ var DateValidator = class extends BaseSheetValidator {
1307
1316
  const { formula1, formula2 } = rule;
1308
1317
  const isFormulaValid = isLegalFormulaResult(String(formulaResult1 === null || formulaResult1 === void 0 ? void 0 : formulaResult1.v)) && isLegalFormulaResult(String(formulaResult2 === null || formulaResult2 === void 0 ? void 0 : formulaResult2.v));
1309
1318
  return {
1310
- formula1: transformDate2SerialNumber(isFormulaString(formula1) ? formulaResult1 === null || formulaResult1 === void 0 ? void 0 : formulaResult1.v : formula1),
1311
- formula2: transformDate2SerialNumber(isFormulaString(formula2) ? formulaResult2 === null || formulaResult2 === void 0 ? void 0 : formulaResult2.v : formula2),
1319
+ formula1: transformDate2SerialNumber(isFormulaString(formula1) ? formulaResult1 === null || formulaResult1 === void 0 ? void 0 : formulaResult1.v : formula1, this._getParseOptions(unitId)),
1320
+ formula2: transformDate2SerialNumber(isFormulaString(formula2) ? formulaResult2 === null || formulaResult2 === void 0 ? void 0 : formulaResult2.v : formula2, this._getParseOptions(unitId)),
1312
1321
  isFormulaValid
1313
1322
  };
1314
1323
  }
1315
1324
  async isValidType(info) {
1316
1325
  const { interceptValue, value } = info;
1317
- if (typeof value === "number" && typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue));
1318
- if (typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue));
1326
+ const options = this._getParseOptions(info.unitId, info.workbook);
1327
+ if (typeof value === "number" && typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue, options));
1328
+ if (typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue, options));
1319
1329
  return false;
1320
1330
  }
1321
- _validatorSingleFormula(formula) {
1322
- return !Tools.isBlank(formula) && (isFormulaString(formula) || !Number.isNaN(+formula) || Boolean(formula && numfmt.parseDate(formula)));
1331
+ _validatorSingleFormula(formula, options) {
1332
+ return !Tools.isBlank(formula) && (isFormulaString(formula) || !Number.isNaN(+formula) || Boolean(formula && numfmt.parseDate(formula, options)));
1323
1333
  }
1324
1334
  validatorFormula(rule, unitId, subUnitId) {
1325
1335
  const operator = rule.operator;
1326
1336
  if (!operator) return { success: true };
1327
- const formula1Success = this._validatorSingleFormula(rule.formula1);
1337
+ const options = this._getParseOptions(unitId);
1338
+ const formula1Success = this._validatorSingleFormula(rule.formula1, options);
1328
1339
  const errorMsg = this.localeService.t("sheets-data-validation.validFail.date");
1329
1340
  if (TWO_FORMULA_OPERATOR_COUNT.includes(operator)) {
1330
- const formula2Success = this._validatorSingleFormula(rule.formula2);
1341
+ const formula2Success = this._validatorSingleFormula(rule.formula2, options);
1331
1342
  return {
1332
1343
  success: formula1Success && formula2Success,
1333
1344
  formula1: formula1Success ? void 0 : errorMsg,
@@ -1339,19 +1350,18 @@ var DateValidator = class extends BaseSheetValidator {
1339
1350
  formula1: formula1Success ? void 0 : errorMsg
1340
1351
  };
1341
1352
  }
1342
- normalizeFormula(rule, _unitId, _subUnitId) {
1353
+ normalizeFormula(rule, unitId, _subUnitId) {
1343
1354
  const { formula1, formula2, bizInfo } = rule;
1355
+ const options = this._getParseOptions(unitId);
1344
1356
  const normlizeSingleFormula = (formula) => {
1357
+ var _numfmt$parseDate2;
1345
1358
  if (!formula) return formula;
1346
- let date;
1347
- if (!Number.isNaN(+formula)) date = numfmt.dateFromSerial(+formula);
1348
- else {
1349
- var _numfmt$parseDate3;
1350
- const res = (_numfmt$parseDate3 = numfmt.parseDate(formula)) === null || _numfmt$parseDate3 === void 0 ? void 0 : _numfmt$parseDate3.v;
1351
- if (res === void 0 || res === null) return "";
1352
- date = numfmt.dateFromSerial(res);
1353
- }
1354
- return dateKit(`${date[0]}/${date[1]}/${date[2]} ${date[3]}:${date[4]}:${date[5]}`).format((bizInfo === null || bizInfo === void 0 ? void 0 : bizInfo.showTime) ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
1359
+ const serial = !Number.isNaN(+formula) ? +formula : (_numfmt$parseDate2 = numfmt.parseDate(formula, options)) === null || _numfmt$parseDate2 === void 0 ? void 0 : _numfmt$parseDate2.v;
1360
+ if (typeof serial !== "number") return "";
1361
+ const date = excelSerialToDateTimeParts(serial, { dateSystem: options.dateSystem ?? DateSystem.Date1900 });
1362
+ if (!date) return "";
1363
+ const dateText = `${String(date.year).padStart(4, "0")}-${pad(date.month)}-${pad(date.day)}`;
1364
+ return (bizInfo === null || bizInfo === void 0 ? void 0 : bizInfo.showTime) ? `${dateText} ${pad(date.hours)}:${pad(date.minutes)}:${pad(date.seconds)}` : dateText;
1355
1365
  };
1356
1366
  return {
1357
1367
  formula1: isFormulaString(formula1) ? formula1 : normlizeSingleFormula(`${formula1}`),
@@ -1362,7 +1372,7 @@ var DateValidator = class extends BaseSheetValidator {
1362
1372
  const { value } = cellInfo;
1363
1373
  return {
1364
1374
  ...cellInfo,
1365
- value: transformDate2SerialNumber(value)
1375
+ value: transformDate2SerialNumber(value, this._getParseOptions(cellInfo.unitId, cellInfo.workbook))
1366
1376
  };
1367
1377
  }
1368
1378
  get operatorNames() {
@@ -2299,7 +2309,7 @@ DataValidationFormulaController = __decorate([
2299
2309
  //#endregion
2300
2310
  //#region package.json
2301
2311
  var name = "@univerjs/sheets-data-validation";
2302
- var version = "1.0.0-insiders.20260809-70eefdd";
2312
+ var version = "1.0.0-rc.0";
2303
2313
 
2304
2314
  //#endregion
2305
2315
  //#region src/config/config.ts
@@ -8,8 +8,7 @@ const locale = { "sheets-data-validation": {
8
8
  lessThanOrEqual: "أقل من أو يساوي",
9
9
  equal: "يساوي",
10
10
  notEqual: "لا يساوي",
11
- notBetween: "ليس بين",
12
- legal: "نوع قانوني"
11
+ notBetween: "ليس بين"
13
12
  },
14
13
  ruleName: {
15
14
  between: "بين {FORMULA1} و{FORMULA2}",
@@ -42,8 +41,7 @@ const locale = { "sheets-data-validation": {
42
41
  lessThanOrEqual: "في أو قبل",
43
42
  equal: "يساوي",
44
43
  notEqual: "لا يساوي",
45
- notBetween: "ليس بين",
46
- legal: "تاريخ قانوني"
44
+ notBetween: "ليس بين"
47
45
  },
48
46
  ruleName: {
49
47
  between: "بين {FORMULA1} و{FORMULA2}",
@@ -85,20 +83,16 @@ const locale = { "sheets-data-validation": {
85
83
  custom: {
86
84
  ruleName: "الصيغة المخصصة هي {FORMULA1}",
87
85
  title: "صيغة مخصصة",
88
- validFail: "يرجى إدخال صيغة صالحة",
89
86
  error: "محتويات هذه الخلية تنتهك قاعدة التحقق"
90
87
  },
91
88
  validFail: {
92
89
  value: "يرجى إدخال قيمة",
93
- common: "يرجى إدخال قيمة أو صيغة",
94
90
  number: "يرجى إدخال رقم أو صيغة",
95
91
  formula: "يرجى إدخال صيغة",
96
- integer: "يرجى إدخال عدد صحيح أو صيغة",
97
92
  date: "يرجى إدخال تاريخ أو صيغة",
98
93
  list: "يرجى إدخال خيارات",
99
94
  listInvalid: "يجب أن يكون مصدر القائمة قائمة محددة بفواصل أو مرجعًا لصف أو عمود واحد",
100
95
  checkboxEqual: "أدخل قيمًا مختلفة لمحتويات الخلية المحددة وغير المحددة.",
101
- formulaError: "يحتوي نطاق المرجع على بيانات غير مرئية، يرجى إعادة ضبط النطاق",
102
96
  listIntersects: "لا يمكن أن يتقاطع النطاق المحدد مع نطاق القواعد",
103
97
  primitive: "غير مسموح بالصيغ لقيم المحدد وغير المحدد المخصصة."
104
98
  },
@@ -109,28 +103,14 @@ const locale = { "sheets-data-validation": {
109
103
  list: {
110
104
  title: "قائمة منسدلة",
111
105
  name: "القيمة تحتوي على واحدة من النطاق",
112
- error: "يجب أن يكون الإدخال ضمن النطاق المحدد",
113
- emptyError: "يرجى إدخال قيمة",
114
- add: "إضافة",
115
- dropdown: "تحديد",
116
- options: "خيارات",
117
- customOptions: "مخصص",
118
- refOptions: "من نطاق",
119
- formulaError: "يجب أن يكون مصدر القائمة قائمة بيانات محددة بفواصل، أو مرجعًا لصف أو عمود واحد.",
120
- edit: "تحرير"
121
- },
122
- listMultiple: {
123
- title: "قائمة منسدلة - متعددة",
124
- dropdown: "تحديد متعدد"
106
+ error: "يجب أن يكون الإدخال ضمن النطاق المحدد"
125
107
  },
108
+ listMultiple: { title: "قائمة منسدلة - متعددة" },
126
109
  decimal: { title: "رقم" },
127
110
  whole: { title: "عدد صحيح" },
128
111
  checkbox: {
129
112
  title: "خانة اختيار",
130
- error: "محتويات هذه الخلية تنتهك قاعدة التحقق",
131
- tips: "استخدم قيمًا مخصصة داخل الخلايا",
132
- checked: "القيمة المحددة",
133
- unchecked: "القيمة غير المحددة"
113
+ error: "محتويات هذه الخلية تنتهك قاعدة التحقق"
134
114
  }
135
115
  } };
136
116