@apexearth/layout
v0.7.3
Published
A package to manage the creation and usage of layouts like two-dimensional floor plans, maps, etc, using a grid.
Downloads
18
Readme
@apexearth/layout
Install
npm install @apexearth/layout
Usage
const Layout = require('@apexearth/layout')
Layout
Class used to create layouts.
Kind: global class
- Layout
- new Layout(autoShrink, overlap)
- .bounds : Object
- .size : number
- .fillSize : number
- .sections : Array
- .width ⇒ number
- .height ⇒ number
- .addSection(left, top, right, bottom, name, data, corner) ⇒ Section
- .deleteAllSections()
- .deleteSections(x, y)
- .deleteSection(section) ⇒ Section
- .removeSection(section) ⇒ Section
- .sectionsAt(x, y, ignoredSection)
- .isEmptyWithin(left, top, right, bottom, ignoredSection)
- .toString() ⇒ string
- .add(left, top, right, bottom, x, y, width, height, corner, name, data) ⇒ Section
new Layout(autoShrink, overlap)
| Param | Description | | --- | --- | | autoShrink | Whether to automatically shrink the Layout bounds when possible. | | overlap | Whether to allow Sections to overlap each other. |
layout.bounds : Object
The bounds of the Layout.
Kind: instance property of Layout
layout.size : number
The total area of the Layout. (width * height)
Kind: instance property of Layout
layout.fillSize : number
The total filled area of the Layout. (Total width * height of all sections)
Kind: instance property of Layout
layout.sections : Array
The sections within the Layout.
Kind: instance property of Layout
layout.width ⇒ number
The width of the Layout.
Kind: instance property of Layout
layout.height ⇒ number
The height of the Layout.
Kind: instance property of Layout
layout.addSection(left, top, right, bottom, name, data, corner) ⇒ Section
Add a section to the Layout.
Kind: instance method of Layout
| Param | Type | Description | | --- | --- | --- | | left | number | The left bound. | | top | number | The top bound. | | right | number | The right bound. | | bottom | number | The bottom bound. | | name | string | The name of the Section. | | data | object | The data to associate with the section. | | corner | 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' | undefined | Whether the section is a corner. |
layout.deleteAllSections()
Delete all sections within the Layout.
Kind: instance method of Layout
layout.deleteSections(x, y)
Delete sections located at coordinates.
Kind: instance method of Layout
| Param | Type | | --- | --- | | x | number | | y | number |
layout.deleteSection(section) ⇒ Section
Delete a specific section.
Kind: instance method of Layout
| Param | Description | | --- | --- | | section | The section to delete from the Layout. |
layout.removeSection(section) ⇒ Section
Same as deleteSection.
Kind: instance method of Layout
| Param | Description | | --- | --- | | section | The section to delete from the Layout. |
layout.sectionsAt(x, y, ignoredSection)
Get all sections at a coordinate.
Kind: instance method of Layout
| Param | Type | | --- | --- | | x | number | | y | number | | ignoredSection | Section |
layout.isEmptyWithin(left, top, right, bottom, ignoredSection)
Check if an area is empty.
Kind: instance method of Layout
| Param | Type | Description | | --- | --- | --- | | left | number | | | top | number | | | right | number | | | bottom | number | | | ignoredSection | Section | A section to ignore. |
layout.toString() ⇒ string
Create an ASCII representation of the Layout.
Kind: instance method of Layout
layout.add(left, top, right, bottom, x, y, width, height, corner, name, data) ⇒ Section
Add a section to the Layout using more flexible options.
Kind: instance method of Layout
Returns: Section - - The Section added.
| Param | Type | Description | | --- | --- | --- | | left | | The left bound. | | top | | The top bound. | | right | | The right bound. | | bottom | | The bottom bound. | | x | | The left bound. | | y | | The right bound. | | width | | The right bound, minus x. | | height | | The bottom bound, minus y. | | corner | 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' | undefined | Whether the section is a corner. | | name | | The name of the Section. | | data | | The data to associate with the Section. |
Section
The Section class.
Kind: global class
- Section
- .layout : Layout
- .name : string
- .left : number
- .top : number
- .right : number
- .bottom : number
- .data : *
- .corner : 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' | undefined
- .leftSections : Array
- .topSections : Array
- .rightSections : Array
- .bottomSections : Array
section.layout : Layout
Kind: instance property of Section
section.name : string
Kind: instance property of Section
section.left : number
Kind: instance property of Section
section.top : number
Kind: instance property of Section
section.right : number
Kind: instance property of Section
section.bottom : number
Kind: instance property of Section
section.data : *
Kind: instance property of Section
section.corner : 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' | undefined
Kind: instance property of Section
section.leftSections : Array
Kind: instance property of Section
section.topSections : Array
Kind: instance property of Section
section.rightSections : Array
Kind: instance property of Section
section.bottomSections : Array
Kind: instance property of Section