mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-11-17 19:24:10 +01:00
Modernization of build environment. Less gulp, more npm. Eslint.
This commit is contained in:
42
src/utils.js
42
src/utils.js
@@ -23,25 +23,25 @@ var log = require('./logger').create();
|
||||
module.exports.detectType = function(text,a){
|
||||
text = text.replace(/^\s*%%.*\n/g,'\n');
|
||||
if(text.match(/^\s*sequenceDiagram/)){
|
||||
return "sequenceDiagram";
|
||||
return 'sequenceDiagram';
|
||||
}
|
||||
|
||||
if(text.match(/^\s*digraph/)) {
|
||||
//log.debug('Detected dot syntax');
|
||||
return "dotGraph";
|
||||
return 'dotGraph';
|
||||
}
|
||||
|
||||
if(text.match(/^\s*info/)) {
|
||||
//log.debug('Detected info syntax');
|
||||
return "info";
|
||||
return 'info';
|
||||
}
|
||||
|
||||
if(text.match(/^\s*gantt/)) {
|
||||
//log.debug('Detected info syntax');
|
||||
return "gantt";
|
||||
return 'gantt';
|
||||
}
|
||||
|
||||
return "graph";
|
||||
return 'graph';
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ module.exports.detectType = function(text,a){
|
||||
* @param {object} Hash table of class definitions from the graph definition
|
||||
*/
|
||||
module.exports.cloneCssStyles = function(svg, classes){
|
||||
var usedStyles = "";
|
||||
var usedStyles = '';
|
||||
var sheets = document.styleSheets;
|
||||
for (var i = 0; i < sheets.length; i++) {
|
||||
// Avoid multiple inclusion on pages with multiple graphs
|
||||
@@ -66,7 +66,7 @@ module.exports.cloneCssStyles = function(svg, classes){
|
||||
var elems;
|
||||
elems = svg.querySelectorAll(rule.selectorText);
|
||||
if (elems.length > 0) {
|
||||
usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n";
|
||||
usedStyles += rule.selectorText + ' { ' + rule.style.cssText + ' }\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,48 +84,48 @@ module.exports.cloneCssStyles = function(svg, classes){
|
||||
}
|
||||
}
|
||||
|
||||
var defaultStyles = "";
|
||||
var embeddedStyles = "";
|
||||
var defaultStyles = '';
|
||||
var embeddedStyles = '';
|
||||
|
||||
for (var className in classes) {
|
||||
if (classes.hasOwnProperty(className) && typeof(className) != "undefined") {
|
||||
if (classes.hasOwnProperty(className) && typeof(className) != 'undefined') {
|
||||
if (className === 'default') {
|
||||
if (classes.default.styles instanceof Array) {
|
||||
defaultStyles += "#" + svg.id.trim() + ' .node' + '>rect { ' + classes[className].styles.join("; ") + '; }\n';
|
||||
defaultStyles += '#' + svg.id.trim() + ' .node' + '>rect { ' + classes[className].styles.join('; ') + '; }\n';
|
||||
}
|
||||
if (classes.default.nodeLabelStyles instanceof Array) {
|
||||
defaultStyles += "#" + svg.id.trim() + ' .node text ' + ' { ' + classes[className].nodeLabelStyles.join("; ") + '; }\n';
|
||||
defaultStyles += '#' + svg.id.trim() + ' .node text ' + ' { ' + classes[className].nodeLabelStyles.join('; ') + '; }\n';
|
||||
}
|
||||
if (classes.default.edgeLabelStyles instanceof Array) {
|
||||
defaultStyles += "#" + svg.id.trim() + ' .edgeLabel text ' + ' { ' + classes[className].edgeLabelStyles.join("; ") + '; }\n';
|
||||
defaultStyles += '#' + svg.id.trim() + ' .edgeLabel text ' + ' { ' + classes[className].edgeLabelStyles.join('; ') + '; }\n';
|
||||
}
|
||||
if (classes.default.clusterStyles instanceof Array) {
|
||||
defaultStyles += "#" + svg.id.trim() + ' .cluster rect ' + ' { ' + classes[className].clusterStyles.join("; ") + '; }\n';
|
||||
defaultStyles += '#' + svg.id.trim() + ' .cluster rect ' + ' { ' + classes[className].clusterStyles.join('; ') + '; }\n';
|
||||
}
|
||||
} else {
|
||||
if (classes[className].styles instanceof Array) {
|
||||
embeddedStyles += "#" + svg.id.trim() + ' .' + className + '>rect { ' + classes[className].styles.join("; ") + '; }\n';
|
||||
embeddedStyles += '#' + svg.id.trim() + ' .' + className + '>rect { ' + classes[className].styles.join('; ') + '; }\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (usedStyles !== "" || defaultStyles !== "" || embeddedStyles !== "") {
|
||||
if (usedStyles !== '' || defaultStyles !== '' || embeddedStyles !== '') {
|
||||
var s = document.createElement('style');
|
||||
s.setAttribute('type', 'text/css');
|
||||
s.setAttribute('title', 'mermaid-svg-internal-css');
|
||||
s.innerHTML = "/* <![CDATA[ */\n";
|
||||
s.innerHTML = '/* <![CDATA[ */\n';
|
||||
// Make this CSS local to this SVG
|
||||
if (defaultStyles !== "") {
|
||||
if (defaultStyles !== '') {
|
||||
s.innerHTML += defaultStyles;
|
||||
}
|
||||
if (usedStyles !== "") {
|
||||
if (usedStyles !== '') {
|
||||
s.innerHTML += usedStyles;
|
||||
}
|
||||
if (embeddedStyles !== "") {
|
||||
if (embeddedStyles !== '') {
|
||||
s.innerHTML += embeddedStyles;
|
||||
}
|
||||
s.innerHTML += "/* ]]> */\n";
|
||||
s.innerHTML += '/* ]]> */\n';
|
||||
svg.insertBefore(s, svg.firstChild);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user