Bonita 7: Тип свойств пользовательского виджета для поддержки данных JSON

Я пытаюсь создать новый пользовательский виджет в Bonita 7, и мне нужно свойство, которое может принимать данные JSON (не простой массив коллекция) т. е. я хочу назначить ниже данные

[
        {
        'header1': 'data1-1',
        'header2': 'data1-2',
        'header3': 'data1-3'
        },
        {
        'header1': 'data2-1',
        'header2': 'data2-2',
        'header3': 'data2-3'
        }
    ]

Я попробовал все доступные типы свойств (текст, выбор, HTML, целое число, логическое значение, свойство коллекции) и, похоже, ничего не работает. Может ли кто-нибудь помочь мне достичь этого.

Я пытаюсь создать собственный виджет Smart-Table (https://github.com/lorenzofox3/Smart-Table) и я хочу, чтобы данные таблицы (строки) заполнялись с использованием переменной типа JSON.

Есть ли другой способ добиться этого.

Спасибо вам большое за ваше время


person Chakra    schedule 31.08.2015    source источник


Ответы (1)


Мне очень жаль, но тип свойств коллекции действительно работает

Вот что я сделал:

  1. В РЕДАКТОРЕ ПОЛЬЗОВАТЕЛЬСКИХ ВИДЖЕТОВ

1A) создал новое свойство:

name : tableDataCollection
Label: TABLE_DATA
Type: collection  (text type also works)
Default value:    (trying to assign JSON data here didn't work for me)

1B) В поле Controller используйте свойство tableDataCollection, определенное на шаге 1A:

 $scope.data =  $scope.properties.tableDataCollection; (inside  function ($scope) {})

1C) В поле Шаблон используйте переменную data, определенную на шаге 1B:

 example :  <tr ng-repeat="row in data">

2) В РЕДАКТОРЕ СТРАНИЦЫ (РЕДАКТОР ФОРМ), если вы используете пользовательский виджет, созданный на шаге 1, справа вы увидите новые поля, связанные с вашим настраиваемым виджетом. В моем случае это TABLE_DATA.

2A) Теперь создайте новую переменную формы типа JSON.

пример: data2Var =

 [{
            "header1": "data1-1",
            "header2": "data1-2",
            "header3": "data1-3"
            },
            {
            "header1": "data2-1",
            "header2": "data2-2",
            "header3": "data2-3"
}]

2B) Теперь назначьте переменную, созданную на шаге 2A, вашему пользовательскому полю виджета. в моем случае я присвоил data2Var TABLE_DATA

person Chakra    schedule 01.09.2015
comment
не могли бы вы добавить подробности о том, как вы это сделали? - person ttoine; 01.09.2015
comment
@ttoine: я отредактировал свой ответ. Пожалуйста, дайте мне знать, если что-то неясно - person Chakra; 02.09.2015