From d1776f9eba7703628fa462d9202c2f1876b8fcaf Mon Sep 17 00:00:00 2001 From: Kevin Matz Date: Thu, 17 Dec 2020 12:45:36 -0500 Subject: [PATCH] initial web portal --- assets/muzzle-flash-clipart-vector.png | Bin 0 -> 45815 bytes wiflash_esp32/data/www/favico.png | Bin 0 -> 12410 bytes wiflash_esp32/data/www/index.html | 389 +++++++++++++++++++++ wiflash_esp32/data/www/jquery-3.5.1.min.js | 2 + wiflash_esp32/data/www/logo.png | Bin 0 -> 12790 bytes wiflash_esp32/data/www/style.css | 113 ++++++ wiflash_esp32/data/www/wiflash.js | 64 ++++ 7 files changed, 568 insertions(+) create mode 100644 assets/muzzle-flash-clipart-vector.png create mode 100644 wiflash_esp32/data/www/favico.png create mode 100644 wiflash_esp32/data/www/index.html create mode 100644 wiflash_esp32/data/www/jquery-3.5.1.min.js create mode 100644 wiflash_esp32/data/www/logo.png create mode 100644 wiflash_esp32/data/www/style.css create mode 100644 wiflash_esp32/data/www/wiflash.js diff --git a/assets/muzzle-flash-clipart-vector.png b/assets/muzzle-flash-clipart-vector.png new file mode 100644 index 0000000000000000000000000000000000000000..f00381e5c9d0d5434fb92130cdfd1bba2038cdb7 GIT binary patch literal 45815 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 literal 0 HcmV?d00001 diff --git a/wiflash_esp32/data/www/favico.png b/wiflash_esp32/data/www/favico.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d50d42f878cc4bca8ee4de5352a8102fa38748 GIT binary patch literal 12410 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 literal 0 HcmV?d00001 diff --git a/wiflash_esp32/data/www/index.html b/wiflash_esp32/data/www/index.html new file mode 100644 index 0000000..5d25eea --- /dev/null +++ b/wiflash_esp32/data/www/index.html @@ -0,0 +1,389 @@ + + + + + + + WiFlash Configuration + + + + + + + + +
+ +

WiFlash

+
+ +
+ + +
+

System Status

+
+ WiFi +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+
+
+ Network +
+ + + / + +
+
+ + +
+
+ + +
+
+
+ Battery + + +
+
+ RAM +
+ + +
+
+ + +
+
+
+ Flash +
+ + +
+
+ + +
+
+
+ +
+

Configuration

+
+ WiFi +
+ + +
+
+ + +
+
+ + + + +
+
+
+ Network +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ OSC Button +
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+ LED Strobe +
+ + +
+
+ + +
+
+
+ LED Pixels +
+ + +
+
+ + +
+
+
+ +
+

Hardware Setup

+
+ OSC Button +
+ + +
+
+ + +
+
+
+ LED Strobe +
+ + +
+
+ + +
+
+
+ LED Pixels +
+ + +
+
+ + +
+
+ + +
+
+
+
+ System Restart +
+ + +
+
+ + +
+
+
+
+
+ Firmware Update +
+ + +
+
+ + +
+
+
+
+ +
+

Help

+
+
Any sufficiently advanced technology is indistinguishable from magic.
+
—Arthur C. Clark, Clark's Third Law
+
+
+

LED Strobe DMX mapping

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChanCommandDMX RangeValue RangeResolution
1Intensity Coarse0 - 655350 - 100%15 bit
2.4kHz PWM
2Intensity Fine
3Duration0 - 2550.02 - 0.5s0.004s
4Rate0 - 2550.5 - 25Hz0.1Hz
+
+ + +
+
+
+

Copyright © 2020 Kevin Matz All Rights Reserved.

+
+ + diff --git a/wiflash_esp32/data/www/jquery-3.5.1.min.js b/wiflash_esp32/data/www/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/wiflash_esp32/data/www/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0z}cWKhQihw9m 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 UGGr{V4|M=_Wo@M@1?#Z?1t^2h3jhEB literal 0 HcmV?d00001 diff --git a/wiflash_esp32/data/www/style.css b/wiflash_esp32/data/www/style.css new file mode 100644 index 0000000..64c64ec --- /dev/null +++ b/wiflash_esp32/data/www/style.css @@ -0,0 +1,113 @@ +body { + font-family: sans-serif; + margin-left: 4em; + margin-right: 4em; + background-color: #799; +} +h2 { + margin-bottom: 1.2em; +} +fieldset { + margin-top: 1em; + background-color: white; +} +legend { + background-color: gray; + color: white; + padding: 5px 10px; +} +label { + display: inline-block; + min-width: 14em; + text-align: right; +} +table { + background-color: white; +} +th, td { + text-align: left; + padding: 0.5em 1em; +} +thead { + background-color: #ccc; +} +tbody tr:nth-child(even) td { + background-color: #eee; +} +label::after { + content: ":"; +} +footer { + color: darkgrey; + text-align: center; +} +#devicename { + padding-left: 3.5em; +} +#logo { + float: left; + height: 3em; +} +#tabs { + display: block; + overflow: hidden; + border: 1px solid darkslategrey; + background-color: #ddd; +} +#tabs button { + background-color: inherit; + float: left; + border: none; + outline: none; + cursor: pointer; + padding: 1em 2em; + transition: 0.3s; + font-weight: bolder; +} +#tabs button:hover { + background-color: #ccc; +} +/* Create an active/current tablink class */ +#tabs button.active { + background-color: #bbb; +} +/* Style the tab content */ +.tab { + background-color: #eee; + display: none; + padding: 6px 12px; + border: 1px solid darkslategrey; + border-top: none; +} +.tab h2:first-child { + display: none; +} + +#tabinfo input:disabled, #tabinfo select:disabled { + font-size: 1.1em; + border-width: 0px; + color: black; + background: white; +} +#tabinfo input { + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; +} +#tabinfo select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +figure { + display: flex; + flex-flow: column; + max-width: 25em; +} +figure blockquote { + margin: 0px; + padding: 0px; +} +figure figcaption { + text-align: right; +} diff --git a/wiflash_esp32/data/www/wiflash.js b/wiflash_esp32/data/www/wiflash.js new file mode 100644 index 0000000..f444571 --- /dev/null +++ b/wiflash_esp32/data/www/wiflash.js @@ -0,0 +1,64 @@ +$( document ).ready(function() { + setInterval(getStatus, 10000); + getStatus(); + getConfig(); + $("#tabs button:first-child").click(); +}); + +function getConfig() { + $.ajax({ + url: "/api/config", + dataType: "json", + success: function(data) { + console.log(data); + unpackJson(data, "config"); + } + }); +} + +function getStatus() { + $.ajax({ + url: "/api/status", + dataType: "json", + success: function(data) { + console.log(data); + unpackJson(data, "status"); + } + }); +} + +function switchTab(evt, name) { + $("#tabs button").removeClass("active"); + $(evt.target).addClass("active"); + $(".tab").hide(); + $("#"+name).show(); +} + +function unpackJson(data, scope = false) { + scope = scope ? scope + "_" : ""; + $.each(data, (key, value) => { + var id = scope + key; + if (isObject(value)) { + unpackJson(value, id); + } else { + var elmnt = $("#"+id); + if (elmnt.prop('type') == 'checkbox') { + elmnt.prop('checked', (value == "1") ? true : false); + } else { + elmnt.val(value); + } + } + }); +} + +function showPassword(input, button) { + if ($(button).prop('checked')) { + $(input).prop('type', "text"); + } else { + $(input).prop('type', "password"); + } +} + +const isObject = (obj) => { + return Object.prototype.toString.call(obj) === '[object Object]'; +};