-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Comments
Actually any movement or key press flips between the tabs. It gets into a weird state. |
Yep, this thing is very frustrating! |
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. |
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 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... |
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. |
Wondering if this is duplicate of #583 ? |
Yup I believe it just may be...And I definitely think it's isolated to angular-strap now. |
* 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
* [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)
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.
The text was updated successfully, but these errors were encountered: