Угловой гридстер: виджет изменения размера

0

Привет, есть способ, когда я могу изменить размер виджета, используя угловую сетку. Я знаю, что gridster (не угловая версия) имеет функцию для него следующим образом:

gridster.resize_widget(widget,6,6)

Я не знаю, как это сделать, используя угловую сетку

Теги:
drag-and-drop
draggable
gridster

2 ответа

0

Это зависит от того, что вы пытаетесь сделать. Если вы просто хотите, чтобы они начинались с определенного размера, вам нужно изменить gridsterOpts. Если вы хотите изменить размер вручную с помощью мыши, вам нужно убедиться, что в поле gridsterOpts re sizable свойство "enabled" установлено в true. Если вы используете функцию, которая автоматически изменяет размер виджета, то это еще одна ситуация.

В основном размер виджета определяется сетчаткой, просматривая свойства виджета sizeX и sizeY, которые всегда сохраняются внутри объекта виджета. Всякий раз, когда вы вручную изменяете размер виджета, автоматически изменяются свойства sizeX и sizeY этого виджета. Виджет может начинаться с sizeX = 2 и sizeY = 3, но как только вы измените его размер, чтобы сделать его больше, эти два свойства изменяются.

Способ, которым угловой знает, как отображать эти виджеты (размер, положение и т.д.), - это цикл через массив, содержащий объекты виджетов, и считывание всех их свойств. Если вы хотите сбросить размер виджета внутри функции, вам нужно будет определить, какой виджет вы хотите изменить, а затем сбросить его свойства sizeX и sizeY. Как только вы это сделаете, изменения должны быть распознаны и виджет должен измениться.

0

Я думаю, у вас есть контроллер, где вы объявили свои виджеты. Правильно?

Вам не нужен какой-либо метод. Угловая ручка для вас. Если вы измените некоторые из ваших виджетов внутри вашего углового контроллера $ scope.your_widgets - все ваши изменения будут также в шаблоне.

//so your widgets probably looks like this in your controller.

$scope.standardItems = [
  { sizeX: 2, sizeY: 1, row: 0, col: 0 },
  { sizeX: 2, sizeY: 2, row: 0, col: 2 },
  { sizeX: 1, sizeY: 1, row: 0, col: 4 },
  { sizeX: 1, sizeY: 1, row: 0, col: 5 },
  { sizeX: 2, sizeY: 1, row: 1, col: 0 },
  { sizeX: 1, sizeY: 1, row: 1, col: 4 },
  { sizeX: 1, sizeY: 2, row: 1, col: 5 },
  { sizeX: 1, sizeY: 1, row: 2, col: 0 },
  { sizeX: 2, sizeY: 1, row: 2, col: 1 },
  { sizeX: 1, sizeY: 1, row: 2, col: 3 },
  { sizeX: 1, sizeY: 1, row: 2, col: 4 }
];

//and where ever you want (in controller I mean) - you can do like this:

$scope.standardItemems[3].sizeX = 6;
$scope.standardItemems[3].sizeY = 6;
<div gridster>
    <ul>
        <li gridster-item="item" ng-repeat="item in standardItems"></li>
    </ul>
</div>

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню