Skip to content

Commit 390ed18

Browse files
committed
refactor(standalone): update some components to standalone components
includes: Collapse Color ColorPicker Comment Container Crumb DatePicker Description Dialog Drawer Dropdown
1 parent 03f5009 commit 390ed18

File tree

356 files changed

+2503
-1713
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

356 files changed

+2503
-1713
lines changed

.github/workflows/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: use node.js
2525
uses: actions/setup-node@v1
2626
with:
27-
node-version: 16.14.0
27+
node-version: 18.16.0
2828

2929
- name: build
3030
run: |

lib/ng-nest/ui/auto-complete/auto-complete.component.spec.ts

+17-86
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { ComponentFixture, TestBed } from '@angular/core/testing';
22

3-
import { XAutoCompleteComponent } from './auto-complete.component';
43
import { Component, DebugElement, ChangeDetectorRef } from '@angular/core';
54
import { By } from '@angular/platform-browser';
65
import { XAutoCompleteComponent } from '@ng-nest/ui/auto-complete';
@@ -15,12 +14,12 @@ import { XRadioModule } from '@ng-nest/ui/radio';
1514
import { XInputModule } from '@ng-nest/ui/input';
1615
import { XSelectModule } from '@ng-nest/ui/select';
1716
import { XCascadeComponent } from '@ng-nest/ui/cascade';
18-
import { XColorPickerModule } from '@ng-nest/ui/color-picker';
17+
import { XColorPickerComponent } from '@ng-nest/ui/color-picker';
1918
import { XFindModule } from '@ng-nest/ui/find';
2019
import { XTextareaModule } from '@ng-nest/ui/textarea';
2120
import { XTimePickerModule } from '@ng-nest/ui/time-picker';
2221
import { XButtonComponent } from '@ng-nest/ui/button';
23-
import { XDatePickerModule } from '@ng-nest/ui/date-picker';
22+
import { XDatePickerComponent } from '@ng-nest/ui/date-picker';
2423
import { XIconComponent } from '@ng-nest/ui/icon';
2524
import { HttpClientTestingModule } from '@angular/common/http/testing';
2625

@@ -41,11 +40,11 @@ describe(XAutoCompletePrefix, () => {
4140
XButtonComponent,
4241
XInputModule,
4342
XCascadeComponent,
44-
XColorPickerModule,
43+
XColorPickerComponent,
4544
XFindModule,
4645
XTextareaModule,
4746
XTimePickerModule,
48-
XDatePickerModule,
47+
XDatePickerComponent,
4948
XIconComponent
5049
],
5150
declarations: [
@@ -231,32 +230,17 @@ class TestXAutoCompleteComponent {
231230
</x-row>
232231
<x-row>
233232
<x-col>
234-
<x-auto-complete
235-
label="方式"
236-
[data]="data"
237-
[(ngModel)]="model"
238-
direction="column-reverse"
239-
></x-auto-complete>
233+
<x-auto-complete label="方式" [data]="data" [(ngModel)]="model" direction="column-reverse"></x-auto-complete>
240234
</x-col>
241235
</x-row>
242236
<x-row>
243237
<x-col>
244-
<x-auto-complete
245-
label="方式"
246-
[data]="data"
247-
[(ngModel)]="model"
248-
direction="row"
249-
></x-auto-complete>
238+
<x-auto-complete label="方式" [data]="data" [(ngModel)]="model" direction="row"></x-auto-complete>
250239
</x-col>
251240
</x-row>
252241
<x-row>
253242
<x-col>
254-
<x-auto-complete
255-
label="方式"
256-
[data]="data"
257-
[(ngModel)]="model"
258-
direction="row-reverse"
259-
></x-auto-complete>
243+
<x-auto-complete label="方式" [data]="data" [(ngModel)]="model" direction="row-reverse"></x-auto-complete>
260244
</x-col>
261245
</x-row>
262246
`,
@@ -362,11 +346,7 @@ class TestXAutoCompleteRequiredComponent {
362346
<x-auto-complete [data]="data" [(ngModel)]="model"></x-auto-complete>
363347
</x-col>
364348
<x-col>
365-
<x-auto-complete
366-
[data]="data"
367-
[(ngModel)]="model1"
368-
(ngModelChange)="change()"
369-
></x-auto-complete>
349+
<x-auto-complete [data]="data" [(ngModel)]="model1" (ngModelChange)="change()"></x-auto-complete>
370350
</x-col>
371351
<x-col>
372352
<x-auto-complete [data]="data1" [(ngModel)]="model2"></x-auto-complete>
@@ -395,18 +375,7 @@ class TestXAutoCompleteAsyncComponent {
395375
data = new Observable<string[]>((x) => {
396376
// 替换成http请求,或者data直接定义成 Observable 对象
397377
setTimeout(() => {
398-
x.next([
399-
'qqq',
400-
'qqqq',
401-
'qqqqq',
402-
'qqqqqq',
403-
'qqqqqqqq',
404-
'qqqqqqqqqqq',
405-
'qqqqqqqqqqqqqq',
406-
'微信',
407-
'钉钉',
408-
'微博'
409-
]);
378+
x.next(['qqq', 'qqqq', 'qqqqq', 'qqqqqq', 'qqqqqqqq', 'qqqqqqqqqqq', 'qqqqqqqqqqqqqq', '微信', '钉钉', '微博']);
410379
x.complete();
411380
}, 500);
412381
});
@@ -434,31 +403,13 @@ class TestXAutoCompleteAsyncComponent {
434403
<x-auto-complete [size]="size" [data]="data"></x-auto-complete>
435404
</x-col>
436405
<x-col span="24">
437-
<x-auto-complete
438-
[size]="size"
439-
label="用户名"
440-
[data]="data"
441-
direction="row"
442-
maxlength="50"
443-
></x-auto-complete>
406+
<x-auto-complete [size]="size" label="用户名" [data]="data" direction="row" maxlength="50"></x-auto-complete>
444407
</x-col>
445408
<x-col span="24">
446-
<x-auto-complete
447-
[size]="size"
448-
label="用户名"
449-
[data]="data"
450-
direction="column"
451-
maxlength="50"
452-
></x-auto-complete>
409+
<x-auto-complete [size]="size" label="用户名" [data]="data" direction="column" maxlength="50"></x-auto-complete>
453410
</x-col>
454411
<x-col span="24">
455-
<x-auto-complete
456-
[size]="size"
457-
icon="ado-user"
458-
[data]="data"
459-
iconLayout="left"
460-
maxlength="50"
461-
></x-auto-complete>
412+
<x-auto-complete [size]="size" icon="ado-user" [data]="data" iconLayout="left" maxlength="50"></x-auto-complete>
462413
</x-col>
463414
<x-col span="24">
464415
<x-auto-complete required clearable [size]="size" [data]="data"></x-auto-complete>
@@ -515,12 +466,7 @@ class TestXAutoCompleteSizeComponent {
515466
<x-auto-complete placeholder="请输入类内容" bordered="false"></x-auto-complete>
516467
</x-col>
517468
<x-col span="24">
518-
<x-auto-complete
519-
placeholder="请输入类内容"
520-
bordered="false"
521-
label="日生:"
522-
direction="row"
523-
></x-auto-complete>
469+
<x-auto-complete placeholder="请输入类内容" bordered="false" label="日生:" direction="row"></x-auto-complete>
524470
</x-col>
525471
<x-col span="24">
526472
<x-auto-complete placeholder="请输入类内容" bordered="false"></x-auto-complete>
@@ -573,11 +519,7 @@ class TestXAutoCompleteBorderedComponent {
573519
<x-auto-complete placeholder="请输入网址" [after]="afterSelectTpl"></x-auto-complete>
574520
</x-col>
575521
<x-col span="24">
576-
<x-auto-complete
577-
placeholder="请输入网址"
578-
[before]="beforeSelectTpl"
579-
[after]="afterSelectTpl"
580-
></x-auto-complete>
522+
<x-auto-complete placeholder="请输入网址" [before]="beforeSelectTpl" [after]="afterSelectTpl"></x-auto-complete>
581523
</x-col>
582524
<x-col span="24">
583525
<x-auto-complete placeholder="请输入文字" [before]="beforeButtonTpl"></x-auto-complete>
@@ -586,11 +528,7 @@ class TestXAutoCompleteBorderedComponent {
586528
<x-auto-complete placeholder="请输入文字" [after]="afterButtonTpl"></x-auto-complete>
587529
</x-col>
588530
<x-col span="24">
589-
<x-auto-complete
590-
placeholder="请输入文字"
591-
[before]="beforeButtonTpl"
592-
[after]="afterButtonTpl"
593-
></x-auto-complete>
531+
<x-auto-complete placeholder="请输入文字" [before]="beforeButtonTpl" [after]="afterButtonTpl"></x-auto-complete>
594532
</x-col>
595533
<x-col span="24">
596534
<x-auto-complete placeholder="请输入文字" [before]="beforeInputTpl"></x-auto-complete>
@@ -599,11 +537,7 @@ class TestXAutoCompleteBorderedComponent {
599537
<x-auto-complete placeholder="请输入文字" [after]="afterInputTpl"></x-auto-complete>
600538
</x-col>
601539
<x-col span="24">
602-
<x-auto-complete
603-
placeholder="请输入文字"
604-
[before]="beforeInputTpl"
605-
[after]="afterInputTpl"
606-
></x-auto-complete>
540+
<x-auto-complete placeholder="请输入文字" [before]="beforeInputTpl" [after]="afterInputTpl"></x-auto-complete>
607541
</x-col>
608542
<x-col span="24">
609543
<x-auto-complete placeholder="请输入文字" [before]="beforeDatePickerTpl"></x-auto-complete>
@@ -619,10 +553,7 @@ class TestXAutoCompleteBorderedComponent {
619553
></x-auto-complete>
620554
</x-col>
621555
<x-col span="24">
622-
<x-auto-complete
623-
placeholder="请输入文字"
624-
[before]="beforeAutoCompleteTpl"
625-
></x-auto-complete>
556+
<x-auto-complete placeholder="请输入文字" [before]="beforeAutoCompleteTpl"></x-auto-complete>
626557
</x-col>
627558
<x-col span="24">
628559
<x-auto-complete placeholder="请输入文字" [after]="afterAutoCompleteTpl"></x-auto-complete>

lib/ng-nest/ui/auto-complete/auto-complete.component.ts

+16-48
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ import {
1313
ViewChild,
1414
inject
1515
} from '@angular/core';
16-
import {
17-
XAutoCompleteNode,
18-
XAutoCompleteProperty,
19-
XAutoCompletePrefix
20-
} from './auto-complete.property';
16+
import { XAutoCompleteNode, XAutoCompleteProperty, XAutoCompletePrefix } from './auto-complete.property';
2117
import {
2218
XIsEmpty,
2319
XIsObservable,
@@ -29,12 +25,7 @@ import {
2925
XIsFunction,
3026
XParents
3127
} from '@ng-nest/ui/core';
32-
import {
33-
XPortalService,
34-
XPortalOverlayRef,
35-
XPortalConnectedPosition,
36-
XPortalModule
37-
} from '@ng-nest/ui/portal';
28+
import { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';
3829
import { XInputModule, XInputComponent } from '@ng-nest/ui/input';
3930
import { XAutoCompletePortalComponent } from './auto-complete-portal.component';
4031
import {
@@ -52,14 +43,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5243
@Component({
5344
selector: `${XAutoCompletePrefix}`,
5445
standalone: true,
55-
imports: [
56-
FormsModule,
57-
ReactiveFormsModule,
58-
XPortalModule,
59-
XInputModule,
60-
XControlValueAccessor,
61-
XAutoCompletePortalComponent
62-
],
46+
imports: [FormsModule, ReactiveFormsModule, XInputModule, XControlValueAccessor, XAutoCompletePortalComponent],
6347
templateUrl: './auto-complete.component.html',
6448
styleUrls: ['./auto-complete.component.scss'],
6549
encapsulation: ViewEncapsulation.None,
@@ -109,13 +93,7 @@ export class XAutoCompleteComponent extends XAutoCompleteProperty implements OnI
10993
override cdr = inject(ChangeDetectorRef);
11094

11195
ngOnInit() {
112-
this.setFlex(
113-
this.autoComplete.nativeElement,
114-
this.renderer,
115-
this.justify,
116-
this.align,
117-
this.direction
118-
);
96+
this.setFlex(this.autoComplete.nativeElement, this.renderer, this.justify, this.align, this.direction);
11997
this.setClassMap();
12098
this.setSubject();
12199
this.setParantScroll();
@@ -279,12 +257,10 @@ export class XAutoCompleteComponent extends XAutoCompleteProperty implements OnI
279257

280258
setPosition(config: OverlayConfig) {
281259
let position = config.positionStrategy as FlexibleConnectedPositionStrategy;
282-
position.positionChanges
283-
.pipe(takeUntil(this._unSubject))
284-
.subscribe((pos: ConnectedOverlayPositionChange) => {
285-
const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;
286-
place !== this.placement && this.positionChange.next(place);
287-
});
260+
position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {
261+
const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;
262+
place !== this.placement && this.positionChange.next(place);
263+
});
288264
}
289265

290266
setInstance() {
@@ -328,13 +304,7 @@ export class XAutoCompleteComponent extends XAutoCompleteProperty implements OnI
328304
setPlacement() {
329305
return this.portalService.setPlacement({
330306
elementRef: this.inputCom.inputRef,
331-
placement: [
332-
this.placement as XPositionTopBottom,
333-
'bottom-start',
334-
'bottom-end',
335-
'top-start',
336-
'top-end'
337-
],
307+
placement: [this.placement as XPositionTopBottom, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],
338308
transformOriginOn: 'x-auto-complete-portal'
339309
});
340310
}
@@ -364,15 +334,13 @@ export class XAutoCompleteComponent extends XAutoCompleteProperty implements OnI
364334
this.icon = 'fto-loader';
365335
this.iconSpin = true;
366336
this.cdr.detectChanges();
367-
XSetData<XAutoCompleteNode>(this.data, this._unSubject, true, value as any).subscribe(
368-
(x) => {
369-
this.icon = '';
370-
this.iconSpin = false;
371-
this.nodes = x;
372-
this.dataChange.next(this.nodes);
373-
this.cdr.detectChanges();
374-
}
375-
);
337+
XSetData<XAutoCompleteNode>(this.data, this._unSubject, true, value as any).subscribe((x) => {
338+
this.icon = '';
339+
this.iconSpin = false;
340+
this.nodes = x;
341+
this.dataChange.next(this.nodes);
342+
this.cdr.detectChanges();
343+
});
376344
}
377345
}
378346
if (!this.onlySelect) {

lib/ng-nest/ui/back-top/back-top.component.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ import { reqAnimFrame, XConfigService, XIsChange, XIsNumber } from '@ng-nest/ui/
1717
import { CommonModule, DOCUMENT } from '@angular/common';
1818
import { fromEvent, Subject } from 'rxjs';
1919
import { throttleTime, takeUntil } from 'rxjs/operators';
20-
import { XPortalService, XPortalOverlayRef, XPortalModule } from '@ng-nest/ui/portal';
20+
import { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';
2121
import { XLinkComponent } from '@ng-nest/ui/link';
2222

2323
@Component({
2424
selector: `${XBackTopPrefix}`,
2525
standalone: true,
26-
imports: [CommonModule, XLinkComponent, XPortalModule],
26+
imports: [CommonModule, XLinkComponent],
2727
templateUrl: './back-top.component.html',
2828
styleUrls: ['./back-top.component.scss'],
2929
encapsulation: ViewEncapsulation.None,

lib/ng-nest/ui/border/border.component.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { XDocModule } from '@ng-nest/ui/doc';
1+
import { XDocComponent } from '@ng-nest/ui/doc';
22
import { ComponentFixture, TestBed } from '@angular/core/testing';
33

44
import { Component, DebugElement } from '@angular/core';
@@ -20,7 +20,7 @@ describe(XBorderPrefix, () => {
2020
XBorderComponent,
2121
XRowComponent,
2222
XColComponent,
23-
XDocModule
23+
XDocComponent
2424
],
2525
declarations: [TestXBorderComponent]
2626
}).compileComponents();

lib/ng-nest/ui/calendar/calendar.component.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { XCalendarComponent } from '@ng-nest/ui/calendar';
88
import { FormsModule } from '@angular/forms';
99
import { XCalendarPrefix, XCalendarData } from './calendar.property';
1010
import { XButtonComponent } from '@ng-nest/ui/button';
11-
import { XContainerModule } from '@ng-nest/ui/container';
11+
import { XContainerComponent } from '@ng-nest/ui/container';
1212
import { interval } from 'rxjs';
1313
import { DatePipe } from '@angular/common';
1414
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@@ -26,7 +26,7 @@ describe(XCalendarPrefix, () => {
2626
FormsModule,
2727
XCalendarComponent,
2828
XButtonComponent,
29-
XContainerModule,
29+
XContainerComponent,
3030
XRowComponent,
3131
XColComponent,
3232
XIconComponent

0 commit comments

Comments
 (0)