@sapui5/sap.ushell_abap 1.152.1 → 1.154.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 (121) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell_abap/.library +1 -1
  3. package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +53 -63
  4. package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +1 -1
  5. package/src/main/js/sap/ushell_abap/adapters/abap/CommonDataModelAdapter.js +1 -1
  6. package/src/main/js/sap/ushell_abap/adapters/abap/ConfigurationDefaultsAdapter.js +1 -1
  7. package/src/main/js/sap/ushell_abap/adapters/abap/ContainerAdapter.js +1 -1
  8. package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +62 -4
  9. package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +1 -1
  10. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
  11. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js +1 -1
  12. package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +1 -1
  13. package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +8 -8
  14. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +1 -1
  15. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js +1 -1
  16. package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +1 -1
  17. package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +1 -1
  18. package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
  19. package/src/main/js/sap/ushell_abap/adapters/abap/UserInfoAdapter.js +11 -11
  20. package/src/main/js/sap/ushell_abap/adapters/abap/VisualizationInstantiationAdapter.js +76 -0
  21. package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
  22. package/src/main/js/sap/ushell_abap/adapters/local/ClientSideTargetResolutionAdapter.js +123 -0
  23. package/src/main/js/sap/ushell_abap/adapters/local/FlpLaunchPageAdapter.js +115 -0
  24. package/src/main/js/sap/ushell_abap/adapters/local/MenuAdapter.js +92 -0
  25. package/src/main/js/sap/ushell_abap/adapters/local/PageBuildingAdapter.js +242 -0
  26. package/src/main/js/sap/ushell_abap/adapters/local/PagePersistenceAdapter.js +308 -0
  27. package/src/main/js/sap/ushell_abap/api/S4MyHome.js +58 -0
  28. package/src/main/js/sap/ushell_abap/bootstrap/DirectAppStart.js +28 -15
  29. package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/CreateRenderer.js +4 -2
  30. package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/RequestPages.js +2 -6
  31. package/src/main/js/sap/ushell_abap/bootstrap/PlatformConfig.js +5 -5
  32. package/src/main/js/sap/ushell_abap/bootstrap/XhrLogonEventHandler.js +6 -7
  33. package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +30 -0
  34. package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/Favorites.js +549 -0
  35. package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/GenericNavigationListProvider.js +241 -0
  36. package/src/main/js/sap/ushell_abap/components/cards/Card.controller.js +117 -0
  37. package/src/main/js/sap/ushell_abap/components/cards/Card.view.xml +11 -0
  38. package/src/main/js/sap/ushell_abap/components/cards/Configuration.controller.js +280 -0
  39. package/src/main/js/sap/ushell_abap/components/cards/Configuration.view.xml +27 -0
  40. package/src/main/js/sap/ushell_abap/components/cards/ManifestPropertyHelper.js +298 -0
  41. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/Component.js +90 -0
  42. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/TransactionCode.controller.js +110 -0
  43. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/TransactionCode.view.xml +16 -0
  44. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n.properties +17 -0
  45. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ar.properties +10 -0
  46. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_bg.properties +10 -0
  47. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ca.properties +10 -0
  48. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cnr.properties +10 -0
  49. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cs.properties +10 -0
  50. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cy.properties +10 -0
  51. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_da.properties +10 -0
  52. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_de.properties +10 -0
  53. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_el.properties +10 -0
  54. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en.properties +10 -0
  55. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_GB.properties +10 -0
  56. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_sappsd.properties +10 -0
  57. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saprigi.properties +10 -0
  58. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saptrc.properties +10 -0
  59. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es.properties +10 -0
  60. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es_MX.properties +10 -0
  61. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_et.properties +10 -0
  62. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fi.properties +10 -0
  63. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr.properties +10 -0
  64. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr_CA.properties +10 -0
  65. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hi.properties +10 -0
  66. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hr.properties +10 -0
  67. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hu.properties +10 -0
  68. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_id.properties +10 -0
  69. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_it.properties +10 -0
  70. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_iw.properties +10 -0
  71. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ja.properties +10 -0
  72. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_kk.properties +10 -0
  73. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ko.properties +10 -0
  74. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lt.properties +10 -0
  75. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lv.properties +10 -0
  76. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_mk.properties +10 -0
  77. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ms.properties +10 -0
  78. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_nl.properties +10 -0
  79. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_no.properties +10 -0
  80. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pl.properties +10 -0
  81. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt.properties +10 -0
  82. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt_PT.properties +10 -0
  83. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ro.properties +10 -0
  84. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ru.properties +10 -0
  85. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sh.properties +10 -0
  86. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sk.properties +10 -0
  87. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sl.properties +10 -0
  88. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sr.properties +10 -0
  89. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sv.properties +10 -0
  90. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_th.properties +10 -0
  91. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_tr.properties +10 -0
  92. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_uk.properties +10 -0
  93. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_vi.properties +10 -0
  94. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_CN.properties +10 -0
  95. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_TW.properties +10 -0
  96. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/manifest.json +96 -0
  97. package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.controller.js +189 -0
  98. package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.view.xml +13 -0
  99. package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.controller.js +193 -0
  100. package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.view.xml +333 -0
  101. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Component.js +41 -0
  102. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.controller.js +114 -0
  103. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.view.xml +208 -0
  104. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.controller.js +497 -0
  105. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.view.js +61 -0
  106. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Component.js +45 -0
  107. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.controller.js +113 -0
  108. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.view.xml +231 -0
  109. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.controller.js +729 -0
  110. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.view.js +106 -0
  111. package/src/main/js/sap/ushell_abap/library.js +12 -1
  112. package/src/main/js/sap/ushell_abap/messagebundle.properties +6 -2
  113. package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +7 -3
  114. package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataWrapper.js +3 -5
  115. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configuration.js +54 -4
  116. package/src/main/js/sap/ushell_abap/services/NavigationDataProvider.js +4 -4
  117. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/ChipInstanceWrapper.js +248 -0
  118. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbap.js +134 -0
  119. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbapLink.js +145 -0
  120. package/src/main/js/sap/ushell_abap/utils/UserPersonalization.js +127 -0
  121. package/ui5.yaml +21 -3
@@ -0,0 +1,333 @@
1
+ <mvc:View
2
+ xmlns="sap.m"
3
+ xmlns:mvc="sap.ui.core.mvc"
4
+ xmlns:form="sap.ui.layout.form"
5
+ xmlns:layout="sap.ui.layout"
6
+ xmlns:table="sap.ui.table"
7
+ xmlns:rowmodes="sap.ui.table.rowmodes"
8
+ controllerName="sap.ushell_abap.components.tiles.action.Configuration">
9
+ <MessageStrip
10
+ type="Warning"
11
+ enableFormattedText="true"
12
+ showIcon="true"
13
+ showCloseButton="false"
14
+ class="sapUiResponsiveMargin"
15
+ visible="{= !!${/config/deprecation_text}}"
16
+ text="{/config/deprecation_text}" />
17
+ <form:Form id="configuration" maxContainerCols="2" minWidth="1024" editable="true">
18
+ <form:layout>
19
+ <form:ResponsiveGridLayout />
20
+ </form:layout>
21
+ <form:FormContainer id="categoryChipConfiguration" title="{i18n>configuration.category.action_chip_configuration}">
22
+ <form:FormElement label="{i18n>configuration.semantic_object}">
23
+ <Input
24
+ id="semantic_objectInput"
25
+ width="100%"
26
+ tooltip="{i18n>configuration.semantic_object.tooltip}"
27
+ maxLength="30"
28
+ liveChange=".onConfigurationInputChange"
29
+ valueHelpRequest=".onValueHelpRequest"
30
+ showValueHelp="true"
31
+ showSuggestion="true"
32
+ value="{/value}"
33
+ enabled="{/config/editable}" />
34
+ </form:FormElement>
35
+ <form:FormElement label="{i18n>configuration.semantic_action}">
36
+ <Input
37
+ id="semantic_actionInput"
38
+ value="{/config/semantic_action}"
39
+ maxLength="50"
40
+ liveChange=".onConfigurationInputChange"
41
+ enabled="{/config/editable}"
42
+ valueHelpRequest=".onActionValueHelpRequest"
43
+ showValueHelp="true"
44
+ showSuggestion="true"
45
+ width="100%"
46
+ tooltip="{i18n>configuration.semantic_action.tooltip}" />
47
+ </form:FormElement>
48
+ </form:FormContainer>
49
+ <form:FormContainer id="categoryTargetApplication" title="{i18n>configuration.category.target_application}">
50
+ <form:FormElement id="targetType" label="{i18n>configuration.target_applicationType}">
51
+ <ComboBox
52
+ id="targetTypeInput"
53
+ selectedKey="{/config/navigation_provider}"
54
+ enabled="{/config/editable}"
55
+ selectionChange=".onApplicationTypeChange" />
56
+ </form:FormElement>
57
+ <form:FormElement id="application_description" label="{i18n>configuration.target_application.description}">
58
+ <Input
59
+ id="target_application_descriptionInput"
60
+ value="{/config/display_title_text}"
61
+ liveChange=".onConfigurationInputChange"
62
+ width="100%"
63
+ enabled="{/config/editable}"
64
+ tooltip="{i18n>configuration.target_application.description.tooltip}" />
65
+ </form:FormElement>
66
+ <form:FormElement id="application_url" label="{i18n>configuration.target_application.url}">
67
+ <Input
68
+ id="target_application_urlInput"
69
+ value="{/config/url}"
70
+ enabled="{/config/editable}"
71
+ maxLength="512"
72
+ liveChange=".onConfigurationInputChange"
73
+ width="100%" tooltip="{i18n>configuration.target_application.url.tooltip}" />
74
+ </form:FormElement>
75
+ <form:FormElement id="application_component" label="{i18n>configuration.target_application.component}">
76
+ <Input
77
+ id="target_application_componentInput"
78
+ value="{/config/ui5_component}"
79
+ enabled="{/config/editable}"
80
+ liveChange=".onConfigurationInputChange"
81
+ width="100%"
82
+ tooltip="{i18n>configuration.target_application.component.tooltip}" />
83
+ </form:FormElement>
84
+ <form:FormElement id="navigation_provider_role" label="{i18n>configuration.navigation_provider_role}">
85
+ <Input
86
+ id="navigation_provider_roleInput"
87
+ valueHelpRequest=".onRoleValueHelpRequest"
88
+ showValueHelp="true"
89
+ showTableSuggestionValueHelp="true"
90
+ enabled="{/config/editable}"
91
+ showSuggestion="true"
92
+ value="{/value}"
93
+ width="100%"
94
+ maxLength="10"
95
+ class="sapUshellTargetMappingToUpperCase"
96
+ tooltip="{i18n>configuration.navigation_provider_role.tooltip}"
97
+ liveChange=".onConfigurationInputChange">
98
+ <suggestionColumns>
99
+ <Column hAlign="Begin" popinDisplay="Inline" demandPopin="true">
100
+ <Label text="{i18n>configuration.navigation_provider_role}" />
101
+ </Column>
102
+ <Column hAlign="Begin" popinDisplay="Inline" demandPopin="true">
103
+ <Label text="{i18n>configuration.navigation_provider_instance}" />
104
+ </Column>
105
+ </suggestionColumns>
106
+ </Input>
107
+ </form:FormElement>
108
+ <form:FormElement id="navigation_provider_instance"
109
+ label="{i18n>configuration.navigation_provider_instance}">
110
+ <Input
111
+ id="navigation_provider_instanceInput"
112
+ value="{/value}"
113
+ width="100%"
114
+ maxLength="32"
115
+ valueHelpRequest=".onInstanceValueHelpRequest"
116
+ enabled="{/config/editable}"
117
+ showValueHelp="true"
118
+ showSuggestion="true"
119
+ suggest=".instanceSuggest"
120
+ tooltip="{i18n>configuration.navigation_provider_instance.tooltip}"
121
+ liveChange=".onConfigurationInputChange"
122
+ class="sapUshellTargetMappingToUpperCase" />
123
+ </form:FormElement>
124
+ <form:FormElement id="target_application_alias" label="{i18n>configuration.target_application_alias}">
125
+ <Input
126
+ id="target_application_aliasInput"
127
+ value="{/value}"
128
+ width="100%"
129
+ valueHelpRequest=".onAliasValueHelpRequest"
130
+ enabled="{/config/editable}"
131
+ showValueHelp="true"
132
+ showSuggestion="true"
133
+ suggest=".aliasSuggest"
134
+ tooltip="{i18n>configuration.target_application_alias.tooltip}"
135
+ liveChange=".onConfigurationInputChange" />
136
+ </form:FormElement>
137
+ <form:FormElement id="target_application_id" label="{i18n>configuration.target_application_id}">
138
+ <Input
139
+ id="target_application_idInput"
140
+ value="{/config/target_application_id}"
141
+ width="100%"
142
+ maxLength="32"
143
+ enabled="{/config/editable}"
144
+ tooltip="{i18n>configuration.target_application_id.tooltip}"
145
+ liveChange=".onConfigurationInputChange" />
146
+ </form:FormElement>
147
+ <form:FormElement id="target_transaction" label="{i18n>configuration.target_transaction}">
148
+ <Input
149
+ id="target_transactionInput"
150
+ value="{/config/transaction/code}"
151
+ width="100%"
152
+ maxLength="20"
153
+ enabled="{/config/editable}"
154
+ tooltip="{i18n>configuration.target_transaction.tooltip}"
155
+ liveChange=".onConfigurationInputChange" />
156
+ </form:FormElement>
157
+ <form:FormElement id="target_wcf_application_id" label="{i18n>configuration.target_wcf.application_id}">
158
+ <Input
159
+ id="target_wcf_application_idInput"
160
+ value="{/config/wcf/application_id}"
161
+ width="100%"
162
+ maxLength="30"
163
+ enabled="{/config/editable}"
164
+ liveChange=".onConfigurationInputChange" />
165
+ </form:FormElement>
166
+ <form:FormElement id="target_web_dynpro_application" label="{i18n>configuration.target_web_dynpro.application}">
167
+ <Input
168
+ id="target_web_dynpro_applicationInput"
169
+ value="{/config/web_dynpro/application}"
170
+ width="100%"
171
+ maxLength="30"
172
+ enabled="{/config/editable}"
173
+ tooltip="{i18n>configuration.target_web_dynpro_application.tooltip}"
174
+ liveChange=".onConfigurationInputChange" />
175
+ </form:FormElement>
176
+ <form:FormElement id="target_web_dynpro_configuration" label="{i18n>configuration.target_web_dynpro.configuration}">
177
+ <Input
178
+ id="target_web_dynpro_configurationInput"
179
+ value="{/config/web_dynpro/configuration}"
180
+ width="100%"
181
+ maxLength="32"
182
+ enabled="{/config/editable}"
183
+ tooltip="{i18n>configuration.target_web_dynpro_application.tooltip}"
184
+ liveChange=".onConfigurationInputChange" />
185
+ </form:FormElement>
186
+ <form:FormElement id="target_system_alias" label="{i18n>configuration.target_system_alias}">
187
+ <Input
188
+ id="target_system_aliasInput"
189
+ value="{/config/target_system_alias}"
190
+ width="100%"
191
+ maxLength="30"
192
+ enabled="{/config/editable}"
193
+ tooltip="{i18n>configuration.target_system_alias.tooltip}"
194
+ liveChange=".onConfigurationInputChange" />
195
+ </form:FormElement>
196
+ <form:FormElement id="urlt_application_component" label="{i18n>configuration.target_application.component}">
197
+ <Input
198
+ id="urlt_application_componentInput"
199
+ value="{/config/url_template/parameters/ui5ComponentName}"
200
+ enabled="{/config/editable}"
201
+ liveChange=".onConfigurationInputChange"
202
+ width="100%"
203
+ tooltip="{i18n>configuration.target_application.component.tooltip}" />
204
+ </form:FormElement>
205
+ <form:FormElement id="target_urlt_system_alias" label="{i18n>configuration.target_system_alias}">
206
+ <Input
207
+ id="target_urlt_system_aliasInput"
208
+ value="{/config/url_template/parameters/systemAlias}"
209
+ width="100%"
210
+ maxLength="30"
211
+ enabled="{/config/editable}"
212
+ tooltip="{i18n>configuration.target_system_alias.tooltip}"
213
+ liveChange=".onConfigurationInputChange" />
214
+ </form:FormElement>
215
+ <form:FormElement id="application_type_deprecated">
216
+ <MessageStrip text="{i18n>applicationTypeDeprecated}" type="Warning" showIcon="true" />
217
+ </form:FormElement>
218
+ </form:FormContainer>
219
+ <form:FormContainer id="categoryGeneral" title="{i18n>configuration.category.general}">
220
+ <form:layoutData>
221
+ <layout:GridData span="L12 M12 S12" />
222
+ </form:layoutData>
223
+ <form:FormElement label="{i18n>configuration.display_info_text}">
224
+ <Input
225
+ id="additionalInfo"
226
+ value="{/config/display_info_text}"
227
+ enabled="{/config/editable}"
228
+ width="100%"
229
+ liveChange=".onConfigurationInputChange" />
230
+ </form:FormElement>
231
+ <form:FormElement label="{i18n>configuration.form_factor}" tooltip="{i18n>configuration.form_factor.tooltip}">
232
+ <CheckBox
233
+ id="desktopCB"
234
+ text="{i18n>configuration.form_factor_desktop}"
235
+ select=".onFormFactorChange"
236
+ selected="{/config/desktopChecked}"
237
+ enabled="{/config/manualFormFactor}" />
238
+ <CheckBox
239
+ id="tabletCB"
240
+ text="{i18n>configuration.form_factor_tablet}"
241
+ select=".onFormFactorChange"
242
+ selected="{/config/tabletChecked}"
243
+ enabled="{/config/manualFormFactor}" />
244
+ <CheckBox
245
+ id="phoneCB"
246
+ text="{i18n>configuration.form_factor_phone}"
247
+ select=".onFormFactorChange"
248
+ selected="{/config/phoneChecked}"
249
+ enabled="{/config/manualFormFactor}" />
250
+ </form:FormElement>
251
+ <form:FormElement label="{i18n>configuration.signature.table.title}">
252
+ <VBox>
253
+ <table:Table
254
+ id="mappingSignatureTable"
255
+ rows="{/config/rows}"
256
+ selectionBehavior="Row"
257
+ selectionMode="MultiToggle"
258
+ enableColumnReordering="false">
259
+ <table:rowMode>
260
+ <rowmodes:Fixed rowCount="5" rowContentHeight="30"/>
261
+ </table:rowMode>
262
+ <table:Column id="nameCol" width="82px">
263
+ <Label text="{i18n>configuration.signature.table.name}" />
264
+ <table:template>
265
+ <Input
266
+ value="{name}"
267
+ editable="{editable}"
268
+ placeholder="{i18n>configuration.signature.table.nameFieldLbl}"
269
+ change=".checkDuplicateNames" />
270
+ </table:template>
271
+ </table:Column>
272
+ <table:Column id="mandatoryCol" width="92px" hAlign="Center">
273
+ <Label text="{i18n>configuration.signature.table.mandatory}" />
274
+ <table:template>
275
+ <CheckBox selected="{mandatory}" editable="{editable}" select=".handleMandatoryChange" />
276
+ </table:template>
277
+ </table:Column>
278
+ <table:Column id="valueCol" width="85px">
279
+ <Label text="{i18n>configuration.signature.table.value}" />
280
+ <table:template>
281
+ <Input value="{value}" editable="{editable}" enabled="{valEnabled}" />
282
+ </table:template>
283
+ </table:Column>
284
+ <table:Column id="isRegExCol" width="162px" hAlign="Center">
285
+ <Label text="{i18n>configuration.signature.table.isRegEx}" />
286
+ <table:template>
287
+ <CheckBox selected="{isRegularExpression}" editable="{editable}" enabled="{valEnabled}" />
288
+ </table:template>
289
+ </table:Column>
290
+ <table:Column id="defValueCol" width="110px">
291
+ <Label text="{i18n>configuration.signature.table.defaultValue}" />
292
+ <table:template>
293
+ <Input value="{defaultValue}" editable="{editable}" enabled="{defValEnabled}" />
294
+ </table:template>
295
+ </table:Column>
296
+ <table:Column id="renameToCol" width="82px" visible="{= ${/config/navigation_provider} !== 'LPD' }">
297
+ <Label
298
+ text="{i18n>configuration.signature.table.renameTo}"
299
+ tooltip="{i18n>configuration.signature.table.renameTo.tooltip}" />
300
+ <table:template>
301
+ <Input value="{rename_to}" editable="{editable}" />
302
+ </table:template>
303
+ </table:Column>
304
+ </table:Table>
305
+ <HBox wrap="Wrap">
306
+ <CheckBox
307
+ id="isUnknownAllowed"
308
+ text="{i18n>configuration.signature.table.allowUndefined}"
309
+ enabled="{/config/editable}"
310
+ selected="{/config/isUnknownAllowed}"
311
+ width="400px">
312
+ <layoutData>
313
+ <FlexItemData growFactor="1"/>
314
+ </layoutData>
315
+ </CheckBox>
316
+ <Button
317
+ id="addRow"
318
+ enabled="{/config/editable}"
319
+ text="{i18n>configuration.signature.table.add}"
320
+ press=".addRow"
321
+ width="100px" />
322
+ <Button
323
+ id="deleteRow"
324
+ enabled="{/config/editable}"
325
+ text="{i18n>configuration.signature.table.delete}"
326
+ press=".deleteRow"
327
+ width="100px" />
328
+ </HBox>
329
+ </VBox>
330
+ </form:FormElement>
331
+ </form:FormContainer>
332
+ </form:Form>
333
+ </mvc:View>
@@ -0,0 +1,41 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ sap.ui.define([
4
+ "sap/ui/core/mvc/View",
5
+ "sap/ui/core/UIComponent",
6
+ "sap/ushell/performance/PerformanceAPI"
7
+ ], (
8
+ View,
9
+ UIComponent,
10
+ PerformanceAPI
11
+ ) => {
12
+ "use strict";
13
+
14
+ return UIComponent.extend("sap.ushell_abap.components.tiles.applauncher.Component", {
15
+ metadata: {
16
+ interfaces: ["sap.ui.core.IAsyncContentCreation"]
17
+ },
18
+
19
+ init: function () {
20
+ UIComponent.prototype.init.apply(this, arguments);
21
+
22
+ PerformanceAPI.attachComponentInitialRendering(this, () => {
23
+ PerformanceAPI.setMark("FLP First Tile View Rendered", {
24
+ useUniqueMark: true
25
+ });
26
+ PerformanceAPI.setMark("FLP Last Tile View Rendered", {
27
+ useOnlyLastMark: true
28
+ });
29
+ });
30
+ },
31
+
32
+ createContent: function () {
33
+ const oComponentData = this.getComponentData();
34
+
35
+ return View.create({
36
+ viewName: "module:sap/ushell_abap/components/tiles/applauncher/StaticTile.view",
37
+ viewData: oComponentData
38
+ });
39
+ }
40
+ });
41
+ });
@@ -0,0 +1,114 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ sap.ui.define([
4
+ "sap/ui/core/mvc/Controller",
5
+ "sap/ushell/components/tiles/utils",
6
+ "sap/ui/core/ListItem"
7
+ ], (Controller, tileUtils, ListItem) => {
8
+ "use strict";
9
+
10
+ return Controller.extend("sap.ushell_abap.components.tiles.applauncher.Configuration", {
11
+ // checks given inputs
12
+ onConfigurationInputChange: function (oControlEvent) {
13
+ tileUtils.checkInput(this.getView(), oControlEvent);
14
+ },
15
+ // default semantic objects for static applauncher: blank
16
+ aDefaultObjects: [{ obj: "", name: "" }],
17
+ onInit: function () {
18
+ const oView = this.getView();
19
+ const oTargetUrl = oView.byId("targetUrl");
20
+ const oSemanticObjectSelector = oView.byId("navigation_semantic_objectInput");
21
+ const oActionSelector = oView.byId("navigation_semantic_actionInput");
22
+ const oResourceModel = tileUtils.getResourceBundleModel();
23
+
24
+ oView.setModel(oResourceModel, "i18n");
25
+ const oBundle = tileUtils.getResourceBundle();
26
+ // set view name for identification in utils
27
+ oView.setViewName("sap.ushell_abap.components.tiles.applauncher.Configuration");
28
+ tileUtils.createSemanticObjectModel(this, oSemanticObjectSelector, this.aDefaultObjects);
29
+ tileUtils.createActionModel(this, oActionSelector);
30
+
31
+ // make sure that the chose object is written back to the configuration
32
+ oSemanticObjectSelector.attachChange((oControlEvent) => {
33
+ const sValue = oControlEvent.getSource().getValue();
34
+ oView.getModel().setProperty("/config/navigation_semantic_object", sValue);
35
+ });
36
+
37
+ // toggle editable property of targetURL input field depending on navigation_use_semantic_object
38
+ function targetUrlVisibilityFormatter (bUseLaunchpad) {
39
+ return !bUseLaunchpad;
40
+ }
41
+ oTargetUrl.bindProperty("enabled", {
42
+ formatter: targetUrlVisibilityFormatter,
43
+ path: "/config/navigation_use_semantic_object"
44
+ });
45
+ // Adding list items URL and Intent to the Target Type in Tile Actions section
46
+ let oItem = new ListItem({ key: "URL", text: oBundle.getText("configuration.tile_actions.table.target_type.url") });
47
+ oView.byId("targetTypeCB").addItem(oItem);
48
+ oItem = new ListItem({ key: "INT", text: oBundle.getText("configuration.tile_actions.table.target_type.intent") });
49
+ oView.byId("targetTypeCB").addItem(oItem);
50
+ },
51
+
52
+ onAfterRendering: function () {
53
+ tileUtils.updateMessageStripForOriginalLanguage(this.getView());
54
+ },
55
+
56
+ // forward semantic object value helper request to utils
57
+ onValueHelpRequest: function (oEvent) {
58
+ // Third parameter is to differentiate whether it's Tile Actions icon field or general icon field. If it's true, then it's tile actions icon field, else general icon field.
59
+ tileUtils.objectSelectOnValueHelpRequest(this, oEvent, false);
60
+ },
61
+ // forward semantic action value helper request to utils
62
+ onActionValueHelpRequest: function (oEvent) {
63
+ // Third parameter is to differentiate whether it's Tile Actions icon field or general icon field. If it's true, then it's tile actions icon field, else general icon field.
64
+ tileUtils.actionSelectOnValueHelpRequest(this, oEvent, false);
65
+ },
66
+ // change handler for check box
67
+ onCheckBoxChange: function (oEvent) {
68
+ const oView = this.getView();
69
+ const oSemanticObjectSelector = oView.byId("navigation_semantic_objectInput");
70
+ const oModel = oSemanticObjectSelector.getModel();
71
+ const value = oEvent.getSource().getSelected();
72
+ oModel.setProperty("/enabled", value);
73
+ tileUtils.checkInput(this.getView(), oEvent);
74
+ },
75
+ // forward icon value help request to utils
76
+ onIconValueHelpRequest: function (oEvent) {
77
+ // Third parameter is to differentiate whether it's Tile Actions icon field or general icon field. If it's true, then it's tile actions icon field, else general icon field.
78
+ tileUtils.iconSelectOnValueHelpRequest(this, oEvent, false);
79
+ },
80
+ // forward icon close request to utils
81
+ onSelectIconClose: function () {
82
+ tileUtils.onSelectIconClose(this.getView());
83
+ },
84
+ // forward icon ok to utils
85
+ onSelectIconOk: function () {
86
+ tileUtils.onSelectIconOk(this.getView());
87
+ },
88
+ // This function applies table logic for the Action according to the Target Type:
89
+ // if Taregt Type is URL, then Action field should be disabled else if it's Intent, then the Action field should be enabled.
90
+ handleTargetTypeChange: function (oTargetTypeComboBox) {
91
+ tileUtils.onTargetTypeChange(oTargetTypeComboBox);
92
+ },
93
+
94
+ // forward tile actions semantic object value helper request to utils
95
+ onTileActionValueHelp: function (oEvent) {
96
+ // Third parameter is to differentiate whether it's Tile Actions icon field or general icon field. If it's true, then it's tile actions icon field, else general icon field.
97
+ tileUtils.objectSelectOnValueHelpRequest(this, oEvent, true);
98
+ },
99
+
100
+ // forward icon value help request to utils
101
+ onTileActionIconValueHelp: function (oEvent) {
102
+ // Third parameter is to differentiate whether it's Tile Actions icon field or general icon field. If it's true, then it's tile actions icon field, else general icon field.
103
+ tileUtils.iconSelectOnValueHelpRequest(this, oEvent, true);
104
+ },
105
+ // adds new row in the tile actions table
106
+ addRow: function () {
107
+ tileUtils.addTileActionsRow(this.getView());
108
+ },
109
+ // delets row in the tile actions table
110
+ deleteRow: function () {
111
+ tileUtils.deleteTileActionsRow(this.getView());
112
+ }
113
+ });
114
+ });