Skip to content

Commit 8d583fd

Browse files
authored
Merge pull request #372 from HapticX/dev
component event @created -> @beforeCreated, add a new @created
2 parents 646a72a + f709452 commit 8d583fd

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

src/happyx/spa/components.nim

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,7 @@ macro component*(name, body: untyped): untyped =
438438
]
439439
usedLifeCycles = {
440440
"created": false, # at created
441+
"beforeCreated": false, # at created
441442
"updated": false, # at HTML render end
442443
"rendered": false, # at render/reRender end
443444
"beforeUpdated": false, # before render/reRender
@@ -825,11 +826,11 @@ macro component*(name, body: untyped): untyped =
825826
newNimNode(nnkIfStmt).add(newNimNode(nnkElifBranch).add(
826827
newCall("==", newDotExpr(ident"self", ident"isCreated"), newLit(false)),
827828
newStmtList(
828-
newCall(newDotExpr(ident"self", ident"created"), ident"self"),
829-
newAssignment(
830-
newDotExpr(ident"self", ident"isCreated"),
831-
newLit(true)
832-
)
829+
newCall(newDotExpr(ident"self", ident"beforeCreated"), ident"self"),
830+
# newAssignment(
831+
# newDotExpr(ident"self", ident"isCreated"),
832+
# newLit(true)
833+
# )
833834
)
834835
))
835836
).add(

src/happyx/spa/renderer.nim

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ when defined(js):
7777
inCycle: bool, cycleCounter: var int, compCounter: string
7878
): TagRef
7979
slotData*: TagRef
80-
created*: ComponentEventHandler ## Calls before first rendering
80+
beforeCreated*: ComponentEventHandler ## Calls before first rendering
81+
created*: ComponentEventHandler ## Calls after first rendering
8182
exited*: ComponentEventHandler ## Calls after last rendering
8283
rendered*: ComponentEventHandler ## Calls after every rendering
8384
pageHide*: ComponentEventHandler ## Calls after every rendering
@@ -112,7 +113,8 @@ else:
112113
inCycle: bool, cycleCounter: var int, compCounter: string
113114
): TagRef
114115
slotData*: TagRef
115-
created*: ComponentEventHandler ## Calls before first rendering
116+
beforeCreated*: ComponentEventHandler ## Calls before first rendering
117+
created*: ComponentEventHandler ## Calls after first rendering
116118
exited*: ComponentEventHandler ## Calls after last rendering
117119
rendered*: ComponentEventHandler ## Calls after every rendering
118120
pageHide*: ComponentEventHandler ## Calls after every rendering
@@ -357,10 +359,16 @@ when defined(js):
357359
components.del(comp.uniqCompId)
358360
for comp in currentComponentsList.mitems:
359361
comp = registerComponent(comp.uniqCompId, comp)
362+
if not comp.isCreated:
363+
comp.created(comp)
364+
comp.isCreated = true
360365
comp.updated(comp, nil)
361366
createdComponentsList.setLen(0)
362367
else:
363368
for comp in currentComponentsList:
369+
if not comp.isCreated:
370+
comp.created(comp)
371+
comp.isCreated = true
364372
comp.updated(comp, nil)
365373
currentComponentsList.setLen(0)
366374
if activeElement.hasAttribute("id"):

0 commit comments

Comments
 (0)