1 | void (function(){var _ion_runtime_IfStatement_ = function(module,exports,require){'use strict';
|
2 | var ion = require('../'), Statement = require('./Statement');
|
3 | var IfStatement = ion.defineClass({
|
4 | name: 'IfStatement',
|
5 | properties: {
|
6 | activate: function () {
|
7 | IfStatement.super.prototype.activate.apply(this, arguments);
|
8 | this.testExpression = this.testExpression != null ? this.testExpression : this.context.createRuntime(this.test);
|
9 | this.testExpression.watch(this.testExpressionWatcher = this.testExpressionWatcher != null ? this.testExpressionWatcher : ion.bind(function (value) {
|
10 | if (value) {
|
11 | if (this.alternateStatement != null ? this.alternateStatement.isActive : void 0) {
|
12 | this.alternateStatement != null ? this.alternateStatement.deactivate() : void 0;
|
13 | delete this.alternateStatement;
|
14 | }
|
15 | this.consequentStatement = this.consequentStatement != null ? this.consequentStatement : this.context.createRuntime(this.consequent);
|
16 | this.consequentStatement.activate();
|
17 | } else {
|
18 | if (this.consequentStatement != null ? this.consequentStatement.isActive : void 0) {
|
19 | this.consequentStatement != null ? this.consequentStatement.deactivate() : void 0;
|
20 | delete this.consequentStatement;
|
21 | }
|
22 | if (this.alternate != null) {
|
23 | this.alternateStatement = this.alternateStatement != null ? this.alternateStatement : this.context.createRuntime(this.alternate);
|
24 | this.alternateStatement.activate();
|
25 | }
|
26 | }
|
27 | }, this));
|
28 | },
|
29 | deactivate: function () {
|
30 | IfStatement.super.prototype.deactivate.apply(this, arguments);
|
31 | this.testExpression.unwatch(this.testExpressionWatcher);
|
32 | if (this.alternateStatement != null ? this.alternateStatement.isActive : void 0) {
|
33 | this.alternateStatement != null ? this.alternateStatement.deactivate() : void 0;
|
34 | }
|
35 | if (this.consequentStatement != null ? this.consequentStatement.isActive : void 0) {
|
36 | this.consequentStatement != null ? this.consequentStatement.deactivate() : void 0;
|
37 | }
|
38 | }
|
39 | }
|
40 | }, Statement);
|
41 | module.exports = exports = IfStatement;
|
42 | }
|
43 | if (typeof require === 'function') {
|
44 | if (require.register)
|
45 | require.register('ion/runtime/IfStatement',_ion_runtime_IfStatement_);
|
46 | else
|
47 | _ion_runtime_IfStatement_.call(this, module, exports, require);
|
48 | }
|
49 | else {
|
50 | _ion_runtime_IfStatement_.call(this);
|
51 | }
|
52 | }).call(this)
|
53 |
|
\ | No newline at end of file |