aboutsummaryrefslogtreecommitdiff
path: root/js/models/element-model.js
diff options
context:
space:
mode:
authorAnanya Sen2012-04-17 18:11:55 -0700
committerAnanya Sen2012-04-17 18:11:55 -0700
commit35abad196cc9feb76ef50c1b63032a38233a6d51 (patch)
tree914689c66d4ab6c6e088b571eade0a0e35082916 /js/models/element-model.js
parent1f891c58bad0b7746659aa4138001b5ee76d9a0e (diff)
parent616a8532099fec2a15855eac97cd85cb60c4451c (diff)
downloadninja-35abad196cc9feb76ef50c1b63032a38233a6d51.tar.gz
Merge branch 'refs/heads/ninja-internal-master' into Codeview-improvements
Diffstat (limited to 'js/models/element-model.js')
-rwxr-xr-xjs/models/element-model.js36
1 files changed, 35 insertions, 1 deletions
diff --git a/js/models/element-model.js b/js/models/element-model.js
index 831e8b1e..fa02fd38 100755
--- a/js/models/element-model.js
+++ b/js/models/element-model.js
@@ -7,6 +7,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
7var Montage = require("montage/core/core").Montage; 7var Montage = require("montage/core/core").Montage;
8 8
9exports.ElementModel = Montage.create(Montage, { 9exports.ElementModel = Montage.create(Montage, {
10 key: { value: "_model_"},
10 11
11 type: { value: null }, // Tag type that was created 12 type: { value: null }, // Tag type that was created
12 selection: { value: null }, // Selection string 13 selection: { value: null }, // Selection string
@@ -43,6 +44,39 @@ exports.ElementModel = Montage.create(Montage, {
43 * Color info 44 * Color info
44 */ 45 */
45 fill: { value: null }, 46 fill: { value: null },
46 stroke: { value: null } 47 stroke: { value: null },
48
49 getProperty: {
50 value: function(property) {
51 var key = this.key + property;
52
53 if(!this.hasOwnProperty(key)) {
54 this.defineModelProperty(key, null);
55 }
56
57 return this[key];
58 }
59 },
60
61 setProperty: {
62 value: function(property, value) {
63 var key = this.key + property;
64
65 if(!this.hasOwnProperty(key)) {
66 this.defineModelProperty(key, value);
67 } else {
68 this[key] = value;
69 }
70 }
71 },
72
73 defineModelProperty: {
74 value: function(property, value) {
75 Montage.defineProperty(this, property, {
76 enumarable: true,
77 value:value
78 });
79 }
80 }
47 81
48}); \ No newline at end of file 82}); \ No newline at end of file