initial commit
This commit is contained in:
commit
4b60ece582
327 changed files with 28286 additions and 0 deletions
69
libjs/wController/vocabulary.js
Normal file
69
libjs/wController/vocabulary.js
Normal file
|
@ -0,0 +1,69 @@
|
|||
"use strict";
|
||||
var Controller = require("./controller");
|
||||
var WVocabulary = require("../wType/vocabulary");
|
||||
|
||||
var Vocabulary = Controller.inherit({
|
||||
"className": "Vocabulary",
|
||||
"constructor": function(addr) {
|
||||
Controller.fn.constructor.call(this, addr);
|
||||
|
||||
this.data = new WVocabulary();
|
||||
|
||||
this.addHandler("get");
|
||||
this.addHandler("change");
|
||||
this.addHandler("clear");
|
||||
},
|
||||
"destructor": function() {
|
||||
this.data.destructor();
|
||||
|
||||
Controller.fn.destructor.call(this);
|
||||
},
|
||||
"addElement": function(key, element) {
|
||||
this.data.insert(key, element);
|
||||
this.trigger("newElement", key, element);
|
||||
},
|
||||
"removeElement": function(key) {
|
||||
this.data.erase(key);
|
||||
this.trigger("removeElement", key);
|
||||
},
|
||||
"clear": function() {
|
||||
this.data.clear();
|
||||
this.trigger("clear");
|
||||
},
|
||||
"_h_change": function(ev) {
|
||||
var key;
|
||||
var data = ev.getData();
|
||||
|
||||
var erase = data.at("erase");
|
||||
var insert = data.at("insert");
|
||||
|
||||
var eSize = erase.length();
|
||||
for (var i = 0; i < eSize; ++i) {
|
||||
key = erase.at(i).toString();;
|
||||
this.removeElement(key);
|
||||
}
|
||||
|
||||
var keys = insert.getKeys();
|
||||
for (var j = 0; j < keys.length; ++j) {
|
||||
key = keys[i];
|
||||
this.addElement(key, insert.at(key).clone());
|
||||
}
|
||||
this.trigger("change", data.clone());
|
||||
},
|
||||
"_h_clear": function(ev) {
|
||||
this.clear();
|
||||
},
|
||||
"_h_get": function(ev) {
|
||||
this.clear();
|
||||
|
||||
var data = ev.getData().at("data");
|
||||
var keys = data.getKeys();
|
||||
for (var i = 0; i < keys.length; ++i) {
|
||||
var key = keys[i];
|
||||
this.addElement(key, data.at(key).clone());
|
||||
}
|
||||
this.trigger("data");
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = Vocabulary;
|
Loading…
Add table
Add a link
Reference in a new issue