i have create an droplet from a block. This block contains a form with a textfield, but this textfield is not editable by normal click.

When i click the right mouse-button and then the left one, then i have a cursor in the textfield. On click with the left mouse-button it does nothing.

You can see it on www.unsalle.de/mysite with the multisearch-droplet.

CommentFileSizeAuthor
#2 mysite.js_.txt3.78 KBagentrickard

Comments

agentrickard’s picture

I can tell you why this is happening, but I'm not sure exactly how to fix it.

The entire Droplet area -- in the rendered HTML it starts with <div class="mysite-group collapsible sortable-item" id="m126"> (though m126 is unique to my account; your id will vary) -- is governed by the drag-drop-sort rules of the Interface plugin for JQuery.

To Interface, the entire DIV is a draggable object, so clicking on it activates the Interface actions, never allowing your click to get through to the form input element. Note that you can TAB into this field, however, which proves my point.

This is an interesting bug, and I don't know the immediate answer. (The module does note, however, that not all blocks work as Droplets; this seems to be an example.)

It would be great if any JavaScript gurus out there could find a fix for this. Otherwise, it may take some time.

This is an important bug, though, and needs to get fixed, thanks.

agentrickard’s picture

Status: Active » Reviewed & tested by the community
StatusFileSize
new3.78 KB

Try this.

Open mysite.js. Add a line at line 100:

        handle: 'span.mysite-header',
        accept : 'sortable-item',

This should make only the header an active handler, and let you click the search box.

Will commit to HEAD once confirmed.

agentrickard’s picture

I also attached a modified version of the JS file.

suchold-it’s picture

Ok, thanks. It works.

agentrickard’s picture

It works, but it breaks the sort function on the Content overview page. I have corrected this and will commit changes later today.

This occurs in the mysite_content() function:

            if (!empty($row['data'][1])) {
              $output .= '<div class="mysite-grabber"><span class="mysite-header">'. theme('image', $move, $msg, $msg) .'</span></div>';
            }  
agentrickard’s picture

Status: Reviewed & tested by the community » Closed (fixed)

Fixed in beta5.