@luomus/laji-form 15.1.95 → 15.1.96
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.
|
@@ -46,6 +46,7 @@ export default class TaxonSetPopulatorField extends React.Component<FieldProps>
|
|
|
46
46
|
getStateFromProps(): {
|
|
47
47
|
onChange: (formData: any) => Promise<void>;
|
|
48
48
|
};
|
|
49
|
+
componentDidMount(): Promise<void>;
|
|
49
50
|
onChange: (formData: any) => Promise<void>;
|
|
50
51
|
private fetchTaxaFromSet;
|
|
51
52
|
}
|
|
@@ -84,6 +84,7 @@ let TaxonSetPopulatorField = class TaxonSetPopulatorField extends React.Componen
|
|
|
84
84
|
this.unitTaxonSets = {};
|
|
85
85
|
this.onChange = (formData) => __awaiter(this, void 0, void 0, function* () {
|
|
86
86
|
var _a, _b, _c;
|
|
87
|
+
const { translations } = this.props.formContext;
|
|
87
88
|
const previousTaxonSets = this.selectedTaxonSets;
|
|
88
89
|
const currentTaxonSets = ((_a = formData === null || formData === void 0 ? void 0 : formData.taxonCensus) === null || _a === void 0 ? void 0 : _a.map((item) => item.censusTaxonSetID)) || [];
|
|
89
90
|
const deletedTaxonSets = previousTaxonSets.filter((item) => !currentTaxonSets.includes(item));
|
|
@@ -107,9 +108,7 @@ let TaxonSetPopulatorField = class TaxonSetPopulatorField extends React.Componen
|
|
|
107
108
|
((_b = unit.unitFact) === null || _b === void 0 ? void 0 : _b.broodCount) ||
|
|
108
109
|
((_c = unit.unitFact) === null || _c === void 0 ? void 0 : _c.femalesWithBroodsCount) ||
|
|
109
110
|
((_d = unit.unitFact) === null || _d === void 0 ? void 0 : _d.juvenileCount)) {
|
|
110
|
-
window.alert(
|
|
111
|
-
"This taxon set cannot be removed because it contains observations.\n\n" +
|
|
112
|
-
"Den här artgruppen kan inte tas bort eftersom det finns observationer i den.");
|
|
111
|
+
window.alert(translations === null || translations === void 0 ? void 0 : translations.TaxonSetDeletionFailed);
|
|
113
112
|
observationsExist = true;
|
|
114
113
|
const updatedFormData = Object.assign(Object.assign({}, formData), { taxonCensus: [
|
|
115
114
|
...formData.taxonCensus,
|
|
@@ -167,6 +166,30 @@ let TaxonSetPopulatorField = class TaxonSetPopulatorField extends React.Componen
|
|
|
167
166
|
getStateFromProps() {
|
|
168
167
|
return { onChange: this.onChange };
|
|
169
168
|
}
|
|
169
|
+
componentDidMount() {
|
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
+
var _a, _b, _c;
|
|
172
|
+
const taxonCensus = ((_a = this.props.formData) === null || _a === void 0 ? void 0 : _a.taxonCensus) || [];
|
|
173
|
+
this.selectedTaxonSets = taxonCensus.map((item) => item.censusTaxonSetID);
|
|
174
|
+
let resultTaxonSets = [];
|
|
175
|
+
if (this.selectedTaxonSets.length > 0) {
|
|
176
|
+
const allResults = yield Promise.all(this.selectedTaxonSets.map(taxonSetId => this.fetchTaxaFromSet(this.props, [taxonSetId])));
|
|
177
|
+
resultTaxonSets = allResults.flat().map((result) => ({
|
|
178
|
+
id: result.id,
|
|
179
|
+
taxonSets: result.taxonSets || []
|
|
180
|
+
}));
|
|
181
|
+
}
|
|
182
|
+
(_c = (_b = this.props.formData) === null || _b === void 0 ? void 0 : _b.units) === null || _c === void 0 ? void 0 : _c.forEach((unit) => {
|
|
183
|
+
var _a, _b, _c;
|
|
184
|
+
const taxonID = (_b = (_a = unit === null || unit === void 0 ? void 0 : unit.identifications) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.taxonID;
|
|
185
|
+
if (!taxonID) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const taxonSets = ((_c = resultTaxonSets === null || resultTaxonSets === void 0 ? void 0 : resultTaxonSets.find((result) => result.id === taxonID)) === null || _c === void 0 ? void 0 : _c.taxonSets) || [];
|
|
189
|
+
this.unitTaxonSets[taxonID] = taxonSets;
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
}
|
|
170
193
|
fetchTaxaFromSet(props, taxonSets) {
|
|
171
194
|
return __awaiter(this, void 0, void 0, function* () {
|
|
172
195
|
var _a;
|
package/lib/translations.json
CHANGED
|
@@ -888,5 +888,10 @@
|
|
|
888
888
|
"fi": "Samaa arvoa ei saa käyttää useammin kuin kerran",
|
|
889
889
|
"en": "The same value may not be used more than once",
|
|
890
890
|
"sv": "Samma värde får inte användas mer än en gång"
|
|
891
|
+
},
|
|
892
|
+
"taxonSetDeletionFailed": {
|
|
893
|
+
"fi": "Tätä lajiryhmää ei voi poistaa, koska siihen on kirjattu havaintoja.",
|
|
894
|
+
"en": "This taxon set cannot be removed because it contains observations.",
|
|
895
|
+
"sv": "Den här artgruppen kan inte tas bort eftersom det finns observationer i den."
|
|
891
896
|
}
|
|
892
897
|
}
|