@rnacanvas/draw.floating 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +548 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,7 +12,16 @@ All exports of this package can be accessed as named imports.
|
|
|
12
12
|
|
|
13
13
|
```javascript
|
|
14
14
|
// some example imports
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
Text,
|
|
17
|
+
Circle,
|
|
18
|
+
Rectangle,
|
|
19
|
+
Triangle,
|
|
20
|
+
StrungText,
|
|
21
|
+
StrungCircle,
|
|
22
|
+
StrungRectangle,
|
|
23
|
+
StrungTriangle,
|
|
24
|
+
} from '@rnacanvas/draw.floating';
|
|
16
25
|
```
|
|
17
26
|
|
|
18
27
|
## `class Text`
|
|
@@ -974,3 +983,541 @@ triangle2.domNode === triangle1.domNode; // true
|
|
|
974
983
|
|
|
975
984
|
triangle2 === triangle1; // false
|
|
976
985
|
```
|
|
986
|
+
|
|
987
|
+
## `class StrungText`
|
|
988
|
+
|
|
989
|
+
A strung text element.
|
|
990
|
+
|
|
991
|
+
```javascript
|
|
992
|
+
var owner = someBond;
|
|
993
|
+
|
|
994
|
+
var strungText = StrungText.on(owner);
|
|
995
|
+
|
|
996
|
+
strungText.owner === owner; // true
|
|
997
|
+
|
|
998
|
+
strungText.domNode instanceof SVGTextElement; // true
|
|
999
|
+
```
|
|
1000
|
+
|
|
1001
|
+
### `static on()`
|
|
1002
|
+
|
|
1003
|
+
Creates a new strung text element for the specified owner.
|
|
1004
|
+
|
|
1005
|
+
```javascript
|
|
1006
|
+
var owner = someBond;
|
|
1007
|
+
|
|
1008
|
+
var strungText = StrungText.on(owner);
|
|
1009
|
+
|
|
1010
|
+
strungText.owner === owner; // true
|
|
1011
|
+
```
|
|
1012
|
+
|
|
1013
|
+
This method creates a new text element under the hood and wraps it in a strung text element.
|
|
1014
|
+
|
|
1015
|
+
### `constructor()`
|
|
1016
|
+
|
|
1017
|
+
Constructs a strung text element wrapping the specified text element and owner.
|
|
1018
|
+
|
|
1019
|
+
```javascript
|
|
1020
|
+
var text = Text.create('A');
|
|
1021
|
+
|
|
1022
|
+
var owner = someBond;
|
|
1023
|
+
|
|
1024
|
+
var strungText = new StrungText(text, owner);
|
|
1025
|
+
|
|
1026
|
+
strungText.domNode === text.domNode; // true
|
|
1027
|
+
|
|
1028
|
+
strungText.owner === owner; // true
|
|
1029
|
+
```
|
|
1030
|
+
|
|
1031
|
+
The wrapped text element is not modified in any way during construction.
|
|
1032
|
+
|
|
1033
|
+
### `readonly domNode`
|
|
1034
|
+
|
|
1035
|
+
The underlying SVG text element corresponding to the strung text element.
|
|
1036
|
+
|
|
1037
|
+
```javascript
|
|
1038
|
+
var text = Text.create('A');
|
|
1039
|
+
|
|
1040
|
+
var owner = someBond;
|
|
1041
|
+
|
|
1042
|
+
var strungText = new StrungText(text, owner);
|
|
1043
|
+
|
|
1044
|
+
strungText.domNode === text.domNode; // true
|
|
1045
|
+
```
|
|
1046
|
+
|
|
1047
|
+
### `owner`
|
|
1048
|
+
|
|
1049
|
+
The owner of the strung text element.
|
|
1050
|
+
|
|
1051
|
+
```javascript
|
|
1052
|
+
var owner = someBond;
|
|
1053
|
+
|
|
1054
|
+
var strungText = StrungText.on(owner);
|
|
1055
|
+
|
|
1056
|
+
strungText.owner === owner; // true
|
|
1057
|
+
```
|
|
1058
|
+
|
|
1059
|
+
This is typically the bond or other element that the strung item is attached to.
|
|
1060
|
+
|
|
1061
|
+
### `textContent`
|
|
1062
|
+
|
|
1063
|
+
The text content of the wrapped text element.
|
|
1064
|
+
|
|
1065
|
+
```javascript
|
|
1066
|
+
var text = Text.create('A');
|
|
1067
|
+
|
|
1068
|
+
var owner = someBond;
|
|
1069
|
+
|
|
1070
|
+
var strungText = new StrungText(text, owner);
|
|
1071
|
+
|
|
1072
|
+
strungText.textContent; // "A"
|
|
1073
|
+
|
|
1074
|
+
strungText.domNode.textContent = 'B';
|
|
1075
|
+
|
|
1076
|
+
strungText.textContent; // "B"
|
|
1077
|
+
```
|
|
1078
|
+
|
|
1079
|
+
### `save()`
|
|
1080
|
+
|
|
1081
|
+
Returns the serialized form of the strung text element,
|
|
1082
|
+
which is a JSON-serializable object.
|
|
1083
|
+
|
|
1084
|
+
```javascript
|
|
1085
|
+
var owner = someBond;
|
|
1086
|
+
|
|
1087
|
+
var strungText = StrungText.on(owner);
|
|
1088
|
+
|
|
1089
|
+
var savedStrungText = strungText.save();
|
|
1090
|
+
|
|
1091
|
+
savedStrungText.text.id; // has a UUID
|
|
1092
|
+
savedStrungText.ownerID; // the owner bond ID
|
|
1093
|
+
```
|
|
1094
|
+
|
|
1095
|
+
### `static recreate()`
|
|
1096
|
+
|
|
1097
|
+
Recreates a saved strung text element given the parent drawing that its DOM node is in.
|
|
1098
|
+
|
|
1099
|
+
```javascript
|
|
1100
|
+
var owner = someBond;
|
|
1101
|
+
|
|
1102
|
+
var strungText1 = StrungText.on(owner);
|
|
1103
|
+
|
|
1104
|
+
parentDrawing.domNode.append(strungText1.domNode);
|
|
1105
|
+
|
|
1106
|
+
var savedStrungText = strungText1.save();
|
|
1107
|
+
|
|
1108
|
+
var strungText2 = StrungText.recreate(savedStrungText, parentDrawing);
|
|
1109
|
+
|
|
1110
|
+
strungText2.domNode === strungText1.domNode; // true
|
|
1111
|
+
|
|
1112
|
+
strungText2.owner === owner; // true
|
|
1113
|
+
|
|
1114
|
+
strungText2 === strungText1; // false
|
|
1115
|
+
```
|
|
1116
|
+
|
|
1117
|
+
## `class StrungCircle`
|
|
1118
|
+
|
|
1119
|
+
A strung circle element.
|
|
1120
|
+
|
|
1121
|
+
```javascript
|
|
1122
|
+
var owner = someBond;
|
|
1123
|
+
|
|
1124
|
+
var strungCircle = StrungCircle.on(owner);
|
|
1125
|
+
|
|
1126
|
+
strungCircle.owner === owner; // true
|
|
1127
|
+
|
|
1128
|
+
strungCircle.domNode instanceof SVGCircleElement; // true
|
|
1129
|
+
```
|
|
1130
|
+
|
|
1131
|
+
### `static on()`
|
|
1132
|
+
|
|
1133
|
+
Creates a new strung circle element for the specified owner.
|
|
1134
|
+
|
|
1135
|
+
```javascript
|
|
1136
|
+
var owner = someBond;
|
|
1137
|
+
|
|
1138
|
+
var strungCircle = StrungCircle.on(owner);
|
|
1139
|
+
|
|
1140
|
+
strungCircle.owner === owner; // true
|
|
1141
|
+
```
|
|
1142
|
+
|
|
1143
|
+
This method creates a new circle element under the hood and wraps it in a strung circle element.
|
|
1144
|
+
|
|
1145
|
+
### `constructor()`
|
|
1146
|
+
|
|
1147
|
+
Constructs a strung circle element wrapping the specified circle element and owner.
|
|
1148
|
+
|
|
1149
|
+
```javascript
|
|
1150
|
+
var circle = Circle.create();
|
|
1151
|
+
|
|
1152
|
+
var owner = someBond;
|
|
1153
|
+
|
|
1154
|
+
var strungCircle = new StrungCircle(circle, owner);
|
|
1155
|
+
|
|
1156
|
+
strungCircle.domNode === circle.domNode; // true
|
|
1157
|
+
|
|
1158
|
+
strungCircle.owner === owner; // true
|
|
1159
|
+
```
|
|
1160
|
+
|
|
1161
|
+
### `readonly domNode`
|
|
1162
|
+
|
|
1163
|
+
The underlying SVG circle element corresponding to the strung circle element.
|
|
1164
|
+
|
|
1165
|
+
```javascript
|
|
1166
|
+
var circle = Circle.create();
|
|
1167
|
+
|
|
1168
|
+
var owner = someBond;
|
|
1169
|
+
|
|
1170
|
+
var strungCircle = new StrungCircle(circle, owner);
|
|
1171
|
+
|
|
1172
|
+
strungCircle.domNode === circle.domNode; // true
|
|
1173
|
+
```
|
|
1174
|
+
|
|
1175
|
+
### `owner`
|
|
1176
|
+
|
|
1177
|
+
The owner of the strung circle element.
|
|
1178
|
+
|
|
1179
|
+
```javascript
|
|
1180
|
+
var owner = someBond;
|
|
1181
|
+
|
|
1182
|
+
var strungCircle = StrungCircle.on(owner);
|
|
1183
|
+
|
|
1184
|
+
strungCircle.owner === owner; // true
|
|
1185
|
+
```
|
|
1186
|
+
|
|
1187
|
+
### `save()`
|
|
1188
|
+
|
|
1189
|
+
Returns the serialized form of the strung circle element,
|
|
1190
|
+
which is a JSON-serializable object.
|
|
1191
|
+
|
|
1192
|
+
```javascript
|
|
1193
|
+
var owner = someBond;
|
|
1194
|
+
|
|
1195
|
+
var strungCircle = StrungCircle.on(owner);
|
|
1196
|
+
|
|
1197
|
+
var savedStrungCircle = strungCircle.save();
|
|
1198
|
+
|
|
1199
|
+
savedStrungCircle.circle.id; // has a UUID
|
|
1200
|
+
savedStrungCircle.ownerID; // the owner bond ID
|
|
1201
|
+
```
|
|
1202
|
+
|
|
1203
|
+
### `static recreate()`
|
|
1204
|
+
|
|
1205
|
+
Recreates a saved strung circle element given the parent drawing that its DOM node is in.
|
|
1206
|
+
|
|
1207
|
+
```javascript
|
|
1208
|
+
var owner = someBond;
|
|
1209
|
+
|
|
1210
|
+
var strungCircle1 = StrungCircle.on(owner);
|
|
1211
|
+
|
|
1212
|
+
parentDrawing.domNode.append(strungCircle1.domNode);
|
|
1213
|
+
|
|
1214
|
+
var savedStrungCircle = strungCircle1.save();
|
|
1215
|
+
|
|
1216
|
+
var strungCircle2 = StrungCircle.recreate(savedStrungCircle, parentDrawing);
|
|
1217
|
+
|
|
1218
|
+
strungCircle2.domNode === strungCircle1.domNode; // true
|
|
1219
|
+
|
|
1220
|
+
strungCircle2.owner === owner; // true
|
|
1221
|
+
|
|
1222
|
+
strungCircle2 === strungCircle1; // false
|
|
1223
|
+
```
|
|
1224
|
+
|
|
1225
|
+
## `class StrungRectangle`
|
|
1226
|
+
|
|
1227
|
+
A strung rectangle element.
|
|
1228
|
+
|
|
1229
|
+
```javascript
|
|
1230
|
+
var owner = someBond;
|
|
1231
|
+
|
|
1232
|
+
var strungRectangle = StrungRectangle.on(owner);
|
|
1233
|
+
|
|
1234
|
+
strungRectangle.owner === owner; // true
|
|
1235
|
+
|
|
1236
|
+
strungRectangle.domNode instanceof SVGPathElement; // true
|
|
1237
|
+
```
|
|
1238
|
+
|
|
1239
|
+
### `static on()`
|
|
1240
|
+
|
|
1241
|
+
Creates a new strung rectangle element for the specified owner.
|
|
1242
|
+
|
|
1243
|
+
```javascript
|
|
1244
|
+
var owner = someBond;
|
|
1245
|
+
|
|
1246
|
+
var strungRectangle = StrungRectangle.on(owner);
|
|
1247
|
+
|
|
1248
|
+
strungRectangle.owner === owner; // true
|
|
1249
|
+
```
|
|
1250
|
+
|
|
1251
|
+
This method creates a new rectangle element under the hood and wraps it in a strung rectangle element.
|
|
1252
|
+
|
|
1253
|
+
### `constructor()`
|
|
1254
|
+
|
|
1255
|
+
Constructs a strung rectangle element wrapping the specified rectangle element and owner.
|
|
1256
|
+
|
|
1257
|
+
```javascript
|
|
1258
|
+
var rectangle = Rectangle.create();
|
|
1259
|
+
|
|
1260
|
+
var owner = someBond;
|
|
1261
|
+
|
|
1262
|
+
var strungRectangle = new StrungRectangle(rectangle, owner);
|
|
1263
|
+
|
|
1264
|
+
strungRectangle.domNode === rectangle.domNode; // true
|
|
1265
|
+
|
|
1266
|
+
strungRectangle.owner === owner; // true
|
|
1267
|
+
```
|
|
1268
|
+
|
|
1269
|
+
### `readonly domNode`
|
|
1270
|
+
|
|
1271
|
+
The underlying SVG path element corresponding to the strung rectangle element.
|
|
1272
|
+
|
|
1273
|
+
```javascript
|
|
1274
|
+
var rectangle = Rectangle.create();
|
|
1275
|
+
|
|
1276
|
+
var owner = someBond;
|
|
1277
|
+
|
|
1278
|
+
var strungRectangle = new StrungRectangle(rectangle, owner);
|
|
1279
|
+
|
|
1280
|
+
strungRectangle.domNode === rectangle.domNode; // true
|
|
1281
|
+
```
|
|
1282
|
+
|
|
1283
|
+
### `owner`
|
|
1284
|
+
|
|
1285
|
+
The owner of the strung rectangle element.
|
|
1286
|
+
|
|
1287
|
+
```javascript
|
|
1288
|
+
var owner = someBond;
|
|
1289
|
+
|
|
1290
|
+
var strungRectangle = StrungRectangle.on(owner);
|
|
1291
|
+
|
|
1292
|
+
strungRectangle.owner === owner; // true
|
|
1293
|
+
```
|
|
1294
|
+
|
|
1295
|
+
### `width`
|
|
1296
|
+
|
|
1297
|
+
The width of the wrapped rectangle element.
|
|
1298
|
+
|
|
1299
|
+
```javascript
|
|
1300
|
+
var owner = someBond;
|
|
1301
|
+
|
|
1302
|
+
var strungRectangle = StrungRectangle.on(owner);
|
|
1303
|
+
|
|
1304
|
+
strungRectangle.width = 12.4;
|
|
1305
|
+
|
|
1306
|
+
strungRectangle.width; // 12.4
|
|
1307
|
+
```
|
|
1308
|
+
|
|
1309
|
+
### `height`
|
|
1310
|
+
|
|
1311
|
+
The height of the wrapped rectangle element.
|
|
1312
|
+
|
|
1313
|
+
```javascript
|
|
1314
|
+
var owner = someBond;
|
|
1315
|
+
|
|
1316
|
+
var strungRectangle = StrungRectangle.on(owner);
|
|
1317
|
+
|
|
1318
|
+
strungRectangle.height = 18.7;
|
|
1319
|
+
|
|
1320
|
+
strungRectangle.height; // 18.7
|
|
1321
|
+
```
|
|
1322
|
+
|
|
1323
|
+
### `cornerRadius`
|
|
1324
|
+
|
|
1325
|
+
Controls how rounded the corners of the wrapped rectangle are.
|
|
1326
|
+
|
|
1327
|
+
```javascript
|
|
1328
|
+
var owner = someBond;
|
|
1329
|
+
|
|
1330
|
+
var strungRectangle = StrungRectangle.on(owner);
|
|
1331
|
+
|
|
1332
|
+
strungRectangle.cornerRadius = 8.21;
|
|
1333
|
+
|
|
1334
|
+
strungRectangle.cornerRadius; // 8.21
|
|
1335
|
+
```
|
|
1336
|
+
|
|
1337
|
+
### `save()`
|
|
1338
|
+
|
|
1339
|
+
Returns the serialized form of the strung rectangle element,
|
|
1340
|
+
which is a JSON-serializable object.
|
|
1341
|
+
|
|
1342
|
+
```javascript
|
|
1343
|
+
var owner = someBond;
|
|
1344
|
+
|
|
1345
|
+
var strungRectangle = StrungRectangle.on(owner);
|
|
1346
|
+
|
|
1347
|
+
var savedStrungRectangle = strungRectangle.save();
|
|
1348
|
+
|
|
1349
|
+
savedStrungRectangle.rectangle.id; // has a UUID
|
|
1350
|
+
savedStrungRectangle.ownerID; // the owner bond ID
|
|
1351
|
+
```
|
|
1352
|
+
|
|
1353
|
+
### `static recreate()`
|
|
1354
|
+
|
|
1355
|
+
Recreates a saved strung rectangle element given the parent drawing that its DOM node is in.
|
|
1356
|
+
|
|
1357
|
+
```javascript
|
|
1358
|
+
var owner = someBond;
|
|
1359
|
+
|
|
1360
|
+
var strungRectangle1 = StrungRectangle.on(owner);
|
|
1361
|
+
|
|
1362
|
+
parentDrawing.domNode.append(strungRectangle1.domNode);
|
|
1363
|
+
|
|
1364
|
+
var savedStrungRectangle = strungRectangle1.save();
|
|
1365
|
+
|
|
1366
|
+
var strungRectangle2 = StrungRectangle.recreate(savedStrungRectangle, parentDrawing);
|
|
1367
|
+
|
|
1368
|
+
strungRectangle2.domNode === strungRectangle1.domNode; // true
|
|
1369
|
+
|
|
1370
|
+
strungRectangle2.owner === owner; // true
|
|
1371
|
+
|
|
1372
|
+
strungRectangle2 === strungRectangle1; // false
|
|
1373
|
+
```
|
|
1374
|
+
|
|
1375
|
+
## `class StrungTriangle`
|
|
1376
|
+
|
|
1377
|
+
A strung triangle element.
|
|
1378
|
+
|
|
1379
|
+
```javascript
|
|
1380
|
+
var owner = someBond;
|
|
1381
|
+
|
|
1382
|
+
var strungTriangle = StrungTriangle.on(owner);
|
|
1383
|
+
|
|
1384
|
+
strungTriangle.owner === owner; // true
|
|
1385
|
+
|
|
1386
|
+
strungTriangle.domNode instanceof SVGPathElement; // true
|
|
1387
|
+
```
|
|
1388
|
+
|
|
1389
|
+
### `static on()`
|
|
1390
|
+
|
|
1391
|
+
Creates a new strung triangle element for the specified owner.
|
|
1392
|
+
|
|
1393
|
+
```javascript
|
|
1394
|
+
var owner = someBond;
|
|
1395
|
+
|
|
1396
|
+
var strungTriangle = StrungTriangle.on(owner);
|
|
1397
|
+
|
|
1398
|
+
strungTriangle.owner === owner; // true
|
|
1399
|
+
```
|
|
1400
|
+
|
|
1401
|
+
This method creates a new triangle element under the hood and wraps it in a strung triangle element.
|
|
1402
|
+
|
|
1403
|
+
### `constructor()`
|
|
1404
|
+
|
|
1405
|
+
Constructs a strung triangle element wrapping the specified triangle element and owner.
|
|
1406
|
+
|
|
1407
|
+
```javascript
|
|
1408
|
+
var triangle = Triangle.create();
|
|
1409
|
+
|
|
1410
|
+
var owner = someBond;
|
|
1411
|
+
|
|
1412
|
+
var strungTriangle = new StrungTriangle(triangle, owner);
|
|
1413
|
+
|
|
1414
|
+
strungTriangle.domNode === triangle.domNode; // true
|
|
1415
|
+
|
|
1416
|
+
strungTriangle.owner === owner; // true
|
|
1417
|
+
```
|
|
1418
|
+
|
|
1419
|
+
### `readonly domNode`
|
|
1420
|
+
|
|
1421
|
+
The underlying SVG path element corresponding to the strung triangle element.
|
|
1422
|
+
|
|
1423
|
+
```javascript
|
|
1424
|
+
var triangle = Triangle.create();
|
|
1425
|
+
|
|
1426
|
+
var owner = someBond;
|
|
1427
|
+
|
|
1428
|
+
var strungTriangle = new StrungTriangle(triangle, owner);
|
|
1429
|
+
|
|
1430
|
+
strungTriangle.domNode === triangle.domNode; // true
|
|
1431
|
+
```
|
|
1432
|
+
|
|
1433
|
+
### `owner`
|
|
1434
|
+
|
|
1435
|
+
The owner of the strung triangle element.
|
|
1436
|
+
|
|
1437
|
+
```javascript
|
|
1438
|
+
var owner = someBond;
|
|
1439
|
+
|
|
1440
|
+
var strungTriangle = StrungTriangle.on(owner);
|
|
1441
|
+
|
|
1442
|
+
strungTriangle.owner === owner; // true
|
|
1443
|
+
```
|
|
1444
|
+
|
|
1445
|
+
### `width`
|
|
1446
|
+
|
|
1447
|
+
The width of the wrapped triangle element.
|
|
1448
|
+
|
|
1449
|
+
```javascript
|
|
1450
|
+
var owner = someBond;
|
|
1451
|
+
|
|
1452
|
+
var strungTriangle = StrungTriangle.on(owner);
|
|
1453
|
+
|
|
1454
|
+
strungTriangle.width = 12.4;
|
|
1455
|
+
|
|
1456
|
+
strungTriangle.width; // 12.4
|
|
1457
|
+
```
|
|
1458
|
+
|
|
1459
|
+
### `height`
|
|
1460
|
+
|
|
1461
|
+
The height of the wrapped triangle element.
|
|
1462
|
+
|
|
1463
|
+
```javascript
|
|
1464
|
+
var owner = someBond;
|
|
1465
|
+
|
|
1466
|
+
var strungTriangle = StrungTriangle.on(owner);
|
|
1467
|
+
|
|
1468
|
+
strungTriangle.height = 18.7;
|
|
1469
|
+
|
|
1470
|
+
strungTriangle.height; // 18.7
|
|
1471
|
+
```
|
|
1472
|
+
|
|
1473
|
+
### `tailsHeight`
|
|
1474
|
+
|
|
1475
|
+
Controls the tails height of the wrapped triangle element.
|
|
1476
|
+
|
|
1477
|
+
```javascript
|
|
1478
|
+
var owner = someBond;
|
|
1479
|
+
|
|
1480
|
+
var strungTriangle = StrungTriangle.on(owner);
|
|
1481
|
+
|
|
1482
|
+
strungTriangle.tailsHeight = 7.5;
|
|
1483
|
+
|
|
1484
|
+
strungTriangle.tailsHeight; // 7.5
|
|
1485
|
+
```
|
|
1486
|
+
|
|
1487
|
+
### `save()`
|
|
1488
|
+
|
|
1489
|
+
Returns the serialized form of the strung triangle element,
|
|
1490
|
+
which is a JSON-serializable object.
|
|
1491
|
+
|
|
1492
|
+
```javascript
|
|
1493
|
+
var owner = someBond;
|
|
1494
|
+
|
|
1495
|
+
var strungTriangle = StrungTriangle.on(owner);
|
|
1496
|
+
|
|
1497
|
+
var savedStrungTriangle = strungTriangle.save();
|
|
1498
|
+
|
|
1499
|
+
savedStrungTriangle.triangle.id; // has a UUID
|
|
1500
|
+
savedStrungTriangle.ownerID; // the owner bond ID
|
|
1501
|
+
```
|
|
1502
|
+
|
|
1503
|
+
### `static recreate()`
|
|
1504
|
+
|
|
1505
|
+
Recreates a saved strung triangle element given the parent drawing that its DOM node is in.
|
|
1506
|
+
|
|
1507
|
+
```javascript
|
|
1508
|
+
var owner = someBond;
|
|
1509
|
+
|
|
1510
|
+
var strungTriangle1 = StrungTriangle.on(owner);
|
|
1511
|
+
|
|
1512
|
+
parentDrawing.domNode.append(strungTriangle1.domNode);
|
|
1513
|
+
|
|
1514
|
+
var savedStrungTriangle = strungTriangle1.save();
|
|
1515
|
+
|
|
1516
|
+
var strungTriangle2 = StrungTriangle.recreate(savedStrungTriangle, parentDrawing);
|
|
1517
|
+
|
|
1518
|
+
strungTriangle2.domNode === strungTriangle1.domNode; // true
|
|
1519
|
+
|
|
1520
|
+
strungTriangle2.owner === owner; // true
|
|
1521
|
+
|
|
1522
|
+
strungTriangle2 === strungTriangle1; // false
|
|
1523
|
+
```
|