1
0
Fork 0
freesewing/sites/dev/docs/reference/api/point/attr
Joost De Cock ab3204f9f1 chore: Port FreeSewing.dev to docusaurus
The replaces the NextJS site powering FreeSewing.dev with a Docusaurus
setup. It's part of my efforts to simplify FreeSewing's setup so we can
focus on our core value proposition.
2024-09-28 13:13:48 +02:00
..
readme.mdx chore: Port FreeSewing.dev to docusaurus 2024-09-28 13:13:48 +02:00

---
title: Point.attr()
---

The `Point.attr()` method adds an attribute to the point, and returns the
original point. Setting the third parameter to `true` will replace the value of
the attribute instead of adding it.

## Signature

```js
Point point.attr(
  string name,
  mixed value,
  bool overwrite = false
)
```

If the third parameter is set to `true` it will call [`this.attributes.set()`](/reference/api/attributes/set/) instead, thereby overwriting the value of the attribute.


:::tipThis method is chainable as it returns the `Point` object:::

## Example

<Example caption="An example of the Point.attr() method">
```js
({ Point, points, Path, paths, part }) => {

  points.anchor = new Point(100, 25)
    .attr('data-text', 'FreeSewing')
    .attr('data-text', 'rocks')

  // Avoid the text getting cropped
  paths.hidden = new Path()
    .move(points.anchor)
    .line(points.anchor.shift(0, 80))
    .addClass('hidden')

  return part
}
```
</Example>

## Notes

See [Using Attributes](/howtos/code/attributes)
for information about custom Attributes that can be used with Points.