@openui5/sap.ui.unified 1.94.0 → 1.97.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 (105) hide show
  1. package/.reuse/dep5 +12 -12
  2. package/THIRDPARTY.txt +21 -17
  3. package/package.json +2 -2
  4. package/src/sap/ui/unified/.library +1 -1
  5. package/src/sap/ui/unified/Calendar.js +101 -37
  6. package/src/sap/ui/unified/CalendarAppointment.js +1 -1
  7. package/src/sap/ui/unified/CalendarDateInterval.js +1 -1
  8. package/src/sap/ui/unified/CalendarLegend.js +1 -1
  9. package/src/sap/ui/unified/CalendarLegendItem.js +1 -1
  10. package/src/sap/ui/unified/CalendarMonthInterval.js +1 -1
  11. package/src/sap/ui/unified/CalendarOneMonthInterval.js +1 -1
  12. package/src/sap/ui/unified/CalendarRow.js +24 -5
  13. package/src/sap/ui/unified/CalendarRowRenderer.js +51 -25
  14. package/src/sap/ui/unified/CalendarTimeInterval.js +1 -1
  15. package/src/sap/ui/unified/CalendarWeekInterval.js +1 -1
  16. package/src/sap/ui/unified/ColorPicker.js +19 -14
  17. package/src/sap/ui/unified/ColorPickerPopover.js +1 -1
  18. package/src/sap/ui/unified/ContentSwitcher.js +1 -1
  19. package/src/sap/ui/unified/Currency.js +1 -1
  20. package/src/sap/ui/unified/CurrencyRenderer.js +1 -1
  21. package/src/sap/ui/unified/DateRange.js +1 -1
  22. package/src/sap/ui/unified/DateTypeRange.js +1 -1
  23. package/src/sap/ui/unified/FileUploader.js +25 -62
  24. package/src/sap/ui/unified/FileUploaderParameter.js +1 -1
  25. package/src/sap/ui/unified/FileUploaderXHRSettings.js +1 -1
  26. package/src/sap/ui/unified/Menu.js +1 -1
  27. package/src/sap/ui/unified/MenuItem.js +1 -1
  28. package/src/sap/ui/unified/MenuItemBase.js +1 -1
  29. package/src/sap/ui/unified/MenuRenderer.js +1 -1
  30. package/src/sap/ui/unified/MenuTextFieldItem.js +3 -1
  31. package/src/sap/ui/unified/Shell.js +1 -1
  32. package/src/sap/ui/unified/ShellHeadItem.js +1 -1
  33. package/src/sap/ui/unified/ShellHeadUserItem.js +1 -1
  34. package/src/sap/ui/unified/ShellHeader.js +7 -1
  35. package/src/sap/ui/unified/ShellLayout.js +1 -1
  36. package/src/sap/ui/unified/ShellOverlay.js +1 -1
  37. package/src/sap/ui/unified/ShellOverlayRenderer.js +5 -3
  38. package/src/sap/ui/unified/SplitContainer.js +1 -1
  39. package/src/sap/ui/unified/SplitContainerRenderer.js +5 -1
  40. package/src/sap/ui/unified/calendar/CustomMonthPicker.js +16 -4
  41. package/src/sap/ui/unified/calendar/CustomYearPicker.js +15 -0
  42. package/src/sap/ui/unified/calendar/DatesRow.js +3 -1
  43. package/src/sap/ui/unified/calendar/Header.js +15 -2
  44. package/src/sap/ui/unified/calendar/HeaderRenderer.js +26 -2
  45. package/src/sap/ui/unified/calendar/IndexPicker.js +1 -1
  46. package/src/sap/ui/unified/calendar/Month.js +67 -37
  47. package/src/sap/ui/unified/calendar/MonthPicker.js +1 -1
  48. package/src/sap/ui/unified/calendar/MonthRenderer.js +3 -10
  49. package/src/sap/ui/unified/calendar/MonthsRow.js +1 -1
  50. package/src/sap/ui/unified/calendar/OneMonthDatesRow.js +3 -1
  51. package/src/sap/ui/unified/calendar/TimesRow.js +1 -1
  52. package/src/sap/ui/unified/calendar/YearPicker.js +1 -1
  53. package/src/sap/ui/unified/calendar/YearRangePicker.js +1 -1
  54. package/src/sap/ui/unified/library.js +2 -2
  55. package/src/sap/ui/unified/messagebundle.properties +3 -0
  56. package/src/sap/ui/unified/messagebundle_ar.properties +2 -0
  57. package/src/sap/ui/unified/messagebundle_bg.properties +2 -0
  58. package/src/sap/ui/unified/messagebundle_ca.properties +2 -0
  59. package/src/sap/ui/unified/messagebundle_cs.properties +2 -0
  60. package/src/sap/ui/unified/messagebundle_cy.properties +2 -0
  61. package/src/sap/ui/unified/messagebundle_da.properties +2 -0
  62. package/src/sap/ui/unified/messagebundle_de.properties +2 -0
  63. package/src/sap/ui/unified/messagebundle_el.properties +2 -0
  64. package/src/sap/ui/unified/messagebundle_en.properties +2 -0
  65. package/src/sap/ui/unified/messagebundle_en_GB.properties +2 -0
  66. package/src/sap/ui/unified/messagebundle_en_US_sappsd.properties +2 -0
  67. package/src/sap/ui/unified/messagebundle_en_US_saptrc.properties +2 -0
  68. package/src/sap/ui/unified/messagebundle_es.properties +2 -0
  69. package/src/sap/ui/unified/messagebundle_es_MX.properties +2 -0
  70. package/src/sap/ui/unified/messagebundle_et.properties +2 -0
  71. package/src/sap/ui/unified/messagebundle_fi.properties +2 -0
  72. package/src/sap/ui/unified/messagebundle_fr.properties +2 -0
  73. package/src/sap/ui/unified/messagebundle_fr_CA.properties +2 -0
  74. package/src/sap/ui/unified/messagebundle_hi.properties +2 -0
  75. package/src/sap/ui/unified/messagebundle_hr.properties +2 -0
  76. package/src/sap/ui/unified/messagebundle_hu.properties +2 -0
  77. package/src/sap/ui/unified/messagebundle_id.properties +2 -0
  78. package/src/sap/ui/unified/messagebundle_it.properties +2 -0
  79. package/src/sap/ui/unified/messagebundle_iw.properties +2 -0
  80. package/src/sap/ui/unified/messagebundle_ja.properties +2 -0
  81. package/src/sap/ui/unified/messagebundle_kk.properties +2 -0
  82. package/src/sap/ui/unified/messagebundle_ko.properties +2 -0
  83. package/src/sap/ui/unified/messagebundle_lt.properties +2 -0
  84. package/src/sap/ui/unified/messagebundle_lv.properties +2 -0
  85. package/src/sap/ui/unified/messagebundle_ms.properties +2 -0
  86. package/src/sap/ui/unified/messagebundle_nl.properties +2 -0
  87. package/src/sap/ui/unified/messagebundle_no.properties +2 -0
  88. package/src/sap/ui/unified/messagebundle_pl.properties +2 -0
  89. package/src/sap/ui/unified/messagebundle_pt.properties +2 -0
  90. package/src/sap/ui/unified/messagebundle_pt_PT.properties +2 -0
  91. package/src/sap/ui/unified/messagebundle_ro.properties +2 -0
  92. package/src/sap/ui/unified/messagebundle_ru.properties +3 -1
  93. package/src/sap/ui/unified/messagebundle_sh.properties +2 -0
  94. package/src/sap/ui/unified/messagebundle_sk.properties +2 -0
  95. package/src/sap/ui/unified/messagebundle_sl.properties +2 -0
  96. package/src/sap/ui/unified/messagebundle_sv.properties +2 -0
  97. package/src/sap/ui/unified/messagebundle_th.properties +2 -0
  98. package/src/sap/ui/unified/messagebundle_tr.properties +2 -0
  99. package/src/sap/ui/unified/messagebundle_uk.properties +2 -0
  100. package/src/sap/ui/unified/messagebundle_vi.properties +2 -0
  101. package/src/sap/ui/unified/messagebundle_zh_CN.properties +2 -0
  102. package/src/sap/ui/unified/messagebundle_zh_TW.properties +2 -0
  103. package/src/sap/ui/unified/themes/base/Calendar.less +72 -18
  104. package/src/sap/ui/unified/themes/base/FileUploader.less +47 -32
  105. package/ui5.yaml +22 -1
package/.reuse/dep5 CHANGED
@@ -309,7 +309,7 @@ License: MIT
309
309
  Comment: these files belong to: lodash
310
310
 
311
311
  Files: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
312
- Copyright: 2018 Mathias Nater
312
+ Copyright: 2021 Mathias Nater
313
313
  License: MIT
314
314
  Comment: these files belong to: Hyphenopoly
315
315
 
@@ -347,11 +347,6 @@ Copyright: 2013 Ariya Hidayat and other contributors
347
347
  License: BSD-2-Clause
348
348
  Comment: these files belong to: Esprima
349
349
 
350
- Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
351
- Copyright: 2006 Google Inc.
352
- License: Apache-2.0
353
- Comment: these files belong to: google-code-prettify
354
-
355
350
  Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/highlight.js/*
356
351
  Copyright: 2006-2020, Ivan Sagalaev
357
352
  License: BSD-3-Clause
@@ -405,6 +400,11 @@ Copyright: 2014 Vitaly Puzrin, Alex Kocharin
405
400
  License: MIT
406
401
  Comment: these files belong to: Markdown-it
407
402
 
403
+ Files: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
404
+ Copyright: 2015-2017 Evgeny Poberezkin
405
+ License: MIT
406
+ Comment: these files belong to: ajv
407
+
408
408
 
409
409
  # Library: sap.ui.mdc:
410
410
 
@@ -418,7 +418,7 @@ Comment: these files contain content from SAP and BooleanExpressionEvaluator: Bo
418
418
 
419
419
  # Library: sap.ui.webc.common:
420
420
 
421
- Files: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theme-base/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/localization/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/*.*
421
+ Files: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theming/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/localization/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/*.*
422
422
  Copyright: SAP
423
423
  License: Apache-2.0
424
424
  Comment: these files belong to: UI5 Web Components
@@ -452,11 +452,6 @@ Copyright: 2009-2014, Alexis Sellier <self@cloudhead.net>
452
452
  License: Apache-2.0
453
453
  Comment: these files belong to: LESS
454
454
 
455
- Files: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
456
- Copyright: 2015-2017 Evgeny Poberezkin
457
- License: MIT
458
- Comment: these files belong to: ajv
459
-
460
455
  Files: lib/jsdoc/ui5/plugin.js
461
456
  Copyright:
462
457
  2009-2021 SAP SE or an SAP affiliate company and OpenUI5 contributors
@@ -464,3 +459,8 @@ Copyright:
464
459
  License: Apache-2.0
465
460
  Comment: these files contain content from SAP and JSDoc 3: plugin.js is overall written by SAP, but contains code taken from JSDoc 3.6.7 (see the respective comments)
466
461
 
462
+ Files: src/sap.ui.core/src/sap/ui/core/themes/base/base.less src/themelib_sap_belize/src/sap/ui/core/themes/*/base.less src/themelib_sap_fiori_3/src/sap/ui/core/themes/*/base.less src/themelib_sap_horizon/src/sap/ui/core/themes/*/base.less
463
+ Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
464
+ License: Apache-2.0
465
+ Comment: these files belong to: SAP Theming Base Content
466
+
package/THIRDPARTY.txt CHANGED
@@ -6,7 +6,7 @@ The full text of all referenced licenses is appended at the end of this file.
6
6
 
7
7
  Library: sap.ui.codeeditor:
8
8
 
9
- Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.4
9
+ Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.13
10
10
  Copyright: 2010, Ajax.org B.V.
11
11
  License: BSD-3-Clause
12
12
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -197,7 +197,7 @@ License: BSD-3-Clause
197
197
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
198
198
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/sinon-qunit.js
199
199
 
200
- Component: URI.js, version: 1.19.6
200
+ Component: URI.js, version: 1.19.7
201
201
  Copyright: Rodney Rehm
202
202
  License: MIT
203
203
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
@@ -279,8 +279,8 @@ License: MIT
279
279
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
280
280
  Contained in: src/sap.ui.core/src/sap/ui/base/util/restricted/_/lodash.custom.js
281
281
 
282
- Component: Hyphenopoly, version: 2.4.0
283
- Copyright: 2018 Mathias Nater
282
+ Component: Hyphenopoly, version: 3.4.0
283
+ Copyright: 2021 Mathias Nater
284
284
  License: MIT
285
285
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
286
286
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
@@ -324,12 +324,6 @@ License: BSD-2-Clause
324
324
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-2-Clause.txt
325
325
  Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/esprima.js
326
326
 
327
- Component: google-code-prettify, version: 20130304
328
- Copyright: 2006 Google Inc.
329
- License: Apache-2.0
330
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
331
- Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
332
-
333
327
  Component: highlight.js, version: 10.4.1
334
328
  Copyright: 2006-2020, Ivan Sagalaev
335
329
  License: BSD-3-Clause
@@ -395,6 +389,12 @@ License: MIT
395
389
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
396
390
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/markdown-it.js
397
391
 
392
+ Component: ajv, version: 6.12.3
393
+ Copyright: 2015-2017 Evgeny Poberezkin
394
+ License: MIT
395
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
396
+ Contained in: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
397
+
398
398
 
399
399
  Library: sap.ui.mdc:
400
400
 
@@ -412,10 +412,11 @@ Copyright: SAP
412
412
  License: Apache-2.0
413
413
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
414
414
  Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/*.*
415
- src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theme-base/*.*
415
+ src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theming/*.*
416
416
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/localization/*.*
417
417
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons/*.*
418
418
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/*.*
419
+ src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/*.*
419
420
 
420
421
  Component: lit-html, version: 1.4.1
421
422
  Copyright: Google LLC
@@ -450,18 +451,21 @@ License: Apache-2.0
450
451
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
452
  Contained in: src/testsuite-utils/src/main/resources/META-INF/less/less.js
452
453
 
453
- Component: ajv, version: 6.12.3
454
- Copyright: 2015-2017 Evgeny Poberezkin
455
- License: MIT
456
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
457
- Contained in: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
458
-
459
454
  Component: JSDoc 3, version: 3.6.7
460
455
  Copyright: 2011-present Michael Mathews micmath@gmail.com and the contributors to JSDoc
461
456
  License: Apache-2.0
462
457
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
463
458
  Contained in: lib/jsdoc/ui5/plugin.js
464
459
 
460
+ Component: SAP Theming Base Content, version: 11.1.34
461
+ Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
462
+ License: Apache-2.0
463
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
464
+ Contained in: src/sap.ui.core/src/sap/ui/core/themes/base/base.less
465
+ src/themelib_sap_belize/src/sap/ui/core/themes/*/base.less
466
+ src/themelib_sap_fiori_3/src/sap/ui/core/themes/*/base.less
467
+ src/themelib_sap_horizon/src/sap/ui/core/themes/*/base.less
468
+
465
469
 
466
470
  ALL LICENSE TEXTS:
467
471
  ==================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.unified",
3
- "version": "1.94.0",
3
+ "version": "1.97.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.unified",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,6 +14,6 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.ui.core": "1.94.0"
17
+ "@openui5/sap.ui.core": "1.97.0"
18
18
  }
19
19
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.94.0</version>
9
+ <version>1.97.0</version>
10
10
 
11
11
  <documentation>Unified controls intended for both, mobile and desktop scenarios</documentation>
12
12
 
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * Basic Calendar.
71
71
  * This calendar is used for DatePickers
72
72
  * @extends sap.ui.core.Control
73
- * @version 1.94.0
73
+ * @version 1.97.0
74
74
  *
75
75
  * @constructor
76
76
  * @public
@@ -182,6 +182,14 @@ sap.ui.define([
182
182
  */
183
183
  showWeekNumbers : {type : "boolean", group : "Appearance", defaultValue : true},
184
184
 
185
+ /**
186
+ * Determines whether there is a shortcut navigation to Today. When used in Month, Year or
187
+ * Year-range picker view, the calendar navigates to Day picker view.
188
+ *
189
+ * @since 1.95
190
+ */
191
+ showCurrentDateButton : {type : "boolean", group : "Behavior", defaultValue : false},
192
+
185
193
  /**
186
194
  * Holds a reference to the currently shown picker. Possible values: month, monthPicker, yearPicker and yearRangePicker.
187
195
  *
@@ -391,6 +399,7 @@ sap.ui.define([
391
399
 
392
400
  oHeader.attachEvent("pressPrevious", this._handlePrevious, this);
393
401
  oHeader.attachEvent("pressNext", this._handleNext, this);
402
+ oHeader.attachEvent("pressCurrentDate", this._handleCurrentDate, this);
394
403
  oHeader.attachEvent("pressButton1", this._handleButton1, this);
395
404
  oHeader.attachEvent("pressButton2", this._handleButton2, this);
396
405
  oHeader.attachEvent("pressButton3", this._handleButton1, this);
@@ -1016,6 +1025,18 @@ sap.ui.define([
1016
1025
 
1017
1026
  };
1018
1027
 
1028
+ /**
1029
+ * Sets the visibility of the Current date button in the calendar.
1030
+ *
1031
+ * @param {boolean} bShow whether the Today button will be displayed
1032
+ * @return {this} <code>this</code> for method chaining
1033
+ * @public
1034
+ */
1035
+ Calendar.prototype.setShowCurrentDateButton = function(bShow){
1036
+ this.getAggregation("header").setVisibleCurrentDateButton(bShow);
1037
+ return this.setProperty("showCurrentDateButton", bShow);
1038
+ };
1039
+
1019
1040
  /**
1020
1041
  * Provides default behavior for setting min & max date.
1021
1042
  * It is also a hook for the sap.ui.unified.CalendarDateInterval.
@@ -1179,44 +1200,56 @@ sap.ui.define([
1179
1200
  Calendar.prototype.onsaptabnext = function(oEvent){
1180
1201
  var oHeader = this.getAggregation("header");
1181
1202
 
1182
- if (containsOrEquals(this.getDomRef("content"), oEvent.target)) {
1183
- if (oHeader.getVisibleButton1()) {
1184
- oHeader.getDomRef("B1").focus();
1185
- oEvent.preventDefault();
1186
- } else if (oHeader.getVisibleButton2()) {
1187
- oHeader.getDomRef("B2").focus();
1188
- oEvent.preventDefault();
1189
- } else if (!this._bPoupupMode) {
1190
- // remove Tabindex from day, month, year - to break cycle
1191
- this._clearTabindex0();
1192
- } else {
1193
- this._clearTabindex0();
1194
- oEvent.preventDefault();
1195
- }
1196
- } else if (oEvent.target.id === oHeader.getId() + "-B1") {
1197
- oHeader.getVisibleButton2() && oHeader.getDomRef("B2").focus();
1198
-
1203
+ if (containsOrEquals(this.getDomRef("content"), oEvent.target)) {
1204
+ if (oHeader.getVisibleButton1()) {
1205
+ oHeader.getDomRef("B1").focus();
1206
+ oEvent.preventDefault();
1207
+ } else if (oHeader.getVisibleButton2()) {
1208
+ oHeader.getDomRef("B2").focus();
1209
+ oEvent.preventDefault();
1210
+ } else if (oHeader.getVisibleCurrentDateButton()) {
1211
+ oHeader.getDomRef("today").focus();
1212
+ oEvent.preventDefault();
1213
+ } else if (!this._bPoupupMode) {
1214
+ // remove Tabindex from day, month, year - to break cycle
1215
+ this._clearTabindex0();
1216
+ } else {
1217
+ this._clearTabindex0();
1199
1218
  oEvent.preventDefault();
1200
- } else if (oEvent.target.id === oHeader.getId() + "-B2") {
1201
- if (this._bPoupupMode) {
1202
- this._moveFocusToCalContent();
1203
-
1204
- oEvent.preventDefault();
1205
- } else {
1206
- // remove Tabindex from day, month, year - to break cycle
1207
- this._clearTabindex0();
1208
- }
1209
-
1210
1219
  }
1220
+ } else if (oEvent.target.id === oHeader.getId() + "-B1") {
1221
+ oHeader.getVisibleButton2() && oHeader.getDomRef("B2").focus();
1222
+ oEvent.preventDefault();
1223
+ } else if (oEvent.target.id === oHeader.getId() + "-B2") {
1224
+ if (oHeader.getVisibleCurrentDateButton()) {
1225
+ oHeader.getDomRef("today").focus();
1226
+ oEvent.preventDefault();
1227
+ } else {
1228
+ this._tabNextFinalize(this._bPoupupMode, oEvent);
1229
+ }
1230
+ } else if (oEvent.target.id === oHeader.getId() + "-today") {
1231
+ this._tabNextFinalize(this._bPoupupMode, oEvent);
1232
+ }
1233
+
1234
+ };
1211
1235
 
1236
+ Calendar.prototype._tabNextFinalize = function(bPopupMode, oEvent) {
1237
+ if (bPopupMode) {
1238
+ this._moveFocusToCalContent();
1239
+ oEvent.preventDefault();
1240
+ } else {
1241
+ // remove Tabindex from day, month, year - to break cycle
1242
+ this._clearTabindex0();
1243
+ }
1212
1244
  };
1213
1245
 
1214
1246
  Calendar.prototype.onsaptabprevious = function(oEvent){
1215
1247
  var oHeader = this.getAggregation("header");
1216
-
1217
1248
  if (containsOrEquals(this.getDomRef("content"), oEvent.target)) {
1218
1249
  if (this._bPoupupMode) {
1219
- if (oHeader.getVisibleButton2()) {
1250
+ if (oHeader.getVisibleCurrentDateButton()) {
1251
+ oHeader.getDomRef("today").focus();
1252
+ } else if (oHeader.getVisibleButton2()) {
1220
1253
  oHeader.getDomRef("B2").focus();
1221
1254
  } else {
1222
1255
  oHeader.getVisibleButton1() && oHeader.getDomRef("B1").focus();
@@ -1228,7 +1261,6 @@ sap.ui.define([
1228
1261
  }
1229
1262
  } else if (oEvent.target.id === oHeader.getId() + "-B1") {
1230
1263
  this._moveFocusToCalContent();
1231
-
1232
1264
  oEvent.preventDefault();
1233
1265
  } else if (oEvent.target.id === oHeader.getId() + "-B2") {
1234
1266
  if (oHeader.getVisibleButton1()) {
@@ -1237,6 +1269,16 @@ sap.ui.define([
1237
1269
  this._moveFocusToCalContent();
1238
1270
  }
1239
1271
 
1272
+ oEvent.preventDefault();
1273
+ } else if (oEvent.target.id === oHeader.getId() + "-today") {
1274
+ if (oHeader.getVisibleButton2()) {
1275
+ oHeader.getDomRef("B2").focus();
1276
+ } else if (oHeader.getVisibleButton1()){
1277
+ oHeader.getDomRef("B1").focus();
1278
+ } else {
1279
+ this._moveFocusToCalContent();
1280
+ }
1281
+
1240
1282
  oEvent.preventDefault();
1241
1283
  }
1242
1284
  };
@@ -1268,6 +1310,7 @@ sap.ui.define([
1268
1310
 
1269
1311
  Calendar.prototype._moveFocusToCalContent = function() {
1270
1312
  var oYearPicker = this.getAggregation("yearPicker"),
1313
+ oYearRangePicker = this.getAggregation("yearRangePicker"),
1271
1314
  oMonthPicker = this._getMonthPicker(),
1272
1315
  aMonths = this.getAggregation("month"),
1273
1316
  oMonth, oMonthDate,
@@ -1280,7 +1323,7 @@ sap.ui.define([
1280
1323
  oMonth = aMonths[i];
1281
1324
  oMonthDate = CalendarDate.fromLocalJSDate(oMonth.getDate(), this.getPrimaryCalendarType());
1282
1325
  if (oFocusedDate.isSame(oMonthDate)) {
1283
- oMonth._oItemNavigation.focusItem(oMonth._oItemNavigation.getFocusedIndex());
1326
+ oMonth.focus();
1284
1327
  } else {
1285
1328
  oMonth._oItemNavigation.getItemDomRefs()[oMonth._oItemNavigation.getFocusedIndex()].setAttribute("tabindex", "0");
1286
1329
  }
@@ -1289,16 +1332,23 @@ sap.ui.define([
1289
1332
 
1290
1333
  case 1: // month picker
1291
1334
  if (!this._getSucessorsPickerPopup()) {
1292
- oMonthPicker._oItemNavigation.focusItem(oMonthPicker._oItemNavigation.getFocusedIndex());
1335
+ oMonthPicker.focus();
1293
1336
  }
1294
1337
  break;
1295
1338
 
1296
1339
  case 2: // year picker
1297
1340
  if (!this._getSucessorsPickerPopup()) {
1298
- oYearPicker._oItemNavigation.focusItem(oYearPicker._oItemNavigation.getFocusedIndex());
1341
+ oYearPicker.focus();
1342
+ }
1343
+ break;
1344
+
1345
+ case 3: // year range picker
1346
+ if (!this._getSucessorsPickerPopup()) {
1347
+ oYearRangePicker.focus();
1299
1348
  }
1300
1349
  break;
1301
- // no default
1350
+
1351
+ // no default
1302
1352
  }
1303
1353
  };
1304
1354
 
@@ -1321,9 +1371,12 @@ sap.ui.define([
1321
1371
 
1322
1372
  Calendar.prototype._focusOnShiftTab = function() {
1323
1373
  var oHeader = this.getAggregation("header"),
1324
- oDomRefB2 = oHeader.getDomRef("B2");
1374
+ oDomRefB2 = oHeader.getDomRef("B2"),
1375
+ oDomRefToday = oHeader.getDomRef("today");
1325
1376
 
1326
- if (oDomRefB2) {
1377
+ if (oDomRefToday) {
1378
+ oDomRefToday.focus();
1379
+ } else if (oDomRefB2) {
1327
1380
  oDomRefB2.focus();
1328
1381
  } else {
1329
1382
  this.focus();
@@ -1689,6 +1742,16 @@ sap.ui.define([
1689
1742
 
1690
1743
  };
1691
1744
 
1745
+ /**
1746
+ * Handles navigation to today.
1747
+ *
1748
+ * @private
1749
+ */
1750
+ Calendar.prototype._handleCurrentDate = function() {
1751
+ this.setProperty("_currentPicker", CURRENT_PICKERS.MONTH);
1752
+ this.focusDate(new Date());
1753
+ };
1754
+
1692
1755
  Calendar.prototype._getYearString = function () {
1693
1756
  var oYearPicker = this._getYearPicker(),
1694
1757
  oYearPickerDomRef = oYearPicker.getDomRef(),
@@ -1973,6 +2036,7 @@ sap.ui.define([
1973
2036
  for (i = 0; i < aMonths.length; ++i) {
1974
2037
  if (aMonths[i].checkDateFocusable(oFocusedDate.toLocalJSDate())) {
1975
2038
  aMonths[i].setDate(oFocusedDate.toLocalJSDate());
2039
+ aMonths[i]._focusDate(oFocusedDate);
1976
2040
  return;
1977
2041
  }
1978
2042
  }
@@ -21,7 +21,7 @@ sap.ui.define(['./DateTypeRange', 'sap/ui/core/format/DateFormat', 'sap/ui/core/
21
21
  *
22
22
  * Applications could inherit from this element to add own fields.
23
23
  * @extends sap.ui.unified.DateTypeRange
24
- * @version 1.94.0
24
+ * @version 1.97.0
25
25
  *
26
26
  * @constructor
27
27
  * @public
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @class
58
58
  * <code>CalendarDateInterval</code> only visualizes the dates in a one-line interval and allows the selection of a single day.
59
59
  * @extends sap.ui.unified.Calendar
60
- * @version 1.94.0
60
+ * @version 1.97.0
61
61
  *
62
62
  * @constructor
63
63
  * @public
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.94.0
37
+ * @version 1.97.0
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
21
21
  * @class
22
22
  * Item to be displayed in a CalendarLegend.
23
23
  * @extends sap.ui.core.Element
24
- * @version 1.94.0
24
+ * @version 1.97.0
25
25
  *
26
26
  * @constructor
27
27
  * @public
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * <b>Note:</b> JavaScript Date objects are used to set and return the months, mark them as selected or as a special type.
68
68
  * But the date part of the Date object is not used. If a Date object is returned the date will be set to the 1st of the corresponding month.
69
69
  * @extends sap.ui.core.Control
70
- * @version 1.94.0
70
+ * @version 1.97.0
71
71
  *
72
72
  * @constructor
73
73
  * @public
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * Navigation via year picker switches to the corresponding year and the same month as before the navigation.
58
58
  *
59
59
  * @extends sap.ui.unified.CalendarDateInterval
60
- * @version 1.94.0
60
+ * @version 1.97.0
61
61
  *
62
62
  * @constructor
63
63
  * @private
@@ -76,7 +76,7 @@ sap.ui.define([
76
76
  * @class
77
77
  * A calendar row with a header and appointments. The Appointments will be placed in the defined interval.
78
78
  * @extends sap.ui.core.Control
79
- * @version 1.94.0
79
+ * @version 1.97.0
80
80
  *
81
81
  * @constructor
82
82
  * @public
@@ -223,7 +223,16 @@ sap.ui.define([
223
223
  * @experimental Since 1.81.0
224
224
  * @since 1.81.0
225
225
  */
226
- appointmentRoundWidth: { type: "sap.ui.unified.CalendarAppointmentRoundWidth", group: "Appearance", defaultValue: CalendarAppointmentRoundWidth.None}
226
+ appointmentRoundWidth: { type: "sap.ui.unified.CalendarAppointmentRoundWidth", group: "Appearance", defaultValue: CalendarAppointmentRoundWidth.None},
227
+
228
+ /**
229
+ * Determines whether the selection of multiple appointments is enabled.
230
+ *
231
+ * Note: selection of multiple appointments is possible using CTRL key regardless of the value of this property.
232
+ *
233
+ * @since 1.97
234
+ */
235
+ multipleAppointmentsSelection : {type : "boolean", group : "Data", defaultValue : false}
227
236
  },
228
237
  aggregations : {
229
238
 
@@ -590,7 +599,8 @@ sap.ui.define([
590
599
  for (var i = 0; i < aVisibleAppointments.length; i++) {
591
600
  var oAppointment = aVisibleAppointments[i].appointment;
592
601
  if (containsOrEquals(oAppointment.getDomRef(), oEvent.target)) {
593
- _selectAppointment.call(this, oAppointment, !(oEvent.ctrlKey || oEvent.metaKey));
602
+ var bRemoveOldSelection = !(this.getMultipleAppointmentsSelection() || oEvent.ctrlKey || oEvent.metaKey);
603
+ _selectAppointment.call(this, oAppointment, bRemoveOldSelection);
594
604
  break;
595
605
  }
596
606
  }
@@ -708,6 +718,7 @@ sap.ui.define([
708
718
  case CalendarIntervalType.Day:
709
719
  case CalendarIntervalType.Week:
710
720
  case CalendarIntervalType.OneMonth:
721
+ case "OneMonth":
711
722
  iTime = 1800000;
712
723
  break;
713
724
 
@@ -874,7 +885,7 @@ sap.ui.define([
874
885
  * returns if the appointments are rendered as list instead in a table
875
886
  */
876
887
  CalendarRow.prototype._isOneMonthsRowOnSmallSizes = function() {
877
- return this.getIntervalType() === CalendarIntervalType.OneMonth && this.getIntervals() === 1;
888
+ return (this.getIntervalType() === CalendarIntervalType.OneMonth || this.getIntervalType() === "OneMonth") && this.getIntervals() === 1;
878
889
  };
879
890
 
880
891
  /*
@@ -1025,6 +1036,7 @@ sap.ui.define([
1025
1036
  case CalendarIntervalType.Day:
1026
1037
  case CalendarIntervalType.Week:
1027
1038
  case CalendarIntervalType.OneMonth:
1039
+ case "OneMonth":
1028
1040
  oEndDate = new UniversalDate(this._oUTCStartDate.getTime());
1029
1041
  oEndDate.setUTCDate(oEndDate.getUTCDate() + iIntervals * this.getIntervalSize());
1030
1042
  break;
@@ -1064,6 +1076,7 @@ sap.ui.define([
1064
1076
  case CalendarIntervalType.Day:
1065
1077
  case CalendarIntervalType.Week:
1066
1078
  case CalendarIntervalType.OneMonth:
1079
+ case "OneMonth":
1067
1080
  oUTCStartDate.setUTCHours(0);
1068
1081
  oUTCStartDate.setUTCMinutes(0);
1069
1082
  oUTCStartDate.setUTCSeconds(0);
@@ -1453,6 +1466,7 @@ sap.ui.define([
1453
1466
  case CalendarIntervalType.Day:
1454
1467
  case CalendarIntervalType.Week:
1455
1468
  case CalendarIntervalType.OneMonth:
1469
+ case "OneMonth":
1456
1470
  oIntervalEndDate.setUTCDate(oIntervalEndDate.getUTCDate() + 1);
1457
1471
  if (j > 0) {
1458
1472
  oIntervalStartDate.setUTCDate(oIntervalStartDate.getUTCDate() + 1);
@@ -1547,7 +1561,6 @@ sap.ui.define([
1547
1561
  if (oAppointment.end < 0) {
1548
1562
  oAppointment.end = 0;
1549
1563
  }
1550
- oAppointment.level = -1; // level must be new calculated
1551
1564
  bChanged = true;
1552
1565
  $Appointment.addClass("sapUiCalendarAppSmall");
1553
1566
  } else if ($Appointment.hasClass("sapUiCalendarAppSmall")){
@@ -1557,6 +1570,10 @@ sap.ui.define([
1557
1570
  $Appointment.removeClass("sapUiCalendarAppSmall");
1558
1571
  }
1559
1572
 
1573
+ if (bChanged) {
1574
+ oAppointment.level = -1; // level must be new calculated
1575
+ }
1576
+
1560
1577
  if (bChanged && !bHorizontalFit) {
1561
1578
  if (this._bRTL) {
1562
1579
  $Appointment.css("left", oAppointment.end + "%");
@@ -2002,6 +2019,7 @@ sap.ui.define([
2002
2019
  case CalendarIntervalType.Day:
2003
2020
  case CalendarIntervalType.Week:
2004
2021
  case CalendarIntervalType.OneMonth:
2022
+ case "OneMonth":
2005
2023
  oStartDate.setUTCDate(1);
2006
2024
  oEndDate.setUTCMonth(oEndDate.getUTCMonth() + 1);
2007
2025
  oEndDate.setUTCDate(1);
@@ -2093,6 +2111,7 @@ sap.ui.define([
2093
2111
  case CalendarIntervalType.Day:
2094
2112
  case CalendarIntervalType.Week:
2095
2113
  case CalendarIntervalType.OneMonth:
2114
+ case "OneMonth":
2096
2115
  oIntervalStartDate.setUTCDate(oIntervalStartDate.getUTCDate() + iInterval);
2097
2116
  if (bSubInterval) {
2098
2117
  oIntervalStartDate.setUTCHours(oIntervalStartDate.getUTCHours() + iSubInterval * 24 / iSubIntervals);