Как сделать, чтобы обертки виджетов включали классы начальной загрузки

У меня есть требование, когда пользователь может добавить один тип widget в area который должен макет в виде сетки. Сам виджет содержит значение, которое определяет его ширину с помощью bootstrap классы. Вот определение виджета

// lib/modules/grid-item-widget/index.js

module.exports={
  extend: 'apostrophe-widgets',
  label: 'Grid Item',

  addFields: [
    {
      name: 'grid',
      type: 'select',
      choices:[
        {label:'10%',value:'col-md-2'}
        ,{label:'30%',value:'col-md-3'}
        ,{label:'50%',value:'col-md-6'}
        ,{label:'70%',value:'col-md-8'}
        ,{label:'100%',value:'col-md-12'}
      ]
    },
    {
      name: 'image',
      type: 'singleton',
      label: 'Presentation Image',
      widgetType: 'apostrophe-images',
      options: {
        limit: 1
      }
    }
  ]
};

и это HTML

//lib/modules/grid-item-widget/views/widget.html

<div class="col-xs-12 col-md-{{ data.widget.grid }}">
  {{
      apos.singleton(data.widget,'image','apostrophe-images',{edit:false})
  }}
</div>

Проблема в том, что существует много разметки, которая содержит элементы apos-ui как часть элемента области. И я хочу сделать эти столбцы частью разметки упаковщиков областей, чтобы элементы могли плавно перемещаться на странице вместе с элементами управления apos-ui.

В настоящий момент происходит то, что пользовательский интерфейс не очень интуитивен, поскольку элементы управления apos-ui просто перекрывают друг друга.

1 ответ

Я бы порекомендовал взглянуть на расширение apostrophe-areas/views/widget.html на уровне вашего проекта. В этом шаблоне у вас должен быть доступ к data.widget.grid и тогда вы сможете изменить классы-обертки виджетов с ним.

Другие вопросы по тегам