3.2.6. extControl#
Это внешний компонент, предназначенный для отображения данных выборки.
class Gs3_ExtControlExampleAbi extends ExtControlAbi {
}
class MyControl {
constructor(name) {
this.name = name;
this.isAttached = false;
}
init(controlContext) {
this.controlContext = controlContext;
this.unsubscribeNodeChanges = this.controlContext.extController.subscribeNodeChanges({
onSubscribe(rootNode) {},
beforeVisitModel() {},
beforeVisitNode(pNode) {},
beforeAddToParent(pNode, parentNode) {},
afterLoadNode(pNode) {},
afterVisitNode(pNode) {},
beforeCleanNode(pNode, parentNode) {},
afterVisitModel() {},
beforeConsignmentVersionChange() {},
afterConsignmentVersionChange() {}
});
}
destroy() {
this.unsubscribeNodeChanges();
this.controlContext = null;
}
attach(parent) {
this.controlParent = parent;
// Здесь создаём в `composerParent` необходимые HTML-элементы.
this.isAttached = true;
}
detach() {
this.isAttached = false;
while (this.controlParent.lastChild) this.controlParent.removeChild(this.controlParent.lastChild);
this.controlParent = null;
}
}
1 <representation name="ExtControl" editMode="edit">
2 <layout>
3 <simpleComposer>
4 <frame filter.isVisible="false">
5 <extControl name="gs3/ExtControlExample"
6 backendClass="ru.bitec.app.gs3.test.extctrl.Gs3_ExtControlExampleAbi"
7 frontendUri="ru/bitec/app/gs3/test/extctrl/web/main.js"/>
8 </frame>
9 </simpleComposer>
10 </layout>
11 </representation>
See also
Метаданные
ExtControl
Core-интерфейс
CoreExtControl
JS-api
ExtControl