@OnMayClose public boolean checkIfDirty() { if (isDirty()) { return view.confirmClose(); } return true; }
@OnSave public void onSave() { if (isReadOnly) { view.alertReadOnly(); return; } if (concurrentUpdateSessionInfo != null) { newConcurrentUpdate( concurrentUpdateSessionInfo.getPath(), concurrentUpdateSessionInfo.getIdentity(), new Command() { @Override public void execute() { save(); } }, new Command() { @Override public void execute() { // cancel? } }, new Command() { @Override public void execute() { reload(); } }) .show(); } else { save(); } }
@IsDirty public boolean isDirty() { return view.isDirty(); }
private void reload() { changeTitleNotification.fire(new ChangeTitleWidgetEvent(place, getTitle(), null)); view.showBusyIndicator(CommonConstants.INSTANCE.Loading()); loadContent(); }
@OnStartup public void onStartup(final ObservablePath path, final PlaceRequest place) { this.path = path; this.place = place; this.isReadOnly = place.getParameter("readOnly", null) == null ? false : true; this.version = place.getParameter("version", null); this.path.onRename( new Command() { @Override public void execute() { changeTitleNotification.fire(new ChangeTitleWidgetEvent(place, getTitle(), null)); } }); this.path.onConcurrentUpdate( new ParameterizedCommand<ObservablePath.OnConcurrentUpdateEvent>() { @Override public void execute(final ObservablePath.OnConcurrentUpdateEvent eventInfo) { concurrentUpdateSessionInfo = eventInfo; } }); this.path.onConcurrentRename( new ParameterizedCommand<ObservablePath.OnConcurrentRenameEvent>() { @Override public void execute(final ObservablePath.OnConcurrentRenameEvent info) { newConcurrentRename( info.getSource(), info.getTarget(), info.getIdentity(), new Command() { @Override public void execute() { disableMenus(); } }, new Command() { @Override public void execute() { reload(); } }) .show(); } }); this.path.onConcurrentDelete( new ParameterizedCommand<ObservablePath.OnConcurrentDelete>() { @Override public void execute(final ObservablePath.OnConcurrentDelete info) { newConcurrentDelete( info.getPath(), info.getIdentity(), new Command() { @Override public void execute() { disableMenus(); } }, new Command() { @Override public void execute() { placeManager.closePlace(place); } }) .show(); } }); makeMenuBar(); view.showBusyIndicator(CommonConstants.INSTANCE.Loading()); multiPage.addWidget(view, DSLTextEditorConstants.INSTANCE.DSL()); multiPage.addPage( new Page(metadataWidget, CommonConstants.INSTANCE.MetadataTabTitle()) { @Override public void onFocus() { metadataWidget.showBusyIndicator(CommonConstants.INSTANCE.Loading()); metadataService .call( new MetadataSuccessCallback(metadataWidget, isReadOnly), new HasBusyIndicatorDefaultErrorCallback(metadataWidget)) .getMetadata(path); } @Override public void onLostFocus() { // Nothing to do } }); loadContent(); }