Skip to content

Commit 64ec6f1

Browse files
author
Narendra Sisodiya
committed
1.0.2 - you need not defined all lifecycle callbacks, some can be empty
1 parent 771cefb commit 64ec6f1

File tree

4 files changed

+30
-10
lines changed

4 files changed

+30
-10
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "pitana.js",
33
"repo": "pitana/pitana.js",
4-
"version": "1.0.1",
4+
"version": "1.0.2",
55
"main": "dist/pitana.js",
66
"keywords": [
77
"scalable",

dist/pitana.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -447,15 +447,22 @@
447447
ele: this
448448
});
449449
pitana.nodeToViewMapping.add(this, view);
450-
view.createdCallback.apply(view, arguments);
450+
if (typeof view.createdCallback === "function") {
451+
view.createdCallback.apply(view, arguments);
452+
}
453+
451454
};
452455
ElementPrototype.attachedCallback = function() {
453456
var view = pitana.nodeToViewMapping.get(this);
454-
view.attachedCallback.apply(view, arguments);
457+
if (typeof view.attachedCallback === "function") {
458+
view.attachedCallback.apply(view, arguments);
459+
}
455460
};
456461
ElementPrototype.detachedCallback = function() {
457462
var view = pitana.nodeToViewMapping.get(this);
458-
view.detachedCallback.apply(view, arguments);
463+
if (typeof view.detachedCallback === "function") {
464+
view.detachedCallback.apply(view, arguments);
465+
}
459466
view._endModule();
460467
pitana.nodeToViewMapping.remove(this);
461468
};
@@ -484,7 +491,10 @@
484491
view[config.onChange].apply(view, mainArgs);
485492
}
486493
});
487-
view.attributeChangedCallback.apply(view, arguments);
494+
if (typeof view.attributeChangedCallback === "function") {
495+
view.attributeChangedCallback.apply(view, arguments);
496+
}
497+
488498
};
489499

490500
if (ViewConstructor.prototype.accessors !== undefined) {

dist/pitana.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/pitana.registerElement.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,22 @@
1313
ele: this
1414
});
1515
pitana.nodeToViewMapping.add(this, view);
16-
view.createdCallback.apply(view, arguments);
16+
if (typeof view.createdCallback === "function") {
17+
view.createdCallback.apply(view, arguments);
18+
}
19+
1720
};
1821
ElementPrototype.attachedCallback = function() {
1922
var view = pitana.nodeToViewMapping.get(this);
20-
view.attachedCallback.apply(view, arguments);
23+
if (typeof view.attachedCallback === "function") {
24+
view.attachedCallback.apply(view, arguments);
25+
}
2126
};
2227
ElementPrototype.detachedCallback = function() {
2328
var view = pitana.nodeToViewMapping.get(this);
24-
view.detachedCallback.apply(view, arguments);
29+
if (typeof view.detachedCallback === "function") {
30+
view.detachedCallback.apply(view, arguments);
31+
}
2532
view._endModule();
2633
pitana.nodeToViewMapping.remove(this);
2734
};
@@ -50,7 +57,10 @@
5057
view[config.onChange].apply(view, mainArgs);
5158
}
5259
});
53-
view.attributeChangedCallback.apply(view, arguments);
60+
if (typeof view.attributeChangedCallback === "function") {
61+
view.attributeChangedCallback.apply(view, arguments);
62+
}
63+
5464
};
5565

5666
if (ViewConstructor.prototype.accessors !== undefined) {

0 commit comments

Comments
 (0)