From 748f1c5d337040433c6c441afab579faf5c934e0 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Mon, 6 Apr 2015 16:21:10 +0300 Subject: client: types: split types.js to form domain_types.js, containing declarative json --- build.ant | 4 +- src/client/model/types.js | 40 +++++++++++ src/local/domain/cri.rhizi.net/domain_types.js | 49 +++++++++++++ src/local/domain/cri.rhizi.net/types.js | 83 ---------------------- src/local/domain/default.rhizi.net/domain_types.js | 49 +++++++++++++ src/local/domain/default.rhizi.net/types.js | 52 -------------- 6 files changed, 140 insertions(+), 137 deletions(-) create mode 100644 src/client/model/types.js create mode 100644 src/local/domain/cri.rhizi.net/domain_types.js delete mode 100644 src/local/domain/cri.rhizi.net/types.js create mode 100644 src/local/domain/default.rhizi.net/domain_types.js delete mode 100644 src/local/domain/default.rhizi.net/types.js diff --git a/build.ant b/build.ant index a362662f..cb3bcc3c 100644 --- a/build.ant +++ b/build.ant @@ -95,8 +95,8 @@ - + diff --git a/src/client/model/types.js b/src/client/model/types.js new file mode 100644 index 00000000..867969ea --- /dev/null +++ b/src/client/model/types.js @@ -0,0 +1,40 @@ +define(['underscore', 'util', 'model/domain_types'], +function(_, util, domain_types) +{ + +var nodetypes, + all_attributes, + type_attributes = domain_types.type_attributes, + attribute_titles = domain_types.attribute_titles; + +nodetypes = _.keys(type_attributes); + +if (undefined === type_attributes['_defaults']) { + type_attributes['_defaults'] = { + 'title': 'default', + 'attributes':['description', 'url'] + }; +} + +_.pluck(_.values(type_attributes), 'attributes').map(function (attributes) { + attributes.push('name'); + attributes.push('type'); + attributes.sort(); + }); + +all_attributes = _.union(_.flatten(_.pluck(_.values(type_attributes), 'attributes'))).sort(); + +util.assert(_.isEqual(all_attributes, _.keys(attribute_titles).sort())); + +return ( + { + nodetypes: nodetypes, + type_attributes: function (type) { + util.assert(!type || type[0] !== '_', 'invalid type name'); + return type_attributes[type && type_attributes.hasOwnProperty(type) ? type : '_defaults'].attributes; + }, + all_attributes: all_attributes, + attribute_titles: attribute_titles, + }); +} +) diff --git a/src/local/domain/cri.rhizi.net/domain_types.js b/src/local/domain/cri.rhizi.net/domain_types.js new file mode 100644 index 00000000..c8610aa9 --- /dev/null +++ b/src/local/domain/cri.rhizi.net/domain_types.js @@ -0,0 +1,49 @@ +define({ + type_attributes: { + 'internship': { + 'title': 'Internship', + 'attributes': + ['status', 'startdate', 'enddate', 'description', 'url', + 'internship-type', + 'facility', + 'facility-affiliation', + 'cnrs-inserm-unit-code', + 'street-address', + 'city', + 'country', + ], + }, + 'skill': { + 'title': 'Skill', + 'attributes': ['description', 'url'], + }, + 'interest': { + 'title': 'Interesst', + 'attributes': ['description', 'url'], + }, + 'person': { + 'title': 'Person', + 'attributes': ['description', 'url'], + }, + 'club': { + 'title': 'Club', + 'attributes': ['description', 'url'], + } + }, + attribute_titles: { + 'name': 'Name', + 'type': 'Type', + 'description': 'Description', + 'url': 'URL', + 'status': 'Status', + 'startdate': 'Start Date', + 'enddate': 'End Date', + 'internship-type': 'Internship Type', + 'facility': 'Lab/Company', + 'facility-affiliation': 'Lab affiliation', + 'cnrs-inserm-unit-code': 'CNRS / INSERM unit code', + 'street-address': 'Street address', + 'city': 'City', + 'country': 'Country', + } +}); diff --git a/src/local/domain/cri.rhizi.net/types.js b/src/local/domain/cri.rhizi.net/types.js deleted file mode 100644 index 76959a83..00000000 --- a/src/local/domain/cri.rhizi.net/types.js +++ /dev/null @@ -1,83 +0,0 @@ -define(['underscore', 'util'], -function(_, util) -{ - -var nodetypes, - type_attributes = { - 'internship': { - 'title': 'Internship', - 'attributes': - ['status', 'startdate', 'enddate', 'description', 'url', - 'internship-type', - 'facility', - 'facility-affiliation', - 'cnrs-inserm-unit-code', - 'street-address', - 'city', - 'country', - ], - }, - 'skill': { - 'title': 'Skill', - 'attributes': ['description', 'url'], - }, - 'interest': { - 'title': 'Interesst', - 'attributes': ['description', 'url'], - }, - 'person': { - 'title': 'Person', - 'attributes': ['description', 'url'], - }, - 'club': { - 'title': 'Club', - 'attributes': ['description', 'url'], - } - }, - all_attributes, - attribute_titles = { - 'name': 'Name', - 'type': 'Type', - 'description': 'Description', - 'url': 'URL', - 'status': 'Status', - 'startdate': 'Start Date', - 'enddate': 'End Date', - 'internship-type': 'Internship Type', - 'facility': 'Lab/Company', - 'facility-affiliation': 'Lab affiliation', - 'cnrs-inserm-unit-code': 'CNRS / INSERM unit code', - 'street-address': 'Street address', - 'city': 'City', - 'country': 'Country', - }; - -nodetypes = _.keys(type_attributes); - -type_attributes['_defaults'] = { - 'title': 'default', - 'attributes':['description', 'url'] - }; - -_.pluck(_.values(type_attributes), 'attributes').map(function (attributes) { - attributes.push('name'); - attributes.push('type'); - attributes.sort(); - }); - -all_attributes = _.union(_.flatten(_.pluck(_.values(type_attributes), 'attributes'))).sort(); - -util.assert(_.isEqual(all_attributes, _.keys(attribute_titles).sort())); - -return ( - { - nodetypes: nodetypes, - type_attributes: function (type) { - util.assert(!type || type[0] !== '_', 'invalid type name'); - return type_attributes[!type && type_attributes.hasOwnProperty(type) ? type : '_defaults'].attributes; - }, - all_attributes: all_attributes, - attribute_titles: attribute_titles, - }); -} -) diff --git a/src/local/domain/default.rhizi.net/domain_types.js b/src/local/domain/default.rhizi.net/domain_types.js new file mode 100644 index 00000000..c8610aa9 --- /dev/null +++ b/src/local/domain/default.rhizi.net/domain_types.js @@ -0,0 +1,49 @@ +define({ + type_attributes: { + 'internship': { + 'title': 'Internship', + 'attributes': + ['status', 'startdate', 'enddate', 'description', 'url', + 'internship-type', + 'facility', + 'facility-affiliation', + 'cnrs-inserm-unit-code', + 'street-address', + 'city', + 'country', + ], + }, + 'skill': { + 'title': 'Skill', + 'attributes': ['description', 'url'], + }, + 'interest': { + 'title': 'Interesst', + 'attributes': ['description', 'url'], + }, + 'person': { + 'title': 'Person', + 'attributes': ['description', 'url'], + }, + 'club': { + 'title': 'Club', + 'attributes': ['description', 'url'], + } + }, + attribute_titles: { + 'name': 'Name', + 'type': 'Type', + 'description': 'Description', + 'url': 'URL', + 'status': 'Status', + 'startdate': 'Start Date', + 'enddate': 'End Date', + 'internship-type': 'Internship Type', + 'facility': 'Lab/Company', + 'facility-affiliation': 'Lab affiliation', + 'cnrs-inserm-unit-code': 'CNRS / INSERM unit code', + 'street-address': 'Street address', + 'city': 'City', + 'country': 'Country', + } +}); diff --git a/src/local/domain/default.rhizi.net/types.js b/src/local/domain/default.rhizi.net/types.js deleted file mode 100644 index 249f9f69..00000000 --- a/src/local/domain/default.rhizi.net/types.js +++ /dev/null @@ -1,52 +0,0 @@ -define(['underscore', 'util'], -function(_, util) -{ - -var nodetypes, - type_attributes = { - 'person': { - 'title': 'Person', - 'attributes': ['description', 'url'], - }, - 'skill': { - 'title': 'Skill', - 'attributes': ['description', 'url'], - } - }, - all_attributes, - attribute_titles = { - 'name': 'Name', - 'type': 'Type', - 'description': 'Description', - 'url': 'URL', - }; - -nodetypes = _.keys(type_attributes); - -type_attributes['_defaults'] = { - 'title': 'default', - 'attributes':['description', 'url'] - }; - -_.pluck(_.values(type_attributes), 'attributes').map(function (attributes) { - attributes.push('name'); - attributes.push('type'); - attributes.sort(); - }); - -all_attributes = _.union(_.flatten(_.pluck(_.values(type_attributes), 'attributes'))).sort(); - -util.assert(_.isEqual(all_attributes, _.keys(attribute_titles).sort())); - -return ( - { - nodetypes: nodetypes, - type_attributes: function (type) { - util.assert(type[0] !== '_', 'invalid type name'); - return type_attributes[type_attributes.hasOwnProperty(type) ? type : '_defaults'].attributes; - }, - all_attributes: all_attributes, - attribute_titles: attribute_titles, - }); -} -) -- cgit v1.3.1