-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
147 lines (132 loc) · 6.11 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Explain Boarding Pass Resolution 792</title>
<!-- Modernizr -->
<script type="text/javascript" src="parser/js_libs/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="parser/js_libs/modernizr-2.6.2.min.js"></script>
<script type="text/javascript" src="parser/js_libs/groundwork.all.js"></script>
<script type="text/javascript" src="parser/boarding_pass_parser.js"></script>
<script type="text/javascript" src="parser/js_libs/moment.min.js"></script>
<script type="text/javascript" src="parser/international_airports.js"></script>
<script type="text/javascript" src="parser/international_airlines.js"></script>
<!-- framework css -->
<!--[if gt IE 9]><!-->
<link type="text/css" rel="stylesheet" href="parser/styles/groundwork.css">
<link type="text/css" rel="stylesheet" href="parser/own-style.css">
<!--<![endif]-->
<!--[if lte IE 9]>
<link type="text/css" rel="stylesheet" href="/css/groundwork-core.css">
<link type="text/css" rel="stylesheet" href="/css/groundwork-type.css">
<link type="text/css" rel="stylesheet" href="/css/groundwork-ui.css">
<link type="text/css" rel="stylesheet" href="/css/groundwork-anim.css">
<link type="text/css" rel="stylesheet" href="/css/groundwork-ie.css">
<![endif]-->
</head>
<script lang="javascript">
function makeParameterText(parameter){
var parameterText = "";
if(parameter!=null && typeof parameter=="string"){
var previousCharIsUpper = false;
for(var i = 0 ;i < parameter.length; i++){
if(parameter[i] == parameter[i].toUpperCase()){
if(previousCharIsUpper)
parameterText = parameterText + parameter[i].toUpperCase();
else
parameterText = parameterText + " " + parameter[i].toUpperCase();
previousCharIsUpper = true;
}
else{
parameterText = parameterText + parameter[i];
previousCharIsUpper = false;
}
if(i==0)parameterText = parameter[0].toUpperCase();
}
}
return parameterText;
}
function splitToTds(airlineData, headerName){
var keys = Object.keys(airlineData);
var tdString = "<td class='airlineDataHeader'>"+headerName+"</td><td class='airlineDataHeader'></td>;<td class='airlineDataHeader'></td><td class='airlineDataHeader'></td>;";
for(var i = 0; i < keys.length; i++){
var val = airlineData[keys[i]];
if(typeof val != 'object'){
tdString = tdString + "<td class='parameterName'>"+ makeParameterText(keys[i]) +"</td><td class='parameterValue'>" + airlineData[keys[i]] + "</td>;";
}
else{
if(val instanceof Array){
var flightSegments = val;
for(var j = 0; j < flightSegments.length; j++)
tdString = tdString + splitToTds(airlineData[keys[i]][j],"Flight Segment");
}
else
tdString = tdString + splitToTds(airlineData[keys[i]],"Flight Segment");
}
}
return tdString;
}
function tableize(airlineData){
var tds = splitToTds(airlineData, "Boarding Pass Information");
var airlineTable = "";
var tdArr = tds.split(";");
console.log(tdArr);
var loop = 0;
for(; loop < tdArr.length ; loop+=2){
var firstCol = (tdArr[loop]!="" && tdArr[loop]!=null)?tdArr[loop]:"<td> </td><td> </td>";
var secCol = (tdArr[loop+1]!="" && tdArr[loop+1]!=null)?tdArr[loop+1]:"<td> </td><td> </td>";
console.log("F : "+firstCol)
console.log("S : "+secCol)
airlineTable = airlineTable + "<tr>"+ firstCol + secCol + "</tr>";
}
//if(loop == tdArr.length)
airlineTable = "<table>" + airlineTable + "</table>";
console.log(airlineTable);
return airlineTable;
}
$('document').ready(function(){
console.log(makeParameterText("secondNonConsecutiveBaggageTagLPN"));
//var airlineCode = 'M1ALNASSER/LUBNAABDU EM3X23F DXBISTEK 0123 033Y037C0262 366>5322MO6033BEK 0176938082002 2A1761610270374 30K ^1';
var airlineCode = 'M2STONE/JACOB EDCEZUB PERDXBEK 0421 163Y045C0221 136>20B1WW2163BEK 251762146276875 1 DCEZUB DXBDAREK 0725 164Y041F0216 127251762146276875 1 ';
var airlineCodeChar = airlineCode.length;
var bpass = BoardingPassParser.parseBoardingPass(airlineCode);
var bdTable = tableize(bpass.parsedBoardingPassData);
console.log(bdTable);
console.log(JSON.stringify(bpass));
console.log(airlineCode);
console.log(airlineCodeChar);
//$("#parsedData").text(JSON.stringify(bpass));
document.getElementById('parsedDiv').innerHTML = bdTable;
$('#boardingPassTextDiv').append("<label style='height:30px;float:left;'>[</label>");
for(var i = 0; i < airlineCodeChar; i++){
$('#boardingPassTextDiv').append("<label style='height:30px;float:left;font-weight:bold'>" + airlineCode[i] + "</label>");
var labelElem = document.createElement("label");
labelElem.setAttribute("class", "labelCell");
labelElem.textContent = airlineCode[i];
document.getElementById("draw_div_one").appendChild(labelElem);
}
$('#boardingPassTextDiv').append("<label style='height:30px;float:left;'>]</label>");
});
//#98ecec
</script>
<!-- <label class="airlineText">
M1ALNASSER/LUBNAABDU EM3X23F DXBISTEK 0123 033Y037C0262 366>5322MO6033BEK 0176938082002 2A1761610270374 30K ^1
</label> -->
<body>
<div class="row" style="position:relative;">
<div class="one eighth"></div>
<div class="six eighths">
<div class="row" style="height:100px;background-color:#77c699;margin-bottom:30px;padding-top:20px;padding-left:20px;font-size:40px;color:white">
Boarding Pass Parser Example
</div>
<div id='boardingPassTextDiv' style='height:60px;margin-bottom:30px;background-color:antiquewhite'></div>
<div id="draw_div_one" class="row" style="margin-bottom:30px"></div>
<div id='parsedDiv' class="row" style="padding-top:10px;padding-bottom:20px;"></div>
<br>
</div>
<div class="one eighth"></div>
</div>
<br><br>
<div class="row"></div>
</body>
</html>