@openui5/sap.ui.layout 1.92.0 → 1.95.0

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 (64) hide show
  1. package/.reuse/dep5 +1 -6
  2. package/THIRDPARTY.txt +4 -10
  3. package/package.json +2 -2
  4. package/src/sap/ui/layout/.library +1 -1
  5. package/src/sap/ui/layout/AlignedFlowLayout.js +7 -3
  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 +1 -1
  11. package/src/sap/ui/layout/DynamicSideContent.js +1 -1
  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 +1 -1
  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 +1 -1
  23. package/src/sap/ui/layout/Splitter.js +2 -2
  24. package/src/sap/ui/layout/SplitterLayoutData.js +1 -1
  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 +66 -37
  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 +187 -145
  32. package/src/sap/ui/layout/changeHandler/RenameFormContainer.js +45 -35
  33. package/src/sap/ui/layout/changeHandler/RenameSimpleForm.js +14 -12
  34. package/src/sap/ui/layout/changeHandler/UnhideSimpleForm.js +66 -51
  35. package/src/sap/ui/layout/cssgrid/CSSGrid.js +72 -69
  36. package/src/sap/ui/layout/cssgrid/GridBasicLayout.js +1 -1
  37. package/src/sap/ui/layout/cssgrid/GridBoxLayout.js +17 -8
  38. package/src/sap/ui/layout/cssgrid/GridItemLayoutData.js +1 -1
  39. package/src/sap/ui/layout/cssgrid/GridLayoutBase.js +1 -1
  40. package/src/sap/ui/layout/cssgrid/GridLayoutDelegate.js +1 -1
  41. package/src/sap/ui/layout/cssgrid/GridResponsiveLayout.js +1 -1
  42. package/src/sap/ui/layout/cssgrid/GridSettings.js +1 -1
  43. package/src/sap/ui/layout/cssgrid/ResponsiveColumnItemLayoutData.js +1 -1
  44. package/src/sap/ui/layout/cssgrid/ResponsiveColumnLayout.js +1 -1
  45. package/src/sap/ui/layout/designtime/form/Form.designtime.js +1 -1
  46. package/src/sap/ui/layout/designtime/form/SimpleForm.designtime.js +17 -6
  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 +1 -1
  50. package/src/sap/ui/layout/form/Form.js +1 -1
  51. package/src/sap/ui/layout/form/FormContainer.js +1 -1
  52. package/src/sap/ui/layout/form/FormElement.js +1 -1
  53. package/src/sap/ui/layout/form/FormLayout.js +3 -3
  54. package/src/sap/ui/layout/form/FormLayoutRenderer.js +3 -2
  55. package/src/sap/ui/layout/form/GridContainerData.js +1 -1
  56. package/src/sap/ui/layout/form/GridElementData.js +1 -1
  57. package/src/sap/ui/layout/form/GridLayout.js +2 -2
  58. package/src/sap/ui/layout/form/ResponsiveGridLayout.js +2 -7
  59. package/src/sap/ui/layout/form/ResponsiveLayout.js +2 -1
  60. package/src/sap/ui/layout/form/SemanticFormElement.js +49 -32
  61. package/src/sap/ui/layout/form/SimpleForm.js +11 -9
  62. package/src/sap/ui/layout/library.js +3 -2
  63. package/src/sap/ui/layout/messagebundle_el.properties +1 -1
  64. package/src/sap/ui/layout/cssgrid/GridBoxLayoutStyleHelper.js +0 -62
@@ -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.92.0
31
+ * @version 1.95.0
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -227,7 +227,7 @@ sap.ui.define(['sap/ui/layout/library', './FormLayout', './GridLayoutRenderer'],
227
227
  var oContainerData = this.getLayoutDataForElement(oContainer, "sap.ui.layout.form.GridContainerData");
228
228
 
229
229
  if ((bSingleColumn || !oContainerData || !oContainerData.getHalfGrid()) && !this.getRenderer().checkFullSizeElement(this, oElement) ) {
230
- return (oElement.getId() ? window.document.getElementById(oElement.getId()) : null);
230
+ return oElement.getDomRef();
231
231
  }
232
232
  }
233
233
 
@@ -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.92.0
56
+ * @version 1.95.0
57
57
  *
58
58
  * @constructor
59
59
  * @public
@@ -928,12 +928,7 @@ sap.ui.define([
928
928
  var oLayout = this.__myParentLayout;
929
929
  if (!oLayout._mainGrid || !oLayout._mainGrid.__bIsUsed ) {
930
930
  // no main grid used -> only 1 container
931
- var aContainers = oLayout.getParent().getVisibleFormContainers();
932
- var oFirstContainer;
933
- for (var i = 0; i < aContainers.length; i++) {
934
- oFirstContainer = aContainers[i];
935
- break;
936
- }
931
+ var oFirstContainer = oLayout.getParent().getVisibleFormContainers()[0];
937
932
  if (!oFirstContainer || !oLayout.mContainers[oFirstContainer.getId()] || oFirstContainer.getId() != this.__myParentContainerId) {
938
933
  // Form seems to be invalidated (container changed) but rerendering still not done
939
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.92.0
53
+ * @version 1.95.0
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
  */
@@ -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.92.0
33
+ * @version 1.95.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -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 {
@@ -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.92.0
70
+ * @version 1.95.0
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.
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @namespace
21
21
  * @name sap.ui.layout
22
22
  * @author SAP SE
23
- * @version 1.92.0
23
+ * @version 1.95.0
24
24
  * @since 1.15
25
25
  * @public
26
26
  */
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  // delegate further initialization of this library to the Core
29
29
  sap.ui.getCore().initLibrary({
30
30
  name : "sap.ui.layout",
31
- version: "1.92.0",
31
+ version: "1.95.0",
32
32
  dependencies: ["sap.ui.core"],
33
33
  designtime: "sap/ui/layout/designtime/library.designtime",
34
34
  types: [
@@ -544,6 +544,7 @@ sap.ui.define([
544
544
  /**
545
545
  * Uses the <code>ResponsiveLayout</code> layout to render the <code>SimpleForm</code> control
546
546
  * @public
547
+ * @deprecated As of version 1.93, replaced by {@link sap.ui.layout.form.SimpleFormLayout.ColumnLayout ColumnLayout}
547
548
  */
548
549
  ResponsiveLayout : "ResponsiveLayout",
549
550
 
@@ -2,7 +2,7 @@
2
2
  FORM_EXPAND=\u0395\u03C0\u03AD\u03BA\u03C4\u03B1\u03C3\u03B7
3
3
  FORM_COLLAPSE=\u03A3\u03CD\u03BC\u03C0\u03C4\u03C5\u03BE\u03B7
4
4
 
5
- SPLITTER_MOVE=\u03A0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03C4\u03B1 \u03BA\u03BB\u03B5\u03B9\u03B4\u03B9\u03AC \u0392\u0395\u039B\u039F\u03A5\u03A3 \u03B3\u03B9\u03B1 \u03BC\u03B5\u03C4\u03B1\u03BA\u03AF\u03BD\u03B7\u03C3\u03B7
5
+ SPLITTER_MOVE=\u03A0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03C4\u03B1 \u03C0\u03BB\u03AE\u03BA\u03C4\u03C1\u03B1 \u0392\u0395\u039B\u039F\u03A5\u03A3 \u03B3\u03B9\u03B1 \u03BC\u03B5\u03C4\u03B1\u03BA\u03AF\u03BD\u03B7\u03C3\u03B7
6
6
 
7
7
  SIDE_CONTENT_LABEL=\u03A0\u03C1\u03CC\u03C3\u03B8\u03B5\u03C4\u03B1 \u03A0\u03B5\u03C1\u03B9\u03B5\u03C7\u03CC\u03BC\u03B5\u03BD\u03B1
8
8
 
@@ -1,62 +0,0 @@
1
- /*!
2
- * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
4
- * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
- */
6
-
7
- sap.ui.define([], function() {
8
- "use strict";
9
-
10
- /**
11
- * Handles dynamic style changes of items when sap.ui.layout.cssgrid.GridBoxLayout is used.
12
- *
13
- * @author SAP SE
14
- * @version 1.92.0
15
- *
16
- * @private
17
- * @constructor
18
- */
19
- var GridBoxLayoutStyleHelper = {};
20
- GridBoxLayoutStyleHelper._mInstanceStyles = {};
21
-
22
- /**
23
- * Creates a CSS style to override the height of all items.
24
- *
25
- * @param {string} sId The id of the control.
26
- * @param {number} iMaxHeight The height to set.
27
- */
28
- GridBoxLayoutStyleHelper.setItemHeight = function (sId, iMaxHeight) {
29
- var sClassStyle = "#" + sId + ".sapUiLayoutCSSGridBoxLayoutFlattenHeight ul " + // container
30
- ".sapMLIB:not(.sapMGHLI),.sapUiDnDGridIndicator" + // children
31
- "{ height: " + iMaxHeight + "px; }"; // styles
32
-
33
- if (this._mInstanceStyles[sId] !== sClassStyle) {
34
- this._mInstanceStyles[sId] = sClassStyle;
35
- this._reapplyStyles();
36
- }
37
- };
38
-
39
- GridBoxLayoutStyleHelper._getStyleHelper = function () {
40
- var oHelper = document.getElementById("sapUiLayoutCSSGridGridBoxLayoutStyleHelper");
41
- if (!oHelper) {
42
- oHelper = document.createElement("style");
43
- oHelper.id = "sapUiLayoutCSSGridGridBoxLayoutStyleHelper";
44
- document.head.appendChild(oHelper);
45
- }
46
-
47
- return oHelper;
48
- };
49
-
50
- GridBoxLayoutStyleHelper._reapplyStyles = function () {
51
- var sStyle = "",
52
- oHelper = this._getStyleHelper();
53
-
54
- for (var sKey in this._mInstanceStyles) {
55
- sStyle += this._mInstanceStyles[sKey] + "\n";
56
- }
57
-
58
- oHelper.innerHTML = sStyle;
59
- };
60
-
61
- return GridBoxLayoutStyleHelper;
62
- });