Skip to content

Commit 4428e0a

Browse files
committed
KL Window - Make data type field options be a fixed collection of possible values
1 parent 4c7aea2 commit 4428e0a

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

‎kview/src/main/java/dev/ikm/komet/kview/klfields/ComponentFieldOptions.java‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@
1515
*/
1616
package dev.ikm.komet.kview.klfields;
1717

18+
import dev.ikm.komet.kview.mvvm.model.DataModelHelper;
19+
import dev.ikm.komet.layout.KlTerms;
1820
import dev.ikm.tinkar.component.FeatureDefinition;
1921
import dev.ikm.tinkar.coordinate.view.calculator.ViewCalculator;
22+
import dev.ikm.tinkar.entity.ConceptEntity;
2023
import dev.ikm.tinkar.entity.EntityHandle;
2124
import dev.ikm.tinkar.terms.ConceptFacade;
2225
import dev.ikm.tinkar.terms.EntityProxy;
@@ -84,6 +87,13 @@ private static Optional<List<EntityProxy>> optionsForConcept(ViewCalculator view
8487
Stream.of(FULLY_QUALIFIED_NAME_DESCRIPTION_TYPE, REGULAR_NAME_DESCRIPTION_TYPE,
8588
DEFINITION_DESCRIPTION_TYPE)));
8689
}
90+
// The data type of a pattern field (the Fields pattern of the pattern-definition patterns) is
91+
// one of the data types the field editors support: the same fixed set the classic Pattern
92+
// window offers in its data type drop-down (DataModelHelper.fetchFieldDefinitionDataTypes).
93+
if (conceptNid == KlTerms.FIELD_DATA_TYPE.nid()) {
94+
return Optional.of(sortedByName(viewCalculator,
95+
DataModelHelper.fetchFieldDefinitionDataTypes().stream().map(ConceptEntity::toProxy)));
96+
}
8797
return optionsParentForConcept(conceptNid)
8898
.map(parent -> sortedByName(viewCalculator, fetchDescendents(viewCalculator, parent)));
8999
}

0 commit comments

Comments
 (0)