diff --git a/docs/changelog.md b/docs/changelog.md index b50ce56ac..c21e927a6 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,9 @@ # Changelog +## 1.7.0 +- Enhancement: Add RxJS Support +- Chore: Fix builds on windows + ## 1.6.0 - Bug: Column headers not re-ordering (#238) - Bug: Datatable doesn't sort data correctly when data changed (#284) diff --git a/package.json b/package.json index 28ef32857..712f42787 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular2-data-table", - "version": "1.6.0", + "version": "1.7.0", "description": "angular2-data-table is a Angular2 component for presenting large and complex data.", "main": "release/index.js", "typings": "release/index.d.ts", @@ -16,8 +16,8 @@ "clean:dist": "rimraf dist", "clean:release": "rimraf release", "build": "webpack --display-error-details", - "build:release": "NODE_ENV=production npm run build", - "build:package": "NODE_ENV=package npm run build", + "build:release": "cross-env NODE_ENV=production npm run build", + "build:package": "cross-env NODE_ENV=package npm run build", "build:ts": "tsc", "build:aot": "ngc", "build:sass": "node-sass -o dist/ src/", @@ -81,6 +81,7 @@ "clean-webpack-plugin": "^0.1.10", "copy-webpack-plugin": "^4.0.0", "core-js": "^2.4.0", + "cross-env": "^3.1.3", "css-loader": "^0.24.0", "extract-text-webpack-plugin": "^2.0.0-beta.4", "fs-extra": "^1.0.0", diff --git a/release/app.css b/release/app.css deleted file mode 100644 index c4d7510d1..000000000 --- a/release/app.css +++ /dev/null @@ -1,368 +0,0 @@ -/** - * angular2-data-table v"1.6.0" (https://github.com/swimlane/angular2-data-table) - * Copyright 2016 - * Licensed under MIT - */ -.datatable { - display: block; - overflow: hidden; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - position: relative; - /** - * Vertical Scrolling Adjustments - */ - /** - * Horizontal Scrolling Adjustments - */ - /** - * Fixed Header Height Adjustments - */ - /** - * Fixed row height adjustments - */ - /** - * Shared Styles - */ - /** - * Header Styles - */ - /** - * Body Styles - */ - /** - * Footer Styles - */ } - .datatable [hidden] { - display: none !important; } - .datatable *, .datatable *:before, .datatable *:after { - box-sizing: border-box; } - .datatable.scroll-vertical .datatable-body { - overflow-y: auto; } - .datatable.scroll-vertical .datatable-body .datatable-row-wrapper { - position: absolute; } - .datatable.scroll-horz .datatable-body { - overflow-x: auto; } - .datatable.fixed-header .datatable-header .datatable-header-inner { - white-space: nowrap; } - .datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .datatable.fixed-row .datatable-scroll { - white-space: nowrap; } - .datatable.fixed-row .datatable-scroll .datatable-body-row { - white-space: nowrap; } - .datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; } - .datatable .datatable-body-row, - .datatable .datatable-header-inner { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-flow: row; - -o-flex-flow: row; - flex-flow: row; } - .datatable .datatable-body-cell, - .datatable .datatable-header-cell { - vertical-align: top; - display: inline-block; - line-height: 1.625; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; } - .datatable .datatable-body-cell:focus, - .datatable .datatable-header-cell:focus { - outline: none; } - .datatable .datatable-row-left, - .datatable .datatable-row-right { - z-index: 9; } - .datatable .datatable-row-left, - .datatable .datatable-row-center, - .datatable .datatable-row-right { - position: relative; } - .datatable .datatable-header { - display: block; - overflow: hidden; } - .datatable .datatable-header .datatable-header-inner { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-align-items: stretch; } - .datatable .datatable-header .datatable-header-cell { - position: relative; - display: inline-block; } - .datatable .datatable-header .datatable-header-cell.longpress { - cursor: move; } - .datatable .datatable-header .datatable-header-cell.sortable { - cursor: pointer; } - .datatable .datatable-header .datatable-header-cell .sort-btn { - line-height: 100%; - vertical-align: middle; - display: inline-block; } - .datatable .datatable-header .datatable-header-cell .resize-handle { - display: inline-block; - position: absolute; - right: 0; - top: 0; - bottom: 0; - width: 5px; - padding: 0 8px; - visibility: hidden; - cursor: ew-resize; } - .datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle { - visibility: visible; } - .datatable .datatable-body { - position: relative; - z-index: 10; - display: block; } - .datatable .datatable-body .datatable-scroll { - display: inline-block; } - .datatable .datatable-body .datatable-row-detail { - overflow-y: hidden; } - .datatable .datatable-body .datatable-row-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - .datatable .datatable-body .datatable-body-row { - outline: none; } - .datatable .datatable-body .datatable-body-row > div { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .datatable .datatable-footer { - display: block; - width: 100%; } - .datatable .datatable-footer > div { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - width: 100%; } - .datatable .datatable-footer .page-count { - display: inline-block; - -webkit-box-flex: 1; - -ms-flex: 1 1 20%; - flex: 1 1 20%; } - .datatable .datatable-footer .datatable-pager { - display: inline-block; - -webkit-box-flex: 1; - -ms-flex: 1 1 80%; - flex: 1 1 80%; - text-align: right; } - .datatable .datatable-footer .datatable-pager .pager, - .datatable .datatable-footer .datatable-pager .pager li { - padding: 0; - margin: 0; - display: inline-block; - list-style: none; } - .datatable .datatable-footer .datatable-pager .pager li, .datatable .datatable-footer .datatable-pager .pager li a { - outline: none; } - .datatable .datatable-footer .datatable-pager .pager li a { - cursor: pointer; - display: inline-block; } - .datatable .datatable-footer .datatable-pager .pager li.disabled a { - cursor: not-allowed; } -.datatable.material { - background: #FFF; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24); - /** - * Shared Styles - */ - /** - * Global Row Styles - */ - /** - * Header Styles - */ - /** - * Body Styles - */ - /** - * Footer Styles - */ } - .datatable.material.striped .datatable-row-odd { - background: #eee; } - .datatable.material .empty-row { - height: 50px; - text-align: left; - padding: .5rem 1.2rem; - vertical-align: top; - border-top: 0; } - .datatable.material .loading-row { - text-align: left; - padding: .5rem 1.2rem; - vertical-align: top; - border-top: 0; } - .datatable.material .datatable-header .datatable-row-left, - .datatable.material .datatable-body .datatable-row-left { - background-color: #FFF; - background-position: 100% 0; - background-repeat: repeat-y; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==); } - .datatable.material .datatable-header .datatable-row-right, - .datatable.material .datatable-body .datatable-row-right { - background-position: 0 0; - background-color: #fff; - background-repeat: repeat-y; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQI12PQkNdi1VTQ5gbSwkAsDQARLAIGtOSFUAAAAABJRU5ErkJggg==); } - .datatable.material .datatable-header { - border-bottom: 1px solid rgba(0, 0, 0, 0.12); } - .datatable.material .datatable-header .datatable-header-cell { - text-align: left; - padding: .5rem 1.2rem; - font-weight: 400; - color: #757575; - vertical-align: bottom; } - .datatable.material .datatable-header .datatable-header-cell.longpress { - color: #00E676; } - .datatable.material .datatable-header .datatable-header-cell.dragging .resize-handle { - border-right: none; } - .datatable.material .datatable-header .resize-handle { - border-right: solid 1px #eee; } - .datatable.material .datatable-body .datatable-row-detail { - background: #f5f5f5; - padding: 10px; } - .datatable.material .datatable-body .datatable-body-row .datatable-body-cell { - text-align: left; - padding: .5rem 1.2rem; - vertical-align: top; - border-top: 0; - -webkit-transition: width 0.3s ease; - transition: width 0.3s ease; } - .datatable.material .datatable-body .datatable-body-row:hover, - .datatable.material .datatable-body .datatable-body-row:hover .datatable-row-group { - background-color: #eee; - -webkit-transition-property: background; - transition-property: background; - -webkit-transition-duration: .3s; - transition-duration: .3s; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; } - .datatable.material .datatable-body .datatable-body-row:focus, - .datatable.material .datatable-body .datatable-body-row:focus .datatable-row-group { - background-color: #ddd; } - .datatable.material .datatable-body .datatable-body-row.active, - .datatable.material .datatable-body .datatable-body-row.active .datatable-row-group { - background-color: #304FFE; - color: #FFF; } - .datatable.material .datatable-body .datatable-body-row.active:hover, - .datatable.material .datatable-body .datatable-body-row.active:hover .datatable-row-group { - background-color: #193AE4; - color: #FFF; } - .datatable.material .datatable-body .datatable-body-row.active:focus, - .datatable.material .datatable-body .datatable-body-row.active:focus .datatable-row-group { - background-color: #2041EF; - color: #FFF; } - .datatable.material .datatable-body .progress-linear { - display: block; - position: relative; - width: 100%; - height: 5px; - padding: 0; - margin: 0; - position: absolute; } - .datatable.material .datatable-body .progress-linear .container { - display: block; - position: relative; - overflow: hidden; - width: 100%; - height: 5px; - -webkit-transform: translate(0, 0) scale(1, 1); - transform: translate(0, 0) scale(1, 1); - background-color: #aad1f9; } - .datatable.material .datatable-body .progress-linear .container .bar { - -webkit-transition: all .2s linear; - transition: all .2s linear; - -webkit-animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1); - animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1); - transition: -webkit-transform .2s linear; - -webkit-transition: -webkit-transform .2s linear; - transition: transform .2s linear; - transition: transform .2s linear, -webkit-transform .2s linear; - background-color: #106cc8; - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 100%; - height: 5px; } - .datatable.material .datatable-footer { - border-top: 1px solid rgba(0, 0, 0, 0.12); - font-size: 16px; } - .datatable.material .datatable-footer .page-count { - line-height: 50px; - height: 50px; - padding: 0 1.2rem; } - .datatable.material .datatable-footer .datatable-pager { - margin: 0 10px; } - .datatable.material .datatable-footer .datatable-pager li { - vertical-align: middle; } - .datatable.material .datatable-footer .datatable-pager li.disabled a { - color: rgba(0, 0, 0, 0.26) !important; - background-color: transparent !important; } - .datatable.material .datatable-footer .datatable-pager li.active a { - background-color: rgba(158, 158, 158, 0.2); - font-weight: bold; } - .datatable.material .datatable-footer .datatable-pager a { - height: 22px; - min-width: 24px; - line-height: 22px; - padding: 0 6px; - border-radius: 3px; - margin: 6px 3px; - text-align: center; - vertical-align: top; - color: rgba(0, 0, 0, 0.54); - text-decoration: none; - vertical-align: bottom; } - .datatable.material .datatable-footer .datatable-pager a:hover { - color: rgba(0, 0, 0, 0.75); - background-color: rgba(158, 158, 158, 0.2); } - .datatable.material .datatable-footer .datatable-pager .icon-left, - .datatable.material .datatable-footer .datatable-pager .icon-skip, - .datatable.material .datatable-footer .datatable-pager .icon-right, - .datatable.material .datatable-footer .datatable-pager .icon-prev { - font-size: 20px; - line-height: 20px; - padding: 0 3px; } - -/** - * Progress bar animations - */ -@-webkit-keyframes query { - 0% { - opacity: 1; - -webkit-transform: translateX(35%) scale(0.3, 1); - transform: translateX(35%) scale(0.3, 1); } - 100% { - opacity: 0; - -webkit-transform: translateX(-50%) scale(0, 1); - transform: translateX(-50%) scale(0, 1); } } - -@keyframes query { - 0% { - opacity: 1; - -webkit-transform: translateX(35%) scale(0.3, 1); - transform: translateX(35%) scale(0.3, 1); } - 100% { - opacity: 0; - -webkit-transform: translateX(-50%) scale(0, 1); - transform: translateX(-50%) scale(0, 1); } } - -/*# sourceMappingURL=app.map*/ \ No newline at end of file diff --git a/release/app.js b/release/app.js deleted file mode 100644 index 1c51dba22..000000000 --- a/release/app.js +++ /dev/null @@ -1,6277 +0,0 @@ -/** - * angular2-data-table v"1.6.0" (https://github.com/swimlane/angular2-data-table) - * Copyright 2016 - * Licensed under MIT - */ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("@angular/common"), require("@angular/core"), require("@angular/platform-browser"), require("@angular/platform-browser-dynamic"), require("rxjs/Rx")); - else if(typeof define === 'function' && define.amd) - define("angular2-data-table", ["@angular/common", "@angular/core", "@angular/platform-browser", "@angular/platform-browser-dynamic", "rxjs/Rx"], factory); - else if(typeof exports === 'object') - exports["angular2-data-table"] = factory(require("@angular/common"), require("@angular/core"), require("@angular/platform-browser"), require("@angular/platform-browser-dynamic"), require("rxjs/Rx")); - else - root["angular2-data-table"] = factory(root["@angular/common"], root["@angular/core"], root["@angular/platform-browser"], root["@angular/platform-browser-dynamic"], root["rxjs/Rx"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_1__) { -return /******/ (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 harmory imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmory exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ 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 = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./demo/bootstrap.ts"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./demo/app.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var AppComponent = (function () { - function AppComponent() { - this.version = "1.6.0"; - } - Object.defineProperty(AppComponent.prototype, "state", { - get: function () { - return window.state; - }, - set: function (state) { - window.state = state; - }, - enumerable: true, - configurable: true - }); - AppComponent = __decorate([ - core_1.Component({ - selector: 'app', - template: "\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], AppComponent); - return AppComponent; -}()); -exports.AppComponent = AppComponent; - - -/***/ }, - -/***/ "./demo/basic/basic-auto.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var BasicAutoComponent = (function () { - function BasicAutoComponent() { - var _this = this; - this.rows = []; - this.columns = [ - { prop: 'name' }, - { name: 'Gender' }, - { name: 'Company' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - BasicAutoComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - BasicAutoComponent = __decorate([ - core_1.Component({ - selector: 'basic-auto-demo', - template: "\n
\n

Fluid Row Heights

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], BasicAutoComponent); - return BasicAutoComponent; -}()); -exports.BasicAutoComponent = BasicAutoComponent; - - -/***/ }, - -/***/ "./demo/basic/basic-fixed.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var BasicFixedComponent = (function () { - function BasicFixedComponent() { - var _this = this; - this.rows = []; - this.columns = [ - { prop: 'name' }, - { name: 'Company' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - BasicFixedComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - BasicFixedComponent = __decorate([ - core_1.Component({ - selector: 'basic-fixed-demo', - template: "\n
\n

Fix Row Height

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], BasicFixedComponent); - return BasicFixedComponent; -}()); -exports.BasicFixedComponent = BasicFixedComponent; - - -/***/ }, - -/***/ "./demo/basic/filter.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var FilterBarComponent = (function () { - function FilterBarComponent() { - var _this = this; - this.rows = []; - this.temp = []; - this.columns = [ - { prop: 'name' }, - { name: 'Company' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - // cache our list - _this.temp = data.slice(); - // push our inital complete list - _this.rows = data; - }); - } - FilterBarComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - FilterBarComponent.prototype.updateFilter = function (event) { - var val = event.target.value; - // filter our data - var temp = this.temp.filter(function (d) { - return d.name.toLowerCase().indexOf(val) !== -1 || !val; - }); - // update the rows - this.rows = temp; - }; - FilterBarComponent = __decorate([ - core_1.Component({ - selector: 'filter-demo', - template: "\n
\n

Client-side Search and Filtering

\n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], FilterBarComponent); - return FilterBarComponent; -}()); -exports.FilterBarComponent = FilterBarComponent; - - -/***/ }, - -/***/ "./demo/basic/fullscreen.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var FullScreenComponent = (function () { - function FullScreenComponent() { - var _this = this; - this.rows = []; - this.fetch(function (data) { - _this.rows = data; - }); - } - FullScreenComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/100k.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - FullScreenComponent = __decorate([ - core_1.Component({ - selector: 'full-screen-demo', - template: "\n
\n

Full Screen

\n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], FullScreenComponent); - return FullScreenComponent; -}()); -exports.FullScreenComponent = FullScreenComponent; - - -/***/ }, - -/***/ "./demo/basic/inline.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var InlineEditComponent = (function () { - function InlineEditComponent() { - var _this = this; - this.editing = {}; - this.rows = []; - this.fetch(function (data) { - _this.rows = data; - }); - } - InlineEditComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - InlineEditComponent.prototype.updateValue = function (event, cell, cellValue, row) { - this.editing[row.$$index + '-' + cell] = false; - this.rows[row.$$index][cell] = event.target.value; - }; - InlineEditComponent = __decorate([ - core_1.Component({ - selector: 'inline-edit-demo', - template: "\n
\n

Inline Editing

\n \n \n \n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], InlineEditComponent); - return InlineEditComponent; -}()); -exports.InlineEditComponent = InlineEditComponent; - - -/***/ }, - -/***/ "./demo/basic/live.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var LiveDataComponent = (function () { - function LiveDataComponent() { - var _this = this; - this.rows = []; - this.active = true; - this.cols = [ - 'Type', 'Organization', 'DateAdded', 'Tags' - ]; - this.fetch(function (data) { - _this.rows = data.map(function (d) { - d.updated = Date.now().toString(); - return d; - }); - }); - this.start(); - } - LiveDataComponent.prototype.randomNum = function (start, end) { - return Math.floor(Math.random() * end) + start; - }; - LiveDataComponent.prototype.start = function () { - if (!this.active) - return; - setTimeout(this.updateRandom.bind(this), 50); - }; - LiveDataComponent.prototype.stop = function () { - this.active = false; - }; - LiveDataComponent.prototype.updateRandom = function () { - var rowNum = this.randomNum(0, 5); - var cellNum = this.randomNum(0, 4); - var newRow = this.randomNum(0, 100); - var prop = this.cols[cellNum]; - if (this.rows.length) { - // let rows = [...this.rows]; - var row = this.rows[rowNum]; - row[prop] = Date.now().toString(); // this.rows[newRow][prop]; - row.updated = Date.now().toString(); - } - this.start(); - }; - LiveDataComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/security.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - LiveDataComponent = __decorate([ - core_1.Component({ - selector: 'live-data-demo', - template: "\n
\n

\n Live Data Demo ( not working ATM )\n \n Start\n Stop\n \n

\n \n \n \n \n \n \n \n \n
\n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', []) - ], LiveDataComponent); - return LiveDataComponent; -}()); -exports.LiveDataComponent = LiveDataComponent; - - -/***/ }, - -/***/ "./demo/basic/multiple.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var MultipleTablesComponent = (function () { - function MultipleTablesComponent() { - this.columns1 = [ - { prop: 'name' }, - { name: 'Gender' }, - { name: 'Company' } - ]; - this.columns2 = [ - { prop: 'name', Name: '^^NAME^^' }, - { name: 'Gender' } - ]; - this.rows1 = [ - { name: 'Larry', gender: 'Male', company: 'Cisco' }, - { name: 'Lauren', gender: 'Female', company: 'HP' } - ]; - this.rows2 = [ - { name: 'Callie', gender: 'Female' }, - { name: 'Maggie', gender: 'Female' } - ]; - } - MultipleTablesComponent = __decorate([ - core_1.Component({ - selector: 'multiple-tables-demo', - template: "\n
\n

Multiple Tables

\n \n \n
\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], MultipleTablesComponent); - return MultipleTablesComponent; -}()); -exports.MultipleTablesComponent = MultipleTablesComponent; - - -/***/ }, - -/***/ "./demo/basic/row-detail.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var RowDetailsComponent = (function () { - function RowDetailsComponent() { - var _this = this; - this.rows = []; - this.expanded = {}; - this.fetch(function (data) { - _this.rows = data; - }); - } - RowDetailsComponent.prototype.onPage = function (event) { - clearTimeout(this.timeout); - this.timeout = setTimeout(function () { - console.log('paged!', event); - }, 100); - }; - RowDetailsComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/100k.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - RowDetailsComponent.prototype.toggleExpandRow = function (row) { - console.log('Toggled Expand Row!', row); - this.table.toggleExpandRow(row); - }; - __decorate([ - core_1.ViewChild('mydatatable'), - __metadata('design:type', Object) - ], RowDetailsComponent.prototype, "table", void 0); - RowDetailsComponent = __decorate([ - core_1.Component({ - selector: 'row-details-demo', - template: "\n
\n

\n Row Detail Demo\n \n Expand All | \n Collapse All\n \n

\n
\n ", - encapsulation: core_1.ViewEncapsulation.None - }), - __metadata('design:paramtypes', []) - ], RowDetailsComponent); - return RowDetailsComponent; -}()); -exports.RowDetailsComponent = RowDetailsComponent; - - -/***/ }, - -/***/ "./demo/basic/scrolling.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var HorzVertScrolling = (function () { - function HorzVertScrolling() { - var _this = this; - this.rows = []; - this.fetch(function (data) { - _this.rows = data; - }); - } - HorzVertScrolling.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/100k.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - HorzVertScrolling = __decorate([ - core_1.Component({ - selector: 'horz-vert-scrolling-demo', - template: "\n
\n

Horizontal and Vertical Scrolling

\n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], HorzVertScrolling); - return HorzVertScrolling; -}()); -exports.HorzVertScrolling = HorzVertScrolling; - - -/***/ }, - -/***/ "./demo/basic/tabs.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var TabsDemoComponent = (function () { - function TabsDemoComponent() { - var _this = this; - this.rows = []; - this.tab1 = true; - this.tab2 = false; - this.tab3 = false; - this.fetch(function (data) { - _this.rows = data; - }); - } - TabsDemoComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/100k.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - TabsDemoComponent = __decorate([ - core_1.Component({ - selector: 'tabs-demo', - template: "\n
\n

Hidden By Default

\n\n
\n
\n \n \n \n
\n\n
\n

Click a button to toggle table visibilities

\n
\n\n
\n

hidden Table

\n \n \n \n \n \n
\n\n
\n

ngIf Table

\n \n \n \n \n \n
\n
\n\n
\n " - }), - __metadata('design:paramtypes', []) - ], TabsDemoComponent); - return TabsDemoComponent; -}()); -exports.TabsDemoComponent = TabsDemoComponent; - - -/***/ }, - -/***/ "./demo/basic/virtual.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var VirtualScrollComponent = (function () { - function VirtualScrollComponent() { - var _this = this; - this.rows = []; - this.expanded = {}; - this.fetch(function (data) { - _this.rows = data; - }); - } - VirtualScrollComponent.prototype.onPage = function (event) { - clearTimeout(this.timeout); - this.timeout = setTimeout(function () { - console.log('paged!', event); - }, 100); - }; - VirtualScrollComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/100k.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - VirtualScrollComponent = __decorate([ - core_1.Component({ - selector: 'virtual-scroll-demo', - template: "\n
\n

Virtual Scrolling with 100k Rows

\n \n \n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], VirtualScrollComponent); - return VirtualScrollComponent; -}()); -exports.VirtualScrollComponent = VirtualScrollComponent; - - -/***/ }, - -/***/ "./demo/bootstrap.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -var platform_browser_dynamic_1 = __webpack_require__(3); -var hmr_1 = __webpack_require__("./node_modules/@angularclass/hmr/dist/index.js"); -var module_1 = __webpack_require__("./demo/module.ts"); -function main() { - return platform_browser_dynamic_1.platformBrowserDynamic() - .bootstrapModule(module_1.AppModule) - .catch(function (err) { return console.error(err); }); -} -exports.main = main; -if (undefined) - hmr_1.bootloader(main); -if (!undefined) - main(); - - -/***/ }, - -/***/ "./demo/columns/column-flex.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ColumnFlexComponent = (function () { - function ColumnFlexComponent() { - var _this = this; - this.rows = []; - this.fetch(function (data) { - _this.rows = data.splice(0, 5); - }); - } - ColumnFlexComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - ColumnFlexComponent = __decorate([ - core_1.Component({ - selector: 'column-flex-demo', - template: "\n
\n

Flex Column Width Distribution

\n \n \n \n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ColumnFlexComponent); - return ColumnFlexComponent; -}()); -exports.ColumnFlexComponent = ColumnFlexComponent; - - -/***/ }, - -/***/ "./demo/columns/column-force.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ColumnForceComponent = (function () { - function ColumnForceComponent() { - var _this = this; - this.rows = []; - this.fetch(function (data) { - _this.rows = data.splice(0, 5); - }); - } - ColumnForceComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - ColumnForceComponent = __decorate([ - core_1.Component({ - selector: 'column-force-demo', - template: "\n
\n

Force Fill Column Width Distribution

\n \n \n \n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ColumnForceComponent); - return ColumnForceComponent; -}()); -exports.ColumnForceComponent = ColumnForceComponent; - - -/***/ }, - -/***/ "./demo/columns/column-standard.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ColumnStandardComponent = (function () { - function ColumnStandardComponent() { - var _this = this; - this.rows = []; - this.fetch(function (data) { - _this.rows = data.splice(0, 5); - }); - } - ColumnStandardComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - ColumnStandardComponent = __decorate([ - core_1.Component({ - selector: 'column-standard-demo', - template: "\n
\n

Fixed Column Widths

\n \n \n \n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ColumnStandardComponent); - return ColumnStandardComponent; -}()); -exports.ColumnStandardComponent = ColumnStandardComponent; - - -/***/ }, - -/***/ "./demo/columns/column-toggle.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ColumnToggleComponent = (function () { - function ColumnToggleComponent() { - this.rows = [ - { - name: 'Claudine Neal', - gender: 'female', - company: 'Sealoud' - }, - { - name: 'Beryl Rice', - gender: 'female', - company: 'Velity' - } - ]; - this.columns = [ - { name: 'Name' }, - { name: 'Gender' }, - { name: 'Company' } - ]; - this.allColumns = [ - { name: 'Name' }, - { name: 'Gender' }, - { name: 'Company' } - ]; - } - ColumnToggleComponent.prototype.toggle = function (col) { - var isChecked = this.isChecked(col); - if (isChecked) { - this.columns = this.columns.filter(function (c) { - return c.name !== col.name; - }); - } - else { - this.columns = this.columns.concat([col]); - } - }; - ColumnToggleComponent.prototype.isChecked = function (col) { - return this.columns.find(function (c) { - return c.name === col.name; - }); - }; - ColumnToggleComponent = __decorate([ - core_1.Component({ - selector: 'column-toggle-demo', - template: "\n
\n

Column Toggling

\n
\n \n \n
\n
\n

Available Columns

\n \n
\n
\n " - }), - __metadata('design:paramtypes', []) - ], ColumnToggleComponent); - return ColumnToggleComponent; -}()); -exports.ColumnToggleComponent = ColumnToggleComponent; - - -/***/ }, - -/***/ "./demo/columns/pinning.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ColumnPinningComponent = (function () { - function ColumnPinningComponent() { - var _this = this; - this.rows = []; - this.fetch(function (data) { - _this.rows = data; - }); - } - ColumnPinningComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/100k.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - ColumnPinningComponent = __decorate([ - core_1.Component({ - selector: 'column-pinning-demo', - template: "\n
\n

Column Pinning

\n \n \n \n \n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ColumnPinningComponent); - return ColumnPinningComponent; -}()); -exports.ColumnPinningComponent = ColumnPinningComponent; - - -/***/ }, - -/***/ "./demo/module.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var platform_browser_1 = __webpack_require__(4); -var hmr_1 = __webpack_require__("./node_modules/@angularclass/hmr/dist/index.js"); -var src_1 = __webpack_require__("./src/index.ts"); -var app_component_1 = __webpack_require__("./demo/app.component.ts"); -__webpack_require__("./src/components/datatable.scss"); -__webpack_require__("./src/themes/material.scss"); -// -- Basic -var basic_fixed_1 = __webpack_require__("./demo/basic/basic-fixed.ts"); -var basic_auto_1 = __webpack_require__("./demo/basic/basic-auto.ts"); -var virtual_1 = __webpack_require__("./demo/basic/virtual.ts"); -var inline_1 = __webpack_require__("./demo/basic/inline.ts"); -var scrolling_1 = __webpack_require__("./demo/basic/scrolling.ts"); -var multiple_1 = __webpack_require__("./demo/basic/multiple.ts"); -var fullscreen_1 = __webpack_require__("./demo/basic/fullscreen.ts"); -var row_detail_1 = __webpack_require__("./demo/basic/row-detail.ts"); -var filter_1 = __webpack_require__("./demo/basic/filter.ts"); -var tabs_1 = __webpack_require__("./demo/basic/tabs.ts"); -var live_1 = __webpack_require__("./demo/basic/live.ts"); -// -- Paging -var paging_client_1 = __webpack_require__("./demo/paging/paging-client.ts"); -var paging_server_1 = __webpack_require__("./demo/paging/paging-server.ts"); -// -- Sorting -var sorting_comparator_1 = __webpack_require__("./demo/sorting/sorting-comparator.ts"); -var sorting_server_1 = __webpack_require__("./demo/sorting/sorting-server.ts"); -var sorting_client_1 = __webpack_require__("./demo/sorting/sorting-client.ts"); -// -- Templates -var template_dom_1 = __webpack_require__("./demo/templates/template-dom.ts"); -var template_obj_1 = __webpack_require__("./demo/templates/template-obj.ts"); -// -- Selection -var selection_cell_1 = __webpack_require__("./demo/selection/selection-cell.ts"); -var selection_multi_1 = __webpack_require__("./demo/selection/selection-multi.ts"); -var selection_single_1 = __webpack_require__("./demo/selection/selection-single.ts"); -var selection_shift_1 = __webpack_require__("./demo/selection/selection-shift.ts"); -var selection_disabled_1 = __webpack_require__("./demo/selection/selection-disabled.ts"); -// -- Columns -var column_toggle_1 = __webpack_require__("./demo/columns/column-toggle.ts"); -var column_standard_1 = __webpack_require__("./demo/columns/column-standard.ts"); -var column_force_1 = __webpack_require__("./demo/columns/column-force.ts"); -var column_flex_1 = __webpack_require__("./demo/columns/column-flex.ts"); -var pinning_1 = __webpack_require__("./demo/columns/pinning.ts"); -var AppModule = (function () { - function AppModule(appRef) { - this.appRef = appRef; - } - AppModule.prototype.hmrOnDestroy = function (store) { - var cmpLocation = this.appRef.components.map(function (cmp) { return cmp.location.nativeElement; }); - store.disposeOldHosts = hmr_1.createNewHosts(cmpLocation); - hmr_1.removeNgStyles(); - }; - AppModule.prototype.hmrAfterDestroy = function (store) { - store.disposeOldHosts(); - delete store.disposeOldHosts; - }; - AppModule = __decorate([ - core_1.NgModule({ - declarations: [ - app_component_1.AppComponent, - basic_auto_1.BasicAutoComponent, - basic_fixed_1.BasicFixedComponent, - fullscreen_1.FullScreenComponent, - inline_1.InlineEditComponent, - virtual_1.VirtualScrollComponent, - scrolling_1.HorzVertScrolling, - multiple_1.MultipleTablesComponent, - row_detail_1.RowDetailsComponent, - paging_client_1.ClientPagingComponent, - paging_server_1.ServerPagingComponent, - sorting_client_1.ClientSortingComponent, - sorting_server_1.ServerSortingComponent, - sorting_comparator_1.SortingComparatorComponent, - selection_cell_1.CellSelectionComponent, - selection_multi_1.MultiSelectionComponent, - template_dom_1.InlineTemplatesComponent, - template_obj_1.TemplateRefTemplatesComponent, - column_flex_1.ColumnFlexComponent, - column_toggle_1.ColumnToggleComponent, - column_standard_1.ColumnStandardComponent, - column_force_1.ColumnForceComponent, - pinning_1.ColumnPinningComponent, - filter_1.FilterBarComponent, - tabs_1.TabsDemoComponent, - selection_single_1.SingleSelectionComponent, - live_1.LiveDataComponent, - selection_shift_1.MultiShiftSelectionComponent, - selection_disabled_1.MultiDisableSelectionComponent - ], - imports: [platform_browser_1.BrowserModule, src_1.Angular2DataTableModule], - bootstrap: [app_component_1.AppComponent] - }), - __metadata('design:paramtypes', [core_1.ApplicationRef]) - ], AppModule); - return AppModule; -}()); -exports.AppModule = AppModule; - - -/***/ }, - -/***/ "./demo/paging/paging-client.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ClientPagingComponent = (function () { - function ClientPagingComponent() { - var _this = this; - this.rows = []; - this.fetch(function (data) { - _this.rows = data; - }); - } - ClientPagingComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - ClientPagingComponent = __decorate([ - core_1.Component({ - selector: 'client-paging-demo', - template: "\n
\n

Client-side Paging

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ClientPagingComponent); - return ClientPagingComponent; -}()); -exports.ClientPagingComponent = ClientPagingComponent; - - -/***/ }, - -/***/ "./demo/paging/paging-server.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ServerPagingComponent = (function () { - function ServerPagingComponent() { - this.rows = []; - this.count = 0; - this.offset = 0; - this.limit = 10; - } - ServerPagingComponent.prototype.ngOnInit = function () { - this.page(this.offset, this.limit); - }; - ServerPagingComponent.prototype.page = function (offset, limit) { - var _this = this; - this.fetch(function (results) { - _this.count = results.length; - var start = offset * limit; - var end = start + limit; - var rows = _this.rows.slice(); - for (var i = start; i < end; i++) { - rows[i] = results[i]; - } - _this.rows = rows; - console.log('Page Results', start, end, rows); - }); - }; - ServerPagingComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - ServerPagingComponent.prototype.onPage = function (event) { - console.log('Page Event', event); - this.page(event.offset, event.limit); - }; - ServerPagingComponent = __decorate([ - core_1.Component({ - selector: 'server-paging-demo', - template: "\n
\n

Server-side Paging

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ServerPagingComponent); - return ServerPagingComponent; -}()); -exports.ServerPagingComponent = ServerPagingComponent; - - -/***/ }, - -/***/ "./demo/selection/selection-cell.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var CellSelectionComponent = (function () { - function CellSelectionComponent() { - var _this = this; - this.rows = []; - this.selected = []; - this.columns = [ - { prop: 'name' }, - { name: 'Company' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - CellSelectionComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - CellSelectionComponent.prototype.onSelect = function (event) { - console.log('Event: select', event, this.selected); - }; - CellSelectionComponent.prototype.onActivate = function (event) { - console.log('Event: activate', event); - }; - CellSelectionComponent = __decorate([ - core_1.Component({ - selector: 'cell-selection-demo', - template: "\n
\n

Cell Selection

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], CellSelectionComponent); - return CellSelectionComponent; -}()); -exports.CellSelectionComponent = CellSelectionComponent; - - -/***/ }, - -/***/ "./demo/selection/selection-disabled.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var MultiDisableSelectionComponent = (function () { - function MultiDisableSelectionComponent() { - var _this = this; - this.rows = []; - this.selected = []; - this.columns = [ - { prop: 'name' }, - { name: 'Company' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - MultiDisableSelectionComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - MultiDisableSelectionComponent.prototype.onSelect = function (_a) { - var selected = _a.selected; - console.log('Select Event', selected, this.selected); - this.selected.splice(0, this.selected.length); - (_b = this.selected).push.apply(_b, selected); - var _b; - }; - MultiDisableSelectionComponent.prototype.onActivate = function (event) { - console.log('Activate Event', event); - }; - MultiDisableSelectionComponent.prototype.checkSelectable = function (event) { - console.log('Checking if selectable', event); - return event.name !== 'Ethel Price'; - }; - MultiDisableSelectionComponent = __decorate([ - core_1.Component({ - selector: 'multidisable-selection-demo', - template: "\n
\n

Selection Callback to Disable Selections

\n
\n \n \n
\n\n
\n

Selections

\n \n
\n
\n " - }), - __metadata('design:paramtypes', []) - ], MultiDisableSelectionComponent); - return MultiDisableSelectionComponent; -}()); -exports.MultiDisableSelectionComponent = MultiDisableSelectionComponent; - - -/***/ }, - -/***/ "./demo/selection/selection-multi.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var MultiSelectionComponent = (function () { - function MultiSelectionComponent() { - var _this = this; - this.rows = []; - this.selected = []; - this.columns = [ - { prop: 'name' }, - { name: 'Company' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - MultiSelectionComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - MultiSelectionComponent.prototype.onSelect = function (_a) { - var selected = _a.selected; - console.log('Select Event', selected, this.selected); - this.selected.splice(0, this.selected.length); - (_b = this.selected).push.apply(_b, selected); - var _b; - }; - MultiSelectionComponent.prototype.onActivate = function (event) { - console.log('Activate Event', event); - }; - MultiSelectionComponent = __decorate([ - core_1.Component({ - selector: 'multi-selection-demo', - template: "\n
\n

Multi Select via Click

\n
\n \n \n
\n\n
\n

Selections

\n \n
\n
\n " - }), - __metadata('design:paramtypes', []) - ], MultiSelectionComponent); - return MultiSelectionComponent; -}()); -exports.MultiSelectionComponent = MultiSelectionComponent; - - -/***/ }, - -/***/ "./demo/selection/selection-shift.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var MultiShiftSelectionComponent = (function () { - function MultiShiftSelectionComponent() { - var _this = this; - this.rows = []; - this.selected = []; - this.columns = [ - { prop: 'name' }, - { name: 'Company' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - MultiShiftSelectionComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - MultiShiftSelectionComponent.prototype.onSelect = function (_a) { - var selected = _a.selected; - console.log('Select Event', selected, this.selected); - this.selected.splice(0, this.selected.length); - (_b = this.selected).push.apply(_b, selected); - var _b; - }; - MultiShiftSelectionComponent.prototype.onActivate = function (event) { - console.log('Activate Event', event); - }; - MultiShiftSelectionComponent = __decorate([ - core_1.Component({ - selector: 'multishift-selection-demo', - template: "\n
\n

Multi Select via Shift

\n
\n \n \n
\n\n
\n

Selections

\n \n
\n
\n " - }), - __metadata('design:paramtypes', []) - ], MultiShiftSelectionComponent); - return MultiShiftSelectionComponent; -}()); -exports.MultiShiftSelectionComponent = MultiShiftSelectionComponent; - - -/***/ }, - -/***/ "./demo/selection/selection-single.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var SingleSelectionComponent = (function () { - function SingleSelectionComponent() { - var _this = this; - this.rows = []; - this.selected = []; - this.columns = [ - { prop: 'name' }, - { name: 'Company' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - SingleSelectionComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - SingleSelectionComponent.prototype.onSelect = function (_a) { - var selected = _a.selected; - console.log('Select Event', selected, this.selected); - this.selected.splice(0, this.selected.length); - (_b = this.selected).push.apply(_b, selected); - var _b; - }; - SingleSelectionComponent.prototype.onActivate = function (event) { - console.log('Activate Event', event); - }; - SingleSelectionComponent = __decorate([ - core_1.Component({ - selector: 'single-selection-demo', - template: "\n
\n

Single Row Selection

\n
\n \n \n
\n\n
\n

Selections

\n \n
\n
\n " - }), - __metadata('design:paramtypes', []) - ], SingleSelectionComponent); - return SingleSelectionComponent; -}()); -exports.SingleSelectionComponent = SingleSelectionComponent; - - -/***/ }, - -/***/ "./demo/sorting/sorting-client.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ClientSortingComponent = (function () { - function ClientSortingComponent() { - var _this = this; - this.rows = []; - this.columns = [ - { name: 'Company' }, - { name: 'Name' }, - { name: 'Gender' } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - ClientSortingComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - var data = JSON.parse(req.response); - cb(data); - }; - req.send(); - }; - ClientSortingComponent = __decorate([ - core_1.Component({ - selector: 'client-sorting-demo', - template: "\n
\n

Client-side Sorting

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ClientSortingComponent); - return ClientSortingComponent; -}()); -exports.ClientSortingComponent = ClientSortingComponent; - - -/***/ }, - -/***/ "./demo/sorting/sorting-comparator.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var SortingComparatorComponent = (function () { - function SortingComparatorComponent() { - var _this = this; - this.rows = []; - this.columns = [ - { name: 'Company', comparator: this.companyComparator.bind(this) }, - { name: 'Name', sortable: false }, - { name: 'Gender', sortable: false } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - SortingComparatorComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - var data = JSON.parse(req.response); - cb(data.splice(0, 20)); - }; - req.send(); - }; - SortingComparatorComponent.prototype.companyComparator = function (propA, propB) { - console.log('Sorting Comparator', propA, propB); - // Just a simple sort function comparisoins - if (propA.toLowerCase() < propB.toLowerCase()) - return -1; - if (propA.toLowerCase() > propB.toLowerCase()) - return 1; - }; - SortingComparatorComponent = __decorate([ - core_1.Component({ - selector: 'comparator-sorting-demo', - template: "\n
\n

Custom Sorting Comparator

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], SortingComparatorComponent); - return SortingComparatorComponent; -}()); -exports.SortingComparatorComponent = SortingComparatorComponent; - - -/***/ }, - -/***/ "./demo/sorting/sorting-server.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ServerSortingComponent = (function () { - function ServerSortingComponent() { - var _this = this; - this.loading = false; - this.rows = []; - this.columns = [ - // we pass false to bypass the default - // comparator function and use the event to sort - { name: 'Company', sortable: true }, - { name: 'Name', sortable: true }, - { name: 'Gender', sortable: true } - ]; - this.fetch(function (data) { - _this.rows = data; - }); - } - ServerSortingComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - var data = JSON.parse(req.response); - cb(data.splice(0, 20)); - }; - req.send(); - }; - ServerSortingComponent.prototype.onSort = function (event) { - var _this = this; - // event was triggered, start sort sequence - console.log('Sort Event', event); - this.loading = true; - // emulate a server request with a timeout - setTimeout(function () { - var rows = _this.rows.slice(); - // this is only for demo purposes, normally - // your server would return the result for - // you and you would just set the rows prop - var sort = event.sorts[0]; - rows.sort(function (a, b) { - return a[sort.prop].localeCompare(b[sort.prop]) * (sort.dir === 'desc' ? -1 : 1); - }); - _this.rows = rows; - _this.loading = false; - }, 1000); - }; - ServerSortingComponent = __decorate([ - core_1.Component({ - selector: 'server-sorting-demo', - template: "\n
\n

Server-side Sorting

\n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], ServerSortingComponent); - return ServerSortingComponent; -}()); -exports.ServerSortingComponent = ServerSortingComponent; - - -/***/ }, - -/***/ "./demo/templates/template-dom.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var InlineTemplatesComponent = (function () { - function InlineTemplatesComponent() { - var _this = this; - this.rows = []; - this.joke = 'knock knock'; - this.fetch(function (data) { - _this.rows = data.splice(0, 5); - }); - } - InlineTemplatesComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - InlineTemplatesComponent = __decorate([ - core_1.Component({ - selector: 'inline-templates-demo', - template: "\n
\n

Expressive Templates

\n \n \n \n \n \n \n \n \n \n \n \n \n
\n " - }), - __metadata('design:paramtypes', []) - ], InlineTemplatesComponent); - return InlineTemplatesComponent; -}()); -exports.InlineTemplatesComponent = InlineTemplatesComponent; - - -/***/ }, - -/***/ "./demo/templates/template-obj.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var TemplateRefTemplatesComponent = (function () { - function TemplateRefTemplatesComponent() { - var _this = this; - this.rows = []; - this.columns = []; - this.fetch(function (data) { - _this.rows = data.splice(0, 5); - }); - } - TemplateRefTemplatesComponent.prototype.ngOnInit = function () { - this.columns = [{ - cellTemplate: this.editTmpl, - headerTemplate: this.hdrTpl, - name: 'Gender' - }]; - }; - TemplateRefTemplatesComponent.prototype.fetch = function (cb) { - var req = new XMLHttpRequest(); - req.open('GET', "assets/data/company.json"); - req.onload = function () { - cb(JSON.parse(req.response)); - }; - req.send(); - }; - __decorate([ - core_1.ViewChild('editTmpl'), - __metadata('design:type', core_1.TemplateRef) - ], TemplateRefTemplatesComponent.prototype, "editTmpl", void 0); - __decorate([ - core_1.ViewChild('hdrTpl'), - __metadata('design:type', core_1.TemplateRef) - ], TemplateRefTemplatesComponent.prototype, "hdrTpl", void 0); - TemplateRefTemplatesComponent = __decorate([ - core_1.Component({ - selector: 'template-ref-demo', - template: "\n
\n

TemplateRef via Column Property

\n \n \n\n \n\n \n
\n " - }), - __metadata('design:paramtypes', []) - ], TemplateRefTemplatesComponent); - return TemplateRefTemplatesComponent; -}()); -exports.TemplateRefTemplatesComponent = TemplateRefTemplatesComponent; - - -/***/ }, - -/***/ "./node_modules/@angularclass/hmr/dist/helpers.js": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -// Hot Module Replacement -function bootloader(main) { - if (document.readyState === 'complete') { - main(); - } - else { - document.addEventListener('DOMContentLoaded', main); - } -} -exports.bootloader = bootloader; -// create new elements -function createNewHosts(cmps) { - var components = cmps.map(function (componentNode) { - var newNode = document.createElement(componentNode.tagName); - // display none - var currentDisplay = newNode.style.display; - newNode.style.display = 'none'; - var parentNode = componentNode.parentNode; - parentNode.insertBefore(newNode, componentNode); - return { currentDisplay: currentDisplay, newNode: newNode }; - }); - return function () { - components.forEach(function (cmp) { - cmp.newNode.style.display = cmp.currentDisplay; - cmp.newNode = null; - cmp.currentDisplay = null; - }); - }; -} -exports.createNewHosts = createNewHosts; -// remove old styles -function removeNgStyles() { - Array.prototype.slice.call(document.head.querySelectorAll('style'), 0) - .filter(function (style) { return style.innerText.indexOf('_ng') !== -1; }) - .map(function (el) { return el.remove(); }); -} -exports.removeNgStyles = removeNgStyles; -// get input values -function getInputValues() { - var inputs = document.querySelectorAll('input'); - return Array.prototype.slice.call(inputs).map(function (input) { return input.value; }); -} -exports.getInputValues = getInputValues; -// set input values -function setInputValues($inputs) { - var inputs = document.querySelectorAll('input'); - if ($inputs && inputs.length === $inputs.length) { - $inputs.forEach(function (value, i) { - var el = inputs[i]; - el.value = value; - el.dispatchEvent(new CustomEvent('input', { detail: el.value })); - }); - } -} -exports.setInputValues = setInputValues; -// get/set input values -function createInputTransfer() { - var $inputs = getInputValues(); - return function restoreInputValues() { - setInputValues($inputs); - }; -} -exports.createInputTransfer = createInputTransfer; -//# sourceMappingURL=helpers.js.map - -/***/ }, - -/***/ "./node_modules/@angularclass/hmr/dist/index.js": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -// Hot Module Replacement -__export(__webpack_require__("./node_modules/@angularclass/hmr/dist/helpers.js")); -//# sourceMappingURL=index.js.map - -/***/ }, - -/***/ "./src/components/body/body-cell.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -var types_1 = __webpack_require__("./src/types/index.ts"); -var DataTableBodyCellComponent = (function () { - function DataTableBodyCellComponent(element, renderer) { - this.activate = new core_1.EventEmitter(); - this.isFocused = false; - this.element = element.nativeElement; - renderer.setElementClass(this.element, 'datatable-body-cell', true); - } - Object.defineProperty(DataTableBodyCellComponent.prototype, "sorts", { - get: function () { - return this._sorts; - }, - set: function (val) { - this._sorts = val; - this.calcSortDir = this.calcSortDir(val); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyCellComponent.prototype, "isSortActive", { - get: function () { - return !this.sortDir; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyCellComponent.prototype, "isSortAscending", { - get: function () { - return this.sortDir === types_1.SortDirection.asc; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyCellComponent.prototype, "isSortDescending", { - get: function () { - return this.sortDir === types_1.SortDirection.desc; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyCellComponent.prototype, "width", { - get: function () { - return this.column.width; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyCellComponent.prototype, "height", { - get: function () { - var height = this.rowHeight; - if (isNaN(height)) - return height; - return height + 'px'; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyCellComponent.prototype, "value", { - get: function () { - if (!this.row || !this.column) - return ''; - var prop = utils_1.deepValueGetter(this.row, this.column.prop); - var userPipe = this.column.pipe; - return userPipe ? userPipe.transform(prop) : prop; - }, - enumerable: true, - configurable: true - }); - DataTableBodyCellComponent.prototype.onFocus = function (event) { - this.isFocused = true; - }; - DataTableBodyCellComponent.prototype.onBlur = function (event) { - this.isFocused = false; - }; - DataTableBodyCellComponent.prototype.onClick = function (event) { - this.activate.emit({ - type: 'click', - event: event, - row: this.row, - column: this.column, - value: this.value, - cellElement: this.element - }); - }; - DataTableBodyCellComponent.prototype.onDblClick = function (event) { - this.activate.emit({ - type: 'dblclick', - event: event, - row: this.row, - column: this.column, - value: this.value, - cellElement: this.element - }); - }; - DataTableBodyCellComponent.prototype.onKeyDown = function (event) { - var keyCode = event.keyCode; - var isTargetCell = event.target === this.element; - var isAction = keyCode === utils_1.Keys.return || - keyCode === utils_1.Keys.down || - keyCode === utils_1.Keys.up || - keyCode === utils_1.Keys.left || - keyCode === utils_1.Keys.right; - if (isAction && isTargetCell) { - event.preventDefault(); - event.stopPropagation(); - this.activate.emit({ - type: 'keydown', - event: event, - row: this.row, - column: this.column, - value: this.value, - cellElement: this.element - }); - } - }; - DataTableBodyCellComponent.prototype.calcSortDir = function (sorts) { - var _this = this; - if (!sorts) - return; - var sort = sorts.find(function (s) { - return s.prop === _this.column.prop; - }); - if (sort) - return sort.dir; - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableBodyCellComponent.prototype, "row", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableBodyCellComponent.prototype, "column", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableBodyCellComponent.prototype, "rowHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DataTableBodyCellComponent.prototype, "sorts", null); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableBodyCellComponent.prototype, "activate", void 0); - __decorate([ - core_1.HostBinding('class.active'), - __metadata('design:type', Boolean) - ], DataTableBodyCellComponent.prototype, "isFocused", void 0); - __decorate([ - core_1.HostBinding('class.sort-active'), - __metadata('design:type', Boolean) - ], DataTableBodyCellComponent.prototype, "isSortActive", null); - __decorate([ - core_1.HostBinding('class.sort-asc'), - __metadata('design:type', Boolean) - ], DataTableBodyCellComponent.prototype, "isSortAscending", null); - __decorate([ - core_1.HostBinding('class.sort-desc'), - __metadata('design:type', Boolean) - ], DataTableBodyCellComponent.prototype, "isSortDescending", null); - __decorate([ - core_1.HostBinding('style.width.px'), - __metadata('design:type', Number) - ], DataTableBodyCellComponent.prototype, "width", null); - __decorate([ - core_1.HostBinding('style.height'), - __metadata('design:type', Object) - ], DataTableBodyCellComponent.prototype, "height", null); - __decorate([ - core_1.HostListener('focus', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DataTableBodyCellComponent.prototype, "onFocus", null); - __decorate([ - core_1.HostListener('blur', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DataTableBodyCellComponent.prototype, "onBlur", null); - __decorate([ - core_1.HostListener('click', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DataTableBodyCellComponent.prototype, "onClick", null); - __decorate([ - core_1.HostListener('dblclick', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DataTableBodyCellComponent.prototype, "onDblClick", null); - __decorate([ - core_1.HostListener('keydown', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DataTableBodyCellComponent.prototype, "onKeyDown", null); - DataTableBodyCellComponent = __decorate([ - core_1.Component({ - selector: 'datatable-body-cell', - template: "\n
\n \n \n \n \n
\n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) - ], DataTableBodyCellComponent); - return DataTableBodyCellComponent; -}()); -exports.DataTableBodyCellComponent = DataTableBodyCellComponent; - - -/***/ }, - -/***/ "./src/components/body/body-row-wrapper.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var DataTableRowWrapperComponent = (function () { - function DataTableRowWrapperComponent(element, renderer) { - this.expanded = false; - renderer.setElementClass(element.nativeElement, 'datatable-row-wrapper', true); - } - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableRowWrapperComponent.prototype, "rowDetailTemplate", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableRowWrapperComponent.prototype, "detailRowHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DataTableRowWrapperComponent.prototype, "expanded", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableRowWrapperComponent.prototype, "row", void 0); - DataTableRowWrapperComponent = __decorate([ - core_1.Component({ - selector: 'datatable-row-wrapper', - template: "\n \n
\n \n \n
\n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) - ], DataTableRowWrapperComponent); - return DataTableRowWrapperComponent; -}()); -exports.DataTableRowWrapperComponent = DataTableRowWrapperComponent; - - -/***/ }, - -/***/ "./src/components/body/body-row.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -var DataTableBodyRowComponent = (function () { - function DataTableBodyRowComponent(element, renderer) { - this.activate = new core_1.EventEmitter(); - this.element = element.nativeElement; - renderer.setElementClass(this.element, 'datatable-body-row', true); - } - Object.defineProperty(DataTableBodyRowComponent.prototype, "columns", { - get: function () { - return this._columns; - }, - set: function (val) { - this._columns = val; - this.recalculateColumns(val); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyRowComponent.prototype, "innerWidth", { - get: function () { - return this._innerWidth; - }, - set: function (val) { - this._innerWidth = val; - this.recalculateColumns(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyRowComponent.prototype, "isEvenRow", { - get: function () { - return this.row.$$index % 2 === 0; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyRowComponent.prototype, "isOddRow", { - get: function () { - return this.row.$$index % 2 !== 0; - }, - enumerable: true, - configurable: true - }); - DataTableBodyRowComponent.prototype.stylesByGroup = function (group) { - var widths = this.columnGroupWidths; - var offsetX = this.offsetX; - var styles = { - width: widths[group] + "px" - }; - if (group === 'left') { - utils_1.translateXY(styles, offsetX, 0); - } - else if (group === 'right') { - var bodyWidth = parseInt(this.innerWidth + '', 0); - var totalDiff = widths.total - bodyWidth; - var offsetDiff = totalDiff - offsetX; - var offset = (offsetDiff + utils_1.scrollbarWidth) * -1; - utils_1.translateXY(styles, offset, 0); - } - return styles; - }; - DataTableBodyRowComponent.prototype.onActivate = function (event, index) { - event.cellIndex = index; - event.rowElement = this.element; - this.activate.emit(event); - }; - DataTableBodyRowComponent.prototype.onKeyDown = function (event) { - var keyCode = event.keyCode; - var isTargetRow = event.target === this.element; - var isAction = keyCode === utils_1.Keys.return || - keyCode === utils_1.Keys.down || - keyCode === utils_1.Keys.up || - keyCode === utils_1.Keys.left || - keyCode === utils_1.Keys.right; - if (isAction && isTargetRow) { - event.preventDefault(); - event.stopPropagation(); - this.activate.emit({ - type: 'keydown', - event: event, - row: this.row, - rowElement: this.element - }); - } - }; - DataTableBodyRowComponent.prototype.recalculateColumns = function (val) { - if (val === void 0) { val = this.columns; } - var colsByPin = utils_1.columnsByPin(val); - this.columnsByPin = utils_1.columnsByPinArr(val); - this.columnGroupWidths = utils_1.columnGroupWidths(colsByPin, val); - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DataTableBodyRowComponent.prototype, "columns", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Number), - __metadata('design:paramtypes', [Number]) - ], DataTableBodyRowComponent.prototype, "innerWidth", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableBodyRowComponent.prototype, "row", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableBodyRowComponent.prototype, "offsetX", void 0); - __decorate([ - core_1.HostBinding('style.height.px'), - core_1.Input(), - __metadata('design:type', Number) - ], DataTableBodyRowComponent.prototype, "rowHeight", void 0); - __decorate([ - core_1.HostBinding('class.active'), - core_1.Input(), - __metadata('design:type', Boolean) - ], DataTableBodyRowComponent.prototype, "isSelected", void 0); - __decorate([ - core_1.HostBinding('class.datatable-row-even'), - __metadata('design:type', Boolean) - ], DataTableBodyRowComponent.prototype, "isEvenRow", null); - __decorate([ - core_1.HostBinding('class.datatable-row-odd'), - __metadata('design:type', Boolean) - ], DataTableBodyRowComponent.prototype, "isOddRow", null); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableBodyRowComponent.prototype, "activate", void 0); - __decorate([ - core_1.HostListener('keydown', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DataTableBodyRowComponent.prototype, "onKeyDown", null); - DataTableBodyRowComponent = __decorate([ - core_1.Component({ - selector: 'datatable-body-row', - template: "\n \n \n \n \n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) - ], DataTableBodyRowComponent); - return DataTableBodyRowComponent; -}()); -exports.DataTableBodyRowComponent = DataTableBodyRowComponent; - - -/***/ }, - -/***/ "./src/components/body/body.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -var types_1 = __webpack_require__("./src/types/index.ts"); -var scroller_component_1 = __webpack_require__("./src/components/body/scroller.component.ts"); -var DataTableBodyComponent = (function () { - function DataTableBodyComponent(element, renderer) { - this.selected = []; - this.scroll = new core_1.EventEmitter(); - this.page = new core_1.EventEmitter(); - this.activate = new core_1.EventEmitter(); - this.select = new core_1.EventEmitter(); - this.detailToggle = new core_1.EventEmitter(); - this.rowHeightsCache = new utils_1.RowHeightCache(); - this.temp = []; - this.offsetY = 0; - this.indexes = {}; - renderer.setElementClass(element.nativeElement, 'datatable-body', true); - // declare fn here so we can get access to the `this` property - this.rowTrackingFn = function (index, row) { - if (this.trackByProp) { - return row.$$index + "-" + this.trackByProp; - } - else { - return row.$$index; - } - }.bind(this); - } - Object.defineProperty(DataTableBodyComponent.prototype, "pageSize", { - get: function () { - return this._pageSize; - }, - set: function (val) { - this._pageSize = val; - this.recalcLayout(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "rows", { - get: function () { - return this._rows; - }, - set: function (val) { - this._rows = val; - this.recalcLayout(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "columns", { - get: function () { - return this._columns; - }, - set: function (val) { - this._columns = val; - var colsByPin = utils_1.columnsByPin(val); - this.columnGroupWidths = utils_1.columnGroupWidths(colsByPin, val); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "offset", { - get: function () { - return this._offset; - }, - set: function (val) { - this._offset = val; - this.recalcLayout(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "rowCount", { - get: function () { - return this._rowCount; - }, - set: function (val) { - this._rowCount = val; - this.recalcLayout(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "bodyWidth", { - get: function () { - if (this.scrollbarH) { - return this.innerWidth + 'px'; - } - else { - return '100%'; - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "bodyHeight", { - get: function () { - return this._bodyHeight; - }, - set: function (val) { - if (this.scrollbarV) { - this._bodyHeight = val + 'px'; - } - else { - this._bodyHeight = 'auto'; - } - this.recalcLayout(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "selectEnabled", { - get: function () { - return !!this.selectionType; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableBodyComponent.prototype, "scrollHeight", { - /** - * Property that would calculate the height of scroll bar - * based on the row heights cache for virtual scroll. Other scenarios - * calculate scroll height automatically (as height will be undefined). - */ - get: function () { - if (this.scrollbarV) { - return this.rowHeightsCache.query(this.rowCount - 1); - } - }, - enumerable: true, - configurable: true - }); - DataTableBodyComponent.prototype.updateOffsetY = function (offset) { - if (this.scrollbarV && offset) { - // First get the row Index that we need to move to. - var rowIndex = this.pageSize * offset; - offset = this.rowHeightsCache.query(rowIndex - 1); - } - this.scroller.setOffset(offset || 0); - }; - DataTableBodyComponent.prototype.onBodyScroll = function (_a) { - var scrollYPos = _a.scrollYPos, scrollXPos = _a.scrollXPos, direction = _a.direction; - // if scroll change, trigger update - // this is mainly used for header cell positions - if (this.offsetY !== scrollYPos || this.offsetX !== scrollXPos) { - this.scroll.emit({ - offsetY: scrollYPos, - offsetX: scrollXPos - }); - } - this.offsetY = scrollYPos; - this.offsetX = scrollXPos; - this.updateIndexes(); - this.updatePage(direction); - this.updateRows(); - }; - DataTableBodyComponent.prototype.updatePage = function (direction) { - var offset = this.indexes.first / this.pageSize; - if (direction === 'up') { - offset = Math.floor(offset); - } - else if (direction === 'down') { - offset = Math.ceil(offset); - } - if (direction !== undefined && !isNaN(offset)) { - this.page.emit({ offset: offset }); - } - }; - DataTableBodyComponent.prototype.updateRows = function () { - var _a = this.indexes, first = _a.first, last = _a.last; - var rowIndex = first; - var idx = 0; - var temp = []; - while (rowIndex < last && rowIndex < this.rowCount) { - var row = this.rows[rowIndex]; - if (row) { - row.$$index = rowIndex; - temp[idx] = row; - } - idx++; - rowIndex++; - } - this.temp = temp; - }; - /** - * Calculate row height based on the expanded state of the row. - * - * @param row the row for which the height need to be calculated. - * @returns {number} height of the row. - */ - DataTableBodyComponent.prototype.getRowHeight = function (row) { - // Adding detail row height if its expanded. - return this.rowHeight + - (row.$$expanded === 1 ? this.detailRowHeight : 0); - }; - /** - * Calculates the styles for the row so that the rows can be moved in 2D space - * during virtual scroll inside the DOM. In the below case the Y position is - * manipulated. As an example, if the height of row 0 is 30 px and row 1 is - * 100 px then following styles are generated: - * - * transform: translate3d(0px, 0px, 0px); -> row0 - * transform: translate3d(0px, 30px, 0px); -> row1 - * transform: translate3d(0px, 130px, 0px); -> row2 - * - * Row heights have to be calculated based on the row heights cache as we wont - * be able to determine which row is of what height before hand. In the above - * case the positionY of the translate3d for row2 would be the sum of all the - * heights of the rows before it (i.e. row0 and row1). - * - * @param row The row that needs to be placed in the 2D space. - * @returns {{styles: string}} Returns the CSS3 style to be applied - */ - DataTableBodyComponent.prototype.getRowsStyles = function (row) { - var rowHeight = this.getRowHeight(row); - var styles = { - height: rowHeight + 'px' - }; - if (this.scrollbarV) { - var idx = row ? row.$$index : 0; - // const pos = idx * rowHeight; - // The position of this row would be the sum of all row heights - // until the previous row position. - var pos = this.rowHeightsCache.query(idx - 1); - utils_1.translateXY(styles, 0, pos); - } - return styles; - }; - DataTableBodyComponent.prototype.hideIndicator = function () { - var _this = this; - setTimeout(function () { return _this.loadingIndicator = false; }, 500); - }; - DataTableBodyComponent.prototype.updateIndexes = function () { - var first = 0; - var last = 0; - if (this.scrollbarV) { - // Calculation of the first and last indexes will be based on where the - // scrollY position would be at. The last index would be the one - // that shows up inside the view port the last. - var height = parseInt(this.bodyHeight, 0); - first = this.rowHeightsCache.getRowIndex(this.offsetY); - last = this.rowHeightsCache.getRowIndex(height + this.offsetY) + 1; - } - else { - first = Math.max(this.offset * this.pageSize, 0); - last = Math.min((first + this.pageSize), this.rowCount); - } - this.indexes = { first: first, last: last }; - }; - /** - * Refreshes the full Row Height cache. Should be used - * when the entire row array state has changed. - */ - DataTableBodyComponent.prototype.refreshRowHeightCache = function () { - if (!this.scrollbarV) - return; - // clear the previous row height cache if already present. - // this is useful during sorts, filters where the state of the - // rows array is changed. - this.rowHeightsCache.clearCache(); - // Initialize the tree only if there are rows inside the tree. - if (this.rows && this.rows.length) { - this.rowHeightsCache.initCache(this.rows, this.rowHeight, this.detailRowHeight); - } - }; - DataTableBodyComponent.prototype.getAdjustedViewPortIndex = function () { - // Capture the row index of the first row that is visible on the viewport. - // If the scroll bar is just below the row which is highlighted then make that as the - // first index. - var viewPortFirstRowIndex = this.indexes.first; - if (this.scrollbarV) { - var offsetScroll = this.rowHeightsCache.query(viewPortFirstRowIndex - 1); - return offsetScroll <= this.offsetY ? viewPortFirstRowIndex - 1 : viewPortFirstRowIndex; - } - return viewPortFirstRowIndex; - }; - /** - * Toggle the Expansion of the row i.e. if the row is expanded then it will - * collapse and vice versa. Note that the expanded status is stored as - * a part of the row object itself as we have to preserve the expanded row - * status in case of sorting and filtering of the row set. - * - * @param row The row for which the expansion needs to be toggled. - */ - DataTableBodyComponent.prototype.toggleRowExpansion = function (row) { - // Capture the row index of the first row that is visible on the viewport. - var viewPortFirstRowIndex = this.getAdjustedViewPortIndex(); - // If the detailRowHeight is auto --> only in case of non-virtualized scroll - if (this.scrollbarV) { - var detailRowHeight = this.detailRowHeight * (row.$$expanded ? -1 : 1); - this.rowHeightsCache.update(row.$$index, detailRowHeight); - } - // Update the toggled row and update the heights in the cache. - row.$$expanded ^= 1; - this.detailToggle.emit({ - rows: [row], - currentIndex: viewPortFirstRowIndex - }); - }; - /** - * Expand/Collapse all the rows no matter what their state is. - * @param expanded When true, all rows are expanded and when false, all rows will be collapsed. - */ - DataTableBodyComponent.prototype.toggleAllRows = function (expanded) { - var rowExpanded = expanded ? 1 : 0; - // Capture the row index of the first row that is visible on the viewport. - var viewPortFirstRowIndex = this.getAdjustedViewPortIndex(); - for (var _i = 0, _a = this.rows; _i < _a.length; _i++) { - var row = _a[_i]; - row.$$expanded = rowExpanded; - } - if (this.scrollbarV) { - // Refresh the full row heights cache since every row was affected. - this.refreshRowHeightCache(); - } - // Emit all rows that have been expanded. - this.detailToggle.emit({ - rows: this.rows, - currentIndex: viewPortFirstRowIndex - }); - }; - DataTableBodyComponent.prototype.recalcLayout = function () { - this.refreshRowHeightCache(); - this.updateIndexes(); - this.updateRows(); - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DataTableBodyComponent.prototype, "scrollbarV", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DataTableBodyComponent.prototype, "scrollbarH", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DataTableBodyComponent.prototype, "loadingIndicator", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableBodyComponent.prototype, "rowHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableBodyComponent.prototype, "offsetX", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableBodyComponent.prototype, "detailRowHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableBodyComponent.prototype, "emptyMessage", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableBodyComponent.prototype, "selectionType", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Array) - ], DataTableBodyComponent.prototype, "selected", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableBodyComponent.prototype, "rowIdentity", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableBodyComponent.prototype, "rowDetailTemplate", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableBodyComponent.prototype, "selectCheck", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableBodyComponent.prototype, "trackByProp", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number), - __metadata('design:paramtypes', [Number]) - ], DataTableBodyComponent.prototype, "pageSize", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DataTableBodyComponent.prototype, "rows", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DataTableBodyComponent.prototype, "columns", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Number), - __metadata('design:paramtypes', [Number]) - ], DataTableBodyComponent.prototype, "offset", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Number), - __metadata('design:paramtypes', [Number]) - ], DataTableBodyComponent.prototype, "rowCount", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableBodyComponent.prototype, "innerWidth", void 0); - __decorate([ - core_1.HostBinding('style.width'), - __metadata('design:type', String) - ], DataTableBodyComponent.prototype, "bodyWidth", null); - __decorate([ - core_1.Input(), - core_1.HostBinding('style.height'), - __metadata('design:type', Object), - __metadata('design:paramtypes', [Object]) - ], DataTableBodyComponent.prototype, "bodyHeight", null); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableBodyComponent.prototype, "scroll", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableBodyComponent.prototype, "page", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableBodyComponent.prototype, "activate", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableBodyComponent.prototype, "select", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableBodyComponent.prototype, "detailToggle", void 0); - __decorate([ - core_1.ViewChild(scroller_component_1.ScrollerComponent), - __metadata('design:type', scroller_component_1.ScrollerComponent) - ], DataTableBodyComponent.prototype, "scroller", void 0); - DataTableBodyComponent = __decorate([ - core_1.Component({ - selector: 'datatable-body', - template: "\n \n \n \n \n \n \n \n \n \n \n \n \n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) - ], DataTableBodyComponent); - return DataTableBodyComponent; -}()); -exports.DataTableBodyComponent = DataTableBodyComponent; - - -/***/ }, - -/***/ "./src/components/body/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/components/body/body.component.ts")); -__export(__webpack_require__("./src/components/body/body-cell.component.ts")); -__export(__webpack_require__("./src/components/body/body-row.component.ts")); -__export(__webpack_require__("./src/components/body/progress-bar.component.ts")); -__export(__webpack_require__("./src/components/body/scroller.component.ts")); -__export(__webpack_require__("./src/components/body/body-row-wrapper.component.ts")); -__export(__webpack_require__("./src/components/body/selection.component.ts")); - - -/***/ }, - -/***/ "./src/components/body/progress-bar.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ProgressBarComponent = (function () { - function ProgressBarComponent() { - } - ProgressBarComponent = __decorate([ - core_1.Component({ - selector: 'datatable-progress', - template: "\n
\n
\n
\n
\n
\n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', []) - ], ProgressBarComponent); - return ProgressBarComponent; -}()); -exports.ProgressBarComponent = ProgressBarComponent; - - -/***/ }, - -/***/ "./src/components/body/scroller.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var ScrollerComponent = (function () { - function ScrollerComponent(element) { - this.scrollbarV = false; - this.scrollbarH = false; - this.scroll = new core_1.EventEmitter(); - this.scrollYPos = 0; - this.scrollXPos = 0; - this.prevScrollYPos = 0; - this.prevScrollXPos = 0; - this.element = element.nativeElement; - this.element.classList.add('datatable-scroll'); - } - ScrollerComponent.prototype.ngOnInit = function () { - // manual bind so we don't always listen - if (this.scrollbarV || this.scrollbarH) { - this.parentElement = this.element.parentElement.parentElement; - this.parentElement.addEventListener('scroll', this.onScrolled.bind(this)); - } - }; - ScrollerComponent.prototype.ngOnDestroy = function () { - if (this.scrollbarV || this.scrollbarH) { - this.parentElement.removeEventListener('scroll'); - } - }; - ScrollerComponent.prototype.setOffset = function (offsetY) { - if (this.parentElement) { - this.parentElement.scrollTop = offsetY; - } - }; - ScrollerComponent.prototype.onScrolled = function (event) { - var dom = event.currentTarget; - this.scrollYPos = dom.scrollTop; - this.scrollXPos = dom.scrollLeft; - requestAnimationFrame(this.updateOffset.bind(this)); - }; - ScrollerComponent.prototype.updateOffset = function () { - var direction; - if (this.scrollYPos < this.prevScrollYPos) { - direction = 'down'; - } - else if (this.scrollYPos > this.prevScrollYPos) { - direction = 'up'; - } - this.scroll.emit({ - direction: direction, - scrollYPos: this.scrollYPos, - scrollXPos: this.scrollXPos - }); - this.prevScrollYPos = this.scrollYPos; - this.prevScrollXPos = this.scrollXPos; - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], ScrollerComponent.prototype, "scrollbarV", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], ScrollerComponent.prototype, "scrollbarH", void 0); - __decorate([ - core_1.HostBinding('style.height.px'), - core_1.Input(), - __metadata('design:type', Number) - ], ScrollerComponent.prototype, "scrollHeight", void 0); - __decorate([ - core_1.HostBinding('style.width.px'), - core_1.Input(), - __metadata('design:type', Number) - ], ScrollerComponent.prototype, "scrollWidth", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], ScrollerComponent.prototype, "scroll", void 0); - ScrollerComponent = __decorate([ - core_1.Component({ - selector: 'datatable-scroller', - template: "\n \n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef]) - ], ScrollerComponent); - return ScrollerComponent; -}()); -exports.ScrollerComponent = ScrollerComponent; - - -/***/ }, - -/***/ "./src/components/body/selection.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -var types_1 = __webpack_require__("./src/types/index.ts"); -var DataTableSelectionComponent = (function () { - function DataTableSelectionComponent() { - this.activate = new core_1.EventEmitter(); - this.select = new core_1.EventEmitter(); - } - DataTableSelectionComponent.prototype.selectRow = function (event, index, row) { - if (!this.selectEnabled) - return; - var multiShift = this.selectionType === types_1.SelectionType.multiShift; - var multiClick = this.selectionType === types_1.SelectionType.multi; - var selected = []; - if (multiShift || multiClick) { - if (multiShift && event.shiftKey) { - var newSelected = this.selected.slice(); - selected = utils_1.selectRowsBetween(newSelected, this.rows, index, this.prevIndex, this.getRowSelectedIdx.bind(this)); - } - else if (multiShift && !event.shiftKey) { - selected.push(row); - } - else { - var newSelected = this.selected.slice(); - selected = utils_1.selectRows(newSelected, row, this.getRowSelectedIdx.bind(this)); - } - } - else { - selected.push(row); - } - if (this.selectCheck) { - selected = selected.filter(this.selectCheck.bind(this)); - } - this.selected = selected; - this.prevIndex = index; - this.select.emit({ - selected: selected - }); - }; - DataTableSelectionComponent.prototype.onActivate = function (model, index) { - var type = model.type, event = model.event, row = model.row; - if (type === 'click' || type === 'dblclick') { - this.selectRow(event, index, row); - } - else if (type === 'keydown') { - if (event.keyCode === utils_1.Keys.return) { - this.selectRow(event, index, row); - } - else { - this.onKeyboardFocus(model); - } - } - this.activate.emit(model); - }; - DataTableSelectionComponent.prototype.onKeyboardFocus = function (model) { - var keyCode = model.event.keyCode; - var shouldFocus = keyCode === utils_1.Keys.up || - keyCode === utils_1.Keys.down || - keyCode === utils_1.Keys.right || - keyCode === utils_1.Keys.left; - if (shouldFocus) { - var isCellSelection = this.selectionType === types_1.SelectionType.cell; - if (!model.cellElement || !isCellSelection) { - this.focusRow(model.rowElement, keyCode); - } - else if (isCellSelection) { - this.focusCell(model.cellElement, model.rowElement, keyCode, model.cellIndex); - } - } - }; - DataTableSelectionComponent.prototype.focusRow = function (rowElement, keyCode) { - var nextRowElement = this.getPrevNextRow(rowElement, keyCode); - if (nextRowElement) - nextRowElement.focus(); - }; - DataTableSelectionComponent.prototype.getPrevNextRow = function (rowElement, keyCode) { - var parentElement = rowElement.parentElement; - if (parentElement) { - var focusElement = void 0; - if (keyCode === utils_1.Keys.up) { - focusElement = parentElement.previousElementSibling; - } - else if (keyCode === utils_1.Keys.down) { - focusElement = parentElement.nextElementSibling; - } - if (focusElement && focusElement.children.length) { - return focusElement.children[0]; - } - } - }; - DataTableSelectionComponent.prototype.focusCell = function (cellElement, rowElement, keyCode, cellIndex) { - var nextCellElement; - if (keyCode === utils_1.Keys.left) { - nextCellElement = cellElement.previousElementSibling; - } - else if (keyCode === utils_1.Keys.right) { - nextCellElement = cellElement.nextElementSibling; - } - else if (keyCode === utils_1.Keys.up || keyCode === utils_1.Keys.down) { - var nextRowElement = this.getPrevNextRow(rowElement, keyCode); - if (nextRowElement) { - var children = nextRowElement.getElementsByClassName('datatable-body-cell'); - if (children.length) - nextCellElement = children[cellIndex]; - } - } - if (nextCellElement) - nextCellElement.focus(); - }; - DataTableSelectionComponent.prototype.getRowSelected = function (row) { - return this.getRowSelectedIdx(row, this.selected) > -1; - }; - DataTableSelectionComponent.prototype.getRowSelectedIdx = function (row, selected) { - var _this = this; - if (!selected || !selected.length) - return -1; - var rowId = this.rowIdentity(row); - return selected.findIndex(function (r) { - var id = _this.rowIdentity(r); - return id === rowId; - }); - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Array) - ], DataTableSelectionComponent.prototype, "rows", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Array) - ], DataTableSelectionComponent.prototype, "selected", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DataTableSelectionComponent.prototype, "selectEnabled", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableSelectionComponent.prototype, "selectionType", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableSelectionComponent.prototype, "rowIdentity", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableSelectionComponent.prototype, "selectCheck", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableSelectionComponent.prototype, "activate", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableSelectionComponent.prototype, "select", void 0); - DataTableSelectionComponent = __decorate([ - core_1.Component({ - selector: 'datatable-selection', - template: "\n \n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', []) - ], DataTableSelectionComponent); - return DataTableSelectionComponent; -}()); -exports.DataTableSelectionComponent = DataTableSelectionComponent; - - -/***/ }, - -/***/ "./src/components/column.directive.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var DataTableColumnDirective = (function () { - function DataTableColumnDirective() { - } - Object.defineProperty(DataTableColumnDirective.prototype, "hasHeaderTemplate", { - get: function () { - // this is a tad nasty but can't think of a better way - // to differate if the prop is header vs cell - return this.templates.length === 2; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableColumnDirective.prototype, "headerTemplate", { - get: function () { - if (!this.hasHeaderTemplate) - return undefined; - return this.templates.first; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableColumnDirective.prototype, "cellTemplate", { - get: function () { - if (this.hasHeaderTemplate) - return this.templates.last; - return this.templates.first; - }, - enumerable: true, - configurable: true - }); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "name", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "prop", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "frozenLeft", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "frozenRight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "flexGrow", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "resizeable", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "comparator", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "pipe", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "sortable", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "draggable", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "canAutoResize", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "minWidth", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "width", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableColumnDirective.prototype, "maxWidth", void 0); - __decorate([ - core_1.ContentChildren(core_1.TemplateRef), - __metadata('design:type', core_1.QueryList) - ], DataTableColumnDirective.prototype, "templates", void 0); - DataTableColumnDirective = __decorate([ - core_1.Directive({ - selector: 'datatable-column', - }), - __metadata('design:paramtypes', []) - ], DataTableColumnDirective); - return DataTableColumnDirective; -}()); -exports.DataTableColumnDirective = DataTableColumnDirective; - - -/***/ }, - -/***/ "./src/components/datatable.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -var types_1 = __webpack_require__("./src/types/index.ts"); -var body_1 = __webpack_require__("./src/components/body/index.ts"); -var column_directive_1 = __webpack_require__("./src/components/column.directive.ts"); -var row_detail_directive_1 = __webpack_require__("./src/components/row-detail.directive.ts"); -var utils_2 = __webpack_require__("./src/utils/index.ts"); -var DatatableComponent = (function () { - function DatatableComponent(renderer, element) { - // Enable vertical scrollbars - this.scrollbarV = false; - // Enable horz scrollbars - this.scrollbarH = false; - // The row height; which is necessary - // to calculate the height for the lazy rendering. - this.rowHeight = 30; - // The detail row height is required especially when virtual scroll is enabled. - this.detailRowHeight = 0; - // Type of column width distribution. - // Example: flex, force, standard - this.columnMode = types_1.ColumnMode.standard; - // The minimum header height in pixels. - // pass falsey for no header - // note: number|string does not work right - this.headerHeight = 30; - // The minimum footer height in pixels. - // pass falsey for no footer - this.footerHeight = 0; - // if external paging is turned on - this.externalPaging = false; - // if external sorting is turned on - this.externalSorting = false; - // Page size - this.limit = undefined; - // Total count - this.count = 0; - // Page offset - this.offset = 0; - // Loading indicator - this.loadingIndicator = false; - // if you can reorder columns - this.reorderable = true; - // type of sorting - this.sortType = types_1.SortType.single; - // sorts - this.sorts = []; - // css class overrides - this.cssClasses = { - sortAscending: 'icon-down', - sortDescending: 'icon-up', - pagerLeftArrow: 'icon-left', - pagerRightArrow: 'icon-right', - pagerPrevious: 'icon-prev', - pagerNext: 'icon-skip' - }; - // message overrides for localization - this.messages = { - // Message to show when array is presented - // but contains no values - emptyMessage: 'No data to display', - // Footer total message - totalMessage: 'total' - }; - // This will be used when displaying or selecting rows: - // when tracking/comparing them, we'll use the value of this fn, - // (`fn(x) === fn(y)` instead of `x === y`) - this.rowIdentity = (function (x) { return x; }); - this.scroll = new core_1.EventEmitter(); - this.activate = new core_1.EventEmitter(); - this.select = new core_1.EventEmitter(); - this.sort = new core_1.EventEmitter(); - this.page = new core_1.EventEmitter(); - this.detailToggle = new core_1.EventEmitter(); - this.reorder = new core_1.EventEmitter(); - this.resize = new core_1.EventEmitter(); - this.offsetX = 0; - this.element = element.nativeElement; - renderer.setElementClass(this.element, 'datatable', true); - } - Object.defineProperty(DatatableComponent.prototype, "rows", { - get: function () { - return this._rows; - }, - // Rows - set: function (val) { - if (!this.externalSorting) { - val = utils_1.sortRows(val, this.columns, this.sorts); - } - this._rows = val; - this.recalculate(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "columns", { - get: function () { - return this._columns; - }, - // Columns - set: function (val) { - if (val) { - utils_2.setColumnDefaults(val); - this.recalculateColumns(val); - } - this._columns = val; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "isFixedHeader", { - get: function () { - var headerHeight = this.headerHeight; - return (typeof headerHeight === 'string') ? - headerHeight !== 'auto' : true; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "isFixedRow", { - get: function () { - var rowHeight = this.rowHeight; - return (typeof rowHeight === 'string') ? - rowHeight !== 'auto' : true; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "isVertScroll", { - get: function () { - return this.scrollbarV; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "isHorScroll", { - get: function () { - return this.scrollbarH; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "isSelectable", { - get: function () { - return this.selectionType !== undefined; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "columnTemplates", { - get: function () { - return this._columnTemplates; - }, - set: function (val) { - this._columnTemplates = val; - if (val) { - // only set this if results were brought back - var arr = val.toArray(); - if (arr.length) { - // translate them to normal objects - this.columns = utils_2.translateTemplates(arr); - } - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DatatableComponent.prototype, "rowDetailTemplateChild", { - get: function () { - return this._rowDetailTemplateChild; - }, - set: function (val) { - this._rowDetailTemplateChild = val; - if (val) - this.rowDetailTemplate = val.rowDetailTemplate; - }, - enumerable: true, - configurable: true - }); - DatatableComponent.prototype.ngOnInit = function () { - // need to call this immediatly to size - // if the table is hidden the visibility - // listener will invoke this itself upon show - this.recalculate(); - }; - DatatableComponent.prototype.ngAfterViewInit = function () { - this.recalculate(); - }; - /** - * Toggle the expansion of the row - * - * @param rowIndex - */ - DatatableComponent.prototype.toggleExpandRow = function (row) { - // Should we write a guard here?? - this.bodyComponent.toggleRowExpansion(row); - }; - /** - * API method to expand all the rows. - */ - DatatableComponent.prototype.expandAllRows = function () { - this.bodyComponent.toggleAllRows(true); - }; - /** - * API method to collapse all the rows. - */ - DatatableComponent.prototype.collapseAllRows = function () { - this.bodyComponent.toggleAllRows(false); - }; - DatatableComponent.prototype.recalculate = function () { - this.recalculateDims(); - this.recalculateColumns(); - }; - DatatableComponent.prototype.recalculateColumns = function (columns, forceIdx) { - if (columns === void 0) { columns = this.columns; } - if (!columns) - return; - var width = this.innerWidth; - if (this.scrollbarV) { - width = width - utils_2.scrollbarWidth; - } - if (this.columnMode === types_1.ColumnMode.force) { - utils_1.forceFillColumnWidths(columns, width, forceIdx); - } - else if (this.columnMode === types_1.ColumnMode.flex) { - utils_1.adjustColumnWidths(columns, width); - } - return columns; - }; - DatatableComponent.prototype.recalculateDims = function () { - var _a = this.element.getBoundingClientRect(), height = _a.height, width = _a.width; - this.innerWidth = Math.floor(width); - if (this.scrollbarV) { - if (this.headerHeight) - height = height - this.headerHeight; - if (this.footerHeight) - height = height - this.footerHeight; - this.bodyHeight = height; - } - this.pageSize = this.calcPageSize(); - this.rowCount = this.calcRowCount(); - }; - DatatableComponent.prototype.onBodyPage = function (_a) { - var offset = _a.offset; - this.offset = offset; - this.page.emit({ - count: this.count, - pageSize: this.pageSize, - limit: this.limit, - offset: this.offset - }); - }; - DatatableComponent.prototype.onBodyScroll = function (event) { - this.offsetX = event.offsetX; - this.scroll.emit(event); - }; - DatatableComponent.prototype.onFooterPage = function (event) { - this.offset = event.page - 1; - this.bodyComponent.updateOffsetY(this.offset); - this.page.emit({ - count: this.count, - pageSize: this.pageSize, - limit: this.limit, - offset: this.offset - }); - }; - DatatableComponent.prototype.calcPageSize = function (val) { - if (val === void 0) { val = this.rows; } - // Keep the page size constant even if the row has been expanded. - // This is because an expanded row is still considered to be a child of - // the original row. Hence calculation would use rowHeight only. - if (this.scrollbarV) - return Math.ceil(this.bodyHeight / this.rowHeight); - // if limit is passed, we are paging - if (this.limit !== undefined) - return this.limit; - // otherwise use row length - if (val) - return val.length; - // other empty :( - return 0; - }; - DatatableComponent.prototype.calcRowCount = function (val) { - if (val === void 0) { val = this.rows; } - if (!this.externalPaging) { - if (!val) - return 0; - return val.length; - } - return this.count; - }; - DatatableComponent.prototype.onColumnResize = function (_a) { - var column = _a.column, newValue = _a.newValue; - var idx; - var cols = this.columns.map(function (c, i) { - c = Object.assign({}, c); - if (c.$$id === column.$$id) { - idx = i; - c.width = newValue; - // set this so we can force the column - // width distribution to be to this value - c.$$oldWidth = newValue; - } - return c; - }); - this.recalculateColumns(cols, idx); - this.columns = cols; - this.resize.emit({ - column: column, - newValue: newValue - }); - }; - DatatableComponent.prototype.onColumnReorder = function (_a) { - var column = _a.column, newValue = _a.newValue, prevValue = _a.prevValue; - var cols = this.columns.map(function (c) { - return Object.assign({}, c); - }); - cols.splice(prevValue, 1); - cols.splice(newValue, 0, column); - this.columns = cols; - this.reorder.emit({ - column: column, - newValue: newValue, - prevValue: prevValue - }); - }; - DatatableComponent.prototype.onColumnSort = function (event) { - var sorts = event.sorts; - // this could be optimized better since it will resort - // the rows again on the 'push' detection... - if (this.externalSorting === false) { - this.rows = utils_1.sortRows(this.rows, this.columns, sorts); - } - this.sorts = sorts; - this.bodyComponent.updateOffsetY(0); - this.sort.emit(event); - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DatatableComponent.prototype, "rows", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DatatableComponent.prototype, "columns", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Array) - ], DatatableComponent.prototype, "selected", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DatatableComponent.prototype, "scrollbarV", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DatatableComponent.prototype, "scrollbarH", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "rowHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "detailRowHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "columnMode", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "headerHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "footerHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DatatableComponent.prototype, "externalPaging", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DatatableComponent.prototype, "externalSorting", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "limit", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "count", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "offset", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DatatableComponent.prototype, "loadingIndicator", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "selectionType", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DatatableComponent.prototype, "reorderable", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DatatableComponent.prototype, "sortType", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Array) - ], DatatableComponent.prototype, "sorts", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', core_1.TemplateRef) - ], DatatableComponent.prototype, "rowDetailTemplate", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "cssClasses", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "messages", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "rowIdentity", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "selectCheck", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DatatableComponent.prototype, "trackByProp", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "scroll", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "activate", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "select", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "sort", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "page", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "detailToggle", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "reorder", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DatatableComponent.prototype, "resize", void 0); - __decorate([ - core_1.HostBinding('class.fixed-header'), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "isFixedHeader", null); - __decorate([ - core_1.HostBinding('class.fixed-row'), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "isFixedRow", null); - __decorate([ - core_1.HostBinding('class.scroll-vertical'), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "isVertScroll", null); - __decorate([ - core_1.HostBinding('class.scroll-horz'), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "isHorScroll", null); - __decorate([ - core_1.HostBinding('class.selectable'), - __metadata('design:type', Object) - ], DatatableComponent.prototype, "isSelectable", null); - __decorate([ - core_1.ContentChildren(column_directive_1.DataTableColumnDirective), - __metadata('design:type', core_1.QueryList), - __metadata('design:paramtypes', [core_1.QueryList]) - ], DatatableComponent.prototype, "columnTemplates", null); - __decorate([ - core_1.ContentChild(row_detail_directive_1.DatatableRowDetailDirective), - __metadata('design:type', row_detail_directive_1.DatatableRowDetailDirective), - __metadata('design:paramtypes', [row_detail_directive_1.DatatableRowDetailDirective]) - ], DatatableComponent.prototype, "rowDetailTemplateChild", null); - __decorate([ - core_1.ViewChild(body_1.DataTableBodyComponent), - __metadata('design:type', body_1.DataTableBodyComponent) - ], DatatableComponent.prototype, "bodyComponent", void 0); - __decorate([ - core_1.HostListener('window:resize'), - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', void 0) - ], DatatableComponent.prototype, "recalculate", null); - DatatableComponent = __decorate([ - core_1.Component({ - selector: 'datatable', - template: "\n \n \n \n \n \n \n \n \n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.Renderer, core_1.ElementRef]) - ], DatatableComponent); - return DatatableComponent; -}()); -exports.DatatableComponent = DatatableComponent; - - -/***/ }, - -/***/ "./src/components/datatable.scss": -/***/ function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }, - -/***/ "./src/components/footer/footer.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var DataTableFooterComponent = (function () { - function DataTableFooterComponent(element, renderer) { - this.page = new core_1.EventEmitter(); - renderer.setElementClass(element.nativeElement, 'datatable-footer', true); - } - Object.defineProperty(DataTableFooterComponent.prototype, "isVisible", { - get: function () { - return (this.rowCount / this.pageSize) > 1; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableFooterComponent.prototype, "curPage", { - get: function () { - return this.offset + 1; - }, - enumerable: true, - configurable: true - }); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableFooterComponent.prototype, "footerHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableFooterComponent.prototype, "rowCount", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableFooterComponent.prototype, "pageSize", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableFooterComponent.prototype, "offset", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableFooterComponent.prototype, "pagerLeftArrowIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableFooterComponent.prototype, "pagerRightArrowIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableFooterComponent.prototype, "pagerPreviousIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableFooterComponent.prototype, "pagerNextIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableFooterComponent.prototype, "totalMessage", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableFooterComponent.prototype, "page", void 0); - DataTableFooterComponent = __decorate([ - core_1.Component({ - selector: 'datatable-footer', - template: "\n \n
{{rowCount.toLocaleString()}} {{totalMessage}}
\n \n \n \n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) - ], DataTableFooterComponent); - return DataTableFooterComponent; -}()); -exports.DataTableFooterComponent = DataTableFooterComponent; - - -/***/ }, - -/***/ "./src/components/footer/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/components/footer/footer.component.ts")); -__export(__webpack_require__("./src/components/footer/pager.component.ts")); - - -/***/ }, - -/***/ "./src/components/footer/pager.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var DataTablePagerComponent = (function () { - function DataTablePagerComponent(element, renderer) { - this.change = new core_1.EventEmitter(); - this._count = 0; - this._page = 1; - this._size = 0; - renderer.setElementClass(element.nativeElement, 'datatable-pager', true); - } - Object.defineProperty(DataTablePagerComponent.prototype, "size", { - get: function () { - return this._size; - }, - set: function (val) { - this._size = val; - this.pages = this.calcPages(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTablePagerComponent.prototype, "count", { - get: function () { - return this._count; - }, - set: function (val) { - this._count = val; - this.pages = this.calcPages(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTablePagerComponent.prototype, "page", { - get: function () { - return this._page; - }, - set: function (val) { - this._page = val; - this.pages = this.calcPages(); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTablePagerComponent.prototype, "totalPages", { - get: function () { - var count = this.size < 1 ? 1 : Math.ceil(this.count / this.size); - return Math.max(count || 0, 1); - }, - enumerable: true, - configurable: true - }); - DataTablePagerComponent.prototype.canPrevious = function () { - return this.page > 1; - }; - DataTablePagerComponent.prototype.canNext = function () { - return this.page < this.totalPages; - }; - DataTablePagerComponent.prototype.prevPage = function () { - this.selectPage(this.page - 1); - }; - DataTablePagerComponent.prototype.nextPage = function () { - this.selectPage(this.page + 1); - }; - DataTablePagerComponent.prototype.selectPage = function (page) { - if (page > 0 && page <= this.totalPages && page !== this.page) { - this.page = page; - this.change.emit({ - page: page - }); - } - }; - DataTablePagerComponent.prototype.calcPages = function (page) { - var pages = []; - var startPage = 1; - var endPage = this.totalPages; - var maxSize = 5; - var isMaxSized = maxSize < this.totalPages; - page = page || this.page; - if (isMaxSized) { - startPage = ((Math.ceil(page / maxSize) - 1) * maxSize) + 1; - endPage = Math.min(startPage + maxSize - 1, this.totalPages); - } - for (var num = startPage; num <= endPage; num++) { - pages.push({ - number: num, - text: num - }); - } - return pages; - }; - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTablePagerComponent.prototype, "pagerLeftArrowIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTablePagerComponent.prototype, "pagerRightArrowIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTablePagerComponent.prototype, "pagerPreviousIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTablePagerComponent.prototype, "pagerNextIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number), - __metadata('design:paramtypes', [Number]) - ], DataTablePagerComponent.prototype, "size", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Number), - __metadata('design:paramtypes', [Number]) - ], DataTablePagerComponent.prototype, "count", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Number), - __metadata('design:paramtypes', [Number]) - ], DataTablePagerComponent.prototype, "page", null); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTablePagerComponent.prototype, "change", void 0); - DataTablePagerComponent = __decorate([ - core_1.Component({ - selector: 'datatable-pager', - template: "\n
    \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n \n {{pg.text}}\n \n \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n
\n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) - ], DataTablePagerComponent); - return DataTablePagerComponent; -}()); -exports.DataTablePagerComponent = DataTablePagerComponent; - - -/***/ }, - -/***/ "./src/components/header/header-cell.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var types_1 = __webpack_require__("./src/types/index.ts"); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -var DataTableHeaderCellComponent = (function () { - function DataTableHeaderCellComponent() { - this.sort = new core_1.EventEmitter(); - } - Object.defineProperty(DataTableHeaderCellComponent.prototype, "sorts", { - get: function () { - return this._sorts; - }, - set: function (val) { - this._sorts = val; - this.sortDir = this.calcSortDir(val); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableHeaderCellComponent.prototype, "columnCssClasses", { - get: function () { - var cls = 'datatable-header-cell'; - if (this.column.sortable) - cls += ' sortable'; - if (this.column.resizeable) - cls += ' resizeable'; - var sortDir = this.sortDir; - if (sortDir) { - cls += " sort-active sort-" + sortDir; - } - return cls; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableHeaderCellComponent.prototype, "name", { - get: function () { - return this.column.name || this.column.prop; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableHeaderCellComponent.prototype, "minWidth", { - get: function () { - return this.column.minWidth; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableHeaderCellComponent.prototype, "maxWidth", { - get: function () { - return this.column.maxWidth; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableHeaderCellComponent.prototype, "width", { - get: function () { - return this.column.width; - }, - enumerable: true, - configurable: true - }); - DataTableHeaderCellComponent.prototype.sortClasses = function (dir) { - var result = {}; - if (dir === types_1.SortDirection.asc) { - result[("sort-asc " + this.sortAscendingIcon)] = true; - } - else if (dir === types_1.SortDirection.desc) { - result[("sort-desc " + this.sortDescendingIcon)] = true; - } - return result; - }; - DataTableHeaderCellComponent.prototype.calcSortDir = function (sorts) { - var _this = this; - if (sorts && this.column) { - var sort = sorts.find(function (s) { - return s.prop === _this.column.prop; - }); - if (sort) - return sort.dir; - } - }; - DataTableHeaderCellComponent.prototype.onSort = function () { - if (!this.column.sortable) - return; - var newValue = utils_1.nextSortDir(this.sortType, this.sortDir); - this.sort.emit({ - column: this.column, - prevValue: this.sortDir, - newValue: newValue - }); - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableHeaderCellComponent.prototype, "sortType", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableHeaderCellComponent.prototype, "column", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableHeaderCellComponent.prototype, "sortAscendingIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', String) - ], DataTableHeaderCellComponent.prototype, "sortDescendingIcon", void 0); - __decorate([ - core_1.HostBinding('style.height.px'), - core_1.Input(), - __metadata('design:type', Number) - ], DataTableHeaderCellComponent.prototype, "headerHeight", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DataTableHeaderCellComponent.prototype, "sorts", null); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableHeaderCellComponent.prototype, "sort", void 0); - __decorate([ - core_1.HostBinding('class'), - __metadata('design:type', Object) - ], DataTableHeaderCellComponent.prototype, "columnCssClasses", null); - __decorate([ - core_1.HostBinding('attr.title'), - __metadata('design:type', String) - ], DataTableHeaderCellComponent.prototype, "name", null); - __decorate([ - core_1.HostBinding('style.minWidth.px'), - __metadata('design:type', Number) - ], DataTableHeaderCellComponent.prototype, "minWidth", null); - __decorate([ - core_1.HostBinding('style.maxWidth.px'), - __metadata('design:type', Number) - ], DataTableHeaderCellComponent.prototype, "maxWidth", null); - __decorate([ - core_1.HostBinding('style.width.px'), - __metadata('design:type', Number) - ], DataTableHeaderCellComponent.prototype, "width", null); - DataTableHeaderCellComponent = __decorate([ - core_1.Component({ - selector: 'datatable-header-cell', - template: "\n
\n \n \n \n \n \n \n
\n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', []) - ], DataTableHeaderCellComponent); - return DataTableHeaderCellComponent; -}()); -exports.DataTableHeaderCellComponent = DataTableHeaderCellComponent; - - -/***/ }, - -/***/ "./src/components/header/header.component.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var types_1 = __webpack_require__("./src/types/index.ts"); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -var DataTableHeaderComponent = (function () { - function DataTableHeaderComponent(element, renderer) { - this.sort = new core_1.EventEmitter(); - this.reorder = new core_1.EventEmitter(); - this.resize = new core_1.EventEmitter(); - renderer.setElementClass(element.nativeElement, 'datatable-header', true); - } - Object.defineProperty(DataTableHeaderComponent.prototype, "headerHeight", { - get: function () { - return this._headerHeight; - }, - set: function (val) { - if (val !== 'auto') { - this._headerHeight = val + "px"; - } - else { - this._headerHeight = val; - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableHeaderComponent.prototype, "columns", { - get: function () { - return this._columns; - }, - set: function (val) { - this._columns = val; - var colsByPin = utils_1.columnsByPin(val); - this.columnsByPin = utils_1.columnsByPinArr(val); - this.columnGroupWidths = utils_1.columnGroupWidths(colsByPin, val); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DataTableHeaderComponent.prototype, "headerWidth", { - get: function () { - if (this.scrollbarH) { - return this.innerWidth + 'px'; - } - return '100%'; - }, - enumerable: true, - configurable: true - }); - DataTableHeaderComponent.prototype.onColumnResized = function (width, column) { - if (width <= column.minWidth) { - width = column.minWidth; - } - else if (width >= column.maxWidth) { - width = column.maxWidth; - } - this.resize.emit({ - column: column, - prevValue: column.width, - newValue: width - }); - }; - DataTableHeaderComponent.prototype.onColumnReordered = function (_a) { - var prevIndex = _a.prevIndex, newIndex = _a.newIndex, model = _a.model; - this.reorder.emit({ - column: model, - prevValue: prevIndex, - newValue: newIndex - }); - }; - DataTableHeaderComponent.prototype.onSort = function (_a) { - var column = _a.column, prevValue = _a.prevValue, newValue = _a.newValue; - var sorts = this.calcNewSorts(column, prevValue, newValue); - this.sort.emit({ - sorts: sorts, - column: column, - prevValue: prevValue, - newValue: newValue - }); - }; - DataTableHeaderComponent.prototype.calcNewSorts = function (column, prevValue, newValue) { - var idx = 0; - var sorts = this.sorts.map(function (s, i) { - s = Object.assign({}, s); - if (s.prop === column.prop) - idx = i; - return s; - }); - if (newValue === undefined) { - sorts.splice(idx, 1); - } - else if (prevValue) { - sorts[idx].dir = newValue; - } - else { - if (this.sortType === types_1.SortType.single) { - sorts.splice(0, this.sorts.length); - } - sorts.push({ dir: newValue, prop: column.prop }); - } - return sorts; - }; - DataTableHeaderComponent.prototype.stylesByGroup = function (group) { - var widths = this.columnGroupWidths; - var offsetX = this.offsetX; - var styles = { - width: widths[group] + "px" - }; - if (group === 'center') { - utils_1.translateXY(styles, offsetX * -1, 0); - } - else if (group === 'right') { - var totalDiff = widths.total - this.innerWidth; - var offset = totalDiff * -1; - utils_1.translateXY(styles, offset, 0); - } - return styles; - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableHeaderComponent.prototype, "sortAscendingIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DataTableHeaderComponent.prototype, "sortDescendingIcon", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DataTableHeaderComponent.prototype, "scrollbarH", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableHeaderComponent.prototype, "innerWidth", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableHeaderComponent.prototype, "offsetX", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Array) - ], DataTableHeaderComponent.prototype, "sorts", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], DataTableHeaderComponent.prototype, "sortType", void 0); - __decorate([ - core_1.HostBinding('style.height'), - core_1.Input(), - __metadata('design:type', Object), - __metadata('design:paramtypes', [Object]) - ], DataTableHeaderComponent.prototype, "headerHeight", null); - __decorate([ - core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) - ], DataTableHeaderComponent.prototype, "columns", null); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableHeaderComponent.prototype, "sort", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableHeaderComponent.prototype, "reorder", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DataTableHeaderComponent.prototype, "resize", void 0); - __decorate([ - core_1.HostBinding('style.width'), - __metadata('design:type', String) - ], DataTableHeaderComponent.prototype, "headerWidth", null); - DataTableHeaderComponent = __decorate([ - core_1.Component({ - selector: 'datatable-header', - template: "\n \n \n \n \n \n \n ", - changeDetection: core_1.ChangeDetectionStrategy.OnPush - }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) - ], DataTableHeaderComponent); - return DataTableHeaderComponent; -}()); -exports.DataTableHeaderComponent = DataTableHeaderComponent; - - -/***/ }, - -/***/ "./src/components/header/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/components/header/header.component.ts")); -__export(__webpack_require__("./src/components/header/header-cell.component.ts")); - - -/***/ }, - -/***/ "./src/components/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/components/datatable.component.ts")); -__export(__webpack_require__("./src/components/column.directive.ts")); -__export(__webpack_require__("./src/components/row-detail.directive.ts")); -__export(__webpack_require__("./src/components/header/index.ts")); -__export(__webpack_require__("./src/components/body/index.ts")); -__export(__webpack_require__("./src/components/footer/index.ts")); - - -/***/ }, - -/***/ "./src/components/row-detail.directive.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var DatatableRowDetailDirective = (function () { - function DatatableRowDetailDirective() { - } - Object.defineProperty(DatatableRowDetailDirective.prototype, "rowDetailTemplate", { - get: function () { - return this.template; - }, - enumerable: true, - configurable: true - }); - __decorate([ - core_1.ContentChild(core_1.TemplateRef), - __metadata('design:type', core_1.TemplateRef) - ], DatatableRowDetailDirective.prototype, "template", void 0); - DatatableRowDetailDirective = __decorate([ - core_1.Directive({ - selector: 'datatable-row-detail-template' - }), - __metadata('design:paramtypes', []) - ], DatatableRowDetailDirective); - return DatatableRowDetailDirective; -}()); -exports.DatatableRowDetailDirective = DatatableRowDetailDirective; - - -/***/ }, - -/***/ "./src/datatable.module.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var common_1 = __webpack_require__(2); -var components_1 = __webpack_require__("./src/components/index.ts"); -var directives_1 = __webpack_require__("./src/directives/index.ts"); -var Angular2DataTableModule = (function () { - function Angular2DataTableModule() { - } - Angular2DataTableModule = __decorate([ - core_1.NgModule({ - imports: [ - common_1.CommonModule - ], - declarations: [ - directives_1.VisibilityDirective, - directives_1.DraggableDirective, - directives_1.ResizeableDirective, - directives_1.OrderableDirective, - directives_1.LongPressDirective, - components_1.ScrollerComponent, - components_1.DatatableComponent, - components_1.DataTableColumnDirective, - components_1.DataTableHeaderComponent, - components_1.DataTableHeaderCellComponent, - components_1.DataTableBodyComponent, - components_1.DataTableFooterComponent, - components_1.DataTablePagerComponent, - components_1.ProgressBarComponent, - components_1.DataTableBodyRowComponent, - components_1.DataTableRowWrapperComponent, - components_1.DatatableRowDetailDirective, - components_1.DataTableBodyCellComponent, - components_1.DataTableSelectionComponent - ], - exports: [ - components_1.DatatableComponent, - components_1.DatatableRowDetailDirective, - components_1.DataTableColumnDirective - ] - }), - __metadata('design:paramtypes', []) - ], Angular2DataTableModule); - return Angular2DataTableModule; -}()); -exports.Angular2DataTableModule = Angular2DataTableModule; - - -/***/ }, - -/***/ "./src/directives/draggable.directive.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var Rx_1 = __webpack_require__(1); -/** - * Draggable Directive for Angular2 - * - * Inspiration: - * https://github.com/AngularClass/angular2-examples/blob/master/rx-draggable/directives/draggable.ts - * http://stackoverflow.com/questions/35662530/how-to-implement-drag-and-drop-in-angular2 - * - */ -var DraggableDirective = (function () { - function DraggableDirective(element) { - this.dragX = true; - this.dragY = true; - this.dragStart = new core_1.EventEmitter(); - this.dragging = new core_1.EventEmitter(); - this.dragEnd = new core_1.EventEmitter(); - this.isDragging = false; - this.element = element.nativeElement; - } - DraggableDirective.prototype.ngOnDestroy = function () { - if (this.subscription) { - this.subscription.unsubscribe(); - } - }; - DraggableDirective.prototype.onMouseup = function (event) { - this.isDragging = false; - this.element.classList.remove('dragging'); - if (this.subscription) { - this.subscription.unsubscribe(); - this.dragEnd.emit({ - event: event, - element: this.element, - model: this.dragModel - }); - } - }; - DraggableDirective.prototype.onMousedown = function (event) { - var _this = this; - if (event.target.classList.contains('draggable')) { - event.preventDefault(); - this.isDragging = true; - var mouseDownPos_1 = { x: event.clientX, y: event.clientY }; - this.subscription = Rx_1.Observable.fromEvent(document, 'mousemove') - .subscribe(function (ev) { return _this.move(ev, mouseDownPos_1); }); - this.dragStart.emit({ - event: event, - element: this.element, - model: this.dragModel - }); - } - }; - DraggableDirective.prototype.move = function (event, mouseDownPos) { - if (!this.dragging) - return; - var x = event.clientX - mouseDownPos.x; - var y = event.clientY - mouseDownPos.y; - if (this.dragX) - this.element.style.left = x + "px"; - if (this.dragY) - this.element.style.top = y + "px"; - if (this.dragX || this.dragY) { - this.element.classList.add('dragging'); - this.dragging.emit({ - event: event, - element: this.element, - model: this.dragModel - }); - } - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Object) - ], DraggableDirective.prototype, "dragModel", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DraggableDirective.prototype, "dragX", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], DraggableDirective.prototype, "dragY", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DraggableDirective.prototype, "dragStart", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DraggableDirective.prototype, "dragging", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], DraggableDirective.prototype, "dragEnd", void 0); - __decorate([ - core_1.HostListener('document:mouseup', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DraggableDirective.prototype, "onMouseup", null); - __decorate([ - core_1.HostListener('mousedown', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], DraggableDirective.prototype, "onMousedown", null); - DraggableDirective = __decorate([ - core_1.Directive({ selector: '[draggable]' }), - __metadata('design:paramtypes', [core_1.ElementRef]) - ], DraggableDirective); - return DraggableDirective; -}()); -exports.DraggableDirective = DraggableDirective; - - -/***/ }, - -/***/ "./src/directives/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/directives/draggable.directive.ts")); -__export(__webpack_require__("./src/directives/long-press.directive.ts")); -__export(__webpack_require__("./src/directives/orderable.directive.ts")); -__export(__webpack_require__("./src/directives/resizeable.directive.ts")); -__export(__webpack_require__("./src/directives/visibility.directive.ts")); - - -/***/ }, - -/***/ "./src/directives/long-press.directive.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var LongPressDirective = (function () { - function LongPressDirective() { - this.duration = 500; - this.longPress = new core_1.EventEmitter(); - this.longPressing = new core_1.EventEmitter(); - this.longPressEnd = new core_1.EventEmitter(); - this.mouseX = 0; - this.mouseY = 0; - } - Object.defineProperty(LongPressDirective.prototype, "press", { - get: function () { return this.pressing; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LongPressDirective.prototype, "isLongPress", { - get: function () { return this.longPressing; }, - enumerable: true, - configurable: true - }); - LongPressDirective.prototype.onMouseDown = function (event) { - var _this = this; - // don't do right/middle clicks - if (event.which !== 1) - return; - this.mouseX = event.clientX; - this.mouseY = event.clientY; - this.pressing = true; - this.isLongPressing = false; - this.timeout = setTimeout(function () { - _this.isLongPressing = true; - _this.longPress.emit(event); - _this.loop(event); - }, this.duration); - this.loop(event); - }; - LongPressDirective.prototype.onMouseMove = function (event) { - if (this.pressing && !this.longPressing) { - var xThres = (event.clientX - this.mouseX) > 10; - var yThres = (event.clientY - this.mouseY) > 10; - if (xThres || yThres) { - this.endPress(); - } - } - }; - LongPressDirective.prototype.loop = function (event) { - var _this = this; - if (this.longPressing) { - this.timeout = setTimeout(function () { - _this.longPressing.emit(event); - _this.loop(event); - }, 50); - } - }; - LongPressDirective.prototype.endPress = function () { - clearTimeout(this.timeout); - this.isLongPressing = false; - this.pressing = false; - this.longPressEnd.emit(true); - }; - LongPressDirective.prototype.onMouseUp = function () { this.endPress(); }; - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], LongPressDirective.prototype, "duration", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], LongPressDirective.prototype, "longPress", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], LongPressDirective.prototype, "longPressing", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], LongPressDirective.prototype, "longPressEnd", void 0); - __decorate([ - core_1.HostBinding('class.press'), - __metadata('design:type', Object) - ], LongPressDirective.prototype, "press", null); - __decorate([ - core_1.HostBinding('class.longpress'), - __metadata('design:type', Object) - ], LongPressDirective.prototype, "isLongPress", null); - __decorate([ - core_1.HostListener('mousedown', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], LongPressDirective.prototype, "onMouseDown", null); - __decorate([ - core_1.HostListener('mousemove', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], LongPressDirective.prototype, "onMouseMove", null); - __decorate([ - core_1.HostListener('mouseup'), - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', void 0) - ], LongPressDirective.prototype, "onMouseUp", null); - LongPressDirective = __decorate([ - core_1.Directive({ selector: '[long-press]' }), - __metadata('design:paramtypes', []) - ], LongPressDirective); - return LongPressDirective; -}()); -exports.LongPressDirective = LongPressDirective; - - -/***/ }, - -/***/ "./src/directives/orderable.directive.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var draggable_directive_1 = __webpack_require__("./src/directives/draggable.directive.ts"); -var OrderableDirective = (function () { - function OrderableDirective(differs) { - this.reorder = new core_1.EventEmitter(); - this.differ = differs.find({}).create(null); - } - OrderableDirective.prototype.ngAfterContentInit = function () { - // HACK: Investigate Better Way - this.updateSubscriptions(); - this.draggables.changes.subscribe(this.updateSubscriptions.bind(this)); - }; - OrderableDirective.prototype.ngOnDestroy = function () { - this.draggables.forEach(function (d) { - d.dragStart.unsubscribe(); - d.dragEnd.unsubscribe(); - }); - }; - OrderableDirective.prototype.updateSubscriptions = function () { - var _this = this; - var diffs = this.differ.diff(this.draggables.toArray()); - if (diffs) { - var subscribe = function (_a) { - var currentValue = _a.currentValue, previousValue = _a.previousValue; - unsubscribe_1({ previousValue: previousValue }); - if (currentValue) { - currentValue.dragStart.subscribe(_this.onDragStart.bind(_this)); - currentValue.dragEnd.subscribe(_this.onDragEnd.bind(_this)); - } - }; - var unsubscribe_1 = function (_a) { - var previousValue = _a.previousValue; - if (previousValue) { - previousValue.dragStart.unsubscribe(); - previousValue.dragEnd.unsubscribe(); - } - }; - diffs.forEachAddedItem(subscribe.bind(this)); - diffs.forEachChangedItem(subscribe.bind(this)); - diffs.forEachRemovedItem(unsubscribe_1.bind(this)); - } - }; - OrderableDirective.prototype.onDragStart = function () { - this.positions = {}; - var i = 0; - for (var _i = 0, _a = this.draggables.toArray(); _i < _a.length; _i++) { - var dragger = _a[_i]; - var elm = dragger.element; - this.positions[dragger.dragModel.prop] = { - left: parseInt(elm.offsetLeft.toString(), 0), - index: i++ - }; - } - }; - OrderableDirective.prototype.onDragEnd = function (_a) { - var element = _a.element, model = _a.model; - var newPos = parseInt(element.offsetLeft.toString(), 0); - var prevPos = this.positions[model.prop]; - var i = 0; - for (var prop in this.positions) { - var pos = this.positions[prop]; - var movedLeft = newPos < pos.left && prevPos.left > pos.left; - var movedRight = newPos > pos.left && prevPos.left < pos.left; - if (movedLeft || movedRight) { - this.reorder.emit({ - prevIndex: prevPos.index, - newIndex: i, - model: model - }); - } - i++; - } - element.style.left = 'auto'; - }; - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], OrderableDirective.prototype, "reorder", void 0); - __decorate([ - core_1.ContentChildren(draggable_directive_1.DraggableDirective, { descendants: true }), - __metadata('design:type', core_1.QueryList) - ], OrderableDirective.prototype, "draggables", void 0); - OrderableDirective = __decorate([ - core_1.Directive({ selector: '[orderable]' }), - __metadata('design:paramtypes', [core_1.KeyValueDiffers]) - ], OrderableDirective); - return OrderableDirective; -}()); -exports.OrderableDirective = OrderableDirective; - - -/***/ }, - -/***/ "./src/directives/resizeable.directive.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var Rx_1 = __webpack_require__(1); -var ResizeableDirective = (function () { - function ResizeableDirective(element) { - this.resizeEnabled = true; - this.resize = new core_1.EventEmitter(); - this.resizing = false; - this.element = element.nativeElement; - if (this.resizeEnabled) { - var node = document.createElement('span'); - node.classList.add('resize-handle'); - this.element.appendChild(node); - } - } - ResizeableDirective.prototype.ngOnDestroy = function () { - if (this.subscription) { - this.subscription.unsubscribe(); - } - }; - ResizeableDirective.prototype.onMouseup = function () { - this.resizing = false; - if (this.subscription && !this.subscription.closed) { - this.subscription.unsubscribe(); - this.resize.emit(this.element.clientWidth); - } - }; - ResizeableDirective.prototype.onMousedown = function (event) { - var _this = this; - var isHandle = event.target.classList.contains('resize-handle'); - var initialWidth = this.element.clientWidth; - var mouseDownScreenX = event.screenX; - if (isHandle) { - event.stopPropagation(); - this.resizing = true; - this.subscription = Rx_1.Observable.fromEvent(document, 'mousemove') - .subscribe(function (e) { return _this.move(e, initialWidth, mouseDownScreenX); }); - } - }; - ResizeableDirective.prototype.move = function (event, initialWidth, mouseDownScreenX) { - var movementX = event.screenX - mouseDownScreenX; - var newWidth = initialWidth + movementX; - var overMinWidth = !this.minWidth || newWidth >= this.minWidth; - var underMaxWidth = !this.maxWidth || newWidth <= this.maxWidth; - if (overMinWidth && underMaxWidth) { - this.element.style.width = newWidth + "px"; - } - }; - __decorate([ - core_1.Input(), - __metadata('design:type', Boolean) - ], ResizeableDirective.prototype, "resizeEnabled", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], ResizeableDirective.prototype, "minWidth", void 0); - __decorate([ - core_1.Input(), - __metadata('design:type', Number) - ], ResizeableDirective.prototype, "maxWidth", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], ResizeableDirective.prototype, "resize", void 0); - __decorate([ - core_1.HostListener('document:mouseup', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', void 0) - ], ResizeableDirective.prototype, "onMouseup", null); - __decorate([ - core_1.HostListener('mousedown', ['$event']), - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], ResizeableDirective.prototype, "onMousedown", null); - ResizeableDirective = __decorate([ - core_1.Directive({ - selector: '[resizeable]', - host: { - '[class.resizeable]': 'resizeEnabled' - } - }), - __metadata('design:paramtypes', [core_1.ElementRef]) - ], ResizeableDirective); - return ResizeableDirective; -}()); -exports.ResizeableDirective = ResizeableDirective; - - -/***/ }, - -/***/ "./src/directives/visibility.directive.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"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); -}; -var core_1 = __webpack_require__(0); -var utils_1 = __webpack_require__("./src/utils/index.ts"); -/** - * Visibility Observer Directive - * - * Usage: - * - *
- *
- * - */ -var VisibilityDirective = (function () { - function VisibilityDirective(element, zone) { - this.isVisible = false; - this.visible = new core_1.EventEmitter(); - utils_1.checkVisibility(element.nativeElement, this.visbilityChange.bind(this), zone); - } - VisibilityDirective.prototype.visbilityChange = function () { - var _this = this; - // trigger zone recalc for columns - setTimeout(function () { - _this.isVisible = true; - _this.visible.emit(true); - }); - }; - __decorate([ - core_1.HostBinding('class.visible'), - __metadata('design:type', Boolean) - ], VisibilityDirective.prototype, "isVisible", void 0); - __decorate([ - core_1.Output(), - __metadata('design:type', core_1.EventEmitter) - ], VisibilityDirective.prototype, "visible", void 0); - VisibilityDirective = __decorate([ - core_1.Directive({ selector: '[visibility-observer]' }), - __metadata('design:paramtypes', [core_1.ElementRef, core_1.NgZone]) - ], VisibilityDirective); - return VisibilityDirective; -}()); -exports.VisibilityDirective = VisibilityDirective; - - -/***/ }, - -/***/ "./src/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/datatable.module.ts")); -__export(__webpack_require__("./src/types/index.ts")); -__export(__webpack_require__("./src/components/index.ts")); - - -/***/ }, - -/***/ "./src/themes/material.scss": -/***/ function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }, - -/***/ "./src/types/click.type.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -(function (ClickType) { - ClickType[ClickType["single"] = 'single'] = "single"; - ClickType[ClickType["double"] = 'double'] = "double"; -})(exports.ClickType || (exports.ClickType = {})); -var ClickType = exports.ClickType; - - -/***/ }, - -/***/ "./src/types/column-mode.type.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -(function (ColumnMode) { - ColumnMode[ColumnMode["standard"] = 'standard'] = "standard"; - ColumnMode[ColumnMode["flex"] = 'flex'] = "flex"; - ColumnMode[ColumnMode["force"] = 'force'] = "force"; -})(exports.ColumnMode || (exports.ColumnMode = {})); -var ColumnMode = exports.ColumnMode; - - -/***/ }, - -/***/ "./src/types/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/types/column-mode.type.ts")); -__export(__webpack_require__("./src/types/sort.type.ts")); -__export(__webpack_require__("./src/types/sort-direction.type.ts")); -__export(__webpack_require__("./src/types/selection.type.ts")); -__export(__webpack_require__("./src/types/click.type.ts")); - - -/***/ }, - -/***/ "./src/types/selection.type.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -(function (SelectionType) { - SelectionType[SelectionType["single"] = 'single'] = "single"; - SelectionType[SelectionType["multi"] = 'multi'] = "multi"; - SelectionType[SelectionType["multiShift"] = 'multiShift'] = "multiShift"; - SelectionType[SelectionType["cell"] = 'cell'] = "cell"; -})(exports.SelectionType || (exports.SelectionType = {})); -var SelectionType = exports.SelectionType; - - -/***/ }, - -/***/ "./src/types/sort-direction.type.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -(function (SortDirection) { - SortDirection[SortDirection["asc"] = 'asc'] = "asc"; - SortDirection[SortDirection["desc"] = 'desc'] = "desc"; -})(exports.SortDirection || (exports.SortDirection = {})); -var SortDirection = exports.SortDirection; - - -/***/ }, - -/***/ "./src/types/sort.type.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -(function (SortType) { - SortType[SortType["single"] = 'single'] = "single"; - SortType[SortType["multi"] = 'multi'] = "multi"; -})(exports.SortType || (exports.SortType = {})); -var SortType = exports.SortType; - - -/***/ }, - -/***/ "./src/utils/camel-case.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -/** - * Converts strings from something to camel case - * http://stackoverflow.com/questions/10425287/convert-dash-separated-string-to-camelcase - * @param {string} str - * @return {string} camel case string - */ -function camelCase(str) { - // Replace special characters with a space - str = str.replace(/[^a-zA-Z0-9 ]/g, ' '); - // put a space before an uppercase letter - str = str.replace(/([a-z](?=[A-Z]))/g, '$1 '); - // Lower case first character and some other stuff - str = str.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g, '').trim().toLowerCase(); - // uppercase characters preceded by a space or number - str = str.replace(/([ 0-9]+)([a-zA-Z])/g, function (a, b, c) { - return b.trim() + c.toUpperCase(); - }); - return str; -} -exports.camelCase = camelCase; -/** - * Converts strings from camel case to words - * http://stackoverflow.com/questions/7225407/convert-camelcasetext-to-camel-case-text - * - * @export - * @param {any} str - * @returns string - */ -function deCamelCase(str) { - return str - .replace(/([A-Z])/g, function (match) { return (" " + match); }) - .replace(/^./, function (match) { return match.toUpperCase(); }); -} -exports.deCamelCase = deCamelCase; - - -/***/ }, - -/***/ "./src/utils/column-helper.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -var utils_1 = __webpack_require__("./src/utils/index.ts"); -function setColumnDefaults(columns) { - if (!columns) - return; - for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) { - var column = columns_1[_i]; - if (!column.$$id) { - column.$$id = utils_1.id(); - } - // translate name => prop - if (!column.prop && column.name) { - column.prop = utils_1.camelCase(column.name); - } - // format props if no name passed - if (column.prop && !column.name) { - column.name = utils_1.deCamelCase(column.prop); - } - if (!column.hasOwnProperty('resizeable')) { - column.resizeable = true; - } - if (!column.hasOwnProperty('sortable')) { - column.sortable = true; - } - if (!column.hasOwnProperty('draggable')) { - column.draggable = true; - } - if (!column.hasOwnProperty('canAutoResize')) { - column.canAutoResize = true; - } - if (!column.hasOwnProperty('width')) { - column.width = 150; - } - } -} -exports.setColumnDefaults = setColumnDefaults; -function translateTemplates(templates) { - var result = []; - for (var _i = 0, templates_1 = templates; _i < templates_1.length; _i++) { - var temp = templates_1[_i]; - var col = {}; - var props = Object.getOwnPropertyNames(temp); - for (var _a = 0, props_1 = props; _a < props_1.length; _a++) { - var prop = props_1[_a]; - col[prop] = temp[prop]; - } - if (temp.headerTemplate) { - col.headerTemplate = temp.headerTemplate; - } - if (temp.cellTemplate) { - col.cellTemplate = temp.cellTemplate; - } - result.push(col); - } - return result; -} -exports.translateTemplates = translateTemplates; - - -/***/ }, - -/***/ "./src/utils/column.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -/** - * Returns the columns by pin. - * @param {array} cols - */ -function columnsByPin(cols) { - var ret = { - left: [], - center: [], - right: [] - }; - if (cols) { - for (var _i = 0, cols_1 = cols; _i < cols_1.length; _i++) { - var col = cols_1[_i]; - if (col.frozenLeft) { - ret.left.push(col); - } - else if (col.frozenRight) { - ret.right.push(col); - } - else { - ret.center.push(col); - } - } - } - return ret; -} -exports.columnsByPin = columnsByPin; -/** - * Returns the widths of all group sets of a column - * @param {object} groups - * @param {array} all - */ -function columnGroupWidths(groups, all) { - return { - left: columnTotalWidth(groups.left), - center: columnTotalWidth(groups.center), - right: columnTotalWidth(groups.right), - total: columnTotalWidth(all) - }; -} -exports.columnGroupWidths = columnGroupWidths; -/** - * Calculates the total width of all columns and their groups - * @param {array} columns - * @param {string} prop width to get - */ -function columnTotalWidth(columns, prop) { - var totalWidth = 0; - if (columns) { - for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) { - var c = columns_1[_i]; - var has = prop && c[prop]; - var width = has ? c[prop] : c.width; - totalWidth = totalWidth + parseInt(width, 0); - } - } - return totalWidth; -} -exports.columnTotalWidth = columnTotalWidth; -/** - * Calculates the total width of all columns and their groups - * @param {array} columns - * @param {string} property width to get - */ -function columnsTotalWidth(columns, prop) { - var totalWidth = 0; - for (var _i = 0, columns_2 = columns; _i < columns_2.length; _i++) { - var column = columns_2[_i]; - var has = prop && column[prop]; - totalWidth = totalWidth + (has ? column[prop] : column.width); - } - return totalWidth; -} -exports.columnsTotalWidth = columnsTotalWidth; -function columnsByPinArr(val) { - var colsByPinArr = []; - var colsByPin = columnsByPin(val); - colsByPinArr.push({ type: 'left', columns: colsByPin['left'] }); - colsByPinArr.push({ type: 'center', columns: colsByPin['center'] }); - colsByPinArr.push({ type: 'right', columns: colsByPin['right'] }); - return colsByPinArr; -} -exports.columnsByPinArr = columnsByPinArr; - - -/***/ }, - -/***/ "./src/utils/debounce.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -/** - * Debounce a function - * @param {any} func function to executoe - * @param {number} wait wait duration - * @param {boolean} immediate wait or immediate executue - */ -function debounce(func, wait, immediate) { - var timeout; - var args; - var context; - var timestamp; - var result; - return function () { - context = this; - args = arguments; - timestamp = new Date(); - function later() { - var last = +new Date() - timestamp; - if (last < wait) { - timeout = setTimeout(later, wait - last); - } - else { - timeout = null; - if (!immediate) { - result = func.apply(context, args); - } - } - } - var callNow = immediate && !timeout; - if (!timeout) { - timeout = setTimeout(later, wait); - } - if (callNow) { - result = func.apply(context, args); - } - return result; - }; -} -exports.debounce = debounce; -/** - * Debounce decorator - * - * class MyClass { - * debounceable(10) - * myFn() { ... } - * } - */ -function debounceable(duration, immediate) { - return function innerDecorator(target, key, descriptor) { - return { - configurable: true, - enumerable: descriptor.enumerable, - get: function getter() { - Object.defineProperty(this, key, { - configurable: true, - enumerable: descriptor.enumerable, - value: debounce(descriptor.value, duration, immediate) - }); - return this[key]; - } - }; - }; -} -exports.debounceable = debounceable; - - -/***/ }, - -/***/ "./src/utils/deep-getter.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -/** - * Returns a deep object given a string. zoo['animal.type'] - * @param {object} obj - * @param {string} path - */ -function deepValueGetter(obj, path) { - if (!obj || !path) - return obj; - var current = obj; - var split = path.split('.'); - if (split.length) { - for (var i = 0, len = split.length; i < len; i++) { - current = current[split[i]]; - // if found undefined, return empty string - if (current === undefined || current === null) - return ''; - } - } - return current; -} -exports.deepValueGetter = deepValueGetter; - - -/***/ }, - -/***/ "./src/utils/id.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -/** - * Creates a unique object id. - * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js - */ -function id() { - return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4); -} -exports.id = id; - - -/***/ }, - -/***/ "./src/utils/index.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -__export(__webpack_require__("./src/utils/id.ts")); -__export(__webpack_require__("./src/utils/column.ts")); -__export(__webpack_require__("./src/utils/deep-getter.ts")); -__export(__webpack_require__("./src/utils/camel-case.ts")); -__export(__webpack_require__("./src/utils/keys.ts")); -__export(__webpack_require__("./src/utils/math.ts")); -__export(__webpack_require__("./src/utils/prefixes.ts")); -__export(__webpack_require__("./src/utils/scrollbar-width.ts")); -__export(__webpack_require__("./src/utils/selection.ts")); -__export(__webpack_require__("./src/utils/translate.ts")); -__export(__webpack_require__("./src/utils/visibility-observer.ts")); -__export(__webpack_require__("./src/utils/debounce.ts")); -__export(__webpack_require__("./src/utils/sort.ts")); -__export(__webpack_require__("./src/utils/row-height-cache.ts")); -__export(__webpack_require__("./src/utils/column-helper.ts")); - - -/***/ }, - -/***/ "./src/utils/keys.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -(function (Keys) { - Keys[Keys["up"] = 38] = "up"; - Keys[Keys["down"] = 40] = "down"; - Keys[Keys["return"] = 13] = "return"; - Keys[Keys["escape"] = 27] = "escape"; - Keys[Keys["left"] = 37] = "left"; - Keys[Keys["right"] = 39] = "right"; -})(exports.Keys || (exports.Keys = {})); -var Keys = exports.Keys; - - -/***/ }, - -/***/ "./src/utils/math.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -var column_1 = __webpack_require__("./src/utils/column.ts"); -/** - * Calculates the Total Flex Grow - * @param {array} - */ -function getTotalFlexGrow(columns) { - var totalFlexGrow = 0; - for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) { - var c = columns_1[_i]; - totalFlexGrow += c.flexGrow || 0; - } - return totalFlexGrow; -} -exports.getTotalFlexGrow = getTotalFlexGrow; -/** - * Adjusts the column widths. - * Inspired by: https://github.com/facebook/fixed-data-table/blob/master/src/FixedDataTableWidthHelper.js - * @param {array} all columns - * @param {int} width - */ -function adjustColumnWidths(allColumns, expectedWidth) { - var columnsWidth = column_1.columnsTotalWidth(allColumns); - var totalFlexGrow = getTotalFlexGrow(allColumns); - var colsByGroup = column_1.columnsByPin(allColumns); - if (columnsWidth !== expectedWidth) { - scaleColumns(colsByGroup, expectedWidth, totalFlexGrow); - } -} -exports.adjustColumnWidths = adjustColumnWidths; -/** - * Resizes columns based on the flexGrow property, while respecting manually set widths - * @param {array} colsByGroup - * @param {int} maxWidth - * @param {int} totalFlexGrow - */ -function scaleColumns(colsByGroup, maxWidth, totalFlexGrow) { - // calculate total width and flexgrow points for coulumns that can be resized - for (var attr in colsByGroup) { - for (var _i = 0, _a = colsByGroup[attr]; _i < _a.length; _i++) { - var column = _a[_i]; - if (!column.canAutoResize) { - maxWidth -= column.width; - totalFlexGrow -= column.flexGrow; - } - else { - column.width = 0; - } - } - } - var hasMinWidth = {}; - var remainingWidth = maxWidth; - // resize columns until no width is left to be distributed - do { - var widthPerFlexPoint = remainingWidth / totalFlexGrow; - remainingWidth = 0; - for (var attr in colsByGroup) { - for (var _b = 0, _c = colsByGroup[attr]; _b < _c.length; _b++) { - var column = _c[_b]; - // if the column can be resize and it hasn't reached its minimum width yet - if (column.canAutoResize && !hasMinWidth[column.prop]) { - var newWidth = column.width + column.flexGrow * widthPerFlexPoint; - if (column.minWidth !== undefined && newWidth < column.minWidth) { - remainingWidth += newWidth - column.minWidth; - column.width = column.minWidth; - hasMinWidth[column.prop] = true; - } - else { - column.width = newWidth; - } - } - } - } - } while (remainingWidth !== 0); -} -/** - * Forces the width of the columns to - * distribute equally but overflowing when nesc. - * - * Rules: - * - * - If combined withs are less than the total width of the grid, - * proporation the widths given the min / max / noraml widths to fill the width. - * - * - If the combined widths, exceed the total width of the grid, - * use the standard widths. - * - * - If a column is resized, it should always use that width - * - * - The proporational widths should never fall below min size if specified. - * - * - If the grid starts off small but then becomes greater than the size ( + / - ) - * the width should use the orginial width; not the newly proporatied widths. - * - * @param {array} allColumns - * @param {int} expectedWidth - */ -function forceFillColumnWidths(allColumns, expectedWidth, startIdx, defaultColWidth) { - if (defaultColWidth === void 0) { defaultColWidth = 300; } - var columnsToResize = startIdx > -1 ? - allColumns.slice(startIdx, allColumns.length).filter(function (c) { return c.canAutoResize !== false; }) : - allColumns.filter(function (c) { return c.canAutoResize !== false; }); - for (var _i = 0, columnsToResize_1 = columnsToResize; _i < columnsToResize_1.length; _i++) { - var column = columnsToResize_1[_i]; - if (!column.$$oldWidth) { - column.$$oldWidth = column.width; - } - // Initialize the starting width to original - // width whenever there is a resize/initialize event. - column.width = column.$$oldWidth; - } - var additionWidthPerColumn = 0; - var exceedsWindow = false; - var contentWidth = getContentWidth(allColumns, defaultColWidth); - var remainingWidth = expectedWidth - contentWidth; - var columnsProcessed = []; - // This loop takes care of the - do { - additionWidthPerColumn = remainingWidth / columnsToResize.length; - exceedsWindow = contentWidth >= expectedWidth; - for (var _a = 0, columnsToResize_2 = columnsToResize; _a < columnsToResize_2.length; _a++) { - var column = columnsToResize_2[_a]; - if (exceedsWindow) { - column.width = column.$$oldWidth || column.width || defaultColWidth; - } - else { - var newSize = (column.width || defaultColWidth) + additionWidthPerColumn; - if (column.minWidth && newSize < column.minWidth) { - column.width = column.minWidth; - columnsProcessed.push(column); - } - else if (column.maxWidth && newSize > column.maxWidth) { - column.width = column.maxWidth; - columnsProcessed.push(column); - } - else { - column.width = newSize; - } - } - } - contentWidth = getContentWidth(allColumns); - remainingWidth = expectedWidth - contentWidth; - removeProcessedColumns(columnsToResize, columnsProcessed); - } while (remainingWidth > 0 && columnsToResize.length !== 0); -} -exports.forceFillColumnWidths = forceFillColumnWidths; -/** - * Remove the processed columns from the current active columns. - * - * @param columnsToResize Array containing the columns that need to be resized. - * @param columnsProcessed Array containing the columns that have already been processed. - */ -function removeProcessedColumns(columnsToResize, columnsProcessed) { - for (var _i = 0, columnsProcessed_1 = columnsProcessed; _i < columnsProcessed_1.length; _i++) { - var column = columnsProcessed_1[_i]; - var index = columnsToResize.indexOf(column); - columnsToResize.splice(index, 1); - } -} -/** - * Gets the width of the columns - * - * @param {array} allColumns - * @param {number} [defaultColWidth=300] - * @returns {number} - */ -function getContentWidth(allColumns, defaultColWidth) { - if (defaultColWidth === void 0) { defaultColWidth = 300; } - var contentWidth = 0; - for (var _i = 0, allColumns_1 = allColumns; _i < allColumns_1.length; _i++) { - var column = allColumns_1[_i]; - contentWidth += (column.width || defaultColWidth); - } - return contentWidth; -} - - -/***/ }, - -/***/ "./src/utils/prefixes.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -var camel_case_1 = __webpack_require__("./src/utils/camel-case.ts"); -var cache = {}; -var testStyle = document.createElement('div').style; -// Get Prefix -// http://davidwalsh.name/vendor-prefix -var prefix = (function () { - var styles = window.getComputedStyle(document.documentElement, ''); - var pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/))[1]; - var dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1]; - return { - dom: dom, - lowercase: pre, - css: "-" + pre + "-", - js: pre[0].toUpperCase() + pre.substr(1) - }; -})(); -function getVendorPrefixedName(property) { - var name = camel_case_1.camelCase(property); - if (!cache[name]) { - if (testStyle[prefix.css + property] !== undefined) { - cache[name] = prefix.css + property; - } - else if (testStyle[property] !== undefined) { - cache[name] = property; - } - } - return cache[name]; -} -exports.getVendorPrefixedName = getVendorPrefixedName; - - -/***/ }, - -/***/ "./src/utils/row-height-cache.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -/** - * This object contains the cache of the various row heights that are present inside - * the data table. Its based on Fenwick tree data structure that helps with - * querying sums that have time complexity of log n. - * - * Fenwick Tree Credits: http://petr-mitrichev.blogspot.com/2013/05/fenwick-tree-range-updates.html - * https://github.com/mikolalysenko/fenwick-tree - * - */ -var RowHeightCache = (function () { - function RowHeightCache() { - /** - * Tree Array stores the cumulative information of the row heights to perform efficient - * range queries and updates. Currently the tree is initialized to the base row - * height instead of the detail row height. - */ - this.treeArray = []; - } - /** - * Clear the Tree array. - */ - RowHeightCache.prototype.clearCache = function () { - this.treeArray = []; - }; - /** - * Initialize the Fenwick tree with row Heights. - * - * @param rows The array of rows which contain the expanded status. - * @param rowHeight The row height. - * @param detailRowHeight The detail row height. - */ - RowHeightCache.prototype.initCache = function (rows, rowHeight, detailRowHeight) { - if (isNaN(rowHeight)) { - throw new Error("Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n valid number value: (" + rowHeight + ") when 'scrollbarV' is enabled."); - } - // Add this additional guard in case detailRowHeight is set to 'auto' as it wont work. - if (isNaN(detailRowHeight)) { - throw new Error("Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n valid number value: (" + detailRowHeight + ") when 'scrollbarV' is enabled."); - } - var n = rows.length; - this.treeArray = new Array(n); - for (var i = 0; i < n; ++i) { - this.treeArray[i] = 0; - } - for (var i = 0; i < n; ++i) { - var currentRowHeight = rowHeight; - // Add the detail row height to the already expanded rows. - // This is useful for the table that goes through a filter or sort. - if (rows[i] && rows[i].$$expanded === 1) { - currentRowHeight += detailRowHeight; - } - this.update(i, currentRowHeight); - } - }; - /** - * Given the ScrollY position i.e. sum, provide the rowIndex - * that is present in the current view port. Below handles edge cases. - * - * @param scrollY - The scrollY position. - * @returns {number} - Index representing the first row visible in the viewport - */ - RowHeightCache.prototype.getRowIndex = function (scrollY) { - if (scrollY === 0) - return 0; - return this.calcRowIndex(scrollY); - }; - /** - * When a row is expanded or rowHeight is changed, update the height. This can - * be utilized in future when Angular Data table supports dynamic row heights. - * - * - * @param atRowIndex Update the data at this index row in the grid. - * @param byRowHeight Update by the rowHeight provided. - */ - RowHeightCache.prototype.update = function (atRowIndex, byRowHeight) { - if (!this.treeArray.length) { - throw new Error("Update at index " + atRowIndex + " with value " + byRowHeight + " failed:\n Row Height cache not initialized."); - } - var n = this.treeArray.length; - atRowIndex |= 0; - while (atRowIndex < n) { - this.treeArray[atRowIndex] += byRowHeight; - atRowIndex |= (atRowIndex + 1); - } - }; - /** - * Range Sum query from 1 to the rowIndex - * - * @param atIndex The row index until which the total height needs to be obtained. - * @returns {number} The total height from row 1 to the rowIndex. - */ - RowHeightCache.prototype.query = function (atIndex) { - if (!this.treeArray.length) { - throw new Error("query at index " + atIndex + " failed: Fenwick tree array not initialized."); - } - var sum = 0; - atIndex |= 0; - while (atIndex >= 0) { - sum += this.treeArray[atIndex]; - atIndex = (atIndex & (atIndex + 1)) - 1; - } - return sum; - }; - /** - * Find the total height between 2 row indexes - * @param atIndexA The row index from - * @param atIndexB The row index to - * @returns {number} total pixel height between 2 row indexes. - */ - RowHeightCache.prototype.queryBetween = function (atIndexA, atIndexB) { - return this.query(atIndexB) - this.query(atIndexA - 1); - }; - /** - * Given the ScrollY position i.e. sum, provide the rowIndex - * that is present in the current view port. - * - * @param sum - The scrollY position. - * @returns {number} - Index representing the first row visible in the viewport - */ - RowHeightCache.prototype.calcRowIndex = function (sum) { - if (!this.treeArray.length) - return 0; - var pos = -1; - var dataLength = this.treeArray.length; - // Get the highest bit for the block size. - var highestBit = Math.pow(2, dataLength.toString(2).length - 1); - for (var blockSize = highestBit; blockSize !== 0; blockSize >>= 1) { - var nextPos = pos + blockSize; - if (nextPos < dataLength && sum >= this.treeArray[nextPos]) { - sum -= this.treeArray[nextPos]; - pos = nextPos; - } - } - return pos + 1; - }; - return RowHeightCache; -}()); -exports.RowHeightCache = RowHeightCache; - - -/***/ }, - -/***/ "./src/utils/scrollbar-width.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -/** - * Gets the width of the scrollbar. Nesc for windows - * http://stackoverflow.com/a/13382873/888165 - * @return {int} width - */ -function getScrollBarWidth() { - var outer = document.createElement('div'); - outer.style.visibility = 'hidden'; - outer.style.width = '100px'; - outer.style.msOverflowStyle = 'scrollbar'; - document.body.appendChild(outer); - var widthNoScroll = outer.offsetWidth; - outer.style.overflow = 'scroll'; - var inner = document.createElement('div'); - inner.style.width = '100%'; - outer.appendChild(inner); - var widthWithScroll = inner.offsetWidth; - outer.parentNode.removeChild(outer); - return widthNoScroll - widthWithScroll; -} -exports.getScrollBarWidth = getScrollBarWidth; -; -exports.scrollbarWidth = getScrollBarWidth(); - - -/***/ }, - -/***/ "./src/utils/selection.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -function selectRows(selected, row, comparefn) { - var selectedIndex = comparefn(row, selected); - if (selectedIndex > -1) { - selected.splice(selectedIndex, 1); - } - else { - selected.push(row); - } - return selected; -} -exports.selectRows = selectRows; -function selectRowsBetween(selected, rows, index, prevIndex, comparefn) { - var reverse = index < prevIndex; - for (var i = 0, len = rows.length; i < len; i++) { - var row = rows[i]; - var greater = i >= prevIndex && i <= index; - var lesser = i <= prevIndex && i >= index; - var range = { start: 0, end: 0 }; - if (reverse) { - range = { - start: index, - end: (prevIndex - index) - }; - } - else { - range = { - start: prevIndex, - end: index + 1 - }; - } - if ((reverse && lesser) || (!reverse && greater)) { - var idx = comparefn(row, selected); - // if reverse shift selection (unselect) and the - // row is already selected, remove it from selected - if (reverse && idx > -1) { - selected.splice(idx, 1); - continue; - } - // if in the positive range to be added to `selected`, and - // not already in the selected array, add it - if (i >= range.start && i < range.end) { - if (idx === -1) { - selected.push(row); - } - } - } - } - return selected; -} -exports.selectRowsBetween = selectRowsBetween; - - -/***/ }, - -/***/ "./src/utils/sort.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -var types_1 = __webpack_require__("./src/types/index.ts"); -var deep_getter_1 = __webpack_require__("./src/utils/deep-getter.ts"); -/** - * Gets the next sort direction - * @param {SortType} sortType - * @param {SortDirection} currentSort - * @return {SortDirection} - */ -function nextSortDir(sortType, current) { - if (sortType === types_1.SortType.single) { - if (current === types_1.SortDirection.asc) { - return types_1.SortDirection.desc; - } - else { - return types_1.SortDirection.asc; - } - } - else { - if (!current) { - return types_1.SortDirection.asc; - } - else if (current === types_1.SortDirection.asc) { - return types_1.SortDirection.desc; - } - else if (current === types_1.SortDirection.desc) { - return undefined; - } - } -} -exports.nextSortDir = nextSortDir; -; -/** - * Adapted from fueld-ui on 6/216 - * https://github.com/FuelInteractive/fuel-ui/tree/master/src/pipes/OrderBy - * @param {any} a - * @param {any} b - * @return {number} position - */ -function orderByComparator(a, b) { - if (a === null || typeof a === 'undefined') - a = 0; - if (b === null || typeof b === 'undefined') - b = 0; - if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) { - // Convert to string in case of a=0 or b=0 - a = String(a); - b = String(b); - // Isn't a number so lowercase the string to properly compare - if (a.toLowerCase() < b.toLowerCase()) - return -1; - if (a.toLowerCase() > b.toLowerCase()) - return 1; - } - else { - // Parse strings as numbers to compare properly - if (parseFloat(a) < parseFloat(b)) - return -1; - if (parseFloat(a) > parseFloat(b)) - return 1; - } - // equal each other - return 0; -} -exports.orderByComparator = orderByComparator; -/** - * Sorts the rows - * - * @export - * @param {any[]} rows - * @param {any[]} columns - * @param {any[]} dirs - * @returns - */ -function sortRows(rows, columns, dirs) { - if (!rows || !dirs || !columns) - return rows; - var cols = columns.reduce(function (obj, col) { - if (col.comparator && typeof col.comparator === 'function') { - obj[col.prop] = col.comparator; - } - return obj; - }, {}); - return rows.slice().sort(function (a, b) { - for (var _i = 0, dirs_1 = dirs; _i < dirs_1.length; _i++) { - var _a = dirs_1[_i], prop = _a.prop, dir = _a.dir; - var propA = deep_getter_1.deepValueGetter(a, prop); - var propB = deep_getter_1.deepValueGetter(b, prop); - var compareFn = cols[prop] || orderByComparator; - var comparison = dir !== types_1.SortDirection.desc ? - compareFn(propA, propB) : - -compareFn(propA, propB); - // Don't return 0 yet in case of needing to sort by next property - if (comparison !== 0) - return comparison; - } - // equal each other - return 0; - }); -} -exports.sortRows = sortRows; - - -/***/ }, - -/***/ "./src/utils/translate.ts": -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; -var prefixes_1 = __webpack_require__("./src/utils/prefixes.ts"); -var camel_case_1 = __webpack_require__("./src/utils/camel-case.ts"); -// browser detection and prefixing tools -var transform = prefixes_1.getVendorPrefixedName('transform'); -var backfaceVisibility = prefixes_1.getVendorPrefixedName('backfaceVisibility'); -var hasCSSTransforms = !!prefixes_1.getVendorPrefixedName('transform'); -var hasCSS3DTransforms = !!prefixes_1.getVendorPrefixedName('perspective'); -var ua = window.navigator.userAgent; -var isSafari = (/Safari\//).test(ua) && !(/Chrome\//).test(ua); -function translateXY(styles, x, y) { - if (hasCSSTransforms) { - if (!isSafari && hasCSS3DTransforms) { - styles[transform] = "translate3d(" + x + "px, " + y + "px, 0)"; - styles[backfaceVisibility] = 'hidden'; - } - else { - styles[camel_case_1.camelCase(transform)] = "translate(" + x + "px, " + y + "px)"; - } - } - else { - styles.top = y + "px"; - styles.left = x + "px"; - } -} -exports.translateXY = translateXY; - - -/***/ }, - -/***/ "./src/utils/visibility-observer.ts": -/***/ function(module, exports) { - -"use strict"; -"use strict"; -function checkVisibility(element, callback, zone) { - var timeout; - function check() { - // https://davidwalsh.name/offsetheight-visibility - var offsetHeight = element.offsetHeight, offsetWidth = element.offsetWidth; - if (offsetHeight && offsetWidth) { - clearTimeout(timeout); - if (callback) - zone.run(function () { return callback(); }); - } - else { - clearTimeout(timeout); - zone.runOutsideAngular(function () { - timeout = setTimeout(function () { return check(); }, 50); - }); - } - } - check(); -} -exports.checkVisibility = checkVisibility; - - -/***/ }, - -/***/ 0: -/***/ function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_0__; - -/***/ }, - -/***/ 1: -/***/ function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_1__; - -/***/ }, - -/***/ 2: -/***/ function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_2__; - -/***/ }, - -/***/ 3: -/***/ function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_3__; - -/***/ }, - -/***/ 4: -/***/ function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_4__; - -/***/ } - -/******/ }) -}); -; -//# sourceMappingURL=app.map \ No newline at end of file diff --git a/release/app.map b/release/app.map deleted file mode 100644 index db12bc374..000000000 --- a/release/app.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack:///src/components/src/components/datatable.scss","webpack:///webpack:///src/themes/src/themes/material.scss"],"names":[],"mappings":"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","file":"app.css","sourcesContent":[".datatable {\n display: block;\n overflow:hidden;\n justify-content: center;\n position: relative;\n\n [hidden] {\n display: none !important;\n }\n\n *, *:before, *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n\n /**\n * Vertical Scrolling Adjustments\n */\n &.scroll-vertical {\n .datatable-body {\n overflow-y:auto;\n .datatable-row-wrapper {\n position: absolute;\n }\n\n }\n }\n\n /**\n * Horizontal Scrolling Adjustments\n */\n &.scroll-horz {\n .datatable-body {\n overflow-x:auto;\n }\n }\n\n /**\n * Fixed Header Height Adjustments\n */\n &.fixed-header {\n .datatable-header {\n .datatable-header-inner{\n white-space: nowrap;\n .datatable-header-cell{\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n }\n }\n\n /**\n * Fixed row height adjustments\n */\n &.fixed-row {\n .datatable-scroll{\n white-space: nowrap;\n \n .datatable-body-row {\n white-space: nowrap;\n\n .datatable-body-cell {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n }\n\n /**\n * Shared Styles\n */\n .datatable-body-row,\n .datatable-header-inner {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n\n flex-direction: row;\n -webkit-flex-flow: row;\n -moz-flex-flow: row;\n -ms-flex-flow: row;\n -o-flex-flow: row;\n flex-flow: row;\n }\n\n .datatable-body-cell,\n .datatable-header-cell {\n vertical-align: top;\n display: inline-block;\n line-height: 1.625;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n \n &:focus {\n outline: none;\n }\n }\n\n .datatable-row-left,\n .datatable-row-right {\n z-index: 9;\n }\n\n .datatable-row-left,\n .datatable-row-center,\n .datatable-row-right {\n position:relative;\n }\n\n /**\n * Header Styles\n */\n .datatable-header {\n display: block;\n overflow: hidden;\n\n .datatable-header-inner{\n align-items: stretch;\n -webkit-align-items: stretch;\n }\n\n .datatable-header-cell {\n position: relative;\n display: inline-block;\n\n &.longpress {\n cursor: move;\n }\n\n &.sortable {\n cursor: pointer;\n }\n\n .sort-btn {\n line-height: 100%;\n vertical-align: middle;\n display: inline-block;\n }\n\n .resize-handle{\n display: inline-block;\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n width: 5px;\n padding: 0 8px;\n visibility: hidden;\n cursor: ew-resize;\n }\n\n &.resizeable:hover {\n .resize-handle{\n visibility: visible;\n }\n }\n }\n }\n\n /**\n * Body Styles\n */\n .datatable-body {\n position: relative;\n z-index: 10;\n display: block;\n\n .datatable-scroll{\n display: inline-block;\n }\n\n .datatable-row-detail {\n overflow-y: hidden;\n }\n\n .datatable-row-wrapper {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -webkit-flex-direction: column;\n -moz-box-orient: vertical;\n -moz-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n }\n\n .datatable-body-row {\n outline:none;\n\n > div {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n }\n }\n }\n\n /**\n * Footer Styles\n */\n .datatable-footer {\n display: block;\n width: 100%;\n\n > div {\n display: flex;\n align-items: center;\n width: 100%;\n }\n\n .page-count{\n display: inline-block;\n flex: 1 1 20%;\n }\n\n .datatable-pager{\n display: inline-block;\n flex: 1 1 80%;\n text-align: right;\n\n .pager,\n .pager li {\n padding: 0;\n margin: 0;\n display: inline-block;\n list-style: none;\n }\n\n .pager {\n li, li a{\n outline: none;\n }\n\n li {\n a {\n cursor: pointer;\n display: inline-block;\n }\n\n &.disabled a {\n cursor: not-allowed;\n }\n }\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/src/components/datatable.scss",".datatable.material {\n\tbackground:#FFF;\n -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);\n -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);\n\n\t&.striped {\n\t\t.datatable-row-odd {\n\t\t\tbackground: #eee;\n\t\t}\n\t}\n\n\t/**\n\t * Shared Styles\n\t */\n\t.empty-row{\n\t\t height:50px;\n\t\t text-align: left;\n\t\t padding: .5rem 1.2rem;\n\t\t vertical-align: top;\n\t\t border-top: 0;\n\t}\n\n\t.loading-row{\n\t\t text-align: left;\n\t\t padding: .5rem 1.2rem;\n\t\t vertical-align: top;\n\t\t border-top: 0;\n\t}\n\n\t/**\n\t * Global Row Styles\n\t */\n\t .datatable-header,\n\t .datatable-body {\n\t\t .datatable-row-left {\n\t\t\tbackground-color: #FFF;\n\t\t\tbackground-position: 100% 0;\n\t\t\tbackground-repeat: repeat-y;\n\t\t\tbackground-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==);\n\t\t}\n\n\t\t.datatable-row-right {\n\t\t\tbackground-position: 0 0;\n\t background-color: #fff;\n\t background-repeat: repeat-y;\n\t background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQI12PQkNdi1VTQ5gbSwkAsDQARLAIGtOSFUAAAAABJRU5ErkJggg==);\n\t\t}\n\t}\n\n\t/**\n\t * Header Styles\n\t */\n\t.datatable-header {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n\n .datatable-header-cell {\n text-align: left;\n padding: .5rem 1.2rem;\n font-weight: 400;\n color: #757575;\n vertical-align: bottom;\n\n\t\t\t&.longpress {\n\t\t\t\tcolor:#00E676;\n\t\t\t}\n\n\t\t\t&.dragging {\n\t\t\t\t.resize-handle {\n\t\t\t\t\tborder-right: none;\n\t\t\t\t}\n\t\t\t}\n }\n\n .resize-handle {\n border-right:solid 1px #eee;\n }\n }\n\n\t/**\n\t * Body Styles\n\t */\n\t.datatable-body {\n\t\t.datatable-row-detail {\n\t\t\tbackground: #f5f5f5;\n\t\t\tpadding: 10px;\n\t\t}\n\n\t .datatable-body-row {\n\t .datatable-body-cell {\n\t text-align: left;\n\t padding: .5rem 1.2rem;\n\t vertical-align: top;\n\t border-top: 0;\n\n\t -webkit-transition: width 0.3s ease;\n\t -o-transition: width 0.3s ease;\n\t transition: width 0.3s ease;\n\n // cell active class\n // &.active {\n // background: #0829e0\n // }\n\t }\n\n\t &:hover,\n\t\t\t&:hover .datatable-row-group {\n\t background-color: #eee;\n\t transition-property: background;\n\t transition-duration: .3s;\n\t transition-timing-function: linear;\n\t }\n\n\t\t\t&:focus,\n\t\t\t&:focus .datatable-row-group {\n\t\t\t\tbackground-color: #ddd;\n\t\t\t}\n\n\t\t\t&.active,\n\t\t\t&.active .datatable-row-group {\n\t\t\t\tbackground-color: #304FFE;\n color: #FFF;\n\t\t\t}\n\n\t\t\t&.active:hover,\n\t\t\t&.active:hover .datatable-row-group {\n\t\t\t\tbackground-color: #193AE4;\n color: #FFF;\n\t\t\t}\n\n\t\t\t&.active:focus,\n\t\t\t&.active:focus .datatable-row-group {\n\t\t\t\tbackground-color: #2041EF;\n \t\tcolor: #FFF;\n\t\t\t}\n\t }\n\n\t\t.progress-linear {\n\t\t display: block;\n\t\t position: relative;\n\t\t width: 100%;\n\t\t height: 5px;\n\t\t padding: 0;\n\t\t margin: 0;\n position: absolute;\n\n\t\t\t.container {\n\t\t\t display: block;\n\t\t\t position: relative;\n\t\t\t overflow: hidden;\n\t\t\t width: 100%;\n\t\t\t height: 5px;\n\t\t\t -webkit-transform: translate(0,0) scale(1,1);\n\t\t\t transform: translate(0,0) scale(1,1);\n\t\t\t background-color: rgb(170,209,249);\n\n\t\t\t\t.bar {\n\t\t\t\t transition: all .2s linear;\n\t\t\t\t -webkit-animation: query .8s infinite cubic-bezier(.39,.575,.565,1);\n\t\t\t\t animation: query .8s infinite cubic-bezier(.39,.575,.565,1);\n\n\t\t\t\t transition: -webkit-transform .2s linear;\n\t\t\t\t transition: transform .2s linear;\n\t\t\t\t background-color: rgb(16,108,200);\n\n\t\t\t\t position: absolute;\n\t\t\t\t left: 0;\n\t\t\t\t top: 0;\n\t\t\t\t bottom: 0;\n\t\t\t\t width: 100%;\n\t\t\t\t height: 5px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Footer Styles\n\t */\n\t.datatable-footer {\n\t\tborder-top: 1px solid rgba(0, 0, 0, 0.12);\n\t\tfont-size:16px;\n\n\t\t.page-count{\n\t\t\tline-height: 50px;\n\t\t\theight:50px;\n\t\t\tpadding: 0 1.2rem;\n\t\t}\n\n\t\t.datatable-pager {\n\t\t\tmargin: 0 10px;\n\t //line-height: 50px;\n\n\t\t\tli {\n\t \tvertical-align: middle;\n\n\t\t\t\t&.disabled a{\n\t\t\t\t\tcolor:rgba(0, 0, 0, 0.26) !important;\n\t\t\t\t\tbackground-color: transparent !important;\n\t\t\t\t}\n\n\t\t\t\t&.active a{\n\t\t\t\t\tbackground-color: rgba(158,158,158,0.2);\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ta {\n\t\t\t\theight: 22px;\n\t\t\t\tmin-width: 24px;\n\t\t\t\tline-height: 22px;\n\t\t\t\tpadding: 0 6px;\n\t\t\t\tborder-radius: 3px;\n\t\t\t\tmargin: 6px 3px;\n\t\t\t\ttext-align: center;\n\t\t\t\tvertical-align: top;\n\t\t\t\tcolor: rgba(0,0,0,.54);\n\t\t\t\ttext-decoration: none;\n\t\t vertical-align: bottom;\n\n\t\t\t\t&:hover{\n\t\t\t\t\tcolor: rgba(0,0,0,.75);\n\t\t\t\t\tbackground-color: rgba(158,158,158,0.2);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.icon-left,\n\t\t\t.icon-skip,\n\t\t\t.icon-right,\n\t\t\t.icon-prev{\n\t\t\t\tfont-size:20px;\n\t\t\t\tline-height: 20px;\n\t\t\t\tpadding:0 3px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Progress bar animations\n */\n@-webkit-keyframes query {\n 0% {\n opacity: 1;\n -webkit-transform: translateX(35%) scale(.3, 1);\n transform: translateX(35%) scale(.3, 1); }\n\n 100% {\n opacity: 0;\n -webkit-transform: translateX(-50%) scale(0, 1);\n transform: translateX(-50%) scale(0, 1); } }\n\n@keyframes query {\n 0% {\n opacity: 1;\n -webkit-transform: translateX(35%) scale(.3, 1);\n transform: translateX(35%) scale(.3, 1); }\n\n 100% {\n opacity: 0;\n -webkit-transform: translateX(-50%) scale(0, 1);\n transform: translateX(-50%) scale(0, 1); } }\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/themes/src/themes/material.scss"],"sourceRoot":""} \ No newline at end of file diff --git a/release/components/body/body-cell.component.ngfactory.ts b/release/components/body/body-cell.component.ngfactory.ts index 859646732..bdba2d147 100644 --- a/release/components/body/body-cell.component.ngfactory.ts +++ b/release/components/body/body-cell.component.ngfactory.ts @@ -1,29 +1,30 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/body/body-cell.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/security'; import * as import5 from '@angular/core/src/render/api'; -import * as import6 from '@angular/core/src/linker/element'; -import * as import7 from '@angular/core/src/di/injector'; -import * as import8 from '@angular/core/src/linker/view_type'; +import * as import6 from '@angular/core/src/metadata/view'; +import * as import7 from '@angular/core/src/linker/view_type'; +import * as import8 from '@angular/core/src/linker/component_factory'; import * as import9 from '@angular/core/src/linker/element_ref'; -import * as import10 from '@angular/core/src/metadata/view'; -import * as import11 from '@angular/core/src/linker/component_factory'; -import * as import12 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; -import * as import13 from '@angular/core/src/linker/template_ref'; -import * as import14 from '@angular/common/src/directives/ng_if'; -import * as import15 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; -import * as import16 from '@angular/common/src/directives/ng_template_outlet'; +import * as import10 from '@angular/core/src/linker/view_container'; +import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import12 from '@angular/core/src/linker/template_ref'; +import * as import13 from '@angular/common/src/directives/ng_if'; +import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; +import * as import15 from '@angular/common/src/directives/ng_template_outlet'; export class Wrapper_DataTableBodyCellComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableBodyCellComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -34,8 +35,9 @@ export class Wrapper_DataTableBodyCellComponent { /*private*/ _expr_7:any; /*private*/ _expr_8:any; /*private*/ _expr_9:any; + subscription0:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.DataTableBodyCellComponent(p0,p1); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -48,180 +50,183 @@ export class Wrapper_DataTableBodyCellComponent { this._expr_8 = import1.UNINITIALIZED; this._expr_9 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + } check_row(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.row = currValue; this._expr_0 = currValue; } } check_column(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.column = currValue; this._expr_1 = currValue; } } check_rowHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.rowHeight = currValue; this._expr_2 = currValue; } } check_sorts(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.sorts = currValue; this._expr_3 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_4:any = this.context.isFocused; - if (import2.checkBinding(throwOnChange,this._expr_4,currVal_4)) { + if (import3.checkBinding(throwOnChange,this._expr_4,currVal_4)) { view.renderer.setElementClass(el,'active',currVal_4); this._expr_4 = currVal_4; } const currVal_5:any = this.context.isSortActive; - if (import2.checkBinding(throwOnChange,this._expr_5,currVal_5)) { + if (import3.checkBinding(throwOnChange,this._expr_5,currVal_5)) { view.renderer.setElementClass(el,'sort-active',currVal_5); this._expr_5 = currVal_5; } const currVal_6:any = this.context.isSortAscending; - if (import2.checkBinding(throwOnChange,this._expr_6,currVal_6)) { + if (import3.checkBinding(throwOnChange,this._expr_6,currVal_6)) { view.renderer.setElementClass(el,'sort-asc',currVal_6); this._expr_6 = currVal_6; } const currVal_7:any = this.context.isSortDescending; - if (import2.checkBinding(throwOnChange,this._expr_7,currVal_7)) { + if (import3.checkBinding(throwOnChange,this._expr_7,currVal_7)) { view.renderer.setElementClass(el,'sort-desc',currVal_7); this._expr_7 = currVal_7; } const currVal_8:any = this.context.width; - if (import2.checkBinding(throwOnChange,this._expr_8,currVal_8)) { - view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_8) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_8).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { + view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_8) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_8).toString() + 'px'))); this._expr_8 = currVal_8; } const currVal_9:any = this.context.height; - if (import2.checkBinding(throwOnChange,this._expr_9,currVal_9)) { - view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9) == (null as any))? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9).toString())); + if (import3.checkBinding(throwOnChange,this._expr_9,currVal_9)) { + view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9) == null)? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9).toString())); this._expr_9 = currVal_9; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + if ((eventName == 'focus')) { + const pd_sub_0:any = ((this.context.onFocus($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'blur')) { + const pd_sub_1:any = ((this.context.onBlur($event)) !== false); + result = (pd_sub_1 && result); + } + if ((eventName == 'click')) { + const pd_sub_2:any = ((this.context.onClick($event)) !== false); + result = (pd_sub_2 && result); + } + if ((eventName == 'dblclick')) { + const pd_sub_3:any = ((this.context.onDblClick($event)) !== false); + result = (pd_sub_3 && result); + } + if ((eventName == 'keydown')) { + const pd_sub_4:any = ((this.context.onKeyDown($event)) !== false); + result = (pd_sub_4 && result); + } + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.activate.subscribe(_eventHandler.bind(view,'activate'))); } + } } -var renderType_DataTableBodyCellComponent_Host:import5.RenderComponentType = (null as any); -class _View_DataTableBodyCellComponent_Host0 extends import3.AppView { +var renderType_DataTableBodyCellComponent_Host:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableBodyCellComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _DataTableBodyCellComponent_0_4:Wrapper_DataTableBodyCellComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyCellComponent_Host0,renderType_DataTableBodyCellComponent_Host,import8.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-body-cell',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableBodyCellComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableBodyCellComponent_0_4 = new Wrapper_DataTableBodyCellComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableBodyCellComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableBodyCellComponent_0_4.context,this.projectableNodes,(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'focus',this.eventHandler(this._handle_focus_0_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_0,'blur',this.eventHandler(this._handle_blur_0_1.bind(this))); - var disposable_2:Function = this.renderer.listen(this._el_0,'click',this.eventHandler(this._handle_click_0_2.bind(this))); - var disposable_3:Function = this.renderer.listen(this._el_0,'dblclick',this.eventHandler(this._handle_dblclick_0_3.bind(this))); - var disposable_4:Function = this.renderer.listen(this._el_0,'keydown',this.eventHandler(this._handle_keydown_0_4.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],[ - disposable_0, - disposable_1, - disposable_2, - disposable_3, - disposable_4 - ] - ,([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTableBodyCellComponent_0_3:Wrapper_DataTableBodyCellComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyCellComponent_Host0,renderType_DataTableBodyCellComponent_Host,import7.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-body-cell',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableBodyCellComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableBodyCellComponent_0_3 = new Wrapper_DataTableBodyCellComponent(new import9.ElementRef(this._el_0),this.renderer); + this.compView_0.create(this._DataTableBodyCellComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray16(10,'focus',(null as any),'blur',(null as any),'click',(null as any),'dblclick',(null as any),'keydown',(null as any)),this.eventHandler(this.handleEvent_0)); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),[disposable_0]); + return new import8.ComponentRef_(0,this,this._el_0,this._DataTableBodyCellComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableBodyCellComponent) && (0 === requestNodeIndex))) { return this._DataTableBodyCellComponent_0_4.context; } + if (((token === import0.DataTableBodyCellComponent) && (0 === requestNodeIndex))) { return this._DataTableBodyCellComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableBodyCellComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableBodyCellComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); - } - private _handle_focus_0_0($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onFocus($event)) !== false); - return (true && pd_0_0); - } - private _handle_blur_0_1($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onBlur($event)) !== false); - return (true && pd_0_0); - } - private _handle_click_0_2($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onClick($event)) !== false); - return (true && pd_0_0); - } - private _handle_dblclick_0_3($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onDblClick($event)) !== false); - return (true && pd_0_0); - } - private _handle_keydown_0_4($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onKeyDown($event)) !== false); - return (true && pd_0_0); + if (this._DataTableBodyCellComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._DataTableBodyCellComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableBodyCellComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.compView_0.markPathToRootAsCheckOnce(); + var result:boolean = true; + result = (this._DataTableBodyCellComponent_0_3.handleEvent(eventName,$event) && result); + return result; } } -function viewFactory_DataTableBodyCellComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableBodyCellComponent_Host === (null as any))) { (renderType_DataTableBodyCellComponent_Host = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableBodyCellComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableBodyCellComponentNgFactory:import11.ComponentFactory = new import11.ComponentFactory('datatable-body-cell',viewFactory_DataTableBodyCellComponent_Host0,import0.DataTableBodyCellComponent); +export const DataTableBodyCellComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-body-cell',View_DataTableBodyCellComponent_Host0,import0.DataTableBodyCellComponent); const styles_DataTableBodyCellComponent:any[] = ([] as any[]); -var renderType_DataTableBodyCellComponent:import5.RenderComponentType = (null as any); -class _View_DataTableBodyCellComponent0 extends import3.AppView { +var renderType_DataTableBodyCellComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyCellComponent,{}); +export class View_DataTableBodyCellComponent0 extends import2.AppView { _text_0:any; _el_1:any; _text_2:any; _anchor_3:any; - /*private*/ _appEl_3:import6.AppElement; + /*private*/ _vc_3:import10.ViewContainer; _TemplateRef_3_5:any; - _NgIf_3_6:import12.Wrapper_NgIf; + _NgIf_3_6:import11.Wrapper_NgIf; _text_4:any; _anchor_5:any; - /*private*/ _appEl_5:import6.AppElement; + /*private*/ _vc_5:import10.ViewContainer; _TemplateRef_5_5:any; - _NgIf_5_6:import12.Wrapper_NgIf; + _NgIf_5_6:import11.Wrapper_NgIf; _text_6:any; _text_7:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyCellComponent0,renderType_DataTableBodyCellComponent,import8.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyCellComponent0,renderType_DataTableBodyCellComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import6.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import8.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import2.createRenderElement(this.renderer,parentRenderNode,'div',new import2.InlineArray2(2,'class','datatable-body-cell-label'),(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray2(2,'class','datatable-body-cell-label'),(null as any)); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_3 = new import6.AppElement(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import13.TemplateRef_(this._appEl_3,viewFactory_DataTableBodyCellComponent1); - this._NgIf_3_6 = new import12.Wrapper_NgIf(this._appEl_3.vcRef,this._TemplateRef_3_5); + this._vc_3 = new import10.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import12.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import11.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_5 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_5 = new import6.AppElement(5,1,this,this._anchor_5); - this._TemplateRef_5_5 = new import13.TemplateRef_(this._appEl_5,viewFactory_DataTableBodyCellComponent2); - this._NgIf_5_6 = new import12.Wrapper_NgIf(this._appEl_5.vcRef,this._TemplateRef_5_5); + this._vc_5 = new import10.ViewContainer(5,1,this,this._anchor_5); + this._TemplateRef_5_5 = new import12.TemplateRef_(this,5,this._anchor_5); + this._NgIf_5_6 = new import11.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); this._text_6 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_7 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -231,71 +236,75 @@ class _View_DataTableBodyCellComponent0 extends import3.AppView { + if ((nodeIndex == 3)) { return new View_DataTableBodyCellComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + if ((nodeIndex == 5)) { return new View_DataTableBodyCellComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } + return (null as any); } } -export function viewFactory_DataTableBodyCellComponent0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableBodyCellComponent === (null as any))) { (renderType_DataTableBodyCellComponent = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,styles_DataTableBodyCellComponent,{})); } - return new _View_DataTableBodyCellComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyCellComponent1 extends import3.AppView { +class View_DataTableBodyCellComponent1 extends import2.AppView { _el_0:any; _text_1:any; /*private*/ _expr_2:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyCellComponent1,renderType_DataTableBodyCellComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { + super(View_DataTableBodyCellComponent1,renderType_DataTableBodyCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_2 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'span',import2.EMPTY_INLINE_ARRAY,(null as any)); + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'span',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this.init(([] as any[]).concat([this._el_0]),[ + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } detectChangesInternal(throwOnChange:boolean):void { - this.detectContentChildrenChanges(throwOnChange); - const currVal_2:any = this.parent.context.value; - if (import2.checkBinding(throwOnChange,this._expr_2,currVal_2)) { + const currVal_2:any = this.parentView.context.value; + if (import3.checkBinding(throwOnChange,this._expr_2,currVal_2)) { this.renderer.setElementProperty(this._el_0,'innerHTML',this.viewUtils.sanitizer.sanitize(import4.SecurityContext.HTML,currVal_2)); this._expr_2 = currVal_2; } - this.detectViewChildrenChanges(throwOnChange); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_DataTableBodyCellComponent1(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyCellComponent1(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyCellComponent2 extends import3.AppView { +class View_DataTableBodyCellComponent2 extends import2.AppView { _anchor_0:any; - /*private*/ _appEl_0:import6.AppElement; + /*private*/ _vc_0:import10.ViewContainer; _TemplateRef_0_5:any; - _NgTemplateOutlet_0_6:import15.Wrapper_NgTemplateOutlet; - _map_4:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyCellComponent2,renderType_DataTableBodyCellComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - this._map_4 = import2.pureProxy3((p0:any,p1:any,p2:any):{[key: string]:any} => { + _NgTemplateOutlet_0_6:import14.Wrapper_NgTemplateOutlet; + _el_1:any; + _map_5:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { + super(View_DataTableBodyCellComponent2,renderType_DataTableBodyCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + this._map_5 = import3.pureProxy3((p0:any,p1:any,p2:any):{[key: string]:any} => { return { value: p0, row: p1, @@ -304,43 +313,52 @@ class _View_DataTableBodyCellComponent2 extends import3.AppView { ; }); } - createInternal(rootSelector:string):import6.AppElement { + createInternal(rootSelector:string):import8.ComponentRef { this._anchor_0 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._anchor_0); - this._TemplateRef_0_5 = new import13.TemplateRef_(this._appEl_0,viewFactory_DataTableBodyCellComponent3); - this._NgTemplateOutlet_0_6 = new import15.Wrapper_NgTemplateOutlet(this._appEl_0.vcRef); - this.init(([] as any[]).concat([this._appEl_0]),[this._anchor_0],([] as any[]),([] as any[])); + this._vc_0 = new import10.ViewContainer(0,(null as any),this,this._anchor_0); + this._TemplateRef_0_5 = new import12.TemplateRef_(this,0,this._anchor_0); + this._NgTemplateOutlet_0_6 = new import14.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); + this._el_1 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this.init(this._el_1,((this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import13.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } - if (((token === import16.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } + if (((token === import12.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } + if (((token === import15.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this._map_4(this.parent.context.value,this.parent.context.row,this.parent.context.column); + const currVal_0_0_0:any = this._map_5(this.parentView.context.value,this.parentView.context.row,this.parentView.context.column); this._NgTemplateOutlet_0_6.check_ngOutletContext(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parent.context.column.cellTemplate; + const currVal_0_0_1:any = this.parentView.context.column.cellTemplate; this._NgTemplateOutlet_0_6.check_ngTemplateOutlet(currVal_0_0_1,throwOnChange,false); - this._NgTemplateOutlet_0_6.detectChangesInInputProps(this,this._anchor_0,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + this._NgTemplateOutlet_0_6.ngDoCheck(this,this._anchor_0,throwOnChange); + this._vc_0.detectChangesInNestedViews(throwOnChange); + } + destroyInternal():void { + this._vc_0.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._vc_0.nativeElement,ctx); + this._vc_0.visitNestedViewRootNodes(cb,ctx); + cb(this._el_1,ctx); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 0)) { return new View_DataTableBodyCellComponent3(this.viewUtils,this,0,this._anchor_0,this._vc_0); } + return (null as any); } } -function viewFactory_DataTableBodyCellComponent2(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyCellComponent2(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyCellComponent3 extends import3.AppView { +class View_DataTableBodyCellComponent3 extends import2.AppView { _text_0:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyCellComponent3,renderType_DataTableBodyCellComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { + super(View_DataTableBodyCellComponent3,renderType_DataTableBodyCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } - createInternal(rootSelector:string):import6.AppElement { + createInternal(rootSelector:string):import8.ComponentRef { this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); - this.init(([] as any[]).concat([this._text_0]),[this._text_0],([] as any[]),([] as any[])); + this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); return (null as any); } -} -function viewFactory_DataTableBodyCellComponent3(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyCellComponent3(viewUtils,parentInjector,declarationEl); + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._text_0,ctx); + } } \ No newline at end of file diff --git a/release/components/body/body-row-wrapper.component.ngfactory.ts b/release/components/body/body-row-wrapper.component.ngfactory.ts index cdadc0009..32e862f5f 100644 --- a/release/components/body/body-row-wrapper.component.ngfactory.ts +++ b/release/components/body/body-row-wrapper.component.ngfactory.ts @@ -1,260 +1,291 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/body/body-row-wrapper.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/render/api'; -import * as import5 from '@angular/core/src/linker/element'; -import * as import6 from '@angular/core/src/di/injector'; -import * as import7 from '@angular/core/src/linker/view_type'; +import * as import5 from '@angular/core/src/metadata/view'; +import * as import6 from '@angular/core/src/linker/view_type'; +import * as import7 from '@angular/core/src/linker/component_factory'; import * as import8 from '@angular/core/src/linker/element_ref'; -import * as import9 from '@angular/core/src/metadata/view'; -import * as import10 from '@angular/core/src/linker/component_factory'; -import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; -import * as import12 from '@angular/core/src/linker/template_ref'; -import * as import13 from '@angular/common/src/directives/ng_if'; -import * as import14 from '@angular/core/src/security'; -import * as import15 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; -import * as import16 from '@angular/common/src/directives/ng_template_outlet'; +import * as import9 from '@angular/core/src/linker/view_container'; +import * as import10 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import11 from '@angular/core/src/linker/template_ref'; +import * as import12 from '@angular/common/src/directives/ng_if'; +import * as import13 from '@angular/core/src/security'; +import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; +import * as import15 from '@angular/common/src/directives/ng_template_outlet'; export class Wrapper_DataTableRowWrapperComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableRowWrapperComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; /*private*/ _expr_3:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.DataTableRowWrapperComponent(p0,p1); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; this._expr_2 = import1.UNINITIALIZED; this._expr_3 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + } check_rowDetailTemplate(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.rowDetailTemplate = currValue; this._expr_0 = currValue; } } check_detailRowHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.detailRowHeight = currValue; this._expr_1 = currValue; } } check_expanded(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.expanded = currValue; this._expr_2 = currValue; } } check_row(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.row = currValue; this._expr_3 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any):void { + this._eventHandler = _eventHandler; } } -var renderType_DataTableRowWrapperComponent_Host:import4.RenderComponentType = (null as any); -class _View_DataTableRowWrapperComponent_Host0 extends import3.AppView { +var renderType_DataTableRowWrapperComponent_Host:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableRowWrapperComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import5.AppElement; - _DataTableRowWrapperComponent_0_4:Wrapper_DataTableRowWrapperComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableRowWrapperComponent_Host0,renderType_DataTableRowWrapperComponent_Host,import7.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-row-wrapper',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableRowWrapperComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableRowWrapperComponent_0_4 = new Wrapper_DataTableRowWrapperComponent(new import8.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableRowWrapperComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableRowWrapperComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTableRowWrapperComponent_0_3:Wrapper_DataTableRowWrapperComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableRowWrapperComponent_Host0,renderType_DataTableRowWrapperComponent_Host,import6.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import7.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-row-wrapper',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableRowWrapperComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableRowWrapperComponent_0_3 = new Wrapper_DataTableRowWrapperComponent(new import8.ElementRef(this._el_0),this.renderer); + this.compView_0.create(this._DataTableRowWrapperComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import7.ComponentRef_(0,this,this._el_0,this._DataTableRowWrapperComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableRowWrapperComponent) && (0 === requestNodeIndex))) { return this._DataTableRowWrapperComponent_0_4.context; } + if (((token === import0.DataTableRowWrapperComponent) && (0 === requestNodeIndex))) { return this._DataTableRowWrapperComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableRowWrapperComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableRowWrapperComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTableRowWrapperComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 0) && (ngContentIndex == 0))) { } } } -function viewFactory_DataTableRowWrapperComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTableRowWrapperComponent_Host === (null as any))) { (renderType_DataTableRowWrapperComponent_Host = viewUtils.createRenderComponentType('',0,import9.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableRowWrapperComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableRowWrapperComponentNgFactory:import10.ComponentFactory = new import10.ComponentFactory('datatable-row-wrapper',viewFactory_DataTableRowWrapperComponent_Host0,import0.DataTableRowWrapperComponent); +export const DataTableRowWrapperComponentNgFactory:import7.ComponentFactory = new import7.ComponentFactory('datatable-row-wrapper',View_DataTableRowWrapperComponent_Host0,import0.DataTableRowWrapperComponent); const styles_DataTableRowWrapperComponent:any[] = ([] as any[]); -var renderType_DataTableRowWrapperComponent:import4.RenderComponentType = (null as any); -class _View_DataTableRowWrapperComponent0 extends import3.AppView { +var renderType_DataTableRowWrapperComponent:import4.RenderComponentType = import3.createRenderComponentType('',1,import5.ViewEncapsulation.None,styles_DataTableRowWrapperComponent,{}); +export class View_DataTableRowWrapperComponent0 extends import2.AppView { _text_0:any; _text_1:any; _anchor_2:any; - /*private*/ _appEl_2:import5.AppElement; + /*private*/ _vc_2:import9.ViewContainer; _TemplateRef_2_5:any; - _NgIf_2_6:import11.Wrapper_NgIf; + _NgIf_2_6:import10.Wrapper_NgIf; _text_3:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableRowWrapperComponent0,renderType_DataTableRowWrapperComponent,import7.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableRowWrapperComponent0,renderType_DataTableRowWrapperComponent,import6.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import5.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import7.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.renderer.projectNodes(parentRenderNode,import2.flattenNestedViewRenderNodes(this.projectableNodes[0])); + this.projectNodes(parentRenderNode,0); this._text_1 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); this._anchor_2 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any)); - this._appEl_2 = new import5.AppElement(2,(null as any),this,this._anchor_2); - this._TemplateRef_2_5 = new import12.TemplateRef_(this._appEl_2,viewFactory_DataTableRowWrapperComponent1); - this._NgIf_2_6 = new import11.Wrapper_NgIf(this._appEl_2.vcRef,this._TemplateRef_2_5); + this._vc_2 = new import9.ViewContainer(2,(null as any),this,this._anchor_2); + this._TemplateRef_2_5 = new import11.TemplateRef_(this,2,this._anchor_2); + this._NgIf_2_6 = new import10.Wrapper_NgIf(this._vc_2.vcRef,this._TemplateRef_2_5); this._text_3 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._text_1, this._anchor_2, this._text_3 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import12.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import13.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } + if (((token === import11.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import12.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { const currVal_2_0_0:any = this.context.expanded; this._NgIf_2_6.check_ngIf(currVal_2_0_0,throwOnChange,false); - this._NgIf_2_6.detectChangesInInputProps(this,this._anchor_2,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + this._NgIf_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); + } + destroyInternal():void { + this._vc_2.destroyNestedViews(); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 2)) { return new View_DataTableRowWrapperComponent1(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + return (null as any); } } -export function viewFactory_DataTableRowWrapperComponent0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTableRowWrapperComponent === (null as any))) { (renderType_DataTableRowWrapperComponent = viewUtils.createRenderComponentType('',1,import9.ViewEncapsulation.None,styles_DataTableRowWrapperComponent,{})); } - return new _View_DataTableRowWrapperComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableRowWrapperComponent1 extends import3.AppView { +class View_DataTableRowWrapperComponent1 extends import2.AppView { _el_0:any; _text_1:any; _anchor_2:any; - /*private*/ _appEl_2:import5.AppElement; + /*private*/ _vc_2:import9.ViewContainer; _TemplateRef_2_5:any; - _NgIf_2_6:import11.Wrapper_NgIf; + _NgIf_2_6:import10.Wrapper_NgIf; _text_3:any; /*private*/ _expr_7:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableRowWrapperComponent1,renderType_DataTableRowWrapperComponent,import7.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableRowWrapperComponent1,renderType_DataTableRowWrapperComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_7 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'div',new import2.InlineArray2(2,'class','datatable-row-detail'),(null as any)); + createInternal(rootSelector:string):import7.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',new import3.InlineArray2(2,'class','datatable-row-detail'),(null as any)); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any)); - this._appEl_2 = new import5.AppElement(2,0,this,this._anchor_2); - this._TemplateRef_2_5 = new import12.TemplateRef_(this._appEl_2,viewFactory_DataTableRowWrapperComponent2); - this._NgIf_2_6 = new import11.Wrapper_NgIf(this._appEl_2.vcRef,this._TemplateRef_2_5); + this._vc_2 = new import9.ViewContainer(2,0,this,this._anchor_2); + this._TemplateRef_2_5 = new import11.TemplateRef_(this,2,this._anchor_2); + this._NgIf_2_6 = new import10.Wrapper_NgIf(this._vc_2.vcRef,this._TemplateRef_2_5); this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this.init(([] as any[]).concat([this._el_0]),[ + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1, this._anchor_2, this._text_3 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import12.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import13.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } + if (((token === import11.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import12.NgIf) && (2 === requestNodeIndex))) { return this._NgIf_2_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_2_0_0:any = this.parent.context.rowDetailTemplate; + const currVal_2_0_0:any = this.parentView.context.rowDetailTemplate; this._NgIf_2_6.check_ngIf(currVal_2_0_0,throwOnChange,false); - this._NgIf_2_6.detectChangesInInputProps(this,this._anchor_2,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - const currVal_7:any = this.parent.context.detailRowHeight; - if (import2.checkBinding(throwOnChange,this._expr_7,currVal_7)) { - this.renderer.setElementStyle(this._el_0,'height',((this.viewUtils.sanitizer.sanitize(import14.SecurityContext.STYLE,currVal_7) == (null as any))? (null as any): (this.viewUtils.sanitizer.sanitize(import14.SecurityContext.STYLE,currVal_7).toString() + 'px'))); + this._NgIf_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); + const currVal_7:any = this.parentView.context.detailRowHeight; + if (import3.checkBinding(throwOnChange,this._expr_7,currVal_7)) { + this.renderer.setElementStyle(this._el_0,'height',((this.viewUtils.sanitizer.sanitize(import13.SecurityContext.STYLE,currVal_7) == null)? (null as any): (this.viewUtils.sanitizer.sanitize(import13.SecurityContext.STYLE,currVal_7).toString() + 'px'))); this._expr_7 = currVal_7; } - this.detectViewChildrenChanges(throwOnChange); + } + destroyInternal():void { + this._vc_2.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 2)) { return new View_DataTableRowWrapperComponent2(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + return (null as any); } } -function viewFactory_DataTableRowWrapperComponent1(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - return new _View_DataTableRowWrapperComponent1(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableRowWrapperComponent2 extends import3.AppView { +class View_DataTableRowWrapperComponent2 extends import2.AppView { _anchor_0:any; - /*private*/ _appEl_0:import5.AppElement; + /*private*/ _vc_0:import9.ViewContainer; _TemplateRef_0_5:any; - _NgTemplateOutlet_0_6:import15.Wrapper_NgTemplateOutlet; - _map_4:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableRowWrapperComponent2,renderType_DataTableRowWrapperComponent,import7.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - this._map_4 = import2.pureProxy1((p0:any):{[key: string]:any} => { + _NgTemplateOutlet_0_6:import14.Wrapper_NgTemplateOutlet; + _el_1:any; + _map_5:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableRowWrapperComponent2,renderType_DataTableRowWrapperComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + this._map_5 = import3.pureProxy1((p0:any):{[key: string]:any} => { return {row: p0}; }); } - createInternal(rootSelector:string):import5.AppElement { + createInternal(rootSelector:string):import7.ComponentRef { this._anchor_0 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._anchor_0); - this._TemplateRef_0_5 = new import12.TemplateRef_(this._appEl_0,viewFactory_DataTableRowWrapperComponent3); - this._NgTemplateOutlet_0_6 = new import15.Wrapper_NgTemplateOutlet(this._appEl_0.vcRef); - this.init(([] as any[]).concat([this._appEl_0]),[this._anchor_0],([] as any[]),([] as any[])); + this._vc_0 = new import9.ViewContainer(0,(null as any),this,this._anchor_0); + this._TemplateRef_0_5 = new import11.TemplateRef_(this,0,this._anchor_0); + this._NgTemplateOutlet_0_6 = new import14.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); + this._el_1 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this.init(this._el_1,((this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import12.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } - if (((token === import16.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } + if (((token === import11.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } + if (((token === import15.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this._map_4(this.parent.parent.context.row); + const currVal_0_0_0:any = this._map_5(this.parentView.parentView.context.row); this._NgTemplateOutlet_0_6.check_ngOutletContext(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parent.parent.context.rowDetailTemplate; + const currVal_0_0_1:any = this.parentView.parentView.context.rowDetailTemplate; this._NgTemplateOutlet_0_6.check_ngTemplateOutlet(currVal_0_0_1,throwOnChange,false); - this._NgTemplateOutlet_0_6.detectChangesInInputProps(this,this._anchor_0,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + this._NgTemplateOutlet_0_6.ngDoCheck(this,this._anchor_0,throwOnChange); + this._vc_0.detectChangesInNestedViews(throwOnChange); + } + destroyInternal():void { + this._vc_0.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._vc_0.nativeElement,ctx); + this._vc_0.visitNestedViewRootNodes(cb,ctx); + cb(this._el_1,ctx); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 0)) { return new View_DataTableRowWrapperComponent3(this.viewUtils,this,0,this._anchor_0,this._vc_0); } + return (null as any); } } -function viewFactory_DataTableRowWrapperComponent2(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - return new _View_DataTableRowWrapperComponent2(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableRowWrapperComponent3 extends import3.AppView { +class View_DataTableRowWrapperComponent3 extends import2.AppView { _text_0:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableRowWrapperComponent3,renderType_DataTableRowWrapperComponent,import7.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableRowWrapperComponent3,renderType_DataTableRowWrapperComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } - createInternal(rootSelector:string):import5.AppElement { + createInternal(rootSelector:string):import7.ComponentRef { this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); - this.init(([] as any[]).concat([this._text_0]),[this._text_0],([] as any[]),([] as any[])); + this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); return (null as any); } -} -function viewFactory_DataTableRowWrapperComponent3(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - return new _View_DataTableRowWrapperComponent3(viewUtils,parentInjector,declarationEl); + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._text_0,ctx); + } } \ No newline at end of file diff --git a/release/components/body/body-row.component.ngfactory.ts b/release/components/body/body-row.component.ngfactory.ts index e15ffff58..369b06e21 100644 --- a/release/components/body/body-row.component.ngfactory.ts +++ b/release/components/body/body-row.component.ngfactory.ts @@ -1,33 +1,34 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/body/body-row.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/security'; import * as import5 from '@angular/core/src/render/api'; -import * as import6 from '@angular/core/src/linker/element'; -import * as import7 from '@angular/core/src/di/injector'; -import * as import8 from '@angular/core/src/linker/view_type'; +import * as import6 from '@angular/core/src/metadata/view'; +import * as import7 from '@angular/core/src/linker/view_type'; +import * as import8 from '@angular/core/src/linker/component_factory'; import * as import9 from '@angular/core/src/linker/element_ref'; -import * as import10 from '@angular/core/src/metadata/view'; -import * as import11 from '@angular/core/src/linker/component_factory'; -import * as import12 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; -import * as import13 from '@angular/core/src/linker/template_ref'; -import * as import14 from '@angular/core/src/change_detection/differs/iterable_differs'; -import * as import15 from '@angular/common/src/directives/ng_for'; -import * as import16 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; -import * as import17 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import18 from '@angular/common/src/directives/ng_style'; +import * as import10 from '@angular/core/src/linker/view_container'; +import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; +import * as import12 from '@angular/core/src/linker/template_ref'; +import * as import13 from '@angular/core/src/change_detection/differs/iterable_differs'; +import * as import14 from '@angular/common/src/directives/ng_for'; +import * as import15 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; +import * as import16 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +import * as import17 from '@angular/common/src/directives/ng_style'; +import * as import18 from '../../../../src/components/body/body-cell.component'; import * as import19 from './body-cell.component.ngfactory'; -import * as import20 from '../../../../src/components/body/body-cell.component'; export class Wrapper_DataTableBodyRowComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableBodyRowComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -38,8 +39,9 @@ export class Wrapper_DataTableBodyRowComponent { /*private*/ _expr_7:any; /*private*/ _expr_8:any; /*private*/ _expr_9:any; + subscription0:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.DataTableBodyRowComponent(p0,p1); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -52,308 +54,301 @@ export class Wrapper_DataTableBodyRowComponent { this._expr_8 = import1.UNINITIALIZED; this._expr_9 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + } check_columns(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.columns = currValue; this._expr_0 = currValue; } } check_innerWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.innerWidth = currValue; this._expr_1 = currValue; } } check_row(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.row = currValue; this._expr_2 = currValue; } } check_offsetX(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.offsetX = currValue; this._expr_3 = currValue; } } check_rowHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.rowHeight = currValue; this._expr_4 = currValue; } } check_isSelected(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.isSelected = currValue; this._expr_5 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_6:any = this.context.rowHeight; - if (import2.checkBinding(throwOnChange,this._expr_6,currVal_6)) { - view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_6,currVal_6)) { + view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6).toString() + 'px'))); this._expr_6 = currVal_6; } const currVal_7:any = this.context.isSelected; - if (import2.checkBinding(throwOnChange,this._expr_7,currVal_7)) { + if (import3.checkBinding(throwOnChange,this._expr_7,currVal_7)) { view.renderer.setElementClass(el,'active',currVal_7); this._expr_7 = currVal_7; } const currVal_8:any = this.context.isEvenRow; - if (import2.checkBinding(throwOnChange,this._expr_8,currVal_8)) { + if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { view.renderer.setElementClass(el,'datatable-row-even',currVal_8); this._expr_8 = currVal_8; } const currVal_9:any = this.context.isOddRow; - if (import2.checkBinding(throwOnChange,this._expr_9,currVal_9)) { + if (import3.checkBinding(throwOnChange,this._expr_9,currVal_9)) { view.renderer.setElementClass(el,'datatable-row-odd',currVal_9); this._expr_9 = currVal_9; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + if ((eventName == 'keydown')) { + const pd_sub_0:any = ((this.context.onKeyDown($event)) !== false); + result = (pd_sub_0 && result); + } + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.activate.subscribe(_eventHandler.bind(view,'activate'))); } + } } -var renderType_DataTableBodyRowComponent_Host:import5.RenderComponentType = (null as any); -class _View_DataTableBodyRowComponent_Host0 extends import3.AppView { +var renderType_DataTableBodyRowComponent_Host:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableBodyRowComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _DataTableBodyRowComponent_0_4:Wrapper_DataTableBodyRowComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyRowComponent_Host0,renderType_DataTableBodyRowComponent_Host,import8.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-body-row',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableBodyRowComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableBodyRowComponent_0_4 = new Wrapper_DataTableBodyRowComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableBodyRowComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableBodyRowComponent_0_4.context,this.projectableNodes,(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'keydown',this.eventHandler(this._handle_keydown_0_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],[disposable_0],([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTableBodyRowComponent_0_3:Wrapper_DataTableBodyRowComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyRowComponent_Host0,renderType_DataTableBodyRowComponent_Host,import7.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-body-row',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableBodyRowComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableBodyRowComponent_0_3 = new Wrapper_DataTableBodyRowComponent(new import9.ElementRef(this._el_0),this.renderer); + this.compView_0.create(this._DataTableBodyRowComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'keydown',(null as any)),this.eventHandler(this.handleEvent_0)); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),[disposable_0]); + return new import8.ComponentRef_(0,this,this._el_0,this._DataTableBodyRowComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableBodyRowComponent) && (0 === requestNodeIndex))) { return this._DataTableBodyRowComponent_0_4.context; } + if (((token === import0.DataTableBodyRowComponent) && (0 === requestNodeIndex))) { return this._DataTableBodyRowComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableBodyRowComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableBodyRowComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTableBodyRowComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._DataTableBodyRowComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); } - private _handle_keydown_0_0($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyRowComponent_0_4.context.onKeyDown($event)) !== false); - return (true && pd_0_0); + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableBodyRowComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.compView_0.markPathToRootAsCheckOnce(); + var result:boolean = true; + result = (this._DataTableBodyRowComponent_0_3.handleEvent(eventName,$event) && result); + return result; } } -function viewFactory_DataTableBodyRowComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableBodyRowComponent_Host === (null as any))) { (renderType_DataTableBodyRowComponent_Host = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableBodyRowComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableBodyRowComponentNgFactory:import11.ComponentFactory = new import11.ComponentFactory('datatable-body-row',viewFactory_DataTableBodyRowComponent_Host0,import0.DataTableBodyRowComponent); +export const DataTableBodyRowComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-body-row',View_DataTableBodyRowComponent_Host0,import0.DataTableBodyRowComponent); const styles_DataTableBodyRowComponent:any[] = ([] as any[]); -var renderType_DataTableBodyRowComponent:import5.RenderComponentType = (null as any); -class _View_DataTableBodyRowComponent0 extends import3.AppView { +var renderType_DataTableBodyRowComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyRowComponent,{}); +export class View_DataTableBodyRowComponent0 extends import2.AppView { _text_0:any; _anchor_1:any; - /*private*/ _appEl_1:import6.AppElement; + /*private*/ _vc_1:import10.ViewContainer; _TemplateRef_1_5:any; - _NgFor_1_6:import12.Wrapper_NgFor; + _NgFor_1_6:import11.Wrapper_NgFor; _text_2:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyRowComponent0,renderType_DataTableBodyRowComponent,import8.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyRowComponent0,renderType_DataTableBodyRowComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import6.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import8.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); this._anchor_1 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any)); - this._appEl_1 = new import6.AppElement(1,(null as any),this,this._anchor_1); - this._TemplateRef_1_5 = new import13.TemplateRef_(this._appEl_1,viewFactory_DataTableBodyRowComponent1); - this._NgFor_1_6 = new import12.Wrapper_NgFor(this._appEl_1.vcRef,this._TemplateRef_1_5,this.parentInjector.get(import14.IterableDiffers),this.ref); + this._vc_1 = new import10.ViewContainer(1,(null as any),this,this._anchor_1); + this._TemplateRef_1_5 = new import12.TemplateRef_(this,1,this._anchor_1); + this._NgFor_1_6 = new import11.Wrapper_NgFor(this._vc_1.vcRef,this._TemplateRef_1_5,this.parentView.injectorGet(import13.IterableDiffers,this.parentIndex),this.ref); this._text_2 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._anchor_1, this._text_2 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import13.TemplateRef) && (1 === requestNodeIndex))) { return this._TemplateRef_1_5; } - if (((token === import15.NgFor) && (1 === requestNodeIndex))) { return this._NgFor_1_6.context; } + if (((token === import12.TemplateRef) && (1 === requestNodeIndex))) { return this._TemplateRef_1_5; } + if (((token === import14.NgFor) && (1 === requestNodeIndex))) { return this._NgFor_1_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { const currVal_1_0_0:any = this.context.columnsByPin; this._NgFor_1_6.check_ngForOf(currVal_1_0_0,throwOnChange,false); - const currVal_1_0_1:any = ((this.context.$colGroup == (null as any))? (null as any): this.context.$colGroup.type); + const currVal_1_0_1:any = ((this.context.$colGroup == null)? (null as any): this.context.$colGroup.type); this._NgFor_1_6.check_ngForTrackBy(currVal_1_0_1,throwOnChange,false); - this._NgFor_1_6.detectChangesInInputProps(this,this._anchor_1,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + this._NgFor_1_6.ngDoCheck(this,this._anchor_1,throwOnChange); + this._vc_1.detectChangesInNestedViews(throwOnChange); + } + destroyInternal():void { + this._vc_1.destroyNestedViews(); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 1)) { return new View_DataTableBodyRowComponent1(this.viewUtils,this,1,this._anchor_1,this._vc_1); } + return (null as any); } } -export function viewFactory_DataTableBodyRowComponent0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableBodyRowComponent === (null as any))) { (renderType_DataTableBodyRowComponent = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,styles_DataTableBodyRowComponent,{})); } - return new _View_DataTableBodyRowComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyRowComponent1 extends import3.AppView { +class View_DataTableBodyRowComponent1 extends import2.AppView { _el_0:any; - _NgStyle_0_3:import16.Wrapper_NgStyle; + _NgStyle_0_3:import15.Wrapper_NgStyle; _text_1:any; _anchor_2:any; - /*private*/ _appEl_2:import6.AppElement; + /*private*/ _vc_2:import10.ViewContainer; _TemplateRef_2_5:any; - _NgFor_2_6:import12.Wrapper_NgFor; + _NgFor_2_6:import11.Wrapper_NgFor; _text_3:any; /*private*/ _expr_8:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyRowComponent1,renderType_DataTableBodyRowComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { + super(View_DataTableBodyRowComponent1,renderType_DataTableBodyRowComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_8 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'div',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._NgStyle_0_3 = new import16.Wrapper_NgStyle(this.parentInjector.get(import17.KeyValueDiffers),new import9.ElementRef(this._el_0),this.renderer); + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',import3.EMPTY_INLINE_ARRAY,(null as any)); + this._NgStyle_0_3 = new import15.Wrapper_NgStyle(this.parentView.injectorGet(import16.KeyValueDiffers,this.parentIndex),new import9.ElementRef(this._el_0),this.renderer); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any)); - this._appEl_2 = new import6.AppElement(2,0,this,this._anchor_2); - this._TemplateRef_2_5 = new import13.TemplateRef_(this._appEl_2,viewFactory_DataTableBodyRowComponent2); - this._NgFor_2_6 = new import12.Wrapper_NgFor(this._appEl_2.vcRef,this._TemplateRef_2_5,this.parentInjector.get(import14.IterableDiffers),this.parent.ref); + this._vc_2 = new import10.ViewContainer(2,0,this,this._anchor_2); + this._TemplateRef_2_5 = new import12.TemplateRef_(this,2,this._anchor_2); + this._NgFor_2_6 = new import11.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.injectorGet(import13.IterableDiffers,this.parentIndex),this.parentView.ref); this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this.init(([] as any[]).concat([this._el_0]),[ + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1, this._anchor_2, this._text_3 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import13.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import15.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } - if (((token === import18.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } + if (((token === import12.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import14.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } + if (((token === import17.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parent.context.stylesByGroup(this.context.$implicit.type); + const currVal_0_0_0:any = this.parentView.context.stylesByGroup(this.context.$implicit.type); this._NgStyle_0_3.check_ngStyle(currVal_0_0_0,throwOnChange,false); - this._NgStyle_0_3.detectChangesInInputProps(this,this._el_0,throwOnChange); + this._NgStyle_0_3.ngDoCheck(this,this._el_0,throwOnChange); const currVal_2_0_0:any = this.context.$implicit.columns; this._NgFor_2_6.check_ngForOf(currVal_2_0_0,throwOnChange,false); - const currVal_2_0_1:any = ((this.parent.context.column == (null as any))? (null as any): this.parent.context.column.$$id); + const currVal_2_0_1:any = ((this.parentView.context.column == null)? (null as any): this.parentView.context.column.$$id); this._NgFor_2_6.check_ngForTrackBy(currVal_2_0_1,throwOnChange,false); - this._NgFor_2_6.detectChangesInInputProps(this,this._anchor_2,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - const currVal_8:any = import2.interpolate(1,'datatable-row-',this.context.$implicit.type,' datatable-row-group'); - if (import2.checkBinding(throwOnChange,this._expr_8,currVal_8)) { + this._NgFor_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); + const currVal_8:any = import3.inlineInterpolate(1,'datatable-row-',this.context.$implicit.type,' datatable-row-group'); + if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { this.renderer.setElementProperty(this._el_0,'className',currVal_8); this._expr_8 = currVal_8; } - this._NgStyle_0_3.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + } + destroyInternal():void { + this._vc_2.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 2)) { return new View_DataTableBodyRowComponent2(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + return (null as any); } } -function viewFactory_DataTableBodyRowComponent1(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyRowComponent1(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyRowComponent2 extends import3.AppView { +class View_DataTableBodyRowComponent2 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _DataTableBodyCellComponent_0_4:import19.Wrapper_DataTableBodyCellComponent; + compView_0:import2.AppView; + _DataTableBodyCellComponent_0_3:import19.Wrapper_DataTableBodyCellComponent; _text_1:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyRowComponent2,renderType_DataTableBodyRowComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'datatable-body-cell',new import2.InlineArray2(2,'tabindex','-1'),(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = import19.viewFactory_DataTableBodyCellComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableBodyCellComponent_0_4 = new import19.Wrapper_DataTableBodyCellComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableBodyCellComponent_0_4.context,([] as any[]),compView_0); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import10.ViewContainer) { + super(View_DataTableBodyRowComponent2,renderType_DataTableBodyRowComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-body-cell',new import3.InlineArray2(2,'tabindex','-1'),(null as any)); + this.compView_0 = new import19.View_DataTableBodyCellComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableBodyCellComponent_0_3 = new import19.Wrapper_DataTableBodyCellComponent(new import9.ElementRef(this._el_0),this.renderer); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_0.create(this._DataTableBodyCellComponent_0_4.context,([] as any[]),(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'activate',this.eventHandler(this._handle_activate_0_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_0,'focus',this.eventHandler(this._handle_focus_0_1.bind(this))); - var disposable_2:Function = this.renderer.listen(this._el_0,'blur',this.eventHandler(this._handle_blur_0_2.bind(this))); - var disposable_3:Function = this.renderer.listen(this._el_0,'click',this.eventHandler(this._handle_click_0_3.bind(this))); - var disposable_4:Function = this.renderer.listen(this._el_0,'dblclick',this.eventHandler(this._handle_dblclick_0_4.bind(this))); - var disposable_5:Function = this.renderer.listen(this._el_0,'keydown',this.eventHandler(this._handle_keydown_0_5.bind(this))); - const subscription_0:any = this._DataTableBodyCellComponent_0_4.context.activate.subscribe(this.eventHandler(this._handle_activate_0_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + this.compView_0.create(this._DataTableBodyCellComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray16(12,'activate',(null as any),'focus',(null as any),'blur',(null as any),'click',(null as any),'dblclick',(null as any),'keydown',(null as any)),this.eventHandler(this.handleEvent_0)); + this._DataTableBodyCellComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,[ - disposable_0, - disposable_1, - disposable_2, - disposable_3, - disposable_4, - disposable_5 - ] - ,[subscription_0]); + ),[disposable_0]); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import20.DataTableBodyCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableBodyCellComponent_0_4.context; } + if (((token === import18.DataTableBodyCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableBodyCellComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parent.parent.context.row; - this._DataTableBodyCellComponent_0_4.check_row(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_0:any = this.parentView.parentView.context.row; + this._DataTableBodyCellComponent_0_3.check_row(currVal_0_0_0,throwOnChange,false); const currVal_0_0_1:any = this.context.$implicit; - this._DataTableBodyCellComponent_0_4.check_column(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parent.parent.context.rowHeight; - this._DataTableBodyCellComponent_0_4.check_rowHeight(currVal_0_0_2,throwOnChange,false); - if (this._DataTableBodyCellComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableBodyCellComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); - } - private _handle_activate_0_0($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.parent.context.onActivate($event,this.context.index)) !== false); - return (true && pd_0_0); - } - private _handle_focus_0_1($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onFocus($event)) !== false); - return (true && pd_0_0); - } - private _handle_blur_0_2($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onBlur($event)) !== false); - return (true && pd_0_0); - } - private _handle_click_0_3($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onClick($event)) !== false); - return (true && pd_0_0); - } - private _handle_dblclick_0_4($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onDblClick($event)) !== false); - return (true && pd_0_0); - } - private _handle_keydown_0_5($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DataTableBodyCellComponent_0_4.context.onKeyDown($event)) !== false); - return (true && pd_0_0); + this._DataTableBodyCellComponent_0_3.check_column(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.parentView.context.rowHeight; + this._DataTableBodyCellComponent_0_3.check_rowHeight(currVal_0_0_2,throwOnChange,false); + if (this._DataTableBodyCellComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._DataTableBodyCellComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableBodyCellComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.compView_0.markPathToRootAsCheckOnce(); + var result:boolean = true; + result = (this._DataTableBodyCellComponent_0_3.handleEvent(eventName,$event) && result); + if ((eventName == 'activate')) { + const pd_sub_0:any = ((this.parentView.parentView.context.onActivate($event,this.context.index)) !== false); + result = (pd_sub_0 && result); + } + return result; } -} -function viewFactory_DataTableBodyRowComponent2(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyRowComponent2(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/body/body.component.js b/release/components/body/body.component.js index c7b7ad63a..0518b5c83 100644 --- a/release/components/body/body.component.js +++ b/release/components/body/body.component.js @@ -327,7 +327,7 @@ var DataTableBodyComponent = (function () { DataTableBodyComponent.decorators = [ { type: core_1.Component, args: [{ selector: 'datatable-body', - template: "\n \n \n \n \n \n \n \n \n \n \n \n \n ", + template: "\n \n \n \n \n \n \n \n \n \n \n \n \n ", changeDetection: core_1.ChangeDetectionStrategy.OnPush },] }, ]; diff --git a/release/components/body/body.component.js.map b/release/components/body/body.component.js.map index adab71cc6..b71e08578 100644 --- a/release/components/body/body.component.js.map +++ b/release/components/body/body.component.js.map @@ -1 +1 @@ -{"version":3,"file":"body.component.js","sourceRoot":"","sources":["../../../src/components/body/body.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"body.component.js","sourceRoot":"","sources":["../../../src/components/body/body.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/release/components/body/body.component.metadata.json b/release/components/body/body.component.metadata.json index eee01f137..cbd10bc93 100644 --- a/release/components/body/body.component.metadata.json +++ b/release/components/body/body.component.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":1,"metadata":{"DataTableBodyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable-body","template":"\n \n \n \n \n \n \n \n \n \n \n \n \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"}}]}],"members":{"scrollbarV":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scrollbarH":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"loadingIndicator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"detailRowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"emptyMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectionType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowIdentity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowDetailTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectCheck":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"trackByProp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"pageSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rows":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"offset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"innerWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"bodyWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.width"]}]}],"bodyHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.height"]}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"detailToggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"scroller":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":[{"__symbolic":"reference","module":"./scroller.component","name":"ScrollerComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"}]}],"updateOffsetY":[{"__symbolic":"method"}],"onBodyScroll":[{"__symbolic":"method"}],"updatePage":[{"__symbolic":"method"}],"updateRows":[{"__symbolic":"method"}],"getRowHeight":[{"__symbolic":"method"}],"getRowsStyles":[{"__symbolic":"method"}],"hideIndicator":[{"__symbolic":"method"}],"updateIndexes":[{"__symbolic":"method"}],"refreshRowHeightCache":[{"__symbolic":"method"}],"getAdjustedViewPortIndex":[{"__symbolic":"method"}],"toggleRowExpansion":[{"__symbolic":"method"}],"toggleAllRows":[{"__symbolic":"method"}],"recalcLayout":[{"__symbolic":"method"}]}}}} \ No newline at end of file +{"__symbolic":"module","version":1,"metadata":{"DataTableBodyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable-body","template":"\n \n \n \n \n \n \n \n \n \n \n \n \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"}}]}],"members":{"scrollbarV":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scrollbarH":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"loadingIndicator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"detailRowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"emptyMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectionType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowIdentity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowDetailTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectCheck":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"trackByProp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"pageSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rows":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"offset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"innerWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"bodyWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.width"]}]}],"bodyHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["style.height"]}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"detailToggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"scroller":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":[{"__symbolic":"reference","module":"./scroller.component","name":"ScrollerComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"}]}],"updateOffsetY":[{"__symbolic":"method"}],"onBodyScroll":[{"__symbolic":"method"}],"updatePage":[{"__symbolic":"method"}],"updateRows":[{"__symbolic":"method"}],"getRowHeight":[{"__symbolic":"method"}],"getRowsStyles":[{"__symbolic":"method"}],"hideIndicator":[{"__symbolic":"method"}],"updateIndexes":[{"__symbolic":"method"}],"refreshRowHeightCache":[{"__symbolic":"method"}],"getAdjustedViewPortIndex":[{"__symbolic":"method"}],"toggleRowExpansion":[{"__symbolic":"method"}],"toggleAllRows":[{"__symbolic":"method"}],"recalcLayout":[{"__symbolic":"method"}]}}}} \ No newline at end of file diff --git a/release/components/body/body.component.ngfactory.ts b/release/components/body/body.component.ngfactory.ts index e0280463e..44c7bc422 100644 --- a/release/components/body/body.component.ngfactory.ts +++ b/release/components/body/body.component.ngfactory.ts @@ -1,44 +1,45 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/body/body.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/security'; import * as import5 from '@angular/core/src/render/api'; -import * as import6 from '@angular/core/src/linker/element'; -import * as import7 from '@angular/core/src/di/injector'; -import * as import8 from '@angular/core/src/linker/view_type'; +import * as import6 from '@angular/core/src/metadata/view'; +import * as import7 from '@angular/core/src/linker/view_type'; +import * as import8 from '@angular/core/src/linker/component_factory'; import * as import9 from '@angular/core/src/linker/element_ref'; -import * as import10 from '@angular/core/src/metadata/view'; -import * as import11 from '@angular/core/src/linker/component_factory'; -import * as import12 from '@angular/core/src/linker/query_list'; -import * as import13 from './selection.component.ngfactory'; +import * as import10 from '@angular/core/src/linker/query_list'; +import * as import11 from '../../../../src/components/body/selection.component'; +import * as import12 from './selection.component.ngfactory'; +import * as import13 from '@angular/core/src/linker/view_container'; import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; import * as import15 from '@angular/core/src/linker/template_ref'; import * as import16 from '@angular/common/src/directives/ng_if'; -import * as import17 from '../../../../src/components/body/selection.component'; +import * as import17 from '../../../../src/components/body/progress-bar.component'; import * as import18 from './progress-bar.component.ngfactory'; -import * as import19 from '../../../../src/components/body/progress-bar.component'; +import * as import19 from '../../../../src/components/body/scroller.component'; import * as import20 from './scroller.component.ngfactory'; import * as import21 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; import * as import22 from '@angular/core/src/change_detection/differs/iterable_differs'; import * as import23 from '@angular/common/src/directives/ng_for'; -import * as import24 from '../../../../src/components/body/scroller.component'; +import * as import24 from '../../../../src/components/body/body-row-wrapper.component'; import * as import25 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; import * as import26 from './body-row-wrapper.component.ngfactory'; -import * as import27 from './body-row.component.ngfactory'; -import * as import28 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import29 from '../../../../src/components/body/body-row.component'; +import * as import27 from '../../../../src/components/body/body-row.component'; +import * as import28 from './body-row.component.ngfactory'; +import * as import29 from '@angular/core/src/change_detection/differs/keyvalue_differs'; import * as import30 from '@angular/common/src/directives/ng_style'; -import * as import31 from '../../../../src/components/body/body-row-wrapper.component'; export class Wrapper_DataTableBodyComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableBodyComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -61,8 +62,13 @@ export class Wrapper_DataTableBodyComponent { /*private*/ _expr_19:any; /*private*/ _expr_20:any; /*private*/ _expr_21:any; + subscription0:any; + subscription1:any; + subscription2:any; + subscription3:any; + subscription4:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.DataTableBodyComponent(p0,p1); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -87,267 +93,275 @@ export class Wrapper_DataTableBodyComponent { this._expr_20 = import1.UNINITIALIZED; this._expr_21 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + (this.subscription1 && this.subscription1.unsubscribe()); + (this.subscription2 && this.subscription2.unsubscribe()); + (this.subscription3 && this.subscription3.unsubscribe()); + (this.subscription4 && this.subscription4.unsubscribe()); + } check_scrollbarV(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.scrollbarV = currValue; this._expr_0 = currValue; } } check_scrollbarH(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.scrollbarH = currValue; this._expr_1 = currValue; } } check_loadingIndicator(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.loadingIndicator = currValue; this._expr_2 = currValue; } } check_rowHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.rowHeight = currValue; this._expr_3 = currValue; } } check_offsetX(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.offsetX = currValue; this._expr_4 = currValue; } } check_detailRowHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.detailRowHeight = currValue; this._expr_5 = currValue; } } check_emptyMessage(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_6,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_6,currValue))) { + this._changed = true; this.context.emptyMessage = currValue; this._expr_6 = currValue; } } check_selectionType(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_7,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_7,currValue))) { + this._changed = true; this.context.selectionType = currValue; this._expr_7 = currValue; } } check_selected(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_8,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_8,currValue))) { + this._changed = true; this.context.selected = currValue; this._expr_8 = currValue; } } check_rowIdentity(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_9,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_9,currValue))) { + this._changed = true; this.context.rowIdentity = currValue; this._expr_9 = currValue; } } check_rowDetailTemplate(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_10,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_10,currValue))) { + this._changed = true; this.context.rowDetailTemplate = currValue; this._expr_10 = currValue; } } check_selectCheck(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_11,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_11,currValue))) { + this._changed = true; this.context.selectCheck = currValue; this._expr_11 = currValue; } } check_trackByProp(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_12,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_12,currValue))) { + this._changed = true; this.context.trackByProp = currValue; this._expr_12 = currValue; } } check_pageSize(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_13,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_13,currValue))) { + this._changed = true; this.context.pageSize = currValue; this._expr_13 = currValue; } } check_rows(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_14,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_14,currValue))) { + this._changed = true; this.context.rows = currValue; this._expr_14 = currValue; } } check_columns(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_15,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_15,currValue))) { + this._changed = true; this.context.columns = currValue; this._expr_15 = currValue; } } check_offset(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_16,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_16,currValue))) { + this._changed = true; this.context.offset = currValue; this._expr_16 = currValue; } } check_rowCount(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_17,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_17,currValue))) { + this._changed = true; this.context.rowCount = currValue; this._expr_17 = currValue; } } check_innerWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_18,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_18,currValue))) { + this._changed = true; this.context.innerWidth = currValue; this._expr_18 = currValue; } } check_bodyHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_19,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_19,currValue))) { + this._changed = true; this.context.bodyHeight = currValue; this._expr_19 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_20:any = this.context.bodyWidth; - if (import2.checkBinding(throwOnChange,this._expr_20,currVal_20)) { - view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_20) == (null as any))? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_20).toString())); + if (import3.checkBinding(throwOnChange,this._expr_20,currVal_20)) { + view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_20) == null)? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_20).toString())); this._expr_20 = currVal_20; } const currVal_21:any = this.context.bodyHeight; - if (import2.checkBinding(throwOnChange,this._expr_21,currVal_21)) { - view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_21) == (null as any))? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_21).toString())); + if (import3.checkBinding(throwOnChange,this._expr_21,currVal_21)) { + view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_21) == null)? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_21).toString())); this._expr_21 = currVal_21; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean,emit1:boolean,emit2:boolean,emit3:boolean,emit4:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.scroll.subscribe(_eventHandler.bind(view,'scroll'))); } + if (emit1) { (this.subscription1 = this.context.page.subscribe(_eventHandler.bind(view,'page'))); } + if (emit2) { (this.subscription2 = this.context.activate.subscribe(_eventHandler.bind(view,'activate'))); } + if (emit3) { (this.subscription3 = this.context.select.subscribe(_eventHandler.bind(view,'select'))); } + if (emit4) { (this.subscription4 = this.context.detailToggle.subscribe(_eventHandler.bind(view,'detailToggle'))); } + } } -var renderType_DataTableBodyComponent_Host:import5.RenderComponentType = (null as any); -class _View_DataTableBodyComponent_Host0 extends import3.AppView { +var renderType_DataTableBodyComponent_Host:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableBodyComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _DataTableBodyComponent_0_4:Wrapper_DataTableBodyComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyComponent_Host0,renderType_DataTableBodyComponent_Host,import8.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-body',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableBodyComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableBodyComponent_0_4 = new Wrapper_DataTableBodyComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableBodyComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableBodyComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTableBodyComponent_0_3:Wrapper_DataTableBodyComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyComponent_Host0,renderType_DataTableBodyComponent_Host,import7.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-body',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableBodyComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableBodyComponent_0_3 = new Wrapper_DataTableBodyComponent(new import9.ElementRef(this._el_0),this.renderer); + this.compView_0.create(this._DataTableBodyComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import8.ComponentRef_(0,this,this._el_0,this._DataTableBodyComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableBodyComponent) && (0 === requestNodeIndex))) { return this._DataTableBodyComponent_0_4.context; } + if (((token === import0.DataTableBodyComponent) && (0 === requestNodeIndex))) { return this._DataTableBodyComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableBodyComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableBodyComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTableBodyComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._DataTableBodyComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableBodyComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_DataTableBodyComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableBodyComponent_Host === (null as any))) { (renderType_DataTableBodyComponent_Host = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableBodyComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableBodyComponentNgFactory:import11.ComponentFactory = new import11.ComponentFactory('datatable-body',viewFactory_DataTableBodyComponent_Host0,import0.DataTableBodyComponent); +export const DataTableBodyComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-body',View_DataTableBodyComponent_Host0,import0.DataTableBodyComponent); const styles_DataTableBodyComponent:any[] = ([] as any[]); -var renderType_DataTableBodyComponent:import5.RenderComponentType = (null as any); -class _View_DataTableBodyComponent0 extends import3.AppView { - _viewQuery_ScrollerComponent_0:import12.QueryList; +var renderType_DataTableBodyComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableBodyComponent,{}); +export class View_DataTableBodyComponent0 extends import2.AppView { + _viewQuery_ScrollerComponent_0:import10.QueryList; _text_0:any; _el_1:any; - /*private*/ _appEl_1:import6.AppElement; - _DataTableSelectionComponent_1_4:import13.Wrapper_DataTableSelectionComponent; + compView_1:import2.AppView; + _DataTableSelectionComponent_1_3:import12.Wrapper_DataTableSelectionComponent; _text_2:any; _anchor_3:any; - /*private*/ _appEl_3:import6.AppElement; + /*private*/ _vc_3:import13.ViewContainer; _TemplateRef_3_5:any; _NgIf_3_6:import14.Wrapper_NgIf; _text_4:any; _anchor_5:any; - /*private*/ _appEl_5:import6.AppElement; + /*private*/ _vc_5:import13.ViewContainer; _TemplateRef_5_5:any; _NgIf_5_6:import14.Wrapper_NgIf; _text_6:any; _anchor_7:any; - /*private*/ _appEl_7:import6.AppElement; + /*private*/ _vc_7:import13.ViewContainer; _TemplateRef_7_5:any; _NgIf_7_6:import14.Wrapper_NgIf; _text_8:any; _text_9:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyComponent0,renderType_DataTableBodyComponent,import8.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableBodyComponent0,renderType_DataTableBodyComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import6.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); - this._viewQuery_ScrollerComponent_0 = new import12.QueryList(); + createInternal(rootSelector:string):import8.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); + this._viewQuery_ScrollerComponent_0 = new import10.QueryList(); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import2.createRenderElement(this.renderer,parentRenderNode,'datatable-selection',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_1 = new import6.AppElement(1,(null as any),this,this._el_1); - var compView_1:any = import13.viewFactory_DataTableSelectionComponent0(this.viewUtils,this.injector(1),this._appEl_1); - this._DataTableSelectionComponent_1_4 = new import13.Wrapper_DataTableSelectionComponent(); - this._appEl_1.initComponent(this._DataTableSelectionComponent_1_4.context,([] as any[]),compView_1); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'datatable-selection',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_1 = new import12.View_DataTableSelectionComponent0(this.viewUtils,this,1,this._el_1); + this._DataTableSelectionComponent_1_3 = new import12.Wrapper_DataTableSelectionComponent(); this._text_2 = this.renderer.createText((null as any),'\n ',(null as any)); this._anchor_3 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._appEl_3 = new import6.AppElement(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import15.TemplateRef_(this._appEl_3,viewFactory_DataTableBodyComponent1); - this._NgIf_3_6 = new import14.Wrapper_NgIf(this._appEl_3.vcRef,this._TemplateRef_3_5); + this._vc_3 = new import13.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import15.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import14.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); this._text_4 = this.renderer.createText((null as any),'\n ',(null as any)); this._anchor_5 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._appEl_5 = new import6.AppElement(5,1,this,this._anchor_5); - this._TemplateRef_5_5 = new import15.TemplateRef_(this._appEl_5,viewFactory_DataTableBodyComponent2); - this._NgIf_5_6 = new import14.Wrapper_NgIf(this._appEl_5.vcRef,this._TemplateRef_5_5); + this._vc_5 = new import13.ViewContainer(5,1,this,this._anchor_5); + this._TemplateRef_5_5 = new import15.TemplateRef_(this,5,this._anchor_5); + this._NgIf_5_6 = new import14.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); this._text_6 = this.renderer.createText((null as any),'\n ',(null as any)); this._anchor_7 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._appEl_7 = new import6.AppElement(7,1,this,this._anchor_7); - this._TemplateRef_7_5 = new import15.TemplateRef_(this._appEl_7,viewFactory_DataTableBodyComponent4); - this._NgIf_7_6 = new import14.Wrapper_NgIf(this._appEl_7.vcRef,this._TemplateRef_7_5); + this._vc_7 = new import13.ViewContainer(7,1,this,this._anchor_7); + this._TemplateRef_7_5 = new import15.TemplateRef_(this,7,this._anchor_7); + this._NgIf_7_6 = new import14.Wrapper_NgIf(this._vc_7.vcRef,this._TemplateRef_7_5); this._text_8 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_1.create(this._DataTableSelectionComponent_1_4.context,[([] as any[]).concat([ - this._text_2, - this._appEl_3, - this._text_4, - this._appEl_5, - this._text_6, - this._appEl_7, - this._text_8 - ] - )],(null as any)); + this.compView_1.create(this._DataTableSelectionComponent_1_3.context); this._text_9 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_1,'select',this.eventHandler(this._handle_select_1_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_1,'activate',this.eventHandler(this._handle_activate_1_1.bind(this))); - const subscription_0:any = this._DataTableSelectionComponent_1_4.context.activate.subscribe(this.eventHandler(this._handle_activate_1_1.bind(this))); - const subscription_1:any = this._DataTableSelectionComponent_1_4.context.select.subscribe(this.eventHandler(this._handle_select_1_0.bind(this))); - this.init(([] as any[]),[ + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray4(4,'select',(null as any),'activate',(null as any)),this.eventHandler(this.handleEvent_1)); + this._DataTableSelectionComponent_1_3.subscribe(this,this.eventHandler(this.handleEvent_1),true,true); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -359,15 +373,7 @@ class _View_DataTableBodyComponent0 extends import3.AppView { - return [nestedView._ScrollerComponent_0_4.context]; + this._viewQuery_ScrollerComponent_0.reset([this._vc_5.mapNestedViews(View_DataTableBodyComponent2,(nestedView:View_DataTableBodyComponent2):any => { + return [nestedView._ScrollerComponent_0_3.context]; })]); this.context.scroller = this._viewQuery_ScrollerComponent_0.first; } } } - private _handle_select_1_0($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_1_0:any = ((this.context.select.emit($event)) !== false); - return (true && pd_1_0); + destroyInternal():void { + this._vc_3.destroyNestedViews(); + this._vc_5.destroyNestedViews(); + this._vc_7.destroyNestedViews(); + this.compView_1.destroy(); + this._DataTableSelectionComponent_1_3.ngOnDestroy(); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 1) && (ngContentIndex == 0))) { + cb(this._text_2,ctx); + cb(this._vc_3.nativeElement,ctx); + this._vc_3.visitNestedViewRootNodes(cb,ctx); + cb(this._text_4,ctx); + cb(this._vc_5.nativeElement,ctx); + this._vc_5.visitNestedViewRootNodes(cb,ctx); + cb(this._text_6,ctx); + cb(this._vc_7.nativeElement,ctx); + this._vc_7.visitNestedViewRootNodes(cb,ctx); + cb(this._text_8,ctx); + } + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 3)) { return new View_DataTableBodyComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + if ((nodeIndex == 5)) { return new View_DataTableBodyComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } + if ((nodeIndex == 7)) { return new View_DataTableBodyComponent4(this.viewUtils,this,7,this._anchor_7,this._vc_7); } + return (null as any); } - private _handle_activate_1_1($event:any):boolean { + handleEvent_1(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_1_0:any = ((this.context.activate.emit($event)) !== false); - return (true && pd_1_0); + var result:boolean = true; + if ((eventName == 'select')) { + const pd_sub_0:any = ((this.context.select.emit($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'activate')) { + const pd_sub_1:any = ((this.context.activate.emit($event)) !== false); + result = (pd_sub_1 && result); + } + return result; } } -export function viewFactory_DataTableBodyComponent0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableBodyComponent === (null as any))) { (renderType_DataTableBodyComponent = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,styles_DataTableBodyComponent,{})); } - return new _View_DataTableBodyComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyComponent1 extends import3.AppView { +class View_DataTableBodyComponent1 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _ProgressBarComponent_0_4:import18.Wrapper_ProgressBarComponent; + compView_0:import2.AppView; + _ProgressBarComponent_0_3:import18.Wrapper_ProgressBarComponent; _text_1:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyComponent1,renderType_DataTableBodyComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'datatable-progress',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = import18.viewFactory_ProgressBarComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._ProgressBarComponent_0_4 = new import18.Wrapper_ProgressBarComponent(); - this._appEl_0.initComponent(this._ProgressBarComponent_0_4.context,([] as any[]),compView_0); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + super(View_DataTableBodyComponent1,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-progress',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_0 = new import18.View_ProgressBarComponent0(this.viewUtils,this,0,this._el_0); + this._ProgressBarComponent_0_3 = new import18.Wrapper_ProgressBarComponent(); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_0.create(this._ProgressBarComponent_0_4.context,([] as any[]),(null as any)); - this.init(([] as any[]).concat([this._el_0]),[ + this.compView_0.create(this._ProgressBarComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import19.ProgressBarComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ProgressBarComponent_0_4.context; } + if (((token === import17.ProgressBarComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ProgressBarComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._ProgressBarComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._ProgressBarComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._ProgressBarComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_DataTableBodyComponent1(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyComponent1(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyComponent2 extends import3.AppView { +class View_DataTableBodyComponent2 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _ScrollerComponent_0_4:import20.Wrapper_ScrollerComponent; + compView_0:import2.AppView; + _ScrollerComponent_0_3:import20.Wrapper_ScrollerComponent; _text_1:any; _anchor_2:any; - /*private*/ _appEl_2:import6.AppElement; + /*private*/ _vc_2:import13.ViewContainer; _TemplateRef_2_5:any; _NgFor_2_6:import21.Wrapper_NgFor; _text_3:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyComponent2,renderType_DataTableBodyComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'datatable-scroller',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = import20.viewFactory_ScrollerComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._ScrollerComponent_0_4 = new import20.Wrapper_ScrollerComponent(new import9.ElementRef(this._el_0)); - this._appEl_0.initComponent(this._ScrollerComponent_0_4.context,([] as any[]),compView_0); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + super(View_DataTableBodyComponent2,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-scroller',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_0 = new import20.View_ScrollerComponent0(this.viewUtils,this,0,this._el_0); + this._ScrollerComponent_0_3 = new import20.Wrapper_ScrollerComponent(new import9.ElementRef(this._el_0)); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); this._anchor_2 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._appEl_2 = new import6.AppElement(2,0,this,this._anchor_2); - this._TemplateRef_2_5 = new import15.TemplateRef_(this._appEl_2,viewFactory_DataTableBodyComponent3); - this._NgFor_2_6 = new import21.Wrapper_NgFor(this._appEl_2.vcRef,this._TemplateRef_2_5,this.parent.parentInjector.get(import22.IterableDiffers),this.parent.ref); + this._vc_2 = new import13.ViewContainer(2,0,this,this._anchor_2); + this._TemplateRef_2_5 = new import15.TemplateRef_(this,2,this._anchor_2); + this._NgFor_2_6 = new import21.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.parentView.injectorGet(import22.IterableDiffers,this.parentView.parentIndex),this.parentView.ref); this._text_3 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_0.create(this._ScrollerComponent_0_4.context,[([] as any[]).concat([ - this._text_1, - this._appEl_2, - this._text_3 - ] - )],(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'scroll',this.eventHandler(this._handle_scroll_0_0.bind(this))); - const subscription_0:any = this._ScrollerComponent_0_4.context.scroll.subscribe(this.eventHandler(this._handle_scroll_0_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + this.compView_0.create(this._ScrollerComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'scroll',(null as any)),this.eventHandler(this.handleEvent_0)); + this._ScrollerComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1, this._anchor_2, this._text_3 ] - ,[disposable_0],[subscription_0]); + ),[disposable_0]); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { if (((token === import15.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } if (((token === import23.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } - if (((token === import24.ScrollerComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._ScrollerComponent_0_4.context; } + if (((token === import19.ScrollerComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._ScrollerComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parent.context.scrollbarV; - this._ScrollerComponent_0_4.check_scrollbarV(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parent.context.scrollbarH; - this._ScrollerComponent_0_4.check_scrollbarH(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parent.context.scrollHeight; - this._ScrollerComponent_0_4.check_scrollHeight(currVal_0_0_2,throwOnChange,false); - const currVal_0_0_3:any = this.parent.context.columnGroupWidths.total; - this._ScrollerComponent_0_4.check_scrollWidth(currVal_0_0_3,throwOnChange,false); - if (this._ScrollerComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - const currVal_2_0_0:any = this.parent.context.temp; + const currVal_0_0_0:any = this.parentView.context.scrollbarV; + this._ScrollerComponent_0_3.check_scrollbarV(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.parentView.context.scrollbarH; + this._ScrollerComponent_0_3.check_scrollbarH(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.context.scrollHeight; + this._ScrollerComponent_0_3.check_scrollHeight(currVal_0_0_2,throwOnChange,false); + const currVal_0_0_3:any = this.parentView.context.columnGroupWidths.total; + this._ScrollerComponent_0_3.check_scrollWidth(currVal_0_0_3,throwOnChange,false); + if (this._ScrollerComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + const currVal_2_0_0:any = this.parentView.context.temp; this._NgFor_2_6.check_ngForOf(currVal_2_0_0,throwOnChange,false); - const currVal_2_0_1:any = this.parent.context.rowTrackingFn; + const currVal_2_0_1:any = this.parentView.context.rowTrackingFn; this._NgFor_2_6.check_ngForTrackBy(currVal_2_0_1,throwOnChange,false); - this._NgFor_2_6.detectChangesInInputProps(this,this._anchor_2,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - this._ScrollerComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + this._NgFor_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); + this._ScrollerComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); } dirtyParentQueriesInternal():void { - (<_View_DataTableBodyComponent0>this.parent)._viewQuery_ScrollerComponent_0.setDirty(); + (this.parentView)._viewQuery_ScrollerComponent_0.setDirty(); } destroyInternal():void { - this._ScrollerComponent_0_4.context.ngOnDestroy(); + this._vc_2.destroyNestedViews(); + this.compView_0.destroy(); + this._ScrollerComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 0) && (ngContentIndex == 0))) { + cb(this._text_1,ctx); + cb(this._vc_2.nativeElement,ctx); + this._vc_2.visitNestedViewRootNodes(cb,ctx); + cb(this._text_3,ctx); + } + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 2)) { return new View_DataTableBodyComponent3(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + return (null as any); } - private _handle_scroll_0_0($event:any):boolean { + handleEvent_0(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.context.onBodyScroll($event)) !== false); - return (true && pd_0_0); + var result:boolean = true; + if ((eventName == 'scroll')) { + const pd_sub_0:any = ((this.parentView.context.onBodyScroll($event)) !== false); + result = (pd_sub_0 && result); + } + return result; } } -function viewFactory_DataTableBodyComponent2(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyComponent2(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyComponent3 extends import3.AppView { +class View_DataTableBodyComponent3 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _NgStyle_0_4:import25.Wrapper_NgStyle; - _DataTableRowWrapperComponent_0_5:import26.Wrapper_DataTableRowWrapperComponent; + compView_0:import2.AppView; + _NgStyle_0_3:import25.Wrapper_NgStyle; + _DataTableRowWrapperComponent_0_4:import26.Wrapper_DataTableRowWrapperComponent; _text_1:any; _el_2:any; - /*private*/ _appEl_2:import6.AppElement; - _DataTableBodyRowComponent_2_4:import27.Wrapper_DataTableBodyRowComponent; + compView_2:import2.AppView; + _DataTableBodyRowComponent_2_3:import28.Wrapper_DataTableBodyRowComponent; _text_3:any; _text_4:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyComponent3,renderType_DataTableBodyComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'datatable-row-wrapper',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = import26.viewFactory_DataTableRowWrapperComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._NgStyle_0_4 = new import25.Wrapper_NgStyle(this.parent.parent.parentInjector.get(import28.KeyValueDiffers),new import9.ElementRef(this._el_0),this.renderer); - this._DataTableRowWrapperComponent_0_5 = new import26.Wrapper_DataTableRowWrapperComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableRowWrapperComponent_0_5.context,([] as any[]),compView_0); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + super(View_DataTableBodyComponent3,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-row-wrapper',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_0 = new import26.View_DataTableRowWrapperComponent0(this.viewUtils,this,0,this._el_0); + this._NgStyle_0_3 = new import25.Wrapper_NgStyle(this.parentView.parentView.parentView.injectorGet(import29.KeyValueDiffers,this.parentView.parentView.parentIndex),new import9.ElementRef(this._el_0),this.renderer); + this._DataTableRowWrapperComponent_0_4 = new import26.Wrapper_DataTableRowWrapperComponent(new import9.ElementRef(this._el_0),this.renderer); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - this._el_2 = import2.createRenderElement(this.renderer,(null as any),'datatable-body-row',new import2.InlineArray2(2,'tabindex','-1'),(null as any)); - this._appEl_2 = new import6.AppElement(2,0,this,this._el_2); - var compView_2:any = import27.viewFactory_DataTableBodyRowComponent0(this.viewUtils,this.injector(2),this._appEl_2); - this._DataTableBodyRowComponent_2_4 = new import27.Wrapper_DataTableBodyRowComponent(new import9.ElementRef(this._el_2),this.renderer); - this._appEl_2.initComponent(this._DataTableBodyRowComponent_2_4.context,([] as any[]),compView_2); + this._el_2 = import3.createRenderElement(this.renderer,(null as any),'datatable-body-row',new import3.InlineArray2(2,'tabindex','-1'),(null as any)); + this.compView_2 = new import28.View_DataTableBodyRowComponent0(this.viewUtils,this,2,this._el_2); + this._DataTableBodyRowComponent_2_3 = new import28.Wrapper_DataTableBodyRowComponent(new import9.ElementRef(this._el_2),this.renderer); this._text_3 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_2.create(this._DataTableBodyRowComponent_2_4.context,([] as any[]),(null as any)); + this.compView_2.create(this._DataTableBodyRowComponent_2_3.context); this._text_4 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_0.create(this._DataTableRowWrapperComponent_0_5.context,[([] as any[]).concat([ - this._text_1, - this._el_2, - this._text_4 - ] - )],(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_2,'activate',this.eventHandler(this._handle_activate_2_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_2,'keydown',this.eventHandler(this._handle_keydown_2_1.bind(this))); - const subscription_0:any = this._DataTableBodyRowComponent_2_4.context.activate.subscribe(this.eventHandler(this._handle_activate_2_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + this.compView_0.create(this._DataTableRowWrapperComponent_0_4.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_2,new import3.InlineArray4(4,'activate',(null as any),'keydown',(null as any)),this.eventHandler(this.handleEvent_2)); + this._DataTableBodyRowComponent_2_3.subscribe(this,this.eventHandler(this.handleEvent_2),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1, this._el_2, this._text_3, this._text_4 ] - ,[ - disposable_0, - disposable_1 - ] - ,[subscription_0]); + ),[disposable_0]); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import29.DataTableBodyRowComponent) && ((2 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._DataTableBodyRowComponent_2_4.context; } - if (((token === import30.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._NgStyle_0_4.context; } - if (((token === import31.DataTableRowWrapperComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._DataTableRowWrapperComponent_0_5.context; } + if (((token === import27.DataTableBodyRowComponent) && ((2 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._DataTableBodyRowComponent_2_3.context; } + if (((token === import30.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._NgStyle_0_3.context; } + if (((token === import24.DataTableRowWrapperComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 4)))) { return this._DataTableRowWrapperComponent_0_4.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parent.parent.context.getRowsStyles(this.context.$implicit); - this._NgStyle_0_4.check_ngStyle(currVal_0_0_0,throwOnChange,false); - this._NgStyle_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange); - const currVal_0_1_0:any = this.parent.parent.context.rowDetailTemplate; - this._DataTableRowWrapperComponent_0_5.check_rowDetailTemplate(currVal_0_1_0,throwOnChange,false); - const currVal_0_1_1:any = this.parent.parent.context.detailRowHeight; - this._DataTableRowWrapperComponent_0_5.check_detailRowHeight(currVal_0_1_1,throwOnChange,false); + const currVal_0_0_0:any = this.parentView.parentView.context.getRowsStyles(this.context.$implicit); + this._NgStyle_0_3.check_ngStyle(currVal_0_0_0,throwOnChange,false); + this._NgStyle_0_3.ngDoCheck(this,this._el_0,throwOnChange); + const currVal_0_1_0:any = this.parentView.parentView.context.rowDetailTemplate; + this._DataTableRowWrapperComponent_0_4.check_rowDetailTemplate(currVal_0_1_0,throwOnChange,false); + const currVal_0_1_1:any = this.parentView.parentView.context.detailRowHeight; + this._DataTableRowWrapperComponent_0_4.check_detailRowHeight(currVal_0_1_1,throwOnChange,false); const currVal_0_1_2:any = (this.context.$implicit.$$expanded === 1); - this._DataTableRowWrapperComponent_0_5.check_expanded(currVal_0_1_2,throwOnChange,false); + this._DataTableRowWrapperComponent_0_4.check_expanded(currVal_0_1_2,throwOnChange,false); const currVal_0_1_3:any = this.context.$implicit; - this._DataTableRowWrapperComponent_0_5.check_row(currVal_0_1_3,throwOnChange,false); - if (this._DataTableRowWrapperComponent_0_5.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - const currVal_2_0_0:any = this.parent.parent.context.columns; - this._DataTableBodyRowComponent_2_4.check_columns(currVal_2_0_0,throwOnChange,false); - const currVal_2_0_1:any = this.parent.parent.context.innerWidth; - this._DataTableBodyRowComponent_2_4.check_innerWidth(currVal_2_0_1,throwOnChange,false); + this._DataTableRowWrapperComponent_0_4.check_row(currVal_0_1_3,throwOnChange,false); + if (this._DataTableRowWrapperComponent_0_4.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + const currVal_2_0_0:any = this.parentView.parentView.context.columns; + this._DataTableBodyRowComponent_2_3.check_columns(currVal_2_0_0,throwOnChange,false); + const currVal_2_0_1:any = this.parentView.parentView.context.innerWidth; + this._DataTableBodyRowComponent_2_3.check_innerWidth(currVal_2_0_1,throwOnChange,false); const currVal_2_0_2:any = this.context.$implicit; - this._DataTableBodyRowComponent_2_4.check_row(currVal_2_0_2,throwOnChange,false); - const currVal_2_0_3:any = this.parent.parent.context.offsetX; - this._DataTableBodyRowComponent_2_4.check_offsetX(currVal_2_0_3,throwOnChange,false); - const currVal_2_0_4:any = this.parent.parent.context.rowHeight; - this._DataTableBodyRowComponent_2_4.check_rowHeight(currVal_2_0_4,throwOnChange,false); - const currVal_2_0_5:any = (<_View_DataTableBodyComponent0>this.parent.parent)._DataTableSelectionComponent_1_4.context.getRowSelected(this.context.$implicit); - this._DataTableBodyRowComponent_2_4.check_isSelected(currVal_2_0_5,throwOnChange,false); - if (this._DataTableBodyRowComponent_2_4.detectChangesInInputProps(this,this._el_2,throwOnChange)) { this._appEl_2.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._NgStyle_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this._DataTableRowWrapperComponent_0_5.detectChangesInHostProps(this,this._el_0,throwOnChange); - this._DataTableBodyRowComponent_2_4.detectChangesInHostProps(this,this._el_2,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); - } - private _handle_activate_2_0($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_2_0:any = (((<_View_DataTableBodyComponent0>this.parent.parent)._DataTableSelectionComponent_1_4.context.onActivate($event,this.context.index)) !== false); - return (true && pd_2_0); + this._DataTableBodyRowComponent_2_3.check_row(currVal_2_0_2,throwOnChange,false); + const currVal_2_0_3:any = this.parentView.parentView.context.offsetX; + this._DataTableBodyRowComponent_2_3.check_offsetX(currVal_2_0_3,throwOnChange,false); + const currVal_2_0_4:any = this.parentView.parentView.context.rowHeight; + this._DataTableBodyRowComponent_2_3.check_rowHeight(currVal_2_0_4,throwOnChange,false); + const currVal_2_0_5:any = (this.parentView.parentView)._DataTableSelectionComponent_1_3.context.getRowSelected(this.context.$implicit); + this._DataTableBodyRowComponent_2_3.check_isSelected(currVal_2_0_5,throwOnChange,false); + if (this._DataTableBodyRowComponent_2_3.ngDoCheck(this,this._el_2,throwOnChange)) { this.compView_2.markAsCheckOnce(); } + this._DataTableBodyRowComponent_2_3.checkHost(this,this.compView_2,this._el_2,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + this.compView_2.detectChanges(throwOnChange); } - private _handle_keydown_2_1($event:any):boolean { - this._appEl_2.componentView.markPathToRootAsCheckOnce(); - const pd_2_0:any = ((this._DataTableBodyRowComponent_2_4.context.onKeyDown($event)) !== false); - return (true && pd_2_0); + destroyInternal():void { + this.compView_0.destroy(); + this.compView_2.destroy(); + this._DataTableBodyRowComponent_2_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 0) && (ngContentIndex == 0))) { + cb(this._text_1,ctx); + cb(this._el_2,ctx); + cb(this._text_4,ctx); + } + } + handleEvent_2(eventName:string,$event:any):boolean { + this.compView_2.markPathToRootAsCheckOnce(); + var result:boolean = true; + result = (this._DataTableBodyRowComponent_2_3.handleEvent(eventName,$event) && result); + if ((eventName == 'activate')) { + const pd_sub_0:any = (((this.parentView.parentView)._DataTableSelectionComponent_1_3.context.onActivate($event,this.context.index)) !== false); + result = (pd_sub_0 && result); + } + return result; } } -function viewFactory_DataTableBodyComponent3(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyComponent3(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableBodyComponent4 extends import3.AppView { +class View_DataTableBodyComponent4 extends import2.AppView { _el_0:any; _text_1:any; /*private*/ _expr_2:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableBodyComponent4,renderType_DataTableBodyComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import13.ViewContainer) { + super(View_DataTableBodyComponent4,renderType_DataTableBodyComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_2 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'div',new import2.InlineArray2(2,'class','empty-row'),(null as any)); + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',new import3.InlineArray2(2,'class','empty-row'),(null as any)); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this.init(([] as any[]).concat([this._el_0]),[ + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } detectChangesInternal(throwOnChange:boolean):void { - this.detectContentChildrenChanges(throwOnChange); - const currVal_2:any = this.parent.context.emptyMessage; - if (import2.checkBinding(throwOnChange,this._expr_2,currVal_2)) { + const currVal_2:any = this.parentView.context.emptyMessage; + if (import3.checkBinding(throwOnChange,this._expr_2,currVal_2)) { this.renderer.setElementProperty(this._el_0,'innerHTML',this.viewUtils.sanitizer.sanitize(import4.SecurityContext.HTML,currVal_2)); this._expr_2 = currVal_2; } - this.detectViewChildrenChanges(throwOnChange); } -} -function viewFactory_DataTableBodyComponent4(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableBodyComponent4(viewUtils,parentInjector,declarationEl); + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } } \ No newline at end of file diff --git a/release/components/body/progress-bar.component.ngfactory.ts b/release/components/body/progress-bar.component.ngfactory.ts index 105083d21..a15dc4e7d 100644 --- a/release/components/body/progress-bar.component.ngfactory.ts +++ b/release/components/body/progress-bar.component.ngfactory.ts @@ -1,71 +1,80 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/body/progress-bar.component'; import * as import1 from '@angular/core/src/linker/view'; import * as import2 from '@angular/core/src/render/api'; -import * as import3 from '@angular/core/src/linker/element'; -import * as import4 from '@angular/core/src/linker/view_utils'; -import * as import5 from '@angular/core/src/di/injector'; -import * as import6 from '@angular/core/src/linker/view_type'; -import * as import7 from '@angular/core/src/change_detection/change_detection'; -import * as import8 from '@angular/core/src/metadata/view'; -import * as import9 from '@angular/core/src/linker/component_factory'; +import * as import3 from '@angular/core/src/linker/view_utils'; +import * as import4 from '@angular/core/src/metadata/view'; +import * as import5 from '@angular/core/src/linker/view_type'; +import * as import6 from '@angular/core/src/change_detection/change_detection'; +import * as import7 from '@angular/core/src/linker/component_factory'; export class Wrapper_ProgressBarComponent { + /*private*/ _eventHandler:Function; context:import0.ProgressBarComponent; - changed:boolean; + /*private*/ _changed:boolean; constructor() { - this.changed = false; + this._changed = false; this.context = new import0.ProgressBarComponent(); } - detectChangesInInputProps(view:import1.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngOnDetach(view:import1.AppView,componentView:import1.AppView,el:any):void { + } + ngOnDestroy():void { + } + ngDoCheck(view:import1.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import1.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import1.AppView,componentView:import1.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import1.AppView,_eventHandler:any):void { + this._eventHandler = _eventHandler; } } -var renderType_ProgressBarComponent_Host:import2.RenderComponentType = (null as any); -class _View_ProgressBarComponent_Host0 extends import1.AppView { +var renderType_ProgressBarComponent_Host:import2.RenderComponentType = import3.createRenderComponentType('',0,import4.ViewEncapsulation.None,([] as any[]),{}); +class View_ProgressBarComponent_Host0 extends import1.AppView { _el_0:any; - /*private*/ _appEl_0:import3.AppElement; - _ProgressBarComponent_0_4:Wrapper_ProgressBarComponent; - constructor(viewUtils:import4.ViewUtils,parentInjector:import5.Injector,declarationEl:import3.AppElement) { - super(_View_ProgressBarComponent_Host0,renderType_ProgressBarComponent_Host,import6.ViewType.HOST,viewUtils,parentInjector,declarationEl,import7.ChangeDetectorStatus.CheckAlways); + compView_0:import1.AppView; + _ProgressBarComponent_0_3:Wrapper_ProgressBarComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import1.AppView,parentIndex:number,parentElement:any) { + super(View_ProgressBarComponent_Host0,renderType_ProgressBarComponent_Host,import5.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import6.ChangeDetectorStatus.CheckAlways); } - createInternal(rootSelector:string):import3.AppElement { - this._el_0 = import4.selectOrCreateRenderHostElement(this.renderer,'datatable-progress',import4.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import3.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_ProgressBarComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._ProgressBarComponent_0_4 = new Wrapper_ProgressBarComponent(); - this._appEl_0.initComponent(this._ProgressBarComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._ProgressBarComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + createInternal(rootSelector:string):import7.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-progress',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_ProgressBarComponent0(this.viewUtils,this,0,this._el_0); + this._ProgressBarComponent_0_3 = new Wrapper_ProgressBarComponent(); + this.compView_0.create(this._ProgressBarComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import7.ComponentRef_(0,this,this._el_0,this._ProgressBarComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.ProgressBarComponent) && (0 === requestNodeIndex))) { return this._ProgressBarComponent_0_4.context; } + if (((token === import0.ProgressBarComponent) && (0 === requestNodeIndex))) { return this._ProgressBarComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._ProgressBarComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._ProgressBarComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._ProgressBarComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_ProgressBarComponent_Host0(viewUtils:import4.ViewUtils,parentInjector:import5.Injector,declarationEl:import3.AppElement):import1.AppView { - if ((renderType_ProgressBarComponent_Host === (null as any))) { (renderType_ProgressBarComponent_Host = viewUtils.createRenderComponentType('',0,import8.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_ProgressBarComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const ProgressBarComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('datatable-progress',viewFactory_ProgressBarComponent_Host0,import0.ProgressBarComponent); +export const ProgressBarComponentNgFactory:import7.ComponentFactory = new import7.ComponentFactory('datatable-progress',View_ProgressBarComponent_Host0,import0.ProgressBarComponent); const styles_ProgressBarComponent:any[] = ([] as any[]); -var renderType_ProgressBarComponent:import2.RenderComponentType = (null as any); -class _View_ProgressBarComponent0 extends import1.AppView { +var renderType_ProgressBarComponent:import2.RenderComponentType = import3.createRenderComponentType('',0,import4.ViewEncapsulation.None,styles_ProgressBarComponent,{}); +export class View_ProgressBarComponent0 extends import1.AppView { _text_0:any; _el_1:any; _text_2:any; @@ -75,21 +84,21 @@ class _View_ProgressBarComponent0 extends import1.AppView,parentIndex:number,parentElement:any) { + super(View_ProgressBarComponent0,renderType_ProgressBarComponent,import5.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import6.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import3.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import7.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import4.createRenderElement(this.renderer,parentRenderNode,'div',new import4.InlineArray4(4,'class','progress-linear','role','progressbar'),(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray4(4,'class','progress-linear','role','progressbar'),(null as any)); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_3 = import4.createRenderElement(this.renderer,this._el_1,'div',new import4.InlineArray2(2,'class','container'),(null as any)); + this._el_3 = import3.createRenderElement(this.renderer,this._el_1,'div',new import3.InlineArray2(2,'class','container'),(null as any)); this._text_4 = this.renderer.createText(this._el_3,'\n ',(null as any)); - this._el_5 = import4.createRenderElement(this.renderer,this._el_3,'div',new import4.InlineArray2(2,'class','bar'),(null as any)); + this._el_5 = import3.createRenderElement(this.renderer,this._el_3,'div',new import3.InlineArray2(2,'class','bar'),(null as any)); this._text_6 = this.renderer.createText(this._el_3,'\n ',(null as any)); this._text_7 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_8 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -100,11 +109,7 @@ class _View_ProgressBarComponent0 extends import1.AppView { - if ((renderType_ProgressBarComponent === (null as any))) { (renderType_ProgressBarComponent = viewUtils.createRenderComponentType('',0,import8.ViewEncapsulation.None,styles_ProgressBarComponent,{})); } - return new _View_ProgressBarComponent0(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/body/scroller.component.ngfactory.ts b/release/components/body/scroller.component.ngfactory.ts index 7706c31ce..1463e6b70 100644 --- a/release/components/body/scroller.component.ngfactory.ts +++ b/release/components/body/scroller.component.ngfactory.ts @@ -1,32 +1,33 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/body/scroller.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/security'; import * as import5 from '@angular/core/src/render/api'; -import * as import6 from '@angular/core/src/linker/element'; -import * as import7 from '@angular/core/src/di/injector'; -import * as import8 from '@angular/core/src/linker/view_type'; +import * as import6 from '@angular/core/src/metadata/view'; +import * as import7 from '@angular/core/src/linker/view_type'; +import * as import8 from '@angular/core/src/linker/component_factory'; import * as import9 from '@angular/core/src/linker/element_ref'; -import * as import10 from '@angular/core/src/metadata/view'; -import * as import11 from '@angular/core/src/linker/component_factory'; export class Wrapper_ScrollerComponent { + /*private*/ _eventHandler:Function; context:import0.ScrollerComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; /*private*/ _expr_3:any; /*private*/ _expr_4:any; /*private*/ _expr_5:any; + subscription0:any; constructor(p0:any) { - this.changed = false; + this._changed = false; this.context = new import0.ScrollerComponent(p0); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -35,112 +36,122 @@ export class Wrapper_ScrollerComponent { this._expr_4 = import1.UNINITIALIZED; this._expr_5 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + this.context.ngOnDestroy(); + (this.subscription0 && this.subscription0.unsubscribe()); + } check_scrollbarV(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.scrollbarV = currValue; this._expr_0 = currValue; } } check_scrollbarH(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.scrollbarH = currValue; this._expr_1 = currValue; } } check_scrollHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.scrollHeight = currValue; this._expr_2 = currValue; } } check_scrollWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.scrollWidth = currValue; this._expr_3 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; if (!throwOnChange) { if ((view.numberOfChecks === 0)) { this.context.ngOnInit(); } } return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_4:any = this.context.scrollHeight; - if (import2.checkBinding(throwOnChange,this._expr_4,currVal_4)) { - view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_4) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_4).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_4,currVal_4)) { + view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_4) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_4).toString() + 'px'))); this._expr_4 = currVal_4; } const currVal_5:any = this.context.scrollWidth; - if (import2.checkBinding(throwOnChange,this._expr_5,currVal_5)) { - view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_5) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_5).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_5,currVal_5)) { + view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_5) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_5).toString() + 'px'))); this._expr_5 = currVal_5; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.scroll.subscribe(_eventHandler.bind(view,'scroll'))); } + } } -var renderType_ScrollerComponent_Host:import5.RenderComponentType = (null as any); -class _View_ScrollerComponent_Host0 extends import3.AppView { +var renderType_ScrollerComponent_Host:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,([] as any[]),{}); +class View_ScrollerComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _ScrollerComponent_0_4:Wrapper_ScrollerComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_ScrollerComponent_Host0,renderType_ScrollerComponent_Host,import8.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-scroller',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_ScrollerComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._ScrollerComponent_0_4 = new Wrapper_ScrollerComponent(new import9.ElementRef(this._el_0)); - this._appEl_0.initComponent(this._ScrollerComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._ScrollerComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _ScrollerComponent_0_3:Wrapper_ScrollerComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_ScrollerComponent_Host0,renderType_ScrollerComponent_Host,import7.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-scroller',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_ScrollerComponent0(this.viewUtils,this,0,this._el_0); + this._ScrollerComponent_0_3 = new Wrapper_ScrollerComponent(new import9.ElementRef(this._el_0)); + this.compView_0.create(this._ScrollerComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import8.ComponentRef_(0,this,this._el_0,this._ScrollerComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.ScrollerComponent) && (0 === requestNodeIndex))) { return this._ScrollerComponent_0_4.context; } + if (((token === import0.ScrollerComponent) && (0 === requestNodeIndex))) { return this._ScrollerComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._ScrollerComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._ScrollerComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._ScrollerComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._ScrollerComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); } destroyInternal():void { - this._ScrollerComponent_0_4.context.ngOnDestroy(); + this.compView_0.destroy(); + this._ScrollerComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 0) && (ngContentIndex == 0))) { } } } -function viewFactory_ScrollerComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_ScrollerComponent_Host === (null as any))) { (renderType_ScrollerComponent_Host = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_ScrollerComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const ScrollerComponentNgFactory:import11.ComponentFactory = new import11.ComponentFactory('datatable-scroller',viewFactory_ScrollerComponent_Host0,import0.ScrollerComponent); +export const ScrollerComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-scroller',View_ScrollerComponent_Host0,import0.ScrollerComponent); const styles_ScrollerComponent:any[] = ([] as any[]); -var renderType_ScrollerComponent:import5.RenderComponentType = (null as any); -class _View_ScrollerComponent0 extends import3.AppView { +var renderType_ScrollerComponent:import5.RenderComponentType = import3.createRenderComponentType('',1,import6.ViewEncapsulation.None,styles_ScrollerComponent,{}); +export class View_ScrollerComponent0 extends import2.AppView { _text_0:any; _text_1:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_ScrollerComponent0,renderType_ScrollerComponent,import8.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_ScrollerComponent0,renderType_ScrollerComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import6.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import8.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.renderer.projectNodes(parentRenderNode,import2.flattenNestedViewRenderNodes(this.projectableNodes[0])); + this.projectNodes(parentRenderNode,0); this._text_1 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._text_1 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } -} -export function viewFactory_ScrollerComponent0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_ScrollerComponent === (null as any))) { (renderType_ScrollerComponent = viewUtils.createRenderComponentType('',1,import10.ViewEncapsulation.None,styles_ScrollerComponent,{})); } - return new _View_ScrollerComponent0(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/body/selection.component.ngfactory.ts b/release/components/body/selection.component.ngfactory.ts index 76de93458..8a7ffcbd8 100644 --- a/release/components/body/selection.component.ngfactory.ts +++ b/release/components/body/selection.component.ngfactory.ts @@ -1,30 +1,32 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/body/selection.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/render/api'; -import * as import5 from '@angular/core/src/linker/element'; -import * as import6 from '@angular/core/src/di/injector'; -import * as import7 from '@angular/core/src/linker/view_type'; -import * as import8 from '@angular/core/src/metadata/view'; -import * as import9 from '@angular/core/src/linker/component_factory'; +import * as import5 from '@angular/core/src/metadata/view'; +import * as import6 from '@angular/core/src/linker/view_type'; +import * as import7 from '@angular/core/src/linker/component_factory'; export class Wrapper_DataTableSelectionComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableSelectionComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; /*private*/ _expr_3:any; /*private*/ _expr_4:any; /*private*/ _expr_5:any; + subscription0:any; + subscription1:any; constructor() { - this.changed = false; + this._changed = false; this.context = new import0.DataTableSelectionComponent(); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -33,112 +35,125 @@ export class Wrapper_DataTableSelectionComponent { this._expr_4 = import1.UNINITIALIZED; this._expr_5 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + (this.subscription1 && this.subscription1.unsubscribe()); + } check_rows(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.rows = currValue; this._expr_0 = currValue; } } check_selected(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.selected = currValue; this._expr_1 = currValue; } } check_selectEnabled(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.selectEnabled = currValue; this._expr_2 = currValue; } } check_selectionType(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.selectionType = currValue; this._expr_3 = currValue; } } check_rowIdentity(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.rowIdentity = currValue; this._expr_4 = currValue; } } check_selectCheck(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.selectCheck = currValue; this._expr_5 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean,emit1:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.activate.subscribe(_eventHandler.bind(view,'activate'))); } + if (emit1) { (this.subscription1 = this.context.select.subscribe(_eventHandler.bind(view,'select'))); } } } -var renderType_DataTableSelectionComponent_Host:import4.RenderComponentType = (null as any); -class _View_DataTableSelectionComponent_Host0 extends import3.AppView { +var renderType_DataTableSelectionComponent_Host:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableSelectionComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import5.AppElement; - _DataTableSelectionComponent_0_4:Wrapper_DataTableSelectionComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableSelectionComponent_Host0,renderType_DataTableSelectionComponent_Host,import7.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-selection',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableSelectionComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableSelectionComponent_0_4 = new Wrapper_DataTableSelectionComponent(); - this._appEl_0.initComponent(this._DataTableSelectionComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableSelectionComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTableSelectionComponent_0_3:Wrapper_DataTableSelectionComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableSelectionComponent_Host0,renderType_DataTableSelectionComponent_Host,import6.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import7.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-selection',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableSelectionComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableSelectionComponent_0_3 = new Wrapper_DataTableSelectionComponent(); + this.compView_0.create(this._DataTableSelectionComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import7.ComponentRef_(0,this,this._el_0,this._DataTableSelectionComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableSelectionComponent) && (0 === requestNodeIndex))) { return this._DataTableSelectionComponent_0_4.context; } + if (((token === import0.DataTableSelectionComponent) && (0 === requestNodeIndex))) { return this._DataTableSelectionComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableSelectionComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableSelectionComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTableSelectionComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableSelectionComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + visitProjectableNodesInternal(nodeIndex:number,ngContentIndex:number,cb:any,ctx:any):void { + if (((nodeIndex == 0) && (ngContentIndex == 0))) { } } } -function viewFactory_DataTableSelectionComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTableSelectionComponent_Host === (null as any))) { (renderType_DataTableSelectionComponent_Host = viewUtils.createRenderComponentType('',0,import8.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableSelectionComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableSelectionComponentNgFactory:import9.ComponentFactory = new import9.ComponentFactory('datatable-selection',viewFactory_DataTableSelectionComponent_Host0,import0.DataTableSelectionComponent); +export const DataTableSelectionComponentNgFactory:import7.ComponentFactory = new import7.ComponentFactory('datatable-selection',View_DataTableSelectionComponent_Host0,import0.DataTableSelectionComponent); const styles_DataTableSelectionComponent:any[] = ([] as any[]); -var renderType_DataTableSelectionComponent:import4.RenderComponentType = (null as any); -class _View_DataTableSelectionComponent0 extends import3.AppView { +var renderType_DataTableSelectionComponent:import4.RenderComponentType = import3.createRenderComponentType('',1,import5.ViewEncapsulation.None,styles_DataTableSelectionComponent,{}); +export class View_DataTableSelectionComponent0 extends import2.AppView { _text_0:any; _text_1:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableSelectionComponent0,renderType_DataTableSelectionComponent,import7.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableSelectionComponent0,renderType_DataTableSelectionComponent,import6.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import5.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import7.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.renderer.projectNodes(parentRenderNode,import2.flattenNestedViewRenderNodes(this.projectableNodes[0])); + this.projectNodes(parentRenderNode,0); this._text_1 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._text_1 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } -} -export function viewFactory_DataTableSelectionComponent0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTableSelectionComponent === (null as any))) { (renderType_DataTableSelectionComponent = viewUtils.createRenderComponentType('',1,import8.ViewEncapsulation.None,styles_DataTableSelectionComponent,{})); } - return new _View_DataTableSelectionComponent0(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/column.directive.ngfactory.ts b/release/components/column.directive.ngfactory.ts index bae3428d6..8308e408c 100644 --- a/release/components/column.directive.ngfactory.ts +++ b/release/components/column.directive.ngfactory.ts @@ -1,16 +1,18 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../src/components/column.directive'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; export class Wrapper_DataTableColumnDirective { + /*private*/ _eventHandler:Function; context:import0.DataTableColumnDirective; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -26,7 +28,7 @@ export class Wrapper_DataTableColumnDirective { /*private*/ _expr_12:any; /*private*/ _expr_13:any; constructor() { - this.changed = false; + this._changed = false; this.context = new import0.DataTableColumnDirective(); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -43,109 +45,120 @@ export class Wrapper_DataTableColumnDirective { this._expr_12 = import1.UNINITIALIZED; this._expr_13 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + } check_name(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.name = currValue; this._expr_0 = currValue; } } check_prop(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.prop = currValue; this._expr_1 = currValue; } } check_frozenLeft(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.frozenLeft = currValue; this._expr_2 = currValue; } } check_frozenRight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.frozenRight = currValue; this._expr_3 = currValue; } } check_flexGrow(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.flexGrow = currValue; this._expr_4 = currValue; } } check_resizeable(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.resizeable = currValue; this._expr_5 = currValue; } } check_comparator(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_6,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_6,currValue))) { + this._changed = true; this.context.comparator = currValue; this._expr_6 = currValue; } } check_pipe(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_7,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_7,currValue))) { + this._changed = true; this.context.pipe = currValue; this._expr_7 = currValue; } } check_sortable(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_8,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_8,currValue))) { + this._changed = true; this.context.sortable = currValue; this._expr_8 = currValue; } } check_draggable(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_9,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_9,currValue))) { + this._changed = true; this.context.draggable = currValue; this._expr_9 = currValue; } } check_canAutoResize(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_10,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_10,currValue))) { + this._changed = true; this.context.canAutoResize = currValue; this._expr_10 = currValue; } } check_minWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_11,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_11,currValue))) { + this._changed = true; this.context.minWidth = currValue; this._expr_11 = currValue; } } check_width(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_12,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_12,currValue))) { + this._changed = true; this.context.width = currValue; this._expr_12 = currValue; } } check_maxWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_13,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_13,currValue))) { + this._changed = true; this.context.maxWidth = currValue; this._expr_13 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any):void { + this._eventHandler = _eventHandler; } } \ No newline at end of file diff --git a/release/components/datatable.component.d.ts b/release/components/datatable.component.d.ts index 5f8e1f661..be7f222d8 100644 --- a/release/components/datatable.component.d.ts +++ b/release/components/datatable.component.d.ts @@ -1,9 +1,10 @@ -import { ElementRef, EventEmitter, OnInit, QueryList, AfterViewInit, Renderer, TemplateRef } from '@angular/core'; +import { ElementRef, EventEmitter, OnInit, QueryList, AfterViewInit, Renderer, TemplateRef, ChangeDetectorRef } from '@angular/core'; import { ColumnMode, SortType, SelectionType } from '../types'; import { DataTableColumnDirective } from './column.directive'; import { DatatableRowDetailDirective } from './row-detail.directive'; export declare class DatatableComponent implements OnInit, AfterViewInit { - rows: any[]; + private cdr; + rows: any; columns: any[]; selected: any[]; scrollbarV: boolean; @@ -55,7 +56,7 @@ export declare class DatatableComponent implements OnInit, AfterViewInit { private _columns; private _columnTemplates; private _rowDetailTemplateChild; - constructor(renderer: Renderer, element: ElementRef); + constructor(renderer: Renderer, element: ElementRef, cdr: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; /** diff --git a/release/components/datatable.component.js b/release/components/datatable.component.js index 0d9a3384b..6c6c4e987 100644 --- a/release/components/datatable.component.js +++ b/release/components/datatable.component.js @@ -1,5 +1,6 @@ "use strict"; var core_1 = require('@angular/core'); +var Rx_1 = require('rxjs/Rx'); var utils_1 = require('../utils'); var types_1 = require('../types'); var body_1 = require('./body'); @@ -7,7 +8,8 @@ var column_directive_1 = require('./column.directive'); var row_detail_directive_1 = require('./row-detail.directive'); var utils_2 = require('../utils'); var DatatableComponent = (function () { - function DatatableComponent(renderer, element) { + function DatatableComponent(renderer, element, cdr) { + this.cdr = cdr; // Enable vertical scrollbars this.scrollbarV = false; // Enable horz scrollbars @@ -84,11 +86,25 @@ var DatatableComponent = (function () { }, // Rows set: function (val) { - if (!this.externalSorting) { - val = utils_1.sortRows(val, this.columns, this.sorts); + var _this = this; + // if a observable was passed, lets convert to array + if (val instanceof Rx_1.Observable) { + val.concatMap(function (v) { return v; }) + .toArray() + .subscribe(function (r) { + _this.rows = r; + _this.cdr.markForCheck(); + }); + } + else { + // auto sort on new updates + if (!this.externalSorting) { + val = utils_1.sortRows(val, this.columns, this.sorts); + } + this._rows = val; + // recalculate sizes/etc + this.recalculate(); } - this._rows = val; - this.recalculate(); }, enumerable: true, configurable: true @@ -346,6 +362,7 @@ var DatatableComponent = (function () { DatatableComponent.ctorParameters = [ { type: core_1.Renderer, }, { type: core_1.ElementRef, }, + { type: core_1.ChangeDetectorRef, }, ]; DatatableComponent.propDecorators = { 'rows': [{ type: core_1.Input },], diff --git a/release/components/datatable.component.js.map b/release/components/datatable.component.js.map index 673e5e312..e4acf641d 100644 --- a/release/components/datatable.component.js.map +++ b/release/components/datatable.component.js.map @@ -1 +1 @@ -{"version":3,"file":"datatable.component.js","sourceRoot":"","sources":["../../src/components/datatable.component.ts"],"names":[],"mappings":";AAAA,qBAIO,eAAe,CAAC,CAAA;AAEvB,sBAAoE,UAAU,CAAC,CAAA;AAC/E,sBAAoD,UAAU,CAAC,CAAA;AAC/D,qBAAuC,QAAQ,CAAC,CAAA;AAChD,iCAAyC,oBAAoB,CAAC,CAAA;AAC9D,qCAA4C,wBAAwB,CAAC,CAAA;AACrE,sBAAsE,UAAU,CAAC,CAAA;AAGjF;IAmNE,4BAAY,QAAkB,EAAE,OAAmB;QAlLnD,6BAA6B;QAC5B,eAAU,GAAY,KAAK,CAAC;QAE7B,yBAAyB;QACxB,eAAU,GAAY,KAAK,CAAC;QAE7B,qCAAqC;QACrC,kDAAkD;QACjD,cAAS,GAAW,EAAE,CAAC;QAExB,+EAA+E;QAC9E,oBAAe,GAAW,CAAC,CAAC;QAE7B,qCAAqC;QACrC,iCAAiC;QAChC,eAAU,GAAe,kBAAU,CAAC,QAAQ,CAAC;QAE9C,uCAAuC;QACvC,4BAA4B;QAC5B,0CAA0C;QACzC,iBAAY,GAAQ,EAAE,CAAC;QAExB,uCAAuC;QACvC,4BAA4B;QAC3B,iBAAY,GAAW,CAAC,CAAC;QAE1B,kCAAkC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAEjC,mCAAmC;QAClC,oBAAe,GAAY,KAAK,CAAC;QAElC,YAAY;QACX,UAAK,GAAW,SAAS,CAAC;QAE3B,cAAc;QACb,UAAK,GAAW,CAAC,CAAC;QAEnB,cAAc;QACb,WAAM,GAAW,CAAC,CAAC;QAEpB,oBAAoB;QACnB,qBAAgB,GAAY,KAAK,CAAC;QAKnC,6BAA6B;QAC5B,gBAAW,GAAY,IAAI,CAAC;QAE7B,kBAAkB;QACjB,aAAQ,GAAa,gBAAQ,CAAC,MAAM,CAAC;QAEtC,QAAQ;QACP,UAAK,GAAU,EAAE,CAAC;QAKnB,sBAAsB;QACrB,eAAU,GAAQ;YACjB,aAAa,EAAE,WAAW;YAC1B,cAAc,EAAE,SAAS;YACzB,cAAc,EAAE,WAAW;YAC3B,eAAe,EAAE,YAAY;YAC7B,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,WAAW;SACvB,CAAC;QAEF,qCAAqC;QACpC,aAAQ,GAAQ;YAEf,0CAA0C;YAC1C,yBAAyB;YACzB,YAAY,EAAE,oBAAoB;YAElC,uBAAuB;YACvB,YAAY,EAAE,OAAO;SAEtB,CAAC;QAEF,uDAAuD;QACvD,gEAAgE;QAChE,2CAA2C;QAC1C,gBAAW,GAAQ,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,EAAD,CAAC,CAAC,CAAC;QAW9B,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC/C,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC/C,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC7C,SAAI,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC7C,iBAAY,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACrD,YAAO,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAChD,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QA4DhD,YAAO,GAAW,CAAC,CAAC;QAiBlB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAnNA,sBAAI,oCAAI;aAST;YACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAZD,OAAO;aACN,UAAS,GAAU;YAClB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC1B,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;;;OAAA;IAOA,sBAAI,uCAAO;aASZ;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAZD,UAAU;aACT,UAAY,GAAU;YACrB,EAAE,CAAA,CAAC,GAAG,CAAC,CAAC,CAAC;gBACP,yBAAiB,CAAC,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB,CAAC;;;OAAA;IAkHD,sBAAI,6CAAa;aAAjB;YACE,IAAM,YAAY,GAAkB,IAAI,CAAC,YAAY,CAAC;YACtD,MAAM,CAAC,CAAC,OAAO,YAAY,KAAK,QAAQ,CAAC;gBAC9B,YAAa,KAAK,MAAM,GAAG,IAAI,CAAC;QAC7C,CAAC;;;OAAA;IAGD,sBAAI,0CAAU;aAAd;YACE,IAAM,SAAS,GAAkB,IAAI,CAAC,SAAS,CAAC;YAChD,MAAM,CAAC,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC;gBAC3B,SAAU,KAAK,MAAM,GAAG,IAAI,CAAC;QAC1C,CAAC;;;OAAA;IAGD,sBAAI,4CAAY;aAAhB;YACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IAGD,sBAAI,2CAAW;aAAf;YACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IAGD,sBAAI,4CAAY;aAAhB;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC;QAC1C,CAAC;;;OAAA;IAGD,sBAAI,+CAAe;aAcnB;YACE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;aAhBD,UAAoB,GAAwC;YAC1D,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;YAE5B,EAAE,CAAA,CAAC,GAAG,CAAC,CAAC,CAAC;gBACP,6CAA6C;gBAC7C,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;gBAE1B,EAAE,CAAA,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBACd,mCAAmC;oBACnC,IAAI,CAAC,OAAO,GAAG,0BAAkB,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;;;OAAA;IAOD,sBAAI,sDAAsB;aAK1B;YACE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC;QACtC,CAAC;aAPD,UAA2B,GAAgC;YACzD,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;YACnC,EAAE,CAAA,CAAC,GAAG,CAAC;gBAAC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;QACzD,CAAC;;;OAAA;IA2BD,qCAAQ,GAAR;QACE,uCAAuC;QACvC,wCAAwC;QACxC,6CAA6C;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,4CAAe,GAAf;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,4CAAe,GAAf,UAAgB,GAAQ;QACtB,iCAAiC;QACjC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,0CAAa,GAAb;QACE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,4CAAe,GAAf;QACE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAGD,wCAAW,GAAX;QACE,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,+CAAkB,GAAlB,UAAmB,OAA6B,EAAE,QAAiB;QAAhD,uBAA6B,GAA7B,UAAiB,IAAI,CAAC,OAAO;QAC9C,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAAC,MAAM,CAAC;QAErB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,KAAK,GAAG,KAAK,GAAG,sBAAc,CAAC;QACjC,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,kBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,6BAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,kBAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,0BAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,4CAAe,GAAf;QACE,IAAA,yCAA4D,EAAtD,kBAAM,EAAE,gBAAK,CAA0C;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3D,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,uCAAU,GAAV,UAAW,EAAU;YAAR,kBAAM;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,yCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,yCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,yCAAY,GAAZ,UAAa,GAAsB;QAAtB,mBAAsB,GAAtB,MAAa,IAAI,CAAC,IAAI;QACjC,iEAAiE;QACjE,uEAAuE;QACvE,iEAAiE;QACjE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAExE,oCAAoC;QACpC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhD,2BAA2B;QAC3B,EAAE,CAAA,CAAC,GAAG,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAE1B,iBAAiB;QACjB,MAAM,CAAC,CAAC,CAAC;IACX,CAAC;IAED,yCAAY,GAAZ,UAAa,GAAsB;QAAtB,mBAAsB,GAAtB,MAAa,IAAI,CAAC,IAAI;QACjC,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACxB,EAAE,CAAA,CAAC,CAAC,GAAG,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,2CAAc,GAAd,UAAe,EAAoB;YAAlB,kBAAM,EAAE,sBAAQ;QAC/B,IAAI,GAAG,CAAC;QACR,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;YAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAEzB,EAAE,CAAA,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1B,GAAG,GAAG,CAAC,CAAC;gBACR,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAEnB,sCAAsC;gBACtC,yCAAyC;gBACzC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC1B,CAAC;YAED,MAAM,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,cAAM;YACN,kBAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,4CAAe,GAAf,UAAgB,EAA+B;YAA7B,kBAAM,EAAE,sBAAQ,EAAE,wBAAS;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,cAAM;YACN,kBAAQ;YACR,oBAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,yCAAY,GAAZ,UAAa,KAAK;QACR,uBAAK,CAAW;QAExB,sDAAsD;QACtD,4CAA4C;QAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG,gBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEI,6BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,0rEA4DT;oBACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;iBAChD,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,iCAAc,GAA6D;QAClF,EAAC,IAAI,EAAE,eAAQ,GAAG;QAClB,EAAC,IAAI,EAAE,iBAAU,GAAG;KACnB,CAAC;IACK,iCAAc,GAA2C;QAChE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC1B,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC7B,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC9B,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAChC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAChC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC/B,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACrC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAChC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAClC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAClC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACpC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACrC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC3B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC5B,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACtC,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACnC,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACjC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC9B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC3B,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACvC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAChC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QAC9B,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACjC,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACjC,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,YAAK,EAAE,EAAE;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QAC7B,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QAC7B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QAC3B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QAC3B,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QACnC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QAC9B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAM,EAAE,EAAE;QAC7B,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAW,EAAE,IAAI,EAAE,CAAC,oBAAoB,EAAG,EAAE,EAAE;QACzE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAW,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAG,EAAE,EAAE;QACnE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAW,EAAE,IAAI,EAAE,CAAC,uBAAuB,EAAG,EAAE,EAAE;QAC3E,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAW,EAAE,IAAI,EAAE,CAAC,mBAAmB,EAAG,EAAE,EAAE;QACtE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAW,EAAE,IAAI,EAAE,CAAC,kBAAkB,EAAG,EAAE,EAAE;QACtE,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAe,EAAE,IAAI,EAAE,CAAC,2CAAwB,EAAG,EAAE,EAAE;QACnF,wBAAwB,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAY,EAAE,IAAI,EAAE,CAAC,kDAA2B,EAAG,EAAE,EAAE;QAC1F,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC,6BAAsB,EAAG,EAAE,EAAE;QACzE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAY,EAAE,IAAI,EAAE,CAAC,eAAe,EAAG,EAAE,EAAE;KAClE,CAAC;IACF,yBAAC;AAAD,CAAC,AAlgBD,IAkgBC;AAlgBY,0BAAkB,qBAkgB9B,CAAA"} \ No newline at end of file +{"version":3,"file":"datatable.component.js","sourceRoot":"","sources":["../../src/components/datatable.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/release/components/datatable.component.metadata.json b/release/components/datatable.component.metadata.json index 2baf57100..cdcc73879 100644 --- a/release/components/datatable.component.metadata.json +++ b/release/components/datatable.component.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":1,"metadata":{"DatatableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable","template":"\n \n \n \n \n \n \n \n \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"}}]}],"members":{"rows":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scrollbarV":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scrollbarH":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"detailRowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"columnMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"headerHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"footerHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"externalPaging":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"externalSorting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"limit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"count":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"offset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"loadingIndicator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectionType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"reorderable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sortType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sorts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowDetailTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"messages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowIdentity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectCheck":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"trackByProp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"sort":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"detailToggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"reorder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"resize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"isFixedHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.fixed-header"]}]}],"isFixedRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.fixed-row"]}]}],"isVertScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.scroll-vertical"]}]}],"isHorScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.scroll-horz"]}]}],"isSelectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.selectable"]}]}],"columnTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","module":"./column.directive","name":"DataTableColumnDirective"}]}]}],"rowDetailTemplateChild":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","module":"./row-detail.directive","name":"DatatableRowDetailDirective"}]}]}],"bodyComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":[{"__symbolic":"reference","module":"./body","name":"DataTableBodyComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"toggleExpandRow":[{"__symbolic":"method"}],"expandAllRows":[{"__symbolic":"method"}],"collapseAllRows":[{"__symbolic":"method"}],"recalculate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["window:resize"]}]}],"recalculateColumns":[{"__symbolic":"method"}],"recalculateDims":[{"__symbolic":"method"}],"onBodyPage":[{"__symbolic":"method"}],"onBodyScroll":[{"__symbolic":"method"}],"onFooterPage":[{"__symbolic":"method"}],"calcPageSize":[{"__symbolic":"method"}],"calcRowCount":[{"__symbolic":"method"}],"onColumnResize":[{"__symbolic":"method"}],"onColumnReorder":[{"__symbolic":"method"}],"onColumnSort":[{"__symbolic":"method"}]}}}} \ No newline at end of file +{"__symbolic":"module","version":1,"metadata":{"DatatableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"datatable","template":"\n \n \n \n \n \n \n \n \n ","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"}}]}],"members":{"rows":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scrollbarV":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scrollbarH":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"detailRowHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"columnMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"headerHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"footerHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"externalPaging":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"externalSorting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"limit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"count":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"offset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"loadingIndicator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectionType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"reorderable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sortType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"sorts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowDetailTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"messages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rowIdentity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"selectCheck":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"trackByProp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"sort":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"page":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"detailToggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"reorder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"resize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"isFixedHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.fixed-header"]}]}],"isFixedRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.fixed-row"]}]}],"isVertScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.scroll-vertical"]}]}],"isHorScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.scroll-horz"]}]}],"isSelectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.selectable"]}]}],"columnTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","module":"./column.directive","name":"DataTableColumnDirective"}]}]}],"rowDetailTemplateChild":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","module":"./row-detail.directive","name":"DatatableRowDetailDirective"}]}]}],"bodyComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":[{"__symbolic":"reference","module":"./body","name":"DataTableBodyComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"toggleExpandRow":[{"__symbolic":"method"}],"expandAllRows":[{"__symbolic":"method"}],"collapseAllRows":[{"__symbolic":"method"}],"recalculate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["window:resize"]}]}],"recalculateColumns":[{"__symbolic":"method"}],"recalculateDims":[{"__symbolic":"method"}],"onBodyPage":[{"__symbolic":"method"}],"onBodyScroll":[{"__symbolic":"method"}],"onFooterPage":[{"__symbolic":"method"}],"calcPageSize":[{"__symbolic":"method"}],"calcRowCount":[{"__symbolic":"method"}],"onColumnResize":[{"__symbolic":"method"}],"onColumnReorder":[{"__symbolic":"method"}],"onColumnSort":[{"__symbolic":"method"}]}}}} \ No newline at end of file diff --git a/release/components/datatable.component.ngfactory.ts b/release/components/datatable.component.ngfactory.ts index 799c4df93..c03fa0644 100644 --- a/release/components/datatable.component.ngfactory.ts +++ b/release/components/datatable.component.ngfactory.ts @@ -1,36 +1,37 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../src/components/datatable.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/render/api'; -import * as import5 from '@angular/core/src/linker/element'; +import * as import5 from '@angular/core/src/metadata/view'; import * as import6 from '@angular/core/src/linker/query_list'; -import * as import7 from '@angular/core/src/di/injector'; -import * as import8 from '@angular/core/src/linker/view_type'; +import * as import7 from '@angular/core/src/linker/view_type'; +import * as import8 from '@angular/core/src/linker/component_factory'; import * as import9 from '@angular/core/src/linker/element_ref'; -import * as import10 from '@angular/core/src/metadata/view'; -import * as import11 from '@angular/core/src/linker/component_factory'; -import * as import12 from '../directives/visibility.directive.ngfactory'; -import * as import13 from '../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import10 from '../directives/visibility.directive.ngfactory'; +import * as import11 from '@angular/core/src/linker/view_container'; +import * as import12 from '../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import13 from '../../../src/components/body/body.component'; import * as import14 from './body/body.component.ngfactory'; import * as import15 from '@angular/core/src/zone/ng_zone'; import * as import16 from '@angular/core/src/linker/template_ref'; import * as import17 from '@angular/common/src/directives/ng_if'; -import * as import18 from '../../../src/components/body/body.component'; -import * as import19 from '../../../src/directives/visibility.directive'; +import * as import18 from '../../../src/directives/visibility.directive'; +import * as import19 from '../../../src/components/header/header.component'; import * as import20 from './header/header.component.ngfactory'; -import * as import21 from '../../../src/components/header/header.component'; +import * as import21 from '../../../src/components/footer/footer.component'; import * as import22 from './footer/footer.component.ngfactory'; -import * as import23 from '../../../src/components/footer/footer.component'; export class Wrapper_DatatableComponent { + /*private*/ _eventHandler:Function; context:import0.DatatableComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -62,9 +63,17 @@ export class Wrapper_DatatableComponent { /*private*/ _expr_28:any; /*private*/ _expr_29:any; /*private*/ _expr_30:any; - constructor(p0:any,p1:any) { - this.changed = false; - this.context = new import0.DatatableComponent(p0,p1); + subscription0:any; + subscription1:any; + subscription2:any; + subscription3:any; + subscription4:any; + subscription5:any; + subscription6:any; + subscription7:any; + constructor(p0:any,p1:any,p2:any) { + this._changed = false; + this.context = new import0.DatatableComponent(p0,p1,p2); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; this._expr_2 = import1.UNINITIALIZED; @@ -97,343 +106,364 @@ export class Wrapper_DatatableComponent { this._expr_29 = import1.UNINITIALIZED; this._expr_30 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + (this.subscription1 && this.subscription1.unsubscribe()); + (this.subscription2 && this.subscription2.unsubscribe()); + (this.subscription3 && this.subscription3.unsubscribe()); + (this.subscription4 && this.subscription4.unsubscribe()); + (this.subscription5 && this.subscription5.unsubscribe()); + (this.subscription6 && this.subscription6.unsubscribe()); + (this.subscription7 && this.subscription7.unsubscribe()); + } check_rows(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.rows = currValue; this._expr_0 = currValue; } } check_columns(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.columns = currValue; this._expr_1 = currValue; } } check_selected(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.selected = currValue; this._expr_2 = currValue; } } check_scrollbarV(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.scrollbarV = currValue; this._expr_3 = currValue; } } check_scrollbarH(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.scrollbarH = currValue; this._expr_4 = currValue; } } check_rowHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.rowHeight = currValue; this._expr_5 = currValue; } } check_detailRowHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_6,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_6,currValue))) { + this._changed = true; this.context.detailRowHeight = currValue; this._expr_6 = currValue; } } check_columnMode(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_7,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_7,currValue))) { + this._changed = true; this.context.columnMode = currValue; this._expr_7 = currValue; } } check_headerHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_8,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_8,currValue))) { + this._changed = true; this.context.headerHeight = currValue; this._expr_8 = currValue; } } check_footerHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_9,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_9,currValue))) { + this._changed = true; this.context.footerHeight = currValue; this._expr_9 = currValue; } } check_externalPaging(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_10,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_10,currValue))) { + this._changed = true; this.context.externalPaging = currValue; this._expr_10 = currValue; } } check_externalSorting(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_11,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_11,currValue))) { + this._changed = true; this.context.externalSorting = currValue; this._expr_11 = currValue; } } check_limit(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_12,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_12,currValue))) { + this._changed = true; this.context.limit = currValue; this._expr_12 = currValue; } } check_count(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_13,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_13,currValue))) { + this._changed = true; this.context.count = currValue; this._expr_13 = currValue; } } check_offset(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_14,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_14,currValue))) { + this._changed = true; this.context.offset = currValue; this._expr_14 = currValue; } } check_loadingIndicator(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_15,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_15,currValue))) { + this._changed = true; this.context.loadingIndicator = currValue; this._expr_15 = currValue; } } check_selectionType(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_16,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_16,currValue))) { + this._changed = true; this.context.selectionType = currValue; this._expr_16 = currValue; } } check_reorderable(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_17,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_17,currValue))) { + this._changed = true; this.context.reorderable = currValue; this._expr_17 = currValue; } } check_sortType(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_18,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_18,currValue))) { + this._changed = true; this.context.sortType = currValue; this._expr_18 = currValue; } } check_sorts(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_19,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_19,currValue))) { + this._changed = true; this.context.sorts = currValue; this._expr_19 = currValue; } } check_rowDetailTemplate(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_20,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_20,currValue))) { + this._changed = true; this.context.rowDetailTemplate = currValue; this._expr_20 = currValue; } } check_cssClasses(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_21,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_21,currValue))) { + this._changed = true; this.context.cssClasses = currValue; this._expr_21 = currValue; } } check_messages(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_22,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_22,currValue))) { + this._changed = true; this.context.messages = currValue; this._expr_22 = currValue; } } check_rowIdentity(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_23,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_23,currValue))) { + this._changed = true; this.context.rowIdentity = currValue; this._expr_23 = currValue; } } check_selectCheck(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_24,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_24,currValue))) { + this._changed = true; this.context.selectCheck = currValue; this._expr_24 = currValue; } } check_trackByProp(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_25,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_25,currValue))) { + this._changed = true; this.context.trackByProp = currValue; this._expr_25 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; if (!throwOnChange) { if ((view.numberOfChecks === 0)) { this.context.ngOnInit(); } } return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_26:any = this.context.isFixedHeader; - if (import2.checkBinding(throwOnChange,this._expr_26,currVal_26)) { + if (import3.checkBinding(throwOnChange,this._expr_26,currVal_26)) { view.renderer.setElementClass(el,'fixed-header',currVal_26); this._expr_26 = currVal_26; } const currVal_27:any = this.context.isFixedRow; - if (import2.checkBinding(throwOnChange,this._expr_27,currVal_27)) { + if (import3.checkBinding(throwOnChange,this._expr_27,currVal_27)) { view.renderer.setElementClass(el,'fixed-row',currVal_27); this._expr_27 = currVal_27; } const currVal_28:any = this.context.isVertScroll; - if (import2.checkBinding(throwOnChange,this._expr_28,currVal_28)) { + if (import3.checkBinding(throwOnChange,this._expr_28,currVal_28)) { view.renderer.setElementClass(el,'scroll-vertical',currVal_28); this._expr_28 = currVal_28; } const currVal_29:any = this.context.isHorScroll; - if (import2.checkBinding(throwOnChange,this._expr_29,currVal_29)) { + if (import3.checkBinding(throwOnChange,this._expr_29,currVal_29)) { view.renderer.setElementClass(el,'scroll-horz',currVal_29); this._expr_29 = currVal_29; } const currVal_30:any = this.context.isSelectable; - if (import2.checkBinding(throwOnChange,this._expr_30,currVal_30)) { + if (import3.checkBinding(throwOnChange,this._expr_30,currVal_30)) { view.renderer.setElementClass(el,'selectable',currVal_30); this._expr_30 = currVal_30; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + if ((eventName == 'window:resize')) { + const pd_sub_0:any = ((this.context.recalculate()) !== false); + result = (pd_sub_0 && result); + } + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean,emit1:boolean,emit2:boolean,emit3:boolean,emit4:boolean,emit5:boolean,emit6:boolean,emit7:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.scroll.subscribe(_eventHandler.bind(view,'scroll'))); } + if (emit1) { (this.subscription1 = this.context.activate.subscribe(_eventHandler.bind(view,'activate'))); } + if (emit2) { (this.subscription2 = this.context.select.subscribe(_eventHandler.bind(view,'select'))); } + if (emit3) { (this.subscription3 = this.context.sort.subscribe(_eventHandler.bind(view,'sort'))); } + if (emit4) { (this.subscription4 = this.context.page.subscribe(_eventHandler.bind(view,'page'))); } + if (emit5) { (this.subscription5 = this.context.detailToggle.subscribe(_eventHandler.bind(view,'detailToggle'))); } + if (emit6) { (this.subscription6 = this.context.reorder.subscribe(_eventHandler.bind(view,'reorder'))); } + if (emit7) { (this.subscription7 = this.context.resize.subscribe(_eventHandler.bind(view,'resize'))); } + } } -var renderType_DatatableComponent_Host:import4.RenderComponentType = (null as any); -class _View_DatatableComponent_Host0 extends import3.AppView { +var renderType_DatatableComponent_Host:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,([] as any[]),{}); +class View_DatatableComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import5.AppElement; - _DatatableComponent_0_4:Wrapper_DatatableComponent; + compView_0:import2.AppView; + _DatatableComponent_0_3:Wrapper_DatatableComponent; _query_DataTableColumnDirective_0_0:import6.QueryList; _query_DatatableRowDetailDirective_0_1:import6.QueryList; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement) { - super(_View_DatatableComponent_Host0,renderType_DatatableComponent_Host,import8.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DatatableComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DatatableComponent_0_4 = new Wrapper_DatatableComponent(this.renderer,new import9.ElementRef(this._el_0)); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DatatableComponent_Host0,renderType_DatatableComponent_Host,import7.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DatatableComponent0(this.viewUtils,this,0,this._el_0); + this._DatatableComponent_0_3 = new Wrapper_DatatableComponent(this.renderer,new import9.ElementRef(this._el_0),this.compView_0.ref); this._query_DataTableColumnDirective_0_0 = new import6.QueryList(); this._query_DatatableRowDetailDirective_0_1 = new import6.QueryList(); - this._appEl_0.initComponent(this._DatatableComponent_0_4.context,([] as any[]),compView_0); this._query_DatatableRowDetailDirective_0_1.reset(([] as any[])); - this._DatatableComponent_0_4.context.rowDetailTemplateChild = this._query_DatatableRowDetailDirective_0_1.first; - compView_0.create(this._DatatableComponent_0_4.context,this.projectableNodes,(null as any)); - var disposable_0:Function = this.renderer.listenGlobal('window','resize',this.eventHandler(this._handle_resize_0_0.bind(this))); - const subscription_0:any = this._DatatableComponent_0_4.context.resize.subscribe(this.eventHandler(this._handle_resize_0_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],[disposable_0],[subscription_0]); - return this._appEl_0; + this._DatatableComponent_0_3.context.rowDetailTemplateChild = this._query_DatatableRowDetailDirective_0_1.first; + this.compView_0.create(this._DatatableComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'resize','window'),this.eventHandler(this.handleEvent_0)); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),[disposable_0]); + return new import8.ComponentRef_(0,this,this._el_0,this._DatatableComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DatatableComponent) && (0 === requestNodeIndex))) { return this._DatatableComponent_0_4.context; } + if (((token === import0.DatatableComponent) && (0 === requestNodeIndex))) { return this._DatatableComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DatatableComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); + if (this._DatatableComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } if (!throwOnChange) { if (this._query_DataTableColumnDirective_0_0.dirty) { this._query_DataTableColumnDirective_0_0.reset(([] as any[])); - this._DatatableComponent_0_4.context.columnTemplates = this._query_DataTableColumnDirective_0_0; + this._DatatableComponent_0_3.context.columnTemplates = this._query_DataTableColumnDirective_0_0; this._query_DataTableColumnDirective_0_0.notifyOnChanges(); } } - this._DatatableComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); - if (!throwOnChange) { if ((this.numberOfChecks === 0)) { this._DatatableComponent_0_4.context.ngAfterViewInit(); } } + this._DatatableComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + if (!throwOnChange) { if ((this.numberOfChecks === 0)) { this._DatatableComponent_0_3.context.ngAfterViewInit(); } } } - private _handle_resize_0_0($event:any):boolean { - this._appEl_0.componentView.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DatatableComponent_0_4.context.recalculate()) !== false); - return (true && pd_0_0); + destroyInternal():void { + this.compView_0.destroy(); + this._DatatableComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { + this.compView_0.markPathToRootAsCheckOnce(); + var result:boolean = true; + result = (this._DatatableComponent_0_3.handleEvent(eventName,$event) && result); + return result; } } -function viewFactory_DatatableComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DatatableComponent_Host === (null as any))) { (renderType_DatatableComponent_Host = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DatatableComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DatatableComponentNgFactory:import11.ComponentFactory = new import11.ComponentFactory('datatable',viewFactory_DatatableComponent_Host0,import0.DatatableComponent); +export const DatatableComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable',View_DatatableComponent_Host0,import0.DatatableComponent); const styles_DatatableComponent:any[] = ([] as any[]); -var renderType_DatatableComponent:import4.RenderComponentType = (null as any); -class _View_DatatableComponent0 extends import3.AppView { +var renderType_DatatableComponent:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,styles_DatatableComponent,{}); +export class View_DatatableComponent0 extends import2.AppView { _viewQuery_DataTableBodyComponent_0:import6.QueryList; _text_0:any; _el_1:any; - _VisibilityDirective_1_3:import12.Wrapper_VisibilityDirective; + _VisibilityDirective_1_3:import10.Wrapper_VisibilityDirective; _text_2:any; _anchor_3:any; - /*private*/ _appEl_3:import5.AppElement; + /*private*/ _vc_3:import11.ViewContainer; _TemplateRef_3_5:any; - _NgIf_3_6:import13.Wrapper_NgIf; + _NgIf_3_6:import12.Wrapper_NgIf; _text_4:any; _el_5:any; - /*private*/ _appEl_5:import5.AppElement; - _DataTableBodyComponent_5_4:import14.Wrapper_DataTableBodyComponent; + compView_5:import2.AppView; + _DataTableBodyComponent_5_3:import14.Wrapper_DataTableBodyComponent; _text_6:any; _text_7:any; _anchor_8:any; - /*private*/ _appEl_8:import5.AppElement; + /*private*/ _vc_8:import11.ViewContainer; _TemplateRef_8_5:any; - _NgIf_8_6:import13.Wrapper_NgIf; + _NgIf_8_6:import12.Wrapper_NgIf; _text_9:any; _text_10:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement) { - super(_View_DatatableComponent0,renderType_DatatableComponent,import8.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DatatableComponent0,renderType_DatatableComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import5.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import8.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._viewQuery_DataTableBodyComponent_0 = new import6.QueryList(); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import2.createRenderElement(this.renderer,parentRenderNode,'div',new import2.InlineArray2(2,'visibility-observer',''),(null as any)); - this._VisibilityDirective_1_3 = new import12.Wrapper_VisibilityDirective(new import9.ElementRef(this._el_1),this.parentInjector.get(import15.NgZone)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray2(2,'visibility-observer',''),(null as any)); + this._VisibilityDirective_1_3 = new import10.Wrapper_VisibilityDirective(new import9.ElementRef(this._el_1),this.parentView.injectorGet(import15.NgZone,this.parentIndex)); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_3 = new import5.AppElement(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import16.TemplateRef_(this._appEl_3,viewFactory_DatatableComponent1); - this._NgIf_3_6 = new import13.Wrapper_NgIf(this._appEl_3.vcRef,this._TemplateRef_3_5); + this._vc_3 = new import11.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import16.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import12.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_5 = import2.createRenderElement(this.renderer,this._el_1,'datatable-body',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_5 = new import5.AppElement(5,1,this,this._el_5); - var compView_5:any = import14.viewFactory_DataTableBodyComponent0(this.viewUtils,this.injector(5),this._appEl_5); - this._DataTableBodyComponent_5_4 = new import14.Wrapper_DataTableBodyComponent(new import9.ElementRef(this._el_5),this.renderer); - this._appEl_5.initComponent(this._DataTableBodyComponent_5_4.context,([] as any[]),compView_5); + this._el_5 = import3.createRenderElement(this.renderer,this._el_1,'datatable-body',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_5 = new import14.View_DataTableBodyComponent0(this.viewUtils,this,5,this._el_5); + this._DataTableBodyComponent_5_3 = new import14.Wrapper_DataTableBodyComponent(new import9.ElementRef(this._el_5),this.renderer); this._text_6 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_5.create(this._DataTableBodyComponent_5_4.context,([] as any[]),(null as any)); + this.compView_5.create(this._DataTableBodyComponent_5_3.context); this._text_7 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_8 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_8 = new import5.AppElement(8,1,this,this._anchor_8); - this._TemplateRef_8_5 = new import16.TemplateRef_(this._appEl_8,viewFactory_DatatableComponent2); - this._NgIf_8_6 = new import13.Wrapper_NgIf(this._appEl_8.vcRef,this._TemplateRef_8_5); + this._vc_8 = new import11.ViewContainer(8,1,this,this._anchor_8); + this._TemplateRef_8_5 = new import16.TemplateRef_(this,8,this._anchor_8); + this._NgIf_8_6 = new import12.Wrapper_NgIf(this._vc_8.vcRef,this._TemplateRef_8_5); this._text_9 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_10 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_1,'visible',this.eventHandler(this._handle_visible_1_0.bind(this))); - const subscription_0:any = this._VisibilityDirective_1_3.context.visible.subscribe(this.eventHandler(this._handle_visible_1_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_5,'page',this.eventHandler(this._handle_page_5_0.bind(this))); - var disposable_2:Function = this.renderer.listen(this._el_5,'activate',this.eventHandler(this._handle_activate_5_1.bind(this))); - var disposable_3:Function = this.renderer.listen(this._el_5,'select',this.eventHandler(this._handle_select_5_2.bind(this))); - var disposable_4:Function = this.renderer.listen(this._el_5,'detailToggle',this.eventHandler(this._handle_detailToggle_5_3.bind(this))); - var disposable_5:Function = this.renderer.listen(this._el_5,'scroll',this.eventHandler(this._handle_scroll_5_4.bind(this))); - const subscription_1:any = this._DataTableBodyComponent_5_4.context.scroll.subscribe(this.eventHandler(this._handle_scroll_5_4.bind(this))); - const subscription_2:any = this._DataTableBodyComponent_5_4.context.page.subscribe(this.eventHandler(this._handle_page_5_0.bind(this))); - const subscription_3:any = this._DataTableBodyComponent_5_4.context.activate.subscribe(this.eventHandler(this._handle_activate_5_1.bind(this))); - const subscription_4:any = this._DataTableBodyComponent_5_4.context.select.subscribe(this.eventHandler(this._handle_select_5_2.bind(this))); - const subscription_5:any = this._DataTableBodyComponent_5_4.context.detailToggle.subscribe(this.eventHandler(this._handle_detailToggle_5_3.bind(this))); - this._viewQuery_DataTableBodyComponent_0.reset([this._DataTableBodyComponent_5_4.context]); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray2(2,'visible',(null as any)),this.eventHandler(this.handleEvent_1)); + this._VisibilityDirective_1_3.subscribe(this,this.eventHandler(this.handleEvent_1),true); + var disposable_1:Function = import3.subscribeToRenderElement(this,this._el_5,new import3.InlineArray16(10,'page',(null as any),'activate',(null as any),'select',(null as any),'detailToggle',(null as any),'scroll',(null as any)),this.eventHandler(this.handleEvent_5)); + this._DataTableBodyComponent_5_3.subscribe(this,this.eventHandler(this.handleEvent_5),true,true,true,true,true); + this._viewQuery_DataTableBodyComponent_0.reset([this._DataTableBodyComponent_5_3.context]); this.context.bodyComponent = this._viewQuery_DataTableBodyComponent_0.first; - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -446,21 +476,9 @@ class _View_DatatableComponent0 extends import3.AppViewthis.context.recalculate()) !== false); - return (true && pd_1_0); - } - private _handle_page_5_0($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_5_0:any = ((this.context.onBodyPage($event)) !== false); - return (true && pd_5_0); - } - private _handle_activate_5_1($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_5_0:any = ((this.context.activate.emit($event)) !== false); - return (true && pd_5_0); - } - private _handle_select_5_2($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_5_0:any = ((this.context.select.emit($event)) !== false); - return (true && pd_5_0); + this._NgIf_8_6.ngDoCheck(this,this._anchor_8,throwOnChange); + this._vc_3.detectChangesInNestedViews(throwOnChange); + this._vc_8.detectChangesInNestedViews(throwOnChange); + this._VisibilityDirective_1_3.checkHost(this,this,this._el_1,throwOnChange); + this._DataTableBodyComponent_5_3.checkHost(this,this.compView_5,this._el_5,throwOnChange); + this.compView_5.detectChanges(throwOnChange); + } + destroyInternal():void { + this._vc_3.destroyNestedViews(); + this._vc_8.destroyNestedViews(); + this.compView_5.destroy(); + this._DataTableBodyComponent_5_3.ngOnDestroy(); + this._VisibilityDirective_1_3.ngOnDestroy(); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 3)) { return new View_DatatableComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + if ((nodeIndex == 8)) { return new View_DatatableComponent2(this.viewUtils,this,8,this._anchor_8,this._vc_8); } + return (null as any); } - private _handle_detailToggle_5_3($event:any):boolean { + handleEvent_1(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_5_0:any = ((this.context.detailToggle.emit($event)) !== false); - return (true && pd_5_0); + var result:boolean = true; + if ((eventName == 'visible')) { + const pd_sub_0:any = ((this.context.recalculate()) !== false); + result = (pd_sub_0 && result); + } + return result; } - private _handle_scroll_5_4($event:any):boolean { + handleEvent_5(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_5_0:any = ((this.context.onBodyScroll($event)) !== false); - return (true && pd_5_0); + var result:boolean = true; + if ((eventName == 'page')) { + const pd_sub_0:any = ((this.context.onBodyPage($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'activate')) { + const pd_sub_1:any = ((this.context.activate.emit($event)) !== false); + result = (pd_sub_1 && result); + } + if ((eventName == 'select')) { + const pd_sub_2:any = ((this.context.select.emit($event)) !== false); + result = (pd_sub_2 && result); + } + if ((eventName == 'detailToggle')) { + const pd_sub_3:any = ((this.context.detailToggle.emit($event)) !== false); + result = (pd_sub_3 && result); + } + if ((eventName == 'scroll')) { + const pd_sub_4:any = ((this.context.onBodyScroll($event)) !== false); + result = (pd_sub_4 && result); + } + return result; } } -export function viewFactory_DatatableComponent0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DatatableComponent === (null as any))) { (renderType_DatatableComponent = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,styles_DatatableComponent,{})); } - return new _View_DatatableComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DatatableComponent1 extends import3.AppView { +class View_DatatableComponent1 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import5.AppElement; - _DataTableHeaderComponent_0_4:import20.Wrapper_DataTableHeaderComponent; + compView_0:import2.AppView; + _DataTableHeaderComponent_0_3:import20.Wrapper_DataTableHeaderComponent; _text_1:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement) { - super(_View_DatatableComponent1,renderType_DatatableComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'datatable-header',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = import20.viewFactory_DataTableHeaderComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableHeaderComponent_0_4 = new import20.Wrapper_DataTableHeaderComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableHeaderComponent_0_4.context,([] as any[]),compView_0); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import11.ViewContainer) { + super(View_DatatableComponent1,renderType_DatatableComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-header',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_0 = new import20.View_DataTableHeaderComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableHeaderComponent_0_3 = new import20.Wrapper_DataTableHeaderComponent(new import9.ElementRef(this._el_0),this.renderer); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_0.create(this._DataTableHeaderComponent_0_4.context,([] as any[]),(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'sort',this.eventHandler(this._handle_sort_0_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_0,'resize',this.eventHandler(this._handle_resize_0_1.bind(this))); - var disposable_2:Function = this.renderer.listen(this._el_0,'reorder',this.eventHandler(this._handle_reorder_0_2.bind(this))); - const subscription_0:any = this._DataTableHeaderComponent_0_4.context.sort.subscribe(this.eventHandler(this._handle_sort_0_0.bind(this))); - const subscription_1:any = this._DataTableHeaderComponent_0_4.context.reorder.subscribe(this.eventHandler(this._handle_reorder_0_2.bind(this))); - const subscription_2:any = this._DataTableHeaderComponent_0_4.context.resize.subscribe(this.eventHandler(this._handle_resize_0_1.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + this.compView_0.create(this._DataTableHeaderComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray8(6,'sort',(null as any),'resize',(null as any),'reorder',(null as any)),this.eventHandler(this.handleEvent_0)); + this._DataTableHeaderComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true,true,true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,[ - disposable_0, - disposable_1, - disposable_2 - ] - ,[ - subscription_0, - subscription_1, - subscription_2 - ] - ); + ),[disposable_0]); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import21.DataTableHeaderComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderComponent_0_4.context; } + if (((token === import19.DataTableHeaderComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parent.context.cssClasses.sortAscending; - this._DataTableHeaderComponent_0_4.check_sortAscendingIcon(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parent.context.cssClasses.sortDescending; - this._DataTableHeaderComponent_0_4.check_sortDescendingIcon(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parent.context.scrollbarH; - this._DataTableHeaderComponent_0_4.check_scrollbarH(currVal_0_0_2,throwOnChange,false); - const currVal_0_0_3:any = this.parent.context.innerWidth; - this._DataTableHeaderComponent_0_4.check_innerWidth(currVal_0_0_3,throwOnChange,false); - const currVal_0_0_4:any = this.parent.context.offsetX; - this._DataTableHeaderComponent_0_4.check_offsetX(currVal_0_0_4,throwOnChange,false); - const currVal_0_0_5:any = this.parent.context.sorts; - this._DataTableHeaderComponent_0_4.check_sorts(currVal_0_0_5,throwOnChange,false); - const currVal_0_0_6:any = this.parent.context.sortType; - this._DataTableHeaderComponent_0_4.check_sortType(currVal_0_0_6,throwOnChange,false); - const currVal_0_0_7:any = this.parent.context.headerHeight; - this._DataTableHeaderComponent_0_4.check_headerHeight(currVal_0_0_7,throwOnChange,false); - const currVal_0_0_8:any = this.parent.context.columns; - this._DataTableHeaderComponent_0_4.check_columns(currVal_0_0_8,throwOnChange,false); - if (this._DataTableHeaderComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableHeaderComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); - } - private _handle_sort_0_0($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.context.onColumnSort($event)) !== false); - return (true && pd_0_0); - } - private _handle_resize_0_1($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.context.onColumnResize($event)) !== false); - return (true && pd_0_0); - } - private _handle_reorder_0_2($event:any):boolean { + const currVal_0_0_0:any = this.parentView.context.cssClasses.sortAscending; + this._DataTableHeaderComponent_0_3.check_sortAscendingIcon(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.parentView.context.cssClasses.sortDescending; + this._DataTableHeaderComponent_0_3.check_sortDescendingIcon(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.context.scrollbarH; + this._DataTableHeaderComponent_0_3.check_scrollbarH(currVal_0_0_2,throwOnChange,false); + const currVal_0_0_3:any = this.parentView.context.innerWidth; + this._DataTableHeaderComponent_0_3.check_innerWidth(currVal_0_0_3,throwOnChange,false); + const currVal_0_0_4:any = this.parentView.context.offsetX; + this._DataTableHeaderComponent_0_3.check_offsetX(currVal_0_0_4,throwOnChange,false); + const currVal_0_0_5:any = this.parentView.context.sorts; + this._DataTableHeaderComponent_0_3.check_sorts(currVal_0_0_5,throwOnChange,false); + const currVal_0_0_6:any = this.parentView.context.sortType; + this._DataTableHeaderComponent_0_3.check_sortType(currVal_0_0_6,throwOnChange,false); + const currVal_0_0_7:any = this.parentView.context.headerHeight; + this._DataTableHeaderComponent_0_3.check_headerHeight(currVal_0_0_7,throwOnChange,false); + const currVal_0_0_8:any = this.parentView.context.columns; + this._DataTableHeaderComponent_0_3.check_columns(currVal_0_0_8,throwOnChange,false); + if (this._DataTableHeaderComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._DataTableHeaderComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableHeaderComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.context.onColumnReorder($event)) !== false); - return (true && pd_0_0); + var result:boolean = true; + if ((eventName == 'sort')) { + const pd_sub_0:any = ((this.parentView.context.onColumnSort($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'resize')) { + const pd_sub_1:any = ((this.parentView.context.onColumnResize($event)) !== false); + result = (pd_sub_1 && result); + } + if ((eventName == 'reorder')) { + const pd_sub_2:any = ((this.parentView.context.onColumnReorder($event)) !== false); + result = (pd_sub_2 && result); + } + return result; } } -function viewFactory_DatatableComponent1(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement):import3.AppView { - return new _View_DatatableComponent1(viewUtils,parentInjector,declarationEl); -} -class _View_DatatableComponent2 extends import3.AppView { +class View_DatatableComponent2 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import5.AppElement; - _DataTableFooterComponent_0_4:import22.Wrapper_DataTableFooterComponent; + compView_0:import2.AppView; + _DataTableFooterComponent_0_3:import22.Wrapper_DataTableFooterComponent; _text_1:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement) { - super(_View_DatatableComponent2,renderType_DatatableComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'datatable-footer',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = import22.viewFactory_DataTableFooterComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableFooterComponent_0_4 = new import22.Wrapper_DataTableFooterComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableFooterComponent_0_4.context,([] as any[]),compView_0); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import11.ViewContainer) { + super(View_DatatableComponent2,renderType_DatatableComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-footer',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_0 = new import22.View_DataTableFooterComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableFooterComponent_0_3 = new import22.Wrapper_DataTableFooterComponent(new import9.ElementRef(this._el_0),this.renderer); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_0.create(this._DataTableFooterComponent_0_4.context,([] as any[]),(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'page',this.eventHandler(this._handle_page_0_0.bind(this))); - const subscription_0:any = this._DataTableFooterComponent_0_4.context.page.subscribe(this.eventHandler(this._handle_page_0_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + this.compView_0.create(this._DataTableFooterComponent_0_3.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'page',(null as any)),this.eventHandler(this.handleEvent_0)); + this._DataTableFooterComponent_0_3.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,[disposable_0],[subscription_0]); + ),[disposable_0]); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import23.DataTableFooterComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableFooterComponent_0_4.context; } + if (((token === import21.DataTableFooterComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableFooterComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parent.context.footerHeight; - this._DataTableFooterComponent_0_4.check_footerHeight(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parent.context.rowCount; - this._DataTableFooterComponent_0_4.check_rowCount(currVal_0_0_1,throwOnChange,false); - const currVal_0_0_2:any = this.parent.context.pageSize; - this._DataTableFooterComponent_0_4.check_pageSize(currVal_0_0_2,throwOnChange,false); - const currVal_0_0_3:any = this.parent.context.offset; - this._DataTableFooterComponent_0_4.check_offset(currVal_0_0_3,throwOnChange,false); - const currVal_0_0_4:any = this.parent.context.cssClasses.pagerLeftArrow; - this._DataTableFooterComponent_0_4.check_pagerLeftArrowIcon(currVal_0_0_4,throwOnChange,false); - const currVal_0_0_5:any = this.parent.context.cssClasses.pagerRightArrow; - this._DataTableFooterComponent_0_4.check_pagerRightArrowIcon(currVal_0_0_5,throwOnChange,false); - const currVal_0_0_6:any = this.parent.context.cssClasses.pagerPrevious; - this._DataTableFooterComponent_0_4.check_pagerPreviousIcon(currVal_0_0_6,throwOnChange,false); - const currVal_0_0_7:any = this.parent.context.cssClasses.pagerNext; - this._DataTableFooterComponent_0_4.check_pagerNextIcon(currVal_0_0_7,throwOnChange,false); - const currVal_0_0_8:any = this.parent.context.messages.totalMessage; - this._DataTableFooterComponent_0_4.check_totalMessage(currVal_0_0_8,throwOnChange,false); - if (this._DataTableFooterComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableFooterComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); - } - private _handle_page_0_0($event:any):boolean { + const currVal_0_0_0:any = this.parentView.context.footerHeight; + this._DataTableFooterComponent_0_3.check_footerHeight(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = this.parentView.context.rowCount; + this._DataTableFooterComponent_0_3.check_rowCount(currVal_0_0_1,throwOnChange,false); + const currVal_0_0_2:any = this.parentView.context.pageSize; + this._DataTableFooterComponent_0_3.check_pageSize(currVal_0_0_2,throwOnChange,false); + const currVal_0_0_3:any = this.parentView.context.offset; + this._DataTableFooterComponent_0_3.check_offset(currVal_0_0_3,throwOnChange,false); + const currVal_0_0_4:any = this.parentView.context.cssClasses.pagerLeftArrow; + this._DataTableFooterComponent_0_3.check_pagerLeftArrowIcon(currVal_0_0_4,throwOnChange,false); + const currVal_0_0_5:any = this.parentView.context.cssClasses.pagerRightArrow; + this._DataTableFooterComponent_0_3.check_pagerRightArrowIcon(currVal_0_0_5,throwOnChange,false); + const currVal_0_0_6:any = this.parentView.context.cssClasses.pagerPrevious; + this._DataTableFooterComponent_0_3.check_pagerPreviousIcon(currVal_0_0_6,throwOnChange,false); + const currVal_0_0_7:any = this.parentView.context.cssClasses.pagerNext; + this._DataTableFooterComponent_0_3.check_pagerNextIcon(currVal_0_0_7,throwOnChange,false); + const currVal_0_0_8:any = this.parentView.context.messages.totalMessage; + this._DataTableFooterComponent_0_3.check_totalMessage(currVal_0_0_8,throwOnChange,false); + if (this._DataTableFooterComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableFooterComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.context.onFooterPage($event)) !== false); - return (true && pd_0_0); + var result:boolean = true; + if ((eventName == 'page')) { + const pd_sub_0:any = ((this.parentView.context.onFooterPage($event)) !== false); + result = (pd_sub_0 && result); + } + return result; } -} -function viewFactory_DatatableComponent2(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import5.AppElement):import3.AppView { - return new _View_DatatableComponent2(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/footer/footer.component.ngfactory.ts b/release/components/footer/footer.component.ngfactory.ts index c2473ef7c..aaefcbce6 100644 --- a/release/components/footer/footer.component.ngfactory.ts +++ b/release/components/footer/footer.component.ngfactory.ts @@ -1,26 +1,26 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/footer/footer.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/render/api'; -import * as import5 from '@angular/core/src/linker/element'; -import * as import6 from '@angular/core/src/di/injector'; -import * as import7 from '@angular/core/src/linker/view_type'; +import * as import5 from '@angular/core/src/metadata/view'; +import * as import6 from '@angular/core/src/linker/view_type'; +import * as import7 from '@angular/core/src/linker/component_factory'; import * as import8 from '@angular/core/src/linker/element_ref'; -import * as import9 from '@angular/core/src/metadata/view'; -import * as import10 from '@angular/core/src/linker/component_factory'; -import * as import11 from './pager.component.ngfactory'; -import * as import12 from '../../../../src/components/footer/pager.component'; -import * as import13 from '@angular/core/src/security'; +import * as import9 from '../../../../src/components/footer/pager.component'; +import * as import10 from './pager.component.ngfactory'; +import * as import11 from '@angular/core/src/security'; export class Wrapper_DataTableFooterComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableFooterComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -30,8 +30,9 @@ export class Wrapper_DataTableFooterComponent { /*private*/ _expr_6:any; /*private*/ _expr_7:any; /*private*/ _expr_8:any; + subscription0:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.DataTableFooterComponent(p0,p1); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -43,114 +44,126 @@ export class Wrapper_DataTableFooterComponent { this._expr_7 = import1.UNINITIALIZED; this._expr_8 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + } check_footerHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.footerHeight = currValue; this._expr_0 = currValue; } } check_rowCount(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.rowCount = currValue; this._expr_1 = currValue; } } check_pageSize(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.pageSize = currValue; this._expr_2 = currValue; } } check_offset(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.offset = currValue; this._expr_3 = currValue; } } check_pagerLeftArrowIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.pagerLeftArrowIcon = currValue; this._expr_4 = currValue; } } check_pagerRightArrowIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.pagerRightArrowIcon = currValue; this._expr_5 = currValue; } } check_pagerPreviousIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_6,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_6,currValue))) { + this._changed = true; this.context.pagerPreviousIcon = currValue; this._expr_6 = currValue; } } check_pagerNextIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_7,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_7,currValue))) { + this._changed = true; this.context.pagerNextIcon = currValue; this._expr_7 = currValue; } } check_totalMessage(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_8,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_8,currValue))) { + this._changed = true; this.context.totalMessage = currValue; this._expr_8 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.page.subscribe(_eventHandler.bind(view,'page'))); } } } -var renderType_DataTableFooterComponent_Host:import4.RenderComponentType = (null as any); -class _View_DataTableFooterComponent_Host0 extends import3.AppView { +var renderType_DataTableFooterComponent_Host:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableFooterComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import5.AppElement; - _DataTableFooterComponent_0_4:Wrapper_DataTableFooterComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableFooterComponent_Host0,renderType_DataTableFooterComponent_Host,import7.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + compView_0:import2.AppView; + _DataTableFooterComponent_0_3:Wrapper_DataTableFooterComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableFooterComponent_Host0,renderType_DataTableFooterComponent_Host,import6.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-footer',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableFooterComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableFooterComponent_0_4 = new Wrapper_DataTableFooterComponent(new import8.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableFooterComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableFooterComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + createInternal(rootSelector:string):import7.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-footer',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableFooterComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableFooterComponent_0_3 = new Wrapper_DataTableFooterComponent(new import8.ElementRef(this._el_0),this.renderer); + this.compView_0.create(this._DataTableFooterComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import7.ComponentRef_(0,this,this._el_0,this._DataTableFooterComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableFooterComponent) && (0 === requestNodeIndex))) { return this._DataTableFooterComponent_0_4.context; } + if (((token === import0.DataTableFooterComponent) && (0 === requestNodeIndex))) { return this._DataTableFooterComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableFooterComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableFooterComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTableFooterComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableFooterComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_DataTableFooterComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTableFooterComponent_Host === (null as any))) { (renderType_DataTableFooterComponent_Host = viewUtils.createRenderComponentType('',0,import9.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableFooterComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableFooterComponentNgFactory:import10.ComponentFactory = new import10.ComponentFactory('datatable-footer',viewFactory_DataTableFooterComponent_Host0,import0.DataTableFooterComponent); +export const DataTableFooterComponentNgFactory:import7.ComponentFactory = new import7.ComponentFactory('datatable-footer',View_DataTableFooterComponent_Host0,import0.DataTableFooterComponent); const styles_DataTableFooterComponent:any[] = ([] as any[]); -var renderType_DataTableFooterComponent:import4.RenderComponentType = (null as any); -class _View_DataTableFooterComponent0 extends import3.AppView { +var renderType_DataTableFooterComponent:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,styles_DataTableFooterComponent,{}); +export class View_DataTableFooterComponent0 extends import2.AppView { _text_0:any; _el_1:any; _text_2:any; @@ -158,40 +171,38 @@ class _View_DataTableFooterComponent0 extends import3.AppView; + _DataTablePagerComponent_6_3:import10.Wrapper_DataTablePagerComponent; _text_7:any; _text_8:any; _text_9:any; /*private*/ _expr_12:any; /*private*/ _expr_13:any; /*private*/ _expr_14:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTableFooterComponent0,renderType_DataTableFooterComponent,import7.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableFooterComponent0,renderType_DataTableFooterComponent,import6.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); this._expr_12 = import1.UNINITIALIZED; this._expr_13 = import1.UNINITIALIZED; this._expr_14 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import5.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import7.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import2.createRenderElement(this.renderer,parentRenderNode,'div',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_3 = import2.createRenderElement(this.renderer,this._el_1,'div',new import2.InlineArray2(2,'class','page-count'),(null as any)); + this._el_3 = import3.createRenderElement(this.renderer,this._el_1,'div',new import3.InlineArray2(2,'class','page-count'),(null as any)); this._text_4 = this.renderer.createText(this._el_3,'',(null as any)); this._text_5 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_6 = import2.createRenderElement(this.renderer,this._el_1,'datatable-pager',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._appEl_6 = new import5.AppElement(6,1,this,this._el_6); - var compView_6:any = import11.viewFactory_DataTablePagerComponent0(this.viewUtils,this.injector(6),this._appEl_6); - this._DataTablePagerComponent_6_4 = new import11.Wrapper_DataTablePagerComponent(new import8.ElementRef(this._el_6),this.renderer); - this._appEl_6.initComponent(this._DataTablePagerComponent_6_4.context,([] as any[]),compView_6); + this._el_6 = import3.createRenderElement(this.renderer,this._el_1,'datatable-pager',import3.EMPTY_INLINE_ARRAY,(null as any)); + this.compView_6 = new import10.View_DataTablePagerComponent0(this.viewUtils,this,6,this._el_6); + this._DataTablePagerComponent_6_3 = new import10.Wrapper_DataTablePagerComponent(new import8.ElementRef(this._el_6),this.renderer); this._text_7 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_6.create(this._DataTablePagerComponent_6_4.context,([] as any[]),(null as any)); + this.compView_6.create(this._DataTablePagerComponent_6_3.context); this._text_8 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_9 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_6,'change',this.eventHandler(this._handle_change_6_0.bind(this))); - const subscription_0:any = this._DataTablePagerComponent_6_4.context.change.subscribe(this.eventHandler(this._handle_change_6_0.bind(this))); - this.init(([] as any[]),[ + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_6,new import3.InlineArray2(2,'change',(null as any)),this.eventHandler(this.handleEvent_6)); + this._DataTablePagerComponent_6_3.subscribe(this,this.eventHandler(this.handleEvent_6),true); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -203,55 +214,57 @@ class _View_DataTableFooterComponent0 extends import3.AppViewthis.context.page.emit($event)) !== false); - return (true && pd_6_0); + var result:boolean = true; + if ((eventName == 'change')) { + const pd_sub_0:any = ((this.context.page.emit($event)) !== false); + result = (pd_sub_0 && result); + } + return result; } -} -export function viewFactory_DataTableFooterComponent0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTableFooterComponent === (null as any))) { (renderType_DataTableFooterComponent = viewUtils.createRenderComponentType('',0,import9.ViewEncapsulation.None,styles_DataTableFooterComponent,{})); } - return new _View_DataTableFooterComponent0(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/footer/pager.component.ngfactory.ts b/release/components/footer/pager.component.ngfactory.ts index cc697cb56..d02dcd0a6 100644 --- a/release/components/footer/pager.component.ngfactory.ts +++ b/release/components/footer/pager.component.ngfactory.ts @@ -1,27 +1,28 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/footer/pager.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/render/api'; -import * as import5 from '@angular/core/src/linker/element'; -import * as import6 from '@angular/core/src/di/injector'; -import * as import7 from '@angular/core/src/linker/view_type'; +import * as import5 from '@angular/core/src/metadata/view'; +import * as import6 from '@angular/core/src/linker/view_type'; +import * as import7 from '@angular/core/src/linker/component_factory'; import * as import8 from '@angular/core/src/linker/element_ref'; -import * as import9 from '@angular/core/src/metadata/view'; -import * as import10 from '@angular/core/src/linker/component_factory'; -import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; -import * as import12 from '@angular/core/src/linker/template_ref'; -import * as import13 from '@angular/core/src/change_detection/differs/iterable_differs'; -import * as import14 from '@angular/common/src/directives/ng_for'; +import * as import9 from '@angular/core/src/linker/view_container'; +import * as import10 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; +import * as import11 from '@angular/core/src/linker/template_ref'; +import * as import12 from '@angular/core/src/change_detection/differs/iterable_differs'; +import * as import13 from '@angular/common/src/directives/ng_for'; export class Wrapper_DataTablePagerComponent { + /*private*/ _eventHandler:Function; context:import0.DataTablePagerComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -29,8 +30,9 @@ export class Wrapper_DataTablePagerComponent { /*private*/ _expr_4:any; /*private*/ _expr_5:any; /*private*/ _expr_6:any; + subscription0:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.DataTablePagerComponent(p0,p1); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -40,100 +42,112 @@ export class Wrapper_DataTablePagerComponent { this._expr_5 = import1.UNINITIALIZED; this._expr_6 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + } check_pagerLeftArrowIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.pagerLeftArrowIcon = currValue; this._expr_0 = currValue; } } check_pagerRightArrowIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.pagerRightArrowIcon = currValue; this._expr_1 = currValue; } } check_pagerPreviousIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.pagerPreviousIcon = currValue; this._expr_2 = currValue; } } check_pagerNextIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.pagerNextIcon = currValue; this._expr_3 = currValue; } } check_size(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.size = currValue; this._expr_4 = currValue; } } check_count(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.count = currValue; this._expr_5 = currValue; } } check_page(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_6,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_6,currValue))) { + this._changed = true; this.context.page = currValue; this._expr_6 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.change.subscribe(_eventHandler.bind(view,'change'))); } } } -var renderType_DataTablePagerComponent_Host:import4.RenderComponentType = (null as any); -class _View_DataTablePagerComponent_Host0 extends import3.AppView { +var renderType_DataTablePagerComponent_Host:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTablePagerComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import5.AppElement; - _DataTablePagerComponent_0_4:Wrapper_DataTablePagerComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTablePagerComponent_Host0,renderType_DataTablePagerComponent_Host,import7.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-pager',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import5.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTablePagerComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTablePagerComponent_0_4 = new Wrapper_DataTablePagerComponent(new import8.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTablePagerComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTablePagerComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTablePagerComponent_0_3:Wrapper_DataTablePagerComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTablePagerComponent_Host0,renderType_DataTablePagerComponent_Host,import6.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import7.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-pager',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTablePagerComponent0(this.viewUtils,this,0,this._el_0); + this._DataTablePagerComponent_0_3 = new Wrapper_DataTablePagerComponent(new import8.ElementRef(this._el_0),this.renderer); + this.compView_0.create(this._DataTablePagerComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import7.ComponentRef_(0,this,this._el_0,this._DataTablePagerComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTablePagerComponent) && (0 === requestNodeIndex))) { return this._DataTablePagerComponent_0_4.context; } + if (((token === import0.DataTablePagerComponent) && (0 === requestNodeIndex))) { return this._DataTablePagerComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTablePagerComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTablePagerComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTablePagerComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTablePagerComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_DataTablePagerComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTablePagerComponent_Host === (null as any))) { (renderType_DataTablePagerComponent_Host = viewUtils.createRenderComponentType('',0,import9.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTablePagerComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTablePagerComponentNgFactory:import10.ComponentFactory = new import10.ComponentFactory('datatable-pager',viewFactory_DataTablePagerComponent_Host0,import0.DataTablePagerComponent); +export const DataTablePagerComponentNgFactory:import7.ComponentFactory = new import7.ComponentFactory('datatable-pager',View_DataTablePagerComponent_Host0,import0.DataTablePagerComponent); const styles_DataTablePagerComponent:any[] = ([] as any[]); -var renderType_DataTablePagerComponent:import4.RenderComponentType = (null as any); -class _View_DataTablePagerComponent0 extends import3.AppView { +var renderType_DataTablePagerComponent:import4.RenderComponentType = import3.createRenderComponentType('',0,import5.ViewEncapsulation.None,styles_DataTablePagerComponent,{}); +export class View_DataTablePagerComponent0 extends import2.AppView { _text_0:any; _el_1:any; _text_2:any; @@ -154,9 +168,9 @@ class _View_DataTablePagerComponent0 extends import3.AppView,parentIndex:number,parentElement:any) { + super(View_DataTablePagerComponent0,renderType_DataTablePagerComponent,import6.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); this._expr_41 = import1.UNINITIALIZED; this._expr_42 = import1.UNINITIALIZED; this._expr_43 = import1.UNINITIALIZED; @@ -194,54 +208,54 @@ class _View_DataTablePagerComponent0 extends import3.AppView { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import2.createRenderElement(this.renderer,parentRenderNode,'ul',new import2.InlineArray2(2,'class','pager'),(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'ul',new import3.InlineArray2(2,'class','pager'),(null as any)); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_3 = import2.createRenderElement(this.renderer,this._el_1,'li',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_3 = import3.createRenderElement(this.renderer,this._el_1,'li',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_4 = this.renderer.createText(this._el_3,'\n ',(null as any)); - this._el_5 = import2.createRenderElement(this.renderer,this._el_3,'a',new import2.InlineArray2(2,'href','javascript:void(0)'),(null as any)); + this._el_5 = import3.createRenderElement(this.renderer,this._el_3,'a',new import3.InlineArray2(2,'href','javascript:void(0)'),(null as any)); this._text_6 = this.renderer.createText(this._el_5,'\n ',(null as any)); - this._el_7 = import2.createRenderElement(this.renderer,this._el_5,'i',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_7 = import3.createRenderElement(this.renderer,this._el_5,'i',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_8 = this.renderer.createText(this._el_5,'\n ',(null as any)); this._text_9 = this.renderer.createText(this._el_3,'\n ',(null as any)); this._text_10 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_11 = import2.createRenderElement(this.renderer,this._el_1,'li',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_11 = import3.createRenderElement(this.renderer,this._el_1,'li',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_12 = this.renderer.createText(this._el_11,'\n ',(null as any)); - this._el_13 = import2.createRenderElement(this.renderer,this._el_11,'a',new import2.InlineArray2(2,'href','javascript:void(0)'),(null as any)); + this._el_13 = import3.createRenderElement(this.renderer,this._el_11,'a',new import3.InlineArray2(2,'href','javascript:void(0)'),(null as any)); this._text_14 = this.renderer.createText(this._el_13,'\n ',(null as any)); - this._el_15 = import2.createRenderElement(this.renderer,this._el_13,'i',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_15 = import3.createRenderElement(this.renderer,this._el_13,'i',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_16 = this.renderer.createText(this._el_13,'\n ',(null as any)); this._text_17 = this.renderer.createText(this._el_11,'\n ',(null as any)); this._text_18 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_19 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_19 = new import5.AppElement(19,1,this,this._anchor_19); - this._TemplateRef_19_5 = new import12.TemplateRef_(this._appEl_19,viewFactory_DataTablePagerComponent1); - this._NgFor_19_6 = new import11.Wrapper_NgFor(this._appEl_19.vcRef,this._TemplateRef_19_5,this.parentInjector.get(import13.IterableDiffers),this.ref); + this._vc_19 = new import9.ViewContainer(19,1,this,this._anchor_19); + this._TemplateRef_19_5 = new import11.TemplateRef_(this,19,this._anchor_19); + this._NgFor_19_6 = new import10.Wrapper_NgFor(this._vc_19.vcRef,this._TemplateRef_19_5,this.parentView.injectorGet(import12.IterableDiffers,this.parentIndex),this.ref); this._text_20 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_21 = import2.createRenderElement(this.renderer,this._el_1,'li',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_21 = import3.createRenderElement(this.renderer,this._el_1,'li',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_22 = this.renderer.createText(this._el_21,'\n ',(null as any)); - this._el_23 = import2.createRenderElement(this.renderer,this._el_21,'a',new import2.InlineArray2(2,'href','javascript:void(0)'),(null as any)); + this._el_23 = import3.createRenderElement(this.renderer,this._el_21,'a',new import3.InlineArray2(2,'href','javascript:void(0)'),(null as any)); this._text_24 = this.renderer.createText(this._el_23,'\n ',(null as any)); - this._el_25 = import2.createRenderElement(this.renderer,this._el_23,'i',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_25 = import3.createRenderElement(this.renderer,this._el_23,'i',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_26 = this.renderer.createText(this._el_23,'\n ',(null as any)); this._text_27 = this.renderer.createText(this._el_21,'\n ',(null as any)); this._text_28 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_29 = import2.createRenderElement(this.renderer,this._el_1,'li',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_29 = import3.createRenderElement(this.renderer,this._el_1,'li',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_30 = this.renderer.createText(this._el_29,'\n ',(null as any)); - this._el_31 = import2.createRenderElement(this.renderer,this._el_29,'a',new import2.InlineArray2(2,'href','javascript:void(0)'),(null as any)); + this._el_31 = import3.createRenderElement(this.renderer,this._el_29,'a',new import3.InlineArray2(2,'href','javascript:void(0)'),(null as any)); this._text_32 = this.renderer.createText(this._el_31,'\n ',(null as any)); - this._el_33 = import2.createRenderElement(this.renderer,this._el_31,'i',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_33 = import3.createRenderElement(this.renderer,this._el_31,'i',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_34 = this.renderer.createText(this._el_31,'\n ',(null as any)); this._text_35 = this.renderer.createText(this._el_29,'\n ',(null as any)); this._text_36 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_37 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_5,'click',this.eventHandler(this._handle_click_5_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_13,'click',this.eventHandler(this._handle_click_13_0.bind(this))); - var disposable_2:Function = this.renderer.listen(this._el_23,'click',this.eventHandler(this._handle_click_23_0.bind(this))); - var disposable_3:Function = this.renderer.listen(this._el_31,'click',this.eventHandler(this._handle_click_31_0.bind(this))); - this.init(([] as any[]),[ + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_5,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_5)); + var disposable_1:Function = import3.subscribeToRenderElement(this,this._el_13,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_13)); + var disposable_2:Function = import3.subscribeToRenderElement(this,this._el_23,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_23)); + var disposable_3:Function = import3.subscribeToRenderElement(this,this._el_31,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_31)); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -281,93 +295,111 @@ class _View_DataTablePagerComponent0 extends import3.AppView { + if ((nodeIndex == 19)) { return new View_DataTablePagerComponent1(this.viewUtils,this,19,this._anchor_19,this._vc_19); } + return (null as any); + } + handleEvent_5(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_5_0:any = ((this.context.selectPage(1)) !== false); - return (true && pd_5_0); + var result:boolean = true; + if ((eventName == 'click')) { + const pd_sub_0:any = ((this.context.selectPage(1)) !== false); + result = (pd_sub_0 && result); + } + return result; } - private _handle_click_13_0($event:any):boolean { + handleEvent_13(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_13_0:any = ((this.context.prevPage()) !== false); - return (true && pd_13_0); + var result:boolean = true; + if ((eventName == 'click')) { + const pd_sub_0:any = ((this.context.prevPage()) !== false); + result = (pd_sub_0 && result); + } + return result; } - private _handle_click_23_0($event:any):boolean { + handleEvent_23(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_23_0:any = ((this.context.nextPage()) !== false); - return (true && pd_23_0); + var result:boolean = true; + if ((eventName == 'click')) { + const pd_sub_0:any = ((this.context.nextPage()) !== false); + result = (pd_sub_0 && result); + } + return result; } - private _handle_click_31_0($event:any):boolean { + handleEvent_31(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_31_0:any = ((this.context.selectPage(this.context.totalPages)) !== false); - return (true && pd_31_0); + var result:boolean = true; + if ((eventName == 'click')) { + const pd_sub_0:any = ((this.context.selectPage(this.context.totalPages)) !== false); + result = (pd_sub_0 && result); + } + return result; } } -export function viewFactory_DataTablePagerComponent0(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - if ((renderType_DataTablePagerComponent === (null as any))) { (renderType_DataTablePagerComponent = viewUtils.createRenderComponentType('',0,import9.ViewEncapsulation.None,styles_DataTablePagerComponent,{})); } - return new _View_DataTablePagerComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DataTablePagerComponent1 extends import3.AppView { +class View_DataTablePagerComponent1 extends import2.AppView { _el_0:any; _text_1:any; _el_2:any; @@ -375,48 +407,50 @@ class _View_DataTablePagerComponent1 extends import3.AppView { _text_4:any; /*private*/ _expr_5:any; /*private*/ _expr_6:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement) { - super(_View_DataTablePagerComponent1,renderType_DataTablePagerComponent,import7.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTablePagerComponent1,renderType_DataTablePagerComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_5 = import1.UNINITIALIZED; this._expr_6 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import5.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'li',import2.EMPTY_INLINE_ARRAY,(null as any)); + createInternal(rootSelector:string):import7.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'li',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this._el_2 = import2.createRenderElement(this.renderer,this._el_0,'a',new import2.InlineArray2(2,'href','javascript:void(0)'),(null as any)); + this._el_2 = import3.createRenderElement(this.renderer,this._el_0,'a',new import3.InlineArray2(2,'href','javascript:void(0)'),(null as any)); this._text_3 = this.renderer.createText(this._el_2,'',(null as any)); this._text_4 = this.renderer.createText(this._el_0,'\n ',(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_2,'click',this.eventHandler(this._handle_click_2_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_2,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_2)); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1, this._el_2, this._text_3, this._text_4 ] - ,[disposable_0],([] as any[])); + ),[disposable_0]); return (null as any); } detectChangesInternal(throwOnChange:boolean):void { - this.detectContentChildrenChanges(throwOnChange); - const currVal_5:any = (this.context.$implicit.number === this.parent.context.page); - if (import2.checkBinding(throwOnChange,this._expr_5,currVal_5)) { + const currVal_5:any = (this.context.$implicit.number === this.parentView.context.page); + if (import3.checkBinding(throwOnChange,this._expr_5,currVal_5)) { this.renderer.setElementClass(this._el_0,'active',currVal_5); this._expr_5 = currVal_5; } - const currVal_6:any = import2.interpolate(1,'\n ',this.context.$implicit.text,'\n '); - if (import2.checkBinding(throwOnChange,this._expr_6,currVal_6)) { + const currVal_6:any = import3.inlineInterpolate(1,'\n ',this.context.$implicit.text,'\n '); + if (import3.checkBinding(throwOnChange,this._expr_6,currVal_6)) { this.renderer.setText(this._text_3,currVal_6); this._expr_6 = currVal_6; } - this.detectViewChildrenChanges(throwOnChange); } - private _handle_click_2_0($event:any):boolean { + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_2(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_2_0:any = ((this.parent.context.selectPage(this.context.$implicit.number)) !== false); - return (true && pd_2_0); + var result:boolean = true; + if ((eventName == 'click')) { + const pd_sub_0:any = ((this.parentView.context.selectPage(this.context.$implicit.number)) !== false); + result = (pd_sub_0 && result); + } + return result; } -} -function viewFactory_DataTablePagerComponent1(viewUtils:import2.ViewUtils,parentInjector:import6.Injector,declarationEl:import5.AppElement):import3.AppView { - return new _View_DataTablePagerComponent1(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/header/header-cell.component.ngfactory.ts b/release/components/header/header-cell.component.ngfactory.ts index ade277739..df8cf48e1 100644 --- a/release/components/header/header-cell.component.ngfactory.ts +++ b/release/components/header/header-cell.component.ngfactory.ts @@ -1,33 +1,34 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/header/header-cell.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/security'; import * as import5 from '@angular/core/src/render/api'; -import * as import6 from '@angular/core/src/linker/element'; -import * as import7 from '@angular/core/src/di/injector'; -import * as import8 from '@angular/core/src/linker/view_type'; -import * as import9 from '@angular/core/src/metadata/view'; -import * as import10 from '@angular/core/src/linker/component_factory'; -import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; -import * as import12 from '../../../node_modules/@angular/common/src/directives/ng_class.ngfactory'; -import * as import13 from '@angular/core/src/linker/template_ref'; -import * as import14 from '@angular/core/src/change_detection/differs/iterable_differs'; -import * as import15 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import16 from '@angular/core/src/linker/element_ref'; -import * as import17 from '@angular/common/src/directives/ng_if'; -import * as import18 from '@angular/common/src/directives/ng_class'; -import * as import19 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; -import * as import20 from '@angular/common/src/directives/ng_template_outlet'; +import * as import6 from '@angular/core/src/metadata/view'; +import * as import7 from '@angular/core/src/linker/view_type'; +import * as import8 from '@angular/core/src/linker/component_factory'; +import * as import9 from '@angular/core/src/linker/view_container'; +import * as import10 from '../../../node_modules/@angular/common/src/directives/ng_if.ngfactory'; +import * as import11 from '../../../node_modules/@angular/common/src/directives/ng_class.ngfactory'; +import * as import12 from '@angular/core/src/linker/template_ref'; +import * as import13 from '@angular/core/src/change_detection/differs/iterable_differs'; +import * as import14 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +import * as import15 from '@angular/core/src/linker/element_ref'; +import * as import16 from '@angular/common/src/directives/ng_if'; +import * as import17 from '@angular/common/src/directives/ng_class'; +import * as import18 from '../../../node_modules/@angular/common/src/directives/ng_template_outlet.ngfactory'; +import * as import19 from '@angular/common/src/directives/ng_template_outlet'; export class Wrapper_DataTableHeaderCellComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableHeaderCellComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -40,8 +41,9 @@ export class Wrapper_DataTableHeaderCellComponent { /*private*/ _expr_9:any; /*private*/ _expr_10:any; /*private*/ _expr_11:any; + subscription0:any; constructor() { - this.changed = false; + this._changed = false; this.context = new import0.DataTableHeaderCellComponent(); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -56,165 +58,178 @@ export class Wrapper_DataTableHeaderCellComponent { this._expr_10 = import1.UNINITIALIZED; this._expr_11 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + } check_sortType(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.sortType = currValue; this._expr_0 = currValue; } } check_column(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.column = currValue; this._expr_1 = currValue; } } check_sortAscendingIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.sortAscendingIcon = currValue; this._expr_2 = currValue; } } check_sortDescendingIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.sortDescendingIcon = currValue; this._expr_3 = currValue; } } check_headerHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.headerHeight = currValue; this._expr_4 = currValue; } } check_sorts(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.sorts = currValue; this._expr_5 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_6:any = this.context.headerHeight; - if (import2.checkBinding(throwOnChange,this._expr_6,currVal_6)) { - view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_6,currVal_6)) { + view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_6).toString() + 'px'))); this._expr_6 = currVal_6; } const currVal_7:any = this.context.columnCssClasses; - if (import2.checkBinding(throwOnChange,this._expr_7,currVal_7)) { + if (import3.checkBinding(throwOnChange,this._expr_7,currVal_7)) { view.renderer.setElementProperty(el,'className',currVal_7); this._expr_7 = currVal_7; } const currVal_8:any = this.context.name; - if (import2.checkBinding(throwOnChange,this._expr_8,currVal_8)) { - view.renderer.setElementAttribute(el,'title',((currVal_8 == (null as any))? (null as any): currVal_8.toString())); + if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { + view.renderer.setElementAttribute(el,'title',((currVal_8 == null)? (null as any): currVal_8.toString())); this._expr_8 = currVal_8; } const currVal_9:any = this.context.minWidth; - if (import2.checkBinding(throwOnChange,this._expr_9,currVal_9)) { - view.renderer.setElementStyle(el,'minWidth',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_9,currVal_9)) { + view.renderer.setElementStyle(el,'minWidth',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9).toString() + 'px'))); this._expr_9 = currVal_9; } const currVal_10:any = this.context.maxWidth; - if (import2.checkBinding(throwOnChange,this._expr_10,currVal_10)) { - view.renderer.setElementStyle(el,'maxWidth',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_10,currVal_10)) { + view.renderer.setElementStyle(el,'maxWidth',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10).toString() + 'px'))); this._expr_10 = currVal_10; } const currVal_11:any = this.context.width; - if (import2.checkBinding(throwOnChange,this._expr_11,currVal_11)) { - view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11) == (null as any))? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11).toString() + 'px'))); + if (import3.checkBinding(throwOnChange,this._expr_11,currVal_11)) { + view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11) == null)? (null as any): (view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_11).toString() + 'px'))); this._expr_11 = currVal_11; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.sort.subscribe(_eventHandler.bind(view,'sort'))); } + } } -var renderType_DataTableHeaderCellComponent_Host:import5.RenderComponentType = (null as any); -class _View_DataTableHeaderCellComponent_Host0 extends import3.AppView { +var renderType_DataTableHeaderCellComponent_Host:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableHeaderCellComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _DataTableHeaderCellComponent_0_4:Wrapper_DataTableHeaderCellComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderCellComponent_Host0,renderType_DataTableHeaderCellComponent_Host,import8.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-header-cell',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableHeaderCellComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableHeaderCellComponent_0_4 = new Wrapper_DataTableHeaderCellComponent(); - this._appEl_0.initComponent(this._DataTableHeaderCellComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableHeaderCellComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTableHeaderCellComponent_0_3:Wrapper_DataTableHeaderCellComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableHeaderCellComponent_Host0,renderType_DataTableHeaderCellComponent_Host,import7.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-header-cell',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableHeaderCellComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableHeaderCellComponent_0_3 = new Wrapper_DataTableHeaderCellComponent(); + this.compView_0.create(this._DataTableHeaderCellComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import8.ComponentRef_(0,this,this._el_0,this._DataTableHeaderCellComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableHeaderCellComponent) && (0 === requestNodeIndex))) { return this._DataTableHeaderCellComponent_0_4.context; } + if (((token === import0.DataTableHeaderCellComponent) && (0 === requestNodeIndex))) { return this._DataTableHeaderCellComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableHeaderCellComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableHeaderCellComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTableHeaderCellComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._DataTableHeaderCellComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableHeaderCellComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_DataTableHeaderCellComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableHeaderCellComponent_Host === (null as any))) { (renderType_DataTableHeaderCellComponent_Host = viewUtils.createRenderComponentType('',0,import9.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableHeaderCellComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableHeaderCellComponentNgFactory:import10.ComponentFactory = new import10.ComponentFactory('datatable-header-cell',viewFactory_DataTableHeaderCellComponent_Host0,import0.DataTableHeaderCellComponent); +export const DataTableHeaderCellComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-header-cell',View_DataTableHeaderCellComponent_Host0,import0.DataTableHeaderCellComponent); const styles_DataTableHeaderCellComponent:any[] = ([] as any[]); -var renderType_DataTableHeaderCellComponent:import5.RenderComponentType = (null as any); -class _View_DataTableHeaderCellComponent0 extends import3.AppView { +var renderType_DataTableHeaderCellComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableHeaderCellComponent,{}); +export class View_DataTableHeaderCellComponent0 extends import2.AppView { _text_0:any; _el_1:any; _text_2:any; _anchor_3:any; - /*private*/ _appEl_3:import6.AppElement; + /*private*/ _vc_3:import9.ViewContainer; _TemplateRef_3_5:any; - _NgIf_3_6:import11.Wrapper_NgIf; + _NgIf_3_6:import10.Wrapper_NgIf; _text_4:any; _anchor_5:any; - /*private*/ _appEl_5:import6.AppElement; + /*private*/ _vc_5:import9.ViewContainer; _TemplateRef_5_5:any; - _NgIf_5_6:import11.Wrapper_NgIf; + _NgIf_5_6:import10.Wrapper_NgIf; _text_6:any; _el_7:any; - _NgClass_7_3:import12.Wrapper_NgClass; + _NgClass_7_3:import11.Wrapper_NgClass; _text_8:any; _text_9:any; _text_10:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderCellComponent0,renderType_DataTableHeaderCellComponent,import8.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableHeaderCellComponent0,renderType_DataTableHeaderCellComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); } - createInternal(rootSelector:string):import6.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import8.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import2.createRenderElement(this.renderer,parentRenderNode,'div',import2.EMPTY_INLINE_ARRAY,(null as any)); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',import3.EMPTY_INLINE_ARRAY,(null as any)); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_3 = new import6.AppElement(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import13.TemplateRef_(this._appEl_3,viewFactory_DataTableHeaderCellComponent1); - this._NgIf_3_6 = new import11.Wrapper_NgIf(this._appEl_3.vcRef,this._TemplateRef_3_5); + this._vc_3 = new import9.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import12.TemplateRef_(this,3,this._anchor_3); + this._NgIf_3_6 = new import10.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5); this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_5 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_5 = new import6.AppElement(5,1,this,this._anchor_5); - this._TemplateRef_5_5 = new import13.TemplateRef_(this._appEl_5,viewFactory_DataTableHeaderCellComponent2); - this._NgIf_5_6 = new import11.Wrapper_NgIf(this._appEl_5.vcRef,this._TemplateRef_5_5); + this._vc_5 = new import9.ViewContainer(5,1,this,this._anchor_5); + this._TemplateRef_5_5 = new import12.TemplateRef_(this,5,this._anchor_5); + this._NgIf_5_6 = new import10.Wrapper_NgIf(this._vc_5.vcRef,this._TemplateRef_5_5); this._text_6 = this.renderer.createText(this._el_1,'\n ',(null as any)); - this._el_7 = import2.createRenderElement(this.renderer,this._el_1,'span',new import2.InlineArray2(2,'class','sort-btn'),(null as any)); - this._NgClass_7_3 = new import12.Wrapper_NgClass(this.parentInjector.get(import14.IterableDiffers),this.parentInjector.get(import15.KeyValueDiffers),new import16.ElementRef(this._el_7),this.renderer); + this._el_7 = import3.createRenderElement(this.renderer,this._el_1,'span',new import3.InlineArray2(2,'class','sort-btn'),(null as any)); + this._NgClass_7_3 = new import11.Wrapper_NgClass(this.parentView.injectorGet(import13.IterableDiffers,this.parentIndex),this.parentView.injectorGet(import14.KeyValueDiffers,this.parentIndex),new import15.ElementRef(this._el_7),this.renderer); this._text_8 = this.renderer.createText(this._el_7,'\n ',(null as any)); this._text_9 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_10 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this.init(([] as any[]),[ + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -227,84 +242,91 @@ class _View_DataTableHeaderCellComponent0 extends import3.AppView { + if ((nodeIndex == 3)) { return new View_DataTableHeaderCellComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + if ((nodeIndex == 5)) { return new View_DataTableHeaderCellComponent2(this.viewUtils,this,5,this._anchor_5,this._vc_5); } + return (null as any); } } -export function viewFactory_DataTableHeaderCellComponent0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableHeaderCellComponent === (null as any))) { (renderType_DataTableHeaderCellComponent = viewUtils.createRenderComponentType('',0,import9.ViewEncapsulation.None,styles_DataTableHeaderCellComponent,{})); } - return new _View_DataTableHeaderCellComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableHeaderCellComponent1 extends import3.AppView { +class View_DataTableHeaderCellComponent1 extends import2.AppView { _el_0:any; _text_1:any; /*private*/ _expr_2:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderCellComponent1,renderType_DataTableHeaderCellComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableHeaderCellComponent1,renderType_DataTableHeaderCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_2 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'span',new import2.InlineArray2(2,'class','datatable-header-cell-label draggable'),(null as any)); + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'span',new import3.InlineArray2(2,'class','datatable-header-cell-label draggable'),(null as any)); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'click',this.eventHandler(this._handle_click_0_0.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_0)); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,[disposable_0],([] as any[])); + ),[disposable_0]); return (null as any); } detectChangesInternal(throwOnChange:boolean):void { - this.detectContentChildrenChanges(throwOnChange); - const currVal_2:any = this.parent.context.name; - if (import2.checkBinding(throwOnChange,this._expr_2,currVal_2)) { + const currVal_2:any = this.parentView.context.name; + if (import3.checkBinding(throwOnChange,this._expr_2,currVal_2)) { this.renderer.setElementProperty(this._el_0,'innerHTML',this.viewUtils.sanitizer.sanitize(import4.SecurityContext.HTML,currVal_2)); this._expr_2 = currVal_2; } - this.detectViewChildrenChanges(throwOnChange); } - private _handle_click_0_0($event:any):boolean { + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + handleEvent_0(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.context.onSort()) !== false); - return (true && pd_0_0); + var result:boolean = true; + if ((eventName == 'click')) { + const pd_sub_0:any = ((this.parentView.context.onSort()) !== false); + result = (pd_sub_0 && result); + } + return result; } } -function viewFactory_DataTableHeaderCellComponent1(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableHeaderCellComponent1(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableHeaderCellComponent2 extends import3.AppView { +class View_DataTableHeaderCellComponent2 extends import2.AppView { _anchor_0:any; - /*private*/ _appEl_0:import6.AppElement; + /*private*/ _vc_0:import9.ViewContainer; _TemplateRef_0_5:any; - _NgTemplateOutlet_0_6:import19.Wrapper_NgTemplateOutlet; - _map_4:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderCellComponent2,renderType_DataTableHeaderCellComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - this._map_4 = import2.pureProxy2((p0:any,p1:any):{[key: string]:any} => { + _NgTemplateOutlet_0_6:import18.Wrapper_NgTemplateOutlet; + _el_1:any; + _map_5:any; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableHeaderCellComponent2,renderType_DataTableHeaderCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + this._map_5 = import3.pureProxy2((p0:any,p1:any):{[key: string]:any} => { return { column: p0, sortDir: p1 @@ -312,43 +334,52 @@ class _View_DataTableHeaderCellComponent2 extends import3.AppView { ; }); } - createInternal(rootSelector:string):import6.AppElement { + createInternal(rootSelector:string):import8.ComponentRef { this._anchor_0 = this.renderer.createTemplateAnchor((null as any),(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._anchor_0); - this._TemplateRef_0_5 = new import13.TemplateRef_(this._appEl_0,viewFactory_DataTableHeaderCellComponent3); - this._NgTemplateOutlet_0_6 = new import19.Wrapper_NgTemplateOutlet(this._appEl_0.vcRef); - this.init(([] as any[]).concat([this._appEl_0]),[this._anchor_0],([] as any[]),([] as any[])); + this._vc_0 = new import9.ViewContainer(0,(null as any),this,this._anchor_0); + this._TemplateRef_0_5 = new import12.TemplateRef_(this,0,this._anchor_0); + this._NgTemplateOutlet_0_6 = new import18.Wrapper_NgTemplateOutlet(this._vc_0.vcRef); + this._el_1 = this.renderer.createTemplateAnchor((null as any),(null as any)); + this.init(this._el_1,((this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import13.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } - if (((token === import20.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } + if (((token === import12.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; } + if (((token === import19.NgTemplateOutlet) && (0 === requestNodeIndex))) { return this._NgTemplateOutlet_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this._map_4(this.parent.context.column,this.parent.context.sortDir); + const currVal_0_0_0:any = this._map_5(this.parentView.context.column,this.parentView.context.sortDir); this._NgTemplateOutlet_0_6.check_ngOutletContext(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = this.parent.context.column.headerTemplate; + const currVal_0_0_1:any = this.parentView.context.column.headerTemplate; this._NgTemplateOutlet_0_6.check_ngTemplateOutlet(currVal_0_0_1,throwOnChange,false); - this._NgTemplateOutlet_0_6.detectChangesInInputProps(this,this._anchor_0,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + this._NgTemplateOutlet_0_6.ngDoCheck(this,this._anchor_0,throwOnChange); + this._vc_0.detectChangesInNestedViews(throwOnChange); + } + destroyInternal():void { + this._vc_0.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._vc_0.nativeElement,ctx); + this._vc_0.visitNestedViewRootNodes(cb,ctx); + cb(this._el_1,ctx); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 0)) { return new View_DataTableHeaderCellComponent3(this.viewUtils,this,0,this._anchor_0,this._vc_0); } + return (null as any); } } -function viewFactory_DataTableHeaderCellComponent2(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableHeaderCellComponent2(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableHeaderCellComponent3 extends import3.AppView { +class View_DataTableHeaderCellComponent3 extends import2.AppView { _text_0:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderCellComponent3,renderType_DataTableHeaderCellComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import9.ViewContainer) { + super(View_DataTableHeaderCellComponent3,renderType_DataTableHeaderCellComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); } - createInternal(rootSelector:string):import6.AppElement { + createInternal(rootSelector:string):import8.ComponentRef { this._text_0 = this.renderer.createText((null as any),'\n ',(null as any)); - this.init(([] as any[]).concat([this._text_0]),[this._text_0],([] as any[]),([] as any[])); + this.init(this._text_0,((this.renderer).directRenderer? (null as any): [this._text_0]),(null as any)); return (null as any); } -} -function viewFactory_DataTableHeaderCellComponent3(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableHeaderCellComponent3(viewUtils,parentInjector,declarationEl); + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._text_0,ctx); + } } \ No newline at end of file diff --git a/release/components/header/header.component.ngfactory.ts b/release/components/header/header.component.ngfactory.ts index 0d4d40c5d..5b0cc7843 100644 --- a/release/components/header/header.component.ngfactory.ts +++ b/release/components/header/header.component.ngfactory.ts @@ -1,31 +1,32 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../../src/components/header/header.component'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; import * as import4 from '@angular/core/src/security'; import * as import5 from '@angular/core/src/render/api'; -import * as import6 from '@angular/core/src/linker/element'; -import * as import7 from '@angular/core/src/di/injector'; -import * as import8 from '@angular/core/src/linker/view_type'; +import * as import6 from '@angular/core/src/metadata/view'; +import * as import7 from '@angular/core/src/linker/view_type'; +import * as import8 from '@angular/core/src/linker/component_factory'; import * as import9 from '@angular/core/src/linker/element_ref'; -import * as import10 from '@angular/core/src/metadata/view'; -import * as import11 from '@angular/core/src/linker/component_factory'; -import * as import12 from '../../directives/orderable.directive.ngfactory'; -import * as import13 from '@angular/core/src/linker/query_list'; -import * as import14 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; -import * as import15 from '@angular/core/src/change_detection/differs/keyvalue_differs'; -import * as import16 from '@angular/core/src/linker/template_ref'; -import * as import17 from '@angular/core/src/change_detection/differs/iterable_differs'; -import * as import18 from '@angular/common/src/directives/ng_for'; -import * as import19 from '../../../../src/directives/orderable.directive'; -import * as import20 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; -import * as import21 from '@angular/common/src/directives/ng_style'; +import * as import10 from '../../directives/orderable.directive.ngfactory'; +import * as import11 from '@angular/core/src/linker/query_list'; +import * as import12 from '@angular/core/src/linker/view_container'; +import * as import13 from '../../../node_modules/@angular/common/src/directives/ng_for.ngfactory'; +import * as import14 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +import * as import15 from '@angular/core/src/linker/template_ref'; +import * as import16 from '@angular/core/src/change_detection/differs/iterable_differs'; +import * as import17 from '@angular/common/src/directives/ng_for'; +import * as import18 from '../../../../src/directives/orderable.directive'; +import * as import19 from '../../../node_modules/@angular/common/src/directives/ng_style.ngfactory'; +import * as import20 from '@angular/common/src/directives/ng_style'; +import * as import21 from '../../../../src/components/header/header-cell.component'; import * as import22 from '../../directives/draggable.directive.ngfactory'; import * as import23 from '../../directives/resizeable.directive.ngfactory'; import * as import24 from '../../directives/long-press.directive.ngfactory'; @@ -33,10 +34,10 @@ import * as import25 from './header-cell.component.ngfactory'; import * as import26 from '../../../../src/directives/draggable.directive'; import * as import27 from '../../../../src/directives/resizeable.directive'; import * as import28 from '../../../../src/directives/long-press.directive'; -import * as import29 from '../../../../src/components/header/header-cell.component'; export class Wrapper_DataTableHeaderComponent { + /*private*/ _eventHandler:Function; context:import0.DataTableHeaderComponent; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; @@ -48,8 +49,11 @@ export class Wrapper_DataTableHeaderComponent { /*private*/ _expr_8:any; /*private*/ _expr_9:any; /*private*/ _expr_10:any; + subscription0:any; + subscription1:any; + subscription2:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.DataTableHeaderComponent(p0,p1); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; @@ -63,156 +67,173 @@ export class Wrapper_DataTableHeaderComponent { this._expr_9 = import1.UNINITIALIZED; this._expr_10 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + (this.subscription1 && this.subscription1.unsubscribe()); + (this.subscription2 && this.subscription2.unsubscribe()); + } check_sortAscendingIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.sortAscendingIcon = currValue; this._expr_0 = currValue; } } check_sortDescendingIcon(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.sortDescendingIcon = currValue; this._expr_1 = currValue; } } check_scrollbarH(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.scrollbarH = currValue; this._expr_2 = currValue; } } check_innerWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_3,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_3,currValue))) { + this._changed = true; this.context.innerWidth = currValue; this._expr_3 = currValue; } } check_offsetX(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_4,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_4,currValue))) { + this._changed = true; this.context.offsetX = currValue; this._expr_4 = currValue; } } check_sorts(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_5,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_5,currValue))) { + this._changed = true; this.context.sorts = currValue; this._expr_5 = currValue; } } check_sortType(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_6,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_6,currValue))) { + this._changed = true; this.context.sortType = currValue; this._expr_6 = currValue; } } check_headerHeight(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_7,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_7,currValue))) { + this._changed = true; this.context.headerHeight = currValue; this._expr_7 = currValue; } } check_columns(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_8,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_8,currValue))) { + this._changed = true; this.context.columns = currValue; this._expr_8 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_9:any = this.context.headerHeight; - if (import2.checkBinding(throwOnChange,this._expr_9,currVal_9)) { - view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9) == (null as any))? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9).toString())); + if (import3.checkBinding(throwOnChange,this._expr_9,currVal_9)) { + view.renderer.setElementStyle(el,'height',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9) == null)? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_9).toString())); this._expr_9 = currVal_9; } const currVal_10:any = this.context.headerWidth; - if (import2.checkBinding(throwOnChange,this._expr_10,currVal_10)) { - view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10) == (null as any))? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10).toString())); + if (import3.checkBinding(throwOnChange,this._expr_10,currVal_10)) { + view.renderer.setElementStyle(el,'width',((view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10) == null)? (null as any): view.viewUtils.sanitizer.sanitize(import4.SecurityContext.STYLE,currVal_10).toString())); this._expr_10 = currVal_10; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean,emit1:boolean,emit2:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.sort.subscribe(_eventHandler.bind(view,'sort'))); } + if (emit1) { (this.subscription1 = this.context.reorder.subscribe(_eventHandler.bind(view,'reorder'))); } + if (emit2) { (this.subscription2 = this.context.resize.subscribe(_eventHandler.bind(view,'resize'))); } + } } -var renderType_DataTableHeaderComponent_Host:import5.RenderComponentType = (null as any); -class _View_DataTableHeaderComponent_Host0 extends import3.AppView { +var renderType_DataTableHeaderComponent_Host:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,([] as any[]),{}); +class View_DataTableHeaderComponent_Host0 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _DataTableHeaderComponent_0_4:Wrapper_DataTableHeaderComponent; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderComponent_Host0,renderType_DataTableHeaderComponent_Host,import8.ViewType.HOST,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.selectOrCreateRenderHostElement(this.renderer,'datatable-header',import2.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = viewFactory_DataTableHeaderComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DataTableHeaderComponent_0_4 = new Wrapper_DataTableHeaderComponent(new import9.ElementRef(this._el_0),this.renderer); - this._appEl_0.initComponent(this._DataTableHeaderComponent_0_4.context,([] as any[]),compView_0); - compView_0.create(this._DataTableHeaderComponent_0_4.context,this.projectableNodes,(null as any)); - this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[])); - return this._appEl_0; + compView_0:import2.AppView; + _DataTableHeaderComponent_0_3:Wrapper_DataTableHeaderComponent; + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableHeaderComponent_Host0,renderType_DataTableHeaderComponent_Host,import7.ViewType.HOST,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.selectOrCreateRenderHostElement(this.renderer,'datatable-header',import3.EMPTY_INLINE_ARRAY,rootSelector,(null as any)); + this.compView_0 = new View_DataTableHeaderComponent0(this.viewUtils,this,0,this._el_0); + this._DataTableHeaderComponent_0_3 = new Wrapper_DataTableHeaderComponent(new import9.ElementRef(this._el_0),this.renderer); + this.compView_0.create(this._DataTableHeaderComponent_0_3.context); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [this._el_0]),(null as any)); + return new import8.ComponentRef_(0,this,this._el_0,this._DataTableHeaderComponent_0_3.context); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import0.DataTableHeaderComponent) && (0 === requestNodeIndex))) { return this._DataTableHeaderComponent_0_4.context; } + if (((token === import0.DataTableHeaderComponent) && (0 === requestNodeIndex))) { return this._DataTableHeaderComponent_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - if (this._DataTableHeaderComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DataTableHeaderComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + if (this._DataTableHeaderComponent_0_3.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._DataTableHeaderComponent_0_3.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); + } + destroyInternal():void { + this.compView_0.destroy(); + this._DataTableHeaderComponent_0_3.ngOnDestroy(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } } -function viewFactory_DataTableHeaderComponent_Host0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableHeaderComponent_Host === (null as any))) { (renderType_DataTableHeaderComponent_Host = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,([] as any[]),{})); } - return new _View_DataTableHeaderComponent_Host0(viewUtils,parentInjector,declarationEl); -} -export const DataTableHeaderComponentNgFactory:import11.ComponentFactory = new import11.ComponentFactory('datatable-header',viewFactory_DataTableHeaderComponent_Host0,import0.DataTableHeaderComponent); +export const DataTableHeaderComponentNgFactory:import8.ComponentFactory = new import8.ComponentFactory('datatable-header',View_DataTableHeaderComponent_Host0,import0.DataTableHeaderComponent); const styles_DataTableHeaderComponent:any[] = ([] as any[]); -var renderType_DataTableHeaderComponent:import5.RenderComponentType = (null as any); -class _View_DataTableHeaderComponent0 extends import3.AppView { +var renderType_DataTableHeaderComponent:import5.RenderComponentType = import3.createRenderComponentType('',0,import6.ViewEncapsulation.None,styles_DataTableHeaderComponent,{}); +export class View_DataTableHeaderComponent0 extends import2.AppView { _text_0:any; _el_1:any; - _OrderableDirective_1_3:import12.Wrapper_OrderableDirective; - _query_DraggableDirective_1_0:import13.QueryList; + _OrderableDirective_1_3:import10.Wrapper_OrderableDirective; + _query_DraggableDirective_1_0:import11.QueryList; _text_2:any; _anchor_3:any; - /*private*/ _appEl_3:import6.AppElement; + /*private*/ _vc_3:import12.ViewContainer; _TemplateRef_3_5:any; - _NgFor_3_6:import14.Wrapper_NgFor; + _NgFor_3_6:import13.Wrapper_NgFor; _text_4:any; _text_5:any; /*private*/ _expr_11:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderComponent0,renderType_DataTableHeaderComponent,import8.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckOnce); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any) { + super(View_DataTableHeaderComponent0,renderType_DataTableHeaderComponent,import7.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckOnce); this._expr_11 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import6.AppElement { - const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement); + createInternal(rootSelector:string):import8.ComponentRef { + const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement); this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - this._el_1 = import2.createRenderElement(this.renderer,parentRenderNode,'div',new import2.InlineArray4(4,'class','datatable-header-inner','orderable',''),(null as any)); - this._OrderableDirective_1_3 = new import12.Wrapper_OrderableDirective(this.parentInjector.get(import15.KeyValueDiffers)); - this._query_DraggableDirective_1_0 = new import13.QueryList(); + this._el_1 = import3.createRenderElement(this.renderer,parentRenderNode,'div',new import3.InlineArray4(4,'class','datatable-header-inner','orderable',''),(null as any)); + this._OrderableDirective_1_3 = new import10.Wrapper_OrderableDirective(this.parentView.injectorGet(import14.KeyValueDiffers,this.parentIndex)); + this._query_DraggableDirective_1_0 = new import11.QueryList(); this._text_2 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any)); - this._appEl_3 = new import6.AppElement(3,1,this,this._anchor_3); - this._TemplateRef_3_5 = new import16.TemplateRef_(this._appEl_3,viewFactory_DataTableHeaderComponent1); - this._NgFor_3_6 = new import14.Wrapper_NgFor(this._appEl_3.vcRef,this._TemplateRef_3_5,this.parentInjector.get(import17.IterableDiffers),this.ref); + this._vc_3 = new import12.ViewContainer(3,1,this,this._anchor_3); + this._TemplateRef_3_5 = new import15.TemplateRef_(this,3,this._anchor_3); + this._NgFor_3_6 = new import13.Wrapper_NgFor(this._vc_3.vcRef,this._TemplateRef_3_5,this.parentView.injectorGet(import16.IterableDiffers,this.parentIndex),this.ref); this._text_4 = this.renderer.createText(this._el_1,'\n ',(null as any)); this._text_5 = this.renderer.createText(parentRenderNode,'\n ',(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_1,'reorder',this.eventHandler(this._handle_reorder_1_0.bind(this))); - const subscription_0:any = this._OrderableDirective_1_3.context.reorder.subscribe(this.eventHandler(this._handle_reorder_1_0.bind(this))); - this.init(([] as any[]),[ + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_1,new import3.InlineArray2(2,'reorder',(null as any)),this.eventHandler(this.handleEvent_1)); + this._OrderableDirective_1_3.subscribe(this,this.eventHandler(this.handleEvent_1),true); + this.init((null as any),((this.renderer).directRenderer? (null as any): [ this._text_0, this._el_1, this._text_2, @@ -220,28 +241,28 @@ class _View_DataTableHeaderComponent0 extends import3.AppView { - return [nestedView._appEl_2.mapNestedViews(_View_DataTableHeaderComponent2,(nestedView:_View_DataTableHeaderComponent2):any => { - return [nestedView._DraggableDirective_0_4.context]; + this._query_DraggableDirective_1_0.reset([this._vc_3.mapNestedViews(View_DataTableHeaderComponent1,(nestedView:View_DataTableHeaderComponent1):any => { + return [nestedView._vc_2.mapNestedViews(View_DataTableHeaderComponent2,(nestedView:View_DataTableHeaderComponent2):any => { + return [nestedView._DraggableDirective_0_3.context]; })]; })]); this._OrderableDirective_1_3.context.draggables = this._query_DraggableDirective_1_0; @@ -250,233 +271,197 @@ class _View_DataTableHeaderComponent0 extends import3.AppView { + if ((nodeIndex == 3)) { return new View_DataTableHeaderComponent1(this.viewUtils,this,3,this._anchor_3,this._vc_3); } + return (null as any); } - private _handle_reorder_1_0($event:any):boolean { + handleEvent_1(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_1_0:any = ((this.context.onColumnReordered($event)) !== false); - return (true && pd_1_0); + var result:boolean = true; + if ((eventName == 'reorder')) { + const pd_sub_0:any = ((this.context.onColumnReordered($event)) !== false); + result = (pd_sub_0 && result); + } + return result; } } -export function viewFactory_DataTableHeaderComponent0(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - if ((renderType_DataTableHeaderComponent === (null as any))) { (renderType_DataTableHeaderComponent = viewUtils.createRenderComponentType('',0,import10.ViewEncapsulation.None,styles_DataTableHeaderComponent,{})); } - return new _View_DataTableHeaderComponent0(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableHeaderComponent1 extends import3.AppView { +class View_DataTableHeaderComponent1 extends import2.AppView { _el_0:any; - _NgStyle_0_3:import20.Wrapper_NgStyle; + _NgStyle_0_3:import19.Wrapper_NgStyle; _text_1:any; _anchor_2:any; - /*private*/ _appEl_2:import6.AppElement; + /*private*/ _vc_2:import12.ViewContainer; _TemplateRef_2_5:any; - _NgFor_2_6:import14.Wrapper_NgFor; + _NgFor_2_6:import13.Wrapper_NgFor; _text_3:any; /*private*/ _expr_8:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderComponent1,renderType_DataTableHeaderComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { + super(View_DataTableHeaderComponent1,renderType_DataTableHeaderComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); this._expr_8 = import1.UNINITIALIZED; } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'div',import2.EMPTY_INLINE_ARRAY,(null as any)); - this._NgStyle_0_3 = new import20.Wrapper_NgStyle(this.parent.parentInjector.get(import15.KeyValueDiffers),new import9.ElementRef(this._el_0),this.renderer); + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',import3.EMPTY_INLINE_ARRAY,(null as any)); + this._NgStyle_0_3 = new import19.Wrapper_NgStyle(this.parentView.parentView.injectorGet(import14.KeyValueDiffers,this.parentView.parentIndex),new import9.ElementRef(this._el_0),this.renderer); this._text_1 = this.renderer.createText(this._el_0,'\n ',(null as any)); this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any)); - this._appEl_2 = new import6.AppElement(2,0,this,this._anchor_2); - this._TemplateRef_2_5 = new import16.TemplateRef_(this._appEl_2,viewFactory_DataTableHeaderComponent2); - this._NgFor_2_6 = new import14.Wrapper_NgFor(this._appEl_2.vcRef,this._TemplateRef_2_5,this.parent.parentInjector.get(import17.IterableDiffers),this.parent.ref); + this._vc_2 = new import12.ViewContainer(2,0,this,this._anchor_2); + this._TemplateRef_2_5 = new import15.TemplateRef_(this,2,this._anchor_2); + this._NgFor_2_6 = new import13.Wrapper_NgFor(this._vc_2.vcRef,this._TemplateRef_2_5,this.parentView.parentView.injectorGet(import16.IterableDiffers,this.parentView.parentIndex),this.parentView.ref); this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any)); - this.init(([] as any[]).concat([this._el_0]),[ + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1, this._anchor_2, this._text_3 ] - ,([] as any[]),([] as any[])); + ),(null as any)); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import16.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } - if (((token === import18.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } - if (((token === import21.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } + if (((token === import15.TemplateRef) && (2 === requestNodeIndex))) { return this._TemplateRef_2_5; } + if (((token === import17.NgFor) && (2 === requestNodeIndex))) { return this._NgFor_2_6.context; } + if (((token === import20.NgStyle) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 3)))) { return this._NgStyle_0_3.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { - const currVal_0_0_0:any = this.parent.context.stylesByGroup(this.context.$implicit.type); + const currVal_0_0_0:any = this.parentView.context.stylesByGroup(this.context.$implicit.type); this._NgStyle_0_3.check_ngStyle(currVal_0_0_0,throwOnChange,false); - this._NgStyle_0_3.detectChangesInInputProps(this,this._el_0,throwOnChange); + this._NgStyle_0_3.ngDoCheck(this,this._el_0,throwOnChange); const currVal_2_0_0:any = this.context.$implicit.columns; this._NgFor_2_6.check_ngForOf(currVal_2_0_0,throwOnChange,false); - const currVal_2_0_1:any = ((this.parent.context.column == (null as any))? (null as any): this.parent.context.column.$$id); + const currVal_2_0_1:any = ((this.parentView.context.column == null)? (null as any): this.parentView.context.column.$$id); this._NgFor_2_6.check_ngForTrackBy(currVal_2_0_1,throwOnChange,false); - this._NgFor_2_6.detectChangesInInputProps(this,this._anchor_2,throwOnChange); - this.detectContentChildrenChanges(throwOnChange); + this._NgFor_2_6.ngDoCheck(this,this._anchor_2,throwOnChange); + this._vc_2.detectChangesInNestedViews(throwOnChange); const currVal_8:any = ('datatable-row-' + this.context.$implicit.type); - if (import2.checkBinding(throwOnChange,this._expr_8,currVal_8)) { + if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) { this.renderer.setElementProperty(this._el_0,'className',currVal_8); this._expr_8 = currVal_8; } - this._NgStyle_0_3.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + } + destroyInternal():void { + this._vc_2.destroyNestedViews(); + } + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); + } + createEmbeddedViewInternal(nodeIndex:number):import2.AppView { + if ((nodeIndex == 2)) { return new View_DataTableHeaderComponent2(this.viewUtils,this,2,this._anchor_2,this._vc_2); } + return (null as any); } } -function viewFactory_DataTableHeaderComponent1(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableHeaderComponent1(viewUtils,parentInjector,declarationEl); -} -class _View_DataTableHeaderComponent2 extends import3.AppView { +class View_DataTableHeaderComponent2 extends import2.AppView { _el_0:any; - /*private*/ _appEl_0:import6.AppElement; - _DraggableDirective_0_4:import22.Wrapper_DraggableDirective; - _ResizeableDirective_0_5:import23.Wrapper_ResizeableDirective; - _LongPressDirective_0_6:import24.Wrapper_LongPressDirective; - _DataTableHeaderCellComponent_0_7:import25.Wrapper_DataTableHeaderCellComponent; + compView_0:import2.AppView; + _DraggableDirective_0_3:import22.Wrapper_DraggableDirective; + _ResizeableDirective_0_4:import23.Wrapper_ResizeableDirective; + _LongPressDirective_0_5:import24.Wrapper_LongPressDirective; + _DataTableHeaderCellComponent_0_6:import25.Wrapper_DataTableHeaderCellComponent; _text_1:any; - constructor(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement) { - super(_View_DataTableHeaderComponent2,renderType_DataTableHeaderComponent,import8.ViewType.EMBEDDED,viewUtils,parentInjector,declarationEl,import1.ChangeDetectorStatus.CheckAlways); - } - createInternal(rootSelector:string):import6.AppElement { - this._el_0 = import2.createRenderElement(this.renderer,(null as any),'datatable-header-cell',new import2.InlineArray8(6,'draggable','','long-press','','resizeable',''),(null as any)); - this._appEl_0 = new import6.AppElement(0,(null as any),this,this._el_0); - var compView_0:any = import25.viewFactory_DataTableHeaderCellComponent0(this.viewUtils,this.injector(0),this._appEl_0); - this._DraggableDirective_0_4 = new import22.Wrapper_DraggableDirective(new import9.ElementRef(this._el_0)); - this._ResizeableDirective_0_5 = new import23.Wrapper_ResizeableDirective(new import9.ElementRef(this._el_0)); - this._LongPressDirective_0_6 = new import24.Wrapper_LongPressDirective(); - this._DataTableHeaderCellComponent_0_7 = new import25.Wrapper_DataTableHeaderCellComponent(); - this._appEl_0.initComponent(this._DataTableHeaderCellComponent_0_7.context,([] as any[]),compView_0); + constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView,parentIndex:number,parentElement:any,declaredViewContainer:import12.ViewContainer) { + super(View_DataTableHeaderComponent2,renderType_DataTableHeaderComponent,import7.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import1.ChangeDetectorStatus.CheckAlways,declaredViewContainer); + } + createInternal(rootSelector:string):import8.ComponentRef { + this._el_0 = import3.createRenderElement(this.renderer,(null as any),'datatable-header-cell',new import3.InlineArray8(6,'draggable','','long-press','','resizeable',''),(null as any)); + this.compView_0 = new import25.View_DataTableHeaderCellComponent0(this.viewUtils,this,0,this._el_0); + this._DraggableDirective_0_3 = new import22.Wrapper_DraggableDirective(new import9.ElementRef(this._el_0)); + this._ResizeableDirective_0_4 = new import23.Wrapper_ResizeableDirective(new import9.ElementRef(this._el_0)); + this._LongPressDirective_0_5 = new import24.Wrapper_LongPressDirective(); + this._DataTableHeaderCellComponent_0_6 = new import25.Wrapper_DataTableHeaderCellComponent(); this._text_1 = this.renderer.createText((null as any),'\n ',(null as any)); - compView_0.create(this._DataTableHeaderCellComponent_0_7.context,([] as any[]),(null as any)); - var disposable_0:Function = this.renderer.listen(this._el_0,'resize',this.eventHandler(this._handle_resize_0_0.bind(this))); - var disposable_1:Function = this.renderer.listen(this._el_0,'longPress',this.eventHandler(this._handle_longPress_0_1.bind(this))); - var disposable_2:Function = this.renderer.listen(this._el_0,'longPressEnd',this.eventHandler(this._handle_longPressEnd_0_2.bind(this))); - var disposable_3:Function = this.renderer.listen(this._el_0,'sort',this.eventHandler(this._handle_sort_0_3.bind(this))); - var disposable_4:Function = this.renderer.listenGlobal('document','mouseup',this.eventHandler(this._handle_mouseup_0_4.bind(this))); - var disposable_5:Function = this.renderer.listen(this._el_0,'mousedown',this.eventHandler(this._handle_mousedown_0_5.bind(this))); - var disposable_6:Function = this.renderer.listen(this._el_0,'mousemove',this.eventHandler(this._handle_mousemove_0_6.bind(this))); - var disposable_7:Function = this.renderer.listen(this._el_0,'mouseup',this.eventHandler(this._handle_mouseup_0_7.bind(this))); - const subscription_0:any = this._ResizeableDirective_0_5.context.resize.subscribe(this.eventHandler(this._handle_resize_0_0.bind(this))); - const subscription_1:any = this._LongPressDirective_0_6.context.longPress.subscribe(this.eventHandler(this._handle_longPress_0_1.bind(this))); - const subscription_2:any = this._LongPressDirective_0_6.context.longPressEnd.subscribe(this.eventHandler(this._handle_longPressEnd_0_2.bind(this))); - const subscription_3:any = this._DataTableHeaderCellComponent_0_7.context.sort.subscribe(this.eventHandler(this._handle_sort_0_3.bind(this))); - this.init(([] as any[]).concat([this._el_0]),[ + this.compView_0.create(this._DataTableHeaderCellComponent_0_6.context); + var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_0,new import3.InlineArray16(16,'resize',(null as any),'longPress',(null as any),'longPressEnd',(null as any),'sort',(null as any),'mouseup','document','mousedown',(null as any),'mousemove',(null as any),'mouseup',(null as any)),this.eventHandler(this.handleEvent_0)); + this._ResizeableDirective_0_4.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this._LongPressDirective_0_5.subscribe(this,this.eventHandler(this.handleEvent_0),true,false,true); + this._DataTableHeaderCellComponent_0_6.subscribe(this,this.eventHandler(this.handleEvent_0),true); + this.init(this._el_0,((this.renderer).directRenderer? (null as any): [ this._el_0, this._text_1 ] - ,[ - disposable_0, - disposable_1, - disposable_2, - disposable_3, - disposable_4, - disposable_5, - disposable_6, - disposable_7 - ] - ,[ - subscription_0, - subscription_1, - subscription_2, - subscription_3 - ] - ); + ),[disposable_0]); return (null as any); } injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { - if (((token === import26.DraggableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DraggableDirective_0_4.context; } - if (((token === import27.ResizeableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ResizeableDirective_0_5.context; } - if (((token === import28.LongPressDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._LongPressDirective_0_6.context; } - if (((token === import29.DataTableHeaderCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderCellComponent_0_7.context; } + if (((token === import26.DraggableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DraggableDirective_0_3.context; } + if (((token === import27.ResizeableDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._ResizeableDirective_0_4.context; } + if (((token === import28.LongPressDirective) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._LongPressDirective_0_5.context; } + if (((token === import21.DataTableHeaderCellComponent) && ((0 <= requestNodeIndex) && (requestNodeIndex <= 1)))) { return this._DataTableHeaderCellComponent_0_6.context; } return notFoundResult; } detectChangesInternal(throwOnChange:boolean):void { const currVal_0_0_0:any = this.context.$implicit; - this._DraggableDirective_0_4.check_dragModel(currVal_0_0_0,throwOnChange,false); - const currVal_0_0_1:any = (this.context.$implicit.draggable && this.parent.parent.context.drag); - this._DraggableDirective_0_4.check_dragX(currVal_0_0_1,throwOnChange,false); + this._DraggableDirective_0_3.check_dragModel(currVal_0_0_0,throwOnChange,false); + const currVal_0_0_1:any = (this.context.$implicit.draggable && this.parentView.parentView.context.drag); + this._DraggableDirective_0_3.check_dragX(currVal_0_0_1,throwOnChange,false); const currVal_0_0_2:any = false; - this._DraggableDirective_0_4.check_dragY(currVal_0_0_2,throwOnChange,false); - this._DraggableDirective_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange); + this._DraggableDirective_0_3.check_dragY(currVal_0_0_2,throwOnChange,false); + this._DraggableDirective_0_3.ngDoCheck(this,this._el_0,throwOnChange); const currVal_0_1_0:any = this.context.$implicit.resizeable; - this._ResizeableDirective_0_5.check_resizeEnabled(currVal_0_1_0,throwOnChange,false); - this._ResizeableDirective_0_5.detectChangesInInputProps(this,this._el_0,throwOnChange); - this._LongPressDirective_0_6.detectChangesInInputProps(this,this._el_0,throwOnChange); - const currVal_0_3_0:any = this.parent.parent.context.sortType; - this._DataTableHeaderCellComponent_0_7.check_sortType(currVal_0_3_0,throwOnChange,false); + this._ResizeableDirective_0_4.check_resizeEnabled(currVal_0_1_0,throwOnChange,false); + this._ResizeableDirective_0_4.ngDoCheck(this,this._el_0,throwOnChange); + this._LongPressDirective_0_5.ngDoCheck(this,this._el_0,throwOnChange); + const currVal_0_3_0:any = this.parentView.parentView.context.sortType; + this._DataTableHeaderCellComponent_0_6.check_sortType(currVal_0_3_0,throwOnChange,false); const currVal_0_3_1:any = this.context.$implicit; - this._DataTableHeaderCellComponent_0_7.check_column(currVal_0_3_1,throwOnChange,false); - const currVal_0_3_2:any = this.parent.parent.context.sortAscendingIcon; - this._DataTableHeaderCellComponent_0_7.check_sortAscendingIcon(currVal_0_3_2,throwOnChange,false); - const currVal_0_3_3:any = this.parent.parent.context.sortDescendingIcon; - this._DataTableHeaderCellComponent_0_7.check_sortDescendingIcon(currVal_0_3_3,throwOnChange,false); - const currVal_0_3_4:any = this.parent.parent.context.headerHeight; - this._DataTableHeaderCellComponent_0_7.check_headerHeight(currVal_0_3_4,throwOnChange,false); - const currVal_0_3_5:any = this.parent.parent.context.sorts; - this._DataTableHeaderCellComponent_0_7.check_sorts(currVal_0_3_5,throwOnChange,false); - if (this._DataTableHeaderCellComponent_0_7.detectChangesInInputProps(this,this._el_0,throwOnChange)) { this._appEl_0.componentView.markAsCheckOnce(); } - this.detectContentChildrenChanges(throwOnChange); - this._DraggableDirective_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange); - this._ResizeableDirective_0_5.detectChangesInHostProps(this,this._el_0,throwOnChange); - this._LongPressDirective_0_6.detectChangesInHostProps(this,this._el_0,throwOnChange); - this._DataTableHeaderCellComponent_0_7.detectChangesInHostProps(this,this._el_0,throwOnChange); - this.detectViewChildrenChanges(throwOnChange); + this._DataTableHeaderCellComponent_0_6.check_column(currVal_0_3_1,throwOnChange,false); + const currVal_0_3_2:any = this.parentView.parentView.context.sortAscendingIcon; + this._DataTableHeaderCellComponent_0_6.check_sortAscendingIcon(currVal_0_3_2,throwOnChange,false); + const currVal_0_3_3:any = this.parentView.parentView.context.sortDescendingIcon; + this._DataTableHeaderCellComponent_0_6.check_sortDescendingIcon(currVal_0_3_3,throwOnChange,false); + const currVal_0_3_4:any = this.parentView.parentView.context.headerHeight; + this._DataTableHeaderCellComponent_0_6.check_headerHeight(currVal_0_3_4,throwOnChange,false); + const currVal_0_3_5:any = this.parentView.parentView.context.sorts; + this._DataTableHeaderCellComponent_0_6.check_sorts(currVal_0_3_5,throwOnChange,false); + if (this._DataTableHeaderCellComponent_0_6.ngDoCheck(this,this._el_0,throwOnChange)) { this.compView_0.markAsCheckOnce(); } + this._ResizeableDirective_0_4.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this._LongPressDirective_0_5.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this._DataTableHeaderCellComponent_0_6.checkHost(this,this.compView_0,this._el_0,throwOnChange); + this.compView_0.detectChanges(throwOnChange); } dirtyParentQueriesInternal():void { - (<_View_DataTableHeaderComponent0>this.parent.parent)._query_DraggableDirective_1_0.setDirty(); + (this.parentView.parentView)._query_DraggableDirective_1_0.setDirty(); } destroyInternal():void { - this._DraggableDirective_0_4.context.ngOnDestroy(); - this._ResizeableDirective_0_5.context.ngOnDestroy(); - } - private _handle_resize_0_0($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.parent.context.onColumnResized($event,this.context.$implicit)) !== false); - return (true && pd_0_0); - } - private _handle_longPress_0_1($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = (((this.parent.parent.context.drag = true)) !== false); - return (true && pd_0_0); + this.compView_0.destroy(); + this._DraggableDirective_0_3.ngOnDestroy(); + this._ResizeableDirective_0_4.ngOnDestroy(); + this._LongPressDirective_0_5.ngOnDestroy(); + this._DataTableHeaderCellComponent_0_6.ngOnDestroy(); } - private _handle_longPressEnd_0_2($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = (((this.parent.parent.context.drag = false)) !== false); - return (true && pd_0_0); - } - private _handle_sort_0_3($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this.parent.parent.context.onSort($event)) !== false); - return (true && pd_0_0); - } - private _handle_mouseup_0_4($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DraggableDirective_0_4.context.onMouseup($event)) !== false); - const pd_0_1:any = ((this._ResizeableDirective_0_5.context.onMouseup($event)) !== false); - return ((true && pd_0_0) && pd_0_1); + visitRootNodesInternal(cb:any,ctx:any):void { + cb(this._el_0,ctx); } - private _handle_mousedown_0_5($event:any):boolean { + handleEvent_0(eventName:string,$event:any):boolean { this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._DraggableDirective_0_4.context.onMousedown($event)) !== false); - const pd_0_1:any = ((this._ResizeableDirective_0_5.context.onMousedown($event)) !== false); - const pd_0_2:any = ((this._LongPressDirective_0_6.context.onMouseDown($event)) !== false); - return (((true && pd_0_0) && pd_0_1) && pd_0_2); - } - private _handle_mousemove_0_6($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._LongPressDirective_0_6.context.onMouseMove($event)) !== false); - return (true && pd_0_0); - } - private _handle_mouseup_0_7($event:any):boolean { - this.markPathToRootAsCheckOnce(); - const pd_0_0:any = ((this._LongPressDirective_0_6.context.onMouseUp()) !== false); - return (true && pd_0_0); + var result:boolean = true; + result = (this._DraggableDirective_0_3.handleEvent(eventName,$event) && result); + result = (this._ResizeableDirective_0_4.handleEvent(eventName,$event) && result); + result = (this._LongPressDirective_0_5.handleEvent(eventName,$event) && result); + if ((eventName == 'resize')) { + const pd_sub_0:any = ((this.parentView.parentView.context.onColumnResized($event,this.context.$implicit)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'longPress')) { + const pd_sub_1:any = (((this.parentView.parentView.context.drag = true)) !== false); + result = (pd_sub_1 && result); + } + if ((eventName == 'longPressEnd')) { + const pd_sub_2:any = (((this.parentView.parentView.context.drag = false)) !== false); + result = (pd_sub_2 && result); + } + if ((eventName == 'sort')) { + const pd_sub_3:any = ((this.parentView.parentView.context.onSort($event)) !== false); + result = (pd_sub_3 && result); + } + return result; } -} -function viewFactory_DataTableHeaderComponent2(viewUtils:import2.ViewUtils,parentInjector:import7.Injector,declarationEl:import6.AppElement):import3.AppView { - return new _View_DataTableHeaderComponent2(viewUtils,parentInjector,declarationEl); } \ No newline at end of file diff --git a/release/components/row-detail.directive.ngfactory.ts b/release/components/row-detail.directive.ngfactory.ts index 5cbabbe6a..b82e21543 100644 --- a/release/components/row-detail.directive.ngfactory.ts +++ b/release/components/row-detail.directive.ngfactory.ts @@ -1,23 +1,36 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../src/components/row-detail.directive'; import * as import1 from '@angular/core/src/linker/view'; export class Wrapper_DatatableRowDetailDirective { + /*private*/ _eventHandler:Function; context:import0.DatatableRowDetailDirective; - changed:boolean; + /*private*/ _changed:boolean; constructor() { - this.changed = false; + this._changed = false; this.context = new import0.DatatableRowDetailDirective(); } - detectChangesInInputProps(view:import1.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngOnDetach(view:import1.AppView,componentView:import1.AppView,el:any):void { + } + ngOnDestroy():void { + } + ngDoCheck(view:import1.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import1.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import1.AppView,componentView:import1.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import1.AppView,_eventHandler:any):void { + this._eventHandler = _eventHandler; } } \ No newline at end of file diff --git a/release/datatable.module.ngfactory.ts b/release/datatable.module.ngfactory.ts index 4d6155cca..1edc71fef 100644 --- a/release/datatable.module.ngfactory.ts +++ b/release/datatable.module.ngfactory.ts @@ -1,6 +1,7 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ @@ -18,7 +19,7 @@ class Angular2DataTableModuleInjector extends import0.NgModuleInjector,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + this.context.ngOnDestroy(); + (this.subscription0 && this.subscription0.unsubscribe()); + (this.subscription1 && this.subscription1.unsubscribe()); + (this.subscription2 && this.subscription2.unsubscribe()); + } check_dragModel(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.dragModel = currValue; this._expr_0 = currValue; } } check_dragX(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.dragX = currValue; this._expr_1 = currValue; } } check_dragY(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.dragY = currValue; this._expr_2 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + if ((eventName == 'document:mouseup')) { + const pd_sub_0:any = ((this.context.onMouseup($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'mousedown')) { + const pd_sub_1:any = ((this.context.onMousedown($event)) !== false); + result = (pd_sub_1 && result); + } + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean,emit1:boolean,emit2:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.dragStart.subscribe(_eventHandler.bind(view,'dragStart'))); } + if (emit1) { (this.subscription1 = this.context.dragging.subscribe(_eventHandler.bind(view,'dragging'))); } + if (emit2) { (this.subscription2 = this.context.dragEnd.subscribe(_eventHandler.bind(view,'dragEnd'))); } } } \ No newline at end of file diff --git a/release/directives/long-press.directive.ngfactory.ts b/release/directives/long-press.directive.ngfactory.ts index 0b62e991b..11b7d78c5 100644 --- a/release/directives/long-press.directive.ngfactory.ts +++ b/release/directives/long-press.directive.ngfactory.ts @@ -1,48 +1,82 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../src/directives/long-press.directive'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; export class Wrapper_LongPressDirective { + /*private*/ _eventHandler:Function; context:import0.LongPressDirective; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; + subscription0:any; + subscription1:any; + subscription2:any; constructor() { - this.changed = false; + this._changed = false; this.context = new import0.LongPressDirective(); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; this._expr_2 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + (this.subscription1 && this.subscription1.unsubscribe()); + (this.subscription2 && this.subscription2.unsubscribe()); + } check_duration(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.duration = currValue; this._expr_0 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_1:any = this.context.press; - if (import2.checkBinding(throwOnChange,this._expr_1,currVal_1)) { + if (import3.checkBinding(throwOnChange,this._expr_1,currVal_1)) { view.renderer.setElementClass(el,'press',currVal_1); this._expr_1 = currVal_1; } const currVal_2:any = this.context.isLongPress; - if (import2.checkBinding(throwOnChange,this._expr_2,currVal_2)) { + if (import3.checkBinding(throwOnChange,this._expr_2,currVal_2)) { view.renderer.setElementClass(el,'longpress',currVal_2); this._expr_2 = currVal_2; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + if ((eventName == 'mousedown')) { + const pd_sub_0:any = ((this.context.onMouseDown($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'mousemove')) { + const pd_sub_1:any = ((this.context.onMouseMove($event)) !== false); + result = (pd_sub_1 && result); + } + if ((eventName == 'mouseup')) { + const pd_sub_2:any = ((this.context.onMouseUp()) !== false); + result = (pd_sub_2 && result); + } + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean,emit1:boolean,emit2:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.longPress.subscribe(_eventHandler.bind(view,'longPress'))); } + if (emit1) { (this.subscription1 = this.context.longPressing.subscribe(_eventHandler.bind(view,'longPressing'))); } + if (emit2) { (this.subscription2 = this.context.longPressEnd.subscribe(_eventHandler.bind(view,'longPressEnd'))); } + } } \ No newline at end of file diff --git a/release/directives/orderable.directive.ngfactory.ts b/release/directives/orderable.directive.ngfactory.ts index ef44271fc..097e80a63 100644 --- a/release/directives/orderable.directive.ngfactory.ts +++ b/release/directives/orderable.directive.ngfactory.ts @@ -1,23 +1,40 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../src/directives/orderable.directive'; import * as import1 from '@angular/core/src/linker/view'; export class Wrapper_OrderableDirective { + /*private*/ _eventHandler:Function; context:import0.OrderableDirective; - changed:boolean; + /*private*/ _changed:boolean; + subscription0:any; constructor(p0:any) { - this.changed = false; + this._changed = false; this.context = new import0.OrderableDirective(p0); } - detectChangesInInputProps(view:import1.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngOnDetach(view:import1.AppView,componentView:import1.AppView,el:any):void { + } + ngOnDestroy():void { + this.context.ngOnDestroy(); + (this.subscription0 && this.subscription0.unsubscribe()); + } + ngDoCheck(view:import1.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import1.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import1.AppView,componentView:import1.AppView,el:any,throwOnChange:boolean):void { + } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import1.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.reorder.subscribe(_eventHandler.bind(view,'reorder'))); } } } \ No newline at end of file diff --git a/release/directives/resizeable.directive.ngfactory.ts b/release/directives/resizeable.directive.ngfactory.ts index 7e4364aa7..bee160424 100644 --- a/release/directives/resizeable.directive.ngfactory.ts +++ b/release/directives/resizeable.directive.ngfactory.ts @@ -1,59 +1,84 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ import * as import0 from '../../../src/directives/resizeable.directive'; import * as import1 from '@angular/core/src/change_detection/change_detection'; -import * as import2 from '@angular/core/src/linker/view_utils'; -import * as import3 from '@angular/core/src/linker/view'; +import * as import2 from '@angular/core/src/linker/view'; +import * as import3 from '@angular/core/src/linker/view_utils'; export class Wrapper_ResizeableDirective { + /*private*/ _eventHandler:Function; context:import0.ResizeableDirective; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; /*private*/ _expr_1:any; /*private*/ _expr_2:any; /*private*/ _expr_3:any; + subscription0:any; constructor(p0:any) { - this.changed = false; + this._changed = false; this.context = new import0.ResizeableDirective(p0); this._expr_0 = import1.UNINITIALIZED; this._expr_1 = import1.UNINITIALIZED; this._expr_2 = import1.UNINITIALIZED; this._expr_3 = import1.UNINITIALIZED; } + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + this.context.ngOnDestroy(); + (this.subscription0 && this.subscription0.unsubscribe()); + } check_resizeEnabled(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_0,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_0,currValue))) { + this._changed = true; this.context.resizeEnabled = currValue; this._expr_0 = currValue; } } check_minWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_1,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_1,currValue))) { + this._changed = true; this.context.minWidth = currValue; this._expr_1 = currValue; } } check_maxWidth(currValue:any,throwOnChange:boolean,forceUpdate:boolean):void { - if ((forceUpdate || import2.checkBinding(throwOnChange,this._expr_2,currValue))) { - this.changed = true; + if ((forceUpdate || import3.checkBinding(throwOnChange,this._expr_2,currValue))) { + this._changed = true; this.context.maxWidth = currValue; this._expr_2 = currValue; } } - detectChangesInInputProps(view:import3.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import3.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_3:any = this.context.resizeEnabled; - if (import2.checkBinding(throwOnChange,this._expr_3,currVal_3)) { + if (import3.checkBinding(throwOnChange,this._expr_3,currVal_3)) { view.renderer.setElementClass(el,'resizeable',currVal_3); this._expr_3 = currVal_3; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + if ((eventName == 'document:mouseup')) { + const pd_sub_0:any = ((this.context.onMouseup($event)) !== false); + result = (pd_sub_0 && result); + } + if ((eventName == 'mousedown')) { + const pd_sub_1:any = ((this.context.onMousedown($event)) !== false); + result = (pd_sub_1 && result); + } + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.resize.subscribe(_eventHandler.bind(view,'resize'))); } + } } \ No newline at end of file diff --git a/release/directives/visibility.directive.ngfactory.ts b/release/directives/visibility.directive.ngfactory.ts index 59c9d1653..4eda748a9 100644 --- a/release/directives/visibility.directive.ngfactory.ts +++ b/release/directives/visibility.directive.ngfactory.ts @@ -1,6 +1,7 @@ /** - * This file is generated by the Angular 2 template compiler. + * @fileoverview This file is generated by the Angular 2 template compiler. * Do not edit. + * @suppress {suspiciousCode,uselessCode,missingProperties} */ /* tslint:disable */ @@ -9,24 +10,39 @@ import * as import1 from '@angular/core/src/change_detection/change_detection'; import * as import2 from '@angular/core/src/linker/view'; import * as import3 from '@angular/core/src/linker/view_utils'; export class Wrapper_VisibilityDirective { + /*private*/ _eventHandler:Function; context:import0.VisibilityDirective; - changed:boolean; + /*private*/ _changed:boolean; /*private*/ _expr_0:any; + subscription0:any; constructor(p0:any,p1:any) { - this.changed = false; + this._changed = false; this.context = new import0.VisibilityDirective(p0,p1); this._expr_0 = import1.UNINITIALIZED; } - detectChangesInInputProps(view:import2.AppView,el:any,throwOnChange:boolean):boolean { - var changed:any = this.changed; - this.changed = false; + ngOnDetach(view:import2.AppView,componentView:import2.AppView,el:any):void { + } + ngOnDestroy():void { + (this.subscription0 && this.subscription0.unsubscribe()); + } + ngDoCheck(view:import2.AppView,el:any,throwOnChange:boolean):boolean { + var changed:any = this._changed; + this._changed = false; return changed; } - detectChangesInHostProps(view:import2.AppView,el:any,throwOnChange:boolean):void { + checkHost(view:import2.AppView,componentView:import2.AppView,el:any,throwOnChange:boolean):void { const currVal_0:any = this.context.isVisible; if (import3.checkBinding(throwOnChange,this._expr_0,currVal_0)) { view.renderer.setElementClass(el,'visible',currVal_0); this._expr_0 = currVal_0; } } + handleEvent(eventName:string,$event:any):boolean { + var result:boolean = true; + return result; + } + subscribe(view:import2.AppView,_eventHandler:any,emit0:boolean):void { + this._eventHandler = _eventHandler; + if (emit0) { (this.subscription0 = this.context.visible.subscribe(_eventHandler.bind(view,'visible'))); } + } } \ No newline at end of file diff --git a/release/index.js b/release/index.js index 517118a7a..99ed2a15f 100644 --- a/release/index.js +++ b/release/index.js @@ -1,5 +1,5 @@ /** - * angular2-data-table v"1.6.0" (https://github.com/swimlane/angular2-data-table) + * angular2-data-table v"1.7.0" (https://github.com/swimlane/angular2-data-table) * Copyright 2016 * Licensed under MIT */ @@ -988,7 +988,7 @@ var DataTableBodyComponent = (function () { DataTableBodyComponent = __decorate([ core_1.Component({ selector: 'datatable-body', - template: "\n \n \n \n \n \n \n \n \n \n \n \n \n ", + template: "\n \n \n \n \n \n \n \n \n \n \n \n \n ", changeDetection: core_1.ChangeDetectionStrategy.OnPush }), __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer]) @@ -1471,6 +1471,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var core_1 = __webpack_require__(0); +var Rx_1 = __webpack_require__(1); var utils_1 = __webpack_require__("./src/utils/index.ts"); var types_1 = __webpack_require__("./src/types/index.ts"); var body_1 = __webpack_require__("./src/components/body/index.ts"); @@ -1478,7 +1479,8 @@ var column_directive_1 = __webpack_require__("./src/components/column.directive. var row_detail_directive_1 = __webpack_require__("./src/components/row-detail.directive.ts"); var utils_2 = __webpack_require__("./src/utils/index.ts"); var DatatableComponent = (function () { - function DatatableComponent(renderer, element) { + function DatatableComponent(renderer, element, cdr) { + this.cdr = cdr; // Enable vertical scrollbars this.scrollbarV = false; // Enable horz scrollbars @@ -1555,11 +1557,25 @@ var DatatableComponent = (function () { }, // Rows set: function (val) { - if (!this.externalSorting) { - val = utils_1.sortRows(val, this.columns, this.sorts); + var _this = this; + // if a observable was passed, lets convert to array + if (val instanceof Rx_1.Observable) { + val.concatMap(function (v) { return v; }) + .toArray() + .subscribe(function (r) { + _this.rows = r; + _this.cdr.markForCheck(); + }); + } + else { + // auto sort on new updates + if (!this.externalSorting) { + val = utils_1.sortRows(val, this.columns, this.sorts); + } + this._rows = val; + // recalculate sizes/etc + this.recalculate(); } - this._rows = val; - this.recalculate(); }, enumerable: true, configurable: true @@ -1808,8 +1824,8 @@ var DatatableComponent = (function () { }; __decorate([ core_1.Input(), - __metadata('design:type', Array), - __metadata('design:paramtypes', [Array]) + __metadata('design:type', Object), + __metadata('design:paramtypes', [Object]) ], DatatableComponent.prototype, "rows", null); __decorate([ core_1.Input(), @@ -1990,7 +2006,7 @@ var DatatableComponent = (function () { template: "\n \n \n \n \n \n \n \n \n ", changeDetection: core_1.ChangeDetectionStrategy.OnPush }), - __metadata('design:paramtypes', [core_1.Renderer, core_1.ElementRef]) + __metadata('design:paramtypes', [core_1.Renderer, core_1.ElementRef, core_1.ChangeDetectorRef]) ], DatatableComponent); return DatatableComponent; }()); @@ -4321,13 +4337,14 @@ exports.orderByComparator = orderByComparator; function sortRows(rows, columns, dirs) { if (!rows || !dirs || !columns) return rows; + var temp = rows.slice(); var cols = columns.reduce(function (obj, col) { if (col.comparator && typeof col.comparator === 'function') { obj[col.prop] = col.comparator; } return obj; }, {}); - return rows.slice().sort(function (a, b) { + return temp.sort(function (a, b) { for (var _i = 0, dirs_1 = dirs; _i < dirs_1.length; _i++) { var _a = dirs_1[_i], prop = _a.prop, dir = _a.dir; var propA = deep_getter_1.deepValueGetter(a, prop); @@ -4433,7 +4450,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_2__; /***/ } -/******/ }) +/******/ }); }); -; //# sourceMappingURL=index.map \ No newline at end of file diff --git a/release/index.map b/release/index.map index 1de5f9e82..a1c4b5ac1 100644 --- a/release/index.map +++ b/release/index.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///webpack/bootstrap de7e23f4710ff155ce21?eb32","webpack:///./src/components/body/body-cell.component.ts?1abc","webpack:///./src/components/body/body-row-wrapper.component.ts?197a","webpack:///./src/components/body/body-row.component.ts?f20a","webpack:///./src/components/body/body.component.ts?2781","webpack:///./src/components/body/index.ts?04be","webpack:///./src/components/body/progress-bar.component.ts?d8da","webpack:///./src/components/body/scroller.component.ts?759a","webpack:///./src/components/body/selection.component.ts?81fc","webpack:///./src/components/column.directive.ts?37b3","webpack:///./src/components/datatable.component.ts?f59c","webpack:///./src/components/footer/footer.component.ts?a73c","webpack:///./src/components/footer/index.ts?3572","webpack:///./src/components/footer/pager.component.ts?b285","webpack:///./src/components/header/header-cell.component.ts?a45a","webpack:///./src/components/header/header.component.ts?5a61","webpack:///./src/components/header/index.ts?25fb","webpack:///./src/components/index.ts?3ab1","webpack:///./src/components/row-detail.directive.ts?9356","webpack:///./src/datatable.module.ts?00af","webpack:///./src/directives/draggable.directive.ts?0d03","webpack:///./src/directives/index.ts?3045","webpack:///./src/directives/long-press.directive.ts?5b31","webpack:///./src/directives/orderable.directive.ts?1cba","webpack:///./src/directives/resizeable.directive.ts?7190","webpack:///./src/directives/visibility.directive.ts?4db5","webpack:///./src/index.ts?eac3","webpack:///./src/types/click.type.ts?453e","webpack:///./src/types/column-mode.type.ts?52dc","webpack:///./src/types/index.ts?67ca","webpack:///./src/types/selection.type.ts?e450","webpack:///./src/types/sort-direction.type.ts?04e9","webpack:///./src/types/sort.type.ts?040a","webpack:///./src/utils/camel-case.ts?71b5","webpack:///./src/utils/column-helper.ts?a700","webpack:///./src/utils/column.ts?ef84","webpack:///./src/utils/debounce.ts?3c85","webpack:///./src/utils/deep-getter.ts?c0f0","webpack:///./src/utils/id.ts?97b7","webpack:///./src/utils/index.ts?8e72","webpack:///./src/utils/keys.ts?0295","webpack:///./src/utils/math.ts?aa45","webpack:///./src/utils/prefixes.ts?13be","webpack:///./src/utils/row-height-cache.ts?bf76","webpack:///./src/utils/scrollbar-width.ts?9426","webpack:///./src/utils/selection.ts?b24e","webpack:///./src/utils/sort.ts?938a","webpack:///./src/utils/translate.ts?664e","webpack:///./src/utils/visibility-observer.ts?559d","webpack:///external \"@angular/core\"?73d1","webpack:///external \"rxjs/Rx\"?3be5","webpack:///external \"@angular/common\"?a5c7"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/common\"), require(\"@angular/core\"), require(\"rxjs/Rx\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"angular2-data-table\", [\"@angular/common\", \"@angular/core\", \"rxjs/Rx\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular2-data-table\"] = factory(require(\"@angular/common\"), require(\"@angular/core\"), require(\"rxjs/Rx\"));\n\telse\n\t\troot[\"angular2-data-table\"] = factory(root[\"@angular/common\"], root[\"@angular/core\"], root[\"rxjs/Rx\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap de7e23f4710ff155ce21","import {\n Component, Input, PipeTransform, HostBinding, \n Output, EventEmitter, HostListener, ElementRef,\n Renderer, ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { deepValueGetter, Keys } from '../../utils';\nimport { SortDirection } from '../../types';\n\n@Component({\n selector: 'datatable-body-cell',\n template: `\n
\n \n \n \n \n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableBodyCellComponent {\n\n @Input() row: any;\n @Input() column: any;\n @Input() rowHeight: number;\n\n @Input() set sorts(val: any[]) {\n this._sorts = val;\n this.calcSortDir = this.calcSortDir(val);\n }\n\n get sorts(): any[] {\n return this._sorts;\n }\n\n @Output() activate: EventEmitter = new EventEmitter();\n\n @HostBinding('class.active')\n isFocused: boolean = false;\n\n @HostBinding('class.sort-active')\n get isSortActive(): boolean {\n return !this.sortDir;\n }\n\n @HostBinding('class.sort-asc')\n get isSortAscending(): boolean {\n return this.sortDir === SortDirection.asc;\n }\n\n @HostBinding('class.sort-desc')\n get isSortDescending(): boolean {\n return this.sortDir === SortDirection.desc;\n }\n\n @HostBinding('style.width.px')\n get width(): number {\n return this.column.width;\n }\n\n @HostBinding('style.height')\n get height(): string|number {\n const height = this.rowHeight;\n if(isNaN(height)) return height;\n return height + 'px';\n }\n\n get value(): any {\n if (!this.row || !this.column) return '';\n const prop = deepValueGetter(this.row, this.column.prop);\n const userPipe: PipeTransform = this.column.pipe;\n return userPipe ? userPipe.transform(prop) : prop;\n }\n\n private sortDir: SortDirection;\n private element: any;\n private _sorts: any[];\n\n constructor(element: ElementRef, renderer: Renderer) {\n this.element = element.nativeElement;\n renderer.setElementClass(this.element, 'datatable-body-cell', true);\n }\n\n @HostListener('focus', ['$event'])\n onFocus(event): void {\n this.isFocused = true;\n }\n\n @HostListener('blur', ['$event'])\n onBlur(event): void {\n this.isFocused = false;\n }\n\n @HostListener('click', ['$event'])\n onClick(event): void {\n this.activate.emit({\n type: 'click',\n event,\n row: this.row,\n column: this.column,\n value: this.value,\n cellElement: this.element\n });\n }\n\n @HostListener('dblclick', ['$event'])\n onDblClick(event): void {\n this.activate.emit({\n type: 'dblclick',\n event,\n row: this.row,\n column: this.column,\n value: this.value,\n cellElement: this.element\n });\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event): void {\n const keyCode = event.keyCode;\n const isTargetCell = event.target === this.element;\n \n const isAction = \n keyCode === Keys.return ||\n keyCode === Keys.down ||\n keyCode === Keys.up ||\n keyCode === Keys.left ||\n keyCode === Keys.right;\n\n if(isAction && isTargetCell) {\n event.preventDefault();\n event.stopPropagation();\n\n this.activate.emit({\n type: 'keydown',\n event,\n row: this.row,\n column: this.column,\n value: this.value,\n cellElement: this.element\n });\n }\n }\n\n calcSortDir(sorts): any {\n if(!sorts) return;\n\n const sort = sorts.find(s => {\n return s.prop === this.column.prop;\n });\n\n if(sort) return sort.dir;\n }\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-cell.component.ts","import { Component, Input, Renderer, ElementRef, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'datatable-row-wrapper',\n template: `\n \n
\n \n \n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableRowWrapperComponent {\n\n @Input() rowDetailTemplate: any;\n @Input() detailRowHeight: any;\n @Input() expanded: boolean = false;\n @Input() row: any;\n\n constructor(element: ElementRef, renderer: Renderer) {\n renderer.setElementClass(element.nativeElement, 'datatable-row-wrapper', true);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row-wrapper.component.ts","import { \n Component, Input, HostBinding, ElementRef, ChangeDetectionStrategy,\n Renderer, Output, EventEmitter , HostListener\n} from '@angular/core';\n\nimport { \n columnsByPin, columnGroupWidths, columnsByPinArr, \n translateXY, Keys, scrollbarWidth\n} from '../../utils';\n\n@Component({\n selector: 'datatable-body-row',\n template: `\n \n \n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableBodyRowComponent {\n\n @Input() set columns(val: any[]) {\n this._columns = val;\n this.recalculateColumns(val);\n }\n\n get columns(): any[] { \n return this._columns; \n }\n\n @Input() set innerWidth(val: number) {\n this._innerWidth = val;\n this.recalculateColumns();\n }\n\n get innerWidth(): number {\n return this._innerWidth;\n }\n\n @Input() row: any;\n @Input() offsetX: number;\n\n @HostBinding('style.height.px')\n @Input() rowHeight: number;\n\n @HostBinding('class.active')\n @Input() isSelected: boolean;\n\n @HostBinding('class.datatable-row-even')\n get isEvenRow(): boolean {\n return this.row.$$index % 2 === 0;\n }\n\n @HostBinding('class.datatable-row-odd')\n get isOddRow(): boolean {\n return this.row.$$index % 2 !== 0;\n }\n\n @Output() activate: EventEmitter = new EventEmitter();\n\n private element: any;\n private columnGroupWidths: any;\n private columnsByPin: any;\n private _columns: any[];\n private _innerWidth: number;\n\n constructor(element: ElementRef, renderer: Renderer) {\n this.element = element.nativeElement;\n renderer.setElementClass(this.element, 'datatable-body-row', true);\n }\n\n stylesByGroup(group) {\n const widths = this.columnGroupWidths;\n const offsetX = this.offsetX;\n\n let styles = {\n width: `${widths[group]}px`\n };\n\n if(group === 'left') {\n translateXY(styles, offsetX, 0);\n } else if(group === 'right') {\n const bodyWidth = parseInt(this.innerWidth + '', 0);\n const totalDiff = widths.total - bodyWidth;\n const offsetDiff = totalDiff - offsetX;\n const offset = (offsetDiff + scrollbarWidth) * -1;\n translateXY(styles, offset, 0);\n }\n\n return styles;\n }\n\n onActivate(event, index) {\n event.cellIndex = index;\n event.rowElement = this.element;\n this.activate.emit(event);\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event): void {\n const keyCode = event.keyCode;\n const isTargetRow = event.target === this.element;\n\n const isAction = \n keyCode === Keys.return ||\n keyCode === Keys.down ||\n keyCode === Keys.up ||\n keyCode === Keys.left ||\n keyCode === Keys.right;\n\n if(isAction && isTargetRow) {\n event.preventDefault();\n event.stopPropagation();\n\n this.activate.emit({\n type: 'keydown',\n event,\n row: this.row,\n rowElement: this.element\n });\n }\n }\n\n recalculateColumns(val: any[] = this.columns) {\n const colsByPin = columnsByPin(val);\n this.columnsByPin = columnsByPinArr(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row.component.ts","import {\n Component, Output, EventEmitter, Input, HostBinding,\n ViewChild, ElementRef, Renderer, ChangeDetectionStrategy\n} from '@angular/core';\nimport { translateXY, columnsByPin, columnGroupWidths, RowHeightCache } from '../../utils';\nimport { SelectionType } from '../../types';\nimport { ScrollerComponent } from './scroller.component';\n\n@Component({\n selector: 'datatable-body',\n template: `\n \n \n \n \n \n \n \n \n \n \n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableBodyComponent {\n\n @Input() scrollbarV: boolean;\n @Input() scrollbarH: boolean;\n @Input() loadingIndicator: boolean;\n @Input() rowHeight: number;\n @Input() offsetX: number;\n @Input() detailRowHeight: any;\n @Input() emptyMessage: string;\n @Input() selectionType: SelectionType;\n @Input() selected: any[] = [];\n @Input() rowIdentity: any;\n @Input() rowDetailTemplate: any;\n @Input() selectCheck: any;\n @Input() trackByProp: string;\n\n @Input() set pageSize(val: number) {\n this._pageSize = val;\n this.recalcLayout();\n }\n\n get pageSize(): number {\n return this._pageSize;\n }\n\n @Input() set rows(val: any[]) {\n this._rows = val;\n this.recalcLayout();\n }\n\n get rows(): any[] {\n return this._rows;\n }\n\n @Input() set columns(val: any[]) {\n this._columns = val;\n \n const colsByPin = columnsByPin(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n\n get columns(): any[] { \n return this._columns; \n }\n\n @Input() set offset(val: number) {\n this._offset = val;\n this.recalcLayout();\n }\n \n get offset(): number {\n return this._offset;\n }\n \n @Input() set rowCount(val: number) {\n this._rowCount = val;\n this.recalcLayout();\n }\n\n get rowCount(): number {\n return this._rowCount;\n }\n\n @Input() innerWidth: number;\n\n @HostBinding('style.width')\n get bodyWidth(): string {\n if (this.scrollbarH) {\n return this.innerWidth + 'px';\n } else {\n return '100%';\n }\n }\n \n @Input()\n @HostBinding('style.height')\n set bodyHeight(val) {\n if (this.scrollbarV) {\n this._bodyHeight = val + 'px';\n } else {\n this._bodyHeight = 'auto';\n }\n\n this.recalcLayout();\n }\n\n get bodyHeight() { \n return this._bodyHeight; \n }\n\n @Output() scroll: EventEmitter = new EventEmitter();\n @Output() page: EventEmitter = new EventEmitter();\n @Output() activate: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n @Output() detailToggle: EventEmitter = new EventEmitter();\n\n @ViewChild(ScrollerComponent) scroller: ScrollerComponent;\n\n get selectEnabled(): boolean {\n return !!this.selectionType;\n }\n\n private rowHeightsCache: RowHeightCache = new RowHeightCache();\n private temp: any[] = [];\n private offsetY: number = 0;\n private indexes: any = {};\n private columnGroupWidths: any;\n private rowTrackingFn: any;\n\n private _rows: any[];\n private _bodyHeight: any;\n private _columns: any[];\n private _rowCount: number;\n private _offset: number;\n private _pageSize: number;\n\n /**\n * Property that would calculate the height of scroll bar\n * based on the row heights cache for virtual scroll. Other scenarios\n * calculate scroll height automatically (as height will be undefined).\n */\n get scrollHeight(): number {\n if(this.scrollbarV) {\n return this.rowHeightsCache.query(this.rowCount - 1);\n }\n }\n \n constructor(element: ElementRef, renderer: Renderer) {\n renderer.setElementClass(element.nativeElement, 'datatable-body', true);\n\n // declare fn here so we can get access to the `this` property\n this.rowTrackingFn = function(index: number, row: any): any {\n if(this.trackByProp) {\n return `${row.$$index}-${this.trackByProp}`;\n } else {\n return row.$$index;\n }\n }.bind(this);\n }\n\n updateOffsetY(offset?: number): void {\n if(this.scrollbarV && offset) {\n // First get the row Index that we need to move to.\n const rowIndex = this.pageSize * offset;\n offset = this.rowHeightsCache.query(rowIndex - 1);\n }\n\n this.scroller.setOffset(offset || 0);\n }\n\n onBodyScroll({ scrollYPos, scrollXPos, direction }): void {\n // if scroll change, trigger update\n // this is mainly used for header cell positions\n if(this.offsetY !== scrollYPos || this.offsetX !== scrollXPos) {\n this.scroll.emit({ \n offsetY: scrollYPos,\n offsetX: scrollXPos\n });\n }\n \n this.offsetY = scrollYPos;\n this.offsetX = scrollXPos;\n\n this.updateIndexes();\n this.updatePage(direction);\n this.updateRows();\n }\n\n updatePage(direction): void {\n let offset = this.indexes.first / this.pageSize;\n\n if(direction === 'up') {\n offset = Math.floor(offset);\n } else if(direction === 'down') {\n offset = Math.ceil(offset);\n }\n\n if(direction !== undefined && !isNaN(offset)) {\n this.page.emit({ offset });\n }\n }\n\n updateRows(): void {\n const { first, last } = this.indexes;\n let rowIndex = first;\n let idx = 0;\n let temp = [];\n\n while (rowIndex < last && rowIndex < this.rowCount) {\n let row = this.rows[rowIndex];\n\n if(row) {\n row.$$index = rowIndex;\n temp[idx] = row;\n }\n\n idx++;\n rowIndex++;\n }\n\n this.temp = temp;\n }\n\n /**\n * Calculate row height based on the expanded state of the row.\n *\n * @param row the row for which the height need to be calculated.\n * @returns {number} height of the row.\n */\n getRowHeight(row: any): number {\n // Adding detail row height if its expanded.\n return this.rowHeight +\n (row.$$expanded === 1 ? this.detailRowHeight : 0);\n }\n\n /**\n * Calculates the styles for the row so that the rows can be moved in 2D space\n * during virtual scroll inside the DOM. In the below case the Y position is\n * manipulated. As an example, if the height of row 0 is 30 px and row 1 is\n * 100 px then following styles are generated:\n *\n * transform: translate3d(0px, 0px, 0px); -> row0\n * transform: translate3d(0px, 30px, 0px); -> row1\n * transform: translate3d(0px, 130px, 0px); -> row2\n *\n * Row heights have to be calculated based on the row heights cache as we wont\n * be able to determine which row is of what height before hand. In the above\n * case the positionY of the translate3d for row2 would be the sum of all the\n * heights of the rows before it (i.e. row0 and row1).\n *\n * @param row The row that needs to be placed in the 2D space.\n * @returns {{styles: string}} Returns the CSS3 style to be applied\n */\n getRowsStyles(row): any {\n const rowHeight = this.getRowHeight(row);\n\n let styles = {\n height: rowHeight + 'px'\n };\n\n if(this.scrollbarV) {\n const idx = row ? row.$$index : 0;\n \n // const pos = idx * rowHeight;\n // The position of this row would be the sum of all row heights\n // until the previous row position.\n const pos = this.rowHeightsCache.query(idx - 1);\n\n translateXY(styles, 0, pos);\n }\n\n return styles;\n }\n\n hideIndicator(): void {\n setTimeout(() => this.loadingIndicator = false, 500);\n }\n\n updateIndexes(): void {\n let first = 0;\n let last = 0;\n\n if (this.scrollbarV) {\n // Calculation of the first and last indexes will be based on where the\n // scrollY position would be at. The last index would be the one\n // that shows up inside the view port the last.\n const height = parseInt(this.bodyHeight, 0);\n first = this.rowHeightsCache.getRowIndex(this.offsetY);\n last = this.rowHeightsCache.getRowIndex(height + this.offsetY) + 1;\n } else {\n first = Math.max(this.offset * this.pageSize, 0);\n last = Math.min((first + this.pageSize), this.rowCount);\n }\n\n this.indexes = { first, last };\n }\n\n /**\n * Refreshes the full Row Height cache. Should be used\n * when the entire row array state has changed.\n */\n refreshRowHeightCache(): void {\n if(!this.scrollbarV) return;\n\n // clear the previous row height cache if already present.\n // this is useful during sorts, filters where the state of the\n // rows array is changed.\n this.rowHeightsCache.clearCache();\n\n // Initialize the tree only if there are rows inside the tree.\n if (this.rows && this.rows.length) {\n this.rowHeightsCache.initCache(\n this.rows, this.rowHeight, this.detailRowHeight);\n }\n }\n\n getAdjustedViewPortIndex(): number {\n // Capture the row index of the first row that is visible on the viewport.\n // If the scroll bar is just below the row which is highlighted then make that as the\n // first index.\n let viewPortFirstRowIndex = this.indexes.first;\n\n if (this.scrollbarV) {\n const offsetScroll = this.rowHeightsCache.query(viewPortFirstRowIndex - 1);\n return offsetScroll <= this.offsetY ? viewPortFirstRowIndex - 1 : viewPortFirstRowIndex;\n }\n\n return viewPortFirstRowIndex;\n }\n\n /**\n * Toggle the Expansion of the row i.e. if the row is expanded then it will\n * collapse and vice versa. Note that the expanded status is stored as\n * a part of the row object itself as we have to preserve the expanded row\n * status in case of sorting and filtering of the row set.\n *\n * @param row The row for which the expansion needs to be toggled.\n */\n toggleRowExpansion(row: any): void {\n // Capture the row index of the first row that is visible on the viewport.\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\n\n // If the detailRowHeight is auto --> only in case of non-virtualized scroll\n if(this.scrollbarV) {\n const detailRowHeight = this.detailRowHeight * (row.$$expanded ? -1 : 1);\n this.rowHeightsCache.update(row.$$index, detailRowHeight);\n }\n \n // Update the toggled row and update the heights in the cache.\n row.$$expanded ^= 1;\n\n this.detailToggle.emit({\n rows: [row], \n currentIndex: viewPortFirstRowIndex \n });\n }\n\n /**\n * Expand/Collapse all the rows no matter what their state is.\n * @param expanded When true, all rows are expanded and when false, all rows will be collapsed.\n */\n toggleAllRows(expanded: boolean): void {\n let rowExpanded = expanded ? 1 : 0;\n \n // Capture the row index of the first row that is visible on the viewport.\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\n\n for(let row of this.rows) {\n row.$$expanded = rowExpanded;\n }\n\n if(this.scrollbarV) {\n // Refresh the full row heights cache since every row was affected.\n this.refreshRowHeightCache();\n }\n\n // Emit all rows that have been expanded.\n this.detailToggle.emit({\n rows: this.rows, \n currentIndex: viewPortFirstRowIndex \n });\n }\n\n recalcLayout(): void {\n this.refreshRowHeightCache();\n this.updateIndexes();\n this.updateRows();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body.component.ts","export * from './body.component';\nexport * from './body-cell.component';\nexport * from './body-row.component';\nexport * from './progress-bar.component';\nexport * from './scroller.component';\nexport * from './body-row-wrapper.component';\nexport * from './selection.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/index.ts","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'datatable-progress',\n template: `\n
\n
\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProgressBarComponent {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/progress-bar.component.ts","import {\n Component, Input, ElementRef, Output, EventEmitter,\n OnInit, OnDestroy, ChangeDetectionStrategy, HostBinding\n} from '@angular/core';\n\n@Component({\n selector: 'datatable-scroller',\n template: `\n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ScrollerComponent implements OnInit, OnDestroy {\n\n @Input() scrollbarV: boolean = false;\n @Input() scrollbarH: boolean = false;\n\n @HostBinding('style.height.px')\n @Input() scrollHeight: number;\n\n @HostBinding('style.width.px')\n @Input() scrollWidth: number;\n\n @Output() scroll: EventEmitter = new EventEmitter();\n\n private scrollYPos: number = 0;\n private scrollXPos: number = 0;\n private prevScrollYPos: number = 0;\n private prevScrollXPos: number = 0;\n private element: any;\n private parentElement: any;\n \n constructor(element: ElementRef) {\n this.element = element.nativeElement;\n this.element.classList.add('datatable-scroll');\n }\n\n ngOnInit() {\n // manual bind so we don't always listen\n if(this.scrollbarV || this.scrollbarH) {\n this.parentElement = this.element.parentElement.parentElement;\n this.parentElement.addEventListener('scroll', this.onScrolled.bind(this));\n }\n }\n\n ngOnDestroy() {\n if(this.scrollbarV || this.scrollbarH) {\n this.parentElement.removeEventListener('scroll');\n }\n }\n\n setOffset(offsetY: number) {\n if(this.parentElement) {\n this.parentElement.scrollTop = offsetY;\n }\n }\n\n onScrolled(event) {\n const dom = event.currentTarget;\n this.scrollYPos = dom.scrollTop;\n this.scrollXPos = dom.scrollLeft;\n\n requestAnimationFrame(this.updateOffset.bind(this));\n }\n\n updateOffset() {\n let direction;\n if(this.scrollYPos < this.prevScrollYPos) {\n direction = 'down';\n } else if(this.scrollYPos > this.prevScrollYPos) {\n direction = 'up';\n }\n\n this.scroll.emit({\n direction,\n scrollYPos: this.scrollYPos,\n scrollXPos: this.scrollXPos\n });\n\n this.prevScrollYPos = this.scrollYPos;\n this.prevScrollXPos = this.scrollXPos;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/scroller.component.ts","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { Keys, selectRows, selectRowsBetween } from '../../utils';\nimport { SelectionType } from '../../types';\n\n@Component({\n selector: 'datatable-selection',\n template: `\n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableSelectionComponent {\n\n @Input() rows: any[];\n @Input() selected: any[];\n @Input() selectEnabled: boolean;\n @Input() selectionType: SelectionType;\n @Input() rowIdentity: any;\n @Input() selectCheck: any;\n\n @Output() activate: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n\n private prevIndex: number;\n\n selectRow(event, index, row): void {\n if (!this.selectEnabled) return;\n\n const multiShift = this.selectionType === SelectionType.multiShift;\n const multiClick = this.selectionType === SelectionType.multi;\n let selected = [];\n\n if (multiShift || multiClick) {\n if (multiShift && event.shiftKey) {\n const newSelected = [...this.selected];\n selected = selectRowsBetween(\n newSelected, this.rows, index, this.prevIndex, this.getRowSelectedIdx.bind(this));\n } else if (multiShift && !event.shiftKey) {\n selected.push(row);\n } else {\n const newSelected = [...this.selected];\n selected = selectRows(newSelected, row, this.getRowSelectedIdx.bind(this));\n }\n } else {\n selected.push(row);\n }\n\n if(this.selectCheck) {\n selected = selected.filter(this.selectCheck.bind(this));\n }\n\n this.selected = selected;\n this.prevIndex = index;\n \n this.select.emit({\n selected\n });\n }\n\n onActivate(model, index): void {\n const { type, event, row } = model;\n\n if(type === 'click' || type === 'dblclick') {\n this.selectRow(event, index, row);\n } else if(type === 'keydown') {\n if (event.keyCode === Keys.return) {\n this.selectRow(event, index, row);\n } else {\n this.onKeyboardFocus(model);\n }\n }\n \n this.activate.emit(model);\n }\n\n onKeyboardFocus(model): void {\n const { keyCode } = model.event;\n const shouldFocus = \n keyCode === Keys.up || \n keyCode === Keys.down ||\n keyCode === Keys.right ||\n keyCode === Keys.left;\n\n if(shouldFocus) {\n const isCellSelection = \n this.selectionType === SelectionType.cell;\n\n if(!model.cellElement || !isCellSelection) {\n this.focusRow(model.rowElement, keyCode);\n } else if(isCellSelection) {\n this.focusCell(model.cellElement, model.rowElement, keyCode, model.cellIndex);\n }\n }\n }\n\n focusRow(rowElement: any, keyCode: number): void {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if(nextRowElement) nextRowElement.focus();\n }\n\n getPrevNextRow(rowElement: any, keyCode: number): any {\n const parentElement = rowElement.parentElement;\n\n if(parentElement) {\n let focusElement;\n if(keyCode === Keys.up) {\n focusElement = parentElement.previousElementSibling;\n } else if(keyCode === Keys.down) {\n focusElement = parentElement.nextElementSibling;\n }\n\n if(focusElement && focusElement.children.length) {\n return focusElement.children[0];\n }\n }\n }\n\n focusCell(cellElement: any, rowElement: any, keyCode: number, cellIndex: number): void {\n let nextCellElement;\n\n if(keyCode === Keys.left) {\n nextCellElement = cellElement.previousElementSibling;\n } else if(keyCode === Keys.right) {\n nextCellElement = cellElement.nextElementSibling;\n } else if(keyCode === Keys.up || keyCode === Keys.down) {\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\n if(nextRowElement) {\n const children = nextRowElement.getElementsByClassName('datatable-body-cell');\n if(children.length) nextCellElement = children[cellIndex];\n }\n }\n\n if(nextCellElement) nextCellElement.focus();\n }\n\n getRowSelected(row): boolean {\n return this.getRowSelectedIdx(row, this.selected) > -1;\n }\n\n getRowSelectedIdx(row: any, selected: any[]): number {\n if(!selected || !selected.length) return -1;\n\n const rowId = this.rowIdentity(row);\n return selected.findIndex((r) => {\n const id = this.rowIdentity(r);\n return id === rowId;\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/selection.component.ts","import {Directive, TemplateRef, QueryList, ContentChildren, Input} from '@angular/core';\n\n@Directive({\n selector: 'datatable-column',\n})\nexport class DataTableColumnDirective {\n\n @Input() name;\n @Input() prop;\n @Input() frozenLeft;\n @Input() frozenRight;\n @Input() flexGrow;\n @Input() resizeable;\n @Input() comparator;\n @Input() pipe;\n @Input() sortable;\n @Input() draggable;\n @Input() canAutoResize;\n @Input() minWidth;\n @Input() width;\n @Input() maxWidth;\n\n @ContentChildren(TemplateRef) \n templates: QueryList>;\n\n get hasHeaderTemplate() {\n // this is a tad nasty but can't think of a better way\n // to differate if the prop is header vs cell\n return this.templates.length === 2;\n }\n\n get headerTemplate() {\n if(!this.hasHeaderTemplate) return undefined;\n return this.templates.first;\n }\n\n get cellTemplate() {\n if(this.hasHeaderTemplate) return this.templates.last;\n return this.templates.first;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/column.directive.ts","import {\n Component, Input, Output, ElementRef, EventEmitter, ViewChild,\n HostListener, ContentChildren, OnInit, QueryList, AfterViewInit,\n HostBinding, Renderer, ContentChild, TemplateRef, ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { forceFillColumnWidths, adjustColumnWidths, sortRows } from '../utils';\nimport { ColumnMode, SortType, SelectionType } from '../types';\nimport { DataTableBodyComponent } from './body';\nimport { DataTableColumnDirective } from './column.directive';\nimport { DatatableRowDetailDirective } from './row-detail.directive';\nimport { scrollbarWidth, setColumnDefaults, translateTemplates } from '../utils';\n\n@Component({\n selector: 'datatable',\n template: `\n \n \n \n \n \n \n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableComponent implements OnInit, AfterViewInit {\n\n // Rows\n @Input() set rows(val: any[]) {\n if (!this.externalSorting) {\n val = sortRows(val, this.columns, this.sorts);\n }\n\n this._rows = val;\n this.recalculate();\n }\n\n get rows(): any[] {\n return this._rows;\n }\n\n // Columns\n @Input() set columns(val: any[]) {\n if(val) {\n setColumnDefaults(val);\n this.recalculateColumns(val);\n }\n\n this._columns = val;\n }\n\n get columns(): any[] {\n return this._columns;\n }\n\n // Selected rows\n @Input() selected: any[];\n\n // Enable vertical scrollbars\n @Input() scrollbarV: boolean = false;\n\n // Enable horz scrollbars\n @Input() scrollbarH: boolean = false;\n\n // The row height; which is necessary\n // to calculate the height for the lazy rendering.\n @Input() rowHeight: number = 30;\n\n // The detail row height is required especially when virtual scroll is enabled.\n @Input() detailRowHeight: number = 0;\n\n // Type of column width distribution.\n // Example: flex, force, standard\n @Input() columnMode: ColumnMode = ColumnMode.standard;\n\n // The minimum header height in pixels.\n // pass falsey for no header\n // note: number|string does not work right\n @Input() headerHeight: any = 30;\n\n // The minimum footer height in pixels.\n // pass falsey for no footer\n @Input() footerHeight: number = 0;\n\n // if external paging is turned on\n @Input() externalPaging: boolean = false;\n\n // if external sorting is turned on\n @Input() externalSorting: boolean = false;\n\n // Page size\n @Input() limit: number = undefined;\n\n // Total count\n @Input() count: number = 0;\n\n // Page offset\n @Input() offset: number = 0;\n\n // Loading indicator\n @Input() loadingIndicator: boolean = false;\n\n // Selections?\n @Input() selectionType: SelectionType;\n\n // if you can reorder columns\n @Input() reorderable: boolean = true;\n\n // type of sorting\n @Input() sortType: SortType = SortType.single;\n\n // sorts\n @Input() sorts: any[] = [];\n\n // row detail template\n @Input() rowDetailTemplate: TemplateRef;\n\n // css class overrides\n @Input() cssClasses: any = {\n sortAscending: 'icon-down',\n sortDescending: 'icon-up',\n pagerLeftArrow: 'icon-left',\n pagerRightArrow: 'icon-right',\n pagerPrevious: 'icon-prev',\n pagerNext: 'icon-skip'\n };\n\n // message overrides for localization\n @Input() messages: any = {\n\n // Message to show when array is presented\n // but contains no values\n emptyMessage: 'No data to display',\n\n // Footer total message\n totalMessage: 'total'\n\n };\n\n // This will be used when displaying or selecting rows:\n // when tracking/comparing them, we'll use the value of this fn,\n // (`fn(x) === fn(y)` instead of `x === y`)\n @Input() rowIdentity: any = ((x) => x);\n\n // A boolean/function you can use to check whether you want\n // to select a particular row based on a criteria. Example:\n // (selection) => { return selection !== 'Ethel Price'; }\n @Input() selectCheck: any;\n\n // Property to which you can use for custom tracking of rows\n // Example: 'name'\n @Input() trackByProp: string;\n\n @Output() scroll: EventEmitter = new EventEmitter();\n @Output() activate: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n @Output() sort: EventEmitter = new EventEmitter();\n @Output() page: EventEmitter = new EventEmitter();\n @Output() detailToggle: EventEmitter = new EventEmitter();\n @Output() reorder: EventEmitter = new EventEmitter();\n @Output() resize: EventEmitter = new EventEmitter();\n\n @HostBinding('class.fixed-header')\n get isFixedHeader() {\n const headerHeight: number|string = this.headerHeight;\n return (typeof headerHeight === 'string') ?\n (headerHeight) !== 'auto' : true;\n }\n\n @HostBinding('class.fixed-row')\n get isFixedRow() {\n const rowHeight: number|string = this.rowHeight;\n return (typeof rowHeight === 'string') ?\n (rowHeight) !== 'auto' : true;\n }\n\n @HostBinding('class.scroll-vertical')\n get isVertScroll() {\n return this.scrollbarV;\n }\n\n @HostBinding('class.scroll-horz')\n get isHorScroll() {\n return this.scrollbarH;\n }\n\n @HostBinding('class.selectable')\n get isSelectable() {\n return this.selectionType !== undefined;\n }\n\n @ContentChildren(DataTableColumnDirective)\n set columnTemplates(val: QueryList) {\n this._columnTemplates = val;\n\n if(val) {\n // only set this if results were brought back\n const arr = val.toArray();\n\n if(arr.length) {\n // translate them to normal objects\n this.columns = translateTemplates(arr);\n }\n }\n }\n\n get columnTemplates(): QueryList {\n return this._columnTemplates;\n }\n\n @ContentChild(DatatableRowDetailDirective)\n set rowDetailTemplateChild(val: DatatableRowDetailDirective) {\n this._rowDetailTemplateChild = val;\n if(val) this.rowDetailTemplate = val.rowDetailTemplate;\n }\n\n get rowDetailTemplateChild(): DatatableRowDetailDirective {\n return this._rowDetailTemplateChild;\n }\n\n offsetX: number = 0;\n\n @ViewChild(DataTableBodyComponent)\n private bodyComponent: DataTableBodyComponent;\n\n private element: HTMLElement;\n private innerWidth: number;\n private pageSize: number;\n private bodyHeight: number;\n private rowCount: number;\n\n private _rows: any[];\n private _columns: any[];\n private _columnTemplates: QueryList;\n private _rowDetailTemplateChild: DatatableRowDetailDirective;\n\n constructor(renderer: Renderer, element: ElementRef) {\n this.element = element.nativeElement;\n renderer.setElementClass(this.element, 'datatable', true);\n }\n\n ngOnInit(): void {\n // need to call this immediatly to size\n // if the table is hidden the visibility\n // listener will invoke this itself upon show\n this.recalculate();\n }\n\n ngAfterViewInit(): void {\n this.recalculate();\n }\n\n /**\n * Toggle the expansion of the row\n *\n * @param rowIndex\n */\n toggleExpandRow(row: any): void {\n // Should we write a guard here??\n this.bodyComponent.toggleRowExpansion(row);\n }\n\n /**\n * API method to expand all the rows.\n */\n expandAllRows(): void {\n this.bodyComponent.toggleAllRows(true);\n }\n\n /**\n * API method to collapse all the rows.\n */\n collapseAllRows(): void {\n this.bodyComponent.toggleAllRows(false);\n }\n\n @HostListener('window:resize')\n recalculate() {\n this.recalculateDims();\n this.recalculateColumns();\n }\n\n recalculateColumns(columns: any[] = this.columns, forceIdx?: number): any[] {\n if (!columns) return;\n\n let width = this.innerWidth;\n if (this.scrollbarV) {\n width = width - scrollbarWidth;\n }\n\n if (this.columnMode === ColumnMode.force) {\n forceFillColumnWidths(columns, width, forceIdx);\n } else if (this.columnMode === ColumnMode.flex) {\n adjustColumnWidths(columns, width);\n }\n\n return columns;\n }\n\n recalculateDims(): void {\n let { height, width } = this.element.getBoundingClientRect();\n this.innerWidth = Math.floor(width);\n\n if (this.scrollbarV) {\n if (this.headerHeight) height = height - this.headerHeight;\n if (this.footerHeight) height = height - this.footerHeight;\n this.bodyHeight = height;\n }\n\n this.pageSize = this.calcPageSize();\n this.rowCount = this.calcRowCount();\n }\n\n onBodyPage({ offset }): void {\n this.offset = offset;\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n onBodyScroll(event): void {\n this.offsetX = event.offsetX;\n this.scroll.emit(event);\n }\n\n onFooterPage(event) {\n this.offset = event.page - 1;\n this.bodyComponent.updateOffsetY(this.offset);\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n calcPageSize(val: any[] = this.rows): number {\n // Keep the page size constant even if the row has been expanded.\n // This is because an expanded row is still considered to be a child of\n // the original row. Hence calculation would use rowHeight only.\n if (this.scrollbarV) return Math.ceil(this.bodyHeight / this.rowHeight);\n\n // if limit is passed, we are paging\n if (this.limit !== undefined) return this.limit;\n\n // otherwise use row length\n if(val) return val.length;\n\n // other empty :(\n return 0;\n }\n\n calcRowCount(val: any[] = this.rows): number {\n if(!this.externalPaging) {\n if(!val) return 0;\n return val.length;\n }\n\n return this.count;\n }\n\n onColumnResize({ column, newValue }): void {\n let idx;\n let cols = this.columns.map((c, i) => {\n c = Object.assign({}, c);\n\n if(c.$$id === column.$$id) {\n idx = i;\n c.width = newValue;\n\n // set this so we can force the column\n // width distribution to be to this value\n c.$$oldWidth = newValue;\n }\n\n return c;\n });\n\n this.recalculateColumns(cols, idx);\n this.columns = cols;\n\n this.resize.emit({\n column,\n newValue\n });\n }\n\n onColumnReorder({ column, newValue, prevValue }): void {\n let cols = this.columns.map(c => {\n return Object.assign({}, c);\n });\n\n cols.splice(prevValue, 1);\n cols.splice(newValue, 0, column);\n this.columns = cols;\n\n this.reorder.emit({\n column,\n newValue,\n prevValue\n });\n }\n\n onColumnSort(event): void {\n const { sorts } = event;\n \n // this could be optimized better since it will resort\n // the rows again on the 'push' detection...\n if (this.externalSorting === false) {\n this.rows = sortRows(this.rows, this.columns, sorts);\n }\n\n this.sorts = sorts;\n this.bodyComponent.updateOffsetY(0);\n this.sort.emit(event);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/datatable.component.ts","import {\n Component, Output, EventEmitter, ElementRef,\n Renderer, ChangeDetectionStrategy, Input\n} from '@angular/core';\n\n@Component({\n selector: 'datatable-footer',\n template: `\n \n
{{rowCount.toLocaleString()}} {{totalMessage}}
\n \n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableFooterComponent {\n\n @Input() footerHeight: number;\n @Input() rowCount: number;\n @Input() pageSize: number;\n @Input() offset: number;\n @Input() pagerLeftArrowIcon: string;\n @Input() pagerRightArrowIcon: string;\n @Input() pagerPreviousIcon: string;\n @Input() pagerNextIcon: string;\n @Input() totalMessage: string;\n\n @Output() page: EventEmitter = new EventEmitter();\n\n get isVisible() {\n return (this.rowCount / this.pageSize) > 1;\n }\n\n get curPage() {\n return this.offset + 1;\n }\n\n constructor(element: ElementRef, renderer: Renderer) {\n renderer.setElementClass(element.nativeElement, 'datatable-footer', true);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/footer.component.ts","export * from './footer.component';\nexport * from './pager.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/index.ts","import {\n Component,\n Input,\n Output,\n EventEmitter,\n Renderer,\n ElementRef,\n ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n selector: 'datatable-pager',\n template: `\n
    \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n \n {{pg.text}}\n \n \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTablePagerComponent {\n\n @Input() pagerLeftArrowIcon: string;\n @Input() pagerRightArrowIcon: string;\n @Input() pagerPreviousIcon: string;\n @Input() pagerNextIcon: string;\n\n @Input()\n set size(val: number) {\n this._size = val;\n this.pages = this.calcPages();\n }\n\n get size(): number {\n return this._size;\n }\n\n @Input()\n set count(val: number) {\n this._count = val;\n this.pages = this.calcPages();\n }\n\n get count(): number {\n return this._count;\n }\n\n @Input()\n set page(val: number) {\n this._page = val;\n this.pages = this.calcPages();\n }\n\n get page(): number {\n return this._page;\n }\n\n get totalPages(): number {\n const count = this.size < 1 ? 1 : Math.ceil(this.count / this.size);\n return Math.max(count || 0, 1);\n }\n\n @Output() change: EventEmitter = new EventEmitter();\n\n private _count: number = 0;\n private _page: number = 1;\n private _size: number = 0;\n private pages: any;\n\n constructor(element: ElementRef, renderer: Renderer) {\n renderer.setElementClass(element.nativeElement, 'datatable-pager', true);\n }\n\n canPrevious(): boolean {\n return this.page > 1;\n }\n\n canNext(): boolean {\n return this.page < this.totalPages;\n }\n\n prevPage(): void {\n this.selectPage(this.page - 1);\n }\n\n nextPage(): void {\n this.selectPage(this.page + 1);\n }\n\n selectPage(page: number): void {\n if (page > 0 && page <= this.totalPages && page !== this.page) {\n this.page = page;\n\n this.change.emit({\n page\n });\n }\n }\n\n calcPages(page?: number): any[] {\n let pages = [];\n let startPage = 1;\n let endPage = this.totalPages;\n let maxSize = 5;\n const isMaxSized = maxSize < this.totalPages;\n\n page = page || this.page;\n\n if (isMaxSized) {\n startPage = ((Math.ceil(page / maxSize) - 1) * maxSize) + 1;\n endPage = Math.min(startPage + maxSize - 1, this.totalPages);\n }\n\n for (let num = startPage; num <= endPage; num++) {\n pages.push({\n number: num,\n text: num\n });\n }\n\n return pages;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/pager.component.ts","import {\n Component, Input, EventEmitter,\n Output, HostBinding, ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { SortDirection, SortType } from '../../types';\nimport { nextSortDir } from '../../utils';\n\n@Component({\n selector: 'datatable-header-cell',\n template: `\n
\n \n \n \n \n \n \n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableHeaderCellComponent {\n\n @Input() sortType: SortType;\n @Input() column: any;\n @Input() sortAscendingIcon: string;\n @Input() sortDescendingIcon: string;\n\n @HostBinding('style.height.px')\n @Input() headerHeight: number;\n\n @Input() set sorts(val: any[]) {\n this._sorts = val;\n this.sortDir = this.calcSortDir(val);\n }\n\n get sorts(): any[] {\n return this._sorts;\n }\n\n @Output() sort: EventEmitter = new EventEmitter();\n\n @HostBinding('class')\n get columnCssClasses(): any {\n let cls = 'datatable-header-cell';\n\n if(this.column.sortable) cls += ' sortable';\n if(this.column.resizeable) cls += ' resizeable';\n\n const sortDir = this.sortDir;\n if(sortDir) {\n cls += ` sort-active sort-${sortDir}`;\n }\n\n return cls;\n }\n\n @HostBinding('attr.title')\n private get name(): string {\n return this.column.name || this.column.prop;\n }\n\n @HostBinding('style.minWidth.px')\n private get minWidth(): number {\n return this.column.minWidth;\n }\n\n @HostBinding('style.maxWidth.px')\n private get maxWidth(): number {\n return this.column.maxWidth;\n }\n\n @HostBinding('style.width.px')\n private get width(): number {\n return this.column.width;\n }\n\n private sortDir: SortDirection;\n private _sorts: any[];\n\n sortClasses(dir): any {\n let result = {};\n\n if(dir === SortDirection.asc) {\n result[`sort-asc ${this.sortAscendingIcon}`] = true;\n } else if(dir === SortDirection.desc) {\n result[`sort-desc ${this.sortDescendingIcon}`] = true;\n }\n\n return result;\n }\n\n calcSortDir(sorts) {\n if(sorts && this.column) {\n const sort = sorts.find(s => {\n return s.prop === this.column.prop;\n });\n\n if(sort) return sort.dir;\n }\n }\n\n onSort(): void {\n if(!this.column.sortable) return;\n\n const newValue = nextSortDir(this.sortType, this.sortDir);\n this.sort.emit({\n column: this.column,\n prevValue: this.sortDir,\n newValue\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header-cell.component.ts","import {\n Component, Output, ElementRef, Renderer, EventEmitter, \n Input, HostBinding, ChangeDetectionStrategy\n} from '@angular/core';\nimport { SortType } from '../../types';\nimport { columnsByPin, columnGroupWidths, columnsByPinArr, translateXY } from '../../utils';\n\n@Component({\n selector: 'datatable-header',\n template: `\n \n \n \n \n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableHeaderComponent {\n\n @Input() sortAscendingIcon: any;\n @Input() sortDescendingIcon: any;\n @Input() scrollbarH: boolean;\n @Input() innerWidth: number;\n @Input() offsetX: number;\n @Input() sorts: any[];\n @Input() sortType: SortType;\n\n @HostBinding('style.height')\n @Input() set headerHeight(val: any) {\n if(val !== 'auto') { \n this._headerHeight = `${val}px`;\n } else {\n this._headerHeight = val;\n }\n }\n\n get headerHeight() {\n return this._headerHeight;\n }\n\n @Input() set columns(val: any[]) {\n this._columns = val;\n\n const colsByPin = columnsByPin(val);\n this.columnsByPin = columnsByPinArr(val);\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\n }\n\n get columns(): any[] { \n return this._columns; \n }\n\n @Output() sort: EventEmitter = new EventEmitter();\n @Output() reorder: EventEmitter = new EventEmitter();\n @Output() resize: EventEmitter = new EventEmitter();\n\n private columnsByPin: any;\n private columnGroupWidths: any;\n private _columns: any[];\n private _headerHeight: string;\n\n @HostBinding('style.width')\n private get headerWidth(): string {\n if(this.scrollbarH) {\n return this.innerWidth + 'px';\n }\n\n return '100%';\n }\n\n constructor(element: ElementRef, renderer: Renderer) {\n renderer.setElementClass(element.nativeElement, 'datatable-header', true);\n }\n\n onColumnResized(width, column) {\n if (width <= column.minWidth) {\n width = column.minWidth;\n } else if(width >= column.maxWidth) {\n width = column.maxWidth;\n }\n \n this.resize.emit({\n column,\n prevValue: column.width,\n newValue: width\n });\n }\n\n onColumnReordered({ prevIndex, newIndex, model }) {\n this.reorder.emit({\n column: model,\n prevValue: prevIndex,\n newValue: newIndex\n });\n }\n\n onSort({ column, prevValue, newValue }) {\n const sorts = this.calcNewSorts(column, prevValue, newValue);\n this.sort.emit({\n sorts,\n column,\n prevValue,\n newValue\n });\n }\n\n calcNewSorts(column: any, prevValue: number, newValue: number) {\n let idx = 0;\n \n let sorts = this.sorts.map((s, i) => { \n s = Object.assign({}, s); \n if(s.prop === column.prop) idx = i;\n return s;\n });\n\n if (newValue === undefined) {\n sorts.splice(idx, 1);\n } else if (prevValue) {\n sorts[idx].dir = newValue;\n } else {\n if (this.sortType === SortType.single) {\n sorts.splice(0, this.sorts.length);\n }\n\n sorts.push({ dir: newValue, prop: column.prop });\n }\n\n return sorts;\n }\n\n stylesByGroup(group) {\n const widths = this.columnGroupWidths;\n const offsetX = this.offsetX;\n\n let styles = {\n width: `${widths[group]}px`\n };\n\n if(group === 'center') {\n translateXY(styles, offsetX * -1, 0);\n } else if(group === 'right') {\n const totalDiff = widths.total - this.innerWidth;\n const offset = totalDiff * -1;\n translateXY(styles, offset, 0);\n }\n\n return styles;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header.component.ts","export * from './header.component';\nexport * from './header-cell.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/index.ts","export * from './datatable.component';\nexport * from './column.directive';\nexport * from './row-detail.directive';\n\nexport * from './header';\nexport * from './body';\nexport * from './footer';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/index.ts","import { Directive, TemplateRef, ContentChild } from '@angular/core';\n\n@Directive({\n selector: 'datatable-row-detail-template'\n})\nexport class DatatableRowDetailDirective {\n\n @ContentChild(TemplateRef) template: TemplateRef;\n\n get rowDetailTemplate(): TemplateRef {\n return this.template;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail.directive.ts","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport {\n DatatableComponent,\n DataTableColumnDirective,\n DataTableHeaderComponent,\n DataTableBodyComponent,\n DataTableFooterComponent,\n DataTableHeaderCellComponent,\n DataTablePagerComponent,\n DataTableBodyRowComponent,\n DataTableRowWrapperComponent,\n ProgressBarComponent,\n DataTableBodyCellComponent,\n DatatableRowDetailDirective,\n ScrollerComponent,\n DataTableSelectionComponent\n} from './components';\n\nimport {\n VisibilityDirective,\n LongPressDirective,\n ResizeableDirective,\n OrderableDirective,\n DraggableDirective\n} from './directives';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n VisibilityDirective,\n DraggableDirective,\n ResizeableDirective,\n OrderableDirective,\n LongPressDirective,\n ScrollerComponent,\n DatatableComponent,\n DataTableColumnDirective,\n DataTableHeaderComponent,\n DataTableHeaderCellComponent,\n DataTableBodyComponent,\n DataTableFooterComponent,\n DataTablePagerComponent,\n ProgressBarComponent,\n DataTableBodyRowComponent,\n DataTableRowWrapperComponent,\n DatatableRowDetailDirective,\n DataTableBodyCellComponent,\n DataTableSelectionComponent\n ],\n exports: [\n DatatableComponent,\n DatatableRowDetailDirective,\n DataTableColumnDirective\n ]\n})\nexport class Angular2DataTableModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/datatable.module.ts","import { Directive, ElementRef, HostListener, Input, Output, EventEmitter } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs/Rx';\n\n/**\n * Draggable Directive for Angular2\n *\n * Inspiration:\n * https://github.com/AngularClass/angular2-examples/blob/master/rx-draggable/directives/draggable.ts\n * http://stackoverflow.com/questions/35662530/how-to-implement-drag-and-drop-in-angular2\n *\n */\n@Directive({ selector: '[draggable]' })\nexport class DraggableDirective {\n\n @Input() dragModel: any;\n @Input() dragX: boolean = true;\n @Input() dragY: boolean = true;\n\n @Output() dragStart: EventEmitter = new EventEmitter();\n @Output() dragging: EventEmitter = new EventEmitter();\n @Output() dragEnd: EventEmitter = new EventEmitter();\n\n element: HTMLElement;\n private isDragging: boolean = false;\n private subscription: Subscription;\n\n constructor(element: ElementRef) {\n this.element = element.nativeElement;\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup(event) {\n this.isDragging = false;\n this.element.classList.remove('dragging');\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n this.dragEnd.emit({\n event,\n element: this.element,\n model: this.dragModel\n });\n }\n }\n\n @HostListener('mousedown', ['$event'])\n onMousedown(event) {\n if (event.target.classList.contains('draggable')) {\n event.preventDefault();\n this.isDragging = true;\n\n const mouseDownPos = { x: event.clientX, y: event.clientY };\n this.subscription = Observable.fromEvent(document, 'mousemove')\n .subscribe((ev) => this.move(ev, mouseDownPos));\n\n this.dragStart.emit({\n event,\n element: this.element,\n model: this.dragModel\n });\n }\n }\n\n move(event, mouseDownPos): void {\n if (!this.dragging) return;\n\n const x = event.clientX - mouseDownPos.x;\n const y = event.clientY - mouseDownPos.y;\n\n if (this.dragX) this.element.style.left = `${x}px`;\n if (this.dragY) this.element.style.top = `${y}px`;\n\n if (this.dragX || this.dragY) {\n this.element.classList.add('dragging');\n\n this.dragging.emit({\n event,\n element: this.element,\n model: this.dragModel\n });\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/draggable.directive.ts","export * from './draggable.directive';\nexport * from './long-press.directive';\nexport * from './orderable.directive';\nexport * from './resizeable.directive';\nexport * from './visibility.directive';\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/index.ts","import {\n Directive,\n Input,\n Output,\n EventEmitter,\n HostBinding,\n HostListener\n} from '@angular/core';\n\n@Directive({ selector: '[long-press]' })\nexport class LongPressDirective {\n\n @Input() duration: number = 500;\n\n @Output() longPress: EventEmitter = new EventEmitter();\n @Output() longPressing: EventEmitter = new EventEmitter();\n @Output() longPressEnd: EventEmitter = new EventEmitter();\n\n private pressing: boolean;\n private isLongPressing: boolean;\n private timeout: any;\n private mouseX: number = 0;\n private mouseY: number = 0;\n\n @HostBinding('class.press')\n get press() { return this.pressing; }\n\n @HostBinding('class.longpress')\n get isLongPress() { return this.longPressing; }\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event) {\n // don't do right/middle clicks\n if(event.which !== 1) return;\n\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n\n this.pressing = true;\n this.isLongPressing = false;\n\n this.timeout = setTimeout(() => {\n this.isLongPressing = true;\n this.longPress.emit(event);\n this.loop(event);\n }, this.duration);\n\n this.loop(event);\n }\n\n @HostListener('mousemove', ['$event'])\n onMouseMove(event) {\n if(this.pressing && !this.longPressing) {\n const xThres = (event.clientX - this.mouseX) > 10;\n const yThres = (event.clientY - this.mouseY) > 10;\n if(xThres || yThres) {\n this.endPress();\n }\n }\n }\n\n loop(event) {\n if(this.longPressing) {\n this.timeout = setTimeout(() => {\n this.longPressing.emit(event);\n this.loop(event);\n }, 50);\n }\n }\n\n endPress() {\n clearTimeout(this.timeout);\n this.isLongPressing = false;\n this.pressing = false;\n this.longPressEnd.emit(true);\n }\n\n @HostListener('mouseup')\n onMouseUp() { this.endPress(); }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/long-press.directive.ts","import {\n Directive, Output, EventEmitter, ContentChildren,\n QueryList, KeyValueDiffers\n} from '@angular/core';\n\nimport { DraggableDirective } from './draggable.directive';\n\n@Directive({ selector: '[orderable]' })\nexport class OrderableDirective {\n\n @Output() reorder: EventEmitter = new EventEmitter();\n\n @ContentChildren(DraggableDirective, { descendants: true })\n private draggables: QueryList;\n\n private positions: any;\n private differ: any;\n\n constructor(differs: KeyValueDiffers) {\n this.differ = differs.find({}).create(null);\n }\n\n ngAfterContentInit() {\n // HACK: Investigate Better Way\n this.updateSubscriptions();\n this.draggables.changes.subscribe(\n this.updateSubscriptions.bind(this));\n }\n\n ngOnDestroy() {\n this.draggables.forEach(d => {\n d.dragStart.unsubscribe();\n d.dragEnd.unsubscribe();\n });\n }\n \n updateSubscriptions() {\n const diffs = this.differ.diff(this.draggables.toArray());\n\n if(diffs) {\n const subscribe = ({ currentValue, previousValue }) => {\n unsubscribe({ previousValue });\n\n if(currentValue) {\n currentValue.dragStart.subscribe(this.onDragStart.bind(this));\n currentValue.dragEnd.subscribe(this.onDragEnd.bind(this));\n }\n };\n\n const unsubscribe = ({ previousValue }) => {\n if(previousValue) {\n previousValue.dragStart.unsubscribe();\n previousValue.dragEnd.unsubscribe();\n }\n };\n\n diffs.forEachAddedItem(subscribe.bind(this));\n diffs.forEachChangedItem(subscribe.bind(this));\n diffs.forEachRemovedItem(unsubscribe.bind(this));\n }\n }\n\n onDragStart() {\n this.positions = {};\n\n let i = 0;\n for(let dragger of this.draggables.toArray()) {\n let elm = dragger.element;\n this.positions[dragger.dragModel.prop] = {\n left: parseInt(elm.offsetLeft.toString(), 0),\n index: i++\n };\n }\n }\n\n onDragEnd({ element, model }) {\n const newPos = parseInt(element.offsetLeft.toString(), 0);\n const prevPos = this.positions[model.prop];\n\n let i = 0;\n for(let prop in this.positions) {\n let pos = this.positions[prop];\n\n let movedLeft = newPos < pos.left && prevPos.left > pos.left;\n let movedRight = newPos > pos.left && prevPos.left < pos.left;\n\n if(movedLeft || movedRight) {\n this.reorder.emit({\n prevIndex: prevPos.index,\n newIndex: i,\n model\n });\n }\n\n i++;\n }\n\n element.style.left = 'auto';\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/orderable.directive.ts","import { Directive, ElementRef, HostListener, Input, Output, EventEmitter } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs/Rx';\n\n@Directive({\n selector: '[resizeable]',\n host: {\n '[class.resizeable]': 'resizeEnabled'\n }\n})\nexport class ResizeableDirective {\n\n @Input() resizeEnabled: boolean = true;\n @Input() minWidth: number;\n @Input() maxWidth: number;\n\n @Output() resize: EventEmitter = new EventEmitter();\n\n private element: HTMLElement;\n private subscription: Subscription;\n private resizing: boolean = false;\n\n constructor(element: ElementRef) {\n this.element = element.nativeElement;\n\n if (this.resizeEnabled) {\n const node = document.createElement('span');\n node.classList.add('resize-handle');\n this.element.appendChild(node);\n }\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.resizing = false;\n\n if (this.subscription && !this.subscription.closed) {\n this.subscription.unsubscribe();\n this.resize.emit(this.element.clientWidth);\n }\n }\n\n @HostListener('mousedown', ['$event'])\n onMousedown(event) {\n const isHandle = event.target.classList.contains('resize-handle');\n const initialWidth = this.element.clientWidth;\n const mouseDownScreenX = event.screenX;\n\n if (isHandle) {\n event.stopPropagation();\n this.resizing = true;\n\n this.subscription = Observable.fromEvent(document, 'mousemove')\n .subscribe((e) => this.move(e, initialWidth, mouseDownScreenX));\n }\n }\n\n move(event, initialWidth, mouseDownScreenX): void {\n const movementX = event.screenX - mouseDownScreenX;\n const newWidth = initialWidth + movementX;\n\n const overMinWidth = !this.minWidth || newWidth >= this.minWidth;\n const underMaxWidth = !this.maxWidth || newWidth <= this.maxWidth;\n\n if (overMinWidth && underMaxWidth) {\n this.element.style.width = `${newWidth}px`;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/resizeable.directive.ts","import {\n Directive, Output, EventEmitter, ElementRef, HostBinding, NgZone\n} from '@angular/core';\n\nimport { checkVisibility } from '../utils';\n\n/**\n * Visibility Observer Directive\n *\n * Usage:\n *\n * \t\t\n * \t\t\n *\n */\n@Directive({ selector: '[visibility-observer]' })\nexport class VisibilityDirective {\n\n @HostBinding('class.visible') \n isVisible: boolean = false;\n\n @Output() visible: EventEmitter = new EventEmitter();\n\n constructor(element: ElementRef, zone: NgZone) {\n checkVisibility(\n element.nativeElement,\n this.visbilityChange.bind(this),\n zone);\n }\n\n visbilityChange() {\n // trigger zone recalc for columns\n setTimeout(() => {\n this.isVisible = true;\n this.visible.emit(true);\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/visibility.directive.ts","export * from './datatable.module'\nexport * from './types';\nexport * from './components';\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","export enum ClickType {\n single = 'single' as any,\n double = 'double' as any \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/click.type.ts","export enum ColumnMode {\n standard = 'standard' as any,\n flex = 'flex' as any,\n force = 'force' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/column-mode.type.ts","export * from './column-mode.type';\nexport * from './sort.type';\nexport * from './sort-direction.type';\nexport * from './selection.type';\nexport * from './click.type';\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/index.ts","export enum SelectionType {\n single = 'single' as any,\n multi = 'multi' as any,\n multiShift = 'multiShift' as any,\n cell = 'cell' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/selection.type.ts","export enum SortDirection {\n asc = 'asc' as any,\n desc = 'desc' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort-direction.type.ts","export enum SortType {\n single = 'single' as any,\n multi = 'multi' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort.type.ts","/**\n * Converts strings from something to camel case\n * http://stackoverflow.com/questions/10425287/convert-dash-separated-string-to-camelcase\n * @param {string} str\n * @return {string} camel case string\n */\nexport function camelCase(str): string {\n // Replace special characters with a space\n str = str.replace(/[^a-zA-Z0-9 ]/g, ' ');\n // put a space before an uppercase letter\n str = str.replace(/([a-z](?=[A-Z]))/g, '$1 ');\n\n // Lower case first character and some other stuff\n str = str.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g, '').trim().toLowerCase();\n\n // uppercase characters preceded by a space or number\n str = str.replace(/([ 0-9]+)([a-zA-Z])/g, function(a, b, c) {\n return b.trim() + c.toUpperCase();\n });\n\n return str;\n}\n\n/**\n * Converts strings from camel case to words\n * http://stackoverflow.com/questions/7225407/convert-camelcasetext-to-camel-case-text\n * \n * @export\n * @param {any} str\n * @returns string\n */\nexport function deCamelCase(str): string {\n return str\n .replace(/([A-Z])/g, (match) => ` ${match}`)\n .replace(/^./, (match) => match.toUpperCase());\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/camel-case.ts","import { DataTableColumnDirective } from '../components/column.directive';\nimport { camelCase, deCamelCase, id } from '../utils';\n\nexport function setColumnDefaults(columns: any[]) {\n if(!columns) return;\n \n for(let column of columns) {\n if(!column.$$id) {\n column.$$id = id();\n }\n \n // translate name => prop\n if(!column.prop && column.name) {\n column.prop = camelCase(column.name);\n }\n\n // format props if no name passed\n if(column.prop && !column.name) {\n column.name = deCamelCase(column.prop);\n }\n \n if(!column.hasOwnProperty('resizeable')) {\n column.resizeable = true;\n }\n\n if(!column.hasOwnProperty('sortable')) {\n column.sortable = true;\n }\n\n if(!column.hasOwnProperty('draggable')) {\n column.draggable = true;\n }\n\n if(!column.hasOwnProperty('canAutoResize')) {\n column.canAutoResize = true;\n }\n\n if(!column.hasOwnProperty('width')) {\n column.width = 150;\n }\n }\n}\n\nexport function translateTemplates(templates: DataTableColumnDirective[]): any[] {\n let result = [];\n\n for(const temp of templates) {\n let col: any = {};\n\n const props = Object.getOwnPropertyNames(temp);\n for(const prop of props) {\n col[prop] = temp[prop];\n }\n\n if(temp.headerTemplate) {\n col.headerTemplate = temp.headerTemplate;\n }\n\n if(temp.cellTemplate) {\n col.cellTemplate = temp.cellTemplate;\n }\n\n result.push(col);\n }\n \n return result;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column-helper.ts","/**\n * Returns the columns by pin.\n * @param {array} cols\n */\nexport function columnsByPin(cols) {\n let ret = {\n left: [],\n center: [],\n right: []\n };\n\n if(cols) {\n for(let col of cols) {\n if(col.frozenLeft) {\n ret.left.push(col);\n } else if(col.frozenRight) {\n ret.right.push(col);\n } else {\n ret.center.push(col);\n }\n }\n }\n\n return ret;\n}\n\n/**\n * Returns the widths of all group sets of a column\n * @param {object} groups\n * @param {array} all\n */\nexport function columnGroupWidths(groups, all) {\n return {\n left: columnTotalWidth(groups.left),\n center: columnTotalWidth(groups.center),\n right: columnTotalWidth(groups.right),\n total: columnTotalWidth(all)\n };\n}\n\n/**\n * Calculates the total width of all columns and their groups\n * @param {array} columns\n * @param {string} prop width to get\n */\nexport function columnTotalWidth(columns, prop?) {\n let totalWidth = 0;\n\n if(columns) {\n for(let c of columns) {\n const has = prop && c[prop];\n const width = has ? c[prop] : c.width;\n totalWidth = totalWidth + parseInt(width, 0);\n }\n }\n\n return totalWidth;\n}\n\n/**\n * Calculates the total width of all columns and their groups\n * @param {array} columns\n * @param {string} property width to get\n */\nexport function columnsTotalWidth(columns: any, prop?: any) {\n let totalWidth = 0;\n\n for(let column of columns) {\n const has = prop && column[prop];\n totalWidth = totalWidth + (has ? column[prop] : column.width);\n }\n\n return totalWidth;\n}\n\nexport function columnsByPinArr(val) {\n let colsByPinArr = [];\n const colsByPin = columnsByPin(val);\n\n colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });\n colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });\n colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });\n\n return colsByPinArr;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column.ts","/**\n * Debounce a function\n * @param {any} func function to executoe\n * @param {number} wait wait duration\n * @param {boolean} immediate wait or immediate executue\n */\nexport function debounce(func: any, wait: number, immediate?: boolean) {\n let timeout;\n let args;\n let context;\n let timestamp;\n let result;\n\n return function() {\n context = this;\n args = arguments;\n timestamp = new Date();\n\n function later() {\n const last = +new Date() - timestamp;\n\n if (last < wait) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n }\n }\n }\n\n let callNow = immediate && !timeout;\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n\n if (callNow) {\n result = func.apply(context, args);\n }\n\n return result;\n };\n}\n\n/**\n * Debounce decorator\n *\n * class MyClass {\n * debounceable(10)\n * myFn() { ... }\n * }\n */\nexport function debounceable (duration: number, immediate?: boolean) {\n return function innerDecorator (target, key, descriptor) {\n return {\n configurable: true,\n enumerable: descriptor.enumerable,\n get: function getter () {\n\n Object.defineProperty(this, key, {\n configurable: true,\n enumerable: descriptor.enumerable,\n value: debounce(descriptor.value, duration, immediate)\n });\n\n return this[key];\n }\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/debounce.ts","/**\n * Returns a deep object given a string. zoo['animal.type']\n * @param {object} obj\n * @param {string} path\n */\nexport function deepValueGetter(obj, path) {\n if(!obj || !path) return obj;\n\n let current = obj;\n let split = path.split('.');\n\n if(split.length) {\n for(let i = 0, len = split.length; i < len; i++) {\n current = current[split[i]];\n \n // if found undefined, return empty string\n if(current === undefined || current === null) return '';\n }\n }\n\n return current;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/deep-getter.ts","/**\n * Creates a unique object id.\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\n */\nexport function id() {\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/id.ts","export * from './id';\nexport * from './column';\nexport * from './deep-getter';\nexport * from './camel-case';\nexport * from './keys';\nexport * from './math';\nexport * from './prefixes';\nexport * from './scrollbar-width';\nexport * from './selection';\nexport * from './translate';\nexport * from './visibility-observer';\nexport * from './debounce';\nexport * from './sort';\nexport * from './row-height-cache';\nexport * from './column-helper';\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.ts","export enum Keys {\n up = 38,\n down = 40,\n return = 13,\n escape = 27,\n left = 37,\n right = 39\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/keys.ts","import { columnsByPin, columnsTotalWidth } from './column';\n\n/**\n * Calculates the Total Flex Grow\n * @param {array}\n */\nexport function getTotalFlexGrow(columns) {\n let totalFlexGrow = 0;\n\n for (let c of columns) {\n totalFlexGrow += c.flexGrow || 0;\n }\n\n return totalFlexGrow;\n}\n\n/**\n * Adjusts the column widths.\n * Inspired by: https://github.com/facebook/fixed-data-table/blob/master/src/FixedDataTableWidthHelper.js\n * @param {array} all columns\n * @param {int} width\n */\nexport function adjustColumnWidths(allColumns: any, expectedWidth: any) {\n let columnsWidth = columnsTotalWidth(allColumns);\n let totalFlexGrow = getTotalFlexGrow(allColumns);\n let colsByGroup = columnsByPin(allColumns);\n\n if (columnsWidth !== expectedWidth) {\n scaleColumns(colsByGroup, expectedWidth, totalFlexGrow);\n }\n}\n\n/**\n * Resizes columns based on the flexGrow property, while respecting manually set widths\n * @param {array} colsByGroup\n * @param {int} maxWidth\n * @param {int} totalFlexGrow\n */\nfunction scaleColumns(colsByGroup: any, maxWidth: any, totalFlexGrow: any) {\n // calculate total width and flexgrow points for coulumns that can be resized\n for(let attr in colsByGroup) {\n for(let column of colsByGroup[attr]) {\n if (!column.canAutoResize) {\n maxWidth -= column.width;\n totalFlexGrow -= column.flexGrow;\n } else {\n column.width = 0;\n }\n }\n }\n\n let hasMinWidth = {};\n let remainingWidth = maxWidth;\n\n // resize columns until no width is left to be distributed\n do {\n let widthPerFlexPoint = remainingWidth / totalFlexGrow;\n remainingWidth = 0;\n\n for(let attr in colsByGroup) {\n for(let column of colsByGroup[attr]) {\n // if the column can be resize and it hasn't reached its minimum width yet\n if (column.canAutoResize && !hasMinWidth[column.prop]) {\n let newWidth = column.width + column.flexGrow * widthPerFlexPoint;\n if (column.minWidth !== undefined && newWidth < column.minWidth) {\n remainingWidth += newWidth - column.minWidth;\n column.width = column.minWidth;\n hasMinWidth[column.prop] = true;\n } else {\n column.width = newWidth;\n }\n }\n }\n }\n } while (remainingWidth !== 0);\n}\n\n/**\n * Forces the width of the columns to\n * distribute equally but overflowing when nesc.\n *\n * Rules:\n *\n * - If combined withs are less than the total width of the grid,\n * proporation the widths given the min / max / noraml widths to fill the width.\n *\n * - If the combined widths, exceed the total width of the grid,\n * use the standard widths.\n *\n * - If a column is resized, it should always use that width\n *\n * - The proporational widths should never fall below min size if specified.\n *\n * - If the grid starts off small but then becomes greater than the size ( + / - )\n * the width should use the orginial width; not the newly proporatied widths.\n *\n * @param {array} allColumns\n * @param {int} expectedWidth\n */\nexport function forceFillColumnWidths(\n allColumns: any[], \n expectedWidth: number, \n startIdx: number, \n defaultColWidth: number = 300) {\n\n let columnsToResize = startIdx > -1 ?\n allColumns.slice(startIdx, allColumns.length).filter((c) => { return c.canAutoResize !== false; }) :\n allColumns.filter((c) => { return c.canAutoResize !== false; });\n\n for (let column of columnsToResize) {\n if(!column.$$oldWidth) {\n column.$$oldWidth = column.width;\n }\n\n // Initialize the starting width to original \n // width whenever there is a resize/initialize event.\n column.width = column.$$oldWidth;\n }\n\n let additionWidthPerColumn = 0;\n let exceedsWindow = false;\n let contentWidth = getContentWidth(allColumns, defaultColWidth);\n let remainingWidth = expectedWidth - contentWidth;\n let columnsProcessed = [];\n\n // This loop takes care of the\n do {\n additionWidthPerColumn = remainingWidth / columnsToResize.length;\n exceedsWindow = contentWidth >= expectedWidth;\n\n for (let column of columnsToResize) {\n if (exceedsWindow) {\n column.width = column.$$oldWidth || column.width || defaultColWidth;\n } else {\n const newSize = (column.width || defaultColWidth) + additionWidthPerColumn;\n if (column.minWidth && newSize < column.minWidth) {\n column.width = column.minWidth;\n columnsProcessed.push(column);\n } else if (column.maxWidth && newSize > column.maxWidth) {\n column.width = column.maxWidth;\n columnsProcessed.push(column);\n } else {\n column.width = newSize;\n }\n }\n }\n\n contentWidth = getContentWidth(allColumns);\n remainingWidth = expectedWidth - contentWidth;\n removeProcessedColumns(columnsToResize, columnsProcessed);\n } while (remainingWidth > 0 && columnsToResize.length !== 0);\n}\n\n/**\n * Remove the processed columns from the current active columns.\n *\n * @param columnsToResize Array containing the columns that need to be resized.\n * @param columnsProcessed Array containing the columns that have already been processed.\n */\nfunction removeProcessedColumns ( columnsToResize, columnsProcessed) {\n for(let column of columnsProcessed) {\n const index = columnsToResize.indexOf(column);\n columnsToResize.splice(index, 1);\n }\n}\n\n/**\n * Gets the width of the columns\n * \n * @param {array} allColumns\n * @param {number} [defaultColWidth=300]\n * @returns {number}\n */\nfunction getContentWidth(allColumns: any, defaultColWidth: number = 300): number {\n let contentWidth = 0;\n\n for(let column of allColumns) {\n contentWidth += (column.width || defaultColWidth);\n }\n\n return contentWidth;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/math.ts","import { camelCase } from './camel-case';\n\nlet cache = {};\nlet testStyle = document.createElement('div').style;\n\n// Get Prefix\n// http://davidwalsh.name/vendor-prefix\nconst prefix = (function () {\n const styles = window.getComputedStyle(document.documentElement, '');\n const pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/))[1];\n const dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1];\n\n return {\n dom,\n lowercase: pre,\n css: `-${pre}-`,\n js: pre[0].toUpperCase() + pre.substr(1)\n };\n})();\n\nexport function getVendorPrefixedName(property) {\n const name = camelCase(property);\n\n if(!cache[name]) {\n if(testStyle[prefix.css + property] !== undefined) {\n cache[name] = prefix.css + property;\n } else if(testStyle[property] !== undefined) {\n cache[name] = property;\n }\n }\n\n return cache[name];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/prefixes.ts","/**\n * This object contains the cache of the various row heights that are present inside\n * the data table. Its based on Fenwick tree data structure that helps with\n * querying sums that have time complexity of log n.\n *\n * Fenwick Tree Credits: http://petr-mitrichev.blogspot.com/2013/05/fenwick-tree-range-updates.html\n * https://github.com/mikolalysenko/fenwick-tree\n *\n */\nexport class RowHeightCache {\n\n /**\n * Tree Array stores the cumulative information of the row heights to perform efficient\n * range queries and updates. Currently the tree is initialized to the base row\n * height instead of the detail row height.\n */\n private treeArray: number[] = [];\n\n /**\n * Clear the Tree array.\n */\n clearCache(): void {\n this.treeArray = [];\n }\n\n /**\n * Initialize the Fenwick tree with row Heights.\n *\n * @param rows The array of rows which contain the expanded status.\n * @param rowHeight The row height.\n * @param detailRowHeight The detail row height.\n */\n initCache(rows: any[], rowHeight: number, detailRowHeight: number): void {\n if (isNaN(rowHeight)) {\n throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n valid number value: (${rowHeight}) when 'scrollbarV' is enabled.`);\n }\n\n // Add this additional guard in case detailRowHeight is set to 'auto' as it wont work.\n if (isNaN(detailRowHeight)) {\n throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n valid number value: (${detailRowHeight}) when 'scrollbarV' is enabled.`);\n }\n\n const n = rows.length;\n this.treeArray = new Array(n);\n\n for(let i = 0; i < n; ++i) {\n this.treeArray[i] = 0;\n }\n\n for(let i = 0; i < n; ++i) {\n let currentRowHeight = rowHeight;\n\n // Add the detail row height to the already expanded rows.\n // This is useful for the table that goes through a filter or sort.\n if (rows[i] && rows[i].$$expanded === 1) {\n currentRowHeight += detailRowHeight;\n }\n\n this.update(i, currentRowHeight);\n }\n }\n\n /**\n * Given the ScrollY position i.e. sum, provide the rowIndex\n * that is present in the current view port. Below handles edge cases.\n *\n * @param scrollY - The scrollY position.\n * @returns {number} - Index representing the first row visible in the viewport\n */\n getRowIndex(scrollY: number): number {\n if(scrollY === 0) return 0;\n return this.calcRowIndex(scrollY);\n }\n\n /**\n * When a row is expanded or rowHeight is changed, update the height. This can\n * be utilized in future when Angular Data table supports dynamic row heights.\n *\n *\n * @param atRowIndex Update the data at this index row in the grid.\n * @param byRowHeight Update by the rowHeight provided.\n */\n update (atRowIndex: number, byRowHeight: number): void {\n if (!this.treeArray.length) {\n throw new Error(`Update at index ${atRowIndex} with value ${byRowHeight} failed:\n Row Height cache not initialized.`);\n }\n\n const n = this.treeArray.length;\n atRowIndex |= 0;\n\n while(atRowIndex < n) {\n this.treeArray[atRowIndex] += byRowHeight;\n atRowIndex |= (atRowIndex + 1);\n }\n }\n\n /**\n * Range Sum query from 1 to the rowIndex\n *\n * @param atIndex The row index until which the total height needs to be obtained.\n * @returns {number} The total height from row 1 to the rowIndex.\n */\n query(atIndex: number): number {\n if (!this.treeArray.length) {\n throw new Error(`query at index ${atIndex} failed: Fenwick tree array not initialized.`);\n }\n\n let sum = 0;\n atIndex |= 0;\n\n while(atIndex >= 0) {\n sum += this.treeArray[atIndex];\n atIndex = (atIndex & (atIndex + 1)) - 1;\n }\n\n return sum;\n }\n\n /**\n * Find the total height between 2 row indexes\n * @param atIndexA The row index from\n * @param atIndexB The row index to\n * @returns {number} total pixel height between 2 row indexes.\n */\n queryBetween(atIndexA: number, atIndexB: number): number {\n return this.query(atIndexB) - this.query(atIndexA - 1);\n }\n\n /**\n * Given the ScrollY position i.e. sum, provide the rowIndex\n * that is present in the current view port.\n *\n * @param sum - The scrollY position.\n * @returns {number} - Index representing the first row visible in the viewport\n */\n private calcRowIndex(sum: number): number {\n if(!this.treeArray.length) return 0;\n\n let pos = -1;\n const dataLength = this.treeArray.length;\n\n // Get the highest bit for the block size.\n const highestBit = Math.pow(2, dataLength.toString(2).length - 1);\n\n for (let blockSize = highestBit; blockSize !== 0; blockSize >>= 1) {\n let nextPos = pos + blockSize;\n if (nextPos < dataLength && sum >= this.treeArray[nextPos]) {\n sum -= this.treeArray[nextPos];\n pos = nextPos;\n }\n }\n\n return pos + 1;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/row-height-cache.ts","/**\n * Gets the width of the scrollbar. Nesc for windows\n * http://stackoverflow.com/a/13382873/888165\n * @return {int} width\n */\nexport function getScrollBarWidth() {\n let outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n outer.style.msOverflowStyle = 'scrollbar';\n document.body.appendChild(outer);\n\n let widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n let inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n let widthWithScroll = inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n};\n\nexport const scrollbarWidth = getScrollBarWidth();\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/scrollbar-width.ts","export function selectRows(selected, row, comparefn) {\n const selectedIndex = comparefn(row, selected);\n\n if(selectedIndex > -1) {\n selected.splice(selectedIndex, 1);\n } else {\n selected.push(row);\n }\n\n return selected;\n}\n\nexport function selectRowsBetween(selected, rows, index, prevIndex, comparefn) {\n const reverse = index < prevIndex;\n\n for(let i = 0, len = rows.length; i < len; i++) {\n const row = rows[i];\n const greater = i >= prevIndex && i <= index;\n const lesser = i <= prevIndex && i >= index;\n\n let range = { start: 0, end: 0 };\n if (reverse) {\n range = {\n start: index,\n end: (prevIndex - index)\n };\n } else {\n range = {\n start: prevIndex,\n end: index + 1\n };\n }\n\n if((reverse && lesser) || (!reverse && greater)) {\n const idx = comparefn(row, selected);\n\n // if reverse shift selection (unselect) and the\n // row is already selected, remove it from selected\n if (reverse && idx > -1) {\n selected.splice(idx, 1);\n continue;\n }\n\n // if in the positive range to be added to `selected`, and\n // not already in the selected array, add it\n if( i >= range.start && i < range.end) {\n if (idx === -1) {\n selected.push(row);\n }\n }\n }\n }\n\n return selected;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/selection.ts","import { SortType, SortDirection } from '../types';\nimport { deepValueGetter } from './deep-getter';\n/**\n * Gets the next sort direction\n * @param {SortType} sortType\n * @param {SortDirection} currentSort\n * @return {SortDirection}\n */\nexport function nextSortDir(sortType: SortType, current: SortDirection): SortDirection {\n if (sortType === SortType.single) {\n if(current === SortDirection.asc) {\n return SortDirection.desc;\n } else {\n return SortDirection.asc;\n }\n } else {\n if(!current) {\n return SortDirection.asc;\n } else if(current === SortDirection.asc) {\n return SortDirection.desc;\n } else if(current === SortDirection.desc) {\n return undefined;\n }\n }\n};\n\n/**\n * Adapted from fueld-ui on 6/216\n * https://github.com/FuelInteractive/fuel-ui/tree/master/src/pipes/OrderBy\n * @param {any} a\n * @param {any} b\n * @return {number} position\n */\nexport function orderByComparator(a: any, b: any): number {\n if (a === null || typeof a === 'undefined') a = 0;\n if (b === null || typeof b === 'undefined') b = 0;\n\n if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) {\n // Convert to string in case of a=0 or b=0\n a = String(a);\n b = String(b);\n // Isn't a number so lowercase the string to properly compare\n if (a.toLowerCase() < b.toLowerCase()) return -1;\n if (a.toLowerCase() > b.toLowerCase()) return 1;\n } else {\n // Parse strings as numbers to compare properly\n if (parseFloat(a) < parseFloat(b)) return -1;\n if (parseFloat(a) > parseFloat(b)) return 1;\n }\n\n // equal each other\n return 0;\n}\n\n/**\n * Sorts the rows\n * \n * @export\n * @param {any[]} rows\n * @param {any[]} columns\n * @param {any[]} dirs\n * @returns\n */\nexport function sortRows(rows: any[], columns: any[], dirs: any[]) {\n if(!rows || !dirs || !columns) return rows;\n\n let cols = columns.reduce((obj, col) => {\n if(col.comparator && typeof col.comparator === 'function') {\n obj[col.prop] = col.comparator;\n }\n return obj;\n }, {});\n\n return [...rows].sort(function(a: any, b: any) {\n for(const { prop, dir } of dirs) {\n const propA = deepValueGetter(a, prop);\n const propB = deepValueGetter(b, prop);\n\n const compareFn = cols[prop] || orderByComparator;\n const comparison = dir !== SortDirection.desc ?\n compareFn(propA, propB) :\n -compareFn(propA, propB);\n\n // Don't return 0 yet in case of needing to sort by next property\n if (comparison !== 0) return comparison;\n }\n\n // equal each other\n return 0;\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/sort.ts","import { getVendorPrefixedName } from './prefixes';\nimport { camelCase } from './camel-case';\n\n// browser detection and prefixing tools\nconst transform = getVendorPrefixedName('transform');\nconst backfaceVisibility = getVendorPrefixedName('backfaceVisibility');\nconst hasCSSTransforms = !!getVendorPrefixedName('transform');\nconst hasCSS3DTransforms = !!getVendorPrefixedName('perspective');\nconst ua = window.navigator.userAgent;\nconst isSafari = (/Safari\\//).test(ua) && !(/Chrome\\//).test(ua);\n\nexport function translateXY(styles, x, y) {\n if (hasCSSTransforms) {\n if (!isSafari && hasCSS3DTransforms) {\n styles[transform] = `translate3d(${x}px, ${y}px, 0)`;\n styles[backfaceVisibility] = 'hidden';\n } else {\n styles[camelCase(transform)] = `translate(${x}px, ${y}px)`;\n }\n } else {\n styles.top = `${y}px`;\n styles.left = `${x}px`;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/translate.ts","import { NgZone } from '@angular/core';\n\nexport function checkVisibility(element: any, callback: any, zone: NgZone) {\n let timeout;\n\n function check() {\n // https://davidwalsh.name/offsetheight-visibility\n const { offsetHeight, offsetWidth } = element;\n \n if (offsetHeight && offsetWidth) {\n clearTimeout(timeout);\n if(callback) zone.run(() => callback());\n } else {\n clearTimeout(timeout);\n zone.runOutsideAngular(() => {\n timeout = setTimeout(() => check(), 50);\n });\n }\n }\n \n check();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/visibility-observer.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/core\"\n// module id = 0\n// module chunks = 0 1 2","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"rxjs/Rx\"\n// module id = 1\n// module chunks = 0 1 2","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/common\"\n// module id = 2\n// module chunks = 0 1 2"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 14b6d0ef9f2864c36b94","webpack:///./src/components/body/body-cell.component.ts","webpack:///./src/components/body/body-row-wrapper.component.ts","webpack:///./src/components/body/body-row.component.ts","webpack:///./src/components/body/body.component.ts","webpack:///./src/components/body/index.ts","webpack:///./src/components/body/progress-bar.component.ts","webpack:///./src/components/body/scroller.component.ts","webpack:///./src/components/body/selection.component.ts","webpack:///./src/components/column.directive.ts","webpack:///./src/components/datatable.component.ts","webpack:///./src/components/footer/footer.component.ts","webpack:///./src/components/footer/index.ts","webpack:///./src/components/footer/pager.component.ts","webpack:///./src/components/header/header-cell.component.ts","webpack:///./src/components/header/header.component.ts","webpack:///./src/components/header/index.ts","webpack:///./src/components/index.ts","webpack:///./src/components/row-detail.directive.ts","webpack:///./src/datatable.module.ts","webpack:///./src/directives/draggable.directive.ts","webpack:///./src/directives/index.ts","webpack:///./src/directives/long-press.directive.ts","webpack:///./src/directives/orderable.directive.ts","webpack:///./src/directives/resizeable.directive.ts","webpack:///./src/directives/visibility.directive.ts","webpack:///./src/index.ts","webpack:///./src/types/click.type.ts","webpack:///./src/types/column-mode.type.ts","webpack:///./src/types/index.ts","webpack:///./src/types/selection.type.ts","webpack:///./src/types/sort-direction.type.ts","webpack:///./src/types/sort.type.ts","webpack:///./src/utils/camel-case.ts","webpack:///./src/utils/column-helper.ts","webpack:///./src/utils/column.ts","webpack:///./src/utils/debounce.ts","webpack:///./src/utils/deep-getter.ts","webpack:///./src/utils/id.ts","webpack:///./src/utils/index.ts","webpack:///./src/utils/keys.ts","webpack:///./src/utils/math.ts","webpack:///./src/utils/prefixes.ts","webpack:///./src/utils/row-height-cache.ts","webpack:///./src/utils/scrollbar-width.ts","webpack:///./src/utils/selection.ts","webpack:///./src/utils/sort.ts","webpack:///./src/utils/translate.ts","webpack:///./src/utils/visibility-observer.ts","webpack:///external \"@angular/core\"","webpack:///external \"rxjs/Rx\"","webpack:///external \"@angular/common\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/common\"), require(\"@angular/core\"), require(\"rxjs/Rx\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"angular2-data-table\", [\"@angular/common\", \"@angular/core\", \"rxjs/Rx\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular2-data-table\"] = factory(require(\"@angular/common\"), require(\"@angular/core\"), require(\"rxjs/Rx\"));\n\telse\n\t\troot[\"angular2-data-table\"] = factory(root[\"@angular/common\"], root[\"@angular/core\"], root[\"rxjs/Rx\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 14b6d0ef9f2864c36b94","import {\r\n Component, Input, PipeTransform, HostBinding, \r\n Output, EventEmitter, HostListener, ElementRef,\r\n Renderer, ChangeDetectionStrategy\r\n} from '@angular/core';\r\n\r\nimport { deepValueGetter, Keys } from '../../utils';\r\nimport { SortDirection } from '../../types';\r\n\r\n@Component({\r\n selector: 'datatable-body-cell',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableBodyCellComponent {\r\n\r\n @Input() row: any;\r\n @Input() column: any;\r\n @Input() rowHeight: number;\r\n\r\n @Input() set sorts(val: any[]) {\r\n this._sorts = val;\r\n this.calcSortDir = this.calcSortDir(val);\r\n }\r\n\r\n get sorts(): any[] {\r\n return this._sorts;\r\n }\r\n\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n\r\n @HostBinding('class.active')\r\n isFocused: boolean = false;\r\n\r\n @HostBinding('class.sort-active')\r\n get isSortActive(): boolean {\r\n return !this.sortDir;\r\n }\r\n\r\n @HostBinding('class.sort-asc')\r\n get isSortAscending(): boolean {\r\n return this.sortDir === SortDirection.asc;\r\n }\r\n\r\n @HostBinding('class.sort-desc')\r\n get isSortDescending(): boolean {\r\n return this.sortDir === SortDirection.desc;\r\n }\r\n\r\n @HostBinding('style.width.px')\r\n get width(): number {\r\n return this.column.width;\r\n }\r\n\r\n @HostBinding('style.height')\r\n get height(): string|number {\r\n const height = this.rowHeight;\r\n if(isNaN(height)) return height;\r\n return height + 'px';\r\n }\r\n\r\n get value(): any {\r\n if (!this.row || !this.column) return '';\r\n const prop = deepValueGetter(this.row, this.column.prop);\r\n const userPipe: PipeTransform = this.column.pipe;\r\n return userPipe ? userPipe.transform(prop) : prop;\r\n }\r\n\r\n private sortDir: SortDirection;\r\n private element: any;\r\n private _sorts: any[];\r\n\r\n constructor(element: ElementRef, renderer: Renderer) {\r\n this.element = element.nativeElement;\r\n renderer.setElementClass(this.element, 'datatable-body-cell', true);\r\n }\r\n\r\n @HostListener('focus', ['$event'])\r\n onFocus(event): void {\r\n this.isFocused = true;\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n onBlur(event): void {\r\n this.isFocused = false;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event): void {\r\n this.activate.emit({\r\n type: 'click',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n onDblClick(event): void {\r\n this.activate.emit({\r\n type: 'dblclick',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event): void {\r\n const keyCode = event.keyCode;\r\n const isTargetCell = event.target === this.element;\r\n \r\n const isAction = \r\n keyCode === Keys.return ||\r\n keyCode === Keys.down ||\r\n keyCode === Keys.up ||\r\n keyCode === Keys.left ||\r\n keyCode === Keys.right;\r\n\r\n if(isAction && isTargetCell) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.activate.emit({\r\n type: 'keydown',\r\n event,\r\n row: this.row,\r\n column: this.column,\r\n value: this.value,\r\n cellElement: this.element\r\n });\r\n }\r\n }\r\n\r\n calcSortDir(sorts): any {\r\n if(!sorts) return;\r\n\r\n const sort = sorts.find(s => {\r\n return s.prop === this.column.prop;\r\n });\r\n\r\n if(sort) return sort.dir;\r\n }\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-cell.component.ts","import { Component, Input, Renderer, ElementRef, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-row-wrapper',\r\n template: `\r\n \r\n
\r\n \r\n \r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableRowWrapperComponent {\r\n\r\n @Input() rowDetailTemplate: any;\r\n @Input() detailRowHeight: any;\r\n @Input() expanded: boolean = false;\r\n @Input() row: any;\r\n\r\n constructor(element: ElementRef, renderer: Renderer) {\r\n renderer.setElementClass(element.nativeElement, 'datatable-row-wrapper', true);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row-wrapper.component.ts","import { \r\n Component, Input, HostBinding, ElementRef, ChangeDetectionStrategy,\r\n Renderer, Output, EventEmitter , HostListener\r\n} from '@angular/core';\r\n\r\nimport { \r\n columnsByPin, columnGroupWidths, columnsByPinArr, \r\n translateXY, Keys, scrollbarWidth\r\n} from '../../utils';\r\n\r\n@Component({\r\n selector: 'datatable-body-row',\r\n template: `\r\n \r\n \r\n \r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableBodyRowComponent {\r\n\r\n @Input() set columns(val: any[]) {\r\n this._columns = val;\r\n this.recalculateColumns(val);\r\n }\r\n\r\n get columns(): any[] { \r\n return this._columns; \r\n }\r\n\r\n @Input() set innerWidth(val: number) {\r\n this._innerWidth = val;\r\n this.recalculateColumns();\r\n }\r\n\r\n get innerWidth(): number {\r\n return this._innerWidth;\r\n }\r\n\r\n @Input() row: any;\r\n @Input() offsetX: number;\r\n\r\n @HostBinding('style.height.px')\r\n @Input() rowHeight: number;\r\n\r\n @HostBinding('class.active')\r\n @Input() isSelected: boolean;\r\n\r\n @HostBinding('class.datatable-row-even')\r\n get isEvenRow(): boolean {\r\n return this.row.$$index % 2 === 0;\r\n }\r\n\r\n @HostBinding('class.datatable-row-odd')\r\n get isOddRow(): boolean {\r\n return this.row.$$index % 2 !== 0;\r\n }\r\n\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n\r\n private element: any;\r\n private columnGroupWidths: any;\r\n private columnsByPin: any;\r\n private _columns: any[];\r\n private _innerWidth: number;\r\n\r\n constructor(element: ElementRef, renderer: Renderer) {\r\n this.element = element.nativeElement;\r\n renderer.setElementClass(this.element, 'datatable-body-row', true);\r\n }\r\n\r\n stylesByGroup(group) {\r\n const widths = this.columnGroupWidths;\r\n const offsetX = this.offsetX;\r\n\r\n let styles = {\r\n width: `${widths[group]}px`\r\n };\r\n\r\n if(group === 'left') {\r\n translateXY(styles, offsetX, 0);\r\n } else if(group === 'right') {\r\n const bodyWidth = parseInt(this.innerWidth + '', 0);\r\n const totalDiff = widths.total - bodyWidth;\r\n const offsetDiff = totalDiff - offsetX;\r\n const offset = (offsetDiff + scrollbarWidth) * -1;\r\n translateXY(styles, offset, 0);\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n onActivate(event, index) {\r\n event.cellIndex = index;\r\n event.rowElement = this.element;\r\n this.activate.emit(event);\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event): void {\r\n const keyCode = event.keyCode;\r\n const isTargetRow = event.target === this.element;\r\n\r\n const isAction = \r\n keyCode === Keys.return ||\r\n keyCode === Keys.down ||\r\n keyCode === Keys.up ||\r\n keyCode === Keys.left ||\r\n keyCode === Keys.right;\r\n\r\n if(isAction && isTargetRow) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.activate.emit({\r\n type: 'keydown',\r\n event,\r\n row: this.row,\r\n rowElement: this.element\r\n });\r\n }\r\n }\r\n\r\n recalculateColumns(val: any[] = this.columns) {\r\n const colsByPin = columnsByPin(val);\r\n this.columnsByPin = columnsByPinArr(val);\r\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body-row.component.ts","import {\r\n Component, Output, EventEmitter, Input, HostBinding,\r\n ViewChild, ElementRef, Renderer, ChangeDetectionStrategy\r\n} from '@angular/core';\r\nimport { translateXY, columnsByPin, columnGroupWidths, RowHeightCache } from '../../utils';\r\nimport { SelectionType } from '../../types';\r\nimport { ScrollerComponent } from './scroller.component';\r\n\r\n@Component({\r\n selector: 'datatable-body',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableBodyComponent {\r\n\r\n @Input() scrollbarV: boolean;\r\n @Input() scrollbarH: boolean;\r\n @Input() loadingIndicator: boolean;\r\n @Input() rowHeight: number;\r\n @Input() offsetX: number;\r\n @Input() detailRowHeight: any;\r\n @Input() emptyMessage: string;\r\n @Input() selectionType: SelectionType;\r\n @Input() selected: any[] = [];\r\n @Input() rowIdentity: any;\r\n @Input() rowDetailTemplate: any;\r\n @Input() selectCheck: any;\r\n @Input() trackByProp: string;\r\n\r\n @Input() set pageSize(val: number) {\r\n this._pageSize = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get pageSize(): number {\r\n return this._pageSize;\r\n }\r\n\r\n @Input() set rows(val: any[]) {\r\n this._rows = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get rows(): any[] {\r\n return this._rows;\r\n }\r\n\r\n @Input() set columns(val: any[]) {\r\n this._columns = val;\r\n \r\n const colsByPin = columnsByPin(val);\r\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\r\n }\r\n\r\n get columns(): any[] { \r\n return this._columns; \r\n }\r\n\r\n @Input() set offset(val: number) {\r\n this._offset = val;\r\n this.recalcLayout();\r\n }\r\n \r\n get offset(): number {\r\n return this._offset;\r\n }\r\n \r\n @Input() set rowCount(val: number) {\r\n this._rowCount = val;\r\n this.recalcLayout();\r\n }\r\n\r\n get rowCount(): number {\r\n return this._rowCount;\r\n }\r\n\r\n @Input() innerWidth: number;\r\n\r\n @HostBinding('style.width')\r\n get bodyWidth(): string {\r\n if (this.scrollbarH) {\r\n return this.innerWidth + 'px';\r\n } else {\r\n return '100%';\r\n }\r\n }\r\n \r\n @Input()\r\n @HostBinding('style.height')\r\n set bodyHeight(val) {\r\n if (this.scrollbarV) {\r\n this._bodyHeight = val + 'px';\r\n } else {\r\n this._bodyHeight = 'auto';\r\n }\r\n\r\n this.recalcLayout();\r\n }\r\n\r\n get bodyHeight() { \r\n return this._bodyHeight; \r\n }\r\n\r\n @Output() scroll: EventEmitter = new EventEmitter();\r\n @Output() page: EventEmitter = new EventEmitter();\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n @Output() select: EventEmitter = new EventEmitter();\r\n @Output() detailToggle: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild(ScrollerComponent) scroller: ScrollerComponent;\r\n\r\n get selectEnabled(): boolean {\r\n return !!this.selectionType;\r\n }\r\n\r\n private rowHeightsCache: RowHeightCache = new RowHeightCache();\r\n private temp: any[] = [];\r\n private offsetY: number = 0;\r\n private indexes: any = {};\r\n private columnGroupWidths: any;\r\n private rowTrackingFn: any;\r\n\r\n private _rows: any[];\r\n private _bodyHeight: any;\r\n private _columns: any[];\r\n private _rowCount: number;\r\n private _offset: number;\r\n private _pageSize: number;\r\n\r\n /**\r\n * Property that would calculate the height of scroll bar\r\n * based on the row heights cache for virtual scroll. Other scenarios\r\n * calculate scroll height automatically (as height will be undefined).\r\n */\r\n get scrollHeight(): number {\r\n if(this.scrollbarV) {\r\n return this.rowHeightsCache.query(this.rowCount - 1);\r\n }\r\n }\r\n \r\n constructor(element: ElementRef, renderer: Renderer) {\r\n renderer.setElementClass(element.nativeElement, 'datatable-body', true);\r\n\r\n // declare fn here so we can get access to the `this` property\r\n this.rowTrackingFn = function(index: number, row: any): any {\r\n if(this.trackByProp) {\r\n return `${row.$$index}-${this.trackByProp}`;\r\n } else {\r\n return row.$$index;\r\n }\r\n }.bind(this);\r\n }\r\n\r\n updateOffsetY(offset?: number): void {\r\n if(this.scrollbarV && offset) {\r\n // First get the row Index that we need to move to.\r\n const rowIndex = this.pageSize * offset;\r\n offset = this.rowHeightsCache.query(rowIndex - 1);\r\n }\r\n\r\n this.scroller.setOffset(offset || 0);\r\n }\r\n\r\n onBodyScroll({ scrollYPos, scrollXPos, direction }): void {\r\n // if scroll change, trigger update\r\n // this is mainly used for header cell positions\r\n if(this.offsetY !== scrollYPos || this.offsetX !== scrollXPos) {\r\n this.scroll.emit({ \r\n offsetY: scrollYPos,\r\n offsetX: scrollXPos\r\n });\r\n }\r\n \r\n this.offsetY = scrollYPos;\r\n this.offsetX = scrollXPos;\r\n\r\n this.updateIndexes();\r\n this.updatePage(direction);\r\n this.updateRows();\r\n }\r\n\r\n updatePage(direction): void {\r\n let offset = this.indexes.first / this.pageSize;\r\n\r\n if(direction === 'up') {\r\n offset = Math.floor(offset);\r\n } else if(direction === 'down') {\r\n offset = Math.ceil(offset);\r\n }\r\n\r\n if(direction !== undefined && !isNaN(offset)) {\r\n this.page.emit({ offset });\r\n }\r\n }\r\n\r\n updateRows(): void {\r\n const { first, last } = this.indexes;\r\n let rowIndex = first;\r\n let idx = 0;\r\n let temp = [];\r\n\r\n while (rowIndex < last && rowIndex < this.rowCount) {\r\n let row = this.rows[rowIndex];\r\n\r\n if(row) {\r\n row.$$index = rowIndex;\r\n temp[idx] = row;\r\n }\r\n\r\n idx++;\r\n rowIndex++;\r\n }\r\n\r\n this.temp = temp;\r\n }\r\n\r\n /**\r\n * Calculate row height based on the expanded state of the row.\r\n *\r\n * @param row the row for which the height need to be calculated.\r\n * @returns {number} height of the row.\r\n */\r\n getRowHeight(row: any): number {\r\n // Adding detail row height if its expanded.\r\n return this.rowHeight +\r\n (row.$$expanded === 1 ? this.detailRowHeight : 0);\r\n }\r\n\r\n /**\r\n * Calculates the styles for the row so that the rows can be moved in 2D space\r\n * during virtual scroll inside the DOM. In the below case the Y position is\r\n * manipulated. As an example, if the height of row 0 is 30 px and row 1 is\r\n * 100 px then following styles are generated:\r\n *\r\n * transform: translate3d(0px, 0px, 0px); -> row0\r\n * transform: translate3d(0px, 30px, 0px); -> row1\r\n * transform: translate3d(0px, 130px, 0px); -> row2\r\n *\r\n * Row heights have to be calculated based on the row heights cache as we wont\r\n * be able to determine which row is of what height before hand. In the above\r\n * case the positionY of the translate3d for row2 would be the sum of all the\r\n * heights of the rows before it (i.e. row0 and row1).\r\n *\r\n * @param row The row that needs to be placed in the 2D space.\r\n * @returns {{styles: string}} Returns the CSS3 style to be applied\r\n */\r\n getRowsStyles(row): any {\r\n const rowHeight = this.getRowHeight(row);\r\n\r\n let styles = {\r\n height: rowHeight + 'px'\r\n };\r\n\r\n if(this.scrollbarV) {\r\n const idx = row ? row.$$index : 0;\r\n \r\n // const pos = idx * rowHeight;\r\n // The position of this row would be the sum of all row heights\r\n // until the previous row position.\r\n const pos = this.rowHeightsCache.query(idx - 1);\r\n\r\n translateXY(styles, 0, pos);\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n hideIndicator(): void {\r\n setTimeout(() => this.loadingIndicator = false, 500);\r\n }\r\n\r\n updateIndexes(): void {\r\n let first = 0;\r\n let last = 0;\r\n\r\n if (this.scrollbarV) {\r\n // Calculation of the first and last indexes will be based on where the\r\n // scrollY position would be at. The last index would be the one\r\n // that shows up inside the view port the last.\r\n const height = parseInt(this.bodyHeight, 0);\r\n first = this.rowHeightsCache.getRowIndex(this.offsetY);\r\n last = this.rowHeightsCache.getRowIndex(height + this.offsetY) + 1;\r\n } else {\r\n first = Math.max(this.offset * this.pageSize, 0);\r\n last = Math.min((first + this.pageSize), this.rowCount);\r\n }\r\n\r\n this.indexes = { first, last };\r\n }\r\n\r\n /**\r\n * Refreshes the full Row Height cache. Should be used\r\n * when the entire row array state has changed.\r\n */\r\n refreshRowHeightCache(): void {\r\n if(!this.scrollbarV) return;\r\n\r\n // clear the previous row height cache if already present.\r\n // this is useful during sorts, filters where the state of the\r\n // rows array is changed.\r\n this.rowHeightsCache.clearCache();\r\n\r\n // Initialize the tree only if there are rows inside the tree.\r\n if (this.rows && this.rows.length) {\r\n this.rowHeightsCache.initCache(\r\n this.rows, this.rowHeight, this.detailRowHeight);\r\n }\r\n }\r\n\r\n getAdjustedViewPortIndex(): number {\r\n // Capture the row index of the first row that is visible on the viewport.\r\n // If the scroll bar is just below the row which is highlighted then make that as the\r\n // first index.\r\n let viewPortFirstRowIndex = this.indexes.first;\r\n\r\n if (this.scrollbarV) {\r\n const offsetScroll = this.rowHeightsCache.query(viewPortFirstRowIndex - 1);\r\n return offsetScroll <= this.offsetY ? viewPortFirstRowIndex - 1 : viewPortFirstRowIndex;\r\n }\r\n\r\n return viewPortFirstRowIndex;\r\n }\r\n\r\n /**\r\n * Toggle the Expansion of the row i.e. if the row is expanded then it will\r\n * collapse and vice versa. Note that the expanded status is stored as\r\n * a part of the row object itself as we have to preserve the expanded row\r\n * status in case of sorting and filtering of the row set.\r\n *\r\n * @param row The row for which the expansion needs to be toggled.\r\n */\r\n toggleRowExpansion(row: any): void {\r\n // Capture the row index of the first row that is visible on the viewport.\r\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\r\n\r\n // If the detailRowHeight is auto --> only in case of non-virtualized scroll\r\n if(this.scrollbarV) {\r\n const detailRowHeight = this.detailRowHeight * (row.$$expanded ? -1 : 1);\r\n this.rowHeightsCache.update(row.$$index, detailRowHeight);\r\n }\r\n \r\n // Update the toggled row and update the heights in the cache.\r\n row.$$expanded ^= 1;\r\n\r\n this.detailToggle.emit({\r\n rows: [row], \r\n currentIndex: viewPortFirstRowIndex \r\n });\r\n }\r\n\r\n /**\r\n * Expand/Collapse all the rows no matter what their state is.\r\n * @param expanded When true, all rows are expanded and when false, all rows will be collapsed.\r\n */\r\n toggleAllRows(expanded: boolean): void {\r\n let rowExpanded = expanded ? 1 : 0;\r\n \r\n // Capture the row index of the first row that is visible on the viewport.\r\n let viewPortFirstRowIndex = this.getAdjustedViewPortIndex();\r\n\r\n for(let row of this.rows) {\r\n row.$$expanded = rowExpanded;\r\n }\r\n\r\n if(this.scrollbarV) {\r\n // Refresh the full row heights cache since every row was affected.\r\n this.refreshRowHeightCache();\r\n }\r\n\r\n // Emit all rows that have been expanded.\r\n this.detailToggle.emit({\r\n rows: this.rows, \r\n currentIndex: viewPortFirstRowIndex \r\n });\r\n }\r\n\r\n recalcLayout(): void {\r\n this.refreshRowHeightCache();\r\n this.updateIndexes();\r\n this.updateRows();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/body.component.ts","export * from './body.component';\r\nexport * from './body-cell.component';\r\nexport * from './body-row.component';\r\nexport * from './progress-bar.component';\r\nexport * from './scroller.component';\r\nexport * from './body-row-wrapper.component';\r\nexport * from './selection.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/index.ts","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-progress',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProgressBarComponent {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/progress-bar.component.ts","import {\r\n Component, Input, ElementRef, Output, EventEmitter,\r\n OnInit, OnDestroy, ChangeDetectionStrategy, HostBinding\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-scroller',\r\n template: `\r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ScrollerComponent implements OnInit, OnDestroy {\r\n\r\n @Input() scrollbarV: boolean = false;\r\n @Input() scrollbarH: boolean = false;\r\n\r\n @HostBinding('style.height.px')\r\n @Input() scrollHeight: number;\r\n\r\n @HostBinding('style.width.px')\r\n @Input() scrollWidth: number;\r\n\r\n @Output() scroll: EventEmitter = new EventEmitter();\r\n\r\n private scrollYPos: number = 0;\r\n private scrollXPos: number = 0;\r\n private prevScrollYPos: number = 0;\r\n private prevScrollXPos: number = 0;\r\n private element: any;\r\n private parentElement: any;\r\n \r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n this.element.classList.add('datatable-scroll');\r\n }\r\n\r\n ngOnInit() {\r\n // manual bind so we don't always listen\r\n if(this.scrollbarV || this.scrollbarH) {\r\n this.parentElement = this.element.parentElement.parentElement;\r\n this.parentElement.addEventListener('scroll', this.onScrolled.bind(this));\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if(this.scrollbarV || this.scrollbarH) {\r\n this.parentElement.removeEventListener('scroll');\r\n }\r\n }\r\n\r\n setOffset(offsetY: number) {\r\n if(this.parentElement) {\r\n this.parentElement.scrollTop = offsetY;\r\n }\r\n }\r\n\r\n onScrolled(event) {\r\n const dom = event.currentTarget;\r\n this.scrollYPos = dom.scrollTop;\r\n this.scrollXPos = dom.scrollLeft;\r\n\r\n requestAnimationFrame(this.updateOffset.bind(this));\r\n }\r\n\r\n updateOffset() {\r\n let direction;\r\n if(this.scrollYPos < this.prevScrollYPos) {\r\n direction = 'down';\r\n } else if(this.scrollYPos > this.prevScrollYPos) {\r\n direction = 'up';\r\n }\r\n\r\n this.scroll.emit({\r\n direction,\r\n scrollYPos: this.scrollYPos,\r\n scrollXPos: this.scrollXPos\r\n });\r\n\r\n this.prevScrollYPos = this.scrollYPos;\r\n this.prevScrollXPos = this.scrollXPos;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/scroller.component.ts","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Keys, selectRows, selectRowsBetween } from '../../utils';\r\nimport { SelectionType } from '../../types';\r\n\r\n@Component({\r\n selector: 'datatable-selection',\r\n template: `\r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableSelectionComponent {\r\n\r\n @Input() rows: any[];\r\n @Input() selected: any[];\r\n @Input() selectEnabled: boolean;\r\n @Input() selectionType: SelectionType;\r\n @Input() rowIdentity: any;\r\n @Input() selectCheck: any;\r\n\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n @Output() select: EventEmitter = new EventEmitter();\r\n\r\n private prevIndex: number;\r\n\r\n selectRow(event, index, row): void {\r\n if (!this.selectEnabled) return;\r\n\r\n const multiShift = this.selectionType === SelectionType.multiShift;\r\n const multiClick = this.selectionType === SelectionType.multi;\r\n let selected = [];\r\n\r\n if (multiShift || multiClick) {\r\n if (multiShift && event.shiftKey) {\r\n const newSelected = [...this.selected];\r\n selected = selectRowsBetween(\r\n newSelected, this.rows, index, this.prevIndex, this.getRowSelectedIdx.bind(this));\r\n } else if (multiShift && !event.shiftKey) {\r\n selected.push(row);\r\n } else {\r\n const newSelected = [...this.selected];\r\n selected = selectRows(newSelected, row, this.getRowSelectedIdx.bind(this));\r\n }\r\n } else {\r\n selected.push(row);\r\n }\r\n\r\n if(this.selectCheck) {\r\n selected = selected.filter(this.selectCheck.bind(this));\r\n }\r\n\r\n this.selected = selected;\r\n this.prevIndex = index;\r\n \r\n this.select.emit({\r\n selected\r\n });\r\n }\r\n\r\n onActivate(model, index): void {\r\n const { type, event, row } = model;\r\n\r\n if(type === 'click' || type === 'dblclick') {\r\n this.selectRow(event, index, row);\r\n } else if(type === 'keydown') {\r\n if (event.keyCode === Keys.return) {\r\n this.selectRow(event, index, row);\r\n } else {\r\n this.onKeyboardFocus(model);\r\n }\r\n }\r\n \r\n this.activate.emit(model);\r\n }\r\n\r\n onKeyboardFocus(model): void {\r\n const { keyCode } = model.event;\r\n const shouldFocus = \r\n keyCode === Keys.up || \r\n keyCode === Keys.down ||\r\n keyCode === Keys.right ||\r\n keyCode === Keys.left;\r\n\r\n if(shouldFocus) {\r\n const isCellSelection = \r\n this.selectionType === SelectionType.cell;\r\n\r\n if(!model.cellElement || !isCellSelection) {\r\n this.focusRow(model.rowElement, keyCode);\r\n } else if(isCellSelection) {\r\n this.focusCell(model.cellElement, model.rowElement, keyCode, model.cellIndex);\r\n }\r\n }\r\n }\r\n\r\n focusRow(rowElement: any, keyCode: number): void {\r\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\r\n if(nextRowElement) nextRowElement.focus();\r\n }\r\n\r\n getPrevNextRow(rowElement: any, keyCode: number): any {\r\n const parentElement = rowElement.parentElement;\r\n\r\n if(parentElement) {\r\n let focusElement;\r\n if(keyCode === Keys.up) {\r\n focusElement = parentElement.previousElementSibling;\r\n } else if(keyCode === Keys.down) {\r\n focusElement = parentElement.nextElementSibling;\r\n }\r\n\r\n if(focusElement && focusElement.children.length) {\r\n return focusElement.children[0];\r\n }\r\n }\r\n }\r\n\r\n focusCell(cellElement: any, rowElement: any, keyCode: number, cellIndex: number): void {\r\n let nextCellElement;\r\n\r\n if(keyCode === Keys.left) {\r\n nextCellElement = cellElement.previousElementSibling;\r\n } else if(keyCode === Keys.right) {\r\n nextCellElement = cellElement.nextElementSibling;\r\n } else if(keyCode === Keys.up || keyCode === Keys.down) {\r\n const nextRowElement = this.getPrevNextRow(rowElement, keyCode);\r\n if(nextRowElement) {\r\n const children = nextRowElement.getElementsByClassName('datatable-body-cell');\r\n if(children.length) nextCellElement = children[cellIndex];\r\n }\r\n }\r\n\r\n if(nextCellElement) nextCellElement.focus();\r\n }\r\n\r\n getRowSelected(row): boolean {\r\n return this.getRowSelectedIdx(row, this.selected) > -1;\r\n }\r\n\r\n getRowSelectedIdx(row: any, selected: any[]): number {\r\n if(!selected || !selected.length) return -1;\r\n\r\n const rowId = this.rowIdentity(row);\r\n return selected.findIndex((r) => {\r\n const id = this.rowIdentity(r);\r\n return id === rowId;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/body/selection.component.ts","import {Directive, TemplateRef, QueryList, ContentChildren, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'datatable-column',\r\n})\r\nexport class DataTableColumnDirective {\r\n\r\n @Input() name;\r\n @Input() prop;\r\n @Input() frozenLeft;\r\n @Input() frozenRight;\r\n @Input() flexGrow;\r\n @Input() resizeable;\r\n @Input() comparator;\r\n @Input() pipe;\r\n @Input() sortable;\r\n @Input() draggable;\r\n @Input() canAutoResize;\r\n @Input() minWidth;\r\n @Input() width;\r\n @Input() maxWidth;\r\n\r\n @ContentChildren(TemplateRef) \r\n templates: QueryList>;\r\n\r\n get hasHeaderTemplate() {\r\n // this is a tad nasty but can't think of a better way\r\n // to differate if the prop is header vs cell\r\n return this.templates.length === 2;\r\n }\r\n\r\n get headerTemplate() {\r\n if(!this.hasHeaderTemplate) return undefined;\r\n return this.templates.first;\r\n }\r\n\r\n get cellTemplate() {\r\n if(this.hasHeaderTemplate) return this.templates.last;\r\n return this.templates.first;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/column.directive.ts","import {\n Component, Input, Output, ElementRef, EventEmitter, ViewChild,\n HostListener, ContentChildren, OnInit, QueryList, AfterViewInit,\n HostBinding, Renderer, ContentChild, TemplateRef, ChangeDetectionStrategy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { Observable } from 'rxjs/Rx';\n\nimport { forceFillColumnWidths, adjustColumnWidths, sortRows } from '../utils';\nimport { ColumnMode, SortType, SelectionType } from '../types';\nimport { DataTableBodyComponent } from './body';\nimport { DataTableColumnDirective } from './column.directive';\nimport { DatatableRowDetailDirective } from './row-detail.directive';\nimport { scrollbarWidth, setColumnDefaults, translateTemplates } from '../utils';\n\n@Component({\n selector: 'datatable',\n template: `\n \n \n \n \n \n \n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableComponent implements OnInit, AfterViewInit {\n\n // Rows\n @Input() set rows(val: any) {\n // if a observable was passed, lets convert to array\n if(val instanceof Observable) {\n val.concatMap((v) => v)\n .toArray()\n .subscribe((r) => {\n this.rows = r;\n this.cdr.markForCheck();\n });\n } else {\n // auto sort on new updates\n if (!this.externalSorting) {\n val = sortRows(val, this.columns, this.sorts);\n }\n\n this._rows = val;\n\n // recalculate sizes/etc\n this.recalculate();\n }\n }\n\n get rows(): any {\n return this._rows;\n }\n\n // Columns\n @Input() set columns(val: any[]) {\n if(val) {\n setColumnDefaults(val);\n this.recalculateColumns(val);\n }\n\n this._columns = val;\n }\n\n get columns(): any[] {\n return this._columns;\n }\n\n // Selected rows\n @Input() selected: any[];\n\n // Enable vertical scrollbars\n @Input() scrollbarV: boolean = false;\n\n // Enable horz scrollbars\n @Input() scrollbarH: boolean = false;\n\n // The row height; which is necessary\n // to calculate the height for the lazy rendering.\n @Input() rowHeight: number = 30;\n\n // The detail row height is required especially when virtual scroll is enabled.\n @Input() detailRowHeight: number = 0;\n\n // Type of column width distribution.\n // Example: flex, force, standard\n @Input() columnMode: ColumnMode = ColumnMode.standard;\n\n // The minimum header height in pixels.\n // pass falsey for no header\n // note: number|string does not work right\n @Input() headerHeight: any = 30;\n\n // The minimum footer height in pixels.\n // pass falsey for no footer\n @Input() footerHeight: number = 0;\n\n // if external paging is turned on\n @Input() externalPaging: boolean = false;\n\n // if external sorting is turned on\n @Input() externalSorting: boolean = false;\n\n // Page size\n @Input() limit: number = undefined;\n\n // Total count\n @Input() count: number = 0;\n\n // Page offset\n @Input() offset: number = 0;\n\n // Loading indicator\n @Input() loadingIndicator: boolean = false;\n\n // Selections?\n @Input() selectionType: SelectionType;\n\n // if you can reorder columns\n @Input() reorderable: boolean = true;\n\n // type of sorting\n @Input() sortType: SortType = SortType.single;\n\n // sorts\n @Input() sorts: any[] = [];\n\n // row detail template\n @Input() rowDetailTemplate: TemplateRef;\n\n // css class overrides\n @Input() cssClasses: any = {\n sortAscending: 'icon-down',\n sortDescending: 'icon-up',\n pagerLeftArrow: 'icon-left',\n pagerRightArrow: 'icon-right',\n pagerPrevious: 'icon-prev',\n pagerNext: 'icon-skip'\n };\n\n // message overrides for localization\n @Input() messages: any = {\n\n // Message to show when array is presented\n // but contains no values\n emptyMessage: 'No data to display',\n\n // Footer total message\n totalMessage: 'total'\n\n };\n\n // This will be used when displaying or selecting rows:\n // when tracking/comparing them, we'll use the value of this fn,\n // (`fn(x) === fn(y)` instead of `x === y`)\n @Input() rowIdentity: any = ((x) => x);\n\n // A boolean/function you can use to check whether you want\n // to select a particular row based on a criteria. Example:\n // (selection) => { return selection !== 'Ethel Price'; }\n @Input() selectCheck: any;\n\n // Property to which you can use for custom tracking of rows\n // Example: 'name'\n @Input() trackByProp: string;\n\n @Output() scroll: EventEmitter = new EventEmitter();\n @Output() activate: EventEmitter = new EventEmitter();\n @Output() select: EventEmitter = new EventEmitter();\n @Output() sort: EventEmitter = new EventEmitter();\n @Output() page: EventEmitter = new EventEmitter();\n @Output() detailToggle: EventEmitter = new EventEmitter();\n @Output() reorder: EventEmitter = new EventEmitter();\n @Output() resize: EventEmitter = new EventEmitter();\n\n @HostBinding('class.fixed-header')\n get isFixedHeader() {\n const headerHeight: number|string = this.headerHeight;\n return (typeof headerHeight === 'string') ?\n (headerHeight) !== 'auto' : true;\n }\n\n @HostBinding('class.fixed-row')\n get isFixedRow() {\n const rowHeight: number|string = this.rowHeight;\n return (typeof rowHeight === 'string') ?\n (rowHeight) !== 'auto' : true;\n }\n\n @HostBinding('class.scroll-vertical')\n get isVertScroll() {\n return this.scrollbarV;\n }\n\n @HostBinding('class.scroll-horz')\n get isHorScroll() {\n return this.scrollbarH;\n }\n\n @HostBinding('class.selectable')\n get isSelectable() {\n return this.selectionType !== undefined;\n }\n\n @ContentChildren(DataTableColumnDirective)\n set columnTemplates(val: QueryList) {\n this._columnTemplates = val;\n\n if(val) {\n // only set this if results were brought back\n const arr = val.toArray();\n\n if(arr.length) {\n // translate them to normal objects\n this.columns = translateTemplates(arr);\n }\n }\n }\n\n get columnTemplates(): QueryList {\n return this._columnTemplates;\n }\n\n @ContentChild(DatatableRowDetailDirective)\n set rowDetailTemplateChild(val: DatatableRowDetailDirective) {\n this._rowDetailTemplateChild = val;\n if(val) this.rowDetailTemplate = val.rowDetailTemplate;\n }\n\n get rowDetailTemplateChild(): DatatableRowDetailDirective {\n return this._rowDetailTemplateChild;\n }\n\n offsetX: number = 0;\n\n @ViewChild(DataTableBodyComponent)\n private bodyComponent: DataTableBodyComponent;\n\n private element: HTMLElement;\n private innerWidth: number;\n private pageSize: number;\n private bodyHeight: number;\n private rowCount: number;\n\n private _rows: any[];\n private _columns: any[];\n private _columnTemplates: QueryList;\n private _rowDetailTemplateChild: DatatableRowDetailDirective;\n\n constructor(renderer: Renderer, element: ElementRef, private cdr: ChangeDetectorRef) {\n this.element = element.nativeElement;\n renderer.setElementClass(this.element, 'datatable', true);\n }\n\n ngOnInit(): void {\n // need to call this immediatly to size\n // if the table is hidden the visibility\n // listener will invoke this itself upon show\n this.recalculate();\n }\n\n ngAfterViewInit(): void {\n this.recalculate();\n }\n\n /**\n * Toggle the expansion of the row\n *\n * @param rowIndex\n */\n toggleExpandRow(row: any): void {\n // Should we write a guard here??\n this.bodyComponent.toggleRowExpansion(row);\n }\n\n /**\n * API method to expand all the rows.\n */\n expandAllRows(): void {\n this.bodyComponent.toggleAllRows(true);\n }\n\n /**\n * API method to collapse all the rows.\n */\n collapseAllRows(): void {\n this.bodyComponent.toggleAllRows(false);\n }\n\n @HostListener('window:resize')\n recalculate() {\n this.recalculateDims();\n this.recalculateColumns();\n }\n\n recalculateColumns(columns: any[] = this.columns, forceIdx?: number): any[] {\n if (!columns) return;\n\n let width = this.innerWidth;\n if (this.scrollbarV) {\n width = width - scrollbarWidth;\n }\n\n if (this.columnMode === ColumnMode.force) {\n forceFillColumnWidths(columns, width, forceIdx);\n } else if (this.columnMode === ColumnMode.flex) {\n adjustColumnWidths(columns, width);\n }\n\n return columns;\n }\n\n recalculateDims(): void {\n let { height, width } = this.element.getBoundingClientRect();\n this.innerWidth = Math.floor(width);\n\n if (this.scrollbarV) {\n if (this.headerHeight) height = height - this.headerHeight;\n if (this.footerHeight) height = height - this.footerHeight;\n this.bodyHeight = height;\n }\n\n this.pageSize = this.calcPageSize();\n this.rowCount = this.calcRowCount();\n }\n\n onBodyPage({ offset }): void {\n this.offset = offset;\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n onBodyScroll(event): void {\n this.offsetX = event.offsetX;\n this.scroll.emit(event);\n }\n\n onFooterPage(event) {\n this.offset = event.page - 1;\n this.bodyComponent.updateOffsetY(this.offset);\n\n this.page.emit({\n count: this.count,\n pageSize: this.pageSize,\n limit: this.limit,\n offset: this.offset\n });\n }\n\n calcPageSize(val: any[] = this.rows): number {\n // Keep the page size constant even if the row has been expanded.\n // This is because an expanded row is still considered to be a child of\n // the original row. Hence calculation would use rowHeight only.\n if (this.scrollbarV) return Math.ceil(this.bodyHeight / this.rowHeight);\n\n // if limit is passed, we are paging\n if (this.limit !== undefined) return this.limit;\n\n // otherwise use row length\n if(val) return val.length;\n\n // other empty :(\n return 0;\n }\n\n calcRowCount(val: any[] = this.rows): number {\n if(!this.externalPaging) {\n if(!val) return 0;\n return val.length;\n }\n\n return this.count;\n }\n\n onColumnResize({ column, newValue }): void {\n let idx;\n let cols = this.columns.map((c, i) => {\n c = Object.assign({}, c);\n\n if(c.$$id === column.$$id) {\n idx = i;\n c.width = newValue;\n\n // set this so we can force the column\n // width distribution to be to this value\n c.$$oldWidth = newValue;\n }\n\n return c;\n });\n\n this.recalculateColumns(cols, idx);\n this.columns = cols;\n\n this.resize.emit({\n column,\n newValue\n });\n }\n\n onColumnReorder({ column, newValue, prevValue }): void {\n let cols = this.columns.map(c => {\n return Object.assign({}, c);\n });\n\n cols.splice(prevValue, 1);\n cols.splice(newValue, 0, column);\n this.columns = cols;\n\n this.reorder.emit({\n column,\n newValue,\n prevValue\n });\n }\n\n onColumnSort(event): void {\n const { sorts } = event;\n \n // this could be optimized better since it will resort\n // the rows again on the 'push' detection...\n if (this.externalSorting === false) {\n this.rows = sortRows(this.rows, this.columns, sorts);\n }\n\n this.sorts = sorts;\n this.bodyComponent.updateOffsetY(0);\n this.sort.emit(event);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/datatable.component.ts","import {\r\n Component, Output, EventEmitter, ElementRef,\r\n Renderer, ChangeDetectionStrategy, Input\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-footer',\r\n template: `\r\n \r\n
{{rowCount.toLocaleString()}} {{totalMessage}}
\r\n \r\n \r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableFooterComponent {\r\n\r\n @Input() footerHeight: number;\r\n @Input() rowCount: number;\r\n @Input() pageSize: number;\r\n @Input() offset: number;\r\n @Input() pagerLeftArrowIcon: string;\r\n @Input() pagerRightArrowIcon: string;\r\n @Input() pagerPreviousIcon: string;\r\n @Input() pagerNextIcon: string;\r\n @Input() totalMessage: string;\r\n\r\n @Output() page: EventEmitter = new EventEmitter();\r\n\r\n get isVisible() {\r\n return (this.rowCount / this.pageSize) > 1;\r\n }\r\n\r\n get curPage() {\r\n return this.offset + 1;\r\n }\r\n\r\n constructor(element: ElementRef, renderer: Renderer) {\r\n renderer.setElementClass(element.nativeElement, 'datatable-footer', true);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/footer.component.ts","export * from './footer.component';\r\nexport * from './pager.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/index.ts","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n Renderer,\r\n ElementRef,\r\n ChangeDetectionStrategy\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datatable-pager',\r\n template: `\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n {{pg.text}}\r\n \r\n \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTablePagerComponent {\r\n\r\n @Input() pagerLeftArrowIcon: string;\r\n @Input() pagerRightArrowIcon: string;\r\n @Input() pagerPreviousIcon: string;\r\n @Input() pagerNextIcon: string;\r\n\r\n @Input()\r\n set size(val: number) {\r\n this._size = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get size(): number {\r\n return this._size;\r\n }\r\n\r\n @Input()\r\n set count(val: number) {\r\n this._count = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get count(): number {\r\n return this._count;\r\n }\r\n\r\n @Input()\r\n set page(val: number) {\r\n this._page = val;\r\n this.pages = this.calcPages();\r\n }\r\n\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n get totalPages(): number {\r\n const count = this.size < 1 ? 1 : Math.ceil(this.count / this.size);\r\n return Math.max(count || 0, 1);\r\n }\r\n\r\n @Output() change: EventEmitter = new EventEmitter();\r\n\r\n private _count: number = 0;\r\n private _page: number = 1;\r\n private _size: number = 0;\r\n private pages: any;\r\n\r\n constructor(element: ElementRef, renderer: Renderer) {\r\n renderer.setElementClass(element.nativeElement, 'datatable-pager', true);\r\n }\r\n\r\n canPrevious(): boolean {\r\n return this.page > 1;\r\n }\r\n\r\n canNext(): boolean {\r\n return this.page < this.totalPages;\r\n }\r\n\r\n prevPage(): void {\r\n this.selectPage(this.page - 1);\r\n }\r\n\r\n nextPage(): void {\r\n this.selectPage(this.page + 1);\r\n }\r\n\r\n selectPage(page: number): void {\r\n if (page > 0 && page <= this.totalPages && page !== this.page) {\r\n this.page = page;\r\n\r\n this.change.emit({\r\n page\r\n });\r\n }\r\n }\r\n\r\n calcPages(page?: number): any[] {\r\n let pages = [];\r\n let startPage = 1;\r\n let endPage = this.totalPages;\r\n let maxSize = 5;\r\n const isMaxSized = maxSize < this.totalPages;\r\n\r\n page = page || this.page;\r\n\r\n if (isMaxSized) {\r\n startPage = ((Math.ceil(page / maxSize) - 1) * maxSize) + 1;\r\n endPage = Math.min(startPage + maxSize - 1, this.totalPages);\r\n }\r\n\r\n for (let num = startPage; num <= endPage; num++) {\r\n pages.push({\r\n number: num,\r\n text: num\r\n });\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/pager.component.ts","import {\r\n Component, Input, EventEmitter,\r\n Output, HostBinding, ChangeDetectionStrategy\r\n} from '@angular/core';\r\n\r\nimport { SortDirection, SortType } from '../../types';\r\nimport { nextSortDir } from '../../utils';\r\n\r\n@Component({\r\n selector: 'datatable-header-cell',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableHeaderCellComponent {\r\n\r\n @Input() sortType: SortType;\r\n @Input() column: any;\r\n @Input() sortAscendingIcon: string;\r\n @Input() sortDescendingIcon: string;\r\n\r\n @HostBinding('style.height.px')\r\n @Input() headerHeight: number;\r\n\r\n @Input() set sorts(val: any[]) {\r\n this._sorts = val;\r\n this.sortDir = this.calcSortDir(val);\r\n }\r\n\r\n get sorts(): any[] {\r\n return this._sorts;\r\n }\r\n\r\n @Output() sort: EventEmitter = new EventEmitter();\r\n\r\n @HostBinding('class')\r\n get columnCssClasses(): any {\r\n let cls = 'datatable-header-cell';\r\n\r\n if(this.column.sortable) cls += ' sortable';\r\n if(this.column.resizeable) cls += ' resizeable';\r\n\r\n const sortDir = this.sortDir;\r\n if(sortDir) {\r\n cls += ` sort-active sort-${sortDir}`;\r\n }\r\n\r\n return cls;\r\n }\r\n\r\n @HostBinding('attr.title')\r\n private get name(): string {\r\n return this.column.name || this.column.prop;\r\n }\r\n\r\n @HostBinding('style.minWidth.px')\r\n private get minWidth(): number {\r\n return this.column.minWidth;\r\n }\r\n\r\n @HostBinding('style.maxWidth.px')\r\n private get maxWidth(): number {\r\n return this.column.maxWidth;\r\n }\r\n\r\n @HostBinding('style.width.px')\r\n private get width(): number {\r\n return this.column.width;\r\n }\r\n\r\n private sortDir: SortDirection;\r\n private _sorts: any[];\r\n\r\n sortClasses(dir): any {\r\n let result = {};\r\n\r\n if(dir === SortDirection.asc) {\r\n result[`sort-asc ${this.sortAscendingIcon}`] = true;\r\n } else if(dir === SortDirection.desc) {\r\n result[`sort-desc ${this.sortDescendingIcon}`] = true;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n calcSortDir(sorts) {\r\n if(sorts && this.column) {\r\n const sort = sorts.find(s => {\r\n return s.prop === this.column.prop;\r\n });\r\n\r\n if(sort) return sort.dir;\r\n }\r\n }\r\n\r\n onSort(): void {\r\n if(!this.column.sortable) return;\r\n\r\n const newValue = nextSortDir(this.sortType, this.sortDir);\r\n this.sort.emit({\r\n column: this.column,\r\n prevValue: this.sortDir,\r\n newValue\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header-cell.component.ts","import {\r\n Component, Output, ElementRef, Renderer, EventEmitter, \r\n Input, HostBinding, ChangeDetectionStrategy\r\n} from '@angular/core';\r\nimport { SortType } from '../../types';\r\nimport { columnsByPin, columnGroupWidths, columnsByPinArr, translateXY } from '../../utils';\r\n\r\n@Component({\r\n selector: 'datatable-header',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableHeaderComponent {\r\n\r\n @Input() sortAscendingIcon: any;\r\n @Input() sortDescendingIcon: any;\r\n @Input() scrollbarH: boolean;\r\n @Input() innerWidth: number;\r\n @Input() offsetX: number;\r\n @Input() sorts: any[];\r\n @Input() sortType: SortType;\r\n\r\n @HostBinding('style.height')\r\n @Input() set headerHeight(val: any) {\r\n if(val !== 'auto') { \r\n this._headerHeight = `${val}px`;\r\n } else {\r\n this._headerHeight = val;\r\n }\r\n }\r\n\r\n get headerHeight() {\r\n return this._headerHeight;\r\n }\r\n\r\n @Input() set columns(val: any[]) {\r\n this._columns = val;\r\n\r\n const colsByPin = columnsByPin(val);\r\n this.columnsByPin = columnsByPinArr(val);\r\n this.columnGroupWidths = columnGroupWidths(colsByPin, val);\r\n }\r\n\r\n get columns(): any[] { \r\n return this._columns; \r\n }\r\n\r\n @Output() sort: EventEmitter = new EventEmitter();\r\n @Output() reorder: EventEmitter = new EventEmitter();\r\n @Output() resize: EventEmitter = new EventEmitter();\r\n\r\n private columnsByPin: any;\r\n private columnGroupWidths: any;\r\n private _columns: any[];\r\n private _headerHeight: string;\r\n\r\n @HostBinding('style.width')\r\n private get headerWidth(): string {\r\n if(this.scrollbarH) {\r\n return this.innerWidth + 'px';\r\n }\r\n\r\n return '100%';\r\n }\r\n\r\n constructor(element: ElementRef, renderer: Renderer) {\r\n renderer.setElementClass(element.nativeElement, 'datatable-header', true);\r\n }\r\n\r\n onColumnResized(width, column) {\r\n if (width <= column.minWidth) {\r\n width = column.minWidth;\r\n } else if(width >= column.maxWidth) {\r\n width = column.maxWidth;\r\n }\r\n \r\n this.resize.emit({\r\n column,\r\n prevValue: column.width,\r\n newValue: width\r\n });\r\n }\r\n\r\n onColumnReordered({ prevIndex, newIndex, model }) {\r\n this.reorder.emit({\r\n column: model,\r\n prevValue: prevIndex,\r\n newValue: newIndex\r\n });\r\n }\r\n\r\n onSort({ column, prevValue, newValue }) {\r\n const sorts = this.calcNewSorts(column, prevValue, newValue);\r\n this.sort.emit({\r\n sorts,\r\n column,\r\n prevValue,\r\n newValue\r\n });\r\n }\r\n\r\n calcNewSorts(column: any, prevValue: number, newValue: number) {\r\n let idx = 0;\r\n \r\n let sorts = this.sorts.map((s, i) => { \r\n s = Object.assign({}, s); \r\n if(s.prop === column.prop) idx = i;\r\n return s;\r\n });\r\n\r\n if (newValue === undefined) {\r\n sorts.splice(idx, 1);\r\n } else if (prevValue) {\r\n sorts[idx].dir = newValue;\r\n } else {\r\n if (this.sortType === SortType.single) {\r\n sorts.splice(0, this.sorts.length);\r\n }\r\n\r\n sorts.push({ dir: newValue, prop: column.prop });\r\n }\r\n\r\n return sorts;\r\n }\r\n\r\n stylesByGroup(group) {\r\n const widths = this.columnGroupWidths;\r\n const offsetX = this.offsetX;\r\n\r\n let styles = {\r\n width: `${widths[group]}px`\r\n };\r\n\r\n if(group === 'center') {\r\n translateXY(styles, offsetX * -1, 0);\r\n } else if(group === 'right') {\r\n const totalDiff = widths.total - this.innerWidth;\r\n const offset = totalDiff * -1;\r\n translateXY(styles, offset, 0);\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header.component.ts","export * from './header.component';\r\nexport * from './header-cell.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/index.ts","export * from './datatable.component';\r\nexport * from './column.directive';\r\nexport * from './row-detail.directive';\r\n\r\nexport * from './header';\r\nexport * from './body';\r\nexport * from './footer';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/index.ts","import { Directive, TemplateRef, ContentChild } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'datatable-row-detail-template'\r\n})\r\nexport class DatatableRowDetailDirective {\r\n\r\n @ContentChild(TemplateRef) template: TemplateRef;\r\n\r\n get rowDetailTemplate(): TemplateRef {\r\n return this.template;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/row-detail.directive.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport {\r\n DatatableComponent,\r\n DataTableColumnDirective,\r\n DataTableHeaderComponent,\r\n DataTableBodyComponent,\r\n DataTableFooterComponent,\r\n DataTableHeaderCellComponent,\r\n DataTablePagerComponent,\r\n DataTableBodyRowComponent,\r\n DataTableRowWrapperComponent,\r\n ProgressBarComponent,\r\n DataTableBodyCellComponent,\r\n DatatableRowDetailDirective,\r\n ScrollerComponent,\r\n DataTableSelectionComponent\r\n} from './components';\r\n\r\nimport {\r\n VisibilityDirective,\r\n LongPressDirective,\r\n ResizeableDirective,\r\n OrderableDirective,\r\n DraggableDirective\r\n} from './directives';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n VisibilityDirective,\r\n DraggableDirective,\r\n ResizeableDirective,\r\n OrderableDirective,\r\n LongPressDirective,\r\n ScrollerComponent,\r\n DatatableComponent,\r\n DataTableColumnDirective,\r\n DataTableHeaderComponent,\r\n DataTableHeaderCellComponent,\r\n DataTableBodyComponent,\r\n DataTableFooterComponent,\r\n DataTablePagerComponent,\r\n ProgressBarComponent,\r\n DataTableBodyRowComponent,\r\n DataTableRowWrapperComponent,\r\n DatatableRowDetailDirective,\r\n DataTableBodyCellComponent,\r\n DataTableSelectionComponent\r\n ],\r\n exports: [\r\n DatatableComponent,\r\n DatatableRowDetailDirective,\r\n DataTableColumnDirective\r\n ]\r\n})\r\nexport class Angular2DataTableModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/datatable.module.ts","import { Directive, ElementRef, HostListener, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs/Rx';\r\n\r\n/**\r\n * Draggable Directive for Angular2\r\n *\r\n * Inspiration:\r\n * https://github.com/AngularClass/angular2-examples/blob/master/rx-draggable/directives/draggable.ts\r\n * http://stackoverflow.com/questions/35662530/how-to-implement-drag-and-drop-in-angular2\r\n *\r\n */\r\n@Directive({ selector: '[draggable]' })\r\nexport class DraggableDirective {\r\n\r\n @Input() dragModel: any;\r\n @Input() dragX: boolean = true;\r\n @Input() dragY: boolean = true;\r\n\r\n @Output() dragStart: EventEmitter = new EventEmitter();\r\n @Output() dragging: EventEmitter = new EventEmitter();\r\n @Output() dragEnd: EventEmitter = new EventEmitter();\r\n\r\n element: HTMLElement;\r\n private isDragging: boolean = false;\r\n private subscription: Subscription;\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup(event) {\r\n this.isDragging = false;\r\n this.element.classList.remove('dragging');\r\n\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n this.dragEnd.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMousedown(event) {\r\n if (event.target.classList.contains('draggable')) {\r\n event.preventDefault();\r\n this.isDragging = true;\r\n\r\n const mouseDownPos = { x: event.clientX, y: event.clientY };\r\n this.subscription = Observable.fromEvent(document, 'mousemove')\r\n .subscribe((ev) => this.move(ev, mouseDownPos));\r\n\r\n this.dragStart.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n move(event, mouseDownPos): void {\r\n if (!this.dragging) return;\r\n\r\n const x = event.clientX - mouseDownPos.x;\r\n const y = event.clientY - mouseDownPos.y;\r\n\r\n if (this.dragX) this.element.style.left = `${x}px`;\r\n if (this.dragY) this.element.style.top = `${y}px`;\r\n\r\n if (this.dragX || this.dragY) {\r\n this.element.classList.add('dragging');\r\n\r\n this.dragging.emit({\r\n event,\r\n element: this.element,\r\n model: this.dragModel\r\n });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/draggable.directive.ts","export * from './draggable.directive';\r\nexport * from './long-press.directive';\r\nexport * from './orderable.directive';\r\nexport * from './resizeable.directive';\r\nexport * from './visibility.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/index.ts","import {\r\n Directive,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({ selector: '[long-press]' })\r\nexport class LongPressDirective {\r\n\r\n @Input() duration: number = 500;\r\n\r\n @Output() longPress: EventEmitter = new EventEmitter();\r\n @Output() longPressing: EventEmitter = new EventEmitter();\r\n @Output() longPressEnd: EventEmitter = new EventEmitter();\r\n\r\n private pressing: boolean;\r\n private isLongPressing: boolean;\r\n private timeout: any;\r\n private mouseX: number = 0;\r\n private mouseY: number = 0;\r\n\r\n @HostBinding('class.press')\r\n get press() { return this.pressing; }\r\n\r\n @HostBinding('class.longpress')\r\n get isLongPress() { return this.longPressing; }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event) {\r\n // don't do right/middle clicks\r\n if(event.which !== 1) return;\r\n\r\n this.mouseX = event.clientX;\r\n this.mouseY = event.clientY;\r\n\r\n this.pressing = true;\r\n this.isLongPressing = false;\r\n\r\n this.timeout = setTimeout(() => {\r\n this.isLongPressing = true;\r\n this.longPress.emit(event);\r\n this.loop(event);\r\n }, this.duration);\r\n\r\n this.loop(event);\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove(event) {\r\n if(this.pressing && !this.longPressing) {\r\n const xThres = (event.clientX - this.mouseX) > 10;\r\n const yThres = (event.clientY - this.mouseY) > 10;\r\n if(xThres || yThres) {\r\n this.endPress();\r\n }\r\n }\r\n }\r\n\r\n loop(event) {\r\n if(this.longPressing) {\r\n this.timeout = setTimeout(() => {\r\n this.longPressing.emit(event);\r\n this.loop(event);\r\n }, 50);\r\n }\r\n }\r\n\r\n endPress() {\r\n clearTimeout(this.timeout);\r\n this.isLongPressing = false;\r\n this.pressing = false;\r\n this.longPressEnd.emit(true);\r\n }\r\n\r\n @HostListener('mouseup')\r\n onMouseUp() { this.endPress(); }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/long-press.directive.ts","import {\r\n Directive, Output, EventEmitter, ContentChildren,\r\n QueryList, KeyValueDiffers\r\n} from '@angular/core';\r\n\r\nimport { DraggableDirective } from './draggable.directive';\r\n\r\n@Directive({ selector: '[orderable]' })\r\nexport class OrderableDirective {\r\n\r\n @Output() reorder: EventEmitter = new EventEmitter();\r\n\r\n @ContentChildren(DraggableDirective, { descendants: true })\r\n private draggables: QueryList;\r\n\r\n private positions: any;\r\n private differ: any;\r\n\r\n constructor(differs: KeyValueDiffers) {\r\n this.differ = differs.find({}).create(null);\r\n }\r\n\r\n ngAfterContentInit() {\r\n // HACK: Investigate Better Way\r\n this.updateSubscriptions();\r\n this.draggables.changes.subscribe(\r\n this.updateSubscriptions.bind(this));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.draggables.forEach(d => {\r\n d.dragStart.unsubscribe();\r\n d.dragEnd.unsubscribe();\r\n });\r\n }\r\n \r\n updateSubscriptions() {\r\n const diffs = this.differ.diff(this.draggables.toArray());\r\n\r\n if(diffs) {\r\n const subscribe = ({ currentValue, previousValue }) => {\r\n unsubscribe({ previousValue });\r\n\r\n if(currentValue) {\r\n currentValue.dragStart.subscribe(this.onDragStart.bind(this));\r\n currentValue.dragEnd.subscribe(this.onDragEnd.bind(this));\r\n }\r\n };\r\n\r\n const unsubscribe = ({ previousValue }) => {\r\n if(previousValue) {\r\n previousValue.dragStart.unsubscribe();\r\n previousValue.dragEnd.unsubscribe();\r\n }\r\n };\r\n\r\n diffs.forEachAddedItem(subscribe.bind(this));\r\n diffs.forEachChangedItem(subscribe.bind(this));\r\n diffs.forEachRemovedItem(unsubscribe.bind(this));\r\n }\r\n }\r\n\r\n onDragStart() {\r\n this.positions = {};\r\n\r\n let i = 0;\r\n for(let dragger of this.draggables.toArray()) {\r\n let elm = dragger.element;\r\n this.positions[dragger.dragModel.prop] = {\r\n left: parseInt(elm.offsetLeft.toString(), 0),\r\n index: i++\r\n };\r\n }\r\n }\r\n\r\n onDragEnd({ element, model }) {\r\n const newPos = parseInt(element.offsetLeft.toString(), 0);\r\n const prevPos = this.positions[model.prop];\r\n\r\n let i = 0;\r\n for(let prop in this.positions) {\r\n let pos = this.positions[prop];\r\n\r\n let movedLeft = newPos < pos.left && prevPos.left > pos.left;\r\n let movedRight = newPos > pos.left && prevPos.left < pos.left;\r\n\r\n if(movedLeft || movedRight) {\r\n this.reorder.emit({\r\n prevIndex: prevPos.index,\r\n newIndex: i,\r\n model\r\n });\r\n }\r\n\r\n i++;\r\n }\r\n\r\n element.style.left = 'auto';\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/orderable.directive.ts","import { Directive, ElementRef, HostListener, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs/Rx';\r\n\r\n@Directive({\r\n selector: '[resizeable]',\r\n host: {\r\n '[class.resizeable]': 'resizeEnabled'\r\n }\r\n})\r\nexport class ResizeableDirective {\r\n\r\n @Input() resizeEnabled: boolean = true;\r\n @Input() minWidth: number;\r\n @Input() maxWidth: number;\r\n\r\n @Output() resize: EventEmitter = new EventEmitter();\r\n\r\n private element: HTMLElement;\r\n private subscription: Subscription;\r\n private resizing: boolean = false;\r\n\r\n constructor(element: ElementRef) {\r\n this.element = element.nativeElement;\r\n\r\n if (this.resizeEnabled) {\r\n const node = document.createElement('span');\r\n node.classList.add('resize-handle');\r\n this.element.appendChild(node);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup() {\r\n this.resizing = false;\r\n\r\n if (this.subscription && !this.subscription.closed) {\r\n this.subscription.unsubscribe();\r\n this.resize.emit(this.element.clientWidth);\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMousedown(event) {\r\n const isHandle = event.target.classList.contains('resize-handle');\r\n const initialWidth = this.element.clientWidth;\r\n const mouseDownScreenX = event.screenX;\r\n\r\n if (isHandle) {\r\n event.stopPropagation();\r\n this.resizing = true;\r\n\r\n this.subscription = Observable.fromEvent(document, 'mousemove')\r\n .subscribe((e) => this.move(e, initialWidth, mouseDownScreenX));\r\n }\r\n }\r\n\r\n move(event, initialWidth, mouseDownScreenX): void {\r\n const movementX = event.screenX - mouseDownScreenX;\r\n const newWidth = initialWidth + movementX;\r\n\r\n const overMinWidth = !this.minWidth || newWidth >= this.minWidth;\r\n const underMaxWidth = !this.maxWidth || newWidth <= this.maxWidth;\r\n\r\n if (overMinWidth && underMaxWidth) {\r\n this.element.style.width = `${newWidth}px`;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/resizeable.directive.ts","import {\r\n Directive, Output, EventEmitter, ElementRef, HostBinding, NgZone\r\n} from '@angular/core';\r\n\r\nimport { checkVisibility } from '../utils';\r\n\r\n/**\r\n * Visibility Observer Directive\r\n *\r\n * Usage:\r\n *\r\n * \t\t\r\n * \t\t\r\n *\r\n */\r\n@Directive({ selector: '[visibility-observer]' })\r\nexport class VisibilityDirective {\r\n\r\n @HostBinding('class.visible') \r\n isVisible: boolean = false;\r\n\r\n @Output() visible: EventEmitter = new EventEmitter();\r\n\r\n constructor(element: ElementRef, zone: NgZone) {\r\n checkVisibility(\r\n element.nativeElement,\r\n this.visbilityChange.bind(this),\r\n zone);\r\n }\r\n\r\n visbilityChange() {\r\n // trigger zone recalc for columns\r\n setTimeout(() => {\r\n this.isVisible = true;\r\n this.visible.emit(true);\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/directives/visibility.directive.ts","export * from './datatable.module'\r\nexport * from './types';\r\nexport * from './components';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","export enum ClickType {\r\n single = 'single' as any,\r\n double = 'double' as any \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/click.type.ts","export enum ColumnMode {\r\n standard = 'standard' as any,\r\n flex = 'flex' as any,\r\n force = 'force' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/column-mode.type.ts","export * from './column-mode.type';\r\nexport * from './sort.type';\r\nexport * from './sort-direction.type';\r\nexport * from './selection.type';\r\nexport * from './click.type';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/index.ts","export enum SelectionType {\r\n single = 'single' as any,\r\n multi = 'multi' as any,\r\n multiShift = 'multiShift' as any,\r\n cell = 'cell' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/selection.type.ts","export enum SortDirection {\r\n asc = 'asc' as any,\r\n desc = 'desc' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort-direction.type.ts","export enum SortType {\r\n single = 'single' as any,\r\n multi = 'multi' as any\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/types/sort.type.ts","/**\r\n * Converts strings from something to camel case\r\n * http://stackoverflow.com/questions/10425287/convert-dash-separated-string-to-camelcase\r\n * @param {string} str\r\n * @return {string} camel case string\r\n */\r\nexport function camelCase(str): string {\r\n // Replace special characters with a space\r\n str = str.replace(/[^a-zA-Z0-9 ]/g, ' ');\r\n // put a space before an uppercase letter\r\n str = str.replace(/([a-z](?=[A-Z]))/g, '$1 ');\r\n\r\n // Lower case first character and some other stuff\r\n str = str.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g, '').trim().toLowerCase();\r\n\r\n // uppercase characters preceded by a space or number\r\n str = str.replace(/([ 0-9]+)([a-zA-Z])/g, function(a, b, c) {\r\n return b.trim() + c.toUpperCase();\r\n });\r\n\r\n return str;\r\n}\r\n\r\n/**\r\n * Converts strings from camel case to words\r\n * http://stackoverflow.com/questions/7225407/convert-camelcasetext-to-camel-case-text\r\n * \r\n * @export\r\n * @param {any} str\r\n * @returns string\r\n */\r\nexport function deCamelCase(str): string {\r\n return str\r\n .replace(/([A-Z])/g, (match) => ` ${match}`)\r\n .replace(/^./, (match) => match.toUpperCase());\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/camel-case.ts","import { DataTableColumnDirective } from '../components/column.directive';\r\nimport { camelCase, deCamelCase, id } from '../utils';\r\n\r\nexport function setColumnDefaults(columns: any[]) {\r\n if(!columns) return;\r\n \r\n for(let column of columns) {\r\n if(!column.$$id) {\r\n column.$$id = id();\r\n }\r\n \r\n // translate name => prop\r\n if(!column.prop && column.name) {\r\n column.prop = camelCase(column.name);\r\n }\r\n\r\n // format props if no name passed\r\n if(column.prop && !column.name) {\r\n column.name = deCamelCase(column.prop);\r\n }\r\n \r\n if(!column.hasOwnProperty('resizeable')) {\r\n column.resizeable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('sortable')) {\r\n column.sortable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('draggable')) {\r\n column.draggable = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('canAutoResize')) {\r\n column.canAutoResize = true;\r\n }\r\n\r\n if(!column.hasOwnProperty('width')) {\r\n column.width = 150;\r\n }\r\n }\r\n}\r\n\r\nexport function translateTemplates(templates: DataTableColumnDirective[]): any[] {\r\n let result = [];\r\n\r\n for(const temp of templates) {\r\n let col: any = {};\r\n\r\n const props = Object.getOwnPropertyNames(temp);\r\n for(const prop of props) {\r\n col[prop] = temp[prop];\r\n }\r\n\r\n if(temp.headerTemplate) {\r\n col.headerTemplate = temp.headerTemplate;\r\n }\r\n\r\n if(temp.cellTemplate) {\r\n col.cellTemplate = temp.cellTemplate;\r\n }\r\n\r\n result.push(col);\r\n }\r\n \r\n return result;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column-helper.ts","/**\r\n * Returns the columns by pin.\r\n * @param {array} cols\r\n */\r\nexport function columnsByPin(cols) {\r\n let ret = {\r\n left: [],\r\n center: [],\r\n right: []\r\n };\r\n\r\n if(cols) {\r\n for(let col of cols) {\r\n if(col.frozenLeft) {\r\n ret.left.push(col);\r\n } else if(col.frozenRight) {\r\n ret.right.push(col);\r\n } else {\r\n ret.center.push(col);\r\n }\r\n }\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n/**\r\n * Returns the widths of all group sets of a column\r\n * @param {object} groups\r\n * @param {array} all\r\n */\r\nexport function columnGroupWidths(groups, all) {\r\n return {\r\n left: columnTotalWidth(groups.left),\r\n center: columnTotalWidth(groups.center),\r\n right: columnTotalWidth(groups.right),\r\n total: columnTotalWidth(all)\r\n };\r\n}\r\n\r\n/**\r\n * Calculates the total width of all columns and their groups\r\n * @param {array} columns\r\n * @param {string} prop width to get\r\n */\r\nexport function columnTotalWidth(columns, prop?) {\r\n let totalWidth = 0;\r\n\r\n if(columns) {\r\n for(let c of columns) {\r\n const has = prop && c[prop];\r\n const width = has ? c[prop] : c.width;\r\n totalWidth = totalWidth + parseInt(width, 0);\r\n }\r\n }\r\n\r\n return totalWidth;\r\n}\r\n\r\n/**\r\n * Calculates the total width of all columns and their groups\r\n * @param {array} columns\r\n * @param {string} property width to get\r\n */\r\nexport function columnsTotalWidth(columns: any, prop?: any) {\r\n let totalWidth = 0;\r\n\r\n for(let column of columns) {\r\n const has = prop && column[prop];\r\n totalWidth = totalWidth + (has ? column[prop] : column.width);\r\n }\r\n\r\n return totalWidth;\r\n}\r\n\r\nexport function columnsByPinArr(val) {\r\n let colsByPinArr = [];\r\n const colsByPin = columnsByPin(val);\r\n\r\n colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });\r\n colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });\r\n colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });\r\n\r\n return colsByPinArr;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/column.ts","/**\r\n * Debounce a function\r\n * @param {any} func function to executoe\r\n * @param {number} wait wait duration\r\n * @param {boolean} immediate wait or immediate executue\r\n */\r\nexport function debounce(func: any, wait: number, immediate?: boolean) {\r\n let timeout;\r\n let args;\r\n let context;\r\n let timestamp;\r\n let result;\r\n\r\n return function() {\r\n context = this;\r\n args = arguments;\r\n timestamp = new Date();\r\n\r\n function later() {\r\n const last = +new Date() - timestamp;\r\n\r\n if (last < wait) {\r\n timeout = setTimeout(later, wait - last);\r\n } else {\r\n timeout = null;\r\n if (!immediate) {\r\n result = func.apply(context, args);\r\n }\r\n }\r\n }\r\n\r\n let callNow = immediate && !timeout;\r\n if (!timeout) {\r\n timeout = setTimeout(later, wait);\r\n }\r\n\r\n if (callNow) {\r\n result = func.apply(context, args);\r\n }\r\n\r\n return result;\r\n };\r\n}\r\n\r\n/**\r\n * Debounce decorator\r\n *\r\n * class MyClass {\r\n * debounceable(10)\r\n * myFn() { ... }\r\n * }\r\n */\r\nexport function debounceable (duration: number, immediate?: boolean) {\r\n return function innerDecorator (target, key, descriptor) {\r\n return {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n get: function getter () {\r\n\r\n Object.defineProperty(this, key, {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n value: debounce(descriptor.value, duration, immediate)\r\n });\r\n\r\n return this[key];\r\n }\r\n };\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/debounce.ts","/**\r\n * Returns a deep object given a string. zoo['animal.type']\r\n * @param {object} obj\r\n * @param {string} path\r\n */\r\nexport function deepValueGetter(obj, path) {\r\n if(!obj || !path) return obj;\r\n\r\n let current = obj;\r\n let split = path.split('.');\r\n\r\n if(split.length) {\r\n for(let i = 0, len = split.length; i < len; i++) {\r\n current = current[split[i]];\r\n \r\n // if found undefined, return empty string\r\n if(current === undefined || current === null) return '';\r\n }\r\n }\r\n\r\n return current;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/deep-getter.ts","/**\r\n * Creates a unique object id.\r\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\r\n */\r\nexport function id() {\r\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/id.ts","export * from './id';\r\nexport * from './column';\r\nexport * from './deep-getter';\r\nexport * from './camel-case';\r\nexport * from './keys';\r\nexport * from './math';\r\nexport * from './prefixes';\r\nexport * from './scrollbar-width';\r\nexport * from './selection';\r\nexport * from './translate';\r\nexport * from './visibility-observer';\r\nexport * from './debounce';\r\nexport * from './sort';\r\nexport * from './row-height-cache';\r\nexport * from './column-helper';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.ts","export enum Keys {\r\n up = 38,\r\n down = 40,\r\n return = 13,\r\n escape = 27,\r\n left = 37,\r\n right = 39\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/keys.ts","import { columnsByPin, columnsTotalWidth } from './column';\r\n\r\n/**\r\n * Calculates the Total Flex Grow\r\n * @param {array}\r\n */\r\nexport function getTotalFlexGrow(columns) {\r\n let totalFlexGrow = 0;\r\n\r\n for (let c of columns) {\r\n totalFlexGrow += c.flexGrow || 0;\r\n }\r\n\r\n return totalFlexGrow;\r\n}\r\n\r\n/**\r\n * Adjusts the column widths.\r\n * Inspired by: https://github.com/facebook/fixed-data-table/blob/master/src/FixedDataTableWidthHelper.js\r\n * @param {array} all columns\r\n * @param {int} width\r\n */\r\nexport function adjustColumnWidths(allColumns: any, expectedWidth: any) {\r\n let columnsWidth = columnsTotalWidth(allColumns);\r\n let totalFlexGrow = getTotalFlexGrow(allColumns);\r\n let colsByGroup = columnsByPin(allColumns);\r\n\r\n if (columnsWidth !== expectedWidth) {\r\n scaleColumns(colsByGroup, expectedWidth, totalFlexGrow);\r\n }\r\n}\r\n\r\n/**\r\n * Resizes columns based on the flexGrow property, while respecting manually set widths\r\n * @param {array} colsByGroup\r\n * @param {int} maxWidth\r\n * @param {int} totalFlexGrow\r\n */\r\nfunction scaleColumns(colsByGroup: any, maxWidth: any, totalFlexGrow: any) {\r\n // calculate total width and flexgrow points for coulumns that can be resized\r\n for(let attr in colsByGroup) {\r\n for(let column of colsByGroup[attr]) {\r\n if (!column.canAutoResize) {\r\n maxWidth -= column.width;\r\n totalFlexGrow -= column.flexGrow;\r\n } else {\r\n column.width = 0;\r\n }\r\n }\r\n }\r\n\r\n let hasMinWidth = {};\r\n let remainingWidth = maxWidth;\r\n\r\n // resize columns until no width is left to be distributed\r\n do {\r\n let widthPerFlexPoint = remainingWidth / totalFlexGrow;\r\n remainingWidth = 0;\r\n\r\n for(let attr in colsByGroup) {\r\n for(let column of colsByGroup[attr]) {\r\n // if the column can be resize and it hasn't reached its minimum width yet\r\n if (column.canAutoResize && !hasMinWidth[column.prop]) {\r\n let newWidth = column.width + column.flexGrow * widthPerFlexPoint;\r\n if (column.minWidth !== undefined && newWidth < column.minWidth) {\r\n remainingWidth += newWidth - column.minWidth;\r\n column.width = column.minWidth;\r\n hasMinWidth[column.prop] = true;\r\n } else {\r\n column.width = newWidth;\r\n }\r\n }\r\n }\r\n }\r\n } while (remainingWidth !== 0);\r\n}\r\n\r\n/**\r\n * Forces the width of the columns to\r\n * distribute equally but overflowing when nesc.\r\n *\r\n * Rules:\r\n *\r\n * - If combined withs are less than the total width of the grid,\r\n * proporation the widths given the min / max / noraml widths to fill the width.\r\n *\r\n * - If the combined widths, exceed the total width of the grid,\r\n * use the standard widths.\r\n *\r\n * - If a column is resized, it should always use that width\r\n *\r\n * - The proporational widths should never fall below min size if specified.\r\n *\r\n * - If the grid starts off small but then becomes greater than the size ( + / - )\r\n * the width should use the orginial width; not the newly proporatied widths.\r\n *\r\n * @param {array} allColumns\r\n * @param {int} expectedWidth\r\n */\r\nexport function forceFillColumnWidths(\r\n allColumns: any[], \r\n expectedWidth: number, \r\n startIdx: number, \r\n defaultColWidth: number = 300) {\r\n\r\n let columnsToResize = startIdx > -1 ?\r\n allColumns.slice(startIdx, allColumns.length).filter((c) => { return c.canAutoResize !== false; }) :\r\n allColumns.filter((c) => { return c.canAutoResize !== false; });\r\n\r\n for (let column of columnsToResize) {\r\n if(!column.$$oldWidth) {\r\n column.$$oldWidth = column.width;\r\n }\r\n\r\n // Initialize the starting width to original \r\n // width whenever there is a resize/initialize event.\r\n column.width = column.$$oldWidth;\r\n }\r\n\r\n let additionWidthPerColumn = 0;\r\n let exceedsWindow = false;\r\n let contentWidth = getContentWidth(allColumns, defaultColWidth);\r\n let remainingWidth = expectedWidth - contentWidth;\r\n let columnsProcessed = [];\r\n\r\n // This loop takes care of the\r\n do {\r\n additionWidthPerColumn = remainingWidth / columnsToResize.length;\r\n exceedsWindow = contentWidth >= expectedWidth;\r\n\r\n for (let column of columnsToResize) {\r\n if (exceedsWindow) {\r\n column.width = column.$$oldWidth || column.width || defaultColWidth;\r\n } else {\r\n const newSize = (column.width || defaultColWidth) + additionWidthPerColumn;\r\n if (column.minWidth && newSize < column.minWidth) {\r\n column.width = column.minWidth;\r\n columnsProcessed.push(column);\r\n } else if (column.maxWidth && newSize > column.maxWidth) {\r\n column.width = column.maxWidth;\r\n columnsProcessed.push(column);\r\n } else {\r\n column.width = newSize;\r\n }\r\n }\r\n }\r\n\r\n contentWidth = getContentWidth(allColumns);\r\n remainingWidth = expectedWidth - contentWidth;\r\n removeProcessedColumns(columnsToResize, columnsProcessed);\r\n } while (remainingWidth > 0 && columnsToResize.length !== 0);\r\n}\r\n\r\n/**\r\n * Remove the processed columns from the current active columns.\r\n *\r\n * @param columnsToResize Array containing the columns that need to be resized.\r\n * @param columnsProcessed Array containing the columns that have already been processed.\r\n */\r\nfunction removeProcessedColumns ( columnsToResize, columnsProcessed) {\r\n for(let column of columnsProcessed) {\r\n const index = columnsToResize.indexOf(column);\r\n columnsToResize.splice(index, 1);\r\n }\r\n}\r\n\r\n/**\r\n * Gets the width of the columns\r\n * \r\n * @param {array} allColumns\r\n * @param {number} [defaultColWidth=300]\r\n * @returns {number}\r\n */\r\nfunction getContentWidth(allColumns: any, defaultColWidth: number = 300): number {\r\n let contentWidth = 0;\r\n\r\n for(let column of allColumns) {\r\n contentWidth += (column.width || defaultColWidth);\r\n }\r\n\r\n return contentWidth;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/math.ts","import { camelCase } from './camel-case';\r\n\r\nlet cache = {};\r\nlet testStyle = document.createElement('div').style;\r\n\r\n// Get Prefix\r\n// http://davidwalsh.name/vendor-prefix\r\nconst prefix = (function () {\r\n const styles = window.getComputedStyle(document.documentElement, '');\r\n const pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/))[1];\r\n const dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1];\r\n\r\n return {\r\n dom,\r\n lowercase: pre,\r\n css: `-${pre}-`,\r\n js: pre[0].toUpperCase() + pre.substr(1)\r\n };\r\n})();\r\n\r\nexport function getVendorPrefixedName(property) {\r\n const name = camelCase(property);\r\n\r\n if(!cache[name]) {\r\n if(testStyle[prefix.css + property] !== undefined) {\r\n cache[name] = prefix.css + property;\r\n } else if(testStyle[property] !== undefined) {\r\n cache[name] = property;\r\n }\r\n }\r\n\r\n return cache[name];\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/prefixes.ts","/**\r\n * This object contains the cache of the various row heights that are present inside\r\n * the data table. Its based on Fenwick tree data structure that helps with\r\n * querying sums that have time complexity of log n.\r\n *\r\n * Fenwick Tree Credits: http://petr-mitrichev.blogspot.com/2013/05/fenwick-tree-range-updates.html\r\n * https://github.com/mikolalysenko/fenwick-tree\r\n *\r\n */\r\nexport class RowHeightCache {\r\n\r\n /**\r\n * Tree Array stores the cumulative information of the row heights to perform efficient\r\n * range queries and updates. Currently the tree is initialized to the base row\r\n * height instead of the detail row height.\r\n */\r\n private treeArray: number[] = [];\r\n\r\n /**\r\n * Clear the Tree array.\r\n */\r\n clearCache(): void {\r\n this.treeArray = [];\r\n }\r\n\r\n /**\r\n * Initialize the Fenwick tree with row Heights.\r\n *\r\n * @param rows The array of rows which contain the expanded status.\r\n * @param rowHeight The row height.\r\n * @param detailRowHeight The detail row height.\r\n */\r\n initCache(rows: any[], rowHeight: number, detailRowHeight: number): void {\r\n if (isNaN(rowHeight)) {\r\n throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\r\n valid number value: (${rowHeight}) when 'scrollbarV' is enabled.`);\r\n }\r\n\r\n // Add this additional guard in case detailRowHeight is set to 'auto' as it wont work.\r\n if (isNaN(detailRowHeight)) {\r\n throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\r\n valid number value: (${detailRowHeight}) when 'scrollbarV' is enabled.`);\r\n }\r\n\r\n const n = rows.length;\r\n this.treeArray = new Array(n);\r\n\r\n for(let i = 0; i < n; ++i) {\r\n this.treeArray[i] = 0;\r\n }\r\n\r\n for(let i = 0; i < n; ++i) {\r\n let currentRowHeight = rowHeight;\r\n\r\n // Add the detail row height to the already expanded rows.\r\n // This is useful for the table that goes through a filter or sort.\r\n if (rows[i] && rows[i].$$expanded === 1) {\r\n currentRowHeight += detailRowHeight;\r\n }\r\n\r\n this.update(i, currentRowHeight);\r\n }\r\n }\r\n\r\n /**\r\n * Given the ScrollY position i.e. sum, provide the rowIndex\r\n * that is present in the current view port. Below handles edge cases.\r\n *\r\n * @param scrollY - The scrollY position.\r\n * @returns {number} - Index representing the first row visible in the viewport\r\n */\r\n getRowIndex(scrollY: number): number {\r\n if(scrollY === 0) return 0;\r\n return this.calcRowIndex(scrollY);\r\n }\r\n\r\n /**\r\n * When a row is expanded or rowHeight is changed, update the height. This can\r\n * be utilized in future when Angular Data table supports dynamic row heights.\r\n *\r\n *\r\n * @param atRowIndex Update the data at this index row in the grid.\r\n * @param byRowHeight Update by the rowHeight provided.\r\n */\r\n update (atRowIndex: number, byRowHeight: number): void {\r\n if (!this.treeArray.length) {\r\n throw new Error(`Update at index ${atRowIndex} with value ${byRowHeight} failed:\r\n Row Height cache not initialized.`);\r\n }\r\n\r\n const n = this.treeArray.length;\r\n atRowIndex |= 0;\r\n\r\n while(atRowIndex < n) {\r\n this.treeArray[atRowIndex] += byRowHeight;\r\n atRowIndex |= (atRowIndex + 1);\r\n }\r\n }\r\n\r\n /**\r\n * Range Sum query from 1 to the rowIndex\r\n *\r\n * @param atIndex The row index until which the total height needs to be obtained.\r\n * @returns {number} The total height from row 1 to the rowIndex.\r\n */\r\n query(atIndex: number): number {\r\n if (!this.treeArray.length) {\r\n throw new Error(`query at index ${atIndex} failed: Fenwick tree array not initialized.`);\r\n }\r\n\r\n let sum = 0;\r\n atIndex |= 0;\r\n\r\n while(atIndex >= 0) {\r\n sum += this.treeArray[atIndex];\r\n atIndex = (atIndex & (atIndex + 1)) - 1;\r\n }\r\n\r\n return sum;\r\n }\r\n\r\n /**\r\n * Find the total height between 2 row indexes\r\n * @param atIndexA The row index from\r\n * @param atIndexB The row index to\r\n * @returns {number} total pixel height between 2 row indexes.\r\n */\r\n queryBetween(atIndexA: number, atIndexB: number): number {\r\n return this.query(atIndexB) - this.query(atIndexA - 1);\r\n }\r\n\r\n /**\r\n * Given the ScrollY position i.e. sum, provide the rowIndex\r\n * that is present in the current view port.\r\n *\r\n * @param sum - The scrollY position.\r\n * @returns {number} - Index representing the first row visible in the viewport\r\n */\r\n private calcRowIndex(sum: number): number {\r\n if(!this.treeArray.length) return 0;\r\n\r\n let pos = -1;\r\n const dataLength = this.treeArray.length;\r\n\r\n // Get the highest bit for the block size.\r\n const highestBit = Math.pow(2, dataLength.toString(2).length - 1);\r\n\r\n for (let blockSize = highestBit; blockSize !== 0; blockSize >>= 1) {\r\n let nextPos = pos + blockSize;\r\n if (nextPos < dataLength && sum >= this.treeArray[nextPos]) {\r\n sum -= this.treeArray[nextPos];\r\n pos = nextPos;\r\n }\r\n }\r\n\r\n return pos + 1;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/row-height-cache.ts","/**\r\n * Gets the width of the scrollbar. Nesc for windows\r\n * http://stackoverflow.com/a/13382873/888165\r\n * @return {int} width\r\n */\r\nexport function getScrollBarWidth() {\r\n let outer = document.createElement('div');\r\n outer.style.visibility = 'hidden';\r\n outer.style.width = '100px';\r\n outer.style.msOverflowStyle = 'scrollbar';\r\n document.body.appendChild(outer);\r\n\r\n let widthNoScroll = outer.offsetWidth;\r\n outer.style.overflow = 'scroll';\r\n\r\n let inner = document.createElement('div');\r\n inner.style.width = '100%';\r\n outer.appendChild(inner);\r\n\r\n let widthWithScroll = inner.offsetWidth;\r\n outer.parentNode.removeChild(outer);\r\n\r\n return widthNoScroll - widthWithScroll;\r\n};\r\n\r\nexport const scrollbarWidth = getScrollBarWidth();\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/scrollbar-width.ts","export function selectRows(selected, row, comparefn) {\r\n const selectedIndex = comparefn(row, selected);\r\n\r\n if(selectedIndex > -1) {\r\n selected.splice(selectedIndex, 1);\r\n } else {\r\n selected.push(row);\r\n }\r\n\r\n return selected;\r\n}\r\n\r\nexport function selectRowsBetween(selected, rows, index, prevIndex, comparefn) {\r\n const reverse = index < prevIndex;\r\n\r\n for(let i = 0, len = rows.length; i < len; i++) {\r\n const row = rows[i];\r\n const greater = i >= prevIndex && i <= index;\r\n const lesser = i <= prevIndex && i >= index;\r\n\r\n let range = { start: 0, end: 0 };\r\n if (reverse) {\r\n range = {\r\n start: index,\r\n end: (prevIndex - index)\r\n };\r\n } else {\r\n range = {\r\n start: prevIndex,\r\n end: index + 1\r\n };\r\n }\r\n\r\n if((reverse && lesser) || (!reverse && greater)) {\r\n const idx = comparefn(row, selected);\r\n\r\n // if reverse shift selection (unselect) and the\r\n // row is already selected, remove it from selected\r\n if (reverse && idx > -1) {\r\n selected.splice(idx, 1);\r\n continue;\r\n }\r\n\r\n // if in the positive range to be added to `selected`, and\r\n // not already in the selected array, add it\r\n if( i >= range.start && i < range.end) {\r\n if (idx === -1) {\r\n selected.push(row);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return selected;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/selection.ts","import { SortType, SortDirection } from '../types';\r\nimport { deepValueGetter } from './deep-getter';\r\n/**\r\n * Gets the next sort direction\r\n * @param {SortType} sortType\r\n * @param {SortDirection} currentSort\r\n * @return {SortDirection}\r\n */\r\nexport function nextSortDir(sortType: SortType, current: SortDirection): SortDirection {\r\n if (sortType === SortType.single) {\r\n if(current === SortDirection.asc) {\r\n return SortDirection.desc;\r\n } else {\r\n return SortDirection.asc;\r\n }\r\n } else {\r\n if(!current) {\r\n return SortDirection.asc;\r\n } else if(current === SortDirection.asc) {\r\n return SortDirection.desc;\r\n } else if(current === SortDirection.desc) {\r\n return undefined;\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Adapted from fueld-ui on 6/216\r\n * https://github.com/FuelInteractive/fuel-ui/tree/master/src/pipes/OrderBy\r\n * @param {any} a\r\n * @param {any} b\r\n * @return {number} position\r\n */\r\nexport function orderByComparator(a: any, b: any): number {\r\n if (a === null || typeof a === 'undefined') a = 0;\r\n if (b === null || typeof b === 'undefined') b = 0;\r\n\r\n if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) {\r\n // Convert to string in case of a=0 or b=0\r\n a = String(a);\r\n b = String(b);\r\n // Isn't a number so lowercase the string to properly compare\r\n if (a.toLowerCase() < b.toLowerCase()) return -1;\r\n if (a.toLowerCase() > b.toLowerCase()) return 1;\r\n } else {\r\n // Parse strings as numbers to compare properly\r\n if (parseFloat(a) < parseFloat(b)) return -1;\r\n if (parseFloat(a) > parseFloat(b)) return 1;\r\n }\r\n\r\n // equal each other\r\n return 0;\r\n}\r\n\r\n/**\r\n * Sorts the rows\r\n * \r\n * @export\r\n * @param {any[]} rows\r\n * @param {any[]} columns\r\n * @param {any[]} dirs\r\n * @returns\r\n */\r\nexport function sortRows(rows: any[], columns: any[], dirs: any[]): any[] {\r\n if(!rows || !dirs || !columns) return rows;\r\n\r\n let temp = [...rows];\r\n let cols = columns.reduce((obj, col) => {\r\n if(col.comparator && typeof col.comparator === 'function') {\r\n obj[col.prop] = col.comparator;\r\n }\r\n return obj;\r\n }, {});\r\n\r\n return temp.sort(function(a: any, b: any) {\r\n for(const { prop, dir } of dirs) {\r\n const propA = deepValueGetter(a, prop);\r\n const propB = deepValueGetter(b, prop);\r\n\r\n const compareFn = cols[prop] || orderByComparator;\r\n const comparison = dir !== SortDirection.desc ?\r\n compareFn(propA, propB) :\r\n -compareFn(propA, propB);\r\n\r\n // Don't return 0 yet in case of needing to sort by next property\r\n if (comparison !== 0) return comparison;\r\n }\r\n\r\n // equal each other\r\n return 0;\r\n });\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/sort.ts","import { getVendorPrefixedName } from './prefixes';\r\nimport { camelCase } from './camel-case';\r\n\r\n// browser detection and prefixing tools\r\nconst transform = getVendorPrefixedName('transform');\r\nconst backfaceVisibility = getVendorPrefixedName('backfaceVisibility');\r\nconst hasCSSTransforms = !!getVendorPrefixedName('transform');\r\nconst hasCSS3DTransforms = !!getVendorPrefixedName('perspective');\r\nconst ua = window.navigator.userAgent;\r\nconst isSafari = (/Safari\\//).test(ua) && !(/Chrome\\//).test(ua);\r\n\r\nexport function translateXY(styles, x, y) {\r\n if (hasCSSTransforms) {\r\n if (!isSafari && hasCSS3DTransforms) {\r\n styles[transform] = `translate3d(${x}px, ${y}px, 0)`;\r\n styles[backfaceVisibility] = 'hidden';\r\n } else {\r\n styles[camelCase(transform)] = `translate(${x}px, ${y}px)`;\r\n }\r\n } else {\r\n styles.top = `${y}px`;\r\n styles.left = `${x}px`;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/translate.ts","import { NgZone } from '@angular/core';\r\n\r\nexport function checkVisibility(element: any, callback: any, zone: NgZone) {\r\n let timeout;\r\n\r\n function check() {\r\n // https://davidwalsh.name/offsetheight-visibility\r\n const { offsetHeight, offsetWidth } = element;\r\n \r\n if (offsetHeight && offsetWidth) {\r\n clearTimeout(timeout);\r\n if(callback) zone.run(() => callback());\r\n } else {\r\n clearTimeout(timeout);\r\n zone.runOutsideAngular(() => {\r\n timeout = setTimeout(() => check(), 50);\r\n });\r\n }\r\n }\r\n \r\n check();\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/visibility-observer.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/core\"\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"rxjs/Rx\"\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/common\"\n// module id = 2\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/release/index.min.js b/release/index.min.js index b6d2e291a..37b584881 100644 --- a/release/index.min.js +++ b/release/index.min.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/common"),require("@angular/core"),require("rxjs/Rx")):"function"==typeof define&&define.amd?define("angular2-data-table",["@angular/common","@angular/core","rxjs/Rx"],t):"object"==typeof exports?exports["angular2-data-table"]=t(require("@angular/common"),require("@angular/core"),require("rxjs/Rx")):e["angular2-data-table"]=t(e["@angular/common"],e["@angular/core"],e["rxjs/Rx"])}(this,function(e,t,n){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,t,n){Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s="./src/index.ts")}({"./src/components/body/body-cell.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=function(){function e(e,t){this.activate=new i.EventEmitter,this.isFocused=!1,this.element=e.nativeElement,t.setElementClass(this.element,"datatable-body-cell",!0)}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.calcSortDir=this.calcSortDir(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortActive",{get:function(){return!this.sortDir},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortAscending",{get:function(){return this.sortDir===a.SortDirection.asc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortDescending",{get:function(){return this.sortDir===a.SortDirection.desc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){var e=this.rowHeight;return isNaN(e)?e:e+"px"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){if(!this.row||!this.column)return"";var e=s.deepValueGetter(this.row,this.column.prop),t=this.column.pipe;return t?t.transform(e):e},enumerable:!0,configurable:!0}),e.prototype.onFocus=function(e){this.isFocused=!0},e.prototype.onBlur=function(e){this.isFocused=!1},e.prototype.onClick=function(e){this.activate.emit({type:"click",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onDblClick=function(e){this.activate.emit({type:"dblclick",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element}))},e.prototype.calcSortDir=function(e){var t=this;if(e){var n=e.find(function(e){return e.prop===t.column.prop});return n?n.dir:void 0}},o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"column",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"sorts",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.HostBinding("class.active"),r("design:type",Boolean)],e.prototype,"isFocused",void 0),o([i.HostBinding("class.sort-active"),r("design:type",Boolean)],e.prototype,"isSortActive",null),o([i.HostBinding("class.sort-asc"),r("design:type",Boolean)],e.prototype,"isSortAscending",null),o([i.HostBinding("class.sort-desc"),r("design:type",Boolean)],e.prototype,"isSortDescending",null),o([i.HostBinding("style.width.px"),r("design:type",Number)],e.prototype,"width",null),o([i.HostBinding("style.height"),r("design:type",Object)],e.prototype,"height",null),o([i.HostListener("focus",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onFocus",null),o([i.HostListener("blur",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onBlur",null),o([i.HostListener("click",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onClick",null),o([i.HostListener("dblclick",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onDblClick",null),o([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([i.Component({selector:"datatable-body-cell",template:'\n
\n \n \n \n \n
\n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableBodyCellComponent=c},"./src/components/body/body-row-wrapper.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.expanded=!1,t.setElementClass(e.nativeElement,"datatable-row-wrapper",!0)}return o([i.Input(),r("design:type",Object)],e.prototype,"rowDetailTemplate",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"detailRowHeight",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"expanded",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),e=o([i.Component({selector:"datatable-row-wrapper",template:'\n \n
\n \n \n
\n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableRowWrapperComponent=s},"./src/components/body/body-row.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=function(){function e(e,t){this.activate=new i.EventEmitter,this.element=e.nativeElement,t.setElementClass(this.element,"datatable-body-row",!0)}return Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e,this.recalculateColumns(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(e){this._innerWidth=e,this.recalculateColumns()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isEvenRow",{get:function(){return this.row.$$index%2===0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOddRow",{get:function(){return this.row.$$index%2!==0},enumerable:!0,configurable:!0}),e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("left"===e)s.translateXY(o,n,0);else if("right"===e){var r=parseInt(this.innerWidth+"",0),i=t.total-r,a=i-n,c=(a+s.scrollbarWidth)*-1;s.translateXY(o,c,0)}return o},e.prototype.onActivate=function(e,t){e.cellIndex=t,e.rowElement=this.element,this.activate.emit(e)},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,rowElement:this.element}))},e.prototype.recalculateColumns=function(e){void 0===e&&(e=this.columns);var t=s.columnsByPin(e);this.columnsByPin=s.columnsByPinArr(e),this.columnGroupWidths=s.columnGroupWidths(t,e)},o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],e.prototype,"innerWidth",null),o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offsetX",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.HostBinding("class.active"),i.Input(),r("design:type",Boolean)],e.prototype,"isSelected",void 0),o([i.HostBinding("class.datatable-row-even"),r("design:type",Boolean)],e.prototype,"isEvenRow",null),o([i.HostBinding("class.datatable-row-odd"),r("design:type",Boolean)],e.prototype,"isOddRow",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([i.Component({selector:"datatable-body-row",template:'\n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableBodyRowComponent=a},"./src/components/body/body.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=(n("./src/types/index.ts"),n("./src/components/body/scroller.component.ts")),c=function(){function e(e,t){this.selected=[],this.scroll=new i.EventEmitter,this.page=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.detailToggle=new i.EventEmitter,this.rowHeightsCache=new s.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},t.setElementClass(e.nativeElement,"datatable-body",!0),this.rowTrackingFn=function(e,t){return this.trackByProp?t.$$index+"-"+this.trackByProp:t.$$index}.bind(this)}return Object.defineProperty(e.prototype,"pageSize",{get:function(){return this._pageSize},set:function(e){this._pageSize=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){this._rows=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=s.columnsByPin(e);this.columnGroupWidths=s.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"offset",{get:function(){return this._offset},set:function(e){this._offset=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowCount",{get:function(){return this._rowCount},set:function(e){this._rowCount=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(e){this.scrollbarV?this._bodyHeight=e+"px":this._bodyHeight="auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollHeight",{get:function(){if(this.scrollbarV)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),e.prototype.updateOffsetY=function(e){if(this.scrollbarV&&e){var t=this.pageSize*e;e=this.rowHeightsCache.query(t-1)}this.scroller.setOffset(e||0)},e.prototype.onBodyScroll=function(e){var t=e.scrollYPos,n=e.scrollXPos,o=e.direction;this.offsetY===t&&this.offsetX===n||this.scroll.emit({offsetY:t,offsetX:n}),this.offsetY=t,this.offsetX=n,this.updateIndexes(),this.updatePage(o),this.updateRows()},e.prototype.updatePage=function(e){var t=this.indexes.first/this.pageSize;"up"===e?t=Math.floor(t):"down"===e&&(t=Math.ceil(t)),void 0===e||isNaN(t)||this.page.emit({offset:t})},e.prototype.updateRows=function(){for(var e=this.indexes,t=e.first,n=e.last,o=t,r=0,i=[];o\n \n \n \n \n \n \n \n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableBodyComponent=c},"./src/components/body/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/body/body.component.ts")),o(n("./src/components/body/body-cell.component.ts")),o(n("./src/components/body/body-row.component.ts")),o(n("./src/components/body/progress-bar.component.ts")),o(n("./src/components/body/scroller.component.ts")),o(n("./src/components/body/body-row-wrapper.component.ts")),o(n("./src/components/body/selection.component.ts"))},"./src/components/body/progress-bar.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){}return e=o([i.Component({selector:"datatable-progress",template:'\n
\n
\n
\n
\n
\n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.ProgressBarComponent=s},"./src/components/body/scroller.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e){this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new i.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement,this.element.classList.add("datatable-scroll")}return e.prototype.ngOnInit=function(){(this.scrollbarV||this.scrollbarH)&&(this.parentElement=this.element.parentElement.parentElement,this.parentElement.addEventListener("scroll",this.onScrolled.bind(this)))},e.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.parentElement.removeEventListener("scroll")},e.prototype.setOffset=function(e){this.parentElement&&(this.parentElement.scrollTop=e)},e.prototype.onScrolled=function(e){var t=e.currentTarget;this.scrollYPos=t.scrollTop,this.scrollXPos=t.scrollLeft,requestAnimationFrame(this.updateOffset.bind(this))},e.prototype.updateOffset=function(){var e;this.scrollYPosthis.prevScrollYPos&&(e="up"),this.scroll.emit({direction:e,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"scrollHeight",void 0),o([i.HostBinding("style.width.px"),i.Input(),r("design:type",Number)],e.prototype,"scrollWidth",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"scroll",void 0),e=o([i.Component({selector:"datatable-scroller",template:"\n \n ",changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef])],e)}();t.ScrollerComponent=s},"./src/components/body/selection.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=function(){function e(){this.activate=new i.EventEmitter,this.select=new i.EventEmitter}return e.prototype.selectRow=function(e,t,n){if(this.selectEnabled){var o=this.selectionType===a.SelectionType.multiShift,r=this.selectionType===a.SelectionType.multi,i=[];if(o||r)if(o&&e.shiftKey){var c=this.selected.slice();i=s.selectRowsBetween(c,this.rows,t,this.prevIndex,this.getRowSelectedIdx.bind(this))}else if(o&&!e.shiftKey)i.push(n);else{var c=this.selected.slice();i=s.selectRows(c,n,this.getRowSelectedIdx.bind(this))}else i.push(n);this.selectCheck&&(i=i.filter(this.selectCheck.bind(this))),this.selected=i,this.prevIndex=t,this.select.emit({selected:i})}},e.prototype.onActivate=function(e,t){var n=e.type,o=e.event,r=e.row;"click"===n||"dblclick"===n?this.selectRow(o,t,r):"keydown"===n&&(o.keyCode===s.Keys.return?this.selectRow(o,t,r):this.onKeyboardFocus(e)),this.activate.emit(e)},e.prototype.onKeyboardFocus=function(e){var t=e.event.keyCode,n=t===s.Keys.up||t===s.Keys.down||t===s.Keys.right||t===s.Keys.left;if(n){var o=this.selectionType===a.SelectionType.cell;e.cellElement&&o?o&&this.focusCell(e.cellElement,e.rowElement,t,e.cellIndex):this.focusRow(e.rowElement,t)}},e.prototype.focusRow=function(e,t){var n=this.getPrevNextRow(e,t);n&&n.focus()},e.prototype.getPrevNextRow=function(e,t){var n=e.parentElement;if(n){var o=void 0;if(t===s.Keys.up?o=n.previousElementSibling:t===s.Keys.down&&(o=n.nextElementSibling),o&&o.children.length)return o.children[0]}},e.prototype.focusCell=function(e,t,n,o){var r;if(n===s.Keys.left)r=e.previousElementSibling;else if(n===s.Keys.right)r=e.nextElementSibling;else if(n===s.Keys.up||n===s.Keys.down){var i=this.getPrevNextRow(t,n);if(i){var a=i.getElementsByClassName("datatable-body-cell");a.length&&(r=a[o])}}r&&r.focus()},e.prototype.getRowSelected=function(e){return this.getRowSelectedIdx(e,this.selected)>-1},e.prototype.getRowSelectedIdx=function(e,t){var n=this;if(!t||!t.length)return-1;var o=this.rowIdentity(e);return t.findIndex(function(e){var t=n.rowIdentity(e);return t===o})},o([i.Input(),r("design:type",Array)],e.prototype,"rows",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"selected",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"selectEnabled",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"rowIdentity",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"selectCheck",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),e=o([i.Component({selector:"datatable-selection",template:"\n \n ",changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.DataTableSelectionComponent=c},"./src/components/column.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){}return Object.defineProperty(e.prototype,"hasHeaderTemplate",{get:function(){return 2===this.templates.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"headerTemplate",{get:function(){if(this.hasHeaderTemplate)return this.templates.first},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cellTemplate",{get:function(){return this.hasHeaderTemplate?this.templates.last:this.templates.first},enumerable:!0,configurable:!0}),o([i.Input(),r("design:type",Object)],e.prototype,"name",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"prop",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"frozenLeft",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"frozenRight",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"flexGrow",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"resizeable",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"comparator",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"pipe",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"sortable",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"draggable",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"canAutoResize",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"minWidth",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"width",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"maxWidth",void 0),o([i.ContentChildren(i.TemplateRef),r("design:type",i.QueryList)],e.prototype,"templates",void 0),e=o([i.Directive({selector:"datatable-column"}),r("design:paramtypes",[])],e)}();t.DataTableColumnDirective=s},"./src/components/datatable.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=n("./src/components/body/index.ts"),l=n("./src/components/column.directive.ts"),p=n("./src/components/row-detail.directive.ts"),u=n("./src/utils/index.ts"),d=function(){function e(e,t){this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.detailRowHeight=0,this.columnMode=a.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.limit=void 0,this.count=0,this.offset=0,this.loadingIndicator=!1,this.reorderable=!0,this.sortType=a.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"icon-down",sortDescending:"icon-up",pagerLeftArrow:"icon-left",pagerRightArrow:"icon-right",pagerPrevious:"icon-prev",pagerNext:"icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total"},this.rowIdentity=function(e){return e},this.scroll=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.sort=new i.EventEmitter,this.page=new i.EventEmitter,this.detailToggle=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.offsetX=0,this.element=t.nativeElement,e.setElementClass(this.element,"datatable",!0)}return Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){this.externalSorting||(e=s.sortRows(e,this.columns,this.sorts)),this._rows=e,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{ -get:function(){return this._columns},set:function(e){e&&(u.setColumnDefaults(e),this.recalculateColumns(e)),this._columns=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedHeader",{get:function(){var e=this.headerHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedRow",{get:function(){var e=this.rowHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(e){if(this._columnTemplates=e,e){var t=e.toArray();t.length&&(this.columns=u.translateTemplates(t))}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowDetailTemplateChild",{get:function(){return this._rowDetailTemplateChild},set:function(e){this._rowDetailTemplateChild=e,e&&(this.rowDetailTemplate=e.rowDetailTemplate)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.recalculate()},e.prototype.ngAfterViewInit=function(){this.recalculate()},e.prototype.toggleExpandRow=function(e){this.bodyComponent.toggleRowExpansion(e)},e.prototype.expandAllRows=function(){this.bodyComponent.toggleAllRows(!0)},e.prototype.collapseAllRows=function(){this.bodyComponent.toggleAllRows(!1)},e.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},e.prototype.recalculateColumns=function(e,t){if(void 0===e&&(e=this.columns),e){var n=this.innerWidth;return this.scrollbarV&&(n-=u.scrollbarWidth),this.columnMode===a.ColumnMode.force?s.forceFillColumnWidths(e,n,t):this.columnMode===a.ColumnMode.flex&&s.adjustColumnWidths(e,n),e}},e.prototype.recalculateDims=function(){var e=this.element.getBoundingClientRect(),t=e.height,n=e.width;this.innerWidth=Math.floor(n),this.scrollbarV&&(this.headerHeight&&(t-=this.headerHeight),this.footerHeight&&(t-=this.footerHeight),this.bodyHeight=t),this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},e.prototype.onBodyPage=function(e){var t=e.offset;this.offset=t,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.onBodyScroll=function(e){this.offsetX=e.offsetX,this.scroll.emit(e)},e.prototype.onFooterPage=function(e){this.offset=e.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.calcPageSize=function(e){return void 0===e&&(e=this.rows),this.scrollbarV?Math.ceil(this.bodyHeight/this.rowHeight):void 0!==this.limit?this.limit:e?e.length:0},e.prototype.calcRowCount=function(e){return void 0===e&&(e=this.rows),this.externalPaging?this.count:e?e.length:0},e.prototype.onColumnResize=function(e){var t,n=e.column,o=e.newValue,r=this.columns.map(function(e,r){return e=Object.assign({},e),e.$$id===n.$$id&&(t=r,e.width=o,e.$$oldWidth=o),e});this.recalculateColumns(r,t),this.columns=r,this.resize.emit({column:n,newValue:o})},e.prototype.onColumnReorder=function(e){var t=e.column,n=e.newValue,o=e.prevValue,r=this.columns.map(function(e){return Object.assign({},e)});r.splice(o,1),r.splice(n,0,t),this.columns=r,this.reorder.emit({column:t,newValue:n,prevValue:o})},e.prototype.onColumnSort=function(e){var t=e.sorts;this.externalSorting===!1&&(this.rows=s.sortRows(this.rows,this.columns,t)),this.sorts=t,this.bodyComponent.updateOffsetY(0),this.sort.emit(e)},o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"rows",null),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Input(),r("design:type",Array)],e.prototype,"selected",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"detailRowHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"columnMode",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"headerHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"footerHeight",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"externalPaging",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"externalSorting",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"limit",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"count",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offset",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"loadingIndicator",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"reorderable",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"sorts",void 0),o([i.Input(),r("design:type",i.TemplateRef)],e.prototype,"rowDetailTemplate",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"cssClasses",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"messages",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"rowIdentity",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"selectCheck",void 0),o([i.Input(),r("design:type",String)],e.prototype,"trackByProp",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"scroll",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"page",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"detailToggle",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"reorder",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.HostBinding("class.fixed-header"),r("design:type",Object)],e.prototype,"isFixedHeader",null),o([i.HostBinding("class.fixed-row"),r("design:type",Object)],e.prototype,"isFixedRow",null),o([i.HostBinding("class.scroll-vertical"),r("design:type",Object)],e.prototype,"isVertScroll",null),o([i.HostBinding("class.scroll-horz"),r("design:type",Object)],e.prototype,"isHorScroll",null),o([i.HostBinding("class.selectable"),r("design:type",Object)],e.prototype,"isSelectable",null),o([i.ContentChildren(l.DataTableColumnDirective),r("design:type",i.QueryList),r("design:paramtypes",[i.QueryList])],e.prototype,"columnTemplates",null),o([i.ContentChild(p.DatatableRowDetailDirective),r("design:type",p.DatatableRowDetailDirective),r("design:paramtypes",[p.DatatableRowDetailDirective])],e.prototype,"rowDetailTemplateChild",null),o([i.ViewChild(c.DataTableBodyComponent),r("design:type",c.DataTableBodyComponent)],e.prototype,"bodyComponent",void 0),o([i.HostListener("window:resize"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"recalculate",null),e=o([i.Component({selector:"datatable",template:'\n \n \n \n \n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.Renderer,i.ElementRef])],e)}();t.DatatableComponent=d},"./src/components/footer/footer.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.page=new i.EventEmitter,t.setElementClass(e.nativeElement,"datatable-footer",!0)}return Object.defineProperty(e.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),o([i.Input(),r("design:type",Number)],e.prototype,"footerHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowCount",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"pageSize",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offset",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerLeftArrowIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerRightArrowIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerPreviousIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerNextIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"totalMessage",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"page",void 0),e=o([i.Component({selector:"datatable-footer",template:'\n \n
{{rowCount.toLocaleString()}} {{totalMessage}}
\n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableFooterComponent=s},"./src/components/footer/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/footer/footer.component.ts")),o(n("./src/components/footer/pager.component.ts"))},"./src/components/footer/pager.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.change=new i.EventEmitter,this._count=0,this._page=1,this._size=0,t.setElementClass(e.nativeElement,"datatable-pager",!0)}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._count},set:function(e){this._count=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"page",{get:function(){return this._page},set:function(e){this._page=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalPages",{get:function(){var e=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(e||0,1)},enumerable:!0,configurable:!0}),e.prototype.canPrevious=function(){return this.page>1},e.prototype.canNext=function(){return this.page0&&e<=this.totalPages&&e!==this.page&&(this.page=e,this.change.emit({page:e}))},e.prototype.calcPages=function(e){var t=[],n=1,o=this.totalPages,r=5,i=r\n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n \n {{pg.text}}\n \n \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTablePagerComponent=s},"./src/components/header/header-cell.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/types/index.ts"),a=n("./src/utils/index.ts"),c=function(){function e(){this.sort=new i.EventEmitter}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.sortDir=this.calcSortDir(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnCssClasses",{get:function(){var e="datatable-header-cell";this.column.sortable&&(e+=" sortable"),this.column.resizeable&&(e+=" resizeable");var t=this.sortDir;return t&&(e+=" sort-active sort-"+t),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this.column.name||this.column.prop},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),e.prototype.sortClasses=function(e){var t={};return e===s.SortDirection.asc?t["sort-asc "+this.sortAscendingIcon]=!0:e===s.SortDirection.desc&&(t["sort-desc "+this.sortDescendingIcon]=!0),t},e.prototype.calcSortDir=function(e){var t=this;if(e&&this.column){var n=e.find(function(e){return e.prop===t.column.prop});if(n)return n.dir}},e.prototype.onSort=function(){if(this.column.sortable){var e=a.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:e})}},o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"column",void 0),o([i.Input(),r("design:type",String)],e.prototype,"sortAscendingIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"sortDescendingIcon",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"headerHeight",void 0),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"sorts",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.HostBinding("class"),r("design:type",Object)],e.prototype,"columnCssClasses",null),o([i.HostBinding("attr.title"),r("design:type",String)],e.prototype,"name",null),o([i.HostBinding("style.minWidth.px"),r("design:type",Number)],e.prototype,"minWidth",null),o([i.HostBinding("style.maxWidth.px"),r("design:type",Number)],e.prototype,"maxWidth",null),o([i.HostBinding("style.width.px"),r("design:type",Number)],e.prototype,"width",null),e=o([i.Component({selector:"datatable-header-cell",template:'\n
    \n \n \n \n \n \n \n
    \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.DataTableHeaderCellComponent=c},"./src/components/header/header.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/types/index.ts"),a=n("./src/utils/index.ts"),c=function(){function e(e,t){this.sort=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,t.setElementClass(e.nativeElement,"datatable-header",!0)}return Object.defineProperty(e.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(e){"auto"!==e?this._headerHeight=e+"px":this._headerHeight=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=a.columnsByPin(e);this.columnsByPin=a.columnsByPinArr(e),this.columnGroupWidths=a.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),e.prototype.onColumnResized=function(e,t){e<=t.minWidth?e=t.minWidth:e>=t.maxWidth&&(e=t.maxWidth),this.resize.emit({column:t,prevValue:t.width,newValue:e})},e.prototype.onColumnReordered=function(e){var t=e.prevIndex,n=e.newIndex,o=e.model;this.reorder.emit({column:o,prevValue:t,newValue:n})},e.prototype.onSort=function(e){var t=e.column,n=e.prevValue,o=e.newValue,r=this.calcNewSorts(t,n,o);this.sort.emit({sorts:r,column:t,prevValue:n,newValue:o})},e.prototype.calcNewSorts=function(e,t,n){var o=0,r=this.sorts.map(function(t,n){return t=Object.assign({},t),t.prop===e.prop&&(o=n),t});return void 0===n?r.splice(o,1):t?r[o].dir=n:(this.sortType===s.SortType.single&&r.splice(0,this.sorts.length),r.push({dir:n,prop:e.prop})),r},e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("center"===e)a.translateXY(o,n*-1,0);else if("right"===e){var r=t.total-this.innerWidth,i=r*-1;a.translateXY(o,i,0)}return o},o([i.Input(),r("design:type",Object)],e.prototype,"sortAscendingIcon",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"sortDescendingIcon",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"innerWidth",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offsetX",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"sorts",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.HostBinding("style.height"),i.Input(),r("design:type",Object),r("design:paramtypes",[Object])],e.prototype,"headerHeight",null),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"reorder",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.HostBinding("style.width"),r("design:type",String)],e.prototype,"headerWidth",null),e=o([i.Component({selector:"datatable-header",template:'\n \n \n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableHeaderComponent=c},"./src/components/header/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/header/header.component.ts")),o(n("./src/components/header/header-cell.component.ts"))},"./src/components/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/datatable.component.ts")),o(n("./src/components/column.directive.ts")),o(n("./src/components/row-detail.directive.ts")),o(n("./src/components/header/index.ts")),o(n("./src/components/body/index.ts")),o(n("./src/components/footer/index.ts"))},"./src/components/row-detail.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){}return Object.defineProperty(e.prototype,"rowDetailTemplate",{get:function(){return this.template},enumerable:!0,configurable:!0}),o([i.ContentChild(i.TemplateRef),r("design:type",i.TemplateRef)],e.prototype,"template",void 0),e=o([i.Directive({selector:"datatable-row-detail-template"}),r("design:paramtypes",[])],e)}();t.DatatableRowDetailDirective=s},"./src/datatable.module.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(2),a=n("./src/components/index.ts"),c=n("./src/directives/index.ts"),l=function(){function e(){}return e=o([i.NgModule({imports:[s.CommonModule],declarations:[c.VisibilityDirective,c.DraggableDirective,c.ResizeableDirective,c.OrderableDirective,c.LongPressDirective,a.ScrollerComponent,a.DatatableComponent,a.DataTableColumnDirective,a.DataTableHeaderComponent,a.DataTableHeaderCellComponent,a.DataTableBodyComponent,a.DataTableFooterComponent,a.DataTablePagerComponent,a.ProgressBarComponent,a.DataTableBodyRowComponent,a.DataTableRowWrapperComponent,a.DatatableRowDetailDirective,a.DataTableBodyCellComponent,a.DataTableSelectionComponent],exports:[a.DatatableComponent,a.DatatableRowDetailDirective,a.DataTableColumnDirective]}),r("design:paramtypes",[])],e)}();t.Angular2DataTableModule=l},"./src/directives/draggable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(1),a=function(){function e(e){this.dragX=!0,this.dragY=!0,this.dragStart=new i.EventEmitter,this.dragging=new i.EventEmitter,this.dragEnd=new i.EventEmitter,this.isDragging=!1,this.element=e.nativeElement}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(e){this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this.subscription.unsubscribe(),this.dragEnd.emit({event:e,element:this.element,model:this.dragModel}))},e.prototype.onMousedown=function(e){var t=this;if(e.target.classList.contains("draggable")){e.preventDefault(),this.isDragging=!0;var n={x:e.clientX,y:e.clientY};this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,n)}),this.dragStart.emit({event:e,element:this.element,model:this.dragModel})}},e.prototype.move=function(e,t){if(this.dragging){var n=e.clientX-t.x,o=e.clientY-t.y;this.dragX&&(this.element.style.left=n+"px"),this.dragY&&(this.element.style.top=o+"px"),(this.dragX||this.dragY)&&(this.element.classList.add("dragging"),this.dragging.emit({event:e,element:this.element,model:this.dragModel}))}},o([i.Input(),r("design:type",Object)],e.prototype,"dragModel",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"dragX",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"dragY",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragStart",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragging",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragEnd",void 0),o([i.HostListener("document:mouseup",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMouseup",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([i.Directive({selector:"[draggable]"}),r("design:paramtypes",[i.ElementRef])],e)}();t.DraggableDirective=a},"./src/directives/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/directives/draggable.directive.ts")),o(n("./src/directives/long-press.directive.ts")),o(n("./src/directives/orderable.directive.ts")),o(n("./src/directives/resizeable.directive.ts")),o(n("./src/directives/visibility.directive.ts"))},"./src/directives/long-press.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){this.duration=500,this.longPress=new i.EventEmitter,this.longPressing=new i.EventEmitter,this.longPressEnd=new i.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(e.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isLongPress",{get:function(){return this.longPressing},enumerable:!0,configurable:!0}),e.prototype.onMouseDown=function(e){var t=this;1===e.which&&(this.mouseX=e.clientX,this.mouseY=e.clientY,this.pressing=!0,this.isLongPressing=!1,this.timeout=setTimeout(function(){ -t.isLongPressing=!0,t.longPress.emit(e),t.loop(e)},this.duration),this.loop(e))},e.prototype.onMouseMove=function(e){if(this.pressing&&!this.longPressing){var t=e.clientX-this.mouseX>10,n=e.clientY-this.mouseY>10;(t||n)&&this.endPress()}},e.prototype.loop=function(e){var t=this;this.longPressing&&(this.timeout=setTimeout(function(){t.longPressing.emit(e),t.loop(e)},50))},e.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this.longPressEnd.emit(!0)},e.prototype.onMouseUp=function(){this.endPress()},o([i.Input(),r("design:type",Number)],e.prototype,"duration",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPress",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPressing",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPressEnd",void 0),o([i.HostBinding("class.press"),r("design:type",Object)],e.prototype,"press",null),o([i.HostBinding("class.longpress"),r("design:type",Object)],e.prototype,"isLongPress",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMouseDown",null),o([i.HostListener("mousemove",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMouseMove",null),o([i.HostListener("mouseup"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onMouseUp",null),e=o([i.Directive({selector:"[long-press]"}),r("design:paramtypes",[])],e)}();t.LongPressDirective=s},"./src/directives/orderable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/directives/draggable.directive.ts"),a=function(){function e(e){this.reorder=new i.EventEmitter,this.differ=e.find({}).create(null)}return e.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},e.prototype.ngOnDestroy=function(){this.draggables.forEach(function(e){e.dragStart.unsubscribe(),e.dragEnd.unsubscribe()})},e.prototype.updateSubscriptions=function(){var e=this,t=this.differ.diff(this.draggables.toArray());if(t){var n=function(t){var n=t.currentValue,r=t.previousValue;o({previousValue:r}),n&&(n.dragStart.subscribe(e.onDragStart.bind(e)),n.dragEnd.subscribe(e.onDragEnd.bind(e)))},o=function(e){var t=e.previousValue;t&&(t.dragStart.unsubscribe(),t.dragEnd.unsubscribe())};t.forEachAddedItem(n.bind(this)),t.forEachChangedItem(n.bind(this)),t.forEachRemovedItem(o.bind(this))}},e.prototype.onDragStart=function(){this.positions={};for(var e=0,t=0,n=this.draggables.toArray();ta.left,l=o>a.left&&r.left=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(1),a=function(){function e(e){if(this.resizeEnabled=!0,this.resize=new i.EventEmitter,this.resizing=!1,this.element=e.nativeElement,this.resizeEnabled){var t=document.createElement("span");t.classList.add("resize-handle"),this.element.appendChild(t)}}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this.subscription.unsubscribe(),this.resize.emit(this.element.clientWidth))},e.prototype.onMousedown=function(e){var t=this,n=e.target.classList.contains("resize-handle"),o=this.element.clientWidth,r=e.screenX;n&&(e.stopPropagation(),this.resizing=!0,this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,o,r)}))},e.prototype.move=function(e,t,n){var o=e.screenX-n,r=t+o,i=!this.minWidth||r>=this.minWidth,s=!this.maxWidth||r<=this.maxWidth;i&&s&&(this.element.style.width=r+"px")},o([i.Input(),r("design:type",Boolean)],e.prototype,"resizeEnabled",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"minWidth",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"maxWidth",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.HostListener("document:mouseup",["$event"]),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onMouseup",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([i.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}}),r("design:paramtypes",[i.ElementRef])],e)}();t.ResizeableDirective=a},"./src/directives/visibility.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=function(){function e(e,t){this.isVisible=!1,this.visible=new i.EventEmitter,s.checkVisibility(e.nativeElement,this.visbilityChange.bind(this),t)}return e.prototype.visbilityChange=function(){var e=this;setTimeout(function(){e.isVisible=!0,e.visible.emit(!0)})},o([i.HostBinding("class.visible"),r("design:type",Boolean)],e.prototype,"isVisible",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"visible",void 0),e=o([i.Directive({selector:"[visibility-observer]"}),r("design:paramtypes",[i.ElementRef,i.NgZone])],e)}();t.VisibilityDirective=a},"./src/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/datatable.module.ts")),o(n("./src/types/index.ts")),o(n("./src/components/index.ts"))},"./src/types/click.type.ts":function(e,t){"use strict";!function(e){e[e.single="single"]="single",e[e.double="double"]="double"}(t.ClickType||(t.ClickType={}));t.ClickType},"./src/types/column-mode.type.ts":function(e,t){"use strict";!function(e){e[e.standard="standard"]="standard",e[e.flex="flex"]="flex",e[e.force="force"]="force"}(t.ColumnMode||(t.ColumnMode={}));t.ColumnMode},"./src/types/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/types/column-mode.type.ts")),o(n("./src/types/sort.type.ts")),o(n("./src/types/sort-direction.type.ts")),o(n("./src/types/selection.type.ts")),o(n("./src/types/click.type.ts"))},"./src/types/selection.type.ts":function(e,t){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi",e[e.multiShift="multiShift"]="multiShift",e[e.cell="cell"]="cell"}(t.SelectionType||(t.SelectionType={}));t.SelectionType},"./src/types/sort-direction.type.ts":function(e,t){"use strict";!function(e){e[e.asc="asc"]="asc",e[e.desc="desc"]="desc"}(t.SortDirection||(t.SortDirection={}));t.SortDirection},"./src/types/sort.type.ts":function(e,t){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi"}(t.SortType||(t.SortType={}));t.SortType},"./src/utils/camel-case.ts":function(e,t){"use strict";function n(e){return e=e.replace(/[^a-zA-Z0-9 ]/g," "),e=e.replace(/([a-z](?=[A-Z]))/g,"$1 "),e=e.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase(),e=e.replace(/([ 0-9]+)([a-zA-Z])/g,function(e,t,n){return t.trim()+n.toUpperCase()})}function o(e){return e.replace(/([A-Z])/g,function(e){return" "+e}).replace(/^./,function(e){return e.toUpperCase()})}t.camelCase=n,t.deCamelCase=o},"./src/utils/column-helper.ts":function(e,t,n){"use strict";function o(e){if(e)for(var t=0,n=e;t-1?e.slice(n,e.length).filter(function(e){return e.canAutoResize!==!1}):e.filter(function(e){return e.canAutoResize!==!1}),i=0,s=r;i=t;for(var g=0,y=r;gl.maxWidth?(l.width=l.maxWidth,f.push(l)):l.width=m}}d=c(e),h=t-d,a(r,f)}while(h>0&&0!==r.length)}function a(e,t){for(var n=0,o=t;n=0;)t+=this.treeArray[e],e=(e&e+1)-1;return t},e.prototype.queryBetween=function(e,t){return this.query(t)-this.query(e-1)},e.prototype.calcRowIndex=function(e){if(!this.treeArray.length)return 0;for(var t=-1,n=this.treeArray.length,o=Math.pow(2,n.toString(2).length-1),r=o;0!==r;r>>=1){var i=t+r;i=this.treeArray[i]&&(e-=this.treeArray[i],t=i)}return t+1},e}();t.RowHeightCache=n},"./src/utils/scrollbar-width.ts":function(e,t){"use strict";function n(){var e=document.createElement("div");e.style.visibility="hidden",e.style.width="100px",e.style.msOverflowStyle="scrollbar",document.body.appendChild(e);var t=e.offsetWidth;e.style.overflow="scroll";var n=document.createElement("div");n.style.width="100%",e.appendChild(n);var o=n.offsetWidth;return e.parentNode.removeChild(e),t-o}t.getScrollBarWidth=n,t.scrollbarWidth=n()},"./src/utils/selection.ts":function(e,t){"use strict";function n(e,t,n){var o=n(t,e);return o>-1?e.splice(o,1):e.push(t),e}function o(e,t,n,o,r){for(var i=n=o&&s<=n,p=s<=o&&s>=n,u={start:0,end:0};if(u=i?{start:n,end:o-n}:{start:o,end:n+1},i&&p||!i&&l){var d=r(c,e);if(i&&d>-1){e.splice(d,1);continue}s>=u.start&&st.toLowerCase())return 1}else{if(parseFloat(e)parseFloat(t))return 1}return 0}function i(e,t,n){if(!e||!n||!t)return e;var o=t.reduce(function(e,t){return t.comparator&&"function"==typeof t.comparator&&(e[t.prop]=t.comparator),e},{});return e.slice().sort(function(e,t){for(var i=0,c=n;i=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=function(){function e(e,t){this.activate=new i.EventEmitter,this.isFocused=!1,this.element=e.nativeElement,t.setElementClass(this.element,"datatable-body-cell",!0)}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.calcSortDir=this.calcSortDir(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortActive",{get:function(){return!this.sortDir},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortAscending",{get:function(){return this.sortDir===a.SortDirection.asc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSortDescending",{get:function(){return this.sortDir===a.SortDirection.desc},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){var e=this.rowHeight;return isNaN(e)?e:e+"px"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){if(!this.row||!this.column)return"";var e=s.deepValueGetter(this.row,this.column.prop),t=this.column.pipe;return t?t.transform(e):e},enumerable:!0,configurable:!0}),e.prototype.onFocus=function(e){this.isFocused=!0},e.prototype.onBlur=function(e){this.isFocused=!1},e.prototype.onClick=function(e){this.activate.emit({type:"click",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onDblClick=function(e){this.activate.emit({type:"dblclick",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element})},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,column:this.column,value:this.value,cellElement:this.element}))},e.prototype.calcSortDir=function(e){var t=this;if(e){var n=e.find(function(e){return e.prop===t.column.prop});return n?n.dir:void 0}},o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"column",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"sorts",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.HostBinding("class.active"),r("design:type",Boolean)],e.prototype,"isFocused",void 0),o([i.HostBinding("class.sort-active"),r("design:type",Boolean)],e.prototype,"isSortActive",null),o([i.HostBinding("class.sort-asc"),r("design:type",Boolean)],e.prototype,"isSortAscending",null),o([i.HostBinding("class.sort-desc"),r("design:type",Boolean)],e.prototype,"isSortDescending",null),o([i.HostBinding("style.width.px"),r("design:type",Number)],e.prototype,"width",null),o([i.HostBinding("style.height"),r("design:type",Object)],e.prototype,"height",null),o([i.HostListener("focus",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onFocus",null),o([i.HostListener("blur",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onBlur",null),o([i.HostListener("click",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onClick",null),o([i.HostListener("dblclick",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onDblClick",null),o([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([i.Component({selector:"datatable-body-cell",template:'\n
    \n \n \n \n \n
    \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableBodyCellComponent=c},"./src/components/body/body-row-wrapper.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.expanded=!1,t.setElementClass(e.nativeElement,"datatable-row-wrapper",!0)}return o([i.Input(),r("design:type",Object)],e.prototype,"rowDetailTemplate",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"detailRowHeight",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"expanded",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),e=o([i.Component({selector:"datatable-row-wrapper",template:'\n \n
    \n \n \n
    \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableRowWrapperComponent=s},"./src/components/body/body-row.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=function(){function e(e,t){this.activate=new i.EventEmitter,this.element=e.nativeElement,t.setElementClass(this.element,"datatable-body-row",!0)}return Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e,this.recalculateColumns(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(e){this._innerWidth=e,this.recalculateColumns()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isEvenRow",{get:function(){return this.row.$$index%2===0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOddRow",{get:function(){return this.row.$$index%2!==0},enumerable:!0,configurable:!0}),e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("left"===e)s.translateXY(o,n,0);else if("right"===e){var r=parseInt(this.innerWidth+"",0),i=t.total-r,a=i-n,c=(a+s.scrollbarWidth)*-1;s.translateXY(o,c,0)}return o},e.prototype.onActivate=function(e,t){e.cellIndex=t,e.rowElement=this.element,this.activate.emit(e)},e.prototype.onKeyDown=function(e){var t=e.keyCode,n=e.target===this.element,o=t===s.Keys.return||t===s.Keys.down||t===s.Keys.up||t===s.Keys.left||t===s.Keys.right;o&&n&&(e.preventDefault(),e.stopPropagation(),this.activate.emit({type:"keydown",event:e,row:this.row,rowElement:this.element}))},e.prototype.recalculateColumns=function(e){void 0===e&&(e=this.columns);var t=s.columnsByPin(e);this.columnsByPin=s.columnsByPinArr(e),this.columnGroupWidths=s.columnGroupWidths(t,e)},o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],e.prototype,"innerWidth",null),o([i.Input(),r("design:type",Object)],e.prototype,"row",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offsetX",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.HostBinding("class.active"),i.Input(),r("design:type",Boolean)],e.prototype,"isSelected",void 0),o([i.HostBinding("class.datatable-row-even"),r("design:type",Boolean)],e.prototype,"isEvenRow",null),o([i.HostBinding("class.datatable-row-odd"),r("design:type",Boolean)],e.prototype,"isOddRow",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onKeyDown",null),e=o([i.Component({selector:"datatable-body-row",template:'\n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableBodyRowComponent=a},"./src/components/body/body.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=(n("./src/types/index.ts"),n("./src/components/body/scroller.component.ts")),c=function(){function e(e,t){this.selected=[],this.scroll=new i.EventEmitter,this.page=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.detailToggle=new i.EventEmitter,this.rowHeightsCache=new s.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},t.setElementClass(e.nativeElement,"datatable-body",!0),this.rowTrackingFn=function(e,t){return this.trackByProp?t.$$index+"-"+this.trackByProp:t.$$index}.bind(this)}return Object.defineProperty(e.prototype,"pageSize",{get:function(){return this._pageSize},set:function(e){this._pageSize=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){this._rows=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=s.columnsByPin(e);this.columnGroupWidths=s.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"offset",{get:function(){return this._offset},set:function(e){this._offset=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowCount",{get:function(){return this._rowCount},set:function(e){this._rowCount=e,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(e){this.scrollbarV?this._bodyHeight=e+"px":this._bodyHeight="auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollHeight",{get:function(){if(this.scrollbarV)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),e.prototype.updateOffsetY=function(e){if(this.scrollbarV&&e){var t=this.pageSize*e;e=this.rowHeightsCache.query(t-1)}this.scroller.setOffset(e||0)},e.prototype.onBodyScroll=function(e){var t=e.scrollYPos,n=e.scrollXPos,o=e.direction;this.offsetY===t&&this.offsetX===n||this.scroll.emit({offsetY:t,offsetX:n}),this.offsetY=t,this.offsetX=n,this.updateIndexes(),this.updatePage(o),this.updateRows()},e.prototype.updatePage=function(e){var t=this.indexes.first/this.pageSize;"up"===e?t=Math.floor(t):"down"===e&&(t=Math.ceil(t)),void 0===e||isNaN(t)||this.page.emit({offset:t})},e.prototype.updateRows=function(){for(var e=this.indexes,t=e.first,n=e.last,o=t,r=0,i=[];o\n \n \n \n \n \n \n \n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableBodyComponent=c},"./src/components/body/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/body/body.component.ts")),o(n("./src/components/body/body-cell.component.ts")),o(n("./src/components/body/body-row.component.ts")),o(n("./src/components/body/progress-bar.component.ts")),o(n("./src/components/body/scroller.component.ts")),o(n("./src/components/body/body-row-wrapper.component.ts")),o(n("./src/components/body/selection.component.ts"))},"./src/components/body/progress-bar.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){}return e=o([i.Component({selector:"datatable-progress",template:'\n
    \n
    \n
    \n
    \n
    \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.ProgressBarComponent=s},"./src/components/body/scroller.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e){this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new i.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement,this.element.classList.add("datatable-scroll")}return e.prototype.ngOnInit=function(){(this.scrollbarV||this.scrollbarH)&&(this.parentElement=this.element.parentElement.parentElement,this.parentElement.addEventListener("scroll",this.onScrolled.bind(this)))},e.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.parentElement.removeEventListener("scroll")},e.prototype.setOffset=function(e){this.parentElement&&(this.parentElement.scrollTop=e)},e.prototype.onScrolled=function(e){var t=e.currentTarget;this.scrollYPos=t.scrollTop,this.scrollXPos=t.scrollLeft,requestAnimationFrame(this.updateOffset.bind(this))},e.prototype.updateOffset=function(){var e;this.scrollYPosthis.prevScrollYPos&&(e="up"),this.scroll.emit({direction:e,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"scrollHeight",void 0),o([i.HostBinding("style.width.px"),i.Input(),r("design:type",Number)],e.prototype,"scrollWidth",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"scroll",void 0),e=o([i.Component({selector:"datatable-scroller",template:"\n \n ",changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef])],e)}();t.ScrollerComponent=s},"./src/components/body/selection.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=n("./src/types/index.ts"),c=function(){function e(){this.activate=new i.EventEmitter,this.select=new i.EventEmitter}return e.prototype.selectRow=function(e,t,n){if(this.selectEnabled){var o=this.selectionType===a.SelectionType.multiShift,r=this.selectionType===a.SelectionType.multi,i=[];if(o||r)if(o&&e.shiftKey){var c=this.selected.slice();i=s.selectRowsBetween(c,this.rows,t,this.prevIndex,this.getRowSelectedIdx.bind(this))}else if(o&&!e.shiftKey)i.push(n);else{var c=this.selected.slice();i=s.selectRows(c,n,this.getRowSelectedIdx.bind(this))}else i.push(n);this.selectCheck&&(i=i.filter(this.selectCheck.bind(this))),this.selected=i,this.prevIndex=t,this.select.emit({selected:i})}},e.prototype.onActivate=function(e,t){var n=e.type,o=e.event,r=e.row;"click"===n||"dblclick"===n?this.selectRow(o,t,r):"keydown"===n&&(o.keyCode===s.Keys.return?this.selectRow(o,t,r):this.onKeyboardFocus(e)),this.activate.emit(e)},e.prototype.onKeyboardFocus=function(e){var t=e.event.keyCode,n=t===s.Keys.up||t===s.Keys.down||t===s.Keys.right||t===s.Keys.left;if(n){var o=this.selectionType===a.SelectionType.cell;e.cellElement&&o?o&&this.focusCell(e.cellElement,e.rowElement,t,e.cellIndex):this.focusRow(e.rowElement,t)}},e.prototype.focusRow=function(e,t){var n=this.getPrevNextRow(e,t);n&&n.focus()},e.prototype.getPrevNextRow=function(e,t){var n=e.parentElement;if(n){var o=void 0;if(t===s.Keys.up?o=n.previousElementSibling:t===s.Keys.down&&(o=n.nextElementSibling),o&&o.children.length)return o.children[0]}},e.prototype.focusCell=function(e,t,n,o){var r;if(n===s.Keys.left)r=e.previousElementSibling;else if(n===s.Keys.right)r=e.nextElementSibling;else if(n===s.Keys.up||n===s.Keys.down){var i=this.getPrevNextRow(t,n);if(i){var a=i.getElementsByClassName("datatable-body-cell");a.length&&(r=a[o])}}r&&r.focus()},e.prototype.getRowSelected=function(e){return this.getRowSelectedIdx(e,this.selected)>-1},e.prototype.getRowSelectedIdx=function(e,t){var n=this;if(!t||!t.length)return-1;var o=this.rowIdentity(e);return t.findIndex(function(e){var t=n.rowIdentity(e);return t===o})},o([i.Input(),r("design:type",Array)],e.prototype,"rows",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"selected",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"selectEnabled",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"rowIdentity",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"selectCheck",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),e=o([i.Component({selector:"datatable-selection",template:"\n \n ",changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.DataTableSelectionComponent=c},"./src/components/column.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){}return Object.defineProperty(e.prototype,"hasHeaderTemplate",{get:function(){return 2===this.templates.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"headerTemplate",{get:function(){if(this.hasHeaderTemplate)return this.templates.first},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cellTemplate",{get:function(){return this.hasHeaderTemplate?this.templates.last:this.templates.first},enumerable:!0,configurable:!0}),o([i.Input(),r("design:type",Object)],e.prototype,"name",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"prop",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"frozenLeft",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"frozenRight",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"flexGrow",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"resizeable",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"comparator",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"pipe",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"sortable",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"draggable",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"canAutoResize",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"minWidth",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"width",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"maxWidth",void 0),o([i.ContentChildren(i.TemplateRef),r("design:type",i.QueryList)],e.prototype,"templates",void 0),e=o([i.Directive({selector:"datatable-column"}),r("design:paramtypes",[])],e)}();t.DataTableColumnDirective=s},"./src/components/datatable.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(1),a=n("./src/utils/index.ts"),c=n("./src/types/index.ts"),l=n("./src/components/body/index.ts"),p=n("./src/components/column.directive.ts"),u=n("./src/components/row-detail.directive.ts"),d=n("./src/utils/index.ts"),h=function(){function e(e,t,n){this.cdr=n,this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.detailRowHeight=0,this.columnMode=c.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.limit=void 0,this.count=0,this.offset=0,this.loadingIndicator=!1,this.reorderable=!0,this.sortType=c.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"icon-down",sortDescending:"icon-up",pagerLeftArrow:"icon-left",pagerRightArrow:"icon-right",pagerPrevious:"icon-prev",pagerNext:"icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total"},this.rowIdentity=function(e){return e},this.scroll=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.sort=new i.EventEmitter,this.page=new i.EventEmitter,this.detailToggle=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.offsetX=0,this.element=t.nativeElement,e.setElementClass(this.element,"datatable",!0)}return Object.defineProperty(e.prototype,"rows",{get:function(){return this._rows},set:function(e){var t=this;e instanceof s.Observable?e.concatMap(function(e){return e}).toArray().subscribe(function(e){t.rows=e,t.cdr.markForCheck(); +}):(this.externalSorting||(e=a.sortRows(e,this.columns,this.sorts)),this._rows=e,this.recalculate())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){e&&(d.setColumnDefaults(e),this.recalculateColumns(e)),this._columns=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedHeader",{get:function(){var e=this.headerHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isFixedRow",{get:function(){var e=this.rowHeight;return"string"!=typeof e||"auto"!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(e){if(this._columnTemplates=e,e){var t=e.toArray();t.length&&(this.columns=d.translateTemplates(t))}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rowDetailTemplateChild",{get:function(){return this._rowDetailTemplateChild},set:function(e){this._rowDetailTemplateChild=e,e&&(this.rowDetailTemplate=e.rowDetailTemplate)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.recalculate()},e.prototype.ngAfterViewInit=function(){this.recalculate()},e.prototype.toggleExpandRow=function(e){this.bodyComponent.toggleRowExpansion(e)},e.prototype.expandAllRows=function(){this.bodyComponent.toggleAllRows(!0)},e.prototype.collapseAllRows=function(){this.bodyComponent.toggleAllRows(!1)},e.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},e.prototype.recalculateColumns=function(e,t){if(void 0===e&&(e=this.columns),e){var n=this.innerWidth;return this.scrollbarV&&(n-=d.scrollbarWidth),this.columnMode===c.ColumnMode.force?a.forceFillColumnWidths(e,n,t):this.columnMode===c.ColumnMode.flex&&a.adjustColumnWidths(e,n),e}},e.prototype.recalculateDims=function(){var e=this.element.getBoundingClientRect(),t=e.height,n=e.width;this.innerWidth=Math.floor(n),this.scrollbarV&&(this.headerHeight&&(t-=this.headerHeight),this.footerHeight&&(t-=this.footerHeight),this.bodyHeight=t),this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},e.prototype.onBodyPage=function(e){var t=e.offset;this.offset=t,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.onBodyScroll=function(e){this.offsetX=e.offsetX,this.scroll.emit(e)},e.prototype.onFooterPage=function(e){this.offset=e.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset})},e.prototype.calcPageSize=function(e){return void 0===e&&(e=this.rows),this.scrollbarV?Math.ceil(this.bodyHeight/this.rowHeight):void 0!==this.limit?this.limit:e?e.length:0},e.prototype.calcRowCount=function(e){return void 0===e&&(e=this.rows),this.externalPaging?this.count:e?e.length:0},e.prototype.onColumnResize=function(e){var t,n=e.column,o=e.newValue,r=this.columns.map(function(e,r){return e=Object.assign({},e),e.$$id===n.$$id&&(t=r,e.width=o,e.$$oldWidth=o),e});this.recalculateColumns(r,t),this.columns=r,this.resize.emit({column:n,newValue:o})},e.prototype.onColumnReorder=function(e){var t=e.column,n=e.newValue,o=e.prevValue,r=this.columns.map(function(e){return Object.assign({},e)});r.splice(o,1),r.splice(n,0,t),this.columns=r,this.reorder.emit({column:t,newValue:n,prevValue:o})},e.prototype.onColumnSort=function(e){var t=e.sorts;this.externalSorting===!1&&(this.rows=a.sortRows(this.rows,this.columns,t)),this.sorts=t,this.bodyComponent.updateOffsetY(0),this.sort.emit(e)},o([i.Input(),r("design:type",Object),r("design:paramtypes",[Object])],e.prototype,"rows",null),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Input(),r("design:type",Array)],e.prototype,"selected",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarV",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"detailRowHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"columnMode",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"headerHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"footerHeight",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"externalPaging",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"externalSorting",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"limit",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"count",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offset",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"loadingIndicator",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"selectionType",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"reorderable",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"sorts",void 0),o([i.Input(),r("design:type",i.TemplateRef)],e.prototype,"rowDetailTemplate",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"cssClasses",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"messages",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"rowIdentity",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"selectCheck",void 0),o([i.Input(),r("design:type",String)],e.prototype,"trackByProp",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"scroll",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"activate",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"select",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"page",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"detailToggle",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"reorder",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.HostBinding("class.fixed-header"),r("design:type",Object)],e.prototype,"isFixedHeader",null),o([i.HostBinding("class.fixed-row"),r("design:type",Object)],e.prototype,"isFixedRow",null),o([i.HostBinding("class.scroll-vertical"),r("design:type",Object)],e.prototype,"isVertScroll",null),o([i.HostBinding("class.scroll-horz"),r("design:type",Object)],e.prototype,"isHorScroll",null),o([i.HostBinding("class.selectable"),r("design:type",Object)],e.prototype,"isSelectable",null),o([i.ContentChildren(p.DataTableColumnDirective),r("design:type",i.QueryList),r("design:paramtypes",[i.QueryList])],e.prototype,"columnTemplates",null),o([i.ContentChild(u.DatatableRowDetailDirective),r("design:type",u.DatatableRowDetailDirective),r("design:paramtypes",[u.DatatableRowDetailDirective])],e.prototype,"rowDetailTemplateChild",null),o([i.ViewChild(l.DataTableBodyComponent),r("design:type",l.DataTableBodyComponent)],e.prototype,"bodyComponent",void 0),o([i.HostListener("window:resize"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"recalculate",null),e=o([i.Component({selector:"datatable",template:'\n \n \n \n \n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.Renderer,i.ElementRef,i.ChangeDetectorRef])],e)}();t.DatatableComponent=h},"./src/components/footer/footer.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.page=new i.EventEmitter,t.setElementClass(e.nativeElement,"datatable-footer",!0)}return Object.defineProperty(e.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),o([i.Input(),r("design:type",Number)],e.prototype,"footerHeight",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"rowCount",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"pageSize",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offset",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerLeftArrowIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerRightArrowIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerPreviousIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"pagerNextIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"totalMessage",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"page",void 0),e=o([i.Component({selector:"datatable-footer",template:'\n \n
    {{rowCount.toLocaleString()}} {{totalMessage}}
    \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableFooterComponent=s},"./src/components/footer/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/footer/footer.component.ts")),o(n("./src/components/footer/pager.component.ts"))},"./src/components/footer/pager.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(e,t){this.change=new i.EventEmitter,this._count=0,this._page=1,this._size=0,t.setElementClass(e.nativeElement,"datatable-pager",!0)}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._count},set:function(e){this._count=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"page",{get:function(){return this._page},set:function(e){this._page=e,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalPages",{get:function(){var e=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(e||0,1)},enumerable:!0,configurable:!0}),e.prototype.canPrevious=function(){return this.page>1},e.prototype.canNext=function(){return this.page0&&e<=this.totalPages&&e!==this.page&&(this.page=e,this.change.emit({page:e}))},e.prototype.calcPages=function(e){var t=[],n=1,o=this.totalPages,r=5,i=r\n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n \n {{pg.text}}\n \n \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTablePagerComponent=s},"./src/components/header/header-cell.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/types/index.ts"),a=n("./src/utils/index.ts"),c=function(){function e(){this.sort=new i.EventEmitter}return Object.defineProperty(e.prototype,"sorts",{get:function(){return this._sorts},set:function(e){this._sorts=e,this.sortDir=this.calcSortDir(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columnCssClasses",{get:function(){var e="datatable-header-cell";this.column.sortable&&(e+=" sortable"),this.column.resizeable&&(e+=" resizeable");var t=this.sortDir;return t&&(e+=" sort-active sort-"+t),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this.column.name||this.column.prop},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),e.prototype.sortClasses=function(e){var t={};return e===s.SortDirection.asc?t["sort-asc "+this.sortAscendingIcon]=!0:e===s.SortDirection.desc&&(t["sort-desc "+this.sortDescendingIcon]=!0),t},e.prototype.calcSortDir=function(e){var t=this;if(e&&this.column){var n=e.find(function(e){return e.prop===t.column.prop});if(n)return n.dir}},e.prototype.onSort=function(){if(this.column.sortable){var e=a.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:e})}},o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"column",void 0),o([i.Input(),r("design:type",String)],e.prototype,"sortAscendingIcon",void 0),o([i.Input(),r("design:type",String)],e.prototype,"sortDescendingIcon",void 0),o([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],e.prototype,"headerHeight",void 0),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"sorts",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.HostBinding("class"),r("design:type",Object)],e.prototype,"columnCssClasses",null),o([i.HostBinding("attr.title"),r("design:type",String)],e.prototype,"name",null),o([i.HostBinding("style.minWidth.px"),r("design:type",Number)],e.prototype,"minWidth",null),o([i.HostBinding("style.maxWidth.px"),r("design:type",Number)],e.prototype,"maxWidth",null),o([i.HostBinding("style.width.px"),r("design:type",Number)],e.prototype,"width",null),e=o([i.Component({selector:"datatable-header-cell",template:'\n
    \n \n \n \n \n \n \n
    \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[])],e)}();t.DataTableHeaderCellComponent=c},"./src/components/header/header.component.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/types/index.ts"),a=n("./src/utils/index.ts"),c=function(){function e(e,t){this.sort=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,t.setElementClass(e.nativeElement,"datatable-header",!0)}return Object.defineProperty(e.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(e){"auto"!==e?this._headerHeight=e+"px":this._headerHeight=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e;var t=a.columnsByPin(e);this.columnsByPin=a.columnsByPinArr(e),this.columnGroupWidths=a.columnGroupWidths(t,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),e.prototype.onColumnResized=function(e,t){e<=t.minWidth?e=t.minWidth:e>=t.maxWidth&&(e=t.maxWidth),this.resize.emit({column:t,prevValue:t.width,newValue:e})},e.prototype.onColumnReordered=function(e){var t=e.prevIndex,n=e.newIndex,o=e.model;this.reorder.emit({column:o,prevValue:t,newValue:n})},e.prototype.onSort=function(e){var t=e.column,n=e.prevValue,o=e.newValue,r=this.calcNewSorts(t,n,o);this.sort.emit({sorts:r,column:t,prevValue:n,newValue:o})},e.prototype.calcNewSorts=function(e,t,n){var o=0,r=this.sorts.map(function(t,n){return t=Object.assign({},t),t.prop===e.prop&&(o=n),t});return void 0===n?r.splice(o,1):t?r[o].dir=n:(this.sortType===s.SortType.single&&r.splice(0,this.sorts.length),r.push({dir:n,prop:e.prop})),r},e.prototype.stylesByGroup=function(e){var t=this.columnGroupWidths,n=this.offsetX,o={width:t[e]+"px"};if("center"===e)a.translateXY(o,n*-1,0);else if("right"===e){var r=t.total-this.innerWidth,i=r*-1;a.translateXY(o,i,0)}return o},o([i.Input(),r("design:type",Object)],e.prototype,"sortAscendingIcon",void 0),o([i.Input(),r("design:type",Object)],e.prototype,"sortDescendingIcon",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"scrollbarH",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"innerWidth",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"offsetX",void 0),o([i.Input(),r("design:type",Array)],e.prototype,"sorts",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"sortType",void 0),o([i.HostBinding("style.height"),i.Input(),r("design:type",Object),r("design:paramtypes",[Object])],e.prototype,"headerHeight",null),o([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],e.prototype,"columns",null),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"sort",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"reorder",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.HostBinding("style.width"),r("design:type",String)],e.prototype,"headerWidth",null),e=o([i.Component({selector:"datatable-header",template:'\n \n \n \n \n \n \n ',changeDetection:i.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[i.ElementRef,i.Renderer])],e)}();t.DataTableHeaderComponent=c},"./src/components/header/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/header/header.component.ts")),o(n("./src/components/header/header-cell.component.ts"))},"./src/components/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/components/datatable.component.ts")),o(n("./src/components/column.directive.ts")),o(n("./src/components/row-detail.directive.ts")),o(n("./src/components/header/index.ts")),o(n("./src/components/body/index.ts")),o(n("./src/components/footer/index.ts"))},"./src/components/row-detail.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){}return Object.defineProperty(e.prototype,"rowDetailTemplate",{get:function(){return this.template},enumerable:!0,configurable:!0}),o([i.ContentChild(i.TemplateRef),r("design:type",i.TemplateRef)],e.prototype,"template",void 0),e=o([i.Directive({selector:"datatable-row-detail-template"}),r("design:paramtypes",[])],e)}();t.DatatableRowDetailDirective=s},"./src/datatable.module.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(2),a=n("./src/components/index.ts"),c=n("./src/directives/index.ts"),l=function(){function e(){}return e=o([i.NgModule({imports:[s.CommonModule],declarations:[c.VisibilityDirective,c.DraggableDirective,c.ResizeableDirective,c.OrderableDirective,c.LongPressDirective,a.ScrollerComponent,a.DatatableComponent,a.DataTableColumnDirective,a.DataTableHeaderComponent,a.DataTableHeaderCellComponent,a.DataTableBodyComponent,a.DataTableFooterComponent,a.DataTablePagerComponent,a.ProgressBarComponent,a.DataTableBodyRowComponent,a.DataTableRowWrapperComponent,a.DatatableRowDetailDirective,a.DataTableBodyCellComponent,a.DataTableSelectionComponent],exports:[a.DatatableComponent,a.DatatableRowDetailDirective,a.DataTableColumnDirective]}),r("design:paramtypes",[])],e)}();t.Angular2DataTableModule=l},"./src/directives/draggable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(1),a=function(){function e(e){this.dragX=!0,this.dragY=!0,this.dragStart=new i.EventEmitter,this.dragging=new i.EventEmitter,this.dragEnd=new i.EventEmitter,this.isDragging=!1,this.element=e.nativeElement}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(e){this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this.subscription.unsubscribe(),this.dragEnd.emit({event:e,element:this.element,model:this.dragModel}))},e.prototype.onMousedown=function(e){var t=this;if(e.target.classList.contains("draggable")){e.preventDefault(),this.isDragging=!0;var n={x:e.clientX,y:e.clientY};this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,n)}),this.dragStart.emit({event:e,element:this.element,model:this.dragModel})}},e.prototype.move=function(e,t){if(this.dragging){var n=e.clientX-t.x,o=e.clientY-t.y;this.dragX&&(this.element.style.left=n+"px"),this.dragY&&(this.element.style.top=o+"px"),(this.dragX||this.dragY)&&(this.element.classList.add("dragging"),this.dragging.emit({event:e,element:this.element,model:this.dragModel}))}},o([i.Input(),r("design:type",Object)],e.prototype,"dragModel",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"dragX",void 0),o([i.Input(),r("design:type",Boolean)],e.prototype,"dragY",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragStart",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragging",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"dragEnd",void 0),o([i.HostListener("document:mouseup",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMouseup",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([i.Directive({selector:"[draggable]"}),r("design:paramtypes",[i.ElementRef])],e)}();t.DraggableDirective=a},"./src/directives/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/directives/draggable.directive.ts")),o(n("./src/directives/long-press.directive.ts")),o(n("./src/directives/orderable.directive.ts")),o(n("./src/directives/resizeable.directive.ts")),o(n("./src/directives/visibility.directive.ts"))},"./src/directives/long-press.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=function(){function e(){this.duration=500,this.longPress=new i.EventEmitter,this.longPressing=new i.EventEmitter,this.longPressEnd=new i.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(e.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isLongPress",{get:function(){return this.longPressing; +},enumerable:!0,configurable:!0}),e.prototype.onMouseDown=function(e){var t=this;1===e.which&&(this.mouseX=e.clientX,this.mouseY=e.clientY,this.pressing=!0,this.isLongPressing=!1,this.timeout=setTimeout(function(){t.isLongPressing=!0,t.longPress.emit(e),t.loop(e)},this.duration),this.loop(e))},e.prototype.onMouseMove=function(e){if(this.pressing&&!this.longPressing){var t=e.clientX-this.mouseX>10,n=e.clientY-this.mouseY>10;(t||n)&&this.endPress()}},e.prototype.loop=function(e){var t=this;this.longPressing&&(this.timeout=setTimeout(function(){t.longPressing.emit(e),t.loop(e)},50))},e.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this.longPressEnd.emit(!0)},e.prototype.onMouseUp=function(){this.endPress()},o([i.Input(),r("design:type",Number)],e.prototype,"duration",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPress",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPressing",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"longPressEnd",void 0),o([i.HostBinding("class.press"),r("design:type",Object)],e.prototype,"press",null),o([i.HostBinding("class.longpress"),r("design:type",Object)],e.prototype,"isLongPress",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMouseDown",null),o([i.HostListener("mousemove",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMouseMove",null),o([i.HostListener("mouseup"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onMouseUp",null),e=o([i.Directive({selector:"[long-press]"}),r("design:paramtypes",[])],e)}();t.LongPressDirective=s},"./src/directives/orderable.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/directives/draggable.directive.ts"),a=function(){function e(e){this.reorder=new i.EventEmitter,this.differ=e.find({}).create(null)}return e.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},e.prototype.ngOnDestroy=function(){this.draggables.forEach(function(e){e.dragStart.unsubscribe(),e.dragEnd.unsubscribe()})},e.prototype.updateSubscriptions=function(){var e=this,t=this.differ.diff(this.draggables.toArray());if(t){var n=function(t){var n=t.currentValue,r=t.previousValue;o({previousValue:r}),n&&(n.dragStart.subscribe(e.onDragStart.bind(e)),n.dragEnd.subscribe(e.onDragEnd.bind(e)))},o=function(e){var t=e.previousValue;t&&(t.dragStart.unsubscribe(),t.dragEnd.unsubscribe())};t.forEachAddedItem(n.bind(this)),t.forEachChangedItem(n.bind(this)),t.forEachRemovedItem(o.bind(this))}},e.prototype.onDragStart=function(){this.positions={};for(var e=0,t=0,n=this.draggables.toArray();ta.left,l=o>a.left&&r.left=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n(1),a=function(){function e(e){if(this.resizeEnabled=!0,this.resize=new i.EventEmitter,this.resizing=!1,this.element=e.nativeElement,this.resizeEnabled){var t=document.createElement("span");t.classList.add("resize-handle"),this.element.appendChild(t)}}return e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this.subscription.unsubscribe(),this.resize.emit(this.element.clientWidth))},e.prototype.onMousedown=function(e){var t=this,n=e.target.classList.contains("resize-handle"),o=this.element.clientWidth,r=e.screenX;n&&(e.stopPropagation(),this.resizing=!0,this.subscription=s.Observable.fromEvent(document,"mousemove").subscribe(function(e){return t.move(e,o,r)}))},e.prototype.move=function(e,t,n){var o=e.screenX-n,r=t+o,i=!this.minWidth||r>=this.minWidth,s=!this.maxWidth||r<=this.maxWidth;i&&s&&(this.element.style.width=r+"px")},o([i.Input(),r("design:type",Boolean)],e.prototype,"resizeEnabled",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"minWidth",void 0),o([i.Input(),r("design:type",Number)],e.prototype,"maxWidth",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"resize",void 0),o([i.HostListener("document:mouseup",["$event"]),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],e.prototype,"onMouseup",null),o([i.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],e.prototype,"onMousedown",null),e=o([i.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}}),r("design:paramtypes",[i.ElementRef])],e)}();t.ResizeableDirective=a},"./src/directives/visibility.directive.ts":function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var r,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(i<3?r(s):i>3?r(t,n,s):r(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s},r=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=n(0),s=n("./src/utils/index.ts"),a=function(){function e(e,t){this.isVisible=!1,this.visible=new i.EventEmitter,s.checkVisibility(e.nativeElement,this.visbilityChange.bind(this),t)}return e.prototype.visbilityChange=function(){var e=this;setTimeout(function(){e.isVisible=!0,e.visible.emit(!0)})},o([i.HostBinding("class.visible"),r("design:type",Boolean)],e.prototype,"isVisible",void 0),o([i.Output(),r("design:type",i.EventEmitter)],e.prototype,"visible",void 0),e=o([i.Directive({selector:"[visibility-observer]"}),r("design:paramtypes",[i.ElementRef,i.NgZone])],e)}();t.VisibilityDirective=a},"./src/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/datatable.module.ts")),o(n("./src/types/index.ts")),o(n("./src/components/index.ts"))},"./src/types/click.type.ts":function(e,t){"use strict";!function(e){e[e.single="single"]="single",e[e.double="double"]="double"}(t.ClickType||(t.ClickType={}));t.ClickType},"./src/types/column-mode.type.ts":function(e,t){"use strict";!function(e){e[e.standard="standard"]="standard",e[e.flex="flex"]="flex",e[e.force="force"]="force"}(t.ColumnMode||(t.ColumnMode={}));t.ColumnMode},"./src/types/index.ts":function(e,t,n){"use strict";function o(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}o(n("./src/types/column-mode.type.ts")),o(n("./src/types/sort.type.ts")),o(n("./src/types/sort-direction.type.ts")),o(n("./src/types/selection.type.ts")),o(n("./src/types/click.type.ts"))},"./src/types/selection.type.ts":function(e,t){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi",e[e.multiShift="multiShift"]="multiShift",e[e.cell="cell"]="cell"}(t.SelectionType||(t.SelectionType={}));t.SelectionType},"./src/types/sort-direction.type.ts":function(e,t){"use strict";!function(e){e[e.asc="asc"]="asc",e[e.desc="desc"]="desc"}(t.SortDirection||(t.SortDirection={}));t.SortDirection},"./src/types/sort.type.ts":function(e,t){"use strict";!function(e){e[e.single="single"]="single",e[e.multi="multi"]="multi"}(t.SortType||(t.SortType={}));t.SortType},"./src/utils/camel-case.ts":function(e,t){"use strict";function n(e){return e=e.replace(/[^a-zA-Z0-9 ]/g," "),e=e.replace(/([a-z](?=[A-Z]))/g,"$1 "),e=e.replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase(),e=e.replace(/([ 0-9]+)([a-zA-Z])/g,function(e,t,n){return t.trim()+n.toUpperCase()})}function o(e){return e.replace(/([A-Z])/g,function(e){return" "+e}).replace(/^./,function(e){return e.toUpperCase()})}t.camelCase=n,t.deCamelCase=o},"./src/utils/column-helper.ts":function(e,t,n){"use strict";function o(e){if(e)for(var t=0,n=e;t-1?e.slice(n,e.length).filter(function(e){return e.canAutoResize!==!1}):e.filter(function(e){return e.canAutoResize!==!1}),i=0,s=r;i=t;for(var g=0,y=r;gl.maxWidth?(l.width=l.maxWidth,f.push(l)):l.width=m}}d=c(e),h=t-d,a(r,f)}while(h>0&&0!==r.length)}function a(e,t){for(var n=0,o=t;n=0;)t+=this.treeArray[e],e=(e&e+1)-1;return t},e.prototype.queryBetween=function(e,t){return this.query(t)-this.query(e-1)},e.prototype.calcRowIndex=function(e){if(!this.treeArray.length)return 0;for(var t=-1,n=this.treeArray.length,o=Math.pow(2,n.toString(2).length-1),r=o;0!==r;r>>=1){var i=t+r;i=this.treeArray[i]&&(e-=this.treeArray[i],t=i)}return t+1},e}();t.RowHeightCache=n},"./src/utils/scrollbar-width.ts":function(e,t){"use strict";function n(){var e=document.createElement("div");e.style.visibility="hidden",e.style.width="100px",e.style.msOverflowStyle="scrollbar",document.body.appendChild(e);var t=e.offsetWidth;e.style.overflow="scroll";var n=document.createElement("div");n.style.width="100%",e.appendChild(n);var o=n.offsetWidth;return e.parentNode.removeChild(e),t-o}t.getScrollBarWidth=n,t.scrollbarWidth=n()},"./src/utils/selection.ts":function(e,t){"use strict";function n(e,t,n){var o=n(t,e);return o>-1?e.splice(o,1):e.push(t),e}function o(e,t,n,o,r){for(var i=n=o&&s<=n,p=s<=o&&s>=n,u={start:0,end:0};if(u=i?{start:n,end:o-n}:{start:o,end:n+1},i&&p||!i&&l){var d=r(c,e);if(i&&d>-1){e.splice(d,1);continue}s>=u.start&&st.toLowerCase())return 1}else{if(parseFloat(e)parseFloat(t))return 1}return 0}function i(e,t,n){if(!e||!n||!t)return e;var o=e.slice(),i=t.reduce(function(e,t){return t.comparator&&"function"==typeof t.comparator&&(e[t.prop]=t.comparator),e},{});return o.sort(function(e,t){for(var o=0,c=n;o} rows - * @param {Array} dirs - * @return {Array} results + * + * @export + * @param {any[]} rows + * @param {any[]} columns + * @param {any[]} dirs + * @returns */ -export declare function sortRows(rows: Array, dirs: any[]): any[]; +export declare function sortRows(rows: any[], columns: any[], dirs: any[]): any[]; diff --git a/release/utils/sort.js b/release/utils/sort.js index b4d36b764..9de129a42 100644 --- a/release/utils/sort.js +++ b/release/utils/sort.js @@ -75,13 +75,14 @@ exports.orderByComparator = orderByComparator; function sortRows(rows, columns, dirs) { if (!rows || !dirs || !columns) return rows; + var temp = rows.slice(); var cols = columns.reduce(function (obj, col) { if (col.comparator && typeof col.comparator === 'function') { obj[col.prop] = col.comparator; } return obj; }, {}); - return rows.slice().sort(function (a, b) { + return temp.sort(function (a, b) { for (var _i = 0, dirs_1 = dirs; _i < dirs_1.length; _i++) { var _a = dirs_1[_i], prop = _a.prop, dir = _a.dir; var propA = deep_getter_1.deepValueGetter(a, prop); diff --git a/release/utils/sort.js.map b/release/utils/sort.js.map index 258ca9bd6..1384f6b05 100644 --- a/release/utils/sort.js.map +++ b/release/utils/sort.js.map @@ -1 +1 @@ -{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/utils/sort.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/utils/sort.ts"],"names":[],"mappings":"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"} \ No newline at end of file