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/dist/index.cjs +26 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +26 -1
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +26 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/html/table.js +30 -2
- package/src/html/textfield.js +1 -0
package/package.json
CHANGED
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)
|
package/src/html/textfield.js
CHANGED
@@ -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>
|