Changed the behavior of `timestampTag` to fallback on the built-in rules when the function does not return a boolean. See #856.
This commit is contained in:
parent
00c02b9bcf
commit
5c7e1e6fe9
|
@ -3,10 +3,12 @@
|
||||||
https://github.com/josdejong/jsoneditor
|
https://github.com/josdejong/jsoneditor
|
||||||
|
|
||||||
|
|
||||||
## 2019-12-11, version 7.6.0
|
## 2019-12-11, version 8.0.0
|
||||||
|
|
||||||
- Implemented option `timestampFormat` which allows customizing the formatting
|
- Implemented option `timestampFormat` which allows customizing the formatting
|
||||||
of timestamp tags. See also option `timestampTag`. Thanks @smallp.
|
of timestamp tags. See also option `timestampTag`. Thanks @smallp.
|
||||||
|
- Changed the behavior of `timestampTag` to fallback on the built-in rules when
|
||||||
|
the function does not return a boolean. See #856.
|
||||||
- Reverted the heuristics introduced in `v7.3.0` to check whether some field
|
- Reverted the heuristics introduced in `v7.3.0` to check whether some field
|
||||||
contains a timestamp based on the field name, because they can give wrong
|
contains a timestamp based on the field name, because they can give wrong
|
||||||
timestamps in case of values in seconds instead of the assumed milliseconds
|
timestamps in case of values in seconds instead of the assumed milliseconds
|
||||||
|
|
|
@ -476,8 +476,12 @@ Constructs a new JSONEditor.
|
||||||
than Jan 1th 2000, `946684800000`.
|
than Jan 1th 2000, `946684800000`.
|
||||||
|
|
||||||
When `timestampTag` a is a function, a timestamp tag will be displayed when
|
When `timestampTag` a is a function, a timestamp tag will be displayed when
|
||||||
this function returns `true`. The function is invoked with an object as first
|
this function returns `true`, and no timestamp is displayed when the function
|
||||||
parameter:
|
returns `false`. When the function returns a non-boolean value like `null`
|
||||||
|
or `undefined`, JSONEditor will fallback on the built-in rules to determine
|
||||||
|
whether or not to show a timestamp.
|
||||||
|
|
||||||
|
The function is invoked with an object as first parameter:
|
||||||
|
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
|
|
|
@ -1961,18 +1961,22 @@ export class Node {
|
||||||
|
|
||||||
const timestampTag = this.editor.options.timestampTag
|
const timestampTag = this.editor.options.timestampTag
|
||||||
if (typeof timestampTag === 'function') {
|
if (typeof timestampTag === 'function') {
|
||||||
return timestampTag({
|
const result = timestampTag({
|
||||||
field: this.field,
|
field: this.field,
|
||||||
value: this.value,
|
value: this.value,
|
||||||
path: this.getPath()
|
path: this.getPath()
|
||||||
})
|
})
|
||||||
}
|
|
||||||
|
|
||||||
if (timestampTag === true) {
|
if (typeof result === 'boolean') {
|
||||||
|
return result
|
||||||
|
} else {
|
||||||
|
return isTimestamp(this.field, this.value)
|
||||||
|
}
|
||||||
|
} else if (timestampTag === true) {
|
||||||
return isTimestamp(this.field, this.value)
|
return isTimestamp(this.field, this.value)
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue