utils.cljs 547 B

1234567891011121314151617181920212223
  1. (ns microtables-frontend.utils)
  2. (defn highest [dir data] (apply max (map dir data)))
  3. (defn increment-letter-code [s]
  4. (let [l (last s)]
  5. (cond
  6. (empty? s) [65]
  7. (= l 90) (conj (increment-letter-code (subvec s 0 (dec (count s)))) 65)
  8. :else (conj (subvec s 0 (dec (count s))) (inc l)))))
  9. (defn next-letter [lc]
  10. (apply str (map char (increment-letter-code (mapv #(.charCodeAt % 0) lc)))))
  11. (def col-letters (iterate next-letter "A"))
  12. (defn get-datum [data c r]
  13. (some #(if (and (= c (:col %)) (= r (:row %))) %) data))