Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-06-07POC: lazy loading outline (WIP)releafeatures/cgu/poc_lazy_outlinefeatures/cgu/poc_lazy_outlineClaudio Guglielmo4-7/+25
2021-06-07Add missing animationClaudio Guglielmo1-0/+19
Needed by WidgetPopup.less
2021-06-04WidgetPopup: adjust opening animationClaudio Guglielmo1-2/+2
The current animation does not look clean, fonts and icons are blurry during the animation -> Use a simplified one and increase duration.
2021-06-04Button: fix toggle state with popupClaudio Guglielmo4-4/+17
If a menu-button with sub-menus is selected, the hover and active state are broken -> Added rules to button class, it already contains a rule for the submenu icon. This does not affect button fields because they are not selected when the popup is open. Also added state for default toggle button even though it is rarely used. The state was already used for a combo menu which makes it consistent now.
2021-06-04Improve some jsdocClaudio Guglielmo19-95/+113
2021-06-04Mobile: fix layout of selected itemClaudio Guglielmo1-0/+1
Setting display: flex for the selected tree node in Tree.js broke the mobile bread crumb layout.
2021-06-04SimpleTabArea: fix error when tab is destroyed while area not renderedClaudio Guglielmo2-15/+12
2021-05-31JsonAdapter: add custom properties which are sent to the browserKevin Kirn2-0/+45
This gives the possibility to add custom json properties to a base adapter (e.g. form field), without the need to extend every single child adapter. 274629 Change-Id: I86c282b93c43909ad97ef9604c4e46f1efb1d6b4 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180856 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Claudio Guglielmo <claudio.guglielmo@bsiag.com>
2021-05-31Reveal and focus first invalid elementFritz Schinkel12-26/+532
When a form is validated and there are invalid elements the first one is revealed and focused. 287768 Change-Id: Icf2177dda32487654ee08a79e4d97edfe27fab0e Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/181046 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Fritz Schinkel <fritz.schinkel@bsi-software.com>
2021-05-31BrushUp: optimize hover colorsClaudio Guglielmo3-8/+9
- slightly lighten hover and active style - don't use transparent colors which is relevant if element is on top of others, e.g. collapse handles - add minimal styles to dark theme - fix selected node display style (default is flex not block) - fix subtitle color in dark theme
2021-05-31BrushUp: rename colors active-inverted-* to selected-*Claudio Guglielmo8-48/+48
The term active should only be used for the active pseudo selector and not for the selected state.
2021-05-31BrushUp: improve menu, context menu, menu bar, combo menu, buttonClaudio Guglielmo52-941/+898
Improve menubar and menus - The menus now have a padding and hover effect. - The menu bar cannot have a margin/padding anymore, the first and last menu entries need to have the margin - The rules for a menu are moved to Menu.less so that a menu can easier be used outside of a menu bar. This also makes the rules less complicated. - Menus and buttons now use flex box to layout the content -> vertical align helper and other hacks can be removed. - The style for the font icons are removed, they were not needed but made overriding more complex. - Renamed .menubox to .menubar-box because it belongs to the MenubarBox.js and not to MenuBox.js - The selected state of menus and buttons is now correctly visualized. Improve focus style - The focus style for menus and buttons is updated and simplified. - No pseudo element is necessary anymore. Harmonize buttons and menus - Rename class default-menu to default - A menu button now uses the same style as a regular button, no duplicated rules anymore Simplify ButtonField - The additional div is not necessary anymore because of the more simple focus state. - The additional rules are not necessary anymore Add borderless style to Button.js - The existing link style cannot use paddings because it would break a lot of alignments. The new style looks like a menu in the menu bar. Improve context menu - The context menu now uses a modern style. - The old code could not handle the rounded corners well -> refactored context menu animations. - The paddings are now animated. - If an image is loaded during animation the size of the popup is now adjusted. Improve combo menu - Added a separator to make it not look the same as a menu with sub menus - The combo menu now supports the button and default menu style - A regular menu now shows the sub menu icon even if there is no text and icon which makes it easier to use it in a combo menu Improve form field menu - Form fields without border (check box, label fields etc). now don't increase the menu bar height anymore by adding an unnecessary margin. - Form fields are now moved 10px to the left to remove the mandatory indicator gap so that it is not necessary anymore to explicitly add the class no_mandatory_indicator.
2021-05-28DateUtility: support conversion from/to LocalDate and LocalDateTimeTimon Gygax2-0/+76
292315 Change-Id: I0006d944286e37126aba5bff2041bd4a0a9c3dda Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/181130 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Beat Schwarzentrub <bsh@bsiag.com> (cherry picked from commit 28217576faa72a6a6a902599ceccf68f301b82ae) Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180987 Reviewed-by: Timon Gygax <timon.gygax@bsi-software.com>
2021-05-28jquery-scout: fix oneAnimationEnd() for nested animationsBeat Schwarzentrub2-10/+25
Because "animationend" events bubble up, an event listener will also be triggered when the animation on a child element ends. To prevent the registered "oneAnimationEnd" handler to be notified too early, it is only called when the event target matches the expected element. If the event originated from a different element, the listener on the current element needs to remain registered. Therefore, the listener has to be registered with on() instead of one(). Change-Id: Ic2cd34662b2abc030270a5540b7fff42530cf63b Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/181131 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Claudio Guglielmo <claudio.guglielmo@bsiag.com>
2021-05-28Add responsive handling for RadioButtonGroupFritz Schinkel5-32/+76
Set useUiHeight on RadioButtonGroups to true when in compact or condensed mode. 295679 Change-Id: Iadaace3b46bcd76d7bcf6f18ba74a20f310a10b4 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/181125 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Fritz Schinkel <fritz.schinkel@bsi-software.com>
2021-05-28Adds given common-name, localhost and localhost-ip to alternative namesAdrian Egloff1-3/+19
The SubjectAlternativeNameExtension may be checked by browsers to verify the ssl certificate. Therefore the common-name or localhost (depends on how the server is accessed) should be added to the generated cert. Change-Id: I320c3a0de189d7dec1fdf5628c4d1b5ca7de089e Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/181106 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Ivan Motsch <ivan.motsch@bsiag.com> (cherry picked from commit 41b9895012af3a6b1cac91b95a876f0eb35b2912) Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180983 Reviewed-by: Adrian Egloff <adrian.egloff@bsi-software.com>
2021-05-27Lazily create detailForm and detailTable for Scout JS pagesMatthias Villiger9-77/+383
245158 Change-Id: I9ddfd00a847c1eb527c52f23858b57072f3b9337
2021-05-27Fixed IntelliJ errors in JavaDocAndré Wegmüller1-6/+9
2021-05-26ChartJsRenderer: Add method to stop all current animationsTimon Gygax1-0/+6
Change-Id: Id61b15b4623a2cd09f5b141a9123d2cbd069c681 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/181036 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Fritz Schinkel <fritz.schinkel@bsi-software.com>
2021-05-26Add attribute name constants to lookup entity data objectsRalph Steiner2-25/+43
2021-05-25Service tunnel: add support for IDoEntityStephan Merkli2-0/+49
Add support for non-serializable IDoEntity in service tunnel, e.g. to be used as return type of a interface with @TunnelToServer. Change-Id: I4dc9f941fbfa6300815fa4323abe118f4c2bb531 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180691 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Andi Bur <andi.bur@gmail.com>
2021-05-21ChartJsRenderer: Select relevant item for click eventTimon Gygax1-3/+32
Change-Id: Icecfce65a25259ff0ad82e5fc8c125fc81721b86 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180872 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Fritz Schinkel <fritz.schinkel@bsi-software.com>
2021-05-18Add direct dependency to JasmineMatthias Villiger3-1/+5
This is required for better code completion
2021-05-18Improve widget return type definitionMatthias Villiger4-11/+20
2021-05-18Improve jquery code completionMatthias Villiger1-4/+4
2021-05-17ChartJsRenderer: Adjust handling of propertiesTimon Gygax1-0/+4
- Update lineTension property when updating (only) data - Do not overwrite dataset colors, if a function is set Change-Id: I0ca4822f8ff2f45d83ae7c3aa6724da39fc24a6c Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180536 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Fritz Schinkel <fritz.schinkel@bsi-software.com>
2021-05-14JsonFormMenuTest: fix testClaudio Guglielmo1-0/+1
JsonFormMenu was changed in a previous commit so that it only creates an adapter for the form if the menu is selected.
2021-05-12Add open/close animation to ContextMenu, improve FormMenuClaudio Guglielmo17-179/+432
Adding animations to context menu leads to following problems: - When the user closes the context menu while a sub menu is opening, an exception occurs. This happens because the scrollbars, that should be uninstalled during the complete callback, won't be uninstalled because the removal is pending. But the data('scrollbars') is removed, so once the removal is done and the children (=scrollbars) should really be removed, it is not possible anymore, because data is missing. The solution is to not call complete() when it is not rendered (or removal is pending), see ContextMenuPopup.js Also, maybe scrollbars.uninstall should be more failsafe, but this has not changed. - If the submenu is clicked during opening animation, the size of the popup won't be correct -> delay the submenu click until opening is done, see ContextMenuPopup.js - If the context menu contains a form menu it is important to remove the form immediately as soon as that form should be shown again in another menu. Even though menu items are cloned, forms are not -> already rendered exceptions. See FormMenu.js Also made sure a menu can open the popup again when it is clicked while the popup is being removed. This is necessary to always have a consistent state between menu and popup. Also improved FormMenu support for Scout JS apps by setting necessary properties (see FormMenu.adaptForm) and making sure, state is correct after form destroyed (now behaves similar as FormTableControl). The previous logic (remove listener) did interfere with the new possibility to reopen the popup while being removed. But actually doing it only on destroy is more correct anyway because remove may only be temporary and should not modify model state. This way the popup can be opened again if it was only removed temporarily (e.g. a view containing a menu with an open form is detached and attached again).
2021-05-12Widget: remove animation aborts if a child animation finishesClaudio Guglielmo2-3/+9
Use case: A context menu contains a menu that opens a dialog. Activating that menu draws a glass pane into the context menu because the dialog is modal. The glass pane has an animation with duration 0 which triggers the animationend event. The listener in Widget._removeAnimated now removes the context menu even though only the glass pane animation ended. -> Add a check to make sure remove is only executed if the target is the widget. Didn't add the check to animationEnd directly since bubbling is the normal behavior, even though it's probably unexpected here.
2021-05-12Widget: don't render property changes when removal is pendingClaudio Guglielmo4-27/+65
If a widget or ancestor widget is being removed by an animation using animateRemoval, property changes during that time can result in already rendered exceptions because the removal is prevented but rendering is not. Example: Popup (e.g. OrganizeColumnsForm) is being closed and a selection event occurs (eiter by the user clicking very fast or because the model sent newly selected rows). When a row is selected the table needs to render its menus by first removing the old ones and then rendering the new ones. If the old ones are not removed the rendering can fail if the same menu should be rendered. It would probably be possible to just prevent the rendering of a widget (adding isRemovalPending to render(), which would be consistent to remove()), but actually every kind of rendering should be prevented to get a smooth animation. The easiest way to accomplish this is to convert the rendered property into a real property and doing the isRemovalPending check there. This way the consumers won't have to change anything. Since the removal cannot be aborted it doesn't matter that the model is not reflected properly during removal.
2021-05-07Table: pressing up/down in the filter should move the selection up/downClaudio Guglielmo2-7/+11
If the filter is empty, it works. If it is not empty, it has the class has-text which breaks the equals check. This functionality broke some versions ago (7.0).
2021-05-07Table: don't fail if rows are filtered while table is detachedClaudio Guglielmo2-4/+27
When the user types text in the filter and presses the shortcut to open the form for the selected row, the filtering may happen after the table was detached because filtering is started later (using $.debounce). If that is the case, the viewport rerendering is blocked, which is fine. As soon as the table is attached again the table is layouted and the view port rendered. This will fail because it should actually re-render it, not just render it. This only happens if the table itself was detached (e.g. when it's a detail table), because otherwise _renderOnAttach would do the rerendering but in this case _postAttach comes first which calls the layout. 292617 Change-Id: I649120360cddbc61eed624fa44a86150daf54761 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180229 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Beat Schwarzentrub <bsh@bsiag.com>
2021-05-06BrowserField: add method to send messages to the embedded pageBeat Schwarzentrub14-51/+233
- AbstractBrowserField#postMessage: Send data to an embedded page (iframe) - AbstractBrowserField#execPostMessage: Callback that preserves the original form of the received data, i.e. objects are converted to IDataObject instead of String. The previous method that converted everything to a String was removed with 22.0 (see release notes). - AbstractBrowserField#getConfiguredTrustedMessageOrigins: New property to specify valid origins. Messages from other origins are automatically filtered in the UI to prevent sending potentially malicious data to the server. The default value is an empty list, which essentially disables this filter (same behavior as before). 270605 Change-Id: I6de030d7af8589e2cba9982c378eea4dfa340d30 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180316 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Beat Schwarzentrub <bsh@bsiag.com>
2021-05-05ChartJsRenderer: Show tooltip title only, if current tick has a labelTimon Gygax1-2/+9
For the bubble chart, the renderer showed two tooltip titles, one for each axis. If one axis had no label for the current tick, only the axis label (defaults to the corresponding arrow symbol) was shown. This was not well suited for bubble charts with only one axis. Change-Id: I8e6c4f436157c8311868ef19de7289a15e20e8e7 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180230 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Fritz Schinkel <fritz.schinkel@bsi-software.com>
2021-05-04Remove application_logo_largeClaudio Guglielmo3-4/+6
The name was confusing (image is called large but constant not). Scout itself should not provide a logo, it will be replaced by the project anyway. The info form now uses the desktop logo by default.
2021-05-04Improve desktop notificationsClaudio Guglielmo19-38/+277
Allow the configuration of title and iconId for native notifications, either globally or for a specific notification. This was necessary because it is not possible to always use the logoId of the desktop. If the desktop uses an SVG image, the Chrome notification would not show it. Or maybe the desktop uses an image that is not appropriate for notifications. 287787
2021-05-04BrushUp: redesign desktop layoutClaudio Guglielmo79-1765/+1704
DesktopHeader - The header now has a background color, the bottom border has been removed. - The layout now considers margin properly. - It could be simplified, because the tool box is now always right aligned using flex-box. DesktopNavigation - The navigation doesn't have a background-color anymore. - The layout now considers margin, even no margin is used at the moment. - OutlineTitle is now layouted using flex box to make alignment easier - Font is now a little smaller. ViewButtons - The buttons are now layouted using flex-box, programmatic layout is not needed anymore. - The buttons still shrink but don't grow anymore. - Wrapper is necessary because of flex-box and transition, see comment in ViewButton.less. SingleViewButtonMode Cleanup - Move singleViewButton from DesktopNavigation to ViewButtonBox to keep it simpler. - Rename menuTabVisible/viewTabVisible/singleViewButton to selectedButtonVisible to make it consistent. - Simplify selectedButtonVisible logic. - Outline title is now only pulled up if there is no view button at all because it does not look good beside the view menu. ViewMenuPopup - The menu is replaced with a tile based popup which especially helps when there are a lot of views. DesktopTab - DesktopTabs gets a new style, SimpleTabs still have the old style. - Modality-Highlighter is only relevant for DesktopTabs -> remove from SimpleTab.less. - Add DesktopTabArea to be able to style overflow tab. SimpleTabArea - The area now uses visibility instead of detach and attach to keep position in DOM which is important now. - The sizes of the tabs are now configured only using CSS (min-width), JS code reads the values from CSS. - The area is created in the TabBoxController to make it replaceable. - SimpleTabLayout does not set width anymore, instead, flex box is used to layout the items. This is necessary to prevent the tab items from moving when they are selected (unselected tab items now have a margin, selected ones don't -> the width is different and would need to be adjusted when an item is clicked). ToolBox - Code was cleaned up. - The measuring now uses exact sizes. DesktopLogo - Use separate image element to simplify positioning and make it easier to customize. - Since the header now has a background-color, displaying a logo will be harder. - This is why the logo now has a white border by default, but this probably needs individual customizing. - ApplicationLogo constant now points to application_logo_large instead of application_logo FormMenu - The form menus don't have a head anymore. - The FormMenuPopup is obsolete and WidgetPopup used instead - The popup now uses a large shadow, has rounded corners and no border ContextMenu - The context menus don't have a head anymore and can extend Popup directly. - The necessary code was moved from PopupWithHead/Layout to ContextMenu/Layout (it still exists in PopupWithHeadLayout even though it probably only existed for context menus. But PopupWithHead will be removed completely in the future anyway). - The context menu now supports margin correctly (which is set by the .menu-bar-popup). Menu - Simplify css rule to make it less specific and easier to override. - Reasons for the change in Menu.js is (remove -> destroy): If the popup has an anchor, the popup manages the rerendering by itself, meaning it will be rendered once the anchor is rendered. The old FormPopup did not do this, it expected the menu to render it once the menu is rendered again. Since the popup was set to null when it was removed, it was recreated once the menu was rendered. Actually, this was not really correct, because the old popup was never destroyed. The new popup attaches an anchor listener on remove and detaches it on destroy. If the menu would create a new popup without destroying the old one, 2 popups will try to render the form -> already render exception. Mobile - Only uses white backgrounds, even for selection, at the moment. - Will get more improvements later. MenuBar - Now has a white background. - Now uses min-height to ensure it is exactly as height as the outline title. TableFooter - Now has a white background. 292519
2021-05-04Add CompositeTile.jsClaudio Guglielmo3-2/+44
Compared to the WidgetTile, the composite tile accepts a list of widgets instead of only one. This means it is not necessary anymore to add a widget that only acts as a wrapper (e.g. Composite.js).
2021-05-04Icon.js: properties are not appliedClaudio Guglielmo1-4/+5
Setting visible to false should hide the icon. This does not happen because the properties are rendered before the $container is created.
2021-05-04Popup: fix initial focus on popups with an opening animationClaudio Guglielmo2-12/+17
Even though the correct element will be focused once the popup opens, the focus will be set to the body as soon as the popup gets invisible -> Delay focusing until it is visible again. 293430 Change-Id: I97fda62e5922229a5d12422423ca924ade9ba430 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/179831 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Claudio Guglielmo <claudio.guglielmo@bsiag.com>
2021-05-04Login: don't store path for unload requestsClaudio Guglielmo1-18/+28
When a site is requested but the user not logged in yet, the requested url is stored and the user will be redirected to that site after a successful login. When the users leaves or reloads the page, an unload request is sent. When he reloads the page while the http session is disposed, the unload request will be stored and the user redirected to the unload path after the login, which obviously does not work. -> Don't store paths for requests that cannot be redirected. We could explicitly check for unload requests, but a more general logic to detect such requests already exists. Since the unload request is a POST request that logic will work fine. https://www.eclipse.org/forums/index.php/t/1107743/ 293660 Change-Id: I8f57a52a691edefa17107182cfe3150018af43ef Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/179828 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Beat Schwarzentrub <bsh@bsiag.com>
2021-05-04OWASP Dependency CheckIvan Motsch1-1/+1
Update org.pac4j to 4.5.0 Update jetty to 9.4.40.v20210413
2021-05-03Remove obsolete codeBeat Schwarzentrub4-483/+0
This change removes the last fragments of the so-called "wizard status". In the Swing/SWT/RAP era, a special HTML file was used to render the step list and current state of a wizard. With the new HTML UI (version 5.2), this task is now handled by the AbstractWizardProgressField. The AbstractWizardStatusField and all related classes have not been in use for several years and can therefore safely be deleted. If you still rely on these classes, please download them from the Scout source repository and put them in your own code base.
2021-04-30DoStructureMigrationInventory: remove @CreateImmediatelyStephan Merkli2-3/+5
Immediate creation might lead to failures in tests due to class inventory vs. bean manager inconsistencies when using a reduced platform combined with DataObjectInventory. Change-Id: Ie84defe0c500726eb501b0f8e23d56be98f5689f Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/180065 Reviewed-by: Stephan Merkli <stephan.merkli@bsi-software.com> Tested-by: Scout Bot <scout-bot@eclipse.org>
2021-04-30Make IFormField an IContextMenuOwnerFritz Schinkel36-1025/+346
IFormField is now an IContextMenuOwner including support for menuTypes and statusMenuMappings. Remove unnecessary contextMenu-code for: - IButton - IChartField - IGroupBox - IImageField - ISequenceBox - ITabBox - IValueField 287770 Change-Id: Id0d45c23c5409e7be01026139ad6483911c770e7 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/179880 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Fritz Schinkel <fritz.schinkel@bsi-software.com>
2021-04-29Add final value IN_DEVELOPMENT_MODEClemens Stukenbrock1-3/+6
Development mode cannot be changed during runtime. 290904 Signed-off-by: Clemens Stukenbrock <clemens.stukenbrock@bsi-software.com> Change-Id: Id589149cc1b7971327362e1afc2b5473fceba6ae Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/177937 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Ivan Motsch <ivan.motsch@bsiag.com> (cherry picked from commit 936df67112e14d71d84100d890037526e487e534) Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/178098
2021-04-29arrays: add insertBefore() and insertAfter()Beat Schwarzentrub2-0/+84
Change-Id: Ic82d5c4ab8502c9ca973b29e861ff6a246364175 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/179982 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Beat Schwarzentrub <bsh@bsiag.com>
2021-04-29Data object migration support: add initial contributionStephan Merkli70-69/+5117
A persisted data object (in database or via an export feature) may undergo structural changes during its lifetime. To allow processing an older version of such a data object it must be first migrated to the newest structure. Change-Id: I258cce3dccf192a770919b3e1b6dd18149dc8f8f Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/179103 Reviewed-by: Stephan Merkli <stephan.merkli@bsi-software.com> Tested-by: Scout Bot <scout-bot@eclipse.org>
2021-04-27RadioButton: fix layout when useUiWidth=trueBeat Schwarzentrub1-1/+0
When one of the radio buttons in a radio button group has useUiWidth=true and gridWeightX=0, the layout is not correct, when the container size changes. Whenever revalidateLayoutTree() is called, the size of the radio button is increased, instead of staying constant. Because the radio button size is controlled by FormFieldLayout, it requires absolute positioning. The previous value was 'relative', probably by accident (from initial commit / POC code) and the problem was not noticed since because it requires a special constellation. 274279
2021-04-21Add deserializer for Locale that handles Locale.ROOT correctlyMichael Iseli9-2/+185
Previously, a special serializer for Locale existed, that output the language tag of a locale instead of the "toString()" value as the default jackson implementation does. Deserialization, however, was left to the default implementation. This worked fine, as the default Jackson deserializer is also capable of deserializing the language tag into the correct locale. For the root locale, however, this did not work, i.e. serializing the language tag of the root locale did not yield the root locale when using the default deserializer. This change now adds a deserializer (and key deserializer) for Locale, that only treats the language tag of the root locale ("und", LanguageTag.UNDETERMINED) in a special way, by returning Locale.ROOT. Change-Id: I0e22f8a80bf7aa7f478990c6b9986915b18d6b35 Reviewed-on: https://git.eclipse.org/r/c/scout/org.eclipse.scout.rt/+/178668 Tested-by: Scout Bot <scout-bot@eclipse.org> Reviewed-by: Paolo Bazzi <paolo.bazzi@bsi-software.com>

Back to the top