Browse Source

Merge pull request #15584 from abpframework/feat-card-component

Feat card component
pull/15727/head
Mahmut Gundogdu 4 years ago
committed by GitHub
parent
commit
7ed0f6d37a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      npm/ng-packs/apps/dev-app/src/app/home/home.component.html
  2. 4
      npm/ng-packs/package.json
  3. 9
      npm/ng-packs/packages/theme-shared/src/lib/components/card/card-body.component.ts
  4. 9
      npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.component.ts
  5. 22
      npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts
  6. 14
      npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts
  7. 4
      npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts
  8. 1
      npm/ng-packs/packages/theme-shared/src/lib/components/index.ts
  9. 2
      npm/ng-packs/packages/theme-shared/src/lib/directives/visible.directive.ts
  10. 11
      npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts

18
npm/ng-packs/apps/dev-app/src/app/home/home.component.html

@ -26,8 +26,8 @@
<h3>Let's improve your application!</h3> <h3>Let's improve your application!</h3>
<p>Here are some links to help you get started:</p> <p>Here are some links to help you get started:</p>
</div> </div>
<div class="card mt-4 mb-5"> <abp-card cardClass="mt-4 mb-5">
<div class="card-body"> <abp-card-body>
<div class="row text-center justify-content-md-center"> <div class="row text-center justify-content-md-center">
<ng-container <ng-container
*ngTemplateOutlet=" *ngTemplateOutlet="
@ -182,16 +182,15 @@
" "
></ng-container> ></ng-container>
</div> </div>
</div> </abp-card-body>
</div> </abp-card>
<div class="mt-5 my-3 text-center"> <div class="mt-5 my-3 text-center">
<h3>Meet the ABP Commercial</h3> <h3>Meet the ABP Commercial</h3>
<p>A Complete Web Application Platform Built on the ABP Framework</p> <p>A Complete Web Application Platform Built on the ABP Framework</p>
</div> </div>
<abp-card cardClass="mt-4 mb-5">
<div class="card mt-4 mb-5"> <abp-card-body>
<div class="card-body">
<p class="px-lg-5 mx-lg-5 py-3 text-center"> <p class="px-lg-5 mx-lg-5 py-3 text-center">
<a href="https://commercial.abp.io/" target="_blank">ABP Commercial</a> is a platform based <a href="https://commercial.abp.io/" target="_blank">ABP Commercial</a> is a platform based
on the open source ABP framework. It provides pre-built application modules, rapid on the open source ABP framework. It provides pre-built application modules, rapid
@ -271,8 +270,9 @@
" "
></ng-container> ></ng-container>
</div> </div>
</div> </abp-card-body>
</div> </abp-card>
<div class="mb-5 text-center"> <div class="mb-5 text-center">
<p class="align-middle"> <p class="align-middle">
<a href="https://twitter.com/abpframework" target="_blank" class="mx-2" <a href="https://twitter.com/abpframework" target="_blank" class="mx-2"

4
npm/ng-packs/package.json

@ -134,8 +134,8 @@
"bootstrap-icons": "^1.10.3" "bootstrap-icons": "^1.10.3"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx}": [ "**/*.{js,jsx,ts,tsx,html,css,scss}": [
"npx prettier --write --config .prettierrc " "npx prettier --write --config .prettierrc "
] ]
} }
} }

9
npm/ng-packs/packages/theme-shared/src/lib/components/card/card-body.component.ts

@ -0,0 +1,9 @@
import { Component } from '@angular/core';
@Component({
selector: 'abp-card-body',
template: `<div class="card-body">
<ng-content></ng-content>
</div>`,
})
export class CardBodyComponent {}

9
npm/ng-packs/packages/theme-shared/src/lib/components/card/card-title.component.ts

@ -0,0 +1,9 @@
import { Component } from '@angular/core';
@Component({
selector: 'abp-card-title',
template: `<div class="card-title">
<ng-content></ng-content>
</div>`,
})
export class CardTitleComponent {}

22
npm/ng-packs/packages/theme-shared/src/lib/components/card/card.component.ts

@ -0,0 +1,22 @@
import { Component, ContentChild, Input } from '@angular/core';
import { CardBodyComponent } from './card-body.component';
import { CardTitleComponent } from './card-title.component';
@Component({
selector: 'abp-card',
template: ` <div class="card" [ngClass]="cardClass" [ngStyle]="cardStyle">
<ng-content *ngIf="cardTitleTemplate" select="abp-card-title"></ng-content>
<ng-content *ngIf="cardBodyTemplate" select="abp-card-body"></ng-content>
</div>`,
})
export class CardComponent {
@Input() cardClass: string;
@Input() cardStyle: string;
@ContentChild(CardBodyComponent)
cardBodyTemplate?: CardBodyComponent;
@ContentChild(CardTitleComponent)
cardTitleTemplate?: CardTitleComponent;
}

14
npm/ng-packs/packages/theme-shared/src/lib/components/card/card.module.ts

@ -0,0 +1,14 @@
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';
const declarationsWithExports = [CardComponent, CardBodyComponent, CardTitleComponent];
@NgModule({
declarations: [...declarationsWithExports],
imports: [CommonModule],
exports: [...declarationsWithExports],
})
export class CardModule {}

4
npm/ng-packs/packages/theme-shared/src/lib/components/card/index.ts

@ -0,0 +1,4 @@
export * from './card.module';
export * from './card.component';
export * from './card-body.component';
export * from './card-title.component';

1
npm/ng-packs/packages/theme-shared/src/lib/components/index.ts

@ -11,3 +11,4 @@ export * from './modal/modal.component';
export * from './toast-container/toast-container.component'; export * from './toast-container/toast-container.component';
export * from './toast/toast.component'; export * from './toast/toast.component';
export * from './password/password.component'; export * from './password/password.component';
export * from './card/index';

2
npm/ng-packs/packages/theme-shared/src/lib/directives/visible.directive.ts

@ -8,7 +8,7 @@ export class AbpVisibleDirective implements OnDestroy, OnInit {
conditionSubscription: Subscription | undefined; conditionSubscription: Subscription | undefined;
isVisible: boolean | undefined; isVisible: boolean | undefined;
@Input('abpVisible') set abpVisible( @Input() set abpVisible(
value: boolean | Promise<boolean> | Observable<boolean> | undefined | null, value: boolean | Promise<boolean> | Observable<boolean> | undefined | null,
) { ) {
this.condition$ = checkType(value); this.condition$ = checkType(value);

11
npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts

@ -36,8 +36,10 @@ import { HTTP_ERROR_CONFIG, httpErrorConfigFactory } from './tokens/http-error.t
import { DateParserFormatter } from './utils/date-parser-formatter'; import { DateParserFormatter } from './utils/date-parser-formatter';
import { CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS } from './tokens/confirmation-icons.token'; import { CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS } from './tokens/confirmation-icons.token';
import { PasswordComponent } from './components/password/password.component'; import { PasswordComponent } from './components/password/password.component';
import { CardModule } from './components/card/card.module';
import { AbpVisibleDirective } from './directives'; import { AbpVisibleDirective } from './directives';
const declarationsWithExports = [ const declarationsWithExports = [
BreadcrumbComponent, BreadcrumbComponent,
BreadcrumbItemsComponent, BreadcrumbItemsComponent,
@ -63,9 +65,16 @@ const declarationsWithExports = [
NgxValidateCoreModule, NgxValidateCoreModule,
NgbPaginationModule, NgbPaginationModule,
EllipsisModule, EllipsisModule,
CardModule,
], ],
declarations: [...declarationsWithExports, HttpErrorWrapperComponent], declarations: [...declarationsWithExports, HttpErrorWrapperComponent],
exports: [NgxDatatableModule, EllipsisModule, NgxValidateCoreModule, ...declarationsWithExports], exports: [
NgxDatatableModule,
EllipsisModule,
NgxValidateCoreModule,
...declarationsWithExports,
CardModule,
],
providers: [DatePipe], providers: [DatePipe],
}) })
export class BaseThemeSharedModule {} export class BaseThemeSharedModule {}

Loading…
Cancel
Save