diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/CtlSchemaActivity.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/CtlSchemaActivity.java index 6ada923b17..2dec7c1b71 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/CtlSchemaActivity.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/CtlSchemaActivity.java @@ -248,7 +248,7 @@ public void onClick(ClickEvent event) { newPlace = new CtlSchemaPlace(place.getMetaInfoId(), version, place.getScope(), place.getApplicationId(), true, true); } else if (place.getScope() == CTLSchemaScopeDto.TENANT) { newPlace = new CtlSchemaPlace(place.getMetaInfoId(), version, place.getScope(), - place.getEcfId(), place.getEcfVersionId(), place.getEcfVersion(), true, false); + place.getEcfId(), place.getEcfVersionId(), place.getEcfVersion(), true, true); } newPlace.setPreviousPlace(place); goTo(newPlace); diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/EcfVersionActivity.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/EcfVersionActivity.java index 4f17f11b02..2c8fb97da6 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/EcfVersionActivity.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/activity/EcfVersionActivity.java @@ -55,6 +55,16 @@ public EcfVersionActivity(EcfVersionPlace place, ClientFactory clientFactory) { this.ecfVersionId = place.getEcfVersionId(); initListView(); this.listView.setPresenter(this); + setEnabledForAddButton(); + } + + private void setEnabledForAddButton() { + listView.addButton().setEnabled(false); + if (place.getEventClassDtoList() != null) { + if (!place.getEventClassDtoList().isEmpty()) { + listView.addButton().setEnabled(true); + } + } } private void initListView() { diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/data/EcfVersionDataProvider.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/data/EcfVersionDataProvider.java index 6d12747542..880f8e6687 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/data/EcfVersionDataProvider.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/data/EcfVersionDataProvider.java @@ -69,7 +69,7 @@ public void onSuccess(List result) { EventClassDto eventClassDto = eventClassViewDto.getSchema(); eventClassDto.setCtlSchemaId(ctlSchemaMetaInfoDto.getId()); eventClassDto.setCreatedTime(System.currentTimeMillis()); - eventClassDto.setVersion(i); + eventClassDto.setVersion(ctlSchemaMetaInfoDto.getVersions().get(ctlSchemaMetaInfoDto.getVersions().size()-1)); eventClassDto.setId(String.valueOf(i++)); eventClassDtoList.add(eventClassDto); } diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/base/BaseListViewImpl.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/base/BaseListViewImpl.java index 52b26a1cae..e69d820e1b 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/base/BaseListViewImpl.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/base/BaseListViewImpl.java @@ -52,7 +52,7 @@ interface BaseListViewImplUiBinder extends UiBinder> @UiField public Label titleLabel; @UiField public HorizontalPanel buttonsPanel; @UiField public HorizontalPanel supportPanel; - @UiField (provided=true) public final ImageTextButton addButton; + @UiField (provided=true) public ImageTextButton addButton; @UiField (provided=true) public final AlertPanel errorPanel; @UiField (provided=true) public final KaaAdminStyle kaaAdminStyle; @UiField (provided=true) public final AvroUiStyle avroUiStyle; @@ -65,7 +65,7 @@ interface BaseListViewImplUiBinder extends UiBinder> public BaseListViewImpl(boolean editable) { this.editable = editable; - addButton = new ImageTextButton(Utils.resources.plus(), addButtonString()); + initAddButton(); errorPanel = new AlertPanel(Type.ERROR); kaaAdminStyle = Utils.kaaAdminStyle; avroUiStyle = Utils.avroUiStyle; @@ -81,6 +81,10 @@ public BaseListViewImpl(boolean editable) { clearError(); } + + protected void initAddButton(){ + addButton = new ImageTextButton(Utils.resources.plus(), addButtonString()); + } protected void appendToolbarWidget(Widget widget) { buttonsPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT); diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EcfVersionViewImpl.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EcfVersionViewImpl.java index a345d09d23..0db1899e77 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EcfVersionViewImpl.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EcfVersionViewImpl.java @@ -41,6 +41,11 @@ public EcfVersionViewImpl(boolean editable) { supportPanel.add(addECButton); } + @Override + protected void initAddButton() { + addButton = new ImageTextButton(null, addButtonString()); + } + @Override protected AbstractGrid createGrid() { return new EcfVersionGrid(); diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EventClassViewImpl.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EventClassViewImpl.java index 939ac8564a..f43eb6bdcc 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EventClassViewImpl.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/event/EventClassViewImpl.java @@ -79,4 +79,13 @@ protected boolean validate() { result &= eventClassTypeName.getValue().length() > 0; return result; } + + @Override + protected void updateSaveButton(boolean enabled, boolean invalid) { + if(create == true) { + super.updateSaveButton(enabled, invalid); + } else { + getSaveButtonWidget().setEnabled(false); + } + } } diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/widget/ImageTextButton.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/widget/ImageTextButton.java index c19758d330..72ecd0d1c9 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/widget/ImageTextButton.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/client/mvp/view/widget/ImageTextButton.java @@ -50,7 +50,9 @@ public ImageTextButton(ImageResource imageResource, String text, ClickHandler cl spacing = 16; } - updateImageElementFromImageResource(imageSpan, imageResource, spacing); + if(imageResource != null) { + updateImageElementFromImageResource(imageSpan, imageResource, spacing); + } DOM.insertBefore(getElement(), imageSpan, DOM.getFirstChild(getElement())); }