jsxgraph 1.13.2 → 1.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +3 -1
- package/distrib/README.md +3 -1
- package/distrib/docs/files.html +2 -2
- package/distrib/docs/index.html +2 -2
- package/distrib/docs/static/jsxgraph.css +1 -1
- package/distrib/docs/static/jsxgraphcore.js +2 -2
- package/distrib/docs/symbols/Angle.html +2 -2
- package/distrib/docs/symbols/Arc.html +2 -2
- package/distrib/docs/symbols/Arrow.html +2 -2
- package/distrib/docs/symbols/Arrowparallel.html +2 -2
- package/distrib/docs/symbols/Axes3D.html +2 -2
- package/distrib/docs/symbols/Axis.html +2 -2
- package/distrib/docs/symbols/Axis3D.html +2 -2
- package/distrib/docs/symbols/Bisector.html +2 -2
- package/distrib/docs/symbols/Bisectorlines.html +2 -2
- package/distrib/docs/symbols/Boxplot.html +2 -2
- package/distrib/docs/symbols/Button.html +2 -2
- package/distrib/docs/symbols/Cardinalspline.html +2 -2
- package/distrib/docs/symbols/Chart.html +2 -2
- package/distrib/docs/symbols/Checkbox.html +2 -2
- package/distrib/docs/symbols/Circle.html +2 -2
- package/distrib/docs/symbols/Circle3D.html +2 -2
- package/distrib/docs/symbols/Circumcenter.html +2 -2
- package/distrib/docs/symbols/Circumcircle.html +2 -2
- package/distrib/docs/symbols/CircumcircleArc.html +2 -2
- package/distrib/docs/symbols/CircumcircleSector.html +2 -2
- package/distrib/docs/symbols/Comb.html +2 -2
- package/distrib/docs/symbols/Conic.html +2 -2
- package/distrib/docs/symbols/Curve.html +2 -2
- package/distrib/docs/symbols/Curve3D.html +2 -2
- package/distrib/docs/symbols/CurveDifference.html +2 -2
- package/distrib/docs/symbols/CurveIntersection.html +2 -2
- package/distrib/docs/symbols/CurveUnion.html +2 -2
- package/distrib/docs/symbols/Derivative.html +2 -2
- package/distrib/docs/symbols/Ellipse.html +2 -2
- package/distrib/docs/symbols/Face3D.html +2 -2
- package/distrib/docs/symbols/ForeignObject.html +2 -2
- package/distrib/docs/symbols/Functiongraph.html +2 -2
- package/distrib/docs/symbols/Functiongraph3D.html +2 -2
- package/distrib/docs/symbols/Glider.html +2 -2
- package/distrib/docs/symbols/Grid.html +2 -2
- package/distrib/docs/symbols/Group.html +2 -2
- package/distrib/docs/symbols/Hatch.html +2 -2
- package/distrib/docs/symbols/Hyperbola.html +2 -2
- package/distrib/docs/symbols/Image.html +2 -2
- package/distrib/docs/symbols/ImplicitCurve.html +2 -2
- package/distrib/docs/symbols/Incenter.html +2 -2
- package/distrib/docs/symbols/Incircle.html +2 -2
- package/distrib/docs/symbols/Inequality.html +2 -2
- package/distrib/docs/symbols/Input.html +2 -2
- package/distrib/docs/symbols/Integral.html +2 -2
- package/distrib/docs/symbols/Intersection.html +2 -2
- package/distrib/docs/symbols/IntersectionCircle3D.html +2 -2
- package/distrib/docs/symbols/IntersectionLine3D.html +2 -2
- package/distrib/docs/symbols/JXG.AbstractRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Board.html +2 -2
- package/distrib/docs/symbols/JXG.Board.infobox.html +2 -2
- package/distrib/docs/symbols/JXG.C.html +2 -2
- package/distrib/docs/symbols/JXG.CA.html +2 -2
- package/distrib/docs/symbols/JXG.CanvasRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Chart.html +2 -2
- package/distrib/docs/symbols/JXG.Circle.html +2 -2
- package/distrib/docs/symbols/JXG.Circle3D.html +2 -2
- package/distrib/docs/symbols/JXG.Complex.html +2 -2
- package/distrib/docs/symbols/JXG.Composition.html +2 -2
- package/distrib/docs/symbols/JXG.Coords.html +2 -2
- package/distrib/docs/symbols/JXG.CoordsElement.html +2 -2
- package/distrib/docs/symbols/JXG.Curve.html +2 -2
- package/distrib/docs/symbols/JXG.Curve3D.html +2 -2
- package/distrib/docs/symbols/JXG.Dump.html +2 -2
- package/distrib/docs/symbols/JXG.EventEmitter.html +2 -2
- package/distrib/docs/symbols/JXG.Expect.html +2 -2
- package/distrib/docs/symbols/JXG.Face3D.html +2 -2
- package/distrib/docs/symbols/JXG.ForeignObject.html +2 -2
- package/distrib/docs/symbols/JXG.GeometryElement.html +2 -2
- package/distrib/docs/symbols/JXG.GeometryElement3D.html +2 -2
- package/distrib/docs/symbols/JXG.GeonextParser.html +2 -2
- package/distrib/docs/symbols/JXG.Group.html +2 -2
- package/distrib/docs/symbols/JXG.Image.html +2 -2
- package/distrib/docs/symbols/JXG.JSXGraph.html +2 -2
- package/distrib/docs/symbols/JXG.JessieCode.html +2 -2
- package/distrib/docs/symbols/JXG.Legend.html +2 -2
- package/distrib/docs/symbols/JXG.Line.html +2 -2
- package/distrib/docs/symbols/JXG.Line3D.html +2 -2
- package/distrib/docs/symbols/JXG.Math.BoxQuadtree.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Clip.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Extrapolate.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Geometry.html +2 -2
- package/distrib/docs/symbols/JXG.Math.ImplicitPlot.html +2 -2
- package/distrib/docs/symbols/JXG.Math.IntervalArithmetic.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Metapost.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Nlp.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Numerics.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Plot.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.Monomial.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.Polynomial.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.Ring.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.html +2 -2
- package/distrib/docs/symbols/JXG.Math.ProbFuncs.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Quadtree.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Statistics.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Tiling.html +2 -2
- package/distrib/docs/symbols/JXG.Math.html +2 -2
- package/distrib/docs/symbols/JXG.NoRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Options.html +2 -2
- package/distrib/docs/symbols/JXG.Parse3D.html +2 -2
- package/distrib/docs/symbols/JXG.Plane3D.html +2 -2
- package/distrib/docs/symbols/JXG.Point.html +2 -2
- package/distrib/docs/symbols/JXG.Point3D.html +2 -2
- package/distrib/docs/symbols/JXG.Polygon.html +2 -2
- package/distrib/docs/symbols/JXG.Polygon3D.html +2 -2
- package/distrib/docs/symbols/JXG.Polyhedron3D.html +2 -2
- package/distrib/docs/symbols/JXG.PrefixParser.html +2 -2
- package/distrib/docs/symbols/JXG.SVGRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Sphere3D.html +2 -2
- package/distrib/docs/symbols/JXG.Surface3D.html +2 -2
- package/distrib/docs/symbols/JXG.Text.html +2 -2
- package/distrib/docs/symbols/JXG.Text3D.html +2 -2
- package/distrib/docs/symbols/JXG.Ticks.html +2 -2
- package/distrib/docs/symbols/JXG.Transformation.html +2 -2
- package/distrib/docs/symbols/JXG.Turtle.html +2 -2
- package/distrib/docs/symbols/JXG.Util.Base64.html +2 -2
- package/distrib/docs/symbols/JXG.Util.UTF8.html +2 -2
- package/distrib/docs/symbols/JXG.Util.Unzip.html +2 -2
- package/distrib/docs/symbols/JXG.Util.html +2 -2
- package/distrib/docs/symbols/JXG.VMLRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.View3D.html +2 -2
- package/distrib/docs/symbols/JXG.XML.html +2 -2
- package/distrib/docs/symbols/JXG.html +2 -2
- package/distrib/docs/symbols/Label.html +2 -2
- package/distrib/docs/symbols/Legend.html +2 -2
- package/distrib/docs/symbols/Line.html +2 -2
- package/distrib/docs/symbols/Line3D.html +2 -2
- package/distrib/docs/symbols/MajorArc.html +2 -2
- package/distrib/docs/symbols/MajorSector.html +2 -2
- package/distrib/docs/symbols/Measurement.html +2 -2
- package/distrib/docs/symbols/Mesh3D.html +2 -2
- package/distrib/docs/symbols/Metapostspline.html +2 -2
- package/distrib/docs/symbols/Midpoint.html +2 -2
- package/distrib/docs/symbols/MinorArc.html +2 -2
- package/distrib/docs/symbols/MinorSector.html +2 -2
- package/distrib/docs/symbols/MirrorElement.html +2 -2
- package/distrib/docs/symbols/MirrorPoint.html +2 -2
- package/distrib/docs/symbols/NonReflexAngle.html +2 -2
- package/distrib/docs/symbols/Normal.html +2 -2
- package/distrib/docs/symbols/Orthogonalprojection.html +2 -2
- package/distrib/docs/symbols/OtherIntersection.html +2 -2
- package/distrib/docs/symbols/Parabola.html +2 -2
- package/distrib/docs/symbols/Parallel.html +2 -2
- package/distrib/docs/symbols/Parallelogram.html +2 -2
- package/distrib/docs/symbols/Parallelpoint.html +2 -2
- package/distrib/docs/symbols/ParametricSurface3D.html +2 -2
- package/distrib/docs/symbols/Perpendicular.html +2 -2
- package/distrib/docs/symbols/PerpendicularPoint.html +2 -2
- package/distrib/docs/symbols/PerpendicularSegment.html +2 -2
- package/distrib/docs/symbols/Plane3D.html +2 -2
- package/distrib/docs/symbols/Point.html +2 -2
- package/distrib/docs/symbols/Point3D.html +2 -2
- package/distrib/docs/symbols/PolarLine.html +2 -2
- package/distrib/docs/symbols/PolePoint.html +2 -2
- package/distrib/docs/symbols/Polygon.html +2 -2
- package/distrib/docs/symbols/Polygon3D.html +2 -2
- package/distrib/docs/symbols/PolygonalChain.html +2 -2
- package/distrib/docs/symbols/Polyhedron3D.html +2 -2
- package/distrib/docs/symbols/RadicalAxis.html +2 -2
- package/distrib/docs/symbols/Reflection.html +2 -2
- package/distrib/docs/symbols/ReflexAngle.html +2 -2
- package/distrib/docs/symbols/RegularPolygon.html +2 -2
- package/distrib/docs/symbols/Riemannsum.html +2 -2
- package/distrib/docs/symbols/Sector.html +2 -2
- package/distrib/docs/symbols/Segment.html +2 -2
- package/distrib/docs/symbols/Semicircle.html +2 -2
- package/distrib/docs/symbols/SketchCurve.html +2 -2
- package/distrib/docs/symbols/Slider.html +2 -2
- package/distrib/docs/symbols/Slopefield.html +2 -2
- package/distrib/docs/symbols/Slopetriangle.html +2 -2
- package/distrib/docs/symbols/Smartlabel.html +2 -2
- package/distrib/docs/symbols/Sphere3D.html +2 -2
- package/distrib/docs/symbols/Spline.html +2 -2
- package/distrib/docs/symbols/Stepfunction.html +2 -2
- package/distrib/docs/symbols/Tangent.html +2 -2
- package/distrib/docs/symbols/TangentTo.html +2 -2
- package/distrib/docs/symbols/Tapemeasure.html +2 -2
- package/distrib/docs/symbols/Text.html +2 -2
- package/distrib/docs/symbols/Text3D.html +2 -2
- package/distrib/docs/symbols/Ticks.html +2 -2
- package/distrib/docs/symbols/Ticks3D.html +2 -2
- package/distrib/docs/symbols/Tracecurve.html +2 -2
- package/distrib/docs/symbols/Transformation.html +2 -2
- package/distrib/docs/symbols/Transformation3D.html +2 -2
- package/distrib/docs/symbols/Turtle.html +2 -2
- package/distrib/docs/symbols/Vectorfield.html +2 -2
- package/distrib/docs/symbols/Vectorfield3D.html +2 -2
- package/distrib/docs/symbols/View3D.html +2 -2
- package/distrib/docs/symbols/_global_.html +2 -2
- package/distrib/docs/symbols/src/src_base_constants.js.html +1 -1
- package/distrib/docs/symbols/src/src_base_polygon.js.html +1463 -1462
- package/distrib/docs/symbols/src/src_jsxgraph.js.html +796 -785
- package/distrib/docs/symbols/src/src_parser_jessiecode.js.html +2474 -2216
- package/distrib/docs/symbols/src/src_utils_type.js.html +586 -583
- package/distrib/geogebra.min.js +1 -1
- package/distrib/geonext.min.js +1 -1
- package/distrib/index.d.ts +22 -0
- package/distrib/intergeo.min.js +1 -1
- package/distrib/jsxgraph.css +1 -1
- package/distrib/jsxgraphcore.js +2 -2
- package/distrib/jsxgraphcore.mjs +2 -2
- package/distrib/jsxgraphcore.mjs.map +1 -1
- package/distrib/jsxgraphsrc.js +576 -299
- package/distrib/jsxgraphsrc.mjs +561 -297
- package/distrib/jsxgraphsrc.mjs.map +1 -1
- package/package.json +2 -1
- package/src/base/constants.js +1 -1
- package/src/base/polygon.js +6 -5
- package/src/index.d.ts +22 -0
- package/src/jsxgraph.js +12 -1
- package/src/parser/jessiecode.js +521 -263
- package/src/unused/server/fft.py +6 -0
- package/src/utils/type.js +4 -1
|
@@ -1499,601 +1499,604 @@
|
|
|
1499
1499
|
<span class='line'>1492</span>
|
|
1500
1500
|
<span class='line'>1493</span> </span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">arguments.length</span><span class="PUNC">;</span><span class="WHIT">
|
|
1501
1501
|
<span class='line'>1494</span> </span><span class="WHIT"> </span><span class="COMM">// Old code: if (len < 3 || primitives[s]) {</span><span class="WHIT">
|
|
1502
|
-
<span class='line'>1495</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1503
|
-
<span class='line'>1496</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1504
|
-
<span class='line'>1497</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1505
|
-
<span class='line'>1498</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1506
|
-
<span class='line'>1499</span> </span><span class="WHIT"> </span><span class="
|
|
1507
|
-
<span class='line'>1500</span> </span><span class="WHIT">
|
|
1508
|
-
<span class='line'>1501</span>
|
|
1509
|
-
<span class='line'>1502</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1510
|
-
<span class='line'>1503</span> </span><span class="WHIT"> </span><span class="
|
|
1511
|
-
<span class='line'>1504</span> </span><span class="WHIT">
|
|
1512
|
-
<span class='line'>1505</span>
|
|
1513
|
-
<span class='line'>1506</span> </span><span class="WHIT">
|
|
1514
|
-
<span class='line'>1507</span> </span><span class="WHIT"> </span><span class="
|
|
1515
|
-
<span class='line'>1508</span>
|
|
1516
|
-
<span class='line'>1509</span> </span><span class="WHIT"> </span><span class="
|
|
1517
|
-
<span class='line'>1510</span>
|
|
1518
|
-
<span class='line'>1511</span> </span><span class="WHIT">
|
|
1519
|
-
<span class='line'>1512</span> </span><span class="WHIT"> </span><span class="
|
|
1520
|
-
<span class='line'>1513</span>
|
|
1521
|
-
<span class='line'>1514</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1522
|
-
<span class='line'>1515</span> </span><span class="WHIT"> </span><span class="
|
|
1523
|
-
<span class='line'>1516</span> </span><span class="WHIT"> </span><span class="
|
|
1524
|
-
<span class='line'>1517</span> </span><span class="WHIT"> </span><span class="
|
|
1525
|
-
<span class='line'>1518</span> </span><span class="WHIT">
|
|
1526
|
-
<span class='line'>1519</span> </span><span class="WHIT">
|
|
1527
|
-
<span class='line'>1520</span> </span><span class="WHIT">
|
|
1528
|
-
<span class='line'>1521</span> </span><span class="WHIT"> </span><span class="
|
|
1529
|
-
<span class='line'>1522</span> </span><span class="WHIT">
|
|
1530
|
-
<span class='line'>1523</span> </span><span class="WHIT"> </span><span class="
|
|
1531
|
-
<span class='line'>1524</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1532
|
-
<span class='line'>1525</span> </span><span class="WHIT">
|
|
1533
|
-
<span class='line'>1526</span> </span><span class="WHIT">
|
|
1534
|
-
<span class='line'>1527</span> </span><span class="WHIT"> </span><span class="
|
|
1502
|
+
<span class='line'>1495</span> </span><span class="WHIT"> </span><span class="COMM">// Challenge: climb up the inheritance chain up to</span><span class="WHIT">
|
|
1503
|
+
<span class='line'>1496</span> </span><span class="WHIT"> </span><span class="COMM">// primitive elements</span><span class="WHIT">
|
|
1504
|
+
<span class='line'>1497</span> </span><span class="WHIT"> </span><span class="COMM">// If len > 3, the element is certainly not a primitive object,</span><span class="WHIT">
|
|
1505
|
+
<span class='line'>1498</span> </span><span class="WHIT"> </span><span class="COMM">// e.g. copyAttributes(attributes, JXG.Options, 'line', 'point1').</span><span class="WHIT">
|
|
1506
|
+
<span class='line'>1499</span> </span><span class="WHIT"> </span><span class="COMM">// That is, a later create('point', ...) will be the primitive call.</span><span class="WHIT">
|
|
1507
|
+
<span class='line'>1500</span> </span><span class="WHIT"> </span><span class="COMM">// This will not yet cover all cases of inheritance.</span><span class="WHIT">
|
|
1508
|
+
<span class='line'>1501</span>
|
|
1509
|
+
<span class='line'>1502</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">primitives</span><span class="PUNC">[</span><span class="NAME">s</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1510
|
+
<span class='line'>1503</span> </span><span class="WHIT"> </span><span class="COMM">// Jump directly to default options from Options.elements</span><span class="WHIT">
|
|
1511
|
+
<span class='line'>1504</span> </span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.deepCopy</span><span class="PUNC">(</span><span class="NAME">options.elements</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1512
|
+
<span class='line'>1505</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1513
|
+
<span class='line'>1506</span> </span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1514
|
+
<span class='line'>1507</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1515
|
+
<span class='line'>1508</span>
|
|
1516
|
+
<span class='line'>1509</span> </span><span class="WHIT"> </span><span class="COMM">// Only the layer of the main element is set.</span><span class="WHIT">
|
|
1517
|
+
<span class='line'>1510</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">options.layer</span><span class="PUNC">[</span><span class="NAME">s</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1518
|
+
<span class='line'>1511</span> </span><span class="WHIT"> </span><span class="NAME">a.layer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.layer</span><span class="PUNC">[</span><span class="NAME">s</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1519
|
+
<span class='line'>1512</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1520
|
+
<span class='line'>1513</span>
|
|
1521
|
+
<span class='line'>1514</span> </span><span class="WHIT"> </span><span class="COMM">// Default options from the specific element like 'line' in</span><span class="WHIT">
|
|
1522
|
+
<span class='line'>1515</span> </span><span class="WHIT"> </span><span class="COMM">// copyAttribute(attributes, board.options, 'line')</span><span class="WHIT">
|
|
1523
|
+
<span class='line'>1516</span> </span><span class="WHIT"> </span><span class="COMM">// but also like in</span><span class="WHIT">
|
|
1524
|
+
<span class='line'>1517</span> </span><span class="WHIT"> </span><span class="COMM">// Type.copyAttributes(attributes, board.options, 'view3d', 'az', 'slider');</span><span class="WHIT">
|
|
1525
|
+
<span class='line'>1518</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">;</span><span class="WHIT">
|
|
1526
|
+
<span class='line'>1519</span> </span><span class="WHIT"> </span><span class="NAME">isAvail</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
1527
|
+
<span class='line'>1520</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1528
|
+
<span class='line'>1521</span> </span><span class="WHIT"> </span><span class="NAME">arg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1529
|
+
<span class='line'>1522</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">[</span><span class="NAME">arg</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1530
|
+
<span class='line'>1523</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">[</span><span class="NAME">arg</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1531
|
+
<span class='line'>1524</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1532
|
+
<span class='line'>1525</span> </span><span class="WHIT"> </span><span class="NAME">isAvail</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
1533
|
+
<span class='line'>1526</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
|
|
1534
|
+
<span class='line'>1527</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1535
1535
|
<span class='line'>1528</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1536
|
-
<span class='line'>1529</span>
|
|
1537
|
-
<span class='line'>1530</span> </span><span class="WHIT">
|
|
1538
|
-
<span class='line'>1531</span> </span><span class="WHIT"> </span><span class="
|
|
1539
|
-
<span class='line'>1532</span>
|
|
1540
|
-
<span class='line'>1533</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1541
|
-
<span class='line'>1534</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1542
|
-
<span class='line'>1535</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1543
|
-
<span class='line'>1536</span> </span><span class="WHIT"> </span><span class="
|
|
1544
|
-
<span class='line'>1537</span> </span><span class="WHIT"> </span><span class="
|
|
1545
|
-
<span class='line'>1538</span> </span><span class="WHIT"> </span><span class="
|
|
1546
|
-
<span class='line'>1539</span> </span><span class="WHIT">
|
|
1547
|
-
<span class='line'>1540</span> </span><span class="WHIT">
|
|
1548
|
-
<span class='line'>1541</span> </span><span class="WHIT">
|
|
1549
|
-
<span class='line'>1542</span> </span><span class="WHIT"> </span><span class="
|
|
1550
|
-
<span class='line'>1543</span> </span><span class="WHIT">
|
|
1551
|
-
<span class='line'>1544</span> </span><span class="WHIT"> </span><span class="
|
|
1552
|
-
<span class='line'>1545</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1553
|
-
<span class='line'>1546</span> </span><span class="WHIT">
|
|
1554
|
-
<span class='line'>1547</span> </span><span class="WHIT">
|
|
1555
|
-
<span class='line'>1548</span> </span><span class="WHIT"> </span><span class="
|
|
1536
|
+
<span class='line'>1529</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isAvail</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1537
|
+
<span class='line'>1530</span> </span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.deepCopy</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1538
|
+
<span class='line'>1531</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1539
|
+
<span class='line'>1532</span>
|
|
1540
|
+
<span class='line'>1533</span> </span><span class="WHIT"> </span><span class="COMM">// Merge the specific options given in the parameter 'attributes'</span><span class="WHIT">
|
|
1541
|
+
<span class='line'>1534</span> </span><span class="WHIT"> </span><span class="COMM">// into the default options.</span><span class="WHIT">
|
|
1542
|
+
<span class='line'>1535</span> </span><span class="WHIT"> </span><span class="COMM">// Additionally, we step into a sub-element of attribute like line.point1 -</span><span class="WHIT">
|
|
1543
|
+
<span class='line'>1536</span> </span><span class="WHIT"> </span><span class="COMM">// in case it is supplied as in</span><span class="WHIT">
|
|
1544
|
+
<span class='line'>1537</span> </span><span class="WHIT"> </span><span class="COMM">// copyAttribute(attributes, board.options, 'line', 'point1')</span><span class="WHIT">
|
|
1545
|
+
<span class='line'>1538</span> </span><span class="WHIT"> </span><span class="COMM">// In this case we would merge attributes.point1 into the global line.point1 attributes.</span><span class="WHIT">
|
|
1546
|
+
<span class='line'>1539</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.keysToLowerCase</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1547
|
+
<span class='line'>1540</span> </span><span class="WHIT"> </span><span class="NAME">isAvail</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
1548
|
+
<span class='line'>1541</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1549
|
+
<span class='line'>1542</span> </span><span class="WHIT"> </span><span class="NAME">arg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1550
|
+
<span class='line'>1543</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">[</span><span class="NAME">arg</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1551
|
+
<span class='line'>1544</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">[</span><span class="NAME">arg</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1552
|
+
<span class='line'>1545</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1553
|
+
<span class='line'>1546</span> </span><span class="WHIT"> </span><span class="NAME">isAvail</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
1554
|
+
<span class='line'>1547</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
|
|
1555
|
+
<span class='line'>1548</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1556
1556
|
<span class='line'>1549</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1557
|
-
<span class='line'>1550</span>
|
|
1558
|
-
<span class='line'>1551</span> </span><span class="WHIT">
|
|
1559
|
-
<span class='line'>1552</span> </span><span class="WHIT">
|
|
1560
|
-
<span class='line'>1553</span>
|
|
1561
|
-
<span class='line'>1554</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1562
|
-
<span class='line'>1555</span>
|
|
1563
|
-
<span class='line'>1556</span> </span><span class="WHIT">
|
|
1564
|
-
<span class='line'>1557</span> </span><span class="WHIT"> </span><span class="
|
|
1565
|
-
<span class='line'>1558</span>
|
|
1566
|
-
<span class='line'>1559</span> </span><span class="WHIT"> </span><span class="
|
|
1567
|
-
<span class='line'>1560</span> </span><span class="WHIT">
|
|
1568
|
-
<span class='line'>1561</span> </span><span class="WHIT">
|
|
1569
|
-
<span class='line'>1562</span> </span><span class="WHIT">
|
|
1570
|
-
<span class='line'>1563</span> </span><span class="WHIT"> </span><span class="
|
|
1571
|
-
<span class='line'>1564</span> </span><span class="WHIT">
|
|
1572
|
-
<span class='line'>1565</span> </span><span class="WHIT"> </span><span class="
|
|
1573
|
-
<span class='line'>1566</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1574
|
-
<span class='line'>1567</span> </span><span class="WHIT">
|
|
1575
|
-
<span class='line'>1568</span> </span><span class="WHIT">
|
|
1576
|
-
<span class='line'>1569</span> </span><span class="WHIT"> </span><span class="
|
|
1557
|
+
<span class='line'>1550</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isAvail</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1558
|
+
<span class='line'>1551</span> </span><span class="WHIT"> </span><span class="NAME">this.mergeAttr</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1559
|
+
<span class='line'>1552</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1560
|
+
<span class='line'>1553</span>
|
|
1561
|
+
<span class='line'>1554</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'board'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1562
|
+
<span class='line'>1555</span> </span><span class="WHIT"> </span><span class="COMM">// For board attributes we are done now.</span><span class="WHIT">
|
|
1563
|
+
<span class='line'>1556</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">;</span><span class="WHIT">
|
|
1564
|
+
<span class='line'>1557</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1565
|
+
<span class='line'>1558</span>
|
|
1566
|
+
<span class='line'>1559</span> </span><span class="WHIT"> </span><span class="COMM">// Special treatment of labels</span><span class="WHIT">
|
|
1567
|
+
<span class='line'>1560</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">;</span><span class="WHIT">
|
|
1568
|
+
<span class='line'>1561</span> </span><span class="WHIT"> </span><span class="NAME">isAvail</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
1569
|
+
<span class='line'>1562</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1570
|
+
<span class='line'>1563</span> </span><span class="WHIT"> </span><span class="NAME">arg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1571
|
+
<span class='line'>1564</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">[</span><span class="NAME">arg</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1572
|
+
<span class='line'>1565</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">[</span><span class="NAME">arg</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1573
|
+
<span class='line'>1566</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1574
|
+
<span class='line'>1567</span> </span><span class="WHIT"> </span><span class="NAME">isAvail</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
1575
|
+
<span class='line'>1568</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
|
|
1576
|
+
<span class='line'>1569</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1577
1577
|
<span class='line'>1570</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1578
|
-
<span class='line'>1571</span> </span><span class="WHIT"> </span><span class="
|
|
1579
|
-
<span class='line'>1572</span>
|
|
1580
|
-
<span class='line'>1573</span> </span><span class="WHIT"> </span><span class="
|
|
1581
|
-
<span class='line'>1574</span> </span><span class="WHIT">
|
|
1578
|
+
<span class='line'>1571</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isAvail</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">o.label</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1579
|
+
<span class='line'>1572</span> </span><span class="WHIT"> </span><span class="NAME">a.label</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.deepCopy</span><span class="PUNC">(</span><span class="NAME">o.label</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a.label</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1580
|
+
<span class='line'>1573</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1581
|
+
<span class='line'>1574</span> </span><span class="WHIT"> </span><span class="NAME">a.label</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.deepCopy</span><span class="PUNC">(</span><span class="NAME">options.label</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a.label</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1582
1582
|
<span class='line'>1575</span>
|
|
1583
|
-
<span class='line'>1576</span> </span><span class="WHIT">
|
|
1584
|
-
<span class='line'>1577</span>
|
|
1585
|
-
<span class='line'>1578</span>
|
|
1586
|
-
<span class='line'>1579</span>
|
|
1587
|
-
<span class='line'>1580</span> *
|
|
1588
|
-
<span class='line'>1581</span> *
|
|
1589
|
-
<span class='line'>1582</span> *
|
|
1590
|
-
<span class='line'>1583</span> *
|
|
1591
|
-
<span class='line'>1584</span> * @
|
|
1592
|
-
<span class='line'>1585</span>
|
|
1593
|
-
<span class='line'>1586</span>
|
|
1594
|
-
<span class='line'>1587</span>
|
|
1595
|
-
<span class='line'>1588</span>
|
|
1596
|
-
<span class='line'>1589</span> </span><span class="WHIT">
|
|
1597
|
-
<span class='line'>1590</span> </span><span class="WHIT"> </span><span class="KEYW">
|
|
1598
|
-
<span class='line'>1591</span>
|
|
1599
|
-
<span class='line'>1592</span> </span><span class="WHIT">
|
|
1600
|
-
<span class='line'>1593</span> </span><span class="WHIT">
|
|
1601
|
-
<span class='line'>1594</span> </span><span class="WHIT">
|
|
1602
|
-
<span class='line'>1595</span> </span><span class="WHIT">
|
|
1603
|
-
<span class='line'>1596</span> </span><span class="WHIT">
|
|
1604
|
-
<span class='line'>1597</span> </span><span class="WHIT">
|
|
1605
|
-
<span class='line'>1598</span> </span><span class="WHIT">
|
|
1606
|
-
<span class='line'>1599</span> </span><span class="WHIT">
|
|
1607
|
-
<span class='line'>1600</span>
|
|
1608
|
-
<span class='line'>1601</span> </span><span class="WHIT">
|
|
1609
|
-
<span class='line'>1602</span>
|
|
1610
|
-
<span class='line'>1603</span>
|
|
1611
|
-
<span class='line'>1604</span>
|
|
1612
|
-
<span class='line'>1605</span> *
|
|
1613
|
-
<span class='line'>1606</span> *
|
|
1614
|
-
<span class='line'>1607</span> *
|
|
1615
|
-
<span class='line'>1608</span> *
|
|
1616
|
-
<span class='line'>1609</span> *
|
|
1617
|
-
<span class='line'>1610</span> *
|
|
1618
|
-
<span class='line'>1611</span> *
|
|
1619
|
-
<span class='line'>1612</span>
|
|
1620
|
-
<span class='line'>1613</span>
|
|
1621
|
-
<span class='line'>1614</span>
|
|
1622
|
-
<span class='line'>1615</span>
|
|
1623
|
-
<span class='line'>1616</span> </span><span class="WHIT">
|
|
1624
|
-
<span class='line'>1617</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1625
|
-
<span class='line'>1618</span>
|
|
1626
|
-
<span class='line'>1619</span>
|
|
1627
|
-
<span class='line'>1620</span> </span><span class="WHIT">
|
|
1628
|
-
<span class='line'>1621</span>
|
|
1629
|
-
<span class='line'>1622</span>
|
|
1630
|
-
<span class='line'>1623</span>
|
|
1631
|
-
<span class='line'>1624</span> *
|
|
1632
|
-
<span class='line'>1625</span> *
|
|
1633
|
-
<span class='line'>1626</span> *
|
|
1634
|
-
<span class='line'>1627</span> *
|
|
1635
|
-
<span class='line'>1628</span> *
|
|
1636
|
-
<span class='line'>1629</span> *
|
|
1637
|
-
<span class='line'>1630</span> *
|
|
1638
|
-
<span class='line'>1631</span> * @
|
|
1639
|
-
<span class='line'>1632</span>
|
|
1640
|
-
<span class='line'>1633</span>
|
|
1641
|
-
<span class='line'>1634</span>
|
|
1642
|
-
<span class='line'>1635</span>
|
|
1643
|
-
<span class='line'>1636</span> </span><span class="WHIT">
|
|
1644
|
-
<span class='line'>1637</span> </span><span class="WHIT"> </span><span class="
|
|
1645
|
-
<span class='line'>1638</span>
|
|
1646
|
-
<span class='line'>1639</span> </span><span class="WHIT"> </span><span class="
|
|
1647
|
-
<span class='line'>1640</span>
|
|
1648
|
-
<span class='line'>1641</span> </span><span class="WHIT">
|
|
1649
|
-
<span class='line'>1642</span> </span><span class="WHIT">
|
|
1650
|
-
<span class='line'>1643</span>
|
|
1651
|
-
<span class='line'>1644</span> </span><span class="WHIT">
|
|
1652
|
-
<span class='line'>1645</span> </span><span class="WHIT">
|
|
1653
|
-
<span class='line'>1646</span> </span><span class="WHIT">
|
|
1654
|
-
<span class='line'>1647</span>
|
|
1655
|
-
<span class='line'>1648</span> </span><span class="WHIT">
|
|
1656
|
-
<span class='line'>1649</span>
|
|
1657
|
-
<span class='line'>1650</span>
|
|
1658
|
-
<span class='line'>1651</span>
|
|
1659
|
-
<span class='line'>1652</span> *
|
|
1660
|
-
<span class='line'>1653</span> *
|
|
1661
|
-
<span class='line'>1654</span> *
|
|
1662
|
-
<span class='line'>1655</span>
|
|
1663
|
-
<span class='line'>1656</span>
|
|
1664
|
-
<span class='line'>1657</span>
|
|
1665
|
-
<span class='line'>1658</span>
|
|
1666
|
-
<span class='line'>1659</span>
|
|
1667
|
-
<span class='line'>1660</span> </span><span class="WHIT"> </span><span class="
|
|
1668
|
-
<span class='line'>1661</span> </span><span class="WHIT">
|
|
1583
|
+
<span class='line'>1576</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">;</span><span class="WHIT">
|
|
1584
|
+
<span class='line'>1577</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1585
|
+
<span class='line'>1578</span>
|
|
1586
|
+
<span class='line'>1579</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1587
|
+
<span class='line'>1580</span> * Copy all prototype methods from object "superObject" to object
|
|
1588
|
+
<span class='line'>1581</span> * "subObject". The constructor of superObject will be available
|
|
1589
|
+
<span class='line'>1582</span> * in subObject as subObject.constructor[constructorName].
|
|
1590
|
+
<span class='line'>1583</span> * @param {Object} subObject A JavaScript object which receives new methods.
|
|
1591
|
+
<span class='line'>1584</span> * @param {Object} superObject A JavaScript object which lends its prototype methods to subObject
|
|
1592
|
+
<span class='line'>1585</span> * @param {String} constructorName Under this name the constructor of superObj will be available
|
|
1593
|
+
<span class='line'>1586</span> * in subObject.
|
|
1594
|
+
<span class='line'>1587</span> * @private
|
|
1595
|
+
<span class='line'>1588</span> */</span><span class="WHIT">
|
|
1596
|
+
<span class='line'>1589</span> </span><span class="WHIT"> </span><span class="NAME">copyPrototypeMethods</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">subObject</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">superObject</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">constructorName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1597
|
+
<span class='line'>1590</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">key</span><span class="PUNC">;</span><span class="WHIT">
|
|
1598
|
+
<span class='line'>1591</span>
|
|
1599
|
+
<span class='line'>1592</span> </span><span class="WHIT"> </span><span class="NAME">subObject.prototype</span><span class="PUNC">[</span><span class="NAME">constructorName</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">superObject.prototype.constructor</span><span class="PUNC">;</span><span class="WHIT">
|
|
1600
|
+
<span class='line'>1593</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">key</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">superObject.prototype</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1601
|
+
<span class='line'>1594</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">superObject.prototype.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">key</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1602
|
+
<span class='line'>1595</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">key</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'methodMap'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1603
|
+
<span class='line'>1596</span> </span><span class="WHIT"> </span><span class="NAME">JXG.copyMethodMap</span><span class="PUNC">(</span><span class="NAME">subObject</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">superObject.prototype.methodMap</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1604
|
+
<span class='line'>1597</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1605
|
+
<span class='line'>1598</span> </span><span class="WHIT"> </span><span class="NAME">subObject.prototype</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">superObject.prototype</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1606
|
+
<span class='line'>1599</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1607
|
+
<span class='line'>1600</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1608
|
+
<span class='line'>1601</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1609
|
+
<span class='line'>1602</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1610
|
+
<span class='line'>1603</span>
|
|
1611
|
+
<span class='line'>1604</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1612
|
+
<span class='line'>1605</span> * Create a copy of methodMap in "objectClass.prototype" and optional extend it.
|
|
1613
|
+
<span class='line'>1606</span> * If objectClass.prototype.methodMap does not exist, it will be initialized.
|
|
1614
|
+
<span class='line'>1607</span> *
|
|
1615
|
+
<span class='line'>1608</span> * The methodMap determines which methods can be called from within JessieCode and under which name it
|
|
1616
|
+
<span class='line'>1609</span> * can be used. The map is saved in an object, the name of a property is the name of the method used in JessieCode,
|
|
1617
|
+
<span class='line'>1610</span> * the value of a property is the name of the method in JavaScript.
|
|
1618
|
+
<span class='line'>1611</span> *
|
|
1619
|
+
<span class='line'>1612</span> * @param {Object} objectClass
|
|
1620
|
+
<span class='line'>1613</span> * @param {Object} [extension]
|
|
1621
|
+
<span class='line'>1614</span> * @private
|
|
1622
|
+
<span class='line'>1615</span> */</span><span class="WHIT">
|
|
1623
|
+
<span class='line'>1616</span> </span><span class="WHIT"> </span><span class="NAME">copyMethodMap</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">objectClass</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1624
|
+
<span class='line'>1617</span> </span><span class="WHIT"> </span><span class="NAME">extension</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1625
|
+
<span class='line'>1618</span>
|
|
1626
|
+
<span class='line'>1619</span> </span><span class="WHIT"> </span><span class="NAME">objectClass.prototype.methodMap</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">objectClass.prototype.methodMap</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1627
|
+
<span class='line'>1620</span> </span><span class="WHIT"> </span><span class="NAME">objectClass.prototype.methodMap</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.deepCopy</span><span class="PUNC">(</span><span class="NAME">objectClass.prototype.methodMap</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1628
|
+
<span class='line'>1621</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1629
|
+
<span class='line'>1622</span>
|
|
1630
|
+
<span class='line'>1623</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1631
|
+
<span class='line'>1624</span> * Copy methodMap of "object.prototype" to objects instance and optional extend it.
|
|
1632
|
+
<span class='line'>1625</span> * If extension is of type String and extensionValue is defined, a key-value-pair is added.
|
|
1633
|
+
<span class='line'>1626</span> *
|
|
1634
|
+
<span class='line'>1627</span> * The methodMap determines which methods can be called from within JessieCode and under which name it
|
|
1635
|
+
<span class='line'>1628</span> * can be used. The map is saved in an object, the name of a property is the name of the method used in JessieCode,
|
|
1636
|
+
<span class='line'>1629</span> * the value of a property is the name of the method in JavaScript.
|
|
1637
|
+
<span class='line'>1630</span> *
|
|
1638
|
+
<span class='line'>1631</span> * @param {Object} object
|
|
1639
|
+
<span class='line'>1632</span> * @param {Object|String} [extension]
|
|
1640
|
+
<span class='line'>1633</span> * @param {String} [extensionValue]
|
|
1641
|
+
<span class='line'>1634</span> * @private
|
|
1642
|
+
<span class='line'>1635</span> */</span><span class="WHIT">
|
|
1643
|
+
<span class='line'>1636</span> </span><span class="WHIT"> </span><span class="NAME">extendInstanceMethodMap</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">object</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extensionValue</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1644
|
+
<span class='line'>1637</span> </span><span class="WHIT"> </span><span class="NAME">extension</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1645
|
+
<span class='line'>1638</span>
|
|
1646
|
+
<span class='line'>1639</span> </span><span class="WHIT"> </span><span class="COMM">// Create own copy only if instance still uses prototype version</span><span class="WHIT">
|
|
1647
|
+
<span class='line'>1640</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">object.hasOwnProperty</span><span class="PUNC">(</span><span class="STRN">"methodMap"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1648
|
+
<span class='line'>1641</span> </span><span class="WHIT"> </span><span class="NAME">object.methodMap</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Object.assign</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">object.methodMap</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1649
|
+
<span class='line'>1642</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1650
|
+
<span class='line'>1643</span>
|
|
1651
|
+
<span class='line'>1644</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.isObject</span><span class="PUNC">(</span><span class="NAME">extension</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1652
|
+
<span class='line'>1645</span> </span><span class="WHIT"> </span><span class="NAME">object.methodMap</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.deepCopy</span><span class="PUNC">(</span><span class="NAME">object.methodMap</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">extension</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1653
|
+
<span class='line'>1646</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.isString</span><span class="PUNC">(</span><span class="NAME">extension</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">extensionValue</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1654
|
+
<span class='line'>1647</span> </span><span class="WHIT"> </span><span class="NAME">object.methodMap</span><span class="PUNC">[</span><span class="NAME">extension</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">extensionValue</span><span class="PUNC">;</span><span class="WHIT">
|
|
1655
|
+
<span class='line'>1648</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1656
|
+
<span class='line'>1649</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1657
|
+
<span class='line'>1650</span>
|
|
1658
|
+
<span class='line'>1651</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1659
|
+
<span class='line'>1652</span> * Create a stripped down version of a JSXGraph element for cloning to the background.
|
|
1660
|
+
<span class='line'>1653</span> * Used in {JXG.GeometryElement#cloneToBackground} for creating traces.
|
|
1661
|
+
<span class='line'>1654</span> *
|
|
1662
|
+
<span class='line'>1655</span> * @param {JXG.GeometryElement} el Element to be cloned
|
|
1663
|
+
<span class='line'>1656</span> * @returns Object Cloned element
|
|
1664
|
+
<span class='line'>1657</span> * @private
|
|
1665
|
+
<span class='line'>1658</span> */</span><span class="WHIT">
|
|
1666
|
+
<span class='line'>1659</span> </span><span class="WHIT"> </span><span class="NAME">getCloneObject</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">el</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1667
|
+
<span class='line'>1660</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">key</span><span class="PUNC">,</span><span class="WHIT">
|
|
1668
|
+
<span class='line'>1661</span> </span><span class="WHIT"> </span><span class="NAME">copy</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1669
1669
|
<span class='line'>1662</span>
|
|
1670
|
-
<span class='line'>1663</span> </span><span class="WHIT"> </span><span class="NAME">copy.
|
|
1671
|
-
<span class='line'>1664</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1672
|
-
<span class='line'>1665</span>
|
|
1673
|
-
<span class='line'>1666</span> </span><span class="WHIT"> </span><span class="
|
|
1674
|
-
<span class='line'>1667</span> </span><span class="WHIT">
|
|
1675
|
-
<span class='line'>1668</span> </span><span class="WHIT">
|
|
1676
|
-
<span class='line'>1669</span> </span><span class="WHIT">
|
|
1677
|
-
<span class='line'>1670</span> </span><span class="WHIT">
|
|
1678
|
-
<span class='line'>1671</span> </span><span class="WHIT">
|
|
1679
|
-
<span class='line'>1672</span> </span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="
|
|
1680
|
-
<span class='line'>1673</span> </span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="
|
|
1681
|
-
<span class='line'>1674</span> </span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="
|
|
1682
|
-
<span class='line'>1675</span> </span><span class="WHIT">
|
|
1683
|
-
<span class='line'>1676</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1684
|
-
<span class='line'>1677</span> </span><span class="WHIT">
|
|
1685
|
-
<span class='line'>1678</span> </span><span class="WHIT">
|
|
1686
|
-
<span class='line'>1679</span> </span><span class="WHIT">
|
|
1687
|
-
<span class='line'>1680</span> </span><span class="WHIT">
|
|
1688
|
-
<span class='line'>1681</span> </span><span class="WHIT"> </span><span class="
|
|
1689
|
-
<span class='line'>1682</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="
|
|
1690
|
-
<span class='line'>1683</span> </span><span class="WHIT"> </span><span class="NAME">copy.
|
|
1691
|
-
<span class='line'>1684</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">val</span><span class="PUNC">;</span><span class="WHIT">
|
|
1670
|
+
<span class='line'>1663</span> </span><span class="WHIT"> </span><span class="NAME">copy.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"T"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">el.numTraces</span><span class="PUNC">;</span><span class="WHIT">
|
|
1671
|
+
<span class='line'>1664</span> </span><span class="WHIT"> </span><span class="NAME">el.numTraces</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
|
1672
|
+
<span class='line'>1665</span>
|
|
1673
|
+
<span class='line'>1666</span> </span><span class="WHIT"> </span><span class="NAME">copy.coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el.coords</span><span class="PUNC">;</span><span class="WHIT">
|
|
1674
|
+
<span class='line'>1667</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.deepCopy</span><span class="PUNC">(</span><span class="NAME">el.visProp</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">el.visProp.traceattributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1675
|
+
<span class='line'>1668</span> </span><span class="WHIT"> </span><span class="NAME">copy.visProp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1676
|
+
<span class='line'>1669</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">key</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1677
|
+
<span class='line'>1670</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">key</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1678
|
+
<span class='line'>1671</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
|
|
1679
|
+
<span class='line'>1672</span> </span><span class="WHIT"> </span><span class="NAME">key.indexOf</span><span class="PUNC">(</span><span class="STRN">'aria'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
1680
|
+
<span class='line'>1673</span> </span><span class="WHIT"> </span><span class="NAME">key.indexOf</span><span class="PUNC">(</span><span class="STRN">'highlight'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
1681
|
+
<span class='line'>1674</span> </span><span class="WHIT"> </span><span class="NAME">key.indexOf</span><span class="PUNC">(</span><span class="STRN">'attractor'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
1682
|
+
<span class='line'>1675</span> </span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">'label'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
1683
|
+
<span class='line'>1676</span> </span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">'needsregularupdate'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
1684
|
+
<span class='line'>1677</span> </span><span class="WHIT"> </span><span class="NAME">key</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">'infoboxdigits'</span><span class="WHIT">
|
|
1685
|
+
<span class='line'>1678</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1686
|
+
<span class='line'>1679</span> </span><span class="WHIT"> </span><span class="NAME">copy.visProp</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el.eval</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">[</span><span class="NAME">key</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1687
|
+
<span class='line'>1680</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1688
|
+
<span class='line'>1681</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1689
|
+
<span class='line'>1682</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1690
|
+
<span class='line'>1683</span> </span><span class="WHIT"> </span><span class="NAME">copy.evalVisProp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">val</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1691
|
+
<span class='line'>1684</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">copy.visProp</span><span class="PUNC">[</span><span class="NAME">val</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1692
1692
|
<span class='line'>1685</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1693
|
-
<span class='line'>1686</span>
|
|
1694
|
-
<span class='line'>1687</span> </span><span class="WHIT">
|
|
1695
|
-
<span class='line'>1688</span> </span><span class="WHIT"> </span><span class="
|
|
1696
|
-
<span class='line'>1689</span>
|
|
1697
|
-
<span class='line'>1690</span> </span><span class="WHIT"> </span><span class="NAME">copy.
|
|
1698
|
-
<span class='line'>1691</span> </span><span class="WHIT"> </span><span class="NAME">copy.
|
|
1699
|
-
<span class='line'>1692</span>
|
|
1700
|
-
<span class='line'>1693</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1701
|
-
<span class='line'>1694</span> </span><span class="WHIT"> </span><span class="NAME">copy.
|
|
1702
|
-
<span class='line'>1695</span>
|
|
1703
|
-
<span class='line'>1696</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1704
|
-
<span class='line'>1697</span>
|
|
1705
|
-
<span class='line'>1698</span> </span><span class="WHIT">
|
|
1706
|
-
<span class='line'>1699</span> </span><span class="WHIT">
|
|
1693
|
+
<span class='line'>1686</span> </span><span class="WHIT"> </span><span class="NAME">copy.eval</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">val</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1694
|
+
<span class='line'>1687</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">val</span><span class="PUNC">;</span><span class="WHIT">
|
|
1695
|
+
<span class='line'>1688</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1696
|
+
<span class='line'>1689</span>
|
|
1697
|
+
<span class='line'>1690</span> </span><span class="WHIT"> </span><span class="NAME">copy.visProp.layer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el.board.options.layer.trace</span><span class="PUNC">;</span><span class="WHIT">
|
|
1698
|
+
<span class='line'>1691</span> </span><span class="WHIT"> </span><span class="NAME">copy.visProp.tabindex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
1699
|
+
<span class='line'>1692</span> </span><span class="WHIT"> </span><span class="NAME">copy.visProp.highlight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
1700
|
+
<span class='line'>1693</span> </span><span class="WHIT"> </span><span class="NAME">copy.board</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el.board</span><span class="PUNC">;</span><span class="WHIT">
|
|
1701
|
+
<span class='line'>1694</span> </span><span class="WHIT"> </span><span class="NAME">copy.elementClass</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">el.elementClass</span><span class="PUNC">;</span><span class="WHIT">
|
|
1702
|
+
<span class='line'>1695</span>
|
|
1703
|
+
<span class='line'>1696</span> </span><span class="WHIT"> </span><span class="NAME">this.clearVisPropOld</span><span class="PUNC">(</span><span class="NAME">copy</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1704
|
+
<span class='line'>1697</span> </span><span class="WHIT"> </span><span class="NAME">copy.visPropCalc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1705
|
+
<span class='line'>1698</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">el.evalVisProp</span><span class="PUNC">(</span><span class="STRN">'visible'</span><span class="PUNC">)</span><span class="WHIT">
|
|
1706
|
+
<span class='line'>1699</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1707
1707
|
<span class='line'>1700</span>
|
|
1708
|
-
<span class='line'>1701</span> </span><span class="WHIT">
|
|
1709
|
-
<span class='line'>1702</span>
|
|
1710
|
-
<span class='line'>1703</span>
|
|
1711
|
-
<span class='line'>1704</span>
|
|
1712
|
-
<span class='line'>1705</span> *
|
|
1713
|
-
<span class='line'>1706</span> * @
|
|
1714
|
-
<span class='line'>1707</span>
|
|
1715
|
-
<span class='line'>1708</span>
|
|
1716
|
-
<span class='line'>1709</span>
|
|
1717
|
-
<span class='line'>1710</span>
|
|
1718
|
-
<span class='line'>1711</span> </span><span class="WHIT">
|
|
1719
|
-
<span class='line'>1712</span>
|
|
1720
|
-
<span class='line'>1713</span>
|
|
1721
|
-
<span class='line'>1714</span> </span><span class="WHIT"> </span><span class="
|
|
1722
|
-
<span class='line'>1715</span>
|
|
1723
|
-
<span class='line'>1716</span> </span><span class="WHIT">
|
|
1724
|
-
<span class='line'>1717</span> </span><span class="WHIT">
|
|
1725
|
-
<span class='line'>1718</span> </span><span class="WHIT"> </span><span class="
|
|
1726
|
-
<span class='line'>1719</span> </span><span class="WHIT"> </span><span class="
|
|
1727
|
-
<span class='line'>1720</span> </span><span class="WHIT"> </span><span class="
|
|
1728
|
-
<span class='line'>1721</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1729
|
-
<span class='line'>1722</span> </span><span class="WHIT">
|
|
1730
|
-
<span class='line'>1723</span>
|
|
1731
|
-
<span class='line'>1724</span> </span><span class="WHIT">
|
|
1732
|
-
<span class='line'>1725</span> </span><span class="WHIT">
|
|
1733
|
-
<span class='line'>1726</span>
|
|
1734
|
-
<span class='line'>1727</span> </span><span class="WHIT">
|
|
1735
|
-
<span class='line'>1728</span>
|
|
1736
|
-
<span class='line'>1729</span> </span><span class="WHIT">
|
|
1737
|
-
<span class='line'>1730</span> </span><span class="WHIT">
|
|
1738
|
-
<span class='line'>1731</span>
|
|
1739
|
-
<span class='line'>1732</span> </span><span class="WHIT">
|
|
1740
|
-
<span class='line'>1733</span>
|
|
1741
|
-
<span class='line'>1734</span> </span><span class="WHIT">
|
|
1742
|
-
<span class='line'>1735</span> </span><span class="WHIT">
|
|
1708
|
+
<span class='line'>1701</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">copy</span><span class="PUNC">;</span><span class="WHIT">
|
|
1709
|
+
<span class='line'>1702</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1710
|
+
<span class='line'>1703</span>
|
|
1711
|
+
<span class='line'>1704</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1712
|
+
<span class='line'>1705</span> * Converts a JavaScript object into a JSON string.
|
|
1713
|
+
<span class='line'>1706</span> * @param {Object} obj A JavaScript object, functions will be ignored.
|
|
1714
|
+
<span class='line'>1707</span> * @param {Boolean} [noquote=false] No quotes around the name of a property.
|
|
1715
|
+
<span class='line'>1708</span> * @returns {String} The given object stored in a JSON string.
|
|
1716
|
+
<span class='line'>1709</span> * @deprecated
|
|
1717
|
+
<span class='line'>1710</span> */</span><span class="WHIT">
|
|
1718
|
+
<span class='line'>1711</span> </span><span class="WHIT"> </span><span class="NAME">toJSON</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">noquote</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1719
|
+
<span class='line'>1712</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">list</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">prop</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">val</span><span class="PUNC">;</span><span class="WHIT">
|
|
1720
|
+
<span class='line'>1713</span>
|
|
1721
|
+
<span class='line'>1714</span> </span><span class="WHIT"> </span><span class="NAME">noquote</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.def</span><span class="PUNC">(</span><span class="NAME">noquote</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1722
|
+
<span class='line'>1715</span>
|
|
1723
|
+
<span class='line'>1716</span> </span><span class="WHIT"> </span><span class="COMM">// check for native JSON support:</span><span class="WHIT">
|
|
1724
|
+
<span class='line'>1717</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">JSON</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">JSON.stringify</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">noquote</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1725
|
+
<span class='line'>1718</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1726
|
+
<span class='line'>1719</span> </span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JSON.stringify</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1727
|
+
<span class='line'>1720</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">;</span><span class="WHIT">
|
|
1728
|
+
<span class='line'>1721</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1729
|
+
<span class='line'>1722</span> </span><span class="WHIT"> </span><span class="COMM">// if something goes wrong, e.g. if obj contains functions we won't return</span><span class="WHIT">
|
|
1730
|
+
<span class='line'>1723</span> </span><span class="WHIT"> </span><span class="COMM">// and use our own implementation as a fallback</span><span class="WHIT">
|
|
1731
|
+
<span class='line'>1724</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1732
|
+
<span class='line'>1725</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1733
|
+
<span class='line'>1726</span>
|
|
1734
|
+
<span class='line'>1727</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1735
|
+
<span class='line'>1728</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"object"</span><span class="PUNC">:</span><span class="WHIT">
|
|
1736
|
+
<span class='line'>1729</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1737
|
+
<span class='line'>1730</span> </span><span class="WHIT"> </span><span class="NAME">list</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1738
|
+
<span class='line'>1731</span>
|
|
1739
|
+
<span class='line'>1732</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.isArray</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1740
|
+
<span class='line'>1733</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">obj.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1741
|
+
<span class='line'>1734</span> </span><span class="WHIT"> </span><span class="NAME">list.push</span><span class="PUNC">(</span><span class="NAME">JXG.toJSON</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">noquote</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1742
|
+
<span class='line'>1735</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1743
1743
|
<span class='line'>1736</span>
|
|
1744
|
-
<span class='line'>1737</span> </span><span class="WHIT">
|
|
1745
|
-
<span class='line'>1738</span> </span><span class="WHIT">
|
|
1746
|
-
<span class='line'>1739</span>
|
|
1747
|
-
<span class='line'>1740</span> </span><span class="WHIT">
|
|
1748
|
-
<span class='line'>1741</span> </span><span class="WHIT">
|
|
1749
|
-
<span class='line'>1742</span> </span><span class="WHIT">
|
|
1750
|
-
<span class='line'>1743</span> </span><span class="WHIT">
|
|
1751
|
-
<span class='line'>1744</span>
|
|
1752
|
-
<span class='line'>1745</span> </span><span class="WHIT">
|
|
1753
|
-
<span class='line'>1746</span> </span><span class="WHIT">
|
|
1754
|
-
<span class='line'>1747</span>
|
|
1755
|
-
<span class='line'>1748</span> </span><span class="WHIT">
|
|
1756
|
-
<span class='line'>1749</span> </span><span class="WHIT">
|
|
1757
|
-
<span class='line'>1750</span> </span><span class="WHIT">
|
|
1758
|
-
<span class='line'>1751</span> </span><span class="WHIT">
|
|
1759
|
-
<span class='line'>1752</span>
|
|
1760
|
-
<span class='line'>1753</span> </span><span class="WHIT">
|
|
1761
|
-
<span class='line'>1754</span> </span><span class="WHIT">
|
|
1762
|
-
<span class='line'>1755</span>
|
|
1763
|
-
<span class='line'>1756</span> </span><span class="WHIT">
|
|
1764
|
-
<span class='line'>1757</span> </span><span class="WHIT"> </span><span class="
|
|
1765
|
-
<span class='line'>1758</span> </span><span class="WHIT">
|
|
1766
|
-
<span class='line'>1759</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"
|
|
1767
|
-
<span class='line'>1760</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">obj.
|
|
1768
|
-
<span class='line'>1761</span> </span><span class="WHIT">
|
|
1769
|
-
<span class='line'>1762</span>
|
|
1770
|
-
<span class='line'>1763</span> </span><span class="WHIT">
|
|
1771
|
-
<span class='line'>1764</span> </span><span class="WHIT">
|
|
1744
|
+
<span class='line'>1737</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"["</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">list.join</span><span class="PUNC">(</span><span class="STRN">","</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"]"</span><span class="PUNC">;</span><span class="WHIT">
|
|
1745
|
+
<span class='line'>1738</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1746
|
+
<span class='line'>1739</span>
|
|
1747
|
+
<span class='line'>1740</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">prop</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1748
|
+
<span class='line'>1741</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">prop</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1749
|
+
<span class='line'>1742</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1750
|
+
<span class='line'>1743</span> </span><span class="WHIT"> </span><span class="NAME">val</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JXG.toJSON</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">[</span><span class="NAME">prop</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">noquote</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1751
|
+
<span class='line'>1744</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1752
|
+
<span class='line'>1745</span> </span><span class="WHIT"> </span><span class="NAME">val</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
|
|
1753
|
+
<span class='line'>1746</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1754
|
+
<span class='line'>1747</span>
|
|
1755
|
+
<span class='line'>1748</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">noquote</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1756
|
+
<span class='line'>1749</span> </span><span class="WHIT"> </span><span class="NAME">list.push</span><span class="PUNC">(</span><span class="NAME">prop</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">":"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">val</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1757
|
+
<span class='line'>1750</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1758
|
+
<span class='line'>1751</span> </span><span class="WHIT"> </span><span class="NAME">list.push</span><span class="PUNC">(</span><span class="STRN">'"'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">prop</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'":'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">val</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1759
|
+
<span class='line'>1752</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1760
|
+
<span class='line'>1753</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1761
|
+
<span class='line'>1754</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1762
|
+
<span class='line'>1755</span>
|
|
1763
|
+
<span class='line'>1756</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"{"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">list.join</span><span class="PUNC">(</span><span class="STRN">","</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"} "</span><span class="PUNC">;</span><span class="WHIT">
|
|
1764
|
+
<span class='line'>1757</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1765
|
+
<span class='line'>1758</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">'null'</span><span class="PUNC">;</span><span class="WHIT">
|
|
1766
|
+
<span class='line'>1759</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"string"</span><span class="PUNC">:</span><span class="WHIT">
|
|
1767
|
+
<span class='line'>1760</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"'"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">obj.replace</span><span class="PUNC">(</span><span class="REGX">/(["'])/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"\\$1"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"'"</span><span class="PUNC">;</span><span class="WHIT">
|
|
1768
|
+
<span class='line'>1761</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"number"</span><span class="PUNC">:</span><span class="WHIT">
|
|
1769
|
+
<span class='line'>1762</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"boolean"</span><span class="PUNC">:</span><span class="WHIT">
|
|
1770
|
+
<span class='line'>1763</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">obj.toString</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1771
|
+
<span class='line'>1764</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1772
1772
|
<span class='line'>1765</span>
|
|
1773
|
-
<span class='line'>1766</span> </span><span class="WHIT">
|
|
1774
|
-
<span class='line'>1767</span>
|
|
1775
|
-
<span class='line'>1768</span>
|
|
1776
|
-
<span class='line'>1769</span>
|
|
1777
|
-
<span class='line'>1770</span>
|
|
1778
|
-
<span class='line'>1771</span>
|
|
1779
|
-
<span class='line'>1772</span>
|
|
1780
|
-
<span class='line'>1773</span>
|
|
1781
|
-
<span class='line'>1774</span> </span><span class="WHIT">
|
|
1782
|
-
<span class='line'>1775</span> </span><span class="WHIT">
|
|
1783
|
-
<span class='line'>1776</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1784
|
-
<span class='line'>1777</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1785
|
-
<span class='line'>1778</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1786
|
-
<span class='line'>1779</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1787
|
-
<span class='line'>1780</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1788
|
-
<span class='line'>1781</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1789
|
-
<span class='line'>1782</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1790
|
-
<span class='line'>1783</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1791
|
-
<span class='line'>1784</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1792
|
-
<span class='line'>1785</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1793
|
-
<span class='line'>1786</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1794
|
-
<span class='line'>1787</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1795
|
-
<span class='line'>1788</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1796
|
-
<span class='line'>1789</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1797
|
-
<span class='line'>1790</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1798
|
-
<span class='line'>1791</span> </span><span class="WHIT">
|
|
1799
|
-
<span class='line'>1792</span>
|
|
1800
|
-
<span class='line'>1793</span> </span><span class="WHIT">
|
|
1801
|
-
<span class='line'>1794</span> </span><span class="WHIT">
|
|
1773
|
+
<span class='line'>1766</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">'0'</span><span class="PUNC">;</span><span class="WHIT">
|
|
1774
|
+
<span class='line'>1767</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1775
|
+
<span class='line'>1768</span>
|
|
1776
|
+
<span class='line'>1769</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1777
|
+
<span class='line'>1770</span> * Resets visPropOld.
|
|
1778
|
+
<span class='line'>1771</span> * @param {JXG.GeometryElement} el
|
|
1779
|
+
<span class='line'>1772</span> * @returns {GeometryElement}
|
|
1780
|
+
<span class='line'>1773</span> */</span><span class="WHIT">
|
|
1781
|
+
<span class='line'>1774</span> </span><span class="WHIT"> </span><span class="NAME">clearVisPropOld</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">el</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1782
|
+
<span class='line'>1775</span> </span><span class="WHIT"> </span><span class="NAME">el.visPropOld</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1783
|
+
<span class='line'>1776</span> </span><span class="WHIT"> </span><span class="NAME">cssclass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1784
|
+
<span class='line'>1777</span> </span><span class="WHIT"> </span><span class="NAME">cssdefaultstyle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1785
|
+
<span class='line'>1778</span> </span><span class="WHIT"> </span><span class="NAME">cssstyle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1786
|
+
<span class='line'>1779</span> </span><span class="WHIT"> </span><span class="NAME">fillcolor</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1787
|
+
<span class='line'>1780</span> </span><span class="WHIT"> </span><span class="NAME">fillopacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1788
|
+
<span class='line'>1781</span> </span><span class="WHIT"> </span><span class="NAME">firstarrow</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
|
1789
|
+
<span class='line'>1782</span> </span><span class="WHIT"> </span><span class="NAME">fontsize</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
|
|
1790
|
+
<span class='line'>1783</span> </span><span class="WHIT"> </span><span class="NAME">lastarrow</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
|
1791
|
+
<span class='line'>1784</span> </span><span class="WHIT"> </span><span class="NAME">left</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">100000</span><span class="PUNC">,</span><span class="WHIT">
|
|
1792
|
+
<span class='line'>1785</span> </span><span class="WHIT"> </span><span class="NAME">linecap</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1793
|
+
<span class='line'>1786</span> </span><span class="WHIT"> </span><span class="NAME">shadow</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
|
1794
|
+
<span class='line'>1787</span> </span><span class="WHIT"> </span><span class="NAME">strokecolor</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1795
|
+
<span class='line'>1788</span> </span><span class="WHIT"> </span><span class="NAME">strokeopacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1796
|
+
<span class='line'>1789</span> </span><span class="WHIT"> </span><span class="NAME">strokewidth</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
|
|
1797
|
+
<span class='line'>1790</span> </span><span class="WHIT"> </span><span class="NAME">tabindex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">100000</span><span class="PUNC">,</span><span class="WHIT">
|
|
1798
|
+
<span class='line'>1791</span> </span><span class="WHIT"> </span><span class="NAME">transitionduration</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
|
|
1799
|
+
<span class='line'>1792</span> </span><span class="WHIT"> </span><span class="NAME">top</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">100000</span><span class="PUNC">,</span><span class="WHIT">
|
|
1800
|
+
<span class='line'>1793</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
|
|
1801
|
+
<span class='line'>1794</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1802
1802
|
<span class='line'>1795</span>
|
|
1803
|
-
<span class='line'>1796</span> </span><span class="WHIT">
|
|
1804
|
-
<span class='line'>1797</span>
|
|
1805
|
-
<span class='line'>1798</span>
|
|
1806
|
-
<span class='line'>1799</span>
|
|
1807
|
-
<span class='line'>1800</span> *
|
|
1808
|
-
<span class='line'>1801</span>
|
|
1809
|
-
<span class='line'>1802</span>
|
|
1810
|
-
<span class='line'>1803</span>
|
|
1811
|
-
<span class='line'>1804</span>
|
|
1812
|
-
<span class='line'>1805</span> </span><span class="WHIT">
|
|
1813
|
-
<span class='line'>1806</span> </span><span class="WHIT">
|
|
1814
|
-
<span class='line'>1807</span>
|
|
1815
|
-
<span class='line'>1808</span> </span><span class="WHIT">
|
|
1816
|
-
<span class='line'>1809</span> </span><span class="WHIT">
|
|
1817
|
-
<span class='line'>1810</span> </span><span class="WHIT">
|
|
1818
|
-
<span class='line'>1811</span> </span><span class="WHIT">
|
|
1819
|
-
<span class='line'>1812</span>
|
|
1820
|
-
<span class='line'>1813</span> </span><span class="WHIT">
|
|
1821
|
-
<span class='line'>1814</span> </span><span class="WHIT">
|
|
1803
|
+
<span class='line'>1796</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
|
|
1804
|
+
<span class='line'>1797</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1805
|
+
<span class='line'>1798</span>
|
|
1806
|
+
<span class='line'>1799</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1807
|
+
<span class='line'>1800</span> * Checks if an object contains a key, whose value equals to val.
|
|
1808
|
+
<span class='line'>1801</span> * @param {Object} obj
|
|
1809
|
+
<span class='line'>1802</span> * @param val
|
|
1810
|
+
<span class='line'>1803</span> * @returns {Boolean}
|
|
1811
|
+
<span class='line'>1804</span> */</span><span class="WHIT">
|
|
1812
|
+
<span class='line'>1805</span> </span><span class="WHIT"> </span><span class="NAME">isInObject</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">val</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1813
|
+
<span class='line'>1806</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
|
|
1814
|
+
<span class='line'>1807</span>
|
|
1815
|
+
<span class='line'>1808</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">el</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1816
|
+
<span class='line'>1809</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">el</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1817
|
+
<span class='line'>1810</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">[</span><span class="NAME">el</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">val</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1818
|
+
<span class='line'>1811</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
1819
|
+
<span class='line'>1812</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1820
|
+
<span class='line'>1813</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1821
|
+
<span class='line'>1814</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1822
1822
|
<span class='line'>1815</span>
|
|
1823
|
-
<span class='line'>1816</span> </span><span class="WHIT">
|
|
1824
|
-
<span class='line'>1817</span>
|
|
1825
|
-
<span class='line'>1818</span>
|
|
1826
|
-
<span class='line'>1819</span>
|
|
1827
|
-
<span class='line'>1820</span>
|
|
1828
|
-
<span class='line'>1821</span>
|
|
1829
|
-
<span class='line'>1822</span>
|
|
1830
|
-
<span class='line'>1823</span>
|
|
1831
|
-
<span class='line'>1824</span>
|
|
1832
|
-
<span class='line'>1825</span> </span><span class="WHIT">
|
|
1833
|
-
<span class='line'>1826</span>
|
|
1834
|
-
<span class='line'>1827</span>
|
|
1835
|
-
<span class='line'>1828</span>
|
|
1836
|
-
<span class='line'>1829</span> *
|
|
1837
|
-
<span class='line'>1830</span>
|
|
1838
|
-
<span class='line'>1831</span>
|
|
1839
|
-
<span class='line'>1832</span>
|
|
1840
|
-
<span class='line'>1833</span>
|
|
1841
|
-
<span class='line'>1834</span> </span><span class="WHIT">
|
|
1842
|
-
<span class='line'>1835</span> </span><span class="WHIT">
|
|
1843
|
-
<span class='line'>1836</span> </span><span class="WHIT">
|
|
1844
|
-
<span class='line'>1837</span> </span><span class="WHIT">
|
|
1845
|
-
<span class='line'>1838</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/&
|
|
1846
|
-
<span class='line'>1839</span> </span><span class="WHIT">
|
|
1847
|
-
<span class='line'>1840</span>
|
|
1848
|
-
<span class='line'>1841</span> </span><span class="WHIT">
|
|
1849
|
-
<span class='line'>1842</span>
|
|
1850
|
-
<span class='line'>1843</span>
|
|
1851
|
-
<span class='line'>1844</span>
|
|
1852
|
-
<span class='line'>1845</span>
|
|
1853
|
-
<span class='line'>1846</span>
|
|
1854
|
-
<span class='line'>1847</span>
|
|
1855
|
-
<span class='line'>1848</span>
|
|
1856
|
-
<span class='line'>1849</span>
|
|
1857
|
-
<span class='line'>1850</span> </span><span class="WHIT">
|
|
1858
|
-
<span class='line'>1851</span>
|
|
1859
|
-
<span class='line'>1852</span>
|
|
1860
|
-
<span class='line'>1853</span>
|
|
1861
|
-
<span class='line'>1854</span>
|
|
1862
|
-
<span class='line'>1855</span>
|
|
1863
|
-
<span class='line'>1856</span>
|
|
1864
|
-
<span class='line'>1857</span>
|
|
1865
|
-
<span class='line'>1858</span>
|
|
1866
|
-
<span class='line'>1859</span> </span><span class="WHIT"> </span><span class="
|
|
1867
|
-
<span class='line'>1860</span> </span><span class="WHIT">
|
|
1868
|
-
<span class='line'>1861</span>
|
|
1869
|
-
<span class='line'>1862</span>
|
|
1870
|
-
<span class='line'>1863</span> </span><span class="WHIT">
|
|
1871
|
-
<span class='line'>1864</span> </span><span class="WHIT">
|
|
1872
|
-
<span class='line'>1865</span>
|
|
1873
|
-
<span class='line'>1866</span>
|
|
1874
|
-
<span class='line'>1867</span> </span><span class="WHIT">
|
|
1875
|
-
<span class='line'>1868</span> </span><span class="WHIT">
|
|
1823
|
+
<span class='line'>1816</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
1824
|
+
<span class='line'>1817</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1825
|
+
<span class='line'>1818</span>
|
|
1826
|
+
<span class='line'>1819</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1827
|
+
<span class='line'>1820</span> * Replaces all occurences of & by &amp;, > by &gt;, and < by &lt;.
|
|
1828
|
+
<span class='line'>1821</span> * @param {String} str
|
|
1829
|
+
<span class='line'>1822</span> * @returns {String}
|
|
1830
|
+
<span class='line'>1823</span> */</span><span class="WHIT">
|
|
1831
|
+
<span class='line'>1824</span> </span><span class="WHIT"> </span><span class="NAME">escapeHTML</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1832
|
+
<span class='line'>1825</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">str.replace</span><span class="PUNC">(</span><span class="REGX">/&/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"&"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/</g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"<"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/>/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">">"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1833
|
+
<span class='line'>1826</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1834
|
+
<span class='line'>1827</span>
|
|
1835
|
+
<span class='line'>1828</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1836
|
+
<span class='line'>1829</span> * Eliminates all substrings enclosed by < and > and replaces all occurences of
|
|
1837
|
+
<span class='line'>1830</span> * &amp; by &, &gt; by >, and &lt; by <.
|
|
1838
|
+
<span class='line'>1831</span> * @param {String} str
|
|
1839
|
+
<span class='line'>1832</span> * @returns {String}
|
|
1840
|
+
<span class='line'>1833</span> */</span><span class="WHIT">
|
|
1841
|
+
<span class='line'>1834</span> </span><span class="WHIT"> </span><span class="NAME">unescapeHTML</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1842
|
+
<span class='line'>1835</span> </span><span class="WHIT"> </span><span class="COMM">// This regex is NOT insecure. We are replacing everything found with ''</span><span class="WHIT">
|
|
1843
|
+
<span class='line'>1836</span> </span><span class="WHIT"> </span><span class="COMM">/*jslint regexp:true*/</span><span class="WHIT">
|
|
1844
|
+
<span class='line'>1837</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT">
|
|
1845
|
+
<span class='line'>1838</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/<\/?[^>]+>/gi</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="WHIT">
|
|
1846
|
+
<span class='line'>1839</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/&/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"&"</span><span class="PUNC">)</span><span class="WHIT">
|
|
1847
|
+
<span class='line'>1840</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/</g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"<"</span><span class="PUNC">)</span><span class="WHIT">
|
|
1848
|
+
<span class='line'>1841</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/>/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">">"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1849
|
+
<span class='line'>1842</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1850
|
+
<span class='line'>1843</span>
|
|
1851
|
+
<span class='line'>1844</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1852
|
+
<span class='line'>1845</span> * Makes a string lower case except for the first character which will be upper case.
|
|
1853
|
+
<span class='line'>1846</span> * @param {String} str Arbitrary string
|
|
1854
|
+
<span class='line'>1847</span> * @returns {String} The capitalized string.
|
|
1855
|
+
<span class='line'>1848</span> */</span><span class="WHIT">
|
|
1856
|
+
<span class='line'>1849</span> </span><span class="WHIT"> </span><span class="NAME">capitalize</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1857
|
+
<span class='line'>1850</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">str.charAt</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">str.substring</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1858
|
+
<span class='line'>1851</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1859
|
+
<span class='line'>1852</span>
|
|
1860
|
+
<span class='line'>1853</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1861
|
+
<span class='line'>1854</span> * Make numbers given as strings nicer by removing all unnecessary leading and trailing zeroes.
|
|
1862
|
+
<span class='line'>1855</span> * @param {String} str
|
|
1863
|
+
<span class='line'>1856</span> * @returns {String}
|
|
1864
|
+
<span class='line'>1857</span> */</span><span class="WHIT">
|
|
1865
|
+
<span class='line'>1858</span> </span><span class="WHIT"> </span><span class="NAME">trimNumber</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1866
|
+
<span class='line'>1859</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">str.replace</span><span class="PUNC">(</span><span class="REGX">/^0+/</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1867
|
+
<span class='line'>1860</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">str.replace</span><span class="PUNC">(</span><span class="REGX">/0+$/</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1868
|
+
<span class='line'>1861</span>
|
|
1869
|
+
<span class='line'>1862</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">[</span><span class="NAME">str.length</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"."</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">str</span><span class="PUNC">[</span><span class="NAME">str.length</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">","</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1870
|
+
<span class='line'>1863</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">str.slice</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1871
|
+
<span class='line'>1864</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1872
|
+
<span class='line'>1865</span>
|
|
1873
|
+
<span class='line'>1866</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"."</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">str</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">","</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1874
|
+
<span class='line'>1867</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">str</span><span class="PUNC">;</span><span class="WHIT">
|
|
1875
|
+
<span class='line'>1868</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1876
1876
|
<span class='line'>1869</span>
|
|
1877
|
-
<span class='line'>1870</span> </span><span class="WHIT">
|
|
1878
|
-
<span class='line'>1871</span>
|
|
1879
|
-
<span class='line'>1872</span>
|
|
1880
|
-
<span class='line'>1873</span>
|
|
1881
|
-
<span class='line'>1874</span> *
|
|
1882
|
-
<span class='line'>1875</span>
|
|
1883
|
-
<span class='line'>1876</span>
|
|
1884
|
-
<span class='line'>1877</span>
|
|
1885
|
-
<span class='line'>1878</span>
|
|
1886
|
-
<span class='line'>1879</span> </span><span class="WHIT">
|
|
1887
|
-
<span class='line'>1880</span> </span><span class="WHIT">
|
|
1888
|
-
<span class='line'>1881</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1889
|
-
<span class='line'>1882</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1890
|
-
<span class='line'>1883</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1891
|
-
<span class='line'>1884</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1892
|
-
<span class='line'>1885</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1893
|
-
<span class='line'>1886</span>
|
|
1894
|
-
<span class='line'>1887</span> </span><span class="WHIT">
|
|
1895
|
-
<span class='line'>1888</span> </span><span class="WHIT"> </span><span class="
|
|
1896
|
-
<span class='line'>1889</span>
|
|
1897
|
-
<span class='line'>1890</span>
|
|
1898
|
-
<span class='line'>1891</span> </span><span class="WHIT">
|
|
1899
|
-
<span class='line'>1892</span> </span><span class="WHIT">
|
|
1900
|
-
<span class='line'>1893</span>
|
|
1901
|
-
<span class='line'>1894</span>
|
|
1902
|
-
<span class='line'>1895</span> </span><span class="WHIT"> </span><span class="
|
|
1903
|
-
<span class='line'>1896</span> </span><span class="WHIT">
|
|
1904
|
-
<span class='line'>1897</span>
|
|
1905
|
-
<span class='line'>1898</span> </span><span class="WHIT">
|
|
1906
|
-
<span class='line'>1899</span>
|
|
1907
|
-
<span class='line'>1900</span> </span><span class="WHIT">
|
|
1908
|
-
<span class='line'>1901</span> </span><span class="WHIT">
|
|
1909
|
-
<span class='line'>1902</span>
|
|
1910
|
-
<span class='line'>1903</span> </span><span class="WHIT">
|
|
1911
|
-
<span class='line'>1904</span> </span><span class="WHIT">
|
|
1912
|
-
<span class='line'>1905</span>
|
|
1913
|
-
<span class='line'>1906</span> </span><span class="WHIT">
|
|
1914
|
-
<span class='line'>1907</span> </span><span class="WHIT">
|
|
1915
|
-
<span class='line'>1908</span>
|
|
1916
|
-
<span class='line'>1909</span> </span><span class="WHIT">
|
|
1917
|
-
<span class='line'>1910</span> </span><span class="WHIT">
|
|
1918
|
-
<span class='line'>1911</span>
|
|
1919
|
-
<span class='line'>1912</span> </span><span class="WHIT">
|
|
1920
|
-
<span class='line'>1913</span> </span><span class="WHIT">
|
|
1921
|
-
<span class='line'>1914</span>
|
|
1922
|
-
<span class='line'>1915</span> </span><span class="WHIT">
|
|
1923
|
-
<span class='line'>1916</span> </span><span class="WHIT">
|
|
1924
|
-
<span class='line'>1917</span>
|
|
1925
|
-
<span class='line'>1918</span> </span><span class="WHIT">
|
|
1926
|
-
<span class='line'>1919</span> </span><span class="WHIT">
|
|
1927
|
-
<span class='line'>1920</span>
|
|
1928
|
-
<span class='line'>1921</span> </span><span class="WHIT">
|
|
1929
|
-
<span class='line'>1922</span> </span><span class="WHIT">
|
|
1930
|
-
<span class='line'>1923</span> </span><span class="WHIT">
|
|
1931
|
-
<span class='line'>1924</span> </span><span class="WHIT">
|
|
1932
|
-
<span class='line'>1925</span> </span><span class="WHIT">
|
|
1933
|
-
<span class='line'>1926</span>
|
|
1934
|
-
<span class='line'>1927</span> </span><span class="WHIT">
|
|
1935
|
-
<span class='line'>1928</span> </span><span class="WHIT">
|
|
1936
|
-
<span class='line'>1929</span>
|
|
1937
|
-
<span class='line'>1930</span> </span><span class="WHIT">
|
|
1938
|
-
<span class='line'>1931</span>
|
|
1939
|
-
<span class='line'>1932</span> </span><span class="WHIT">
|
|
1940
|
-
<span class='line'>1933</span> </span><span class="WHIT">
|
|
1877
|
+
<span class='line'>1870</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">str</span><span class="PUNC">;</span><span class="WHIT">
|
|
1878
|
+
<span class='line'>1871</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1879
|
+
<span class='line'>1872</span>
|
|
1880
|
+
<span class='line'>1873</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1881
|
+
<span class='line'>1874</span> * Filter an array of elements.
|
|
1882
|
+
<span class='line'>1875</span> * @param {Array} list
|
|
1883
|
+
<span class='line'>1876</span> * @param {Object|function} filter
|
|
1884
|
+
<span class='line'>1877</span> * @returns {Array}
|
|
1885
|
+
<span class='line'>1878</span> */</span><span class="WHIT">
|
|
1886
|
+
<span class='line'>1879</span> </span><span class="WHIT"> </span><span class="NAME">filterElements</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">list</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1887
|
+
<span class='line'>1880</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
|
|
1888
|
+
<span class='line'>1881</span> </span><span class="WHIT"> </span><span class="NAME">f</span><span class="PUNC">,</span><span class="WHIT">
|
|
1889
|
+
<span class='line'>1882</span> </span><span class="WHIT"> </span><span class="NAME">item</span><span class="PUNC">,</span><span class="WHIT">
|
|
1890
|
+
<span class='line'>1883</span> </span><span class="WHIT"> </span><span class="NAME">flower</span><span class="PUNC">,</span><span class="WHIT">
|
|
1891
|
+
<span class='line'>1884</span> </span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">,</span><span class="WHIT">
|
|
1892
|
+
<span class='line'>1885</span> </span><span class="WHIT"> </span><span class="NAME">visPropValue</span><span class="PUNC">,</span><span class="WHIT">
|
|
1893
|
+
<span class='line'>1886</span> </span><span class="WHIT"> </span><span class="NAME">pass</span><span class="PUNC">,</span><span class="WHIT">
|
|
1894
|
+
<span class='line'>1887</span> </span><span class="WHIT"> </span><span class="NAME">l</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">list.length</span><span class="PUNC">,</span><span class="WHIT">
|
|
1895
|
+
<span class='line'>1888</span> </span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1896
|
+
<span class='line'>1889</span>
|
|
1897
|
+
<span class='line'>1890</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.exists</span><span class="PUNC">(</span><span class="NAME">filter</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1898
|
+
<span class='line'>1891</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
|
|
1899
|
+
<span class='line'>1892</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1900
|
+
<span class='line'>1893</span>
|
|
1901
|
+
<span class='line'>1894</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1902
|
+
<span class='line'>1895</span> </span><span class="WHIT"> </span><span class="NAME">pass</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
1903
|
+
<span class='line'>1896</span> </span><span class="WHIT"> </span><span class="NAME">item</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">list</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1904
|
+
<span class='line'>1897</span>
|
|
1905
|
+
<span class='line'>1898</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1906
|
+
<span class='line'>1899</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">f</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1907
|
+
<span class='line'>1900</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">filter.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">f</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1908
|
+
<span class='line'>1901</span> </span><span class="WHIT"> </span><span class="NAME">flower</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">f.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1909
|
+
<span class='line'>1902</span>
|
|
1910
|
+
<span class='line'>1903</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">item</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1911
|
+
<span class='line'>1904</span> </span><span class="WHIT"> </span><span class="NAME">value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">item</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1912
|
+
<span class='line'>1905</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1913
|
+
<span class='line'>1906</span> </span><span class="WHIT"> </span><span class="NAME">value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">item</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1914
|
+
<span class='line'>1907</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1915
|
+
<span class='line'>1908</span>
|
|
1916
|
+
<span class='line'>1909</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">item.visProp</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">item.visProp</span><span class="PUNC">[</span><span class="NAME">flower</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1917
|
+
<span class='line'>1910</span> </span><span class="WHIT"> </span><span class="NAME">visPropValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">item.visProp</span><span class="PUNC">[</span><span class="NAME">flower</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1918
|
+
<span class='line'>1911</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1919
|
+
<span class='line'>1912</span> </span><span class="WHIT"> </span><span class="NAME">visPropValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">item.visProp</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">item.visProp</span><span class="PUNC">[</span><span class="NAME">flower</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1920
|
+
<span class='line'>1913</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1921
|
+
<span class='line'>1914</span>
|
|
1922
|
+
<span class='line'>1915</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1923
|
+
<span class='line'>1916</span> </span><span class="WHIT"> </span><span class="NAME">pass</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="NAME">value</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="PUNC">(</span><span class="NAME">visPropValue</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1924
|
+
<span class='line'>1917</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1925
|
+
<span class='line'>1918</span> </span><span class="WHIT"> </span><span class="NAME">pass</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">value</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">visPropValue</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">[</span><span class="NAME">f</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1926
|
+
<span class='line'>1919</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1927
|
+
<span class='line'>1920</span>
|
|
1928
|
+
<span class='line'>1921</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">pass</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1929
|
+
<span class='line'>1922</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
|
|
1930
|
+
<span class='line'>1923</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1931
|
+
<span class='line'>1924</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1932
|
+
<span class='line'>1925</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1933
|
+
<span class='line'>1926</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1934
|
+
<span class='line'>1927</span> </span><span class="WHIT"> </span><span class="NAME">pass</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">filter</span><span class="PUNC">(</span><span class="NAME">item</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1935
|
+
<span class='line'>1928</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1936
|
+
<span class='line'>1929</span>
|
|
1937
|
+
<span class='line'>1930</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">pass</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1938
|
+
<span class='line'>1931</span> </span><span class="WHIT"> </span><span class="NAME">result.push</span><span class="PUNC">(</span><span class="NAME">item</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1939
|
+
<span class='line'>1932</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1940
|
+
<span class='line'>1933</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1941
1941
|
<span class='line'>1934</span>
|
|
1942
|
-
<span class='line'>1935</span> </span><span class="WHIT">
|
|
1943
|
-
<span class='line'>1936</span>
|
|
1944
|
-
<span class='line'>1937</span>
|
|
1945
|
-
<span class='line'>1938</span>
|
|
1946
|
-
<span class='line'>1939</span>
|
|
1947
|
-
<span class='line'>1940</span>
|
|
1948
|
-
<span class='line'>1941</span>
|
|
1949
|
-
<span class='line'>1942</span>
|
|
1950
|
-
<span class='line'>1943</span> </span><span class="WHIT">
|
|
1951
|
-
<span class='line'>1944</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1952
|
-
<span class='line'>1945</span> </span><span class="WHIT"> </span><span class="
|
|
1953
|
-
<span class='line'>1946</span> </span><span class="WHIT">
|
|
1954
|
-
<span class='line'>1947</span>
|
|
1955
|
-
<span class='line'>1948</span> </span><span class="WHIT">
|
|
1956
|
-
<span class='line'>1949</span>
|
|
1957
|
-
<span class='line'>1950</span>
|
|
1958
|
-
<span class='line'>1951</span>
|
|
1959
|
-
<span class='line'>1952</span> *
|
|
1960
|
-
<span class='line'>1953</span> *
|
|
1961
|
-
<span class='line'>1954</span> *
|
|
1962
|
-
<span class='line'>1955</span> *
|
|
1963
|
-
<span class='line'>1956</span> * @
|
|
1964
|
-
<span class='line'>1957</span> * @
|
|
1965
|
-
<span class='line'>1958</span>
|
|
1966
|
-
<span class='line'>1959</span>
|
|
1967
|
-
<span class='line'>1960</span>
|
|
1968
|
-
<span class='line'>1961</span>
|
|
1969
|
-
<span class='line'>1962</span>
|
|
1970
|
-
<span class='line'>1963</span> </span><span class="WHIT"> </span><span class="KEYW">
|
|
1971
|
-
<span class='line'>1964</span> </span><span class="WHIT"> </span><span class="
|
|
1972
|
-
<span class='line'>1965</span>
|
|
1973
|
-
<span class='line'>1966</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1974
|
-
<span class='line'>1967</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1975
|
-
<span class='line'>1968</span> </span><span class="WHIT"> </span><span class="
|
|
1976
|
-
<span class='line'>1969</span> </span><span class="WHIT">
|
|
1977
|
-
<span class='line'>1970</span> </span><span class="WHIT"> </span><span class="
|
|
1978
|
-
<span class='line'>1971</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">
|
|
1979
|
-
<span class='line'>1972</span> </span><span class="WHIT"> </span><span class="
|
|
1980
|
-
<span class='line'>1973</span> </span><span class="WHIT">
|
|
1981
|
-
<span class='line'>1974</span> </span><span class="WHIT"> </span><span class="
|
|
1982
|
-
<span class='line'>1975</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
1983
|
-
<span class='line'>1976</span> </span><span class="WHIT"> </span><span class="
|
|
1984
|
-
<span class='line'>1977</span> </span><span class="WHIT">
|
|
1985
|
-
<span class='line'>1978</span> </span><span class="WHIT">
|
|
1986
|
-
<span class='line'>1979</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1987
|
-
<span class='line'>1980</span> </span><span class="WHIT">
|
|
1988
|
-
<span class='line'>1981</span> </span><span class="WHIT">
|
|
1989
|
-
<span class='line'>1982</span> </span><span class="WHIT">
|
|
1990
|
-
<span class='line'>1983</span> </span><span class="WHIT"> </span><span class="
|
|
1991
|
-
<span class='line'>1984</span> </span><span class="WHIT">
|
|
1992
|
-
<span class='line'>1985</span> </span><span class="WHIT">
|
|
1993
|
-
<span class='line'>1986</span> </span><span class="WHIT">
|
|
1994
|
-
<span class='line'>1987</span> </span><span class="WHIT">
|
|
1995
|
-
<span class='line'>1988</span> </span><span class="WHIT">
|
|
1996
|
-
<span class='line'>1989</span> </span><span class="WHIT">
|
|
1997
|
-
<span class='line'>1990</span>
|
|
1998
|
-
<span class='line'>1991</span> </span><span class="WHIT">
|
|
1999
|
-
<span class='line'>1992</span>
|
|
2000
|
-
<span class='line'>1993</span>
|
|
2001
|
-
<span class='line'>1994</span>
|
|
2002
|
-
<span class='line'>1995</span> *
|
|
2003
|
-
<span class='line'>1996</span> *
|
|
2004
|
-
<span class='line'>1997</span> *
|
|
2005
|
-
<span class='line'>1998</span> *
|
|
2006
|
-
<span class='line'>1999</span> *
|
|
2007
|
-
<span class='line'>2000</span> *
|
|
2008
|
-
<span class='line'>2001</span>
|
|
2009
|
-
<span class='line'>2002</span>
|
|
2010
|
-
<span class='line'>2003</span>
|
|
2011
|
-
<span class='line'>2004</span>
|
|
2012
|
-
<span class='line'>2005</span> </span><span class="WHIT">
|
|
2013
|
-
<span class='line'>2006</span> </span><span class="WHIT">
|
|
2014
|
-
<span class='line'>2007</span> </span><span class="WHIT">
|
|
2015
|
-
<span class='line'>2008</span> </span><span class="WHIT"> </span><span class="KEYW">
|
|
2016
|
-
<span class='line'>2009</span> </span><span class="WHIT">
|
|
2017
|
-
<span class='line'>2010</span>
|
|
2018
|
-
<span class='line'>2011</span> </span><span class="WHIT">
|
|
2019
|
-
<span class='line'>2012</span>
|
|
2020
|
-
<span class='line'>2013</span>
|
|
2021
|
-
<span class='line'>2014</span>
|
|
2022
|
-
<span class='line'>2015</span> *
|
|
2023
|
-
<span class='line'>2016</span>
|
|
2024
|
-
<span class='line'>2017</span>
|
|
2025
|
-
<span class='line'>2018</span>
|
|
2026
|
-
<span class='line'>2019</span>
|
|
2027
|
-
<span class='line'>2020</span> </span><span class="WHIT">
|
|
2028
|
-
<span class='line'>2021</span> </span><span class="WHIT">
|
|
2029
|
-
<span class='line'>2022</span> </span><span class="WHIT">
|
|
2030
|
-
<span class='line'>2023</span> </span><span class="WHIT"> </span><span class="
|
|
2031
|
-
<span class='line'>2024</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="
|
|
2032
|
-
<span class='line'>2025</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">
|
|
2033
|
-
<span class='line'>2026</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2034
|
-
<span class='line'>2027</span> </span><span class="WHIT">
|
|
2035
|
-
<span class='line'>2028</span> </span><span class="WHIT">
|
|
2036
|
-
<span class='line'>2029</span>
|
|
2037
|
-
<span class='line'>2030</span> </span><span class="WHIT">
|
|
2038
|
-
<span class='line'>2031</span> </span><span class="WHIT">
|
|
2039
|
-
<span class='line'>2032</span>
|
|
2040
|
-
<span class='line'>2033</span>
|
|
2041
|
-
<span class='line'>2034</span> </span><span class="WHIT">
|
|
2042
|
-
<span class='line'>2035</span> </span><span class="WHIT">
|
|
1942
|
+
<span class='line'>1935</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
|
|
1943
|
+
<span class='line'>1936</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1944
|
+
<span class='line'>1937</span>
|
|
1945
|
+
<span class='line'>1938</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1946
|
+
<span class='line'>1939</span> * Remove all leading and trailing whitespaces from a given string.
|
|
1947
|
+
<span class='line'>1940</span> * @param {String} str
|
|
1948
|
+
<span class='line'>1941</span> * @returns {String}
|
|
1949
|
+
<span class='line'>1942</span> */</span><span class="WHIT">
|
|
1950
|
+
<span class='line'>1943</span> </span><span class="WHIT"> </span><span class="NAME">trim</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1951
|
+
<span class='line'>1944</span> </span><span class="WHIT"> </span><span class="COMM">// str = str.replace(/^\s+/, '');</span><span class="WHIT">
|
|
1952
|
+
<span class='line'>1945</span> </span><span class="WHIT"> </span><span class="COMM">// str = str.replace(/\s+$/, '');</span><span class="WHIT">
|
|
1953
|
+
<span class='line'>1946</span> </span><span class="WHIT"> </span><span class="COMM">//</span><span class="WHIT">
|
|
1954
|
+
<span class='line'>1947</span> </span><span class="WHIT"> </span><span class="COMM">// return str;</span><span class="WHIT">
|
|
1955
|
+
<span class='line'>1948</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">str.replace</span><span class="PUNC">(</span><span class="REGX">/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1956
|
+
<span class='line'>1949</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1957
|
+
<span class='line'>1950</span>
|
|
1958
|
+
<span class='line'>1951</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1959
|
+
<span class='line'>1952</span> * Convert a floating point number to a string integer + fraction.
|
|
1960
|
+
<span class='line'>1953</span> * Returns either a string of the form '3 1/3' (in case of useTeX=false)
|
|
1961
|
+
<span class='line'>1954</span> * or '3 \\frac{1}{3}' (in case of useTeX=true).
|
|
1962
|
+
<span class='line'>1955</span> *
|
|
1963
|
+
<span class='line'>1956</span> * @param {Number} x
|
|
1964
|
+
<span class='line'>1957</span> * @param {Boolean} [useTeX=false]
|
|
1965
|
+
<span class='line'>1958</span> * @param {Number} [order=0.001]
|
|
1966
|
+
<span class='line'>1959</span> * @returns {String}
|
|
1967
|
+
<span class='line'>1960</span> * @see JXG.Math.decToFraction
|
|
1968
|
+
<span class='line'>1961</span> */</span><span class="WHIT">
|
|
1969
|
+
<span class='line'>1962</span> </span><span class="WHIT"> </span><span class="NAME">toFraction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">useTeX</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">order</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1970
|
+
<span class='line'>1963</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Mat.decToFraction</span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">order</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
1971
|
+
<span class='line'>1964</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
|
1972
|
+
<span class='line'>1965</span>
|
|
1973
|
+
<span class='line'>1966</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1974
|
+
<span class='line'>1967</span> </span><span class="WHIT"> </span><span class="COMM">// 0</span><span class="WHIT">
|
|
1975
|
+
<span class='line'>1968</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'0'</span><span class="PUNC">;</span><span class="WHIT">
|
|
1976
|
+
<span class='line'>1969</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1977
|
+
<span class='line'>1970</span> </span><span class="WHIT"> </span><span class="COMM">// Sign</span><span class="WHIT">
|
|
1978
|
+
<span class='line'>1971</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1979
|
+
<span class='line'>1972</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'-'</span><span class="PUNC">;</span><span class="WHIT">
|
|
1980
|
+
<span class='line'>1973</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1981
|
+
<span class='line'>1974</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1982
|
+
<span class='line'>1975</span> </span><span class="WHIT"> </span><span class="COMM">// Integer</span><span class="WHIT">
|
|
1983
|
+
<span class='line'>1976</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1984
|
+
<span class='line'>1977</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="PUNC">(</span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1985
|
+
<span class='line'>1978</span> </span><span class="WHIT"> </span><span class="COMM">// Proper fraction</span><span class="WHIT">
|
|
1986
|
+
<span class='line'>1979</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1987
|
+
<span class='line'>1980</span> </span><span class="WHIT"> </span><span class="COMM">// Absolute value larger than 1</span><span class="WHIT">
|
|
1988
|
+
<span class='line'>1981</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' '</span><span class="PUNC">;</span><span class="WHIT">
|
|
1989
|
+
<span class='line'>1982</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1990
|
+
<span class='line'>1983</span> </span><span class="WHIT"> </span><span class="COMM">// Add fractional part</span><span class="WHIT">
|
|
1991
|
+
<span class='line'>1984</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">useTeX</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1992
|
+
<span class='line'>1985</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'\\frac{'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'}{'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'}'</span><span class="PUNC">;</span><span class="WHIT">
|
|
1993
|
+
<span class='line'>1986</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1994
|
+
<span class='line'>1987</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'/'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">arr</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1995
|
+
<span class='line'>1988</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1996
|
+
<span class='line'>1989</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1997
|
+
<span class='line'>1990</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1998
|
+
<span class='line'>1991</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">str</span><span class="PUNC">;</span><span class="WHIT">
|
|
1999
|
+
<span class='line'>1992</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2000
|
+
<span class='line'>1993</span>
|
|
2001
|
+
<span class='line'>1994</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2002
|
+
<span class='line'>1995</span> * Concat array src to array dest.
|
|
2003
|
+
<span class='line'>1996</span> * Uses push instead of JavaScript concat, which is much
|
|
2004
|
+
<span class='line'>1997</span> * faster.
|
|
2005
|
+
<span class='line'>1998</span> * The array dest is changed in place.
|
|
2006
|
+
<span class='line'>1999</span> * <p><b>Attention:</b> if "dest" is an anonymous array, the correct result is returned from the function.
|
|
2007
|
+
<span class='line'>2000</span> *
|
|
2008
|
+
<span class='line'>2001</span> * @param {Array} dest
|
|
2009
|
+
<span class='line'>2002</span> * @param {Array} src
|
|
2010
|
+
<span class='line'>2003</span> * @returns Array
|
|
2011
|
+
<span class='line'>2004</span> */</span><span class="WHIT">
|
|
2012
|
+
<span class='line'>2005</span> </span><span class="WHIT"> </span><span class="NAME">concat</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">dest</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">src</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2013
|
+
<span class='line'>2006</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
|
|
2014
|
+
<span class='line'>2007</span> </span><span class="WHIT"> </span><span class="NAME">le</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">src.length</span><span class="PUNC">;</span><span class="WHIT">
|
|
2015
|
+
<span class='line'>2008</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">le</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2016
|
+
<span class='line'>2009</span> </span><span class="WHIT"> </span><span class="NAME">dest.push</span><span class="PUNC">(</span><span class="NAME">src</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2017
|
+
<span class='line'>2010</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2018
|
+
<span class='line'>2011</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dest</span><span class="PUNC">;</span><span class="WHIT">
|
|
2019
|
+
<span class='line'>2012</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2020
|
+
<span class='line'>2013</span>
|
|
2021
|
+
<span class='line'>2014</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2022
|
+
<span class='line'>2015</span> * Convert HTML tags to entities or use html_sanitize if the google caja html sanitizer is available.
|
|
2023
|
+
<span class='line'>2016</span> * @param {String} str
|
|
2024
|
+
<span class='line'>2017</span> * @param {Boolean} caja
|
|
2025
|
+
<span class='line'>2018</span> * @returns {String} Sanitized string
|
|
2026
|
+
<span class='line'>2019</span> */</span><span class="WHIT">
|
|
2027
|
+
<span class='line'>2020</span> </span><span class="WHIT"> </span><span class="NAME">sanitizeHTML</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">caja</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2028
|
+
<span class='line'>2021</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">html_sanitize</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">caja</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2029
|
+
<span class='line'>2022</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">html_sanitize</span><span class="PUNC">(</span><span class="WHIT">
|
|
2030
|
+
<span class='line'>2023</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="PUNC">,</span><span class="WHIT">
|
|
2031
|
+
<span class='line'>2024</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2032
|
+
<span class='line'>2025</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT">
|
|
2033
|
+
<span class='line'>2026</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2034
|
+
<span class='line'>2027</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2035
|
+
<span class='line'>2028</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">;</span><span class="WHIT">
|
|
2036
|
+
<span class='line'>2029</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2037
|
+
<span class='line'>2030</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2038
|
+
<span class='line'>2031</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2039
|
+
<span class='line'>2032</span>
|
|
2040
|
+
<span class='line'>2033</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2041
|
+
<span class='line'>2034</span> </span><span class="WHIT"> </span><span class="NAME">str</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">str.replace</span><span class="PUNC">(</span><span class="REGX">/</g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"<"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/>/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">">"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2042
|
+
<span class='line'>2035</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2043
2043
|
<span class='line'>2036</span>
|
|
2044
|
-
<span class='line'>2037</span> </span><span class="WHIT">
|
|
2045
|
-
<span class='line'>2038</span>
|
|
2046
|
-
<span class='line'>2039</span>
|
|
2047
|
-
<span class='line'>2040</span>
|
|
2048
|
-
<span class='line'>2041</span>
|
|
2049
|
-
<span class='line'>2042</span>
|
|
2050
|
-
<span class='line'>2043</span>
|
|
2051
|
-
<span class='line'>2044</span>
|
|
2052
|
-
<span class='line'>2045</span> </span><span class="WHIT">
|
|
2053
|
-
<span class='line'>2046</span>
|
|
2054
|
-
<span class='line'>2047</span> </span><span class="WHIT">
|
|
2055
|
-
<span class='line'>2048</span> </span><span class="WHIT">
|
|
2044
|
+
<span class='line'>2037</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">str</span><span class="PUNC">;</span><span class="WHIT">
|
|
2045
|
+
<span class='line'>2038</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2046
|
+
<span class='line'>2039</span>
|
|
2047
|
+
<span class='line'>2040</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2048
|
+
<span class='line'>2041</span> * If <tt>s</tt> is a slider, it returns the sliders value, otherwise it just returns the given value.
|
|
2049
|
+
<span class='line'>2042</span> * @param {*} s
|
|
2050
|
+
<span class='line'>2043</span> * @returns {*} s.Value() if s is an element of type slider, s otherwise
|
|
2051
|
+
<span class='line'>2044</span> */</span><span class="WHIT">
|
|
2052
|
+
<span class='line'>2045</span> </span><span class="WHIT"> </span><span class="NAME">evalSlider</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2053
|
+
<span class='line'>2046</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">s.type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">Const.OBJECT_TYPE_GLIDER</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">s.Value</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2054
|
+
<span class='line'>2047</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">s.Value</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2055
|
+
<span class='line'>2048</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2056
2056
|
<span class='line'>2049</span>
|
|
2057
|
-
<span class='line'>2050</span> </span><span class="WHIT">
|
|
2058
|
-
<span class='line'>2051</span>
|
|
2059
|
-
<span class='line'>2052</span>
|
|
2060
|
-
<span class='line'>2053</span>
|
|
2061
|
-
<span class='line'>2054</span> *
|
|
2062
|
-
<span class='line'>2055</span> *
|
|
2063
|
-
<span class='line'>2056</span> *
|
|
2064
|
-
<span class='line'>2057</span> *
|
|
2065
|
-
<span class='line'>2058</span> *
|
|
2066
|
-
<span class='line'>2059</span> *
|
|
2067
|
-
<span class='line'>2060</span> *
|
|
2068
|
-
<span class='line'>2061</span> *
|
|
2069
|
-
<span class='line'>2062</span> *
|
|
2070
|
-
<span class='line'>2063</span> *
|
|
2071
|
-
<span class='line'>2064</span> *
|
|
2072
|
-
<span class='line'>2065</span> *
|
|
2073
|
-
<span class='line'>2066</span> *
|
|
2074
|
-
<span class='line'>2067</span> *
|
|
2075
|
-
<span class='line'>2068</span> *
|
|
2076
|
-
<span class='line'>2069</span> *
|
|
2077
|
-
<span class='line'>2070</span>
|
|
2078
|
-
<span class='line'>2071</span>
|
|
2079
|
-
<span class='line'>2072</span>
|
|
2080
|
-
<span class='line'>2073</span>
|
|
2081
|
-
<span class='line'>2074</span> </span><span class="WHIT">
|
|
2082
|
-
<span class='line'>2075</span> </span><span class="WHIT">
|
|
2083
|
-
<span class='line'>2076</span>
|
|
2084
|
-
<span class='line'>2077</span> </span><span class="WHIT">
|
|
2085
|
-
<span class='line'>2078</span> </span><span class="WHIT"> </span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/%
|
|
2086
|
-
<span class='line'>2079</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2087
|
-
<span class='line'>2080</span>
|
|
2088
|
-
<span class='line'>2081</span> </span><span class="WHIT">
|
|
2089
|
-
<span class='line'>2082</span> </span><span class="WHIT">
|
|
2090
|
-
<span class='line'>2083</span>
|
|
2091
|
-
<span class='line'>2084</span> </span><span class="WHIT"> </span><span class="
|
|
2092
|
-
<span class='line'>2085</span>
|
|
2093
|
-
<span class='line'>2086</span> </span><span class="WHIT">
|
|
2094
|
-
<span class='line'>2087</span> </span><span class="WHIT">
|
|
2095
|
-
<span class='line'>2088</span>
|
|
2096
|
-
<span class='line'>2089</span> </span><span class="
|
|
2097
|
-
<span class='line'>2090</span>
|
|
2098
|
-
<span class='line'>2091</span> </span><span class="
|
|
2099
|
-
<span class='line'>2092</span> </span
|
|
2057
|
+
<span class='line'>2050</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">;</span><span class="WHIT">
|
|
2058
|
+
<span class='line'>2051</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2059
|
+
<span class='line'>2052</span>
|
|
2060
|
+
<span class='line'>2053</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2061
|
+
<span class='line'>2054</span> * Convert a string containing a MAXIMA /STACK expression into a JSXGraph / JessieCode string
|
|
2062
|
+
<span class='line'>2055</span> * or an array of JSXGraph / JessieCode strings.
|
|
2063
|
+
<span class='line'>2056</span> * <p>
|
|
2064
|
+
<span class='line'>2057</span> * This function is meanwhile superseded by stack_jxg.stack2jsxgraph.
|
|
2065
|
+
<span class='line'>2058</span> *
|
|
2066
|
+
<span class='line'>2059</span> * @deprecated
|
|
2067
|
+
<span class='line'>2060</span> *
|
|
2068
|
+
<span class='line'>2061</span> * @example
|
|
2069
|
+
<span class='line'>2062</span> * console.log( JXG.stack2jsxgraph("%e**x") );
|
|
2070
|
+
<span class='line'>2063</span> * // Output:
|
|
2071
|
+
<span class='line'>2064</span> * // "EULER**x"
|
|
2072
|
+
<span class='line'>2065</span> *
|
|
2073
|
+
<span class='line'>2066</span> * @example
|
|
2074
|
+
<span class='line'>2067</span> * console.log( JXG.stack2jsxgraph("[%pi*(x**2 - 1), %phi*(x - 1), %gamma*(x+1)]") );
|
|
2075
|
+
<span class='line'>2068</span> * // Output:
|
|
2076
|
+
<span class='line'>2069</span> * // [ "PI*(x**2 - 1)", "1.618033988749895*(x - 1)", "0.5772156649015329*(x+1)" ]
|
|
2077
|
+
<span class='line'>2070</span> *
|
|
2078
|
+
<span class='line'>2071</span> * @param {String} str
|
|
2079
|
+
<span class='line'>2072</span> * @returns String
|
|
2080
|
+
<span class='line'>2073</span> */</span><span class="WHIT">
|
|
2081
|
+
<span class='line'>2074</span> </span><span class="WHIT"> </span><span class="NAME">stack2jsxgraph</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">str</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2082
|
+
<span class='line'>2075</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">;</span><span class="WHIT">
|
|
2083
|
+
<span class='line'>2076</span>
|
|
2084
|
+
<span class='line'>2077</span> </span><span class="WHIT"> </span><span class="NAME">t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">str.</span><span class="WHIT">
|
|
2085
|
+
<span class='line'>2078</span> </span><span class="WHIT"> </span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/%pi/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'PI'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
|
|
2086
|
+
<span class='line'>2079</span> </span><span class="WHIT"> </span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/%e/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'EULER'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
|
|
2087
|
+
<span class='line'>2080</span> </span><span class="WHIT"> </span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/%phi/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'1.618033988749895'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
|
|
2088
|
+
<span class='line'>2081</span> </span><span class="WHIT"> </span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/%gamma/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'0.5772156649015329'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
|
|
2089
|
+
<span class='line'>2082</span> </span><span class="WHIT"> </span><span class="NAME">trim</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2090
|
+
<span class='line'>2083</span>
|
|
2091
|
+
<span class='line'>2084</span> </span><span class="WHIT"> </span><span class="COMM">// String containing array -> array containing strings</span><span class="WHIT">
|
|
2092
|
+
<span class='line'>2085</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">t</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'['</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">[</span><span class="NAME">t.length</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">']'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2093
|
+
<span class='line'>2086</span> </span><span class="WHIT"> </span><span class="NAME">t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.slice</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">split</span><span class="PUNC">(</span><span class="REGX">/\s*,\s*/</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2094
|
+
<span class='line'>2087</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2095
|
+
<span class='line'>2088</span>
|
|
2096
|
+
<span class='line'>2089</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">;</span><span class="WHIT">
|
|
2097
|
+
<span class='line'>2090</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2098
|
+
<span class='line'>2091</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2099
|
+
<span class='line'>2092</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2100
|
+
<span class='line'>2093</span>
|
|
2101
|
+
<span class='line'>2094</span> </span><span class="NAME">export</span><span class="WHIT"> </span><span class="KEYW">default</span><span class="WHIT"> </span><span class="NAME">JXG</span><span class="PUNC">;</span><span class="WHIT">
|
|
2102
|
+
<span class='line'>2095</span> </span></pre></body></html>
|