From 5967ae8e86f340d4ae3a85c0162750c0731b8200 Mon Sep 17 00:00:00 2001 From: khotcholava Date: Tue, 19 Nov 2024 19:23:18 +0400 Subject: [PATCH 01/33] feat(core): closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) - add support for formatting array values in table component --- libs/platform/table/table.component.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libs/platform/table/table.component.ts b/libs/platform/table/table.component.ts index 27db9a52690..4e34aa6ffad 100644 --- a/libs/platform/table/table.component.ts +++ b/libs/platform/table/table.component.ts @@ -1873,6 +1873,11 @@ export class TableComponent return String(value); // Handle non-object values } + // handle array + if (Array.isArray(value)) { + return value.map((val) => this._formatParams(val)).join(', '); + } + return Object.entries(value) .map(([key, val]) => `${key}: ${this._formatParams(val)}`) // Recursive call for nested objects .join(', '); From 3f135e0d29238556e4106155e80958e943616107 Mon Sep 17 00:00:00 2001 From: khotcholava Date: Mon, 25 Nov 2024 13:29:15 +0400 Subject: [PATCH 02/33] feat(core): closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) ## Description Updated the filter parameter to use the column name for improved representation. --- .../table/platform-table-docs.component.html | 818 +++++++++--------- .../interfaces/collection-filter.interface.ts | 1 + .../table-helpers/services/table.service.ts | 29 +- libs/platform/table/table.component.ts | 2 +- 4 files changed, 434 insertions(+), 416 deletions(-) diff --git a/libs/docs/platform/table/platform-table-docs.component.html b/libs/docs/platform/table/platform-table-docs.component.html index 49a8e81c487..975158bbea2 100644 --- a/libs/docs/platform/table/platform-table-docs.component.html +++ b/libs/docs/platform/table/platform-table-docs.component.html @@ -1,112 +1,112 @@ - Simple Table - -

This example shows simple table usage

-

Developers can pass additional content into tables' toolbar left side.

-

- To do that, developers need to wrap needed content with fdp-table-toolbar-left-actions component. -

-

This example also shows the usage of the overflow functionality of the toolbar.

-
- - - - - - - - - Custom Column Width & Column Resizing - - -

- Use width on the table column for setting custom width for the column cells. For the columns - without width set it will be calculated automatically based on the body cell content but not header cell - content. -

- -

Note that if width is set in percents (%), it will be calculated relatively to initial table width.

- -

- Columns width will be recalculated on any width change but you also can use table's method - recalculateTableColumnWidth to recalculate it manually. -

-
- - - - - - - - Custom Column - -

This example shows custom column definition implementation

-

Developers are able to change the appearance of a regular cell and header cell as well.

-

Additionally, developers can define custom renderer of the header cell popover.

-
- - - - - - - - Custom Toolbar Title -This example shows how to customize the title of the table - - - - - - - - Column Freezing - -

Use [freezeColumnsTo]="columnName" to freeze columns up to and including.

-

Use [freezeEndColumnsTo]="columnName" to freeze columns from and to the end of the table.

- -

- Designated freezable columns with the [freezable] input, and end-freezable columns with the - [endFreezable] input. -

- -

- When using this feature, it's very important to set the width for every column as table cell width - won't be calculated properly without it. -

- -

- In the example below, "Name" and "Description" are freezable to the start of the table, and "Date" and - "Verified" are freezable to the end of the table. The frozen status of these columns can be set or unset by - clicking the header cell. The "Price" and "Status" columns cannot be frozen. -

-
- - - - - - - - Loading/Busy State - -

- Use [loading]="true|false" to set busy state. Table component also exposes - onDataRequested and onDataReceived outputs, that can be used to implement any external - loading logic. These events are tied to the querying process through dataSource. -

-

- By default, Table tracks these loading events and apply loading state internally. However, you can modify this - logic by using onDataRequested and onDataReceived methods and - loading input on the component -

-
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initial State @@ -125,303 +125,303 @@ - Tree Table - - This example shows tree table usage. To setup tree table use next properties: - -
    -
  • [isTreeTable] Whether tree mode enabled or no.
  • -
  • [relationKey] Name of the field in the object which contains children nodes.
  • -
- -

Drag & Drop

- -

Tree table supports mouse Drag & Drop by default, so rows can be moved & placed inside other rows.

-

- Drag & Drop events are simply client-side events and any desired backend changes must be handled by catching the - (rowsRearrange) event. -

- -
- -

- Drag and drop is available via keyboard by focusing a row or cell, holding the alt/option key and using the up - or down arrows. -

-

- By default, keyboard drag & drop works in shift mode, which means that focused item will ne moved on the same - level as it's siblings. -

-

- By pressing alt/option + shift key, drag & drop will use 'group' mode with the next sibling based on the - direction of drag & drop. -

-

Drag and drop can be disabled by setting the [enableRowReordering] input to false.

- -

- Additionally, developers can pass custom [dropPredicate] and - [dragoverPredicate] functions to allow/disallow drop on particular row. -

-

- More info on [dropPredicate] and [dragoverPredicate] can be found on - CDK page -

- -

Tree initialization

-

- Tree can be initialized and and its state can be controlled by the application. In order to do this tree needs - be instantiated using TableRow interface, where application set initial state. -

-

- You can also set [enableTristateMode], to propagate selection from children to parents and parent - to children. -

-
- - - - - - - - - Table to render "No data" message - - - This example demonstrates ability to define table to display when no items are found. Use - fdp-table-no-data-wrapper element to define custom "No data" message. - - - - - - - - - Semantic Highlighting - -

This example shows semantic highlighting for the rows.

- -

- Use semanticHighlighting="value" input property on the table to show semantic row's status column. - Where value (string) is the key of the table row's item with status. Available statuses are - valid, warning, information, error. Any other statuses will be percieved as "no status". -

-
- - - - - - - - - Row custom CSS class - - This example demonstrates ability to apply custom CSS classes to the table rows. Use rowsClass input - property of the table component to define custom CSS classes. -
    -
  • Pass string ('customClass') to set custom CSS classes for every row.
  • -
  • - Pass function ((row) => row.field ? 'customClass' : 'anotherClass') which returns string to - describe own logic. Row will be passed as function's parameter. -
  • -
-
- - - - - - - - -Wrapping text in columns - -

This example demonstrates ability to disable wrapping column text into multiple lines.

-

- Pass ([noWrap]="true") input property to the column definition in order to make text inside it not - to wrap. -

-
- - - - - - - - - No outer borders - - For a table without outer borders add [noOuterBorders]="true". Additionally, you can remove the - vertical borders with [noVerticalBorders]="true". - - - - - - - - -Dynamically adding rows to the table - - -

- Table component supports of adding new rows to it by providing user with new row with form controls to define - row columns values. -

-

- To enable adding new rows "on the fly", provide [editMode]="'inline'" input property for - fdp-table-toolbar component. -

-

- WHen new row added, Table Component tries to generate empty object based on columns definitions. If this object - needs to be more sophisticated, developers can pass [editableRowSkeleton] property with configured - empty row object. -

-

By default, editable cell renders form control based on the column [dataType] input property:

-
    -
  • Default: text input
  • -
  • Number: number input
  • -
  • Boolean: switch
  • -
  • Date: date picker
  • -
-

- If you want to render different form control for a specific column, you need to provide a custom template - with*fdpEditableCellDef directive. -

-
- - - - - - - - - - Hiding columns depending on the table size - - -

it is not recommended to use large amount of columns in a table which has small size.

-

- In this case developers can use [fdpTableCellResponsive] directive with responsive breakpoints - object. -

-

- This object should contain key as a minimum width of the breakpoint and value whether or not to show column for - this size. -

-
- - - - - - - - -Initial Loading - -

- As the Table component supports as input a data source that can return observable, it will automatically show - skeleton placeholders while data is being loaded. -

- -

- Please note, that skeleton placeholders only shown before items are loaded for the first time. Every subsequent - loading will be shown with busy indicator. -

-
- - - - - - - -Rendering columns with ngFor loop - -

Platform Table component supports declaring columns with *ngFor loop.

-

When new column added, it will automatically appear in the table.

-

If by default column should be hidden, developers can add [visible]="false" Input property.

-

This way column still will be added to the table configuration dialog, but won't be rendered when added.

-
- - - - - - - - Playground Area - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/platform/table-helpers/interfaces/collection-filter.interface.ts b/libs/platform/table-helpers/interfaces/collection-filter.interface.ts index d71851b69c1..4eb9aee1824 100644 --- a/libs/platform/table-helpers/interfaces/collection-filter.interface.ts +++ b/libs/platform/table-helpers/interfaces/collection-filter.interface.ts @@ -16,6 +16,7 @@ export interface BaseCollectionFilter { value2?: Nullable; exclude?: boolean; strategy?: FilterStrategy; + fieldName?: string; } export interface CollectionStringFilter extends BaseCollectionFilter { strategy: FilterStringStrategy; diff --git a/libs/platform/table-helpers/services/table.service.ts b/libs/platform/table-helpers/services/table.service.ts index 7ff1be0f080..959d5144a95 100644 --- a/libs/platform/table-helpers/services/table.service.ts +++ b/libs/platform/table-helpers/services/table.service.ts @@ -188,7 +188,12 @@ export class TableService { const prevState = this.getTableState(); const prevFilterRules = (prevState && prevState.filterBy) || []; - const newFilterRules: CollectionFilter[] = filterRules ? [...filterRules] : []; + const newFilterRules: CollectionFilter[] = filterRules + ? filterRules.map((rule) => ({ + ...rule, + fieldName: this.getFieldName(rule.field) + })) + : []; const state: TableState = { ...prevState, filterBy: newFilterRules }; if (!equal(prevFilterRules, state.filterBy)) { @@ -209,9 +214,11 @@ export class TableService { const newFilterRules: CollectionFilter[] = [ ...prevFilterRules.filter((existing) => !rulesToAdd.find(({ field }) => field === existing.field)), - ...rulesToAdd + ...rulesToAdd.map((rule) => ({ + ...rule, + fieldName: this.getFieldName(rule.field) + })) ]; - const state: TableState = { ...prevState, filterBy: newFilterRules }; if (!equal(prevFilterRules, state.filterBy)) { @@ -426,10 +433,13 @@ export class TableService { * @param state Table state. */ buildFilterRulesMap(state = this.getTableState()): void { - const prevState = this.getTableState(); - const evt = { current: state.filterBy, previous: prevState.filterBy }; + const filterRulesWithFieldNames = state.filterBy.map((rule) => ({ + ...rule, + fieldName: this.getFieldName(rule.field) + })); + this.filterRules$.set( - state.filterBy.reduce((hash, rule) => { + filterRulesWithFieldNames.reduce((hash, rule) => { const key = rule.field; if (!hash.has(key)) { hash.set(key, []); @@ -438,6 +448,8 @@ export class TableService { return hash; }, new Map()) ); + + const evt = { current: filterRulesWithFieldNames, previous: state.filterBy }; this.stateChange$.next({ type: 'filter', state: evt }); } @@ -468,6 +480,11 @@ export class TableService { this.buildSortRulesMap(); this.buildFilterRulesMap(); } + + private getFieldName(field: string): string { + const column = this.tableColumns$.getValue().find((col) => col.key === field); + return column ? column.name : field; + } } /** @hidden */ diff --git a/libs/platform/table/table.component.ts b/libs/platform/table/table.component.ts index 4e34aa6ffad..64848c529be 100644 --- a/libs/platform/table/table.component.ts +++ b/libs/platform/table/table.component.ts @@ -1860,7 +1860,7 @@ export class TableComponent /** @hidden */ private _setAppliedFilterNames(filters: CollectionFilter[]): void { const formattedFilters = filters.map((f) => ({ - columnName: this._formatColumnName(f.field), + columnName: this._formatColumnName(f.fieldName || ''), params: this._formatParams(f.value) })); From 34e1581b2c35b6755bdf38fc73c67dbc96d3843e Mon Sep 17 00:00:00 2001 From: khotcholava Date: Fri, 29 Nov 2024 16:11:54 +0400 Subject: [PATCH 03/33] feat(platform): table filter enhancement closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) ## Description fix table component host spec test --- libs/platform/table/tests/table.component-host.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/platform/table/tests/table.component-host.spec.ts b/libs/platform/table/tests/table.component-host.spec.ts index cb2e0861c38..c5c21ee5eab 100644 --- a/libs/platform/table/tests/table.component-host.spec.ts +++ b/libs/platform/table/tests/table.component-host.spec.ts @@ -488,7 +488,7 @@ describe('TableComponent Host', () => { describe('data source', () => { it('fetch should be triggered when call table.filter()', () => { const filterBy: CollectionFilter[] = [ - { field: 'status', value: 'valid', strategy: 'equalTo', exclude: false } + { field: 'status', value: 'valid', strategy: 'equalTo', fieldName: 'status', exclude: false } ]; tableComponent.filter(filterBy); From 5c3ed1f1d9bedd3d13ee2d8024bbff3a2d80aad6 Mon Sep 17 00:00:00 2001 From: khotcholava Date: Fri, 29 Nov 2024 16:37:44 +0400 Subject: [PATCH 04/33] feat(platform): table filter enhancement closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) ## Description fix table component host spec test --- libs/platform/table-helpers/services/table.service.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/platform/table-helpers/services/table.service.spec.ts b/libs/platform/table-helpers/services/table.service.spec.ts index c74432faecd..e0d710ef683 100644 --- a/libs/platform/table-helpers/services/table.service.spec.ts +++ b/libs/platform/table-helpers/services/table.service.spec.ts @@ -72,7 +72,7 @@ describe('TableServiceService', () => { const setTableStateSpy = jest.spyOn(service, 'setTableState'); const filterChangeSpy = jest.spyOn(service.filterChange$, 'next'); const newFilterBy: CollectionStringFilter[] = [ - { field: 'name', value: 'Product name', strategy: FILTER_STRING_STRATEGY.CONTAINS } + { field: 'name', value: 'Product name', fieldName: 'name', strategy: FILTER_STRING_STRATEGY.CONTAINS } ]; const newState: TableState = { ...DEFAULT_TABLE_STATE, filterBy: newFilterBy }; const event: FilterChange = { current: newFilterBy, previous: DEFAULT_TABLE_STATE.filterBy }; From c1c7ab0f0b539c60ad47502d809aa940d02f3f25 Mon Sep 17 00:00:00 2001 From: khotcholava Date: Fri, 29 Nov 2024 19:23:58 +0400 Subject: [PATCH 05/33] feat(platform): table filter enhancement closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) ## Description fix table component host spec test --- libs/docs/platform/table/e2e/table.po.ts | 3 + .../table/platform-table-docs.component.html | 818 +++++++++--------- 2 files changed, 412 insertions(+), 409 deletions(-) diff --git a/libs/docs/platform/table/e2e/table.po.ts b/libs/docs/platform/table/e2e/table.po.ts index 7bce9ff57a2..bcac85691fd 100644 --- a/libs/docs/platform/table/e2e/table.po.ts +++ b/libs/docs/platform/table/e2e/table.po.ts @@ -107,6 +107,9 @@ export class TablePo extends PlatformBaseComponentPo { constructor(public readonly url: string) { super(); + console.log({ + url: this.url + }); } async open(): Promise { diff --git a/libs/docs/platform/table/platform-table-docs.component.html b/libs/docs/platform/table/platform-table-docs.component.html index 975158bbea2..49a8e81c487 100644 --- a/libs/docs/platform/table/platform-table-docs.component.html +++ b/libs/docs/platform/table/platform-table-docs.component.html @@ -1,112 +1,112 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Simple Table + +

This example shows simple table usage

+

Developers can pass additional content into tables' toolbar left side.

+

+ To do that, developers need to wrap needed content with fdp-table-toolbar-left-actions component. +

+

This example also shows the usage of the overflow functionality of the toolbar.

+
+ + + + + + + + + Custom Column Width & Column Resizing + + +

+ Use width on the table column for setting custom width for the column cells. For the columns + without width set it will be calculated automatically based on the body cell content but not header cell + content. +

+ +

Note that if width is set in percents (%), it will be calculated relatively to initial table width.

+ +

+ Columns width will be recalculated on any width change but you also can use table's method + recalculateTableColumnWidth to recalculate it manually. +

+
+ + + + + + + + Custom Column + +

This example shows custom column definition implementation

+

Developers are able to change the appearance of a regular cell and header cell as well.

+

Additionally, developers can define custom renderer of the header cell popover.

+
+ + + + + + + + Custom Toolbar Title +This example shows how to customize the title of the table + + + + + + + + Column Freezing + +

Use [freezeColumnsTo]="columnName" to freeze columns up to and including.

+

Use [freezeEndColumnsTo]="columnName" to freeze columns from and to the end of the table.

+ +

+ Designated freezable columns with the [freezable] input, and end-freezable columns with the + [endFreezable] input. +

+ +

+ When using this feature, it's very important to set the width for every column as table cell width + won't be calculated properly without it. +

+ +

+ In the example below, "Name" and "Description" are freezable to the start of the table, and "Date" and + "Verified" are freezable to the end of the table. The frozen status of these columns can be set or unset by + clicking the header cell. The "Price" and "Status" columns cannot be frozen. +

+
+ + + + + + + + Loading/Busy State + +

+ Use [loading]="true|false" to set busy state. Table component also exposes + onDataRequested and onDataReceived outputs, that can be used to implement any external + loading logic. These events are tied to the querying process through dataSource. +

+

+ By default, Table tracks these loading events and apply loading state internally. However, you can modify this + logic by using onDataRequested and onDataReceived methods and + loading input on the component +

+
+ + + + + + Initial State @@ -125,303 +125,303 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Tree Table + + This example shows tree table usage. To setup tree table use next properties: + +
    +
  • [isTreeTable] Whether tree mode enabled or no.
  • +
  • [relationKey] Name of the field in the object which contains children nodes.
  • +
+ +

Drag & Drop

+ +

Tree table supports mouse Drag & Drop by default, so rows can be moved & placed inside other rows.

+

+ Drag & Drop events are simply client-side events and any desired backend changes must be handled by catching the + (rowsRearrange) event. +

+ +
+ +

+ Drag and drop is available via keyboard by focusing a row or cell, holding the alt/option key and using the up + or down arrows. +

+

+ By default, keyboard drag & drop works in shift mode, which means that focused item will ne moved on the same + level as it's siblings. +

+

+ By pressing alt/option + shift key, drag & drop will use 'group' mode with the next sibling based on the + direction of drag & drop. +

+

Drag and drop can be disabled by setting the [enableRowReordering] input to false.

+ +

+ Additionally, developers can pass custom [dropPredicate] and + [dragoverPredicate] functions to allow/disallow drop on particular row. +

+

+ More info on [dropPredicate] and [dragoverPredicate] can be found on + CDK page +

+ +

Tree initialization

+

+ Tree can be initialized and and its state can be controlled by the application. In order to do this tree needs + be instantiated using TableRow interface, where application set initial state. +

+

+ You can also set [enableTristateMode], to propagate selection from children to parents and parent + to children. +

+
+ + + + + + + + + Table to render "No data" message + + + This example demonstrates ability to define table to display when no items are found. Use + fdp-table-no-data-wrapper element to define custom "No data" message. + + + + + + + + + Semantic Highlighting + +

This example shows semantic highlighting for the rows.

+ +

+ Use semanticHighlighting="value" input property on the table to show semantic row's status column. + Where value (string) is the key of the table row's item with status. Available statuses are + valid, warning, information, error. Any other statuses will be percieved as "no status". +

+
+ + + + + + + + + Row custom CSS class + + This example demonstrates ability to apply custom CSS classes to the table rows. Use rowsClass input + property of the table component to define custom CSS classes. +
    +
  • Pass string ('customClass') to set custom CSS classes for every row.
  • +
  • + Pass function ((row) => row.field ? 'customClass' : 'anotherClass') which returns string to + describe own logic. Row will be passed as function's parameter. +
  • +
+
+ + + + + + + + +Wrapping text in columns + +

This example demonstrates ability to disable wrapping column text into multiple lines.

+

+ Pass ([noWrap]="true") input property to the column definition in order to make text inside it not + to wrap. +

+
+ + + + + + + + + No outer borders + + For a table without outer borders add [noOuterBorders]="true". Additionally, you can remove the + vertical borders with [noVerticalBorders]="true". + + + + + + + + +Dynamically adding rows to the table + + +

+ Table component supports of adding new rows to it by providing user with new row with form controls to define + row columns values. +

+

+ To enable adding new rows "on the fly", provide [editMode]="'inline'" input property for + fdp-table-toolbar component. +

+

+ WHen new row added, Table Component tries to generate empty object based on columns definitions. If this object + needs to be more sophisticated, developers can pass [editableRowSkeleton] property with configured + empty row object. +

+

By default, editable cell renders form control based on the column [dataType] input property:

+
    +
  • Default: text input
  • +
  • Number: number input
  • +
  • Boolean: switch
  • +
  • Date: date picker
  • +
+

+ If you want to render different form control for a specific column, you need to provide a custom template + with*fdpEditableCellDef directive. +

+
+ + + + + + + + + + Hiding columns depending on the table size + + +

it is not recommended to use large amount of columns in a table which has small size.

+

+ In this case developers can use [fdpTableCellResponsive] directive with responsive breakpoints + object. +

+

+ This object should contain key as a minimum width of the breakpoint and value whether or not to show column for + this size. +

+
+ + + + + + + + +Initial Loading + +

+ As the Table component supports as input a data source that can return observable, it will automatically show + skeleton placeholders while data is being loaded. +

+ +

+ Please note, that skeleton placeholders only shown before items are loaded for the first time. Every subsequent + loading will be shown with busy indicator. +

+
+ + + + + + + +Rendering columns with ngFor loop + +

Platform Table component supports declaring columns with *ngFor loop.

+

When new column added, it will automatically appear in the table.

+

If by default column should be hidden, developers can add [visible]="false" Input property.

+

This way column still will be added to the table configuration dialog, but won't be rendered when added.

+
+ + + + + + + + Playground Area + + + + + + + + + + + + + + + + + + From 20f6e29ebe2b9f629de79b8c7d8d33672d2cc528 Mon Sep 17 00:00:00 2001 From: khotcholava Date: Fri, 29 Nov 2024 19:24:11 +0400 Subject: [PATCH 06/33] feat(platform): table filter enhancement closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) ## Description fix table component host spec test --- libs/docs/platform/table/e2e/table.po.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/libs/docs/platform/table/e2e/table.po.ts b/libs/docs/platform/table/e2e/table.po.ts index bcac85691fd..7bce9ff57a2 100644 --- a/libs/docs/platform/table/e2e/table.po.ts +++ b/libs/docs/platform/table/e2e/table.po.ts @@ -107,9 +107,6 @@ export class TablePo extends PlatformBaseComponentPo { constructor(public readonly url: string) { super(); - console.log({ - url: this.url - }); } async open(): Promise { From a0d9d3513b20bcc89f7a8bdf0dea43e5acba0147 Mon Sep 17 00:00:00 2001 From: khotcholava Date: Wed, 4 Dec 2024 22:39:34 +0400 Subject: [PATCH 07/33] feat(platform): table filter enhancement - Added '_', and annotation to private method --- libs/platform/table-helpers/services/table.service.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libs/platform/table-helpers/services/table.service.ts b/libs/platform/table-helpers/services/table.service.ts index 959d5144a95..ab1a4e8a37a 100644 --- a/libs/platform/table-helpers/services/table.service.ts +++ b/libs/platform/table-helpers/services/table.service.ts @@ -191,7 +191,7 @@ export class TableService { const newFilterRules: CollectionFilter[] = filterRules ? filterRules.map((rule) => ({ ...rule, - fieldName: this.getFieldName(rule.field) + fieldName: this._getFieldName(rule.field) })) : []; const state: TableState = { ...prevState, filterBy: newFilterRules }; @@ -216,7 +216,7 @@ export class TableService { ...prevFilterRules.filter((existing) => !rulesToAdd.find(({ field }) => field === existing.field)), ...rulesToAdd.map((rule) => ({ ...rule, - fieldName: this.getFieldName(rule.field) + fieldName: this._getFieldName(rule.field) })) ]; const state: TableState = { ...prevState, filterBy: newFilterRules }; @@ -435,7 +435,7 @@ export class TableService { buildFilterRulesMap(state = this.getTableState()): void { const filterRulesWithFieldNames = state.filterBy.map((rule) => ({ ...rule, - fieldName: this.getFieldName(rule.field) + fieldName: this._getFieldName(rule.field) })); this.filterRules$.set( @@ -481,7 +481,8 @@ export class TableService { this.buildFilterRulesMap(); } - private getFieldName(field: string): string { + /** @hidden */ + private _getFieldName(field: string): string { const column = this.tableColumns$.getValue().find((col) => col.key === field); return column ? column.name : field; } From 748ed9eaafb6f8dedca3bd92f14758fdd3b64518 Mon Sep 17 00:00:00 2001 From: Akaki <31448057+khotcholava@users.noreply.github.com> Date: Mon, 9 Dec 2024 17:34:49 +0400 Subject: [PATCH 08/33] fix(table): table filter toolbar closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) Correct handling of filter inputs by using the columnName instead of columnKey to better represent user selections. Additionally, toolbar styling is modified to prevent unnecessary shrinking, thus enhancing the overall interface consistency. --- libs/core/toolbar/toolbar.component.scss | 3 +++ libs/core/toolbar/toolbar.component.ts | 5 +++++ .../components/table-toolbar/table-toolbar.component.html | 1 + .../filtering/filter-step.component.ts | 6 +++++- .../filtering/filters.component.html | 3 ++- .../filtering/filters.component.ts | 2 +- 6 files changed, 17 insertions(+), 3 deletions(-) diff --git a/libs/core/toolbar/toolbar.component.scss b/libs/core/toolbar/toolbar.component.scss index a6eff2aaf48..c980bcc8615 100644 --- a/libs/core/toolbar/toolbar.component.scss +++ b/libs/core/toolbar/toolbar.component.scss @@ -4,6 +4,9 @@ flex-shrink: 0; } +.fd-toolbar--no-shrink > * { + flex-shrink: 1; +} fdk-dynamic-portal { &:not(:last-of-type) { [fd-toolbar-item] { diff --git a/libs/core/toolbar/toolbar.component.ts b/libs/core/toolbar/toolbar.component.ts index 844e6b24a5c..f4fc563ee49 100644 --- a/libs/core/toolbar/toolbar.component.ts +++ b/libs/core/toolbar/toolbar.component.ts @@ -121,6 +121,10 @@ export class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssCla @Input() fdType: ToolbarType = 'solid'; + /** Determines if toolbar should be shrunk */ + @Input() + noShrink = false; + /** The title for the toolbar. */ @Input() title: string; @@ -247,6 +251,7 @@ export class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssCla buildComponentCssClass(): string[] { return [ 'fd-toolbar', + `${this.noShrink ? 'fd-toolbar--no-shrink' : ''}`, `fd-toolbar--${this.fdType}`, `${this.active && this.fdType === 'info' ? 'fd-toolbar--active' : ''}`, `${this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`, diff --git a/libs/platform/table/components/table-toolbar/table-toolbar.component.html b/libs/platform/table/components/table-toolbar/table-toolbar.component.html index 639c58ac874..14fb08723ab 100644 --- a/libs/platform/table/components/table-toolbar/table-toolbar.component.html +++ b/libs/platform/table/components/table-toolbar/table-toolbar.component.html @@ -160,6 +160,7 @@ @if (appliedFilters().length) { } @else if (activeStep === ACTIVE_STEP.FILTER) { name === (filter).column - )?.key; + )?.label; this._cd.detectChanges(); } From 117f0586ebe52fedc7ab5825b68fcbe512ea0283 Mon Sep 17 00:00:00 2001 From: Akaki <31448057+khotcholava@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:16:42 +0400 Subject: [PATCH 09/33] fix(table): table filter toolbar closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) Fixed filter dialog filtering --- .../platform/table-helpers/services/table.service.ts | 12 ++++++------ .../filtering/filter-step.component.ts | 3 ++- .../filtering/filters.component.html | 2 +- .../filtering/filters.component.ts | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/libs/platform/table-helpers/services/table.service.ts b/libs/platform/table-helpers/services/table.service.ts index ab1a4e8a37a..f3d7fcf9556 100644 --- a/libs/platform/table-helpers/services/table.service.ts +++ b/libs/platform/table-helpers/services/table.service.ts @@ -17,6 +17,7 @@ import { SortChange } from '../models'; import { TableColumn } from '../table-column'; +import { Nullable } from '@fundamental-ngx/cdk/utils'; export type TableStateChange = | TableStateProperty<'sort', SortChange> @@ -191,7 +192,7 @@ export class TableService { const newFilterRules: CollectionFilter[] = filterRules ? filterRules.map((rule) => ({ ...rule, - fieldName: this._getFieldName(rule.field) + fieldName: this._getFieldName(rule.field, rule.fieldName) })) : []; const state: TableState = { ...prevState, filterBy: newFilterRules }; @@ -216,7 +217,7 @@ export class TableService { ...prevFilterRules.filter((existing) => !rulesToAdd.find(({ field }) => field === existing.field)), ...rulesToAdd.map((rule) => ({ ...rule, - fieldName: this._getFieldName(rule.field) + fieldName: this._getFieldName(rule.field, rule.fieldName) })) ]; const state: TableState = { ...prevState, filterBy: newFilterRules }; @@ -435,7 +436,7 @@ export class TableService { buildFilterRulesMap(state = this.getTableState()): void { const filterRulesWithFieldNames = state.filterBy.map((rule) => ({ ...rule, - fieldName: this._getFieldName(rule.field) + fieldName: this._getFieldName(rule.field, rule.fieldName) })); this.filterRules$.set( @@ -482,10 +483,9 @@ export class TableService { } /** @hidden */ - private _getFieldName(field: string): string { + private _getFieldName(field: string, fieldName: Nullable): string { const column = this.tableColumns$.getValue().find((col) => col.key === field); - return column ? column.name : field; - } + return column ? column.name : fieldName ?? field; } } /** @hidden */ diff --git a/libs/platform/table/components/table-view-settings-dialog/filtering/filter-step.component.ts b/libs/platform/table/components/table-view-settings-dialog/filtering/filter-step.component.ts index 7b684080df8..67b9a01f868 100644 --- a/libs/platform/table/components/table-view-settings-dialog/filtering/filter-step.component.ts +++ b/libs/platform/table/components/table-view-settings-dialog/filtering/filter-step.component.ts @@ -94,7 +94,8 @@ export class FilterStepComponent implements FiltersViewStep { /** @hidden */ _onFilterValueChange(filterValue: any): void { const filterBy: CollectionFilter = this._filterBy || { - field: this.columnName, + field: this.columnKey, + fieldName: this.columnName, value: null, strategy: FILTER_STRATEGY.EQ, exclude: false diff --git a/libs/platform/table/components/table-view-settings-dialog/filtering/filters.component.html b/libs/platform/table/components/table-view-settings-dialog/filtering/filters.component.html index 2fd9f820c7a..5fffb377ebd 100644 --- a/libs/platform/table/components/table-view-settings-dialog/filtering/filters.component.html +++ b/libs/platform/table/components/table-view-settings-dialog/filtering/filters.component.html @@ -43,7 +43,7 @@ > } @else if (activeStep === ACTIVE_STEP.FILTER) { name === (filter).column - )?.label; + )?.key; this._cd.detectChanges(); } From 1db00cb6bf3fab02935a90eb3c4123e6d99761d4 Mon Sep 17 00:00:00 2001 From: Akaki <31448057+khotcholava@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:21:28 +0400 Subject: [PATCH 10/33] fix(table): table filter toolbar closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) Removed space between filter param and coma --- .../components/table-toolbar/table-toolbar.component.html | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libs/platform/table/components/table-toolbar/table-toolbar.component.html b/libs/platform/table/components/table-toolbar/table-toolbar.component.html index 14fb08723ab..5ad415a76ce 100644 --- a/libs/platform/table/components/table-toolbar/table-toolbar.component.html +++ b/libs/platform/table/components/table-toolbar/table-toolbar.component.html @@ -170,10 +170,7 @@ From 4a08c25b6fb47591db2aaf906c2bf99a03cfc024 Mon Sep 17 00:00:00 2001 From: Akaki <31448057+khotcholava@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:57:29 +0400 Subject: [PATCH 11/33] fix(platform): table filter toolbar closes [#11783](https://github.com/SAP/fundamental-ngx/issues/11783) Fixed formatting --- libs/platform/table-helpers/services/table.service.ts | 5 +++-- .../table-toolbar/table-toolbar.component.html | 4 +--- .../table-toolbar/table-toolbar.component.ts | 10 ++++++++++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/libs/platform/table-helpers/services/table.service.ts b/libs/platform/table-helpers/services/table.service.ts index f3d7fcf9556..3ac3d0f3446 100644 --- a/libs/platform/table-helpers/services/table.service.ts +++ b/libs/platform/table-helpers/services/table.service.ts @@ -6,6 +6,7 @@ import { skip } from 'rxjs/operators'; import { DEFAULT_TABLE_STATE } from '../constants'; import { toSignal } from '@angular/core/rxjs-interop'; +import { Nullable } from '@fundamental-ngx/cdk/utils'; import { CollectionFilter, CollectionGroup, CollectionPage, CollectionSort, TableState } from '../interfaces'; import { ColumnsChange, @@ -17,7 +18,6 @@ import { SortChange } from '../models'; import { TableColumn } from '../table-column'; -import { Nullable } from '@fundamental-ngx/cdk/utils'; export type TableStateChange = | TableStateProperty<'sort', SortChange> @@ -485,7 +485,8 @@ export class TableService { /** @hidden */ private _getFieldName(field: string, fieldName: Nullable): string { const column = this.tableColumns$.getValue().find((col) => col.key === field); - return column ? column.name : fieldName ?? field; } + return column ? column.name : fieldName ?? field; + } } /** @hidden */ diff --git a/libs/platform/table/components/table-toolbar/table-toolbar.component.html b/libs/platform/table/components/table-toolbar/table-toolbar.component.html index 5ad415a76ce..5a767688c45 100644 --- a/libs/platform/table/components/table-toolbar/table-toolbar.component.html +++ b/libs/platform/table/components/table-toolbar/table-toolbar.component.html @@ -169,9 +169,7 @@ > - - - diff --git a/libs/docs/core/illustrated-message/examples/illustrated-message-inline-example.component.ts b/libs/docs/core/illustrated-message/examples/illustrated-message-inline-example.component.ts deleted file mode 100644 index 09e32d99ea7..00000000000 --- a/libs/docs/core/illustrated-message/examples/illustrated-message-inline-example.component.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { HttpClient, HttpClientModule } from '@angular/common/http'; -import { AfterViewInit, ChangeDetectionStrategy, Component, WritableSignal, inject, signal } from '@angular/core'; -import { ButtonComponent } from '@fundamental-ngx/core/button'; -import { IllustratedMessageModule, SvgConfig } from '@fundamental-ngx/core/illustrated-message'; -import { Observable, map, zip } from 'rxjs'; - -const sceneSvg = 'assets/images/sapIllus-Scene-NoMail.svg'; -const dialogSvg = 'assets/images/sapIllus-Dialog-NoMail.svg'; -const spotSvg = 'assets/images/sapIllus-Spot-NoMail.svg'; -const dotSvg = 'assets/images/sapIllus-Spot-NoMail.svg'; - -const getAsset = (path: string): Observable => - inject(HttpClient) - .get(path, { - responseType: 'text', - headers: { - accept: 'text/html' - } - }) - .pipe(map((r) => r.trim())); - -@Component({ - selector: 'fd-illustrated-message-inline-example', - templateUrl: './illustrated-message-inline-example.component.html', - standalone: true, - changeDetection: ChangeDetectionStrategy.OnPush, - imports: [IllustratedMessageModule, ButtonComponent, HttpClientModule] -}) -export class IllustratedMessageInlineExampleComponent implements AfterViewInit { - sceneConfig: WritableSignal = signal({}); - assets = [getAsset(sceneSvg), getAsset(dialogSvg), getAsset(spotSvg), getAsset(dotSvg)]; - - ngAfterViewInit() { - zip(...this.assets).subscribe(([scene, dialog, spot, dot]) => { - this.sceneConfig.set({ - scene: { file: scene, id: 'sapIllus-Scene-NoMail-1' }, - dialog: { file: dialog, id: 'sapIllus-Dialog-NoMail' }, - spot: { file: spot, id: 'sapIllus-Spot-NoEmail' }, - dot: { file: dot, id: 'sapIllus-Spot-NoEmail' } - }); - }); - } -} diff --git a/libs/docs/core/illustrated-message/illustrated-message-docs.component.html b/libs/docs/core/illustrated-message/illustrated-message-docs.component.html index 434243a7c71..af3f6c30c7b 100644 --- a/libs/docs/core/illustrated-message/illustrated-message-docs.component.html +++ b/libs/docs/core/illustrated-message/illustrated-message-docs.component.html @@ -41,19 +41,3 @@ - - - - Inline SVG - -

In some cases it's not applicable to use URLs for the SVG locations.

-

- In this case developers can load SVG directly into their js code and pass it as a string to the component. The - configuration object passed to [svgConfig] should contain values for 'scene', 'dialog', 'spot' and - 'dot'. -

-
- - - - diff --git a/libs/docs/core/illustrated-message/illustrated-message-docs.component.ts b/libs/docs/core/illustrated-message/illustrated-message-docs.component.ts index 02b1430ce8e..6f2a932ac35 100644 --- a/libs/docs/core/illustrated-message/illustrated-message-docs.component.ts +++ b/libs/docs/core/illustrated-message/illustrated-message-docs.component.ts @@ -13,7 +13,6 @@ import { import { IllustratedMessageDialogExampleComponent } from './examples/illustrated-message-dialog-example.component'; import { IllustratedMessageDotExampleComponent } from './examples/illustrated-message-dot-example.component'; import { IllustratedMessageExampleComponent } from './examples/illustrated-message-example.component'; -import { IllustratedMessageInlineExampleComponent } from './examples/illustrated-message-inline-example.component'; import { IllustratedMessageSpotExampleComponent } from './examples/illustrated-message-spot-example.component'; const illustratedMessageSrc = 'illustrated-message-example.component.html'; @@ -33,8 +32,6 @@ const illustrationDialogNoMail = 'assets/images/sapIllus-Dialog-NoMail.svg'; const illustrationSceneNoMail = 'assets/images/sapIllus-Scene-NoMail.svg'; const illustrationSpotNoMail = 'assets/images/sapIllus-Spot-NoMail.svg'; -const illusratedMessageInlineSrc = 'illustrated-message-inline-example.component.ts'; -const illusratedMessageInlineHtmlSrc = 'illustrated-message-inline-example.component.html'; @Component({ selector: 'app-illustrated-message', @@ -49,8 +46,7 @@ const illusratedMessageInlineHtmlSrc = 'illustrated-message-inline-example.compo SeparatorComponent, IllustratedMessageDialogExampleComponent, IllustratedMessageSpotExampleComponent, - IllustratedMessageDotExampleComponent, - IllustratedMessageInlineExampleComponent + IllustratedMessageDotExampleComponent ] }) export class IllustratedMessageDocsComponent { @@ -139,30 +135,4 @@ export class IllustratedMessageDocsComponent { path: 'src/assets/images' } ]; - - illustratedMessageInlineExample: ExampleFile[] = [ - { - language: 'html', - code: getAssetFromModuleAssets(illusratedMessageInlineHtmlSrc), - fileName: 'illustrated-message-inline-example' - }, - { - language: 'typescript', - code: getAssetFromModuleAssets(illusratedMessageInlineSrc), - fileName: 'illustrated-message-inline-example', - component: 'IllustratedMessageInlineExampleComponent' - }, - { - language: 'svg', - code: getAsset(illustration), - fileName: 'sapIllus-Dialog-NoMail', - path: 'src/assets/images' - }, - { - language: 'svg', - code: getAsset(illustrationSceneNoMail), - fileName: 'sapIllus-Scene-NoMail', - path: 'src/assets/images' - } - ]; } diff --git a/libs/docs/core/table/examples/no-data/no-data-example.component.html b/libs/docs/core/table/examples/no-data/no-data-example.component.html new file mode 100644 index 00000000000..dcc4eadc070 --- /dev/null +++ b/libs/docs/core/table/examples/no-data/no-data-example.component.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + + +
Column HeaderColumn HeaderColumn Header
+
+
+
+

Headline text goes here

+

+ Description provides user with clarity and possible next steps. +

+
+ +
+
+
diff --git a/libs/docs/core/table/examples/no-data/no-data-example.component.ts b/libs/docs/core/table/examples/no-data/no-data-example.component.ts new file mode 100644 index 00000000000..c91ee258598 --- /dev/null +++ b/libs/docs/core/table/examples/no-data/no-data-example.component.ts @@ -0,0 +1,26 @@ +import { Component } from '@angular/core'; +import { IconComponent } from '@fundamental-ngx/core/icon'; +import { IllustratedMessageModule } from '@fundamental-ngx/core/illustrated-message'; +import { LinkComponent } from '@fundamental-ngx/core/link'; +import { TableModule } from '@fundamental-ngx/core/table'; + +@Component({ + selector: 'fdp-platform-table-no-data-example', + templateUrl: './no-data-example.component.html', + standalone: true, + imports: [TableModule, LinkComponent, IconComponent, IllustratedMessageModule] +}) +export class NoDataExampleComponent { + tableRows = []; + + sceneConfig = { + scene: { + url: 'assets/images/sapIllus-Scene-NoMail.svg', + id: 'sapIllus-Scene-NoMail-1' + }, + dialog: { + url: 'assets/images/sapIllus-Dialog-NoMail.svg', + id: 'sapIllus-Dialog-NoMail' + } + }; +} diff --git a/libs/docs/core/table/table-docs.component.html b/libs/docs/core/table/table-docs.component.html index 36d59aa37ff..b6a54628499 100644 --- a/libs/docs/core/table/table-docs.component.html +++ b/libs/docs/core/table/table-docs.component.html @@ -233,3 +233,14 @@ + + + + No Data + +

This example shows table usage with no data using Illustrated Messages

+
+ + + + diff --git a/libs/docs/core/table/table-docs.component.ts b/libs/docs/core/table/table-docs.component.ts index 43a838a6afe..66a9c43f66f 100644 --- a/libs/docs/core/table/table-docs.component.ts +++ b/libs/docs/core/table/table-docs.component.ts @@ -12,6 +12,7 @@ import { getAssetFromModuleAssets } from '@fundamental-ngx/docs/shared'; import { TableLoadingExampleComponent } from './examples/loading/table-loading-example.component'; +import { NoDataExampleComponent } from './examples/no-data/no-data-example.component'; import { TableActivableExampleComponent } from './examples/table-activable-example.component'; import { TableCdkExampleComponent } from './examples/table-cdk-example.component'; import { TableCheckboxesExampleComponent } from './examples/table-checkboxes-example.component'; @@ -71,6 +72,8 @@ const tableFixedTs = 'table-fixed-example.component.ts'; const tableFixedHtml = 'table-fixed-example.component.html'; const tablePageScrollHtml = 'table-page-scroll-example.component.html'; const tablePageScrollTs = 'table-page-scroll-example.component.ts'; +const noDataExampleHtml = 'no-data/no-data-example.component.html'; +const noDataExampleTs = 'no-data/no-data-example.component.ts'; @Component({ selector: 'app-table', @@ -101,7 +104,8 @@ const tablePageScrollTs = 'table-page-scroll-example.component.ts'; TableResponsiveExampleComponent, RouterLink, TableLoadingExampleComponent, - TablePageScrollExampleComponent + TablePageScrollExampleComponent, + NoDataExampleComponent ] }) export class TableDocsComponent { @@ -373,6 +377,20 @@ export class TableDocsComponent { } ]; + noData: ExampleFile[] = [ + { + language: 'html', + code: getAssetFromModuleAssets(noDataExampleHtml), + fileName: 'no-data-example' + }, + { + language: 'typescript', + component: 'NoDataExampleComponent', + code: getAssetFromModuleAssets(noDataExampleTs), + fileName: 'no-data-example' + } + ]; + constructor(private schemaFactory: SchemaFactoryService) { this.schema = this.schemaFactory.getComponent('table'); } diff --git a/libs/docs/platform/table/platform-table-docs.component.ts b/libs/docs/platform/table/platform-table-docs.component.ts index 337eccc9c6f..1990c750bb1 100644 --- a/libs/docs/platform/table/platform-table-docs.component.ts +++ b/libs/docs/platform/table/platform-table-docs.component.ts @@ -61,8 +61,6 @@ const platformTableCustomColumnSrc = 'platform-table-custom-column-example.compo const platformTableCustomColumnTsSrc = 'platform-table-custom-column-example.component.ts'; const platformTableCustomTitleSrc = 'platform-table-custom-title-example.component.html'; const platformTableCustomTitleTsSrc = 'platform-table-custom-title-example.component.ts'; -const platformTableCustomWidthSrc = 'platform-table-custom-width-example.component.html'; -const platformTableCustomWidthTsSrc = 'platform-table-custom-width-example.component.ts'; const platformTableFreezableSrc = 'platform-table-freezable-example.component.html'; const platformTableFreezableTsSrc = 'platform-table-freezable-example.component.ts'; const platformTableLoadingSrc = 'platform-table-loading-example.component.html'; @@ -71,8 +69,6 @@ const platformTableInitialStateSrc = 'platform-table-initial-state-example.compo const platformTableInitialStateTsSrc = 'platform-table-initial-state-example.component.ts'; const platformTreeTableDefaultSrc = 'platform-table-tree-example.component.html'; const platformTreeTableDefaultTsSrc = 'platform-table-tree-example.component.ts'; -const platformTableNoOuterBordersSrc = 'platform-table-navigatable-row-indicator-example.component.html'; -const platformTableNoOuterBordersTsSrc = 'platform-table-navigatable-row-indicator-example.component.ts'; const platformTableSemanticSrc = 'platform-table-semantic-example.component.html'; const platformTableSemanticTsSrc = 'platform-table-semantic-example.component.ts'; const platformTableRowClassSrc = 'platform-table-row-class-example.component.html'; diff --git a/libs/platform/table/components/no-data-wrapper/no-data-wrapper.component.ts b/libs/platform/table/components/no-data-wrapper/no-data-wrapper.component.ts index 803dc9cc692..2a3fc0eda13 100644 --- a/libs/platform/table/components/no-data-wrapper/no-data-wrapper.component.ts +++ b/libs/platform/table/components/no-data-wrapper/no-data-wrapper.component.ts @@ -5,6 +5,12 @@ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/ template: ``, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, + styles: ` + fdp-table-no-data-wrapper { + display: block; + width: 100%; + } + `, standalone: true }) export class NoDataWrapperComponent {} diff --git a/libs/platform/table/table.component.html b/libs/platform/table/table.component.html index 7d0c31aa4a2..173984db81e 100644 --- a/libs/platform/table/table.component.html +++ b/libs/platform/table/table.component.html @@ -195,9 +195,7 @@
-
- -
+ @if (!_noDataWrapper && _tableService.visibleColumnsLength() > 0) {
{{ From fdfe4e170adf520184068a190a266b461916fbe4 Mon Sep 17 00:00:00 2001 From: fundamental-bot Date: Tue, 3 Dec 2024 17:06:41 +0000 Subject: [PATCH 28/33] chore(release): publish 0.54.0-rc.0 [ci skip] --- CHANGELOG.md | 20 ++++++++++++++++++++ lerna.json | 2 +- libs/btp/CHANGELOG.md | 8 ++++++++ libs/btp/package.json | 2 +- libs/cdk/CHANGELOG.md | 8 ++++++++ libs/cdk/package.json | 2 +- libs/core/CHANGELOG.md | 20 ++++++++++++++++++++ libs/core/package.json | 2 +- libs/cx/CHANGELOG.md | 8 ++++++++ libs/cx/package.json | 2 +- libs/datetime-adapter/CHANGELOG.md | 8 ++++++++ libs/datetime-adapter/package.json | 2 +- libs/i18n/CHANGELOG.md | 8 ++++++++ libs/i18n/package.json | 2 +- libs/moment-adapter/CHANGELOG.md | 8 ++++++++ libs/moment-adapter/package.json | 2 +- libs/nx-plugin/CHANGELOG.md | 8 ++++++++ libs/nx-plugin/package.json | 2 +- libs/platform/CHANGELOG.md | 20 ++++++++++++++++++++ libs/platform/package.json | 2 +- 20 files changed, 126 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73e4f04ba45..96a13386a6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + + +### Bug Fixes + +* **core, platform:** fix illustrated message in table ([#12689](https://github.com/SAP/fundamental-ngx/issues/12689)) ([759231a](https://github.com/SAP/fundamental-ngx/commit/759231a869e2b2fa3fe842fc3982c6f5fdeb99ee)) + + +### BREAKING CHANGES + +* **core, platform:** remove inline SVG support + +* fix(core, platform): fix illustrated message in table + +* fix(core): remove inline SVG support for illustrated messages + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package fundamental-ngx diff --git a/lerna.json b/lerna.json index 94ed82303b5..9956164357a 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "$schema": "node_modules/lerna/schemas/lerna-schema.json", "packages": ["libs/*"], - "version": "0.53.2", + "version": "0.54.0-rc.0", "conventionalCommits": true, "tagVersionPrefix": "v", "message": "chore(release): publish %v", diff --git a/libs/btp/CHANGELOG.md b/libs/btp/CHANGELOG.md index 7e7bbbe2362..62d252be60c 100644 --- a/libs/btp/CHANGELOG.md +++ b/libs/btp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + +**Note:** Version bump only for package @fundamental-ngx/btp + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/btp diff --git a/libs/btp/package.json b/libs/btp/package.json index ff35eb72694..541a4ca2954 100644 --- a/libs/btp/package.json +++ b/libs/btp/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/btp", - "version": "0.53.2", + "version": "0.54.0-rc.0", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/cdk/CHANGELOG.md b/libs/cdk/CHANGELOG.md index 704516e5046..930059863be 100644 --- a/libs/cdk/CHANGELOG.md +++ b/libs/cdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + +**Note:** Version bump only for package @fundamental-ngx/cdk + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/cdk diff --git a/libs/cdk/package.json b/libs/cdk/package.json index 6def6209540..a61ee6be80b 100644 --- a/libs/cdk/package.json +++ b/libs/cdk/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cdk", - "version": "0.53.2", + "version": "0.54.0-rc.0", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - CDK", "license": "Apache-2.0", diff --git a/libs/core/CHANGELOG.md b/libs/core/CHANGELOG.md index dfab6028c52..f3a9a3468dd 100644 --- a/libs/core/CHANGELOG.md +++ b/libs/core/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + + +### Bug Fixes + +* **core, platform:** fix illustrated message in table ([#12689](https://github.com/SAP/fundamental-ngx/issues/12689)) ([759231a](https://github.com/SAP/fundamental-ngx/commit/759231a869e2b2fa3fe842fc3982c6f5fdeb99ee)) + + +### BREAKING CHANGES + +* **core, platform:** remove inline SVG support + +* fix(core, platform): fix illustrated message in table + +* fix(core): remove inline SVG support for illustrated messages + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/core diff --git a/libs/core/package.json b/libs/core/package.json index 30069b40a6c..ccc70b3d332 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/core", - "version": "0.53.2", + "version": "0.54.0-rc.0", "schematics": "./schematics/collection.json", "ng-update": { "migrations": "./schematics/migrations.json" diff --git a/libs/cx/CHANGELOG.md b/libs/cx/CHANGELOG.md index 6cb76c17e18..086446ecaed 100644 --- a/libs/cx/CHANGELOG.md +++ b/libs/cx/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + +**Note:** Version bump only for package @fundamental-ngx/cx + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/cx diff --git a/libs/cx/package.json b/libs/cx/package.json index e86cd57fc29..a0a97a96057 100644 --- a/libs/cx/package.json +++ b/libs/cx/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cx", - "version": "0.53.2", + "version": "0.54.0-rc.0", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - cx", "license": "Apache-2.0", diff --git a/libs/datetime-adapter/CHANGELOG.md b/libs/datetime-adapter/CHANGELOG.md index 28a5ef0a1b7..97234d2523a 100644 --- a/libs/datetime-adapter/CHANGELOG.md +++ b/libs/datetime-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + +**Note:** Version bump only for package @fundamental-ngx/datetime-adapter + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/datetime-adapter diff --git a/libs/datetime-adapter/package.json b/libs/datetime-adapter/package.json index 77cfd6ac805..a88db58b564 100644 --- a/libs/datetime-adapter/package.json +++ b/libs/datetime-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/datetime-adapter", - "version": "0.53.2", + "version": "0.54.0-rc.0", "description": "Datetime adapter for SAP Fundamentals, based on Day.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/i18n/CHANGELOG.md b/libs/i18n/CHANGELOG.md index 063c8a01565..a61facb02b8 100644 --- a/libs/i18n/CHANGELOG.md +++ b/libs/i18n/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + +**Note:** Version bump only for package @fundamental-ngx/i18n + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/i18n diff --git a/libs/i18n/package.json b/libs/i18n/package.json index 513f00ad36e..8c7ee003e74 100644 --- a/libs/i18n/package.json +++ b/libs/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/i18n", - "version": "0.53.2", + "version": "0.54.0-rc.0", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/moment-adapter/CHANGELOG.md b/libs/moment-adapter/CHANGELOG.md index ec99f738c5c..49915a5f000 100644 --- a/libs/moment-adapter/CHANGELOG.md +++ b/libs/moment-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + +**Note:** Version bump only for package @fundamental-ngx/moment-adapter + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/moment-adapter diff --git a/libs/moment-adapter/package.json b/libs/moment-adapter/package.json index 0e91cd2b62b..fb7b1fb9616 100644 --- a/libs/moment-adapter/package.json +++ b/libs/moment-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/moment-adapter", - "version": "0.53.2", + "version": "0.54.0-rc.0", "description": "Datetime adapter for SAP Fundamentals, based on Moment.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/nx-plugin/CHANGELOG.md b/libs/nx-plugin/CHANGELOG.md index dc9a563a3fc..5c4738e82e1 100644 --- a/libs/nx-plugin/CHANGELOG.md +++ b/libs/nx-plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + +**Note:** Version bump only for package @fundamental-ngx/nx-plugin + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/nx-plugin diff --git a/libs/nx-plugin/package.json b/libs/nx-plugin/package.json index c8edfffebe0..6a859224400 100644 --- a/libs/nx-plugin/package.json +++ b/libs/nx-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/nx-plugin", - "version": "0.53.2", + "version": "0.54.0-rc.0", "main": "src/index.js", "generators": "./generators.json", "executors": "./executors.json", diff --git a/libs/platform/CHANGELOG.md b/libs/platform/CHANGELOG.md index b4416780d79..e884490be19 100644 --- a/libs/platform/CHANGELOG.md +++ b/libs/platform/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) + + +### Bug Fixes + +* **core, platform:** fix illustrated message in table ([#12689](https://github.com/SAP/fundamental-ngx/issues/12689)) ([759231a](https://github.com/SAP/fundamental-ngx/commit/759231a869e2b2fa3fe842fc3982c6f5fdeb99ee)) + + +### BREAKING CHANGES + +* **core, platform:** remove inline SVG support + +* fix(core, platform): fix illustrated message in table + +* fix(core): remove inline SVG support for illustrated messages + + + + + ## [0.53.2](https://github.com/SAP/fundamental-ngx/compare/v0.53.2-rc.18...v0.53.2) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/platform diff --git a/libs/platform/package.json b/libs/platform/package.json index e8c2aeb7d07..402b1eb9068 100644 --- a/libs/platform/package.json +++ b/libs/platform/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/platform", - "version": "0.53.2", + "version": "0.54.0-rc.0", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - platform", "license": "Apache-2.0", From 89bf0ac04ea9cb720c1fe6f806e480d227283c08 Mon Sep 17 00:00:00 2001 From: deno Date: Sun, 8 Dec 2024 21:47:30 -0500 Subject: [PATCH 29/33] fix(core): fix form field spacing (#12819) * fix(core): fix form field spacing * test(platform): migrate e2e to unit --- .../form/form-label/form-label.component.scss | 23 ++ .../platform/input/e2e/input-page-contents.ts | 26 --- .../docs/platform/input/e2e/input.e2e-spec.ts | 199 ------------------ libs/docs/platform/input/e2e/input.po.ts | 45 ---- libs/docs/platform/input/e2e/input.ts | 6 - libs/docs/platform/input/e2e/tsconfig.json | 4 - .../platform-input-example.component.html | 28 ++- .../form/input/input.component.spec.ts | 185 ++++++++++++++-- 8 files changed, 212 insertions(+), 304 deletions(-) delete mode 100644 libs/docs/platform/input/e2e/input-page-contents.ts delete mode 100644 libs/docs/platform/input/e2e/input.e2e-spec.ts delete mode 100644 libs/docs/platform/input/e2e/input.po.ts delete mode 100644 libs/docs/platform/input/e2e/input.ts delete mode 100644 libs/docs/platform/input/e2e/tsconfig.json diff --git a/libs/core/form/form-label/form-label.component.scss b/libs/core/form/form-label/form-label.component.scss index b6c3260c987..cfc45c88f3c 100644 --- a/libs/core/form/form-label/form-label.component.scss +++ b/libs/core/form/form-label/form-label.component.scss @@ -87,3 +87,26 @@ $form-label-bottom-spacing: 0.125rem; } } } + +// remove after adopting fd-styles version 0.39 +.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--colon, +.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--colon { + padding-inline-end: 0.25rem; +} +.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--required, +.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--required { + padding-inline-end: 0.5rem; +} +.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--required.fd-form-label--colon, +.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--required.fd-form-label--colon { + padding-inline-end: 0.75rem; +} +.fd-form-item .fd-form-label--colon { + padding-inline-end: 0.25rem; +} +.fd-form-item .fd-form-label--required { + padding-inline-end: 0.5rem; +} +.fd-form-item .fd-form-label--required.fd-form-label--colon { + padding-inline-end: 0.75rem; +} diff --git a/libs/docs/platform/input/e2e/input-page-contents.ts b/libs/docs/platform/input/e2e/input-page-contents.ts deleted file mode 100644 index a07a1ada9ce..00000000000 --- a/libs/docs/platform/input/e2e/input-page-contents.ts +++ /dev/null @@ -1,26 +0,0 @@ -export const labelsArray = [ - 'Default Input Field', - 'Text Input Field', - 'Number Input Field', - 'Compact Input Field', - 'ReadOnly Input Field', - 'Disabled Input Field', - 'Inline Help Input Field', - 'Password Input Field' -]; -export const favoriteColor = 'My'; -export const maxValidation = 'Maximum'; -export const placeholdersArray = [ - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Field placeholder text', - 'Enter the sport name' -]; -export const errorText = 'Pellentesque metus lacus commodo eget justo ut rutrum varius nunc'; diff --git a/libs/docs/platform/input/e2e/input.e2e-spec.ts b/libs/docs/platform/input/e2e/input.e2e-spec.ts deleted file mode 100644 index 85081a0bf09..00000000000 --- a/libs/docs/platform/input/e2e/input.e2e-spec.ts +++ /dev/null @@ -1,199 +0,0 @@ -import { - addValue, - browserIsSafariorFF, - clearValue, - click, - doesItExist, - executeScriptAfterTagAttr, - getAttributeByNameArr, - getElementArrayLength, - getElementSize, - getText, - getTextArr, - getValue, - isEnabled, - pause, - refreshPage, - scrollIntoView, - sendKeys, - setValue, - waitForElDisplayed, - waitForPresent -} from '../../../../../e2e'; -import { autocompleteOption, longLine, number, special_characters, text } from './input'; -import { errorText, favoriteColor, labelsArray, maxValidation, placeholdersArray } from './input-page-contents'; -import { InputPo } from './input.po'; - -declare const $$: any; - -describe('Input should ', () => { - const inputPage = new InputPo(); - const { - defaultInput, - textInput, - numberInput, - compactInput, - disabledInput, - messagesComponentsInput, - submitBtn, - errorTextAttr, - requiredInputLabel, - questionMarkSpan, - inputsLabels, - inputsArray, - autocompleteInput, - autocompleteInputLabel, - autocompleteOptions, - errorMessage - } = inputPage; - - beforeAll(async () => { - await inputPage.open(); - }, 1); - - afterEach(async () => { - await refreshPage(); - await waitForPresent(defaultInput); - }, 1); - - it('have input without label', async () => { - await waitForElDisplayed(defaultInput); - await expect(await doesItExist(autocompleteInputLabel)).toBe(false); - }); - - it('be able to type something with keyboard', async () => { - await waitForElDisplayed(defaultInput); - await setValue(defaultInput, text); - - await expect(await getValue(defaultInput)).toBe(text); - }); - - it('have associated label element to describe its purpose', async () => { - await expect(await getTextArr(inputsLabels, 0, -2)).toEqual(labelsArray); - await expect(await getText(inputsLabels, 8)).toContain(favoriteColor); - await expect(await getText(inputsLabels, 9)).toContain(maxValidation); - }); - - it('by default accept all kinds of input values – alphabet, numerical, special characters', async () => { - await waitForElDisplayed(defaultInput); - await setValue(defaultInput, text); - await addValue(defaultInput, number); - await addValue(defaultInput, special_characters); - - await expect(await getValue(defaultInput)).toEqual(text + number + special_characters); - }); - - it('impose any filters on the kind of input values the component receives (text)', async () => { - await waitForElDisplayed(textInput); - await addValue(textInput, number); - await addValue(textInput, special_characters); - await addValue(textInput, text); - - await expect(await getValue(textInput)).toEqual(number + special_characters + text); // ??? - }); - - it('impose any filters on the kind of input values the component receives (number)', async () => { - if (await browserIsSafariorFF()) { - return; - // not working on FF and safari, needs investigation - } - await waitForElDisplayed(numberInput); - await click(numberInput); - - await addValue(numberInput, number); - await addValue(numberInput, special_characters); - - await expect(await getValue(numberInput)).toEqual(number); - }); - - it('should check increase/decriase value by arrows', async () => { - await waitForElDisplayed(numberInput); - await click(numberInput); - - await sendKeys('ArrowUp'); - await expect(await getValue(numberInput)).toEqual('1'); - - await sendKeys('ArrowDown'); - await sendKeys('ArrowDown'); - await expect(await getValue(numberInput)).toEqual('-1'); - }); - - it('wrap the input characters to the next line', async () => { - await waitForElDisplayed(defaultInput); - const heightBefore = await (await getElementSize(defaultInput, 0)).height; - await setValue(defaultInput, longLine); - const heightAfter = await (await getElementSize(defaultInput, 0)).height; - - await expect(heightBefore).toBeLessThanOrEqual(heightAfter); - }); - - it('enable editing the entered characters', async () => { - await waitForElDisplayed(defaultInput); - await setValue(defaultInput, text); - await sendKeys('Backspace'); - - await expect(await getValue(defaultInput)).toBe(text.slice(0, -1)); - await clearValue(defaultInput); - await expect(await getValue(defaultInput)).toBe(''); - }); - - it('check have disabled attr assigned', async () => { - await waitForElDisplayed(disabledInput); - await expect(await isEnabled(disabledInput)).toBe(false); - }); - - it('have placeholder', async () => { - await expect(await getAttributeByNameArr(inputsArray, 'placeholder', 1)).toEqual(placeholdersArray); - }); - - it('should have error border color', async () => { - await scrollIntoView(messagesComponentsInput); - await waitForElDisplayed(messagesComponentsInput); - await click(submitBtn); - await click(messagesComponentsInput); - await pause(300); - await waitForElDisplayed(errorTextAttr); - await expect((await getText(errorTextAttr)).trim()).toBe(errorText); - }); - - it('should have visual cue for require input', async () => { - await scrollIntoView(requiredInputLabel); - await pause(2000); - await expect(await executeScriptAfterTagAttr(requiredInputLabel, 'content')).toBe('"*"'); - }); - - it('should have visual cue for information', async () => { - await expect(await $$(questionMarkSpan)).toBeTruthy(); - }); - - it('should implement autosuggestion', async () => { - await waitForElDisplayed(autocompleteInput); - await addValue(autocompleteInput, autocompleteOption); - - await expect(await getElementArrayLength(autocompleteOptions)).toBeGreaterThanOrEqual(2); - const autocompleteOptionText = await getTextArr(autocompleteOptions); - for (const option of autocompleteOptionText) { - await expect(option.toLowerCase()).toContain(autocompleteOption); - } - await pause(3000); - await click(autocompleteOptions); - await expect((await getValue(autocompleteInput)).toLowerCase()).toContain(autocompleteOption); - }); - - it('should compact be smaller than the default', async () => { - const defaultHeight = await getElementSize(defaultInput); - const compactHeight = await getElementSize(compactInput); - - await expect(defaultHeight.height).toBeGreaterThan(compactHeight.height); - }); - - it('should check that validation does not work earlier than necessary', async () => { - await scrollIntoView(messagesComponentsInput); - await click(messagesComponentsInput); - await expect(await doesItExist(errorMessage)).toBe(false); - }); - - it('should check RTL', async () => { - await inputPage.checkRtlSwitch(); - }); -}); diff --git a/libs/docs/platform/input/e2e/input.po.ts b/libs/docs/platform/input/e2e/input.po.ts deleted file mode 100644 index bb9249999f8..00000000000 --- a/libs/docs/platform/input/e2e/input.po.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { PlatformBaseComponentPo, waitForElDisplayed } from '../../../../../e2e'; - -export class InputPo extends PlatformBaseComponentPo { - readonly url = '/input'; - readonly root = '#page-content'; - - defaultInput = '#input1'; - textInput = '#input2'; - numberInput = '#input3'; - compactInput = '#input4'; - readonlyInput = '#input5'; - disabledInput = '#input6'; - passwordInput = '#input8'; - // TODO: same Id create accessibility issue - inlineHelpInput = '#input7'; - messagesComponentsInput = '#input9'; - submitBtn = 'button[type="submit"]'; - errorTextAttr = 'fd-form-message span'; - requiredInputLabel = 'fdp-platform-input-reactive-validation-example .fd-form-label--required'; - questionMarkSpan = '.sap-icon--hint'; - inputsLabels = '.fd-container label .fd-form-label'; - inputsArray = 'input.fd-input'; - autocompleteInput = 'input#form-input-10'; - autocompleteInputLabel = 'fdp-platform-input-auto-complete-validation-example label'; - autocompleteOptions = '.fd-popover__body li'; - errorMessage = '.fd-form-message--error span'; - - async open(): Promise { - await super.open(this.url); - await this.waitForRoot(); - await waitForElDisplayed(this.title); - } - - async getScreenshotFolder(): Promise> { - return super.getScreenshotFolder(this.url); - } - - async saveExampleBaselineScreenshot(specName: string = 'input'): Promise { - await super.saveExampleBaselineScreenshot(specName, await this.getScreenshotFolder()); - } - - async compareWithBaseline(specName: string = 'input'): Promise { - return super.compareWithBaseline(specName, await this.getScreenshotFolder()); - } -} diff --git a/libs/docs/platform/input/e2e/input.ts b/libs/docs/platform/input/e2e/input.ts deleted file mode 100644 index 4fc82054654..00000000000 --- a/libs/docs/platform/input/e2e/input.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const text = 'test'; -export const number = '12385831'; -export const special_characters = '%&^@(&)!$'; -export const longLine = - '1212qeuwoururoqweourueuruorewurewureuwuiorewuiorewuiorewuiorwiuoruiorweuioruireiurewuireiurewiuoreouirewuoireouirepuiwerowuieruoiperwuoerwouewrttttttt'; -export const autocompleteOption = 'football'; diff --git a/libs/docs/platform/input/e2e/tsconfig.json b/libs/docs/platform/input/e2e/tsconfig.json deleted file mode 100644 index 2d345834a6d..00000000000 --- a/libs/docs/platform/input/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../../../../../e2e/tsconfig.json", - "include": ["./**/*.e2e-spec.ts"] -} diff --git a/libs/docs/platform/input/examples/platform-input-example.component.html b/libs/docs/platform/input/examples/platform-input-example.component.html index 0f5b4fd5f3f..e90f3a5127b 100644 --- a/libs/docs/platform/input/examples/platform-input-example.component.html +++ b/libs/docs/platform/input/examples/platform-input-example.component.html @@ -1,12 +1,34 @@
- + - + - + diff --git a/libs/platform/form/input/input.component.spec.ts b/libs/platform/form/input/input.component.spec.ts index 16279d6c90d..38fa0b07d53 100644 --- a/libs/platform/form/input/input.component.spec.ts +++ b/libs/platform/form/input/input.component.spec.ts @@ -1,24 +1,167 @@ -import { runValueAccessorTests } from 'ngx-cva-test-suite'; -import { InputComponent } from '../'; -import { PlatformInputModule } from './fdp-input.module'; +import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { InputComponent } from './input.component'; -const INPUT_IDENTIFIER = 'platform-input-unit-test'; +describe('InputComponent Unit Tests', () => { + let component: InputComponent; + let fixture: ComponentFixture; + let inputElement: HTMLInputElement; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [FormsModule, InputComponent] + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(InputComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + inputElement = fixture.nativeElement.querySelector('input'); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + it('should have input without label', () => { + expect(inputElement.labels?.length ?? 0).toBe(0); + }); + + it('should be able to type and change value', () => { + component.value = 'test'; + fixture.detectChanges(); + inputElement.value = 'test'; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + expect(component.value).toBe('test'); + + inputElement.value = 'new test'; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + expect(component.value).toBe('new test'); + }); + + it('should emit focus and blur events', fakeAsync(() => { + let focusValue: boolean | undefined; + let blurValue: boolean | undefined; + + component.focusChange.subscribe(value => { + focusValue = value; + }); + + component.focusChange.subscribe(value => { + blurValue = value; + }); + + inputElement.dispatchEvent(new Event('focus')); + tick(); + fixture.detectChanges(); + + expect(focusValue).toBeTruthy(); + + inputElement.dispatchEvent(new Event('blur')); + tick(); + fixture.detectChanges(); + + expect(blurValue).toBeFalsy(); + })); + + it('should validate input type', () => { + component.type = 'invalid' as any; + expect(() => { + component.ngOnInit(); // This line checks the init process and validates the input type + }).toThrowError('Input type invalid is not supported'); + }); + + it('should accept various input values', () => { + const testValues = 'text123@#!$'; + component.value = testValues; + fixture.detectChanges(); + inputElement.value = testValues; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + expect(component.value).toBe(testValues); + }); + + it('should disable input when disabled is true', fakeAsync(() => { + component.disabled = true; + fixture.detectChanges(); + tick(); + + expect(inputElement.disabled).toBe(true); + })); + + it('should apply placeholder text', () => { + component.placeholder = 'Enter text...'; + fixture.detectChanges(); + expect(inputElement.placeholder).toBe('Enter text...'); + }); + + it('should handle arrow keys for number input', fakeAsync(() => { + component.type = 'number'; + fixture.detectChanges(); + + inputElement.value = '0'; + inputElement.dispatchEvent(new Event('input')); + tick(); + fixture.detectChanges(); + + // Simulating arrow up should increase the number + inputElement.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowUp' })); + tick(); + inputElement.value = '1'; // manually set the value to ensure update + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + expect(Number(inputElement.value)).toBe(1); + + // Simulating arrow down should decrease the number + inputElement.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown' })); + tick(); + inputElement.value = '0'; // manually set value for arrow down handling + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + + inputElement.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown' })); + tick(); + inputElement.value = '-1'; // manually set value for double arrow down handling + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + + expect(Number(inputElement.value)).toBe(-1); + })); + + it('should enable editing the entered characters', () => { + component.value = 'abcdef'; + fixture.detectChanges(); + inputElement.value = 'abcdef'; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + expect(component.value).toBe('abcdef'); + + inputElement.value = 'abcde'; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + expect(component.value).toBe('abcde'); + + inputElement.value = ''; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + expect(component.value).toBe(''); + }); + + it('should have visual cue for required input', fakeAsync(() => { + component.required = true; + fixture.detectChanges(); + tick(); + + const requiredInputLabel = fixture.debugElement.query(By.css('input[aria-required="true"]')); + expect(requiredInputLabel).toBeTruthy(); + })); -runValueAccessorTests({ - component: InputComponent, - name: 'Input', - testModuleMetadata: { - imports: [PlatformInputModule] - }, - additionalSetup: (fixture, done) => { - fixture.componentInstance.id = INPUT_IDENTIFIER; - fixture.componentInstance.name = INPUT_IDENTIFIER; - done(); - }, - supportsOnBlur: true, - nativeControlSelector: `input[id="${INPUT_IDENTIFIER}"]`, - internalValueChangeSetter: (fixture, value) => { - fixture.componentInstance.value = value; - }, - getComponentValue: (fixture) => fixture.componentInstance.value + it('should not show validation error initially', () => { + const errorTextAttr = fixture.debugElement.query(By.css('.error-text')); + expect(errorTextAttr).toBeFalsy(); + }); }); From 255714531d1f7a47a06c61e92f271e782d9e6002 Mon Sep 17 00:00:00 2001 From: fundamental-bot Date: Mon, 9 Dec 2024 02:49:35 +0000 Subject: [PATCH 30/33] chore(release): publish 0.54.0-rc.1 [ci skip] --- CHANGELOG.md | 11 +++++++++++ lerna.json | 2 +- libs/btp/CHANGELOG.md | 8 ++++++++ libs/btp/package.json | 2 +- libs/cdk/CHANGELOG.md | 8 ++++++++ libs/cdk/package.json | 2 +- libs/core/CHANGELOG.md | 11 +++++++++++ libs/core/package.json | 2 +- libs/cx/CHANGELOG.md | 8 ++++++++ libs/cx/package.json | 2 +- libs/datetime-adapter/CHANGELOG.md | 8 ++++++++ libs/datetime-adapter/package.json | 2 +- libs/i18n/CHANGELOG.md | 8 ++++++++ libs/i18n/package.json | 2 +- libs/moment-adapter/CHANGELOG.md | 8 ++++++++ libs/moment-adapter/package.json | 2 +- libs/nx-plugin/CHANGELOG.md | 8 ++++++++ libs/nx-plugin/package.json | 2 +- libs/platform/CHANGELOG.md | 11 +++++++++++ libs/platform/package.json | 2 +- 20 files changed, 99 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96a13386a6c..42744a376b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + + +### Bug Fixes + +* **core:** fix form field spacing ([#12819](https://github.com/SAP/fundamental-ngx/issues/12819)) ([64ce3e5](https://github.com/SAP/fundamental-ngx/commit/64ce3e56aafe8f48be399376688ee7d6eb531d51)) + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) diff --git a/lerna.json b/lerna.json index 9956164357a..64ea2f12814 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "$schema": "node_modules/lerna/schemas/lerna-schema.json", "packages": ["libs/*"], - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "conventionalCommits": true, "tagVersionPrefix": "v", "message": "chore(release): publish %v", diff --git a/libs/btp/CHANGELOG.md b/libs/btp/CHANGELOG.md index 62d252be60c..7bbc1c72ca8 100644 --- a/libs/btp/CHANGELOG.md +++ b/libs/btp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/btp + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/btp diff --git a/libs/btp/package.json b/libs/btp/package.json index 541a4ca2954..52466311bc3 100644 --- a/libs/btp/package.json +++ b/libs/btp/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/btp", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/cdk/CHANGELOG.md b/libs/cdk/CHANGELOG.md index 930059863be..e6bcebd62e7 100644 --- a/libs/cdk/CHANGELOG.md +++ b/libs/cdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/cdk + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/cdk diff --git a/libs/cdk/package.json b/libs/cdk/package.json index a61ee6be80b..455cfe0792f 100644 --- a/libs/cdk/package.json +++ b/libs/cdk/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cdk", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - CDK", "license": "Apache-2.0", diff --git a/libs/core/CHANGELOG.md b/libs/core/CHANGELOG.md index f3a9a3468dd..d0ef6c55490 100644 --- a/libs/core/CHANGELOG.md +++ b/libs/core/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + + +### Bug Fixes + +* **core:** fix form field spacing ([#12819](https://github.com/SAP/fundamental-ngx/issues/12819)) ([64ce3e5](https://github.com/SAP/fundamental-ngx/commit/64ce3e56aafe8f48be399376688ee7d6eb531d51)) + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) diff --git a/libs/core/package.json b/libs/core/package.json index ccc70b3d332..a417c5bd93f 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/core", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "schematics": "./schematics/collection.json", "ng-update": { "migrations": "./schematics/migrations.json" diff --git a/libs/cx/CHANGELOG.md b/libs/cx/CHANGELOG.md index 086446ecaed..94340696f50 100644 --- a/libs/cx/CHANGELOG.md +++ b/libs/cx/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/cx + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/cx diff --git a/libs/cx/package.json b/libs/cx/package.json index a0a97a96057..87e8163ef45 100644 --- a/libs/cx/package.json +++ b/libs/cx/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cx", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - cx", "license": "Apache-2.0", diff --git a/libs/datetime-adapter/CHANGELOG.md b/libs/datetime-adapter/CHANGELOG.md index 97234d2523a..611cc13e9a1 100644 --- a/libs/datetime-adapter/CHANGELOG.md +++ b/libs/datetime-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/datetime-adapter + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/datetime-adapter diff --git a/libs/datetime-adapter/package.json b/libs/datetime-adapter/package.json index a88db58b564..43c4c6060bb 100644 --- a/libs/datetime-adapter/package.json +++ b/libs/datetime-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/datetime-adapter", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "description": "Datetime adapter for SAP Fundamentals, based on Day.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/i18n/CHANGELOG.md b/libs/i18n/CHANGELOG.md index a61facb02b8..260b9c67435 100644 --- a/libs/i18n/CHANGELOG.md +++ b/libs/i18n/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/i18n + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/i18n diff --git a/libs/i18n/package.json b/libs/i18n/package.json index 8c7ee003e74..3bd4b3c8974 100644 --- a/libs/i18n/package.json +++ b/libs/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/i18n", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/moment-adapter/CHANGELOG.md b/libs/moment-adapter/CHANGELOG.md index 49915a5f000..5a3a1b84394 100644 --- a/libs/moment-adapter/CHANGELOG.md +++ b/libs/moment-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/moment-adapter + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/moment-adapter diff --git a/libs/moment-adapter/package.json b/libs/moment-adapter/package.json index fb7b1fb9616..355718b6e94 100644 --- a/libs/moment-adapter/package.json +++ b/libs/moment-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/moment-adapter", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "description": "Datetime adapter for SAP Fundamentals, based on Moment.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/nx-plugin/CHANGELOG.md b/libs/nx-plugin/CHANGELOG.md index 5c4738e82e1..a185d642371 100644 --- a/libs/nx-plugin/CHANGELOG.md +++ b/libs/nx-plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/nx-plugin + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) **Note:** Version bump only for package @fundamental-ngx/nx-plugin diff --git a/libs/nx-plugin/package.json b/libs/nx-plugin/package.json index 6a859224400..425d48d2234 100644 --- a/libs/nx-plugin/package.json +++ b/libs/nx-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/nx-plugin", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "main": "src/index.js", "generators": "./generators.json", "executors": "./executors.json", diff --git a/libs/platform/CHANGELOG.md b/libs/platform/CHANGELOG.md index e884490be19..5a22a5bdbc5 100644 --- a/libs/platform/CHANGELOG.md +++ b/libs/platform/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) + + +### Bug Fixes + +* **core:** fix form field spacing ([#12819](https://github.com/SAP/fundamental-ngx/issues/12819)) ([64ce3e5](https://github.com/SAP/fundamental-ngx/commit/64ce3e56aafe8f48be399376688ee7d6eb531d51)) + + + + + # [0.54.0-rc.0](https://github.com/SAP/fundamental-ngx/compare/v0.53.2...v0.54.0-rc.0) (2024-12-03) diff --git a/libs/platform/package.json b/libs/platform/package.json index 402b1eb9068..7b6c6718e7e 100644 --- a/libs/platform/package.json +++ b/libs/platform/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/platform", - "version": "0.54.0-rc.0", + "version": "0.54.0-rc.1", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - platform", "license": "Apache-2.0", From d6f76b6258b19955808cad89eb72726bd0994d7b Mon Sep 17 00:00:00 2001 From: deno Date: Mon, 9 Dec 2024 08:35:12 -0500 Subject: [PATCH 31/33] chore: remove notworking workflow (#12830) --- .github/workflows/testing.yml | 117 ---------------------------------- 1 file changed, 117 deletions(-) delete mode 100644 .github/workflows/testing.yml diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml deleted file mode 100644 index 59499450527..00000000000 --- a/.github/workflows/testing.yml +++ /dev/null @@ -1,117 +0,0 @@ -name: Run unit and e2e tests daily at 12 AM - -on: - workflow_dispatch: - schedule: - - cron: '0 0 * * *' # run daily at 12 AM -env: - NX_CLOUD_DISTRIBUTED_EXECUTION: true - NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT: 8 - NX_BRANCH: ${{ github.event.number || github.ref_name }} - NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }} - NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }} - -concurrency: - group: ${{ github.workflow }}-${{ github.event.number || github.ref }} - cancel-in-progress: true - -jobs: - nx_agents: - name: Nx Cloud Agent ${{ matrix.agent }} - runs-on: ubuntu-latest - strategy: - matrix: - agent: [1, 2, 3, 4, 5, 6, 7, 8] - steps: - - uses: actions/checkout@v4.2.2 - - uses: ./.github/actions/nodejs - - name: set up xvfb - run: | - export DISPLAY=:99 - sudo Xvfb -ac :99 -screen 0 1920x1080x24 > /dev/null 2>&1 & - - name: Start Nx Cloud Agent - run: npx nx-cloud start-agent - env: - NX_AGENT_NAME: ${{matrix.agent}} - - build_test: - runs-on: ubuntu-latest - name: Run affected Build, Lint and test commands - defaults: - run: - working-directory: ${{ github.workspace }} - shell: bash - steps: - - uses: actions/checkout@v4.2.2 - name: Checkout - with: - fetch-depth: 0 - token: ${{ secrets.GHACTIONS }} - - - uses: nrwl/nx-set-shas@v4.1.2 - name: Derive appropriate SHAs for base and head for nx-affected commands - with: - main-branch-name: main - - - uses: ./.github/actions/nodejs - - - name: Initialize the Nx Cloud distributed CI run - run: npx nx-cloud start-ci-run - - - name: Run Build, Lint and test commands - uses: ./.github/actions/parallel-commands - with: - parallel-commands: | - npx nx affected --target=build --base=origin/${{ github.event.pull_request.base.ref }} --head=HEAD --exclude=docs --parallel=3 - npx nx run-many --target=test --all --skip-nx-cache --base=origin/${{ github.event.pull_request.base.ref }} --head=HEAD --exclude=nx-plugin --parallel=3 - npx nx affected --target=lint --base=origin/${{ github.event.pull_request.base.ref }} --head=HEAD --exclude=core,platform,cx,btp --parallel=3 - - - name: Text workspace tags - run: npx nx run nx-plugin:test --skip-nx-cache - - e2e_test: - runs-on: ubuntu-latest - name: Run e2e - defaults: - run: - working-directory: ${{ github.workspace }} - shell: bash - steps: - - uses: actions/checkout@v4.2.2 - name: Checkout - with: - fetch-depth: 0 - - uses: ./.github/actions/nodejs - - run: npx nx run docs:compile:production - - uses: browser-actions/setup-chrome@latest - with: - chrome-version: stable - - run: | - export DISPLAY=:99 - chrome --version - sudo Xvfb -ac :99 -screen 0 1920x1080x24 > /dev/null 2>&1 & # optional - env: - NX_CLOUD_DISTRIBUTED_EXECUTION: false - - name: Test affected - run: | - npx nx run-many --target=e2e --all --skip-nx-cache --base=origin/main --head=HEAD --parallel=2 --baseUrl=${{ steps.firebase_hosting_preview.outputs.details_url }} --devServerTarget="" - - - name: Stopping agents # They're no longer needed, so we can stop them to avoid them going on timeout - run: npx nx-cloud stop-all-agents - - - name: Test affected on local - run: | - NX_CLOUD_DISTRIBUTED_EXECUTION=false npx nx run docs:e2e-app - - stop_agents: - if: ${{ always() }} - needs: - - build_test - - e2e_test - name: Nx Cloud - Stop Agents - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.2.2 - - uses: ./.github/actions/nodejs - - name: Stop all running agents for this CI run - run: npx nx-cloud stop-all-agents From 5f1c23f844f480f3eb2bba75ee63436623f5f5d3 Mon Sep 17 00:00:00 2001 From: fundamental-bot Date: Mon, 9 Dec 2024 13:45:52 +0000 Subject: [PATCH 32/33] chore(release): publish 0.54.0-rc.2 [ci skip] --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- libs/btp/CHANGELOG.md | 8 ++++++++ libs/btp/package.json | 2 +- libs/cdk/CHANGELOG.md | 8 ++++++++ libs/cdk/package.json | 2 +- libs/core/CHANGELOG.md | 8 ++++++++ libs/core/package.json | 2 +- libs/cx/CHANGELOG.md | 8 ++++++++ libs/cx/package.json | 2 +- libs/datetime-adapter/CHANGELOG.md | 8 ++++++++ libs/datetime-adapter/package.json | 2 +- libs/i18n/CHANGELOG.md | 8 ++++++++ libs/i18n/package.json | 2 +- libs/moment-adapter/CHANGELOG.md | 8 ++++++++ libs/moment-adapter/package.json | 2 +- libs/nx-plugin/CHANGELOG.md | 8 ++++++++ libs/nx-plugin/package.json | 2 +- libs/platform/CHANGELOG.md | 8 ++++++++ libs/platform/package.json | 2 +- 20 files changed, 90 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42744a376b1..5d99cb72345 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package fundamental-ngx + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) diff --git a/lerna.json b/lerna.json index 64ea2f12814..8d02260f88f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "$schema": "node_modules/lerna/schemas/lerna-schema.json", "packages": ["libs/*"], - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "conventionalCommits": true, "tagVersionPrefix": "v", "message": "chore(release): publish %v", diff --git a/libs/btp/CHANGELOG.md b/libs/btp/CHANGELOG.md index 7bbc1c72ca8..af30b962d4b 100644 --- a/libs/btp/CHANGELOG.md +++ b/libs/btp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/btp + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/btp diff --git a/libs/btp/package.json b/libs/btp/package.json index 52466311bc3..8173e74fcb3 100644 --- a/libs/btp/package.json +++ b/libs/btp/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/btp", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/cdk/CHANGELOG.md b/libs/cdk/CHANGELOG.md index e6bcebd62e7..5d428b84aef 100644 --- a/libs/cdk/CHANGELOG.md +++ b/libs/cdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/cdk + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/cdk diff --git a/libs/cdk/package.json b/libs/cdk/package.json index 455cfe0792f..774a24a64ed 100644 --- a/libs/cdk/package.json +++ b/libs/cdk/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cdk", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - CDK", "license": "Apache-2.0", diff --git a/libs/core/CHANGELOG.md b/libs/core/CHANGELOG.md index d0ef6c55490..379bd03efa7 100644 --- a/libs/core/CHANGELOG.md +++ b/libs/core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/core + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) diff --git a/libs/core/package.json b/libs/core/package.json index a417c5bd93f..04b8a1e0000 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/core", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "schematics": "./schematics/collection.json", "ng-update": { "migrations": "./schematics/migrations.json" diff --git a/libs/cx/CHANGELOG.md b/libs/cx/CHANGELOG.md index 94340696f50..68ffb05d67b 100644 --- a/libs/cx/CHANGELOG.md +++ b/libs/cx/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/cx + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/cx diff --git a/libs/cx/package.json b/libs/cx/package.json index 87e8163ef45..b4fb652835c 100644 --- a/libs/cx/package.json +++ b/libs/cx/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cx", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - cx", "license": "Apache-2.0", diff --git a/libs/datetime-adapter/CHANGELOG.md b/libs/datetime-adapter/CHANGELOG.md index 611cc13e9a1..4528fc51ab9 100644 --- a/libs/datetime-adapter/CHANGELOG.md +++ b/libs/datetime-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/datetime-adapter + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/datetime-adapter diff --git a/libs/datetime-adapter/package.json b/libs/datetime-adapter/package.json index 43c4c6060bb..a722eec9c80 100644 --- a/libs/datetime-adapter/package.json +++ b/libs/datetime-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/datetime-adapter", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "description": "Datetime adapter for SAP Fundamentals, based on Day.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/i18n/CHANGELOG.md b/libs/i18n/CHANGELOG.md index 260b9c67435..a90980a73df 100644 --- a/libs/i18n/CHANGELOG.md +++ b/libs/i18n/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/i18n + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/i18n diff --git a/libs/i18n/package.json b/libs/i18n/package.json index 3bd4b3c8974..385142fe4fa 100644 --- a/libs/i18n/package.json +++ b/libs/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/i18n", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/moment-adapter/CHANGELOG.md b/libs/moment-adapter/CHANGELOG.md index 5a3a1b84394..8a00ad7246e 100644 --- a/libs/moment-adapter/CHANGELOG.md +++ b/libs/moment-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/moment-adapter + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/moment-adapter diff --git a/libs/moment-adapter/package.json b/libs/moment-adapter/package.json index 355718b6e94..b2bfaa09b6c 100644 --- a/libs/moment-adapter/package.json +++ b/libs/moment-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/moment-adapter", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "description": "Datetime adapter for SAP Fundamentals, based on Moment.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/nx-plugin/CHANGELOG.md b/libs/nx-plugin/CHANGELOG.md index a185d642371..93055c22c11 100644 --- a/libs/nx-plugin/CHANGELOG.md +++ b/libs/nx-plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/nx-plugin + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/nx-plugin diff --git a/libs/nx-plugin/package.json b/libs/nx-plugin/package.json index 425d48d2234..11240e2e251 100644 --- a/libs/nx-plugin/package.json +++ b/libs/nx-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/nx-plugin", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "main": "src/index.js", "generators": "./generators.json", "executors": "./executors.json", diff --git a/libs/platform/CHANGELOG.md b/libs/platform/CHANGELOG.md index 5a22a5bdbc5..544596edd47 100644 --- a/libs/platform/CHANGELOG.md +++ b/libs/platform/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) + +**Note:** Version bump only for package @fundamental-ngx/platform + + + + + # [0.54.0-rc.1](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.0...v0.54.0-rc.1) (2024-12-09) diff --git a/libs/platform/package.json b/libs/platform/package.json index 7b6c6718e7e..5577e267e86 100644 --- a/libs/platform/package.json +++ b/libs/platform/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/platform", - "version": "0.54.0-rc.1", + "version": "0.54.0-rc.2", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - platform", "license": "Apache-2.0", From c069e1052cb9d1ac032dfb21dac3ed87ab1565f2 Mon Sep 17 00:00:00 2001 From: fundamental-bot Date: Tue, 10 Dec 2024 19:59:39 +0000 Subject: [PATCH 33/33] chore(release): publish 0.54.0 [ci skip] --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- libs/btp/CHANGELOG.md | 8 ++++++++ libs/btp/package.json | 2 +- libs/cdk/CHANGELOG.md | 8 ++++++++ libs/cdk/package.json | 2 +- libs/core/CHANGELOG.md | 8 ++++++++ libs/core/package.json | 2 +- libs/cx/CHANGELOG.md | 8 ++++++++ libs/cx/package.json | 2 +- libs/datetime-adapter/CHANGELOG.md | 8 ++++++++ libs/datetime-adapter/package.json | 2 +- libs/i18n/CHANGELOG.md | 8 ++++++++ libs/i18n/package.json | 2 +- libs/moment-adapter/CHANGELOG.md | 8 ++++++++ libs/moment-adapter/package.json | 2 +- libs/nx-plugin/CHANGELOG.md | 8 ++++++++ libs/nx-plugin/package.json | 2 +- libs/platform/CHANGELOG.md | 8 ++++++++ libs/platform/package.json | 2 +- 20 files changed, 90 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d99cb72345..2d27ef6c334 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package fundamental-ngx + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package fundamental-ngx diff --git a/lerna.json b/lerna.json index 8d02260f88f..39a4a5103b9 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "$schema": "node_modules/lerna/schemas/lerna-schema.json", "packages": ["libs/*"], - "version": "0.54.0-rc.2", + "version": "0.54.0", "conventionalCommits": true, "tagVersionPrefix": "v", "message": "chore(release): publish %v", diff --git a/libs/btp/CHANGELOG.md b/libs/btp/CHANGELOG.md index af30b962d4b..43ad7c42c3d 100644 --- a/libs/btp/CHANGELOG.md +++ b/libs/btp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/btp + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/btp diff --git a/libs/btp/package.json b/libs/btp/package.json index 8173e74fcb3..33e3dc9f585 100644 --- a/libs/btp/package.json +++ b/libs/btp/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/btp", - "version": "0.54.0-rc.2", + "version": "0.54.0", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/cdk/CHANGELOG.md b/libs/cdk/CHANGELOG.md index 5d428b84aef..a5bc9677598 100644 --- a/libs/cdk/CHANGELOG.md +++ b/libs/cdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/cdk + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/cdk diff --git a/libs/cdk/package.json b/libs/cdk/package.json index 774a24a64ed..12195b3bcb7 100644 --- a/libs/cdk/package.json +++ b/libs/cdk/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cdk", - "version": "0.54.0-rc.2", + "version": "0.54.0", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - CDK", "license": "Apache-2.0", diff --git a/libs/core/CHANGELOG.md b/libs/core/CHANGELOG.md index 379bd03efa7..b6ac82bbaeb 100644 --- a/libs/core/CHANGELOG.md +++ b/libs/core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/core + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/core diff --git a/libs/core/package.json b/libs/core/package.json index 04b8a1e0000..645a5f5bfea 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/core", - "version": "0.54.0-rc.2", + "version": "0.54.0", "schematics": "./schematics/collection.json", "ng-update": { "migrations": "./schematics/migrations.json" diff --git a/libs/cx/CHANGELOG.md b/libs/cx/CHANGELOG.md index 68ffb05d67b..b49cba652a1 100644 --- a/libs/cx/CHANGELOG.md +++ b/libs/cx/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/cx + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/cx diff --git a/libs/cx/package.json b/libs/cx/package.json index b4fb652835c..dc5a870cb20 100644 --- a/libs/cx/package.json +++ b/libs/cx/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/cx", - "version": "0.54.0-rc.2", + "version": "0.54.0", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - cx", "license": "Apache-2.0", diff --git a/libs/datetime-adapter/CHANGELOG.md b/libs/datetime-adapter/CHANGELOG.md index 4528fc51ab9..f2c77ee2f28 100644 --- a/libs/datetime-adapter/CHANGELOG.md +++ b/libs/datetime-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/datetime-adapter + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/datetime-adapter diff --git a/libs/datetime-adapter/package.json b/libs/datetime-adapter/package.json index a722eec9c80..1db712ce149 100644 --- a/libs/datetime-adapter/package.json +++ b/libs/datetime-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/datetime-adapter", - "version": "0.54.0-rc.2", + "version": "0.54.0", "description": "Datetime adapter for SAP Fundamentals, based on Day.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/i18n/CHANGELOG.md b/libs/i18n/CHANGELOG.md index a90980a73df..f84969c302e 100644 --- a/libs/i18n/CHANGELOG.md +++ b/libs/i18n/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/i18n + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/i18n diff --git a/libs/i18n/package.json b/libs/i18n/package.json index 385142fe4fa..c68bf50bc64 100644 --- a/libs/i18n/package.json +++ b/libs/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/i18n", - "version": "0.54.0-rc.2", + "version": "0.54.0", "peerDependencies": { "@angular/common": "ANGULAR_VER_PLACEHOLDER", "@angular/core": "ANGULAR_VER_PLACEHOLDER", diff --git a/libs/moment-adapter/CHANGELOG.md b/libs/moment-adapter/CHANGELOG.md index 8a00ad7246e..1e0fa7366fd 100644 --- a/libs/moment-adapter/CHANGELOG.md +++ b/libs/moment-adapter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/moment-adapter + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/moment-adapter diff --git a/libs/moment-adapter/package.json b/libs/moment-adapter/package.json index b2bfaa09b6c..eab47303f3e 100644 --- a/libs/moment-adapter/package.json +++ b/libs/moment-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/moment-adapter", - "version": "0.54.0-rc.2", + "version": "0.54.0", "description": "Datetime adapter for SAP Fundamentals, based on Moment.js package", "license": "Apache-2.0", "homepage": "https://sap.github.io/fundamental-ngx/home", diff --git a/libs/nx-plugin/CHANGELOG.md b/libs/nx-plugin/CHANGELOG.md index 93055c22c11..06807034f8c 100644 --- a/libs/nx-plugin/CHANGELOG.md +++ b/libs/nx-plugin/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/nx-plugin + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/nx-plugin diff --git a/libs/nx-plugin/package.json b/libs/nx-plugin/package.json index 11240e2e251..fd37cd295d2 100644 --- a/libs/nx-plugin/package.json +++ b/libs/nx-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/nx-plugin", - "version": "0.54.0-rc.2", + "version": "0.54.0", "main": "src/index.js", "generators": "./generators.json", "executors": "./executors.json", diff --git a/libs/platform/CHANGELOG.md b/libs/platform/CHANGELOG.md index 544596edd47..93d3cebaf0a 100644 --- a/libs/platform/CHANGELOG.md +++ b/libs/platform/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.54.0](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.2...v0.54.0) (2024-12-10) + +**Note:** Version bump only for package @fundamental-ngx/platform + + + + + # [0.54.0-rc.2](https://github.com/SAP/fundamental-ngx/compare/v0.54.0-rc.1...v0.54.0-rc.2) (2024-12-09) **Note:** Version bump only for package @fundamental-ngx/platform diff --git a/libs/platform/package.json b/libs/platform/package.json index 5577e267e86..5517fb31b9c 100644 --- a/libs/platform/package.json +++ b/libs/platform/package.json @@ -1,6 +1,6 @@ { "name": "@fundamental-ngx/platform", - "version": "0.54.0-rc.2", + "version": "0.54.0", "schematics": "./schematics/collection.json", "description": "Fundamental Library for Angular - platform", "license": "Apache-2.0",