Представлена основная информация о структуре контроллеров в ember-flexberry-приложениях.

Описание

Контроллеры в 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
      }]
    }]
  }
});