From ec1e7e1d2ad1fbf090c0d0a9dcc8034d63cb9ec2 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 21 Jan 2021 16:47:13 +0300 Subject: [PATCH 1/3] move ellipsis directive to the theme-shared #7374 --- .../packages/core/src/lib/core.module.ts | 4 -- .../packages/core/src/lib/directives/index.ts | 1 - .../src/lib/directives/ellipsis.directive.ts | 46 +++++++++++++++++++ .../theme-shared/src/lib/directives/index.ts | 1 + .../src/lib/tests/ellipsis.directive.spec.ts | 0 5 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts rename npm/ng-packs/packages/{core => theme-shared}/src/lib/tests/ellipsis.directive.spec.ts (100%) diff --git a/npm/ng-packs/packages/core/src/lib/core.module.ts b/npm/ng-packs/packages/core/src/lib/core.module.ts index 260cffd4d3..36d59c929b 100644 --- a/npm/ng-packs/packages/core/src/lib/core.module.ts +++ b/npm/ng-packs/packages/core/src/lib/core.module.ts @@ -11,7 +11,6 @@ import { ReplaceableRouteContainerComponent } from './components/replaceable-rou import { RouterOutletComponent } from './components/router-outlet.component'; import { AutofocusDirective } from './directives/autofocus.directive'; import { InputEventDebounceDirective } from './directives/debounce.directive'; -import { EllipsisDirective } from './directives/ellipsis.directive'; import { ForDirective } from './directives/for.directive'; import { FormSubmitDirective } from './directives/form-submit.directive'; import { InitDirective } from './directives/init.directive'; @@ -53,11 +52,9 @@ export function storageFactory(): OAuthStorage { ReactiveFormsModule, RouterModule, LocalizationModule, - AbstractNgModelComponent, AutofocusDirective, DynamicLayoutComponent, - EllipsisDirective, ForDirective, FormSubmitDirective, InitDirective, @@ -83,7 +80,6 @@ export function storageFactory(): OAuthStorage { AbstractNgModelComponent, AutofocusDirective, DynamicLayoutComponent, - EllipsisDirective, ForDirective, FormSubmitDirective, InitDirective, diff --git a/npm/ng-packs/packages/core/src/lib/directives/index.ts b/npm/ng-packs/packages/core/src/lib/directives/index.ts index a297faa14b..3322b14257 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/index.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/index.ts @@ -1,6 +1,5 @@ export * from './autofocus.directive'; export * from './debounce.directive'; -export * from './ellipsis.directive'; export * from './for.directive'; export * from './form-submit.directive'; export * from './init.directive'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts new file mode 100644 index 0000000000..5e95c5666f --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts @@ -0,0 +1,46 @@ +import { + AfterViewInit, + ChangeDetectorRef, + Directive, + ElementRef, + HostBinding, + Input, + NgModule, +} from '@angular/core'; + +@Directive({ + selector: '[abpEllipsis]', +}) +export class EllipsisDirective implements AfterViewInit { + @Input('abpEllipsis') + width: string; + + @HostBinding('title') + @Input() + title: string; + + @Input('abpEllipsisEnabled') + enabled = true; + + @HostBinding('class.abp-ellipsis-inline') + get inlineClass() { + return this.enabled && this.width; + } + + @HostBinding('class.abp-ellipsis') + get class() { + return this.enabled && !this.width; + } + + @HostBinding('style.max-width') + get maxWidth() { + return this.enabled && this.width ? this.width || '170px' : undefined; + } + + constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {} + + ngAfterViewInit() { + this.title = this.title || (this.elRef.nativeElement as HTMLElement).innerText; + this.cdRef.detectChanges(); + } +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts index a6b666be3b..64b849d4fe 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts @@ -2,3 +2,4 @@ export * from './loading.directive'; export * from './ngx-datatable-default.directive'; export * from './ngx-datatable-list.directive'; export * from './table-sort.directive'; +export * from './ellipsis.directive'; diff --git a/npm/ng-packs/packages/core/src/lib/tests/ellipsis.directive.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/ellipsis.directive.spec.ts similarity index 100% rename from npm/ng-packs/packages/core/src/lib/tests/ellipsis.directive.spec.ts rename to npm/ng-packs/packages/theme-shared/src/lib/tests/ellipsis.directive.spec.ts From 3464474b5183198525ac911853b567d304114532 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 21 Jan 2021 16:47:32 +0300 Subject: [PATCH 2/3] add EllipsisModule #7374 --- .../src/lib/directives/ellipsis.directive.ts | 6 ++++++ .../theme-shared/src/lib/theme-shared.module.ts | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts index 5e95c5666f..6a2ea1ea09 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts @@ -44,3 +44,9 @@ export class EllipsisDirective implements AfterViewInit { this.cdRef.detectChanges(); } } + +@NgModule({ + exports: [EllipsisDirective], + declarations: [EllipsisDirective], +}) +export class EllipsisModule {} 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 8d64febdbf..8d8f08ea6b 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 @@ -25,6 +25,7 @@ import { TableComponent } from './components/table/table.component'; import { ToastContainerComponent } from './components/toast-container/toast-container.component'; import { ToastComponent } from './components/toast/toast.component'; import { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation'; +import { EllipsisModule } from './directives/ellipsis.directive'; import { LoadingDirective } from './directives/loading.directive'; import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive'; import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive'; @@ -57,9 +58,15 @@ const declarationsWithExports = [ ]; @NgModule({ - imports: [CoreModule, NgxDatatableModule, NgxValidateCoreModule, NgbPaginationModule], + imports: [ + CoreModule, + NgxDatatableModule, + NgxValidateCoreModule, + NgbPaginationModule, + EllipsisModule, + ], declarations: [...declarationsWithExports, HttpErrorWrapperComponent, ModalContainerComponent], - exports: [NgxDatatableModule, ...declarationsWithExports], + exports: [NgxDatatableModule, EllipsisModule, ...declarationsWithExports], providers: [DatePipe], entryComponents: [ HttpErrorWrapperComponent, From 566b1afdd5c6d45645329ac70a5f475c41258882 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 21 Jan 2021 16:56:50 +0300 Subject: [PATCH 3/3] add EllipsisDirective document resolves #3188 --- docs/en/UI/Angular/Ellipsis-Directive.md | 83 ++++++++++++++++++ .../images/ellipsis-directive-before.jpg | Bin 0 -> 41116 bytes .../images/ellipsis-directive-result1.jpg | Bin 0 -> 22626 bytes .../images/ellipsis-directive-result2.jpg | Bin 0 -> 13906 bytes docs/en/docs-nav.json | 4 + 5 files changed, 87 insertions(+) create mode 100644 docs/en/UI/Angular/Ellipsis-Directive.md create mode 100644 docs/en/UI/Angular/images/ellipsis-directive-before.jpg create mode 100644 docs/en/UI/Angular/images/ellipsis-directive-result1.jpg create mode 100644 docs/en/UI/Angular/images/ellipsis-directive-result2.jpg diff --git a/docs/en/UI/Angular/Ellipsis-Directive.md b/docs/en/UI/Angular/Ellipsis-Directive.md new file mode 100644 index 0000000000..29335969c1 --- /dev/null +++ b/docs/en/UI/Angular/Ellipsis-Directive.md @@ -0,0 +1,83 @@ +# Ellipsis + +Text inside an HTML element can be truncated easily with an ellipsis by using CSS. To make this even easier, you can use the `EllipsisDirective` which has been exposed from the `@abp/ng.theme.shared` package. + + +## Getting Started + +In order to use the `EllipsisDirective` in an HTML template, the **`ThemeSharedModule`** should be imported into your module like this: + +```js +// ... +import { ThemeSharedModule } from '@abp/ng.theme.shared'; + +@NgModule({ + //... + imports: [..., ThemeSharedModule], +}) +export class MyFeatureModule {} +``` + +or **if you would not like to import** the `ThemeSharedModule`, you can import the **`EllipsisModule`** as shown below: + + +```js +// ... +import { EllipsisModule } from '@abp/ng.theme.shared'; + +@NgModule({ + //... + imports: [..., EllipsisModule], +}) +export class MyFeatureModule {} +``` + +## Usage + +The `EllipsisDirective` is very easy to use. The directive's selector is **`abpEllipsis`**. By adding the `abpEllipsis` attribute to an HTML element, you can activate the `EllipsisDirective` for the HTML element. + +See an example usage: + +```html +

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Laboriosam commodi quae aspernatur, + corporis velit et suscipit id consequuntur amet minima expedita cum reiciendis dolorum + cupiditate? Voluptas eaque voluptatum odio deleniti quo vel illum nemo accusamus nulla ratione + impedit dolorum expedita necessitatibus fugiat ullam beatae, optio eum cupiditate ducimus + architecto. +

+``` + +The `abpEllipsis` attribute has been added to the `

` element that containing very long text inside to activate the `EllipsisDirective`. + +See the result: + +![Ellipsis directive result](./images/ellipsis-directive-result1.jpg) + +The long text has been truncated by using the directive. + +The UI before using the directive looks like this: + +![Before using the EllipsisDirective](./images/ellipsis-directive-before.jpg) + +### Specifying Max Width of an HTML Element + +An HTML element max width can be specified as shown below: + +```html +

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque, optio! +
+ +
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque, optio! +
+ +
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque, optio! +
+``` + +See the result: + +![Ellipsis directive result 2](./images/ellipsis-directive-result2.jpg) \ No newline at end of file diff --git a/docs/en/UI/Angular/images/ellipsis-directive-before.jpg b/docs/en/UI/Angular/images/ellipsis-directive-before.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc534d9a976622178a1bfdab13e6635714d567dd GIT binary patch literal 41116 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≶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 literal 0 HcmV?d00001 diff --git a/docs/en/UI/Angular/images/ellipsis-directive-result1.jpg b/docs/en/UI/Angular/images/ellipsis-directive-result1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe693f4c8c63edf60807198dd9cc20d35f1c62f7 GIT binary patch literal 22626 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 NAN^M;V7NQ_{{UZA4!{5a literal 0 HcmV?d00001 diff --git a/docs/en/UI/Angular/images/ellipsis-directive-result2.jpg b/docs/en/UI/Angular/images/ellipsis-directive-result2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a416bbc05bc1362f0441c6da77f042ab5f26cc5 GIT binary patch literal 13906 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 literal 0 HcmV?d00001 diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 3fff6d67c1..3337521b89 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -830,6 +830,10 @@ { "text": "Page Alerts", "path": "UI/Angular/Page-Alerts.md" + }, + { + "text": "Ellipsis", + "path": "UI/Angular/Ellipsis-Directive.md" } ] },