diff --git a/docs/content/en/api/binders/progress.md b/docs/content/en/api/binders/progress.md
index bd3c0c52..276f739b 100644
--- a/docs/content/en/api/binders/progress.md
+++ b/docs/content/en/api/binders/progress.md
@@ -28,5 +28,5 @@ Returns a binder which binds an object property to a ``progress`` element value.
## Examples
```js
-this.bindNode('myKey', '.my-progres', Matreshka.binders.progress());
+this.bindNode('myKey', '.my-progress', Matreshka.binders.progress());
```
diff --git a/docs/content/en/api/binders/style.md b/docs/content/en/api/binders/style.md
index f965ecc0..8a86ef39 100644
--- a/docs/content/en/api/binders/style.md
+++ b/docs/content/en/api/binders/style.md
@@ -37,9 +37,9 @@ The property value can be transformed using ``mappingFn`` argument.
## Examples
```js
-this.bindNode('myKey', '.my-progres',
- Matreshka.binders.style('backgroundColor'));
-this.myKey = 'red'; // background-color of .my-progress is red now
+this.bindNode('myKey', '.my-element',
+ Matreshka.binders.style('backgroundColor'));
+this.myKey = 'red'; // background-color of .my-element is red now
```
**The usage of mapping function**
diff --git a/docs/content/en/api/matreshka-array/item-renderer.md b/docs/content/en/api/matreshka-array/item-renderer.md
index 828181fa..2c8d0958 100644
--- a/docs/content/en/api/matreshka-array/item-renderer.md
+++ b/docs/content/en/api/matreshka-array/item-renderer.md
@@ -277,7 +277,7 @@ But sometimes you just need to move an object across few collections without re-
```js
this.push_(item, {
moveSandbox: true
-})
+});
```
#### ``itemRenderer`` reassigning
diff --git a/docs/content/en/api/matreshka-array/method.md b/docs/content/en/api/matreshka-array/method.md
index f91b7dd8..9c742a10 100644
--- a/docs/content/en/api/matreshka-array/method.md
+++ b/docs/content/en/api/matreshka-array/method.md
@@ -49,7 +49,7 @@ Yet they work the same as the ``Array.prototype``. There are only a few remarks:
- The methods which should return a new array (``splice``, ``slice``, ``filter``, ``map``...) return a new ``Matreshka.Array`` instance.
- The ``keys``, ``values`` and ``entries`` methods return an array instead of an iterator.
- ``fill`` reports the replaced items as ``removed`` in the ``remove`` and ``modify`` events, and ``added`` holds one item per filled index.
-- ``fill`` and ``copyWithin`` throw an error on a rendered array (one that has a ``container`` or a ``sandbox``).
+- ``fill`` and ``copyWithin`` throw an error on a rendered array (one that has a ``container`` or a ``sandbox``) and leave it unchanged.
Moreover, the methods generate events which are fired on any array modification. For more detailed information look at [`Matreshka.Array`](/api/matreshka-array/).
diff --git a/docs/content/en/api/matreshka-array/on-item-render.md b/docs/content/en/api/matreshka-array/on-item-render.md
index bfbc3aac..efd7354f 100644
--- a/docs/content/en/api/matreshka-array/on-item-render.md
+++ b/docs/content/en/api/matreshka-array/on-item-render.md
@@ -23,7 +23,7 @@ At the same time ``onRender`` method is called in a rendered item with the only
| Name | Type | Details |
| --- | --- | --- |
-| `item` | [`object`](/api/types/object/) | A rendered node of a collection |
+| `item` | [`object`](/api/types/object/) | A rendered item of a collection |
| `renderEvent` | [`object`](/api/types/object/) | ``"render"`` event object |
## Examples
@@ -44,7 +44,10 @@ class MyArray extends Matreshka.Array {
return MyModel;
}
itemRenderer() {
- return '
'
+ return ``;
}
constructor() {
super().bindNode('sandbox', '.my-form');
diff --git a/docs/content/en/api/matreshka-array/restore.md b/docs/content/en/api/matreshka-array/restore.md
index 558543e2..34a403aa 100644
--- a/docs/content/en/api/matreshka-array/restore.md
+++ b/docs/content/en/api/matreshka-array/restore.md
@@ -41,6 +41,9 @@ class MyModel extends Matreshka.Object {
}
class MyCollection extends Matreshka.Array {
+ get Model() {
+ return MyModel;
+ }
get itemRenderer() {
return ':sandbox .renderer';
}
diff --git a/docs/content/en/api/matreshka-array/to-json.md b/docs/content/en/api/matreshka-array/to-json.md
index 7eba6e36..01002c34 100644
--- a/docs/content/en/api/matreshka-array/to-json.md
+++ b/docs/content/en/api/matreshka-array/to-json.md
@@ -28,7 +28,7 @@ The method works recursively, calling ``toJSON`` for all items which have such m
## Examples
```js
-const matreshkaArray = new Matreshka.Array(1, 2, new MatreshkaArray(3, 4));
+const matreshkaArray = new Matreshka.Array(1, 2, new Matreshka.Array(3, 4));
// returns [1, 2, [3, 4]]
console.log(matreshkaArray.toJSON());
diff --git a/docs/content/en/api/matreshka-array/track-by.md b/docs/content/en/api/matreshka-array/track-by.md
index 27a9598d..6942015d 100644
--- a/docs/content/en/api/matreshka-array/track-by.md
+++ b/docs/content/en/api/matreshka-array/track-by.md
@@ -44,7 +44,7 @@ arr.recreate([
// the next recreate call
// removes an object with _id: 0
// adds an object with _id: 3
-// updates an object with _id: 3 (changes name from Bar to BarNew)
+// updates an object with _id: 1 (changes name from Bar to BarNew)
// updates an object with _id: 2 (changes name from Baz to BazNew)
// resorts collection
arr.recreate([
diff --git a/docs/content/en/api/matreshka-static/class.md b/docs/content/en/api/matreshka-static/class.md
index a157d694..a7686d55 100644
--- a/docs/content/en/api/matreshka-static/class.md
+++ b/docs/content/en/api/matreshka-static/class.md
@@ -60,7 +60,7 @@ const C = Matreshka.Class({
const D = Matreshka.Class({
// D is inherited from C
extends: C,
- method3() {
+ method3(a, b) {
// calling the parent method
C.prototype.method3.apply(this, arguments);
}
diff --git a/docs/content/en/api/matreshka/bind-node.md b/docs/content/en/api/matreshka/bind-node.md
index ba1ec664..5b5ba881 100644
--- a/docs/content/en/api/matreshka/bind-node.md
+++ b/docs/content/en/api/matreshka/bind-node.md
@@ -120,7 +120,7 @@ const checkboxBinder = () => {
// to the beginning of the Matreshka.defaultBinders array
Matreshka.defaultBinders.unshift(node => {
// check if the element is a checkbox
- if(node.tagName == 'INPUT' && node.type == 'checkbox') {
+ if(node.tagName === 'INPUT' && node.type === 'checkbox') {
// if checking is OK, return a new binder
return checkboxBinder();
}
diff --git a/docs/content/en/api/matreshka/instantiate.md b/docs/content/en/api/matreshka/instantiate.md
index e8ab3cef..fd73ec91 100644
--- a/docs/content/en/api/matreshka/instantiate.md
+++ b/docs/content/en/api/matreshka/instantiate.md
@@ -123,7 +123,7 @@ class AppData extends Matreshka.Object {
super(data)
.instantiate({
friends: Friends,
- settins: Settings
+ settings: Settings
});
}
}
diff --git a/docs/content/en/api/matreshka/trigger.md b/docs/content/en/api/matreshka/trigger.md
index a630e5f9..0b3b0103 100644
--- a/docs/content/en/api/matreshka/trigger.md
+++ b/docs/content/en/api/matreshka/trigger.md
@@ -10,7 +10,7 @@ importance: 1
**Method**
```js
-Matreshka#trigger(names, [arg]) → matreshka
+Matreshka#trigger(names, [arg]) → object
```
Fires an event
@@ -19,7 +19,7 @@ After adding event handlers using [`Matreshka#on`](/api/matreshka/on/), [`Matres
> Note that the method has [static alternative](/api/matreshka-static/trigger/)
-**Returns:** [`matreshka`](/api/types/matreshka/) – self
+**Returns:** [`object`](/api/types/object/) – self
## Arguments
diff --git a/docs/content/en/api/router.md b/docs/content/en/api/router.md
index adb4e404..e4a933cf 100644
--- a/docs/content/en/api/router.md
+++ b/docs/content/en/api/router.md
@@ -41,7 +41,7 @@ By changing these properties you can trigger needed procedures (update the path,
#### Methods
- ``subscribe(object, route)`` - subscribes object for route changes.
-- ``init()`` - used for lazy initialization in ``subscribe`` method (no need to call it manually).
+- ``init()`` - used for lazy initialization on first use of ``Matreshka.Router.hash`` or ``Matreshka.Router.history`` and in the ``subscribe`` method (no need to call it manually).
## Arguments
diff --git a/docs/content/en/api/types/matreshka.md b/docs/content/en/api/types/matreshka.md
index 4ab8c4ce..c2b078d8 100644
--- a/docs/content/en/api/types/matreshka.md
+++ b/docs/content/en/api/types/matreshka.md
@@ -15,5 +15,5 @@ importance: 2
```js
const matreshka = new Matreshka();
-obj.calc('a', 'b');
+matreshka.calc('a', 'b');
```
diff --git a/docs/content/en/faq.md b/docs/content/en/faq.md
index 6dffb45a..2850239d 100644
--- a/docs/content/en/faq.md
+++ b/docs/content/en/faq.md
@@ -72,13 +72,13 @@ class User extends Matreshka.Object {
// pseudo-sandbox creation for syntax sugar at selectors
// (not required)
nodeA: node,
- name: ':bound(nodeA) .name',
- email: ':bound(nodeA) .email',
+ name: { node: ':bound(nodeA) .name', binder: Matreshka.binders.text() },
+ email: { node: ':bound(nodeA) .email', binder: Matreshka.binders.text() },
});
} else if(parentArray instanceof UsersB) {
this.bindNode({
nodeB: node,
- name: ':bound(nodeB) .user-name',
+ name: { node: ':bound(nodeB) .user-name', binder: Matreshka.binders.text() },
});
}
}
diff --git a/docs/content/ru/api/binders/class-name.md b/docs/content/ru/api/binders/class-name.md
index 5ee7648f..5de40e84 100644
--- a/docs/content/ru/api/binders/class-name.md
+++ b/docs/content/ru/api/binders/class-name.md
@@ -36,18 +36,18 @@ Matreshka.binders.className(className, [bool=true]) → binder
```js
this.bindNode('myKey', '.my-element',
- Matreshka.binders.className('blah'));
+ Matreshka.binders.className('foo'));
-this.myKey = true; // добавляет класс 'blah'
+this.myKey = true; // добавляет класс 'foo'
-this.myKey = false; // убирает класс 'blah'
+this.myKey = false; // убирает класс 'foo'
```
```js
this.bindNode('myKey', '.my-element',
- Matreshka.binders.className('blah', false));
+ Matreshka.binders.className('foo', false));
-this.myKey = false; // добавляет класс 'blah'
+this.myKey = false; // добавляет класс 'foo'
-this.myKey = true; // убирает класс 'blah'
+this.myKey = true; // убирает класс 'foo'
```
diff --git a/docs/content/ru/api/matreshka-array.md b/docs/content/ru/api/matreshka-array.md
index 12a4938a..d27e7ccf 100644
--- a/docs/content/ru/api/matreshka-array.md
+++ b/docs/content/ru/api/matreshka-array.md
@@ -137,7 +137,7 @@ new Matreshka.Array(42);
**Передача элементов при создании**
```js
-new Matreshka.Array('Hi', { a: 'b' });
+new Matreshka.Array('Hi', {a: 'b'});
```
**Наследование**
diff --git a/docs/content/ru/api/matreshka-array/item-renderer.md b/docs/content/ru/api/matreshka-array/item-renderer.md
index 63f9f991..0d9dcbbc 100644
--- a/docs/content/ru/api/matreshka-array/item-renderer.md
+++ b/docs/content/ru/api/matreshka-array/item-renderer.md
@@ -32,9 +32,8 @@ class MyArray extends Matreshka.Array {
itemRenderer = '
';
get Model() { return MyModel; }
constructor() {
- super();
// определяем песочницу
- this.bindNode('sandbox', '.my-list');
+ super().bindNode('sandbox', '.my-list');
}
}
```
@@ -197,7 +196,7 @@ const app = new MyArray();
Не забывайте, что в Matreshka.js реализована возможность отлова делегированных событий. Т. е. сам массив может отловить событие рендеринга элемента, используя имя события ``*@render`` (см. документацию к [`eventNames`](/ru/api/types/event-names/)).
```js
this.on('*@render', () => {
- alert('Child element is rendered');
+ alert('Child item is rendered');
});
```
@@ -275,7 +274,7 @@ this.push_(item, {
#### Переопределение ``itemRenderer``
При переустановке свойства ``itemRenderer``, коллекция автоматически перерисовывается.
```js
-this.itemRenderer = '
';
+this.itemRenderer = '';
```
Эта возможность полезна в том случае, когда разработчик желает загрузить шаблон с сервера.
```js
diff --git a/docs/content/ru/api/matreshka-array/method.md b/docs/content/ru/api/matreshka-array/method.md
index e1f6b24a..f9f61306 100644
--- a/docs/content/ru/api/matreshka-array/method.md
+++ b/docs/content/ru/api/matreshka-array/method.md
@@ -49,7 +49,7 @@ Matreshka.Array#METHOD()
- Методы, которые в оригинальном виде возвращают новый массив (``splice``, ``slice``, ``filter``, ``map``...), возвращают новый экземпляр ``Matreshka.Array``.
- Методы ``keys``, ``values`` и ``entries`` возвращают массив вместо итератора.
- ``fill`` передаёт заменённые элементы как ``removed`` в события ``remove`` и ``modify``, а ``added`` содержит по одному элементу на каждый заполненный индекс.
-- ``fill`` и ``copyWithin`` бросают ошибку на отрендеренном массиве (у которого есть ``container`` или ``sandbox``).
+- ``fill`` и ``copyWithin`` бросают ошибку на отрендеренном массиве (у которого есть ``container`` или ``sandbox``) и не меняют его.
Кроме всего, методы генерируют события связанные с любой модификацией массива. Подробнее см. [`Matreshka.Array`](/ru/api/matreshka-array/).
diff --git a/docs/content/ru/api/matreshka-array/on-item-render.md b/docs/content/ru/api/matreshka-array/on-item-render.md
index e5a81fc7..19463a59 100644
--- a/docs/content/ru/api/matreshka-array/on-item-render.md
+++ b/docs/content/ru/api/matreshka-array/on-item-render.md
@@ -23,7 +23,7 @@ Matreshka.Array#onItemRender(item, renderEvent)
| Имя | Тип | Описание |
| --- | --- | --- |
-| `item` | [`object`](/ru/api/types/object/) | Отрисованный элемент коллекции |
+| `item` | [`object`](/ru/api/types/object/) | Отрисованный объект коллекции |
| `renderEvent` | [`object`](/ru/api/types/object/) | Объект события ``render`` |
## Примеры
@@ -44,7 +44,10 @@ class MyArray extends Matreshka.Array {
return MyModel;
}
itemRenderer() {
- return '
'
+ return ``;
}
constructor() {
super().bindNode('sandbox', '.my-form');
diff --git a/docs/content/ru/api/matreshka-array/restore.md b/docs/content/ru/api/matreshka-array/restore.md
index 59553e22..ec59f212 100644
--- a/docs/content/ru/api/matreshka-array/restore.md
+++ b/docs/content/ru/api/matreshka-array/restore.md
@@ -41,6 +41,9 @@ class MyModel extends Matreshka.Object {
}
class MyCollection extends Matreshka.Array {
+ get Model() {
+ return MyModel;
+ }
get itemRenderer() {
return ':sandbox .renderer';
}
diff --git a/docs/content/ru/api/matreshka-array/to-json.md b/docs/content/ru/api/matreshka-array/to-json.md
index f01f2de7..24d29396 100644
--- a/docs/content/ru/api/matreshka-array/to-json.md
+++ b/docs/content/ru/api/matreshka-array/to-json.md
@@ -28,7 +28,7 @@ Matreshka.Array#toJSON([recursive=true]) → array
## Примеры
```js
-const matreshkaArray = new Matreshka.Array(1, 2, new MatreshkaArray(3, 4));
+const matreshkaArray = new Matreshka.Array(1, 2, new Matreshka.Array(3, 4));
// возвращает [1, 2, [3, 4]]
console.log(matreshkaArray.toJSON());
diff --git a/docs/content/ru/api/matreshka-object.md b/docs/content/ru/api/matreshka-object.md
index eda2e164..4364cd95 100644
--- a/docs/content/ru/api/matreshka-object.md
+++ b/docs/content/ru/api/matreshka-object.md
@@ -49,7 +49,7 @@ this.toJSON();
При добавлении и изменении свойств, отвечающих за данные генерируется события ``set`` и ``modify``, при удалении - ``remove`` и ``modify``. Т. е. любые изменения данных можно слушать с помощью ``modify``.
```js
this.on('modify', () => {
- alert('Object is modified');
+ alert('an object is modified');
});
```
diff --git a/docs/content/ru/api/matreshka-object/each.md b/docs/content/ru/api/matreshka-object/each.md
index 6f2b0d6c..70653026 100644
--- a/docs/content/ru/api/matreshka-object/each.md
+++ b/docs/content/ru/api/matreshka-object/each.md
@@ -34,7 +34,7 @@ this
.addDataKeys('c')
.each((value, key) => {
console.log(key, value);
- });
+ }, this);
;
// >>> a 1, b 2, c undefined
```
diff --git a/docs/content/ru/api/matreshka-static/parse-bindings.md b/docs/content/ru/api/matreshka-static/parse-bindings.md
index 757f8a38..91cd8088 100644
--- a/docs/content/ru/api/matreshka-static/parse-bindings.md
+++ b/docs/content/ru/api/matreshka-static/parse-bindings.md
@@ -33,8 +33,8 @@ Matreshka.parseBindings() → $nodes
```js
const object = {};
-const $node = Matreshka.parseBindings(object, `