@openui5/sap.ui.layout 1.91.0 → 1.93.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/.reuse/dep5 +46 -0
  2. package/THIRDPARTY.txt +59 -1
  3. package/package.json +2 -2
  4. package/src/sap/ui/layout/.library +1 -1
  5. package/src/sap/ui/layout/AlignedFlowLayout.js +1 -1
  6. package/src/sap/ui/layout/AssociativeSplitter.js +1 -1
  7. package/src/sap/ui/layout/BlockLayout.js +1 -1
  8. package/src/sap/ui/layout/BlockLayoutCell.js +1 -1
  9. package/src/sap/ui/layout/BlockLayoutCellData.js +1 -1
  10. package/src/sap/ui/layout/BlockLayoutRow.js +2 -2
  11. package/src/sap/ui/layout/DynamicSideContent.js +4 -4
  12. package/src/sap/ui/layout/FixFlex.js +1 -1
  13. package/src/sap/ui/layout/Grid.js +1 -1
  14. package/src/sap/ui/layout/GridData.js +1 -1
  15. package/src/sap/ui/layout/GridRenderer.js +1 -1
  16. package/src/sap/ui/layout/HorizontalLayout.js +1 -1
  17. package/src/sap/ui/layout/PaneContainer.js +40 -2
  18. package/src/sap/ui/layout/ResponsiveFlowLayout.js +1 -1
  19. package/src/sap/ui/layout/ResponsiveFlowLayoutData.js +1 -1
  20. package/src/sap/ui/layout/ResponsiveSplitter.js +1 -1
  21. package/src/sap/ui/layout/ResponsiveSplitterPage.js +1 -1
  22. package/src/sap/ui/layout/SplitPane.js +13 -4
  23. package/src/sap/ui/layout/Splitter.js +2 -2
  24. package/src/sap/ui/layout/SplitterLayoutData.js +6 -2
  25. package/src/sap/ui/layout/VerticalLayout.js +1 -1
  26. package/src/sap/ui/layout/changeHandler/AddFormContainer.js +49 -22
  27. package/src/sap/ui/layout/changeHandler/AddFormField.js +40 -30
  28. package/src/sap/ui/layout/changeHandler/AddSimpleFormField.js +42 -27
  29. package/src/sap/ui/layout/changeHandler/AddSimpleFormGroup.js +76 -60
  30. package/src/sap/ui/layout/changeHandler/HideSimpleForm.js +166 -92
  31. package/src/sap/ui/layout/changeHandler/MoveSimpleForm.js +185 -141
  32. package/src/sap/ui/layout/changeHandler/RenameFormContainer.js +45 -35
  33. package/src/sap/ui/layout/changeHandler/RenameSimpleForm.js +13 -9
  34. package/src/sap/ui/layout/changeHandler/UnhideSimpleForm.js +64 -49
  35. package/src/sap/ui/layout/cssgrid/CSSGrid.js +1 -1
  36. package/src/sap/ui/layout/cssgrid/GridBasicLayout.js +1 -1
  37. package/src/sap/ui/layout/cssgrid/GridBoxLayout.js +1 -1
  38. package/src/sap/ui/layout/cssgrid/GridBoxLayoutStyleHelper.js +1 -1
  39. package/src/sap/ui/layout/cssgrid/GridItemLayoutData.js +1 -1
  40. package/src/sap/ui/layout/cssgrid/GridLayoutBase.js +1 -1
  41. package/src/sap/ui/layout/cssgrid/GridLayoutDelegate.js +1 -1
  42. package/src/sap/ui/layout/cssgrid/GridResponsiveLayout.js +1 -1
  43. package/src/sap/ui/layout/cssgrid/GridSettings.js +1 -1
  44. package/src/sap/ui/layout/cssgrid/ResponsiveColumnItemLayoutData.js +1 -1
  45. package/src/sap/ui/layout/cssgrid/ResponsiveColumnLayout.js +1 -1
  46. package/src/sap/ui/layout/designtime/form/SimpleForm.designtime.js +7 -2
  47. package/src/sap/ui/layout/form/ColumnContainerData.js +1 -1
  48. package/src/sap/ui/layout/form/ColumnElementData.js +1 -1
  49. package/src/sap/ui/layout/form/ColumnLayout.js +8 -5
  50. package/src/sap/ui/layout/form/ColumnLayoutRenderer.js +4 -5
  51. package/src/sap/ui/layout/form/Form.js +3 -3
  52. package/src/sap/ui/layout/form/FormContainer.js +3 -3
  53. package/src/sap/ui/layout/form/FormElement.js +2 -4
  54. package/src/sap/ui/layout/form/FormLayout.js +61 -5
  55. package/src/sap/ui/layout/form/FormLayoutRenderer.js +30 -19
  56. package/src/sap/ui/layout/form/GridContainerData.js +1 -1
  57. package/src/sap/ui/layout/form/GridElementData.js +1 -1
  58. package/src/sap/ui/layout/form/GridLayout.js +1 -1
  59. package/src/sap/ui/layout/form/GridLayoutRenderer.js +5 -9
  60. package/src/sap/ui/layout/form/ResponsiveGridLayout.js +8 -10
  61. package/src/sap/ui/layout/form/ResponsiveLayout.js +9 -4
  62. package/src/sap/ui/layout/form/SemanticFormElement.js +53 -36
  63. package/src/sap/ui/layout/form/SimpleForm.js +12 -10
  64. package/src/sap/ui/layout/library.js +4 -2
  65. package/src/sap/ui/layout/themes/base/GridLayout.less +0 -17
  66. package/src/sap/ui/layout/themes/base/ResponsiveLayout.less +0 -10
  67. package/src/sap/ui/layout/themes/base/ResponsiveSplitter.less +4 -2
  68. package/src/sap/ui/layout/themes/base/Splitter.less +1 -9
@@ -6,10 +6,9 @@
6
6
 
7
7
  sap.ui.define([
8
8
  'sap/ui/core/library',
9
- 'sap/ui/core/theming/Parameters',
10
9
  'sap/ui/layout/library',
11
10
  'sap/ui/layout/form/Form'
12
- ], function(coreLibrary, themingParameters, library, Form) {
11
+ ], function(coreLibrary, library, Form) {
13
12
  "use strict";
14
13
 
15
14
  // shortcut for sap.ui.core.TitleLevel
@@ -60,11 +59,7 @@ sap.ui.define([
60
59
  rm.openEnd();
61
60
 
62
61
  // Form header
63
- var sSize;
64
- if (!oToolbar) {
65
- sSize = themingParameters.get('sap.ui.layout.FormLayout:_sap_ui_layout_FormLayout_FormTitleSize');
66
- }
67
- this.renderHeader(rm, oToolbar, oForm.getTitle(), undefined, false, sSize, oForm.getId());
62
+ this.renderHeader(rm, oToolbar, oForm.getTitle(), undefined, false, oLayout._sFormTitleSize, oForm.getId());
68
63
 
69
64
  this.renderContainers(rm, oLayout, oForm);
70
65
 
@@ -117,7 +112,7 @@ sap.ui.define([
117
112
 
118
113
  rm.openEnd();
119
114
 
120
- this.renderHeader(rm, oToolbar, oTitle, oContainer._oExpandButton, bExpandable, TitleLevel.H4, oContainer.getId());
115
+ this.renderHeader(rm, oToolbar, oTitle, oContainer._oExpandButton, bExpandable, oLayout._sFormSubTitleSize, oContainer.getId());
121
116
 
122
117
  if (bExpandable) {
123
118
  rm.openStart("div", oContainer.getId() + "-content");
@@ -166,21 +161,28 @@ sap.ui.define([
166
161
 
167
162
  };
168
163
 
169
- /*
170
- * Renders the title for a Form or a FormContainer
164
+ /**
165
+ * Renders the title for a <code>Form</code> or a <code>FormContainer</code>
166
+ *
171
167
  * If this function is overwritten in a Layout please use the right IDs to be sure aria-describedby works fine
168
+ *
169
+ * @param {sap.ui.core.RenderManager} rm the RenderManager that can be used for writing to the Render-Output-Buffer
170
+ * @param {string|sap.ui.core.Title} oTitle Title text or <code>Title</code> element
171
+ * @param {sap.ui.core.Control} [oExpandButton] Button control for expander
172
+ * @param {boolean} [bExpander] If <code>true</code> an expander is rendered
173
+ * @param {string} sLevel Level of the title. If not set <code>H5</code> is used as default
174
+ * @param {string} sContentId ID of the header element (<code>Form</code> or <code>FormContainer</code>)
172
175
  */
173
- FormLayoutRenderer.renderTitle = function(rm, oTitle, oExpandButton, bExpander, sLevelDefault, sContentId){
176
+ FormLayoutRenderer.renderTitle = function(rm, oTitle, oExpandButton, bExpander, sLevel, sContentId){
174
177
 
175
178
  if (oTitle) {
176
- //determine title level -> if not set use H4 as default
177
- var sLevel = themingParameters.get('sap.ui.layout.FormLayout:_sap_ui_layout_FormLayout_FormSubTitleSize');
178
- if (sLevelDefault) {
179
- sLevel = sLevelDefault;
180
- }
181
179
  if (typeof oTitle !== "string" && oTitle.getLevel() != TitleLevel.Auto) {
182
180
  sLevel = oTitle.getLevel();
183
181
  }
182
+ if (!sLevel) {
183
+ // use H5 as fallback -> but it should be set from outside
184
+ sLevel = "H5";
185
+ }
184
186
 
185
187
  // just reuse TextView class because there font size & co. is already defined
186
188
  if ( typeof oTitle !== "string" ) {
@@ -238,16 +240,25 @@ sap.ui.define([
238
240
 
239
241
  };
240
242
 
241
- /*
243
+ /**
242
244
  * Renders the header, containing Toolbar or Title, for a Form or a FormContainer
245
+ *
243
246
  * If this function is overwritten in a Layout please use the right IDs to be sure aria-describedby works fine
247
+ *
248
+ * @param {sap.ui.core.RenderManager} rm the RenderManager that can be used for writing to the Render-Output-Buffer
249
+ * @param {sap.ui.core.Toolbar} [oToolbar] <code>Toolbar</code> control
250
+ * @param {string|sap.ui.core.Title} [oTitle] Title text or <code>Title</code> element
251
+ * @param {sap.ui.core.Control} [oExpandButton] Button control for expander
252
+ * @param {boolean} [bExpander] If <code>true</code> an expander is rendered
253
+ * @param {string} sLevel Level of the title.
254
+ * @param {string} sContentId ID of the header element (<code>Form</code> or <code>FormContainer</code>)
244
255
  */
245
- FormLayoutRenderer.renderHeader = function(rm, oToolbar, oTitle, oExpandButton, bExpander, sLevelDefault, sContentId){
256
+ FormLayoutRenderer.renderHeader = function(rm, oToolbar, oTitle, oExpandButton, bExpander, sLevel, sContentId){
246
257
 
247
258
  if (oToolbar) {
248
259
  rm.renderControl(oToolbar);
249
260
  } else {
250
- this.renderTitle(rm, oTitle, oExpandButton, bExpander, sLevelDefault, sContentId);
261
+ this.renderTitle(rm, oTitle, oExpandButton, bExpander, sLevel, sContentId);
251
262
  }
252
263
 
253
264
  };
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.LayoutData
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.91.0
25
+ * @version 1.93.2
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.LayoutData
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.91.0
25
+ * @version 1.93.2
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -28,7 +28,7 @@ sap.ui.define(['sap/ui/layout/library', './FormLayout', './GridLayoutRenderer'],
28
28
  * @extends sap.ui.layout.form.FormLayout
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.91.0
31
+ * @version 1.93.2
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -92,11 +92,7 @@ sap.ui.define([
92
92
  rm.openStart("tr").class("sapUiGridTitle").openEnd();
93
93
  rm.openStart("th").attr("colspan", iTitleCells).openEnd();
94
94
 
95
- var sSize;
96
- if (!oToolbar) {
97
- sSize = themingParameters.get('sap.ui.layout.FormLayout:_sap_ui_layout_FormLayout_FormTitleSize');
98
- }
99
- this.renderHeader(rm, oToolbar, oTitle, undefined, false, sSize, oForm.getId());
95
+ this.renderHeader(rm, oToolbar, oTitle, undefined, false, oLayout._sFormTitleSize, oForm.getId());
100
96
  rm.close("th");
101
97
  rm.close("tr");
102
98
  }
@@ -167,7 +163,7 @@ sap.ui.define([
167
163
  }
168
164
 
169
165
  rm.openEnd();
170
- this.renderHeader(rm, oToolbar, oContainer.getTitle(), oContainer._oExpandButton, bExpandable, false, oContainer.getId());
166
+ this.renderHeader(rm, oToolbar, oContainer.getTitle(), oContainer._oExpandButton, bExpandable, oLayout._sFormSubTitleSize, oContainer.getId());
171
167
  rm.close("td");
172
168
  rm.close("tr");
173
169
  }
@@ -273,7 +269,7 @@ sap.ui.define([
273
269
  }
274
270
  rm.openEnd();
275
271
  if (oContainer1) {
276
- this.renderHeader(rm, oToolbar1, oTitle1, oContainer1._oExpandButton, bExpandable1, false, oContainer1.getId());
272
+ this.renderHeader(rm, oToolbar1, oTitle1, oContainer1._oExpandButton, bExpandable1, oLayout._sFormSubTitleSize, oContainer1.getId());
277
273
  }
278
274
  rm.close("td");
279
275
  rm.openStart("td").openEnd().close("td");
@@ -289,7 +285,7 @@ sap.ui.define([
289
285
  }
290
286
  rm.openEnd();
291
287
  if (oContainer2) {
292
- this.renderHeader(rm, oToolbar2, oTitle2, oContainer2._oExpandButton, bExpandable2, false, oContainer2.getId());
288
+ this.renderHeader(rm, oToolbar2, oTitle2, oContainer2._oExpandButton, bExpandable2, oLayout._sFormSubTitleSize, oContainer2.getId());
293
289
  }
294
290
  rm.close("td");
295
291
  rm.close("tr");
@@ -565,7 +561,7 @@ sap.ui.define([
565
561
 
566
562
  if (aFields.length == 1 && this.getElementData(oLayout, aFields[0]) && this.getElementData(oLayout, aFields[0]).getHCells() == "full") {
567
563
  return true;
568
- }else {
564
+ } else {
569
565
  return false;
570
566
  }
571
567
 
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  *
54
54
  * This control cannot be used stand-alone, it just renders a <code>Form</code>, so it must be assigned to a <code>Form</code> using the <code>layout</code> aggregation.
55
55
  * @extends sap.ui.layout.form.FormLayout
56
- * @version 1.91.0
56
+ * @version 1.93.2
57
57
  *
58
58
  * @constructor
59
59
  * @public
@@ -289,7 +289,7 @@ sap.ui.define([
289
289
  oRm.openEnd();
290
290
 
291
291
  // container header
292
- oLayout.getRenderer().renderHeader(oRm, oToolbar, oTitle, oContainer._oExpandButton, bExpandable, false, oContainer.getId());
292
+ oLayout.getRenderer().renderHeader(oRm, oToolbar, oTitle, oContainer._oExpandButton, bExpandable, oLayout._sFormSubTitleSize, oContainer.getId());
293
293
 
294
294
  if (oContent) {
295
295
  oRm.openStart("div");
@@ -309,6 +309,8 @@ sap.ui.define([
309
309
 
310
310
  ResponsiveGridLayout.prototype.init = function(){
311
311
 
312
+ FormLayout.prototype.init.apply(this, arguments);
313
+
312
314
  this.mContainers = {}; //association of container to panel and Grid
313
315
  this.oDummyLayoutData = new GridData(this.getId() + "--Dummy");
314
316
  };
@@ -333,6 +335,8 @@ sap.ui.define([
333
335
 
334
336
  ResponsiveGridLayout.prototype.onBeforeRendering = function( oEvent ){
335
337
 
338
+ FormLayout.prototype.onBeforeRendering.apply(this, arguments);
339
+
336
340
  var oForm = this.getParent();
337
341
  if (!oForm || !(oForm instanceof Form)) {
338
342
  // layout not assigned to form - nothing to do
@@ -422,7 +426,7 @@ sap.ui.define([
422
426
  if (this.mContainers[sContainerId][0]) {
423
427
  var oPanel = this.mContainers[sContainerId][0];
424
428
  return oPanel.getDomRef();
425
- }else if (this.mContainers[sContainerId][1]){
429
+ } else if (this.mContainers[sContainerId][1]){
426
430
  // no panel used -> return Grid
427
431
  var oGrid = this.mContainers[sContainerId][1];
428
432
  return oGrid.getDomRef();
@@ -904,7 +908,6 @@ sap.ui.define([
904
908
  return oLayout.oDummyLayoutData;
905
909
  }
906
910
 
907
- return oLD;
908
911
  }
909
912
  };
910
913
 
@@ -925,12 +928,7 @@ sap.ui.define([
925
928
  var oLayout = this.__myParentLayout;
926
929
  if (!oLayout._mainGrid || !oLayout._mainGrid.__bIsUsed ) {
927
930
  // no main grid used -> only 1 container
928
- var aContainers = oLayout.getParent().getVisibleFormContainers();
929
- var oFirstContainer;
930
- for (var i = 0; i < aContainers.length; i++) {
931
- oFirstContainer = aContainers[i];
932
- break;
933
- }
931
+ var oFirstContainer = oLayout.getParent().getVisibleFormContainers()[0];
934
932
  if (!oFirstContainer || !oLayout.mContainers[oFirstContainer.getId()] || oFirstContainer.getId() != this.__myParentContainerId) {
935
933
  // Form seems to be invalidated (container changed) but rerendering still not done
936
934
  // -> ignore resize, it will be rerendered soon
@@ -50,11 +50,12 @@ sap.ui.define([
50
50
  * @extends sap.ui.layout.form.FormLayout
51
51
  *
52
52
  * @author SAP SE
53
- * @version 1.91.0
53
+ * @version 1.93.2
54
54
  *
55
55
  * @constructor
56
56
  * @public
57
57
  * @since 1.16.0
58
+ * @deprecated As of version 1.93, replaced by {@link sap.ui.layout.form.ColumnLayout ColumnLayout}
58
59
  * @alias sap.ui.layout.form.ResponsiveLayout
59
60
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
60
61
  */
@@ -185,7 +186,7 @@ sap.ui.define([
185
186
  oRm.openEnd();
186
187
 
187
188
  // container header
188
- oLayout.getRenderer().renderHeader(oRm, oToolbar, oTitle, oContainer._oExpandButton, bExpandable, false, oContainer.getId());
189
+ oLayout.getRenderer().renderHeader(oRm, oToolbar, oTitle, oContainer._oExpandButton, bExpandable, oLayout._sFormSubTitleSize, oContainer.getId());
189
190
 
190
191
  if (oContent) {
191
192
  oRm.openStart("div");
@@ -205,6 +206,8 @@ sap.ui.define([
205
206
 
206
207
  ResponsiveLayout.prototype.init = function(){
207
208
 
209
+ FormLayout.prototype.init.apply(this, arguments);
210
+
208
211
  this.mContainers = {}; //association of container to panel and ResponsiveFlowLayout
209
212
  this._defaultLayoutData = new ResponsiveFlowLayoutData({margin: false});
210
213
 
@@ -230,6 +233,8 @@ sap.ui.define([
230
233
 
231
234
  ResponsiveLayout.prototype.onBeforeRendering = function( oEvent ){
232
235
 
236
+ FormLayout.prototype.onBeforeRendering.apply(this, arguments);
237
+
233
238
  var oForm = this.getParent();
234
239
  if (!oForm || !(oForm instanceof Form)) {
235
240
  // layout not assigned to form - nothing to do
@@ -318,7 +323,7 @@ sap.ui.define([
318
323
  if (this.mContainers[sContainerId][0]) {
319
324
  var oPanel = this.mContainers[sContainerId][0];
320
325
  return oPanel.getDomRef();
321
- }else if (this.mContainers[sContainerId][1]){
326
+ } else if (this.mContainers[sContainerId][1]){
322
327
  // no panel used -> return RFLayout
323
328
  var oRFLayout = this.mContainers[sContainerId][1];
324
329
  return oRFLayout.getDomRef();
@@ -624,7 +629,7 @@ sap.ui.define([
624
629
  }
625
630
  };
626
631
  }
627
- }else if (oContainer) {
632
+ } else if (oContainer) {
628
633
  oRFLayout._getAccessibleRole = function() {
629
634
 
630
635
  var oContainer = sap.ui.getCore().byId(this.__myParentContainerId);
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.layout.form.FormElement
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.91.0
33
+ * @version 1.93.2
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -143,7 +143,7 @@ sap.ui.define([
143
143
  }
144
144
  }
145
145
 
146
- return FormElement.prototype.enhanceAccessibilityState.apply(this, arguments);
146
+ FormElement.prototype.enhanceAccessibilityState.apply(this, arguments);
147
147
 
148
148
  };
149
149
 
@@ -186,9 +186,11 @@ sap.ui.define([
186
186
  var aDelemiters = this.getAggregation("_delimiters", []);
187
187
  for (var i = 0; i < aFields.length; i++) {
188
188
  var oField = aFields[i];
189
- aFieldsForRendering.push(oField);
190
- if (i < aFields.length - 1 && aDelemiters[i]) {
191
- aFieldsForRendering.push(aDelemiters[i]);
189
+ if (oField.getVisible()) {
190
+ if (aFieldsForRendering.length > 0 && aDelemiters[i - 1]) {
191
+ aFieldsForRendering.push(aDelemiters[i - 1]);
192
+ }
193
+ aFieldsForRendering.push(oField);
192
194
  }
193
195
  }
194
196
  } else {
@@ -214,11 +216,11 @@ sap.ui.define([
214
216
  // it's the FormElement
215
217
  if (oChanges.name === "fields") {
216
218
  _fieldChanged.call(this, oChanges.child, oChanges.mutation);
217
- }else if (oChanges.name === "_editable") {
219
+ } else if (oChanges.name === "_editable") {
218
220
  _editableChanged.call(this, oChanges.current);
219
- }else if (oChanges.name === "delimiter") {
221
+ } else if (oChanges.name === "delimiter") {
220
222
  _delimiterChanged.call(this, oChanges.current);
221
- }else if (oChanges.name === "fieldLabels") {
223
+ } else if (oChanges.name === "fieldLabels") {
222
224
  _fieldLabelsChanged.call(this, oChanges.mutation, oChanges.child);
223
225
  }
224
226
  } else {
@@ -252,19 +254,17 @@ sap.ui.define([
252
254
  if (!oField.isA("sap.ui.core.IFormContent") || !oField.isA("sap.ui.core.ISemanticFormContent")) {
253
255
  throw new Error(oField + " is not valid Form content. " + this); // only support allowed Fields
254
256
  }
257
+ var aProperties = ["visible"];
255
258
  if (oField.getFormValueProperty) {
256
- this._oObserver.observe(oField, {
257
- properties: [oField.getFormValueProperty()]
258
- });
259
+ aProperties.push(oField.getFormValueProperty());
259
260
  } else if (oField.getMetadata().getProperty("value")) {
260
- this._oObserver.observe(oField, {
261
- properties: ["value"]
262
- });
261
+ aProperties.push("value");
263
262
  } else if (oField.getMetadata().getProperty("text")) {
264
- this._oObserver.observe(oField, {
265
- properties: ["text"]
266
- });
263
+ aProperties.push("text");
267
264
  }
265
+ this._oObserver.observe(oField, {
266
+ properties: aProperties
267
+ });
268
268
  } else {
269
269
  // unobserve is done in FormElement
270
270
  var oLayoutData = oField.getLayoutData();
@@ -280,6 +280,8 @@ sap.ui.define([
280
280
  _updateControlsForDisplay.call(this, true);
281
281
  }
282
282
 
283
+ _updateLabelText.call(this); // to hide labels of invisible Field
284
+
283
285
  }
284
286
 
285
287
  function _delimiterChanged(sDelimiter) {
@@ -319,6 +321,14 @@ sap.ui.define([
319
321
  if (!this.getProperty("_editable")) {
320
322
  _updateDisplayText.call(this, false);
321
323
  }
324
+ } else if (oChanges.name === "visible") {
325
+ if (this.getProperty("_editable")) {
326
+ _updateControlsForEdit.call(this);
327
+ } else {
328
+ _updateControlsForDisplay.call(this, true);
329
+ }
330
+ _updateLabelText.call(this); // to hide labels of invisible Field
331
+ this.invalidate(); // to force rerendering
322
332
  }
323
333
 
324
334
  }
@@ -397,21 +407,23 @@ sap.ui.define([
397
407
 
398
408
  for (var i = 0; i < aFields.length; i++) {
399
409
  var oField = aFields[i];
400
- var sProperyName = oField.getFormValueProperty ? oField.getFormValueProperty() : null;
401
- var vText;
402
- if (oField.getFormFormattedValue) {
403
- vText = oField.getFormFormattedValue();
404
- if (vText instanceof Promise) {
405
- bAsync = true;
410
+ if (oField.getVisible()) {
411
+ var sProperyName = oField.getFormValueProperty ? oField.getFormValueProperty() : null;
412
+ var vText;
413
+ if (oField.getFormFormattedValue) {
414
+ vText = oField.getFormFormattedValue();
415
+ if (vText instanceof Promise) {
416
+ bAsync = true;
417
+ }
418
+ } else if (sProperyName) {
419
+ vText = oField.getProperty(sProperyName);
420
+ } else if (oField.getMetadata().getProperty("value")) {
421
+ vText = oField.getValue();
422
+ } else if (oField.getMetadata().getProperty("text")) {
423
+ vText = oField.getText();
406
424
  }
407
- } else if (sProperyName) {
408
- vText = oField.getProperty(sProperyName);
409
- } else if (oField.getMetadata().getProperty("value")) {
410
- vText = oField.getValue();
411
- } else if (oField.getMetadata().getProperty("text")) {
412
- vText = oField.getText();
425
+ aTexts.push(vText);
413
426
  }
414
- aTexts.push(vText);
415
427
  }
416
428
 
417
429
  oDisplay._bNoForceUpdate = true; // prevent double update, as setText might trigger re-rendering
@@ -451,13 +463,16 @@ sap.ui.define([
451
463
  if (!this.getLabel()) {
452
464
  // only use if no Label is set on FormElement level
453
465
  var aFieldLabels = this.getFieldLabels();
466
+ var aFields = this.getFields();
454
467
  var aTexts = [];
455
468
  for (var i = 0; i < aFieldLabels.length; i++) {
456
- var oFieldLabel = aFieldLabels[i];
457
- if (typeof oFieldLabel === "string") {
458
- aTexts.push(oFieldLabel);
459
- } else {
460
- aTexts.push(oFieldLabel.getText());
469
+ if (aFields[i] && aFields[i].getVisible()) { // if Field not already assigned update if assigned
470
+ var oFieldLabel = aFieldLabels[i];
471
+ if (typeof oFieldLabel === "string") {
472
+ aTexts.push(oFieldLabel);
473
+ } else {
474
+ aTexts.push(oFieldLabel.getText());
475
+ }
461
476
  }
462
477
  }
463
478
 
@@ -471,7 +486,9 @@ sap.ui.define([
471
486
  // the used Layout can be unknown. But latest on rendering it is known, so there the LayoutData can be set latest.
472
487
  function _updateLayoutData() {
473
488
 
474
- var aFields = this.getFields();
489
+ var aFields = this.getFields().filter(function(oField) {
490
+ return oField.getVisible();
491
+ });
475
492
  var aDelemiters = this.getAggregation("_delimiters", []);
476
493
  var oFormContainer = this.getParent();
477
494
  var oForm = oFormContainer && oFormContainer.getParent();
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * <b>Note:</b> If a more complex form is needed, use the <code>{@link sap.ui.layout.form.Form Form}</code> control instead.
68
68
  *
69
69
  * @extends sap.ui.core.Control
70
- * @version 1.91.0
70
+ * @version 1.93.2
71
71
  *
72
72
  * @constructor
73
73
  * @public
@@ -135,6 +135,8 @@ sap.ui.define([
135
135
  * as its responsiveness uses the space available in the best way possible.
136
136
  *
137
137
  * <b>Note</b> If possible, set the <code>layout</code> before adding content to prevent calculations for the default layout.
138
+ *
139
+ * <b>Note</b> The <code>ResponsiveLayout</code> has been deprecated and must no longer be used. For compatibility reasons the default could not be changed.
138
140
  */
139
141
  layout : {type : "sap.ui.layout.form.SimpleFormLayout", group : "Misc", defaultValue : SimpleFormLayout.ResponsiveLayout},
140
142
 
@@ -309,19 +311,19 @@ sap.ui.define([
309
311
  * <li>Add a <code>Label</code> control to start a new row (<code>{@link sap.ui.layout.form.FormElement FormElement}</code>).</li>
310
312
  * <li>Add controls as input fields, text fields or other as needed.</li>
311
313
  * <li>Use <code>LayoutData</code> to influence the layout for special cases in the single controls.
312
- * For example, if a <code>ResponsiveLayout</code> is used as a layout,
313
- * the form content is weighted using weight 3 for the labels and weight 5 for the fields part.
314
- * By default the label column is 192 pixels wide.
315
- * If your input controls should influence their width, you can add <code>sap.ui.layout.ResponsiveFlowLayoutData</code>
314
+ * For example, if a <code>ColumnLayout</code> is used as a layout,
315
+ * the form content is weighted using 4 cells for the labels and 8 cells for the field part, for large size.
316
+ * If there is only little space, the labels are above the fields and each field uses 12 cells.
317
+ * If your input controls should influence their width, you can add <code>sap.ui.layout.ColumnElementData</code>
316
318
  * to them via <code>setLayoutData</code> method.
317
- * Ensure that the sum of the weights in the <code>ResponsiveFlowLayoutData</code> is not more than 5,
319
+ * Ensure that the sum of the weights in the <code>ColumnElementData</code> is not more than 12,
318
320
  * as this is the total width of the input control part of each form row.</li>
319
321
  * </ul>
320
- * Example for a row where the <code>Input</code> weight 4 and the second <code>Input</code> weight 1 (using <code>ResponsiveLayout</code>):
322
+ * Example for a row where the <code>Input</code> uses 6 cells and the second <code>Input</code> uses 2 cells (using <code>ColumnElementData</code>):
321
323
  * <pre>
322
324
  * new sap.m.Label({text:"Label"});
323
- * new sap.m.Input({value:"Weight 4", layoutData: new sap.ui.layout.ResponsiveFlowLayoutData({weight:4})}),
324
- * new sap.m.Input({value:"Weight 1", layoutData: new sap.ui.layout.ResponsiveFlowLayoutData({weight:1})}),
325
+ * new sap.m.Input({value:"6 cells", layoutData: new sap.ui.layout.ColumnElementData({cellsLarge: 6, cellsSmall: 8})}),
326
+ * new sap.m.Input({value:"2 cells", layoutData: new sap.ui.layout.ColumnElementData({cellsLarge: 2, cellsSmall: 4})}),
325
327
  * </pre>
326
328
  *
327
329
  * For example, if a <code>ResponsiveGridLayout</code> is used as a layout, there are 12 cells in one row.
@@ -410,7 +412,7 @@ sap.ui.define([
410
412
  var oSimpleForm = this.getParent();
411
413
  if (oSimpleForm) {
412
414
  return oSimpleForm.getAriaLabelledBy();
413
- }else {
415
+ } else {
414
416
  return null;
415
417
  }
416
418
  };
@@ -20,14 +20,15 @@ sap.ui.define([
20
20
  * @namespace
21
21
  * @name sap.ui.layout
22
22
  * @author SAP SE
23
- * @version 1.91.0
23
+ * @version 1.93.2
24
+ * @since 1.15
24
25
  * @public
25
26
  */
26
27
 
27
28
  // delegate further initialization of this library to the Core
28
29
  sap.ui.getCore().initLibrary({
29
30
  name : "sap.ui.layout",
30
- version: "1.91.0",
31
+ version: "1.93.2",
31
32
  dependencies: ["sap.ui.core"],
32
33
  designtime: "sap/ui/layout/designtime/library.designtime",
33
34
  types: [
@@ -543,6 +544,7 @@ sap.ui.define([
543
544
  /**
544
545
  * Uses the <code>ResponsiveLayout</code> layout to render the <code>SimpleForm</code> control
545
546
  * @public
547
+ * @deprecated As of version 1.93, replaced by {@link sap.ui.layout.form.SimpleFormLayout.ColumnLayout ColumnLayout}
546
548
  */
547
549
  ResponsiveLayout : "ResponsiveLayout",
548
550
 
@@ -22,23 +22,6 @@
22
22
  position: relative;
23
23
  }
24
24
 
25
- /* Internet Explorer / Edge does not support "text-align: start"!
26
- Therefore the title needs to be positioned separately for RTL and LTR mode */
27
- /* TODO remove after the end of support for Internet Explorer */
28
- html[data-sap-ui-browser^=ie] .sapUiGrid th > .sapUiFormTitle,
29
- html[data-sap-ui-browser^=ie] .sapUiGrid td > .sapUiFormTitle,
30
- html[data-sap-ui-browser^=ed] .sapUiGrid th > .sapUiFormTitle,
31
- html[data-sap-ui-browser^=ed] .sapUiGrid td > .sapUiFormTitle {
32
- text-align: left;
33
- }
34
-
35
- html[dir=rtl][data-sap-ui-browser^=ie] .sapUiGrid th > .sapUiFormTitle,
36
- html[dir=rtl][data-sap-ui-browser^=ie] .sapUiGrid td > .sapUiFormTitle,
37
- html[dir=rtl][data-sap-ui-browser^=ed] .sapUiGrid th > .sapUiFormTitle,
38
- html[dir=rtl][data-sap-ui-browser^=ed] .sapUiGrid td > .sapUiFormTitle {
39
- text-align: right;
40
- }
41
-
42
25
  .sapUiGridHeader.sapUiFormContainerTitle > .sapUiFormTitle.sapUiFormTitleExpandable{
43
26
  padding-left: 2.25rem;
44
27
  }
@@ -19,16 +19,6 @@
19
19
  text-align: end;
20
20
  }
21
21
 
22
- html[data-sap-ui-browser^=ie] .sapUiRLElementWithLabel > .sapUiRFLRow:first-child > .sapUiRFLContainer:first-child:not(.sapUiRFLFullLength) > div,
23
- html[data-sap-ui-browser^=ed] .sapUiRLElementWithLabel > .sapUiRFLRow:first-child > .sapUiRFLContainer:first-child:not(.sapUiRFLFullLength) > div {
24
- text-align: right;
25
- }
26
-
27
- html[dir=rtl][data-sap-ui-browser^=ie] .sapUiRLElementWithLabel > .sapUiRFLRow:first-child > .sapUiRFLContainer:first-child:not(.sapUiRFLFullLength) > div,
28
- html[dir=rtl][data-sap-ui-browser^=ed] .sapUiRLElementWithLabel > .sapUiRFLRow:first-child > .sapUiRFLContainer:first-child:not(.sapUiRFLFullLength) > div {
29
- text-align: left;
30
- }
31
-
32
22
  .sapUiFormResLayout > div {
33
23
  padding: 1rem;
34
24
  box-sizing: border-box;
@@ -6,6 +6,7 @@
6
6
  @_sap_ui_layout_ResponsiveSplitter_PaginatorHeight: 2.5rem;
7
7
  @_sap_ui_layout_ResponsiveSplitter_PaginatorButtonWidth: 2.5rem;
8
8
  @_sap_ui_layout_ResponsiveSplitter_PaginatorButtonHeight: 2.375rem;
9
+ @_sap_ui_layout_ResponsiveSplitter_PaginatorButtonFocusBorderRadius: unset;
9
10
 
10
11
  .sapUiResponsiveSplitter {
11
12
  width: 100%;
@@ -52,7 +53,7 @@
52
53
  height: @_sap_ui_layout_ResponsiveSplitter_PaginatorButtonHeight;
53
54
  cursor: pointer;
54
55
  background-color: transparent;
55
- border-radius: 0.25rem;
56
+ border-radius: @sapUiButtonBorderCornerRadius;
56
57
  position: relative;
57
58
 
58
59
  &::after {
@@ -77,7 +78,8 @@
77
78
  bottom: 0;
78
79
  right: 0;
79
80
  left: 0;
80
- border: 0.0625rem dotted @sapUiContentFocusColor;
81
+ border: @sapUiContentFocusWidth @sapUiContentFocusStyle @sapUiContentFocusColor;
82
+ border-radius: @_sap_ui_layout_ResponsiveSplitter_PaginatorButtonFocusBorderRadius;
81
83
  }
82
84
 
83
85
  &:hover {
@@ -42,7 +42,6 @@
42
42
  -webkit-touch-callout: none;
43
43
  -webkit-user-select: none;
44
44
  -moz-user-select: none;
45
- -ms-user-select: none;
46
45
  user-select: none;
47
46
  background-color: @sapUiShellBackground;
48
47
  box-sizing: border-box;
@@ -274,13 +273,6 @@
274
273
  right: 0;
275
274
  bottom: 0;
276
275
  left: 0;
277
- border: 1px dotted @sapUiContentFocusColor;
278
- }
279
- }
280
-
281
- html[data-sap-ui-browser^="ie"].sap-desktop, // TODO remove after the end of support for Internet Explorer
282
- html[data-sap-ui-browser^="ed"].sap-desktop {
283
- .sapUiLoSplitter > .sapUiLoSplitterBar:focus::after {
284
- border-style: dashed;
276
+ border: @sapUiContentFocusWidth @sapUiContentFocusStyle @sapUiContentFocusColor;
285
277
  }
286
278
  }