Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 12.05.08 05:26
Оценка: 121 (8) +1
Залил на сайт версию 3.3.0.0 в которой наличествует CSSS! — css-script engine.

CSSS! это в общем-то простой (я бы даже сказал спартанский) script'овый движок который тем не менее позволяет делать на удивление много вещей.
Например всякого рода простейшие автоматы: click на эту кнопку — enable ту группу inputs. Валидация. Всякого рода форматирование и локализация. Простые рачсеты типа totals. Короче смотрите примеры в html_samples/csss!/ папке.

CSSS! живет рядом с behaviors — они друг друга дополняют. Из CSSS! можно вызывать native методы (on_script_call).

(кажется я родил очередной лисапет. наверное судьба такая)

Re: Version 3.3.0.0 with CSSS! is out.
От: Kubyshev Andrey  
Дата: 14.05.08 05:31
Оценка: 36 (1) +2 :)))
CS>(кажется я родил очередной лисапет. наверное судьба такая)

CS>


ты мощный...
Re: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 13.05.08 12:03
Оценка: 36 (1)
А еще происходит падение при загрузке вот такого стиля.

    select#SYSTEM
    {
      value-changed! : 
          $1(tr.info_fields):checked = (self:value == 6);
    }
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[2]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 12.05.08 16:41
Оценка: 19 (1)
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, c-smile, Вы писали:


CS>>CSSS! это в общем-то простой (я бы даже сказал спартанский) script'овый движок который тем не менее позволяет делать на удивление много вещей. Например всякого рода простейшие автоматы: click на эту кнопку — enable ту группу inputs. Валидация. Всякого рода форматирование и локализация. Простые рачсеты типа totals. Короче смотрите примеры в html_samples/csss!/ папке.


TK>хм. не нашел примера на тему validation. в behavior_form.cpp ничего похожего нет...


Validation примеры будут в след билдах. В CSSS! надо еще regexp втащить.

CS>>CSSS! живет рядом с behaviors — они друг друга дополняют. Из CSSS! можно вызывать native методы (on_script_call).


TK>А можно использовать HTMLayoutAttachEventHandler для получения on_script_call?


Да.

CS>>(кажется я родил очередной лисапет. наверное судьба такая)


TK>В sciter такой будет?


Угу. Сегодня.
Re: Version 3.3.0.0 with CSSS! is out.
От: Hawk Россия  
Дата: 13.05.08 08:22
Оценка: 18 (1)
Файл htmlayout.dll вырос в размере более, чем в два раза — с ~700K до ~1700K. Это навсегда или потом обратно "похудеет"?
Re: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 12.05.08 13:04
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>CSSS! это в общем-то простой (я бы даже сказал спартанский) script'овый движок который тем не менее позволяет делать на удивление много вещей. Например всякого рода простейшие автоматы: click на эту кнопку — enable ту группу inputs. Валидация. Всякого рода форматирование и локализация. Простые рачсеты типа totals. Короче смотрите примеры в html_samples/csss!/ папке.


хм. не нашел примера на тему validation. в behavior_form.cpp ничего похожего нет...

CS>CSSS! живет рядом с behaviors — они друг друга дополняют. Из CSSS! можно вызывать native методы (on_script_call).


А можно использовать HTMLayoutAttachEventHandler для получения on_script_call?

CS>(кажется я родил очередной лисапет. наверное судьба такая)


В sciter такой будет?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Version 3.3.0.0 with CSSS! is out.
От: aloch Россия  
Дата: 12.05.08 15:19
Оценка:
Здравствуйте, c-smile, Вы писали:

Пример label-for-activation.htm вызывает падение browse.exe после примерно трех щелчков по разным label


Re[2]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 12.05.08 16:10
Оценка:
Здравствуйте, aloch, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


A>Пример label-for-activation.htm вызывает падение browse.exe после примерно трех щелчков по разным label


Ага, спсибо. Поймал.
Чего-то VC optimizer невзлюбил один мой файл...
Поправил. Залил на сайт. Можно забирать.
Re[3]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 12.05.08 16:47
Оценка:
Здравствуйте, c-smile, Вы писали:

TK>>А можно использовать HTMLayoutAttachEventHandler для получения on_script_call?

CS>Да.

А как его из CSS звать? У меня такое только для behaviors прокатило...

TK>>В sciter такой будет?

CS>Угу. Сегодня.

Супер! А там тоже через XCALL или через HANDLE_SCRIPTING_METHOD_CALL?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 12.05.08 17:41
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, c-smile, Вы писали:


TK>>>А можно использовать HTMLayoutAttachEventHandler для получения on_script_call?

CS>>Да.

TK>А как его из CSS звать? У меня такое только для behaviors прокатило...


event_handler::event_handler(... | HANDLE_METHOD_CALL)



TK>>>В sciter такой будет?

CS>>Угу. Сегодня.

TK>Супер! А там тоже через XCALL или через HANDLE_SCRIPTING_METHOD_CALL?


Интересный вопрос.

HANDLE_SCRIPTING_METHOD_CALL — это вызовы из tiscript.
Стоит ли различать вызовы из CSSS! ?
Если нет то через HANDLE_SCRIPTING_METHOD_CALL сделаю.
Re[5]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 12.05.08 19:18
Оценка:
Здравствуйте, c-smile, Вы писали:

TK>>А как его из CSS звать? У меня такое только для behaviors прокатило...


CS>
CS>event_handler::event_handler(... | HANDLE_METHOD_CALL)
CS>


Вру :) не работает с HTMLayoutWindowAttachEventHandler (может и работает но, не понятно как вызывать)
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[6]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 12.05.08 19:50
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, c-smile, Вы писали:


TK>>>А как его из CSS звать? У меня такое только для behaviors прокатило...


CS>>
CS>>event_handler::event_handler(... | HANDLE_METHOD_CALL)
CS>>


TK>Вру не работает с HTMLayoutWindowAttachEventHandler (может и работает но, не понятно как вызывать)


Вот это:

my.element
{
  assigned! : self:value = global-foo("hello!");
}


Должно прийти на on_script_call() на те event handlers что сидят на view. (т.е. HTMLayoutWindowAttachEventHandler)
Попробуй.
Re[7]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 12.05.08 20:15
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Должно прийти на on_script_call() на те event handlers что сидят на view. (т.е. HTMLayoutWindowAttachEventHandler)

CS>Попробуй.

хм. что-то не приходит...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[8]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 12.05.08 20:27
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, c-smile, Вы писали:


CS>>Должно прийти на on_script_call() на те event handlers что сидят на view. (т.е. HTMLayoutWindowAttachEventHandler)

CS>>Попробуй.

TK>хм. что-то не приходит...


В след. билде придет. Бага там.
Re[9]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 12.05.08 20:47
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>В след. билде придет. Бага там.


Спасибо :)

PS
А с этой темой — здесь
Автор: TK
Дата: 23.04.08
есть какие-нибудь новости? В Sciter уведомления INITIALIZATION_EVENTS.BEHAVIOR_DETACH после удаления элемента так и не приходят...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[10]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 13.05.08 05:07
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, c-smile, Вы писали:


CS>>В след. билде придет. Бага там.


TK>Спасибо


Я обновил SDK на сайте. csss!/custom-global-functions.htm — демо.

TK>PS

TK>А с этой темой — здесь
Автор: TK
Дата: 23.04.08
есть какие-нибудь новости? В Sciter уведомления INITIALIZATION_EVENTS.BEHAVIOR_DETACH после удаления элемента так и не приходят...


Еще раз, что-то держит элемент.

Я вообще не понимаю зачем для Sciter нужна обертка DOM в .NET.
В принципе в .NET должен быть обработчик host callback вызовов. Апотому обработку событий эффективнее делать в скрипте sciter.
host callback как gate UI <-> логика вообще представляется очень привлекательным. Эдакий ultimate layer splitter.

.NET имеет смысл для htmlayout. Это да. Потому как behaviors надо же на чем-то писать...
Честно говоря на C++ даже в общем-то как-то поприятнее-то будет. Но это уж дело личных предпочтений.
Re: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 13.05.08 06:05
Оценка:
Круто, давно такого ждал большое спасибо.

Есть вопросец:
есть вот такой стиль:
    select#INPUT_CODE
    {
      assigned! : 
        self.value-changed(); /* call when-value-changed event handler as a function */ 
      value-changed! : 
        $(code#INPUT_CODE):value = self:value;
    }


В итоге в code#INPUT_CODE попадает значение из выбранного option[value], а мне нужно, что бы присвоилось не значение а содержимое (текст)
Если написать вот так: $(code#INPUT_CODE):value = $c(caption):content; то не прокатывает,
и так тоже: $(code#INPUT_CODE):value = $c(option:current):content;

Если написать вот так: $(code#INPUT_CODE):value = $c(option:current);
получаю {undefined}. Но это в принципе понятно.

Как такое сделать можно ?
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[2]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 13.05.08 06:37
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>Как такое сделать можно ?


Попробуй так:

     select#INPUT_CODE
     {
      assigned! : 
        self.value-changed(); /* call value-changed event handler as a function */ 
      value-changed! : 
        $(code#INPUT_CODE):value = $1c(option:current):value;
     }
Re[3]: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 13.05.08 07:01
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Попробуй так:


Заработало !!!

Но есть пара особенностей:
1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.
2. При перещелкивании select с помощью курсорных клавиш, значение у code#INPUT_CODE меняется на адекватное, но при этом сам select остается неизменным (не перерисовывается).

как можно побороть пункт 1 ?
по второму щас постараюсь прислать пример.
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[11]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 13.05.08 07:25
Оценка:
Здравствуйте, c-smile, Вы писали:

TK>>А с этой темой — здесь
Автор: TK
Дата: 23.04.08
есть какие-нибудь новости? В Sciter уведомления INITIALIZATION_EVENTS.BEHAVIOR_DETACH после удаления элемента так и не приходят...


CS>Еще раз, что-то держит элемент.


А в HTMLayout не держит? Реализация для Htmlayout/Sciter отличается только тем, что в одном случае дергаются функции Htmlayout а в другом, SciterGetDomApi() и вызовы SciterDomApi — в HTMLayout при удалении все детачится, в Sciter нет. Я правильно понимаю, что HELEMENT это просто поинтер на какой-то C++ объект? Если смотреть на него отладчиком то, счетчик ссылок в ноль уходит.

Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?

CS>Я вообще не понимаю зачем для Sciter нужна обертка DOM в .NET.


Есть обертка, она может работать или с Htmlayout или со Sciter. какой смысл отрезать для варианта со Sciter DOM, раз он уже там есть?

CS>В принципе в .NET должен быть обработчик host callback вызовов. Апотому обработку событий эффективнее делать в скрипте sciter. host callback как gate UI <-> логика вообще представляется очень привлекательным. Эдакий ultimate layer splitter.


Не спорю С другой стороны, есть некоторые заморочки с CompactFramework — там проще использовать htmlayout.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[3]: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 13.05.08 11:21
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Чего-то VC optimizer невзлюбил один мой файл...


Интересно, а как вы ловили что оптимайзер сломал код ?
вопрос чисто по обмену опытом
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[2]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 13.05.08 17:51
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>А еще происходит падение при загрузке вот такого стиля.


O>
O>    select#SYSTEM
O>    {
O>      value-changed! : 
O>          $1(tr.info_fields):checked = (self:value == 6);
O>    }
O>


Не только там Разбираюсь.
Re[12]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 13.05.08 18:35
Оценка:
Здравствуйте, TK, Вы писали:

CS>>Еще раз, что-то держит элемент.


TK>А в HTMLayout не держит? Реализация для Htmlayout/Sciter отличается только тем, что в одном случае дергаются функции Htmlayout а в другом, SciterGetDomApi() и вызовы SciterDomApi — в HTMLayout при удалении все детачится, в Sciter нет. Я правильно понимаю, что HELEMENT это просто поинтер на какой-то C++ объект? Если смотреть на него отладчиком то, счетчик ссылок в ноль уходит.


TK>Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?


Ты можешь собрать минимальный пример для Sciter?
Re[13]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 13.05.08 19:29
Оценка:
Здравствуйте, c-smile, Вы писали:

TK>>Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?


CS>Ты можешь собрать минимальный пример для Sciter?


Да, здесь два варианта — один htmlayout, другой sciter при клике на кнопку удаляется элемент #content
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[14]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 13.05.08 20:29
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, c-smile, Вы писали:


TK>>>Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?


CS>>Ты можешь собрать минимальный пример для Sciter?


TK>Да, здесь два варианта — один htmlayout, другой sciter при клике на кнопку удаляется элемент #content


А что должно происходить?

У меня при запуске возникает
MsgBox ("attached {content}" )
после него окно со sciter. При закрытии оного получаю:
MsgBox ("detached {content}" )

И для htmlayout и для sciter. И на твоей версии sciter/htmlayout и на том что есть у меня.

Что здесь не так?
Re[15]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 13.05.08 20:37
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Что здесь не так?


Надо мышкой на кнопку с картинкой в левом верхнем кликнуть :) Тогда, для Htmlayout detached будет, а для sciter нет
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[16]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 13.05.08 20:53
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, c-smile, Вы писали:


CS>>Что здесь не так?


TK>Надо мышкой на кнопку с картинкой в левом верхнем кликнуть Тогда, для Htmlayout detached будет, а для sciter нет


В каком случае генерируется твой MsgBox("detached")?
Re[17]: Version 3.3.0.0 with CSSS! is out.
От: TK Лес кывт.рф
Дата: 13.05.08 21:08
Оценка:
Здравствуйте, c-smile, Вы писали:

TK>>Надо мышкой на кнопку с картинкой в левом верхнем кликнуть :) Тогда, для Htmlayout detached будет, а для sciter нет

CS>В каком случае генерируется твой MsgBox("detached")?

Это результат уведомления BEHAVIOR_DETACH.
код формы примерно такой:
            SciterBehavior bhv = new SciterBehavior();
            bhv.Attached += (s, e) => MessageBox.Show("Attached: " + e.Element.Attributes["id"]);
            bhv.Detached += (s, e) => MessageBox.Show("Detached: " + e.Element.Attributes["id"]);

            DocumentComplete += (s, e) => { RootElement.Find("#content").AttachBehavior(bhv); } // HTMLayoutAttachEventHandler(...)
            openButton.Click += (s, e) => { RootElement.Find("#content").Delete(); GC.KeepAlive(bhv); };


Метод Delete для Htmlayout вызывается CheckResult(HTMLayoutDeleteElement(element.Handle));
Для Sciter:
            IntPtr parent;
            CheckResult(SciterGetParentElement(element.Handle, out parent));
            CheckResult(SciterDetach(element.Handle));
            CheckResult(SciterUpdateElement(parent, true));
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[18]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 13.05.08 22:18
Оценка:
Здравствуйте, TK, Вы писали:

Ага, увидел. Починил для след билда.
Re[4]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 14.05.08 02:58
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>Но есть пара особенностей:

O>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.
O>2. При перещелкивании select с помощью курсорных клавиш, значение у code#INPUT_CODE меняется на адекватное, но при этом сам select остается неизменным (не перерисовывается).

O>как можно побороть пункт 1 ?

Гляну.

O>по второму щас постараюсь прислать пример.

Да, надо.
Re[4]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 14.05.08 03:01
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>Здравствуйте, c-smile, Вы писали:


CS>>Чего-то VC optimizer невзлюбил один мой файл...


O>Интересно, а как вы ловили что оптимайзер сломал код ?

O>вопрос чисто по обмену опытом

Да в общем тривиально. У меня две release версии с разными установками оптимизации. В одной валится в другой нет.
Пара моих проблем и один достоверный глюк оптимизатора.
Re[2]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 14.05.08 06:02
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>А еще происходит падение при загрузке вот такого стиля.


O>
O>    select#SYSTEM
O>    {
O>      value-changed! : 
O>          $1(tr.info_fields):checked = (self:value == 6);
O>    }
O>


Починил. Забираем 3.3.0.1
Re[4]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 14.05.08 06:29
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.


На пока:
select#INPUT_CODE
    {
      assigned!: $(code#INPUT_CODE):value = $1c(option[selected]).value; 
      value-changed! : $(code#INPUT_CODE):value = self:value;
    }
Re[5]: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 14.05.08 06:49
Оценка:
Здравствуйте, c-smile, Вы писали:

O>>по второму щас постараюсь прислать пример.

CS>Да, надо.

Ушло письмо.
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[5]: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 14.05.08 09:57
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, Obukhov, Вы писали:


O>>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.


CS>На пока:

CS>
CS>select#INPUT_CODE
CS>    {
    CS>      assigned!: $(code#INPUT_CODE):value = $1c(option[selected]).value; 
CS>      value-changed! : $(code#INPUT_CODE):value = self:value;
CS>    } 
CS>


Что то не работает.
Попробовал вот так еще:
    select#INPUT_CODE {
      assigned! :  $(code#INPUT_CODE):value = $1c(option[default]):value;
      value-changed! : $(code#INPUT_CODE):value = $1c(option:current):value;
  }

тоже самое
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[6]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 14.05.08 17:26
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>Здравствуйте, c-smile, Вы писали:


CS>>Здравствуйте, Obukhov, Вы писали:


O>>>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.


CS>>На пока:

CS>>
CS>>select#INPUT_CODE
CS>>    {
    CS>>      assigned!: $(code#INPUT_CODE):value = $1c(option[selected]).value; 
CS>>      value-changed! : $(code#INPUT_CODE):value = self:value;
CS>>    } 
CS>>


O>Что то не работает.


А у тебя вообще есть &lt;option selected&gt;?
Re[6]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 14.05.08 22:09
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>Здравствуйте, c-smile, Вы писали:


CS>>Здравствуйте, Obukhov, Вы писали:


O>>>1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.


CS>>На пока:

CS>>
CS>>select#INPUT_CODE
CS>>    {
    CS>>      assigned!: $(code#INPUT_CODE):value = $1c(option[selected]).value; 
CS>>      value-changed! : $(code#INPUT_CODE):value = self:value;
CS>>    } 
CS>>


O>тоже самое


Состояние :current у option появляется только тогда когда он был активирован, скажем получил фокус.
До этого :current не определен.

Что делать?

Первое, объявить нужную option c атрибутом selected как я сказал в сообщении выше:

<select id="CODE" size="1" .requred style="width:100px">
   <option value="1" selected>select1</option>
   <option value="2">select2</option>
   <option value="3">select3</option>
</select>


В стиле объявить следующее:

select#CODE {
      assigned! : $1(code#CODE):value = $1c(option[selected]):value; // здесь (при инициализации) берем declared value
      value-changed! : $1(code#CODE):value = $1c(option:current):value; // здесь (после value-changed!) берем runtime value
}
Re[7]: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 15.05.08 12:26
Оценка:
Здравствуйте, c-smile, Вы писали:


CS>Состояние :current у option появляется только тогда когда он был активирован, скажем получил фокус.

CS>До этого :current не определен.

CS>Что делать?


CS>Первое, объявить нужную option c атрибутом selected как я сказал в сообщении выше:


CS>
CS><select id="CODE" size="1" .requred style="width:100px">
CS>   <option value="1" selected>select1</option>
CS>   <option value="2">select2</option>
CS>   <option value="3">select3</option>
CS></select>
CS>


CS>В стиле объявить следующее:


CS>
CS>select#CODE {
CS>      assigned! : $1(code#CODE):value = $1c(option[selected]):value; // здесь (при инициализации) берем declared value
CS>      value-changed! : $1(code#CODE):value = $1c(option:current):value; // здесь (после value-changed!) берем runtime value
CS>}
CS>


А атрибут default подойдет ?
Вроде сделал тоже самое с атрибутом default, нифига не получилось

Потом переделал все на selected — тоже самое
закрались некоторые подозрения...
взял и сделал глобальную CSSS функцию: test_call()

и попробовал сделать вот так:
    select#CODE {
      assigned! : $(code#CODE):value = $1c(option[selected]):value, test_call();
      value-changed! : $(code#CODE):value = $1c(option:current):value, test_call();
        }

Так вот функция test_call не вызывается при загрузке страницы !!!
только после перещелкивания селекта.
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[8]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 15.05.08 17:57
Оценка:
Здравствуйте, Obukhov, Вы писали:


CS>>Первое, объявить нужную option c атрибутом selected как я сказал в сообщении выше:


CS>>
CS>><select id="CODE" size="1" .requred style="width:100px">
CS>>   <option value="1" selected>select1</option>
CS>>   <option value="2">select2</option>
CS>>   <option value="3">select3</option>
CS>></select>
CS>>


CS>>В стиле объявить следующее:


CS>>
CS>>select#CODE {
CS>>      assigned! : $1(code#CODE):value = $1c(option[selected]):value; // здесь (при инициализации) берем declared value
CS>>      value-changed! : $1(code#CODE):value = $1c(option:current):value; // здесь (после value-changed!) берем runtime value
CS>>}
CS>>


O>А атрибут default подойдет ?


Нет. См. ссылку в пред. сообщении.

O>Вроде сделал тоже самое с атрибутом default, нифига не получилось


Что именно не получилось?

O>Потом переделал все на selected — тоже самое

O>закрались некоторые подозрения...
O>взял и сделал глобальную CSSS функцию: test_call()

O>и попробовал сделать вот так:

O>
O>    select#CODE {
O>      assigned! : $(code#CODE):value = $1c(option[selected]):value, test_call();
O>      value-changed! : $(code#CODE):value = $1c(option:current):value, test_call();
O>        }
O>

O>Так вот функция test_call не вызывается при загрузке страницы !!!
O>только после перещелкивания селекта.

Я тестирую на том примере что ты прислал.

Файл send1.ru.html (добавлен selected аттрибут):

<td><select id="CODE" size="1" .requred style="width:100px"><option value="1" selected>select1</option><option value="2">select2</option><option value="3">select3</option></select></td>


И правило в файле send.ru.html

select#CODE {
      assigned! : $1(code#CODE):value = $1c(option[selected]):value;
      value-changed! : $1(code#CODE):value = $1c(option:current):value;
}


Это все работает.
Re[9]: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 16.05.08 03:35
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Это все работает.


Отличие присланного примера от реальной программы вот в чем:
<select id="CODE" size="1" .requred style="width:100px"><include src="dict:2:1"/></select>

И по HLN_LOAD_DATA, я отдаю реальное содержимое этого combo. Содержимое этого списка генерится из "справочника" лежащего в БД программы.
... << RSDN@Home 1.2.0 alpha rev. 774>>
Re[10]: Version 3.3.0.0 with CSSS! is out.
От: c-smile Канада http://terrainformatica.com
Дата: 16.05.08 06:52
Оценка:
Здравствуйте, Obukhov, Вы писали:

O>Здравствуйте, c-smile, Вы писали:


CS>>Это все работает.


O>Отличие присланного примера от реальной программы вот в чем:

O><select id="CODE" size="1" .requred style="width:100px"><include src="dict:2:1"/></select>

O>И по HLN_LOAD_DATA, я отдаю реальное содержимое этого combo. Содержимое этого списка генерится из "справочника" лежащего в БД программы.


Т.е. selected там нет?

Тогда поменяй на

select#CODE {
      assigned! : $1(code#CODE):value = $1c(option):value; // т.е. просто берем первую <option> 
      value-changed! : $1(code#CODE):value = $1c(option:current):value;
}
Re[11]: Version 3.3.0.0 with CSSS! is out.
От: Obukhov Россия  
Дата: 16.05.08 07:22
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, Obukhov, Вы писали:


O>>Здравствуйте, c-smile, Вы писали:


CS>>>Это все работает.


O>>Отличие присланного примера от реальной программы вот в чем:

O>><select id="CODE" size="1" .requred style="width:100px"><include src="dict:2:1"/></select>

O>>И по HLN_LOAD_DATA, я отдаю реальное содержимое этого combo. Содержимое этого списка генерится из "справочника" лежащего в БД программы.


CS>Т.е. selected там нет?


CS>Тогда поменяй на


CS>
CS>select#CODE {
CS>      assigned! : $1(code#CODE):value = $1c(option):value; // т.е. просто берем первую <option> 
CS>      value-changed! : $1(code#CODE):value = $1c(option:current):value;
CS>} 
CS>


Что удивительно, он там есть в первом пункте как раз (вставляю руками в коде).
Сделал по последнему варианту — заработало.
Спасибо.
... << RSDN@Home 1.2.0 alpha rev. 774>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.