summaryrefslogtreecommitdiff
path: root/themes/blowfish/assets/lib/mermaid/pieDiagram-81944c0a.js.map
blob: b1ba7d61d499405d5ecb967158a4ab38e8a235d9 (plain)
1
{"version":3,"file":"pieDiagram-81944c0a.js","sources":["../../../node_modules/.pnpm/internmap@2.0.3/node_modules/internmap/src/index.js","../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/ordinal.js","../../../node_modules/.pnpm/d3-shape@3.1.0/node_modules/d3-shape/src/descending.js","../../../node_modules/.pnpm/d3-shape@3.1.0/node_modules/d3-shape/src/identity.js","../../../node_modules/.pnpm/d3-shape@3.1.0/node_modules/d3-shape/src/pie.js","../src/diagrams/pie/parser/pie.jison","../src/diagrams/pie/pieDb.js","../src/diagrams/pie/styles.js","../src/diagrams/pie/pieRenderer.js","../src/diagrams/pie/pieDiagram.ts"],"sourcesContent":["export class InternMap extends Map {\n  constructor(entries, key = keyof) {\n    super();\n    Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n    if (entries != null) for (const [key, value] of entries) this.set(key, value);\n  }\n  get(key) {\n    return super.get(intern_get(this, key));\n  }\n  has(key) {\n    return super.has(intern_get(this, key));\n  }\n  set(key, value) {\n    return super.set(intern_set(this, key), value);\n  }\n  delete(key) {\n    return super.delete(intern_delete(this, key));\n  }\n}\n\nexport class InternSet extends Set {\n  constructor(values, key = keyof) {\n    super();\n    Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n    if (values != null) for (const value of values) this.add(value);\n  }\n  has(value) {\n    return super.has(intern_get(this, value));\n  }\n  add(value) {\n    return super.add(intern_set(this, value));\n  }\n  delete(value) {\n    return super.delete(intern_delete(this, value));\n  }\n}\n\nfunction intern_get({_intern, _key}, value) {\n  const key = _key(value);\n  return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n  const key = _key(value);\n  if (_intern.has(key)) return _intern.get(key);\n  _intern.set(key, value);\n  return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n  const key = _key(value);\n  if (_intern.has(key)) {\n    value = _intern.get(key);\n    _intern.delete(key);\n  }\n  return value;\n}\n\nfunction keyof(value) {\n  return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n  var index = new InternMap(),\n      domain = [],\n      range = [],\n      unknown = implicit;\n\n  function scale(d) {\n    let i = index.get(d);\n    if (i === undefined) {\n      if (unknown !== implicit) return unknown;\n      index.set(d, i = domain.push(d) - 1);\n    }\n    return range[i % range.length];\n  }\n\n  scale.domain = function(_) {\n    if (!arguments.length) return domain.slice();\n    domain = [], index = new InternMap();\n    for (const value of _) {\n      if (index.has(value)) continue;\n      index.set(value, domain.push(value) - 1);\n    }\n    return scale;\n  };\n\n  scale.range = function(_) {\n    return arguments.length ? (range = Array.from(_), scale) : range.slice();\n  };\n\n  scale.unknown = function(_) {\n    return arguments.length ? (unknown = _, scale) : unknown;\n  };\n\n  scale.copy = function() {\n    return ordinal(domain, range).unknown(unknown);\n  };\n\n  initRange.apply(scale, arguments);\n\n  return scale;\n}\n","export default function(a, b) {\n  return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n  return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n  var value = identity,\n      sortValues = descending,\n      sort = null,\n      startAngle = constant(0),\n      endAngle = constant(tau),\n      padAngle = constant(0);\n\n  function pie(data) {\n    var i,\n        n = (data = array(data)).length,\n        j,\n        k,\n        sum = 0,\n        index = new Array(n),\n        arcs = new Array(n),\n        a0 = +startAngle.apply(this, arguments),\n        da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n        a1,\n        p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n        pa = p * (da < 0 ? -1 : 1),\n        v;\n\n    for (i = 0; i < n; ++i) {\n      if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n        sum += v;\n      }\n    }\n\n    // Optionally sort the arcs by previously-computed values or by data.\n    if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n    else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n    // Compute the arcs! They are stored in the original data's order.\n    for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n      j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n        data: data[j],\n        index: i,\n        value: v,\n        startAngle: a0,\n        endAngle: a1,\n        padAngle: p\n      };\n    }\n\n    return arcs;\n  }\n\n  pie.value = function(_) {\n    return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n  };\n\n  pie.sortValues = function(_) {\n    return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n  };\n\n  pie.sort = function(_) {\n    return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n  };\n\n  pie.startAngle = function(_) {\n    return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n  };\n\n  pie.endAngle = function(_) {\n    return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n  };\n\n  pie.padAngle = function(_) {\n    return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n  };\n\n  return pie;\n}\n","/** mermaid\n *  https://knsv.github.io/mermaid\n *  (c) 2015 Knut Sveidqvist\n *  MIT license.\n */\n%lex\n%options case-insensitive\n\n%x string\n%x title\n%x open_directive\n%x type_directive\n%x arg_directive\n%x close_directive\n%x acc_title\n%x acc_descr\n%x acc_descr_multiline\n%%\n\\%\\%\\{                                                          { this.begin('open_directive'); return 'open_directive'; }\n<open_directive>((?:(?!\\}\\%\\%)[^:.])*)                          { this.begin('type_directive'); return 'type_directive'; }\n<type_directive>\":\"                                             { this.popState(); this.begin('arg_directive'); return ':'; }\n<type_directive,arg_directive>\\}\\%\\%                            { this.popState(); this.popState(); return 'close_directive'; }\n<arg_directive>((?:(?!\\}\\%\\%).|\\n)*)                            return 'arg_directive';\n\\%\\%(?!\\{)[^\\n]*                                                /* skip comments */\n[^\\}]\\%\\%[^\\n]*                                                 /* skip comments */{ /*console.log('');*/ }\n[\\n\\r]+                                                         return 'NEWLINE';\n\\%\\%[^\\n]*                                                      /* do nothing */\n[\\s]+ \t\t                                                      /* ignore */\ntitle                                                           { this.begin(\"title\");return 'title'; }\n<title>(?!\\n|;|#)*[^\\n]*                                        { this.popState(); return \"title_value\"; }\n\naccTitle\\s*\":\"\\s*                                               { this.begin(\"acc_title\");return 'acc_title'; }\n<acc_title>(?!\\n|;|#)*[^\\n]*                                    { this.popState(); return \"acc_title_value\"; }\naccDescr\\s*\":\"\\s*                                               { this.begin(\"acc_descr\");return 'acc_descr'; }\n<acc_descr>(?!\\n|;|#)*[^\\n]*                                    { this.popState(); return \"acc_descr_value\"; }\naccDescr\\s*\"{\"\\s*                                { this.begin(\"acc_descr_multiline\");}\n<acc_descr_multiline>[\\}]                       { this.popState(); }\n<acc_descr_multiline>[^\\}]*                     return \"acc_descr_multiline_value\";\n[\"]                                                             { this.begin(\"string\"); }\n<string>[\"]                                                     { this.popState(); }\n<string>[^\"]*                                                   { return \"txt\"; }\n\"pie\"\t\t                                                        return 'PIE';\n\"showData\"                                                      return 'showData';\n\":\"[\\s]*[\\d]+(?:\\.[\\d]+)?                                       return \"value\";\n<<EOF>>                                                         return 'EOF';\n\n/lex\n\n%start start\n\n%% /* language grammar */\n\nstart\n  : eol start\n  | directive start\n\t| PIE document\n  | PIE showData document {yy.setShowData(true);}\n\t;\n\ndocument\n\t: /* empty */\n\t| document line\n\t;\n\nline\n\t: statement eol { $$ = $1 }\n\t;\n\nstatement\n  :\n\t| txt value          { yy.addSection($1,yy.cleanupValue($2)); }\n\t| title title_value  { $$=$2.trim();yy.setDiagramTitle($$); }\n  | acc_title acc_title_value  { $$=$2.trim();yy.setAccTitle($$); }\n  | acc_descr acc_descr_value  { $$=$2.trim();yy.setAccDescription($$); }\n  | acc_descr_multiline_value { $$=$1.trim();yy.setAccDescription($$); }  | section {yy.addSection($1.substr(8));$$=$1.substr(8);}\n\t| directive\n\t;\n\ndirective\n  : openDirective typeDirective closeDirective\n  | openDirective typeDirective ':' argDirective closeDirective\n  ;\n\neol\n  : NEWLINE\n  | ';'\n  | EOF\n  ;\n\nopenDirective\n  : open_directive { yy.parseDirective('%%{', 'open_directive'); }\n  ;\n\ntypeDirective\n  : type_directive { yy.parseDirective($1, 'type_directive'); }\n  ;\n\nargDirective\n  : arg_directive { $1 = $1.trim().replace(/'/g, '\"'); yy.parseDirective($1, 'arg_directive'); }\n  ;\n\ncloseDirective\n  : close_directive { yy.parseDirective('}%%', 'close_directive', 'pie'); }\n  ;\n\n%%\n","import { log } from '../../logger';\nimport mermaidAPI from '../../mermaidAPI';\nimport * as configApi from '../../config';\nimport common from '../common/common';\nimport {\n  setAccTitle,\n  getAccTitle,\n  setDiagramTitle,\n  getDiagramTitle,\n  getAccDescription,\n  setAccDescription,\n  clear as commonClear,\n} from '../../commonDb';\n\nlet sections = {};\nlet showData = false;\n\nexport const parseDirective = function (statement, context, type) {\n  mermaidAPI.parseDirective(this, statement, context, type);\n};\n\nconst addSection = function (id, value) {\n  id = common.sanitizeText(id, configApi.getConfig());\n  if (sections[id] === undefined) {\n    sections[id] = value;\n    log.debug('Added new section :', id);\n  }\n};\nconst getSections = () => sections;\n\nconst setShowData = function (toggle) {\n  showData = toggle;\n};\n\nconst getShowData = function () {\n  return showData;\n};\n\nconst cleanupValue = function (value) {\n  if (value.substring(0, 1) === ':') {\n    value = value.substring(1).trim();\n    return Number(value.trim());\n  } else {\n    return Number(value.trim());\n  }\n};\n\nconst clear = function () {\n  sections = {};\n  showData = false;\n  commonClear();\n};\n\nexport default {\n  parseDirective,\n  getConfig: () => configApi.getConfig().pie,\n  addSection,\n  getSections,\n  cleanupValue,\n  clear,\n  setAccTitle,\n  getAccTitle,\n  setDiagramTitle,\n  getDiagramTitle,\n  setShowData,\n  getShowData,\n  getAccDescription,\n  setAccDescription,\n};\n","const getStyles = (options) =>\n  `\n  .pieCircle{\n    stroke: ${options.pieStrokeColor};\n    stroke-width : ${options.pieStrokeWidth};\n    opacity : ${options.pieOpacity};\n  }\n  .pieTitleText {\n    text-anchor: middle;\n    font-size: ${options.pieTitleTextSize};\n    fill: ${options.pieTitleTextColor};\n    font-family: ${options.fontFamily};\n  }\n  .slice {\n    font-family: ${options.fontFamily};\n    fill: ${options.pieSectionTextColor};\n    font-size:${options.pieSectionTextSize};\n    // fill: white;\n  }\n  .legend text {\n    fill: ${options.pieLegendTextColor};\n    font-family: ${options.fontFamily};\n    font-size: ${options.pieLegendTextSize};\n  }\n`;\n\nexport default getStyles;\n","/** Created by AshishJ on 11-09-2019. */\nimport { select, scaleOrdinal, pie as d3pie, arc } from 'd3';\nimport { log } from '../../logger';\nimport { configureSvgSize } from '../../setupGraphViewbox';\nimport * as configApi from '../../config';\n\nlet conf = configApi.getConfig();\n\n/**\n * Draws a Pie Chart with the data given in text.\n *\n * @param text\n * @param id\n */\nlet width;\nconst height = 450;\nexport const draw = (txt, id, _version, diagObj) => {\n  try {\n    conf = configApi.getConfig();\n    log.debug('Rendering info diagram\\n' + txt);\n\n    const securityLevel = configApi.getConfig().securityLevel;\n    // Handle root and Document for when rendering in sandbox mode\n    let sandboxElement;\n    if (securityLevel === 'sandbox') {\n      sandboxElement = select('#i' + id);\n    }\n    const root =\n      securityLevel === 'sandbox'\n        ? select(sandboxElement.nodes()[0].contentDocument.body)\n        : select('body');\n    const doc = securityLevel === 'sandbox' ? sandboxElement.nodes()[0].contentDocument : document;\n\n    // Parse the Pie Chart definition\n    diagObj.db.clear();\n    diagObj.parser.parse(txt);\n    log.debug('Parsed info diagram');\n    const elem = doc.getElementById(id);\n    width = elem.parentElement.offsetWidth;\n\n    if (width === undefined) {\n      width = 1200;\n    }\n\n    if (conf.useWidth !== undefined) {\n      width = conf.useWidth;\n    }\n    if (conf.pie.useWidth !== undefined) {\n      width = conf.pie.useWidth;\n    }\n\n    const diagram = root.select('#' + id);\n    configureSvgSize(diagram, height, width, conf.pie.useMaxWidth);\n\n    // Set viewBox\n    elem.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n\n    // Fetch the default direction, use TD if none was found\n    var margin = 40;\n    var legendRectSize = 18;\n    var legendSpacing = 4;\n\n    var radius = Math.min(width, height) / 2 - margin;\n\n    var svg = diagram\n      .append('g')\n      .attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')');\n\n    var data = diagObj.db.getSections();\n    var sum = 0;\n    Object.keys(data).forEach(function (key) {\n      sum += data[key];\n    });\n\n    const themeVariables = conf.themeVariables;\n    var myGeneratedColors = [\n      themeVariables.pie1,\n      themeVariables.pie2,\n      themeVariables.pie3,\n      themeVariables.pie4,\n      themeVariables.pie5,\n      themeVariables.pie6,\n      themeVariables.pie7,\n      themeVariables.pie8,\n      themeVariables.pie9,\n      themeVariables.pie10,\n      themeVariables.pie11,\n      themeVariables.pie12,\n    ];\n\n    // Set the color scale\n    var color = scaleOrdinal().range(myGeneratedColors);\n\n    // Compute the position of each group on the pie:\n    var pieData = Object.entries(data).map(function (el, idx) {\n      return {\n        order: idx,\n        name: el[0],\n        value: el[1],\n      };\n    });\n    var pie = d3pie()\n      .value(function (d) {\n        return d.value;\n      })\n      .sort(function (a, b) {\n        // Sort slices in clockwise direction\n        return a.order - b.order;\n      });\n    var dataReady = pie(pieData);\n\n    // Shape helper to build arcs:\n    var arcGenerator = arc().innerRadius(0).outerRadius(radius);\n\n    // Build the pie chart: each part of the pie is a path that we build using the arc function.\n    svg\n      .selectAll('mySlices')\n      .data(dataReady)\n      .enter()\n      .append('path')\n      .attr('d', arcGenerator)\n      .attr('fill', function (d) {\n        return color(d.data.name);\n      })\n      .attr('class', 'pieCircle');\n\n    // Now add the percentage.\n    // Use the centroid method to get the best coordinates.\n    svg\n      .selectAll('mySlices')\n      .data(dataReady)\n      .enter()\n      .append('text')\n      .text(function (d) {\n        return ((d.data.value / sum) * 100).toFixed(0) + '%';\n      })\n      .attr('transform', function (d) {\n        return 'translate(' + arcGenerator.centroid(d) + ')';\n      })\n      .style('text-anchor', 'middle')\n      .attr('class', 'slice');\n\n    svg\n      .append('text')\n      .text(diagObj.db.getDiagramTitle())\n      .attr('x', 0)\n      .attr('y', -(height - 50) / 2)\n      .attr('class', 'pieTitleText');\n\n    // Add the legends/annotations for each section\n    var legend = svg\n      .selectAll('.legend')\n      .data(color.domain())\n      .enter()\n      .append('g')\n      .attr('class', 'legend')\n      .attr('transform', function (d, i) {\n        const height = legendRectSize + legendSpacing;\n        const offset = (height * color.domain().length) / 2;\n        const horizontal = 12 * legendRectSize;\n        const vertical = i * height - offset;\n        return 'translate(' + horizontal + ',' + vertical + ')';\n      });\n\n    legend\n      .append('rect')\n      .attr('width', legendRectSize)\n      .attr('height', legendRectSize)\n      .style('fill', color)\n      .style('stroke', color);\n\n    legend\n      .data(dataReady)\n      .append('text')\n      .attr('x', legendRectSize + legendSpacing)\n      .attr('y', legendRectSize - legendSpacing)\n      .text(function (d) {\n        if (diagObj.db.getShowData() || conf.showData || conf.pie.showData) {\n          return d.data.name + ' [' + d.data.value + ']';\n        } else {\n          return d.data.name;\n        }\n      });\n  } catch (e) {\n    log.error('Error while rendering info diagram');\n    log.error(e);\n  }\n};\n\nexport default {\n  draw,\n};\n","import { DiagramDefinition } from '../../diagram-api/types';\n// @ts-ignore: TODO Fix ts errors\nimport parser from './parser/pie';\nimport db from './pieDb';\nimport styles from './styles';\nimport renderer from './pieRenderer';\n\nexport const diagram: DiagramDefinition = {\n  parser,\n  db,\n  renderer,\n  styles,\n};\n"],"names":["InternMap","entries","key","keyof","value","intern_get","intern_set","intern_delete","_intern","_key","implicit","ordinal","index","domain","range","unknown","scale","d","i","_","initRange","descending","a","b","identity","d3pie","sortValues","sort","startAngle","constant","endAngle","tau","padAngle","pie","data","n","array","j","k","sum","arcs","a0","da","a1","p","pa","v","parser","o","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer","sharedState","yyloc","ranges","lex","token","symbol","state","action","r","yyval","len","newState","expected","errStr","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","rules","condition","yy_","$avoiding_name_collisions","YY_START","Parser","sections","showData","parseDirective","statement","context","type","mermaidAPI","addSection","id","common","configApi.getConfig","log","getSections","setShowData","toggle","getShowData","cleanupValue","clear","commonClear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","getStyles","options","styles","conf","width","height","draw","txt","_version","diagObj","securityLevel","sandboxElement","select","root","doc","elem","diagram","configureSvgSize","margin","legendRectSize","legendSpacing","radius","svg","themeVariables","myGeneratedColors","color","scaleOrdinal","pieData","el","idx","dataReady","arcGenerator","arc","legend","offset","horizontal","vertical","e","renderer"],"mappings":"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"}