Browse Source

style the metadata, search page

Mark deVilliers 2 years ago
parent
commit
9e83b81480
5 changed files with 382 additions and 55 deletions
  1. 1 1
      ui/node.js
  2. 366 45
      ui/search.js
  3. 1 1
      ui/src/Node.elm
  4. 13 8
      ui/src/Search.elm
  5. 1 0
      ui/static/decode.svg

+ 1 - 1
ui/node.js

@@ -14580,7 +14580,7 @@ var _user$project$Node$entitlementEncoder = function (ent) {
14580 14580
 			}
14581 14581
 		});
14582 14582
 };
14583
-var _user$project$Node$nodeURL = 'http://localhost:8080';
14583
+var _user$project$Node$nodeURL = '//localhost:8080';
14584 14584
 var _user$project$Node$initialModel = {accepted: _elm_lang$core$Maybe$Nothing, requested: _elm_lang$core$Maybe$Nothing, metadata: _elm_lang$core$Maybe$Nothing, devices: _elm_lang$core$Maybe$Nothing, tabState: _rundis$elm_bootstrap$Bootstrap_Tab$initialState};
14585 14585
 var _user$project$Node$Model = F5(
14586 14586
 	function (a, b, c, d, e) {

+ 366 - 45
ui/search.js

@@ -10077,6 +10077,10 @@ var _elm_lang$html$Html_Events$Options = F2(
10077 10077
 		return {stopPropagation: a, preventDefault: b};
10078 10078
 	});
10079 10079
 
10080
+var _elm_lang$html$Html_Keyed$node = _elm_lang$virtual_dom$VirtualDom$keyedNode;
10081
+var _elm_lang$html$Html_Keyed$ol = _elm_lang$html$Html_Keyed$node('ol');
10082
+var _elm_lang$html$Html_Keyed$ul = _elm_lang$html$Html_Keyed$node('ul');
10083
+
10080 10084
 var _elm_lang$http$Native_Http = function() {
10081 10085
 
10082 10086
 
@@ -10438,6 +10442,305 @@ var _elm_lang$http$Http$StringPart = F2(
10438 10442
 	});
10439 10443
 var _elm_lang$http$Http$stringPart = _elm_lang$http$Http$StringPart;
10440 10444
 
10445
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$roleClass = function (role) {
10446
+	return _elm_lang$html$Html_Attributes$class(
10447
+		function () {
10448
+			var _p0 = role;
10449
+			switch (_p0.ctor) {
10450
+				case 'Success':
10451
+					return 'list-group-item-success';
10452
+				case 'Info':
10453
+					return 'list-group-item-info';
10454
+				case 'Warning':
10455
+					return 'list-group-item-warning';
10456
+				default:
10457
+					return 'list-group-item-danger';
10458
+			}
10459
+		}());
10460
+};
10461
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$itemAttributes = function (options) {
10462
+	return A2(
10463
+		_elm_lang$core$Basics_ops['++'],
10464
+		{
10465
+			ctor: '::',
10466
+			_0: _elm_lang$html$Html_Attributes$classList(
10467
+				{
10468
+					ctor: '::',
10469
+					_0: {ctor: '_Tuple2', _0: 'list-group-item', _1: true},
10470
+					_1: {
10471
+						ctor: '::',
10472
+						_0: {ctor: '_Tuple2', _0: 'disabled', _1: options.disabled},
10473
+						_1: {
10474
+							ctor: '::',
10475
+							_0: {ctor: '_Tuple2', _0: 'active', _1: options.active},
10476
+							_1: {
10477
+								ctor: '::',
10478
+								_0: {ctor: '_Tuple2', _0: 'list-group-item-action', _1: options.action},
10479
+								_1: {ctor: '[]'}
10480
+							}
10481
+						}
10482
+					}
10483
+				}),
10484
+			_1: {ctor: '[]'}
10485
+		},
10486
+		A2(
10487
+			_elm_lang$core$Basics_ops['++'],
10488
+			{
10489
+				ctor: '::',
10490
+				_0: _elm_lang$html$Html_Attributes$disabled(options.disabled),
10491
+				_1: {ctor: '[]'}
10492
+			},
10493
+			A2(
10494
+				_elm_lang$core$Basics_ops['++'],
10495
+				A2(
10496
+					_elm_lang$core$Maybe$withDefault,
10497
+					{ctor: '[]'},
10498
+					A2(
10499
+						_elm_lang$core$Maybe$map,
10500
+						function (r) {
10501
+							return {
10502
+								ctor: '::',
10503
+								_0: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$roleClass(r),
10504
+								_1: {ctor: '[]'}
10505
+							};
10506
+						},
10507
+						options.role)),
10508
+				options.attributes)));
10509
+};
10510
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$preventClick = A2(_elm_lang$html$Html_Attributes$attribute, 'onclick', 'var event = arguments[0] || window.event; event.preventDefault();');
10511
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$applyModifier = F2(
10512
+	function (modifier, options) {
10513
+		var _p1 = modifier;
10514
+		switch (_p1.ctor) {
10515
+			case 'Roled':
10516
+				return _elm_lang$core$Native_Utils.update(
10517
+					options,
10518
+					{
10519
+						role: _elm_lang$core$Maybe$Just(_p1._0)
10520
+					});
10521
+			case 'Action':
10522
+				return _elm_lang$core$Native_Utils.update(
10523
+					options,
10524
+					{action: true});
10525
+			case 'Disabled':
10526
+				return _elm_lang$core$Native_Utils.update(
10527
+					options,
10528
+					{disabled: true});
10529
+			case 'Active':
10530
+				return _elm_lang$core$Native_Utils.update(
10531
+					options,
10532
+					{active: true});
10533
+			default:
10534
+				return _elm_lang$core$Native_Utils.update(
10535
+					options,
10536
+					{
10537
+						attributes: A2(_elm_lang$core$Basics_ops['++'], options.attributes, _p1._0)
10538
+					});
10539
+		}
10540
+	});
10541
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$defaultOptions = {
10542
+	role: _elm_lang$core$Maybe$Nothing,
10543
+	active: false,
10544
+	disabled: false,
10545
+	action: false,
10546
+	attributes: {ctor: '[]'}
10547
+};
10548
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$renderCustomItem = function (_p2) {
10549
+	var _p3 = _p2;
10550
+	return A2(
10551
+		_p3._0.itemFn,
10552
+		_rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$itemAttributes(
10553
+			A3(_elm_lang$core$List$foldl, _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$applyModifier, _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$defaultOptions, _p3._0.options)),
10554
+		_p3._0.children);
10555
+};
10556
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$renderItem = function (_p4) {
10557
+	var _p5 = _p4;
10558
+	return A2(
10559
+		_p5._0.itemFn,
10560
+		_rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$itemAttributes(
10561
+			A3(_elm_lang$core$List$foldl, _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$applyModifier, _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$defaultOptions, _p5._0.options)),
10562
+		_p5._0.children);
10563
+};
10564
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$ItemOptions = F5(
10565
+	function (a, b, c, d, e) {
10566
+		return {role: a, active: b, disabled: c, action: d, attributes: e};
10567
+	});
10568
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Attrs = function (a) {
10569
+	return {ctor: 'Attrs', _0: a};
10570
+};
10571
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Action = {ctor: 'Action'};
10572
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Disabled = {ctor: 'Disabled'};
10573
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Active = {ctor: 'Active'};
10574
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Roled = function (a) {
10575
+	return {ctor: 'Roled', _0: a};
10576
+};
10577
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Danger = {ctor: 'Danger'};
10578
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Warning = {ctor: 'Warning'};
10579
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Info = {ctor: 'Info'};
10580
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Success = {ctor: 'Success'};
10581
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Item = function (a) {
10582
+	return {ctor: 'Item', _0: a};
10583
+};
10584
+var _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$CustomItem = function (a) {
10585
+	return {ctor: 'CustomItem', _0: a};
10586
+};
10587
+
10588
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$attrs = function (attrs) {
10589
+	return _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Attrs(attrs);
10590
+};
10591
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$disabled = _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Disabled;
10592
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$active = _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Active;
10593
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$danger = _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Roled(_rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Danger);
10594
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$warning = _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Roled(_rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Warning);
10595
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$info = _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Roled(_rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Info);
10596
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$success = _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Roled(_rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Success);
10597
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$button = F2(
10598
+	function (options, children) {
10599
+		return _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$CustomItem(
10600
+			{
10601
+				itemFn: _elm_lang$html$Html$button,
10602
+				children: children,
10603
+				options: {
10604
+					ctor: '::',
10605
+					_0: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Action,
10606
+					_1: A2(
10607
+						_elm_lang$core$Basics_ops['++'],
10608
+						options,
10609
+						{
10610
+							ctor: '::',
10611
+							_0: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Attrs(
10612
+								{
10613
+									ctor: '::',
10614
+									_0: _elm_lang$html$Html_Attributes$type_('button'),
10615
+									_1: {ctor: '[]'}
10616
+								}),
10617
+							_1: {ctor: '[]'}
10618
+						})
10619
+				}
10620
+			});
10621
+	});
10622
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$anchor = F2(
10623
+	function (options, children) {
10624
+		var updOptions = A2(
10625
+			_elm_lang$core$List$any,
10626
+			F2(
10627
+				function (x, y) {
10628
+					return _elm_lang$core$Native_Utils.eq(x, y);
10629
+				})(_rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Disabled),
10630
+			options) ? A2(
10631
+			_elm_lang$core$Basics_ops['++'],
10632
+			options,
10633
+			{
10634
+				ctor: '::',
10635
+				_0: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Attrs(
10636
+					{
10637
+						ctor: '::',
10638
+						_0: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$preventClick,
10639
+						_1: {ctor: '[]'}
10640
+					}),
10641
+				_1: {ctor: '[]'}
10642
+			}) : options;
10643
+		return _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$CustomItem(
10644
+			{
10645
+				itemFn: _elm_lang$html$Html$a,
10646
+				children: children,
10647
+				options: {ctor: '::', _0: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Action, _1: updOptions}
10648
+			});
10649
+	});
10650
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$keyedCustom = function (items) {
10651
+	return A3(
10652
+		_elm_lang$html$Html_Keyed$node,
10653
+		'div',
10654
+		{
10655
+			ctor: '::',
10656
+			_0: _elm_lang$html$Html_Attributes$class('list-group'),
10657
+			_1: {ctor: '[]'}
10658
+		},
10659
+		A2(
10660
+			_elm_lang$core$List$map,
10661
+			function (_p0) {
10662
+				var _p1 = _p0;
10663
+				return {
10664
+					ctor: '_Tuple2',
10665
+					_0: _p1._0,
10666
+					_1: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$renderCustomItem(_p1._1)
10667
+				};
10668
+			},
10669
+			items));
10670
+};
10671
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$custom = function (items) {
10672
+	return A2(
10673
+		_elm_lang$html$Html$div,
10674
+		{
10675
+			ctor: '::',
10676
+			_0: _elm_lang$html$Html_Attributes$class('list-group'),
10677
+			_1: {ctor: '[]'}
10678
+		},
10679
+		A2(_elm_lang$core$List$map, _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$renderCustomItem, items));
10680
+};
10681
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$li = F2(
10682
+	function (options, children) {
10683
+		return _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$Item(
10684
+			{itemFn: _elm_lang$html$Html$li, children: children, options: options});
10685
+	});
10686
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$keyedUl = function (keyedItems) {
10687
+	return A2(
10688
+		_elm_lang$html$Html_Keyed$ul,
10689
+		{
10690
+			ctor: '::',
10691
+			_0: _elm_lang$html$Html_Attributes$class('list-group'),
10692
+			_1: {ctor: '[]'}
10693
+		},
10694
+		A2(
10695
+			_elm_lang$core$List$map,
10696
+			function (_p2) {
10697
+				var _p3 = _p2;
10698
+				return {
10699
+					ctor: '_Tuple2',
10700
+					_0: _p3._0,
10701
+					_1: _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$renderItem(_p3._1)
10702
+				};
10703
+			},
10704
+			keyedItems));
10705
+};
10706
+var _rundis$elm_bootstrap$Bootstrap_ListGroup$ul = function (items) {
10707
+	return A2(
10708
+		_elm_lang$html$Html$ul,
10709
+		{
10710
+			ctor: '::',
10711
+			_0: _elm_lang$html$Html_Attributes$class('list-group'),
10712
+			_1: {ctor: '[]'}
10713
+		},
10714
+		A2(_elm_lang$core$List$map, _rundis$elm_bootstrap$Bootstrap_Internal_ListGroup$renderItem, items));
10715
+};
10716
+
10717
+var _rundis$elm_bootstrap$Bootstrap_CDN$fontAwesome = A3(
10718
+	_elm_lang$html$Html$node,
10719
+	'link',
10720
+	{
10721
+		ctor: '::',
10722
+		_0: _elm_lang$html$Html_Attributes$rel('stylesheet'),
10723
+		_1: {
10724
+			ctor: '::',
10725
+			_0: _elm_lang$html$Html_Attributes$href('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'),
10726
+			_1: {ctor: '[]'}
10727
+		}
10728
+	},
10729
+	{ctor: '[]'});
10730
+var _rundis$elm_bootstrap$Bootstrap_CDN$stylesheet = A3(
10731
+	_elm_lang$html$Html$node,
10732
+	'link',
10733
+	{
10734
+		ctor: '::',
10735
+		_0: _elm_lang$html$Html_Attributes$rel('stylesheet'),
10736
+		_1: {
10737
+			ctor: '::',
10738
+			_0: _elm_lang$html$Html_Attributes$href('https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css'),
10739
+			_1: {ctor: '[]'}
10740
+		}
10741
+	},
10742
+	{ctor: '[]'});
10743
+
10441 10744
 var _user$project$Decoders$Item = F4(
10442 10745
 	function (a, b, c, d) {
10443 10746
 		return {subject: a, location: b, sample: c, tags: d};
@@ -10686,7 +10989,7 @@ var _user$project$Search$getTimeSeriesEncoder = function (key) {
10686 10989
 			_1: {ctor: '[]'}
10687 10990
 		});
10688 10991
 };
10689
-var _user$project$Search$metadataURL = 'http://localhost:8081';
10992
+var _user$project$Search$metadataURL = '//localhost:8081';
10690 10993
 var _user$project$Search$nodeURLFromLocation = function (location) {
10691 10994
 	return A2(
10692 10995
 		_elm_lang$core$Basics_ops['++'],
@@ -10892,8 +11195,8 @@ var _user$project$Search$update = F2(
10892 11195
 					return _elm_lang$core$Native_Utils.crashCase(
10893 11196
 						'Search',
10894 11197
 						{
10895
-							start: {line: 68, column: 5},
10896
-							end: {line: 120, column: 45}
11198
+							start: {line: 70, column: 5},
11199
+							end: {line: 122, column: 45}
10897 11200
 						},
10898 11201
 						_p3)(
10899 11202
 						_elm_lang$core$Basics$toString(_p3._0._0));
@@ -10944,8 +11247,8 @@ var _user$project$Search$update = F2(
10944 11247
 						return _elm_lang$core$Native_Utils.crashCase(
10945 11248
 							'Search',
10946 11249
 							{
10947
-								start: {line: 68, column: 5},
10948
-								end: {line: 120, column: 45}
11250
+								start: {line: 70, column: 5},
11251
+								end: {line: 122, column: 45}
10949 11252
 							},
10950 11253
 							_p3)(
10951 11254
 							_elm_lang$core$Basics$toString(_p3._1._0));
@@ -10968,8 +11271,8 @@ var _user$project$Search$update = F2(
10968 11271
 					return _elm_lang$core$Native_Utils.crashCase(
10969 11272
 						'Search',
10970 11273
 						{
10971
-							start: {line: 68, column: 5},
10972
-							end: {line: 120, column: 45}
11274
+							start: {line: 70, column: 5},
11275
+							end: {line: 122, column: 45}
10973 11276
 						},
10974 11277
 						_p3)(
10975 11278
 						_elm_lang$core$Basics$toString(_p3._0._0));
@@ -10987,7 +11290,7 @@ var _user$project$Search$drawNoMetadata = A2(
10987 11290
 			{ctor: '[]'},
10988 11291
 			{
10989 11292
 				ctor: '::',
10990
-				_0: _elm_lang$html$Html$text('no metadata available.'),
11293
+				_0: _elm_lang$html$Html$text('no data available for search.'),
10991 11294
 				_1: {ctor: '[]'}
10992 11295
 			}),
10993 11296
 		_1: {
@@ -11011,14 +11314,12 @@ var _user$project$Search$drawFiltered = F2(
11011 11314
 	function (tag, items) {
11012 11315
 		var _p9 = tag;
11013 11316
 		if (_p9.ctor === 'Nothing') {
11014
-			return A2(
11015
-				_elm_lang$html$Html$div,
11016
-				{ctor: '[]'},
11317
+			return _rundis$elm_bootstrap$Bootstrap_ListGroup$ul(
11017 11318
 				A2(
11018 11319
 					_elm_lang$core$List$map,
11019 11320
 					function (x) {
11020 11321
 						return A2(
11021
-							_elm_lang$html$Html$div,
11322
+							_rundis$elm_bootstrap$Bootstrap_ListGroup$li,
11022 11323
 							{ctor: '[]'},
11023 11324
 							{
11024 11325
 								ctor: '::',
@@ -11051,37 +11352,32 @@ var _user$project$Search$drawFiltered = F2(
11051 11352
 				{ctor: '[]'},
11052 11353
 				{
11053 11354
 					ctor: '::',
11054
-					_0: A2(
11055
-						_elm_lang$html$Html$div,
11056
-						{ctor: '[]'},
11355
+					_0: _rundis$elm_bootstrap$Bootstrap_ListGroup$ul(
11057 11356
 						{
11058 11357
 							ctor: '::',
11059
-							_0: _elm_lang$html$Html$text(_p10),
11358
+							_0: A2(
11359
+								_rundis$elm_bootstrap$Bootstrap_ListGroup$li,
11360
+								{ctor: '[]'},
11361
+								{
11362
+									ctor: '::',
11363
+									_0: _elm_lang$html$Html$text(_p10),
11364
+									_1: {ctor: '[]'}
11365
+								}),
11060 11366
 							_1: {ctor: '[]'}
11061 11367
 						}),
11062 11368
 					_1: {
11063 11369
 						ctor: '::',
11064
-						_0: A2(
11065
-							_elm_lang$html$Html$div,
11066
-							{ctor: '[]'},
11370
+						_0: _rundis$elm_bootstrap$Bootstrap_ListGroup$ul(
11067 11371
 							A2(
11068 11372
 								_elm_lang$core$List$map,
11069 11373
 								function (item) {
11070 11374
 									return A2(
11071
-										_elm_lang$html$Html$div,
11375
+										_rundis$elm_bootstrap$Bootstrap_ListGroup$li,
11072 11376
 										{ctor: '[]'},
11073 11377
 										{
11074 11378
 											ctor: '::',
11075
-											_0: _elm_lang$html$Html$text(item.subject),
11076
-											_1: {
11077
-												ctor: '::',
11078
-												_0: _elm_lang$html$Html$text(' '),
11079
-												_1: {
11080
-													ctor: '::',
11081
-													_0: _user$project$Search$drawViewerWidget(item),
11082
-													_1: {ctor: '[]'}
11083
-												}
11084
-											}
11379
+											_0: _user$project$Search$drawViewerWidget(item),
11380
+											_1: {ctor: '[]'}
11085 11381
 										});
11086 11382
 								},
11087 11383
 								filtered)),
@@ -11101,7 +11397,7 @@ var _user$project$Search$drawFiltered = F2(
11101 11397
 										},
11102 11398
 										{
11103 11399
 											ctor: '::',
11104
-											_0: _elm_lang$html$Html$text('new search'),
11400
+											_0: _elm_lang$html$Html$text('back'),
11105 11401
 											_1: {ctor: '[]'}
11106 11402
 										}),
11107 11403
 									_1: {ctor: '[]'}
@@ -11127,25 +11423,50 @@ var _user$project$Search$view = function (model) {
11127 11423
 				{ctor: '[]'},
11128 11424
 				{
11129 11425
 					ctor: '::',
11130
-					_0: A2(
11131
-						_elm_lang$html$Html$div,
11132
-						{ctor: '[]'},
11133
-						{
11134
-							ctor: '::',
11135
-							_0: _elm_lang$html$Html$text('Metadata'),
11136
-							_1: {ctor: '[]'}
11137
-						}),
11426
+					_0: _rundis$elm_bootstrap$Bootstrap_CDN$stylesheet,
11138 11427
 					_1: {
11139 11428
 						ctor: '::',
11140 11429
 						_0: A2(
11141
-							_elm_lang$html$Html$div,
11142
-							{ctor: '[]'},
11430
+							_elm_lang$html$Html$img,
11143 11431
 							{
11144 11432
 								ctor: '::',
11145
-								_0: A2(_user$project$Search$drawFiltered, model.filter, _p13),
11146
-								_1: {ctor: '[]'}
11147
-							}),
11148
-						_1: {ctor: '[]'}
11433
+								_0: _elm_lang$html$Html_Attributes$src('/static/decode.svg'),
11434
+								_1: {
11435
+									ctor: '::',
11436
+									_0: _elm_lang$html$Html_Attributes$width(300),
11437
+									_1: {
11438
+										ctor: '::',
11439
+										_0: _elm_lang$html$Html_Attributes$style(
11440
+											{
11441
+												ctor: '::',
11442
+												_0: {ctor: '_Tuple2', _0: 'display', _1: 'block'},
11443
+												_1: {
11444
+													ctor: '::',
11445
+													_0: {ctor: '_Tuple2', _0: 'margin-left', _1: 'auto'},
11446
+													_1: {
11447
+														ctor: '::',
11448
+														_0: {ctor: '_Tuple2', _0: 'margin-right', _1: 'auto'},
11449
+														_1: {ctor: '[]'}
11450
+													}
11451
+												}
11452
+											}),
11453
+										_1: {ctor: '[]'}
11454
+									}
11455
+								}
11456
+							},
11457
+							{ctor: '[]'}),
11458
+						_1: {
11459
+							ctor: '::',
11460
+							_0: A2(
11461
+								_elm_lang$html$Html$div,
11462
+								{ctor: '[]'},
11463
+								{
11464
+									ctor: '::',
11465
+									_0: A2(_user$project$Search$drawFiltered, model.filter, _p13),
11466
+									_1: {ctor: '[]'}
11467
+								}),
11468
+							_1: {ctor: '[]'}
11469
+						}
11149 11470
 					}
11150 11471
 				});
11151 11472
 		}

+ 1 - 1
ui/src/Node.elm

@@ -149,7 +149,7 @@ update msg model =
149 149
 
150 150
 nodeURL : String
151 151
 nodeURL =
152
-    "http://localhost:8080"
152
+    "//localhost:8080"
153 153
 
154 154
 
155 155
 getMetadata : Cmd Msg

+ 13 - 8
ui/src/Search.elm

@@ -6,8 +6,10 @@ import Html exposing (..)
6 6
 import Html.Attributes exposing (..)
7 7
 import Html.Events exposing (onClick)
8 8
 import List.Extra exposing (unique)
9
-import Decoders
10 9
 import Json.Encode exposing (..)
10
+import Bootstrap.ListGroup as ListG
11
+import Bootstrap.CDN as CDN
12
+import Decoders
11 13
 
12 14
 
13 15
 main : Program Never Model Msg
@@ -154,7 +156,7 @@ nodeURLFromLocation location =
154 156
 
155 157
 metadataURL : String
156 158
 metadataURL =
157
-    "http://localhost:8081"
159
+    "//localhost:8081"
158 160
 
159 161
 
160 162
 getAllMetadata : Cmd Msg
@@ -231,7 +233,8 @@ view model =
231 233
 
232 234
                 _ ->
233 235
                     div []
234
-                        [ div [] [ text "Metadata" ]
236
+                        [ CDN.stylesheet
237
+                        , img [ src "/static/decode.svg", width 300, style [ ( "display", "block" ), ( "margin-left", "auto" ), ( "margin-right", "auto" ) ] ] []
235 238
                         , div [] [ drawFiltered model.filter d ]
236 239
                         ]
237 240
 
@@ -239,7 +242,7 @@ view model =
239 242
 drawNoMetadata : Html Msg
240 243
 drawNoMetadata =
241 244
     div []
242
-        [ div [] [ text "no metadata available." ]
245
+        [ div [] [ text "no data available for search." ]
243 246
         , button [ onClick RefreshMetadata ] [ text "refresh" ]
244 247
         ]
245 248
 
@@ -248,7 +251,7 @@ drawFiltered : Maybe String -> Decoders.Items -> Html Msg
248 251
 drawFiltered tag items =
249 252
     case tag of
250 253
         Nothing ->
251
-            div [] <| List.map (\x -> div [] [ a [ onClick (ShowLocations x), href "#" ] [ text (x) ] ]) (uniqueTags items)
254
+            ListG.ul <| List.map (\x -> ListG.li [] [ a [ onClick (ShowLocations x), href "#" ] [ text (x) ] ]) (uniqueTags items)
252 255
 
253 256
         Just t ->
254 257
             let
@@ -256,9 +259,11 @@ drawFiltered tag items =
256 259
                     filterByTag t items
257 260
             in
258 261
                 div []
259
-                    [ div [] [ text (t) ]
260
-                    , div [] <| List.map (\item -> div [] [ text item.subject, text " ", drawViewerWidget (item) ]) filtered
261
-                    , div [] [ button [ onClick RefreshMetadata ] [ text "new search" ] ]
262
+                    [ ListG.ul
263
+                        [ ListG.li [] [ text (t) ]
264
+                        ]
265
+                    , ListG.ul <| List.map (\item -> ListG.li [] [ drawViewerWidget (item) ]) filtered
266
+                    , div [] [ button [ onClick RefreshMetadata ] [ text "back" ] ]
262 267
                     ]
263 268
 
264 269
 

File diff suppressed because it is too large
+ 1 - 0
ui/static/decode.svg