Skip to content
This repository was archived by the owner on Mar 5, 2024. It is now read-only.

Commit 9cfab0a

Browse files
committed
Update to angular beta 16. Closes #72, I hope...
1 parent dae0d18 commit 9cfab0a

File tree

3 files changed

+50
-40
lines changed

3 files changed

+50
-40
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
"dist/NgGrid.*"
3737
],
3838
"peerDependencies": {
39-
"angular2": "^2.0.0-beta.09"
39+
"angular2": "^2.0.0-beta.15"
4040
},
4141
"devDependencies": {
42-
"angular2": "^2.0.0-beta.09",
42+
"angular2": "^2.0.0-beta.16",
4343
"del": "^1.2.1",
4444
"es6-promise": "^3.0.2",
4545
"es6-shim": "^0.35.0",

src/NgGrid.d.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ElementRef, Renderer, EventEmitter, DynamicComponentLoader, KeyValueDiffers, OnInit, OnDestroy, DoCheck } from 'angular2/core';
1+
import { ElementRef, Renderer, EventEmitter, DynamicComponentLoader, KeyValueDiffers, OnInit, OnDestroy, DoCheck, ViewContainerRef } from 'angular2/core';
22
export interface NgGridConfig {
33
margins?: number[];
44
draggable?: boolean;
@@ -25,6 +25,7 @@ export declare class NgGrid implements OnInit, DoCheck, OnDestroy {
2525
private _ngEl;
2626
private _renderer;
2727
private _loader;
28+
private _containerRef;
2829
dragStart: EventEmitter<NgGridItem>;
2930
drag: EventEmitter<NgGridItem>;
3031
dragStop: EventEmitter<NgGridItem>;
@@ -74,7 +75,7 @@ export declare class NgGrid implements OnInit, DoCheck, OnDestroy {
7475
private static CONST_DEFAULT_CONFIG;
7576
private _config;
7677
config: NgGridConfig;
77-
constructor(_differs: KeyValueDiffers, _ngEl: ElementRef, _renderer: Renderer, _loader: DynamicComponentLoader);
78+
constructor(_differs: KeyValueDiffers, _ngEl: ElementRef, _renderer: Renderer, _loader: DynamicComponentLoader, _containerRef: ViewContainerRef);
7879
ngOnInit(): void;
7980
ngOnDestroy(): void;
8081
setConfig(config: NgGridConfig): void;
@@ -130,7 +131,7 @@ export declare class NgGrid implements OnInit, DoCheck, OnDestroy {
130131
private _getMousePosition(e);
131132
private _getAbsoluteMousePosition(e);
132133
private _getItemFromPosition(position);
133-
private _createPlaceholder(pos, dims);
134+
private _createPlaceholder(item);
134135
}
135136
export interface NgGridItemConfig {
136137
col?: number;
@@ -158,6 +159,7 @@ export declare class NgGridItem implements OnInit, OnDestroy {
158159
private _ngEl;
159160
private _renderer;
160161
private _ngGrid;
162+
containerRef: ViewContainerRef;
161163
itemChange: EventEmitter<NgGridItemEvent>;
162164
dragStart: EventEmitter<NgGridItemEvent>;
163165
drag: EventEmitter<NgGridItemEvent>;
@@ -197,7 +199,7 @@ export declare class NgGridItem implements OnInit, OnDestroy {
197199
private _elemTop;
198200
private _added;
199201
config: NgGridItemConfig;
200-
constructor(_ngEl: ElementRef, _renderer: Renderer, _ngGrid: NgGrid);
202+
constructor(_ngEl: ElementRef, _renderer: Renderer, _ngGrid: NgGrid, containerRef: ViewContainerRef);
201203
onResizeStart(): void;
202204
onResize(): void;
203205
onResizeStop(): void;
@@ -244,12 +246,13 @@ export declare class NgGridItem implements OnInit, OnDestroy {
244246
export declare class NgGridPlaceholder implements OnInit {
245247
private _ngEl;
246248
private _renderer;
247-
private _ngGrid;
248249
private _sizex;
249250
private _sizey;
250251
private _col;
251252
private _row;
252-
constructor(_ngEl: ElementRef, _renderer: Renderer, _ngGrid: NgGrid);
253+
private _ngGrid;
254+
constructor(_ngEl: ElementRef, _renderer: Renderer);
255+
registerGrid(ngGrid: NgGrid): void;
253256
ngOnInit(): void;
254257
setSize(x: number, y: number): void;
255258
setGridPosition(col: number, row: number): void;

src/NgGrid.ts

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, Directive, ElementRef, Renderer, EventEmitter, DynamicComponentLoader, Host, ViewEncapsulation, Type, ComponentRef, KeyValueDiffer, KeyValueDiffers, OnInit, OnDestroy, DoCheck } from 'angular2/core';
1+
import { Component, Directive, ElementRef, Renderer, EventEmitter, DynamicComponentLoader, Host, ViewEncapsulation, Type, ComponentRef, KeyValueDiffer, KeyValueDiffers, OnInit, OnDestroy, DoCheck, ViewContainerRef } from 'angular2/core';
22

33
// Default config
44
export interface NgGridConfig {
@@ -41,13 +41,13 @@ export interface NgGridConfig {
4141
})
4242
export class NgGrid implements OnInit, DoCheck, OnDestroy {
4343
// Event Emitters
44-
public dragStart: EventEmitter<NgGridItem> = new EventEmitter();
45-
public drag: EventEmitter<NgGridItem> = new EventEmitter();
46-
public dragStop: EventEmitter<NgGridItem> = new EventEmitter();
47-
public resizeStart: EventEmitter<NgGridItem> = new EventEmitter();
48-
public resize: EventEmitter<NgGridItem> = new EventEmitter();
49-
public resizeStop: EventEmitter<NgGridItem> = new EventEmitter();
50-
public itemChange: EventEmitter<Array<NgGridItemEvent>> = new EventEmitter();
44+
public dragStart: EventEmitter<NgGridItem> = new EventEmitter<NgGridItem>();
45+
public drag: EventEmitter<NgGridItem> = new EventEmitter<NgGridItem>();
46+
public dragStop: EventEmitter<NgGridItem> = new EventEmitter<NgGridItem>();
47+
public resizeStart: EventEmitter<NgGridItem> = new EventEmitter<NgGridItem>();
48+
public resize: EventEmitter<NgGridItem> = new EventEmitter<NgGridItem>();
49+
public resizeStop: EventEmitter<NgGridItem> = new EventEmitter<NgGridItem>();
50+
public itemChange: EventEmitter<Array<NgGridItemEvent>> = new EventEmitter<Array<NgGridItemEvent>>();
5151

5252
// Public variables
5353
public colWidth: number = 250;
@@ -126,7 +126,7 @@ export class NgGrid implements OnInit, DoCheck, OnDestroy {
126126
}
127127

128128
// Constructor
129-
constructor(private _differs: KeyValueDiffers, private _ngEl: ElementRef, private _renderer: Renderer, private _loader: DynamicComponentLoader) { }
129+
constructor(private _differs: KeyValueDiffers, private _ngEl: ElementRef, private _renderer: Renderer, private _loader: DynamicComponentLoader, private _containerRef: ViewContainerRef) { }
130130

131131
// Public methods
132132
public ngOnInit(): void {
@@ -458,7 +458,7 @@ export class NgGrid implements OnInit, DoCheck, OnDestroy {
458458
this._resizingItem = item;
459459
this._resizeDirection = item.canResize(e);
460460
this._removeFromGrid(item);
461-
this._createPlaceholder(item.getGridPosition(), item.getSize());
461+
this._createPlaceholder(item);
462462
this.isResizing = true;
463463

464464
this.resizeStart.emit(item);
@@ -477,7 +477,7 @@ export class NgGrid implements OnInit, DoCheck, OnDestroy {
477477
this._draggingItem = item;
478478
this._posOffset = pOffset;
479479
this._removeFromGrid(item);
480-
this._createPlaceholder(item.getGridPosition(), item.getSize());
480+
this._createPlaceholder(item);
481481
this.isDragging = true;
482482

483483
this.dragStart.emit(item);
@@ -612,7 +612,7 @@ export class NgGrid implements OnInit, DoCheck, OnDestroy {
612612
this.dragStop.emit(this._draggingItem);
613613
this._draggingItem = null;
614614
this._posOffset = null;
615-
this._placeholderRef.dispose();
615+
this._placeholderRef.destroy();
616616

617617
this.itemChange.emit(this._items.map(item => item.getEventOutput()));
618618
}
@@ -634,7 +634,7 @@ export class NgGrid implements OnInit, DoCheck, OnDestroy {
634634
this.resizeStop.emit(this._resizingItem);
635635
this._resizingItem = null;
636636
this._resizeDirection = null;
637-
this._placeholderRef.dispose();
637+
this._placeholderRef.destroy();
638638

639639
this.itemChange.emit(this._items.map(item => item.getEventOutput()));
640640
}
@@ -1008,12 +1008,14 @@ export class NgGrid implements OnInit, DoCheck, OnDestroy {
10081008
return null;
10091009
}
10101010

1011-
private _createPlaceholder(pos: { col: number, row: number }, dims: { x: number, y: number }) {
1011+
private _createPlaceholder(item: NgGridItem) {
10121012
var me = this;
1013-
this._loader.loadNextToLocation((<Type>NgGridPlaceholder), (<any>this._ngEl).internalElement.parentView.appElements[(<any>this._ngEl).internalElement.proto.index + 1].ref).then(componentRef => {
1013+
var pos = item.getGridPosition(), dims = item.getSize();
1014+
1015+
this._loader.loadNextToLocation((<Type>NgGridPlaceholder), item.containerRef).then(componentRef => {
10141016
me._placeholderRef = componentRef;
10151017
var placeholder = componentRef.instance;
1016-
// me._placeholder.setGrid(me);
1018+
placeholder.registerGrid(me);
10171019
placeholder.setGridPosition(pos.col, pos.row);
10181020
placeholder.setSize(dims.x, dims.y);
10191021
});
@@ -1051,19 +1053,19 @@ export interface NgGridItemEvent {
10511053
})
10521054
export class NgGridItem implements OnInit, OnDestroy {
10531055
// Event Emitters
1054-
public itemChange: EventEmitter<NgGridItemEvent> = new EventEmitter(false);
1055-
public dragStart: EventEmitter<NgGridItemEvent> = new EventEmitter();
1056-
public drag: EventEmitter<NgGridItemEvent> = new EventEmitter();
1057-
public dragStop: EventEmitter<NgGridItemEvent> = new EventEmitter();
1058-
public dragAny: EventEmitter<NgGridItemEvent> = new EventEmitter();
1059-
public resizeStart: EventEmitter<NgGridItemEvent> = new EventEmitter();
1060-
public resize: EventEmitter<NgGridItemEvent> = new EventEmitter();
1061-
public resizeStop: EventEmitter<NgGridItemEvent> = new EventEmitter();
1062-
public resizeAny: EventEmitter<NgGridItemEvent> = new EventEmitter();
1063-
public changeStart: EventEmitter<NgGridItemEvent> = new EventEmitter();
1064-
public change: EventEmitter<NgGridItemEvent> = new EventEmitter();
1065-
public changeStop: EventEmitter<NgGridItemEvent> = new EventEmitter();
1066-
public changeAny: EventEmitter<NgGridItemEvent> = new EventEmitter();
1056+
public itemChange: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>(false);
1057+
public dragStart: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1058+
public drag: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1059+
public dragStop: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1060+
public dragAny: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1061+
public resizeStart: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1062+
public resize: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1063+
public resizeStop: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1064+
public resizeAny: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1065+
public changeStart: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1066+
public change: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1067+
public changeStop: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
1068+
public changeAny: EventEmitter<NgGridItemEvent> = new EventEmitter<NgGridItemEvent>();
10671069

10681070
// Default config
10691071
private static CONST_DEFAULT_CONFIG:NgGridItemConfig = {
@@ -1120,7 +1122,7 @@ export class NgGridItem implements OnInit, OnDestroy {
11201122
}
11211123

11221124
// Constructor
1123-
constructor(private _ngEl: ElementRef, private _renderer: Renderer, private _ngGrid: NgGrid) { }
1125+
constructor(private _ngEl: ElementRef, private _renderer: Renderer, private _ngGrid: NgGrid, public containerRef: ViewContainerRef) { }
11241126

11251127
public onResizeStart(): void {
11261128
var event = this.getEventOutput();
@@ -1417,9 +1419,14 @@ export class NgGridPlaceholder implements OnInit {
14171419
private _sizey: number;
14181420
private _col: number;
14191421
private _row: number;
1422+
private _ngGrid: NgGrid;
14201423

1421-
constructor(private _ngEl: ElementRef, private _renderer: Renderer, private _ngGrid: NgGrid) { }
1422-
1424+
constructor(private _ngEl: ElementRef, private _renderer: Renderer) { }
1425+
1426+
public registerGrid(ngGrid: NgGrid) {
1427+
this._ngGrid = ngGrid;
1428+
}
1429+
14231430
public ngOnInit(): void {
14241431
this._renderer.setElementClass(this._ngEl.nativeElement, 'grid-placeholder', true);
14251432
if (this._ngGrid.autoStyle) this._renderer.setElementStyle(this._ngEl.nativeElement, 'position', 'absolute');

0 commit comments

Comments
 (0)