From 433dd9204d94e902b1bc135e108c2fb8e2595a69 Mon Sep 17 00:00:00 2001 From: Jesse Sanders Date: Fri, 17 Mar 2017 07:14:08 -0600 Subject: [PATCH 1/4] fix(module): fix build process to produce a compatible module --- .gitignore | 7 +++++- package.json | 28 +++++++++++++-------- rollup.config.js | 19 ++++++++++++++ src/components/column.component.ts | 6 ++--- src/components/row.component.ts | 2 +- src/components/table.component.ts | 19 +++++++------- src/data-table.module.ts | 36 +++++++++++++++++++++++++++ src/index.ts | 40 +++++++----------------------- src/tools/data-table-resource.ts | 8 +++--- src/utils/hide.ts | 2 +- tsconfig.json | 37 ++++++++++++++++++--------- 11 files changed, 130 insertions(+), 74 deletions(-) create mode 100644 rollup.config.js create mode 100644 src/data-table.module.ts diff --git a/.gitignore b/.gitignore index ec314d5..11797e0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,9 @@ /.idea /typings npm-debug.log -/.vscode \ No newline at end of file +/.vscode +/src/**/*.js +/src/**/*.js.map +/src/**/*.json +/src/**/*.ngfactory.ts +/aot \ No newline at end of file diff --git a/package.json b/package.json index 0fc1bc4..a3e0670 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,11 @@ "data table", "pagination" ], - "main": "dist/index.js", - "typings": "dist/index.d.ts", "scripts": { - "build": "rm -rf dist/* && tsc", - "serve": "rm -rf dist/ && tsc -w", - "prepublish": "npm run build" + "transpile": "ngc", + "package": "rollup -c", + "minify": "uglifyjs dist/bundles/datatable.umd.js --screw-ie8 --compress --mangle --comments --output dist/bundles/datatable.umd.min.js", + "build": "npm run transpile && npm run package && npm run minify" }, "repository": { "type": "git", @@ -29,13 +28,20 @@ "author": "BrieBug Developers ", "license": "MIT", "devDependencies": { - "@angular/common": "^2.3.1", - "@angular/core": "^2.3.1", - "@angular/forms": "^2.3.1", + "@angular/common": "^2.4.0", + "@angular/compiler": "^2.4.9", + "@angular/compiler-cli": "^2.4.9", + "@angular/core": "^2.4.0", + "@angular/forms": "^2.4.0", + "@angular/platform-browser": "^2.4.0", + "@angular/platform-server": "^2.4.0", "cz-conventional-changelog": "1.2.0", - "rxjs": "^5.0.1", - "typescript": "~2.0.3", - "validate-commit-msg": "2.8.2" + "rollup": "^0.41.6", + "rxjs": "^5.1.0", + "typescript": "^2.0.10", + "uglify-js": "^2.8.12", + "validate-commit-msg": "2.8.2", + "zone.js": "^0.7.2" }, "config": { "ghooks": { diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..9ecd514 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,19 @@ +export default { + entry: 'dist/src/index.js', + dest: 'dist/bundles/datatable.umd.js', + sourceMap: false, + format: 'umd', + moduleName: 'ng.datatable', + globals: { + '@angular/core': 'ng.core', + '@angular/common': 'ng.common', + '@angular/forms': 'ng.forms', + 'rxjs/Observable': 'Rx', + 'rxjs/ReplaySubject': 'Rx', + 'rxjs/add/operator/map': 'Rx.Observable.prototype', + 'rxjs/add/operator/mergeMap': 'Rx.Observable.prototype', + 'rxjs/add/observable/fromEvent': 'Rx.Observable', + 'rxjs/add/observable/of': 'Rx.Observable' + }, + external: ['@angular/core', '@angular/common', '@angular/forms'] +} \ No newline at end of file diff --git a/src/components/column.component.ts b/src/components/column.component.ts index 0160c7d..aac4bcb 100644 --- a/src/components/column.component.ts +++ b/src/components/column.component.ts @@ -15,14 +15,14 @@ export class DataTableColumn implements OnInit { @Input() property: string; @Input() styleClass: string; @Input() cellColors: CellCallback; - @Input() customSort?: DataTableSortCallback; + @Input() customSort: DataTableSortCallback; // init and state: @Input() width: number | string; @Input() visible = true; - @ContentChild('dataTableCell') cellTemplate; - @ContentChild('dataTableHeader') headerTemplate; + @ContentChild('dataTableCell') cellTemplate: any; + @ContentChild('dataTableHeader') headerTemplate: any; getCellColor(row: DataTableRow, index: number) { if (this.cellColors !== undefined) { diff --git a/src/components/row.component.ts b/src/components/row.component.ts index 9551b0d..77668b7 100644 --- a/src/components/row.component.ts +++ b/src/components/row.component.ts @@ -51,7 +51,7 @@ export class DataTableRow implements OnDestroy { return ''; } - expandRow(event) { + expandRow(event: Event) { event.stopPropagation(); this.expanded = !this.expanded; this.expandRowChange.emit(); diff --git a/src/components/table.component.ts b/src/components/table.component.ts index b80c2fc..534d05f 100644 --- a/src/components/table.component.ts +++ b/src/components/table.component.ts @@ -67,7 +67,7 @@ export class DataTable implements DataTableParams, OnInit { private _sortBy: string; private _sortAsc = true; - private _customSort: DataTableSortCallback = null; + private _customSort: DataTableSortCallback; private _offset = 0; private _limit = 10; @@ -139,7 +139,7 @@ export class DataTable implements DataTableParams, OnInit { // setting multiple observable properties simultaneously - sort(sortBy: string, asc: boolean, customSort: DataTableSortCallback = null) { + sort(sortBy: string, asc: boolean, customSort: DataTableSortCallback) { this.sortBy = sortBy; this.sortAsc = asc; this.customSort = customSort; @@ -164,9 +164,9 @@ export class DataTable implements DataTableParams, OnInit { } private _initDefaultClickEvents() { - this.headerClick.subscribe(tableEvent => this.sortColumn(tableEvent.column)); + this.headerClick.subscribe((tableEvent: any) => this.sortColumn(tableEvent.column)); if (this.selectOnRowClick) { - this.rowClick.subscribe(tableEvent => tableEvent.row.selected = !tableEvent.row.selected); + this.rowClick.subscribe((tableEvent: any) => tableEvent.row.selected = !tableEvent.row.selected); } } @@ -208,7 +208,7 @@ export class DataTable implements DataTableParams, OnInit { }; } - _scheduledReload = null; + _scheduledReload: any = null; // for avoiding cascading reloads if multiple params are set at once: _triggerReload() { @@ -228,11 +228,11 @@ export class DataTable implements DataTableParams, OnInit { @Output() cellClick = new EventEmitter(); @Output() rowExpandChange = new EventEmitter(); - private rowClicked(row: DataTableRow, event) { + private rowClicked(row: DataTableRow, event: Event) { this.rowClick.emit({ row, event }); } - private rowDoubleClicked(row: DataTableRow, event) { + private rowDoubleClicked(row: DataTableRow, event: Event) { this.rowDoubleClick.emit({ row, event }); } @@ -310,7 +310,6 @@ export class DataTable implements DataTableParams, OnInit { } onRowSelectChanged(row: DataTableRow) { - // maintain the selectedRow(s) view if (this.multiSelect) { let index = this.selectedRows.indexOf(row); @@ -323,7 +322,7 @@ export class DataTable implements DataTableParams, OnInit { if (row.selected) { this.selectedRow = row; } else if (this.selectedRow === row) { - this.selectedRow = undefined; + this.selectedRow = row; } } @@ -337,7 +336,7 @@ export class DataTable implements DataTableParams, OnInit { } } - onRowExpandChanged(row) { + onRowExpandChanged(row: DataTableRow) { this.rowExpandChange.emit(row); } diff --git a/src/data-table.module.ts b/src/data-table.module.ts new file mode 100644 index 0000000..1c21d18 --- /dev/null +++ b/src/data-table.module.ts @@ -0,0 +1,36 @@ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {FormsModule} from '@angular/forms'; + +import {DataTable} from './components/table.component'; +import {DataTableColumn} from './components/column.component'; +import {DataTableRow} from './components/row.component'; +import {DataTablePagination} from './components/pagination.component'; +import {DataTableHeader} from './components/header.component'; + +import {PixelConverter} from './utils/px'; +import {Hide} from './utils/hide'; +import {MinPipe} from './utils/min'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule + ], + declarations: [ + DataTable, + DataTableColumn, + DataTableRow, + DataTablePagination, + DataTableHeader, + PixelConverter, + Hide, + MinPipe + ], + exports: [ + DataTable, + DataTableColumn + ] +}) +export class DataTableModule { +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index ac90400..63eae74 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,31 +1,9 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import { DataTable} from './components/table.component'; -import { DataTableColumn } from './components/column.component'; -import { DataTableRow } from './components/row.component'; -import { DataTablePagination } from './components/pagination.component'; -import { DataTableHeader } from './components/header.component'; - -import { PixelConverter } from './utils/px'; -import { Hide } from './utils/hide'; -import { MinPipe } from './utils/min'; - -export * from './components/types'; -export * from './tools/data-table-resource'; - -export { DataTable, DataTableColumn, DataTableRow, DataTablePagination, DataTableHeader }; -export const DATA_TABLE_DIRECTIVES = [ DataTable, DataTableColumn ]; - - -@NgModule({ - imports: [ CommonModule, FormsModule ], - declarations: [ - DataTable, DataTableColumn, - DataTableRow, DataTablePagination, DataTableHeader, - PixelConverter, Hide, MinPipe - ], - exports: [ DataTable, DataTableColumn ] -}) -export class DataTableModule { } \ No newline at end of file +export {DataTable} from './components/table.component'; +export {DataTableColumn} from './components/column.component'; +export {DataTableRow} from './components/row.component'; +export {DataTablePagination} from './components/pagination.component'; +export {DataTableHeader} from './components/header.component'; + +export {DataTableModule} from './data-table.module'; +export {DataTableParams, DataTableSortCallback, DataTableTranslations, defaultTranslations} from './components/types'; +export {DataTableResource} from './tools/data-table-resource'; diff --git a/src/tools/data-table-resource.ts b/src/tools/data-table-resource.ts index 222796d..fff2e84 100644 --- a/src/tools/data-table-resource.ts +++ b/src/tools/data-table-resource.ts @@ -16,11 +16,11 @@ export class DataTableResource { if (params.sortBy) { if (!params.customSort) { - result.sort((a, b) => { - if (typeof a[params.sortBy] === 'string') { - return a[params.sortBy].localeCompare(b[params.sortBy]); + result.sort((a: any, b: any) => { + if (typeof a[ params.sortBy] === 'string') { + return a[ params.sortBy].localeCompare(b[ params.sortBy]); } else { - return a[params.sortBy] - b[params.sortBy]; + return a[ params.sortBy] - b[ params.sortBy]; } }); } else { diff --git a/src/utils/hide.ts b/src/utils/hide.ts index 0c98ec8..caa01f1 100644 --- a/src/utils/hide.ts +++ b/src/utils/hide.ts @@ -8,7 +8,7 @@ function isBlank(obj: any): boolean { @Directive({ selector: '[hide]', inputs: ['hide'] }) export class Hide { - private _prevCondition: boolean = null; + private _prevCondition: boolean = false; private _displayStyle: string; constructor(private _elementRef: ElementRef, private _renderer: Renderer) { } diff --git a/tsconfig.json b/tsconfig.json index 3e401fd..90e6204 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,21 +1,34 @@ { "compilerOptions": { + "baseUrl": "src", "declaration": true, - "emitDecoratorMetadata": true, + "stripInternal": true, "experimentalDecorators": true, - "lib": ["es6", "dom"], - "module": "es6", + "strictNullChecks": true, + "noImplicitAny": true, + "module": "es2015", "moduleResolution": "node", - "outDir": "dist/", - "rootDir": "src/", + "paths": { + "@angular/core": ["node_modules/@angular/core"], + "@angular/common": ["node_modules/@angular/common"], + "@angular/forms": ["node_modules/@angular/forms"], + "rxjs/*": ["node_modules/rxjs/*"] + }, + "rootDir": ".", + "outDir": "dist", "sourceMap": true, + "inlineSources": true, "target": "es5", - "typeRoots": [ - "../node_modules/@types" + "skipLibCheck": true, + "lib": [ + "es2016", + "dom" ] }, - "exclude": [ - "dist", - "node_modules" - ] -} + "files": [ + "src/index.ts" + ], + "angularCompilerOptions": { + "strictMetadataEmit": true + } +} \ No newline at end of file From 777ba0edd662c9c0e40575c82ac48a923f8ddb41 Mon Sep 17 00:00:00 2001 From: Jesse Sanders Date: Mon, 20 Mar 2017 14:47:17 -0600 Subject: [PATCH 2/4] fix(npm): update build process to build umd component --- circle.yml | 1 + package.json | 3 ++- src/data-table.module.ts | 8 +++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index 146bb1c..a88a568 100644 --- a/circle.yml +++ b/circle.yml @@ -20,4 +20,5 @@ deployment: branch: master commands: - echo -e "$NPM_USERNAME\n$NPM_PASSWORD\n$NPM_EMAIL" | npm login + - cd dist - npm run publish2npm diff --git a/package.json b/package.json index a3e0670..5d93c65 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "transpile": "ngc", "package": "rollup -c", "minify": "uglifyjs dist/bundles/datatable.umd.js --screw-ie8 --compress --mangle --comments --output dist/bundles/datatable.umd.min.js", - "build": "npm run transpile && npm run package && npm run minify" + "build": "npm run transpile && npm run package && npm run minify", + "publish2npm": "publish" }, "repository": { "type": "git", diff --git a/src/data-table.module.ts b/src/data-table.module.ts index 1c21d18..bcfa164 100644 --- a/src/data-table.module.ts +++ b/src/data-table.module.ts @@ -29,7 +29,13 @@ import {MinPipe} from './utils/min'; ], exports: [ DataTable, - DataTableColumn + DataTableColumn, + DataTableRow, + DataTablePagination, + DataTableHeader, + PixelConverter, + Hide, + MinPipe ] }) export class DataTableModule { From 276fa90ec1f1bdf67b95d247dace27e73fa39523 Mon Sep 17 00:00:00 2001 From: Jesse Sanders Date: Mon, 20 Mar 2017 14:53:35 -0600 Subject: [PATCH 3/4] refactor(npm): add dist/package.json to git --- .gitignore | 3 ++- dist/package.json | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 dist/package.json diff --git a/.gitignore b/.gitignore index 11797e0..4e0b28d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -/dist +!*/dist/package.json +/dist/**/ /tmp /node_modules /.idea diff --git a/dist/package.json b/dist/package.json new file mode 100644 index 0000000..1f5d620 --- /dev/null +++ b/dist/package.json @@ -0,0 +1,37 @@ +{ + "name": "angular-datatable", + "version": "2.2.0", + "description": "An Angular 2 datatable, with pagination, sorting, expandable rows etc.", + "main": "bundles/datatable.umd.js", + "module": "src/index.js", + "typings": "src/index.d.ts", + "keywords": [ + "angular", + "angular2", + "Angular 2", + "ng2", + "ngx", + "datatable", + "data-table", + "data table", + "pagination" + ], + "author": "BrieBug Developers ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git://git@github.com/briebug/angular-datatable.git" + }, + "homepage": "https://github.com/briebug/angular-datatable", + "bugs": { + "url": "https://github.com/briebug/angular-datatable/issues" + }, + "peerDependencies": { + "@angular/core": "^2.4.0", + "@angular/common": "^2.4.0", + "@angular/forms": "^2.4.0", + "reflect-metadata": "^0.1.8", + "rxjs": "^5.0.1", + "zone.js": "^0.7.2" + } +} \ No newline at end of file From 3b847a91d9d5c9d266fa74c8d06a2957b4223619 Mon Sep 17 00:00:00 2001 From: Jesse Sanders Date: Wed, 22 Mar 2017 09:29:56 -0600 Subject: [PATCH 4/4] refactor(module): modify build method to produce an angular 2.4 compatible module --- .gitignore | 9 +++---- .npmignore | 11 +------- circle.yml | 2 +- dist/package.json | 4 +-- index.ts | 6 +++++ package.json | 45 +++++++++++++++++-------------- rollup.config.js | 15 +++-------- src/components/table.component.ts | 32 +++++++++++----------- src/index.ts | 10 +------ tsconfig.json | 9 +++---- typings.json | 7 ----- 11 files changed, 63 insertions(+), 87 deletions(-) create mode 100644 index.ts delete mode 100644 typings.json diff --git a/.gitignore b/.gitignore index 4e0b28d..93a5ab4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,12 @@ -!*/dist/package.json -/dist/**/ +!dist/package.json +dist/* /tmp /node_modules /.idea /typings npm-debug.log /.vscode -/src/**/*.js -/src/**/*.js.map -/src/**/*.json +/src/**/*.js* /src/**/*.ngfactory.ts +**/*.ngsummary.json /aot \ No newline at end of file diff --git a/.npmignore b/.npmignore index 2ed39f1..e831038 100644 --- a/.npmignore +++ b/.npmignore @@ -1,10 +1 @@ - -/tmp -/node_modules -/.idea -/typings -npm-debug.log -tsconfig.json -typings.json -/.vscode -/.npmignore \ No newline at end of file +src \ No newline at end of file diff --git a/circle.yml b/circle.yml index a88a568..ab1ca8b 100644 --- a/circle.yml +++ b/circle.yml @@ -3,7 +3,7 @@ machine: timezone: America/Denver # Set the timezone node: - version: 6.2.2 + version: 6.9.4 ## Customize dependencies dependencies: diff --git a/dist/package.json b/dist/package.json index 1f5d620..3b0dead 100644 --- a/dist/package.json +++ b/dist/package.json @@ -3,8 +3,8 @@ "version": "2.2.0", "description": "An Angular 2 datatable, with pagination, sorting, expandable rows etc.", "main": "bundles/datatable.umd.js", - "module": "src/index.js", - "typings": "src/index.d.ts", + "module": "index.js", + "typings": "index.d.ts", "keywords": [ "angular", "angular2", diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..e0192f9 --- /dev/null +++ b/index.ts @@ -0,0 +1,6 @@ +/** + * @module + * @description + * Entry point for all public APIs of the Angular Module + */ +export * from './src/index'; diff --git a/package.json b/package.json index 5d93c65..f35bf53 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,9 @@ { "name": "angular-datatable", - "version": "2.2.0", + "version": "2.2.1", "description": "An Angular 2 datatable, with pagination, sorting, expandable rows etc.", + "main": "dist/bundles/angular-datatable.umd.js", + "module": "dist/index.js", "keywords": [ "angular", "angular2", @@ -13,37 +15,40 @@ "pagination" ], "scripts": { - "transpile": "ngc", - "package": "rollup -c", - "minify": "uglifyjs dist/bundles/datatable.umd.js --screw-ie8 --compress --mangle --comments --output dist/bundles/datatable.umd.min.js", - "build": "npm run transpile && npm run package && npm run minify", - "publish2npm": "publish" + "cleanup": "rimraf dist/bundles dist/src dist/index.d.ts dist/index.metadata.json dist/index.js dist/index.js.map dist/LICENSE dist/README.md", + "bundling": "rollup -c", + "minify": "uglifyjs dist/bundles/angular-datatable.umd.js --screw-ie8 --compress --mangle --comments --output dist/bundles/angular-datatable.umd.min.js", + "copy": "copyfiles LICENSE README.md dist", + "build": "npm run cleanup && ngc && npm run bundling && npm run minify && npm run copy", + "build-only": "npm run cleanup && ngc", + "publish-to-npm": "cd dist && npm publish", + "link": "cd dist && npm link && cd .." }, "repository": { "type": "git", "url": "git://git@github.com/briebugconsulting/angular-datatable.git" }, - "peerDependencies": { - "@angular/core": "^2.3.1" - }, "author": "BrieBug Developers ", "license": "MIT", - "devDependencies": { + "dependencies": { "@angular/common": "^2.4.0", - "@angular/compiler": "^2.4.9", - "@angular/compiler-cli": "^2.4.9", "@angular/core": "^2.4.0", "@angular/forms": "^2.4.0", - "@angular/platform-browser": "^2.4.0", - "@angular/platform-server": "^2.4.0", - "cz-conventional-changelog": "1.2.0", - "rollup": "^0.41.6", - "rxjs": "^5.1.0", - "typescript": "^2.0.10", - "uglify-js": "^2.8.12", - "validate-commit-msg": "2.8.2", + "reflect-metadata": "^0.1.8", + "rxjs": "^5.0.3", "zone.js": "^0.7.2" }, + "devDependencies": { + "@angular/compiler": "^2.4.0", + "@angular/compiler-cli": "^2.4.0", + "copyfiles": "^1.2.0", + "cz-conventional-changelog": "1.2.0", + "rimraf": "^2.6.1", + "rollup": "^0.37.0", + "typescript": "~2.0.10", + "uglify-js": "^2.7.5", + "validate-commit-msg": "2.8.2" + }, "config": { "ghooks": { "commit-msg": "validate-commit-msg" diff --git a/rollup.config.js b/rollup.config.js index 9ecd514..114ebe6 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,19 +1,12 @@ export default { - entry: 'dist/src/index.js', - dest: 'dist/bundles/datatable.umd.js', + entry: 'dist/index.js', + dest: 'dist/bundles/angular-datatable.umd.js', sourceMap: false, format: 'umd', moduleName: 'ng.datatable', globals: { '@angular/core': 'ng.core', '@angular/common': 'ng.common', - '@angular/forms': 'ng.forms', - 'rxjs/Observable': 'Rx', - 'rxjs/ReplaySubject': 'Rx', - 'rxjs/add/operator/map': 'Rx.Observable.prototype', - 'rxjs/add/operator/mergeMap': 'Rx.Observable.prototype', - 'rxjs/add/observable/fromEvent': 'Rx.Observable', - 'rxjs/add/observable/of': 'Rx.Observable' - }, - external: ['@angular/core', '@angular/common', '@angular/forms'] + '@angular/forms': 'ng.forms' + } } \ No newline at end of file diff --git a/src/components/table.component.ts b/src/components/table.component.ts index 355b31e..3f7f00c 100644 --- a/src/components/table.component.ts +++ b/src/components/table.component.ts @@ -2,16 +2,15 @@ import { Component, Input, Output, EventEmitter, ContentChildren, QueryList, TemplateRef, ContentChild, ViewChildren, OnInit } from '@angular/core'; -import { DataTableColumn } from './column.component'; -import { DataTableRow } from './row.component'; -import {DataTableParams, DataTableSortCallback} from './types'; -import { RowCallback } from './types'; -import { DataTableTranslations, defaultTranslations } from './types'; -import { drag } from '../utils/drag'; -import { TABLE_TEMPLATE } from './table.template'; -import { TABLE_STYLE } from "./table.style"; - +import {DataTableColumn} from './column.component'; +import {DataTableRow} from './row.component'; +import {DataTableParams, DataTableSortCallback} from './types'; +import {RowCallback} from './types'; +import {DataTableTranslations, defaultTranslations} from './types'; +import {drag} from '../utils/drag'; +import {TABLE_TEMPLATE} from './table.template'; +import {TABLE_STYLE} from "./table.style"; @Component({ selector: 'data-table', @@ -224,7 +223,7 @@ export class DataTable implements DataTableParams, OnInit { // Download @Output() download = new EventEmitter(); - downloadItems(){ + downloadItems() { this.download.emit(this._getRemoteParameters()); } @@ -237,23 +236,23 @@ export class DataTable implements DataTableParams, OnInit { @Output() rowExpandChange = new EventEmitter(); private rowClicked(row: DataTableRow, event: Event) { - this.rowClick.emit({ row, event }); + this.rowClick.emit({row, event}); } private rowDoubleClicked(row: DataTableRow, event: Event) { - this.rowDoubleClick.emit({ row, event }); + this.rowDoubleClick.emit({row, event}); } private headerClicked(column: DataTableColumn, event: MouseEvent) { if (!this._resizeInProgress) { - this.headerClick.emit({ column, event }); + this.headerClick.emit({column, event}); } else { this._resizeInProgress = false; // this is because I can't prevent click from mousup of the drag end } } private cellClicked(column: DataTableColumn, row: DataTableRow, event: MouseEvent) { - this.cellClick.emit({ row, column, event }); + this.cellClick.emit({row, column, event}); } // functions: @@ -351,7 +350,7 @@ export class DataTable implements DataTableParams, OnInit { // other: get substituteItems() { - return Array.from({ length: this.displayParams.limit - this.items.length }); + return Array.from({length: this.displayParams.limit - this.items.length}); } // column resizing: @@ -377,8 +376,7 @@ export class DataTable implements DataTableParams, OnInit { Without the limits, resizing can make the next column disappear completely, and even increase the table width. The current implementation suffers from the fact, that offsetWidth sometimes contains out-of-date values. */ - if ((dx < 0 && (columnElement.offsetWidth + dx) <= this.resizeLimit) || - !columnElement.nextElementSibling || // resizing doesn't make sense for the last visible column + if ((dx < 0 && (columnElement.offsetWidth + dx) <= this.resizeLimit) || !columnElement.nextElementSibling || // resizing doesn't make sense for the last visible column (dx >= 0 && (( columnElement.nextElementSibling).offsetWidth + dx) <= this.resizeLimit)) { return false; } diff --git a/src/index.ts b/src/index.ts index 63eae74..c9e504e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,9 +1 @@ -export {DataTable} from './components/table.component'; -export {DataTableColumn} from './components/column.component'; -export {DataTableRow} from './components/row.component'; -export {DataTablePagination} from './components/pagination.component'; -export {DataTableHeader} from './components/header.component'; - -export {DataTableModule} from './data-table.module'; -export {DataTableParams, DataTableSortCallback, DataTableTranslations, defaultTranslations} from './components/types'; -export {DataTableResource} from './tools/data-table-resource'; +export {DataTableModule} from './data-table.module'; \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 90e6204..5db88eb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,18 +1,17 @@ { "compilerOptions": { - "baseUrl": "src", + "baseUrl": ".", "declaration": true, "stripInternal": true, "experimentalDecorators": true, - "strictNullChecks": true, + "strictNullChecks": false, "noImplicitAny": true, "module": "es2015", "moduleResolution": "node", "paths": { "@angular/core": ["node_modules/@angular/core"], "@angular/common": ["node_modules/@angular/common"], - "@angular/forms": ["node_modules/@angular/forms"], - "rxjs/*": ["node_modules/rxjs/*"] + "@angular/forms": ["node_modules/@angular/forms"] }, "rootDir": ".", "outDir": "dist", @@ -26,7 +25,7 @@ ] }, "files": [ - "src/index.ts" + "index.ts" ], "angularCompilerOptions": { "strictMetadataEmit": true diff --git a/typings.json b/typings.json deleted file mode 100644 index f670590..0000000 --- a/typings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-datatable", - "dependencies": {}, - "globalDevDependencies": { - "es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504" - } -}