+ },
+ updateMetadataRow: function(row) {
+ this._getRowTr(row, function(tr) {
+ var tds = tr.find('td [contenteditable]'),
+ keyTd = $(tds[0]),
+ valueTd = $(tds[1]);
+
+ if(keyTd.text() !== row.getKey()) {
+ keyTd.text(row.getKey());
+ }
+ if(valueTd.text() !== row.getValue()) {
+ valueTd.text(row.getValue());
+ }
+ });
+ },
+ removeMetadataRow: function(row) {
+ this._getRowTr(row, function(tr) {
+ tr.remove();
+ });
+ },
+ _getRowTr: function(row, callback) {
+ this.metaTable.find('tr').each(function() {
+ var tr = $(this);
+ if(tr.data('row') === row) {
+ callback(tr);
+ return false;
+ }
+ });