def sortable_element_js(element_id, **options): options.setdefault('with', "Sortable.serialize('%s')" % element_id) options.setdefault('onUpdate', "function(){%s}" % remote_function(**options)) for k in options.keys(): if k in AJAX_OPTIONS: del options[k] for option in ['tag', 'overlap', 'constraint', 'handle']: if options.has_key(option) and options[option]: options[option] = "'%s'" % options[option] if options.has_key('containment'): options['containment'] = array_or_string_for_javascript(options['containment']) if options.has_key('only'): options['only'] = array_or_string_for_javascript(options['only']) return "Sortable.create(%s, %s)" % (json.dumps(element_id), options_for_javascript(options))
def sortable_element_js(element_id, **options): if not isinstance(element_id, basestring): raise ValueError('Argument element_id must be a string') options.setdefault('with_', "Sortable.serialize('%s')" % element_id) options.setdefault('onUpdate', "function(){%s}" % remote_function(**options)) for k in options.keys(): if k in AJAX_OPTIONS: del options[k] for option in ['tag', 'overlap', 'constraint', 'handle']: if options.has_key(option) and options[option]: options[option] = "'%s'" % options[option] if options.has_key('containment'): options['containment'] = array_or_string_for_javascript(options['containment']) if options.has_key('only'): options['only'] = array_or_string_for_javascript(options['only']) return "Sortable.create(%s, %s)" % (_elements_to_js(element_id), options_for_javascript(options))
def sortable_element_js(element_id, **options): options.setdefault('with', "Sortable.serialize('%s')" % element_id) options.setdefault('onUpdate', "function(){%s}" % remote_function(**options)) for k in options.keys(): if k in AJAX_OPTIONS: del options[k] for option in ['tag', 'overlap', 'constraint', 'handle']: if options.has_key(option) and options[option]: options[option] = "'%s'" % options[option] if options.has_key('containment'): options['containment'] = array_or_string_for_javascript( options['containment']) if options.has_key('only'): options['only'] = array_or_string_for_javascript(options['only']) return "Sortable.create(%s, %s)" % (json.dumps(element_id), options_for_javascript(options))
def drop_receiving_element_js(element_id, **options): options.setdefault('with_', "'id=' + encodeURIComponent(element.id)") options.setdefault('onDrop', "function(element){%s}" % remote_function(**options)) for k in options.keys(): if k in AJAX_OPTIONS: del options[k] if options.has_key('accept'): options['accept'] = array_or_string_for_javascript(options['accept']) if options.has_key('hoverclass'): options['hoverclass'] = "'%s'" % options['hoverclass'] return "Droppables.add(%s, %s)" % (_elements_to_js(element_id), options_for_javascript(options))