From 1c75fcaf02ceb144152d59557643c6fdd7264065 Mon Sep 17 00:00:00 2001 From: Ulrich-Matthias Schäfer Date: Sat, 27 Oct 2018 20:43:35 +0200 Subject: resolve circular references and make example working again --- abilities | 156 ++++++ dirty.html | 15 +- package.json | 3 +- src/A.js | 39 +- src/Animator.js | 4 +- src/Bare.js | 23 +- src/Base.js | 14 + src/Box.js | 41 +- src/Circle.js | 25 +- src/ClipPath.js | 62 +-- src/Color.js | 9 +- src/Container.js | 2 - src/Controller.js | 1 + src/Defs.js | 9 +- src/Doc.js | 134 ++--- src/Element.js | 395 +++++++-------- src/Ellipse.js | 19 +- src/EventTarget.js | 38 +- src/G.js | 19 +- src/Gradient.js | 37 +- src/HtmlNode.js | 7 +- src/Image.js | 21 +- src/Line.js | 29 +- src/Marker.js | 82 ++-- src/Mask.js | 58 +-- src/Matrix.js | 53 +- src/Morphable.js | 25 +- src/Parent.js | 194 +++++--- src/Path.js | 22 +- src/PathArray.js | 85 ++-- src/Pattern.js | 47 +- src/Point.js | 13 +- src/Polygon.js | 59 +-- src/Polyline.js | 28 +- src/Rect.js | 25 +- src/Runner.js | 108 +++-- src/SVGArray.js | 8 +- src/SVGNumber.js | 6 +- src/Shape.js | 3 - src/Stop.js | 6 +- src/Symbol.js | 17 +- src/Text.js | 103 +--- src/TextPath.js | 77 ++- src/Timeline.js | 17 +- src/Tspan.js | 43 ++ src/Use.js | 18 +- src/adopter.js | 56 +++ src/attr.js | 15 +- src/classes.js | 5 - src/containers.js | 11 + src/css.js | 100 ++-- src/data.js | 45 +- src/default.js | 51 -- src/elements.js | 24 + src/event.js | 16 +- src/flatten.js | 42 -- src/fx.js | 1368 ---------------------------------------------------- src/helpers.js | 30 +- src/memory.js | 61 +-- src/parser.js | 32 +- src/poly.js | 30 ++ src/selector.js | 11 +- src/set.js | 17 + src/svg.js | 87 +++- src/textable.js | 35 ++ src/tools.js | 48 +- src/utilities.js | 43 -- 67 files changed, 1641 insertions(+), 2685 deletions(-) create mode 100644 abilities create mode 100644 src/Base.js delete mode 100644 src/Container.js delete mode 100644 src/Shape.js create mode 100644 src/Tspan.js create mode 100644 src/adopter.js create mode 100644 src/containers.js delete mode 100644 src/default.js create mode 100644 src/elements.js delete mode 100644 src/flatten.js delete mode 100644 src/fx.js create mode 100644 src/poly.js create mode 100644 src/set.js create mode 100644 src/textable.js delete mode 100644 src/utilities.js diff --git a/abilities b/abilities new file mode 100644 index 0000000..4d5aa11 --- /dev/null +++ b/abilities @@ -0,0 +1,156 @@ + + +>> Element << + Stop + Bare + >> Parent << + Text + TextPath + >> Container<< + Doc + G + Symbol + Defs + ClipPath + Mask + A + Gradient + Shape + Rect + Circle + Path + Ellipse + Polygon + Polyline + Line + Image + +Animate +Box +Color +Controller + + +===================================================================== + + +classes: + + // MetaData + Title + + // Parents + SVG + G + + // Elements + Rect + Circle + Path + Ellipse + Polygon + Polyline + Line + Image + + // Text Stuff + TSpan + TextPath + + // Data Type + Box + Matrix + SVGNumber + SVGArray + PointArray + PathArray + Color + Controller + +abilities: + Animate + Container + Event + Doc + Movements + Dom + Create + + + + +// DocAbility.js + +import SVG from 'Svg.js' +export default function ( ...worksOn ) { + let workSet = new Set(worksOn) + return { + + doc: function () { + return this.parent(SVG) + } + + } +} + +-> svg.js -> DocAbility.js -> 'Svg.js' + +extend ( [ Rect ], DocAbility() ) + + + +// DomAbility.js + +import {makeInstance} from 'helpers.js' + +export default function ( ...worksOn ) { + let workSet = new Set(worksOn) + let maker = makeInstance(workSet) + + return { + + addTo (parent) { + return maker(parent).put(this) + } + + } +} + +class Rect { + + + static tagName = 'Rect' +} + + + + +new SVG[capitalize[node.nodeName]] + + + +new SVG.Doc() -> ...... + +// SVG.js + +extend( [ ...Parents ], Container(...Elements, ...Parents) ) ) +extend( [ Text ], Container( TSpan, TextPath ) ) + + + +Element.js + +new Element () + +export default class Element { + + static + + static + +} + +Rect.js + +import Element from Element.js +export default class Rect extends Element diff --git a/dirty.html b/dirty.html index f3e739a..5f605de 100644 --- a/dirty.html +++ b/dirty.html @@ -4,14 +4,7 @@ - - - - - - - - + @@ -30,7 +23,11 @@ -