formbuilder-lhcforms 6.5.1 → 6.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/bower.json +3 -2
- package/client/app/form-builder/form-builder.controller.js +32 -15
- package/client/app/form-builder/form-builder.html +8 -2
- package/client/app/form-builder/formbuilder.css +4 -0
- package/client/index.html.tpl +1 -0
- package/package.json +1 -1
- package/test/e2e/formbuilder/fixtures/54127-6-x.json +1973 -0
- package/test/e2e/formbuilder/formbuilder.spec.js +13 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
This project follows [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [6.5.2] 2021-10-05
|
|
6
|
+
### Fixed
|
|
7
|
+
- Fixed a bug that fails to load forms after loading a form with ValueSet
|
|
8
|
+
having no terminology server.
|
|
9
|
+
|
|
5
10
|
## [6.5.1] 2021-09-30
|
|
6
11
|
### Fixed
|
|
7
12
|
- Changed broken CTSS url.
|
package/bower.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "formbuilder-lhcforms",
|
|
3
|
-
"version": "6.5.
|
|
3
|
+
"version": "6.5.2",
|
|
4
4
|
"main": [
|
|
5
5
|
"client/app/app.js",
|
|
6
6
|
"client/app/config.js",
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
"ngSmoothScroll": "~2.0.0",
|
|
52
52
|
"traverse": "0.6.7",
|
|
53
53
|
"angular-spinner": "~0.8.0",
|
|
54
|
-
"fhir.js": "git://github.com/akanduru/fhir.js#ng-fhir"
|
|
54
|
+
"fhir.js": "git://github.com/akanduru/fhir.js#ng-fhir",
|
|
55
|
+
"fhirclient": "git://github.com/smart-on-fhir/client-js"
|
|
55
56
|
},
|
|
56
57
|
"overrides": {
|
|
57
58
|
"jquery-ui": {
|
|
@@ -197,23 +197,40 @@ angular.module('formBuilder')
|
|
|
197
197
|
* @param jsonInput
|
|
198
198
|
*/
|
|
199
199
|
function setPreviewData(jsonInput) {
|
|
200
|
-
$scope.
|
|
201
|
-
|
|
200
|
+
$scope.previewSourceErrors = {};
|
|
201
|
+
$scope.previewSource.lforms = toJsonFilter(jsonInput, ['_', '$']);
|
|
202
|
+
const previewSrcObj = JSON.parse($scope.previewSource.lforms);
|
|
203
|
+
LForms.Util.setFHIRContext(FHIR.client({serverUrl: $scope.getFhirServer().endpoint}));
|
|
202
204
|
$scope.formatList.slice(0, ($scope.formatList.length - 1)).forEach(function (ele) {
|
|
203
|
-
|
|
204
|
-
$scope.
|
|
205
|
+
$scope.previewSource[ele.format] = null;
|
|
206
|
+
$scope.previewSourceErrors[ele.format] = null;
|
|
207
|
+
try {
|
|
208
|
+
const fhirData = LForms.FHIR[ele.format].SDC.convertLFormsToQuestionnaire(previewSrcObj);
|
|
209
|
+
$scope.previewSource[ele.format] = toJsonFilter(fhirData, ['_', '$']);
|
|
210
|
+
} catch (e) {
|
|
211
|
+
$scope.previewSourceErrors[ele.format] = [e.message];
|
|
212
|
+
}
|
|
205
213
|
});
|
|
206
214
|
if(previewSrcObj.items.length > 0) {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
215
|
+
try {
|
|
216
|
+
$scope.previewLfData = new LForms.LFormsData(previewSrcObj);
|
|
217
|
+
if(previewSrcObj.id) {
|
|
218
|
+
$scope.previewLfData.id = previewSrcObj.id;
|
|
219
|
+
}
|
|
211
220
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
221
|
+
//Customize preview in formbuilder.
|
|
222
|
+
$scope.previewLfData.templateOptions = $scope.previewLfData.templateOptions || {};
|
|
223
|
+
$scope.previewLfData.templateOptions.showFormHeader = false;
|
|
224
|
+
$scope.previewLfData.templateOptions.hideFormControls = true;
|
|
225
|
+
$scope.previewLfData.templateOptions.viewMode = 'md';
|
|
226
|
+
$scope.previewErrors = null;
|
|
227
|
+
}
|
|
228
|
+
catch(e) {
|
|
229
|
+
var err = 'Failed to create preview widget!';
|
|
230
|
+
$scope.previewErrors = [err];
|
|
231
|
+
$scope.previewErrors.push(e.message);
|
|
232
|
+
$scope.previewLfData = null;
|
|
233
|
+
}
|
|
217
234
|
}
|
|
218
235
|
else {
|
|
219
236
|
$scope.previewLfData = null;
|
|
@@ -272,7 +289,7 @@ angular.module('formBuilder')
|
|
|
272
289
|
// Use hidden anchor to do file download.
|
|
273
290
|
var downloadLink = document.getElementById('exportAnchor');
|
|
274
291
|
var urlFactory = (window.URL || window.webkitURL);
|
|
275
|
-
if(objectUrl
|
|
292
|
+
if(objectUrl !== null) {
|
|
276
293
|
// First release any resources on existing object url
|
|
277
294
|
urlFactory.revokeObjectURL(objectUrl);
|
|
278
295
|
}
|
|
@@ -610,7 +627,7 @@ angular.module('formBuilder')
|
|
|
610
627
|
$scope.isHeaderItem = function (lfData) {
|
|
611
628
|
var ret = false;
|
|
612
629
|
if(formBuilderService.isNodeFbLfItem(lfData)) {
|
|
613
|
-
var indexInfo = dataConstants.INITIAL_FIELD_INDICES
|
|
630
|
+
var indexInfo = dataConstants.INITIAL_FIELD_INDICES.__itemType;
|
|
614
631
|
ret = formBuilderService.getFormBuilderField(lfData[indexInfo.category].items, '__itemType').value.code === 'group';
|
|
615
632
|
}
|
|
616
633
|
return ret;
|
|
@@ -95,7 +95,10 @@
|
|
|
95
95
|
</div>
|
|
96
96
|
</md-tab-label>
|
|
97
97
|
<md-tab-body>
|
|
98
|
-
<
|
|
98
|
+
<div ng-if="previewErrors" class="error-message">
|
|
99
|
+
<div ng-repeat="e in previewErrors" class="message-box">{{e}}</div>
|
|
100
|
+
</div>
|
|
101
|
+
<lforms ng-if="previewLfData" lf-data="previewLfData"></lforms>
|
|
99
102
|
</md-tab-body>
|
|
100
103
|
</md-tab>
|
|
101
104
|
<md-tab>
|
|
@@ -112,7 +115,10 @@
|
|
|
112
115
|
</md-radio-button>
|
|
113
116
|
</md-radio-group>
|
|
114
117
|
</div>
|
|
115
|
-
<
|
|
118
|
+
<div ng-if="previewSourceErrors[selectedFormat.format]" class="error-message">
|
|
119
|
+
<div ng-repeat="e in previewSourceErrors[selectedFormat.format]" class="message-box">{{e}}</div>
|
|
120
|
+
</div>
|
|
121
|
+
<pre ng-if="previewSource[selectedFormat.format]" class="formbuilder-pre">{{previewSource[selectedFormat.format]}}</pre>
|
|
116
122
|
</md-tab-body>
|
|
117
123
|
</md-tab>
|
|
118
124
|
</md-tabs>
|
package/client/index.html.tpl
CHANGED
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
<!-- endbower -->
|
|
56
56
|
<script src="bower_components/lforms/app/scripts/fhir/STU3/lformsFHIR.js"></script>
|
|
57
57
|
<script src="bower_components/lforms/app/scripts/fhir/R4/lformsFHIR.js"></script>
|
|
58
|
+
<script src="bower_components/fhirclient/dist/build/fhir-client.min.js"></script>
|
|
58
59
|
<script src="app/lforms-updater.js"></script>
|
|
59
60
|
<!-- endbuild -->
|
|
60
61
|
|