Skip to content

Masonry - Brick submodule checklist #413

@meganindya

Description

@meganindya

Brick

Config

  • (A) list all instantiation properties for each brick type
    • these are going to be constructor args for the classes (model)
    • these are things like type, labels, primary color, secondary color, etc.
  • (B) list all input state properties for each brick type
    • these are going to change during the runtime
    • these are things like highlighted, scale, etc.
  • (C) list all output state properties for each brick type
    • these will be generated based on the input state properties
    • these are things like bounding boxes, connection points, etc.
  • (D) list all mutable and immutable connection point properties for each brick type
    • these are things like type (instruction/argument), co-ordinates relative to the brick origin, etc.

Code

  • 4 concrete classes (model) one for each type
    • (A) will be the constructor args
    • there will be a method in each class that returns (A) + (B) in the current state of each model instance
    • there will be a method in each class that returns (C) in the current state of each model instance
    • there will be methods to get/set the different states
  • Extend statement and value brick classes for their corresponding shadow models
  • 1 factory function to instantiate classes (model)
    • (A) will be passed as args
    • UUIDs will be generated on instantiation
  • 1 warehouse module which would keep the map of id to instance (model)
    • add functions to add, retrieve, and delete instances
  • 1 generic React component (view)
    • (A) + (B) will be the props
  • Storybook files covering all brick types, configurations, and states
    • infinite possibilities; so all you need to show is that each property is utilised atleast once in one of the stories, e.g. no arg, one arg, two args, one missing arg, a big sized arg, no label, one long label, arg labels, no arg labels, etc.

Notes

  • In-line and in-file documentation

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions