@teipublisher/pb-components 1.31.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,45 @@
1
+ # [1.33.0](https://github.com/eeditiones/tei-publisher-components/compare/v1.32.2...v1.33.0) (2022-01-31)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **pb-timeline:** fix reported range ([fdbbc44](https://github.com/eeditiones/tei-publisher-components/commit/fdbbc445ede8a36631349e43ee6966804e03b819))
7
+ * **pb-timeline:** get timeline to work with facets ([71b3c4d](https://github.com/eeditiones/tei-publisher-components/commit/71b3c4da45c043f269e3114725370973180e2f44))
8
+ * **pb-timeline:** improve display, show current time range ([edc317e](https://github.com/eeditiones/tei-publisher-components/commit/edc317e7e880c2609b1df1f8156eb10d4e7851a1))
9
+ * **pb-timeline:** various fixes to support integration in publisher ([8fb1b7c](https://github.com/eeditiones/tei-publisher-components/commit/8fb1b7c63c3c33dda21b982310372590d0b55202))
10
+
11
+
12
+ ### Features
13
+
14
+ * **pb-timeline:** show additional info in tooltip ([45dd690](https://github.com/eeditiones/tei-publisher-components/commit/45dd6907debc7c67db067eb6558304e3c6475972))
15
+
16
+ ## [1.32.2](https://github.com/eeditiones/tei-publisher-components/compare/v1.32.1...v1.32.2) (2022-01-26)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * **pb-leaflet-map:** when clustering markers, make sure to zoom the map so the marker becomes visible - unless user defined a fixed zoom level ([2e44a9a](https://github.com/eeditiones/tei-publisher-components/commit/2e44a9a872b9c3030aa2776793625ff4dab13617))
22
+
23
+ ## [1.32.1](https://github.com/eeditiones/tei-publisher-components/compare/v1.32.0...v1.32.1) (2022-01-25)
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * **pb-geolocation:** allow a desired zoom level to be passed in via pb-geolocation event ([e0054f8](https://github.com/eeditiones/tei-publisher-components/commit/e0054f89d9f08d1e1b5ee5dd712f0eb354225e1e))
29
+ * **pb-split-list:** allow categories to wrap around if screen is too small ([53fb84d](https://github.com/eeditiones/tei-publisher-components/commit/53fb84dc7087fb85665ec250c0e6c6ec2f343a87))
30
+
31
+ # [1.32.0](https://github.com/eeditiones/tei-publisher-components/compare/v1.31.0...v1.32.0) (2022-01-25)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **pb-split-list:** add items to light DOM instead of shadow DOM, so they can be styled ([6dd2267](https://github.com/eeditiones/tei-publisher-components/commit/6dd22675c898b1a7cf641ee653e21def9c23e818))
37
+
38
+
39
+ ### Features
40
+
41
+ * **pb-leaflet-map:** Support clustering of markers to improve performance of maps with many markers ([4d73e38](https://github.com/eeditiones/tei-publisher-components/commit/4d73e3898fc235d402e28420e18819c5146b1673))
42
+
1
43
  # [1.31.0](https://github.com/eeditiones/tei-publisher-components/compare/v1.30.4...v1.31.0) (2022-01-24)
2
44
 
3
45
 
@@ -0,0 +1,60 @@
1
+ .marker-cluster-small {
2
+ background-color: rgba(181, 226, 140, 0.6);
3
+ }
4
+ .marker-cluster-small div {
5
+ background-color: rgba(110, 204, 57, 0.6);
6
+ }
7
+
8
+ .marker-cluster-medium {
9
+ background-color: rgba(241, 211, 87, 0.6);
10
+ }
11
+ .marker-cluster-medium div {
12
+ background-color: rgba(240, 194, 12, 0.6);
13
+ }
14
+
15
+ .marker-cluster-large {
16
+ background-color: rgba(253, 156, 115, 0.6);
17
+ }
18
+ .marker-cluster-large div {
19
+ background-color: rgba(241, 128, 23, 0.6);
20
+ }
21
+
22
+ /* IE 6-8 fallback colors */
23
+ .leaflet-oldie .marker-cluster-small {
24
+ background-color: rgb(181, 226, 140);
25
+ }
26
+ .leaflet-oldie .marker-cluster-small div {
27
+ background-color: rgb(110, 204, 57);
28
+ }
29
+
30
+ .leaflet-oldie .marker-cluster-medium {
31
+ background-color: rgb(241, 211, 87);
32
+ }
33
+ .leaflet-oldie .marker-cluster-medium div {
34
+ background-color: rgb(240, 194, 12);
35
+ }
36
+
37
+ .leaflet-oldie .marker-cluster-large {
38
+ background-color: rgb(253, 156, 115);
39
+ }
40
+ .leaflet-oldie .marker-cluster-large div {
41
+ background-color: rgb(241, 128, 23);
42
+ }
43
+
44
+ .marker-cluster {
45
+ background-clip: padding-box;
46
+ border-radius: 20px;
47
+ }
48
+ .marker-cluster div {
49
+ width: 30px;
50
+ height: 30px;
51
+ margin-left: 5px;
52
+ margin-top: 5px;
53
+
54
+ text-align: center;
55
+ border-radius: 15px;
56
+ font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
57
+ }
58
+ .marker-cluster span {
59
+ line-height: 30px;
60
+ }
@@ -0,0 +1,14 @@
1
+ .leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
2
+ -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
3
+ -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
4
+ -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
5
+ transition: transform 0.3s ease-out, opacity 0.3s ease-in;
6
+ }
7
+
8
+ .leaflet-cluster-spider-leg {
9
+ /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
10
+ -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
11
+ -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
12
+ -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
13
+ transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
14
+ }
@@ -109,6 +109,9 @@
109
109
  "pb-tabs": {
110
110
  "demo/pb-tabs.html": "Demo"
111
111
  },
112
+ "pb-timeline": {
113
+ "demo/pb-timeline.html": "Demo"
114
+ },
112
115
  "pb-toggle-feature": {
113
116
  "demo/pb-toggle-feature.html": "Server-side with pb-view",
114
117
  "demo/pb-toggle-feature2.html": "Client-side",
@@ -155,4 +158,4 @@
155
158
  "pb-custom-form": {
156
159
  "demo/pb-custom-form.html": "Demo"
157
160
  }
158
- }
161
+ }
@@ -39,7 +39,7 @@
39
39
  </pb-geolocation>
40
40
  </li>
41
41
  </ul>
42
- <pb-leaflet-map id="map" zoom="11">
42
+ <pb-leaflet-map id="map" zoom="11" fit-markers>
43
43
  <pb-map-layer show base label="HikeBike Map" url="https://api.mapbox.com/styles/v1/mapbox/streets-v11/tiles/{z}/{x}/{y}?access_token={accessToken}" max-zoom="19"
44
44
  access-token="pk.eyJ1Ijoid29sZmdhbmdtbSIsImEiOiJjam1kMjVpMnUwNm9wM3JwMzdsNGhhcnZ0In0.v65crewF-dkNsPF3o1Q4uw"
45
45
  attribution='&copy; &lt;a href="https://www.mapbox.com/about/maps/"&gt;Mapbox&lt;/a&gt; &copy &lt;a href="http://www.openstreetmap.org/copyright"&gt;OpenStreetMap&lt;/a&gt; &lt;strong&gt;&lt;a href="https://www.mapbox.com/map-feedback/" target="_blank"&gt;Improve this map&lt;/a&gt;&lt;/strong&gt;'></pb-map-layer>
@@ -52,12 +52,14 @@
52
52
  * Not necessary if the pb-geolocation appear inside a component
53
53
  * which does itself send the `pb-update` event, e.g. `pb-view`.
54
54
  */
55
- document.addEventListener('WebComponentsReady', () => {
56
- document.dispatchEvent(new CustomEvent('pb-update', {
57
- detail: {
58
- root: document.getElementById('locations')
59
- }
60
- }));
55
+ document.addEventListener('WebComponentsReady', () => {
56
+ pbEvents.subscribe('pb-ready', null, function() {
57
+ document.dispatchEvent(new CustomEvent('pb-update', {
58
+ detail: {
59
+ root: document.getElementById('locations')
60
+ }
61
+ }));
62
+ });
61
63
  });
62
64
  </script>
63
65
  </template>
@@ -38,8 +38,8 @@
38
38
  dolore magna aliquyam erat, sed diam voluptua <pb-geolocation event="click" longitude="8.1499728" latitude="47.9011491">Titisee</pb-geolocation>. At vero eos et accusam et justo duo dolores et ea rebum.
39
39
  Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
40
40
  <pb-leaflet-map id="map" zoom="11" toggle>
41
- <pb-map-layer show base label="HikeBike Map" url="https://tiles.wmflabs.org/hikebike/{z}/{x}/{y}.png" max-zoom="19"
42
- attribution='&copy; &lt;a href="https://www.openstreetmap.org/copyright"&gt;OpenStreetMap&lt;/a&gt; contributors'></pb-map-layer>
41
+ <pb-map-layer show base label="OpenTopo Map" url="https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png" max-zoom="19"
42
+ attribution='&copy; &lt;a href="https://www.openstreetmap.org/copyright">OpenStreetMap&lt;/a> contributors'></pb-map-layer>
43
43
  </pb-leaflet-map>
44
44
  </main>
45
45
  </pb-page>
@@ -62,13 +62,11 @@
62
62
  </pb-geolocation>
63
63
  </li>
64
64
  </ul>
65
- <pb-leaflet-map id="map" zoom="14" access-token="pk.eyJ1Ijoid29sZmdhbmdtbSIsImEiOiJjam1kMjVpMnUwNm9wM3JwMzdsNGhhcnZ0In0.v65crewF-dkNsPF3o1Q4uw">
66
- <pb-map-layer show base label="HikeBike Map" url="https://tiles.wmflabs.org/hikebike/{z}/{x}/{y}.png" max-zoom="19"
67
- attribution='&copy; &lt;a href="https://www.openstreetmap.org/copyright"&gt;OpenStreetMap&lt;/a&gt; contributors'></pb-map-layer>
65
+ <pb-leaflet-map id="map" zoom="14" fit-markers>
66
+ <pb-map-layer show base label="OpenTopo Map" url="https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png" max-zoom="19"
67
+ attribution='Map data: &copy; &lt;a href="https://www.openstreetmap.org/copyright">OpenStreetMap&lt;/a> contributors, &lt;a href="http://viewfinderpanoramas.org">SRTM&lt;/a> | Map style: &copy; &lt;a href="https://opentopomap.org">OpenTopoMap&lt;/a> (&lt;a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA&lt;/a>)'></pb-map-layer>
68
68
  <pb-map-layer base label="ESRI World Imagery" url="https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"
69
69
  attribution='Tiles &copy; Esri &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'></pb-map-layer>
70
- <pb-map-layer show label="Hillshading" url="https://tiles.wmflabs.org/hillshading/{z}/{x}/{y}.png" max-zoom="15"
71
- attribution='&copy; &lt;a href="https://www.openstreetmap.org/copyright"&gt;OpenStreetMap&lt;/a&gt; contributors'></pb-map-layer>
72
70
  <pb-map-layer show label="Ski Slopes" url="https://tile.waymarkedtrails.org/slopes/{z}/{x}/{y}.png"
73
71
  attribution='Map data: &copy; &lt;a href="https://www.openstreetmap.org/copyright">OpenStreetMap&lt;/a> contributors | Map style: &copy; &lt;a href="https://waymarkedtrails.org">waymarkedtrails.org</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA&lt;/a>)'
74
72
  max-zoom="18"></pb-map-layer>
@@ -0,0 +1,122 @@
1
+ <html>
2
+ <head>
3
+ <meta charset="utf-8"/>
4
+ <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes"/>
5
+
6
+ <title>pb-timeline Demo</title>
7
+ <link rel="stylesheet" href="demo.css">
8
+ <script src="https://unpkg.com/@webcomponents/webcomponentsjs@2.4.3/webcomponents-loader.js"></script><script type="module" src="../pb-components-bundle.js"></script>
9
+
10
+ <style>
11
+ main{
12
+ padding: 50px;
13
+
14
+ }
15
+ pb-timeline{
16
+ padding: 2rem 0;
17
+ }
18
+ #start, #end, #scope{
19
+ display: block;
20
+ margin-bottom: 1rem;
21
+ }
22
+ .wraptl{
23
+ max-width: 60vw;
24
+ overflow-y:hidden;
25
+ overflow-x:auto;
26
+ }
27
+ </style>
28
+ </head>
29
+
30
+ <body>
31
+ <main>
32
+ <h1>Timeline Demo</h1>
33
+ <!--
34
+ <pb-demo-snippet>
35
+ <template>
36
+ -->
37
+
38
+ <label for="start">Start Date</label>
39
+ <input id="start" type="date" value="1891-05-18">
40
+ <label for="end">End Date</label>
41
+ <input id="end" type="date" value="1978-01-01">
42
+
43
+
44
+ <label for="scope">Scope</label>
45
+ <select id="scope">
46
+ <option value="D">Day</option>
47
+ <option value="W">Week</option>
48
+ <option value="M">Month</option>
49
+ <option value="Y" selected="selected">Year</option>
50
+ <option value="5Y">5 Years</option>
51
+ <option value="10Y">10 Years</option>
52
+ </select>
53
+
54
+
55
+ <div class="wraptl">
56
+ <pb-timeline scope="Y" auto
57
+ start-date="1891-05-18"
58
+ end-date="1978-01-01"
59
+ url="./timeline-dev-data.json"
60
+ resettable></pb-timeline>
61
+ </div>
62
+
63
+ <!-- <textarea id="logs"></textarea>-->
64
+ <!--
65
+
66
+ </template>
67
+ </pb-demo-snippet>
68
+ -->
69
+
70
+ </main>
71
+ </body>
72
+
73
+
74
+ <script type="module">
75
+ // import { jsonDataDev } from './timeline-dev-data.js';
76
+ import {SearchResultService} from "../src/search-result-service.js";
77
+
78
+ /*
79
+ const jsonData = jsonDataDev;
80
+
81
+ const dispatchPbTimelineDataLoadedEvent = (jsonData) => {
82
+ document.dispatchEvent(new CustomEvent('pb-timeline-data-loaded', {
83
+ bubbles: true,
84
+ detail: {
85
+ jsonData: jsonData,
86
+ }
87
+ }));
88
+ }
89
+ */
90
+
91
+ document.addEventListener("DOMContentLoaded", () => {
92
+ // initDevControls();
93
+
94
+ const startInput = document.getElementById('start');
95
+ startInput.addEventListener('input', (e)=>{
96
+ const val = e.target.value;
97
+ const tl = document.querySelector('pb-timeline').startDate = val;
98
+ });
99
+
100
+ const endInput = document.getElementById('end');
101
+ endInput.addEventListener('input', (e)=>{
102
+ const val = e.target.value;
103
+ const tl = document.querySelector('pb-timeline').endDate = val;
104
+ });
105
+ const select = document.getElementById('scope');
106
+ select.addEventListener('change', (e)=>{
107
+ console.log('scope changed')
108
+ const val = e.target.value;
109
+ const tl = document.querySelector('pb-timeline').scope = val;
110
+ });
111
+
112
+ document.addEventListener('pb-timeline-date-changed', (e) =>{
113
+ console.log('date changed ', e.detail.date);
114
+ });
115
+ document.addEventListener('pb-timeline-daterange-changed', (e) =>{
116
+ console.log('daterange changed ', e.detail.startDateStr, e.detail.endDateStr);
117
+ });
118
+ });
119
+
120
+
121
+ </script>
122
+ </html>
@@ -0,0 +1,94 @@
1
+ <html>
2
+ <head>
3
+ <meta charset="utf-8"/>
4
+ <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes"/>
5
+
6
+ <title>pb-timeline Demo</title>
7
+ <link rel="stylesheet" href="demo.css">
8
+ <script src="https://unpkg.com/@webcomponents/webcomponentsjs@2.4.3/webcomponents-loader.js"></script><script type="module" src="../pb-components-bundle.js"></script>
9
+
10
+ <style>
11
+ main{
12
+ padding: 50px;
13
+
14
+ }
15
+ pb-timeline{
16
+ padding: 2rem 0;
17
+ width: 100%;
18
+ }
19
+ #start, #end, #scope{
20
+ display: block;
21
+ margin-bottom: 1rem;
22
+ }
23
+ .wraptl{
24
+ max-width: 60vw;
25
+ overflow-y:hidden;
26
+ overflow-x:auto;
27
+ }
28
+ </style>
29
+ </head>
30
+
31
+ <body>
32
+ <main>
33
+ <h1>Timeline Demo</h1>
34
+ <!--
35
+ <pb-demo-snippet>
36
+ <template>
37
+ -->
38
+ <pb-page endpoint="https://teipublisher.com/exist/apps/tei-publisher">
39
+ <pb-login id="login" group="tei"></pb-login>
40
+
41
+ <label for="start">Start Date</label>
42
+ <input id="start" type="date" value="1891-05-18">
43
+ <label for="end">End Date</label>
44
+ <input id="end" type="date" value="1978-01-01">
45
+
46
+
47
+ <label for="scope">Scope</label>
48
+ <select id="scope">
49
+ <option value="D">Day</option>
50
+ <option value="W">Week</option>
51
+ <option value="M">Month</option>
52
+ <option value="Y" selected="selected">Year</option>
53
+ <option value="5Y">5 Years</option>
54
+ <option value="10Y">10 Years</option>
55
+ </select>
56
+
57
+
58
+ <div class="wraptl">
59
+ <pb-timeline scope="10Y"
60
+ start-date="1438-01-13"
61
+ end-date="2020-02-01"
62
+ subscribe="docs" emit="docs"
63
+ url="api/search/timeline"></pb-timeline>
64
+ </div>
65
+
66
+ <pb-browse-docs id="document-list" fix-links login="login"
67
+ collection="test"
68
+ sort-options='[{"label": "browse.title", "value": "title"},{"label": "browse.author", "value": "author"},{"label": "browse.modificationDate", "value": "default"}]'
69
+ sort-by="title"
70
+ filter-options='[{"label": "browse.title", "value": "title"},{"label": "browse.author", "value": "author"},{"label": "browse.file", "value": "file"}]'
71
+ filter-by="title" auto="auto" history="history" emit="docs" subscribe="docs">
72
+ <pb-paginate slot="toolbar" id="paginate" per-page="10" range="5"
73
+ emit="docs" subscribe="docs"></pb-paginate>
74
+ </pb-browse-docs>
75
+ </pb-page>
76
+
77
+ <!-- <textarea id="logs"></textarea>-->
78
+ <!--
79
+
80
+ </template>
81
+ </pb-demo-snippet>
82
+ -->
83
+
84
+ </main>
85
+ </body>
86
+
87
+ <script>
88
+ document.addEventListener('DOMContentLoaded', () => {
89
+ pbEvents.subscribe('pb-timeline-daterange-changed', 'docs', (ev) => {
90
+ console.log(ev.detail);
91
+ });
92
+ });
93
+ </script>
94
+ </html>