On May 14, 2009, at 12:47 PM, Marius Dumitru Florea wrote:

> Hi Vincent,
>
> Vincent Massol wrote:
>> On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote:
>>
>>> Hi there,
>>>
>>> Right now the new WYSIWYG editor allows us to create simple lists  
>>> like
>>> the following:
>>>
>>> ----------8<----------
>>> * plants
>>> * animals
>>> ** invertebrates
>>> ** vertebrates
>>> ---------->8----------
>>>
>>> By pressing just Enter when the caret is inside a list item we
>>> create a
>>> new list item. This is the basic mechanism. It's simple and it  
>>> should
>>> remain so.
>>>
>>> If I want to make the previous list a bit more complex:
>>>
>>> ----------8<----------
>>> * (((= Plants =
>>>
>>> Plants are living organisms belonging to the kingdom Plantae.)))
>>> * (((= Animals =
>>>
>>> Animals are a major group of mostly multicellular, eukaryotic
>>> organisms
>>> of the kingdom Animalia or Metazoa.
>>>
>>> They are divided into:)))
>>> ** (((== Invertebrates ==
>>>
>>> An invertebrate is an animal lacking a vertebral column.)))
>>> ** (((== Vertebrates ==
>>>
>>> Vertebrates are members of the subphylum Vertebrata, chordates with
>>> backbones or spinal columns.)))
>>> ---------->8----------
>>>
>>> I have to be able to insert new lines inside a list item using the
>>> Enter
>>> key but without creating a new list item. Let's consider the  
>>> following
>>> state:
>>>
>>> ----------8<----------
>>> * (((= Plants =)))
>>> ---------->8----------
>>>
>>> We have a level 1 heading inside a list item. The caret is inside  
>>> the
>>> heading, at the end. Pressing Enter can have the following three
>>> outcomes:
>>>
>>> 1. Continue editing in the heading, but on a new line:
>>>
>>> ----------8<----------
>>> * (((= Title 1
>>> x =)))
>>> ---------->8----------
>>>
>>> 2. Continue editing in the same list item but after the heading,  
>>> in a
>>> paragraph:
>>>
>>> ----------8<----------
>>> * (((= Title 1 =
>>>
>>> x)))
>>> ---------->8----------
>>>
>>> 3. Create a new list item:
>>>
>>> ----------8<----------
>>> * (((= Title 1 =)))
>>> * x
>>> ---------->8----------
>>>
>>> For the first outcome I think we all agree that the user has to  
>>> press
>>> Shift+Enter. For the second and third outcomes I see two options:
>>>
>>> A) Enter for 2 and CTRL/META+Enter for 3
>>> B) Enter for 3 and CTRL/META+Enter for 2
>>> (if you see any other options please step up)
>>
>> I don't think we need META.
>> I'd go with the simplest:
>> * when inside a group, use the normal enter behavior for the
>> underlying element. If you're in a header then enter create a new
>> paragraph, etc)
>> * you need to position the cursor after the group in the list item  
>> and
>> press enter to get a new list item
>
> The problem is that the list item wraps the group and there's no  
> (easy)
> way to place the caret after the group but in the list item.

That's why I suggested a visual way to identify the group so it's easy  
to see if the caret is inside or outside the group (ie. before the </ 
div> or after).

> In fact the
> WYSIWYG editor is not aware of a group: it simply sees a list item  
> with
> content inside. But since the caret is inside a heading the Enter  
> key is
> treated accordingly, even if the heading is inside a list item. That's
> why I think we need a META+Enter to be able to get out of the list  
> item.
>
>>
>> Note: another solution could allow to get out of the group by  
>> pressing
>> tab but we said we wanted to keep the standard browser tab behavior.
>
> I don't see how we could use the Tab key.

It would have the same effect as your META+Enter and would go to the  
next list item for example. But again since we don't want to us Tab  
it's moot.

>> If we really want to introduce a new META+Enter then I'd definitely
>> vote +1 for A).
>>
>> BTW how are groups represented visually in the editor? Maybe this is
>> the real problem?
>
> Groups are not represented visually in a special way. As I said, the
> editor is not aware of them right now. I don't see how drawing a  
> border
> around the group would help (through CSS). Also, in this case the  
> XWiki
> 2.0 syntax user is forced to use the group notation in order to add
> complex content inside a list item because there's no other means of
> doing this so I don't think he would expect to see a border around the
> content in the WYSIWYG editor.

I don't agree. For your description above of the different uses case  
you *do* want to differentiate where you're inside a group or not  
since the behaviors are not the same. So it makes sense to me to have  
some visual clue of a group so that the user knows what behavior he'll  
get.

Thanks
-Vincent

> Thanks,
> Marius
>
>>
>> Thanks
>> -Vincent
>>
>>>
>>> I'm +1 for A) for the following reason: if the user has inserted a
>>> heading in a list item then he will surely want to add more content
>>> after that heading, thus pressing just Enter is the natural way of
>>> doing
>>> this. From a technical POV the caret is first inside a heading and
>>> then
>>> inside a list item so the heading should have the priority of  
>>> handling
>>> the Enter key.
>>>
>>> NOTE: Choosing A) or B) doesn't affect the way simple lists are
>>> created,
>>> which is using just Enter.
>>>
>>> Please cast your votes and sorry for the long mail,
>>> Marius
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to