|
479 | 479 | }) |
480 | 480 | , newScope = scope.$new(false, scope) |
481 | 481 | , indexOfAs = newValue.indexOf('as') |
482 | | - , controllerName = newValue.substr(indexOfAs + 3); |
| 482 | + , controllerName; |
483 | 483 |
|
484 | | - newScope[controllerName] = tipController; |
| 484 | + if (indexOfAs >= 0) { |
485 | 485 |
|
486 | | - var newElement = $element.next().find('tip-tip'); |
487 | | - tipTipElement.replaceWith($compile(newElement)(newScope)); |
| 486 | + controllerName = newValue.substr(indexOfAs + 3); |
| 487 | + newScope[controllerName] = tipController; |
| 488 | + } else { |
| 489 | + |
| 490 | + angular.extend(newScope, tipController); |
| 491 | + } |
| 492 | + |
| 493 | + tipTipElement.replaceWith($compile(tipTipElement)(newScope)); |
488 | 494 | /*eslint-disable no-use-before-define*/ |
489 | 495 | unregisterOnTooltipControllerChange(); |
490 | 496 | /*eslint-enable no-use-before-define*/ |
|
527 | 533 | , unregisterOnTooltipSpeedChange = $attrs.$observe('tooltipSpeed', onTooltipSpeedChange) |
528 | 534 | , unregisterTipContentChangeWatcher = scope.$watch(whenActivateMultilineCalculation, calculateIfMultiLine); |
529 | 535 |
|
530 | | - closeButtonElement.attr({ |
531 | | - 'id': 'close-button' |
532 | | - }); |
533 | | - closeButtonElement.html('×'); |
| 536 | + closeButtonElement.attr({ |
| 537 | + 'id': 'close-button' |
| 538 | + }); |
| 539 | + closeButtonElement.html('×'); |
534 | 540 |
|
535 | | - tipElement.addClass('_hidden'); |
| 541 | + tipElement.addClass('_hidden'); |
536 | 542 |
|
537 | | - tipTipElement.append(closeButtonElement); |
538 | | - tipTipElement.append($attrs.tooltipTemplate); |
| 543 | + tipTipElement.append(closeButtonElement); |
| 544 | + tipTipElement.append($attrs.tooltipTemplate); |
539 | 545 |
|
540 | | - tipElement.append(tipTipElement); |
541 | | - tipElement.append(tipArrowElement); |
| 546 | + tipElement.append(tipTipElement); |
| 547 | + tipElement.append(tipArrowElement); |
542 | 548 |
|
543 | | - tipContElement.append(element); |
| 549 | + tipContElement.append(element); |
544 | 550 |
|
545 | | - tooltipElement.attr(attributes); |
546 | | - tooltipElement.addClass('tooltips'); |
| 551 | + tooltipElement.attr(attributes); |
| 552 | + tooltipElement.addClass('tooltips'); |
547 | 553 |
|
548 | | - tooltipElement.append(tipContElement); |
549 | | - tooltipElement.append(tipElement); |
550 | | - $element.after(tooltipElement); |
| 554 | + tooltipElement.append(tipContElement); |
| 555 | + tooltipElement.append(tipElement); |
| 556 | + $element.after(tooltipElement); |
551 | 557 |
|
552 | | - resizeObserver.add(function registerResize() { |
| 558 | + resizeObserver.add(function registerResize() { |
553 | 559 |
|
554 | | - calculateIfMultiLine(); |
555 | | - onTooltipShow(); |
556 | | - }); |
| 560 | + calculateIfMultiLine(); |
| 561 | + onTooltipShow(); |
| 562 | + }); |
557 | 563 |
|
558 | | - $timeout(function doLater() { |
| 564 | + $timeout(function doLater() { |
559 | 565 |
|
560 | | - onTooltipShow(); |
561 | | - tipElement.removeClass('_hidden'); |
562 | | - tooltipElement.addClass('_ready'); |
563 | | - }); |
| 566 | + onTooltipShow(); |
| 567 | + tipElement.removeClass('_hidden'); |
| 568 | + tooltipElement.addClass('_ready'); |
| 569 | + }); |
564 | 570 |
|
565 | | - scope.$on('$destroy', function unregisterListeners() { |
566 | | - |
567 | | - unregisterOnTooltipTemplateChange(); |
568 | | - unregisterOnTooltipTemplateUrlChange(); |
569 | | - unregisterOnTooltipSideChangeObserver(); |
570 | | - unregisterOnTooltipShowTrigger(); |
571 | | - unregisterOnTooltipHideTrigger(); |
572 | | - unregisterOnTooltipClassChange(); |
573 | | - unregisterOnTooltipSmartChange(); |
574 | | - unregisterOnTooltipCloseButtonChange(); |
575 | | - unregisterOnTooltipSizeChange(); |
576 | | - unregisterOnTooltipSpeedChange(); |
577 | | - unregisterTipContentChangeWatcher(); |
578 | | - element.off($attrs.tooltipShowTrigger + ' ' + $attrs.tooltipHideTrigger); |
579 | | - }); |
| 571 | + scope.$on('$destroy', function unregisterListeners() { |
| 572 | + |
| 573 | + unregisterOnTooltipTemplateChange(); |
| 574 | + unregisterOnTooltipTemplateUrlChange(); |
| 575 | + unregisterOnTooltipSideChangeObserver(); |
| 576 | + unregisterOnTooltipShowTrigger(); |
| 577 | + unregisterOnTooltipHideTrigger(); |
| 578 | + unregisterOnTooltipClassChange(); |
| 579 | + unregisterOnTooltipSmartChange(); |
| 580 | + unregisterOnTooltipCloseButtonChange(); |
| 581 | + unregisterOnTooltipSizeChange(); |
| 582 | + unregisterOnTooltipSpeedChange(); |
| 583 | + unregisterTipContentChangeWatcher(); |
| 584 | + element.off($attrs.tooltipShowTrigger + ' ' + $attrs.tooltipHideTrigger); |
| 585 | + }); |
580 | 586 | }); |
581 | 587 | }; |
582 | 588 |
|
583 | 589 | return { |
584 | 590 | 'restrict': 'A', |
585 | 591 | 'transclude': 'element', |
586 | | - 'priority': 1001, |
| 592 | + 'priority': 1, |
587 | 593 | 'terminal': true, |
588 | 594 | 'link': linkingFunction |
589 | 595 | }; |
|
0 commit comments