diff --git a/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs b/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs index 1a9f057..96518e5 100644 --- a/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs +++ b/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs @@ -11,26 +11,89 @@ [reagent.core :as r])) -#_m.capability.screenshot +;;/addwidget https://blog-test.digitaloctave.com/chess?widgetId=dochess +(def widget (atom {})) + +(defn send-to-parent + ([action] + (prn (str "sending " action)) + (.postMessage + js/window.parent + #js {:api "fromWidget", + :v "1.0" + :action action}, "*")) + ([action data] + (prn (str "sending " action)) + (.postMessage + js/window.parent + #js {:api "fromWidget", + :v "1.0" + :action action + :data data}, "*"))) + (defn site-startup [] (prn "site start up") -(.addEventListener js/window "message" + (.addEventListener js/window "message" (fn [event] (prn "message from element ") - (prn (.-origin event)) - (prn (.-data event)))) - (prn "send ready message") - (.postMessage js/window.parent #js {:api "fromWidget", - :v "1.0" - :msgtype "ready" - #_#_:action "supported_api_versions"}, "*") - (prn "send capability message") + (.log js/console event) + (.log js/console (.-data event)) + (prn (.-action (.-data event))) + (prn (.-api (.-data event))) + (prn (.api (.-data event))) + (when (= (.-api (.-data event)) "toWidget") + (prn (str "msg type " (.-type (.-data event)))) + (prn (str "msg type " (-> event .-data .-action ))) + (case (.-action event) + "m.room.message" (prn "type msg") + "m.room.member" (prn "type member") + "capabilities" + (do + (swap! widget assoc :widget-id (-> event .-data .-widgetId )) + (.postMessage + js/window.parent + #js {:api "fromWidget", + :v "1.0" + :action "capabilities" + :capabilities #js ["m.text" "m.image"] + #_#_:action "supported_api_versions"}, "*") + (prn "type capa")) + "notify_capabilities" + (do + (.postMessage + js/window.parent + #js {:api "fromWidget", + :v "1.0" + :action "capabilities" + :capabilities #js ["m.text" "m.image"] + #_#_:action "supported_api_versions"}, "*") + (prn "type capa")) + (prn (.-type event))) - (.postMessage js/window.parent #js {:api "fromWidget", + (prn (.-origin event)) + (prn (.-data event))))) + + (prn "send ready message") + + (send-to-parent "ready") + #_(.postMessage js/window.parent #js {:api "fromWidget", :v "1.0" - :msgtype "capabilities" - :capabilities #js ["m.room.send_message" "m.room.get_state"] + :action "ready" + #_#_:action "supported_api_versions"}, "*") + + (prn "send content loaded message") + + #_(.postMessage js/window.parent #js {:api "fromWidget", + :v "1.0" + :action "content_loaded" + #_#_:action "supported_api_versions"}, "*") + #_(prn "send capability message") + + #_(.postMessage js/window.parent #js {:api "fromWidget", + :v "1.0" + :action "capabilities" + :capabilities #js [] #_#_:action "supported_api_versions"}, "*") ) @@ -38,14 +101,15 @@ #_(def game-state-viking (r/atom {:board viking-start-state})) (defn setup [] (prn "register listener") - - (set! (.-onload js/window) site-startup) - - (.addEventListener js/window "message" + (.addEventListener js/window "load" (fn [event] - (prn "message from element ") - (prn (.-origin event)) - (prn (.-data event))))) + (prn "on load") + (prn (.-location js/window)) + (prn (-> js/window .-location .-hash)) + + (site-startup) + )) + ) (defonce test-event (setup)) @@ -204,6 +268,7 @@ [:div (let [[pos piece] (get-selected-square)] [:div + [:div (str @widget)] [:div (if (-> @game-state :player-one :selected) "Whites turn" "Black turn")]