Skip to content

Commit c7c2169

Browse files
authored
Add page visibility state functionality (#79)
* Add document visibility state * Add `purs-tidy` * Use `EffectFn`s for `HTMLDocument` FFI * Update CHANGELOG.md * Fix `print` for `VisibilityState`
1 parent 7befd15 commit c7c2169

36 files changed

+120
-83
lines changed

.tidyrc.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"importSort": "ide",
3+
"importWrap": "source",
4+
"indent": 2,
5+
"operatorsFile": null,
6+
"ribbon": 1,
7+
"typeArrowPlacement": "first",
8+
"unicode": "never",
9+
"width": null
10+
}

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@ Breaking changes:
88

99
New features:
1010
- Added `close` function for `Window` (#78 by @jmp-0x7C0)
11+
- Added `visibilityState` for `HTMLDocument` (#79 by @garyb)
1112

1213
Bugfixes:
1314

1415
Other improvements:
16+
- Added `purs-tidy` config and format checking (#79 by @garyb)
17+
- `HTMLDocument`'s FFI is now implemented in terms of `EffectFn` (#79 by @garyb)
1518

1619
## [v4.0.0](https://github.com/purescript-web/purescript-web-html/releases/tag/v4.0.0) - 2022-04-27
1720

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
"private": true,
33
"scripts": {
44
"clean": "rimraf output && rimraf .pulp-cache",
5-
"build": "eslint src && pulp build -- --censor-lib --strict"
5+
"build": "eslint src && purs-tidy check --config-require src && pulp build -- --censor-lib --strict"
66
},
77
"devDependencies": {
88
"eslint": "^7.15.0",
99
"pulp": "16.0.0-0",
1010
"purescript-psa": "^0.8.2",
11+
"purs-tidy": "^0.9.2",
1112
"rimraf": "^3.0.2"
1213
}
1314
}

src/Web/HTML.purs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,42 @@ module Web.HTML
44
) where
55

66
import Effect (Effect)
7-
import Web.HTML.Window (Window)
8-
import Web.HTML.Common (PropName, AttrName, ClassName) as Exports
9-
import Web.HTML.History (History) as Exports
7+
import Web.HTML.Common (AttrName, ClassName, PropName) as Exports
108
import Web.HTML.HTMLAnchorElement (HTMLAnchorElement) as Exports
119
import Web.HTML.HTMLAreaElement (HTMLAreaElement) as Exports
1210
import Web.HTML.HTMLAudioElement (HTMLAudioElement) as Exports
11+
import Web.HTML.HTMLBRElement (HTMLBRElement) as Exports
1312
import Web.HTML.HTMLBaseElement (HTMLBaseElement) as Exports
1413
import Web.HTML.HTMLBodyElement (HTMLBodyElement) as Exports
15-
import Web.HTML.HTMLBRElement (HTMLBRElement) as Exports
1614
import Web.HTML.HTMLButtonElement (HTMLButtonElement) as Exports
1715
import Web.HTML.HTMLCanvasElement (HTMLCanvasElement) as Exports
16+
import Web.HTML.HTMLDListElement (HTMLDListElement) as Exports
1817
import Web.HTML.HTMLDataElement (HTMLDataElement) as Exports
1918
import Web.HTML.HTMLDataListElement (HTMLDataListElement) as Exports
2019
import Web.HTML.HTMLDivElement (HTMLDivElement) as Exports
21-
import Web.HTML.HTMLDListElement (HTMLDListElement) as Exports
2220
import Web.HTML.HTMLDocument (HTMLDocument) as Exports
2321
import Web.HTML.HTMLElement (HTMLElement) as Exports
2422
import Web.HTML.HTMLEmbedElement (HTMLEmbedElement) as Exports
2523
import Web.HTML.HTMLFieldSetElement (HTMLFieldSetElement) as Exports
2624
import Web.HTML.HTMLFormElement (HTMLFormElement) as Exports
25+
import Web.HTML.HTMLHRElement (HTMLHRElement) as Exports
2726
import Web.HTML.HTMLHeadElement (HTMLHeadElement) as Exports
2827
import Web.HTML.HTMLHeadingElement (HTMLHeadingElement) as Exports
29-
import Web.HTML.HTMLHRElement (HTMLHRElement) as Exports
3028
import Web.HTML.HTMLIFrameElement (HTMLIFrameElement) as Exports
3129
import Web.HTML.HTMLImageElement (HTMLImageElement) as Exports
3230
import Web.HTML.HTMLInputElement (HTMLInputElement) as Exports
3331
import Web.HTML.HTMLKeygenElement (HTMLKeygenElement) as Exports
32+
import Web.HTML.HTMLLIElement (HTMLLIElement) as Exports
3433
import Web.HTML.HTMLLabelElement (HTMLLabelElement) as Exports
3534
import Web.HTML.HTMLLegendElement (HTMLLegendElement) as Exports
36-
import Web.HTML.HTMLLIElement (HTMLLIElement) as Exports
3735
import Web.HTML.HTMLLinkElement (HTMLLinkElement) as Exports
3836
import Web.HTML.HTMLMapElement (HTMLMapElement) as Exports
3937
import Web.HTML.HTMLMediaElement (HTMLMediaElement) as Exports
4038
import Web.HTML.HTMLMetaElement (HTMLMetaElement) as Exports
4139
import Web.HTML.HTMLMeterElement (HTMLMeterElement) as Exports
4240
import Web.HTML.HTMLModElement (HTMLModElement) as Exports
43-
import Web.HTML.HTMLObjectElement (HTMLObjectElement) as Exports
4441
import Web.HTML.HTMLOListElement (HTMLOListElement) as Exports
42+
import Web.HTML.HTMLObjectElement (HTMLObjectElement) as Exports
4543
import Web.HTML.HTMLOptGroupElement (HTMLOptGroupElement) as Exports
4644
import Web.HTML.HTMLOptionElement (HTMLOptionElement) as Exports
4745
import Web.HTML.HTMLOutputElement (HTMLOutputElement) as Exports
@@ -70,8 +68,10 @@ import Web.HTML.HTMLTitleElement (HTMLTitleElement) as Exports
7068
import Web.HTML.HTMLTrackElement (HTMLTrackElement) as Exports
7169
import Web.HTML.HTMLUListElement (HTMLUListElement) as Exports
7270
import Web.HTML.HTMLVideoElement (HTMLVideoElement) as Exports
71+
import Web.HTML.History (History) as Exports
7372
import Web.HTML.Location (Location) as Exports
7473
import Web.HTML.Navigator (Navigator) as Exports
74+
import Web.HTML.Window (Window)
7575
import Web.HTML.Window (Window) as Exports
7676

7777
foreign import window :: Effect Window

src/Web/HTML/Event/DataTransfer.purs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ foreign import _setDragImage :: DataTransfer -> Element -> Int -> Int -> Effect
7272
-- | The x and y coordinates define where the image appears relative to the mouse.
7373
setDragImage :: DataTransfer -> Element -> Int -> Int -> Effect Unit
7474
setDragImage = _setDragImage
75+
7576
foreign import _dropEffect :: DataTransfer -> Effect String
7677

7778
data DropEffect = Copy | Link | Move | None

src/Web/HTML/HTMLAnchorElement.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import Web.DOM (ChildNode, Element, Node, NonDocumentTypeChildNode, ParentNode)
88
import Web.DOM.DOMTokenList (DOMTokenList)
99
import Web.Event.EventTarget (EventTarget)
1010
import Web.HTML.HTMLElement (HTMLElement)
11-
import Web.Internal.FFI (unsafeReadProtoTagged)
1211
import Web.HTML.HTMLHyperlinkElementUtils (HTMLHyperlinkElementUtils)
12+
import Web.Internal.FFI (unsafeReadProtoTagged)
1313

1414
foreign import data HTMLAnchorElement :: Type
1515

src/Web/HTML/HTMLBaseElement.purs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ toParentNode = unsafeCoerce
5353
toEventTarget :: HTMLBaseElement -> EventTarget
5454
toEventTarget = unsafeCoerce
5555

56-
5756
foreign import href :: HTMLBaseElement -> Effect String
5857
foreign import setHref :: String -> HTMLBaseElement -> Effect Unit
5958

src/Web/HTML/HTMLCanvasElement.purs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ toParentNode = unsafeCoerce
5353
toEventTarget :: HTMLCanvasElement -> EventTarget
5454
toEventTarget = unsafeCoerce
5555

56-
5756
-- typedef (CanvasRenderingContext2D or WebGLRenderingContext) RenderingContext;
5857

5958
foreign import width :: HTMLCanvasElement -> Effect Int

src/Web/HTML/HTMLDataElement.purs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,5 @@ toParentNode = unsafeCoerce
5353
toEventTarget :: HTMLDataElement -> EventTarget
5454
toEventTarget = unsafeCoerce
5555

56-
5756
foreign import value :: HTMLDataElement -> Effect String
5857
foreign import setValue :: String -> HTMLDataElement -> Effect Unit

src/Web/HTML/HTMLDataListElement.purs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,4 @@ toParentNode = unsafeCoerce
5353
toEventTarget :: HTMLDataListElement -> EventTarget
5454
toEventTarget = unsafeCoerce
5555

56-
5756
foreign import options :: HTMLDataListElement -> Effect HTMLCollection

0 commit comments

Comments
 (0)