@@ -130,7 +130,13 @@ class ModelJSTagLib {
130
130
*/
131
131
void renderDataModelItem (JSModelRenderContext ctx ) {
132
132
Map mod = ctx. dataModel
133
- if (mod. computed) {
133
+ if (mod. dataType == ' date' ) {
134
+ dateViewModel(ctx)
135
+ }
136
+ else if (mod. dataType == ' time' ) {
137
+ timeViewModel(ctx)
138
+ }
139
+ else if (mod. computed) {
134
140
computedModel(ctx)
135
141
}
136
142
else if (mod. dataType == ' text' ) {
@@ -151,12 +157,6 @@ class ModelJSTagLib {
151
157
else if (mod. dataType == ' species' ) {
152
158
speciesModel(ctx)
153
159
}
154
- else if (mod. dataType == ' date' ) {
155
- dateViewModel(ctx)
156
- }
157
- else if (mod. dataType == ' time' ) {
158
- timeViewModel(ctx)
159
- }
160
160
else if (mod. dataType == ' document' ) {
161
161
documentViewModel(ctx)
162
162
}
@@ -624,7 +624,14 @@ class ModelJSTagLib {
624
624
}
625
625
626
626
def dateViewModel (JSModelRenderContext ctx ) {
627
- observable(ctx, [" {simpleDate: false}" ])
627
+ List extenders = [" {simpleDate: {includeTime:false}}" ]
628
+ if (ctx. dataModel. computed) {
629
+ extenders = [" {simpleDate: {includeTime:false, readOnly:true}}" ]
630
+ computedModel(ctx, extenders)
631
+ }
632
+ else {
633
+ observable(ctx, extenders)
634
+ }
628
635
}
629
636
630
637
def booleanViewModel (JSModelRenderContext ctx ) {
@@ -670,7 +677,7 @@ class ModelJSTagLib {
670
677
observable(ctx, [" {feature:config}" ])
671
678
}
672
679
673
- def computedModel (JSModelRenderContext ctx ) {
680
+ def computedModel (JSModelRenderContext ctx , List extenders = [] ) {
674
681
675
682
// TODO computed values within tables are rendered differently to values outside tables for historical reasons
676
683
// This should be tidied up.
@@ -681,10 +688,11 @@ class ModelJSTagLib {
681
688
computedValueRenderer. computedViewModel(ctx. out, ctx. attrs, ctx. dataModel, ctx. propertyPath, ctx. propertyPath)
682
689
}
683
690
684
- if (requiresMetadataExtender(ctx. dataModel)) {
685
- ctx. out << INDENT * 3 << " ${ ctx.propertyPath} .${ ctx.dataModel.name} = ${ ctx.propertyPath} .${ ctx.dataModel.name}${ extenderJS(ctx, [] )} ;\n "
691
+ if (extenders || requiresMetadataExtender(ctx. dataModel)) {
692
+ ctx. out << INDENT * 3 << " ${ ctx.propertyPath} .${ ctx.dataModel.name} = ${ ctx.propertyPath} .${ ctx.dataModel.name}${ extenderJS(ctx, extenders )} ;\n "
686
693
}
687
694
695
+
688
696
}
689
697
690
698
def audioModel (JSModelRenderContext ctx ) {
0 commit comments