Giter VIP home page Giter VIP logo

ocsigen-toolkit's Introduction

Ocsigen Toolkit Build

Introduction

The Ocsigen Toolkit is a set of user interface widgets that facilitate the development of Eliom applications. The toolkit is in beta state.

Installation

Use opam to install:

opam install ocsigen-toolkit

NB: you may want to include the provided CSS in you own project. Take a look at the css directory for the style files that correspond to the modules you use.

ocsigen-toolkit's People

Contributors

aik9508 avatar balat avatar canonici avatar chrismamo1 avatar clembu avatar corentinjuvigny avatar dannywillems avatar ghuysmans avatar ilankri avatar leovalais avatar mdelv avatar sagotch avatar smorimoto avatar vasilisp avatar venator avatar vouillon avatar zzull avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ocsigen-toolkit's Issues

Get rid of setup_form in Ot_popup

I think it should be moved to another module (probably Ot_form) since every popup is not a form.

You ship more code than necessary if you are not using this feature, and once again, this module is called Ot_popup and not Ot_popup_containing_form.

opam-ci fails on ocigen toolkit when compiling ocsigen-start

Every time we do a release of Ocsigen Start, the CI fails to compile Ocsigen Toolkit on a some architectures:

    extras
        arm32-ocaml-5.1
            ocsigen-start.6.3.0 (failed: ocsigen-toolkit.3.3.4 failed to build)
        ppc64-ocaml-5.1
            ocsigen-start.6.3.0 (failed: ocsigen-toolkit.3.3.4 failed to build)
        riscv64-ocaml-4.14
            ocsigen-start.6.3.0 (failed: System package install failed with exit code 100 at command:)
        riscv64-ocaml-5.1
            ocsigen-start.6.3.0 (failed: System package install failed with exit code 100 at command:)
        x86_32-ocaml-4.14
            ocsigen-start.6.3.0 (failed: conf-npm.1 failed to build)
        x86_32-ocaml-5.1
            ocsigen-start.6.3.0 (failed: ocsigen-toolkit.3.3.4 failed to build)




#=== ERROR while compiling ocsigen-toolkit.3.3.4 ==============================#
# context              2.2.0~beta2~dev | linux/arm32 | ocaml-base-compiler.5.1.1 | file:///home/opam/opam-repository
# path                 ~/.opam/5.1/.opam-switch/build/ocsigen-toolkit.3.3.4
# command              ~/.opam/opam-init/hooks/sandbox.sh build make -j79
# exit-code            2
# env-file             ~/.opam/log/ocsigen-toolkit-7-0c2b7e.env
# output-file          ~/.opam/log/ocsigen-toolkit-7-0c2b7e.out
### output ###
# mkdir -p _deps
# mkdir -p _deps/src/widgets/
# mkdir -p _deps/src/widgets/
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_buttons.eliom > _deps/src/widgets/ot_buttons.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_buttons.eliomi > _deps/src/widgets/ot_buttons.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_calendar.eliom > _deps/src/widgets/ot_calendar.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_calendar.eliomi > _deps/src/widgets/ot_calendar.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_carousel.eliom > _deps/src/widgets/ot_carousel.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_carousel.eliomi > _deps/src/widgets/ot_carousel.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_color_picker.eliom > _deps/src/widgets/ot_color_picker.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_color_picker.eliomi > _deps/src/widgets/ot_color_picker.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_drawer.eliom > _deps/src/widgets/ot_drawer.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_drawer.eliomi > _deps/src/widgets/ot_drawer.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_form.eliom > _deps/src/widgets/ot_form.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_form.eliomi > _deps/src/widgets/ot_form.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_icons.eliom > _deps/src/widgets/ot_icons.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_lib.eliom > _deps/src/widgets/ot_lib.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_lib.eliomi > _deps/src/widgets/ot_lib.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_nodeready.eliom > _deps/src/widgets/ot_nodeready.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_nodeready.eliomi > _deps/src/widgets/ot_nodeready.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_noderesize.eliom > _deps/src/widgets/ot_noderesize.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_noderesize.eliomi > _deps/src/widgets/ot_noderesize.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_page_transition.eliom > _deps/src/widgets/ot_page_transition.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_page_transition.eliomi > _deps/src/widgets/ot_page_transition.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_picture_uploader.eliom > _deps/src/widgets/ot_picture_uploader.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_picture_uploader.eliomi > _deps/src/widgets/ot_picture_uploader.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_popup.eliom > _deps/src/widgets/ot_popup.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_popup.eliomi > _deps/src/widgets/ot_popup.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_pulltorefresh.eliom > _deps/src/widgets/ot_pulltorefresh.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_pulltorefresh.eliomi > _deps/src/widgets/ot_pulltorefresh.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_range.eliom > _deps/src/widgets/ot_range.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_range.eliomi > _deps/src/widgets/ot_range.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_size.eliom > _deps/src/widgets/ot_size.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_size.eliomi > _deps/src/widgets/ot_size.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_spinner.eliom > _deps/src/widgets/ot_spinner.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_spinner.eliomi > _deps/src/widgets/ot_spinner.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_sticky.eliom > _deps/src/widgets/ot_sticky.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_sticky.eliomi > _deps/src/widgets/ot_sticky.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_style.eliom > _deps/src/widgets/ot_style.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_style.eliomi > _deps/src/widgets/ot_style.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_swipe.eliom > _deps/src/widgets/ot_swipe.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_swipe.eliomi > _deps/src/widgets/ot_swipe.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_time_picker.eliom > _deps/src/widgets/ot_time_picker.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_time_picker.eliomi > _deps/src/widgets/ot_time_picker.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_tip.eliom > _deps/src/widgets/ot_tip.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_tip.eliomi > _deps/src/widgets/ot_tip.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_toggle.eliom > _deps/src/widgets/ot_toggle.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_toggle.eliomi > _deps/src/widgets/ot_toggle.eliomi.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_tongue.eliom > _deps/src/widgets/ot_tongue.eliom.server
# eliomdep -server -ppx -package calendar -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_tongue.eliomi > _deps/src/widgets/ot_tongue.eliomi.server
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_buttons.eliom > _deps/src/widgets/ot_buttons.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_buttons.eliomi > _deps/src/widgets/ot_buttons.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_calendar.eliom > _deps/src/widgets/ot_calendar.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_calendar.eliomi > _deps/src/widgets/ot_calendar.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_carousel.eliom > _deps/src/widgets/ot_carousel.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_carousel.eliomi > _deps/src/widgets/ot_carousel.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_color_picker.eliom > _deps/src/widgets/ot_color_picker.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_color_picker.eliomi > _deps/src/widgets/ot_color_picker.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_drawer.eliom > _deps/src/widgets/ot_drawer.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_drawer.eliomi > _deps/src/widgets/ot_drawer.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_form.eliom > _deps/src/widgets/ot_form.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_form.eliomi > _deps/src/widgets/ot_form.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_icons.eliom > _deps/src/widgets/ot_icons.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_lib.eliom > _deps/src/widgets/ot_lib.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_lib.eliomi > _deps/src/widgets/ot_lib.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_nodeready.eliom > _deps/src/widgets/ot_nodeready.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_nodeready.eliomi > _deps/src/widgets/ot_nodeready.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_noderesize.eliom > _deps/src/widgets/ot_noderesize.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_noderesize.eliomi > _deps/src/widgets/ot_noderesize.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_page_transition.eliom > _deps/src/widgets/ot_page_transition.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_page_transition.eliomi > _deps/src/widgets/ot_page_transition.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_picture_uploader.eliom > _deps/src/widgets/ot_picture_uploader.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_picture_uploader.eliomi > _deps/src/widgets/ot_picture_uploader.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_popup.eliom > _deps/src/widgets/ot_popup.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_popup.eliomi > _deps/src/widgets/ot_popup.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_pulltorefresh.eliom > _deps/src/widgets/ot_pulltorefresh.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_pulltorefresh.eliomi > _deps/src/widgets/ot_pulltorefresh.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_range.eliom > _deps/src/widgets/ot_range.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_range.eliomi > _deps/src/widgets/ot_range.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_size.eliom > _deps/src/widgets/ot_size.eliom.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_size.eliomi > _deps/src/widgets/ot_size.eliomi.client
# eliomdep -client -ppx -package calendar -package js_of_ocaml -package js_of_ocaml-lwt -package js_of_ocaml-ppx -package lwt_ppx -package js_of_ocaml-ppx_deriving_json -eliom-inc src/widgets/ src/widgets/ot_spinner.eliom > _deps/src/widgets/ot_spinner.eliom.client
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# Makefile:173: .depend: No such file or directory
# make: *** [Makefile:184: _deps/src/widgets/ot_form.eliomi.server] Error 2
# make: *** Waiting for unfinished jobs....
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_buttons.eliomi.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_nodeready.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_icons.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_calendar.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_noderesize.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_color_picker.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_buttons.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_lib.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_swipe.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_style.eliomi.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_toggle.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_sticky.eliomi.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_nodeready.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_size.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_tongue.eliomi.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_pulltorefresh.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_lib.eliomi.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_tip.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_carousel.eliomi.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_form.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_spinner.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_swipe.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_tip.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_drawer.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_drawer.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_style.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_popup.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_spinner.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_range.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_color_picker.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_sticky.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_page_transition.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_time_picker.eliomi.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_noderesize.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_time_picker.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_tongue.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_toggle.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_picture_uploader.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_size.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_picture_uploader.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_popup.eliom.server] Error 2
# make: *** [Makefile:184: _deps/src/widgets/ot_pulltorefresh.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_page_transition.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_range.eliomi.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_calendar.eliom.server] Error 2
# File "_none_", line 1:
# Error: Cannot load js_of_ocaml-ppx_deriving_json: this object file uses
#        unsafe features
# make: *** [Makefile:184: _deps/src/widgets/ot_carousel.eliom.server] Error 2

Ot_social_meta and Ocamlnet

Ot_social_meta is implemented with Netchannel and Nethtml.

@sagotch, is this module used anywhere? If yes, I guess we could re-implement it with markup.ml.

(We also need a replacement for Netsendmail used in OS, and then we will be done with Ocamlnet.)

Picture crop does not handle EXIF

Trying to upload a jpg with exif info may lead to wrong crop (e.g., the drawn orientation is not the real one). This is easy to see cropping a portrait picture taken from a smartphone.

I did not read the full spec of exif, but I started to try to reimplement exif parsing in https://github.com/exif-js/exif-js with js_of_ocaml for using a canvas and properly handling metadata, but this is not working yet.

(You can see it at https://github.com/sagotch/ocsigen-toolkit/tree/picture-uploader-fixing).

Note: even my ubuntu file browser does not handle exif when previewing images.
Note 2: http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/

Improve some classnames.

For example, ot-dr-toggle-button --> ot-drawer-toggle-button, ot-pup-* --> ot-picture-uploader-*, ...
Even if it's longer, it is better to have something very clear and explicit.

Workflow for hacking on ocsigen-toolkit

What would be the workflow for hacking on the code of ocisgen-toolkit's widgets?
Would it make sense to have a demo page containing all the widgets and that can be run with e.g make demo?

This would allow iterating quickly when hacking on widgets. Using ocsigen-start requires recompiling ocisgen-toolkit, then ocsigen-start, and finally the ocsigen-start based app for each modification, which quickly becomes annoying.

Calendar internationalization

  • The day initials should not be hard-coded.
  • We should be able to choose whether the weeks starts on Sunday or on Monday.
  • There should be a way to properly initialize Calendarlib before calling CalendarLib.Printer.Date.sprint. Maybe, the list of months can be optionally provided?

Add a color picker to ocsigen-toolkit

In this issue, @vasilisp told me that you could be interested with a color picker like in ocsigen-widgets. I have started to just copy/paste the Ow_table_color_picker code and it works, here is what I have :

color_picker_test.eliom

[%%shared
    open Eliom_lib
    open Eliom_content
    open Html.D
    open Lwt
]

module Color_picker_test_app =
  Eliom_registration.App (
    struct
      let application_name = "color_picker_test"
      let global_data_path = None
    end)

let (listeners, color_selector, color_table) = Ot_color_picker.create ()

let body_content () =
  div ~a:[a_id "wrapper"]
      [
        div ~a:[a_id "left"] [color_selector];
        div ~a:[a_id "right"] [color_table]
      ]



let page () =
  html
    (head (title (pcdata "Color Picker")) [
          css_link ~uri:(make_uri (Eliom_service.static_dir ())
                           ["css";"color_picker_test.css"])
            ()]
    )
    (body [body_content ()])


let main_service =
  Color_picker_test_app.create
    ~path:(Eliom_service.Path [])
    ~meth:(Eliom_service.Get Eliom_parameter.unit)
    (fun () () ->
       let _ = [%client (Ot_color_picker.start ~%listeners : unit)] in
       Lwt.return (page ())
    )

the css :

* {
    font-family: sans-serif;
}
#wrapper {
	width: 60%;
	margin: 0 auto;
	height: 100vh;
}
#left {
	float: left;
	width: 80%;
	height: 100vh;
}
#right {
	float: left;
}
.ew_table_color_picker_square {
	height: 0.9em;
	width: 0.9em;
	border-radius:0.1em;
}

.ew_table_color_picker_color_div {
	height: 100%;
}

And an image :

screenshot

Basically, I changed nothing from the code here :

Before I do the PR, do you want me to change something ?

Compatibility with js_of_ocaml 4.1.0?

A few widgets from this library are not compatible with the latest version of js_of_ocaml (4.1.0), namely the carousel, drawer, swipe, and tongue widgets. It seems to be related to the recent changes to the handling of “transition events”: ocsigen/js_of_ocaml#1309.

Are there plans to make these widgets compatible with latest versions of JSoO?

NB: this is a question, not a complaint nor a request. Thanks.

Ot_spinner: replace num_active_spinner, onloaded, and when_loaded with a spinner returning a Lwt thread waking up when loaded.

(** the number of spinners currently spinning *)
val num_active_spinners : int Eliom_shared.React.S.t
(** [onloaded] is an event that fires when all spinners have finished loading.
    This can occur multiple times. *)
val onloaded : unit Eliom_shared.React.E.t
(** do an action once no spinners are spinning (could be right away) *)
val when_loaded : (unit -> unit) -> unit

Instead of using these functions, which are not firing when we want them to be firing (e.g. the when_loaded event is used to setup form while it actually wait for every spinner to terminate), add a version of the function returning a unit Lwt.t to signal that content has been loaded.

Impossible to select some dates in date picker

Hello,
I noticed it is not possible to select the dates on the last line of some months (for example november 2015).
It seems that the first line 0 is empty, and there is a line 5 for which events are not bound (?).
This also causes problems with the style, as there is an empty line in the table at the beginning ...
Thanks by advance!
Vincent

Date picker: add next/prev year buttons

Hi,
It's very difficult to go quickly in the past. For example if we need to enter a birthdate.
I suggest to add buttons prev/next year to fix that.
@vasilisp Do you have time to work on this soon?
Thanks!
Vincent

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.