From c700ffc10fe322e90f0d90607a1d9a1a9c6ed217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= <30300440+bariscanyilmaz@users.noreply.github.com> Date: Tue, 28 Feb 2023 15:35:13 +0300 Subject: [PATCH 1/4] support card component all features --- .../components/card/card-body.component.ts | 17 ++++-- .../components/card/card-footer.component.ts | 19 +++++++ .../components/card/card-header.component.ts | 18 ++++++ .../components/card/card-title.component.ts | 9 --- .../src/lib/components/card/card.component.ts | 57 +++++++++++++++---- .../src/lib/components/card/card.module.ts | 30 ++++++++-- .../src/lib/components/card/index.ts | 3 +- .../src/lib/theme-shared.module.ts | 2 +- 8 files changed, 122 insertions(+), 33 deletions(-) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/card/card-footer.component.ts create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.component.ts delete mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.component.ts diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-body.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-body.component.ts index b7efd90236..4f6d8a9b73 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-body.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-body.component.ts @@ -1,9 +1,16 @@ -import { Component } from '@angular/core'; +import { Component, Input } from '@angular/core'; @Component({ selector: 'abp-card-body', - template: `
- -
`, + template: ` +
+ +
`, + host: { + class: 'card-body', + } }) -export class CardBodyComponent {} +export class CardBodyComponent { + @Input() cardBodyClass: string; + @Input() cardBodyStyle: string; +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-footer.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-footer.component.ts new file mode 100644 index 0000000000..ed5f0c64f3 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-footer.component.ts @@ -0,0 +1,19 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'abp-card-footer', + template: ` +
+ +
+ `, + styles: [], + host: { + class: 'card-footer', + } +}) +export class CardFooterComponent { + @Input() cardFooterStyle: string; + @Input() cardFooterClass: string; + +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.component.ts new file mode 100644 index 0000000000..1ec374757c --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.component.ts @@ -0,0 +1,18 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'abp-card-header', + template: ` +
+ +
+ `, + styles: [], + host: { + class: 'card-header', + } +}) +export class CardHeaderComponent { + @Input() cardHeaderClass: string; + @Input() cardHeaderStyle: string; +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.component.ts deleted file mode 100644 index f629636854..0000000000 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.component.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'abp-card-title', - template: `
- -
`, -}) -export class CardTitleComponent {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts index 317e5800b9..97ef13d6ce 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts @@ -1,22 +1,55 @@ -import { Component, ContentChild, Input } from '@angular/core'; -import { CardBodyComponent } from './card-body.component'; -import { CardTitleComponent } from './card-title.component'; +import { Component, Directive, Input } from '@angular/core'; + +@Directive({ + selector: `abp-card-title, [abp-card-title], [abpCardTitle]`, + host: { + class: 'card-title', + }, +}) +export class CardTitle{} + +@Directive({ + selector: `abp-card-subtitle, [abp-card-subtitle], [abpCardSubtitle]`, + host: { + class: 'card-subtitle', + }, +}) +export class CardSubtitle{} + +@Directive({ + selector: `abp-card-text, [abp-card-text], [abpCardText]`, + host: { + class: 'card-text', + }, +}) +export class CardText{} + +@Directive({ + selector: `abp-card-img-top, [abp-card-img-top], [abpCardImgTop]`, + host: { + class: 'card-img-top', + }, +}) +export class CardImgTop{} + +@Directive({ + selector: `abp-card-link, [abp-card-link], [abpCardLink]`, + host: { + class: 'card-link', + }, +}) +export class CardLink{} + @Component({ selector: 'abp-card', - template: `
- - + template: ` +
+
`, }) export class CardComponent { @Input() cardClass: string; @Input() cardStyle: string; - - @ContentChild(CardBodyComponent) - cardBodyTemplate?: CardBodyComponent; - - @ContentChild(CardTitleComponent) - cardTitleTemplate?: CardTitleComponent; } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts index d8050a40cd..e2f73ea73c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts @@ -1,14 +1,34 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { CardBodyComponent } from './card-body.component'; -import { CardTitleComponent } from './card-title.component'; -import { CardComponent } from './card.component'; +import { + CardComponent, + CardImgTop, + CardLink, + CardSubtitle, + CardText, + CardTitle +} from './card.component'; +import { CardHeaderComponent } from './card-header.component'; +import { CardFooterComponent } from './card-footer.component'; -const declarationsWithExports = [CardComponent, CardBodyComponent, CardTitleComponent]; +const declarationsWithExports = [ + CardComponent, + CardBodyComponent, + CardHeaderComponent, + CardFooterComponent, + CardTitle, + CardSubtitle, + CardText, + CardImgTop, + CardLink, +]; @NgModule({ - declarations: [...declarationsWithExports], + declarations: [ + ...declarationsWithExports, + ], imports: [CommonModule], exports: [...declarationsWithExports], }) -export class CardModule {} +export class CardModule { } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts index 8d6bbd86d8..bd8e03c2ec 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts @@ -1,4 +1,5 @@ export * from './card.module'; export * from './card.component'; export * from './card-body.component'; -export * from './card-title.component'; +export * from './card-footer.component'; +export * from './card-header.component'; \ No newline at end of file diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index 35ab43177b..434f5cd39c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -72,8 +72,8 @@ const declarationsWithExports = [ NgxDatatableModule, EllipsisModule, NgxValidateCoreModule, - ...declarationsWithExports, CardModule, + ...declarationsWithExports ], providers: [DatePipe], }) From 26a75d5b1fd7797c457778b6e03d779df803d6e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= <30300440+bariscanyilmaz@users.noreply.github.com> Date: Thu, 2 Mar 2023 11:40:39 +0300 Subject: [PATCH 2/4] add abp card header directive --- .../src/lib/components/card/card.component.ts | 24 ++++++++++++------- .../src/lib/components/card/card.module.ts | 22 ++++++++--------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts index 97ef13d6ce..9022acc8de 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts @@ -1,12 +1,20 @@ import { Component, Directive, Input } from '@angular/core'; +@Directive({ + selector: `abp-card-header, [abp-card-header], [abpCardHeader]`, + host: { + class: 'card-header', + }, +}) +export class CardHeader {} + @Directive({ selector: `abp-card-title, [abp-card-title], [abpCardTitle]`, host: { class: 'card-title', }, }) -export class CardTitle{} +export class CardTitle {} @Directive({ selector: `abp-card-subtitle, [abp-card-subtitle], [abpCardSubtitle]`, @@ -14,7 +22,7 @@ export class CardTitle{} class: 'card-subtitle', }, }) -export class CardSubtitle{} +export class CardSubtitle {} @Directive({ selector: `abp-card-text, [abp-card-text], [abpCardText]`, @@ -22,7 +30,7 @@ export class CardSubtitle{} class: 'card-text', }, }) -export class CardText{} +export class CardText {} @Directive({ selector: `abp-card-img-top, [abp-card-img-top], [abpCardImgTop]`, @@ -30,7 +38,7 @@ export class CardText{} class: 'card-img-top', }, }) -export class CardImgTop{} +export class CardImgTop {} @Directive({ selector: `abp-card-link, [abp-card-link], [abpCardLink]`, @@ -38,14 +46,12 @@ export class CardImgTop{} class: 'card-link', }, }) -export class CardLink{} - +export class CardLink {} @Component({ selector: 'abp-card', - template: ` -
- + template: `
+
`, }) export class CardComponent { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts index e2f73ea73c..0db0ac90e3 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts @@ -1,13 +1,14 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { CardBodyComponent } from './card-body.component'; -import { - CardComponent, - CardImgTop, - CardLink, - CardSubtitle, - CardText, - CardTitle +import { + CardComponent, + CardImgTop, + CardLink, + CardSubtitle, + CardText, + CardTitle, + CardHeader, } from './card.component'; import { CardHeaderComponent } from './card-header.component'; import { CardFooterComponent } from './card-footer.component'; @@ -22,13 +23,12 @@ const declarationsWithExports = [ CardText, CardImgTop, CardLink, + CardHeader, ]; @NgModule({ - declarations: [ - ...declarationsWithExports, - ], + declarations: [...declarationsWithExports], imports: [CommonModule], exports: [...declarationsWithExports], }) -export class CardModule { } +export class CardModule {} From 69b5a6a127b1f27dd4f48b61da28cddc81e67b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= <30300440+bariscanyilmaz@users.noreply.github.com> Date: Fri, 3 Mar 2023 14:14:18 +0300 Subject: [PATCH 3/4] remove directives card-text and card-link --- .../src/lib/components/card/card.component.ts | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts index 9022acc8de..f6b11427a9 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts @@ -24,14 +24,6 @@ export class CardTitle {} }) export class CardSubtitle {} -@Directive({ - selector: `abp-card-text, [abp-card-text], [abpCardText]`, - host: { - class: 'card-text', - }, -}) -export class CardText {} - @Directive({ selector: `abp-card-img-top, [abp-card-img-top], [abpCardImgTop]`, host: { @@ -40,14 +32,6 @@ export class CardText {} }) export class CardImgTop {} -@Directive({ - selector: `abp-card-link, [abp-card-link], [abpCardLink]`, - host: { - class: 'card-link', - }, -}) -export class CardLink {} - @Component({ selector: 'abp-card', template: `
From 2a9b6598246c1050658fb58cd2d44e1cdf5b00cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= <30300440+bariscanyilmaz@users.noreply.github.com> Date: Fri, 3 Mar 2023 14:33:03 +0300 Subject: [PATCH 4/4] move all directives to seperate files --- .../components/card/card-header.directive.ts | 9 ++++++ .../components/card/card-img-top.directive.ts | 9 ++++++ .../card/card-subtitle.directive.ts | 9 ++++++ .../components/card/card-title.directive.ts | 9 ++++++ .../src/lib/components/card/card.component.ts | 31 ------------------- .../src/lib/components/card/card.module.ts | 18 ++++------- .../src/lib/components/card/index.ts | 6 +++- 7 files changed, 47 insertions(+), 44 deletions(-) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.directive.ts create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/card/card-img-top.directive.ts create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/card/card-subtitle.directive.ts create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.directive.ts diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.directive.ts new file mode 100644 index 0000000000..e7ecbfd881 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-header.directive.ts @@ -0,0 +1,9 @@ +import { Directive } from "@angular/core"; + +@Directive({ + selector: `abp-card-header, [abp-card-header], [abpCardHeader]`, + host: { + class: 'card-header', + }, +}) +export class CardHeader {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-img-top.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-img-top.directive.ts new file mode 100644 index 0000000000..384f9f3989 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-img-top.directive.ts @@ -0,0 +1,9 @@ +import { Directive } from "@angular/core"; + +@Directive({ + selector: `abp-card-img-top, [abp-card-img-top], [abpCardImgTop]`, + host: { + class: 'card-img-top', + }, +}) +export class CardImgTop {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-subtitle.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-subtitle.directive.ts new file mode 100644 index 0000000000..862a439ea8 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-subtitle.directive.ts @@ -0,0 +1,9 @@ +import { Directive } from "@angular/core"; + +@Directive({ + selector: `abp-card-subtitle, [abp-card-subtitle], [abpCardSubtitle]`, + host: { + class: 'card-subtitle', + }, +}) +export class CardSubtitle {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.directive.ts new file mode 100644 index 0000000000..143a868b64 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.directive.ts @@ -0,0 +1,9 @@ +import { Directive } from "@angular/core"; + +@Directive({ + selector: `abp-card-title, [abp-card-title], [abpCardTitle]`, + host: { + class: 'card-title', + }, +}) +export class CardTitle {} \ No newline at end of file diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts index f6b11427a9..149866bff0 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts @@ -1,36 +1,5 @@ import { Component, Directive, Input } from '@angular/core'; -@Directive({ - selector: `abp-card-header, [abp-card-header], [abpCardHeader]`, - host: { - class: 'card-header', - }, -}) -export class CardHeader {} - -@Directive({ - selector: `abp-card-title, [abp-card-title], [abpCardTitle]`, - host: { - class: 'card-title', - }, -}) -export class CardTitle {} - -@Directive({ - selector: `abp-card-subtitle, [abp-card-subtitle], [abpCardSubtitle]`, - host: { - class: 'card-subtitle', - }, -}) -export class CardSubtitle {} - -@Directive({ - selector: `abp-card-img-top, [abp-card-img-top], [abpCardImgTop]`, - host: { - class: 'card-img-top', - }, -}) -export class CardImgTop {} @Component({ selector: 'abp-card', diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts index 0db0ac90e3..1a3e62113c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts @@ -1,17 +1,13 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { CardBodyComponent } from './card-body.component'; -import { - CardComponent, - CardImgTop, - CardLink, - CardSubtitle, - CardText, - CardTitle, - CardHeader, -} from './card.component'; +import { CardComponent } from './card.component'; import { CardHeaderComponent } from './card-header.component'; import { CardFooterComponent } from './card-footer.component'; +import { CardTitle } from './card-title.directive'; +import { CardSubtitle } from './card-subtitle.directive'; +import { CardImgTop } from './card-img-top.directive'; +import { CardHeader } from './card-header.directive'; const declarationsWithExports = [ CardComponent, @@ -20,9 +16,7 @@ const declarationsWithExports = [ CardFooterComponent, CardTitle, CardSubtitle, - CardText, CardImgTop, - CardLink, CardHeader, ]; @@ -31,4 +25,4 @@ const declarationsWithExports = [ imports: [CommonModule], exports: [...declarationsWithExports], }) -export class CardModule {} +export class CardModule { } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts index bd8e03c2ec..ab901f35fe 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts @@ -2,4 +2,8 @@ export * from './card.module'; export * from './card.component'; export * from './card-body.component'; export * from './card-footer.component'; -export * from './card-header.component'; \ No newline at end of file +export * from './card-header.component'; +export * from './card-title.directive'; +export * from './card-subtitle.directive'; +export * from './card-img-top.directive'; +export * from './card-header.directive'; \ No newline at end of file