Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tab Scrolling Uncontrollably #722

Closed
tmaiaroto opened this issue Nov 22, 2013 · 7 comments
Closed

Tab Scrolling Uncontrollably #722

tmaiaroto opened this issue Nov 22, 2013 · 7 comments

Comments

@tmaiaroto
Copy link

I think it was initiated by mouse wheel scroll...Which is SUPER easy to do with a magic mouse (the one downside of that lovely mouse aside from its low profile which, I'm convinced, speeds the process of arthritis). Anyway, anyone accidentally scrolling (or maybe it was bumping the track pad at the same time) could end up with uncontrollable tab flipping. You'd need to save your work and refresh the entire page to fix it. If you don't save, you could lose your work.

I can look into it further, but my initial reaction is that it's from mouse scrolling and is some sort of feature of the tabs and my hope is that it can be flagged off.

Loving Kibana! Just picked it up yesterday and I do plan to contribute back to this project. Your approach is as I would do (Angular ftw) and it's an amazing tool. Thanks.

@tmaiaroto
Copy link
Author

Actually any movement or key press flips between the tabs. It gets into a weird state.

@bobrik
Copy link

bobrik commented Nov 22, 2013

Yep, this thing is very frustrating!

@tmaiaroto
Copy link
Author

May come from flipping between the tabs too fast. I'm testing, looking for when it occurs now, looking into it more since it's frustrating me to no end.

@tmaiaroto
Copy link
Author

This is just adding hacky bad practice to bad practice here...But I can pull in UI-Bootstrap's directive into the project (one JavaScript file plus three template files), adding it to kibana.directives and then rewrite the templates (roweditor.html and paneleditor.html) that use tabs with <tabset> and <tab> directives and it works just fine. No crazy tab switching behavior. I also think the directive tabset and tab look nicer. Just personal preference.

Why I say it's bad practice is because it's pulling in part of another project and is creating a situation of falling into what I like to call "maintenance hell." ...But the entire project here is already in maintenance hell (I set up a discussion about potentially using Bower to help with this).

However, the sad thing here is this project is basically unusable to me with this bug. It's a major blocker. There's no way I can have people use it and tell them to "refresh the page" each time they run into the bug. It happens too frequently and refreshing the page could lead people to losing their changes if they did not remember to save them. I believe the bug may come from clicking "too fast" in a sense. I'm not sure really. It may simply be a bug within Angular Strap. It doesn't seem to plague UI-Bootstrap's directive though...So that's what I'm going to do in the meantime.

I could submit a pull request, but I doubt it would get accepted for the sheer fact I'm now pulling in (part of) UI-Bootstrap, when the convention has been to go with Angular Strap. I wouldn't pull it in if I were managing the project to be perfectly honest.

I'm now also not sure adding UI-Bootstrap to the project is the solution either as there are already so many dependencies. Things run a little slow. Though UI-Bootstrap is really lightweight and I prefer it to Angular Strap, the project is already so deep into Angular Strap, flipping it out would be a very big work effort. I also must say that I prefer Angular Strap's $modal directive to UI-Bootstrap's version. So who knows, maybe pulling the best parts in from each and foregoing any ease of update, fixes, etc. from 3rd party sources is the best approach in this case.

I also really hate to fork the project. I do really like the direction of this project and would love to contribute...

@tmaiaroto
Copy link
Author

Here's the pull request... Again, I'm not happy that I couldn't get it fixed without using UI-Bootstrap's tabs directive. I'm not happy I yanked that directly out by itself from UI-Bootstrap. I'm not happy it adds yet another script to the project and leaves potentially another thing to be maintained... But it works and it fixes the problem.

#727

@dhawani
Copy link

dhawani commented Nov 26, 2013

Wondering if this is duplicate of #583 ?

@tmaiaroto
Copy link
Author

Yup I believe it just may be...And I definitely think it's isolated to angular-strap now.

bpezan pushed a commit to bpezan/kibana that referenced this issue Dec 4, 2013
* master:
  Moved doc task to the end of the default task chain
  removed y_as_bytes, replaced with y_format
  Remove console.log
  Closes elastic#538. Closes elastic#722
  Potential fix for elastic#621
  More small table performance improvements
  Improve performance in the table. Re elastic#719 and elastic#732
  Remove idQueue from filter and query services in dashboards
  Eliminate idQueue property from filterSrv and querySrv. Replace with binary search for smallest id. Closes elastic#730. Closes elastic#739
  Skeleton API docs
  Doc updates
  Added scratchy tasks and config.js docs
  Bytes should not be default
  Fixing unsafe html binding
  fixed numeric terms in topN query
  do not auto-enable saved filters
w33ble pushed a commit to w33ble/kibana that referenced this issue Sep 13, 2018
* [WIP][Design] Cleanup canvas part 1 (elastic#697)

Part 1 of dave messing around with the design of canvas.

* Converted bootstrap button groups to EUI button groups in text_style_picker (elastic#713)

* Moved elements and assets to workpad_header (elastic#714)

* Adds tabs to sidebar component (elastic#718)

* Changed sidebar to tabbed layout

* Removed unecessary done props from datasource_component and expression

* Removed unused props in toolbar

* [Design] Part 2 of design cleanup (elastic#715)

* hide nonfocus pages

* button group margins

* workpad panel styled

* header rework

* fix toolbar lint

* update to newest EUI, restyle sidebar tabs, some data source cleanup

* move title to footer

* Add some tooltips

* Fixed custom interval input in refresh controls (elastic#722)

* Fixes Editor Toggle (elastic#721)

* Removed unused selectedPage prop from workpad_header/index.js

* Fixed editor toggle

* Design part 3: page view, data sources, lots of cleanup (elastic#731)

Mostly changes around the page selector and data sources. Also fixes some of the hover issues for canvas elements.

* fix css import error

* [Design] Part 4 of design updates to canvas (elastic#732)

[Design] Part 4: selector rewrite

* Move expression editor back to bottom (elastic#733)

* Removed unused prop form sidebar_component

* Moved expression editor to toolbar

* [Design] Part 5: Cleanup and bugfixing before review (elastic#734)

* style up expression editor, fix resize handles

* hide controls when editing is hidden

* remove icons from element dropdown

* fix canvas grid

* Adds Modals (elastic#739)

* Changed datasource_preview to a modal

* Moved workpad_loader to modal

* address feedback (elastic#740)

* asset manager mostly styled (elastic#741)

* [Image function] support src (image url) in addition to dataurl (elastic#632)

* [Image function] support src (image url) in addition to dataurl

* unit test for httpurl

* fix other elements that use image

* clean up the diff

* more clean up diff

* Handle AJAX errors by showing a notification (elastic#717)

* timeout property for axios instance

* remove TODOS

* notifier class

* TODO

* second notification with the context

* redirect to home if workpad could not be fetched

* less noisy error checking

* Fix ES Docs indices select options (elastic#743)

* Catch more AJAX errors, show error in notification banner (elastic#736)

* catch more errors

* if es_fields fails, still render something

* generate default data in ajax fetches in case of failure

* feedback changes

* remove defaulting that catch makes unnecessary

* Remove run API (elastic#742)

It's not used anywhere and is no longer necessary. We can always recreate
it if the need arises.

* [Design] Part 4 of design updates to canvas (elastic#732)

[Design] Part 4: selector rewrite

* Changed icon to 'warning' in simple_failure

* Fixed canvas loading

* Fixed paginate controls file naming

* Changed color dot size

* Added missing aria-labels

* Fixed warnings

* Fixed expression warnings

* Fixed popovers

* Fixed merge conflicts for image_upload

* Changed placeholder text in custom interval input

* Styled debug render function

* Removed bootstrap from expression and show_debugging

* Changed buttons in expression editor

* Changed asset manager to modal

* Added 'canvas__element' class for BWC for custom CSS in old workpads

* Fixed fullscreen interactions and positioning

* Fixed overflow issue in asset manager

* Removed bootstrap in datasource component

* Changed text input to text area in timelion datasource

* Fixed sort field in esdocs

* Updated style of AssetManager

* Changed all inputs to compressed size

* Added max width for datasource_preview modal

* Fixed cursor when hovering over element in fullscreen mode

* Cleaned up tooltips

* Rearranged buttons in workpad_header

* Updated style to update_modal

* Forgot to remove debug line

* Cleaned up arg_add_popover

* Removed codeblock in update_modal

* Added 'dataurl=null' to image element initial expression

* Added null args to repeatImage and revealImage

* Fixed input validation in expression

* Bumped eui to v1.1.0

* fix: make refresh controls clearer

- Change disabled state to 'refresh this page manually'
- Don't show disable control unless auto-refresh is enabled
- Move disabled control under the refresh interval text

closes elastic#759

* fix: close refresh popover on selection

* fix: replace interval placeholder with help text

Closes elastic#757

* fix: replace EuiFormLabel with aria-labelledby

closes elastic#767

* fix: restore send to top/bottom controls

* fix: more usable page controls

- pull controls out of popover
- move PageControls component out of the preview
- fix link use, so controls actually work
- fix page layout for tall pages

* fix: use correct esdocs query value

* fix: better esdocs form labels

* chore: stricter prop type checking

and remove an unused prop check

* fix: style the unknown args datasource fallback

* fix: show correct sort field in esdocs

* fix: page control icon colors

* Fixed workpad_loader modal issue

* Cleaned up home page styles

* Fixed class name on confirm modal. Removed unused style in main.scss

* fix: flatten the workpad styles

easier to override them, which is handy for fullsceen and other cases

* fix: better fullscreen overrides

* chore: remove unused allowFullScreen props

* fix: workpad size in fullscreen mode

* chore: convert Positionable to a class component

* fix: map font object to flot spec

* fix: use flot font spec for flot output

* test: add font spec test, fix plot & axisconfig tests

* Fixed input refs in datacolumn

* Removed unnecessary styles

* chore: remove debugging console logs

* Fixed prop type error in expression form

* Fixed expression form bouncing from error messages

* fix: page controls visible with scroll bar

* fix: delete element click handler

* chore: bump EUI to 3.0.0

this is the version that will be landing in Kibana

* fix: match ContextMenu class to css rule

* chore: remove unused code

* chore: tiny update modal code refactor

* Replaced & with prefixes in asset_manager and suggestion SCSS files

* Replaced EUI link/icon with EuiButtonIcon

* Changed label for index pattern in esdocs form

* fix: add aria-label to EuiButtonIcon

* fix: restore highlight on hover

and remove the now unused ElementControls component

* chore: update classNames

use the new class naming convention

* chore: remove unused components

* Disabled selection and dragging for img in revealImage

* Add toolbar tray close button (elastic#842)

* Fixed range and percentage arg types (elastic#843)

* Change to preview images

* Chore: naming convention

* Fix EUI Tooltip component content props (elastic#850)

* Fix a small typo in a button icon and tooltip (elastic#851)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@bobrik @tmaiaroto @dhawani and others