From 910eeb6af1e01995d8c8a9a8c4c82aebf92f5d04 Mon Sep 17 00:00:00 2001 From: Alberto Date: Wed, 29 Mar 2017 17:11:39 +0100 Subject: [PATCH] Version 9.0.0 --- bower.json | 2 +- lib/agGridAurelia.d.ts | 4 +++- lib/agGridAurelia.js | 11 +++++++++- lib/agGridColumn.d.ts | 2 +- lib/agGridColumn.js | 6 ++++-- lib/agTemplate.d.ts | 6 +++++- lib/agTemplate.js | 16 +++++++++++++- lib/agUtils.d.ts | 2 +- lib/agUtils.js | 2 +- lib/aureliaCellRendererComponent.d.ts | 2 +- lib/aureliaCellRendererComponent.js | 2 +- lib/aureliaComponentFactory.d.ts | 6 ++++-- lib/aureliaComponentFactory.js | 30 ++++++++++++++++++++++----- lib/aureliaFrameworkFactory.d.ts | 2 +- lib/aureliaFrameworkFactory.js | 13 ++++++++++-- lib/editorViewModels.d.ts | 2 +- lib/editorViewModels.js | 2 +- package.json | 4 ++-- 18 files changed, 88 insertions(+), 26 deletions(-) diff --git a/bower.json b/bower.json index bc5650c..80194e2 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ag-grid-aurelia", - "version": "8.2.0", + "version": "9.0.0", "homepage": "http://www.ag-grid.com/", "authors": [ "Niall Crosby " diff --git a/lib/agGridAurelia.d.ts b/lib/agGridAurelia.d.ts index c120fb3..ada2b94 100644 --- a/lib/agGridAurelia.d.ts +++ b/lib/agGridAurelia.d.ts @@ -1,8 +1,9 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 import { ComponentAttached, ComponentDetached, Container, ViewResources, TaskQueue } from "aurelia-framework"; import { GridOptions, GridApi, ColumnApi } from "ag-grid/main"; import { AureliaFrameworkFactory } from "./aureliaFrameworkFactory"; import { AgGridColumn } from "./agGridColumn"; +import { AgFullWidthRowTemplate } from './agTemplate'; export declare class AgGridAurelia implements ComponentAttached, ComponentDetached { private taskQueue; private auFrameworkFactory; @@ -17,6 +18,7 @@ export declare class AgGridAurelia implements ComponentAttached, ComponentDetach api: GridApi; columnApi: ColumnApi; columns: AgGridColumn[]; + fullWidthRowTemplate: AgFullWidthRowTemplate; constructor(element: Element, taskQueue: TaskQueue, auFrameworkFactory: AureliaFrameworkFactory, container: Container, viewResources: ViewResources); attached(): void; initGrid(): void; diff --git a/lib/agGridAurelia.js b/lib/agGridAurelia.js index 589be80..15584ae 100644 --- a/lib/agGridAurelia.js +++ b/lib/agGridAurelia.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "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; @@ -14,6 +14,7 @@ var aurelia_framework_1 = require("aurelia-framework"); var main_1 = require("ag-grid/main"); var aureliaFrameworkFactory_1 = require("./aureliaFrameworkFactory"); var agUtils_1 = require("./agUtils"); +var agTemplate_1 = require("./agTemplate"); var AgGridAurelia = (function () { function AgGridAurelia(element, taskQueue, auFrameworkFactory, container, viewResources) { var _this = this; @@ -55,6 +56,10 @@ var AgGridAurelia = (function () { return column.toColDef(); }); } + if (this.fullWidthRowTemplate) { + this.gridOptions.fullWidthCellRendererFramework = + { template: this.fullWidthRowTemplate.template }; + } new main_1.Grid(this._nativeElement, this.gridOptions, this.gridParams); this.api = this.gridOptions.api; this.columnApi = this.gridOptions.columnApi; @@ -107,6 +112,10 @@ __decorate([ aurelia_framework_1.children('ag-grid-column'), __metadata("design:type", Array) ], AgGridAurelia.prototype, "columns", void 0); +__decorate([ + aurelia_framework_1.child('ag-full-width-row-template'), + __metadata("design:type", agTemplate_1.AgFullWidthRowTemplate) +], AgGridAurelia.prototype, "fullWidthRowTemplate", void 0); AgGridAurelia = __decorate([ aurelia_framework_1.customElement('ag-grid-aurelia'), agUtils_1.generateBindables(main_1.ComponentUtil.ALL_PROPERTIES.filter(function (property) { return property !== 'gridOptions'; })), diff --git a/lib/agGridColumn.d.ts b/lib/agGridColumn.d.ts index 520821e..50e8d5f 100644 --- a/lib/agGridColumn.d.ts +++ b/lib/agGridColumn.d.ts @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 import { ColDef } from "ag-grid/main"; import { AgCellTemplate, AgEditorTemplate, AgFilterTemplate } from "./agTemplate"; export declare class AgGridColumn { diff --git a/lib/agGridColumn.js b/lib/agGridColumn.js index 904f286..5e85ddb 100644 --- a/lib/agGridColumn.js +++ b/lib/agGridColumn.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "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; @@ -30,7 +30,9 @@ var AgGridColumn = AgGridColumn_1 = (function () { delete colDef.cellTemplate; } if (this.editorTemplate) { - colDef.editable = true; + if (colDef.editable === undefined) { + colDef.editable = true; + } colDef.cellEditorFramework = { template: this.editorTemplate.template }; delete colDef.editorTemplate; } diff --git a/lib/agTemplate.d.ts b/lib/agTemplate.d.ts index 8d8853a..1141da0 100644 --- a/lib/agTemplate.d.ts +++ b/lib/agTemplate.d.ts @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 import { TargetInstruction } from "aurelia-framework"; export declare class AgCellTemplate { template: string; @@ -12,3 +12,7 @@ export declare class AgFilterTemplate { template: string; constructor(targetInstruction: TargetInstruction); } +export declare class AgFullWidthRowTemplate { + template: string; + constructor(targetInstruction: TargetInstruction); +} diff --git a/lib/agTemplate.js b/lib/agTemplate.js index 1ac02f4..8b5e558 100644 --- a/lib/agTemplate.js +++ b/lib/agTemplate.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "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; @@ -72,3 +72,17 @@ AgFilterTemplate = __decorate([ __metadata("design:paramtypes", [aurelia_framework_1.TargetInstruction]) ], AgFilterTemplate); exports.AgFilterTemplate = AgFilterTemplate; +var AgFullWidthRowTemplate = (function () { + function AgFullWidthRowTemplate(targetInstruction) { + this.template = getTemplate(targetInstruction); + } + return AgFullWidthRowTemplate; +}()); +AgFullWidthRowTemplate = __decorate([ + aurelia_framework_1.customElement('ag-full-width-row-template'), + aurelia_framework_1.noView(), + aurelia_framework_1.autoinject(), + aurelia_framework_1.processContent(parseElement), + __metadata("design:paramtypes", [aurelia_framework_1.TargetInstruction]) +], AgFullWidthRowTemplate); +exports.AgFullWidthRowTemplate = AgFullWidthRowTemplate; diff --git a/lib/agUtils.d.ts b/lib/agUtils.d.ts index b08a7eb..631dd2a 100644 --- a/lib/agUtils.d.ts +++ b/lib/agUtils.d.ts @@ -1,2 +1,2 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 export declare function generateBindables(names: string[], bindingModeToUse?: any): any; diff --git a/lib/agUtils.js b/lib/agUtils.js index 0475bab..51fc9bd 100644 --- a/lib/agUtils.js +++ b/lib/agUtils.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var aurelia_framework_1 = require("aurelia-framework"); diff --git a/lib/aureliaCellRendererComponent.d.ts b/lib/aureliaCellRendererComponent.d.ts index fb4b9f4..ad7e5b7 100644 --- a/lib/aureliaCellRendererComponent.d.ts +++ b/lib/aureliaCellRendererComponent.d.ts @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 import { ICellRenderer } from 'ag-grid/main'; export declare class AureliaCellRendererComponent implements ICellRenderer { private view; diff --git a/lib/aureliaCellRendererComponent.js b/lib/aureliaCellRendererComponent.js index f26bd99..780b921 100644 --- a/lib/aureliaCellRendererComponent.js +++ b/lib/aureliaCellRendererComponent.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AureliaCellRendererComponent = (function () { diff --git a/lib/aureliaComponentFactory.d.ts b/lib/aureliaComponentFactory.d.ts index 4b6c5e9..9ef649b 100644 --- a/lib/aureliaComponentFactory.d.ts +++ b/lib/aureliaComponentFactory.d.ts @@ -1,7 +1,9 @@ -// ag-grid-aurelia v8.2.0 -import { Container, ViewFactory } from "aurelia-framework"; +// ag-grid-aurelia v9.0.0 +import { Container, ViewFactory, TaskQueue } from "aurelia-framework"; import { ICellRendererComp, ICellEditorComp } from "ag-grid/main"; export declare class AureliaComponentFactory { + private taskQueue; + constructor(taskQueue: TaskQueue); createRendererFromTemplate(container: Container, viewFactory: ViewFactory): { new (): ICellRendererComp; }; diff --git a/lib/aureliaComponentFactory.js b/lib/aureliaComponentFactory.js index 3a41266..743ae77 100644 --- a/lib/aureliaComponentFactory.js +++ b/lib/aureliaComponentFactory.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "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; @@ -6,19 +6,38 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; Object.defineProperty(exports, "__esModule", { value: true }); var aurelia_framework_1 = require("aurelia-framework"); var AureliaComponentFactory = (function () { - function AureliaComponentFactory() { + function AureliaComponentFactory(taskQueue) { + this.taskQueue = taskQueue; } AureliaComponentFactory.prototype.createRendererFromTemplate = function (container, viewFactory) { + var componentFactory = this; var CellRendererComponent = (function () { function CellRendererComponent() { } CellRendererComponent.prototype.init = function (params) { + var _this = this; var bindingContext = { params: params }; this.view = viewFactory.create(container); - this.view.bind(bindingContext); + var controllers = this.view.controllers; + //initialize each controller + if (controllers && controllers.length) { + controllers.forEach(function (c) { + c.viewModel.params = params; + }); + this.view.bind(bindingContext); + //ICellRenderer doesn't have a guiAttached method so + //we call attach on the queue; + componentFactory.taskQueue.queueMicroTask(function () { return _this.view.attached(); }); + } + else { + this.view.bind(bindingContext); + } }; CellRendererComponent.prototype.getGui = function () { return this.view.fragment; @@ -37,7 +56,6 @@ var AureliaComponentFactory = (function () { CellEditor.prototype.init = function (params) { var bindingContext = { params: params }; this.view = viewFactory.create(container); - this.view.bind(bindingContext); var controllers = this.view.controllers; //only one controller is allowed in editor template if (controllers && @@ -51,6 +69,7 @@ var AureliaComponentFactory = (function () { else { console.error('The editor template component is missing an IEditorViewModel or it contains more than one component'); } + this.view.bind(bindingContext); }; CellEditor.prototype.afterGuiAttached = function () { this.view.attached(); @@ -97,6 +116,7 @@ var AureliaComponentFactory = (function () { }()); AureliaComponentFactory = __decorate([ aurelia_framework_1.autoinject(), - aurelia_framework_1.transient() + aurelia_framework_1.transient(), + __metadata("design:paramtypes", [aurelia_framework_1.TaskQueue]) ], AureliaComponentFactory); exports.AureliaComponentFactory = AureliaComponentFactory; diff --git a/lib/aureliaFrameworkFactory.d.ts b/lib/aureliaFrameworkFactory.d.ts index 933edcf..7ef8e43 100644 --- a/lib/aureliaFrameworkFactory.d.ts +++ b/lib/aureliaFrameworkFactory.d.ts @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 import { Container, ViewResources, ViewCompiler } from "aurelia-framework"; import { IFrameworkFactory, IFilterComp, ICellRendererFunc, ColDef, GridOptions, ICellRendererComp, ICellEditorComp } from "ag-grid/main"; import { AureliaComponentFactory } from "./aureliaComponentFactory"; diff --git a/lib/aureliaFrameworkFactory.js b/lib/aureliaFrameworkFactory.js index c4dce38..2dd2b71 100644 --- a/lib/aureliaFrameworkFactory.js +++ b/lib/aureliaFrameworkFactory.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "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; @@ -46,7 +46,16 @@ var AureliaFrameworkFactory = (function () { } }; AureliaFrameworkFactory.prototype.gridOptionsFullWidthCellRenderer = function (gridOptions) { - return this._baseFrameworkFactory.gridOptionsFullWidthCellRenderer(gridOptions); + if (gridOptions.fullWidthCellRendererFramework) { + if (!gridOptions.fullWidthCellRendererFramework.$viewFactory) { + gridOptions.fullWidthCellRendererFramework.$viewFactory = + this._viewCompiler.compile(gridOptions.fullWidthCellRendererFramework.template, this._viewResources); + } + return this._componentFactory.createRendererFromTemplate(this._container, gridOptions.fullWidthCellRendererFramework.$viewFactory); + } + else { + return this._baseFrameworkFactory.gridOptionsFullWidthCellRenderer(gridOptions); + } }; AureliaFrameworkFactory.prototype.gridOptionsGroupRowRenderer = function (gridOptions) { return this._baseFrameworkFactory.gridOptionsGroupRowRenderer(gridOptions); diff --git a/lib/editorViewModels.d.ts b/lib/editorViewModels.d.ts index 00eccd3..348f120 100644 --- a/lib/editorViewModels.d.ts +++ b/lib/editorViewModels.d.ts @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 /** * Implements all the methods of ICellEditor except for Init */ diff --git a/lib/editorViewModels.js b/lib/editorViewModels.js index 6518cab..4f3cf34 100644 --- a/lib/editorViewModels.js +++ b/lib/editorViewModels.js @@ -1,4 +1,4 @@ -// ag-grid-aurelia v8.2.0 +// ag-grid-aurelia v9.0.0 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** diff --git a/package.json b/package.json index d0fadc5..fed980b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ag-grid-aurelia", - "version": "8.2.0", + "version": "9.0.0", "description": "ag-Grid Aurelia Component", "main": "./main.js", "typings": "./main.d.ts", @@ -36,7 +36,7 @@ }, "peerDependencies": { "aurelia-framework": "^1.0.0", - "ag-grid": "8.2.x" + "ag-grid": "9.0.x" }, "dependencies": {