diff --git a/client/dist/images/editablecheckbox.png b/client/dist/images/editablecheckbox.png new file mode 100644 index 0000000..07e62c1 Binary files /dev/null and b/client/dist/images/editablecheckbox.png differ diff --git a/client/dist/images/editablecheckboxgroupfield.png b/client/dist/images/editablecheckboxgroupfield.png new file mode 100644 index 0000000..63e34c6 Binary files /dev/null and b/client/dist/images/editablecheckboxgroupfield.png differ diff --git a/client/dist/images/editabledatefield.png b/client/dist/images/editabledatefield.png new file mode 100644 index 0000000..ff86651 Binary files /dev/null and b/client/dist/images/editabledatefield.png differ diff --git a/client/dist/images/editabledropdown.png b/client/dist/images/editabledropdown.png new file mode 100644 index 0000000..9d9b368 Binary files /dev/null and b/client/dist/images/editabledropdown.png differ diff --git a/client/dist/images/editableemailfield.png b/client/dist/images/editableemailfield.png new file mode 100644 index 0000000..8c107b6 Binary files /dev/null and b/client/dist/images/editableemailfield.png differ diff --git a/client/dist/images/editablefilefield.png b/client/dist/images/editablefilefield.png new file mode 100644 index 0000000..df4f273 Binary files /dev/null and b/client/dist/images/editablefilefield.png differ diff --git a/client/dist/images/editableformheading.png b/client/dist/images/editableformheading.png new file mode 100644 index 0000000..7742eed Binary files /dev/null and b/client/dist/images/editableformheading.png differ diff --git a/client/dist/images/editableliteralfield.png b/client/dist/images/editableliteralfield.png new file mode 100644 index 0000000..ded3cbc Binary files /dev/null and b/client/dist/images/editableliteralfield.png differ diff --git a/client/dist/images/editablememberlistfield.png b/client/dist/images/editablememberlistfield.png new file mode 100644 index 0000000..9d9b368 Binary files /dev/null and b/client/dist/images/editablememberlistfield.png differ diff --git a/client/dist/images/editablenumericfield.png b/client/dist/images/editablenumericfield.png new file mode 100644 index 0000000..088fe24 Binary files /dev/null and b/client/dist/images/editablenumericfield.png differ diff --git a/client/dist/images/editablepasswordfield.png b/client/dist/images/editablepasswordfield.png new file mode 100644 index 0000000..a359328 Binary files /dev/null and b/client/dist/images/editablepasswordfield.png differ diff --git a/client/dist/images/editableradiofield.png b/client/dist/images/editableradiofield.png new file mode 100644 index 0000000..f1f3c15 Binary files /dev/null and b/client/dist/images/editableradiofield.png differ diff --git a/client/dist/images/editabletextfield.png b/client/dist/images/editabletextfield.png new file mode 100644 index 0000000..7aabfab Binary files /dev/null and b/client/dist/images/editabletextfield.png differ diff --git a/client/dist/images/sitetree_icon.png b/client/dist/images/sitetree_icon.png new file mode 100644 index 0000000..f9b42cc Binary files /dev/null and b/client/dist/images/sitetree_icon.png differ diff --git a/thirdparty/jquery-validate/additional-methods.js b/client/thirdparty/jquery-validate/additional-methods.js similarity index 100% rename from thirdparty/jquery-validate/additional-methods.js rename to client/thirdparty/jquery-validate/additional-methods.js diff --git a/thirdparty/jquery-validate/additional-methods.min.js b/client/thirdparty/jquery-validate/additional-methods.min.js similarity index 100% rename from thirdparty/jquery-validate/additional-methods.min.js rename to client/thirdparty/jquery-validate/additional-methods.min.js diff --git a/thirdparty/jquery-validate/jquery.validate.js b/client/thirdparty/jquery-validate/jquery.validate.js similarity index 100% rename from thirdparty/jquery-validate/jquery.validate.js rename to client/thirdparty/jquery-validate/jquery.validate.js diff --git a/thirdparty/jquery-validate/jquery.validate.min.js b/client/thirdparty/jquery-validate/jquery.validate.min.js similarity index 100% rename from thirdparty/jquery-validate/jquery.validate.min.js rename to client/thirdparty/jquery-validate/jquery.validate.min.js diff --git a/thirdparty/jquery-validate/localization/messages_ar.js b/client/thirdparty/jquery-validate/localization/messages_ar.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ar.js rename to client/thirdparty/jquery-validate/localization/messages_ar.js diff --git a/thirdparty/jquery-validate/localization/messages_ar.min.js b/client/thirdparty/jquery-validate/localization/messages_ar.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ar.min.js rename to client/thirdparty/jquery-validate/localization/messages_ar.min.js diff --git a/thirdparty/jquery-validate/localization/messages_bg.js b/client/thirdparty/jquery-validate/localization/messages_bg.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_bg.js rename to client/thirdparty/jquery-validate/localization/messages_bg.js diff --git a/thirdparty/jquery-validate/localization/messages_bg.min.js b/client/thirdparty/jquery-validate/localization/messages_bg.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_bg.min.js rename to client/thirdparty/jquery-validate/localization/messages_bg.min.js diff --git a/thirdparty/jquery-validate/localization/messages_ca.js b/client/thirdparty/jquery-validate/localization/messages_ca.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ca.js rename to client/thirdparty/jquery-validate/localization/messages_ca.js diff --git a/thirdparty/jquery-validate/localization/messages_ca.min.js b/client/thirdparty/jquery-validate/localization/messages_ca.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ca.min.js rename to client/thirdparty/jquery-validate/localization/messages_ca.min.js diff --git a/thirdparty/jquery-validate/localization/messages_cs.js b/client/thirdparty/jquery-validate/localization/messages_cs.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_cs.js rename to client/thirdparty/jquery-validate/localization/messages_cs.js diff --git a/thirdparty/jquery-validate/localization/messages_cs.min.js b/client/thirdparty/jquery-validate/localization/messages_cs.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_cs.min.js rename to client/thirdparty/jquery-validate/localization/messages_cs.min.js diff --git a/thirdparty/jquery-validate/localization/messages_da.js b/client/thirdparty/jquery-validate/localization/messages_da.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_da.js rename to client/thirdparty/jquery-validate/localization/messages_da.js diff --git a/thirdparty/jquery-validate/localization/messages_da.min.js b/client/thirdparty/jquery-validate/localization/messages_da.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_da.min.js rename to client/thirdparty/jquery-validate/localization/messages_da.min.js diff --git a/thirdparty/jquery-validate/localization/messages_de.js b/client/thirdparty/jquery-validate/localization/messages_de.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_de.js rename to client/thirdparty/jquery-validate/localization/messages_de.js diff --git a/thirdparty/jquery-validate/localization/messages_de.min.js b/client/thirdparty/jquery-validate/localization/messages_de.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_de.min.js rename to client/thirdparty/jquery-validate/localization/messages_de.min.js diff --git a/thirdparty/jquery-validate/localization/messages_el.js b/client/thirdparty/jquery-validate/localization/messages_el.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_el.js rename to client/thirdparty/jquery-validate/localization/messages_el.js diff --git a/thirdparty/jquery-validate/localization/messages_el.min.js b/client/thirdparty/jquery-validate/localization/messages_el.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_el.min.js rename to client/thirdparty/jquery-validate/localization/messages_el.min.js diff --git a/thirdparty/jquery-validate/localization/messages_es.js b/client/thirdparty/jquery-validate/localization/messages_es.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_es.js rename to client/thirdparty/jquery-validate/localization/messages_es.js diff --git a/thirdparty/jquery-validate/localization/messages_es.min.js b/client/thirdparty/jquery-validate/localization/messages_es.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_es.min.js rename to client/thirdparty/jquery-validate/localization/messages_es.min.js diff --git a/thirdparty/jquery-validate/localization/messages_es_AR.js b/client/thirdparty/jquery-validate/localization/messages_es_AR.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_es_AR.js rename to client/thirdparty/jquery-validate/localization/messages_es_AR.js diff --git a/thirdparty/jquery-validate/localization/messages_es_AR.min.js b/client/thirdparty/jquery-validate/localization/messages_es_AR.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_es_AR.min.js rename to client/thirdparty/jquery-validate/localization/messages_es_AR.min.js diff --git a/thirdparty/jquery-validate/localization/messages_et.js b/client/thirdparty/jquery-validate/localization/messages_et.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_et.js rename to client/thirdparty/jquery-validate/localization/messages_et.js diff --git a/thirdparty/jquery-validate/localization/messages_et.min.js b/client/thirdparty/jquery-validate/localization/messages_et.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_et.min.js rename to client/thirdparty/jquery-validate/localization/messages_et.min.js diff --git a/thirdparty/jquery-validate/localization/messages_eu.js b/client/thirdparty/jquery-validate/localization/messages_eu.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_eu.js rename to client/thirdparty/jquery-validate/localization/messages_eu.js diff --git a/thirdparty/jquery-validate/localization/messages_eu.min.js b/client/thirdparty/jquery-validate/localization/messages_eu.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_eu.min.js rename to client/thirdparty/jquery-validate/localization/messages_eu.min.js diff --git a/thirdparty/jquery-validate/localization/messages_fa.js b/client/thirdparty/jquery-validate/localization/messages_fa.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_fa.js rename to client/thirdparty/jquery-validate/localization/messages_fa.js diff --git a/thirdparty/jquery-validate/localization/messages_fa.min.js b/client/thirdparty/jquery-validate/localization/messages_fa.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_fa.min.js rename to client/thirdparty/jquery-validate/localization/messages_fa.min.js diff --git a/thirdparty/jquery-validate/localization/messages_fi.js b/client/thirdparty/jquery-validate/localization/messages_fi.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_fi.js rename to client/thirdparty/jquery-validate/localization/messages_fi.js diff --git a/thirdparty/jquery-validate/localization/messages_fi.min.js b/client/thirdparty/jquery-validate/localization/messages_fi.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_fi.min.js rename to client/thirdparty/jquery-validate/localization/messages_fi.min.js diff --git a/thirdparty/jquery-validate/localization/messages_fr.js b/client/thirdparty/jquery-validate/localization/messages_fr.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_fr.js rename to client/thirdparty/jquery-validate/localization/messages_fr.js diff --git a/thirdparty/jquery-validate/localization/messages_fr.min.js b/client/thirdparty/jquery-validate/localization/messages_fr.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_fr.min.js rename to client/thirdparty/jquery-validate/localization/messages_fr.min.js diff --git a/thirdparty/jquery-validate/localization/messages_gl.js b/client/thirdparty/jquery-validate/localization/messages_gl.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_gl.js rename to client/thirdparty/jquery-validate/localization/messages_gl.js diff --git a/thirdparty/jquery-validate/localization/messages_gl.min.js b/client/thirdparty/jquery-validate/localization/messages_gl.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_gl.min.js rename to client/thirdparty/jquery-validate/localization/messages_gl.min.js diff --git a/thirdparty/jquery-validate/localization/messages_he.js b/client/thirdparty/jquery-validate/localization/messages_he.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_he.js rename to client/thirdparty/jquery-validate/localization/messages_he.js diff --git a/thirdparty/jquery-validate/localization/messages_he.min.js b/client/thirdparty/jquery-validate/localization/messages_he.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_he.min.js rename to client/thirdparty/jquery-validate/localization/messages_he.min.js diff --git a/thirdparty/jquery-validate/localization/messages_hr.js b/client/thirdparty/jquery-validate/localization/messages_hr.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_hr.js rename to client/thirdparty/jquery-validate/localization/messages_hr.js diff --git a/thirdparty/jquery-validate/localization/messages_hr.min.js b/client/thirdparty/jquery-validate/localization/messages_hr.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_hr.min.js rename to client/thirdparty/jquery-validate/localization/messages_hr.min.js diff --git a/thirdparty/jquery-validate/localization/messages_hu.js b/client/thirdparty/jquery-validate/localization/messages_hu.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_hu.js rename to client/thirdparty/jquery-validate/localization/messages_hu.js diff --git a/thirdparty/jquery-validate/localization/messages_hu.min.js b/client/thirdparty/jquery-validate/localization/messages_hu.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_hu.min.js rename to client/thirdparty/jquery-validate/localization/messages_hu.min.js diff --git a/thirdparty/jquery-validate/localization/messages_id.js b/client/thirdparty/jquery-validate/localization/messages_id.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_id.js rename to client/thirdparty/jquery-validate/localization/messages_id.js diff --git a/thirdparty/jquery-validate/localization/messages_id.min.js b/client/thirdparty/jquery-validate/localization/messages_id.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_id.min.js rename to client/thirdparty/jquery-validate/localization/messages_id.min.js diff --git a/thirdparty/jquery-validate/localization/messages_is.js b/client/thirdparty/jquery-validate/localization/messages_is.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_is.js rename to client/thirdparty/jquery-validate/localization/messages_is.js diff --git a/thirdparty/jquery-validate/localization/messages_is.min.js b/client/thirdparty/jquery-validate/localization/messages_is.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_is.min.js rename to client/thirdparty/jquery-validate/localization/messages_is.min.js diff --git a/thirdparty/jquery-validate/localization/messages_it.js b/client/thirdparty/jquery-validate/localization/messages_it.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_it.js rename to client/thirdparty/jquery-validate/localization/messages_it.js diff --git a/thirdparty/jquery-validate/localization/messages_it.min.js b/client/thirdparty/jquery-validate/localization/messages_it.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_it.min.js rename to client/thirdparty/jquery-validate/localization/messages_it.min.js diff --git a/thirdparty/jquery-validate/localization/messages_ja.js b/client/thirdparty/jquery-validate/localization/messages_ja.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ja.js rename to client/thirdparty/jquery-validate/localization/messages_ja.js diff --git a/thirdparty/jquery-validate/localization/messages_ja.min.js b/client/thirdparty/jquery-validate/localization/messages_ja.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ja.min.js rename to client/thirdparty/jquery-validate/localization/messages_ja.min.js diff --git a/thirdparty/jquery-validate/localization/messages_ka.js b/client/thirdparty/jquery-validate/localization/messages_ka.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ka.js rename to client/thirdparty/jquery-validate/localization/messages_ka.js diff --git a/thirdparty/jquery-validate/localization/messages_ka.min.js b/client/thirdparty/jquery-validate/localization/messages_ka.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ka.min.js rename to client/thirdparty/jquery-validate/localization/messages_ka.min.js diff --git a/thirdparty/jquery-validate/localization/messages_kk.js b/client/thirdparty/jquery-validate/localization/messages_kk.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_kk.js rename to client/thirdparty/jquery-validate/localization/messages_kk.js diff --git a/thirdparty/jquery-validate/localization/messages_kk.min.js b/client/thirdparty/jquery-validate/localization/messages_kk.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_kk.min.js rename to client/thirdparty/jquery-validate/localization/messages_kk.min.js diff --git a/thirdparty/jquery-validate/localization/messages_ko.js b/client/thirdparty/jquery-validate/localization/messages_ko.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ko.js rename to client/thirdparty/jquery-validate/localization/messages_ko.js diff --git a/thirdparty/jquery-validate/localization/messages_ko.min.js b/client/thirdparty/jquery-validate/localization/messages_ko.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ko.min.js rename to client/thirdparty/jquery-validate/localization/messages_ko.min.js diff --git a/thirdparty/jquery-validate/localization/messages_lt.js b/client/thirdparty/jquery-validate/localization/messages_lt.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_lt.js rename to client/thirdparty/jquery-validate/localization/messages_lt.js diff --git a/thirdparty/jquery-validate/localization/messages_lt.min.js b/client/thirdparty/jquery-validate/localization/messages_lt.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_lt.min.js rename to client/thirdparty/jquery-validate/localization/messages_lt.min.js diff --git a/thirdparty/jquery-validate/localization/messages_lv.js b/client/thirdparty/jquery-validate/localization/messages_lv.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_lv.js rename to client/thirdparty/jquery-validate/localization/messages_lv.js diff --git a/thirdparty/jquery-validate/localization/messages_lv.min.js b/client/thirdparty/jquery-validate/localization/messages_lv.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_lv.min.js rename to client/thirdparty/jquery-validate/localization/messages_lv.min.js diff --git a/thirdparty/jquery-validate/localization/messages_my.js b/client/thirdparty/jquery-validate/localization/messages_my.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_my.js rename to client/thirdparty/jquery-validate/localization/messages_my.js diff --git a/thirdparty/jquery-validate/localization/messages_my.min.js b/client/thirdparty/jquery-validate/localization/messages_my.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_my.min.js rename to client/thirdparty/jquery-validate/localization/messages_my.min.js diff --git a/thirdparty/jquery-validate/localization/messages_nl.js b/client/thirdparty/jquery-validate/localization/messages_nl.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_nl.js rename to client/thirdparty/jquery-validate/localization/messages_nl.js diff --git a/thirdparty/jquery-validate/localization/messages_nl.min.js b/client/thirdparty/jquery-validate/localization/messages_nl.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_nl.min.js rename to client/thirdparty/jquery-validate/localization/messages_nl.min.js diff --git a/thirdparty/jquery-validate/localization/messages_no.js b/client/thirdparty/jquery-validate/localization/messages_no.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_no.js rename to client/thirdparty/jquery-validate/localization/messages_no.js diff --git a/thirdparty/jquery-validate/localization/messages_no.min.js b/client/thirdparty/jquery-validate/localization/messages_no.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_no.min.js rename to client/thirdparty/jquery-validate/localization/messages_no.min.js diff --git a/thirdparty/jquery-validate/localization/messages_pl.js b/client/thirdparty/jquery-validate/localization/messages_pl.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_pl.js rename to client/thirdparty/jquery-validate/localization/messages_pl.js diff --git a/thirdparty/jquery-validate/localization/messages_pl.min.js b/client/thirdparty/jquery-validate/localization/messages_pl.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_pl.min.js rename to client/thirdparty/jquery-validate/localization/messages_pl.min.js diff --git a/thirdparty/jquery-validate/localization/messages_pt_BR.js b/client/thirdparty/jquery-validate/localization/messages_pt_BR.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_pt_BR.js rename to client/thirdparty/jquery-validate/localization/messages_pt_BR.js diff --git a/thirdparty/jquery-validate/localization/messages_pt_BR.min.js b/client/thirdparty/jquery-validate/localization/messages_pt_BR.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_pt_BR.min.js rename to client/thirdparty/jquery-validate/localization/messages_pt_BR.min.js diff --git a/thirdparty/jquery-validate/localization/messages_pt_PT.js b/client/thirdparty/jquery-validate/localization/messages_pt_PT.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_pt_PT.js rename to client/thirdparty/jquery-validate/localization/messages_pt_PT.js diff --git a/thirdparty/jquery-validate/localization/messages_pt_PT.min.js b/client/thirdparty/jquery-validate/localization/messages_pt_PT.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_pt_PT.min.js rename to client/thirdparty/jquery-validate/localization/messages_pt_PT.min.js diff --git a/thirdparty/jquery-validate/localization/messages_ro.js b/client/thirdparty/jquery-validate/localization/messages_ro.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ro.js rename to client/thirdparty/jquery-validate/localization/messages_ro.js diff --git a/thirdparty/jquery-validate/localization/messages_ro.min.js b/client/thirdparty/jquery-validate/localization/messages_ro.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ro.min.js rename to client/thirdparty/jquery-validate/localization/messages_ro.min.js diff --git a/thirdparty/jquery-validate/localization/messages_ru.js b/client/thirdparty/jquery-validate/localization/messages_ru.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ru.js rename to client/thirdparty/jquery-validate/localization/messages_ru.js diff --git a/thirdparty/jquery-validate/localization/messages_ru.min.js b/client/thirdparty/jquery-validate/localization/messages_ru.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_ru.min.js rename to client/thirdparty/jquery-validate/localization/messages_ru.min.js diff --git a/thirdparty/jquery-validate/localization/messages_si.js b/client/thirdparty/jquery-validate/localization/messages_si.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_si.js rename to client/thirdparty/jquery-validate/localization/messages_si.js diff --git a/thirdparty/jquery-validate/localization/messages_si.min.js b/client/thirdparty/jquery-validate/localization/messages_si.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_si.min.js rename to client/thirdparty/jquery-validate/localization/messages_si.min.js diff --git a/thirdparty/jquery-validate/localization/messages_sk.js b/client/thirdparty/jquery-validate/localization/messages_sk.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sk.js rename to client/thirdparty/jquery-validate/localization/messages_sk.js diff --git a/thirdparty/jquery-validate/localization/messages_sk.min.js b/client/thirdparty/jquery-validate/localization/messages_sk.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sk.min.js rename to client/thirdparty/jquery-validate/localization/messages_sk.min.js diff --git a/thirdparty/jquery-validate/localization/messages_sl.js b/client/thirdparty/jquery-validate/localization/messages_sl.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sl.js rename to client/thirdparty/jquery-validate/localization/messages_sl.js diff --git a/thirdparty/jquery-validate/localization/messages_sl.min.js b/client/thirdparty/jquery-validate/localization/messages_sl.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sl.min.js rename to client/thirdparty/jquery-validate/localization/messages_sl.min.js diff --git a/thirdparty/jquery-validate/localization/messages_sr.js b/client/thirdparty/jquery-validate/localization/messages_sr.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sr.js rename to client/thirdparty/jquery-validate/localization/messages_sr.js diff --git a/thirdparty/jquery-validate/localization/messages_sr.min.js b/client/thirdparty/jquery-validate/localization/messages_sr.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sr.min.js rename to client/thirdparty/jquery-validate/localization/messages_sr.min.js diff --git a/thirdparty/jquery-validate/localization/messages_sr_lat.js b/client/thirdparty/jquery-validate/localization/messages_sr_lat.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sr_lat.js rename to client/thirdparty/jquery-validate/localization/messages_sr_lat.js diff --git a/thirdparty/jquery-validate/localization/messages_sr_lat.min.js b/client/thirdparty/jquery-validate/localization/messages_sr_lat.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sr_lat.min.js rename to client/thirdparty/jquery-validate/localization/messages_sr_lat.min.js diff --git a/thirdparty/jquery-validate/localization/messages_sv.js b/client/thirdparty/jquery-validate/localization/messages_sv.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sv.js rename to client/thirdparty/jquery-validate/localization/messages_sv.js diff --git a/thirdparty/jquery-validate/localization/messages_sv.min.js b/client/thirdparty/jquery-validate/localization/messages_sv.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_sv.min.js rename to client/thirdparty/jquery-validate/localization/messages_sv.min.js diff --git a/thirdparty/jquery-validate/localization/messages_th.js b/client/thirdparty/jquery-validate/localization/messages_th.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_th.js rename to client/thirdparty/jquery-validate/localization/messages_th.js diff --git a/thirdparty/jquery-validate/localization/messages_th.min.js b/client/thirdparty/jquery-validate/localization/messages_th.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_th.min.js rename to client/thirdparty/jquery-validate/localization/messages_th.min.js diff --git a/thirdparty/jquery-validate/localization/messages_tj.js b/client/thirdparty/jquery-validate/localization/messages_tj.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_tj.js rename to client/thirdparty/jquery-validate/localization/messages_tj.js diff --git a/thirdparty/jquery-validate/localization/messages_tj.min.js b/client/thirdparty/jquery-validate/localization/messages_tj.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_tj.min.js rename to client/thirdparty/jquery-validate/localization/messages_tj.min.js diff --git a/thirdparty/jquery-validate/localization/messages_tr.js b/client/thirdparty/jquery-validate/localization/messages_tr.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_tr.js rename to client/thirdparty/jquery-validate/localization/messages_tr.js diff --git a/thirdparty/jquery-validate/localization/messages_tr.min.js b/client/thirdparty/jquery-validate/localization/messages_tr.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_tr.min.js rename to client/thirdparty/jquery-validate/localization/messages_tr.min.js diff --git a/thirdparty/jquery-validate/localization/messages_uk.js b/client/thirdparty/jquery-validate/localization/messages_uk.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_uk.js rename to client/thirdparty/jquery-validate/localization/messages_uk.js diff --git a/thirdparty/jquery-validate/localization/messages_uk.min.js b/client/thirdparty/jquery-validate/localization/messages_uk.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_uk.min.js rename to client/thirdparty/jquery-validate/localization/messages_uk.min.js diff --git a/thirdparty/jquery-validate/localization/messages_vi.js b/client/thirdparty/jquery-validate/localization/messages_vi.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_vi.js rename to client/thirdparty/jquery-validate/localization/messages_vi.js diff --git a/thirdparty/jquery-validate/localization/messages_vi.min.js b/client/thirdparty/jquery-validate/localization/messages_vi.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_vi.min.js rename to client/thirdparty/jquery-validate/localization/messages_vi.min.js diff --git a/thirdparty/jquery-validate/localization/messages_zh.js b/client/thirdparty/jquery-validate/localization/messages_zh.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_zh.js rename to client/thirdparty/jquery-validate/localization/messages_zh.js diff --git a/thirdparty/jquery-validate/localization/messages_zh.min.js b/client/thirdparty/jquery-validate/localization/messages_zh.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_zh.min.js rename to client/thirdparty/jquery-validate/localization/messages_zh.min.js diff --git a/thirdparty/jquery-validate/localization/messages_zh_TW.js b/client/thirdparty/jquery-validate/localization/messages_zh_TW.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_zh_TW.js rename to client/thirdparty/jquery-validate/localization/messages_zh_TW.js diff --git a/thirdparty/jquery-validate/localization/messages_zh_TW.min.js b/client/thirdparty/jquery-validate/localization/messages_zh_TW.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/messages_zh_TW.min.js rename to client/thirdparty/jquery-validate/localization/messages_zh_TW.min.js diff --git a/thirdparty/jquery-validate/localization/methods_de.js b/client/thirdparty/jquery-validate/localization/methods_de.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_de.js rename to client/thirdparty/jquery-validate/localization/methods_de.js diff --git a/thirdparty/jquery-validate/localization/methods_de.min.js b/client/thirdparty/jquery-validate/localization/methods_de.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_de.min.js rename to client/thirdparty/jquery-validate/localization/methods_de.min.js diff --git a/thirdparty/jquery-validate/localization/methods_es_CL.js b/client/thirdparty/jquery-validate/localization/methods_es_CL.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_es_CL.js rename to client/thirdparty/jquery-validate/localization/methods_es_CL.js diff --git a/thirdparty/jquery-validate/localization/methods_es_CL.min.js b/client/thirdparty/jquery-validate/localization/methods_es_CL.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_es_CL.min.js rename to client/thirdparty/jquery-validate/localization/methods_es_CL.min.js diff --git a/thirdparty/jquery-validate/localization/methods_fi.js b/client/thirdparty/jquery-validate/localization/methods_fi.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_fi.js rename to client/thirdparty/jquery-validate/localization/methods_fi.js diff --git a/thirdparty/jquery-validate/localization/methods_fi.min.js b/client/thirdparty/jquery-validate/localization/methods_fi.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_fi.min.js rename to client/thirdparty/jquery-validate/localization/methods_fi.min.js diff --git a/thirdparty/jquery-validate/localization/methods_nl.js b/client/thirdparty/jquery-validate/localization/methods_nl.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_nl.js rename to client/thirdparty/jquery-validate/localization/methods_nl.js diff --git a/thirdparty/jquery-validate/localization/methods_nl.min.js b/client/thirdparty/jquery-validate/localization/methods_nl.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_nl.min.js rename to client/thirdparty/jquery-validate/localization/methods_nl.min.js diff --git a/thirdparty/jquery-validate/localization/methods_pt.js b/client/thirdparty/jquery-validate/localization/methods_pt.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_pt.js rename to client/thirdparty/jquery-validate/localization/methods_pt.js diff --git a/thirdparty/jquery-validate/localization/methods_pt.min.js b/client/thirdparty/jquery-validate/localization/methods_pt.min.js similarity index 100% rename from thirdparty/jquery-validate/localization/methods_pt.min.js rename to client/thirdparty/jquery-validate/localization/methods_pt.min.js diff --git a/thirdparty/jquery.are-you-sure/jquery.are-you-sure.js b/client/thirdparty/jquery.are-you-sure/jquery.are-you-sure.js similarity index 100% rename from thirdparty/jquery.are-you-sure/jquery.are-you-sure.js rename to client/thirdparty/jquery.are-you-sure/jquery.are-you-sure.js diff --git a/code/Model/UserDefinedFormController.php b/code/Model/UserDefinedFormController.php index 67c6381..45ec878 100644 --- a/code/Model/UserDefinedFormController.php +++ b/code/Model/UserDefinedFormController.php @@ -8,6 +8,7 @@ use SilverStripe\Assets\Upload; use SilverStripe\Control\Controller; use SilverStripe\Control\Email\Email; use SilverStripe\Control\HTTP; +use SilverStripe\Core\Manifest\Module; use SilverStripe\Core\Manifest\ModuleLoader; use SilverStripe\Forms\Form; use SilverStripe\i18n\i18n; @@ -48,37 +49,55 @@ class UserDefinedFormController extends PageController $admin = ModuleLoader::getModule('silverstripe/admin'); // load the css if (!$page->config()->get('block_default_userforms_css')) { - Requirements::css($userforms->getRelativeResourcePath('css/UserForm.css')); + Requirements::css($userforms->getRelativeResourcePath('client/dist/styles/userforms.css')); } // load the jquery if (!$page->config()->get('block_default_userforms_js')) { - $lang = i18n::getData()->languageName(i18n::get_locale()); - - Requirements::javascript($admin->getRelativeResourcePath('thirdparty/jquery/jquery.js')); + Requirements::javascript('//code.jquery.com/jquery-1.7.2.min.js'); Requirements::javascript( - $userforms->getRelativeResourcePath('thirdparty/jquery-validate/jquery.validate.min.js') + $userforms->getRelativeResourcePath('client/thirdparty/jquery-validate/jquery.validate.min.js') ); Requirements::add_i18n_javascript($userforms->getRelativeResourcePath('javascript/lang')); - Requirements::javascript($userforms->getRelativeResourcePath('javascript/UserForm.js')); + Requirements::javascript($userforms->getRelativeResourcePath('client/dist/js/userforms.js')); - // @todo implement the $lang correctly - // Requirements::javascript( - // $userforms->getRelativeResourcePath("thirdparty/jquery-validate/localization/messages_{$lang}.min.js") - // ); - // Requirements::javascript( - // $userforms->getRelativeResourcePath("thirdparty/jquery-validate/localization/methods_{$lang}.min.js") - // ); + $this->addUserFormsValidatei18n($userforms); // Bind a confirmation message when navigating away from a partially completed form. if ($page::config()->get('enable_are_you_sure')) { Requirements::javascript( - $userforms->getRelativeResourcePath('thirdparty/jquery.are-you-sure/jquery.are-you-sure.js') + $userforms->getRelativeResourcePath('client/thirdparty/jquery.are-you-sure/jquery.are-you-sure.js') ); } } } + /** + * Add the necessary jQuery validate i18n translation files, either by locale or by langauge, + * e.g. 'en_NZ' or 'en'. This adds "methods_abc.min.js" as well as "messages_abc.min.js" from the + * jQuery validate thirdparty library. + * + * @param Module $module + */ + protected function addUserFormsValidatei18n(Module $module) + { + $candidates = [ + i18n::getData()->langFromLocale(i18n::config()->get('default_locale')), + i18n::config()->get('default_locale'), + i18n::getData()->langFromLocale(i18n::get_locale()), + i18n::get_locale(), + ]; + + foreach ($candidates as $candidate) { + foreach (['messages', 'methods'] as $candidateType) { + $localisationCandidate = "client/thirdparty/jquery-validate/localization/{$candidateType}_{$candidate}.min.js"; + if ($module->hasResource($localisationCandidate)) { + Requirements::javascript($module->getRelativeResourcePath($localisationCandidate)); + } + } + } + } + /** * Using $UserDefinedForm in the Content area of the page shows * where the form should be rendered into. If it does not exist