Skip to content

Commit 86720fc

Browse files
committed
Rename Added to Connected and Removed to Disconnected
1 parent 78c094b commit 86720fc

File tree

5 files changed

+20
-23
lines changed

5 files changed

+20
-23
lines changed

docs/reference/targets.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,19 +93,19 @@ if (this.hasResultsTarget) {
9393
Target _element callbacks_ let you respond whenever a target element is added or
9494
removed within the controller's element.
9595

96-
Define a method `[name]TargetAdded` or `[name]TargetRemoved` in the controller, where `[name]` is the name of the target you want to observe for additions or removals. The method receives the element as the first argument.
96+
Define a method `[name]TargetConnected` or `[name]TargetDisconnected` in the controller, where `[name]` is the name of the target you want to observe for additions or removals. The method receives the element as the first argument.
9797

9898
Stimulus invokes each element callback any time its target elements are added or removed after `connect()` and before `disconnect()` lifecycle hooks.
9999

100100
```js
101101
export default class extends Controller {
102102
static targets = [ "input" ]
103103

104-
inputTargetAdded(element) {
104+
inputTargetConnected(element) {
105105
element.classList.add("added-animation")
106106
}
107107

108-
inputTargetRemoved(element) {
108+
inputTargetDisconnected(element) {
109109
element.classList.add("removed-animation")
110110
}
111111
}

packages/@stimulus/core/src/target_observer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ export class TargetObserver implements TokenListObserverDelegate {
2525

2626
tokenMatched(token: Token): void {
2727
if (this.controller.isConnected && this.containsDescendantWithToken(token.element, token.content)) {
28-
this.dispatchCallback(`${token.content}TargetAdded`, token.element)
28+
this.dispatchCallback(`${token.content}TargetConnected`, token.element)
2929
}
3030
}
3131

3232
tokenUnmatched(token: Token): void {
3333
if (this.controller.isConnected && !this.containsDescendantWithToken(token.element, token.content)) {
34-
this.dispatchCallback(`${token.content}TargetRemoved`, token.element)
34+
this.dispatchCallback(`${token.content}TargetDisconnected`, token.element)
3535
}
3636
}
3737

packages/@stimulus/core/src/target_properties.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,5 @@ function propertiesForTargetDefinition(name: string) {
3434
return this.targets.has(name)
3535
}
3636
},
37-
38-
[`${name}TargetAdded`]: (element: Element) => {},
39-
[`${name}TargetRemoved`]: (element: Element) => {},
4037
}
4138
}

packages/@stimulus/core/src/tests/controllers/target_controller.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class BaseTargetController extends Controller {
1111
export class TargetController extends BaseTargetController {
1212
static classes = [ "added", "removed" ]
1313
static targets = [ "beta", "input" ]
14-
static values = { inputTargetAddedCallCount: Number, inputTargetRemovedCallCount: Number }
14+
static values = { inputTargetConnectedCallCount: Number, inputTargetDisconnectedCallCount: Number }
1515

1616
betaTarget!: Element | null
1717
betaTargets!: Element[]
@@ -26,16 +26,16 @@ export class TargetController extends BaseTargetController {
2626
addedClass!: string
2727
removedClass!: string
2828

29-
inputTargetAddedCallCountValue = 0
30-
inputTargetRemovedCallCountValue = 0
29+
inputTargetConnectedCallCountValue = 0
30+
inputTargetDisconnectedCallCountValue = 0
3131

32-
inputTargetAdded(element: Element) {
33-
this.inputTargetAddedCallCountValue++
32+
inputTargetConnected(element: Element) {
33+
this.inputTargetConnectedCallCountValue++
3434
if (this.hasAddedClass) element.classList.add(this.addedClass)
3535
}
3636

37-
inputTargetRemoved(element: Element) {
38-
this.inputTargetRemovedCallCountValue++
37+
inputTargetDisconnected(element: Element) {
38+
this.inputTargetDisconnectedCallCountValue++
3939
if (this.hasRemovedClass) element.classList.add(this.removedClass)
4040
}
4141
}

packages/@stimulus/core/src/tests/modules/target_tests.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
6767
const addedInputs = this.controller.inputTargets.filter(target => target.classList.contains("added"))
6868

6969
this.assert.equal(addedInputs.length, 0)
70-
this.assert.equal(this.controller.inputTargetAddedCallCountValue, 0)
70+
this.assert.equal(this.controller.inputTargetConnectedCallCountValue, 0)
7171
}
7272

7373
async "test target added callback when element is inserted"() {
@@ -77,7 +77,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
7777
this.controller.element.appendChild(addedInput)
7878
await this.nextFrame
7979

80-
this.assert.equal(this.controller.inputTargetAddedCallCountValue, 1)
80+
this.assert.equal(this.controller.inputTargetConnectedCallCountValue, 1)
8181
this.assert.ok(addedInput.classList.contains("added"), `expected "${addedInput.className}" to contain "added"`)
8282
this.assert.ok(addedInput.isConnected, "element is present in document")
8383
}
@@ -88,7 +88,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
8888
element.setAttribute(`data-${this.controller.identifier}-target`, "input")
8989
await this.nextFrame
9090

91-
this.assert.equal(this.controller.inputTargetAddedCallCountValue, 1)
91+
this.assert.equal(this.controller.inputTargetConnectedCallCountValue, 1)
9292
this.assert.ok(element.classList.contains("added"), `expected "${element.className}" to contain "added"`)
9393
this.assert.ok(element.isConnected, "element is still present in document")
9494
}
@@ -99,7 +99,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
9999
element.setAttribute(`data-${this.controller.identifier}-target`, "alpha input")
100100
await this.nextFrame
101101

102-
this.assert.equal(this.controller.inputTargetAddedCallCountValue, 1)
102+
this.assert.equal(this.controller.inputTargetConnectedCallCountValue, 1)
103103
this.assert.ok(element.classList.contains("added"), `expected "${element.className}" to contain "added"`)
104104
this.assert.ok(element.isConnected, "element is still present in document")
105105
}
@@ -113,7 +113,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
113113
const removedInputs = inputs.filter(target => target.classList.contains("removed"))
114114

115115
this.assert.equal(removedInputs.length, 0)
116-
this.assert.equal(this.controller.inputTargetRemovedCallCountValue, 0)
116+
this.assert.equal(this.controller.inputTargetDisconnectedCallCountValue, 0)
117117
}
118118

119119
async "test target removed callback when element is removed"() {
@@ -122,7 +122,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
122122
removedInput.remove()
123123
await this.nextFrame
124124

125-
this.assert.equal(this.controller.inputTargetRemovedCallCountValue, 1)
125+
this.assert.equal(this.controller.inputTargetDisconnectedCallCountValue, 1)
126126
this.assert.ok(removedInput.classList.contains("removed"), `expected "${removedInput.className}" to contain "removed"`)
127127
this.assert.notOk(removedInput.isConnected, "element is not present in document")
128128
}
@@ -133,7 +133,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
133133
element.removeAttribute(`data-${this.controller.identifier}-target`)
134134
await this.nextFrame
135135

136-
this.assert.equal(this.controller.inputTargetRemovedCallCountValue, 1)
136+
this.assert.equal(this.controller.inputTargetDisconnectedCallCountValue, 1)
137137
this.assert.ok(element.classList.contains("removed"), `expected "${element.className}" to contain "removed"`)
138138
this.assert.ok(element.isConnected, "element is still present in document")
139139
}
@@ -144,7 +144,7 @@ export default class TargetTests extends ControllerTestCase(TargetController) {
144144
element.setAttribute(`data-${this.controller.identifier}-target`, "input")
145145
await this.nextFrame
146146

147-
this.assert.equal(this.controller.inputTargetRemovedCallCountValue, 0)
147+
this.assert.equal(this.controller.inputTargetDisconnectedCallCountValue, 0)
148148
this.assert.notOk(element.classList.contains("removed"), `expected "${element.className}" not to contain "removed"`)
149149
this.assert.ok(element.isConnected, "element is still present in document")
150150
}

0 commit comments

Comments
 (0)