Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🤖 Bip Bop - Fusion Web Components Release #1568

Merged
merged 1 commit into from
Aug 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 0 additions & 94 deletions .changeset/cyan-items-provide.md

This file was deleted.

98 changes: 98 additions & 0 deletions packages/person/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,103 @@
# Change Log

## 3.0.1

### Patch Changes

- [#1566](https://github.com/equinor/fusion-web-components/pull/1566) [`5b61628`](https://github.com/equinor/fusion-web-components/commit/5b616282a4c74c191352ee42d356c72443961e3d) Thanks [@eikeland](https://github.com/eikeland)! - Fixes clearing person when using the `selectedPerson` property

# Summary of Latest Changes in This Branch Compared to Main Branch

## File: `controller.ts`

### Lines: 199-264

### Summary of Changes:

1. **New Methods Added:**
- **`clearInput()`**: Clears the input fields and resets the host's value and search properties.
- **`clear()`**: Calls `clearInput()`, clears selected IDs, resets the selected person, and dispatches a custom `PersonSelectEvent`.
- **`closeClick(e: MouseEvent | KeyboardEvent)`**: Handles the close icon click event, blurs the input and close icon, closes the dropdown if open, and calls an external close handler if defined.

### Detailed Changes:

1. **Method: `clearInput()`**
- **Purpose:** Clears the input fields and resets the host's value and search properties.
- **Code:**
```typescript
public clearInput() {
this.#host.value = '';
this.#host.search = '';
this.#host.textInputElement.value = '';
}
```
2. **Method: `clear()`**

- **Purpose:** Calls `clearInput()`, clears selected IDs, resets the selected person, and dispatches a custom `PersonSelectEvent`.
- **Code:**

```typescript
public clear() {
this.clearInput();

if (this.selectedIds.size) {
this.selectedIds.clear();
}

if (this.#host.selectedPerson) {
this.#host.selectedPerson = null;
}

/* Dispatch custom select event with our details */
this.#host.dispatchEvent(
new PersonSelectEvent({
detail: {
selected: null,
},
bubbles: true,
}),
);
}
```

3. **Method: `closeClick(e: MouseEvent | KeyboardEvent)`**

- **Purpose:** Handles the close icon click event, blurs the input and close icon, closes the dropdown if open, and calls an external close handler if defined.
- **Code:**

```typescript
public closeClick = (e: MouseEvent | KeyboardEvent): void => {
if (e.type === 'keydown') {

/* only close on enter or space not tab */
const me = e as KeyboardEvent;
if (me.key !== 'Enter' && me.key !== 'Space') {
return;
}

/* blur closeicon if focused */
const closeIcon = this.#host.renderRoot.querySelector('.trailing');
if (closeIcon) {
(closeIcon as HTMLSpanElement).blur();
}
}

if (this.#host.textInputElement) {
this.#host.textInputElement.blur();
}

/* close dropdown if open */
if (this.isOpen) {
this.isOpen = false;
}

/* call resolvers handleclick if defined */
if (this.#externaCloseHandler) {
this.#externaCloseHandler(e);
}
}
```

## 3.0.0

### Major Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/person/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@equinor/fusion-wc-person",
"version": "3.0.0",
"version": "3.0.1",
"description": "",
"main": "lib/index.js",
"exports": {
Expand Down