Skip to content

Commit

Permalink
fixed issue with edit form on creation and editing of optional fields
Browse files Browse the repository at this point in the history
  • Loading branch information
abstratt committed May 17, 2017
1 parent 356228c commit c70d5a1
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
7 changes: 6 additions & 1 deletion js/kirra-ng.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,11 +121,13 @@ kirraNG.buildInputFields = function(entity, createMode) {
angular.forEach(entity.properties, function(property) {
if (property.userVisible && ((createMode && property.initializable) || (!createMode && property.editable))) {
inputFields.push(property);
property['inputKind'] = 'property';
}
});
angular.forEach(entity.relationships, function(relationship) {
if (relationship.userVisible && !relationship.multiple && ((createMode && relationship.initializable) || (!createMode && relationship.editable))) {
inputFields.push(relationship);
relationship['inputKind'] = 'relationship';
}
});
kirraNG.sortFields(entity, inputFields);
Expand Down Expand Up @@ -519,6 +521,10 @@ kirraNG.buildInstanceEditController = function(entity, mode) {
$scope.entity = actualEntity = entity;
}

var inputFields = kirraNG.buildInputFields(actualEntity, creation);

$scope.inputFields = inputFields;

$scope.mode = mode;
$scope.$state = $state;
$scope.objectId = objectId;
Expand All @@ -536,7 +542,6 @@ kirraNG.buildInstanceEditController = function(entity, mode) {
return instance;
};

$scope.inputFields = kirraNG.buildInputFields(actualEntity, creation);

$scope.findCandidatesFor = function(relationship, value) {
var domain;
Expand Down
5 changes: 3 additions & 2 deletions templates/edit-form.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<form class="form">
<div ng-repeat="inputField in inputFields track by $index">
<div class="form-group-xs">
<ka-edit ng-if="propertyValues[inputField.name] != undefined" slot="inputField" values="propertyValues"></ka-edit>
<ka-edit ng-if="linkValues[inputField.name] != undefined" slot="inputField" values="linkValues"
<ka-edit ng-if="inputField.inputKind == 'property'" slot="inputField" values="propertyValues">
</ka-edit>
<ka-edit ng-if="inputField.inputKind == 'relationship'" slot="inputField" values="linkValues"
find-candidates="findCandidatesFor(slot, value)"
format-candidate="formatCandidate(inputField)">
</ka-edit>
Expand Down

0 comments on commit c70d5a1

Please sign in to comment.