From c530e84843444a40804e0c2b038c2ec53fe411b2 Mon Sep 17 00:00:00 2001 From: Stephane Desneux Date: Tue, 8 Nov 2016 12:39:57 +0100 Subject: webdocs-agl: added developer website template Change-Id: I4a45ee0ad5dd0c29a6d6876a0e02cd5550c010e9 Signed-off-by: Stephane Desneux --- site/static/js/process-uml.js | 72 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 site/static/js/process-uml.js (limited to 'site/static/js/process-uml.js') diff --git a/site/static/js/process-uml.js b/site/static/js/process-uml.js new file mode 100644 index 0000000..8937612 --- /dev/null +++ b/site/static/js/process-uml.js @@ -0,0 +1,72 @@ +--- + # WARNING: this is needed for {{xxxx}} to be processed by Jkyll +--- + +/* + * Copyright 2016 IoT.bzh + * author: Fulup Ar Foll + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + *limitations under the License. + */ + +$(document).ready(function() { +"use strict"; + var umltag = "{{site.graph.tag_uml | "UML" }}"; + var flowtag= "{{site.graph.tag_flow | "FLOW" }}"; + var debug = "{{site.graph.tag_debug}}"; + + var elements = document.getElementsByTagName('code'); + + for(var idx=0; idx < elements.length; idx++) { + var style; var parser; + var element = elements[idx]; + var subclass= element.className.split('-'); + + // overright style if needed + if (subclass.length > 1) { + switch (subclass[1]) { + case umltag: { + parser = Diagram; + break; + } + + case flowtag: { + parser = flowchart; + break; + } + + default: + continue; + } + + if (subclass.length > 2) style= subclass[2]; + else style= "{{site.graph.def_style | "simple"}}"; + + var source = element.innerText; + if (!debug) element.innerText=""; + var iDiv = document.createElement('div'); + element.appendChild (iDiv); + + try { + var diagram=parser.parse (source); + diagram.drawSVG(iDiv, {theme: style}); + } catch (err) { + element.classList.add ("error"); + element.innerText="

Fail to process UML/Flow

" + source + "
" +err; + console.log ("Error[%s]: class=%s err=%s diagram=%s", subclass[1], element.className, err, source); + } + + } + } + + } +); + -- cgit 1.2.3-korg