Skip to content

Commit bbb8b69

Browse files
committed
split up mat resizable directives
1 parent 4d40808 commit bbb8b69

File tree

5 files changed

+73
-38
lines changed

5 files changed

+73
-38
lines changed

src/material-experimental/column-resize/column-resize-module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import {
1515
MatDefaultEnabledColumnResize,
1616
MatDefaultEnabledColumnResizeFlex,
1717
} from './column-resize';
18-
import {MatResizable, MatDefaultResizable} from './resizable';
18+
import {MatDefaultResizable} from './resizable-directives/default-enabled-resizable';
19+
import {MatResizable} from './resizable-directives/resizable';
1920
import {MatColumnResizeOverlayHandle} from './overlay-handle';
2021

2122
const ENTRY_COMMON_COMPONENTS = [

src/material-experimental/column-resize/public-api.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
export * from './column-resize';
1010
export * from './column-resize-module';
11-
export * from './resizable';
11+
export * from './resizable-directives/default-enabled-resizable';
12+
export * from './resizable-directives/resizable';
1213
export * from './resize-strategy';
1314
export * from './overlay-handle';
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import {Type} from '@angular/core';
2+
import {Resizable} from '@angular/cdk-experimental/column-resize';
3+
import {MatColumnResizeOverlayHandle} from '../overlay-handle';
4+
5+
export abstract class AbstractMatResizable extends Resizable<MatColumnResizeOverlayHandle> {
6+
minWidthPxInternal = 32;
7+
8+
protected getInlineHandleCssClassName(): string {
9+
return 'mat-resizable-handle';
10+
}
11+
12+
protected getOverlayHandleComponentType(): Type<MatColumnResizeOverlayHandle> {
13+
return MatColumnResizeOverlayHandle;
14+
}
15+
}
16+
17+
export const RESIZABLE_HOST_BINDINGS = {
18+
'class': 'mat-resizable',
19+
};
20+
21+
export const RESIZABLE_INPUTS = [
22+
'minWidthPx: matResizableMinWidthPx',
23+
'maxWidthPx: matResizableMaxWidthPx',
24+
];
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,9 @@
1-
/**
2-
* @license
3-
* Copyright Google LLC All Rights Reserved.
4-
*
5-
* Use of this source code is governed by an MIT-style license that can be
6-
* found in the LICENSE file at https://angular.io/license
7-
*/
8-
91
import {
102
Directive,
113
ElementRef,
124
Inject,
135
Injector,
146
NgZone,
15-
Type,
167
ViewContainerRef,
178
} from '@angular/core';
189
import {DOCUMENT} from '@angular/common';
@@ -22,11 +13,10 @@ import {
2213
ColumnResize,
2314
ColumnResizeNotifierSource,
2415
HeaderRowEventDispatcher,
25-
Resizable,
2616
ResizeStrategy,
2717
} from '@angular/cdk-experimental/column-resize';
2818

29-
19+
import {AbstractMatResizable, RESIZABLE_HOST_BINDINGS, RESIZABLE_INPUTS} from './common';
3020

3121
@Directive({
3222
selector: 'mat-header-cell:not([disableResize]), th[mat-header-cell]:not([disableResize])',
@@ -52,28 +42,3 @@ export class MatDefaultResizable extends AbstractMatResizable {
5242
this.document = document;
5343
}
5444
}
55-
56-
@Directive({
57-
selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',
58-
host: RESIZABLE_HOST_BINDINGS,
59-
inputs: RESIZABLE_INPUTS,
60-
})
61-
export class MatResizable extends AbstractMatResizable {
62-
protected readonly document: Document;
63-
64-
constructor(
65-
protected readonly columnDef: CdkColumnDef,
66-
protected readonly columnResize: ColumnResize,
67-
@Inject(DOCUMENT) document: any,
68-
protected readonly elementRef: ElementRef,
69-
protected readonly eventDispatcher: HeaderRowEventDispatcher,
70-
protected readonly injector: Injector,
71-
protected readonly ngZone: NgZone,
72-
protected readonly overlay: Overlay,
73-
protected readonly resizeNotifier: ColumnResizeNotifierSource,
74-
protected readonly resizeStrategy: ResizeStrategy,
75-
protected readonly viewContainerRef: ViewContainerRef) {
76-
super();
77-
this.document = document;
78-
}
79-
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import {
2+
Directive,
3+
ElementRef,
4+
Inject,
5+
Injector,
6+
NgZone,
7+
ViewContainerRef,
8+
} from '@angular/core';
9+
import {DOCUMENT} from '@angular/common';
10+
import {Overlay} from '@angular/cdk/overlay';
11+
import {CdkColumnDef} from '@angular/cdk/table';
12+
import {
13+
ColumnResize,
14+
ColumnResizeNotifierSource,
15+
HeaderRowEventDispatcher,
16+
ResizeStrategy,
17+
} from '@angular/cdk-experimental/column-resize';
18+
19+
import {AbstractMatResizable, RESIZABLE_HOST_BINDINGS, RESIZABLE_INPUTS} from './common';
20+
21+
@Directive({
22+
selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',
23+
host: RESIZABLE_HOST_BINDINGS,
24+
inputs: RESIZABLE_INPUTS,
25+
})
26+
export class MatResizable extends AbstractMatResizable {
27+
protected readonly document: Document;
28+
29+
constructor(
30+
protected readonly columnDef: CdkColumnDef,
31+
protected readonly columnResize: ColumnResize,
32+
@Inject(DOCUMENT) document: any,
33+
protected readonly elementRef: ElementRef,
34+
protected readonly eventDispatcher: HeaderRowEventDispatcher,
35+
protected readonly injector: Injector,
36+
protected readonly ngZone: NgZone,
37+
protected readonly overlay: Overlay,
38+
protected readonly resizeNotifier: ColumnResizeNotifierSource,
39+
protected readonly resizeStrategy: ResizeStrategy,
40+
protected readonly viewContainerRef: ViewContainerRef) {
41+
super();
42+
this.document = document;
43+
}
44+
}

0 commit comments

Comments
 (0)