ywana-core8 0.0.763 → 0.0.765

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ywana-core8",
3
- "version": "0.0.763",
3
+ "version": "0.0.765",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
package/src/html/table.js CHANGED
@@ -165,7 +165,7 @@ const DataTableCell = ({ index, row, column, cell, editable }) => {
165
165
  const render = (type) => {
166
166
  const { id, disabled = false, min, max, onChange, format, options, item, action } = column
167
167
 
168
-
168
+
169
169
  if (id === "checked") {
170
170
  return <CheckBox id={id} value={cell} onChange={(id, value) => onChange(row.id, id, value)} />
171
171
  } else if (editable && onChange) {
@@ -249,12 +249,40 @@ const BooleanCellViewer = ({ id, value = false }) => {
249
249
  * NumberCellViewer
250
250
  */
251
251
  const NumberCellViewer = ({ id, value, format, maxDecimals }) => {
252
+
253
+ function formatNumber(number) {
254
+ // convert number to numeric
255
+ if (number === null) return "null"
256
+ const number2 = Number(number)
257
+ let result = number2.toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 })
258
+ // thousands separator is a dot
259
+ var parts = result.toString().split(",");
260
+ const numberPart = parts[0];
261
+ const decimalPart = parts[1];
262
+ const thousands = /\B(?=(\d{3})+(?!\d))/g;
263
+ return numberPart.replace(thousands, ".") + (decimalPart ? "," + decimalPart : "");
264
+ }
265
+
252
266
  if (format) {
253
267
  switch (format) {
254
268
  case FORMATS.CURRENCY:
255
269
  return <span>{value.toLocaleString('es-ES', { style: 'currency', currency: 'EUR' })}</span>
256
270
  case FORMATS.PERCENT:
257
271
  return <span>{value.toLocaleString('es-ES', { style: 'percent', minimumFractionDigits: 2 })}</span>
272
+ case "ES_es":
273
+
274
+ // convert value to number
275
+ let number = Number(value)
276
+
277
+ // if value is not a number, return value
278
+ if (isNaN(number)) return value
279
+
280
+ // if maxDecimals is defined, round number
281
+ if (maxDecimals) number = number.toFixed(maxDecimals)
282
+
283
+ // format number
284
+ return <span>{formatNumber(number)}</span>
285
+
258
286
  default:
259
287
  return <span>{value}</span>
260
288
  }
@@ -293,7 +321,7 @@ const StringCellViewer = ({ id, value, format, options, action }) => {
293
321
  text = <a href={text} target="download" download >{text}</a>
294
322
  break;
295
323
  case FORMATS.IMG:
296
- text = <img src={text} onClick={onClick}/>
324
+ text = <img src={text} onClick={onClick} />
297
325
  break;
298
326
  case FORMATS.DATE:
299
327
  let fecha = new Date(text)
@@ -99,6 +99,7 @@ export const TextArea = (props) => {
99
99
  if (onChange) onChange(id, "")
100
100
  }
101
101
 
102
+ const borderStyle = outlined ? "textarea-outlined" : "textarea"
102
103
  const labelStyle = label ? "" : "no-label"
103
104
  const style = `textarea ${labelStyle} textarea-${type}`
104
105
  const labelTxt = <Text>{label}</Text>