Các thực thể khối có một số thuộc tính định cấu hình cách chúng hoạt động đối với người dùng. Mặc dù có thể đặt các thuộc tính này trong định nghĩa khối, nhưng chúng thường được dùng để hạn chế các khối trong không gian làm việc nhằm phản ánh một số thuộc tính nhất định của miền (ví dụ: có chính xác một sự kiện "bắt đầu") hoặc tập trung nỗ lực của người dùng (ví dụ: một hướng dẫn).
Trạng thái có thể xoá
block.setDeletable(false);
Khi bạn đặt thành false
, người dùng sẽ không thể xoá khối này. Các khối mặc định có thể xoá trên một không gian làm việc có thể chỉnh sửa.
Bạn có thể xoá mọi khối (kể cả những khối không thể xoá) theo phương thức lập trình:
block.dispose();
Trạng thái có thể chỉnh sửa
block.setEditable(false);
Khi được đặt thành false
, người dùng sẽ không thể thay đổi các trường của khối (ví dụ: trình đơn thả xuống và dữ liệu đầu vào văn bản). Theo mặc định, các khối có thể chỉnh sửa trên một không gian làm việc có thể chỉnh sửa.
Trạng thái có thể di chuyển
block.setMovable(false);
Khi được đặt thành false
, người dùng sẽ không thể di chuyển khối trực tiếp. Một khối không di chuyển được là khối con của một khối khác có thể không bị ngắt kết nối khỏi khối đó, mặc dù khối đó sẽ di chuyển cùng với khối mẹ nếu khối mẹ được di chuyển. Các khối mặc định có thể di chuyển trên một không gian làm việc có thể chỉnh sửa.
Mọi khối (kể cả khối không di chuyển được) đều có thể được di chuyển theo chương trình sau khi nằm trên một không gian làm việc.
block.moveBy(dx, dy)
Vị trí bắt đầu của một khối trên không gian làm việc mặc định là (0, 0)
.
Dữ liệu khối
block.data = '16dcb3a4-bd39-11e4-8dfc-aa07a5b093db';
Dữ liệu là một chuỗi tuỳ ý và không bắt buộc được đính kèm vào khối. Khi khối được chuyển đổi tuần tự, chuỗi dữ liệu sẽ được chuyển đổi tuần tự cùng với khối. Điều này áp dụng cả khi khối được sao chép hoặc sao chép/dán.
Thường thì bạn sẽ dùng cách này để liên kết một khối với một tài nguyên bên ngoài.
Khi được chuyển đổi tuần tự thành JSON, dữ liệu sẽ được lưu trữ dưới dạng một thuộc tính cấp cao nhất trong khối:
{
"type": "my_block",
"data": "16dcb3a4-bd39-11e4-8dfc-aa07a5b093db",
// etc..
}
Khi được chuyển đổi tuần tự thành XML (hệ thống chuyển đổi tuần tự cũ), chuỗi dữ liệu sẽ được lưu trữ trong thẻ <data></data>
trong khối:
<block type="my_block">
<data>16dcb3a4-bd39-11e4-8dfc-aa07a5b093db</data>
<!-- etc... -->
</block>