From 8fd7005c56ffab207cb02e140faadd80de374f61 Mon Sep 17 00:00:00 2001 From: Erik Lindsay Date: Mon, 17 Apr 2017 14:25:28 -0400 Subject: [PATCH] idk --- Wello/platforms/browser/cordova/build | 0 Wello/platforms/browser/cordova/clean | 0 .../node_modules/content-disposition/index.js | 445 ++++++++++ .../express/node_modules/cookie/index.js | 156 ++++ Wello/platforms/browser/cordova/run | 0 Wello/platforms/browser/cordova/version | 0 html-ONLY-site/css/main.css | 22 +- html-ONLY-site/map.php | 33 +- html-site/css/main (1).css | 838 +++++++++--------- html-site/test.html | 58 +- maps.js | 168 ++-- 11 files changed, 1181 insertions(+), 539 deletions(-) mode change 100644 => 100755 Wello/platforms/browser/cordova/build mode change 100644 => 100755 Wello/platforms/browser/cordova/clean create mode 100644 Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/index.js create mode 100644 Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/index.js mode change 100644 => 100755 Wello/platforms/browser/cordova/run mode change 100644 => 100755 Wello/platforms/browser/cordova/version diff --git a/Wello/platforms/browser/cordova/build b/Wello/platforms/browser/cordova/build old mode 100644 new mode 100755 diff --git a/Wello/platforms/browser/cordova/clean b/Wello/platforms/browser/cordova/clean old mode 100644 new mode 100755 diff --git a/Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/index.js b/Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/index.js new file mode 100644 index 0000000..4a352dc --- /dev/null +++ b/Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/content-disposition/index.js @@ -0,0 +1,445 @@ +/*! + * content-disposition + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + */ + +module.exports = contentDisposition +module.exports.parse = parse + +/** + * Module dependencies. + */ + +var basename = require('path').basename + +/** + * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including "%") + */ + +var encodeUriAttrCharRegExp = /[\x00-\x20"'\(\)*,\/:;<=>?@\[\\\]\{\}\x7f]/g + +/** + * RegExp to match percent encoding escape. + */ + +var hexEscapeRegExp = /%[0-9A-Fa-f]{2}/ +var hexEscapeReplaceRegExp = /%([0-9A-Fa-f]{2})/g + +/** + * RegExp to match non-latin1 characters. + */ + +var nonLatin1RegExp = /[^\x20-\x7e\xa0-\xff]/g + +/** + * RegExp to match quoted-pair in RFC 2616 + * + * quoted-pair = "\" CHAR + * CHAR = + */ + +var qescRegExp = /\\([\u0000-\u007f])/g; + +/** + * RegExp to match chars that must be quoted-pair in RFC 2616 + */ + +var quoteRegExp = /([\\"])/g + +/** + * RegExp for various RFC 2616 grammar + * + * parameter = token "=" ( token | quoted-string ) + * token = 1* + * separators = "(" | ")" | "<" | ">" | "@" + * | "," | ";" | ":" | "\" | <"> + * | "/" | "[" | "]" | "?" | "=" + * | "{" | "}" | SP | HT + * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) + * qdtext = > + * quoted-pair = "\" CHAR + * CHAR = + * TEXT = + * LWS = [CRLF] 1*( SP | HT ) + * CRLF = CR LF + * CR = + * LF = + * SP = + * HT = + * CTL = + * OCTET = + */ + +var paramRegExp = /; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g +var textRegExp = /^[\x20-\x7e\x80-\xff]+$/ +var tokenRegExp = /^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/ + +/** + * RegExp for various RFC 5987 grammar + * + * ext-value = charset "'" [ language ] "'" value-chars + * charset = "UTF-8" / "ISO-8859-1" / mime-charset + * mime-charset = 1*mime-charsetc + * mime-charsetc = ALPHA / DIGIT + * / "!" / "#" / "$" / "%" / "&" + * / "+" / "-" / "^" / "_" / "`" + * / "{" / "}" / "~" + * language = ( 2*3ALPHA [ extlang ] ) + * / 4ALPHA + * / 5*8ALPHA + * extlang = *3( "-" 3ALPHA ) + * value-chars = *( pct-encoded / attr-char ) + * pct-encoded = "%" HEXDIG HEXDIG + * attr-char = ALPHA / DIGIT + * / "!" / "#" / "$" / "&" / "+" / "-" / "." + * / "^" / "_" / "`" / "|" / "~" + */ + +var extValueRegExp = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+\-\.^_`|~])+)$/ + +/** + * RegExp for various RFC 6266 grammar + * + * disposition-type = "inline" | "attachment" | disp-ext-type + * disp-ext-type = token + * disposition-parm = filename-parm | disp-ext-parm + * filename-parm = "filename" "=" value + * | "filename*" "=" ext-value + * disp-ext-parm = token "=" value + * | ext-token "=" ext-value + * ext-token = + */ + +var dispositionTypeRegExp = /^([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *(?:$|;)/ + +/** + * Create an attachment Content-Disposition header. + * + * @param {string} [filename] + * @param {object} [options] + * @param {string} [options.type=attachment] + * @param {string|boolean} [options.fallback=true] + * @return {string} + * @api public + */ + +function contentDisposition(filename, options) { + var opts = options || {} + + // get type + var type = opts.type || 'attachment' + + // get parameters + var params = createparams(filename, opts.fallback) + + // format into string + return format(new ContentDisposition(type, params)) +} + +/** + * Create parameters object from filename and fallback. + * + * @param {string} [filename] + * @param {string|boolean} [fallback=true] + * @return {object} + * @api private + */ + +function createparams(filename, fallback) { + if (filename === undefined) { + return + } + + var params = {} + + if (typeof filename !== 'string') { + throw new TypeError('filename must be a string') + } + + // fallback defaults to true + if (fallback === undefined) { + fallback = true + } + + if (typeof fallback !== 'string' && typeof fallback !== 'boolean') { + throw new TypeError('fallback must be a string or boolean') + } + + if (typeof fallback === 'string' && nonLatin1RegExp.test(fallback)) { + throw new TypeError('fallback must be ISO-8859-1 string') + } + + // restrict to file base name + var name = basename(filename) + + // determine if name is suitable for quoted string + var isQuotedString = textRegExp.test(name) + + // generate fallback name + var fallbackName = typeof fallback !== 'string' + ? fallback && getlatin1(name) + : basename(fallback) + var hasFallback = typeof fallbackName === 'string' && fallbackName !== name + + // set extended filename parameter + if (hasFallback || !isQuotedString || hexEscapeRegExp.test(name)) { + params['filename*'] = name + } + + // set filename parameter + if (isQuotedString || hasFallback) { + params.filename = hasFallback + ? fallbackName + : name + } + + return params +} + +/** + * Format object to Content-Disposition header. + * + * @param {object} obj + * @param {string} obj.type + * @param {object} [obj.parameters] + * @return {string} + * @api private + */ + +function format(obj) { + var parameters = obj.parameters + var type = obj.type + + if (!type || typeof type !== 'string' || !tokenRegExp.test(type)) { + throw new TypeError('invalid type') + } + + // start with normalized type + var string = String(type).toLowerCase() + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + var val = param.substr(-1) === '*' + ? ustring(parameters[param]) + : qstring(parameters[param]) + + string += '; ' + param + '=' + val + } + } + + return string +} + +/** + * Decode a RFC 6987 field value (gracefully). + * + * @param {string} str + * @return {string} + * @api private + */ + +function decodefield(str) { + var match = extValueRegExp.exec(str) + + if (!match) { + throw new TypeError('invalid extended field value') + } + + var charset = match[1].toLowerCase() + var encoded = match[2] + var value + + // to binary string + var binary = encoded.replace(hexEscapeReplaceRegExp, pdecode) + + switch (charset) { + case 'iso-8859-1': + value = getlatin1(binary) + break + case 'utf-8': + value = new Buffer(binary, 'binary').toString('utf8') + break + default: + throw new TypeError('unsupported charset in extended field') + } + + return value +} + +/** + * Get ISO-8859-1 version of string. + * + * @param {string} val + * @return {string} + * @api private + */ + +function getlatin1(val) { + // simple Unicode -> ISO-8859-1 transformation + return String(val).replace(nonLatin1RegExp, '?') +} + +/** + * Parse Content-Disposition header string. + * + * @param {string} string + * @return {object} + * @api private + */ + +function parse(string) { + if (!string || typeof string !== 'string') { + throw new TypeError('argument string is required') + } + + var match = dispositionTypeRegExp.exec(string) + + if (!match) { + throw new TypeError('invalid type format') + } + + // normalize type + var index = match[0].length + var type = match[1].toLowerCase() + + var key + var names = [] + var params = {} + var value + + // calculate index to start at + index = paramRegExp.lastIndex = match[0].substr(-1) === ';' + ? index - 1 + : index + + // match parameters + while (match = paramRegExp.exec(string)) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (names.indexOf(key) !== -1) { + throw new TypeError('invalid duplicate parameter') + } + + names.push(key) + + if (key.indexOf('*') + 1 === key.length) { + // decode extended value + key = key.slice(0, -1) + value = decodefield(value) + + // overwrite existing value + params[key] = value + continue + } + + if (typeof params[key] === 'string') { + continue + } + + if (value[0] === '"') { + // remove quotes and escapes + value = value + .substr(1, value.length - 2) + .replace(qescRegExp, '$1') + } + + params[key] = value + } + + if (index !== -1 && index !== string.length) { + throw new TypeError('invalid parameter format') + } + + return new ContentDisposition(type, params) +} + +/** + * Percent decode a single character. + * + * @param {string} str + * @param {string} hex + * @return {string} + * @api private + */ + +function pdecode(str, hex) { + return String.fromCharCode(parseInt(hex, 16)) +} + +/** + * Percent encode a single character. + * + * @param {string} char + * @return {string} + * @api private + */ + +function pencode(char) { + var hex = String(char) + .charCodeAt(0) + .toString(16) + .toUpperCase() + return hex.length === 1 + ? '%0' + hex + : '%' + hex +} + +/** + * Quote a string for HTTP. + * + * @param {string} val + * @return {string} + * @api private + */ + +function qstring(val) { + var str = String(val) + + return '"' + str.replace(quoteRegExp, '\\$1') + '"' +} + +/** + * Encode a Unicode string for HTTP (RFC 5987). + * + * @param {string} val + * @return {string} + * @api private + */ + +function ustring(val) { + var str = String(val) + + // percent encode as UTF-8 + var encoded = encodeURIComponent(str) + .replace(encodeUriAttrCharRegExp, pencode) + + return 'UTF-8\'\'' + encoded +} + +/** + * Class for parsed Content-Disposition header for v8 optimization + */ + +function ContentDisposition(type, parameters) { + this.type = type + this.parameters = parameters +} diff --git a/Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/index.js b/Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/index.js new file mode 100644 index 0000000..b705b2c --- /dev/null +++ b/Wello/platforms/browser/cordova/node_modules/cordova-serve/node_modules/express/node_modules/cookie/index.js @@ -0,0 +1,156 @@ +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +/** + * Module exports. + * @public + */ + +exports.parse = parse; +exports.serialize = serialize; + +/** + * Module variables. + * @private + */ + +var decode = decodeURIComponent; +var encode = encodeURIComponent; + +/** + * RegExp to match field-content in RFC 7230 sec 3.2 + * + * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] + * field-vchar = VCHAR / obs-text + * obs-text = %x80-FF + */ + +var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + +/** + * Parse a cookie header. + * + * Parse the given cookie header string into an object + * The object has the various cookies as keys(names) => values + * + * @param {string} str + * @param {object} [options] + * @return {object} + * @public + */ + +function parse(str, options) { + if (typeof str !== 'string') { + throw new TypeError('argument str must be a string'); + } + + var obj = {} + var opt = options || {}; + var pairs = str.split(/; */); + var dec = opt.decode || decode; + + pairs.forEach(function(pair) { + var eq_idx = pair.indexOf('=') + + // skip things that don't look like key=value + if (eq_idx < 0) { + return; + } + + var key = pair.substr(0, eq_idx).trim() + var val = pair.substr(++eq_idx, pair.length).trim(); + + // quoted values + if ('"' == val[0]) { + val = val.slice(1, -1); + } + + // only assign once + if (undefined == obj[key]) { + obj[key] = tryDecode(val, dec); + } + }); + + return obj; +} + +/** + * Serialize data into a cookie header. + * + * Serialize the a name value pair into a cookie string suitable for + * http headers. An optional options object specified cookie parameters. + * + * serialize('foo', 'bar', { httpOnly: true }) + * => "foo=bar; httpOnly" + * + * @param {string} name + * @param {string} val + * @param {object} [options] + * @return {string} + * @public + */ + +function serialize(name, val, options) { + var opt = options || {}; + var enc = opt.encode || encode; + + if (!fieldContentRegExp.test(name)) { + throw new TypeError('argument name is invalid'); + } + + var value = enc(val); + + if (value && !fieldContentRegExp.test(value)) { + throw new TypeError('argument val is invalid'); + } + + var pairs = [name + '=' + value]; + + if (null != opt.maxAge) { + var maxAge = opt.maxAge - 0; + if (isNaN(maxAge)) throw new Error('maxAge should be a Number'); + pairs.push('Max-Age=' + maxAge); + } + + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError('option domain is invalid'); + } + + pairs.push('Domain=' + opt.domain); + } + + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError('option path is invalid'); + } + + pairs.push('Path=' + opt.path); + } + + if (opt.expires) pairs.push('Expires=' + opt.expires.toUTCString()); + if (opt.httpOnly) pairs.push('HttpOnly'); + if (opt.secure) pairs.push('Secure'); + + return pairs.join('; '); +} + +/** + * Try decoding a string using a decoding function. + * + * @param {string} str + * @param {function} decode + * @private + */ + +function tryDecode(str, decode) { + try { + return decode(str); + } catch (e) { + return str; + } +} diff --git a/Wello/platforms/browser/cordova/run b/Wello/platforms/browser/cordova/run old mode 100644 new mode 100755 diff --git a/Wello/platforms/browser/cordova/version b/Wello/platforms/browser/cordova/version old mode 100644 new mode 100755 diff --git a/html-ONLY-site/css/main.css b/html-ONLY-site/css/main.css index 9bfe93a..25173e7 100644 --- a/html-ONLY-site/css/main.css +++ b/html-ONLY-site/css/main.css @@ -255,10 +255,28 @@ button { button.gps img { width: 100%; } + +/* +#map { + width: 100vw !important; + height: 100vh !important; + height: calc(100vh - 8.1rem); +} +*/ /* #map { - width: 100vw; - height: calc(100vh - 8.1rem); } + position: relative; + padding-bottom: 75%; // This is the aspect ratio + height: 0; + overflow: hidden; + } + #map iframe { + position: absolute; + top: 0; + left: 0; + width: 100% !important; + height: 100% !important; + } */ main{ diff --git a/html-ONLY-site/map.php b/html-ONLY-site/map.php index e72bd59..b9ce7db 100644 --- a/html-ONLY-site/map.php +++ b/html-ONLY-site/map.php @@ -1,3 +1,5 @@ + + @@ -16,12 +18,22 @@ + + + + + + + + + +
-
-
-
+ +
+ + +
+ +
@@ -62,7 +85,7 @@ DETAILS
- +
go to > +--> \ No newline at end of file diff --git a/html-site/css/main (1).css b/html-site/css/main (1).css index cc07788..83a76b8 100644 --- a/html-site/css/main (1).css +++ b/html-site/css/main (1).css @@ -1,419 +1,419 @@ -/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */ -/* - * What follows is the result of much research on cross-browser styling. - * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, - * Kroc Camen, and the H5BP dev community and team. - */ -/* ========================================================================== - Base styles: opinionated defaults - ========================================================================== */ -html { - color: #222; - font-size: 1em; - line-height: 1.4; } - -/* This is where the page for details starts */ - - - - - - - - -

- - - - -Hazzard button - - - -Edit button - - -go back - - -

- - -

-W3Schools.com

-

- - -

- Date Completed: -

Insert date completed here

- - Permit Number: -

Insert Permit Number here

- - State Well Number: -

Insert well number here

- Signature -

Name of the person here

- -

- Owner -

University of Connecticut

- Location -

Mansfield CT

- - -
- -
- Date of Report: -

Insert that here

- - Registrant Number: -

Insert that here

- Other number: -

Insert that here:

- - -

-

- -
- - - - -

-Location Relative To Landmarks -

Insert description here

- - -
- Use : -

where to use

- -
- -
- Drilling Equipment: -

Write what equipment was used

-
-

-

Casing details

-
-

Length: insert length here

-

Diameter: insert here

-

Weight per foot: insert here

-

Drive Shoe: insert here

-

Threaded: insert here

-

Was Casing Grouted: insert here

-
-

Yeild Test

-
-

Methods: insert here

-

Duration: insert here

-

Yield: insert here

-

-Write down the yeild here with same format as above -

-
-

Water Level

-
-

From Land to Surface: insert here

-

During Yeild Test: insert here

-

Depth of Completed Well: insert here

- -
-

Screen Details

-
-

Make: insert here

-

Length Open To Aquilfier: insert here

-

Slot Size: insert here

-

Diameter: insert here

-

Gravel: insert here

-

Diameter Including Gravel Pack: insert here

-

Gravel Size: insert here

-

Gravel Pack Location: insert here

-
-

Depth from land to surface

-
-

We must find a way to iterate based on the value in the submit form

- - -
- - - - - - - - - - - -/* - * Remove text-shadow in selection highlight: - * https://twitter.com/miketaylr/status/12228805301 - * - * These selection rule sets have to be separate. - * Customize the background color to match your design. - */ -::-moz-selection { - background: #b3d4fc; - text-shadow: none; } - -::selection { - background: #b3d4fc; - text-shadow: none; } - -/* - * A better looking default horizontal rule - */ -hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 1em 0; - padding: 0; } - -/* - * Remove the gap between audio, canvas, iframes, - * images, videos and the bottom of their containers: - * https://github.com/h5bp/html5-boilerplate/issues/440 - */ -audio, -canvas, -iframe, -img, -svg, -video { - vertical-align: middle; } - -/* - * Remove default fieldset styles. - */ -fieldset { - border: 0; - margin: 0; - padding: 0; } - -/* - * Allow only vertical resizing of textareas. - */ -textarea { - resize: vertical; } - -/* ========================================================================== - Browser Upgrade Prompt - ========================================================================== */ -.browserupgrade { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; } - -/* ========================================================================== - Author's custom styles - ========================================================================== */ -/*colors--------------------------------------*/ -/*nav bars------------------------------------*/ -nav.top-nav { - position: fixed; - top: 0; - width: 100%; - display: flex; - justify-content: space-between; - background-color: #65b2ff; - z-index: 10; } - nav.top-nav button { - margin: .5rem; } - -nav.bottom-nav { - position: fixed; - bottom: 0; - width: 100%; - display: flex; - justify-content: space-around; - background-color: #65b2ff; } - nav.bottom-nav button { - margin: .5rem; } - -nav.fabs { - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-between; - position: fixed; - bottom: 6rem; - right: 0; - width: 6rem; - height: 8rem; } - -button { - background-color: transparent; - border: none; } - button.add-well { - background: #65b2ff; - border-radius: 10rem; - width: 4rem; - height: 4rem; } - button.gps { - background: #65b2ff; - border-radius: 10rem; - width: 2rem; - height: 2rem; } - button.gps img { - width: 100%; } - -#map { - width: 100vw; - height: 100vh; } - -/* ========================================================================== - Helper classes - ========================================================================== */ -/* - * Hide visually and from screen readers - */ -.hidden { - display: none !important; } - -/* - * Hide only visually, but have it available for screen readers: - * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility - */ -.visuallyhidden { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; } - -/* - * Extends the .visuallyhidden class to allow the element - * to be focusable when navigated to via the keyboard: - * https://www.drupal.org/node/897638 - */ -.visuallyhidden.focusable:active, -.visuallyhidden.focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; } - -/* - * Hide visually and from screen readers, but maintain layout - */ -.invisible { - visibility: hidden; } - -/* - * Clearfix: contain floats - * - * For modern browsers - * 1. The space content is one way to avoid an Opera bug when the - * `contenteditable` attribute is included anywhere else in the document. - * Otherwise it causes space to appear at the top and bottom of elements - * that receive the `clearfix` class. - * 2. The use of `table` rather than `block` is only necessary if using - * `:before` to contain the top-margins of child elements. - */ -.clearfix:before, -.clearfix:after { - content: " "; - /* 1 */ - display: table; - /* 2 */ } - -.clearfix:after { - clear: both; } - -/* ========================================================================== - EXAMPLE Media Queries for Responsive Design. - These examples override the primary ('mobile first') styles. - Modify as content requires. - ========================================================================== */ -@media only screen and (min-width: 35em) { - /* Style adjustments for viewports that meet the condition */ } -@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) { - /* Style adjustments for high resolution devices */ } -/* ========================================================================== - Print styles. - Inlined to avoid the additional HTTP request: - http://www.phpied.com/delay-loading-your-print-css/ - ========================================================================== */ -@media print { - *, - *:before, - *:after, - *:first-letter, - *:first-line { - background: transparent !important; - color: #000 !important; - /* Black prints faster: - http://www.sanbeiji.com/archives/953 */ - box-shadow: none !important; - text-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - /* - * Don't show links that are fragment identifiers, - * or use the `javascript:` pseudo protocol - */ - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - /* - * Printing Tables: - * http://css-discuss.incutio.com/wiki/Printing_Tables - */ - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } } +/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */ +/* + * What follows is the result of much research on cross-browser styling. + * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, + * Kroc Camen, and the H5BP dev community and team. + */ +/* ========================================================================== + Base styles: opinionated defaults + ========================================================================== */ +html { + color: #222; + font-size: 1em; + line-height: 1.4; } + +/* This is where the page for details starts */ + + + + + + + + +

+ + + + +Hazzard button + + + +Edit button + + +go back + + +

+ + +

+W3Schools.com

+

+ + +

+ Date Completed: +

Insert date completed here

+ + Permit Number: +

Insert Permit Number here

+ + State Well Number: +

Insert well number here

+ Signature +

Name of the person here

+ +

+ Owner +

University of Connecticut

+ Location +

Mansfield CT

+ + +
+ +
+ Date of Report: +

Insert that here

+ + Registrant Number: +

Insert that here

+ Other number: +

Insert that here:

+ + +

+

+ +
+ + + + +

+Location Relative To Landmarks +

Insert description here

+ + +
+ Use : +

where to use

+ +
+ +
+ Drilling Equipment: +

Write what equipment was used

+
+

+

Casing details

+
+

Length: insert length here

+

Diameter: insert here

+

Weight per foot: insert here

+

Drive Shoe: insert here

+

Threaded: insert here

+

Was Casing Grouted: insert here

+
+

Yeild Test

+
+

Methods: insert here

+

Duration: insert here

+

Yield: insert here

+

+Write down the yeild here with same format as above +

+
+

Water Level

+
+

From Land to Surface: insert here

+

During Yeild Test: insert here

+

Depth of Completed Well: insert here

+ +
+

Screen Details

+
+

Make: insert here

+

Length Open To Aquilfier: insert here

+

Slot Size: insert here

+

Diameter: insert here

+

Gravel: insert here

+

Diameter Including Gravel Pack: insert here

+

Gravel Size: insert here

+

Gravel Pack Location: insert here

+
+

Depth from land to surface

+
+

We must find a way to iterate based on the value in the submit form

+ + +
+ + + + + + + + + + + +/* + * Remove text-shadow in selection highlight: + * https://twitter.com/miketaylr/status/12228805301 + * + * These selection rule sets have to be separate. + * Customize the background color to match your design. + */ +::-moz-selection { + background: #b3d4fc; + text-shadow: none; } + +::selection { + background: #b3d4fc; + text-shadow: none; } + +/* + * A better looking default horizontal rule + */ +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; } + +/* + * Remove the gap between audio, canvas, iframes, + * images, videos and the bottom of their containers: + * https://github.com/h5bp/html5-boilerplate/issues/440 + */ +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; } + +/* + * Remove default fieldset styles. + */ +fieldset { + border: 0; + margin: 0; + padding: 0; } + +/* + * Allow only vertical resizing of textareas. + */ +textarea { + resize: vertical; } + +/* ========================================================================== + Browser Upgrade Prompt + ========================================================================== */ +.browserupgrade { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; } + +/* ========================================================================== + Author's custom styles + ========================================================================== */ +/*colors--------------------------------------*/ +/*nav bars------------------------------------*/ +nav.top-nav { + position: fixed; + top: 0; + width: 100%; + display: flex; + justify-content: space-between; + background-color: #65b2ff; + z-index: 10; } + nav.top-nav button { + margin: .5rem; } + +nav.bottom-nav { + position: fixed; + bottom: 0; + width: 100%; + display: flex; + justify-content: space-around; + background-color: #65b2ff; } + nav.bottom-nav button { + margin: .5rem; } + +nav.fabs { + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + position: fixed; + bottom: 6rem; + right: 0; + width: 6rem; + height: 8rem; } + +button { + background-color: transparent; + border: none; } + button.add-well { + background: #65b2ff; + border-radius: 10rem; + width: 4rem; + height: 4rem; } + button.gps { + background: #65b2ff; + border-radius: 10rem; + width: 2rem; + height: 2rem; } + button.gps img { + width: 100%; } + +#map { + width: 100vw; + height: 100vh; } + +/* ========================================================================== + Helper classes + ========================================================================== */ +/* + * Hide visually and from screen readers + */ +.hidden { + display: none !important; } + +/* + * Hide only visually, but have it available for screen readers: + * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility + */ +.visuallyhidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +/* + * Extends the .visuallyhidden class to allow the element + * to be focusable when navigated to via the keyboard: + * https://www.drupal.org/node/897638 + */ +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } + +/* + * Hide visually and from screen readers, but maintain layout + */ +.invisible { + visibility: hidden; } + +/* + * Clearfix: contain floats + * + * For modern browsers + * 1. The space content is one way to avoid an Opera bug when the + * `contenteditable` attribute is included anywhere else in the document. + * Otherwise it causes space to appear at the top and bottom of elements + * that receive the `clearfix` class. + * 2. The use of `table` rather than `block` is only necessary if using + * `:before` to contain the top-margins of child elements. + */ +.clearfix:before, +.clearfix:after { + content: " "; + /* 1 */ + display: table; + /* 2 */ } + +.clearfix:after { + clear: both; } + +/* ========================================================================== + EXAMPLE Media Queries for Responsive Design. + These examples override the primary ('mobile first') styles. + Modify as content requires. + ========================================================================== */ +@media only screen and (min-width: 35em) { + /* Style adjustments for viewports that meet the condition */ } +@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) { + /* Style adjustments for high resolution devices */ } +/* ========================================================================== + Print styles. + Inlined to avoid the additional HTTP request: + http://www.phpied.com/delay-loading-your-print-css/ + ========================================================================== */ +@media print { + *, + *:before, + *:after, + *:first-letter, + *:first-line { + background: transparent !important; + color: #000 !important; + /* Black prints faster: + http://www.sanbeiji.com/archives/953 */ + box-shadow: none !important; + text-shadow: none !important; } + + a, + a:visited { + text-decoration: underline; } + + a[href]:after { + content: " (" attr(href) ")"; } + + abbr[title]:after { + content: " (" attr(title) ")"; } + + /* + * Don't show links that are fragment identifiers, + * or use the `javascript:` pseudo protocol + */ + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + + /* + * Printing Tables: + * http://css-discuss.incutio.com/wiki/Printing_Tables + */ + thead { + display: table-header-group; } + + tr, + img { + page-break-inside: avoid; } + + img { + max-width: 100% !important; } + + p, + h2, + h3 { + orphans: 3; + widows: 3; } + + h2, + h3 { + page-break-after: avoid; } } diff --git a/html-site/test.html b/html-site/test.html index f722e90..e15a060 100644 --- a/html-site/test.html +++ b/html-site/test.html @@ -1,29 +1,29 @@ - - - - -

Click the button to get your coordinates.

- - - -

- - - - - + + + + +

Click the button to get your coordinates.

+ + + +

+ + + + + diff --git a/maps.js b/maps.js index 1a42c4a..5eb558b 100644 --- a/maps.js +++ b/maps.js @@ -1,84 +1,84 @@ -var map; -var infoWindow; - -// markersData variable stores the information necessary to each marker -// figure out a way to import mapData - - -function initialize() { - var mapOptions = { - center: new google.maps.LatLng(40.601203,-8.668173), - zoom: 9, - mapTypeId: 'roadmap', - }; - - map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); - - // a new Info Window is created - infoWindow = new google.maps.InfoWindow(); - - // Event that closes the Info Window with a click on the map - google.maps.event.addListener(map, 'click', function() { - infoWindow.close(); - }); - - // Finally displayMarkers() function is called to begin the markers creation - displayMarkers(); -} -google.maps.event.addDomListener(window, 'load', initialize); - - -// This function will iterate over markersData array -// creating markers with createMarker function -function displayMarkers(){ - - // this variable sets the map bounds according to markers position - var bounds = new google.maps.LatLngBounds(); - - // for loop traverses markersData array calling createMarker function for each marker - for (var i = 0; i < markersData.length; i++){ - - var latlng = new google.maps.LatLng(markersData[i].lat, markersData[i].lng); - var name = markersData[i].name; - var address1 = markersData[i].address1; - var address2 = markersData[i].address2; - var postalCode = markersData[i].postalCode; - - createMarker(latlng, name, address1, address2, postalCode); - - // marker position is added to bounds variable - bounds.extend(latlng); - } - - // Finally the bounds variable is used to set the map bounds - // with fitBounds() function - map.fitBounds(bounds); -} - -// This function creates each marker and it sets their Info Window content -function createMarker(latlng, name, address1, address2, postalCode){ - var marker = new google.maps.Marker({ - map: map, - position: latlng, - title: name - }); - - // This event expects a click on a marker - // When this event is fired the Info Window content is created - // and the Info Window is opened. - google.maps.event.addListener(marker, 'click', function() { - - // Creating the content to be inserted in the infowindow - var iwContent = '
' + - '
' + name + '
' + - '
' + address1 + '
' + - address2 + '
' + - postalCode + '
'; - - // including content to the Info Window. - infoWindow.setContent(iwContent); - - // opening the Info Window in the current map and at the current marker location. - infoWindow.open(map, marker); - }); -} +var map; +var infoWindow; + +// markersData variable stores the information necessary to each marker +// figure out a way to import mapData + + +function initialize() { + var mapOptions = { + center: new google.maps.LatLng(40.601203,-8.668173), + zoom: 9, + mapTypeId: 'roadmap', + }; + + map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); + + // a new Info Window is created + infoWindow = new google.maps.InfoWindow(); + + // Event that closes the Info Window with a click on the map + google.maps.event.addListener(map, 'click', function() { + infoWindow.close(); + }); + + // Finally displayMarkers() function is called to begin the markers creation + displayMarkers(); +} +google.maps.event.addDomListener(window, 'load', initialize); + + +// This function will iterate over markersData array +// creating markers with createMarker function +function displayMarkers(){ + + // this variable sets the map bounds according to markers position + var bounds = new google.maps.LatLngBounds(); + + // for loop traverses markersData array calling createMarker function for each marker + for (var i = 0; i < markersData.length; i++){ + + var latlng = new google.maps.LatLng(markersData[i].lat, markersData[i].lng); + var name = markersData[i].name; + var address1 = markersData[i].address1; + var address2 = markersData[i].address2; + var postalCode = markersData[i].postalCode; + + createMarker(latlng, name, address1, address2, postalCode); + + // marker position is added to bounds variable + bounds.extend(latlng); + } + + // Finally the bounds variable is used to set the map bounds + // with fitBounds() function + map.fitBounds(bounds); +} + +// This function creates each marker and it sets their Info Window content +function createMarker(latlng, name, address1, address2, postalCode){ + var marker = new google.maps.Marker({ + map: map, + position: latlng, + title: name + }); + + // This event expects a click on a marker + // When this event is fired the Info Window content is created + // and the Info Window is opened. + google.maps.event.addListener(marker, 'click', function() { + + // Creating the content to be inserted in the infowindow + var iwContent = '
' + + '
' + name + '
' + + '
' + address1 + '
' + + address2 + '
' + + postalCode + '
'; + + // including content to the Info Window. + infoWindow.setContent(iwContent); + + // opening the Info Window in the current map and at the current marker location. + infoWindow.open(map, marker); + }); +}