UNPKG

tfabrica

Version:

library for TFabrica - TechSol

1,157 lines (1,108 loc) 5.31 MB
(function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // identity function for calling harmony imports with the correct context /******/ __webpack_require__.i = function(value) { return value; }; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dist/"; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 402); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(1); /***/ }), /* 1 */ /***/ (function(module, exports) { module.exports = require("./vendor"); /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(3); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(26); /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(32); /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(0); /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(27); /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; 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); }; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(5); var Subject_1 = __webpack_require__(6); var tfabrica_userdata_model_1 = __webpack_require__(25); var tfabrica_usermenu_model_1 = __webpack_require__(52); var TfabricaSharedService = (function () { function TfabricaSharedService() { this.currentLang = ""; this._changeUserData = new Subject_1.Subject(); this._toggleMainLeftSidenav = new Subject_1.Subject(); this._translationsReady = new Subject_1.Subject(); this._changeTranslationsLanguage = new Subject_1.Subject(); this.userDataLogged$ = this._changeUserData.asObservable(); this.mainLeftSidenavToggled$ = this._toggleMainLeftSidenav.asObservable(); this.translationsReady$ = this._translationsReady.asObservable(); this.changeTranslationsLanguage$ = this._changeTranslationsLanguage.asObservable(); } TfabricaSharedService.prototype.ngOnInit = function () { this.userData = new tfabrica_userdata_model_1.TfabricaUserData(); this.currentLang = "en"; this.selectedVoice = new tfabrica_usermenu_model_1.TfabricaUserMenu(); }; TfabricaSharedService.prototype.userLogged = function (userData) { console.log("TfabricaSharedService userLogged:"); this.userData = userData; if (userData != null) { this.selectLang(userData.language); } this._changeUserData.next(userData); localStorage.setItem('userData', JSON.stringify(this.userData)); }; TfabricaSharedService.prototype.logout = function () { localStorage.removeItem('userData'); }; TfabricaSharedService.prototype.translationsIsReady = function (supportedLanguages) { this.supportedLanguages = supportedLanguages; this._translationsReady.next(true); }; TfabricaSharedService.prototype.toggleMainLeftSidenav = function (status) { this._toggleMainLeftSidenav.next(status); }; TfabricaSharedService.prototype.getUser = function () { //return this.tfabricaLoginService.getUser(); return this.userData; }; TfabricaSharedService.prototype.isLogged = function () { try { this.userData = JSON.parse(localStorage.getItem('userData')); } catch (err) { } if (this.userData == null) { return false; } else { return this.userData.isLogged; } }; TfabricaSharedService.prototype.isCurrentLang = function (lang) { // check if the selected lang is current lang return lang === this.currentLang; }; TfabricaSharedService.prototype.selectLang = function (lang) { // set current lang; if (this.userData == null) { this.userData = new tfabrica_userdata_model_1.TfabricaUserData(); this.userData.isLogged = false; } this.currentLang = lang; this.userData.language = lang; this._changeTranslationsLanguage.next(lang); }; TfabricaSharedService.prototype.setAppSettings = function (appSettings) { this.appSettings = appSettings; }; TfabricaSharedService.prototype.setSelectedVoice = function (voice) { this.selectedVoice = voice; localStorage.setItem('selectedVoice', JSON.stringify(this.selectedVoice)); }; TfabricaSharedService.prototype.returnSelectedVoice = function () { console.log(localStorage.getItem('selectedVoice')); return JSON.parse(localStorage.getItem('selectedVoice')); }; TfabricaSharedService.prototype.test = function () { console.log("ciao"); }; return TfabricaSharedService; }()); TfabricaSharedService = __decorate([ core_1.Injectable(), __metadata("design:paramtypes", []) ], TfabricaSharedService); exports.TfabricaSharedService = TfabricaSharedService; //# sourceMappingURL=tfabrica.shared.service.js.map /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(141); /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(28); /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(57); /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var AsyncAction_1 = __webpack_require__(22); var AsyncScheduler_1 = __webpack_require__(23); /** * * Async Scheduler * * <span class="informal">Schedule task as if you used setTimeout(task, duration)</span> * * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating * in intervals. * * If you just want to "defer" task, that is to perform it right after currently * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`), * better choice will be the {@link asap} scheduler. * * @example <caption>Use async scheduler to delay task</caption> * const task = () => console.log('it works!'); * * Rx.Scheduler.async.schedule(task, 2000); * * // After 2 seconds logs: * // "it works!" * * * @example <caption>Use async scheduler to repeat task in intervals</caption> * function task(state) { * console.log(state); * this.schedule(state + 1, 1000); // `this` references currently executing Action, * // which we reschedule with new state and delay * } * * Rx.Scheduler.async.schedule(task, 3000, 0); * * // Logs: * // 0 after 3s * // 1 after 4s * // 2 after 5s * // 3 after 6s * * @static true * @name async * @owner Scheduler */ exports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction); //# sourceMappingURL=async.js.map /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(17); /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(6); /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* tslint:disable:no-unused-variable */ // Subject imported before Observable to bypass circular dependency issue since // Subject extends Observable and Observable references Subject in it's // definition var Subject_1 = __webpack_require__(6); exports.Subject = Subject_1.Subject; exports.AnonymousSubject = Subject_1.AnonymousSubject; /* tslint:enable:no-unused-variable */ var Observable_1 = __webpack_require__(0); exports.Observable = Observable_1.Observable; // statics /* tslint:disable:no-use-before-declare */ __webpack_require__(139); __webpack_require__(140); __webpack_require__(141); __webpack_require__(142); __webpack_require__(143); __webpack_require__(146); __webpack_require__(55); __webpack_require__(147); __webpack_require__(56); __webpack_require__(148); __webpack_require__(149); __webpack_require__(150); __webpack_require__(151); __webpack_require__(152); __webpack_require__(57); __webpack_require__(156); __webpack_require__(153); __webpack_require__(58); __webpack_require__(154); __webpack_require__(155); __webpack_require__(157); __webpack_require__(160); __webpack_require__(158); __webpack_require__(159); __webpack_require__(161); //dom __webpack_require__(144); __webpack_require__(145); //operators __webpack_require__(163); __webpack_require__(164); __webpack_require__(165); __webpack_require__(166); __webpack_require__(167); __webpack_require__(60); __webpack_require__(168); __webpack_require__(169); __webpack_require__(170); __webpack_require__(171); __webpack_require__(172); __webpack_require__(173); __webpack_require__(174); __webpack_require__(180); __webpack_require__(175); __webpack_require__(176); __webpack_require__(177); __webpack_require__(178); __webpack_require__(179); __webpack_require__(181); __webpack_require__(182); __webpack_require__(183); __webpack_require__(61); __webpack_require__(186); __webpack_require__(187); __webpack_require__(188); __webpack_require__(184); __webpack_require__(35); __webpack_require__(62); __webpack_require__(189); __webpack_require__(190); __webpack_require__(63); __webpack_require__(191); __webpack_require__(192); __webpack_require__(193); __webpack_require__(162); __webpack_require__(59); __webpack_require__(194); __webpack_require__(195); __webpack_require__(185); __webpack_require__(40); __webpack_require__(196); __webpack_require__(197); __webpack_require__(198); __webpack_require__(199); __webpack_require__(200); __webpack_require__(201); __webpack_require__(202); __webpack_require__(203); __webpack_require__(204); __webpack_require__(205); __webpack_require__(206); __webpack_require__(207); __webpack_require__(208); __webpack_require__(209); __webpack_require__(210); __webpack_require__(211); __webpack_require__(212); __webpack_require__(214); __webpack_require__(213); __webpack_require__(215); __webpack_require__(216); __webpack_require__(217); __webpack_require__(218); __webpack_require__(219); __webpack_require__(220); __webpack_require__(221); __webpack_require__(222); __webpack_require__(223); __webpack_require__(224); __webpack_require__(64); __webpack_require__(225); __webpack_require__(226); __webpack_require__(227); __webpack_require__(228); __webpack_require__(65); __webpack_require__(229); __webpack_require__(230); __webpack_require__(66); __webpack_require__(231); __webpack_require__(232); __webpack_require__(233); __webpack_require__(234); __webpack_require__(235); __webpack_require__(236); __webpack_require__(237); __webpack_require__(238); __webpack_require__(239); __webpack_require__(240); __webpack_require__(241); __webpack_require__(242); __webpack_require__(243); __webpack_require__(244); __webpack_require__(245); __webpack_require__(246); __webpack_require__(247); __webpack_require__(248); __webpack_require__(249); __webpack_require__(250); __webpack_require__(251); /* tslint:disable:no-unused-variable */ var Subscription_1 = __webpack_require__(9); exports.Subscription = Subscription_1.Subscription; var Subscriber_1 = __webpack_require__(2); exports.Subscriber = Subscriber_1.Subscriber; var AsyncSubject_1 = __webpack_require__(26); exports.AsyncSubject = AsyncSubject_1.AsyncSubject; var ReplaySubject_1 = __webpack_require__(34); exports.ReplaySubject = ReplaySubject_1.ReplaySubject; var BehaviorSubject_1 = __webpack_require__(39); exports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject; var ConnectableObservable_1 = __webpack_require__(67); exports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable; var Notification_1 = __webpack_require__(30); exports.Notification = Notification_1.Notification; var EmptyError_1 = __webpack_require__(90); exports.EmptyError = EmptyError_1.EmptyError; var ArgumentOutOfRangeError_1 = __webpack_require__(27); exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError; var ObjectUnsubscribedError_1 = __webpack_require__(94); exports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError; var TimeoutError_1 = __webpack_require__(83); exports.TimeoutError = TimeoutError_1.TimeoutError; var UnsubscriptionError_1 = __webpack_require__(397); exports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError; var timeInterval_1 = __webpack_require__(75); exports.TimeInterval = timeInterval_1.TimeInterval; var timestamp_1 = __webpack_require__(76); exports.Timestamp = timestamp_1.Timestamp; var TestScheduler_1 = __webpack_require__(375); exports.TestScheduler = TestScheduler_1.TestScheduler; var VirtualTimeScheduler_1 = __webpack_require__(78); exports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler; var AjaxObservable_1 = __webpack_require__(68); exports.AjaxResponse = AjaxObservable_1.AjaxResponse; exports.AjaxError = AjaxObservable_1.AjaxError; exports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError; var asap_1 = __webpack_require__(79); var async_1 = __webpack_require__(11); var queue_1 = __webpack_require__(80); var animationFrame_1 = __webpack_require__(372); var rxSubscriber_1 = __webpack_require__(399); var iterator_1 = __webpack_require__(89); var observable_1 = __webpack_require__(398); /* tslint:enable:no-unused-variable */ /** * @typedef {Object} Rx.Scheduler * @property {Scheduler} queue Schedules on a queue in the current event frame * (trampoline scheduler). Use this for iteration operations. * @property {Scheduler} asap Schedules on the micro task queue, which uses the * fastest transport mechanism available, either Node.js' `process.nextTick()` * or Web Worker MessageChannel or setTimeout or others. Use this for * asynchronous conversions. * @property {Scheduler} async Schedules work with `setInterval`. Use this for * time-based operations. * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`. * Use this for synchronizing with the platform's painting */ var Scheduler = { asap: asap_1.asap, queue: queue_1.queue, animationFrame: animationFrame_1.animationFrame, async: async_1.async }; exports.Scheduler = Scheduler; /** * @typedef {Object} Rx.Symbol * @property {Symbol|string} rxSubscriber A symbol to use as a property name to * retrieve an "Rx safe" Observer from an object. "Rx safety" can be defined as * an object that has all of the traits of an Rx Subscriber, including the * ability to add and remove subscriptions to the subscription chain and * guarantees involving event triggering (can't "next" after unsubscription, * etc). * @property {Symbol|string} observable A symbol to use as a property name to * retrieve an Observable as defined by the [ECMAScript "Observable" spec](https://github.com/zenparsing/es-observable). * @property {Symbol|string} iterator The ES6 symbol to use as a property name * to retrieve an iterator from an object. */ var Symbol = { rxSubscriber: rxSubscriber_1.$$rxSubscriber, observable: observable_1.$$observable, iterator: iterator_1.$$iterator }; exports.Symbol = Symbol; //# sourceMappingURL=Rx.js.map /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(139); /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(49); /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { module.exports = (__webpack_require__(1))(58); /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { /** * @license Angular Material v2.0.0-beta.2 * Copyright (c) 2017 Google, Inc. https://material.angular.io/ * License: MIT */ (function (global, factory) { true ? factory(exports, __webpack_require__(5), __webpack_require__(92), __webpack_require__(6), __webpack_require__(0), __webpack_require__(56), __webpack_require__(59), __webpack_require__(91), __webpack_require__(112), __webpack_require__(65), __webpack_require__(63), __webpack_require__(12), __webpack_require__(55), __webpack_require__(58), __webpack_require__(40), __webpack_require__(35), __webpack_require__(61), __webpack_require__(64), __webpack_require__(62), __webpack_require__(60), __webpack_require__(57), __webpack_require__(66)) : typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', 'rxjs/Subject', 'rxjs/Observable', 'rxjs/add/observable/fromEvent', 'rxjs/add/operator/auditTime', '@angular/platform-browser', '@angular/forms', 'rxjs/add/operator/startWith', 'rxjs/add/operator/first', '@angular/http', 'rxjs/add/observable/forkJoin', 'rxjs/add/observable/of', 'rxjs/add/operator/map', 'rxjs/add/operator/filter', 'rxjs/add/operator/do', 'rxjs/add/operator/share', 'rxjs/add/operator/finally', 'rxjs/add/operator/catch', 'rxjs/add/observable/merge', 'rxjs/add/operator/switchMap'], factory) : (factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}),global.ng.core,global.ng.common,global.Rx,global.Rx,global.Rx.Observable,global.Rx.Observable.prototype,global.ng.platformBrowser,global.ng.forms,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.ng.http,global.Rx.Observable,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable,global.Rx.Observable.prototype)); }(this, (function (exports,_angular_core,_angular_common,rxjs_Subject,rxjs_Observable,rxjs_add_observable_fromEvent,rxjs_add_operator_auditTime,_angular_platformBrowser,_angular_forms,rxjs_add_operator_startWith,rxjs_add_operator_first,_angular_http,rxjs_add_observable_forkJoin,rxjs_add_observable_of,rxjs_add_operator_map,rxjs_add_operator_filter,rxjs_add_operator_do,rxjs_add_operator_share,rxjs_add_operator_finally,rxjs_add_operator_catch,rxjs_add_observable_merge,rxjs_add_operator_switchMap) { 'use strict'; var __decorate$2 = (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$2 = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; var MATERIAL_COMPATIBILITY_MODE = new _angular_core.OpaqueToken('md-compatibility-mode'); /** Selector that matches all elements that may have style collisions with AngularJS Material. */ var MAT_ELEMENTS_SELECTOR = "\n [mat-button],\n [mat-dialog-actions],\n [mat-dialog-close],\n [mat-dialog-content],\n [mat-dialog-title],\n [mat-fab],\n [mat-icon-button],\n [mat-menu-trigger-for],\n [mat-mini-fab],\n [mat-raised-button],\n [mat-tab-label],\n [mat-tab-link],\n [mat-tab-nav-bar],\n [matTooltip],\n mat-autocomplete,\n mat-button-toggle,\n mat-button-toggle-group,\n mat-button-toggle,\n mat-card,\n mat-card-actions,\n mat-card-content,\n mat-card-footer,\n mat-card-header,\n mat-card-subtitle,\n mat-card-title,\n mat-card-title-group,\n mat-checkbox,\n mat-chip,\n mat-dialog-actions,\n mat-dialog-container,\n mat-dialog-content,\n mat-divider,\n mat-grid-list,\n mat-grid-tile,\n mat-grid-tile-footer,\n mat-grid-tile-header,\n mat-hint,\n mat-icon,\n mat-ink-bar,\n mat-list,\n mat-list-item,\n mat-menu,\n mat-nav-list,\n mat-option,\n mat-placeholder,\n mat-progress-bar,\n mat-progress-circle,\n mat-pseudo-checkbox,\n mat-radio-button,\n mat-radio-group,\n mat-select,\n mat-sidenav,\n mat-sidenav-container,\n mat-slider,\n mat-spinner,\n mat-tab,\n mat-tab-body,\n mat-tab-header,\n mat-tab-group,\n mat-toolbar"; /** Selector that matches all elements that may have style collisions with AngularJS Material. */ var MD_ELEMENTS_SELECTOR = " \n [md-button],\n [md-dialog-actions],\n [md-dialog-close],\n [md-dialog-content],\n [md-dialog-title],\n [md-fab],\n [md-icon-button],\n [md-menu-trigger-for],\n [md-mini-fab],\n [md-raised-button],\n [md-tab-label],\n [md-tab-link],\n [md-tab-nav-bar],\n [mdTooltip],\n md-autocomplete,\n md-button-toggle,\n md-button-toggle-group,\n md-button-toggle,\n md-card,\n md-card-actions,\n md-card-content,\n md-card-footer,\n md-card-header,\n md-card-subtitle,\n md-card-title,\n md-card-title-group,\n md-checkbox,\n md-chip,\n md-dialog-actions,\n md-dialog-container,\n md-dialog-content,\n md-divider,\n md-grid-list,\n md-grid-tile,\n md-grid-tile-footer,\n md-grid-tile-header,\n md-hint,\n md-icon,\n md-ink-bar,\n md-list,\n md-list-item,\n md-menu,\n md-nav-list,\n md-option,\n md-placeholder,\n md-progress-bar,\n md-progress-circle,\n md-pseudo-checkbox,\n md-radio-button,\n md-radio-group,\n md-select,\n md-sidenav,\n md-sidenav-container,\n md-slider,\n md-spinner,\n md-tab,\n md-tab-body,\n md-tab-header,\n md-tab-group,\n md-toolbar"; /** Directive that enforces that the `mat-` prefix cannot be used. */ var MatPrefixRejector = (function () { function MatPrefixRejector(isCompatibilityMode) { if (!isCompatibilityMode) { throw Error('The "mat-" prefix cannot be used out of ng-material v1 compatibility mode.'); } } MatPrefixRejector = __decorate$2([ _angular_core.Directive({ selector: MAT_ELEMENTS_SELECTOR }), __param(0, _angular_core.Optional()), __param(0, _angular_core.Inject(MATERIAL_COMPATIBILITY_MODE)), __metadata$2('design:paramtypes', [Boolean]) ], MatPrefixRejector); return MatPrefixRejector; }()); /** Directive that enforces that the `md-` prefix cannot be used. */ var MdPrefixRejector = (function () { function MdPrefixRejector(isCompatibilityMode) { if (isCompatibilityMode) { throw Error('The "md-" prefix cannot be used in ng-material v1 compatibility mode.'); } } MdPrefixRejector = __decorate$2([ _angular_core.Directive({ selector: MD_ELEMENTS_SELECTOR }), __param(0, _angular_core.Optional()), __param(0, _angular_core.Inject(MATERIAL_COMPATIBILITY_MODE)), __metadata$2('design:paramtypes', [Boolean]) ], MdPrefixRejector); return MdPrefixRejector; }()); /** * Module that enforces the default compatibility mode settings. When this module is loaded * without NoConflictStyleCompatibilityMode also being imported, it will throw an error if * there are any uses of the `mat-` prefix. */ var CompatibilityModule = (function () { function CompatibilityModule() { } CompatibilityModule.forRoot = function () { return { ngModule: CompatibilityModule, providers: [], }; }; CompatibilityModule = __decorate$2([ _angular_core.NgModule({ declarations: [MatPrefixRejector, MdPrefixRejector], exports: [MatPrefixRejector, MdPrefixRejector], }), __metadata$2('design:paramtypes', []) ], CompatibilityModule); return CompatibilityModule; }()); /** * Module that enforces "no-conflict" compatibility mode settings. When this module is loaded, * it will throw an error if there are any uses of the `md-` prefix. */ var NoConflictStyleCompatibilityMode = (function () { function NoConflictStyleCompatibilityMode() { } NoConflictStyleCompatibilityMode = __decorate$2([ _angular_core.NgModule({ providers: [{ provide: MATERIAL_COMPATIBILITY_MODE, useValue: true, }], }), __metadata$2('design:paramtypes', []) ], NoConflictStyleCompatibilityMode); return NoConflictStyleCompatibilityMode; }()); var __decorate$1 = (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$1 = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; /** * Shared directive to count lines inside a text area, such as a list item. * Line elements can be extracted with a @ContentChildren(MdLine) query, then * counted by checking the query list's length. */ var MdLine = (function () { function MdLine() { } MdLine = __decorate$1([ _angular_core.Directive({ selector: '[md-line], [mat-line]', host: { '[class.mat-line]': 'true' } }), __metadata$1('design:paramtypes', []) ], MdLine); return MdLine; }()); /** * Helper that takes a query list of lines and sets the correct class on the host. * @docs-private */ var MdLineSetter = (function () { function MdLineSetter(_lines, _renderer, _element) { var _this = this; this._lines = _lines; this._renderer = _renderer; this._element = _element; this._setLineClass(this._lines.length); this._lines.changes.subscribe(function () { _this._setLineClass(_this._lines.length); }); } MdLineSetter.prototype._setLineClass = function (count) { this._resetClasses(); if (count === 2 || count === 3) { this._setClass("mat-" + count + "-line", true); } else if (count > 3) { this._setClass("mat-multi-line", true); } }; MdLineSetter.prototype._resetClasses = function () { this._setClass('mat-2-line', false); this._setClass('mat-3-line', false); this._setClass('mat-multi-line', false); }; MdLineSetter.prototype._setClass = function (className, bool) { this._renderer.setElementClass(this._element.nativeElement, className, bool); }; return MdLineSetter; }()); var MdLineModule = (function () { function MdLineModule() { } MdLineModule = __decorate$1([ _angular_core.NgModule({ imports: [CompatibilityModule], exports: [MdLine, CompatibilityModule], declarations: [MdLine], }), __metadata$1('design:paramtypes', []) ], MdLineModule); return MdLineModule; }()); var __decorate$3 = (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$3 = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; /** * Directive to listen for changes of direction of part of the DOM. * * Applications should use this directive instead of the native attribute so that Material * components can listen on changes of direction. */ var Dir = (function () { function Dir() { /** Layout direction of the element. */ this._dir = 'ltr'; /** Event emitted when the direction changes. */ this.dirChange = new _angular_core.EventEmitter(); } Object.defineProperty(Dir.prototype, "dir", { /** @docs-private */ get: function () { return this._dir; }, set: function (v) { var old = this._dir; this._dir = v; if (old != this._dir) { this.dirChange.emit(); } }, enumerable: true, configurable: true }); Object.defineProperty(Dir.prototype, "value", { /** Current layout direction of the element. */ get: function () { return this.dir; }, set: function (v) { this.dir = v; }, enumerable: true, configurable: true }); __decorate$3([ _angular_core.Input('dir'), __metadata$3('design:type', String) ], Dir.prototype, "_dir", void 0); __decorate$3([ _angular_core.Output(), __metadata$3('design:type', Object) ], Dir.prototype, "dirChange", void 0); __decorate$3([ _angular_core.HostBinding('attr.dir'), __metadata$3('design:type', String) ], Dir.prototype, "dir", null); Dir = __decorate$3([ _angular_core.Directive({ selector: '[dir]', // TODO(hansl): maybe `$implicit` isn't the best option here, but for now that's the best we got. exportAs: '$implicit' }), __metadata$3('design:paramtypes', []) ], Dir); return Dir; }()); var RtlModule = (function () { function RtlModule() { } /** @deprecated */ RtlModule.forRoot = function () { return { ngModule: RtlModule, providers: [] }; }; RtlModule = __decorate$3([ _angular_core.NgModule({ exports: [Dir], declarations: [Dir] }), __metadata$3('design:paramtypes', []) ], RtlModule); return RtlModule; }()); var __decorate$4 = (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$4 = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; /** * Directive that triggers a callback whenever the content of * its associated element has changed. */ var ObserveContent = (function () { function ObserveContent(_elementRef) { this._elementRef = _elementRef; /** Event emitted for each change in the element's content. */ this.event = new _angular_core.EventEmitter(); } ObserveContent.prototype.ngAfterContentInit = function () { var _this = this; this._observer = new MutationObserver(function (mutations) { return mutations.forEach(function () { return _this.event.emit(); }); }); this._observer.observe(this._elementRef.nativeElement, { characterData: true, childList: true, subtree: true }); }; ObserveContent.prototype.ngOnDestroy = function () { if (this._observer) { this._observer.disconnect(); } }; __decorate$4([ _angular_core.Output('cdkObserveContent'), __metadata$4('design:type', Object) ], ObserveContent.prototype, "event", void 0); ObserveContent = __decorate$4([ _angular_core.Directive({ selector: '[cdkObserveContent]' }), __metadata$4('design:paramtypes', [_angular_core.ElementRef]) ], ObserveContent); return ObserveContent; }()); var ObserveContentModule = (function () { function ObserveContentModule() { } /** @deprecated */ ObserveContentModule.forRoot = function () { return { ngModule: ObserveContentModule, providers: [] }; }; ObserveContentModule = __decorate$4([ _angular_core.NgModule({ exports: [ObserveContent], declarations: [ObserveContent] }), __metadata$4('design:paramtypes', []) ], ObserveContentModule); return ObserveContentModule; }()); // Due to a bug in the ChromeDriver, Angular keyboard events are not triggered by `sendKeys` // during E2E tests when using dot notation such as `(keydown.rightArrow)`. To get around this, // we are temporarily using a single (keydown) handler. // See: https://github.com/angular/angular/issues/9419 var UP_ARROW = 38; var DOWN_ARROW = 40; var RIGHT_ARROW = 39; var LEFT_ARROW = 37; var PAGE_UP = 33; var PAGE_DOWN = 34; var HOME = 36; var END = 35; var ENTER = 13; var SPACE = 32; var TAB = 9; var ESCAPE = 27; var BACKSPACE = 8; var DELETE = 46; /** Coerces a data-bound value (typically a string) to a boolean. */ function coerceBooleanProperty(value) { return value != null && "" + value !== 'false'; } /** Fade-in speed in pixels per second. Can be modified with the speedFactor option. */ var RIPPLE_SPEED_PX_PER_SECOND = 170; /** Fade-out speed for the ripples in milliseconds. This can't be modified by the speedFactor. */ var RIPPLE_FADE_OUT_DURATION = 600; /** * Returns the distance from the point (x, y) to the furthest corner of a rectangle. */ var distanceToFurthestCorner = function (x, y, rect) { var distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right)); var distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom)); return Math.sqrt(distX * distX + distY * distY); }; /** * Helper service that performs DOM manipulations. Not intended to be used outside this module. * The constructor takes a reference to the ripple directive's host element and a map of DOM * event handlers to be installed on the element that triggers ripple animations. * This will eventually become a custom renderer once Angular support exists. * @docs-private */ var RippleRenderer = (function () { function RippleRenderer(_elementRef, _ngZone, _ruler) { this._ngZone = _ngZone; this._ruler = _ruler; /** Whether the mouse is currently down or not. */ this._isMousedown = false; /** Currently active ripples that will be closed on mouseup. */ this._activeRipples = []; /** Events to be registered on the trigger element. */ this._triggerEvents = new Map(); /** Ripple config for all ripples created by events. */ this.rippleConfig = {}; /** Whether mouse ripples should be created or not. */ this.rippleDisabled = false; this._containerElement = _elementRef.nativeElement; // Specify events which need to be registered on the trigger. this._triggerEvents.set('mousedown', this.onMousedown.bind(this)); this._triggerEvents.set('mouseup', this.onMouseup.bind(this)); this._triggerEvents.set('mouseleave', this.onMouseLeave.bind(this)); // By default use the host element as trigger element. this.setTriggerElement(this._containerElement); } /** Fades in a ripple at the given coordinates. */ RippleRenderer.prototype.fadeInRipple = function (pageX, pageY, config) { var _this = this; if (config === void 0) { config = {}; } var containerRect = this._containerElement.getBoundingClientRect(); if (config.centered) { pageX = containerRect.left + containerRect.width / 2; pageY = containerRect.top + containerRect.height / 2; } else { // Subtract scroll values from the coordinates because calculations below // are always relative to the viewport rectangle. var scrollPosition = this._ruler.getViewportScrollPosition(); pageX -= scrollPosition.left; pageY -= scrollPosition.top; } var radius = config.radius || distanceToFurthestCorner(pageX, pageY, containerRect); var duration = 1 / (config.speedFactor || 1) * (radius / RIPPLE_SPEED_PX_PER_SECOND); var offsetX = pageX - containerRect.left; var offsetY = pageY - containerRect.top; var ripple = document.createElement('div'); ripple.classList.add('mat-ripple-element'); ripple.style.left = (offsetX - radius) + "px"; ripple.style.top = (offsetY - radius) + "px"; ripple.style.height = radius * 2 + "px"; ripple.style.width = radius * 2 + "px"; // If the color is not set, the default CSS color will be used. ripple.style.backgroundColor = config.color; ripple.style.transitionDuration = duration + "s"; this._containerElement.appendChild(ripple); // By default the browser does not recalculate the styles of dynamically created // ripple elements. This is critical because then the `scale` would not animate properly. this._enforceStyleRecalculation(ripple); ripple.style.transform = 'scale(1)'; // Wait for the ripple to be faded in. Once it's faded in, the ripple can be hidden immediately // if the mouse is released. this.runTimeoutOutsideZone(function () { _this._isMousedown ? _this._activeRipples.push(ripple) : _this.fadeOutRipple(ripple); }, duration * 1000); }; /** Fades out a ripple element. */ RippleRenderer.prototype.fadeOutRipple = function (ripple) { ripple.style.transitionDuration = RIPPLE_FADE_OUT_DURATION + "ms"; ripple.style.opacity = '0'; // Once the ripple faded out, the ripple can be safely removed from the DOM. this.runTimeoutOutsideZone(function () { ripple.parentNode.removeChild(ripple); }, RIPPLE_FADE_OUT_DURATION); }; /** Sets the trigger element and registers the mouse events. */ RippleRenderer.prototype.setTriggerElement = function (element) { var _this = this; // Remove all previously register event listeners from the trigger element. if (this._triggerElement) { this._triggerEvents.forEach(function (fn, type) { return _this._triggerElement.removeEventListener(type, fn); }); } if (element) { // If the element is not null, register all event listeners on the trigger element. this._triggerEvents.forEach(function (fn, type) { return element.addEventListener(type, fn); }); } this._triggerElement = element; }; /** Listener being called on mousedown event. */ RippleRenderer.prototype.onMousedown = function (event) { if (this.rippleDisabled) { return; } this._isMousedown = true; this.fadeInRipple(event.pageX, event.pageY, this.rippleConfig); }; /** Listener being called on mouseup event. */ RippleRenderer.prototype.onMouseup = function () { var _this = this; this._isMousedown = false; this._activeRipples.forEach(function (ripple) { return _this.fadeOutRipple(ripple); }); this._activeRipples = []; }; /** Listener being called on mouseleave event. */ RippleRenderer.prototype.onMouseLeave = function () { if (this._isMousedown) { this.onMouseup(); } }; /** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */ RippleRenderer.prototype.runTimeoutOutsideZone = function (fn, delay) { if (delay === void 0) { delay = 0; } this._ngZone.runOutsideAngular(function () { return setTimeout(fn, delay); }); }; /** Enforces a style recalculation of a DOM element by computing its styles. */ // TODO(devversion): Move into global utility function. RippleRenderer.prototype._enforceStyleRecalculation = function (element) { // Enforce a style recalculation by calling `getComputedStyle` and accessing any property. // Calling `getPropertyValue` is important to let optimizers know that this is not a noop. // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a window.getComputedStyle(element).getPropertyValue('opacity'); }; return RippleRenderer; }()); var __decorate$8 = (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$8 = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; /** Time in ms to throttle the scrolling events by default. */ var DEFAULT_SCROLL_TIME = 20; /** * Service contained all registered Scrollable references and emits an event when any one of the * Scrollable references emit a scrolled event. */ var ScrollDispatcher = (function () { function ScrollDispatcher() { var _this = this; /** Subject for notifying that a registered scrollable reference element has been scrolled. */ this._scrolled = new rxjs_Subject.Subject(); /** * Map of all the scrollable references that are registered with the service and their * scroll event subscriptions. */ this.scrollableReferences = new Map(); // By default, notify a scroll event when the document is scrolled or the window is resized. rxjs_Observable.Observable.fromEvent(window.document, 'scroll').subscribe(function () { return _this._notify(); }); rxjs_Observable.Observable.fromEvent(window, 'resize').subscribe(function () { return _this._notify(); }); } /** * Registers a Scrollable with the service and listens for its scrolled events. When the * scrollable is scrolled, the service emits the event in its scrolled observable. * * @param scrollable Scrollable instance to be registered. */ ScrollDispatcher.prototype.register = function (scrollable) { var _this = this; var scrollSubscription = scrollable.elementScrolled().subscribe(function () { return _this._notify(); }); this.scrollableReferences.set(scrollable, scrollSubscription); }; /** * Deregisters a Scrollable reference and unsubscribes from its scroll event observable. * * @param scrollable Scrollable instance to be deregistered. */ ScrollDispatcher.prototype.deregister = function (scrollable) { this.scrollableReferences.get(scrollable).unsubscribe(); this.scrollableReferences.delete(scrollable); }; /** * Returns an observable that emits an event whenever any of the registered Scrollable * references (or window, document, or body) fire a scrolled event. Can provide a time in ms * to override the default "throttle" time. */ ScrollDispatcher.prototype.scrolled = function (auditTimeInMs) { if (auditTimeInMs === void 0) { auditTimeInMs = DEFAULT_SCROLL_TIME; } // In the case of a 0ms delay, return the observable without auditTime since it does add // a perceptible delay in processing overhead. if (auditTimeInMs == 0) { return this._scrolled.asObservable(); } return this._scrolled.asObservable().auditTime(auditTimeInMs); }; /** Returns all registered Scrollables that contain the provided element. */ ScrollDispatcher.prototype.getScrollContainers = function (elementRef) { var _this = this; var scrollingContainers = []; this.scrollableReferences.forEach(function (subscription, scrollable) { if (_this.scrollableContainsElement(scrollable, elementRef)) { scrollingContainers.push(scrollable); } }); return scrollingContainers; }; /** Returns true if the element is contained within the provided Scrollable. */ ScrollDispatcher.prototype.scrollableContainsElement = function (scrollable, elementRef) { var element = elementRef.nativeElement; var scrollableElement = scrollable.getElementRef().nativeElement; // Traverse through the element parents until we reach null, checking if any of the elements // are the scrollable's element. do { if (element == scrollableElement) { return true; } } while (element = element.parentElement); }; /** Sends a notification that a scroll event has been fired. */ ScrollDispatcher.prototype._notify = function () { this._scrolled.next(); }; ScrollDispatcher = __decorate$8([ _angular_core.Injectable(), __metadata$8('design:paramtypes', []) ], ScrollDispatcher); return ScrollDispatcher; }()); function SCROLL_DISPATCHER_PROVIDER_FACTORY(parentDispatcher) { return parentDispatcher || new ScrollDispatcher(); } var SCROLL_DISPATCHER_PROVIDER = { // If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one. provide: ScrollDispatcher, deps: [[new _angular_core.Optional(), new _angular_core.SkipSelf(), ScrollDispatcher]], useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY }; var __decorate$7 = (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 = de