Well, it doesn't work, but it's nearer to working...

This commit is contained in:
simon 2016-03-03 23:32:07 +00:00
parent 59ac8c2690
commit 17145c808e

View file

@ -1,4 +1,5 @@
(ns ^:figwheel-always mw3.core (ns ^:figwheel-always mw3.core
(:use-macros [dommy.template :only [node deftemplate]])
(:require-macros [cljs.core.async.macros :refer [go]]) (:require-macros [cljs.core.async.macros :refer [go]])
(:require (:require
[mw3.rulesets :as rulesets] [mw3.rulesets :as rulesets]
@ -77,16 +78,51 @@
;; Rules page ;; Rules page
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(deftemplate rule-editor
;; "Constructs an editor for this `rule` with this `index`
[rule index]
[:div
{:id (str "rule-editor-" index) :class "rule-editor"}
[:input {:type "text" :id (str "rule-input-" index) :class "rule-input" :value rule}]
[:div {:id (str "rule-controls-" index) :class "rule-controls"}
[:input {:type "button" :id (str "rule-ok-" index) :class "rule-ok" :value "✔"}]
[:input {:type "button" :id (str "rule-up-" index) :class "rule-up" :value "↑"}]
[:input {:type "button" :id (str "rule-down-" index) :class "rule-down" :value "↓"}]
[:input {:type "button" :id (str "rule-cancel-" index) :class "rule-cancel" :value "✘"}]]
[:pre {:id (str "rule-feedback-" index) :class "rule-feedback"}]
])
;; (deftemplate rule-editors
;; ;; Constructs, as a `div`, a set of rule editors for the rules in the ruleset with
;; ;; this `ruleset-name`.
;; [ruleset-name]
;; [:div
;; (vec
;; (map
;; #(rule-editor % %)
;; (rulesets/rulesets ruleset-name)
;; (range)))])
(defn load-ruleset (defn load-ruleset
"Loads the ruleset with the specified `name` into a set of rule editors"
[name] [name]
(let [rules-container (sel1 :#rules-container) (let [rules-container (sel1 :#rules-container)
ruleset (rulesets/rulesets name)] ruleset (rulesets/rulesets name)]
(dommy/clear! rules-container) (dommy/clear! rules-container)
(dommy/set-html! (doseq [rule ruleset index (range (count ruleset))]
rules-container (dommy/append! rules-container (rule-editor rule index)))))
(temp/node
[:ul ;;(rule-editors "settlement")
(map #(vec (list :ul %)) ruleset)]))))
(load-ruleset "settlement")
;; (rulesets/rulesets "ice-age")
(def x (sel1 :#rules-container))
(dommy/append! x (rule-editor "if state is new then state should be grass" 1))
@ -109,7 +145,7 @@
(tab-handler nil :#home-tab) (tab-handler nil :#home-tab)
;; set up the rulesets menu with the rulesets we actually have. ;; set up the rulesets menu with the rulesets we actually have.
(rebuild-ruleset-menu) ;; (rebuild-ruleset-menu)
;; put the default ruleset into the rulesets pages ;; put the default ruleset into the rulesets pages
(dommy/set-text! (sel1 :#rules-src) (rulesets/ruleset-as-single-string "ice-age")) ;; (dommy/set-text! (sel1 :#rules-src) (rulesets/ruleset-as-single-string "ice-age"))