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..78fcdf7 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,88 @@ [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] + (.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") + (prn event) + (prn (.-api event)) + (.log js/console event) - (.postMessage js/window.parent #js {:api "fromWidget", + (prn (.api event)) + (when (= (.-api event) "toWidget") + (prn (str "msg type " (.-type event))) + (prn (str "msg type " (.-action event))) + (case (.-action event) + "m.room.message" (prn "type msg") + "m.room.member" (prn "type member") + "capabilities" + (do + (swap! widget assoc :widget-id ) + (.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))) + + (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 +100,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))