112 lines
3.2 KiB
Java
112 lines
3.2 KiB
Java
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<Widget, EditModeRecord> {
|
|
}
|
|
|
|
/**
|
|
* 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<String>() {
|
|
|
|
@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
|
|
|
|
}
|
|
}
|