package org.gcube.portlets.user.geoportaldataentry.client.ui.edit; import org.gcube.application.geoportalcommon.shared.products.BaseConcessioneDV; import org.gcube.portlets.user.geoportaldataentry.client.ConstantsGeoPortalDataEntryApp.RECORD_TYPE; import org.gcube.portlets.user.geoportaldataentry.client.GeoPortalDataEntryApp; import org.gcube.portlets.user.geoportaldataentry.client.ui.edit.jseditor.MyJSONEditor; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.Random; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Widget; /** * The Class EditModeRecord. * * @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it * * Sep 17, 2021 */ public class EditModeRecord extends Composite { private static EditModeRecordUiBinder uiBinder = GWT.create(EditModeRecordUiBinder.class); @UiField FlowPanel rawUpdatePanel; @UiField FlowPanel filesUpdatePanel; private BaseConcessioneDV selectedConcessione; /** * The Interface EditModeRecordUiBinder. * * @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it * * Sep 17, 2021 */ interface EditModeRecordUiBinder extends UiBinder { } /** * Instantiates a new edits the mode record. * * @param selectedConcessione the selected concessione * @param type the type */ public EditModeRecord(BaseConcessioneDV selectedConcessione, RECORD_TYPE type) { initWidget(uiBinder.createAndBindUi(this)); this.selectedConcessione = selectedConcessione; final FlowPanel fp = new FlowPanel(); fp.getElement().setId("jsoneditor"+Random.nextInt()); fp.setHeight("400px"); rawUpdatePanel.add(fp); GeoPortalDataEntryApp.geoportalDataEntryService.getJSONRecord(selectedConcessione.getItemId(), type, new AsyncCallback() { @Override public void onSuccess(String jsonData) { GWT.log("Instance JSON Editor with: "+jsonData); //jsonEditor = ExternalLib.instanceJSONEditor(fp.getElement().getId(), jsonData); //String updated = ExternalLib.getUpdatedJSON(jsonEditor); //JSONEditor constuctor = new JSONEditor(fp.getElement(),"{}"); final MyJSONEditor jsEditor = MyJSONEditor.init(fp.getElement().getId()); jsEditor.setName(selectedConcessione.getNome()); // JSONValue jsValue = JSONParser.parse(jsonData); // JSONObject extraJSONObject = jsValue.isObject(); jsEditor.set(jsonData); new Timer() { @Override public void run() { jsEditor.setMode("tree"); } }.schedule(200); //GWT.log("Updated: "+updated.toString()); //org.gcube.portlets.user.geoportaldataentry.client.ui.utils.JSONEditor editor = JE.jsoneditor(fp.getElement(), jsonData); //rawUpdatePanel.add(new Widget(editor)); } @Override public void onFailure(Throwable caught) { // TODO Auto-generated method stub } }); bindEvents(); } /** * Bind events. */ private void bindEvents() { // TODO Auto-generated method stub } }