This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
272 lines
7.0 KiB
272 lines
7.0 KiB
'use strict'; |
|
|
|
var NS = exports.NAMESPACES = { |
|
HTML: 'http://www.w3.org/1999/xhtml', |
|
MATHML: 'http://www.w3.org/1998/Math/MathML', |
|
SVG: 'http://www.w3.org/2000/svg', |
|
XLINK: 'http://www.w3.org/1999/xlink', |
|
XML: 'http://www.w3.org/XML/1998/namespace', |
|
XMLNS: 'http://www.w3.org/2000/xmlns/' |
|
}; |
|
|
|
exports.ATTRS = { |
|
TYPE: 'type', |
|
ACTION: 'action', |
|
ENCODING: 'encoding', |
|
PROMPT: 'prompt', |
|
NAME: 'name', |
|
COLOR: 'color', |
|
FACE: 'face', |
|
SIZE: 'size' |
|
}; |
|
|
|
exports.DOCUMENT_MODE = { |
|
NO_QUIRKS: 'no-quirks', |
|
QUIRKS: 'quirks', |
|
LIMITED_QUIRKS: 'limited-quirks' |
|
}; |
|
|
|
var $ = exports.TAG_NAMES = { |
|
A: 'a', |
|
ADDRESS: 'address', |
|
ANNOTATION_XML: 'annotation-xml', |
|
APPLET: 'applet', |
|
AREA: 'area', |
|
ARTICLE: 'article', |
|
ASIDE: 'aside', |
|
|
|
B: 'b', |
|
BASE: 'base', |
|
BASEFONT: 'basefont', |
|
BGSOUND: 'bgsound', |
|
BIG: 'big', |
|
BLOCKQUOTE: 'blockquote', |
|
BODY: 'body', |
|
BR: 'br', |
|
BUTTON: 'button', |
|
|
|
CAPTION: 'caption', |
|
CENTER: 'center', |
|
CODE: 'code', |
|
COL: 'col', |
|
COLGROUP: 'colgroup', |
|
|
|
DD: 'dd', |
|
DESC: 'desc', |
|
DETAILS: 'details', |
|
DIALOG: 'dialog', |
|
DIR: 'dir', |
|
DIV: 'div', |
|
DL: 'dl', |
|
DT: 'dt', |
|
|
|
EM: 'em', |
|
EMBED: 'embed', |
|
|
|
FIELDSET: 'fieldset', |
|
FIGCAPTION: 'figcaption', |
|
FIGURE: 'figure', |
|
FONT: 'font', |
|
FOOTER: 'footer', |
|
FOREIGN_OBJECT: 'foreignObject', |
|
FORM: 'form', |
|
FRAME: 'frame', |
|
FRAMESET: 'frameset', |
|
|
|
H1: 'h1', |
|
H2: 'h2', |
|
H3: 'h3', |
|
H4: 'h4', |
|
H5: 'h5', |
|
H6: 'h6', |
|
HEAD: 'head', |
|
HEADER: 'header', |
|
HGROUP: 'hgroup', |
|
HR: 'hr', |
|
HTML: 'html', |
|
|
|
I: 'i', |
|
IMG: 'img', |
|
IMAGE: 'image', |
|
INPUT: 'input', |
|
IFRAME: 'iframe', |
|
|
|
KEYGEN: 'keygen', |
|
|
|
LABEL: 'label', |
|
LI: 'li', |
|
LINK: 'link', |
|
LISTING: 'listing', |
|
|
|
MAIN: 'main', |
|
MALIGNMARK: 'malignmark', |
|
MARQUEE: 'marquee', |
|
MATH: 'math', |
|
MENU: 'menu', |
|
MENUITEM: 'menuitem', |
|
META: 'meta', |
|
MGLYPH: 'mglyph', |
|
MI: 'mi', |
|
MO: 'mo', |
|
MN: 'mn', |
|
MS: 'ms', |
|
MTEXT: 'mtext', |
|
|
|
NAV: 'nav', |
|
NOBR: 'nobr', |
|
NOFRAMES: 'noframes', |
|
NOEMBED: 'noembed', |
|
NOSCRIPT: 'noscript', |
|
|
|
OBJECT: 'object', |
|
OL: 'ol', |
|
OPTGROUP: 'optgroup', |
|
OPTION: 'option', |
|
|
|
P: 'p', |
|
PARAM: 'param', |
|
PLAINTEXT: 'plaintext', |
|
PRE: 'pre', |
|
|
|
RB: 'rb', |
|
RP: 'rp', |
|
RT: 'rt', |
|
RTC: 'rtc', |
|
RUBY: 'ruby', |
|
|
|
S: 's', |
|
SCRIPT: 'script', |
|
SECTION: 'section', |
|
SELECT: 'select', |
|
SOURCE: 'source', |
|
SMALL: 'small', |
|
SPAN: 'span', |
|
STRIKE: 'strike', |
|
STRONG: 'strong', |
|
STYLE: 'style', |
|
SUB: 'sub', |
|
SUMMARY: 'summary', |
|
SUP: 'sup', |
|
|
|
TABLE: 'table', |
|
TBODY: 'tbody', |
|
TEMPLATE: 'template', |
|
TEXTAREA: 'textarea', |
|
TFOOT: 'tfoot', |
|
TD: 'td', |
|
TH: 'th', |
|
THEAD: 'thead', |
|
TITLE: 'title', |
|
TR: 'tr', |
|
TRACK: 'track', |
|
TT: 'tt', |
|
|
|
U: 'u', |
|
UL: 'ul', |
|
|
|
SVG: 'svg', |
|
|
|
VAR: 'var', |
|
|
|
WBR: 'wbr', |
|
|
|
XMP: 'xmp' |
|
}; |
|
|
|
var SPECIAL_ELEMENTS = exports.SPECIAL_ELEMENTS = Object.create(null); |
|
|
|
SPECIAL_ELEMENTS[NS.HTML] = Object.create(null); |
|
SPECIAL_ELEMENTS[NS.HTML][$.ADDRESS] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.APPLET] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.AREA] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.ARTICLE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.ASIDE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.BASE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.BASEFONT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.BGSOUND] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.BLOCKQUOTE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.BODY] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.BR] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.BUTTON] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.CAPTION] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.CENTER] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.COL] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.COLGROUP] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.DD] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.DETAILS] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.DIR] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.DIV] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.DL] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.DT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.EMBED] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.FIELDSET] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.FIGCAPTION] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.FIGURE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.FOOTER] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.FORM] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.FRAME] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.FRAMESET] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.H1] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.H2] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.H3] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.H4] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.H5] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.H6] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.HEAD] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.HEADER] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.HGROUP] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.HR] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.HTML] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.IFRAME] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.IMG] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.INPUT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.LI] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.LINK] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.LISTING] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.MAIN] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.MARQUEE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.MENU] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.META] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.NAV] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.NOEMBED] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.NOFRAMES] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.NOSCRIPT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.OBJECT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.OL] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.P] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.PARAM] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.PLAINTEXT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.PRE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.SCRIPT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.SECTION] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.SELECT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.SOURCE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.STYLE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.SUMMARY] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TABLE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TBODY] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TD] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TEMPLATE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TEXTAREA] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TFOOT] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TH] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.THEAD] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TITLE] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TR] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.TRACK] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.UL] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.WBR] = true; |
|
SPECIAL_ELEMENTS[NS.HTML][$.XMP] = true; |
|
|
|
SPECIAL_ELEMENTS[NS.MATHML] = Object.create(null); |
|
SPECIAL_ELEMENTS[NS.MATHML][$.MI] = true; |
|
SPECIAL_ELEMENTS[NS.MATHML][$.MO] = true; |
|
SPECIAL_ELEMENTS[NS.MATHML][$.MN] = true; |
|
SPECIAL_ELEMENTS[NS.MATHML][$.MS] = true; |
|
SPECIAL_ELEMENTS[NS.MATHML][$.MTEXT] = true; |
|
SPECIAL_ELEMENTS[NS.MATHML][$.ANNOTATION_XML] = true; |
|
|
|
SPECIAL_ELEMENTS[NS.SVG] = Object.create(null); |
|
SPECIAL_ELEMENTS[NS.SVG][$.TITLE] = true; |
|
SPECIAL_ELEMENTS[NS.SVG][$.FOREIGN_OBJECT] = true; |
|
SPECIAL_ELEMENTS[NS.SVG][$.DESC] = true;
|
|
|