|  |  |  | @ -1,5 +1,7 @@ | 
		
	
		
			
				|  |  |  |  | (ns wanijo.instance.view | 
		
	
		
			
				|  |  |  |  |   (:require [hiccup.form :as hform] | 
		
	
		
			
				|  |  |  |  |   (:require [hiccup | 
		
	
		
			
				|  |  |  |  |              [form :as hform] | 
		
	
		
			
				|  |  |  |  |              [core :refer [h]]] | 
		
	
		
			
				|  |  |  |  |             [ring.util.anti-forgery :refer [anti-forgery-field]] | 
		
	
		
			
				|  |  |  |  |             [formulare.core :as form] | 
		
	
		
			
				|  |  |  |  |             [wanijo.instance.domain :as domain] | 
		
	
	
		
			
				
					|  |  |  | @ -12,7 +14,7 @@ | 
		
	
		
			
				|  |  |  |  |    :request req | 
		
	
		
			
				|  |  |  |  |    :content | 
		
	
		
			
				|  |  |  |  |    [[:h1 "All Instances of schema " | 
		
	
		
			
				|  |  |  |  |      [:span.schema-title__name (:name schema)]] | 
		
	
		
			
				|  |  |  |  |      [:span.schema-title__name (h (:name schema))]] | 
		
	
		
			
				|  |  |  |  |     [:table | 
		
	
		
			
				|  |  |  |  |      [:thead | 
		
	
		
			
				|  |  |  |  |       [:tr | 
		
	
	
		
			
				
					|  |  |  | @ -24,7 +26,7 @@ | 
		
	
		
			
				|  |  |  |  |         [:tr | 
		
	
		
			
				|  |  |  |  |          [:td | 
		
	
		
			
				|  |  |  |  |           [:a {:href (path :instance-show instance)} | 
		
	
		
			
				|  |  |  |  |            (:name instance)]] | 
		
	
		
			
				|  |  |  |  |            (h (:name instance))]] | 
		
	
		
			
				|  |  |  |  |          [:td (prettify-dt (:updated_at instance))] | 
		
	
		
			
				|  |  |  |  |          [:td (prettify-dt (:created_at instance))]])]] | 
		
	
		
			
				|  |  |  |  |     [:h1 "New Instance"] | 
		
	
	
		
			
				
					|  |  |  | @ -34,11 +36,32 @@ | 
		
	
		
			
				|  |  |  |  |                                        (:uuid schema)) | 
		
	
		
			
				|  |  |  |  |                    (hform/submit-button "Create!"))])) | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | (defn show! [instance form form-data req] | 
		
	
		
			
				|  |  |  |  | (defn show! [instance attrs req] | 
		
	
		
			
				|  |  |  |  |   (view/layout! | 
		
	
		
			
				|  |  |  |  |    :request req | 
		
	
		
			
				|  |  |  |  |    :content | 
		
	
		
			
				|  |  |  |  |    [[:h1 (:name instance)] | 
		
	
		
			
				|  |  |  |  |    [[:h1 | 
		
	
		
			
				|  |  |  |  |      (h (-> instance :schema :name)) | 
		
	
		
			
				|  |  |  |  |      " " | 
		
	
		
			
				|  |  |  |  |      [:small (h (:name instance))]] | 
		
	
		
			
				|  |  |  |  |     [:p | 
		
	
		
			
				|  |  |  |  |      [:small [:a {:href (path :instance-edit-form instance)} | 
		
	
		
			
				|  |  |  |  |               "Edit Instance"]]] | 
		
	
		
			
				|  |  |  |  |     (for [attr attrs | 
		
	
		
			
				|  |  |  |  |           :let [auuid (:uuid attr) | 
		
	
		
			
				|  |  |  |  |                 prop (first (filter #(= auuid (-> % :attribute :uuid)) | 
		
	
		
			
				|  |  |  |  |                                     (:properties instance)))]] | 
		
	
		
			
				|  |  |  |  |       (list [:em (h (:name attr))] | 
		
	
		
			
				|  |  |  |  |             [:p (h (:value prop))]))])) | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | (defn edit! [instance form form-data req] | 
		
	
		
			
				|  |  |  |  |   (view/layout! | 
		
	
		
			
				|  |  |  |  |    :request req | 
		
	
		
			
				|  |  |  |  |    :content | 
		
	
		
			
				|  |  |  |  |    [[:h1 | 
		
	
		
			
				|  |  |  |  |      (h (-> instance :schema :name)) | 
		
	
		
			
				|  |  |  |  |      " " | 
		
	
		
			
				|  |  |  |  |      [:small (h (:name instance))]] | 
		
	
		
			
				|  |  |  |  |     (hform/form-to [:post (path :instance-edit instance)] | 
		
	
		
			
				|  |  |  |  |                    (form/render-widgets form form-data req) | 
		
	
		
			
				|  |  |  |  |                    (hform/submit-button "Edit!")) | 
		
	
	
		
			
				
					|  |  |  | 
 |