Как импортировать плагин класса в Ext JS? - PullRequest
0 голосов
/ 10 февраля 2011

Если я разрабатываю класс плагина exts для использования в сетке. Допустим, имя класса плагина - GridFilters.js, а внутри класса плагина имеем: Ext.namespace("Ext.ux.grid") В моем классе SomeGrid.ui.js я делаю:

SomeGridUi = Ext.extend(Ext.grid.GridPanel, {
  title: '',
  frame: true,
  loadMask: true,
  cls: 'vline-on',
  flex :1,
  plugins : new Ext.ux.grid.GridFilters({filters:[
    {type: 'string',  dataIndex: 'someIndex'}
  ]}),

Там написано:

Message: 'Ext.ux.grid.GridFilters' is null or not an object

Я понимаю, что нужно что-то импортировать ... но точно не знаю, как именно.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2011

Да, вам нужно добавить HTML, чтобы загрузить GridFilters.js файл до SomeGrid.ui.js.

И ваш плагин, конечно, должен быть добавлен в пространство имен

Ext.ux.grid.GridFilters = ....
0 голосов
/ 10 февраля 2011

Добавление тега <script> для плагина в HTML - как Mchl sayd - является самым простым решением.

Однако, когда вы разрабатываете что-то немного больше, я настоятельно рекомендую взглянуть на какое-то решение с динамической загрузкой:

RequireJS , вероятно, наиболее близок к стандарту в этом отношении. Используется многими-многими проектами.

Специально для ExtJS есть уже упомянутый Ext.Loader , но это, вероятно, слишком упрощенно, чтобы делать что-то серьезное. Самое главное, что он не включает в себя инструмент для сборки всего этого в один компактный файл JavaScript для развертывания.

И затем есть обещанное ExtJS 4 , которое должно прийти со всем этим встроенным. Но нужно все еще ждать его ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...