UNPKG

md2

Version:

Angular2 based Material Design components, directives and services are Accordion, Autocomplete, Chips(Tags), Collapse, Colorpicker, Data Table, Datepicker, Dialog(Modal), Menu, Multiselect, Select, Tabs, Tags(Chips), Toast and Tooltip.

105 lines 4.78 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { ComponentFactoryResolver, Injectable, ApplicationRef, Injector, NgZone, } from '@angular/core'; import { OverlayState } from './overlay-state'; import { DomPortalHost } from '../portal/dom-portal-host'; import { OverlayRef } from './overlay-ref'; import { OverlayPositionBuilder } from './position/overlay-position-builder'; import { VIEWPORT_RULER_PROVIDER } from './position/viewport-ruler'; import { OverlayContainer, OVERLAY_CONTAINER_PROVIDER } from './overlay-container'; import { ScrollStrategyOptions } from './scroll/index'; /** Next overlay unique ID. */ var nextUniqueId = 0; /** The default state for newly created overlays. */ var defaultState = new OverlayState(); /** * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be * used as a low-level building building block for other components. Dialogs, tooltips, menus, * selects, etc. can all be built using overlays. The service should primarily be used by authors * of re-usable components rather than developers building end-user applications. * * An overlay *is* a PortalHost, so any kind of Portal can be loaded into one. */ var Overlay = (function () { function Overlay(scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _appRef, _injector, _ngZone) { this.scrollStrategies = scrollStrategies; this._overlayContainer = _overlayContainer; this._componentFactoryResolver = _componentFactoryResolver; this._positionBuilder = _positionBuilder; this._appRef = _appRef; this._injector = _injector; this._ngZone = _ngZone; } /** * Creates an overlay. * @param state State to apply to the overlay. * @returns Reference to the created overlay. */ Overlay.prototype.create = function (state) { if (state === void 0) { state = defaultState; } return this._createOverlayRef(this._createPaneElement(), state); }; /** * Returns a position builder that can be used, via fluent API, * to construct and configure a position strategy. */ Overlay.prototype.position = function () { return this._positionBuilder; }; /** * Creates the DOM element for an overlay and appends it to the overlay container. * @returns Newly-created pane element */ Overlay.prototype._createPaneElement = function () { var pane = document.createElement('div'); pane.id = "cdk-overlay-" + nextUniqueId++; pane.classList.add('cdk-overlay-pane'); this._overlayContainer.getContainerElement().appendChild(pane); return pane; }; /** * Create a DomPortalHost into which the overlay content can be loaded. * @param pane The DOM element to turn into a portal host. * @returns A portal host for the given DOM element. */ Overlay.prototype._createPortalHost = function (pane) { return new DomPortalHost(pane, this._componentFactoryResolver, this._appRef, this._injector); }; /** * Creates an OverlayRef for an overlay in the given DOM element. * @param pane DOM element for the overlay * @param state */ Overlay.prototype._createOverlayRef = function (pane, state) { var scrollStrategy = state.scrollStrategy || this.scrollStrategies.noop(); var portalHost = this._createPortalHost(pane); return new OverlayRef(portalHost, pane, state, scrollStrategy, this._ngZone); }; return Overlay; }()); Overlay = __decorate([ Injectable(), __metadata("design:paramtypes", [ScrollStrategyOptions, OverlayContainer, ComponentFactoryResolver, OverlayPositionBuilder, ApplicationRef, Injector, NgZone]) ], Overlay); export { Overlay }; /** Providers for Overlay and its related injectables. */ export var OVERLAY_PROVIDERS = [ Overlay, OverlayPositionBuilder, VIEWPORT_RULER_PROVIDER, OVERLAY_CONTAINER_PROVIDER, ]; //# sourceMappingURL=overlay.js.map