@webviz/well-log-viewer 0.0.1-alpha.1 → 0.0.1-alpha.3

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.
Files changed (77) hide show
  1. package/dist/SyncLogViewer.js +3 -4
  2. package/dist/SyncLogViewer.js.map +1 -1
  3. package/dist/components/WellLogView.js +5 -5
  4. package/dist/components/WellLogView.js.map +1 -1
  5. package/dist/demo/example-data/welllog_template_2.json +167 -167
  6. package/dist/demo/example-data/wellpick_colors.json +1 -1
  7. package/dist/demo/example-data/wellpicks.json +179 -179
  8. package/package.json +32 -5
  9. package/dist/Intro.stories.mdx +0 -59
  10. package/dist/package.json +0 -21
  11. package/src/Intro.stories.mdx +0 -59
  12. package/src/MapAndWellLogViewer.stories.jsx +0 -147
  13. package/src/MapAndWellLogViewer.test.tsx +0 -26
  14. package/src/MapAndWellLogViewer.tsx +0 -473
  15. package/src/SyncLogViewer.stories.jsx +0 -361
  16. package/src/SyncLogViewer.test.tsx +0 -41
  17. package/src/SyncLogViewer.tsx +0 -1188
  18. package/src/WellLogViewer.png +0 -0
  19. package/src/WellLogViewer.stories.jsx +0 -169
  20. package/src/WellLogViewer.test.tsx +0 -53
  21. package/src/WellLogViewer.tsx +0 -439
  22. package/src/WellLogViewer_performance.test.tsx +0 -78
  23. package/src/__snapshots__/MapAndWellLogViewer.test.tsx.snap +0 -365
  24. package/src/__snapshots__/SyncLogViewer.test.tsx.snap +0 -510
  25. package/src/__snapshots__/WellLogViewer.test.tsx.snap +0 -552
  26. package/src/components/AxisSelector.test.tsx +0 -50
  27. package/src/components/AxisSelector.tsx +0 -49
  28. package/src/components/ColorTableTypes.ts +0 -9
  29. package/src/components/InfoPanel.test.tsx +0 -58
  30. package/src/components/InfoPanel.tsx +0 -144
  31. package/src/components/InfoTypes.ts +0 -17
  32. package/src/components/LocalMenus.tsx +0 -336
  33. package/src/components/PlotDialog.tsx +0 -419
  34. package/src/components/Scroller.stories.jsx +0 -80
  35. package/src/components/Scroller.test.tsx +0 -22
  36. package/src/components/Scroller.tsx +0 -173
  37. package/src/components/TrackDialog.tsx +0 -217
  38. package/src/components/WellLogSpacer.tsx +0 -483
  39. package/src/components/WellLogTemplateTypes.ts +0 -65
  40. package/src/components/WellLogTypes.ts +0 -53
  41. package/src/components/WellLogView.stories.jsx +0 -84
  42. package/src/components/WellLogView.test.tsx +0 -52
  43. package/src/components/WellLogView.tsx +0 -2063
  44. package/src/components/WellLogViewWithScroller.stories.jsx +0 -69
  45. package/src/components/WellLogViewWithScroller.test.tsx +0 -47
  46. package/src/components/WellLogViewWithScroller.tsx +0 -179
  47. package/src/components/ZoomSlider.stories.jsx +0 -52
  48. package/src/components/ZoomSlider.test.tsx +0 -28
  49. package/src/components/ZoomSlider.tsx +0 -86
  50. package/src/components/__snapshots__/AxisSelector.test.tsx.snap +0 -28
  51. package/src/components/__snapshots__/InfoPanel.test.tsx.snap +0 -103
  52. package/src/components/__snapshots__/Scroller.test.tsx.snap +0 -13
  53. package/src/components/__snapshots__/WellLogView.test.tsx.snap +0 -54
  54. package/src/components/__snapshots__/WellLogViewWithScroller.test.tsx.snap +0 -270
  55. package/src/components/__snapshots__/ZoomSlider.test.tsx.snap +0 -50
  56. package/src/components/styles.scss +0 -106
  57. package/src/custom.d.ts +0 -13
  58. package/src/demo/example-data/volve_logs.json +0 -689617
  59. package/src/demo/example-data/welllog_template_2.json +0 -196
  60. package/src/demo/example-data/wellpick_colors.json +0 -156
  61. package/src/demo/example-data/wellpicks.json +0 -186
  62. package/src/index.ts +0 -8
  63. package/src/utils/axes.ts +0 -26
  64. package/src/utils/color-table.ts +0 -153
  65. package/src/utils/deepcopy.ts +0 -3
  66. package/src/utils/edit-track.tsx +0 -40
  67. package/src/utils/fill-info.ts +0 -224
  68. package/src/utils/gradientfill-plot-legend.ts +0 -177
  69. package/src/utils/gradientfill-plot.ts +0 -203
  70. package/src/utils/graph/factory.ts +0 -15
  71. package/src/utils/legend/common.ts +0 -153
  72. package/src/utils/log-viewer.ts +0 -209
  73. package/src/utils/minmax.ts +0 -126
  74. package/src/utils/pattern.tsx +0 -50
  75. package/src/utils/stack/stack-legend.ts +0 -100
  76. package/src/utils/tracks.ts +0 -1559
  77. package/tsconfig.json +0 -8
@@ -1,552 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`Test Well Log Viewer Component snapshot test 1`] = `
4
- <div
5
- style="height: 100%; width: 100%; display: flex;"
6
- >
7
- <div
8
- style="overflow: scroll; width: 100%; height: 100%;"
9
- >
10
- <div
11
- style="width: 0px; height: 0px;"
12
- >
13
- <div
14
- style="position: absolute;"
15
- >
16
- <div
17
- class="welllogview"
18
- style="width: 100%; height: 100%; display: flex; flex-direction: row;"
19
- >
20
- <div
21
- style="width: 100%; height: 100%; display: flex; flex-direction: column;"
22
- >
23
- <div
24
- class="log-controller horizontal"
25
- >
26
- <div
27
- class="overlay"
28
- style="height: 0px; top: 0px; overflow: hidden;"
29
- >
30
- <div
31
- class="depth"
32
- style="position: absolute; pointer-events: none; visibility: hidden;"
33
- />
34
- <div
35
- class="rubber-band"
36
- style="position: relative; pointer-events: none; width: 9px; height: 100%; visibility: hidden;"
37
- >
38
- <div
39
- style="width: 1px; height: 100%; left: 4.5px; position: relative;"
40
- />
41
- </div>
42
- <div
43
- class="pinned"
44
- style="position: absolute; pointer-events: none; width: 9px; height: 100%; top: 0px; visibility: hidden;"
45
- >
46
- <div
47
- style="width: 1px; height: 100%; left: 4.5px; position: absolute;"
48
- />
49
- </div>
50
- </div>
51
- <div
52
- class="track"
53
- style="max-height: 50px; flex: 2;"
54
- >
55
- <div
56
- class="track-container"
57
- >
58
- <svg
59
- style="position: absolute;"
60
- />
61
- </div>
62
- </div>
63
- <div
64
- class="track"
65
- style="max-height: 50px; flex: 2;"
66
- >
67
- <div
68
- class="track-container"
69
- >
70
- <svg
71
- style="position: absolute;"
72
- />
73
- </div>
74
- </div>
75
- <div
76
- class="track"
77
- style="display: flex; flex: 3;"
78
- >
79
- <div
80
- class="track-container"
81
- >
82
- <canvas
83
- style="position: absolute;"
84
- />
85
- </div>
86
- </div>
87
- <div
88
- class="track"
89
- style="display: flex; flex: 3;"
90
- >
91
- <div
92
- class="track-container"
93
- >
94
- <canvas
95
- style="position: absolute;"
96
- />
97
- </div>
98
- </div>
99
- <div
100
- class="track"
101
- style="display: flex; flex: 3;"
102
- >
103
- <div
104
- class="track-container"
105
- >
106
- <canvas
107
- style="position: absolute;"
108
- />
109
- </div>
110
- </div>
111
- <div
112
- class="track"
113
- style="display: none; flex: 3;"
114
- >
115
- <div
116
- class="track-container"
117
- >
118
- <canvas
119
- style="position: absolute;"
120
- />
121
- </div>
122
- </div>
123
- <div
124
- class="track"
125
- style="display: none; flex: 3;"
126
- >
127
- <div
128
- class="track-container"
129
- >
130
- <canvas
131
- style="position: absolute;"
132
- />
133
- </div>
134
- </div>
135
- <div
136
- class="track"
137
- style="display: none; flex: 3;"
138
- >
139
- <div
140
- class="track-container"
141
- >
142
- <canvas
143
- style="position: absolute;"
144
- />
145
- </div>
146
- </div>
147
- <div
148
- class="track"
149
- style="display: none; flex: 3;"
150
- >
151
- <div
152
- class="track-container"
153
- >
154
- <canvas
155
- style="position: absolute;"
156
- />
157
- </div>
158
- </div>
159
- <div
160
- class="track"
161
- style="display: none; flex: 3;"
162
- >
163
- <div
164
- class="track-container"
165
- >
166
- <canvas
167
- style="position: absolute;"
168
- />
169
- </div>
170
- </div>
171
- <div
172
- class="track"
173
- style="display: none; flex: 3;"
174
- >
175
- <div
176
- class="track-container"
177
- >
178
- <canvas
179
- style="position: absolute;"
180
- />
181
- </div>
182
- </div>
183
- <div
184
- class="track"
185
- style="display: none; flex: 3;"
186
- >
187
- <div
188
- class="track-container"
189
- >
190
- <canvas
191
- style="position: absolute;"
192
- />
193
- </div>
194
- </div>
195
- <div
196
- class="track"
197
- style="display: none; flex: 3;"
198
- >
199
- <div
200
- class="track-container"
201
- >
202
- <canvas
203
- style="position: absolute;"
204
- />
205
- </div>
206
- </div>
207
- <div
208
- class="track"
209
- style="display: none; flex: 3;"
210
- >
211
- <div
212
- class="track-container"
213
- >
214
- <canvas
215
- style="position: absolute;"
216
- />
217
- </div>
218
- </div>
219
- <div
220
- class="track"
221
- style="display: none; flex: 3;"
222
- >
223
- <div
224
- class="track-container"
225
- >
226
- <canvas
227
- style="position: absolute;"
228
- />
229
- </div>
230
- </div>
231
- <div
232
- class="track"
233
- style="display: none; flex: 3;"
234
- >
235
- <div
236
- class="track-container"
237
- >
238
- <canvas
239
- style="position: absolute;"
240
- />
241
- </div>
242
- </div>
243
- <div
244
- class="track"
245
- style="display: none; flex: 3;"
246
- >
247
- <div
248
- class="track-container"
249
- >
250
- <canvas
251
- style="position: absolute;"
252
- />
253
- </div>
254
- </div>
255
- <div
256
- class="track"
257
- style="display: none; flex: 3;"
258
- >
259
- <div
260
- class="track-container"
261
- >
262
- <canvas
263
- style="position: absolute;"
264
- />
265
- </div>
266
- </div>
267
- </div>
268
- </div>
269
- </div>
270
- </div>
271
- </div>
272
- </div>
273
- <div
274
- style="display: flex; flex-direction: column; height: 100%; width: 255px; min-width: 255px; max-width: 255px;"
275
- >
276
- <div>
277
- <fieldset>
278
- <legend>
279
- Primary scale
280
- </legend>
281
- <div>
282
- <input
283
- checked=""
284
- type="radio"
285
- value="md"
286
- />
287
- MD
288
- </div>
289
- <div>
290
- <input
291
- type="radio"
292
- value="tvd"
293
- />
294
- TVD
295
- </div>
296
- </fieldset>
297
- </div>
298
- <div
299
- style="overflow-y: auto; overflow-x: hidden;"
300
- >
301
- <fieldset>
302
- <legend>
303
- Readout
304
- </legend>
305
- <table
306
- style="border-spacing: 0px; width: 100%;"
307
- >
308
- <tbody>
309
- <tr>
310
- <td
311
- style="color: black; font-size: small;"
312
- >
313
-
314
- </td>
315
- <td>
316
- DEPT
317
- </td>
318
- <td
319
- style="width: 90px; padding-left: 1.5em; text-align: right;"
320
- />
321
- <td
322
- style="padding-left: 0.5em;"
323
- >
324
- M
325
- </td>
326
- </tr>
327
- <tr>
328
- <td
329
- style="color: grey; font-size: small;"
330
- >
331
-
332
- </td>
333
- <td>
334
- DVER
335
- </td>
336
- <td
337
- style="width: 90px; padding-left: 1.5em; text-align: right;"
338
- />
339
- <td
340
- style="padding-left: 0.5em;"
341
- >
342
- M
343
- </td>
344
- </tr>
345
- <tr>
346
- <td
347
- colspan="4"
348
- >
349
-
350
- <hr />
351
- </td>
352
- </tr>
353
- <tr
354
- style="background-color: rgb(237, 237, 237); cursor: pointer;"
355
- >
356
- <td
357
- style="font-size: small;"
358
- >
359
-
360
- </td>
361
- <td
362
- colspan="3"
363
- style="font-size: small; font-weight: bold;"
364
- >
365
- Multiple
366
- </td>
367
- </tr>
368
- <tr>
369
- <td
370
- style="color: blue; font-size: small;"
371
- >
372
-
373
- </td>
374
- <td>
375
- MDIA
376
- </td>
377
- <td
378
- style="width: 90px; padding-left: 1.5em; text-align: right;"
379
- />
380
- <td
381
- style="padding-left: 0.5em;"
382
- >
383
- KG/L
384
- </td>
385
- </tr>
386
- <tr>
387
- <td
388
- style="color: green; font-size: small;"
389
- >
390
-
391
- </td>
392
- <td>
393
- HKLA
394
- </td>
395
- <td
396
- style="width: 90px; padding-left: 1.5em; text-align: right;"
397
- />
398
- <td
399
- style="padding-left: 0.5em;"
400
- >
401
- T
402
- </td>
403
- </tr>
404
- <tr
405
- style="background-color: rgb(237, 237, 237); cursor: pointer;"
406
- >
407
- <td
408
- style="font-size: small;"
409
- >
410
-
411
- </td>
412
- <td
413
- colspan="3"
414
- style="font-size: small; font-weight: bold;"
415
- >
416
- Area
417
- </td>
418
- </tr>
419
- <tr>
420
- <td
421
- style="color: blue; font-size: small;"
422
- >
423
-
424
- </td>
425
- <td>
426
- HKLA
427
- </td>
428
- <td
429
- style="width: 90px; padding-left: 1.5em; text-align: right;"
430
- />
431
- <td
432
- style="padding-left: 0.5em;"
433
- >
434
- T
435
- </td>
436
- </tr>
437
- <tr
438
- style="background-color: rgb(237, 237, 237); cursor: pointer;"
439
- >
440
- <td
441
- style="font-size: small;"
442
- >
443
-
444
- </td>
445
- <td
446
- colspan="3"
447
- style="font-size: small; font-weight: bold;"
448
- >
449
- Differential
450
- </td>
451
- </tr>
452
- <tr>
453
- <td
454
- style="color: blue; font-size: small;"
455
- >
456
-
457
- </td>
458
- <td>
459
- HKLX
460
- </td>
461
- <td
462
- style="width: 90px; padding-left: 1.5em; text-align: right;"
463
- />
464
- <td
465
- style="padding-left: 0.5em;"
466
- >
467
- T
468
- </td>
469
- </tr>
470
- <tr>
471
- <td
472
- style="color: orange; font-size: small;"
473
- >
474
-
475
- </td>
476
- <td>
477
- HKLA
478
- </td>
479
- <td
480
- style="width: 90px; padding-left: 1.5em; text-align: right;"
481
- />
482
- <td
483
- style="padding-left: 0.5em;"
484
- >
485
- T
486
- </td>
487
- </tr>
488
- </tbody>
489
- </table>
490
- </fieldset>
491
- </div>
492
- <br />
493
- <div
494
- style="padding-left: 10px; display: flex;"
495
- >
496
- <span>
497
- Zoom:
498
- </span>
499
- <span
500
- style="flex: 1 1 100px; padding: 0px 20px 0px 10px;"
501
- >
502
- <span
503
- class="MuiSlider-root MuiSlider-colorPrimary MuiSlider-sizeMedium css-187mznn-MuiSlider-root"
504
- >
505
- <span
506
- class="MuiSlider-rail css-14pt78w-MuiSlider-rail"
507
- />
508
- <span
509
- class="MuiSlider-track css-1gv0vcd-MuiSlider-track"
510
- style="left: 0%; width: 0%;"
511
- />
512
- <span
513
- class="MuiSlider-thumb MuiSlider-thumbSizeMedium MuiSlider-thumbColorPrimary MuiSlider-thumb MuiSlider-thumbSizeMedium MuiSlider-thumbColorPrimary css-eg0mwd-MuiSlider-thumb"
514
- data-index="0"
515
- style="left: 0%;"
516
- >
517
- <input
518
- aria-labelledby="non-linear-slider"
519
- aria-orientation="horizontal"
520
- aria-valuemax="256"
521
- aria-valuemin="1"
522
- aria-valuenow="1"
523
- aria-valuetext="1"
524
- data-index="0"
525
- max="8"
526
- min="0"
527
- step="0.5"
528
- style="border: 0px; height: 100%; margin: -1px; overflow: hidden; padding: 0px; position: absolute; white-space: nowrap; width: 100%; direction: ltr;"
529
- type="range"
530
- value="0"
531
- />
532
- <span
533
- aria-hidden="true"
534
- class="MuiSlider-valueLabel css-nnid7-MuiSlider-valueLabel"
535
- >
536
- <span
537
- class="MuiSlider-valueLabelCircle"
538
- >
539
- <span
540
- class="MuiSlider-valueLabelLabel"
541
- >
542
- 1
543
- </span>
544
- </span>
545
- </span>
546
- </span>
547
- </span>
548
- </span>
549
- </div>
550
- </div>
551
- </div>
552
- `;
@@ -1,50 +0,0 @@
1
- import { render, screen } from "@testing-library/react";
2
- import "jest-styled-components";
3
- import "@testing-library/jest-dom";
4
- import React from "react";
5
- import userEvent from "@testing-library/user-event";
6
- import AxisSelector from "./AxisSelector";
7
-
8
- describe("Test Axis Selector", () => {
9
- it("snapshot test", () => {
10
- const { container } = render(
11
- <AxisSelector
12
- header="Primary scale"
13
- axes={["md", "tvd"]}
14
- axisLabels={{ md: "MD", tvd: "TVD" }}
15
- value="md"
16
- onChange={(value: string) => value}
17
- />
18
- );
19
- expect(container.firstChild).toMatchSnapshot();
20
- });
21
- // Below test is failing
22
- it("update axis to TVD", () => {
23
- const mockFn = jest.fn();
24
- render(
25
- <AxisSelector
26
- header="Primary scale"
27
- axes={["md", "tvd"]}
28
- axisLabels={{ md: "MD", tvd: "TVD" }}
29
- value="md"
30
- onChange={mockFn}
31
- />
32
- );
33
- const axis_selectors = screen.getAllByRole("radio");
34
- userEvent.click(axis_selectors[1]);
35
- expect(mockFn).toHaveBeenCalledTimes(1);
36
- expect(mockFn).toHaveBeenCalledWith("tvd");
37
- });
38
- it("test when there no axes- empty rendering", () => {
39
- const { container } = render(
40
- <AxisSelector
41
- header="Primary scale"
42
- axes={[]}
43
- axisLabels={{ md: "MD", tvd: "TVD" }}
44
- value="md"
45
- onChange={(value: string) => value}
46
- />
47
- );
48
- expect(container.firstChild).toMatchSnapshot();
49
- });
50
- });
@@ -1,49 +0,0 @@
1
- import React, { Component, ReactNode } from "react";
2
-
3
- interface Props {
4
- header: string; // language dependent string
5
- axes: string[];
6
- axisLabels: Record<string, string>; // language dependent strings
7
- value: string;
8
- onChange: (value: string) => void;
9
- }
10
-
11
- class AxisSelector extends Component<Props> {
12
- createItem(label: string, value: string): ReactNode {
13
- return (
14
- <div key={value}>
15
- {/* Set key prop just for react pleasure. See https://reactjs.org/link/warning-keys for more information */}
16
- <input
17
- type="radio"
18
- value={value}
19
- checked={this.props.value === value}
20
- onChange={(ev) => {
21
- this.props.onChange(ev.target.value);
22
- }}
23
- />
24
- {label}
25
- </div>
26
- );
27
- }
28
-
29
- render(): JSX.Element {
30
- if (!this.props.axes || this.props.axes.length < 1) return <></>; // nothing to render
31
- return (
32
- <div>
33
- <fieldset>
34
- <legend>{this.props.header}</legend>
35
- {this.props.axes.map((axis) => {
36
- return this.createItem(
37
- this.props.axisLabels
38
- ? this.props.axisLabels[axis]
39
- : axis,
40
- axis
41
- );
42
- })}
43
- </fieldset>
44
- </div>
45
- );
46
- }
47
- }
48
-
49
- export default AxisSelector;
@@ -1,9 +0,0 @@
1
- export interface ColorTable {
2
- name: string;
3
- colors: [number, number, number, number][];
4
- discrete?: boolean; // default false
5
-
6
- colorNaN?: [number, number, number]; // default "white"
7
- colorBelow?: [number, number, number]; // default colorNaN
8
- colorAbove?: [number, number, number]; // default colorBelow
9
- }