From fcbf11ab61a3d56b7f1a1fae6bc43abd52294f1b Mon Sep 17 00:00:00 2001 From: wactbprot <thsteinbock@web.de> Date: Wed, 22 May 2013 16:21:59 +0200 Subject: [PATCH] http://a73434.berlin.ptb.de/mediawiki/index.php/Konstanten#Tabelle table of constatns list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit neue Datei: lib/mustache.js neue Datei: lib/share.js neue Datei: lists/table_of.js geändert: lists/up.js neue Datei: templates/table.html neue Datei: views/constants/map.js neue Datei: views/reduceStandard/map.js neue Datei: views/reduceStandard/reduce.js neue Datei: views/reduceType/map.js neue Datei: views/reduceType/reduce.js neue Datei: views/reduceYear/map.js neue Datei: views/reduceYear/reduce.js neue Datei: views/sign-sign/map.js neue Datei: views/standard-sign/map.js neue Datei: views/standard-year/map.js neue Datei: views/standard_type-sign/map.js neue Datei: views/standard_year-sign/map.js neue Datei: views/standard_year-type/map.js neue Datei: views/standard_year_type-sign/map.js neue Datei: views/standard_year_type_sign-doc/map.js neue Datei: views/standard_year_type_sign/map.js neue Datei: views/translations/map.js neue Datei: views/type-sign/map.js gelöscht: views/views.js neue Datei: views/year-sign/map.js --- lib/mustache.js | 452 +++++++++++++++++++++++ lib/share.js | 157 ++++++++ lists/table_of.js | 13 + lists/up.js | 10 +- templates/table.html | 41 ++ views/constants/map.js | 90 +++++ views/reduceStandard/map.js | 6 + views/reduceStandard/reduce.js | 3 + views/reduceType/map.js | 6 + views/reduceType/reduce.js | 3 + views/reduceYear/map.js | 6 + views/reduceYear/reduce.js | 3 + views/sign-sign/map.js | 6 + views/standard-sign/map.js | 7 + views/standard-year/map.js | 7 + views/standard_type-sign/map.js | 11 + views/standard_year-sign/map.js | 12 + views/standard_year-type/map.js | 11 + views/standard_year_type-sign/map.js | 14 + views/standard_year_type_sign-doc/map.js | 14 + views/standard_year_type_sign/map.js | 14 + views/translations/map.js | 11 + views/type-sign/map.js | 9 + views/views.js | 329 ----------------- views/year-sign/map.js | 9 + 25 files changed, 910 insertions(+), 334 deletions(-) create mode 100644 lib/mustache.js create mode 100644 lib/share.js create mode 100644 lists/table_of.js create mode 100644 templates/table.html create mode 100644 views/constants/map.js create mode 100644 views/reduceStandard/map.js create mode 100644 views/reduceStandard/reduce.js create mode 100644 views/reduceType/map.js create mode 100644 views/reduceType/reduce.js create mode 100644 views/reduceYear/map.js create mode 100644 views/reduceYear/reduce.js create mode 100644 views/sign-sign/map.js create mode 100644 views/standard-sign/map.js create mode 100644 views/standard-year/map.js create mode 100644 views/standard_type-sign/map.js create mode 100644 views/standard_year-sign/map.js create mode 100644 views/standard_year-type/map.js create mode 100644 views/standard_year_type-sign/map.js create mode 100644 views/standard_year_type_sign-doc/map.js create mode 100644 views/standard_year_type_sign/map.js create mode 100644 views/translations/map.js create mode 100644 views/type-sign/map.js delete mode 100644 views/views.js create mode 100644 views/year-sign/map.js diff --git a/lib/mustache.js b/lib/mustache.js new file mode 100644 index 0000000..b49c62a --- /dev/null +++ b/lib/mustache.js @@ -0,0 +1,452 @@ +/* + * CommonJS-compatible mustache.js module + * + * See http://github.com/janl/mustache.js for more info. + */ + +/* + mustache.js — Logic-less templates in JavaScript + + See http://mustache.github.com/ for more info. +*/ + +var Mustache = function () { + var _toString = Object.prototype.toString; + + Array.isArray = Array.isArray || function (obj) { + return _toString.call(obj) == "[object Array]"; + } + + var _trim = String.prototype.trim, trim; + + if (_trim) { + trim = function (text) { + return text == null ? "" : _trim.call(text); + } + } else { + var trimLeft, trimRight; + + // IE doesn't match non-breaking spaces with \s. + if ((/\S/).test("\xA0")) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; + } else { + trimLeft = /^\s+/; + trimRight = /\s+$/; + } + + trim = function (text) { + return text == null ? "" : + text.toString().replace(trimLeft, "").replace(trimRight, ""); + } + } + + var escapeMap = { + "&": "&", + "<": "<", + ">": ">", + '"': '"', + "'": ''' + }; + + function escapeHTML(string) { + return String(string).replace(/&(?!#?\w+;)|[<>"']/g, function (s) { + return escapeMap[s] || s; + }); + } + + var regexCache = {}; + var Renderer = function () {}; + + Renderer.prototype = { + otag: "{{", + ctag: "}}", + pragmas: {}, + buffer: [], + pragmas_implemented: { + "IMPLICIT-ITERATOR": true + }, + context: {}, + + render: function (template, context, partials, in_recursion) { + // reset buffer & set context + if (!in_recursion) { + this.context = context; + this.buffer = []; // TODO: make this non-lazy + } + + // fail fast + if (!this.includes("", template)) { + if (in_recursion) { + return template; + } else { + this.send(template); + return; + } + } + + // get the pragmas together + template = this.render_pragmas(template); + + // render the template + var html = this.render_section(template, context, partials); + + // render_section did not find any sections, we still need to render the tags + if (html === false) { + html = this.render_tags(template, context, partials, in_recursion); + } + + if (in_recursion) { + return html; + } else { + this.sendLines(html); + } + }, + + /* + Sends parsed lines + */ + send: function (line) { + if (line !== "") { + this.buffer.push(line); + } + }, + + sendLines: function (text) { + if (text) { + var lines = text.split("\n"); + for (var i = 0; i < lines.length; i++) { + this.send(lines[i]); + } + } + }, + + /* + Looks for %PRAGMAS + */ + render_pragmas: function (template) { + // no pragmas + if (!this.includes("%", template)) { + return template; + } + + var that = this; + var regex = this.getCachedRegex("render_pragmas", function (otag, ctag) { + return new RegExp(otag + "%([\\w-]+) ?([\\w]+=[\\w]+)?" + ctag, "g"); + }); + + return template.replace(regex, function (match, pragma, options) { + if (!that.pragmas_implemented[pragma]) { + throw({message: + "This implementation of mustache doesn't understand the '" + + pragma + "' pragma"}); + } + that.pragmas[pragma] = {}; + if (options) { + var opts = options.split("="); + that.pragmas[pragma][opts[0]] = opts[1]; + } + return ""; + // ignore unknown pragmas silently + }); + }, + + /* + Tries to find a partial in the curent scope and render it + */ + render_partial: function (name, context, partials) { + name = trim(name); + if (!partials || partials[name] === undefined) { + throw({message: "unknown_partial '" + name + "'"}); + } + if (!context || typeof context[name] != "object") { + return this.render(partials[name], context, partials, true); + } + return this.render(partials[name], context[name], partials, true); + }, + + /* + Renders inverted (^) and normal (#) sections + */ + render_section: function (template, context, partials) { + if (!this.includes("#", template) && !this.includes("^", template)) { + // did not render anything, there were no sections + return false; + } + + var that = this; + + var regex = this.getCachedRegex("render_section", function (otag, ctag) { + // This regex matches _the first_ section ({{#foo}}{{/foo}}), and captures the remainder + return new RegExp( + "^([\\s\\S]*?)" + // all the crap at the beginning that is not {{*}} ($1) + + otag + // {{ + "(\\^|\\#)\\s*(.+?)\\s*" +// #foo (# == $2, foo == $3), not greedy + ctag + // }} + + "\n*([\\s\\S]*?)" + // between the tag ($2). leading newlines are dropped + + otag + // {{ + "\\/\\s*\\3\\s*" + // /foo (backreference to the opening tag). + ctag + // }} + + "\\s*([\\s\\S]*)$", // everything else in the string ($4). leading whitespace is dropped. + + "g"); + }); + + + // for each {{#foo}}{{/foo}} section do... + return template.replace(regex, function (match, before, type, name, content, after) { + // before contains only tags, no sections + var renderedBefore = before ? that.render_tags(before, context, partials, true) : "", + + // after may contain both sections and tags, so use full rendering function + renderedAfter = after ? that.render(after, context, partials, true) : "", + + // will be computed below + renderedContent, + + value = that.find(name, context); + + if (type === "^") { // inverted section + if (!value || Array.isArray(value) && value.length === 0) { + // false or empty list, render it + renderedContent = that.render(content, context, partials, true); + } else { + renderedContent = ""; + } + } else if (type === "#") { // normal section + if (Array.isArray(value)) { // Enumerable, Let's loop! + renderedContent = that.map(value, function (row) { + return that.render(content, that.create_context(row), partials, true); + }).join(""); + } else if (that.is_object(value)) { // Object, Use it as subcontext! + renderedContent = that.render(content, that.create_context(value), + partials, true); + } else if (typeof value == "function") { + // higher order section + renderedContent = value.call(context, content, function (text) { + return that.render(text, context, partials, true); + }); + } else if (value) { // boolean section + renderedContent = that.render(content, context, partials, true); + } else { + renderedContent = ""; + } + } + + return renderedBefore + renderedContent + renderedAfter; + }); + }, + + /* + Replace {{foo}} and friends with values from our view + */ + render_tags: function (template, context, partials, in_recursion) { + // tit for tat + var that = this; + + var new_regex = function () { + return that.getCachedRegex("render_tags", function (otag, ctag) { + return new RegExp(otag + "(=|!|>|&|\\{|%)?([^#\\^]+?)\\1?" + ctag + "+", "g"); + }); + }; + + var regex = new_regex(); + var tag_replace_callback = function (match, operator, name) { + switch(operator) { + case "!": // ignore comments + return ""; + case "=": // set new delimiters, rebuild the replace regexp + that.set_delimiters(name); + regex = new_regex(); + return ""; + case ">": // render partial + return that.render_partial(name, context, partials); + case "{": // the triple mustache is unescaped + case "&": // & operator is an alternative unescape method + return that.find(name, context); + default: // escape the value + return escapeHTML(that.find(name, context)); + } + }; + var lines = template.split("\n"); + for(var i = 0; i < lines.length; i++) { + lines[i] = lines[i].replace(regex, tag_replace_callback, this); + if (!in_recursion) { + this.send(lines[i]); + } + } + + if (in_recursion) { + return lines.join("\n"); + } + }, + + set_delimiters: function (delimiters) { + var dels = delimiters.split(" "); + this.otag = this.escape_regex(dels[0]); + this.ctag = this.escape_regex(dels[1]); + }, + + escape_regex: function (text) { + // thank you Simon Willison + if (!arguments.callee.sRE) { + var specials = [ + '/', '.', '*', '+', '?', '|', + '(', ')', '[', ']', '{', '}', '\\' + ]; + arguments.callee.sRE = new RegExp( + '(\\' + specials.join('|\\') + ')', 'g' + ); + } + return text.replace(arguments.callee.sRE, '\\$1'); + }, + + /* + find `name` in current `context`. That is find me a value + from the view object + */ + find: function (name, context) { + name = trim(name); + + // Checks whether a value is thruthy or false or 0 + function is_kinda_truthy(bool) { + return bool === false || bool === 0 || bool; + } + + var value; + + // check for dot notation eg. foo.bar + if (name.match(/([a-z_]+)\./ig)) { + var childValue = this.walk_context(name, context); + if (is_kinda_truthy(childValue)) { + value = childValue; + } + } else { + if (is_kinda_truthy(context[name])) { + value = context[name]; + } else if (is_kinda_truthy(this.context[name])) { + value = this.context[name]; + } + } + + if (typeof value == "function") { + return value.apply(context); + } + if (value !== undefined) { + return value; + } + // silently ignore unkown variables + return ""; + }, + + walk_context: function (name, context) { + var path = name.split('.'); + // if the var doesn't exist in current context, check the top level context + var value_context = (context[path[0]] != undefined) ? context : this.context; + var value = value_context[path.shift()]; + while (value != undefined && path.length > 0) { + value_context = value; + value = value[path.shift()]; + } + // if the value is a function, call it, binding the correct context + if (typeof value == "function") { + return value.apply(value_context); + } + return value; + }, + + // Utility methods + + /* includes tag */ + includes: function (needle, haystack) { + return haystack.indexOf(this.otag + needle) != -1; + }, + + // by @langalex, support for arrays of strings + create_context: function (_context) { + if (this.is_object(_context)) { + return _context; + } else { + var iterator = "."; + if (this.pragmas["IMPLICIT-ITERATOR"]) { + iterator = this.pragmas["IMPLICIT-ITERATOR"].iterator; + } + var ctx = {}; + ctx[iterator] = _context; + return ctx; + } + }, + + is_object: function (a) { + return a && typeof a == "object"; + }, + + /* + Why, why, why? Because IE. Cry, cry cry. + */ + map: function (array, fn) { + if (typeof array.map == "function") { + return array.map(fn); + } else { + var r = []; + var l = array.length; + for(var i = 0; i < l; i++) { + r.push(fn(array[i])); + } + return r; + } + }, + + getCachedRegex: function (name, generator) { + var byOtag = regexCache[this.otag]; + if (!byOtag) { + byOtag = regexCache[this.otag] = {}; + } + + var byCtag = byOtag[this.ctag]; + if (!byCtag) { + byCtag = byOtag[this.ctag] = {}; + } + + var regex = byCtag[name]; + if (!regex) { + regex = byCtag[name] = generator(this.otag, this.ctag); + } + + return regex; + } + }; + + return({ + name: "mustache.js", + version: "0.4.2", + + /* + Turns a template and view into HTML + */ + to_html: function (template, view, partials, send_fun) { + var renderer = new Renderer(); + if (send_fun) { + renderer.send = send_fun; + } + renderer.render(template, view || {}, partials); + if (!send_fun) { + return renderer.buffer.join("\n"); + } + } + }); +}(); + + +//if (typeof module !== 'undefined' && module.exports) { + exports.name = Mustache.name; + exports.version = Mustache.version; + + exports.to_html = function() { + return Mustache.to_html.apply(this, arguments); + }; +//} diff --git a/lib/share.js b/lib/share.js new file mode 100644 index 0000000..66b30ed --- /dev/null +++ b/lib/share.js @@ -0,0 +1,157 @@ +/** + * deprecated! + * all uses of generateHtml should be replaced + * by mustache.to_html(). + * + */ +exports.generateHtml = function(format,_resArr,_key){ + _key = _key || "key"; + /** + * wenn Zeit ist kann hier mal der retType zerlegt werden + * um die html- tags autom. zusammenzubauen + */ + var fArr = format.split(/[-_]+/), + noOfTags = fArr.length; + + var st = "", + et = "", // start tag end tag + mds = "<" + fArr[noOfTags-1] + ">", + mde = "</" + fArr[noOfTags-1] + ">", + md = ""; + + for(var j =1; j < (noOfTags-1); ++j){ + st = st + "<" + fArr[j] + ">"; + et = "</" + fArr[j] + ">" + et; + } + + for (var i = 0; i < _resArr.length; ++i){ + md = md + "<" + fArr[noOfTags-1] + ">" + + _resArr[i][_key] + + "</" + fArr[noOfTags-1] + ">"; + } + + return st + md + et; +}; + +exports.defaultReplacement= function(task,defaults,query){ + + defaults = defaults || task.Defaults; + query = query || {}; + + if(defaults){ + for(var i in defaults){ + + var subs = new RegExp(i,'g'); + for(var j in task){ + /** + * diese properties werden von der + * Ersetzung ausgeschlossen + */ + if( (j != "Defaults") && + (j != "ErrorResponse") && + (j != "TaskName") && + (j != "DocPath") + ){ + /** + * geht noch eine Ebene in die Tiefe + * v.a. wegen PostProcessing + */ + if( typeof(task[j]) == "object"){ + + for (var k in task[j]){ + + if(query[i]){ + task[j][k] = task[j][k].replace(subs,query[i]); + }else{ + if(typeof task[j][k] == "string" ){ + + task[j][k] = task[j][k].replace(subs,defaults[i]); + } + } + } + } + if( typeof(task[j]) == "string"){ + + if(query[i]){ + task[j] = task[j].replace(subs,query[i]); + }else{ + task[j] = task[j].replace(subs,defaults[i]); + } + } + }//!defaults + }// for j in tasks + }// for in in defaults + }// have defaults + return task; +}; + +exports.test = "fffuuuu"; + +var pad0 = function(n){ + return n < 10 ? "0" + n : n; +}; +exports.pad0 = pad0; + +var vlDateString = function(){ + var dt = new Date(), + Y = dt.getFullYear(), + M = pad0(dt.getMonth()+1), + D = pad0(dt.getDate()), + h = pad0(dt.getHours()), + m = pad0(dt.getMinutes()); + return Y + '-' + M + '-' + D + " " + h+":" + m; +}; +exports.vlDateString = vlDateString; + +var vlTimeString = function(){ + var dt = new Date(); + + return "" + dt.getTime(); +}; +exports.vlTimeString = vlTimeString; + + +exports.indexOf = function(arr,obj) { + for (var i = 0; i < arr.length; i++) { + if (arr[i] == obj) + return i; + } + return -1; +}; + + +/** + * http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric + */ +exports.isNumber = function(n) { + return !isNaN(parseFloat(n)) && isFinite(n); +}; + +exports.isArray = function(obj) { + if (obj.constructor.toString().indexOf("Array") == -1){ + return false; + }else{ + return true; + } + +}; + + +exports.startHtml = { + headers: { + "Content-type": "text/html" + } +}; + +exports.startJson = { + "headers": { + "Content-Type": "application/json" + } +}; + +exports.startCss = { + "headers": { + "Content-Type": "text/css" + } +}; + diff --git a/lists/table_of.js b/lists/table_of.js new file mode 100644 index 0000000..9e708ea --- /dev/null +++ b/lists/table_of.js @@ -0,0 +1,13 @@ +function(head, req) { + + var share = require("lib/share"), + mustache = require("lib/mustache"), + template = this.templates.table, + Data = []; + start(share.startHtml); + while(r = getRow()) { + Data.push(r.value); + } + send(mustache.to_html(template,{All:Data})); +} + diff --git a/lists/up.js b/lists/up.js index 3369808..069fe31 100644 --- a/lists/up.js +++ b/lists/up.js @@ -1,7 +1,7 @@ function(head, req) { - var share = require("lib/vaclab/share"), - global = require("lib/vaclab/global"), + var share = require("lib/share"), + id = req.query.id, doc = [], con = [], // calibrationObjectNames @@ -19,9 +19,9 @@ function(head, req) { result, row, iksign ="",iik=-1, - rv,sstdn,istd,sstdo,caon,jao,ccoo, - globals = global.globals; - + rv,sstdn,istd,sstdo,caon,jao,ccoo; + + start(share.startJson); if(id){ diff --git a/templates/table.html b/templates/table.html new file mode 100644 index 0000000..efd19e8 --- /dev/null +++ b/templates/table.html @@ -0,0 +1,41 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> +<style> + .container { + display: table; + } + .row { + display: table-row; + } + .c1, .c3, .c2, .c4 { + display: table-cell; + padding-right: 25px; + } + .c1 p, .c3 p, .c2 p, .c4 p{ + margin: 1px 1px; + } +</style> +</head> +<body> +<div class="container"> + {{#All}} + <div class="row"> + <div class="c1"> + <p>{{Type}}</p> + </div> + <div class="c2"> + <p>{{Value}}</p> + </div> + <div class="c3"> + <p>{{Unit}}</p> + </div> + <div class="c4"> + <p>{{Comment}}</p> + </div> + </div> + {{/All}} +</div> +</body> +</html> \ No newline at end of file diff --git a/views/constants/map.js b/views/constants/map.js new file mode 100644 index 0000000..868d05b --- /dev/null +++ b/views/constants/map.js @@ -0,0 +1,90 @@ +function(doc) { + if(doc.CalibrationObject){ + + var dc = doc.CalibrationObject; + var dcn = dc.Name; + var dcc = dc.Constants; + var dcu = dc.Uncertainty; + var dcv = dc.Values; + + if(dcc){ + for (var i = 0; i < dcc.length; ++i){ + + emit(dcn+"_constants", dcc[i]); + } + } + + if(dcv){ + for (var i = 0; i < dcv.length; ++i){ + + emit(dcn+"_values", dcv[i]); + } + } + + if(dcu){ + for (var i = 0; i < dcu.length; ++i){ + + emit(dcn+"_uncertainty", dcu[i]); + } + } + } + + if(doc.Constants){ + + var dcn = "constants"; + var dc = doc.Constants; + var dcc = dc.Constants; + var dcu = dc.Uncertainty; + var dcv = dc.Values; + + if(dcc){ + for (var i = 0; i < dcc.length; ++i){ + + emit(dcn+"_constants", dcc[i]); + } + } + + if(dcv){ + for (var i = 0; i < dcv.length; ++i){ + + emit(dcn+"_values", dcv[i]); + } + } + + if(dcu){ + for (var i = 0; i < dcu.length; ++i){ + + emit(dcn+"_uncertainty", dcu[i]); + } + } + } + + if(doc.Standard){ + var ds = doc.Standard; + var dsn = ds.Name; + var dsc = ds.Constants; + var dsu = ds.Uncertainty; + var dsv = ds.Values; + + if(dsc){ + for (var i = 0; i < dsc.length; ++i){ + + emit(dsn+"_constants", dsc[i]); + } + } + + if(dsv){ + for (var i = 0; i < dcv.length; ++i){ + + emit(dsn+"_values", dsv[i]); + } + } + + if(dsu){ + for (var i = 0; i < dsu.length; ++i){ + + emit(dsn+"_uncertainty", dsu[i]); + } + } + } +} \ No newline at end of file diff --git a/views/reduceStandard/map.js b/views/reduceStandard/map.js new file mode 100644 index 0000000..98d13d6 --- /dev/null +++ b/views/reduceStandard/map.js @@ -0,0 +1,6 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard){ + emit(doc.Calibration.Standard, null); + } +} \ No newline at end of file diff --git a/views/reduceStandard/reduce.js b/views/reduceStandard/reduce.js new file mode 100644 index 0000000..0ddea55 --- /dev/null +++ b/views/reduceStandard/reduce.js @@ -0,0 +1,3 @@ +function(k, v, c){ + return null; +} \ No newline at end of file diff --git a/views/reduceType/map.js b/views/reduceType/map.js new file mode 100644 index 0000000..d5df742 --- /dev/null +++ b/views/reduceType/map.js @@ -0,0 +1,6 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Type){ + emit(doc.Calibration.Type, null); + } +} \ No newline at end of file diff --git a/views/reduceType/reduce.js b/views/reduceType/reduce.js new file mode 100644 index 0000000..0ddea55 --- /dev/null +++ b/views/reduceType/reduce.js @@ -0,0 +1,3 @@ +function(k, v, c){ + return null; +} \ No newline at end of file diff --git a/views/reduceYear/map.js b/views/reduceYear/map.js new file mode 100644 index 0000000..44562ab --- /dev/null +++ b/views/reduceYear/map.js @@ -0,0 +1,6 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Year){ + emit(doc.Calibration.Year, null); + } +} \ No newline at end of file diff --git a/views/reduceYear/reduce.js b/views/reduceYear/reduce.js new file mode 100644 index 0000000..0ddea55 --- /dev/null +++ b/views/reduceYear/reduce.js @@ -0,0 +1,3 @@ +function(k, v, c){ + return null; +} \ No newline at end of file diff --git a/views/sign-sign/map.js b/views/sign-sign/map.js new file mode 100644 index 0000000..b6fbec1 --- /dev/null +++ b/views/sign-sign/map.js @@ -0,0 +1,6 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Sign){ + emit(doc.Calibration.Sign, doc.Calibration.Sign); + } +} \ No newline at end of file diff --git a/views/standard-sign/map.js b/views/standard-sign/map.js new file mode 100644 index 0000000..23de902 --- /dev/null +++ b/views/standard-sign/map.js @@ -0,0 +1,7 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Sign){ + emit(doc.Calibration.Standard, doc.Calibration.Sign); + } +} \ No newline at end of file diff --git a/views/standard-year/map.js b/views/standard-year/map.js new file mode 100644 index 0000000..8018fc3 --- /dev/null +++ b/views/standard-year/map.js @@ -0,0 +1,7 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Year){ + emit(doc.Calibration.Standard, doc.Calibration.Year); + } +} diff --git a/views/standard_type-sign/map.js b/views/standard_type-sign/map.js new file mode 100644 index 0000000..2f20e87 --- /dev/null +++ b/views/standard_type-sign/map.js @@ -0,0 +1,11 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Sign && + doc.Calibration.Type){ + + emit(doc.Calibration.Standard + "_" + doc.Calibration.Type, + doc.Calibration.Sign); + + } +} \ No newline at end of file diff --git a/views/standard_year-sign/map.js b/views/standard_year-sign/map.js new file mode 100644 index 0000000..be2781a --- /dev/null +++ b/views/standard_year-sign/map.js @@ -0,0 +1,12 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Sign && + doc.Calibration.Year){ + + emit(doc.Calibration.Standard + "_" + + doc.Calibration.Year, + doc.Calibration.Sign); + + } +} \ No newline at end of file diff --git a/views/standard_year-type/map.js b/views/standard_year-type/map.js new file mode 100644 index 0000000..1d0a9a5 --- /dev/null +++ b/views/standard_year-type/map.js @@ -0,0 +1,11 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Sign){ + + emit(doc.Calibration.Standard + "_" + + doc.Calibration.Year, + doc.Calibration.Type); + + } +} \ No newline at end of file diff --git a/views/standard_year_type-sign/map.js b/views/standard_year_type-sign/map.js new file mode 100644 index 0000000..44e76b6 --- /dev/null +++ b/views/standard_year_type-sign/map.js @@ -0,0 +1,14 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Sign && + doc.Calibration.Type){ + + emit(doc.Calibration.Standard + "_" + + doc.Calibration.Year + "_" + + doc.Calibration.Type, + doc.Calibration.Sign); + + + } +} \ No newline at end of file diff --git a/views/standard_year_type_sign-doc/map.js b/views/standard_year_type_sign-doc/map.js new file mode 100644 index 0000000..324d5a7 --- /dev/null +++ b/views/standard_year_type_sign-doc/map.js @@ -0,0 +1,14 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Sign && + doc.Calibration.Type){ + + emit(doc.Calibration.Standard + "_" + + doc.Calibration.Year + "_" + + doc.Calibration.Type + "_" + + doc.Calibration.Sign, + doc); + + } +} \ No newline at end of file diff --git a/views/standard_year_type_sign/map.js b/views/standard_year_type_sign/map.js new file mode 100644 index 0000000..ca00c4d --- /dev/null +++ b/views/standard_year_type_sign/map.js @@ -0,0 +1,14 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Standard && + doc.Calibration.Sign && + doc.Calibration.Type){ + + emit(doc.Calibration.Standard + "_" + + doc.Calibration.Year + "_" + + doc.Calibration.Type + "_" + + doc.Calibration.Sign, + null); + + } +} \ No newline at end of file diff --git a/views/translations/map.js b/views/translations/map.js new file mode 100644 index 0000000..8ca8c40 --- /dev/null +++ b/views/translations/map.js @@ -0,0 +1,11 @@ +function(doc) { + var crd = require("views/lib/check-return_doc-parts"); + + if(doc.Translations){ + var _res = crd.translations(doc); + } + + if(_res && _res._avail){ + emit(_res.key, _res.value); + } +} \ No newline at end of file diff --git a/views/type-sign/map.js b/views/type-sign/map.js new file mode 100644 index 0000000..b02ee80 --- /dev/null +++ b/views/type-sign/map.js @@ -0,0 +1,9 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Type && + doc.Calibration.Sign){ + + emit(doc.Calibration.Type, doc.Calibration.Sign); + + } +} \ No newline at end of file diff --git a/views/views.js b/views/views.js deleted file mode 100644 index 61faf9b..0000000 --- a/views/views.js +++ /dev/null @@ -1,329 +0,0 @@ -/** - * Diese view liefert das 'Grundmaterial' für die - * für die update list (_up.js_) - * - * seit neuestem auch zur list _resolve_recipes_ - * - * Es kann hier abgelesen werden, welche - * 'Bausteine' (Dokumente) dem update - * überhaupt zur Verfügung stehen - */ -exports.calib = { - map: -};//exports.calib - - -exports.allCustomers = { - map: -}; - -exports.allToDo = { - map: -}; - - -exports.servers = { - map: -}; - -exports.translations = { - map:function(doc) { - var crd = require("views/lib/check-return_doc-parts"); - - if(doc.Translations){ - var _res = crd.translations(doc); - } - - if(_res && _res._avail){ - emit(_res.key, _res.value); - } - } -}; - -exports.reduceStandard = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard){ - emit(doc.Calibration.Standard, null); - } - }, - reduce:function(k, v, c){ - return null; - } -}; - -exports.reduceType = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Type){ - emit(doc.Calibration.Type, null); - } - }, - reduce:function(k, v, c){ - return null; - } -}; - -exports.reduceYear = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Year){ - emit(doc.Calibration.Year, null); - } - }, - reduce:function(k, v, c){ - return null; - } -}; - -exports['sign-sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Sign){ - emit(doc.Calibration.Sign, doc.Calibration.Sign); - } - } -}; - -exports['standard-sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Sign){ - emit(doc.Calibration.Standard, doc.Calibration.Sign); - } - } -}; - -exports['standard-year'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Year){ - emit(doc.Calibration.Standard, doc.Calibration.Year); - } - } -}; - -exports['type-sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Type && - doc.Calibration.Sign){ - - emit(doc.Calibration.Type, doc.Calibration.Sign); - - } - } -}; - -exports['year-sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Year && - doc.Calibration.Sign){ - - emit(doc.Calibration.Year, doc.Calibration.Sign); - - } - } -}; - -exports['standard_type-sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Sign && - doc.Calibration.Type){ - - emit(doc.Calibration.Standard + "_" + doc.Calibration.Type, - doc.Calibration.Sign); - - } - } -}; - - -exports['standard_year-sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Sign && - doc.Calibration.Year){ - - emit(doc.Calibration.Standard + "_" + - doc.Calibration.Year, - doc.Calibration.Sign); - - } - } -}; - -exports['standard_year-type'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Sign){ - - emit(doc.Calibration.Standard + "_" + - doc.Calibration.Year, - doc.Calibration.Type); - - } - } -}; - -exports['standard_year_type-sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Sign && - doc.Calibration.Type){ - - emit(doc.Calibration.Standard + "_" + - doc.Calibration.Year + "_" + - doc.Calibration.Type, - doc.Calibration.Sign); - - - } - } -}; - - -exports['standard_year_type_sign'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Sign && - doc.Calibration.Type){ - - emit(doc.Calibration.Standard + "_" + - doc.Calibration.Year + "_" + - doc.Calibration.Type + "_" + - doc.Calibration.Sign, - null); - - } - } -}; - -exports['standard_year_type_sign-doc'] = { - map:function(doc) { - if(doc.Calibration && - doc.Calibration.Standard && - doc.Calibration.Sign && - doc.Calibration.Type){ - - emit(doc.Calibration.Standard + "_" + - doc.Calibration.Year + "_" + - doc.Calibration.Type + "_" + - doc.Calibration.Sign, - doc); - - } - } -}; - - -exports.const_val_uncert = { - map:function(doc) { - if(doc.CalibrationObject){ - - var dc = doc.CalibrationObject; - var dcn = dc.Name; - var dcc = dc.Constants; - var dcu = dc.Uncertainty; - var dcv = dc.Values; - - if(dcc){ - - for (var i = 0; i < dcc.length; ++i){ - - emit(dcn+"_constants", dcc[i]); - } - } - - if(dcv){ - - for (var i = 0; i < dcv.length; ++i){ - - emit(dcn+"_values", dcv[i]); - } - } - - if(dcu){ - - for (var i = 0; i < dcu.length; ++i){ - - emit(dcn+"_uncertainty", dcu[i]); - } - } - } - - if(doc.Constants){ - - var dcn = "constants"; - var dc = doc.Constants; - var dcc = dc.Constants; - var dcu = dc.Uncertainty; - var dcv = dc.Values; - - if(dcc){ - - for (var i = 0; i < dcc.length; ++i){ - - emit(dcn+"_constants", dcc[i]); - } - } - - if(dcv){ - - for (var i = 0; i < dcv.length; ++i){ - - emit(dcn+"_values", dcv[i]); - } - } - - if(dcu){ - - for (var i = 0; i < dcu.length; ++i){ - - emit(dcn+"_uncertainty", dcu[i]); - } - } - } - - if(doc.Standard){ - var ds = doc.Standard; - var dsn = ds.Name; - var dsc = ds.Constants; - var dsu = ds.Uncertainty; - var dsv = ds.Values; - - if(dsc){ - - for (var i = 0; i < dsc.length; ++i){ - - emit(dsn+"_constants", dsc[i]); - } - } - - if(dsv){ - - for (var i = 0; i < dcv.length; ++i){ - - emit(dsn+"_values", dsv[i]); - } - } - - if(dsu){ - - for (var i = 0; i < dsu.length; ++i){ - - emit(dsn+"_uncertainty", dsu[i]); - } - } - } - } -}; diff --git a/views/year-sign/map.js b/views/year-sign/map.js new file mode 100644 index 0000000..acd3592 --- /dev/null +++ b/views/year-sign/map.js @@ -0,0 +1,9 @@ +function(doc) { + if(doc.Calibration && + doc.Calibration.Year && + doc.Calibration.Sign){ + + emit(doc.Calibration.Year, doc.Calibration.Sign); + + } +} \ No newline at end of file -- GitLab