| Index: third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html
|
| diff --git a/third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html b/third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html
|
| deleted file mode 100644
|
| index 4bc044da74f3d2bc4e02da8fd078d64eed33e63e..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/v1_0/components/iron-overlay-behavior/iron-overlay-behavior.html
|
| +++ /dev/null
|
| @@ -1,434 +0,0 @@
|
| -<!--
|
| -@license
|
| -Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
| -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
| -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
| -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
| -Code distributed by Google as part of the polymer project is also
|
| -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
| --->
|
| -
|
| -<link rel="import" href="../polymer/polymer.html">
|
| -<link rel="import" href="../iron-fit-behavior/iron-fit-behavior.html">
|
| -<link rel="import" href="../iron-resizable-behavior/iron-resizable-behavior.html">
|
| -<link rel="import" href="iron-overlay-backdrop.html">
|
| -<link rel="import" href="iron-overlay-manager.html">
|
| -
|
| -<script>
|
| -
|
| -/**
|
| -Use `Polymer.IronOverlayBehavior` to implement an element that can be hidden or shown, and displays
|
| -on top of other content. It includes an optional backdrop, and can be used to implement a variety
|
| -of UI controls including dialogs and drop downs. Multiple overlays may be displayed at once.
|
| -
|
| -### Closing and canceling
|
| -
|
| -A dialog may be hidden by closing or canceling. The difference between close and cancel is user
|
| -intent. Closing generally implies that the user acknowledged the content on the overlay. By default,
|
| -it will cancel whenever the user taps outside it or presses the escape key. This behavior is
|
| -configurable with the `no-cancel-on-esc-key` and the `no-cancel-on-outside-click` properties.
|
| -`close()` should be called explicitly by the implementer when the user interacts with a control
|
| -in the overlay element.
|
| -
|
| -### Positioning
|
| -
|
| -By default the element is sized and positioned to fit and centered inside the window. You can
|
| -position and size it manually using CSS. See `Polymer.IronFitBehavior`.
|
| -
|
| -### Backdrop
|
| -
|
| -Set the `with-backdrop` attribute to display a backdrop behind the overlay. The backdrop is
|
| -appended to `<body>` and is of type `<iron-overlay-backdrop>`. See its doc page for styling
|
| -options.
|
| -
|
| -### Limitations
|
| -
|
| -The element is styled to appear on top of other content by setting its `z-index` property. You
|
| -must ensure no element has a stacking context with a higher `z-index` than its parent stacking
|
| -context. You should place this element as a child of `<body>` whenever possible.
|
| -
|
| -@demo demo/index.html
|
| -@polymerBehavior Polymer.IronOverlayBehavior
|
| -*/
|
| -
|
| - Polymer.IronOverlayBehaviorImpl = {
|
| -
|
| - properties: {
|
| -
|
| - /**
|
| - * True if the overlay is currently displayed.
|
| - */
|
| - opened: {
|
| - observer: '_openedChanged',
|
| - type: Boolean,
|
| - value: false,
|
| - notify: true
|
| - },
|
| -
|
| - /**
|
| - * True if the overlay was canceled when it was last closed.
|
| - */
|
| - canceled: {
|
| - observer: '_canceledChanged',
|
| - readOnly: true,
|
| - type: Boolean,
|
| - value: false
|
| - },
|
| -
|
| - /**
|
| - * Set to true to display a backdrop behind the overlay.
|
| - */
|
| - withBackdrop: {
|
| - type: Boolean,
|
| - value: false
|
| - },
|
| -
|
| - /**
|
| - * Set to true to disable auto-focusing the overlay or child nodes with
|
| - * the `autofocus` attribute` when the overlay is opened.
|
| - */
|
| - noAutoFocus: {
|
| - type: Boolean,
|
| - value: false
|
| - },
|
| -
|
| - /**
|
| - * Set to true to disable canceling the overlay with the ESC key.
|
| - */
|
| - noCancelOnEscKey: {
|
| - type: Boolean,
|
| - value: false
|
| - },
|
| -
|
| - /**
|
| - * Set to true to disable canceling the overlay by clicking outside it.
|
| - */
|
| - noCancelOnOutsideClick: {
|
| - type: Boolean,
|
| - value: false
|
| - },
|
| -
|
| - /**
|
| - * Returns the reason this dialog was last closed.
|
| - */
|
| - closingReason: {
|
| - // was a getter before, but needs to be a property so other
|
| - // behaviors can override this.
|
| - type: Object
|
| - },
|
| -
|
| - _manager: {
|
| - type: Object,
|
| - value: Polymer.IronOverlayManager
|
| - },
|
| -
|
| - _boundOnCaptureClick: {
|
| - type: Function,
|
| - value: function() {
|
| - return this._onCaptureClick.bind(this);
|
| - }
|
| - },
|
| -
|
| - _boundOnCaptureKeydown: {
|
| - type: Function,
|
| - value: function() {
|
| - return this._onCaptureKeydown.bind(this);
|
| - }
|
| - }
|
| -
|
| - },
|
| -
|
| -/**
|
| - * Fired after the `iron-overlay` opens.
|
| - * @event iron-overlay-opened
|
| - */
|
| -
|
| -/**
|
| - * Fired after the `iron-overlay` closes.
|
| - * @event iron-overlay-closed {{canceled: boolean}} detail -
|
| - * canceled: True if the overlay was canceled.
|
| - */
|
| -
|
| - listeners: {
|
| - 'click': '_onClick',
|
| - 'iron-resize': '_onIronResize'
|
| - },
|
| -
|
| - /**
|
| - * The backdrop element.
|
| - * @type Node
|
| - */
|
| - get backdropElement() {
|
| - return this._backdrop;
|
| - },
|
| -
|
| - get _focusNode() {
|
| - return Polymer.dom(this).querySelector('[autofocus]') || this;
|
| - },
|
| -
|
| - registered: function() {
|
| - this._backdrop = document.createElement('iron-overlay-backdrop');
|
| - },
|
| -
|
| - ready: function() {
|
| - this._ensureSetup();
|
| - if (this._callOpenedWhenReady) {
|
| - this._openedChanged();
|
| - }
|
| - },
|
| -
|
| - detached: function() {
|
| - this.opened = false;
|
| - this._completeBackdrop();
|
| - this._manager.removeOverlay(this);
|
| - },
|
| -
|
| - /**
|
| - * Toggle the opened state of the overlay.
|
| - */
|
| - toggle: function() {
|
| - this.opened = !this.opened;
|
| - },
|
| -
|
| - /**
|
| - * Open the overlay.
|
| - */
|
| - open: function() {
|
| - this.opened = true;
|
| - this.closingReason = {canceled: false};
|
| - },
|
| -
|
| - /**
|
| - * Close the overlay.
|
| - */
|
| - close: function() {
|
| - this.opened = false;
|
| - this._setCanceled(false);
|
| - },
|
| -
|
| - /**
|
| - * Cancels the overlay.
|
| - */
|
| - cancel: function() {
|
| - this.opened = false,
|
| - this._setCanceled(true);
|
| - },
|
| -
|
| - _ensureSetup: function() {
|
| - if (this._overlaySetup) {
|
| - return;
|
| - }
|
| - this._overlaySetup = true;
|
| - this.style.outline = 'none';
|
| - this.style.display = 'none';
|
| - },
|
| -
|
| - _openedChanged: function() {
|
| - if (this.opened) {
|
| - this.removeAttribute('aria-hidden');
|
| - } else {
|
| - this.setAttribute('aria-hidden', 'true');
|
| - }
|
| -
|
| - // wait to call after ready only if we're initially open
|
| - if (!this._overlaySetup) {
|
| - this._callOpenedWhenReady = this.opened;
|
| - return;
|
| - }
|
| - if (this._openChangedAsync) {
|
| - this.cancelAsync(this._openChangedAsync);
|
| - }
|
| -
|
| - this._toggleListeners();
|
| -
|
| - if (this.opened) {
|
| - this._prepareRenderOpened();
|
| - }
|
| -
|
| - // async here to allow overlay layer to become visible.
|
| - this._openChangedAsync = this.async(function() {
|
| - // overlay becomes visible here
|
| - this.style.display = '';
|
| - // force layout to ensure transitions will go
|
| - this.offsetWidth;
|
| - if (this.opened) {
|
| - this._renderOpened();
|
| - } else {
|
| - this._renderClosed();
|
| - }
|
| - this._openChangedAsync = null;
|
| - });
|
| -
|
| - },
|
| -
|
| - _canceledChanged: function() {
|
| - this.closingReason = this.closingReason || {};
|
| - this.closingReason.canceled = this.canceled;
|
| - },
|
| -
|
| - _toggleListener: function(enable, node, event, boundListener, capture) {
|
| - if (enable) {
|
| - node.addEventListener(event, boundListener, capture);
|
| - } else {
|
| - node.removeEventListener(event, boundListener, capture);
|
| - }
|
| - },
|
| -
|
| - _toggleListeners: function() {
|
| - if (this._toggleListenersAsync) {
|
| - this.cancelAsync(this._toggleListenersAsync);
|
| - }
|
| - // async so we don't auto-close immediately via a click.
|
| - this._toggleListenersAsync = this.async(function() {
|
| - this._toggleListener(this.opened, document, 'click', this._boundOnCaptureClick, true);
|
| - this._toggleListener(this.opened, document, 'keydown', this._boundOnCaptureKeydown, true);
|
| - this._toggleListenersAsync = null;
|
| - });
|
| - },
|
| -
|
| - // tasks which must occur before opening; e.g. making the element visible
|
| - _prepareRenderOpened: function() {
|
| - this._manager.addOverlay(this);
|
| -
|
| - if (this.withBackdrop) {
|
| - this.backdropElement.prepare();
|
| - this._manager.trackBackdrop(this);
|
| - }
|
| -
|
| - this._preparePositioning();
|
| - this.fit();
|
| - this._finishPositioning();
|
| - },
|
| -
|
| - // tasks which cause the overlay to actually open; typically play an
|
| - // animation
|
| - _renderOpened: function() {
|
| - if (this.withBackdrop) {
|
| - this.backdropElement.open();
|
| - }
|
| - this._finishRenderOpened();
|
| - },
|
| -
|
| - _renderClosed: function() {
|
| - if (this.withBackdrop) {
|
| - this.backdropElement.close();
|
| - }
|
| - this._finishRenderClosed();
|
| - },
|
| -
|
| - _onTransitionend: function(event) {
|
| - // make sure this is our transition event.
|
| - if (event && event.target !== this) {
|
| - return;
|
| - }
|
| - if (this.opened) {
|
| - this._finishRenderOpened();
|
| - } else {
|
| - this._finishRenderClosed();
|
| - }
|
| - },
|
| -
|
| - _finishRenderOpened: function() {
|
| - // focus the child node with [autofocus]
|
| - if (!this.noAutoFocus) {
|
| - this._focusNode.focus();
|
| - }
|
| -
|
| - this.fire('iron-overlay-opened');
|
| -
|
| - this._squelchNextResize = true;
|
| - this.async(this.notifyResize);
|
| - },
|
| -
|
| - _finishRenderClosed: function() {
|
| - // hide the overlay and remove the backdrop
|
| - this.resetFit();
|
| - this.style.display = 'none';
|
| - this._completeBackdrop();
|
| - this._manager.removeOverlay(this);
|
| -
|
| - this._focusNode.blur();
|
| - // focus the next overlay, if there is one
|
| - this._manager.focusOverlay();
|
| -
|
| - this.fire('iron-overlay-closed', this.closingReason);
|
| -
|
| - this._squelchNextResize = true;
|
| - this.async(this.notifyResize);
|
| - },
|
| -
|
| - _completeBackdrop: function() {
|
| - if (this.withBackdrop) {
|
| - this._manager.trackBackdrop(this);
|
| - this.backdropElement.complete();
|
| - }
|
| - },
|
| -
|
| - _preparePositioning: function() {
|
| - this.style.transition = this.style.webkitTransition = 'none';
|
| - this.style.transform = this.style.webkitTransform = 'none';
|
| - this.style.display = '';
|
| - },
|
| -
|
| - _finishPositioning: function() {
|
| - this.style.display = 'none';
|
| - this.style.transform = this.style.webkitTransform = '';
|
| - // force layout to avoid application of transform
|
| - this.offsetWidth;
|
| - this.style.transition = this.style.webkitTransition = '';
|
| - },
|
| -
|
| - _applyFocus: function() {
|
| - if (this.opened) {
|
| - if (!this.noAutoFocus) {
|
| - this._focusNode.focus();
|
| - }
|
| - } else {
|
| - this._focusNode.blur();
|
| - this._manager.focusOverlay();
|
| - }
|
| - },
|
| -
|
| - _onCaptureClick: function(event) {
|
| - // attempt to close asynchronously and prevent the close of a tap event is immediately heard
|
| - // on target. This is because in shadow dom due to event retargetting event.target is not
|
| - // useful.
|
| - if (!this.noCancelOnOutsideClick && (this._manager.currentOverlay() == this)) {
|
| - this._cancelJob = this.async(function() {
|
| - this.cancel();
|
| - }, 10);
|
| - }
|
| - },
|
| -
|
| - _onClick: function(event) {
|
| - if (this._cancelJob) {
|
| - this.cancelAsync(this._cancelJob);
|
| - this._cancelJob = null;
|
| - }
|
| - },
|
| -
|
| - _onCaptureKeydown: function(event) {
|
| - var ESC = 27;
|
| - if (!this.noCancelOnEscKey && (event.keyCode === ESC)) {
|
| - this.cancel();
|
| - event.stopPropagation();
|
| - }
|
| - },
|
| -
|
| - _onIronResize: function() {
|
| - if (this._squelchNextResize) {
|
| - this._squelchNextResize = false;
|
| - return;
|
| - }
|
| - if (this.opened) {
|
| - this.refit();
|
| - }
|
| - }
|
| -
|
| - };
|
| -
|
| - /** @polymerBehavior */
|
| - Polymer.IronOverlayBehavior = [Polymer.IronFitBehavior, Polymer.IronResizableBehavior, Polymer.IronOverlayBehaviorImpl];
|
| -
|
| -
|
| -</script>
|
|
|