package org.geogebra.web.web.gui.browser; import java.util.ArrayList; import java.util.List; import org.geogebra.common.move.ggtapi.models.Chapter; import org.geogebra.common.move.ggtapi.models.Material; import org.geogebra.common.move.ggtapi.models.Material.MaterialType; import org.geogebra.web.html5.main.AppW; import org.geogebra.web.web.move.ggtapi.models.GeoGebraTubeAPIW; import org.geogebra.web.web.move.ggtapi.models.MaterialCallback; public class EmbeddedMaterialElement extends MaterialListElement { public EmbeddedMaterialElement(final Material m, final AppW app, final boolean isLocal) { super(m, app, isLocal); } @Override public String getInsertWorksheetTitle(Material m) { return m.getType() == MaterialType.book ? null : "insert_worksheet"; } @Override public void onView() { ((GeoGebraTubeAPIW) app.getLoginOperation().getGeoGebraTubeAPI()).getItem(getMaterial().getId()+"", new MaterialCallback(){ @Override public void onLoaded(List<Material> parseResponse, ArrayList<Chapter> meta) { loadNative(parseResponse.get(0).toJson().toString()); } private native void loadNative(String data) /*-{ if ($wnd.loadWorksheet) { $wnd.loadWorksheet(JSON.parse(data)); } }-*/; }); } }