--- a/web/data/cubicweb.widgets.js Mon May 03 14:09:37 2010 +0200
+++ b/web/data/cubicweb.widgets.js Mon May 03 14:10:23 2010 +0200
@@ -313,34 +313,5 @@
});
-/*
- * ComboBox with a textinput : allows to add a new value
- */
-
-Widgets.AddComboBox = defclass('AddComboBox', null, {
- __init__ : function(wdgnode) {
- jQuery("#add_newopt").click(function() {
- var new_val = jQuery("#newopt").val();
- if (!new_val){
- return false;
- }
- name = wdgnode.getAttribute('name').split(':');
- this.rel = name[0];
- this.eid_to = name[1];
- this.etype_to = wdgnode.getAttribute('cubicweb:etype_to');
- this.etype_from = wdgnode.getAttribute('cubicweb:etype_from');
- var d = asyncRemoteExec('add_and_link_new_entity', this.etype_to, this.rel, this.eid_to, this.etype_from, 'new_val');
- d.addCallback(function (eid) {
- jQuery(wdgnode).find("option[selected]").removeAttr("selected");
- var new_option = OPTION({'value':eid, 'selected':'selected'}, value=new_val);
- wdgnode.appendChild(new_option);
- });
- d.addErrback(function (xxx) {
- log('xxx =', xxx);
- });
- });
- }
-});
-
CubicWeb.provide('widgets.js');
--- a/web/formwidgets.py Mon May 03 14:09:37 2010 +0200
+++ b/web/formwidgets.py Mon May 03 14:10:23 2010 +0200
@@ -60,7 +60,6 @@
.. autoclass:: cubicweb.web.formwidgets.AjaxWidget
.. autoclass:: cubicweb.web.formwidgets.AutoCompletionWidget
-.. kill or document AddComboBoxWidget
.. kill or document StaticFileAutoCompletionWidget
.. kill or document LazyRestrictedAutoCompletionWidget
.. kill or document RestrictedAutoCompletionWidget
@@ -776,24 +775,6 @@
return entity.view('combobox')
-class AddComboBoxWidget(Select):
- def attributes(self, form, field):
- attrs = super(AddComboBoxWidget, self).attributes(form, field)
- init_ajax_attributes(attrs, 'AddComboBox')
- # XXX entity form specific
- entity = form.edited_entity
- attrs['cubicweb:etype_to'] = entity.e_schema
- etype_from = entity.e_schema.subjrels[field.name].objects(entity.e_schema)[0]
- attrs['cubicweb:etype_from'] = etype_from
- return attrs
-
- def _render(self, form, field, renderer):
- return super(AddComboBoxWidget, self)._render(form, field, renderer) + u'''
-<div id="newvalue">
- <input type="text" id="newopt" />
- <a href="javascript:noop()" id="add_newopt"> </a></div>
-'''
-
# more widgets #################################################################
class IntervalWidget(FieldWidget):
--- a/web/views/basecontrollers.py Mon May 03 14:09:37 2010 +0200
+++ b/web/views/basecontrollers.py Mon May 03 14:10:23 2010 +0200
@@ -581,14 +581,6 @@
def js_add_pending_delete(self, (eidfrom, rel, eidto)):
self._add_pending(eidfrom, rel, eidto, 'delete')
- # XXX specific code. Kill me and my AddComboBox friend
- @jsonize
- def js_add_and_link_new_entity(self, etype_to, rel, eid_to, etype_from, value_from):
- # create a new entity
- eid_from = self._cw.execute('INSERT %s T : T name "%s"' % ( etype_from, value_from ))[0][0]
- # link the new entity to the main entity
- rql = 'SET F %(rel)s T WHERE F eid %(eid_to)s, T eid %(eid_from)s' % {'rel' : rel, 'eid_to' : eid_to, 'eid_from' : eid_from}
- return eid_from
# XXX move to massmailing
class SendMailController(Controller):