Продолжаю тренировки.
Есть некая спецификация 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;
}
Можно ли это как-нибудь все красивше? Кроме просто отображения объекта в списке мне нужно объект еще и показать в форме, а потом из формы обратно собрать объект и отправить его на сервер.
Здравствуйте, baranovda, Вы писали:
в файле +plus.tis строка 21 поменяй это
const reIsExpression=/ *[-()+*&:?|=!^"']+ */;
на это
const reIsExpression=/ *[-()+*&:?|=!^"'\[\]]+ */;
и будет тебе хорошо.
Здравствуйте, flаt, Вы писали:
F>Все эти вещи — это же не чёрный ящик, можно посмотреть исходники. Правда, время тратится, но тут уж сам решаешь, что лучше — спросить или разобраться.
Исходники на динамических языках порою ближе к ассемблеру, так что проще спросить
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, flаt, Вы писали:
F>>Все эти вещи — это же не чёрный ящик, можно посмотреть исходники. Правда, время тратится, но тут уж сам решаешь, что лучше — спросить или разобраться.
B>Исходники на динамических языках порою ближе к ассемблеру, так что проще спросить
Т.е. это
http://rsdn.ru/forum/cpp/5980953.1Автор: Кодт
Дата: 13.03.15
,скажем, вопросов не вызывает как я понимаю, а тот скрипт прямо rocket science ...
Я в принципе согласен что +plus.tis несколько загадочен, но поверь что то же самое написанное на С++ тебя бы не обрадовало вообще.
Здравствуйте, c-smile, Вы писали:
B>>Исходники на динамических языках порою ближе к ассемблеру, так что проще спросить
CS>Я в принципе согласен что +plus.tis несколько загадочен, но поверь что то же самое написанное на С++ тебя бы не обрадовало вообще.
а С++ разве не мутировавший препроцессор к ассемблеру?
Здравствуйте, c-smile, Вы писали:
CS>Я в принципе согласен что +plus.tis несколько загадочен, но поверь что то же самое написанное на С++ тебя бы не обрадовало вообще.
Я толерантен. Не могу сказать, что не знаю С++, но когда вижу такие конструкции, то готов признать право автора на самовыражение