summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/model/core.js27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/model/core.js b/src/model/core.js
index 43a87b5d..b1758cd1 100644
--- a/src/model/core.js
+++ b/src/model/core.js
@@ -19,14 +19,23 @@ define([], function() {
function Node() {
}
+ Node.prototype.selected = function() {
+ return this.state == 'chosen' || this.state == 'enter' || this.state == 'exit';
+ }
+
function create_node__set_random_id(node_spec) {
+ if (node_spec.id) {
+ console.log('create_node__set_random_id: bug: given id');
+ }
+ node_spec.id = random_id();
+ return create_node(node_spec);
+ }
+
+ function create_node(node_spec) {
if (undefined == node_spec) {
node_spec = {};
}
-
var ret = new Node();
- ret.id = random_id();
-
ret.name = node_spec.name;
ret.type = node_spec.type;
ret.state = node_spec.state;
@@ -35,6 +44,9 @@ define([], function() {
ret.start = node_spec.start;
ret.end = node_spec.end;
+ ret.x = node_spec.x;
+ ret.y = node_spec.y;
+ console.log(ret);
return ret;
}
@@ -45,13 +57,13 @@ define([], function() {
}
/**
- * determine if nodes are equal by ID
+ * determine if nodes are equal by name
*
* @param other_node
* @returns {Boolean}
*/
- Node.prototype.equlas_by_id = function(other) {
- ret = this.id.toLowerCase() == other.id.toLowerCase();
+ Node.prototype.equal_by_name = function(other) {
+ ret = this.name.toLowerCase() == other.name.toLowerCase();
if (false == ret) {
console.debug(this.id + ' != ' + other.id);
}
@@ -68,12 +80,13 @@ define([], function() {
* @param other_node
* @returns {Boolean}
*/
- Link.prototype.equlas_by_id = function(other) {
+ Link.prototype.equal_by_id = function(other) {
return this.id.toLowerCase() == other.id.toLowerCase();
}
return {
random_node_name : random_node_name,
+ create_node: create_node,
create_node__set_random_id : create_node__set_random_id,
create_link__set_random_id : create_link__set_random_id,
};