Skip to content

Commit

Permalink
Several channges to fishing activity props
Browse files Browse the repository at this point in the history
  • Loading branch information
vharmain committed Dec 3, 2023
1 parent 8f63391 commit df26370
Show file tree
Hide file tree
Showing 2 changed files with 132 additions and 40 deletions.
111 changes: 81 additions & 30 deletions webapp/src/cljc/lipas/data/activities.cljc
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,12 @@
{:field
{:type "multi-select"
:label {:fi "Rooli"}
:description {:fi "Yhteystietoon liittyvän organisaation rooli"}
:description {:fi [:<>
"Asiakaspalvelu: Kohteen asiakaspalvelusta vastaava organisaatio"
[:br]
"Sisällöntuottaja: Kohteesta sähköisessä palvelussa kerrottavista tiedoista vastaava organisaatio"
[:br]
"Ylläpitäjä: Kohteen olosuhteiden ylläpidosta vastaava organisaatio"]}
:opts contact-roles}}
:email
{:field
Expand Down Expand Up @@ -194,10 +199,10 @@
"paddling" {:fi "Melonta"}
"skiing" {:fi "Hiihto"}})

(def outdoor-recreation-routes-accessibility-classification
(def accessibility-classification
{"accessible" {:fi "Esteetön"}
"advanced-accessible" {:fi "Vaativa esteetön"}
"inaccessible" {:fi "Ei"}})
"inaccessible" {:fi "Esteellinen"}})

(def outdoor-recreation-routes
{:label {:fi "Retkeily ja ulkoilureitit"}
Expand Down Expand Up @@ -225,7 +230,7 @@
[:travel-direction {:optional true} [:enum "clockwise" "counter-clockwise"]]
[:route-marking {:optional true} localized-string-schema]
[:accessibility-classification
(into [:enum] (keys outdoor-recreation-routes-accessibility-classification))]
(into [:enum] (keys accessibility-classification))]
[:latest-updates {:optional true} localized-string-schema]])]
:field
{:type "routes"
Expand All @@ -234,7 +239,13 @@
:props
(merge
common-props
{:accessibility
{:accessibility-classification
{:field
{:type "select"
:label {:fi "Saavutettavuusluokittelu"}
:description {:fi "???"}
:opts accessibility-classification}}
:accessibility
{:field
{:type "accessibility"
:label {:fi "Saavutettavuus"}
Expand Down Expand Up @@ -576,20 +587,22 @@
"on-the-water" {:fi "Kalastus vesiltä / jäältä"}})

(def fishing-activities
{"angling" {:fi "Onginta"}
"ice-fishing" {:fi "Pilkkiminen"}
"fly-fishing" {:fi "Perhokalastus"}
"lure-fishing" {:fi "Viehekalastus"}})
{"angling" {:fi "Onginta"}
"ice-fishing" {:fi "Pilkkiminen"}
"fly-fishing" {:fi "Perhokalastus"}
"lure-fishing" {:fi "Viehekalastus"}
"herring-jigging" {:fi "Silakan litkaus"}})

(def fishing-waters
{"sea" {:fi "Meri"}
"river" {:fi "Joki"}
"lake" {:fi "Järvi"}})

(def fishing-properties
{"kalapaikkoja-kaupungeissa" {:fi "Kalapaikkoja kaupungeissa"}
"accessible-fishing-spot" {:fi "Esteetön kalastuspaikka"}
"premium-fishing-spot" {:fi "Laatu-apaja"}})
(def fishing-permit-opts
{"general-fishing-rights" {:fi "Maksuttomat yleiskalastusoikeudet ovat voimassa (onkiminen, pilkkiminen ja merellä silakan litkaus)"}
"fee-for-lure-fishing" {:fi "Kalastonhoitomaksu viehekalastukseen (maksuvelvollisuus koskee 18–69 -vuotiaita)"}
"local-fishing-permit" {:fi "Paikallinen kalastuslupa"}
"special-permit-or-restrictions" {:fi "Kohteella on poikkeuksellisia lupajärjestelyitä tai rajoituksia. Katso kalastusrajoitus.fi"}})

(def fishing
{:label {:fi "Kalastus"}
Expand All @@ -598,7 +611,7 @@
:type-codes #{201}
:props
(merge
common-props
(dissoc common-props :accessibility)
{:type
{:schema [:sequential (into [:enum] (keys fishing-types))]
:field
Expand All @@ -612,7 +625,7 @@
:field
{:type "multi-select"
:description {:fi "Onginta, Pilkkiminen, Perhokalastus, Viehekalastus"}
:label {:fi "Alalaji"}
:label {:fi "Hyvin soveltuvat kalastusmuodot"}
:opts fishing-activities}}

:waters
Expand All @@ -627,8 +640,8 @@
{:schema localized-string-schema
:field
{:type "textarea"
:description {:fi "ahven, taimen (meritaimen), turpa, …"}
:label {:fi "Kalalajit"}}}
:description {:fi "Kohteessa kalastamisen kannalta keskeisimmät kalalajit, esim. ahven, taimen, kirjolohi tms."}
:label {:fi "Keskeiset kalalajit"}}}


:fish-population
Expand All @@ -643,23 +656,61 @@
{:schema localized-string-schema
:field
{:type "textarea"
:description {:fi "Tietoa kohteeseen soveltuvista kalastustavoista"}
:label {:fi "Kalastustavat"}}}
:description {:fi "Tietoa mm. kohteessa kalastukseen vaikuttavista erityispiirteistä, toimivista välinevalinnoista yms."}
:label {:fi "Vinkkejä kohteessa kalastamiseen"}}}

:properties
{:schema [:sequential (into [:enum] (keys fishing-properties))]
:fishing-permit
{:schema [:sequential (into [:enum] (keys fishing-permit-opts))]
:field
{:type "multi-select"
:description {:fi ""}
:label {:fi "Ominaisuudet"}
:opts fishing-properties}}
{:type "checkboxes"
:label {:fi "Kalastuslupatarve"}
:description {:fi "Kohteen kalastuslupatarve yhdellä vavalla kalastettaessa. Huom. useammalla vavalla kalastaminen vaatii aina paikallisen luvan."}
:opts fishing-permit-opts}}

:rules
{:schema localized-string-schema
:accessibility-classification
{:schema (into [:enum] (keys accessibility-classification))
:field
{:type "textarea"
:description {:fi "Tietoa kohteeseen soveltuvista kalastustavoista"}
:label {:fi "Luvat, säännöt, ohjeet"}}}})})
{:type "select"
:label {:fi "Saavutettavuusluokittelu"}
:description {:fi "???"}
:opts (dissoc accessibility-classification "advanced-accessible")}}

:accessibility
{:schema [:map
[:mobility-impaired {:optional true} localized-string-schema]
[:hearing-impaired {:optional true} localized-string-schema]
[:visually-impaired {:optional true} localized-string-schema]
[:developmentally-disabled {:optional true} localized-string-schema]]

:field
{:type "accessibility"
:label {:fi "Saavutettavuus"}
:description {:fi "Tähän jotain"}
:props
{:mobility-impaired
{:value "mobility-impaired"
:field
{:type "textarea"
:description {:fi "Aihekohtainen tekstikuvaus"}
:label {:fi "Liikuntavammaiset"}}}
:hearing-impaired
{:value "hearing-impaired"
:field
{:type "textarea"
:description {:fi "Aihekohtainen tekstikuvaus"}
:label {:fi "Kuurot ja kuulovammaiset"}}}
:visually-impaired
{:value "visually-impaired"
:field
{:type "textarea"
:description {:fi "Aihekohtainen tekstikuvaus"}
:label {:fi "Näkövammaiset"}}}
:developmentally-disabled
{:value "developmentally-disabled"
:field
{:type "textarea"
:description {:fi "Aihekohtainen tekstikuvaus"}
:label {:fi "Kehitysvammaiset"}}}}}}})})

(def fishing-schema
(mu/merge
Expand Down
61 changes: 51 additions & 10 deletions webapp/src/cljs/lipas/ui/sports_sites/activities/views.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
:images
:videos
:arrival
:accessibility-classification
:accessibility
:rules
:parking
Expand All @@ -70,6 +71,34 @@
[[k _]]
(get sort-order k -1))

(defn checkboxes
[{:keys [read-only? items label helper-text label-fn value-fn
on-change value]}]
(let [vs (set value)]
[mui/grid {:container true :spacing 2}

;; Label
[mui/grid {:item true :xs 12}
[form-label {:label label}]]

;; Helper text
[mui/grid {:item true :xs 12 :style {:margin-top "-0.5em"}}
[mui/form-helper-text helper-text]]

;; Chekboxes
(into [:<>]
(for [item items]
[mui/grid {:item true :xs 12}
(let [[k _] item]
[lui/checkbox
{:label (label-fn item)
:value (contains? vs k)
:disabled read-only?
:on-change (fn [_]
(if (contains? vs k)
(on-change (disj vs k))
(on-change (conj vs k))))}])]))]))

(defn contact-dialog
[{:keys [tr locale dialog-state on-save on-close contact-props]}]
[lui/dialog
Expand Down Expand Up @@ -712,16 +741,18 @@
:on-change #(set-field prop-k %)
:value (get-in edit-data [prop-k])}]

"multi-select" [lui/autocomplete
{:disabled read-only?
:multi? true
:items (:opts field)
:label (get-in field [:label locale])
:helper-text (get-in field [:description locale])
:label-fn (comp locale second)
:value-fn first
:on-change #(set-field prop-k %)
:value (get-in edit-data [prop-k])}]
"multi-select" [:<>
[lui/autocomplete
{:disabled read-only?
:multi? true
:items (:opts field)
:label (get-in field [:label locale])
#_#_:helper-text (get-in field [:description locale])
:label-fn (comp locale second)
:value-fn first
:on-change #(set-field prop-k %)
:value (get-in edit-data [prop-k])}]
[mui/form-helper-text (get-in field [:description locale])]]

"text-field" [lui/text-field
{:disabled read-only?
Expand Down Expand Up @@ -753,6 +784,16 @@
:fullWidth true
:value (get-in edit-data [prop-k locale])}]

"checkboxes" [checkboxes
{:read-only? read-only?
:items (:opts field)
:label (get-in field [:label locale])
:helper-text (get-in field [:description locale])
:label-fn (comp locale second)
:value-fn first
:on-change #(set-field prop-k %)
:value (get-in edit-data [prop-k])}]

"videos" [videos
{:read-only? read-only?
:locale locale
Expand Down

0 comments on commit df26370

Please sign in to comment.