render method
ValueProvider
render(
- JSONRender render,
- DivElement output,
- dynamic node,
- dynamic nodeOriginal,
- NodeKey nodeKey,
override
Implementation
@override
ValueProvider render(JSONRender render, DivElement output, dynamic node,
dynamic nodeOriginal, NodeKey nodeKey) {
var time = parseTime(node)!;
var timeOriginal = inMilliseconds ? time : time / 1000;
Element elem;
ValueProvider valueProvider;
if (render.renderMode == JSONRenderMode.input) {
elem = InputElement()
..value = '$timeOriginal'
..type = 'number';
valueProvider = (parent) {
var time = parseInt((elem as InputElement).value);
return time;
};
} else {
var dateTimeStr = formatTimeMillis(time);
elem = SpanElement()..text = dateTimeStr;
elem.onClick.listen((e) {
copyElementToClipboard(elem);
var val = '${elem.text}';
if (RegExp(r'^\d+$').hasMatch(val)) {
elem.text = dateTimeStr;
} else {
elem.text = '$timeOriginal';
}
});
valueProvider = (parent) => nodeOriginal;
}
output.children.add(elem);
applyCSS(render, output, extraElements: [elem]);
return valueProvider;
}