render method

  1. @override
ValueProvider render(
  1. JSONRender render,
  2. DivElement output,
  3. dynamic node,
  4. dynamic nodeOriginal,
  5. NodeKey nodeKey,
)
override

Implementation

@override
ValueProvider render(JSONRender render, DivElement output, dynamic node,
    dynamic nodeOriginal, NodeKey nodeKey) {
  var url = '$node';
  String? urlType;

  if (filterURL != null) {
    var ret = filterURL!(url);
    url = ret.url;
    urlType = ret.type;
  }

  Element elem;
  ValueProvider valueProvider;

  // How to edit an Image online? Take a Photo?
  //if (render.renderMode == JSONRenderMode.INPUT && false) {
  //} else
  {
    elem = createImageElementFromURL(render, lazyLoad, url, urlType);
    valueProvider = (parent) => nodeOriginal;
  }

  elem.style.maxWidth = imageMaxWidth;

  if (imageMaxHeight != null) {
    elem.style.maxHeight = imageMaxHeight;
  }

  if (elem is ImageElement) {
    var img = elem;

    img.style.cursor = 'pointer';

    img.onClick.listen((e) {
      showDialogImage(img.src!);
    });
  }

  output.children.add(elem);

  this.applyCSS(render, output, extraElements: [elem]);

  return valueProvider;
}