com.taobao.weex.ui.component.WXEmbed Java Examples

The following examples show how to use com.taobao.weex.ui.component.WXEmbed. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ViewUtils.java    From analyzer-of-android-for-Apache-Weex with Apache License 2.0 6 votes vote down vote up
@Nullable
public static WXComponent getNestedRootComponent(@NonNull WXEmbed embed) {
    try {
        Class embedClazz = embed.getClass();
        Field field = embedClazz.getDeclaredField("mNestedInstance");
        field.setAccessible(true);
        WXSDKInstance nestedInstance = (WXSDKInstance) field.get(embed);
        if(nestedInstance == null) {
            return null;
        }
        return nestedInstance.getRootComponent();

    }catch (Exception e) {
        WXLogUtils.e(e.getMessage());
    }
    return null;
}
 
Example #2
Source File: WXSDKEngine.java    From weex with Apache License 2.0 6 votes vote down vote up
private static void register() {
  try {
    registerComponent(WXBasicComponentType.TEXT, WXText.class, false);
    registerComponent(WXBasicComponentType.IMG, WXImage.class, false);
    registerComponent(WXBasicComponentType.DIV, WXDiv.class, false);
    registerComponent(WXBasicComponentType.IMAGE, WXImage.class, false);
    registerComponent(WXBasicComponentType.CONTAINER, WXDiv.class, false);
    registerComponent(WXBasicComponentType.SCROLLER, WXScroller.class, false);
    registerComponent(WXBasicComponentType.SLIDER, WXSlider.class, true);

    registerComponent(WXListComponent.class, false,WXBasicComponentType.LIST,WXBasicComponentType.VLIST);
    registerComponent(HorizontalListComponent.class,false,WXBasicComponentType.HLIST);
    registerComponent(WXBasicComponentType.CELL, WXCell.class, true);
    registerComponent(WXBasicComponentType.INDICATOR, WXIndicator.class, true);
    registerComponent(WXBasicComponentType.VIDEO, WXVideo.class, false);
    registerComponent(WXBasicComponentType.INPUT, WXInput.class, false);
    registerComponent(WXBasicComponentType.SWITCH, WXSwitch.class, false);
    registerComponent(WXBasicComponentType.A, WXA.class, false);
    registerComponent(WXBasicComponentType.EMBED, WXEmbed.class, true);
    registerComponent(WXBasicComponentType.WEB, WXWeb.class);
    registerComponent(WXBasicComponentType.REFRESH, WXRefresh.class);
    registerComponent(WXBasicComponentType.LOADING, WXLoading.class);
    registerComponent(WXBasicComponentType.LOADING_INDICATOR, WXLoadingIndicator.class);

    registerModule("dom", WXDomModule.class, true);
    registerModule("modal", WXModalUIModule.class, false);
    registerModule("instanceWrap", WXInstanceWrap.class, true);
    registerModule("animation", WXAnimationModule.class, true);
    registerModule("webview", WXWebViewModule.class, true);
    registerModule("navigator", WXNavigatorModule.class);
    registerModule("stream", WXStreamModule.class);

    registerDomObject(WXBasicComponentType.TEXT, WXTextDomObject.class);
    registerDomObject(WXBasicComponentType.INPUT, WXTextDomObject.class);
    registerDomObject(WXBasicComponentType.SWITCH, WXSwitchDomObject.class);
  } catch (WXException e) {
    WXLogUtils.e("[WXSDKEngine] register:" + WXLogUtils.getStackTrace(e));
  }
}
 
Example #3
Source File: ViewInspectorManager.java    From analyzer-of-android-for-Apache-Weex with Apache License 2.0 5 votes vote down vote up
@Nullable
private WXComponent findBoundComponentBy(@NonNull View targetView,@NonNull WXComponent rootComponent) {
    Deque<WXComponent> deque = new ArrayDeque<>();
    deque.add(rootComponent);
    WXComponent targetComponent = null;

    while (!deque.isEmpty()) {
        WXComponent component = deque.removeFirst();

        View view = component.getHostView();
        if(view != null && view.equals(targetView)) {
            targetComponent = component;
        }

        //we should take embed into account
        if(component instanceof WXEmbed) {
            WXComponent nestedRootComponent = ViewUtils.getNestedRootComponent((WXEmbed) component);
            if(nestedRootComponent != null) {
                deque.add(nestedRootComponent);
            }
        } else if(component instanceof WXVContainer) {
            WXVContainer container = (WXVContainer) component;
            for(int i = 0,len = container.getChildCount(); i < len; i++) {
                WXComponent c = container.getChild(i);
                deque.add(c);
            }
        }
    }

    return targetComponent;
}
 
Example #4
Source File: WXSDKEngine.java    From weex-uikit with MIT License 3 votes vote down vote up
private static void register() {
  BatchOperationHelper batchHelper = new BatchOperationHelper(WXBridgeManager.getInstance());
  try {
    registerComponent(
      new SimpleComponentHolder(
        WXText.class,
        new WXText.Creator()
      ),
      false,
      WXBasicComponentType.TEXT
    );
    registerComponent(
      new SimpleComponentHolder(
        WXDiv.class,
        new WXDiv.Ceator()
      ),
      false,
      WXBasicComponentType.CONTAINER,
      WXBasicComponentType.DIV,
      WXBasicComponentType.HEADER,
      WXBasicComponentType.FOOTER
    );
    registerComponent(
      new SimpleComponentHolder(
        WXImage.class,
        new WXImage.Ceator()
      ),
      false,
      WXBasicComponentType.IMAGE,
      WXBasicComponentType.IMG
    );
    registerComponent(
      new SimpleComponentHolder(
        WXScroller.class,
        new WXScroller.Creator()
      ),
      false,
      WXBasicComponentType.SCROLLER
    );
    registerComponent(
      new SimpleComponentHolder(
        WXSlider.class,
        new WXSlider.Creator()
      ),
      true,
      WXBasicComponentType.SLIDER
    );
    registerComponent(
      new SimpleComponentHolder(
              WXSliderNeighbor.class,
        new WXSliderNeighbor.Creator()
      ),
      true,
      WXBasicComponentType.SLIDER_NEIGHBOR
    );
    registerComponent(SimpleListComponent.class,false,"simplelist");
    registerComponent(WXListComponent.class, false,WXBasicComponentType.LIST,WXBasicComponentType.VLIST);
    registerComponent(HorizontalListComponent.class,false,WXBasicComponentType.HLIST);
    registerComponent(WXBasicComponentType.CELL, WXCell.class, true);
    registerComponent(WXBasicComponentType.INDICATOR, WXIndicator.class, true);
    registerComponent(WXBasicComponentType.VIDEO, WXVideo.class, false);
    registerComponent(WXBasicComponentType.INPUT, WXInput.class, false);
    registerComponent(WXBasicComponentType.TEXTAREA, Textarea.class,false);
    registerComponent(WXBasicComponentType.SWITCH, WXSwitch.class, false);
    registerComponent(WXBasicComponentType.A, WXA.class, false);
    registerComponent(WXBasicComponentType.EMBED, WXEmbed.class, true);
    registerComponent(WXBasicComponentType.WEB, WXWeb.class);
    registerComponent(WXBasicComponentType.REFRESH, WXRefresh.class);
    registerComponent(WXBasicComponentType.LOADING, WXLoading.class);
    registerComponent(WXBasicComponentType.LOADING_INDICATOR, WXLoadingIndicator.class);
    registerComponent(WXBasicComponentType.HEADER, WXHeader.class);

    registerModule("modal", WXModalUIModule.class, false);
    registerModule("instanceWrap", WXInstanceWrap.class, true);
    registerModule("animation", WXAnimationModule.class, true);
    registerModule("webview", WXWebViewModule.class, true);
    registerModule("navigator", WXNavigatorModule.class);
    registerModule("stream", WXStreamModule.class);
    registerModule("timer", WXTimerModule.class, true);
    registerModule("storage", WXStorageModule.class, true);
    registerModule("clipboard", WXClipboardModule.class, true);
    registerModule("globalEvent",WXGlobalEventModule.class);
    registerModule("picker", WXPickersModule.class);
    registerModule("meta", WXMetaModule.class,true);
    registerModule("webSocket", WebSocketModule.class);


    registerDomObject(WXBasicComponentType.INDICATOR, WXIndicator.IndicatorDomNode.class);
    registerDomObject(WXBasicComponentType.TEXT, WXTextDomObject.class);
    registerDomObject(WXBasicComponentType.INPUT, BasicEditTextDomObject.class);
    registerDomObject(WXBasicComponentType.TEXTAREA, TextAreaEditTextDomObject.class);
    registerDomObject(WXBasicComponentType.SWITCH, WXSwitchDomObject.class);
    registerDomObject(WXBasicComponentType.LIST, WXListDomObject.class);
    registerDomObject(WXBasicComponentType.VLIST, WXListDomObject.class);
    registerDomObject(WXBasicComponentType.HLIST, WXListDomObject.class);
    registerDomObject(WXBasicComponentType.SCROLLER, WXScrollerDomObject.class);
  } catch (WXException e) {
    WXLogUtils.e("[WXSDKEngine] register:", e);
  }
  batchHelper.flush();
}