Browse Source

FEAT,REFA: replaced componentChild(ren) with childContext

master
chris 6 months ago
parent
commit
2d3b2c0f46
  1. 11
      src/baseComponents.js
  2. 2
      src/builder.js
  3. 20
      src/component.js
  4. 8
      src/modifier.js
  5. 11
      src/sizeSide/dimensions.js
  6. 11
      src/sizeSide/shapes.js
  7. 11
      src/sizeSide/siding.js

11
src/baseComponents.js

@ -13,7 +13,7 @@ class FlexContainerComponent extends Component {
* @param {Component|Array<Component>} innerComponent * @param {Component|Array<Component>} innerComponent
* @returns {FlexContainerComponent} this component object * @returns {FlexContainerComponent} this component object
*/ */
componentChildren(innerComponent) { childContext(innerComponent) {
if (innerComponent instanceof Array) { if (innerComponent instanceof Array) {
innerComponent innerComponent
.map(cl => { .map(cl => {
@ -30,7 +30,7 @@ class FlexContainerComponent extends Component {
}) })
} }
return super.componentChildren(innerComponent); return super.childContext(innerComponent);
} }
} }
@ -39,11 +39,10 @@ class FlexContainerComponent extends Component {
*/ */
class Column extends FlexContainerComponent { class Column extends FlexContainerComponent {
constructor(attr = {}) { constructor(attr = {}) {
super(document.createElement("div"), attr) super(attr)
.addStyleClass("column-component") .addStyleClass("column-component")
.modifier( .modifier(
new Modifier() new Modifier()
.fillMaxHeight()
.setStyleRule("flex-direction", "column") .setStyleRule("flex-direction", "column")
); );
} }
@ -68,7 +67,7 @@ class Row extends FlexContainerComponent {
* @param {*} innerComponent * @param {*} innerComponent
* @returns {Row} * @returns {Row}
*/ */
componentChildren(innerComponent) { childContext(innerComponent) {
if (innerComponent instanceof Array) { if (innerComponent instanceof Array) {
innerComponent innerComponent
.map(cl => (cl instanceof Component ? cl : cl.ensureModifier().toComponent())) .map(cl => (cl instanceof Component ? cl : cl.ensureModifier().toComponent()))
@ -83,7 +82,7 @@ class Row extends FlexContainerComponent {
.join(icomp._modifier) .join(icomp._modifier)
}) })
} }
return super.componentChildren(innerComponent) return super.childContext(innerComponent)
} }
/** /**

2
src/builder.js

@ -203,7 +203,7 @@ const builder = {
builder.genTag("main") builder.genTag("main")
.alignment(Alignment.CENTER) .alignment(Alignment.CENTER)
.arrangement(Arrangement.CENTER) .arrangement(Arrangement.CENTER)
.componentChild(innerComponents) .childContext(innerComponents)
.generate() .generate()
) )
main.remove(); main.remove();

20
src/component.js

@ -125,11 +125,22 @@ class Component {
/** /**
* * Opens a context to create element children.
* @param {Component} component * Either as one component or a list/array of components.
* @param {Component|Array<Component>} component
* @returns {Component} this component object * @returns {Component} this component object
*/ */
componentChild(component) { childContext(component) {
console.log(arguments, arguments.length > 1)
if (arguments.length > 1) {
for (let i = 0; i < arguments.length; i++) {
this.childContext(arguments[i]);
}
} else if (component instanceof Array) {
for (let i = 0; i < component.length; i++) {
this.childContext(component[i]);
}
} else {
this._element.append( this._element.append(
(component instanceof Component (component instanceof Component
? component ? component
@ -137,6 +148,7 @@ class Component {
) )
.generate() .generate()
); );
}
return this; return this;
} }
@ -147,7 +159,7 @@ class Component {
*/ */
componentChildren(innerComponent) { componentChildren(innerComponent) {
for (let i = 0; i < innerComponent.length; i++) { for (let i = 0; i < innerComponent.length; i++) {
this.componentChild(innerComponent[i]); this.childContext(innerComponent[i]);
} }
return this; return this;
} }

8
src/modifier.js

@ -250,10 +250,10 @@ class ChainableModifier extends Modifier {
* @param {Component} innerComponent * @param {Component} innerComponent
* @returns {Component} the parent Component * @returns {Component} the parent Component
*/ */
componentChild(innerComponent) { childContext(innerComponent) {
return this._component return this._component
.modifier(this) .modifier(this)
.componentChild(innerComponent); .childContext(innerComponent);
} }
/** /**
@ -261,9 +261,9 @@ class ChainableModifier extends Modifier {
* @param {Array<Component>} innerComponent * @param {Array<Component>} innerComponent
* @returns {Component} the parent Component * @returns {Component} the parent Component
*/ */
componentChildren(innerComponent) { childContext(innerComponent) {
return this._component return this._component
.modifier(this) .modifier(this)
.componentChildren(innerComponent); .childContext(innerComponent);
} }
} }

11
src/sizeSide/dimensions.js

@ -88,18 +88,11 @@ class ChainableDimensions extends DimensionsChain {
.toComponent(); .toComponent();
} }
componentChild(innerComponent) { childContext(innerComponent) {
return this._modifier return this._modifier
.dimensions(this) .dimensions(this)
.toComponent() .toComponent()
.componentChild(innerComponent); .childContext(innerComponent);
}
componentChildren(innerComponent) {
return this._modifier
.dimensions(this)
.toComponent()
.componentChildren(innerComponent);
} }
} }

11
src/sizeSide/shapes.js

@ -102,18 +102,11 @@ class ChainableShape extends ShapeChain {
.toComponent(); .toComponent();
} }
componentChild(innerComponent) { childContext(innerComponent) {
return this._modifier return this._modifier
.clip(this) .clip(this)
.toComponent() .toComponent()
.componentChild(innerComponent); .childContext(innerComponent);
}
componentChildren(innerComponent) {
return this._modifier
.clip(this)
.toComponent()
.componentChildren(innerComponent);
} }
} }

11
src/sizeSide/siding.js

@ -240,18 +240,11 @@ class ChainablePadding extends PaddingChain {
.toComponent(); .toComponent();
} }
componentChild(innerComponent) { childContext(innerComponent) {
return this._modifier return this._modifier
.padding(this) .padding(this)
.toComponent() .toComponent()
.componentChild(innerComponent); .childContext(innerComponent);
}
componentChildren(innerComponent) {
return this._modifier
.padding(this)
.toComponent()
.componentChildren(innerComponent);
} }
} }

Loading…
Cancel
Save