Изменить шаблон генерируемого ember-flexberry приложения
KollegOFF opened this issue · 1 comments
Изначальной задачей было введение какого то разделения, для растущего числа различных миксинов и компонентов, на актуальные, и нет.
Хочу ввести что-то типа «пространства имен», для классов и объектов, из аддонов ember-flexberry...
, в генерируемом приложении.
Для контроллеров, роутов, адаптеров, сериалайзеров, моделей, и может чего-то ещё, генерировать в приложении в директорию flexberry
, класс, который будут расширять классы приложения.
Это позволит однообразно вносить доработки, необходимые для всего приложения.
Например, для контроллера это должно получиться примерно так:
// app/controllers/flexberry/edit-form.js
import EditFormController from 'ember-flexberry/controllers/edit-form';
export default EditFormController.extend({
});
// app/controllers/application-user-e.js
import EditFormController from './flexberry/edit-form';
export default EditFormController.extend({
});
Вместе с этим, думаю стоит, избавиться от реэкспорта из аддонов в приложение абсолютно всего, и делать это только для того что необходимо, например компонентов и хелперов.
Например, сейчас есть реэкспорт для контроллеров и роутов формы редактирования и списков, но предполагаю что они мало где используется, если используются вообще, в этом же шаблоне генерируемого приложения он не используется.
Есть проблема с компонентами, по правилам именования, имя компонента должно содержать минус, при этом директория, в которой находится компонент, не учитывается.
Получается что нельзя создать компонент с именем {{flexberry/file}}
, а в имени {{flexberry/flexberry-file}}
слишком много flexberry
.
В текущей версии ember-cli
, используемой в аддонах ember-flexberry...
, это правило не валидируется в полном объеме, и можно создать компонент с именем {{flexb-berry/file}}
или {{flexberry/-file}}
, но не думаю что этим хаком стоит пользоваться.
По поводу именования компонентов, можно заменить flexberry в имени компонента на что то семантическое, пример {{flexberry/field-file}}, {{flexberry/input-field}}