static MapperFactory factory()

in view/src/main/java/jetbrains/jetpad/projectional/view/toGwt/ViewMapperFactory.java [29:75]


  static MapperFactory<View, Element> factory(final ViewToDomContext ctx) {
    return new MapperFactory<View, Element>() {
      @Override
      public Mapper<? extends View, ? extends Element> createMapper(View source) {
        Mapper<? extends View, ? extends Element> result;
        if (source instanceof TextView) {
          result = new TextViewMapper(ctx, (TextView) source);
        } else if (source instanceof LineView) {
          result = new LineViewMapper(ctx, (LineView) source);
        } else if (source instanceof MultiPointView) {
          result = new MultiPointViewMapper(ctx, (MultiPointView) source);
        } else if (BROWSER_LAYOUT_COLLECTIONS && source.getClass() == VerticalView.class) {
          result = new VerticalViewMapper(ctx, (VerticalView) source);
        } else if (BROWSER_LAYOUT_COLLECTIONS && source.getClass() == HorizontalView.class) {
          result = new HorizontalViewMapper(ctx, (HorizontalView) source);
        } else if (source instanceof ScrollView) {
          result = new ScrollViewMapper(ctx, (ScrollView) source);
        } else if (source instanceof ImageView) {
          result = new ImageViewMapper(ctx, (ImageView) source);
        } else if (source instanceof DomView) {
          result = new DomViewMapper(ctx, (DomView) source);
        } else if (source instanceof SvgView) {
          result = new SvgViewMapper(ctx, (SvgView) source);
        } else {
          result = new CompositeViewMapper<View, Element>(ctx, source, DOM.createDiv());
        }

        if (source instanceof VerticalView) {
          result.getTarget().addClassName("V");
        }

        if (source instanceof HorizontalView) {
          result.getTarget().addClassName("H");
        }

        if (source instanceof TextView) {
          result.getTarget().addClassName("T");
        }

        if (source instanceof ScrollView) {
          result.getTarget().addClassName("S");
        }

        return result;
      }
    };
  }