remove multi value support from rules and default values
This commit is contained in:
parent
528fbcd758
commit
a3fba92999
|
@ -3,19 +3,14 @@ package org.opencdmp.commons.types.descriptiontemplate;
|
||||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||||
import jakarta.xml.bind.annotation.XmlElement;
|
import jakarta.xml.bind.annotation.XmlElement;
|
||||||
import jakarta.xml.bind.annotation.XmlElementWrapper;
|
|
||||||
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||||
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
public class DefaultValueEntity {
|
public class DefaultValueEntity {
|
||||||
|
|
||||||
@XmlElementWrapper(name = "textListValues")
|
|
||||||
@XmlElement(name = "textListValue")
|
|
||||||
private List<String> textListValue;
|
|
||||||
@XmlElement(name="value")
|
@XmlElement(name="value")
|
||||||
private String textValue;
|
private String textValue;
|
||||||
|
|
||||||
|
@ -26,14 +21,6 @@ public class DefaultValueEntity {
|
||||||
@XmlElement(name = "booleanValue")
|
@XmlElement(name = "booleanValue")
|
||||||
private Boolean booleanValue;
|
private Boolean booleanValue;
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTextValue() {
|
public String getTextValue() {
|
||||||
return this.textValue;
|
return this.textValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
package org.opencdmp.commons.types.descriptiontemplate;
|
package org.opencdmp.commons.types.descriptiontemplate;
|
||||||
|
|
||||||
import jakarta.xml.bind.annotation.*;
|
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||||
|
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||||
|
import jakarta.xml.bind.annotation.XmlElement;
|
||||||
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||||
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
public class RuleEntity {
|
public class RuleEntity {
|
||||||
|
@ -14,10 +16,6 @@ public class RuleEntity {
|
||||||
@XmlAttribute(name="value")
|
@XmlAttribute(name="value")
|
||||||
private String textValue;
|
private String textValue;
|
||||||
|
|
||||||
@XmlElementWrapper(name = "textListValues")
|
|
||||||
@XmlElement(name = "textListValue")
|
|
||||||
private List<String> textListValue;
|
|
||||||
|
|
||||||
@XmlElement(name = "dateValue")
|
@XmlElement(name = "dateValue")
|
||||||
@XmlJavaTypeAdapter(InstantXmlAdapter.class)
|
@XmlJavaTypeAdapter(InstantXmlAdapter.class)
|
||||||
private Instant dateValue;
|
private Instant dateValue;
|
||||||
|
@ -41,14 +39,6 @@ public class RuleEntity {
|
||||||
this.textValue = textValue;
|
this.textValue = textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,18 @@
|
||||||
package org.opencdmp.commons.types.descriptiontemplate.importexport;
|
package org.opencdmp.commons.types.descriptiontemplate.importexport;
|
||||||
|
|
||||||
import jakarta.xml.bind.annotation.*;
|
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||||
|
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||||
|
import jakarta.xml.bind.annotation.XmlElement;
|
||||||
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||||
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
public class DescriptionTemplateDefaultValueImportExport {
|
public class DescriptionTemplateDefaultValueImportExport {
|
||||||
|
|
||||||
@XmlAttribute(name="value")
|
@XmlAttribute(name="value")
|
||||||
private String textValue;
|
private String textValue;
|
||||||
|
|
||||||
@XmlElementWrapper(name = "textListValues")
|
|
||||||
@XmlElement(name = "textListValue")
|
|
||||||
private List<String> textListValue;
|
|
||||||
@XmlElement(name = "dateValue")
|
@XmlElement(name = "dateValue")
|
||||||
@XmlJavaTypeAdapter(InstantXmlAdapter.class)
|
@XmlJavaTypeAdapter(InstantXmlAdapter.class)
|
||||||
private Instant dateValue;
|
private Instant dateValue;
|
||||||
|
@ -31,14 +28,6 @@ public class DescriptionTemplateDefaultValueImportExport {
|
||||||
this.textValue = textValue;
|
this.textValue = textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
package org.opencdmp.commons.types.descriptiontemplate.importexport;
|
package org.opencdmp.commons.types.descriptiontemplate.importexport;
|
||||||
|
|
||||||
import jakarta.xml.bind.annotation.*;
|
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||||
|
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||||
|
import jakarta.xml.bind.annotation.XmlElement;
|
||||||
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||||
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
public class DescriptionTemplateRuleImportExport {
|
public class DescriptionTemplateRuleImportExport {
|
||||||
|
@ -15,9 +17,6 @@ public class DescriptionTemplateRuleImportExport {
|
||||||
@XmlAttribute(name="value")
|
@XmlAttribute(name="value")
|
||||||
private String textValue;
|
private String textValue;
|
||||||
|
|
||||||
@XmlElementWrapper(name = "textListValues")
|
|
||||||
@XmlElement(name = "textListValue")
|
|
||||||
private List<String> textListValue;
|
|
||||||
@XmlElement(name = "dateValue")
|
@XmlElement(name = "dateValue")
|
||||||
@XmlJavaTypeAdapter(InstantXmlAdapter.class)
|
@XmlJavaTypeAdapter(InstantXmlAdapter.class)
|
||||||
private Instant dateValue;
|
private Instant dateValue;
|
||||||
|
@ -41,14 +40,6 @@ public class DescriptionTemplateRuleImportExport {
|
||||||
this.textValue = textValue;
|
this.textValue = textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,10 +53,9 @@ public class DefaultValueBuilder extends BaseBuilder<DefaultValue, DefaultValueE
|
||||||
List<DefaultValue> models = new ArrayList<>();
|
List<DefaultValue> models = new ArrayList<>();
|
||||||
for (DefaultValueEntity d : data) {
|
for (DefaultValueEntity d : data) {
|
||||||
DefaultValue m = new DefaultValue();
|
DefaultValue m = new DefaultValue();
|
||||||
if (fields.hasField(this.asIndexer(DefaultValue._dateValue)) && FieldType.isDateType(fieldType)) m.setDateValue(d.getDateValue());
|
if (fields.hasField(this.asIndexer(DefaultValue._dateValue))) m.setDateValue(d.getDateValue());
|
||||||
if (fields.hasField(this.asIndexer(DefaultValue._booleanValue)) && FieldType.isBooleanType(fieldType)) m.setBooleanValue(d.getBooleanValue());
|
if (fields.hasField(this.asIndexer(DefaultValue._booleanValue))) m.setBooleanValue(d.getBooleanValue());
|
||||||
if (fields.hasField(this.asIndexer(DefaultValue._textValue)) && FieldType.isTextType(fieldType)) m.setTextValue(d.getTextValue());
|
if (fields.hasField(this.asIndexer(DefaultValue._textValue))) m.setTextValue(d.getTextValue());
|
||||||
if (fields.hasField(this.asIndexer(DefaultValue._textListValue)) && FieldType.isTextListType(fieldType)) m.setTextListValue(d.getTextListValue());
|
|
||||||
|
|
||||||
models.add(m);
|
models.add(m);
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,10 +61,9 @@ public class RuleBuilder extends BaseBuilder<Rule, RuleEntity> {
|
||||||
for (RuleEntity d : data) {
|
for (RuleEntity d : data) {
|
||||||
Rule m = new Rule();
|
Rule m = new Rule();
|
||||||
if (fields.hasField(this.asIndexer(Rule._target))) m.setTarget(d.getTarget());
|
if (fields.hasField(this.asIndexer(Rule._target))) m.setTarget(d.getTarget());
|
||||||
if (fields.hasField(this.asIndexer(Rule._dateValue)) && FieldType.isDateType(fieldType)) m.setDateValue(d.getDateValue());
|
if (fields.hasField(this.asIndexer(Rule._dateValue))) m.setDateValue(d.getDateValue());
|
||||||
if (fields.hasField(this.asIndexer(Rule._booleanValue)) && FieldType.isBooleanType(fieldType)) m.setBooleanValue(d.getBooleanValue());
|
if (fields.hasField(this.asIndexer(Rule._booleanValue))) m.setBooleanValue(d.getBooleanValue());
|
||||||
if (fields.hasField(this.asIndexer(Rule._textValue)) && FieldType.isTextType(fieldType)) m.setTextValue(d.getTextValue());
|
if (fields.hasField(this.asIndexer(Rule._textValue))) m.setTextValue(d.getTextValue());
|
||||||
if (fields.hasField(this.asIndexer(Rule._textListValue)) && FieldType.isTextListType(fieldType)) m.setTextListValue(d.getTextListValue());
|
|
||||||
models.add(m);
|
models.add(m);
|
||||||
}
|
}
|
||||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||||
|
|
|
@ -1,16 +1,12 @@
|
||||||
package org.opencdmp.model.descriptiontemplatedefinition;
|
package org.opencdmp.model.descriptiontemplatedefinition;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class DefaultValue {
|
public class DefaultValue {
|
||||||
|
|
||||||
private String textValue;
|
private String textValue;
|
||||||
public static final String _textValue = "textValue";
|
public static final String _textValue = "textValue";
|
||||||
|
|
||||||
private List<String> textListValue;
|
|
||||||
public static final String _textListValue = "textListValue";
|
|
||||||
|
|
||||||
private Instant dateValue;
|
private Instant dateValue;
|
||||||
public static final String _dateValue = "dateValue";
|
public static final String _dateValue = "dateValue";
|
||||||
|
|
||||||
|
@ -26,14 +22,6 @@ public class DefaultValue {
|
||||||
this.textValue = textValue;
|
this.textValue = textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package org.opencdmp.model.descriptiontemplatedefinition;
|
package org.opencdmp.model.descriptiontemplatedefinition;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Rule {
|
public class Rule {
|
||||||
|
|
||||||
|
@ -11,9 +10,6 @@ public class Rule {
|
||||||
private String textValue;
|
private String textValue;
|
||||||
public static final String _textValue = "textValue";
|
public static final String _textValue = "textValue";
|
||||||
|
|
||||||
private List<String> textListValue;
|
|
||||||
public static final String _textListValue = "textListValue";
|
|
||||||
|
|
||||||
private Instant dateValue;
|
private Instant dateValue;
|
||||||
public static final String _dateValue = "dateValue";
|
public static final String _dateValue = "dateValue";
|
||||||
|
|
||||||
|
@ -36,14 +32,6 @@ public class Rule {
|
||||||
this.textValue = textValue;
|
this.textValue = textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,6 @@ public class DescriptionFieldToDatasetFieldMapper {
|
||||||
RuleEntity ruleEntity = new RuleEntity();
|
RuleEntity ruleEntity = new RuleEntity();
|
||||||
ruleEntity.setDateValue(x.getDateValue());
|
ruleEntity.setDateValue(x.getDateValue());
|
||||||
ruleEntity.setBooleanValue(x.getBooleanValue());
|
ruleEntity.setBooleanValue(x.getBooleanValue());
|
||||||
ruleEntity.setTextListValue(x.getTextListValue());
|
|
||||||
ruleEntity.setTarget(x.getTarget());
|
ruleEntity.setTarget(x.getTarget());
|
||||||
return ruleEntity;
|
return ruleEntity;
|
||||||
}).toList());
|
}).toList());
|
||||||
|
|
|
@ -18,9 +18,6 @@ public class DefaultValuePersist {
|
||||||
private String textValue;
|
private String textValue;
|
||||||
public static final String _textValue = "textValue";
|
public static final String _textValue = "textValue";
|
||||||
|
|
||||||
private List<String> textListValue;
|
|
||||||
public static final String _textListValue = "textListValue";
|
|
||||||
|
|
||||||
private Instant dateValue;
|
private Instant dateValue;
|
||||||
public static final String _dateValue = "dateValue";
|
public static final String _dateValue = "dateValue";
|
||||||
|
|
||||||
|
@ -35,14 +32,6 @@ public class DefaultValuePersist {
|
||||||
this.textValue = textValue;
|
this.textValue = textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,9 +26,6 @@ public class RulePersist {
|
||||||
private String textValue;
|
private String textValue;
|
||||||
public static final String _textValue = "textValue";
|
public static final String _textValue = "textValue";
|
||||||
|
|
||||||
private List<String> textListValue;
|
|
||||||
public static final String _textListValue = "textListValue";
|
|
||||||
|
|
||||||
private Instant dateValue;
|
private Instant dateValue;
|
||||||
public static final String _dateValue = "dateValue";
|
public static final String _dateValue = "dateValue";
|
||||||
|
|
||||||
|
@ -54,14 +51,6 @@ public class RulePersist {
|
||||||
this.textValue = textValue;
|
this.textValue = textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextListValue(List<String> textListValue) {
|
|
||||||
this.textListValue = textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
@ -119,10 +108,20 @@ public class RulePersist {
|
||||||
this.spec()
|
this.spec()
|
||||||
.must(() -> !this.isEmpty(item.getTarget()))
|
.must(() -> !this.isEmpty(item.getTarget()))
|
||||||
.failOn(RulePersist._target).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._target}, LocaleContextHolder.getLocale())),
|
.failOn(RulePersist._target).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._target}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.iff(() -> this.isNull(fieldType))
|
||||||
|
.must(() -> !FieldType.TAGS.equals(fieldType) && !FieldType.INTERNAL_ENTRIES_DESCRIPTIONS.equals(fieldType) && !FieldType.INTERNAL_ENTRIES_DMPS.equals(fieldType) &&
|
||||||
|
!FieldType.UPLOAD.equals(fieldType) && !FieldType.REFERENCE_TYPES.equals(fieldType) && !FieldType.DATASET_IDENTIFIER.equals(fieldType)
|
||||||
|
&& !FieldType.VALIDATION.equals(fieldType))
|
||||||
|
.failOn(RulePersist._target).failWith(this.messageSource.getMessage("Validation_UnexpectedValue", new Object[]{RulePersist._target}, LocaleContextHolder.getLocale())),
|
||||||
this.spec()
|
this.spec()
|
||||||
.iff(()-> FieldType.isTextType(fieldType))
|
.iff(()-> FieldType.isTextType(fieldType))
|
||||||
.must(() -> !this.isEmpty(item.getTextValue()))
|
.must(() -> !this.isEmpty(item.getTextValue()))
|
||||||
.failOn(RulePersist._textValue).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._textValue}, LocaleContextHolder.getLocale())),
|
.failOn(RulePersist._textValue).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._textValue}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.iff(()-> FieldType.isTextListType(fieldType))
|
||||||
|
.must(() -> !this.isEmpty(item.getTextValue()))
|
||||||
|
.failOn(RulePersist._textValue).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._textValue}, LocaleContextHolder.getLocale())),
|
||||||
this.spec()
|
this.spec()
|
||||||
.iff(()-> FieldType.isDateType(fieldType))
|
.iff(()-> FieldType.isDateType(fieldType))
|
||||||
.must(() -> !this.isNull(item.getDateValue()))
|
.must(() -> !this.isNull(item.getDateValue()))
|
||||||
|
@ -131,18 +130,6 @@ public class RulePersist {
|
||||||
.iff(()-> FieldType.isBooleanType(fieldType))
|
.iff(()-> FieldType.isBooleanType(fieldType))
|
||||||
.must(() -> !this.isNull(item.getBooleanValue()))
|
.must(() -> !this.isNull(item.getBooleanValue()))
|
||||||
.failOn(RulePersist._booleanValue).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._booleanValue}, LocaleContextHolder.getLocale())),
|
.failOn(RulePersist._booleanValue).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._booleanValue}, LocaleContextHolder.getLocale())),
|
||||||
this.spec()
|
|
||||||
.iff(()-> FieldType.isTextListType(fieldType))
|
|
||||||
.must(() -> !this.isNull(item.getTextListValue()))
|
|
||||||
.failOn(RulePersist._textListValue).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._textListValue}, LocaleContextHolder.getLocale())),
|
|
||||||
this.spec()
|
|
||||||
.iff(()-> FieldType.isReferenceType(fieldType))
|
|
||||||
.must(() -> !this.isNull(item.getTextListValue()))
|
|
||||||
.failOn(RulePersist._textListValue).failWith(this.messageSource.getMessage("Validation_Required", new Object[]{RulePersist._textListValue}, LocaleContextHolder.getLocale())),
|
|
||||||
this.spec()
|
|
||||||
.iff(()-> !this.isNull(item.getTextListValue()) && (fieldType.equals(FieldType.INTERNAL_ENTRIES_DMPS) || fieldType.equals(FieldType.INTERNAL_ENTRIES_DESCRIPTIONS)))
|
|
||||||
.must(() -> item.getTextListValue().stream().allMatch(this::isUUID))
|
|
||||||
.failOn(RulePersist._textListValue).failWith(this.messageSource.getMessage("Validation_UnexpectedValue", new Object[]{RulePersist._textListValue}, LocaleContextHolder.getLocale())),
|
|
||||||
this.navSpec()
|
this.navSpec()
|
||||||
.iff(() -> FieldType.isReferenceType(fieldType) && !this.isListNullOrEmpty(item.getReferences()))
|
.iff(() -> FieldType.isReferenceType(fieldType) && !this.isListNullOrEmpty(item.getReferences()))
|
||||||
.on(RulePersist._references)
|
.on(RulePersist._references)
|
||||||
|
|
|
@ -43,10 +43,9 @@ public class Rule {
|
||||||
public Rule fromDefinitionRule(RuleEntity rule) {
|
public Rule fromDefinitionRule(RuleEntity rule) {
|
||||||
this.targetField = rule.getTarget();
|
this.targetField = rule.getTarget();
|
||||||
//TODO
|
//TODO
|
||||||
if (rule.getTextValue() != null && !rule.getTextListValue().isEmpty()) this.requiredValue = rule.getTextValue();
|
if (rule.getTextValue() != null) this.requiredValue = rule.getTextValue();
|
||||||
else if (rule.getDateValue() != null) this.requiredValue = rule.getDateValue().toString();
|
else if (rule.getDateValue() != null) this.requiredValue = rule.getDateValue().toString();
|
||||||
else if (rule.getBooleanValue() != null) this.requiredValue = rule.getBooleanValue().toString();
|
else if (rule.getBooleanValue() != null) this.requiredValue = rule.getBooleanValue().toString();
|
||||||
else if (rule.getTextListValue() != null) this.requiredValue = String.join(", ", rule.getTextListValue());
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -394,16 +394,14 @@ public class DescriptionTemplateServiceImpl implements DescriptionTemplateServic
|
||||||
if (persist == null) return data;
|
if (persist == null) return data;
|
||||||
data.setTarget(persist.getTarget());
|
data.setTarget(persist.getTarget());
|
||||||
|
|
||||||
if (FieldType.isTextType(fieldType)) {
|
if (FieldType.isTextType(fieldType) || FieldType.isTextListType(fieldType)) {
|
||||||
if (FieldType.UPLOAD.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("Upload not supported");
|
if (FieldType.UPLOAD.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("Upload not supported");
|
||||||
|
if (FieldType.INTERNAL_ENTRIES_DMPS.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("dmps not supported");
|
||||||
|
if (FieldType.INTERNAL_ENTRIES_DESCRIPTIONS.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("descriptions not supported");
|
||||||
|
if (FieldType.TAGS.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("tags not supported");
|
||||||
|
|
||||||
data.setTextValue(persist.getTextValue());
|
data.setTextValue(persist.getTextValue());
|
||||||
}
|
}
|
||||||
else if (FieldType.isTextListType(fieldType)) {
|
|
||||||
if (FieldType.INTERNAL_ENTRIES_DMPS.equals(fieldType) && !this.conventionService.isListNullOrEmpty(persist.getTextListValue())) throw new NotImplementedException("dmps not supported");
|
|
||||||
if (FieldType.INTERNAL_ENTRIES_DESCRIPTIONS.equals(fieldType) && !this.conventionService.isListNullOrEmpty(persist.getTextListValue())) throw new NotImplementedException("descriptions not supported");
|
|
||||||
if (FieldType.TAGS.equals(fieldType) && !this.conventionService.isListNullOrEmpty(persist.getTextListValue())) throw new NotImplementedException("tags not supported");
|
|
||||||
data.setTextListValue(persist.getTextListValue());
|
|
||||||
}
|
|
||||||
else if (FieldType.isReferenceType(fieldType) ) {
|
else if (FieldType.isReferenceType(fieldType) ) {
|
||||||
throw new NotImplementedException("reference not supported");
|
throw new NotImplementedException("reference not supported");
|
||||||
}
|
}
|
||||||
|
@ -419,16 +417,14 @@ public class DescriptionTemplateServiceImpl implements DescriptionTemplateServic
|
||||||
DefaultValueEntity data = new DefaultValueEntity();
|
DefaultValueEntity data = new DefaultValueEntity();
|
||||||
if (persist == null) return data;
|
if (persist == null) return data;
|
||||||
|
|
||||||
if (FieldType.isTextType(fieldType)) {
|
if (FieldType.isTextType(fieldType) || FieldType.isTextListType(fieldType)) {
|
||||||
if (FieldType.UPLOAD.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("Upload not supported");
|
if (FieldType.UPLOAD.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("Upload not supported");
|
||||||
|
if (FieldType.INTERNAL_ENTRIES_DMPS.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("dmps not supported");
|
||||||
|
if (FieldType.INTERNAL_ENTRIES_DESCRIPTIONS.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("descriptions not supported");
|
||||||
|
if (FieldType.TAGS.equals(fieldType) && !this.conventionService.isNullOrEmpty(persist.getTextValue())) throw new NotImplementedException("tags not supported");
|
||||||
|
|
||||||
data.setTextValue(persist.getTextValue());
|
data.setTextValue(persist.getTextValue());
|
||||||
}
|
}
|
||||||
else if (FieldType.isTextListType(fieldType)) {
|
|
||||||
if (FieldType.INTERNAL_ENTRIES_DMPS.equals(fieldType) && !this.conventionService.isListNullOrEmpty(persist.getTextListValue())) throw new NotImplementedException("dmps not supported");
|
|
||||||
if (FieldType.INTERNAL_ENTRIES_DESCRIPTIONS.equals(fieldType) && !this.conventionService.isListNullOrEmpty(persist.getTextListValue())) throw new NotImplementedException("descriptions not supported");
|
|
||||||
if (FieldType.TAGS.equals(fieldType) && !this.conventionService.isListNullOrEmpty(persist.getTextListValue())) throw new NotImplementedException("tags not supported");
|
|
||||||
data.setTextListValue(persist.getTextListValue());
|
|
||||||
}
|
|
||||||
else if (FieldType.isReferenceType(fieldType) ) {
|
else if (FieldType.isReferenceType(fieldType) ) {
|
||||||
throw new NotImplementedException("reference not supported");
|
throw new NotImplementedException("reference not supported");
|
||||||
}
|
}
|
||||||
|
@ -876,7 +872,6 @@ public class DescriptionTemplateServiceImpl implements DescriptionTemplateServic
|
||||||
ruleEntity.setBooleanValue(importExport.getBooleanValue());
|
ruleEntity.setBooleanValue(importExport.getBooleanValue());
|
||||||
//ruleEntity.setReferences(importExport.get()); //TODO
|
//ruleEntity.setReferences(importExport.get()); //TODO
|
||||||
ruleEntity.setTextValue(importExport.getTextValue());
|
ruleEntity.setTextValue(importExport.getTextValue());
|
||||||
ruleEntity.setTextListValue(importExport.getTextListValue());
|
|
||||||
return ruleEntity;
|
return ruleEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -886,7 +881,6 @@ public class DescriptionTemplateServiceImpl implements DescriptionTemplateServic
|
||||||
ruleEntity.setDateValue(importExport.getDateValue());
|
ruleEntity.setDateValue(importExport.getDateValue());
|
||||||
ruleEntity.setBooleanValue(importExport.getBooleanValue());
|
ruleEntity.setBooleanValue(importExport.getBooleanValue());
|
||||||
ruleEntity.setTextValue(importExport.getTextValue());
|
ruleEntity.setTextValue(importExport.getTextValue());
|
||||||
ruleEntity.setTextListValue(importExport.getTextListValue());
|
|
||||||
return ruleEntity;
|
return ruleEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1036,7 +1030,6 @@ public class DescriptionTemplateServiceImpl implements DescriptionTemplateServic
|
||||||
DescriptionTemplateDefaultValueImportExport xml = new DescriptionTemplateDefaultValueImportExport();
|
DescriptionTemplateDefaultValueImportExport xml = new DescriptionTemplateDefaultValueImportExport();
|
||||||
xml.setDateValue(entity.getDateValue());
|
xml.setDateValue(entity.getDateValue());
|
||||||
xml.setBooleanValue(entity.getBooleanValue());
|
xml.setBooleanValue(entity.getBooleanValue());
|
||||||
xml.setTextListValue(entity.getTextListValue());
|
|
||||||
xml.setTextValue(entity.getTextValue());
|
xml.setTextValue(entity.getTextValue());
|
||||||
return xml;
|
return xml;
|
||||||
}
|
}
|
||||||
|
@ -1046,7 +1039,6 @@ public class DescriptionTemplateServiceImpl implements DescriptionTemplateServic
|
||||||
xml.setTarget(entity.getTarget());
|
xml.setTarget(entity.getTarget());
|
||||||
xml.setDateValue(entity.getDateValue());
|
xml.setDateValue(entity.getDateValue());
|
||||||
xml.setBooleanValue(entity.getBooleanValue());
|
xml.setBooleanValue(entity.getBooleanValue());
|
||||||
xml.setTextListValue(entity.getTextListValue());
|
|
||||||
xml.setTextValue(entity.getTextValue());
|
xml.setTextValue(entity.getTextValue());
|
||||||
return xml;
|
return xml;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,11 @@ import org.opencdmp.commons.types.descriptiontemplate.FieldEntity;
|
||||||
import org.opencdmp.commons.types.descriptiontemplate.RuleEntity;
|
import org.opencdmp.commons.types.descriptiontemplate.RuleEntity;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RuleWithTarget{
|
public class RuleWithTarget{
|
||||||
private final String target;
|
private final String target;
|
||||||
private final String source;
|
private final String source;
|
||||||
private final String textValue;
|
private final String textValue;
|
||||||
private final List<String> textListValue;
|
|
||||||
private final Instant dateValue;
|
private final Instant dateValue;
|
||||||
private final Boolean booleanValue;
|
private final Boolean booleanValue;
|
||||||
private final FieldEntity fieldEntity;
|
private final FieldEntity fieldEntity;
|
||||||
|
@ -20,7 +18,6 @@ public class RuleWithTarget{
|
||||||
this.source = source;
|
this.source = source;
|
||||||
this.fieldEntity = fieldEntity;
|
this.fieldEntity = fieldEntity;
|
||||||
this.textValue = rule.getTextValue();
|
this.textValue = rule.getTextValue();
|
||||||
this.textListValue = rule.getTextListValue();
|
|
||||||
this.dateValue = rule.getDateValue();
|
this.dateValue = rule.getDateValue();
|
||||||
this.booleanValue = rule.getBooleanValue();
|
this.booleanValue = rule.getBooleanValue();
|
||||||
}
|
}
|
||||||
|
@ -37,10 +34,6 @@ public class RuleWithTarget{
|
||||||
return this.textValue;
|
return this.textValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getTextListValue() {
|
|
||||||
return this.textListValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getDateValue() {
|
public Instant getDateValue() {
|
||||||
return this.dateValue;
|
return this.dateValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.opencdmp.service.visibility;
|
package org.opencdmp.service.visibility;
|
||||||
|
|
||||||
import org.apache.commons.lang3.NotImplementedException;
|
import org.apache.commons.lang3.NotImplementedException;
|
||||||
|
import org.opencdmp.commons.enums.FieldType;
|
||||||
import org.opencdmp.commons.types.description.PropertyDefinitionEntity;
|
import org.opencdmp.commons.types.description.PropertyDefinitionEntity;
|
||||||
import org.opencdmp.commons.types.descriptiontemplate.*;
|
import org.opencdmp.commons.types.descriptiontemplate.*;
|
||||||
import org.opencdmp.model.persist.descriptionproperties.PropertyDefinitionPersist;
|
import org.opencdmp.model.persist.descriptionproperties.PropertyDefinitionPersist;
|
||||||
|
@ -347,20 +348,19 @@ public class VisibilityServiceImpl implements VisibilityService {
|
||||||
private boolean ruleIsTrue(RuleWithTarget rule, Field field){
|
private boolean ruleIsTrue(RuleWithTarget rule, Field field){
|
||||||
if (field != null){
|
if (field != null){
|
||||||
org.opencdmp.commons.enums.FieldType fieldType = rule.getFieldEntity() != null && rule.getFieldEntity().getData() != null ? rule.getFieldEntity().getData().getFieldType() : org.opencdmp.commons.enums.FieldType.FREE_TEXT;
|
org.opencdmp.commons.enums.FieldType fieldType = rule.getFieldEntity() != null && rule.getFieldEntity().getData() != null ? rule.getFieldEntity().getData().getFieldType() : org.opencdmp.commons.enums.FieldType.FREE_TEXT;
|
||||||
if (org.opencdmp.commons.enums.FieldType.isTextType(fieldType) && field.getTextValue() != null && !field.getTextValue().isBlank()) {
|
if ((org.opencdmp.commons.enums.FieldType.isTextType(fieldType) || org.opencdmp.commons.enums.FieldType.isTextListType(fieldType)) && field.getTextValue() != null && !field.getTextValue().isBlank()) {
|
||||||
if (org.opencdmp.commons.enums.FieldType.UPLOAD.equals(fieldType)){
|
if (org.opencdmp.commons.enums.FieldType.UPLOAD.equals(fieldType)) throw new NotImplementedException("Upload file rule not supported");
|
||||||
throw new NotImplementedException("Upload file rule not supported");
|
return field.getTextValue().equals(rule.getTextValue());
|
||||||
} else {
|
|
||||||
return field.getTextValue().equals(rule.getTextValue());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (org.opencdmp.commons.enums.FieldType.isTextListType(fieldType) && field.getTextListValue() != null && !field.getTextListValue().isEmpty()) {
|
else if (rule.getTextValue() != null &&org.opencdmp.commons.enums.FieldType.isTextListType(fieldType) && field.getTextListValue() != null && !field.getTextListValue().isEmpty()) {
|
||||||
return rule.getTextListValue() != null &&
|
if (FieldType.INTERNAL_ENTRIES_DMPS.equals(fieldType)) throw new NotImplementedException("dmps not supported");
|
||||||
new HashSet<>(field.getTextListValue()).containsAll(rule.getTextListValue());
|
if (FieldType.INTERNAL_ENTRIES_DESCRIPTIONS.equals(fieldType)) throw new NotImplementedException("descriptions not supported");
|
||||||
|
if (FieldType.TAGS.equals(fieldType)) throw new NotImplementedException("tags not supported");
|
||||||
|
|
||||||
|
return new HashSet<>(field.getTextListValue()).contains(rule.getTextValue());
|
||||||
}
|
}
|
||||||
else if (org.opencdmp.commons.enums.FieldType.isReferenceType(fieldType)) {
|
else if (org.opencdmp.commons.enums.FieldType.isReferenceType(fieldType)) {
|
||||||
return rule.getTextListValue() != null &&
|
throw new NotImplementedException("Reference rule not supported");
|
||||||
new HashSet<>(field.getTextListValue()).containsAll(rule.getTextListValue());
|
|
||||||
}
|
}
|
||||||
else if (org.opencdmp.commons.enums.FieldType.isDateType(fieldType) && field.getDateValue() != null) return field.getDateValue().equals(rule.getDateValue());
|
else if (org.opencdmp.commons.enums.FieldType.isDateType(fieldType) && field.getDateValue() != null) return field.getDateValue().equals(rule.getDateValue());
|
||||||
else if (org.opencdmp.commons.enums.FieldType.isBooleanType(fieldType) && field.getBooleanValue() != null) return field.getBooleanValue().equals(rule.getBooleanValue());
|
else if (org.opencdmp.commons.enums.FieldType.isBooleanType(fieldType) && field.getBooleanValue() != null) return field.getBooleanValue().equals(rule.getBooleanValue());
|
||||||
|
|
|
@ -186,14 +186,12 @@ public class PublicDatasetsDescriptionDocumentation {
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._schematics),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._schematics),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._defaultValue, DefaultValue._dateValue),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._defaultValue, DefaultValue._dateValue),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._defaultValue, DefaultValue._booleanValue),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._defaultValue, DefaultValue._booleanValue),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._defaultValue, DefaultValue._textListValue),
|
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._defaultValue, DefaultValue._textValue),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._defaultValue, DefaultValue._textValue),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._includeInExport),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._includeInExport),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._validations),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._validations),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._target),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._target),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._dateValue),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._dateValue),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._booleanValue),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._booleanValue),
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._textListValue),
|
|
||||||
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._textValue),
|
String.join(".", Description._descriptionTemplate, DescriptionTemplate._definition, Definition._pages, Page._sections, Section._fieldSets, FieldSet._fields, Field._visibilityRules, Rule._textValue),
|
||||||
Description._createdAt,
|
Description._createdAt,
|
||||||
Description._updatedAt,
|
Description._updatedAt,
|
||||||
|
|
|
@ -83,7 +83,6 @@ export interface DescriptionTemplateFieldPersist {
|
||||||
|
|
||||||
export interface DescriptionTemplateDefaultValuePersist {
|
export interface DescriptionTemplateDefaultValuePersist {
|
||||||
textValue: string;
|
textValue: string;
|
||||||
textListValue: string[];
|
|
||||||
dateValue: Date;
|
dateValue: Date;
|
||||||
booleanValue: boolean;
|
booleanValue: boolean;
|
||||||
}
|
}
|
||||||
|
@ -91,7 +90,6 @@ export interface DescriptionTemplateDefaultValuePersist {
|
||||||
export interface DescriptionTemplateRulePersist {
|
export interface DescriptionTemplateRulePersist {
|
||||||
target: string;
|
target: string;
|
||||||
textValue: string;
|
textValue: string;
|
||||||
textListValue: string[];
|
|
||||||
dateValue: Date;
|
dateValue: Date;
|
||||||
booleanValue: boolean;
|
booleanValue: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,6 @@ export interface DescriptionTemplateField {
|
||||||
|
|
||||||
export interface DescriptionTemplateDefaultValue {
|
export interface DescriptionTemplateDefaultValue {
|
||||||
textValue: string;
|
textValue: string;
|
||||||
textListValue: string[];
|
|
||||||
dateValue: Date;
|
dateValue: Date;
|
||||||
booleanValue: boolean;
|
booleanValue: boolean;
|
||||||
}
|
}
|
||||||
|
@ -90,7 +89,6 @@ export interface DescriptionTemplateDefaultValue {
|
||||||
export interface DescriptionTemplateRule {
|
export interface DescriptionTemplateRule {
|
||||||
target: string;
|
target: string;
|
||||||
textValue: string;
|
textValue: string;
|
||||||
textListValue: string[];
|
|
||||||
dateValue: Date;
|
dateValue: Date;
|
||||||
booleanValue: boolean;
|
booleanValue: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<!-- SELECT -->
|
<!-- SELECT -->
|
||||||
<mat-form-field class="col-md-12" *ngIf="fieldType === descriptionTemplateFieldTypeEnum.SELECT">
|
<mat-form-field class="col-md-12" *ngIf="fieldType === descriptionTemplateFieldTypeEnum.SELECT">
|
||||||
<mat-label>{{placeHolder}}</mat-label>
|
<mat-label>{{placeHolder}}</mat-label>
|
||||||
<mat-select multiple [formControl]="form" [placeholder]="placeHolder">
|
<mat-select [formControl]="form" [placeholder]="placeHolder">
|
||||||
<mat-option [value]="null">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.FIELD.DEFAULT-VALUES.NONE' | translate }}</mat-option>
|
<mat-option [value]="null">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.FIELD.DEFAULT-VALUES.NONE' | translate }}</mat-option>
|
||||||
<mat-option *ngFor="let opt of formArrayOptions['controls']" [value]="opt.get('value').value">{{opt.get('label').value}}</mat-option>
|
<mat-option *ngFor="let opt of formArrayOptions['controls']" [value]="opt.get('value').value">{{opt.get('label').value}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ng-container *ngIf="canSetDefaultValue(form.get('data')?.get('fieldType')?.value)">
|
<ng-container *ngIf="canSetDefaultValue(form.get('data')?.get('fieldType')?.value)">
|
||||||
<div class="col-6" *ngIf="isTextType(form.get('data')?.get('fieldType')?.value)">
|
<div class="col-6" *ngIf="isTextType(form.get('data')?.get('fieldType')?.value) || isTextListType(form.get('data')?.get('fieldType')?.value)">
|
||||||
<app-description-template-editor-default-value-component [fieldType]="form.get('data').get('fieldType').value" [form]="this.form.get('defaultValue')?.get('textValue')" [formArrayOptions]="form.get('data')?.get('options')" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.FIELD.FIELDS.DEFAULT-VALUE' | translate}}" required="false"></app-description-template-editor-default-value-component>
|
<app-description-template-editor-default-value-component [fieldType]="form.get('data').get('fieldType').value" [form]="this.form.get('defaultValue')?.get('textValue')" [formArrayOptions]="form.get('data')?.get('options')" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.FIELD.FIELDS.DEFAULT-VALUE' | translate}}" required="false"></app-description-template-editor-default-value-component>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6" *ngIf="isDateType(form.get('data')?.get('fieldType')?.value)">
|
<div class="col-6" *ngIf="isDateType(form.get('data')?.get('fieldType')?.value)">
|
||||||
|
@ -143,9 +143,6 @@
|
||||||
<div class="col-6" *ngIf="isBooleanType(form.get('data')?.get('fieldType')?.value)">
|
<div class="col-6" *ngIf="isBooleanType(form.get('data')?.get('fieldType')?.value)">
|
||||||
<app-description-template-editor-default-value-component [fieldType]="form.get('data').get('fieldType').value" [form]="this.form.get('defaultValue')?.get('booleanValue')" [formArrayOptions]="form.get('data')?.get('options')" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.FIELD.FIELDS.DEFAULT-VALUE' | translate}}" required="false"></app-description-template-editor-default-value-component>
|
<app-description-template-editor-default-value-component [fieldType]="form.get('data').get('fieldType').value" [form]="this.form.get('defaultValue')?.get('booleanValue')" [formArrayOptions]="form.get('data')?.get('options')" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.FIELD.FIELDS.DEFAULT-VALUE' | translate}}" required="false"></app-description-template-editor-default-value-component>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6" *ngIf="isTextListType(form.get('data')?.get('fieldType')?.value)">
|
|
||||||
<app-description-template-editor-default-value-component [fieldType]="form.get('data').get('fieldType').value" [form]="this.form.get('defaultValue')?.get('textListValue')" [formArrayOptions]="form.get('data')?.get('options')" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.FIELD.FIELDS.DEFAULT-VALUE' | translate}}" required="false"></app-description-template-editor-default-value-component>
|
|
||||||
</div>
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<div class="col-12"></div>
|
<div class="col-12"></div>
|
||||||
<div class="col-auto mb-4 mt-2">
|
<div class="col-auto mb-4 mt-2">
|
||||||
|
|
|
@ -112,7 +112,6 @@ export class DescriptionTemplateEditorFieldComponent extends BaseComponent imple
|
||||||
field.defaultValue = {
|
field.defaultValue = {
|
||||||
booleanValue: null,
|
booleanValue: null,
|
||||||
dateValue: null,
|
dateValue: null,
|
||||||
textListValue: null,
|
|
||||||
textValue: null,
|
textValue: null,
|
||||||
};
|
};
|
||||||
if (!this.canApplyVisibility) {
|
if (!this.canApplyVisibility) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<div class="row align-items-center" *ngFor="let ruleFormGroup of form['controls'] let i=index;" [formGroup]="ruleFormGroup">
|
<div class="row align-items-center" *ngFor="let ruleFormGroup of form['controls'] let i=index;" [formGroup]="ruleFormGroup">
|
||||||
<div class="col-auto mb-3"><span>{{i + 1}}</span></div>
|
<div class="col-auto mb-3"><span>{{i + 1}}</span></div>
|
||||||
|
|
||||||
<div class="col" *ngIf="isTextType(fieldTypeForCheck)" >
|
<div class="col" *ngIf="isTextType(fieldTypeForCheck) || isTextListType(fieldTypeForCheck)" >
|
||||||
<app-description-template-editor-default-value-component [fieldType]="fieldTypeForCheck" [form]="ruleFormGroup.get('textValue')" [formArrayOptions]="formArrayOptionsForCheck" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.RULE.FIELDS.RULE-IF'| translate}}" required="true"></app-description-template-editor-default-value-component>
|
<app-description-template-editor-default-value-component [fieldType]="fieldTypeForCheck" [form]="ruleFormGroup.get('textValue')" [formArrayOptions]="formArrayOptionsForCheck" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.RULE.FIELDS.RULE-IF'| translate}}" required="true"></app-description-template-editor-default-value-component>
|
||||||
</div>
|
</div>
|
||||||
<div class="col" *ngIf="isDateType(fieldTypeForCheck)">
|
<div class="col" *ngIf="isDateType(fieldTypeForCheck)">
|
||||||
|
@ -10,9 +10,6 @@
|
||||||
<div class="col" *ngIf="isBooleanType(fieldTypeForCheck)">
|
<div class="col" *ngIf="isBooleanType(fieldTypeForCheck)">
|
||||||
<app-description-template-editor-default-value-component [fieldType]="fieldTypeForCheck" [form]="ruleFormGroup.get('booleanValue')" [formArrayOptions]="formArrayOptionsForCheck" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.RULE.FIELDS.RULE-IF'| translate}}" required="true"></app-description-template-editor-default-value-component>
|
<app-description-template-editor-default-value-component [fieldType]="fieldTypeForCheck" [form]="ruleFormGroup.get('booleanValue')" [formArrayOptions]="formArrayOptionsForCheck" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.RULE.FIELDS.RULE-IF'| translate}}" required="true"></app-description-template-editor-default-value-component>
|
||||||
</div>
|
</div>
|
||||||
<div class="col" *ngIf="isTextListType(fieldTypeForCheck)">
|
|
||||||
<app-description-template-editor-default-value-component [fieldType]="fieldTypeForCheck" [form]="ruleFormGroup.get('textListValue')" [formArrayOptions]="formArrayOptionsForCheck" placeHolder="{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.RULE.FIELDS.RULE-IF'| translate}}" required="true"></app-description-template-editor-default-value-component>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- SELECTION -->
|
<!-- SELECTION -->
|
||||||
<div class="col">
|
<div class="col">
|
||||||
|
|
|
@ -889,7 +889,6 @@ export class DescriptionTemplateFieldEditorModel implements DescriptionTemplateF
|
||||||
export class DescriptionTemplateDefaultValueEditorModel implements DescriptionTemplateDefaultValuePersist {
|
export class DescriptionTemplateDefaultValueEditorModel implements DescriptionTemplateDefaultValuePersist {
|
||||||
target: string;
|
target: string;
|
||||||
textValue: string;
|
textValue: string;
|
||||||
textListValue: string[];
|
|
||||||
dateValue: Date;
|
dateValue: Date;
|
||||||
booleanValue: boolean;
|
booleanValue: boolean;
|
||||||
|
|
||||||
|
@ -902,7 +901,6 @@ export class DescriptionTemplateDefaultValueEditorModel implements DescriptionTe
|
||||||
fromModel(item: DescriptionTemplateDefaultValue | DescriptionTemplateDefaultValueEditorModel): DescriptionTemplateDefaultValueEditorModel {
|
fromModel(item: DescriptionTemplateDefaultValue | DescriptionTemplateDefaultValueEditorModel): DescriptionTemplateDefaultValueEditorModel {
|
||||||
if (item) {
|
if (item) {
|
||||||
this.textValue = item.textValue;
|
this.textValue = item.textValue;
|
||||||
this.textListValue = item.textListValue;
|
|
||||||
this.dateValue = item.dateValue;
|
this.dateValue = item.dateValue;
|
||||||
this.booleanValue = item.booleanValue;
|
this.booleanValue = item.booleanValue;
|
||||||
}
|
}
|
||||||
|
@ -924,7 +922,6 @@ export class DescriptionTemplateDefaultValueEditorModel implements DescriptionTe
|
||||||
|
|
||||||
return this.formBuilder.group({
|
return this.formBuilder.group({
|
||||||
textValue: [{ value: this.textValue, disabled: disabled }, context.getValidation('textValue').validators],
|
textValue: [{ value: this.textValue, disabled: disabled }, context.getValidation('textValue').validators],
|
||||||
textListValue: [{ value: this.textListValue, disabled: disabled }, context.getValidation('textListValue').validators],
|
|
||||||
dateValue: [{ value: this.dateValue, disabled: disabled }, context.getValidation('dateValue').validators],
|
dateValue: [{ value: this.dateValue, disabled: disabled }, context.getValidation('dateValue').validators],
|
||||||
booleanValue: [{ value: this.booleanValue, disabled: disabled }, context.getValidation('booleanValue').validators]
|
booleanValue: [{ value: this.booleanValue, disabled: disabled }, context.getValidation('booleanValue').validators]
|
||||||
});
|
});
|
||||||
|
@ -939,7 +936,6 @@ export class DescriptionTemplateDefaultValueEditorModel implements DescriptionTe
|
||||||
const baseContext: ValidationContext = new ValidationContext();
|
const baseContext: ValidationContext = new ValidationContext();
|
||||||
const baseValidationArray: Validation[] = new Array<Validation>();
|
const baseValidationArray: Validation[] = new Array<Validation>();
|
||||||
baseValidationArray.push({ key: 'textValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}textValue`)] });
|
baseValidationArray.push({ key: 'textValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}textValue`)] });
|
||||||
baseValidationArray.push({ key: 'textListValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}textListValue`)] });
|
|
||||||
baseValidationArray.push({ key: 'dateValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}dateValue`)] });
|
baseValidationArray.push({ key: 'dateValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}dateValue`)] });
|
||||||
baseValidationArray.push({ key: 'booleanValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}booleanValue`)] });
|
baseValidationArray.push({ key: 'booleanValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}booleanValue`)] });
|
||||||
|
|
||||||
|
@ -959,7 +955,7 @@ export class DescriptionTemplateDefaultValueEditorModel implements DescriptionTe
|
||||||
validationErrorModel
|
validationErrorModel
|
||||||
});
|
});
|
||||||
|
|
||||||
['target', 'textValue', 'textListValue', 'dateValue', 'booleanValue'].forEach(keyField => {
|
['target', 'textValue', 'dateValue', 'booleanValue'].forEach(keyField => {
|
||||||
const control = formGroup?.get(keyField);
|
const control = formGroup?.get(keyField);
|
||||||
control?.clearValidators();
|
control?.clearValidators();
|
||||||
control?.addValidators(context.getValidation(keyField).validators);
|
control?.addValidators(context.getValidation(keyField).validators);
|
||||||
|
@ -970,7 +966,6 @@ export class DescriptionTemplateDefaultValueEditorModel implements DescriptionTe
|
||||||
export class DescriptionTemplateRuleEditorModel implements DescriptionTemplateRulePersist {
|
export class DescriptionTemplateRuleEditorModel implements DescriptionTemplateRulePersist {
|
||||||
target: string;
|
target: string;
|
||||||
textValue: string;
|
textValue: string;
|
||||||
textListValue: string[];
|
|
||||||
dateValue: Date;
|
dateValue: Date;
|
||||||
booleanValue: boolean;
|
booleanValue: boolean;
|
||||||
|
|
||||||
|
@ -984,7 +979,6 @@ export class DescriptionTemplateRuleEditorModel implements DescriptionTemplateRu
|
||||||
if (item) {
|
if (item) {
|
||||||
this.target = item.target;
|
this.target = item.target;
|
||||||
this.textValue = item.textValue;
|
this.textValue = item.textValue;
|
||||||
this.textListValue = item.textListValue;
|
|
||||||
this.dateValue = item.dateValue;
|
this.dateValue = item.dateValue;
|
||||||
this.booleanValue = item.booleanValue;
|
this.booleanValue = item.booleanValue;
|
||||||
}
|
}
|
||||||
|
@ -1007,7 +1001,6 @@ export class DescriptionTemplateRuleEditorModel implements DescriptionTemplateRu
|
||||||
return this.formBuilder.group({
|
return this.formBuilder.group({
|
||||||
target: [{ value: this.target, disabled: disabled }, context.getValidation('target').validators],
|
target: [{ value: this.target, disabled: disabled }, context.getValidation('target').validators],
|
||||||
textValue: [{ value: this.textValue, disabled: disabled }, context.getValidation('textValue').validators],
|
textValue: [{ value: this.textValue, disabled: disabled }, context.getValidation('textValue').validators],
|
||||||
textListValue: [{ value: this.textListValue, disabled: disabled }, context.getValidation('textListValue').validators],
|
|
||||||
dateValue: [{ value: this.dateValue, disabled: disabled }, context.getValidation('dateValue').validators],
|
dateValue: [{ value: this.dateValue, disabled: disabled }, context.getValidation('dateValue').validators],
|
||||||
booleanValue: [{ value: this.booleanValue, disabled: disabled }, context.getValidation('booleanValue').validators]
|
booleanValue: [{ value: this.booleanValue, disabled: disabled }, context.getValidation('booleanValue').validators]
|
||||||
});
|
});
|
||||||
|
@ -1023,7 +1016,6 @@ export class DescriptionTemplateRuleEditorModel implements DescriptionTemplateRu
|
||||||
const baseValidationArray: Validation[] = new Array<Validation>();
|
const baseValidationArray: Validation[] = new Array<Validation>();
|
||||||
baseValidationArray.push({ key: 'target', validators: [Validators.required, BackendErrorValidator(validationErrorModel, `${rootPath}target`)] });
|
baseValidationArray.push({ key: 'target', validators: [Validators.required, BackendErrorValidator(validationErrorModel, `${rootPath}target`)] });
|
||||||
baseValidationArray.push({ key: 'textValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}textValue`)] });
|
baseValidationArray.push({ key: 'textValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}textValue`)] });
|
||||||
baseValidationArray.push({ key: 'textListValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}textListValue`)] });
|
|
||||||
baseValidationArray.push({ key: 'dateValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}dateValue`)] });
|
baseValidationArray.push({ key: 'dateValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}dateValue`)] });
|
||||||
baseValidationArray.push({ key: 'booleanValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}booleanValue`)] });
|
baseValidationArray.push({ key: 'booleanValue', validators: [BackendErrorValidator(validationErrorModel, `${rootPath}booleanValue`)] });
|
||||||
|
|
||||||
|
@ -1043,7 +1035,7 @@ export class DescriptionTemplateRuleEditorModel implements DescriptionTemplateRu
|
||||||
validationErrorModel
|
validationErrorModel
|
||||||
});
|
});
|
||||||
|
|
||||||
['target', 'textValue', 'textListValue', 'dateValue', 'booleanValue'].forEach(keyField => {
|
['target', 'textValue', 'dateValue', 'booleanValue'].forEach(keyField => {
|
||||||
const control = formGroup?.get(keyField);
|
const control = formGroup?.get(keyField);
|
||||||
control?.clearValidators();
|
control?.clearValidators();
|
||||||
control?.addValidators(context.getValidation(keyField).validators);
|
control?.addValidators(context.getValidation(keyField).validators);
|
||||||
|
|
|
@ -62,7 +62,6 @@ export class DescriptionTemplateEditorResolver extends BaseEditorResolver {
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.numbering)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.numbering)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.schematics)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.schematics)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.defaultValue), nameof<DescriptionTemplateDefaultValue>(x => x.textValue)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.defaultValue), nameof<DescriptionTemplateDefaultValue>(x => x.textValue)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.defaultValue), nameof<DescriptionTemplateDefaultValue>(x => x.textListValue)].join('.'),
|
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.defaultValue), nameof<DescriptionTemplateDefaultValue>(x => x.dateValue)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.defaultValue), nameof<DescriptionTemplateDefaultValue>(x => x.dateValue)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.defaultValue), nameof<DescriptionTemplateDefaultValue>(x => x.booleanValue)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.defaultValue), nameof<DescriptionTemplateDefaultValue>(x => x.booleanValue)].join('.'),
|
||||||
// [nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.fieldType)].join('.'),
|
// [nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.fieldType)].join('.'),
|
||||||
|
@ -71,7 +70,6 @@ export class DescriptionTemplateEditorResolver extends BaseEditorResolver {
|
||||||
|
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.target)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.target)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.textValue)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.textValue)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.textListValue)].join('.'),
|
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.dateValue)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.dateValue)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.booleanValue)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.visibilityRules), nameof<DescriptionTemplateRule>(x => x.booleanValue)].join('.'),
|
||||||
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.data), nameof<DescriptionTemplateBaseFieldData>(x => x.label)].join('.'),
|
[nameof<DescriptionTemplate>(x => x.definition), nameof<DescriptionTemplateDefinition>(x => x.pages), nameof<DescriptionTemplatePage>(x => x.sections), nameof<DescriptionTemplateSection>(x => x.fieldSets), nameof<DescriptionTemplateFieldSet>(x => x.fields), nameof<DescriptionTemplateField>(x => x.data), nameof<DescriptionTemplateBaseFieldData>(x => x.label)].join('.'),
|
||||||
|
|
|
@ -221,7 +221,7 @@ export class DescriptionPropertyDefinitionEditorModel implements DescriptionProp
|
||||||
definitionFieldSet.fields.forEach(definitionField => {
|
definitionFieldSet.fields.forEach(definitionField => {
|
||||||
fields.set(definitionField.id, {
|
fields.set(definitionField.id, {
|
||||||
textValue: definitionField.defaultValue ? definitionField.defaultValue.textValue : undefined,
|
textValue: definitionField.defaultValue ? definitionField.defaultValue.textValue : undefined,
|
||||||
textListValue: definitionField.defaultValue ? definitionField.defaultValue.textListValue : undefined,
|
textListValue: definitionField.defaultValue && definitionField.defaultValue.textValue && definitionField.defaultValue.textValue.length > 0 ? [definitionField.defaultValue.textValue] : undefined,
|
||||||
dateValue: definitionField.defaultValue ? definitionField.defaultValue.dateValue : undefined,
|
dateValue: definitionField.defaultValue ? definitionField.defaultValue.dateValue : undefined,
|
||||||
booleanValue: definitionField.defaultValue ? definitionField.defaultValue.booleanValue : undefined,
|
booleanValue: definitionField.defaultValue ? definitionField.defaultValue.booleanValue : undefined,
|
||||||
externalIdentifier: undefined,
|
externalIdentifier: undefined,
|
||||||
|
|
|
@ -4,7 +4,6 @@ export class RuleWithTarget {
|
||||||
source: string;
|
source: string;
|
||||||
target: string;
|
target: string;
|
||||||
textValue: string;
|
textValue: string;
|
||||||
textListValue: string[];
|
|
||||||
dateValue: Date;
|
dateValue: Date;
|
||||||
booleanValue: boolean;
|
booleanValue: boolean;
|
||||||
field: DescriptionTemplateField;
|
field: DescriptionTemplateField;
|
||||||
|
@ -14,7 +13,6 @@ export class RuleWithTarget {
|
||||||
this.source = source;
|
this.source = source;
|
||||||
this.field = fieldEntity;
|
this.field = fieldEntity;
|
||||||
this.textValue = rule.textValue;
|
this.textValue = rule.textValue;
|
||||||
this.textListValue = rule.textListValue;
|
|
||||||
this.dateValue = rule.dateValue;
|
this.dateValue = rule.dateValue;
|
||||||
this.booleanValue = rule.booleanValue;
|
this.booleanValue = rule.booleanValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -271,28 +271,24 @@ export class VisibilityRulesService {
|
||||||
if (field != null){
|
if (field != null){
|
||||||
const fieldType: DescriptionTemplateFieldType = rule.field != null && rule.field.data != null ? rule.field.data.fieldType : DescriptionTemplateFieldType.FREE_TEXT;
|
const fieldType: DescriptionTemplateFieldType = rule.field != null && rule.field.data != null ? rule.field.data.fieldType : DescriptionTemplateFieldType.FREE_TEXT;
|
||||||
if ([DescriptionTemplateFieldType.FREE_TEXT, DescriptionTemplateFieldType.RADIO_BOX, DescriptionTemplateFieldType.TEXT_AREA,
|
if ([DescriptionTemplateFieldType.FREE_TEXT, DescriptionTemplateFieldType.RADIO_BOX, DescriptionTemplateFieldType.TEXT_AREA,
|
||||||
DescriptionTemplateFieldType.RICH_TEXT_AREA, DescriptionTemplateFieldType.UPLOAD].includes(fieldType) && field.textValue != null && field.textValue.length > 0) {
|
DescriptionTemplateFieldType.RICH_TEXT_AREA].includes(fieldType) && field.textValue != null && field.textValue.length > 0) {
|
||||||
if (DescriptionTemplateFieldType.UPLOAD == fieldType){
|
if (DescriptionTemplateFieldType.UPLOAD == fieldType){
|
||||||
return false; //not apply visibility logic
|
return false; //not apply visibility logic
|
||||||
} else {
|
} else {
|
||||||
return field.textValue == rule.textValue;
|
return field.textValue == rule.textValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ([DescriptionTemplateFieldType.SELECT, DescriptionTemplateFieldType.TAGS, DescriptionTemplateFieldType.INTERNAL_ENTRIES_DMPS,
|
else if ([DescriptionTemplateFieldType.SELECT].includes(fieldType) && field.textListValue != null && field.textListValue.length > 0) {
|
||||||
DescriptionTemplateFieldType.INTERNAL_ENTRIES_DESCRIPTIONS].includes(fieldType) && field.textListValue != null && field.textListValue.length > 0) {
|
return rule.textValue != null && rule.textValue.length > 0 && field.textListValue.includes(rule.textValue);
|
||||||
return rule.textListValue != null &&
|
|
||||||
rule.textListValue.every(x=> field.textListValue.includes(x));
|
|
||||||
}
|
}
|
||||||
else if (DescriptionTemplateFieldType.REFERENCE_TYPES == fieldType) {
|
else if ([DescriptionTemplateFieldType.REFERENCE_TYPES, DescriptionTemplateFieldType.UPLOAD, DescriptionTemplateFieldType.TAGS, DescriptionTemplateFieldType.INTERNAL_ENTRIES_DMPS,
|
||||||
|
DescriptionTemplateFieldType.INTERNAL_ENTRIES_DESCRIPTIONS, DescriptionTemplateFieldType.VALIDATION, DescriptionTemplateFieldType.DATASET_IDENTIFIER].includes(fieldType)) {
|
||||||
return false; //not implemented visibility logic
|
return false; //not implemented visibility logic
|
||||||
}
|
}
|
||||||
else if ([DescriptionTemplateFieldType.CHECK_BOX, DescriptionTemplateFieldType.BOOLEAN_DECISION].includes(fieldType)) {
|
else if ([DescriptionTemplateFieldType.CHECK_BOX, DescriptionTemplateFieldType.BOOLEAN_DECISION].includes(fieldType)) {
|
||||||
return field.booleanValue == rule.booleanValue;
|
return field.booleanValue == rule.booleanValue;
|
||||||
}
|
}
|
||||||
else if (DescriptionTemplateFieldType.DATE_PICKER == fieldType && field.dateValue != null) return field.dateValue == rule.dateValue;
|
else if (DescriptionTemplateFieldType.DATE_PICKER == fieldType && field.dateValue != null) return field.dateValue == rule.dateValue;
|
||||||
else if ([DescriptionTemplateFieldType.VALIDATION, DescriptionTemplateFieldType.DATASET_IDENTIFIER].includes(fieldType) && field.externalIdentifier != null) {
|
|
||||||
return false; //not implemented visibility logic
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -434,7 +434,7 @@ public class DescriptionTemplateXmlMigrationService {
|
||||||
case SELECT -> {
|
case SELECT -> {
|
||||||
if(!this.conventionService.isNullOrEmpty(textValue)) {
|
if(!this.conventionService.isNullOrEmpty(textValue)) {
|
||||||
String[] valuesParsed = migrationTools.tryParseJsonAsObjectString(String[].class, textValue);
|
String[] valuesParsed = migrationTools.tryParseJsonAsObjectString(String[].class, textValue);
|
||||||
data.setTextListValue(valuesParsed == null ? List.of(textValue) : Arrays.stream(valuesParsed).toList());
|
data.setTextValue(valuesParsed != null && valuesParsed.length > 0 ? valuesParsed[0] : null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case DATASET_IDENTIFIER, VALIDATION -> {
|
case DATASET_IDENTIFIER, VALIDATION -> {
|
||||||
|
@ -481,7 +481,7 @@ public class DescriptionTemplateXmlMigrationService {
|
||||||
case SELECT -> {
|
case SELECT -> {
|
||||||
if(!this.conventionService.isNullOrEmpty(textValue)) {
|
if(!this.conventionService.isNullOrEmpty(textValue)) {
|
||||||
String[] valuesParsed = migrationTools.tryParseJsonAsObjectString(String[].class, textValue);
|
String[] valuesParsed = migrationTools.tryParseJsonAsObjectString(String[].class, textValue);
|
||||||
data.setTextListValue(valuesParsed == null ? List.of(textValue) : Arrays.stream(valuesParsed).toList());
|
data.setTextValue(valuesParsed != null && valuesParsed.length > 0 ? valuesParsed[0] : null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case DATASET_IDENTIFIER -> {
|
case DATASET_IDENTIFIER -> {
|
||||||
|
|
Loading…
Reference in New Issue