This repository has been archived by the owner on Sep 5, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
fix(mdInput): Support multiple ng-messages simultaneously. #4647
Closed
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
topherfangio
added
pr: merge ready
This PR is ready for a caretaker to review
needs: review
This PR is waiting on review from the team
and removed
pr: merge ready
This PR is ready for a caretaker to review
labels
Sep 15, 2015
@ThomasBurleson @jelbourn Would love for you both to review; in order to accommodate multiple lines of errors, I had to alter the transition. It looks different than before, but I think it works and looks pretty good. Definitely open to suggestions though. |
function ngMessagesDirective() { | ||
return { | ||
restrict: 'EA', | ||
require: '^^?mdInputContainer', |
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.
Add a comment like
This is optional because we don't want target *all* ngMessage instances, just those inside of mdInputContainer.
LGTM |
topherfangio
force-pushed
the
feat-input-multi-errors-2648
branch
from
September 15, 2015 17:38
686e8c2
to
473f873
Compare
@jelbourn Thanks! I'll update with your other comment suggestion after lunch :-) |
topherfangio
force-pushed
the
feat-input-multi-errors-2648
branch
from
September 15, 2015 21:00
473f873
to
9c64578
Compare
topherfangio
force-pushed
the
feat-input-multi-errors-2648
branch
from
September 16, 2015 02:49
9c64578
to
db93768
Compare
@ThomasBurleson I just updated this PR with a few more additions which should resolve some existing/outstanding PRs where we were waiting on demos to be updated. |
Previously, multiple `ng-message`s would render on top of each other. Fix by altering CSS position and altering transition to support multiple messages (i.e. potentially varying height). Also some other small fixes to inputs/errors: * Fix number input widths in Firefox * Update errors demo messages to be more dynamic and show multiple errors * Update SCSS to allow `ng-message-exp` and associated `data-` and `x-` attributes * Add demo using `ng-message-exp` to show new SCSS styles being applied Fixes #2648. Fixes #1957. Fixes #1793. Should also close PRs #4472 and #4008. Thanks to @bopm and @iksose for the initial PRs!
topherfangio
force-pushed
the
feat-input-multi-errors-2648
branch
from
September 16, 2015 02:54
db93768
to
7667ffb
Compare
topherfangio
added a commit
that referenced
this pull request
Sep 21, 2015
Previously, multiple `ng-message`s would render on top of each other. Fix by altering CSS position and altering transition to support multiple messages (i.e. potentially varying height). Also some other small fixes to inputs/errors: * Fix number input widths in Firefox * Update errors demo messages to be more dynamic and show multiple errors * Update SCSS to allow `ng-message-exp` and associated `data-` and `x-` attributes * Add demo using `ng-message-exp` to show new SCSS styles being applied Fixes #2648. Fixes #1957. Fixes #1793. Closes #4647. Closes #4472. Closes #4008. > Should also close PRs #4472 and #4008. Thanks to @bopm and @iksose for the initial PRs!
kennethcachia
pushed a commit
to kennethcachia/material
that referenced
this pull request
Sep 23, 2015
Previously, multiple `ng-message`s would render on top of each other. Fix by altering CSS position and altering transition to support multiple messages (i.e. potentially varying height). Also some other small fixes to inputs/errors: * Fix number input widths in Firefox * Update errors demo messages to be more dynamic and show multiple errors * Update SCSS to allow `ng-message-exp` and associated `data-` and `x-` attributes * Add demo using `ng-message-exp` to show new SCSS styles being applied Fixes angular#2648. Fixes angular#1957. Fixes angular#1793. Closes angular#4647. Closes angular#4472. Closes angular#4008. > Should also close PRs angular#4472 and angular#4008. Thanks to @bopm and @iksose for the initial PRs!
clshortfuse
added a commit
to clshortfuse/material
that referenced
this pull request
Mar 30, 2016
update version number in package.json to 0.11.0-rc2 update(demo): stagger animations timings fix(layout): device size attributes should not set max-width or max-height do not specify max-height or max-width for **.layout-column** and **.layout-row** media breakpoints; as these incorrectly limited the size of the container. > Consider below where `<xxx>` is the display breakpoints sm, md, lg, gt-sm, etc. Breaking Changes Before ```css .layout-colum > .flex-<xxx> { max-height : <percentage>; } .layout-row > .flex-<xxx> { max-width : <percentage>; } ``` now ```css .layout-colum > .flex-<xxx> { } .layout-row > .flex-<xxx> { } ``` fix(layout): restrict directives to attributes only Breakout of 0.11.0-rc2 from 0.11.0-rc1 changes Update CHANGELOG.md Update CHANGELOG.md Update CHANGELOG.md Update CHANGELOG.md update(radioButton): add md-checked style to parent (if not mdRadioGroup) if radiobutton elements are nested in DIV (instead of direct children of MD-RADIO-GROUP), then add/remove `.md-checked` styles when selected/deselected. update version number in package.json to 0.11.0 Add SHA links to ripple and layout changes feat(datepicker): allow changing first day of the week. Fixes #4316. fix(utils): extractElementByName() and findFocusTarget() logic improved findFocusTarget() scans deep and properly uses `$eval()` on possible focus expression. extractElementByName() includes optional argument to scan deep in all child nodes. added unit tests Fixes #4532. Fixes #4497. fix(theme): input placeholder color style fixed for Chrome mixin placeholder-input-color in `mixins.scss` do not work as expected in Chrome. Fixes #4162. fix(datepicker): handle DST incocnsistency encountered in some timezones. Fixes #4215. fix(util): improve parse logic in supplant() Fixes #4511. update(demos): codepen demos use Roboto fonts and css when launching the demos, the same font sets and extra styles used in the online docs should be included in the launched demo. Fixes #4529. fix(codepen): improve use of external css fix(util, autocomplete, chips): logic for cleanup when scope.$$destroyed == true update `$mdUtil.nextTick( )` with option `scope` argument that can be used to check `scope.$$destroyed` skip callback. refactors to resolve `scope.$destroy()` race conditions Fixes #4525. feat(datepicker): add shadow and animation cue for scrolling. Fixes Closes #4547. perf($mdSticky): Fix performance issue when sticky is emulated. When the browser is not naitively capable of handling sticky elements, we fake it by watching for scroll changes and manually triggering certain events. These use `$$rAF`, but were not throttling the call. Fix: use `$$rAF.throttle` when calling our loop function. Fixes #4523. Fixes #4459. Closes #4552. docs: fix codepen buttons not working in Demos > Menu Fixes Codepen buttons not working in Menu Position Modes & Menu Width demos & removes duplicate call to htmlEscapeAmpersand() function in codepen.js Fixes #4514. Closes #4519. docs: fix typo in demos > Menu > Menu Position Modes Fixes a typo ('Positon' -> 'Position') in the Demos > Menu > Menu Position Modes docs Closes #4516. fix(switch): inverted logic in md-switch dragging md-switch was being toggled when the user dragged less than half the way and didn't toggle when dragged more than half the way. Invert this logic. Fixes #4549. Closes #4560. fix(mdAutocomplete): Compile autocomplete template against proper scope. After the performance modifications to make autocomplete use the virtual repeat directive, the autocomplete no longer compiled the contents of the dropdown against the proper parent scope This PR fixes it by manually compiling against the proper parent scope and copying over the necessary `item` and `$index` properties. Fixes #4390. Fixes #4495. Closes #4391. feat(dialog): allow specifying parent by string selector. feat(datepicker): prevent calendar from going off-screen. Fixes #4333. chore(datepicker): remove accidental function def. test(dialog): added test for parent specified by string selector fix(tooltip): trigger parent blur on `leaveHandler( )` `md-button` with tooltip should not continue to display focus style after mouseleave and tooltip hide. Fixes #4249. Fixes #4597. Closes #4590. Update tabsDirective.js not to use multiline string literal Multiline string literals aren't considered a best practice. References: http://stackoverflow.com/a/6247331 http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Multiline_string_literals#Multiline_string_literals Closes #4556. update(docs): Toast API docs correction inlucde improvement to **$log.warn** in `util.extractElementByName( )` Fixes #4612. update(util): typo correction fix(ripple): ripple will no longer be triggered on disabled elements Closes #5445 ripple: re-adds code that was accidentally removed from the previous commit ripple: fixes typo in previous commit. again. I'm on a roll, today! Update slider.js not to use multiline string literal fix(datepicker): make dark theme picker not terrible. Fixes #4614 update(tabs): speeds up ink bar animation Closes #4582 fixes typo in dialog fixes improper variable name in dialog fix(select): fix options not closing with explicit md-select-label closes #4387 style(menu): fix alignment with anchor menu items closes #4142, closes #4353 fix(listItem): fix menu triggering proxy elements fixes #4303 fix(select): fix undefined class on select container closes #4184 style(select): bring disabled style inline with input closes #4179 fix(dialog): incorrect dialog placement if page is scrolled closes #4115 style(select): dividers now appear in scrollable menus closes #4017 fix(general): common disabled behavior for switch/slider/select. Fixes #3797. Closes #4654. fix(datepicker): ngModel updates for empty input. Fixes #4643. Closes #4648. fix(mdInput): Support multiple ng-messages simultaneously. Previously, multiple `ng-message`s would render on top of each other. Fix by altering CSS position and altering transition to support multiple messages (i.e. potentially varying height). Also some other small fixes to inputs/errors: * Fix number input widths in Firefox * Update errors demo messages to be more dynamic and show multiple errors * Update SCSS to allow `ng-message-exp` and associated `data-` and `x-` attributes * Add demo using `ng-message-exp` to show new SCSS styles being applied Fixes #2648. Fixes #1957. Fixes #1793. Closes #4647. Closes #4472. Closes #4008. > Should also close PRs #4472 and #4008. Thanks to @bopm and @iksose for the initial PRs! fix(interimElement): support scope.$destroy events when navigation (eg $location) changes occur, the `scope.$destroy` event is triggered; which should remove/close/cleanup the following components: menu, select, dialog, toast, and bottomSheet. Fixes #3741. Fixes #4405. Fixes #4504. Fixes #4151. Closes #4659. fix(autocomplete): re-adds support for custom item names in autocomplete templates Closes #4667 fix(menu): fixes JS focus error on close fix(interimElement): use angular.extend AngularJS 1.3.x does not support `angular.merge` Fixes #4683. feat(mdInput): Add support for both labels and placeholders. Previously, if a user supplied both a placeholder and a label, the label would float on top of the placeholder when the input did not have a value. Fix by adding styles/code to support both at the same time. **Note:** If the users provides both a label and a placeholder, the label will no longer animate. Also fix input styles so transition does not happen if input already has a value to avoid unneccessary and eratic-looking animations. Fixes #4462. Fixes #4258. Closes #4623. test(all): make changes to use $animate.flush update ngMaterial docs and tests to use AngularJS 1.4.6 simplify testing with unified, new API `$animate.flush()` add ngMaterial mock `flush()` methods to hide complexities on Material animations fix interimElement recover logic when templateURL loads fail > supports only AngularJS ^1.3.19 and ^1.4.6 Closes #4460. fix(util, datePicker): support $compileProvider.debugInfoEnabled(false); add `$mdUtil.validateScope( )` to confirm availability of scope value. Fixes #4532. > [$compileProvider](https://docs.angularjs.org/guide/production) explains that `$compileProvider.debugInfoEnabled(false)` will make the `scope()` function return undefined: @see https://github.com/angular/angular.js/commit/dbbe6b3831e9e3545e3fae6d109aab6251131d82 update(sidenav): add `$destroy` logic to remove backdrop update(demo): add footer note to Dialog demo Closes #3136. fix(menu): safeguard NRE in `activateInteraction()` Fixes #3741 fix(dialog): resize top and height on window resize Fixes #4513. update(mixin): improved input-placeholder-color Fixes #4742. update(npm): add standard package.json fields Fix license warnings from npm Add a useful npm 'watch' script to build, watch the docs; opens browser at http://localhost:8080 Add other standard fields as detailed in https://docs.npmjs.com/files/package.json Closes #4741. > Thx @splaktar for PR #4741. Added the ability to apply custom CSS classes to dialog-presets. Closes #4722. fix(whiteframe): working with dp insted of z-index Closes #4706. fix(progressLinear, progressCircular): trim md-mode values Fixes #2336. fix(select): multiple no longer sets form to $dirty closes #3933 style(list): truncate overflow on h3 and h4 closes #2199 fix(fabSpeekDial): remove keyboard handlers on scope destroy Closes #4681. fix(mdAutocomplete): Fix small style regression introduced by multiple errors. The autocomplete used different CSS than the multilple error messages expeceted. Fix by making autocomplete the same as input.scss. Fixes #4692. Closes #4695. feat(layout): add `md-css-only` option, restore max-width for layouts * support use of `<body class="md-css-only">` to use Layout features **without** any JS requirements or `ngMaterial` module dependencies. * May use standard Attribute selectors * May use class selectors * Disables Layout directive postlinks for optimization * restore `layout > flex` specifiers of max-width or max-height. * publish `$$mdLayout` service to allow Attribute selectors to be removed when the translation inject to Class selector finishes. fix(layout, flexbox): longhand workarounds, flex-order, interpolated values * apply flexbox workarounds per [Flexbox Workarounds](https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items): use flex longhand notations with workarounds * add support for flex="1", flex="auto", and flex * add references to online specs/resources * fix flex-33 and flex-67 max-width and max-heights * fix layout-align to use max-width * layout-fill should use height:100% * allow flex-order to be negative * add support to observe interpolated layout values. * restore max-width for layouts * restore `layout > flex` specifiers of max-width or max-height. * publish `$$mdLayout` service to allow Attribute selectors to be removed when the translation inject to Class selector finishes. According to CSS Flexible Box Layout Module Level 1 and CSS Values and Units Module Level 3, the order property can be negative, -9 to -1, as well as positive, 1 to 9, and zero. Fixes #4729. Fixes #4616. Fixes #4520. Fixes #4482. Close #3376. Closes #4592. > Thx @flowersinthesand for original PR fix(layout): resolve incorrect and duplicate layout tests There were a number of typos and incorrect combinations of values in the alignmentValues array that didn't correspond to the layout.scss causing incorrect tests to be run. There were also duplicates, there were 31 values, now 19. Closes #4740. update(layout): refactor and fix media breakpoint styles * improve logic for `postLinkIsDisabled( )` * add `max-width:100%` for layout=row * add `max-height:100%` for layout=column * fix media trigger .layout-<xxx>-row and .layout-<xxx>-column layouts fix(gridlist): improve getTileStyle() to use rowCount Fixes #2741. fix(menu): remove exception when async loading Fixes #4687. fix(mdAutocomplete): Fix scope watch bug. Commit 8849213ce42fa98169b6fbbb0805feb95a6ba678 introduced a scope watching bug cauinsg the autocomplete to no longer update it's list of items as you scrolled (since it re-uses DOM elements). Fix by swapping nextTick to be inside the watch statement. Fixes #4713. Closes #4715. docs(datepicker): fix type for min/max dates. Fixes #4738 chore(ci): add scripts to test against multiple releases of AngularJS fix(tabs): addresses potential `$digest already in progress` error Closes #4743 docs(dateLocale): make parse function reflect real moment use. fix(dateLocale): guard for setting midnight to null. Fixes #4780 fix(datepicker): prevent calendar clipping on small screens. For #4558 fix(mdInput): Fix md-maxlength when used with ng-messages. The recently added support for input elements to have multiple messages caused a rendering issue for the `md-maxlength` character counter. Update code/CSS to properly position the character counter when used with and without ng-messages. Fixes #4783. POSSIBLE BREAKING CHANGE - The `<div class="md-char-counter">` that is automatically added to the input is now added after the input if no messages are found, but inside if they are. This may cause some styling issues if users provide custom CSS. Users may need to update their CSS to take the extra HTML into account. Example rendered HTML: **Without `ng-messages`:** ```html <label>Label is here</label> <input /> <div class="md-char-counter">10/20</div> ``` **With `ng-messages`:** ```html <label>Label is here</label> <input /> <div ng-messages="..."> <div class="md-char-counter">10/20</div> <div ng-message="requried">This is required</div> </div> ``` Closes #4786. fix(layout): prevents missing body error in unit tests chore(tooltip): removes multiline string template chore(layout): fixes document.body undefined error fix(list): fixes list item height feat(datepicker): support for ngMessages. Closes #4672. fix(tooltip): using tooltip inside subheader causes Firefox hang. When a `<md-tooltip>` was placed inside the `<md-subheader>`, an infinite loop was being hit (only in Firefox) which was causing the browser to hang. The infinite loop was caused by the tooltip's `getParentWithPointerEvents()` method which travels up the DOM looking for a parent who has pointer events. In Firefox, the `element.parent()` can apparently return an empty jqLite object that is not null, but whose length is 0. In this case, calling `parent.parent()` again will return the same object. Add a check to the tooltip's loop to ensure that `parent.length` is never 0. Fixes #4777. Closes #4800. fix(sidenav): binds remove function to prevent errors replaces fn.prototype.bind with angular.bind removes duplicate line of code left in during previous commit. ugh fix(virtualRepeat): prevents digest if digest is already in progress fix(list): fix clipping on list items, simplify code closes #2199 update(layout): remove md-css-only usages refactor layout.scss to reduce layout.css size chore(ci): use Chrome, Firefox and Safari as browsers on CI for the daily script test(animateCss): fix broken safari tests Closes #4819. fix(dialog): resolves issue where dialog templates were displaying HTML as text update(layout): restore sized flex-order styles restore build-scss 'modules' feature on #L63. update version number in package.json to 0.11.1 Create COMMIT_LEVELS.md Update CONTRIBUTING.md Update COMMIT_LEVELS.md Update COMMIT_LEVELS.md Update COMMIT_LEVELS.md fix(select): fix dynamic placeholder text closes #4689 fix(select): rollback number parsing on value attr closes #4615 As per the discussion in #4615, please use `ng-value` if you need a non-string value from an md-option for the `ng-model` of a select. fix(datepicker): stop calendar going off-screen if body is scrollable. Fixes #4781. remove debug ECHO. fixes(layout): corrections to generated css * fixes to generated css and media query specificity * layout.scss includes both attribute and class selectors * improved css for hide/show with breakpoints * improved css for flex-order with breakpoints * also generates angular-material-layouts.css for * standalone* CSS with attribute selectors. fix(sidenav): resolve jQuery conflict with handler Fixes #4876. fix(layout): conflict with [flex='initial'] * fix CSS so `[flex] !== [flex="initial"]` * add `[flex="grow"]` update(demo, content): refactor styles * set demo-content `height:600px;` for properly layouts and scrolling. fix(docs): fix demos GitCDN link to use proper URL for versioning The GitCDN link used in the current demos points to a URL which is redirected to a new one. When this redirect occurs, the version info supplied in the URL is lost and the file always points to HEAD making it difficult to track down. Fix snapshot script to use the new link which retains the version information. Closes #4922. update(layout): improve mutliple flex breakpoint usages fix(checkbox): prevent ng-click firing on didabled checkboxes. Fixes fix(layouts): improved css specificity for layout Standalone css has been deprecated; the ngMaterial module is required to register the layout directives. For improved `layout > flex` specificity, convert layout attributes (and breakpoint variants) to `.md-layout` with variants. * remove all attribute selectors from the Layout CSS * update demos to use revised .md-layout solution(s) * update layout demos to use ng-cloak * update demos to `colorNested` class update(content, demo): specify demo-content height fix(layout): resolve minify bug with flex css * fix minimize bug where `flex: 1 1 0%` incorrectly becomes `flex: 1 1 0`; * do not support md-css-only; JS is always required * do not remove layout attributes update(demo): use ng-cloak on all demos fix(layouts): improve logic for `layout > flex` specificities improve specificity for layout > flex with breakpoints and variants. fix demos and docs with expected layout classes fix(layout): add border-box style to to all `.flex` variants * also allow build of Layout css deprecated standalone usages. update(docs): demo text correction. chore(release): adds firebase rewrites to release script update version number in package.json to 0.11.2 fix(input): fix bad char counter when value is a number. Fixes #4635. fix(input): fix extra `var` in input tests. chore(): add .clang-format file. fix(autocomplete): resolves issue with not-found message displaying unnecessarily update(demo, tab):remove content padding on first demo Refs #3963. fix(button): Fix button height in Firefox. A `<button>` tag with the `.md-button` class added was rendering at 38px height instead of the spec's 36px. This was due to the `::-moz-focus-inner` pseudo-class having a default border greater than 0. Fixes #3291. fix(icon): Fix bug that prevented custom default fontset from being applied. Fixes #4349. Closes #4829. fix(card): position md-card-footer at bottom of card Old behavior did not cause the footer to stick to the bottom of the card if the card had an assigned height taller than its content. Fixes #3144. Closes #4891. Added an internal function to handle `debounce` in demo. Please see this [Google Closure compiler PR](https://github.com/google/closure-compiler/pull/1170) for more information/reference. Basically, the demo code is using `$mdUtil`, which is not part of the public API, and therefore not suitable for the public (docs) reference. Closes #4888. fix:Removed unnecessary background-color definition fix(demo, sidenav): resolve NRE with reference update(layout): remove layout-align attribute selectors update(doc, layout): remove obselete white styling fix(icon): adds check for `el` before checking its `tagName` fix(tabs): tabs now work properly with `md-dynamic-height` and `md-align-tabs="bottom"` Closes #4368 chore(tabs): adds comments describing previous commit fix(autocomplete): prevents scrollbar from displaying unnecessarily Closes #4308 fix(tabs): inkbar is now visible in Firefox when using centered tabs Closes #4367 Renders character count on keyup See http://codepen.io/Anaphase/pen/KdWPjy for details. Closes #5024. fix(dialog): fixed alert and confim `md-transition-in` class attachment Alert and confirm dialogs had in their template class attribute that was binded to `dialog.css`, in case the css property was undefined it caused the `md-transition-in` class to be applied but than deleted. The solution was to change the usage to ng-class and let angular set the class. fixes #4862. closes #5006. fix(autocomplete): Fix many issues with showing/hiding. The logic behind showing and hiding the autocomplete's list of suggestions was difficult to understand and was causing some issues with displaying at the proper times. Refactor code to use a "show when criteria is met" approach instead of a "hide when criteria is met" approach and fix some issues with the md-not-found and suggestions list appearing when they should not. Fixes #4665. Fixes #4788. Fixes #4906. Fixes #4855. Fixes #4618. Fixes #4469. Fixes #4025. Closes #4958. **References:** Refs #4309, Refs #4678, Refs #4673, Refs #4518, Refs #4503, Refs #4358, Refs #4905. enhance(bottomSheet): removed targetEvent and added clickOutsideToClose Closes #4969. Closes #2201. Closes #2895. update(docs, menu): misspelled attribute name Closes #4917. fix(inputs): Fix floating label and char counter positions. Recent updates to the `md-char-counter` class caused alignment issues when the input was side-by-side with another input. The underlying cause was that the other input uses `maring-top: auto` instead of `margin-top: 0` which made the inputs "bottom aligned" as the height of it's neighbors changed. This fixes the CSS on the char counter, inputs and select to better align and updates the inputs demo to show the select next to an input with the char counter. Also, I noticed a bug with the floating labels when using only the placeholder, so this adds some additional tests and fixes the bug. Fixes #4872. Closes #4915. update(commit_levels): fix minor typos, links, and duplication also fix issues identified by @topherfangio fix(fabSpeedDial): Make hovering an option via CSS. Initially, the speed dial was designed to always open when the user hovered over any portion of the speed dial (including the area where the actions would eventually appear). However, this made the speed dial unusable on mobile (and sometimes unusable on desktop) because it disallowed the user from pressing anything underneath the actions. * Add the `md-hover-full` CSS class to allow developer configuration of this behavior. * Ensure fabToolbar also works this way, and fix jumpy animation. * Also updated the docs/demos and made the demos easier to use on mobile. BREAKING CHANGE - The fabSpeedDial no longer automatically opens when hovering over the invisible actions. Add the `md-hover-full` class to enable this interaction. Fixes #4259. Closes #4847. fix(gridList): Fixes "fit" mode Closes #2012 fix(gridList): Changes to md-gutter will now trigger reflows Closes #3029. fix(gridList): Animated tile removal now triggers appropriate layout Closes #1559. Closes #4811. update(ink): added ripple color to switch radio and checkbox Closes #4817. feat(input): Add right-side icon to input container Fixes #4763. Closes #4808. update(switch): fixed switch movement speed Closes #4581. Closes #4816. fix(icon): Update demo fonts from 21px to 24px. fixes #4569. Closes #4799. fix(changelog): fix minor typo in 0.11.2 notes update(docs): updated CDN version number Closes #4894. update(virtualRepeat): add topIndex attribute to virtualRepeatContainer (squashed) Add an `md-top-index` attribute on the virtual repeat container. This allows the developer to watch which item is at the top of the scroll container, and also scroll to any item on demand. * Includes passing unit tests, documentation and working demo. * Live demo: http://codepen.io/colinskow/pen/jbVaRj Fixes #4823. Closes #4823. update(docs): new doc website screenshot Show the newly designed docs site on the README instead of the old 0.8.3 version that has a different layout. Closes #4805. fix(input): Sizes textareas properly when the container is shown Added an optional md-detect-hidden attribute for textareas inside of md-input-containers. This will check on every digest cycle whether the element was hidden and is now shown, and will auto-size the textarea properly. Fixes #1202. Closes #4726. docs(chips): formatting fixes add subheader and linebreak for md-chip-template section Closes #5032. update(doc, icon): typo fix Closes #4849. update(doc, card): markdown is not rendered Closes #4832. feat(interimElement): add onShowing event Currently hideElement has an onRemoving event, this is the showElement equivalent. Useful when dealing with loading spinners that should disappear before the dialog shows. Closes #4820. fix(dialog): keydown instead of keyup to close dialog Previously md-dialog is watching for keyup while md-autocomplete is preventing keydown fixes #4041. closes #4884. fix(docs): fixes code urls for docs generation fix(tabs): fixes tab sizing issues with and without pagination Closes #4065 Closes #4834 Closes #4873 Must test with #4744 fix(gridList): Animation reflow fix. Now correctly decorates the element with the destroyed flag. Closes #1559. Closes #5042. fix(tabs): adds proper detection for bodyless tabs Closes #4120 chore(docs): fixes docs for `md-no-ink-bar` attribute Closes #4082 fix(tabs): fixes `md-stretch-tabs` functionality Closes #5048 docs: Fix various doc formatting issues. Fixes #5051. chore(tabs): Adds documentation for `md-active` Closes #4011 chore(autocomplete): updates docs for expression attributes Closes #3743 fix(input): Fix border styles on Firefox. Fixes #2914. fix(tabs): overrides icon color when used within tab label Closes #3879 fix(mdListItem): Fixed integration with checkbox and added icon avatar * Deleted `:first` from css so the avatar can be used properly with checkboxes or other components/elements that comes before. * Added `.md-avatar-icon` class to support icon avatars * Updated docs to mention these classes including `.md-offset` fixes #3784. fixes #3186. closes #5054. fix(repeater) resize scroller correctly, There was some recursion inside VirtualRepeatController.prototype.virtualRepeatUpdate_ which was causing the scroller not to shrink properly when items were removed. Fixes #5027. Closes #5031. In addition, in onDemand mode an undefined length would stop the container from sizing correctly. An undefined length will now be changed to zero.# It could also possibly fix #4950 and may be a better solution than #5009, but I haven't yet tested it against that issue.# fixes #5027# (use "git push" to publish your local commits) update(demo, dialog):moved padding to class and removed padding from element Content padding was forced on the user and caused other components as tabs not to work as wanted. Moved the padding to a class that the user can specify on his content. closes #3963. closes #4983. fix(interimElement): Removed unnecessary resolve fallback values Removed SHOW_CLOSED fallback that caused false, empty string or undefined in the resolved promise to become true fixes #4094. fixes #4150. closes #4982. fix(dialog): Switched the click action to mouse down/up Changed the click event to mousedown and mouseup so we can save the origin element on mouse down and close on mouseup if the origin and the target is the backdrop fixes #3873. closes #4972. fix(chips): do not display broken image when no image is provided When no image property is defined on the user model, do not render an `img`-element. * add missing unit tests for image / no image cases on contact chips Refs #4779. Closes #4851. fix(toast.scss): Change height to defined for IE11 Height updated to value below min-height. IE11 does not layout correctly without. Tried 'inherit' but caniuse.com says not supported. Fixes #4946. Closes #5057. fix(menu,menuBar): fix keyboard interaction closes #5025 fix(autocomplete): adds tabindex support for autocomplete Closes #2113 fix(layouts): interpolated values, validations, test & CSS fixes * improved consistent use of `attrs.$observe( )` to watch for interpolated attribute values (for Layout attributes which support value specifiers). * add validation of Layout attribute values with fallbacks to default value approprate to each attribute type * significant code cleanup for use of `$observe( )` * removed possible classname generation with raw, uninterpolated strings * removed multiple classname generation * fixed invalid classname generation when interpolation values are invalid * remove `md-` prefix from layout class names * remove all attribute selectors from layout.scss * deprecated use of `offset` attribute; now uses `layout-offset` * add box-sizing to all flex variants * add max-width/height to flex variants * fixed max-width/height for flex 33, 34, 66, and 67 variants. * complete refactor for spec testing of Layouts Fixes #5076. Fixes #5054. Refs #5014. Fixes #4994. Fixes #4959. Fixes #4902. Fixes #2954. Fixes #5014. Closes #5090. fix(layout): Fix IE align-items: center issue. In Internet Explorer 10/11, flex items inside of a flex column container that had `align-items: center;` set would not properly calculate their width, resulting in 0-width items. Fix by setting `max-width: 100%` and `box-sizing: border-box` on the child elements, and fixing the demos to properly use `layout-fill` where appropriate. Also fix issue checkbox demo issue with flex fieldsets not properly rendering in IE. Closes #5089. feat(slider): add md-max class when at max value add md-max class when at max value. This is to keep things consistent with the fact that md-min is added when at min value fixes #3513. closes #5077. update(docs): significant improvements to the layout and flex docs * fix hide/show implementation for flex order attribute examples * improve clarity and consistency of layout docs * improve hide and show examples and fix display issue on mobile caused by using `md-subheader` * improve `layout-wrap` examples to cover new flex percentages * improve the container demo and make it consistent with the other layout/flex demos * add new section on other flex values like grow, initial, auto, none * add real examples for `layout-margin`, `layout-padding`, and `layout-fill` * add details about max-height and max-width settings on row and column layouts * add note about attribute vs class selectors and IE11 performance * add example of use of 33/34/33 flex sizes with `layout-wrap` * remove redundant `style="color:white"` styles * remove `colorNested` and `colorNested-noPad` from the example code while keeping the functionality feat(layout): support for `md-layout-css` directive * implement directive to disable all conversions of Layout attributes to classnames * requires loading stylesheet `angular-material.layout.css` * generation of attribute-only layout-css using * fix css generation * layout-offset-33 -> margin-left:33% * layout-offset-34 -> margin-left:34% * layout-offset-66 -> margin-left:66% * layout-offset-67 -> margin-left:67% * support for Layout configuration * removal of useless $mdLayout service * update docs to use `.md-api-table` and bold the first-column text. update(demo, radioButton): add multi-column example chore(ci): ensure version script pulls in new tags of AngularJS Closes $5092. feat(docs): use html5mode routing and simplify urls. fix(layout): deprecate `offset` attribute in lieu of `flex-offset` potential conflicts with `offset` attribute overrides may affect SVG and other elements. Revise usage to `flex-offset` to eliminate conflicts. NOTE: the attribute classname `[offset-xxx]` is still supported however the generated subsequent classnames will be `.flex-offset-xxx`. BREAKING CHANGE: Material Layout attribute `offset` should now be `flex-offset`. Change your code from this: ```html <md-content flex offset-gt-sm="33" > ... </div> ``` To this: ```html <md-content flex flex-offset-gt-sm="33" > ... </div> ``` fix(layout): disable `offset` directive use the new `flex-offset` directive and remove the deprecated `offset` directive. update version number in package.json to 0.11.3 fix(theming): BREAKING: no longer apply md-default-theme class to unnested themable elements closes #4846 Themable elements no longer have a `.md-default-theme` class applied to them if they are not inside of a directive explicitly setting `md-theme="default"` this helps reduce specificity making it easier to override angular material's default style. At the same time, the rule is applied if `md-theme="default"` so that the (presumably nested) theme can have higher specificity than other themes in the DOM. Fix required: Stylesheets should not target elements using the `md-default-theme` selector. Overrides should happen by targeting non angular-material provided classes. As a quick fix, a `md-theme="default"` at the `ng-app` level will result in the `md-default`theme` class being applied as it was before this fix. Theming related styles now target `md-default-theme` making it harder to override when the class is applied. update(release): commits firebase json changes to docs site release: version 0.11.3 update(docs): fixes chevron icon in header amend(): fix default theming rules fix(docs): Fix broken layout/theming/css nav links. fix(mdCard): Fix card image height in IE. In IE11, the height of the card image was not properly displaying proportinally to the width due to https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored. Fix by setting the image to use flex layout itself instead of just width. Tested in IE11, Edge, Chrome, Safari & Firefox. Fixes #761. fix(list): ng-click changes item width in IE In IE11, when using `ng-click` on an `md-list-item`, the width of the list item would be incorrect due to https://github.com/philipwalton/flexbugs#7-flex-basis-doesnt-account-for-box-sizingborder-box. Fix CSS to to use `flex: 1 1 auto` instead of `flex: 1` so that the width is properly calculated. Fixes #3708. fix(input): fix border-bottom transparency closes #5128, references f9d5cf8ed20551ae7fc5f8b4f21407db7fc9bdbc update(list): add css `.md-long-text` for long paragraphs Fixes #5122. update(demo): sidenav toggle debounce removed The toggle debounce [used to address multiple clicks on the same button] causes a delay and is perceived as a performance issue. * Use an *immediate* toggle for the right button * Hide the right button with the right sidenav is open using `isOpenRight( )` References #3721 fix(docs): fix "Getting started" link in left nav. fix(docs): remove extra base tag. update version number in package.json to 0.11.4 update(demo, whiteframe): adaptive changes to margin, color, and fontsize fix(select): do not let empty arrays satisfy required on multiple select fixes #4604 fix(datepicker): fix theme not being applied. fixes #5141. revert(datepicker): rollback f20a635 for other fix This reverts commit f20a635424d35d9207226a310248492be6975d3c. references #5164 fix(tabs,date-picker,theming): restore tabs and date-picker themes closes #5163, fixes #5141, closes #5164, closes #5155 fix(tooltip): corrected md-tooltip positioning when scrolled There are several issues out there (e.g. #2406) that point to tooltip positioning when the page is scrolled and getNearestContentElement that suggests that the enclosed loop is supposed to stop at md-content but does not. Adding that condition to the loop fixed the positioning issue for me. Fixes #2406. Closes #5161. fix(text): remove ddescribe() fix(autocomplete): fixed integration with dialog ENTER key on autocomplete with unselected list item didn't prevented the event to bubble up to the dialog which caused the dialog to be rejected. Separated TAB and ENTER keys behavior to prevent event bubbling and ensuring that no matter what, TAB should always move to the next element. Fixes #3979. closes #5154 refactor(mdTooltip): removed radial reveal animation Changed the radial reveal animation to fade-in animation as spec Fixes #4585. Closes #4821. fix(autocomplete): adjusts vertical offset of dropdown to account for ngMessages in floating label examples fix(list): adds support for `data-ng-click` in place of `ng-click` for buttons Closes #3374 feat(mdDialog): added openFrom and closeTo properties openFrom specifies the origin of the transition animation closeTo specifies the target of the transition animation both except string (query selector), element and Rect object fixes #4228. closes #5075. update(demo, dialog): improved button titles update(demo, dialog): improved button layouts fix(mdCard): Content padding not showing in IE 10. In IE 10, the padding in the content area was not being properly applied because the `<md-card-content>` element had no display property set. Fixes #2974. Closes #5120. fix(divider): Fix stlying for md-divider inside md-list-item. When an `md-divider` was used inside of a `md-list-item` with an `<md-button>`, the divider would improperly show up at the bottom of the list, instead of the bottom of each list item. Fix by making the list item's position relative. Also, we automatically apply special styling when we detect an `<md-button>` inside of the list item because we assume that it wraps all of the elements. If you simply wanted to use a secondary `<md-button>` or other clickable button inside a list, we would incorrectly apply this styling. Fix by automatically excluding `md-secondary` buttons and providing an additional `md-exclude` class that can be added to buttons. Fixes #3021. Closes #5058. docs: Add optional dependencies to getting started guide. Many users have had some issues with getting things to work correctly because they did not realize that certain dependencies were optional and not automatically included. Add a section to the getting started guide to let people know which dependencies these are. Fixes #2820. References #4921. Closes #5123. fix(layout): fix flew-grow and flex-shrink values for flex-xx='xx' markup flexboxes should be 50% on flex-md=50 breakpoint and 33% on flex-gt-md=33 breakpoint,etc change flex-grow and flew-shrink values from '0' to '1' Thx to @MartinMuzatko for his help! fix(layout): provide missing SCSS variables for standalone Layout css fix(list): restore ui-sref and href support on md-list-item closes #2131 fix(layout): standalone layout css flex-grow and flex-shrink updated flexboxes should be 50% on flex-md=50 breakpoint and 33% on flex-gt-md=33 breakpoint,etc change flex-grow and flew-shrink values from '0' to '1'. See SHA 9f704302f4f881233. update(layout): added another flexbox reference url docs(): add "API" to api doc pages. closes #5191. feat(core): add ngMaterial global with version info. closes #5202. fix(build): add missing semi-colon. fix(build): add second missing semi colon build(docs): add ability to conditionally build docs with jQuery feat(mdGestures): greatly improve emulated click hijacking This commit greatly extends the click-hijacking functionality of `$mdGestures`. **Background:** iOS emulates click events on a `350ms` delay in order to avoid sending clicks when users pan, perform gestures, etc. This leads to pages often feeling laggy in mobile browsers. This appears to be less of an issue in Safari, but is a major issue in embedded webview applications such as Chrome on iOS and PhoneGap built apps. To get around this `$mdGesture` previously `touchstart` and `touchend` events and manually dispatches `click` events. This allows them to happen much quicker than the 350ms. It then configures the page to ignore clicks that were not originated by `$mdGesture`. **Problem:** While `$mdGesture` did successfully hijack the `click` event, it did not hijack other emulated events from iOS, including `mouseup`, `mousedown` and the subsequent `focus` event that could originate from a delayed `click`. **Example of problem:**: Issue #4850 was caused by the `md-select` opening quickly via our simulated `click` event, followed by receiving a `350ms` OS delayed `mousedown` event resulting in an option immediately being selected. Some other example problems that impact the framework: - Ink ripples are 350ms delayed (use `mousedown` and `mouseup`) - Some components / items randomly ripple or trigger after being focused / click. Usually this isn't an issue, but can be (eg. #4850) - `focus` events are 350ms delayed (Affects input) **Soltuion:**: This PR makes `$mdGesture` perform hijacking of `mousedown`, `mouseup` and subsequent `focus` events in order to more quickly dispatch them. **Notes:** A few of our internal components needed some refactoring as they were properly discarding the emulated `mousedown` (which is now ignored DOM wide) and relying on those events for state, etc. Ripples will need a fix as they now properly ripple on `mousedown` but can hit a situation where they receive no later `mouseup` event. Perhaps listening to the document-wide `mouseup` event should be registered on `mousedown`. An example is scrolling in the Docs' Sidenav via touch. closes #4850, closes #4757 update(demo): menu and checkbox demo container sizes specified. Revert "feat(mdGestures): greatly improve emulated click hijacking" This reverts commit 446df804255273908841d4fa5c37e11ef18d936f. fix(md-slider): set step property relative to min Closes #4403. Fixes #4385. fix(tabs): fix tab paging and sizing on IE11 when tabs are in a dialog `elements.dummies` is not always valid on IE11. It often throws `Invalid calling object`. The fix is to call `getElements()` to do a fresh look up of the selectors each time. Only doing the `getElements()` call when the exception is throw was tried. It resulted in improperly loading/sizing of tabs on small screen sizes. Fixes #3953. Closes #5096. fix(gestures, fabSpeedDial): Gesture ClickHijack iOS fixes and FabSpeedDial fixes Extend the click-hijacking functionality of `$mdGestures`: **Background:** iOS emulates click events on a `350ms` delay in order to avoid sending clicks when users pan, perform gestures, etc. This leads to pages often feeling laggy in mobile browsers. This appears to be less of an issue in Safari, but is a major issue in embedded webview applications such as Chrome on iOS and PhoneGap built apps. To get around this `$mdGesture` currently listens to `touchstart` and `touchend` events to manually dispatch `click` events. This allows it to trigger events much quicker than the 350ms. It then configures the page to ignore clicks that were not originated by `$mdGesture`. **Problem:** While `$mdGesture` did successfully hijack the `click`event, it did not hijack other emulated events from iOS, including `mouseup`, `mousedown` and the subsequent `focus` event that could originate from a delayed `click`. **Example of problem:** Issue #4850 was caused by the `md-select` opening quickly via our simulated `click` event, followed by receiving a `350ms` OS delayed `mousedown` event resulting in an option immediately being selected. Some other example problems that impact the framework: - Ink ripples are 350ms delayed (use `mousedown` and `mouseup`) - Some components / items randomly ripple or trigger after being focused / click. Usually this isn't an issue, but can be (eg. #4850) - `focus` events are 350ms delayed (Affects input) This PR makes `$mdGesture` perform hijacking of the `mousedown`, `mouseup` and subsequent `focus` events in order to more quickly dispatch them. **Notes:** A few of our internal components needed some refactoring as they were properly discarding the emulated `mousedown` (which is now ignored DOM wide) and relying on those events for state, etc. Ripples will need a fix as they now properly ripple on `mousedown` but can hit a situation where they receive no later `mouseup` event. Perhaps listening to the document-wide `mouseup` event should be registered on `mousedown`. An example is scrolling in the Docs' Sidenav via touch. closes #4850, closes #4757. closes #5214. closes #5234. Refs #5195. fix(dialog): Provide option to not autowrap templates. For convenience, we automatically wrap templates that do not contain a `<md-dialog>` tag within them. However, some users would like the ability to create their own dialog directives (like `<my-fancy-dialog>`) that internally use the `<md-dialog>` tag within their template. This causes two `<md-dialog>` tags to be created. Provide a new `autoWrap` option which can be set to false to disable autowrapping when providing a custom directive. Fixes #4898. Closes #5237. update version number in package.json to 0.12.0-rc1 update(docs): update layout grid docs to reflect changes in master `flex` is the same as `flex="0"` again. `flex="grow"` is the same as `flex="100"` again. Closes #5245. fix(layout): Prevent class overriding when lastClass is null This fixes an annoying behavior of the layout attributes that is removing all the element's other classes when trying to convert layout attributes to classes. Closes #5257. update version number in package.json to 1.0.0-rc1 docs: Fix incorrect Codepen GitCDN links. The release script still pointed to the old GitCDN links which always redirect to the master branch instead of the version specified. Update release script to use proper links. Fixes #5391. Closes #5392. Update doc of md-list-item Update the doc for md-list-item to include a description of the classes `md-2-line` and `md-3-line`, which can be used to increase the height of list items. Closes #5412. docs:(switch.js): documenting ng-disabled parameter Add @param documentation for ng-disabled, in the same style as md-button Closes #3216. fix aria property in MdChipRmoveDirective fix property ariahidden to aria-hidden Closes #3835. update(build): set AngularJS dependency to 1.4.7 update(docs): removes outdated part of tabs documentation Closes #5181 update(tooltip): add support for dynamic `md-direction` attribute Observing tooltip direction changes and using positionTooltip for live tooltip positioning if the tooltip is visible * support raw, interpolated, and expression string values to set the tooltip display direction/orientation. * update demos to show usages and interactions with `md-visible` Fixes #5362. Closes #5373 fix(md-chips): appendChip disallows identical objects * appendChip disallows appending an identical string or an exact object (duplicate object) more than once. It now disallows identical objects from being appended. * appendChips object check loop optimized: md-chips' appendChip uses a filter to loop through items to search for an identical object to chip. This is inefficient since it will keep searching even after it finds a match. Now mdchips appendChip uses a some loop, which stops execution as soon as a match is found. Fixes #4466. Closes #4479. update(docs): update starter CodePen * use the /team/AngularMaterial url for CodePen forks * use angular-material 1.0.0-rc1 and angular 1.4.7 * update CodePen to latest whiteframe API Closes #5354. fix(speedDial): Don't intercept spaces and fix animations. * The speed dial watched the document for spacebar presses and intercepted them by preventing the default. There was really no reason for this, so the code has been removed. Additionally, all keypress events are now bound to the element itself instead of document. * Fix the close animations to properly fire on Safari/iOS. * Fix some issues after recent gesture updates. Fixes #5085. Fixes #4750. Fixes #5065. Closes #5396. fix(autocomplete): clicking on the scrollbar will no longer close dropdown Closes #4785 Closes #4625 fix(layout): fix wrapping and filling layouts to 100% using flex-33 or flex-66 Use calc() to determine 33% and 66% so that browser will properly add them together to make 100%. * Remove flex-34 and flex-67. * Update docs for these changes. Fixes #5346. Closes #5348. cleans up `shouldHide` code refactor(input): refactors styles to use `display: inline-block` fix(layout): layout-margin and layout-padding fixes for child containers **layout-margin** and **layout-padding** were not being applied to child containers unless the *.flex* class was present. This has been fixed. * layout-margin and layout-padding now affect immediate children * layout-margin suffixes are supported (-sm, -gt-sm, -md, -gt-md, -lg, -gt-lg) * layout-padding suffixes are supported (-sm, -gt-sm, -md, -gt-md, -lg, -gt-lg) > With 'layout-margin', developers may need to override the child container flex sizes to fit properly in `layout="row"` modes. See http://codepen.io/team/AngularMaterial/pen/BoVBaE for details. Closes #5425. Refs #5014. Refs #5156. fix(mdChips): Autocomplete styling is incorrect. The chips autocomplete had unnecessary styling and the default autocomplete directive does not add the `md-input` class to it's input, so it did not look correct. Also fixes issue with md-chip readonly padding styles. Fixes #4600. Closes #4621. update(toast): increased toast z-index Fixes #5100. Closes #5386. Fix tooltip issue with dynamic directions. fix(tabs): will no longer jump to top when changing tabs with `md-dynamic-height` Closes #4281 fix(dialog): make sure dialog only destroys itself. Dialog destruction is async and deferred. As such, there's a risk of another dialog having been created by the time the current dialog's "destroy()" is called. * Added tests for testing dialog double opening. * Fix a bug which prevents a dialog from being closed if it's opened while another dialog is shown. Closes #5157. perf(theming): add on-demand style generation. Closes #5399. fix(backdrop): use fixed position for global backdrops. Set backdrop `position:fixed` when the parent is BODY to give it a position based off the body viewport. Closes #2831. fix(speedDial): non-fab clicks no longer close immediately In the demo application and some user's apps, the `md-open` attribute was bound to an input element, but clicking this element while the FAB Speed Dial was open would open and then immediately close the speed dial since the user clicked outside of the speed dial. Fix by delaying the check for outside clicks until the next digest loop. Also fix a tiny positioning issue with the fling animation. Fixes #5243. Closes #5440. release script will now update latest version with RCs update version number in package.json to 1.0.0-rc2 fix(datepicker): properly set ngModel validity. Fixes #4926 release: version 1.0.0-rc2 changes rebase strategy in release script for docs site Add missing breaking changes back to changelog fix(input): fixes input height in IE11 fix(input): ngMessages will no longer cause layout to change on animation fix(menubar): fix RTE with close dialogs invoked from menubar Closes #5476 refactor(tooltip, util): moved generic functions from tooltip to util * Refactored the tooltip a bit, made the code a lot approachable to read with adding updatePosition function that now is managing the whole tooltip positioning update * Moved useful generic functions from the tooltip to the util Closes #5419. fix(tabs): icons in tab labels should match the text color Closes #5465 update(layout): remove dangling commas update(util): fix test for getParentWithPointerEvents fix(progressLinear): Remove extra semi-colon from SCSS. There was a single extra semi-colon in the SCSS for the progress linear. Fix by removing it. Fixes #5260. fix(datepicker): throw error if inside md-input-container. For #5055 fix(layouts): removeAttr RTE on comment nodes some directives (eg ng-messages-include) inject a comment node which will cause errors when trying to use `node.removeAttribute( )`. Refs #5454 fix(autocomplete): handle undefined searchText If the autocomplete's bound searchText was set to undefined, it would throw an error. Fix by ensuring that the searchText will always be an empty string when performing the `handleQuery()` method. Fixes #5162. Fixes #5393. References #5344. Closes #5445. fix(autocomplete): fix md-not-found bug with multiple autocompletes If a developer used more than one autocomplete on the page, all autocompletes after the first which included a md-not-found template would incorrectly assume that they also had one even if they did not. Fix logic to reset the variable to `false` when necessary. Fixes #5400. Closes #5442. fix(dialog): BREAKING CHANGE now md-dialog-actions fix(card): BREAKING CHANGE now md-card-actions Support deprecated .md-actions class. Closes #5466. docs(changelog): add breaking change for md-dialog-content Closes #5470. fix(virtual-repeat): Prevent nested calls to virtualRepeatUpdate_ Due to some browser issues, the $watchCollection callback that calls virtualRepeatUpdate_ sometimes fires in the middle of a virtualRepeatUpdate_ call. This can result in duplicate items showing up in the virtual repeat list. Fixes #4950. Closes #5009. fix(lists): Fix alignment of secondary icons/controls. Icons and controls (like checkbox and switch) were incorrectly positioned. Fix by ensuring that they are all right-aligned. Fixes #3699. Closes #5533. docs: Update dialog demo to use md-dialog-actions. fix(datepicker): throw error if model is not a Date. For #5266 fix(subheader): Remove 16px right margin. Previously, the subheader had a 16px right margin that would be visible and particularly odd if you changed the subheader background. After recent changes with the subheader now being stickied to the `<md-content>` instead of the parent, this can now be removed. Fixes #4389. Fixes #708. Closes #4419. fix(select): allow circular references closes #5330, references #3268 fix(select): ngModel.$touched trigger after menu close closes #5256 fix(fab): Remove transition for fabs on ng-hide. Buttons currently have CSS to ensure they do not attempt any transitions when they have the `ng-hide` class attached. The `.md-fab` buttons were not receiving the same styles due to a specificity issue. Add the same styles for FABs that standard buttons have. Fixes #5235. fix(menu-bar): fix sibling nested opening and closing incorrectly closes #5119 docs(select): explain track by for ngModelController closes #2862, references #5238, references #3625, references #3012 fix(select): fix ng-change over firing when using trackBy closes #4118 fix(select): fix escape closing dialogs when used inside select references #3827 style(menu-bar): fix ie menu items being centered references #4439 fix(mdUtil): fix disable scroll adding extra scroll-bars on IE closes #5300 Thanks @van88 for the investigation. Update iconDirective.js grammar fix in documentation Closes #5582. fix(button): set color of disabled button to highest css priority. Normally a disabled button in the toolbar won't get the disabled button style, because the theme style is injected after the default style Fixes #5569. Closes #5574. fix(toolbar button): Fix color of raised buttons. Raised buttons inside of a toolbar had the incorrect text color applied. Fix styles to not apply special toolbar styling to raised buttons. Fixes #4845. Closes #5562. fix(virtualRepeat): Add ability for container to resize after creation Closes #5561. docs($mdToast): Update docs with more info and better style. It was not clear that the `$mdToast.simple()` method returned an object which also had all of the methods/options available from the `build()` and `show()` methods. * add a short comment to inform developers. * update styles to be more readable. Fixes #2420. Closes #5550. fix(tabs): fix positioning absolute/fixed elements inside md-tab-content closes #4613 docs($mdToast): Update docs with more info and better style. It was not clear that the `$mdToast.simple()` method returned an object which also had all of the methods/options available from the `build()` and `show()` methods. * add a short comment to inform developers. * update styles to be more readable. Fixes #2420. Closes #5550. fix(ripple): changed ripple center from layerX/Y to offsetX/Y Layer is not considering fixed/absolute positioned elements and it makes the ripple appear from the relative center of the container element, Offset is relative to the target element therefore is more accurate. fixes #4807. fixes #5508. closes #5527. fix(ripple): removing ripples on touchmove When touching a button in order to scroll, the button creates a ripple as its being pressed, now when the touch moved we assume that this gesture is a scroll so we remove all the ripple effects fixes #5261. closes #5532. fix(sidenav): Notify other close events like datepicker-close too md-datepicker won't close if sidebar is open and the sidebar event stops propagation Fixes #5522. Closes #5528. feat(datepicker): predicate function to allow fine-grained control over pickable dates Fixes #4538. Closes #5475. update(ripple): refactor to closure function refactor(chips): Deprecate md-on-append in favor of others. The usage of `md-on-append` was not well documented and it's behavior was inconsistent and confusing; many users assumed it was a simple notification of chip additions which caused issues. * renamed `md-on-append` to `md-transform-chip` and provided a new `md-on-add` method that is strictly a notification. * updated the docs and functionality of `md-transform-chip` to show expected return values and their associated behavior. > This new behavior also adds support for simlultaneously using an autocomplete to select an existing value along with the ability to create new chips. The most common case for this is a tag system which shows existing tags, but also allows you to create new ones. > Demos have been updated to show new functionality as well as to workaround a few display issues with the contact chips demo (#4450). _**Note:** This work supercedes PR #3816 which can be closed when this is merged._ BREAKING CHANGE: `md-on-append` has been renamed/deprecated in favor of `md-transform-chip` or the simple notifier `md-on-add`. We expect to remove this completely in 1.0, so please update your code to use one of the new methods. Fixes #4666. Fixes #4193. Fixes #4412. Fixes #4863. Closes #5497. Closes #3816. docs(layout): document negative flex order Closes #4482. Closes #5543 fix(components): fix issue with removeClass removing previous classes In certain parts of the project, a "removeClass(className)" is used to remove the class from the element. While this works fine in latest versions of jQuery, in jQuery < 1.9 this results in the element classes being removed when className is undefined, thus breaking the whole layout. Closes #5538. fix(datepicker): apply ngMessages errors when using text input. Fixes update(components): remove null checks for constants update(autocomplete): improve enter key use on input field All enter key event bubbling when the input field has a valid selection. Closes #5302. Fixes #5228. update(theme): fix missing bracket Closes #5350. fix(autocomplete): Allow clicks inside md-not-found. Fix bug causing the autocomplete to blur, lose focus, and hide the not found message if the user attempted to click the not found message (or a link inside of it). Fixes #5424. feat(ripple): ink-ripple is now getting an interpolated value Ink ripple attribute supported only colors. Now with interpolated value also boolean values are supported ``` html <div md-ink-ripple="{{myFunc()}}">yay</div> ``` fixes #5438. closes #5580. fix(ripple): moved mouseleave listener to a separated declaration This caused tooltip to never get hidden update(ripple): refactor color() test(ripple): added test to ink-ripple * add tests for PR #5580 changes Closes #5595. docs(toast): remove 'fit' option which doesn't actually exist. chore(docs): optimize images (lossless) update(doc, datepicker): update attributes documentation replace required to ng-required, disabled to ng-disabled and add md-placeholder information Closes #5591. update(button): add default type to buttons to prevent autosubmission of forms BREAKING CHANGE: Buttons with undefined `type` will have type="button" assigned, so forms may not submit as previously expected. Before: ```html <button class="md-button" ng-transclude> ``` will become ```html <button type="button" class="md-button" ng-transclude> ``` Fixes #3127. Closes #5468. update version number in package.json to 1.0.0-rc3 fix(menu): menu items are not aligned in Microsoft Edge Fixes #3987, closes #5487 feat(mdMenu): add md-prevent-menu-close closes #5457, closes #4334 fix(mdMenu): fix attempting to close non-existant nested menus fix(select): fix auto-complete element not being removed from form closes #5575 Update changelog to mention reverting md-button default type="button" docs(toast): marked cancel method as DEPRECATED fixes #4218 fix(select): fix floating label not rendering until focus closes #5566 style(menu): fix alignment inside toolbars fix(menuBar, menu): make work in isolate scopes (ng-repat), improve performance, broken hover hilighting closes #4484, closes #5149, closes #5370 test(phantomJS): fix menu tests for phantomjs amend(menu): fix removing listeners when they had not ever been added closes #5683 fix(menu): fix divider disappearing on scrolling menu closes #5081 fix(menu): all menus no longer self destruct when one is destroyed closes #5395 feat(showHide): Introduce directives to notify child directives on hide/show. Features extreme tail-hooking technology. Change the update to use nextTick so that the hide/show has already taken place. Closes #5579. chore(virtualRepeat): Address review comments on #5561 Closes #5633. fix(datepicker): Icon jumping upon open/close. When the user opened/closed the datepicker in the inputs demo, the icon would jump to the left. This was caused by two separate issues: 1. The demo CSS overrode only the closed styles. 2. The browser would scroll the parent datepicker to the left upon focusing the down-triangle button so that it could be visible. You can easily reproduce this by tabbing to the down-triangle then checking the `<md-datepicker>`s `scrollLeft` style. Fix by removing unnecessary demo CSS and adding proper padding/margin to the datepicker so that the down-triangle has room to appear. Fixes #4570. Closes #5703. pref(list): prevented unnecessary ripple container on list with ng-click By checking if the element hasClick we preventing unnecessary ripple-container to be attached to the already attached element. fixes #5295. closes #5658. docs(inkRipple): added inkRipple service and directive docs closes #5596. closes #5629. feat(chips): add support for custom separator keys Add the ability for chips to be created on keydown of any key code in the `md-separator-keys` attribute. Custom key codes are supported in addition to common ones defined in `$mdConstant.KEY_CODE`. Closes #5279. Closes #5281. update(tooltip): resize event listener detached on $destroy Closes #5687. Fixes #5688. fix(input): fixes alignment issues between textareas and inputs Closes #5462. Closes #5682. Revert "fix(input): fixes alignment issues between textareas and inputs" This reverts commit fb6f81a5a0f400b65ca3ecc72a64d669f1c4bfe8. fix(autocomplete): adjusts dropdown position for standard input style Fixes #5558. Closes #5680. feat(card): improved to behave as spec Added all functionality as seen in: http://www.google.com/design/spec/components/cards.html#cards-content-blocks fixes #1900 Revert "feat(card): improved to behave as spec" This reverts commit 323d5f6e693e59c596448b53e9e8bc3cf0039e9c. style(listItem): removed unnecessary button background color and hover background color fixes #2922. closes #5620. style(list): overridden button and ripple default radius Removed button border radius when was placed instead of the list item fixes #5177. closes #5682. fix(toast): added position relative to toast parent Toast is aligned by `position: absolute` therefore its parent must have `position: relative` to enable the toast align properly, * Added `position: relative` to the parent only if there's no computed style for position (checking for `static` because this is the default computed position) fixes #4542. closes #5660. style(input): messages are now invisible when the input is not touched fixes #5140. closes #5714. fix(select): disabled option no longer reacting to hover and closing on click Check disabled attribute before closing menu. When clicking the menu anywhere but a valid option the menu closing will be prevented fixes #4967. Closes #5619. fix(input): textarea auto grow fixed * Textarea should grow automatically if no `rows` attribute is specified. * Texarea should stay fixed with given `rows` attribute (no growing or shrinking) Fixes…
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Previously, multiple
ng-message
s would render on top of each other. Fix by altering CSS position and altering transition to support multiple messages (i.e. potentially varying height).Also some other small fixes to inputs/errors:
ng-message-exp
and associateddata-
andx-
attributesng-message-exp
to show new SCSS styles being appliedFixes #2648. Fixes #1957. Fixes #1793.
Should also close PRs #4472 and #4008. Thanks to @bopm and @iksose for the initial PRs!