summaryrefslogtreecommitdiffstats
path: root/client
Commit message (Collapse)AuthorAgeFilesLines
* Make Checkbox label send context click events also (#19456)Artur Signell2016-01-221-0/+15
| | | | Change-Id: Ic23a84357e1d0d333905ce6b3931c41ee90148f6
* Do not process click events for disabled optiongroups (#19433)Artur Signell2016-01-211-1/+5
| | | | | | | | This removes the warning logged on the server side when the RPC reaches it for the disabled component. As this is more of a cosmetic change, there is no automatic test. Change-Id: I8bfa83bd0a26c585e1614d821ac3b598294db09d
* Allow legacy components to paint infinity double values again (#19447)Artur Signell2016-01-211-1/+5
| | | | | | | | | | | | | | | | | JsonPaintTarget.addAttribute(String,double) converts infinity values to { "name": Infinity }. This is not valid JSON but has "always worked" and at least NumberField relies on being able to send infinity values. For state and RPC it's not possible to send 'infinity' as JsonNumber converts those to null. It is not possible to send 'infinity' back to the server using a legacy variable either as also in this case JsonNumber is used and the value becomes null. This fix should be reverted when legacy variable support is removed. Change-Id: I4b5366420e11915236eff447e3eeedc458cf8cea
* Clean up SingleSelectionModel client-side on data source change (#19469)Teemu Suo-Anttila2016-01-131-0/+10
| | | | Change-Id: Ie0044341725b858e5cbae150da757aba878fc9ed
* Add clarifying comment to CustomDetailsGeneratorTeemu Suo-Anttila2016-01-121-1/+3
| | | | Change-Id: I9e6668b1fbc0a956bf34b48b75df59279005d097
* Add missing @since for 7.6.1Teemu Suo-Anttila2016-01-122-1/+3
| | | | Change-Id: Ic28598e561f0fc325b6f74ace3398d46ba996fb5
* Use LayoutManager for details rows (#18821, #18619)Leif Åstrand2016-01-124-11/+106
| | | | Change-Id: I430e55db8a3e2860f68f5351e06d8d069a657d6e
* Split VOverlay functionality to a new base class (#19347)Teemu Suo-Anttila2016-01-124-1010/+1070
| | | | | | This fixes the missing z-index for the Grid popup. Change-Id: I5474fe653ad4ece38e9bc3cb2331a1d2190ea898
* Fix ScrollbarBundle to not round down pixel values (#19421)Teemu Suo-Anttila2016-01-081-12/+2
| | | | | | | | | Since Escalator now uses subpixels in most cases, scrollbar calculation fails when ScrollbarBundle calls Math.floor for the offset size. Removed rounding, added a pixel epsilon check that we don't make a scrollbar when it's not really needed. Change-Id: I228fd7dd48d4506e5b2b7bb799291c9a122ea3fe
* Support non-AbstractFieldConnector fields with Grid Editor (#19440)Teemu Suo-Anttila2016-01-071-6/+6
| | | | Change-Id: Ib3eaf0b35cfe88391c8ab3b5fcbe668d67c2dd3c
* Always set header/footer style name to TH (#19209)Artur Signell2016-01-071-1/+1
| | | | Change-Id: I8d0240fb76b9841e7290bf13588975da20c78b62
* ConnectorHierarchyChangeEvent.getParent() should return the connector (#18525)Artur Signell2016-01-071-11/+8
| | | | Change-Id: Ifd2151a76ff77127170f2d95a800dfb7d601a7d3
* Fixes exception when enter is pressed and there is nothing to select (#19149)Artur Signell2016-01-071-2/+10
| | | | Change-Id: I8ff11e98bb4ec999d369ff5bcde0cb95290ed037
* Add a client-side connector for DetailsComponentManager (#19412)Teemu Suo-Anttila2016-01-051-0/+36
| | | | Change-Id: Ibc4d35a8f729b670d8712743c9da8d608a0ba952
* Listen to body for shortcut actions for standalone apps (#19392)Artur Signell2016-01-042-14/+19
| | | | Change-Id: I48cc4884fce984354dafa2096e488c3c6dec141c
* Add keyboard shortcut to save grid editor in buffered mode (#16842)Teemu Suo-Anttila2015-12-281-1/+9
| | | | Change-Id: I4f542d166e15a63f12f8033aec4ef7b95578df71
* Fix WidgetRenderer column cells not correctly init on change (#19086)Teemu Suo-Anttila2015-12-222-2/+29
| | | | | | | | | | | | | | | | | When changing to a widget renderer with an existing column, the widget renderer expects that the cells would be initialized to have a correct widget for it. Because of original design where you could not change renderers, this was not taken into account and cells did not get reinitialized when changing the renderer. This patch showed another underlying detach problem from removing a widget renderer and destroying complex renderers. These both are also addressed to make this bug possible to test correctly. Patch includes a client-side test that verifies the integrity of the renderer state in different stages of its lifecycle. Change-Id: I67330e5d07c95047cb69040e8355a17dc8a96f08
* Disable long tap support on iOS (#19367)Henri Sara2015-12-211-1/+1
| | | | | | | | | Long tap causes problems in embedded browsers on iOS (text selection is performed and/or the OS native context menu is shown). The support should be re-enabled in the future (see #19406). Change-Id: I842df12675482c8e529e8bb061958414cc8c0b90
* Ignore context click on resize handle (#19408)Henri Sara2015-12-211-0/+16
| | | | | | | Otherwise, context clicks in the left edge of a header cell get handled by the wrong cell. Change-Id: I08e0c6bb62c90cc871fde7ec1d0f0a8602e5631f
* Fix IE8 focus handling in Grid editor in unbuffered state (#19389)Teemu Suo-Anttila2015-12-181-1/+22
| | | | Change-Id: Ia77c246239cae7b0add3c4975dfa5ffaa42d08b6
* Verify Column width after all sort related cell changes (#16597)Teemu Suo-Anttila2015-12-181-6/+4
| | | | | | This fixes an IE8 issue where multisorting is not shown correctly. Change-Id: Id68103f06baf9e3ae20cb2714407b467829ef1a0
* Disable Atmosphere online/offline handling (#19391)Artur Signell2015-12-171-0/+1
| | | | | | | | | | | | | | | | Atmosphere will disconnect the push connection when going offline and reconnect it when going online again. There are no events sent when this happens, which means the reconnect logic cannot take this into account. Having it enabled leads to something like: 1. Browser goes offline, push is disconnected 2. Framework sees it as a normal close and does not show the reconnect dialog 3. The user does something, the framework tries to send a websocket request 4. A new Atmosphere request is created and enters a try-to-reconnect loop as expected 5. The browser goes online, and the online event re-initializes the old connection although a try-to-reconnect loop is already running Change-Id: I5dcef768783142e2c7b4e7c821353addb0ec3d28
* Parse true/false as boolean values for push configuration (#19394)Artur Signell2015-12-171-2/+17
| | | | Change-Id: I89e99ebd552b00a1bdc79801a8236aff72b6a290
* Fix Grid column resize to take account min width for cells (#16597)Johannes Dahlström2015-12-162-45/+113
| | | | | | | | Use Escalator cell size calculation without content to determine the absolute minimum size for cells. This is used in Grid when drag resizing or sorting columns to prevent cells from overflowing to the next row. Change-Id: I2d598232d7d2b8729b11fe190b68ca3e42ee3652
* Make it possible to only show collapsible columns in menu (#9811)Leif Åstrand2015-12-162-4/+16
| | | Change-Id: I52cd2648d305f44d5688e7a2fcd222e6b167b97b
* Fix text selection and context click events for Android devices (#19367)Teemu Suo-Anttila2015-12-151-7/+11
| | | | | | | | Text and element selection needs to be disabled on touch start for Android as well. Other touch event handling used by iOS devices is not used on Android. Change-Id: I7f17af437ddf4f7b747232fbd19b2cd5c825c0e2
* Ignore empty style names from Grid Row and CellStyleGenerators (#19364)Teemu Suo-Anttila2015-12-151-5/+8
| | | | Change-Id: I07b241f40bcb20b92f9eea48036724dd91ecc985
* Prevent text selection on iOS devices with long tap (#19367)Teemu Suo-Anttila2015-12-151-0/+6
| | | | | | | | Text or elements should not get selected when there's a context click listener. Pre-emptively prevent text selection for the whole widget when that happens. Change-Id: I3c09d8b2c25d383d6abe079f0fee3809cf5838c7
* Add a method to clear selected text on context click (#19367)Teemu Suo-Anttila2015-12-155-3/+25
| | | | Change-Id: Id7ec7013bcff446cdf3ce0f2088cb20b0708a56b
* Fix mouse wheel scrolling of ComboBox in IE11 (#16918)Anna Koskinen2015-12-152-18/+154
| | | | | | | | IE11 is broken so that the simple implementation always moves up on any mouse wheel event. Therefore, this change borrows the approach taken by Escalator for low-level handling of mouse wheel events in a way compatible with all supported browsers. Change-Id: I98c89d3ccfeea38d6a454ef708f0eb7d1d3f480c
* Fix selecting a row that was deselected on the server (#19360)Teemu Suo-Anttila2015-12-141-10/+32
| | | | | | | | Client-side connector of the SingleSelectionModel attempts to keep track of currently selected row. This tracking gets lost when the row get deselected on the server-side. Special case is now correctly handled. Change-Id: I1c45548bd11536bc85cddbc2ba8b6225965c1194
* Enable using custom overlay in VMenuBar (#19368)Henri Sara2015-12-111-1/+13
| | | | | | | This helps resolve context menu add-on issue #3 and reduce code duplication. Change-Id: I2a9b583d045e1654577f5a6ee3f55d8c4ab30582
* Remove VOverlay dependency and use PopupPanel instead in Grid (#18698)Teemu Suo-Anttila2015-12-021-4/+30
| | | | Change-Id: Id28a9fa8a204c1e2a12160e2e1dba1823f3726a5
* Add missing @since valuesHenri Sara2015-12-023-3/+2
| | | | Change-Id: I602b9fc4c87a19a78f949a23519c412aba789baa
* Prevent column drag resize from setting selection column width (#19324)Teemu Suo-Anttila2015-11-301-0/+5
| | | | Change-Id: Ifd7a225ac8037a86e4a15603bf47ca93009fa302
* Unify select all behavior with single row selection. (#17742)Sauli Tähkäpää2015-11-301-0/+12
| | | | Change-Id: I6481bf6f429046166dd0502a62b22aea51f5a0bd
* Add stylename to sortable Table header cells (#8219)Leif Åstrand2015-11-271-0/+12
| | | | Change-Id: I4774b4079f5c564fdc67e8cabf89278ad7cf2f6f
* Add stylename to sortable Grid header cells (#16991)Leif Åstrand2015-11-251-6/+15
| | | | Change-Id: I6c151829236928129c258a99177431d0b972f146
* Omit empty hierarchy data from the response (#18510)Leif Åstrand2015-11-251-123/+166
| | | | | | | | Reduces the payload size for the "Update all labels" action with 40 layouts in BasicPerformanceTest by 16% (from 11087 to 9270 bytes). The reduction is improved to 22% (1855 to 1455) if the response is gzipped since the omited data doesn't compress very well. Change-Id: I1d2837c93222fffa59b14836f162e3e87349e086
* Add comment explaining the dummy read in setStyleTemporarilyLeif Åstrand2015-11-241-1/+4
| | | | Change-Id: I763f3c68a3c9e471f9e5df21bbfbce41be17117c
* Add javadoc in ServerConnectorHenri Sara2015-11-232-5/+38
| | | | | | Add missing javadoc for ServerConnector.get/setChildren(). Change-Id: I7ba143d41602a5f2a069635911a0ea61a92806e6
* Isolate text selection blocking to Grid instead of body element (#16838)Teemu Suo-Anttila2015-11-201-7/+7
| | | | | | | | Some themes are more explicit with user-select rules, and doing this on the level of body element does not work with said themes. To make all the themes behave the same way, we only block selection inside of Grid. Change-Id: Iaf24fede88e4bc683e065c214e7baf3f545c99c9
* Prevent text selection while DnD resizing columns (#16838)Teemu Suo-Anttila2015-11-182-0/+32
| | | | | | | | | | This patch uses a JavaScript workaround to prevent text selection in IE8 and IE9 and Safari. The selection is prevented everywhere in the DOM while a column is resizing. Change-Id: I1e7b9cdc675c83a9666493d8545337d601e40077
* Use TabState.id for Accordion tab items as well (#18456)pag2015-11-131-0/+16
| | | | Change-Id: I17206081109b2ec356d175915a16b0002a858bb4
* Add some performance guidance to renderer javadocs.Leif Åstrand2015-11-132-1/+12
| | | | Change-Id: I5171c6eb6360a9c85b8afbc3096d9b6c5c8f4064
* Mention cell being a flyweight in WidgetRenderer javadocsLeif Åstrand2015-11-131-1/+3
| | | | Change-Id: I41de3d75e1141856bb6132aeca11abff4bc7e08f
* Optimize layout performance of Table (#17947)jotatu2015-11-056-10/+190
| | | | | | | | | | | | | | | | | | | | | Adds functions for skipping child component layout measuring. Removes unnecessary code from VScrollTable. 1. case: no components - render time without the fix: ~105ms - render time with fix: ~105ms 2. case: 2 button and 2 textfield cols - render time without the fix: ~279ms - render time with fix: ~240ms (~17% faster) 3. case: 3 button and 3 textfield cols - render time without the fix: ~350ms - render time with fix: ~281ms (~20% faster) Change-Id: I6025f8ee2fd438d228ff3b65f43535961cf12c0b
* Render null header caption as empty (#18553)Artur Signell2015-11-031-3/+1
| | | | Change-Id: Iaeba81c7e40d4be5f16e74fa8bcf8c86c53a7d3d
* Changed grid sidebar to overlay (#18698)mtzukanov2015-11-031-34/+42
| | | | | | | | | Previously grid sidebar could be partially hidden by "overflow: hidden" of an ancestor component. Now it's in an overlay and the hierarchy doesn't affect it. Grid tests were also updated for new DOM structure. Change-Id: Ic5fb125d9c097be0f0141c121dfe74d30e650dd0
* Force FormLayout children to shrink with the layout (#11154)Leif Åstrand2015-11-032-2/+145
| | | | | | | | | | | The <table> used by the FormLayout doesn't reduce its size if any child component has locked its own size (which is the case with e.g. Table and some other components doing explicit pixel calculations). To work around this, we need to detect the situation, force the <table> to reduce its width by temporarily assigning explicit widths to the cells and then remove the forced size after all children have adjusted. Change-Id: Iacef62979acf24c869a5cbeb82efb0c1e537ec95