-
Notifications
You must be signed in to change notification settings - Fork 2.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
[Toast] refactor timeout update logic #3275
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
always clear timeout when starting to cancel any previous now-outdated active timer.
refactor toast timeout update logic to be more obviousPreviews: documentation | landing | table |
themadcreator
approved these changes
Jan 10, 2019
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep LGTM
NachoJusticia
pushed a commit
to graphext/blueprint
that referenced
this pull request
Apr 12, 2019
* [DateInput] Add support for datepicker clearButtonText and todayButtonText props. (palantir#3020) * [DateInput] Add datepicker clearButtonText and todayButtonText props support. * [DateInput] Add unit test for clearButtonText and todayButtonText props. * include integrity hashes in yarn lock (palantir#3035) * Publish - @blueprintjs/docs-theme@3.0.2 * Publish - @blueprintjs/docs-theme@3.0.3 - @blueprintjs/karma-build-scripts@0.9.0 - @blueprintjs/node-build-scripts@0.8.0 - @blueprintjs/webpack-build-scripts@0.7.0 * Fix reset of active item when query hasn't changed (palantir#3072) * Fix reset active item when query hasn't changed * Address comments * [DateInput] close on tab key press (palantir#3038) * Publish - @blueprintjs/datetime@3.3.1 - @blueprintjs/select@3.2.1 * Correct Table reference to HTMLTable (palantir#3075) Also correct link to html-table page. * 🔧 fix dependencies (palantir#3078) * node-gyp resolution * * dep for build-scripts packages * yarn.lock * preview script won't fail build without GH_AUTH_TOKEN * update yarn min version in readme * fix icons alignment (palantir#3102) * [Breadcrumb] Add current prop (palantir#3104) * Render breadcrumb children (palantir#3105) * fix checkbox indicator display (palantir#3113) * Only set default font-family on body selector (palantir#3115) * [FormGroup] add contentClassName and style props (palantir#3120) * add contentClassName prop * add style prop * [Portal] add container prop (palantir#3045) * [Portal] add container prop * [Overlay] add container prop * [Popover] add container prop * [Tooltip] add container prop * [Dialog] add container prop * [Alert] add container prop * fix test failed * [portal] avoid possible crash on componentDidMount * rename container to portalContainer for overlay components * chore: remove useless code * add isotest for className prop (palantir#3119) * four args become two. add className isotest. refactor generateIsomorphicTests() to use config object in mapped type * refactor isotest suites to new config object * [Tag] fix line-height for centering (palantir#3117) * fix lint error * set tag line-height to icon size * $tag-line-height(-large) vars * fix label documentation example (palantir#3087) * fix label documentation example * Use class constants * remove first id * Label B * added new icon (palantir#3052) * [table] Perf improvements with selections (palantir#2005) * table performance improvements - reducing rerendering where possible * reinstate enum strings * fix compile errors * fix lint errors * fix test * cell: revert changes * code review suggestions; add forceRerenderOnSelectionChange flag * lint * default to false * remove unused logo styles from navbar (palantir#3123) * [Breadcrumbs] Add new component (palantir#3106) * Add breadcrumbs component * Use lambda syntax * Add overflow list props * Disable overflow menu items * Add missing prop docs * Document new Breadcrumb special case * Add Breadcrumbs prop docs * Use ul tag * Add test to OverflowList * Add tests to Breadcrumb * Add tests for Breadcrumbs * Fix docstring Co-Authored-By: invliD <mail@invlid.com> * Improve docstring Co-Authored-By: invliD <mail@invlid.com> * Fix Breadcrumb docs * Fix linebreak * Default breadcrumbRenderer * Explain why the menu is reversed * Add link to OL * Add code example * Re-use breadcrumbs example using different name * docs edits * Publish - @blueprintjs/core@3.8.0 - @blueprintjs/icons@3.3.0 - @blueprintjs/table@3.3.0 * fix disappearing caret on focus of HTMLSelect in ControlGroup (fixes palantir#3003) (palantir#3150) * Single Month Only Prop in DateRangePicker (palantir#3142) * allow singleMonthlyOnly in DateRangePicker * updated docs comment * added singleMonthOnly props in DateRangeInput * added DateRangeInput test to ensure prop is passed * updated documentation and example labels * Allow users to browse omnibar options without query (palantir#3130) * Using tagName JSX variable for MenuItem (palantir#3061) * Using tagName JSX variable for MenuItem * Fixed minnor default issues as per the requests on PR * [Overlay] add portalClassName to IOverlayableProps (palantir#3148) * add portalClassName to IOverlayableProps * fix overlay test * unmount dialog test * fix HTML_TABLE_CONDENSED name (reverts 3.x break) (palantir#3147) * Don't clear TagInput inputValue state if controlled (palantir#3137) * Don't clear TagInput inputValue state if controlled Fixes palantir#3134 * Address PR comments * Revert fixes * remove margin on heading-only callouts (palantir#3157) * PopoverPosition = Position + auto values (palantir#3156) * [Select] Flag to optionally scroll to active item for select components (palantir#3096) * Flag to optionally scroll to active item for select components * Respect click and keyboard interactions * Change docs * edit prop docs * add uncontrolled note * docs edits (palantir#3161) * [tslint] blueprint-html-components fixer! (palantir#3162) * enable strict mode in tslint-config * sort imports before adding * blueprint-html-components fixes imports * refactors * replaceTagName util * test formatting * add test for all imports * h2/h5 * ts-lint --fix (palantir#3159) * relaxed typings for optional JSX.Elements (palantir#3118) * export type OptionalElement = JSX.Element | boolean | null | undefined; use it in `icon` props * more uses of OptionalElement * Icons docs uses props * MaybeElement, false * [Popover] add boundary prop for easier modifiers (palantir#3149) * Popover add boundariesElement prop for easier modifiers * rename to boundary * rename type to PopperBoundary * fix examples * Publish - @blueprintjs/core@3.9.0 - @blueprintjs/datetime@3.4.0 - @blueprintjs/select@3.3.0 - @blueprintjs/tslint-config@1.7.0 * Fixed bug where new timeout prop passed to toastr update was ignored (palantir#3164) * Fix change activeItem when query changes on props for QueryList (palantir#3180) * Fix change activeItem when query changes on props for QueryList * move willRecieveProps to componentDidUpdate * put back * fix import. VSCode - I ahte you * Replace calendar months const enum with enum (palantir#3182) * Include "enable preview comments" in PR templates (palantir#3201) * [select] fix inputprops docs (palantir#3167) * [HTMLTable] fix html props type (palantir#3170) * Add elevation variables in docs (palantir#3202) * FIXED: @HotkeyTarget -> @HotkeysTarget typo (palantir#3208) * [Popover/DateInput] fix tabIndex & inputRef support (palantir#3200) * fix Popover openOnTargetFocus tabIndex logic * refactor DateInput inputRef logic & add tests * fix import path * add corresponding InputGroup tests * update sandbox URL (palantir#3206) * [NumericInput] ❤️ (palantir#3204) * ref type | null * remove <T> on react events optional type!! * Keys.isKeyboardClick it's like a method on a java enum! * total render refactor - FIX: css class is applied when buttons=none - renderButtons() and renderInput() - conditionals to place buttons before or after input - remove special-casing for buttons=none * generate button event handlers, fix key holding one little function to cache handler objects. fix holding enter/space to continuously change value. * onKeyUp handler is obsolete Button handles enter/space click logic. onKeyDown is actually enough - quite elegant. * remove isButtonGroupFocused state set but never read * move shouldSelectAfterUpdate to state so it triggers updates for the selection logic in cmpDidUpdate * required state, missed a <T> * update and refactor tests not much needed here * pull pure methods out to utils file * fix tabs usage * little things: public state, {value} * orgainze * missed a reset * fix return type of Icon.render() (palantir#3190) * [DateRangePicker] Remove unused styling in daterangepicker.scss (palantir#3199) * Remove unused styling in daterangepicker.scss * Configure CircleCI previews * [Tree] add node mouseenter and mouseleave events (palantir#3211) * [Popover] add targetProps (palantir#3213) * add safeInvokeMember util * add Popover targetProps, using new util for overridden events * tests * only one spread * add note about ref * add notes about types * Circle bot logs artifact URLs if auth token is missing (palantir#3209) * upgrade circle-github-bot * refactor script so it logs artifact URLs if auth token is missing * Add htmlTitle prop to Icon (palantir#3216) * add htmlTitle prop to Icon * try to kick circleci? * comment update & backticks * add "on hover" * Added new icons (palantir#3222) * update contributing notes: DO NOT enable Circle for forks. (palantir#3217) * update contributing notes: DO NOT enable Circle for forks. * finish the sentence * [Popover/Tooltip] add public reposition() method to schedule popper update (palantir#3215) * [Popover] public reposition method to schedule popper update * add tooltip.reposition() * [DateRangePicker] Fix caption behavior in contiguous month mode (palantir#3198) * Add failing tests * Use two DayPickers for contiguous months This is so that we can customize the behavior for captions, so the left caption changes the start month/year and the right caption changes the end. * Add additional rendering tests * Lint * Configure CircleCI previews * Add enforcement for contiguousMonth toggling * Publish - @blueprintjs/core@3.10.0 - @blueprintjs/datetime@3.5.0 - @blueprintjs/icons@3.4.0 - @blueprintjs/select@3.4.0 * Update hotkeys.md (palantir#3227) * Added EditableText input type field (palantir#3235) * Fix setState calls using updater functions (palantir#3247) React does not guarantee that the state changes are applied immediately. It is best practice to use an updater function if the new state relies on the current state. * Add menu item classnames (palantir#3251) * Add menu item label classname * Add text classname prop * Alphabetize props & improve docs * docs: tag-input: fix garbled unescaped html appearing due to hard line breaking in md source (palantir#3266) * Fix dialog css docs (palantir#3271) * Added esnext as a build target. (palantir#3230) * [docs] Suggest using `ContextMenuTarget` as a HOC (palantir#3259) Instead of falling back to the imperative API, suggest using `ContextMenuTarget`, where decorators are not an option. * [docs] show optional isDarkTheme parameter in ContextMenu API docs (palantir#3273) To make it more obvious that you can manually create a dark context menu, as raised in palantir#3229 * [ResizeSensor] try/catch findDOMNode to handle possible error state (palantir#3236) * 🔧 upgrade to webpack 4 (palantir#3252) * upgrade to webpack 4 * migrate webpack config * add cssnano, though it doesn't seem to work * fix cssnano in docs-app * small config refactors * upgrade karma deps * migrate karma webpack usage. use webpack alias for enzyme adapter instead of template string * upgrade sinon * skip borked table tests that rely on now-impossible sinon spy behavior. sinonjs/sinon#1711 * fix lint * Use cjs modules for karma testing * Forgot to enable cjs for table * Popover docs: inline -> usePortal={false} (palantir#3277) I _think_ inline is outdated b/c I don't see docs on that prop above. I'm pretty sure this section means to reference `usePortal={false}` instead. * [docs] fix CDN usage & bundle externals (palantir#3276) * update webpack externals * update CDN guide in getting started * push CDN section to the bottom (to avoid distraction) * remove repeated install notes * remove jquery * Publish - @blueprintjs/core@3.11.0 - @blueprintjs/datetime@3.6.0 - @blueprintjs/icons@3.5.0 - @blueprintjs/select@3.5.0 - @blueprintjs/table@3.4.0 - @blueprintjs/timezone@3.2.0 * refactor toast timeout update logic to be more obvious (palantir#3275) always clear timeout when starting to cancel any previous now-outdated active timer. * [OverflowList] Always re-render items (palantir#3278) * Allow overriding of heading typography in Sass (palantir#3283) * [TimezonePicker] Support a custom target via <children> (palantir#3287) * Export getTimezoneMetadata(), add default value for date parameter * Support one custom child in <TimezonePicker> * Update example * Update tests * (nit) Rename to CustomTimezonePickerTarget * Add more docs about possibly ignored props * Update docs * Respond to @giladgray CR * Create CHANGELOG.md * Suggest query remains when closed if nothing is selected. (palantir#3289) * Allow shortcuts to change time in Date Range Picker (palantir#3223) * Allow date range shortcuts to change time * Address PR comments * lint * [Suggest] add `disabled` and `resetOnClose` props (palantir#3292) * add Suggest resetOnClose prop a la Select * add Suggest disabled prop * add resetOnClose switch to example * docs note * [QueryList] Initialize activeItem state correctly based on prop. (palantir#3290) * Initialize QueryList's activeItem state correctly based on prop. * Fix comment typo * Code cleanup * [PanelStack] Allow any prop type for initial panels (palantir#3295) * [Tooltip] allow HOVER interactions (palantir#3291) * [Tag] fill & [TagInput] intent props (palantir#3237) * add Tag fill prop * add TagInput intent prop * add tag fill styles & example switch * docs: Fix link to Popover (palantir#3300) * Add directory details to packages/*/package.json (palantir#3301) Specifying the directory as part of the `repository` field in a `package.json` allows third party tools to provide better support when working with monorepos. For example, it allows them to correctly construct a commit diff for a specific package. This format was accepted by npm in [npm/rfcs#19](npm/rfcs#19). * Add directory to repository details in package.json files (palantir#3299) Specifying the directory as part of the `repository` field in a `package.json` allows third party tools to provide better support when working with monorepos. For example, it allows them to correctly construct a commit diff for a specific package. This format was accepted by npm in npm/rfcs#19. * [select] Add optional "itemsEqual" comparator prop to QueryList and related components (palantir#3285) * Improve QueryList and related components to support optional equality test implementation for non-primitive item types. * Revert change to use undefined for representing no selection * Finish revert change to use undefined for representing no selection * Remove TODO * Remove unnecessary param documentation * Rename "areValuesEqual" prop to "itemsEqual" * Improve "itemsEqual" prop to also support a property name. * Documentation typos * Documentation improvements * Update copyright year in new file * Rename new unit test file * [DRP] Shortcuts support changing time & docs (palantir#3293) * shortcut shouldChangeTime => includeTime * revert unnecessary test changes * add Shortcuts docs to DRP * Publish - @blueprintjs/core@3.12.0 - @blueprintjs/datetime@3.7.0 - @blueprintjs/docs-theme@3.0.4 - @blueprintjs/icons@3.5.1 - @blueprintjs/karma-build-scripts@0.9.1 - @blueprintjs/labs@0.16.3 - @blueprintjs/node-build-scripts@0.8.1 - @blueprintjs/select@3.6.0 - @blueprintjs/table@3.4.1 - @blueprintjs/test-commons@0.8.1 - @blueprintjs/timezone@3.3.0 - @blueprintjs/tslint-config@1.7.1 - @blueprintjs/webpack-build-scripts@0.7.1 * [select] consistency refactors (palantir#3305) * code consistency across `select` components: - public state = ... (not inconstructor) - non-optional refs - safeInvokeMember to reduce destructuring * fix tests, explicit null check * dedupe shortcuts prop types (palantir#3311) * [NumericInput] allows min === max (palantir#3296) * NumericInput allows min === max * add test * [NumericInput] new rightElement prop (palantir#3314) * Update select-component.md (palantir#3319) * Fixing typo (palantir#3318) Missing "and" * Added new inbox icons (palantir#3335) * [docs] click to download sketch files from Resources page (palantir#3334) * click to download sketch files from Resources page * lint * use /raw/ url to download actual file * rename resource files so they download correctly * add "Missing fonts?" callout * minor style polish * Add internal text to switch component (palantir#3327) * switch text v0 * font size a bit smaller * add an example of internal text property * test * cleanup * lint fixes * review comments * remove whitespace in tests * more review comments * even more review changes * remove errant property * restore comment * update prop docs * additional tests * remove unnecessary checks * [Spinner] SIZE_SMALL = 20 (palantir#3342) * Spinner.SIZE_SMALL = 20 * fix isotest * [NumericInput] countDecimalPlaces for number type (palantir#3337) Fixes palantir#3336 * New Drawer component (palantir#2957) * add files * fixed styling * dark theme added * Added vertical orientation * changed viewport units * Added small and large sizes * Standardized sizing * backdrop fixed * add tests * small/large => one size prop * update size constants * add hasBackdrop switch to example * use Drawer for API browser * size prop docs * fix isotest * add size+vertical tests, actually run suite * [DatePicker] fix onChange on month change after initial day selection (palantir#3343) * fix onChange doesn't fire on month change after initial day selection Fixes palantir#3340 * change !== to != operator * add test onChange fired when month is changed for uncontrolled datepicker * Publish - @blueprintjs/core@3.13.0 - @blueprintjs/datetime@3.7.1 - @blueprintjs/icons@3.6.0 - @blueprintjs/select@3.6.1 * Corrected the type of Popover's onInteraction prop (palantir#3348) * ButtonGroup supports "fill" prop when Buttons are wrapped in Popovers (palantir#3347) * 🔧 upgrade tslint (palantir#3315) * Fix shortcuts.tsx react import typings (palantir#3356) * [Tabs] add panelClassName prop (palantir#3351) * Fix lint (palantir#3374) * [Core] Fixed not applying intent color for icon inside tree node (palantir#3355) * [Core] Add option to make tree node disabled (palantir#3354) * Drawer default prop warning fix (palantir#3382) * [Select] Create-able Select components (palantir#3381) * Upgrade dev dependencies and types (palantir#3370) * Publish - @blueprintjs/core@3.14.0 - @blueprintjs/docs-app@3.14.0 - @blueprintjs/select@3.7.0 * [Core] Overlay: fix transitionDuration documentation (palantir#3391) * [Core] Fix react types regression (palantir#3390) * Publish - @blueprintjs/core@3.14.1 - @blueprintjs/docs-app@3.14.1 * Publish - @blueprintjs/datetime@3.7.2 * [Core] Checkbox: fix indeterminate state update (palantir#3409) Fixes palantir#3408 * Minor README updates * [Core] Docs: fix small typo (palantir#3411) "accomodate" to "accommodate" * [Docs] Overlay Example: add option to test scrolling behavior (palantir#3406) * Update Bug_report.md * [datetime] docs: fix react-day-picker API hyperlink (palantir#3435) * [core] TagInput: use undefined instead of null to hide clearButton (palantir#3436) * [Select] hide QueryList item list when menuContent and createItemView are both null (palantir#3426) * [MultiSelect] Enable pasting of multiple values (same as TagInput) (palantir#3428) * [Core] Add z-index to panel stack header (palantir#3414) * [Core] Add option to grow text area with input (palantir#3398) * [Core] TextArea: fix style object regression (palantir#3440) * [Core] Add position prop to Drawer component, deprecate vertical prop (palantir#3386) * [Table] Fix resizable props documentation (palantir#3400) * Switch to standard Apache-2.0 license (palantir#3457) * [table] Fix documentation to use the right css file name (palantir#3452) * Prepare release v3.15.0 (palantir#3458) * Publish - @blueprintjs/core@3.15.0 - @blueprintjs/datetime@3.8.0 - @blueprintjs/docs-app@3.15.0 - @blueprintjs/docs-theme@3.1.0 - @blueprintjs/icons@3.7.0 - @blueprintjs/karma-build-scripts@0.10.0 - @blueprintjs/node-build-scripts@0.9.0 - @blueprintjs/select@3.8.0 - @blueprintjs/table@3.5.0 - @blueprintjs/test-commons@0.9.0 - @blueprintjs/timezone@3.4.0 - @blueprintjs/tslint-config@1.8.0 - @blueprintjs/webpack-build-scripts@0.8.0 * [Core] File input text styling for active selections (palantir#3375) * Fix root package.json file that had duplicated resolutions * Add yarn lock from upstream * Update graphext packages versions
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Alternate approach to #3244
Changes proposed in this pull request:
always clear timeout when starting to cancel any previous now-outdated active timer.
refactor conditionals in
cDU
to be more obvious and simpler.(cc @tgreen7)