Текстовый редактор RichEditor в 2.3.* версиях в хроме

60 views
Skip to first unread message

mn

unread,
Sep 13, 2011, 7:46:38 AM9/13/11
to Energine content management framework
Доброе время суток.

Совсем недавно был коммит (
http://code.google.com/p/energine/source/diff?spec=svn1755&r=1755&format=side&path=/trunk/core/modules/share/scripts/RichEditor.js
) который исправляет проблемы работы с текстом в Хроме.

Т.к. используется у меня используется устаревшая версия версия
Energine, пришлось адаптировать новую версию редактора. Я уверен что
эта проблема не у меня одного, так что вот лекарство:

1. Качаем исходник с ссылки выше.
2. Заменяем "single_template" на "componentPath".
3. Ура. Заработало :).

Спасибо разработчикам.

mn

unread,
Sep 13, 2011, 7:53:28 AM9/13/11
to Energine content management framework
упс. ничего не заработало :(

On 13 сен, 14:46, mn <vitaly.yuzvis...@gmail.com> wrote:
> Доброе время суток.
>

> Совсем недавно был коммит (http://code.google.com/p/energine/source/diff?spec=svn1755&r=1755&for...

Pavel Dubenko

unread,
Sep 13, 2011, 7:54:27 AM9/13/11
to ener...@googlegroups.com
а что говорит девелопмент консоль?


2011/9/13 mn <vitaly.y...@gmail.com>:

> --
> Вы получили это сообщение, поскольку подписаны на группу Energine content management framework.
>
> Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу ener...@googlegroups.com.
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу energine+u...@googlegroups.com.
> О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/energine?hl=ru.
>
>

--
Pavel Dubenko, web-developer

mn

unread,
Sep 13, 2011, 8:03:10 AM9/13/11
to Energine content management framework
Проблема все таже, при переходе в диалог или нажатии на кнопку тулбара
пропадает выделение и позиция курсора. В режиме Source все работает.
Подозреваю что в Webkit-е както странно работает свойство unselectable
в паре с contenteditable.

On 13 сен, 14:54, Pavel Dubenko <d.pa...@gmail.com> wrote:
> а что говорит девелопмент консоль?
>

> 2011/9/13 mn <vitaly.yuzvis...@gmail.com>:


>
>
>
>
>
>
>
>
>
> > упс. ничего не заработало :(
>
> > On 13 сен, 14:46, mn <vitaly.yuzvis...@gmail.com> wrote:
> >> Доброе время суток.
>
> >> Совсем недавно был коммит (http://code.google.com/p/energine/source/diff?spec=svn1755&r=1755&for...
> >> ) который исправляет проблемы работы с текстом в  Хроме.
>
> >> Т.к. используется у меня используется устаревшая версия версия
> >> Energine, пришлось адаптировать новую версию редактора. Я уверен что
> >> эта проблема не у меня одного, так что вот  лекарство:
>
> >> 1. Качаем исходник с ссылки выше.
> >> 2. Заменяем "single_template" на "componentPath".
> >> 3. Ура. Заработало :).
>
> >> Спасибо разработчикам.
>
> > --
> > Вы получили это сообщение, поскольку подписаны на группу Energine content management framework.
>
> > Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу ener...@googlegroups.com.
> > Чтобы отменить подписку на эту группу, отправьте сообщение по адресу energine+u...@googlegroups.com.

> > О дополнительных функциях можно узнать в группе по адресуhttp://groups.google.com/group/energine?hl=ru.
>
> --
> Pavel Dubenko, web-developer

Pavel Dubenko

unread,
Sep 13, 2011, 8:10:39 AM9/13/11
to ener...@googlegroups.com
аааа
в этом смысле

ндааа
такая проблема пока есть еще

вчерашний коммит исправил ситуацию со вставкой картинки

2011/9/13 mn <vitaly.y...@gmail.com>:

> О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/energine?hl=ru.
>
>

--
Pavel Dubenko, web-developer

mn

unread,
Sep 13, 2011, 9:04:11 AM9/13/11
to Energine content management framework
заработало.

в Toolbar.js далаем такие правки:

Toolbar.Button = new Class({
Extends:Toolbar.Control,
build: function() {
this.parent();
var control = this;
this.element.addEvents({
'mouseover': function() { if (!
control.properties.disabled) { this.addClass('highlighted'); } },
'mouseout': function()
{ this.removeClass('highlighted'); },
// 'click': function() { if (!
control.properties.disabled)
{ control.toolbar._callAction(control.properties.action); } },
'mousedown':function(event) {
if (event.rightClick) return;
if (!control.properties.disabled) {

control.toolbar._callAction(control.properties.action);
}
}
});
}
});

Pavel Dubenko

unread,
Sep 13, 2011, 9:20:00 AM9/13/11
to ener...@googlegroups.com
хммм
так я и не понял какие правки?
click добавился?


2011/9/13 mn <vitaly.y...@gmail.com>:

mn

unread,
Sep 13, 2011, 9:28:37 AM9/13/11
to Energine content management framework
Правки странные получились. Если событие mousedown "заблокировать"
тогда курсор перестает теряться и все функции начинают работать как в
RichEditor-е так и в PageEditor-е.
Код выше не работает, вот рабочий код:

Toolbar.Button = new Class({
Extends:Toolbar.Control,
build: function() {
this.parent();
var control = this;
this.element.addEvents({
'mouseover': function() { if (!
control.properties.disabled) { this.addClass('highlighted'); } },
'mouseout': function()
{ this.removeClass('highlighted'); },
'click': function() { if (!
control.properties.disabled)
{ control.toolbar._callAction(control.properties.action); } },
'mousedown':function(event) {
return false;
}
});
}
});

Pavel Dubenko

unread,
Sep 13, 2011, 9:59:27 AM9/13/11
to ener...@googlegroups.com
Учитывая что для оперы (кажется) я когда то как раз и сделал вместо
клика - маусдаун

окончательный вариант приобрел такой вид(используется MooTools 1.4
соответственно для более ранних версий идентфикация браузера хром
будет другая )

Toolbar.Button = new Class({
Extends:Toolbar.Control,
build: function() {
this.parent();
var control = this;
this.element.addEvents({
'mouseover': function() {
if (!control.properties.disabled) {
this.addClass('highlighted');
}
},
'mouseout': function() {
this.removeClass('highlighted');

}});
if (Browser.chrome) {
this.element.addEvents({
'click':function(event) {
if (!control.properties.disabled) {
control.toolbar._callAction(control.properties.action);
}
},
'mousedown': function() {
return false;
}
})
}
else {
this.element.addEvent('mousedown', function(event) {


if (event.rightClick) return;
if (!control.properties.disabled) {
control.toolbar._callAction(control.properties.action);
}

});
}
}
});

mn - большое спасибо за идею


2011/9/13 mn <vitaly.y...@gmail.com>:

mn

unread,
Sep 13, 2011, 10:08:07 AM9/13/11
to Energine content management framework
для MooTools < 1.4:

Toolbar.Button = new Class({
Extends:Toolbar.Control,
build: function() {
this.parent();
var control = this;
this.element.addEvents({
'mouseover': function() {
if (!control.properties.disabled) {
this.addClass('highlighted');
}
},
'mouseout': function() {
this.removeClass('highlighted');
}});
if (Browser.Engine.webkit) {
Reply all
Reply to author
Forward
0 new messages