X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/db587d0d4ce6518b3c4f8cf18989fc1f65b40c5e..cf586089fbdeac2706a4e986f290f874b33093a8:/sercom/widgets.py?ds=sidebyside
diff --git a/sercom/widgets.py b/sercom/widgets.py
index 08adea7..f642266 100644
--- a/sercom/widgets.py
+++ b/sercom/widgets.py
@@ -17,4 +17,176 @@ class CustomTextField(widgets.TextField):
/>
+'''
+
+MultiSelectAjax = '''
+
+ function _on_alumno_get_result(lista, loading, results)
+ {
+ load = MochiKit.DOM.getElement(loading);
+ load.style.visibility = 'hidden';
+ if (results.error) {
+ alert(results.msg);
+ return;
+ }
+ /* Verifico si esta y no lo agrego si esta repetido */
+ l = MochiKit.DOM.getElement(lista);
+ esta = false;
+ for(i=0; i
+
+
+
+
+
+
+
+
'''
+ javascript = [widgets.JSSource(MultiSelectAjax)]
+ on_add = "alert('Not defined action');"
+
+ def __init__(self, **kw):
+ self.params.append('on_add')
+ self.on_add = "alert('Not defined action');"
+ widgets.MultipleSelectField.__init__(self, **kw)
+
+DosListasAjax = '''
+ function makeOption(option) {
+ return OPTION({"value": option.value}, option.text);
+ }
+
+ function moveOption( fromSelect, toSelect) {
+ // add 'selected' nodes toSelect
+ appendChildNodes(toSelect,
+ map( makeOption,ifilter(itemgetter('selected'), $(fromSelect).options)));
+ // remove the 'selected' fromSelect
+ replaceChildNodes(fromSelect,
+ list(ifilterfalse(itemgetter('selected'), $(fromSelect).options))
+ );
+ }
+'''
+
+class AjaxDosListasSelect(widgets.MultipleSelectField):
+ template = '''
+
+ '''
+ javascript = [widgets.JSSource(DosListasAjax)]
+ title_from = ""
+ title_to = ""
+
+ def __init__(self, **kw):
+ self.params.append('title_from')
+ self.params.append('title_to')
+ self.title_from = " "
+ self.title_to = " "
+ widgets.MultipleSelectField.__init__(self, **kw)
+