diff --git a/src/app/components/field-set/field-set.component.ts b/src/app/components/field-set/field-set.component.ts index eea59f37d5acc5bff661eb60dc4ae1b4fbbfba7c..e083be328855ac1108b0d4db1e0bbfe7e8058846 100644 --- a/src/app/components/field-set/field-set.component.ts +++ b/src/app/components/field-set/field-set.component.ts @@ -6,7 +6,6 @@ import { ParamFieldLineComponent } from "../param-field-line/param-field-line.co import { Field } from "../../formulaire/field"; import { InputField } from "../../formulaire/input-field"; import { SelectField } from "../../formulaire/select-field"; -import { SelectFieldModel } from "../../formulaire/select-field-model"; import { FormulairePab } from "../../formulaire/definition/concrete/form-pab"; import { SelectModelFieldLineComponent } from "../select-model-field-line/select-model-field-line.component"; import { FieldsetContainer } from "../../formulaire/fieldset-container"; @@ -15,6 +14,8 @@ import { I18nService } from "../../services/internationalisation/internationalis import { sprintf } from "sprintf-js"; +import { capitalize } from "jalhyd"; + @Component({ selector: "field-set", templateUrl: "./field-set.component.html", @@ -331,6 +332,20 @@ export class FieldSetComponent implements DoCheck { return this.i18nService.localizeText("INFO_FIELDSET_MOVE_DOWN"); } + /** + * Returns the localized name for the children type of the current Nub + * @param plural if true, will return plural name + */ + private childName(plural: boolean = false) { + const type: string = this._fieldSet.nub.parent.childrenType; + console.log(`Child type for nub ${this._fieldSet.nub.constructor.name} : ${type}`); + let k = "INFO_CHILD_TYPE_" + type.toUpperCase(); + if (plural) { + k += "_PLUR"; + } + return this.i18nService.localizeText(k); + } + /** * clic sur le bouton ajouter */ @@ -343,9 +358,11 @@ export class FieldSetComponent implements DoCheck { } let msg: string; if (this.childrenToAdd === 1) { - msg = this.i18nService.localizeText("INFO_DEVICE_ADDED"); + const cns = this.childName(); + msg = sprintf(this.i18nService.localizeText("INFO_STUFF_ADDED"), cns); } else { - msg = sprintf(this.i18nService.localizeText("INFO_DEVICE_ADDED_N_TIMES"), this.childrenToAdd); + const cnp = this.childName(true); + msg = sprintf(this.i18nService.localizeText("INFO_STUFF_ADDED_N_TIMES"), this.childrenToAdd, cnp); } this.notifService.notify(msg); this.childrenToAdd = 1; // reinit to avoid confusion @@ -363,10 +380,11 @@ export class FieldSetComponent implements DoCheck { } const pos = (this._fieldSet.parent as FieldsetContainer).getFieldsetPosition(this._fieldSet) + 1; let msg: string; + const cns = capitalize(this.childName()); if (this.childrenToAdd === 1) { - msg = sprintf(this.i18nService.localizeText("INFO_DEVICE_COPIED"), pos); + msg = sprintf(this.i18nService.localizeText("INFO_STUFF_COPIED"), cns, pos); } else { - msg = sprintf(this.i18nService.localizeText("INFO_DEVICE_COPIED_N_TIMES"), pos, this.childrenToAdd); + msg = sprintf(this.i18nService.localizeText("INFO_STUFF_COPIED_N_TIMES"), cns, pos, this.childrenToAdd); } this.notifService.notify(msg); this.childrenToAdd = 1; // reinit to avoid confusion @@ -378,8 +396,9 @@ export class FieldSetComponent implements DoCheck { private onRemoveClick() { const pos = (this._fieldSet.parent as FieldsetContainer).getFieldsetPosition(this._fieldSet) + 1; this.removeFieldset.emit(this._fieldSet); + const cns = capitalize(this.childName()); this.notifService.notify( - sprintf(this.i18nService.localizeText("INFO_DEVICE_REMOVED"), pos) + sprintf(this.i18nService.localizeText("INFO_STUFF_REMOVED"), cns, pos) ); } @@ -389,8 +408,9 @@ export class FieldSetComponent implements DoCheck { private onMoveUpClick() { const pos = (this._fieldSet.parent as FieldsetContainer).getFieldsetPosition(this._fieldSet) + 1; this.moveFieldsetUp.emit(this._fieldSet); + const cns = capitalize(this.childName()); this.notifService.notify( - sprintf(this.i18nService.localizeText("INFO_DEVICE_MOVED"), pos) + sprintf(this.i18nService.localizeText("INFO_STUFF_MOVED"), cns, pos) ); } @@ -400,8 +420,9 @@ export class FieldSetComponent implements DoCheck { private onMoveDownClick() { const pos = (this._fieldSet.parent as FieldsetContainer).getFieldsetPosition(this._fieldSet) + 1; this.moveFieldsetDown.emit(this._fieldSet); + const cns = capitalize(this.childName()); this.notifService.notify( - sprintf(this.i18nService.localizeText("INFO_DEVICE_MOVED"), pos) + sprintf(this.i18nService.localizeText("INFO_STUFF_MOVED"), cns, pos) ); } diff --git a/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts b/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts index ed79365fb64766ed34a0f6f0e73fd55351f2895b..88375df9f93249d476b99bef9e516b53a3b7ca2b 100644 --- a/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts +++ b/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts @@ -142,8 +142,7 @@ export class FormulaireMacrorugoCompound extends FormulaireBase { public removeFieldset(fs: FieldSet) { if (fs.nub instanceof MacroRugo) { // suppression du sous-nub dans le Nub parent - this.deleteNub(fs.nub); - + this.mrcNub.deleteChild(fs.nub.findPositionInParent()); // suppression du fieldset this.fieldsetContainer.removeFieldset(fs); diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index c3c892a834c1cd082bc2085efb66d81de481c61b..4a82cf001f820829bdb0bc33d08be21ad6847a80 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -123,6 +123,16 @@ "INFO_DEVICE_MOVED": "Device #%s moved", "INFO_DEVICE_REMOVED": "Device #%s removed", "INFO_DEVICES_REMOVED": "%s device(s) removed", + "INFO_STUFF_ADDED": "1 %s added", + "INFO_STUFF_ADDED_N_TIMES": "%s %s added", + "INFO_STUFF_COPIED": "%s #%s copied", + "INFO_STUFF_COPIED_N_TIMES": "%s #%s copied %s times", + "INFO_STUFF_MOVED": "%s #%s moved", + "INFO_STUFF_REMOVED": "%s #%s removed", + "INFO_CHILD_TYPE_STRUCTURE": "device", + "INFO_CHILD_TYPE_STRUCTURE_PLUR": "devices", + "INFO_CHILD_TYPE_MACRORUGO": "apron", + "INFO_CHILD_TYPE_MACRORUGO_PLUR": "aprons", "INFO_FIELDSET_ADD": "Add", "INFO_FIELDSET_COPY": "Copy", "INFO_FIELDSET_REMOVE": "Remove", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index a35a29bd2cacbb5b3230404509b84c8efd9c0d3d..f60e1d225dfa647463226d7ed9c5c66206a6e2c2 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -123,6 +123,16 @@ "INFO_DEVICE_MOVED": "Ouvrage n°%s déplacé", "INFO_DEVICE_REMOVED": "Ouvrage n°%s supprimé", "INFO_DEVICES_REMOVED": "%s ouvrage(s) supprimé(s)", + "INFO_STUFF_ADDED": "1 %s ajouté(e)", + "INFO_STUFF_ADDED_N_TIMES": "%s %s ajouté(e)s", + "INFO_STUFF_COPIED": "%s n°%s copié(e)", + "INFO_STUFF_COPIED_N_TIMES": "%s n°%s copié(e) %s fois", + "INFO_STUFF_MOVED": "%s n°%s déplacé(e)", + "INFO_STUFF_REMOVED": "%s n°%s supprimé(e)", + "INFO_CHILD_TYPE_STRUCTURE": "ouvrage", + "INFO_CHILD_TYPE_STRUCTURE_PLUR": "ouvrages", + "INFO_CHILD_TYPE_MACRORUGO": "radier", + "INFO_CHILD_TYPE_MACRORUGO_PLUR": "radiers", "INFO_FIELDSET_ADD": "Ajouter", "INFO_FIELDSET_COPY": "Copier", "INFO_FIELDSET_REMOVE": "Supprimer",