Адски сложная модель и plus
От: baranovda Российская Империя  
Дата: 26.03.15 23:00
Оценка:
Продолжаю тренировки.
Есть некая спецификация FHIR (http://hl7.org/fhir), согласно которой нужно производить на свет такие какбе описания больных человеков — http://www.hl7.org/implement/standards/fhir/patient-example.json.html.
JSON-ы эта спецификация рожает развесистые и изобилующие вложенными массивами.

Пытаюсь выполнить байндинг как-то так:

<html>
<head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  <style>
    @import url(plus.css);
  </style>
  <script type="text/tiscript">
  include "plus.tis";
  
  var Model = {
      patients: [
          {
            "resourceType":"Patient",
            "identifier":[{
                    "system":"bfe98cd1-a6e3-44f2-8516-ca538ab1ed65",
                    "value":""
                }],
            "name":[{
                    "family":["Smith"],
                    "given":["Bob"],
                    "suffix":[""]
                }],
            "gender":"male",
            "birthDate":"19700001"
        },
        {
            "resourceType":"Patient",
            "identifier":[{
                    "system":"c94768c5-035e-4b5c-bade-f9c517bd1a8f",
                    "value":""
                }],
            "name":[{
                    "family":["Doe"],
                    "given":["John"],
                    "suffix":[""]
                }],
            "gender":"male",
            "birthDate":"19600001"
        }
      ]
  };
  </script>
</head>
<body model="Model">
<table border="1">
  <thead>
    <tr>
      <th>Id</th>
      <th>Family</th>
    </tr>
  </thead>
  <tbody each="patient in patients">
    <tr class="DataGridRow">
      <td><output name="patient.identifier[0].system" /></td>
      <td><output name="patient.name[0].family[0]" /></td>
    </tr>
  </tbody>
</table>
</body>
</html>


Видно, что +plus прилежно генерирует в таблице две строчки, но с форматированием вложенных свойств не справляется.
Что с этим можно сделать?

* * *

В голову пока приходит только такой способ уплощения модели

// После получения массива данных
for (var p in Model.patients) {
      p.family = p.name[0].family[0]; 
      p.given  = p.name[0].given[0];
      p.suffix = p.name[0].suffix[0];
      p.id     = p.identifier[0].system;
}


Можно ли это как-нибудь все красивше? Кроме просто отображения объекта в списке мне нужно объект еще и показать в форме, а потом из формы обратно собрать объект и отправить его на сервер.
Отредактировано 26.03.2015 23:14 α . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.