Описание
Контроллеры в Ember-приложениях являются наследниками базового класса Ember.Controller.
В технологии реализованы базовые контроллеры для:
О типичном для технологии расположении контроллеров см. эту статью.
Контроллеры для списковых форм
Контроллер для списковой формы будет примерно следующий. Он наследуется от определённого в технологии контроллера list-form
.
import ListFormController from 'ember-flexberry/controllers/list-form';
var EmployeesController = ListFormController; // Можно определять в отдельную переменную.
export default EmployeesController;
Контроллеры для форм редактирования и создания
Контроллер для формы редактирования будет примерно следующий. Он наследуется от определённого в технологии контроллера edit-form
.
import EditFormController from 'ember-flexberry/controllers/edit-form';
export default EditFormController; // Можно не определять в отдельную переменную.
Отдельный базовый контроллер для формы создания не реализован. В общем случае в контроллере формы создания переопределяют контроллер формы редактирования:
import EmployeeController from '../employee';
var EmployeeNewController = EmployeeController;
export default EmployeeNewController;
Контроллер приложения
Контроллер приложения расположен в файле application.js
в папке components
.
В данном контроллере возможно задать меню сайта (см. пример ниже), настроить обработку общих для всех форм параметров (например, для того, чтобы скрыть меню на формах по параметру).
import Ember from 'ember';
export default Ember.Controller.extend({
sitemap: {
nodes: [{
link: 'index',
title: 'Home',
children: null
}, {
link: null,
title: 'Objects',
children: [{
link: 'employees',
title: 'Employees',
children: null
}, {
link: 'orders',
title: 'Orders',
children: null
}]
}]
}
});