Refactoring: cleaning directories structure
[fnpeditor.git] / src / editor / modules / nodePane / metaWidget / metaWidget.js
diff --git a/src/editor/modules/nodePane/metaWidget/metaWidget.js b/src/editor/modules/nodePane/metaWidget/metaWidget.js
new file mode 100644 (file)
index 0000000..14ba7b6
--- /dev/null
@@ -0,0 +1,43 @@
+define([
+'libs/jquery',
+'libs/underscore',
+'libs/backbone',
+'libs/text!./stringField.html'
+], function($, _, Backbone, stringFieldTpl) {
+
+'use strict';
+
+var templates = {
+    string: _.template(stringFieldTpl)
+};
+
+var getAttrElement = function(attr) {
+    var toret = $('<div>');   
+    toret.append(templates.string({name: attr.name, value: attr.value}));
+    return toret;
+};
+
+var MetaWidget = Backbone.View.extend({
+    events: {
+        'change [metaField-name]': 'onMetaFieldChange' 
+    },
+    initialize: function() {
+        var view = this;
+        this.options.attrs.forEach(function(attr) {
+            view.$el.append(getAttrElement(attr));
+        });
+    },
+    onMetaFieldChange: function(e) {
+        var target = $(e.target);
+        this.trigger('valueChanged', target.attr('metaField-name'), target.val());
+    }
+});
+
+
+return {
+    create: function(options) {
+        return new MetaWidget(options);
+    }
+};
+
+});
\ No newline at end of file