Skip to content

Commit 5afbb94

Browse files
committed
Move ShowDescription pipe
1 parent 0dfa19a commit 5afbb94

File tree

11 files changed

+96
-74
lines changed

11 files changed

+96
-74
lines changed

libs/schematic/generators/ng-generate/components/shared/generators/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
export * from './components/index';
1515
export * from './directives/index';
1616
export * from './modules/index';
17-
export * from './pipes/index';
1817
export * from './constants/index';
1918
export * from './services/index';
2019
export * from './styles/index';

libs/schematic/generators/ng-generate/components/shared/generators/pipes/index.ts

Lines changed: 0 additions & 14 deletions
This file was deleted.

libs/schematic/generators/ng-generate/components/shared/generators/pipes/show-description/files/__name@dasherize__.pipe.ts.template

Lines changed: 0 additions & 14 deletions
This file was deleted.

libs/schematic/generators/ng-generate/components/shared/generators/pipes/show-description/index.ts

Lines changed: 0 additions & 32 deletions
This file was deleted.

libs/schematic/generators/ng-generate/components/shared/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import {
3131
generateCustomService,
3232
generateFilterService,
3333
generateGeneralStyle,
34-
generateShowDescriptionPipe,
3534
generateValidateInputDirective,
3635
} from './generators/index';
3736
import {APP_SHARED_MODULES, cardModules, formModules, tableModules, updateSharedModule} from '../../../utils/modules';
@@ -240,7 +239,6 @@ export function generateGeneralFilesRules(): Array<Rule> {
240239
wrapBuildComponentExecution(options),
241240
generateCustomService(options),
242241
generateValidateInputDirective(options),
243-
generateShowDescriptionPipe(options),
244242
generateSemanticExplanation(options as Values),
245243
];
246244
}

libs/schematic/generators/ng-generate/components/shared/methods/generation/extended-table.html.template

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
let isEmptyValue = `row.${cellPropertyPath} === null || row.${cellPropertyPath} === undefined`;
4040
let propertyLocaleKeyPath = `${options.templateHelper.getVersionedAccessPrefix(options)}${options.isAspectSelected ? options.jsonAccessPath : ''}${value.complexPrefix}${value.property.name}`;
4141
let datePipe = options.templateHelper.isDateTimeProperty(value.property) ? `| date: ${options.resolveDateTimeFormat(options, value.property)}` : '';
42-
let descriptionPipe = options.templateHelper.isEnumPropertyWithEntityValues(value.property) ? ` | showDescription:get${classify(value.property.name)}Value` : '';
42+
let descriptionPipe = options.templateHelper.isEnumPropertyWithEntityValues(value.property) ? ` | esmfShowDescription:get${classify(value.property.name)}Value` : '';
4343
let cellContent = `!(${isEmptyValue}) ? (row.${cellPropertyPath}${descriptionPipe}${language}${datePipe}) : '-'`;
4444
let isLink = options.templateHelper.isLinkProperty(value.property)
4545
%>
@@ -48,7 +48,7 @@
4848
<ng-container data-test="table-column" matColumnDef="<%= cellPropertyPath %>">
4949
<th data-test="table-header" mat-header-cell *matHeaderCellDef mat-sort-header="<%= cellPropertyPath %>"
5050
<%= options.templateHelper.isNumberProperty(value.property) ? `class="table-header-number"` : '' %>
51-
[resizeColumn]="true" [index]="<%= value.index %>" (dragging)='dragging = $event'
51+
[esmfResizeColumn]="true" (dragging)='dragging = $event'
5252
>
5353
<span data-test="table-header-text">
5454
{{ '<%= propertyLocaleKeyPath %>.preferredName' | transloco }}
@@ -101,7 +101,7 @@
101101
<ng-container data-test="custom-column-container" matColumnDef="<%= columnName %>">
102102
<% if(options.enableVersionSupport) { %>
103103
<th data-test="custom-column-header" mat-header-cell *matHeaderCellDef mat-sort-header
104-
[resizeColumn]="true" [index]="<%= customColumnIndex %>" (dragging)='dragging = $event'>
104+
[esmfResizeColumn]="true" (dragging)='dragging = $event'>
105105
<span data-test="table-header-text">
106106
{{'<%= options.selectedModelTypeName.toLowerCase() %>.v<%= options.formatedAspectModelVersion %>.customColumn.<%= columnName %>' | transloco }}
107107
</span>
@@ -117,7 +117,7 @@
117117
</th>
118118
<% } else { %>
119119
<th data-test="custom-column-header" mat-header-cell *matHeaderCellDef mat-sort-header
120-
[resizeColumn]="true" [index]="<%= customColumnIndex %>" (dragging)='dragging = $event'>
120+
[esmfResizeColumn]="true" (dragging)='dragging = $event'>
121121
<span data-test="table-header-text">
122122
{{ '<%= options.selectedModelTypeName.toLowerCase() %>.customColumn.<%= columnName %>' | transloco }}
123123
</span>

libs/schematic/generators/ng-generate/components/shared/methods/generation/simple-table.html.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
let isEmptyValue = `row.${cellPropertyPath} === null || row.${cellPropertyPath} === undefined`;
5050
let propertyLocaleKeyPath = `${options.templateHelper.getVersionedAccessPrefix(options)}${options.isAspectSelected ? options.jsonAccessPath : ''}${value.complexPrefix}${value.property.name}`;
5151
let datePipe = options.templateHelper.isDateTimeProperty(value.property) ? `| date: ${options.resolveDateTimeFormat(options, value.property)}` : '';
52-
let descriptionPipe = options.templateHelper.isEnumPropertyWithEntityValues(value.property) ? ` | showDescription:get${classify(value.property.name)}Value` : '';
52+
let descriptionPipe = options.templateHelper.isEnumPropertyWithEntityValues(value.property) ? ` | esmfShowDescription:get${classify(value.property.name)}Value` : '';
5353
let cellContent = `!(${isEmptyValue}) ? (row.${cellPropertyPath}${descriptionPipe}${language}${datePipe}) : '-'`;
5454
%>
5555

@@ -62,7 +62,7 @@
6262
<ng-container data-test="table-column" matColumnDef="<%= cellPropertyPath %>">
6363
<th data-test="table-header" mat-header-cell *matHeaderCellDef
6464
<%= options.templateHelper.isNumberProperty(value.property) ? `class="table-header-number"` : '' %>
65-
[resizeColumn]="true" [index]="<%= value.index %>" (dragging)='dragging = $event'
65+
[esmfResizeColumn]="true" (dragging)='dragging = $event'
6666
>
6767
<span [matTooltip]=" '<%= propertyLocaleKeyPath %>.description' | transloco"
6868
[matTooltipDisabled]="headerTooltipsOff"

libs/schematic/generators/ng-generate/components/table/generators/components/table/files/__name@dasherize__.component.ts.template

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ import {
2727
<% if (options.changeDetection) { %>ChangeDetectionStrategy,<% } %>
2828
} from '@angular/core';
2929
import { MatPaginator } from '@angular/material/paginator';
30-
import { MatSort, SortDirection } from '@angular/material/sort';
31-
import { MatTable } from '@angular/material/table';
30+
import { MatSort, MatSortModule, SortDirection } from '@angular/material/sort';
31+
import { MatTable, MatTableModule } from '@angular/material/table';
3232

3333
<% if (options.hasFilters || options.hasSearchBar) { %>
3434
import {<%= options.filterServiceName %>} from './<%= cmpFileName %>-filter.service';
@@ -47,7 +47,7 @@ import {
4747
, <%= enumProperties %>
4848
<% } %>
4949
} from './<%= dasherize(options.aspectModelTypeName) %>.types';
50-
import {<%= tableDataSourceName %>, EsmfPaginatorSelectConfigInjector, EsmfLocalStorageService, Config} from '@esmf/semantic-ui-schematic';
50+
import {<%= tableDataSourceName %>, EsmfPaginatorSelectConfigInjector, EsmfLocalStorageService, EsmfShowDescriptionPipe, EsmfResizeColumnDirective, Config} from '@esmf/semantic-ui-schematic';
5151

5252
<% if (options.isDateQuickFilter) { %>
5353
import {DateAdapter, MAT_DATE_FORMATS, MatDateFormats} from '@angular/material/core';
@@ -115,12 +115,14 @@ type Entity = <%= classify(options.selectedModelTypeName) %>;
115115
selector: '<%= options.selector %>',
116116
imports: [
117117
EsmfChipListComponent,
118+
EsmfShowDescriptionPipe,
119+
EsmfResizeColumnDirective,
118120
MatPaginator,
119121
MatMenu,
120122
MatIconButton,
121-
MatSort,
123+
MatSortModule,
122124
NgClass,
123-
MatTable,
125+
MatTableModule,
124126
MatIcon,
125127
MatTooltip,
126128
EsmfTableCellComponent,

libs/schematic/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,5 @@ export * from './lib/services/remote-table-data-source.service';
1717
export * from './lib/services/static-table-data-source.service';
1818

1919
export * from './lib/models/filter.definition';
20+
21+
export * from './lib/pipes/show-description.pipe';
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import { EsmfShowDescriptionPipe } from './show-description.pipe';
2+
3+
describe('EsmfShowDescriptionPipe', () => {
4+
let pipe: EsmfShowDescriptionPipe;
5+
6+
beforeEach(() => {
7+
pipe = new EsmfShowDescriptionPipe();
8+
});
9+
10+
it('should return value and description when both are present', () => {
11+
const mockFn = jest.fn((value: string | undefined) => ({ description: 'Test Description' }));
12+
const result = pipe.transform('testValue', mockFn);
13+
14+
expect(result).toBe('testValue - Test Description');
15+
expect(mockFn).toHaveBeenCalledWith('testValue');
16+
});
17+
18+
it('should return only description when onlyDesc is true', () => {
19+
const mockFn = jest.fn((value: string | undefined) => ({ description: 'Test Description' }));
20+
const result = pipe.transform('testValue', mockFn, true);
21+
22+
expect(result).toBe('Test Description');
23+
expect(mockFn).toHaveBeenCalledWith('testValue');
24+
});
25+
26+
it('should handle undefined value', () => {
27+
const mockFn = jest.fn((value: string | undefined) => ({ description: 'Default Description' }));
28+
const result = pipe.transform(undefined, mockFn);
29+
30+
expect(result).toBe('Default Description');
31+
expect(mockFn).toHaveBeenCalledWith(undefined);
32+
});
33+
34+
it('should handle null value', () => {
35+
const mockFn = jest.fn((value: string | undefined) => ({ description: 'Default Description' }));
36+
const result = pipe.transform(null, mockFn);
37+
38+
expect(result).toBe('Default Description');
39+
expect(mockFn).toHaveBeenCalledWith(undefined);
40+
});
41+
42+
it('should handle missing description', () => {
43+
const mockFn = jest.fn((value: string | undefined) => ({}));
44+
const result = pipe.transform('testValue', mockFn);
45+
46+
expect(result).toBe('testValue');
47+
});
48+
49+
it('should handle numeric values', () => {
50+
const mockFn = jest.fn((value: string | undefined) => ({ description: 'Number Description' }));
51+
const result = pipe.transform(123, mockFn);
52+
53+
expect(result).toBe('123 - Number Description');
54+
expect(mockFn).toHaveBeenCalledWith('123');
55+
});
56+
57+
it('should return empty string when value is undefined and description is missing', () => {
58+
const mockFn = jest.fn((value: string | undefined) => ({}));
59+
const result = pipe.transform(undefined, mockFn, true);
60+
61+
expect(result).toBe('');
62+
});
63+
});

0 commit comments

Comments
 (0)