1
0
mirror of https://github.com/pcvolkmer/onkostar-plugin-dnpm.git synced 2025-07-04 01:52:55 +00:00

Issue #5: Vorschlag für den Aufbau des Projekts

* Maven-Projekt direkt im Hauptverzeichnis
* Anpassung der Maven-POM-Datei - nicht benötigte Abhängigkeiten entfernt
* Gitignore-Datei angelegt
This commit is contained in:
2023-03-10 09:24:12 +01:00
parent 9d66c42460
commit 4b121482f1
22 changed files with 93 additions and 167 deletions

View File

@ -0,0 +1,201 @@
class FormUtils {
constructor(context) {
this.context = context;
if (!this.context.genericEditForm) {
console.error('Context does not contain "genericEditForm". Please use "new FormUtils(this)" or methods will return undefined values!');
}
}
/**
* Returns field with given name from main form if it exists
* @param fieldName
* @returns {undefined|*}
*/
getMainformField(fieldName) {
if (this.context.genericEditForm) {
const query = '[originalName=' + fieldName + ']';
const fields = this.context.genericEditForm
.query(query)
.filter(e => e.ownerCt.xtype === 'form' || e.ownerCt.xtype === 'panel' && e.ownerCt.title.length !== 0);
if (fields.length > 0) {
return this.context.genericEditForm.down('#' + fields[0].id);
}
console.error('Field with name "' + fieldName + '" not found in main form!');
}
return undefined;
}
/**
* Returns field with given field name found at given index within whole form.
* @param fieldName
* @param index
* @returns {undefined|*}
*/
getFieldAtIndex(fieldName, index) {
if (this.context.genericEditForm) {
const query = '[originalName=' + fieldName + ']';
const fields = this.context.genericEditForm.query(query);
if (fields.length > index) {
return this.context.genericEditForm.down('#' + fields[index].id);
}
console.error('Field with name "' + fieldName + '" and index "' + index + '" not found!');
}
return undefined;
}
/**
* Returns field with given field name found in section with given name.
* @param fieldName
* @param sectionName
* @returns {undefined|*}
*/
getFieldInSection(fieldName, sectionName) {
if (this.genericEditForm) {
const query = '[originalName=' + fieldName + ']';
const fields = this.context.genericEditForm
.query(query)
.filter(e => e.ownerCt.xtype === 'panel' && e.ownerCt.ownerCt.originalName === sectionName);
if (fields.length > 0) {
return this.context.genericEditForm.down('#' + fields[0].id);
}
console.error('Field with name "' + fieldName + '" not found in section with name "' + sectionName + '"!');
}
return undefined;
}
/**
* Returns value of field with given name from main form if it exists.
* @param fieldName
* @returns {undefined|*}
*/
getMainformFieldValue(fieldName) {
let mainformField = this.getMainformField(fieldName);
if (mainformField) {
return mainformField.getValue();
}
return undefined;
}
/**
* Updates field with given name to given new value.
* The field must reside in main form.
* @param fieldName
* @param newValue
* @returns {undefined|*}
*/
setMainformFieldValue(fieldName, newValue) {
let mainformField = this.getMainformField(fieldName);
if (mainformField) {
return mainformField.setValue(newValue);
}
}
/**
* Returns value of field with given name in section with given name if it exists.
* @param fieldName
* @param sectionName
* @returns {undefined|*}
*/
getFieldValueInSection(fieldName, sectionName) {
let sectionField = this.getFieldInSection(fieldName, sectionName);
if (sectionField) {
return sectionField.getValue();
}
return undefined;
}
/**
* Updates field with given name in section with given name new value.
* The field must reside in main form.
* @param fieldName
* @param sectionName
* @param newValue
* @returns {undefined|*}
*/
setFieldValueInSection(fieldName, sectionName, newValue) {
let sectionField = this.getFieldInSection(fieldName, sectionName);
if (sectionField) {
return sectionField.setValue(newValue);
}
}
/**
* Returns value of field with given field name found at given index within whole form.
* @param fieldName
* @param index
* @returns {undefined|*}
*/
getFieldValueAtIndex(fieldName, index) {
let field = this.getFieldAtIndex(fieldName, index);
if (field) {
return field.getValue();
}
return undefined;
}
/**
* Updates value of field with given field name found at given index within whole form.
* @param fieldName
* @param index
* @param newValue
* @returns {undefined|*}
*/
setFieldValueAtIndex(fieldName, index, newValue) {
let field = this.getFieldAtIndex(fieldName, index);
if (field) {
field.setValue(newValue);
}
}
/**
* Returns all values for all fields with given name.
* @param fieldName
* @returns {*|*[]}
*/
getFieldValues(fieldName) {
if (this.context.genericEditForm) {
const query = '[originalName=' + fieldName + ']';
const fields = this.context.genericEditForm.query(query);
return fields.map(f => this.context.genericEditForm.down('#' + f.id).getValue());
}
return undefined;
}
/**
* Counts blocks within given subform field name.
* @param subformFieldName
* @returns {undefined|*|number}
*/
subformBlockCount(subformFieldName) {
if (this.context.genericEditForm) {
const query = '[originalName=' + subformFieldName + ']';
const elements = this.context.genericEditForm.query(query);
if (elements.length === 0) return 0;
return elements
.map(e => e.numberOfBlocks)
.reduce((sum, num) => sum + num);
}
return undefined;
}
/**
* Returns subform field names for given subform name.
* @param subformName
* @returns {undefined|*}
*/
getSubformFieldNames(subformName) {
if (this.context.genericEditForm) {
const query = '[formName=' + subformName + ']';
return Ext.ComponentQuery
.query(query)
.map(e => e.originalName);
}
return undefined;
}
}

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
<bean id="DNPMHelper" class="DNPM.DNPMHelper" />
<bean id="Merkmalskatalog" class="DNPM.Merkmalskatalog" />
<bean id="ConsentManager" class="DNPM.ConsentManager" />
<context:component-scan base-package="ATCCodes"/>
<mvc:resources mapping="/app/lib/umr/**" location="classpath:/app/lib/umr/" />
</beans>

View File

@ -0,0 +1 @@
onkostar-api=2.11.1.1