From c2260ee7f67913dd860c8bbdd26ff3868428dc1b Mon Sep 17 00:00:00 2001 From: Becky Conning Date: Tue, 8 Dec 2015 14:51:51 +0000 Subject: [PATCH] Added navigator and platform --- docs/DOM/Event/Event.md | 6 +- docs/DOM/Event/EventPhase.md | 10 ++-- docs/DOM/Event/Types.md | 104 +++++++++++++++++------------------ docs/DOM/HTML/Types.md | 10 +++- docs/DOM/HTML/Window.md | 6 ++ docs/DOM/Node/NodeType.md | 10 ++-- src/DOM/HTML/Types.purs | 3 + src/DOM/HTML/Window.js | 6 ++ src/DOM/HTML/Window.purs | 2 + 9 files changed, 90 insertions(+), 67 deletions(-) diff --git a/docs/DOM/Event/Event.md b/docs/DOM/Event/Event.md index 8140b42..1be705c 100644 --- a/docs/DOM/Event/Event.md +++ b/docs/DOM/Event/Event.md @@ -44,7 +44,7 @@ The integer value for the current event phase. #### `stopPropagation` ``` purescript -stopPropagation :: Event -> Eff (dom :: DOM) Unit +stopPropagation :: forall eff. Event -> Eff (dom :: DOM | eff) Unit ``` Prevents the event from bubbling up to futher event listeners. Other event @@ -53,7 +53,7 @@ listeners on the current target will still fire. #### `stopImmediatePropagation` ``` purescript -stopImmediatePropagation :: Event -> Eff (dom :: DOM) Unit +stopImmediatePropagation :: forall eff. Event -> Eff (dom :: DOM | eff) Unit ``` Prevents all other listeners for the event from being called. This includes @@ -78,7 +78,7 @@ Indicates whether the event can be cancelled. #### `preventDefault` ``` purescript -preventDefault :: Event -> Eff (dom :: DOM) Unit +preventDefault :: forall eff. Event -> Eff (dom :: DOM | eff) Unit ``` Cancels the event if it can be cancelled. diff --git a/docs/DOM/Event/EventPhase.md b/docs/DOM/Event/EventPhase.md index 1d0432b..9af6878 100644 --- a/docs/DOM/Event/EventPhase.md +++ b/docs/DOM/Event/EventPhase.md @@ -12,11 +12,11 @@ data EventPhase ##### Instances ``` purescript -instance eqEventPhase :: Eq EventPhase -instance ordEventPhase :: Ord EventPhase -instance boundedEventPhase :: Bounded EventPhase -instance boundedOrdEventPhase :: BoundedOrd EventPhase -instance enumEventPhase :: Enum EventPhase +Eq EventPhase +Ord EventPhase +Bounded EventPhase +BoundedOrd EventPhase +Enum EventPhase ``` diff --git a/docs/DOM/Event/Types.md b/docs/DOM/Event/Types.md index 254fd6a..c04ced3 100644 --- a/docs/DOM/Event/Types.md +++ b/docs/DOM/Event/Types.md @@ -19,8 +19,8 @@ The type of strings used for event types. ##### Instances ``` purescript -instance eqEventType :: Eq EventType -instance ordEventType :: Ord EventType +Eq EventType +Ord EventType ``` #### `EventTarget` @@ -33,7 +33,7 @@ A DOM item that can emit events. ##### Instances ``` purescript -instance isForeignEventTarget :: IsForeign EventTarget +IsForeign EventTarget ``` #### `readEventTarget` @@ -50,7 +50,7 @@ data AnimationEvent :: * ##### Instances ``` purescript -instance isForeignAnimationEvent :: IsForeign AnimationEvent +IsForeign AnimationEvent ``` #### `animationEventToEvent` @@ -73,7 +73,7 @@ data AudioProcessingEvent :: * ##### Instances ``` purescript -instance isForeignAudioProcessingEvent :: IsForeign AudioProcessingEvent +IsForeign AudioProcessingEvent ``` #### `audioProcessingEventToEvent` @@ -96,7 +96,7 @@ data BeforeInputEvent :: * ##### Instances ``` purescript -instance isForeignBeforeInputEvent :: IsForeign BeforeInputEvent +IsForeign BeforeInputEvent ``` #### `beforeInputEventToEvent` @@ -119,7 +119,7 @@ data BeforeUnloadEvent :: * ##### Instances ``` purescript -instance isForeignBeforeUnloadEvent :: IsForeign BeforeUnloadEvent +IsForeign BeforeUnloadEvent ``` #### `beforeUnloadEventToEvent` @@ -142,7 +142,7 @@ data BlobEvent :: * ##### Instances ``` purescript -instance isForeignBlobEvent :: IsForeign BlobEvent +IsForeign BlobEvent ``` #### `blobEventToEvent` @@ -165,7 +165,7 @@ data ClipboardEvent :: * ##### Instances ``` purescript -instance isForeignClipboardEvent :: IsForeign ClipboardEvent +IsForeign ClipboardEvent ``` #### `clipboardEventToEvent` @@ -188,7 +188,7 @@ data CloseEvent :: * ##### Instances ``` purescript -instance isForeignCloseEvent :: IsForeign CloseEvent +IsForeign CloseEvent ``` #### `closeEventToEvent` @@ -211,7 +211,7 @@ data CompositionEvent :: * ##### Instances ``` purescript -instance isForeignCompositionEvent :: IsForeign CompositionEvent +IsForeign CompositionEvent ``` #### `compositionEventToEvent` @@ -234,7 +234,7 @@ data CSSFontFaceLoadEvent :: * ##### Instances ``` purescript -instance isForeignCSSFontFaceLoadEvent :: IsForeign CSSFontFaceLoadEvent +IsForeign CSSFontFaceLoadEvent ``` #### `cssFontFaceLoadEventToEvent` @@ -257,7 +257,7 @@ data CustomEvent :: * ##### Instances ``` purescript -instance isForeignCustomEvent :: IsForeign CustomEvent +IsForeign CustomEvent ``` #### `customEventToEvent` @@ -280,7 +280,7 @@ data DeviceLightEvent :: * ##### Instances ``` purescript -instance isForeignDeviceLightEvent :: IsForeign DeviceLightEvent +IsForeign DeviceLightEvent ``` #### `deviceLightEventToEvent` @@ -303,7 +303,7 @@ data DeviceMotionEvent :: * ##### Instances ``` purescript -instance isForeignDeviceMotionEvent :: IsForeign DeviceMotionEvent +IsForeign DeviceMotionEvent ``` #### `deviceMotionEventToEvent` @@ -326,7 +326,7 @@ data DeviceOrientationEvent :: * ##### Instances ``` purescript -instance isForeignDeviceOrientationEvent :: IsForeign DeviceOrientationEvent +IsForeign DeviceOrientationEvent ``` #### `deviceOrientationEventToEvent` @@ -349,7 +349,7 @@ data DeviceProximityEvent :: * ##### Instances ``` purescript -instance isForeignDeviceProximityEvent :: IsForeign DeviceProximityEvent +IsForeign DeviceProximityEvent ``` #### `deviceProximityEventToEvent` @@ -372,7 +372,7 @@ data DOMTransactionEvent :: * ##### Instances ``` purescript -instance isForeignDOMTransactionEvent :: IsForeign DOMTransactionEvent +IsForeign DOMTransactionEvent ``` #### `domTransactionEventToEvent` @@ -395,7 +395,7 @@ data DragEvent :: * ##### Instances ``` purescript -instance isForeignDragEvent :: IsForeign DragEvent +IsForeign DragEvent ``` #### `dragEventToEvent` @@ -418,7 +418,7 @@ data EditingBeforeInputEvent :: * ##### Instances ``` purescript -instance isForeignEditingBeforeInputEvent :: IsForeign EditingBeforeInputEvent +IsForeign EditingBeforeInputEvent ``` #### `editingBeforeInputEventToEvent` @@ -441,7 +441,7 @@ data ErrorEvent :: * ##### Instances ``` purescript -instance isForeignErrorEvent :: IsForeign ErrorEvent +IsForeign ErrorEvent ``` #### `errorEventToEvent` @@ -464,7 +464,7 @@ data FetchEvent :: * ##### Instances ``` purescript -instance isForeignFetchEvent :: IsForeign FetchEvent +IsForeign FetchEvent ``` #### `fetchEventToEvent` @@ -487,7 +487,7 @@ data FocusEvent :: * ##### Instances ``` purescript -instance isForeignFocusEvent :: IsForeign FocusEvent +IsForeign FocusEvent ``` #### `focusEventToEvent` @@ -510,7 +510,7 @@ data GamepadEvent :: * ##### Instances ``` purescript -instance isForeignGamepadEvent :: IsForeign GamepadEvent +IsForeign GamepadEvent ``` #### `gamepadEventToEvent` @@ -533,7 +533,7 @@ data HashChangeEvent :: * ##### Instances ``` purescript -instance isForeignHashChangeEvent :: IsForeign HashChangeEvent +IsForeign HashChangeEvent ``` #### `hashChangeEventToEvent` @@ -556,7 +556,7 @@ data IDBVersionChangeEvent :: * ##### Instances ``` purescript -instance isForeignIDBVersionChangeEvent :: IsForeign IDBVersionChangeEvent +IsForeign IDBVersionChangeEvent ``` #### `idbVersionChangeEventToEvent` @@ -579,7 +579,7 @@ data InputEvent :: * ##### Instances ``` purescript -instance isForeignInputEvent :: IsForeign InputEvent +IsForeign InputEvent ``` #### `inputEventToEvent` @@ -602,7 +602,7 @@ data KeyboardEvent :: * ##### Instances ``` purescript -instance isForeignKeyboardEvent :: IsForeign KeyboardEvent +IsForeign KeyboardEvent ``` #### `keyboardEventToEvent` @@ -625,7 +625,7 @@ data MediaStreamEvent :: * ##### Instances ``` purescript -instance isForeignMediaStreamEvent :: IsForeign MediaStreamEvent +IsForeign MediaStreamEvent ``` #### `mediaStreamEventToEvent` @@ -648,7 +648,7 @@ data MessageEvent :: * ##### Instances ``` purescript -instance isForeignMessageEvent :: IsForeign MessageEvent +IsForeign MessageEvent ``` #### `messageEventToEvent` @@ -671,7 +671,7 @@ data MouseEvent :: * ##### Instances ``` purescript -instance isForeignMouseEvent :: IsForeign MouseEvent +IsForeign MouseEvent ``` #### `mouseEventToEvent` @@ -694,7 +694,7 @@ data MutationEvent :: * ##### Instances ``` purescript -instance isForeignMutationEvent :: IsForeign MutationEvent +IsForeign MutationEvent ``` #### `mutationEventToEvent` @@ -717,7 +717,7 @@ data OfflineAudioCompletionEvent :: * ##### Instances ``` purescript -instance isForeignOfflineAudioCompletionEvent :: IsForeign OfflineAudioCompletionEvent +IsForeign OfflineAudioCompletionEvent ``` #### `offlineAudioCompletionEventToEvent` @@ -740,7 +740,7 @@ data PageTransitionEvent :: * ##### Instances ``` purescript -instance isForeignPageTransitionEvent :: IsForeign PageTransitionEvent +IsForeign PageTransitionEvent ``` #### `pageTransitionEventToEvent` @@ -763,7 +763,7 @@ data PointerEvent :: * ##### Instances ``` purescript -instance isForeignPointerEvent :: IsForeign PointerEvent +IsForeign PointerEvent ``` #### `pointerEventToEvent` @@ -786,7 +786,7 @@ data PopStateEvent :: * ##### Instances ``` purescript -instance isForeignPopStateEvent :: IsForeign PopStateEvent +IsForeign PopStateEvent ``` #### `popStateEventToEvent` @@ -809,7 +809,7 @@ data ProgressEvent :: * ##### Instances ``` purescript -instance isForeignProgressEvent :: IsForeign ProgressEvent +IsForeign ProgressEvent ``` #### `progressEventToEvent` @@ -832,7 +832,7 @@ data RelatedEvent :: * ##### Instances ``` purescript -instance isForeignRelatedEvent :: IsForeign RelatedEvent +IsForeign RelatedEvent ``` #### `relatedEventToEvent` @@ -855,7 +855,7 @@ data RTCDataChannelEvent :: * ##### Instances ``` purescript -instance isForeignRTCDataChannelEvent :: IsForeign RTCDataChannelEvent +IsForeign RTCDataChannelEvent ``` #### `rtcDataChannelEventToEvent` @@ -878,7 +878,7 @@ data RTCIdentityErrorEvent :: * ##### Instances ``` purescript -instance isForeignRTCIdentityErrorEvent :: IsForeign RTCIdentityErrorEvent +IsForeign RTCIdentityErrorEvent ``` #### `rtcIdentityErrorEventToEvent` @@ -901,7 +901,7 @@ data RTCIdentityEvent :: * ##### Instances ``` purescript -instance isForeignRTCIdentityEvent :: IsForeign RTCIdentityEvent +IsForeign RTCIdentityEvent ``` #### `rtcIdentityEventToEvent` @@ -924,7 +924,7 @@ data RTCPeerConnectionIceEvent :: * ##### Instances ``` purescript -instance isForeignRTCPeerConnectionIceEvent :: IsForeign RTCPeerConnectionIceEvent +IsForeign RTCPeerConnectionIceEvent ``` #### `rtcPeerConnectionIceEventToEvent` @@ -947,7 +947,7 @@ data SensorEvent :: * ##### Instances ``` purescript -instance isForeignSensorEvent :: IsForeign SensorEvent +IsForeign SensorEvent ``` #### `sensorEventToEvent` @@ -970,7 +970,7 @@ data StorageEvent :: * ##### Instances ``` purescript -instance isForeignStorageEvent :: IsForeign StorageEvent +IsForeign StorageEvent ``` #### `storageEventToEvent` @@ -993,7 +993,7 @@ data SVGEvent :: * ##### Instances ``` purescript -instance isForeignSVGEvent :: IsForeign SVGEvent +IsForeign SVGEvent ``` #### `svgEventToEvent` @@ -1016,7 +1016,7 @@ data SVGZoomEvent :: * ##### Instances ``` purescript -instance isForeignSVGZoomEvent :: IsForeign SVGZoomEvent +IsForeign SVGZoomEvent ``` #### `svgZoomEventToEvent` @@ -1039,7 +1039,7 @@ data TimeEvent :: * ##### Instances ``` purescript -instance isForeignTimeEvent :: IsForeign TimeEvent +IsForeign TimeEvent ``` #### `timeEventToEvent` @@ -1062,7 +1062,7 @@ data TouchEvent :: * ##### Instances ``` purescript -instance isForeignTouchEvent :: IsForeign TouchEvent +IsForeign TouchEvent ``` #### `touchEventToEvent` @@ -1085,7 +1085,7 @@ data TransitionEvent :: * ##### Instances ``` purescript -instance isForeignTransitionEvent :: IsForeign TransitionEvent +IsForeign TransitionEvent ``` #### `transitionEventToEvent` @@ -1108,7 +1108,7 @@ data UIEvent :: * ##### Instances ``` purescript -instance isForeignUIEvent :: IsForeign UIEvent +IsForeign UIEvent ``` #### `uiEventToEvent` @@ -1131,7 +1131,7 @@ data UserProximityEvent :: * ##### Instances ``` purescript -instance isForeignUserProximityEvent :: IsForeign UserProximityEvent +IsForeign UserProximityEvent ``` #### `userProximityEventToEvent` @@ -1154,7 +1154,7 @@ data WheelEvent :: * ##### Instances ``` purescript -instance isForeignWheelEvent :: IsForeign WheelEvent +IsForeign WheelEvent ``` #### `wheelEventToEvent` diff --git a/docs/DOM/HTML/Types.md b/docs/DOM/HTML/Types.md index 1bf3d42..9623075 100644 --- a/docs/DOM/HTML/Types.md +++ b/docs/DOM/HTML/Types.md @@ -20,7 +20,7 @@ data HTMLDocument :: * ##### Instances ``` purescript -instance isForeignHTMLDocument :: IsForeign HTMLDocument +IsForeign HTMLDocument ``` #### `htmlDocumentToDocument` @@ -59,6 +59,12 @@ htmlDocumentToEventTarget :: HTMLDocument -> EventTarget readHTMLDocument :: Foreign -> F HTMLDocument ``` +#### `Navigator` + +``` purescript +data Navigator :: * +``` + #### `HTMLElement` ``` purescript @@ -67,7 +73,7 @@ data HTMLElement :: * ##### Instances ``` purescript -instance isForeignHTMLElement :: IsForeign HTMLElement +IsForeign HTMLElement ``` #### `htmlElementToElement` diff --git a/docs/DOM/HTML/Window.md b/docs/DOM/HTML/Window.md index 6967cc0..890e446 100644 --- a/docs/DOM/HTML/Window.md +++ b/docs/DOM/HTML/Window.md @@ -6,4 +6,10 @@ document :: forall eff. Window -> Eff (dom :: DOM | eff) HTMLDocument ``` +#### `navigator` + +``` purescript +navigator :: forall eff. Window -> Eff (dom :: DOM | eff) Navigator +``` + diff --git a/docs/DOM/Node/NodeType.md b/docs/DOM/Node/NodeType.md index 5cdbf5a..9a9c1d4 100644 --- a/docs/DOM/Node/NodeType.md +++ b/docs/DOM/Node/NodeType.md @@ -20,11 +20,11 @@ data NodeType ##### Instances ``` purescript -instance eqNodeType :: Eq NodeType -instance ordNodeType :: Ord NodeType -instance boundedNodeType :: Bounded NodeType -instance boundedOrdNodeType :: BoundedOrd NodeType -instance enumNodeType :: Enum NodeType +Eq NodeType +Ord NodeType +Bounded NodeType +BoundedOrd NodeType +Enum NodeType ``` diff --git a/src/DOM/HTML/Types.purs b/src/DOM/HTML/Types.purs index f6a089b..d6a7e6b 100644 --- a/src/DOM/HTML/Types.purs +++ b/src/DOM/HTML/Types.purs @@ -9,6 +9,7 @@ module DOM.HTML.Types , htmlDocumentToNode , htmlDocumentToEventTarget , readHTMLDocument + , Navigator() , HTMLElement() , htmlElementToElement , htmlElementToParentNode @@ -57,6 +58,8 @@ readHTMLDocument = unsafeReadTagged "HTMLDocument" instance isForeignHTMLDocument :: IsForeign HTMLDocument where read = readHTMLDocument +foreign import data Navigator :: * + foreign import data HTMLElement :: * htmlElementToElement :: HTMLElement -> Element diff --git a/src/DOM/HTML/Window.js b/src/DOM/HTML/Window.js index 3857ec7..ec4e72c 100644 --- a/src/DOM/HTML/Window.js +++ b/src/DOM/HTML/Window.js @@ -8,3 +8,9 @@ exports.document = function (window) { return window.document; }; }; + +exports.navigator = function (window) { + return function () { + return window.navigator; + }; +}; diff --git a/src/DOM/HTML/Window.purs b/src/DOM/HTML/Window.purs index 1a317d4..b5e2649 100644 --- a/src/DOM/HTML/Window.purs +++ b/src/DOM/HTML/Window.purs @@ -6,3 +6,5 @@ import DOM import DOM.HTML.Types foreign import document :: forall eff. Window -> Eff (dom :: DOM | eff) HTMLDocument + +foreign import navigator :: forall eff. Window -> Eff (dom :: DOM | eff) Navigator