Remove bugfix widgets

This commit is contained in:
Jason Gerard DeRose
2010-02-18 17:29:31 -07:00
committed by Rob Crittenden
parent ec7433313f
commit eab04c9d09

View File

@@ -246,154 +246,6 @@ class LandingPage(base.Widget):
"""
class Form(builtins.Form):
js_class = 'Form'
javascript = """
Wehjit.bases.Form = new Class({
Extends: Wehjit.bases.Widget,
post_init: function() {
this.focused = null;
$each(this.el.elements, function(field) {
field.connect('focus', this);
}, this);
var parent = this.get_parent();
if (parent && parent.klass == 'Dialog') {
parent.addEvent('run', this.on_run.bind(this));
this.parent = parent;
}
this.formdata = null;
},
on_focus: function(field, event) {
this.focused = field;
},
on_run: function(dialog, params) {
console.assert(dialog == this.parent);
this.refocus();
},
refocus: function() {
console.log('refocus', this.id, this.focused);
if (this.focused) {
this.focused.focus();
return true;
}
if (this.el.elements.length > 0) {
this.el.elements[0].focus();
return true;
}
return false;
},
get_data: function() {
console.log('Form.get_data');
var rawdata = this.el.get_data();
var data = {};
if (this.formdata == null) {
$each(rawdata, function(value, key) {
if (value !== '') {
data[key] = value;
}
});
}
else {
$each(rawdata, function(value, key) {
var old = this.formdata[key];
if (old == undefined && value === '') {
return;
}
if (old != value) {
console.log('changed: %s = %s', key, value);
data[key] = value;
}
}, this);
}
return data;
},
set_data: function(data) {
console.log('Form.set_data', data);
this.focused = null;
if ($type(data) == 'object') {
this.formdata = data;
}
else {
this.formdata = null;
}
this.el.set_data(data);
},
reset: function() {
this.formdata = null;
this.focused = null;
this.el.reset();
},
});
"""
class CRUDS(builtins.CRUDS):
display_cols = Static('display_cols', json=True, default=tuple())
class Display(builtins.Display):
cols = None
javascript = """
Wehjit.bases.Display = new Class({
Extends: Wehjit.bases.Widget,
post_init: function() {
var parent = this.get_parent();
console.assert(parent);
parent.addEvent('run', this.on_run.bind(this));
this.cruds = Wehjit.get('cruds');
this.cols = this.cruds.data.display_cols;
console.assert(this.cols);
if (this.cols.length == 0) {
this.cols = Wehjit.data.grid.cols;
}
},
on_run: function(dialog, row) {
console.log('Display.on_run(%s, %s)', dialog, row);
this.el.empty();
if ($type(row) != 'object') {
return;
}
this.cols.each(function(col) {
var tr = new Element('tr');
var th = new Element('th');
th.textContent = col.label + ':';
tr.appendChild(th);
this.el.appendChild(tr);
var td = new Element('td');
var value = row[col.name];
if ($type(value) == 'array') {
var value = value.join(',');
}
if ($type(value) != 'string') {
var value = '';
}
td.textContent = value;
tr.appendChild(td);
}, this);
},
});
"""
def create_widgets():
widgets = Collection('freeIPA')
widgets.register_builtins()
@@ -403,10 +255,6 @@ def create_widgets():
widgets.register(Command)
widgets.register(Object)
widgets.register(LandingPage)
widgets.register(Form, override=True)
widgets.register(CRUDS, override=True)
widgets.register(Display, override=True)
freeze(widgets)
return widgets