Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

md-dialog no longer works with $q.all() #3919

Closed
JDGoldman opened this issue Jul 28, 2015 · 1 comment
Closed

md-dialog no longer works with $q.all() #3919

JDGoldman opened this issue Jul 28, 2015 · 1 comment
Assignees
Milestone

Comments

@JDGoldman
Copy link

I have created a Dialog service which basically pops-up a "processing" md-dialog while a data service (or other promise or promises) runs. As soon as the promise (or promises) returns, the processing dialog is supposed to hide automatically. The Dialog service works fine with Material v 0.10. It breaks with Material v 0.10.1-rc3 and beyond.

A Codepen of my Dialog service with methods to invoke the main functions is located here: http://codepen.io/JDGoldman/pen/ZGqjdY

The Codepen uses Material v0.10. If I try to change this to v0.10.1-rc4, there is a problem with the dialog controller when using a $q.all() syntax (you can tell because the {{ }} show up instead of text). If you have only one promise/function, the dialog service appears to work normally. If I pass my DialogService in to the $q.all() call as one of the parameters, the dialog service finds the controller, but the dialog never closes (since, of course, it is now waiting for itself to close).

I assume that the newer versions of Material were not supposed to break my Dialog service. I'm not sure exactly where this problem cropped up, but it definitely occurred after v0.10. If I had to guess, perhaps it is caused by eliminating the dialogTransitionEnd function and $mdUtil.transitionEndPromise(dialogEl) calls, all of which returned a promise.

Thanks for reading. Great work on this project. Angular Material is incredible.

@lucasmartinez
Copy link

+1
I have the same problem

ThomasBurleson added a commit that referenced this issue Jul 29, 2015
… transitionEnd events.

replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {  @include not-selectable(); }

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Jul 29, 2015
… transitionEnd events.

replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {  @include not-selectable(); }

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Jul 29, 2015
… transitionEnd events.

replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {  @include not-selectable(); }

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Jul 29, 2015
replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {  @include not-selectable(); }

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Jul 29, 2015
replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {  @include not-selectable(); }

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Aug 4, 2015
… transitionEnd events.

replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {  @include not-selectable(); }

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Aug 4, 2015
replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {  @include not-selectable(); }

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Aug 6, 2015
… transitionEnd events.

replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

$mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
use animateCss.js polyfill for 'material.animate' module
- add mock `createMockStyleSheet` for animateCss tests
refactors to menu-interim-element.js and select.js
- refactor logic and patterns used
- use $animateCss in place of waitTransitionEnd()
debounce Select and Menu window resize handlers
Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
- disable scroll before creating the backdrop
select async demo no longer clears users list when reloading
select demos use `md-input-container { margin-right: 10px;}`
hide Select Backdrop with zero duration
enable full click detection in select-value area by using background color (with zero alpa).
update use of $$rAF and $timeout in Jasmine tests
use $animateCss to animate the dropdown leave.
Jasmine tests disable animation transitions for Toast and Select

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {
  @include not-selectable();
}

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
ThomasBurleson added a commit that referenced this issue Aug 6, 2015
… transitionEnd events.

replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

*  $mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
*  use animateCss.js polyfill for 'material.animate' module
  *  add mock `createMockStyleSheet` for animateCss tests
*  refactors to menu-interim-element.js and select.js
  *  refactor logic and patterns used
  *  use $animateCss in place of waitTransitionEnd()
*  debounce Select and Menu window resize handlers
*  Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
  *  disable scroll before creating the backdrop
*  select async demo no longer clears users list when reloading
*  select demos use `md-input-container { margin-right: 10px;}`
*  hide Select Backdrop with zero duration
*  enable full click detection in select-value area by using background color (with zero alpa).
*  update use of $$rAF and $timeout in Jasmine tests
*  use $animateCss to animate the dropdown leave.
*  Jasmine tests disable animation transitions for Toast and Select

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {
  @include not-selectable();
}

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes #3919. Fixes #3837. Fixes #3773, Fixes #3640. Fixes #3527. Fixes #3653.
kennethcachia pushed a commit to kennethcachia/material that referenced this issue Sep 23, 2015
… transitionEnd events.

replace programmatic use of element.css for style changes and use of transitionEnd event listeners with use of ngAnimate's $animateCss; use polyfill for Angular <1.4.

*  $mdUtil.dom.animator.translate3d() uses $animateCss() instead of waitTransitionEnd()
*  use animateCss.js polyfill for 'material.animate' module
  *  add mock `createMockStyleSheet` for animateCss tests
*  refactors to menu-interim-element.js and select.js
  *  refactor logic and patterns used
  *  use $animateCss in place of waitTransitionEnd()
*  debounce Select and Menu window resize handlers
*  Dialog uses same showBackdrop/hideBackdrop pattern as Menu and Select
  *  disable scroll before creating the backdrop
*  select async demo no longer clears users list when reloading
*  select demos use `md-input-container { margin-right: 10px;}`
*  hide Select Backdrop with zero duration
*  enable full click detection in select-value area by using background color (with zero alpa).
*  update use of $$rAF and $timeout in Jasmine tests
*  use $animateCss to animate the dropdown leave.
*  Jasmine tests disable animation transitions for Toast and Select

BREAKING-CHANGES:  select and backdrop styles added

*  select list text is not selectable,
*  select backdrop hide duration is 0ms
*  select text value background has zero alpha

```scss
.md-text {
  @include not-selectable();
}

.md-select-value {
  background-color: rgba(0,0,0,0);
}

md-backdrop {
  &.md-select-backdrop {
      transition-duration: 0ms;
  }
}
```

Fixes angular#3919. Fixes angular#3837. Fixes angular#3773, Fixes angular#3640. Fixes angular#3527. Fixes angular#3653. Closes angular#3949.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants