tfabrica
Version:
library for TFabrica - TechSol
1,157 lines (1,108 loc) • 5.31 MB
JavaScript
(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