******* TMP
Change-Id: I840735b484a8f6e51d0e28a08626fbb1ff439945
diff --git a/org.eclipse.scout.rt.ui.html/src/main/js/scout/form/fields/FormField.js b/org.eclipse.scout.rt.ui.html/src/main/js/scout/form/fields/FormField.js
index 82ac44b..eb0f8e4 100644
--- a/org.eclipse.scout.rt.ui.html/src/main/js/scout/form/fields/FormField.js
+++ b/org.eclipse.scout.rt.ui.html/src/main/js/scout/form/fields/FormField.js
@@ -431,7 +431,7 @@
hasStatus = !!status,
hasTooltip = !!this.tooltipText;
- return !this.suppressStatus && (statusVisible || hasStatus || hasTooltip || (this._hasMenus() && this.menusVisible));
+ return !this.suppressStatus && (statusVisible || hasStatus || hasTooltip || (this.menusVisible && this._hasMenus()));
};
scout.FormField.prototype._renderChildVisible = function($child, visible) {
@@ -608,7 +608,7 @@
scout.FormField.prototype._updateMenus = function() {
this._updateStatusVisible();
- this.$container.toggleClass('has-menus', this._hasMenus() && this.menusVisible);
+ this.$container.toggleClass('has-menus', this.menusVisible && this._hasMenus());
};
scout.FormField.prototype._renderMenus = function() {
@@ -630,6 +630,10 @@
this._updateMenus();
};
+scout.FormField.prototype._updateMenusVisible = function() {
+ this.setMenusVisible(this._hasMenus());
+};
+
scout.FormField.prototype._setKeyStrokes = function(keyStrokes) {
this.updateKeyStrokes(keyStrokes, this.keyStrokes);
this._setProperty('keyStrokes', keyStrokes);
@@ -1275,7 +1279,25 @@
};
scout.FormField.prototype.onMenuPropertyChange = function(event) {
- if (event.propertyName === 'visible' && this.rendered) {
- this._updateMenus();
+ if (event.propertyName === 'visible') {
+ this._updateMenusVisible();
+ //this._updateMenus();
}
};
+
+scout.FormField.modifyPrototype = function() {
+ if (!scout.app.remote) {
+ return;
+ }
+
+ scout.objects.replacePrototypeFunction(scout.FormField, '_updateMenusVisible', function() {
+ if (this.modelAdapter) {
+ // Don't do anything -> let server handle it
+ return;
+ } else {
+ return this._updateMenusVisibleOrig();
+ }
+ }, true);
+};
+
+scout.addAppListener('bootstrap', scout.FormField.modifyPrototype);