Как заставить работать компоненты SimpleTable? - PullRequest
2 голосов
/ 13 июля 2011

Я загрузил небольшой образец SimpleTable:

https://gist.github.com/1080278

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

File "stdlib/core/rpc/core/oparpc.opa", line 360, characters 12-123, (360:12-360:123 | 10511-10622)
@fail: Invalid distant call to function (_v0_create_stdlib.components.simpletable) at File "stdlib/core/rpc/core/oparpc.opa", line 360, characters 69-81, (360:69-360:81 | 10568-10580): there seems to be no client connected
Error: uncaught OPA exception {fail: $"Invalid distant call to function (_v0_create_stdlib.components.simpletable) at File \"stdlib/core/rpc...pa\", line 360, characters 69-81, (360:69-360:81 | 10568-10580): there seems to be no client connecte"$; position: $"File \"stdlib/core/rpc/core/oparpc.opa\", line 360, characters 12-123, (360:12-360:123 | 10511-10622)"$}
*** Stack trace:
Fatal error: exception Scheduler.Empty

Может ли кто-нибудь помочь мне, объяснив, как мы должны использовать эти компоненты? А также объяснив мне, что не так в моем примере ...

PS: я исправлю файл gist с вашим ответом ... Затем возьмите первую версию gist, чтобы увидеть ложный файл, и я надеюсь, что последняя версия gist очень скоро станет отличным примером. о том, как использовать эти компоненты!

Спасибо, ребята, за ваш будущий ответ:)

1 Ответ

3 голосов
/ 13 июля 2011

Функция CSimpleTable.create является только клиентской функцией.Поэтому нет смысла называть его на верхнем уровне, поскольку у вас еще нет подключенного клиента.

Я не знаю, почему все спроектировано таким образом, но это означает, что клиент должен сначала получитьстраницы, а затем вы можете положить свой стол в нем.Например, простая замена конца вашего файла (начиная с table = ...) этим решает проблему:

onready(_) =
  Dom.transform([#something <- CSimpleTable.generate_page(CSimpleTable.create(config, id, callbacks, rows, els, display), "test")])
server = Server.one_page_server("test", -> <div id=#something onready={onready}/>)
...