объекты jsTree, JSON и MVC3. Как структурировать данные - PullRequest
0 голосов
/ 05 марта 2012

Я немного поиграл с JsTree и MVC3. Я могу успешно вызывать методы MVC3 и возвращать JSON для загрузки базового JsTree, чтобы я мог выполнять самые базовые задачи. Чего я не понимаю, так это более сложной структуры данных, которая используется в основном для ожидания дополнительных данных, которые мне нужны на узлах, а также для того, чтобы дерево действовало на некоторые из этих данных.

Мои данные NodeText (строка) - текст для отображения

ItemStatus (enum) - используется для установки цветов и т. Д. На дереве

ItemType (enum) - управляет тем, что можно перетаскивать и на что

RelatedIDs (List ID - это структура, описанная ниже) - используется при отбрасывании элемента

PrimaryItemID (идентификатор и структура) - используется для идентификации меню правой кнопкой мыши и идентификации элемента БД, а также для применения информации для связанных идентификаторов из удаленного элемента.

SecondaryItemID (идентификатор и структура) - используется для идентификации меню правой кнопкой мыши и идентификации элемента БД, а также для применения информации для связанных идентификаторов из удаленного элемента.

ID struct is
ID (long) 
IDType (enum)

Из моего прочтения я понимаю, что макет данных JSON мог измениться, так же как появились атрибутные данные и метаданные, но я не очень четко понимаю, куда и куда должен идти объект модели MVC3, который я должен создать для сериализации этих данных в JSON. дерево может понять. Я действительно хочу с первого раза правильно настроить базовую структуру данных, поэтому мне не нужно переписывать кучу кода.

Если я оставил необходимую информацию, дайте мне знать.

Ответы [ 2 ]

1 голос
/ 06 марта 2012

Это модель данных, которую я использовал для JSTree. Вы должны будете поместить это в json форму.

node.data.attr.href          <a> tag within <li> href
              .other-a-attr  any other attribute you want on the <a>
         .title              visible title of node  
         .icon               optional image_file for icon
    .state                   controls icon, "open", "closed" or "" = default
    .arrt.id                 node id on the <li>
         .nType              type_attr for UI and types plug ins - MUST SET using type_attr in Types plugin default is ref
         .title              node title (not visible)
         .other-li-attr      any other attritubes you want on the <li> 

Я должен согласиться, что у JSTree очень крутая кривая обучения, и нам, новичкам, совсем непросто получить это из документации.

Я до сих пор не уверен, для чего предназначен node.arrt.title. Это не заголовок, который вы видите на дереве. node.data.title - это тот, который отображается в дереве.

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

1 голос
/ 05 марта 2012

Неважно, какой язык вы используете для бэкэнда. В вашем ответе JSON должен выглядеть определенным образом. Основной приемлемый JSON-формат JSON:

[
   {
      "data" : {
         "icon" : "/path/to/icon.png",
         "title" : "name of the node"
      },
      "attr" : {
         "rel" : "type defined by types",
         "title" : "node title",
         "id" : "Node id"
      },
      "state" : "closed"
   }
]

Очевидно, это всего лишь пример, с которым вы можете поиграть. Естественно, вы можете поместить null в иконку или полностью сбросить ее. rel должен быть определен плагином types, но также является необязательным, так же как и заголовок.

...