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

[DM] only update scroll position when page changes #840

Merged
merged 1 commit into from
Mar 15, 2017

Conversation

giladgray
Copy link
Contributor

@giladgray giladgray commented Mar 15, 2017

Addresses #796

Changes proposed in this pull request:

  • this solves the overscroll issue we had previously (cuz page doesn't change) while also ensuring that the active section is always visible when the page loads.
  • sidebar scrolls the active page into view so you can see the entire layout, rather than just the active section!

Screenshots

overscroll issue fixed! notice how the scrollspy still updates the active section when it's offscreen:
overscroll

scroll the active page into view so you can see the entire layout:
scroll-to-active-page

this solves the overscroll issue we had previously (cuz page doesn't change) while also ensuring that the active section is always visible when the page loads.
sidebar scrolls the active _page_ into view so you can see the entire layout, rather than just the active section!
@giladgray giladgray mentioned this pull request Mar 15, 2017
12 tasks
@blueprint-bot
Copy link

only update scroll position when page changes

Preview: docs | table
Coverage: core | datetime

@giladgray giladgray merged commit 4d16cd5 into feature/documentalist Mar 15, 2017
@giladgray giladgray deleted the gg/dm-autoscroll branch March 15, 2017 18:37
themadcreator added a commit that referenced this pull request Apr 3, 2017
* markdownify docs (#714)

* convert all packages

* script to convert scss docs to md files

* remove Weights, convert to `@#+`

* add pages for common files

* add `@page` roots

* 4-space md files (mostly for source)

* remove some `parent` front matters

* remove docs from .scss except markup & modifiers

* [DM] forms docs nesting fixes (#755)

* all files should start with `@#`
depth is computed at layout time

* split controls.md into three files
so they all show up in nav

* textarea gets its own file

* add tsx syntax hints to code blocks

* [DM] Documentalist! (#756)

- 🎆 replace KSS with Documentalist
- 🔨 replace both `docs-interfaces` and `docs-kss` gulp tasks with `docs-json`
- ♻️ refactor docs app to use DM: on its way to being a sweet React theme
  - write a bunch of tag handlers
  - delete `Section` component entirely, replaced with minimal `Page` SFC
  - best scrollspy implementation yet! it's smooth as silk and never glitches out (only known issue is short final sections are hard to highlight)
- 🌲 generate layout tree (for nav) in gulp task
  - requires some nasty rewriting of references 😢
  - but hey it works really well!

* fix duplicate typography.dark-theme key warning

* Tabs2 docs in new page

_really_ deprecate Tabs components

* write components.md

* nav only shows heading links when on that page

* only scroll nav menu if active item is not visible

* fix hotkey headings depth

* 🐛 only scroll to heading when page changes
otherwise scrolling up is damn near impossible!

* delete KSS docs from common/ files
already migrated to markdown in docs/

* restore Progress pages (bar/spinner/skeleton)

decided simplest approach was a mostly empty root `progress` page
that links to the other three.

* fix slider duplicate key warning with new range-slider page

decided not to create two child pages so Single Slider is on the
root Sliders page. not sure about this pattern...

* delete _tabs2.scss (docs only) and fix one code sample

* [DM] KSS for CSS examples (#813)

* update scss & md docs files
- **scss files:** make them all valid KSS blocks again by adding header and reference.
references are now reflective of the CSS class being documented.
- **md files:** add `@css reference` tags in all the CSS API sections
* documentalist@0.0.3
* css tag handler brings back markup & modifiers!
* ♻️ major refactor to sections.scss
a new function `reference()` to target these new KSS examples. refactored as many selectors as I could, and removed a bunch of obsolete ones.

docs changes:
* move checkbox "Inline controls" section
* bring back button-group page, unwrap control-group markup
* update typography docs for kss

* [DM] docs for all packages (#818)

* run all packages through Documentalist (easy glob change 👍)
* index.md page for each package, _nav in docs
* update nesting in datetime docs
* title in styleguide
* change default page
* fix Table links, rename page to just Table
* move color aliases table styles to live with its family

* only update scroll position when page changes (#840)

this solves the overscroll issue we had previously (cuz page doesn't change) while also ensuring that the active section is always visible when the page loads.
sidebar scrolls the active _page_ into view so you can see the entire layout, rather than just the active section!

* [DM] update documentalist for syntax highlighting (#846)

& ensure handlebars grammar

* [DM] React examples styles (#839)

* add data-page-id to Page to give all Table examples a fixed height
* BaseExample requires id prop, adds data-example-id attribute
IBaseExample interface re-used in docs example renderer.
BaseExample is the .kss-example, reducing element count by 1!
* move .docs-overlay-example-transition styles all to _examples
* sass example($name) function generates selector for react examples
* InputGroupExample uses flex box utility classes
* ContextMenuExample simpler render makes for simpler styles
* remove now unused section-name() and section-id() functions

* [DM] rename .kss-* → .docs-* (#850)

* delete unused _markup.scss file
* remove unused kss- things in html
* wholesale rename .kss-* => .docs-*

* [DM] squash some pages (#883)

* merge the slider pages by omitting JavaScript API
a daring play by ggray just lists the two components and takes advantage of documentalist's support for multiple tags per section!

* move components usage instructions to styleguide
they relate to all the packages so belong in a shared location, not inside Core Components.
now the Core package is completely empty...

* remove redundant UI icons heading in Icons as it was the only subheading.
also refine the example a bit, using some handlebars!

* [DM] core/components/button.javascript-api (#882)

* nav layout code moves to MarkdownPlugin
but must configure all plugins manually now
* support IHeadingTag with single "heading" renderer
TagRenderer receives ITag as first argument to support this polymorphism.
use type in renderer definition to avoid redeclaring each argument.
deconstruct and rename `value` as needed for minimal churn and maximal clarity.
* refactor to support `route` property
* IBlock field rename
* documentalist@0.0.5

* [DM] nav nesting (#899)

* documentalist@0.0.6: now with options
use .d.ts files for typescript info, like we used to (shaves about 2s off runtime)
* nav only expands active route, not all pages

* Documentation Overhaul (#917)

* split docs package into `docs` and `docs-site`

`docs` is the documentalist theme.
`docs-site` is the blueprint-specific content for our docs site.
write reusable tag renderers for the common tags.
this is by no means finished, just a good place to start committing

* move BaseExample into `docs` package

* move typings around

* fix docs-site webpack compile errors!

* fix sass compile errors

* require react ^15.3 so we can use PureComponent
instead of pure-render-decorator

* clean up docs common files

- move ClickToCopy to docs-site cuz it's not used in docs
- rename to propsStore.ts
- delete unused PureComponent

* move FocusStyleManager call into Styleguide componentDidMount

so consumer doesn't have to set it.
also fix typings of setHotkeysDialogProps with Partial<>.

* fix html paths

* fix broken import (forgot to save)

* rename Styleguide to Documentation

* copyright headers

* move docs-site files into same structure as docs

components / styles / tags.
tags export maps of files for reactDocs and reactExample

* Documentation navbarLeft/Right props

BlueprintDocs component wraps Documentation with added themeName state. all theme logic moves to `docs-site` custom code.

* make some Documentation props optional

* remove theme from docs

* enable strictNullChecks in docs and docs-site!!

* move docs md file, rename styleguide.md to blueprint.md

* Update to documentalist 0.0.7

* move .d.ts and README around

* move normalize.css import to docs-site.scss

until we include it in blueprint.css itself!

* fix some small build errors

* add project files

* update links to docs-site

* Add top comment block to interface table tag renderer

* export BaseExample from docs package, refactor example imports

* fix CONTRIBUTING docs path

* Null check when naving to section

* Lint

* Add docs-site artifact

* Fix gulp watch task

* minor polish

* [DM] update docs files and links (#927)

* markdownify Text and DateRangeInput docs

* fix all the links i could find

* Fix text example tag

* Fix text navbar issue

* Fix tree example styles
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

Successfully merging this pull request may close these issues.

3 participants