@sumaris-net/ngx-components 2.11.7 → 2.12.0

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.
@@ -216,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
216
216
  pure: false,
217
217
  }]
218
218
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFNaEQsTUFBTSxPQUFPLGFBQWE7SUFPZDtJQUNBO0lBUEYsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLFNBQVMsR0FBNEIsSUFBSSxDQUFDO0lBQzFDLFlBQVksR0FBcUMsSUFBSSxDQUFDO0lBQ3RELG9CQUFvQixDQUEyQjtJQUV2RCxZQUNVLE9BQTRCLEVBQzVCLElBQXVCO1FBRHZCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQzlCLENBQUM7SUFFSixTQUFTLENBQUMsSUFBc0IsRUFBRSxJQUFnQztRQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLHVEQUF1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Q2xFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQzVCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7d0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzNCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxRQUFRO1FBQ2QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7SUFDM0MsQ0FBQzt3R0F0RVUsZ0JBQWdCO3NHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zLCBGb3JtRXJyb3JUcmFuc2xhdG9yLCBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9ucyB9IGZyb20gJy4uL3ZhbGlkYXRvci9mb3JtLWVycm9yLWFkYXB0ZXIuY2xhc3MnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBlcXVhbHMsIGlzTm90TmlsIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUVycm9yJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICBwcml2YXRlIF9sYXN0Rm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0T3B0aW9uczogRm9ybUVycm9yVHJhbnNsYXRlT3B0aW9ucyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9vbkZvcm1TdGF0dXNDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBGb3JtRXJyb3JUcmFuc2xhdG9yLFxuICAgIHByaXZhdGUgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIHRyYW5zZm9ybShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBvcHRzPzogRm9ybUVycm9yVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFmb3JtKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RGb3JtICYmIGVxdWFscyhvcHRzLCB0aGlzLl9sYXN0T3B0aW9ucykpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBzdG9yZSB0aGUgcXVlcnksIGluIGNhc2UgaXQgY2hhbmdlc1xuICAgIHRoaXMuX2xhc3RGb3JtID0gZm9ybTtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0T3B0aW9ucyA9IG9wdHM7XG5cbiAgICAvLyBzZXQgdGhlIHZhbHVlXG4gICAgdGhpcy5fdXBkYXRlVmFsdWUoZm9ybSwgb3B0cyk7XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBhIHN1YnNjcmlwdGlvbiB0byBvbkxhbmdDaGFuZ2UsIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgLy8gc3Vic2NyaWJlIHRvIG9uVHJhbnNsYXRpb25DaGFuZ2UgZXZlbnQsIGluIGNhc2UgdGhlIHRyYW5zbGF0aW9ucyBjaGFuZ2VcbiAgICBpZiAoIXRoaXMuX29uRm9ybVN0YXR1c0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuX29uRm9ybVN0YXR1c0NoYW5nZXMgPSBmb3JtLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUoZm9ybSwgb3B0cywgc3RhdHVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zLCBzdGF0dXM/OiBhbnkpIHtcbiAgICBpZiAoc3RhdHVzID8gc3RhdHVzID09PSAnSU5WQUxJRCcgOiBmb3JtLmludmFsaWQpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5zZXJ2aWNlLnRyYW5zbGF0ZUZvcm1FcnJvcnMoZm9ybSwgb3B0cyk7XG4gICAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuX3ZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogU2FtZSBhIEZvcm1FcnJvclBpcGVcbiAqIEBkZXByZWNhdGVkIHVzZSBgZm9ybUVycm9yYCBpbnN0ZWFkXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZUZvcm1FcnJvcicsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JUcmFuc2xhdGVQaXBlIGV4dGVuZHMgRm9ybUVycm9yUGlwZSB7XG4gIGNvbnN0cnVjdG9yKHNlcnZpY2U6IEZvcm1FcnJvclRyYW5zbGF0b3IsIF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoc2VydmljZSwgX3JlZik7XG4gIH1cbiAgdHJhbnNmb3JtKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zIHwgRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oZm9ybSwgb3B0cyk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRDb250cm9sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEFycmF5Jyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldEFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiAoZm9ybSAmJiBpc05vdE5pbChwYXRoKSA/IGZvcm0uZ2V0KHBhdGgpIDogZm9ybSkgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0R3JvdXAnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRWYWx1ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbGFzdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0UGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbiAgcHJpdmF0ZSBfb25Db250cm9sVmFsdWVDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX29uQ29udHJvbFN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHRyYW5zZm9ybTxUID0gYW55Pihmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nLCBsaXN0ZW5TdGF0dXNDaGFuZ2VzID0gZmFsc2UpOiBUIHtcbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RDb250cm9sICYmIGVxdWFscyhwYXRoLCB0aGlzLl9sYXN0UGF0aCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBzdG9yZSB0aGUgcXVlcnksIGluIGNhc2UgaXQgY2hhbmdlc1xuICAgIHRoaXMuX2xhc3RDb250cm9sID0gZm9ybTtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0UGF0aCA9IHBhdGg7XG5cbiAgICAvLyBzZXQgdGhlIHZhbHVlXG4gICAgY29uc3QgY29udHJvbCA9IHBhdGggPyBmb3JtLmdldChwYXRoKSA6IGZvcm07XG4gICAgdGhpcy5fdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzdWJzY3JpcHRpb24sIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIC8vIHN1YnNjcmliZSB0byB2YWx1ZUNoYW5nZXMgZXZlbnRcbiAgICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXR1c0NoYW5nZXMgZXZlbnRcbiAgICAgIGlmIChsaXN0ZW5TdGF0dXNDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSBjb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFNaEQsTUFBTSxPQUFPLGFBQWE7SUFPZDtJQUNBO0lBUEYsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLFNBQVMsR0FBNEIsSUFBSSxDQUFDO0lBQzFDLFlBQVksR0FBcUMsSUFBSSxDQUFDO0lBQ3RELG9CQUFvQixDQUEyQjtJQUV2RCxZQUNVLE9BQTRCLEVBQzVCLElBQXVCO1FBRHZCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQzlCLENBQUM7SUFFSixTQUFTLENBQUMsSUFBc0IsRUFBRSxJQUFnQztRQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLHVEQUF1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Q2xFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQzVCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7d0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzNCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxRQUFRO1FBQ2QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7SUFDM0MsQ0FBQzt3R0F0RVUsZ0JBQWdCO3NHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zLCBGb3JtRXJyb3JUcmFuc2xhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGVxdWFscywgaXNOb3ROaWwgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtRXJyb3InLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX2xhc3RGb3JtOiBVbnR5cGVkRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2xhc3RPcHRpb25zOiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX29uRm9ybVN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlcnZpY2U6IEZvcm1FcnJvclRyYW5zbGF0b3IsXG4gICAgcHJpdmF0ZSBfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgdHJhbnNmb3JtKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zKTogc3RyaW5nIHtcbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBhc2sgYW5vdGhlciB0aW1lIGZvciB0aGUgc2FtZSBmb3JtIGFuZCBvcHRzLCByZXR1cm4gdGhlIGxhc3QgdmFsdWVcbiAgICBpZiAoZm9ybSA9PT0gdGhpcy5fbGFzdEZvcm0gJiYgZXF1YWxzKG9wdHMsIHRoaXMuX2xhc3RPcHRpb25zKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdEZvcm0gPSBmb3JtO1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMuX2xhc3RPcHRpb25zID0gb3B0cztcblxuICAgIC8vIHNldCB0aGUgdmFsdWVcbiAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICAvLyBzdWJzY3JpYmUgdG8gb25UcmFuc2xhdGlvbkNoYW5nZSBldmVudCwgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb25zIGNoYW5nZVxuICAgIGlmICghdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcykge1xuICAgICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcyA9IGZvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzLCBzdGF0dXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWUoZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMsIHN0YXR1cz86IGFueSkge1xuICAgIGlmIChzdGF0dXMgPyBzdGF0dXMgPT09ICdJTlZBTElEJyA6IGZvcm0uaW52YWxpZCkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnNlcnZpY2UudHJhbnNsYXRlRm9ybUVycm9ycyhmb3JtLCBvcHRzKTtcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIGFueSBleGlzdGluZyBzdWJzY3JpcHRpb24gdG8gY2hhbmdlIGV2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBfZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uRm9ybVN0YXR1c0NoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBTYW1lIGEgRm9ybUVycm9yUGlwZVxuICogQGRlcHJlY2F0ZWQgdXNlIGBmb3JtRXJyb3JgIGluc3RlYWRcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlRm9ybUVycm9yJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUgZXh0ZW5kcyBGb3JtRXJyb3JQaXBlIHtcbiAgY29uc3RydWN0b3Ioc2VydmljZTogRm9ybUVycm9yVHJhbnNsYXRvciwgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihzZXJ2aWNlLCBfcmVmKTtcbiAgfVxuICB0cmFuc2Zvcm0oZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oZm9ybSwgb3B0cyk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRDb250cm9sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEFycmF5Jyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldEFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiAoZm9ybSAmJiBpc05vdE5pbChwYXRoKSA/IGZvcm0uZ2V0KHBhdGgpIDogZm9ybSkgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0R3JvdXAnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRWYWx1ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbGFzdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0UGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbiAgcHJpdmF0ZSBfb25Db250cm9sVmFsdWVDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX29uQ29udHJvbFN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHRyYW5zZm9ybTxUID0gYW55Pihmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nLCBsaXN0ZW5TdGF0dXNDaGFuZ2VzID0gZmFsc2UpOiBUIHtcbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RDb250cm9sICYmIGVxdWFscyhwYXRoLCB0aGlzLl9sYXN0UGF0aCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBzdG9yZSB0aGUgcXVlcnksIGluIGNhc2UgaXQgY2hhbmdlc1xuICAgIHRoaXMuX2xhc3RDb250cm9sID0gZm9ybTtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0UGF0aCA9IHBhdGg7XG5cbiAgICAvLyBzZXQgdGhlIHZhbHVlXG4gICAgY29uc3QgY29udHJvbCA9IHBhdGggPyBmb3JtLmdldChwYXRoKSA6IGZvcm07XG4gICAgdGhpcy5fdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzdWJzY3JpcHRpb24sIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIC8vIHN1YnNjcmliZSB0byB2YWx1ZUNoYW5nZXMgZXZlbnRcbiAgICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXR1c0NoYW5nZXMgZXZlbnRcbiAgICAgIGlmIChsaXN0ZW5TdGF0dXNDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSBjb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -73,24 +73,15 @@ export class FormErrorTranslator {
73
73
  }, ''));
74
74
  }
75
75
  translateFormPath(path, opts) {
76
- if (opts?.pathTranslator) {
77
- return opts.pathTranslator.translateFormPath(path);
76
+ // Delegate to a path translator, if any
77
+ if (opts?.pathTranslator && opts.pathTranslator !== this) {
78
+ return opts.pathTranslator.translateFormPath(path, { ...opts, pathTranslator: null /*avoid recursive call*/ });
78
79
  }
79
- // For v2.8.x compatibility
80
- if (opts['controlPathTranslator']) {
81
- return opts['controlPathTranslator'].translateControlPath(path);
82
- }
83
- const i18nKey = (opts?.i18nPrefix || '') + changeCaseToUnderscore(path).toUpperCase();
80
+ // Default translation
81
+ const fieldName = path.substring(path.lastIndexOf('.') + 1);
82
+ const i18nKey = (opts?.i18nPrefix || '') + changeCaseToUnderscore(fieldName).toUpperCase();
84
83
  return this.translateContext.instant(i18nKey, opts?.i18nSuffix);
85
84
  }
86
- /**
87
- * @Deprecated use translateFormPath() instead
88
- * @param path
89
- * @param opts
90
- */
91
- translateControlPath(path, opts) {
92
- return this.translateFormPath(path, opts);
93
- }
94
85
  translateError(errorKey, errorContent) {
95
86
  const i18nKey = this.errorI18nKeys[errorKey] ||
96
87
  // Try to generate a standard error key, like 'ERROR.FIELD_xxx_xxx'
@@ -120,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
120
111
  type: Inject,
121
112
  args: [APP_FORM_ERROR_I18N_KEYS]
122
113
  }] }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1hZGFwdGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFLaEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQW9CLGtCQUFrQixDQUFDLENBQUM7QUFtQ2xHLE1BQU0sT0FBTyxtQkFBbUI7SUFJcEI7SUFDQTtJQUpPLGFBQWEsQ0FBb0I7SUFFbEQsWUFDVSxTQUEyQixFQUMzQixnQkFBeUMsRUFDSCxhQUFnQztRQUZ0RSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBR2pELElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlO1lBQ25DLEdBQUcsYUFBYTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQXdCLEVBQUUsSUFBNkQ7UUFDekcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFNUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNuRCxNQUFNLFNBQVMsR0FBRyxDQUFD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Q0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQixFQUFFLFlBQWtCO1FBQ2pELE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1lBQzVCLG1FQUFtRTtZQUNuRSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbEUsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2hFLElBQUksT0FBTyxLQUFLLFdBQVc7WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUVoRCwrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbkQsSUFBSSxZQUFZLEtBQUssV0FBVztnQkFBRSxPQUFPLFdBQVcsQ0FBQztRQUN2RCxDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsb0RBQW9ELFFBQVEsZ0ZBQWdGLENBQzdJLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO3dHQW5IVSxtQkFBbUIseUZBTVIsd0JBQXdCOzRHQU5uQyxtQkFBbUIsY0FETixNQUFNOzs0RkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTzdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2hhbmdlQ2FzZVRvVW5kZXJzY29yZSwgaXNFbXB0eUFycmF5LCBpc05pbCB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXBwRm9ybVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtL2Zvcm0udXRpbHMnO1xuaW1wb3J0IHsgU2hhcmVkVmFsaWRhdG9ycyB9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBPYmplY3RNYXAgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBGb3JtRXJyb3JzIH0gZnJvbSAnLi4vZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2xhdGUtY29udGV4dC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IEFQUF9GT1JNX0VSUk9SX0kxOE5fS0VZUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYmplY3RNYXA8c3RyaW5nPj4oJ2FwcEZvcm1FcnJvcktleXMnKTtcblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVBhdGhUcmFuc2xhdG9yIHtcbiAgdHJhbnNsYXRlRm9ybVBhdGg6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zIHtcbiAgaTE4blByZWZpeD86IHN0cmluZztcbiAgaTE4blN1ZmZpeD86IHN0cmluZztcbiAgcGF0aFRyYW5zbGF0b3I/OiBJRm9ybVBhdGhUcmFuc2xhdG9yO1xuICBzZXBhcmF0b3I/OiBzdHJpbmc7XG4gIHJlY3Vyc2l2ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIElGb3JtUGF0aFRyYW5zbGF0b3IgaW5zdGVhZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtQ29udHJvbFBhdGhUcmFuc2xhdG9yIHtcbiAgLyoqXG4gICAqIEBEZXByZWNhdGVkIHVzZSAndHJhbnNsYXRlQ29udHJvbFBhdGgnIGZyb20gSUZvcm1QYXRoVHJhbnNsYXRvciBpbnRlcmZhY2VcbiAgICovXG4gIHRyYW5zbGF0ZUNvbnRyb2xQYXRoOiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmc7XG59XG5cbi8qKlxuICogQERlcHJlY2F0ZWQgdXNlICdGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zJyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMgZXh0ZW5kcyBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBEZXByZWNhdGVkIHVzZSAncGF0aFRyYW5zbGF0b3InIGluc3RlYWRcbiAgICovXG4gIGNvbnRyb2xQYXRoVHJhbnNsYXRvcj86IElGb3JtQ29udHJvbFBhdGhUcmFuc2xhdG9yO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclRyYW5zbGF0b3IgaW1wbGVtZW50cyBJRm9ybVBhdGhUcmFuc2xhdG9yLCBJRm9ybUNvbnRyb2xQYXRoVHJhbnNsYXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JJMThuS2V5czogT2JqZWN0TWFwPHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVDb250ZXh0OiBUcmFuc2xhdGVDb250ZXh0U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9GT1JNX0VSUk9SX0kxOE5fS0VZUykgZXJyb3JJMThuS2V5czogT2JqZWN0TWFwPHN0cmluZz5cbiAgKSB7XG4gICAgdGhpcy5lcnJvckkxOG5LZXlzID0ge1xuICAgICAgLi4uU2hhcmVkVmFsaWRhdG9ycy5JMThOX0VSUk9SX0tFWVMsXG4gICAgICAuLi5lcnJvckkxOG5LZXlzLFxuICAgIH07XG4gIH1cblxuICB0cmFuc2xhdGVGb3JtRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMgfCBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFjb250cm9sIHx8ICFjb250cm9sLmludmFsaWQpIHJldHVybiAnJztcblxuICAgIGNvbnN0IHNlcGFyYXRvciA9IChvcHRzICYmIG9wdHMuc2VwYXJhdG9yKSB8fCAnLCAnO1xuICAgIGNvbnN0IHJlY3Vyc2l2ZSA9ICFvcHRzIHx8IG9wdHMucmVjdXJzaXZlICE9PSBmYWxzZTtcbiAgICBjb25zdCBlcnJvcnMgPSBBcHBGb3JtVXRpbHMuZ2V0Rm9ybUVycm9ycyhjb250cm9sLCB7IHJlY3Vyc2l2ZSB9KTtcbiAgICByZXR1cm4gKFxuICAgICAgZXJyb3JzICYmXG4gICAgICBPYmplY3Qua2V5cyhlcnJvcnMpLnJlZHVjZSgocmVzLCBwYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaWxkQ29udHJvbCA9IGNvbnRyb2wuZ2V0KHBhdGgpO1xuICAgICAgICAvLyBTaG91bGQgYmUgYSBjb250cm9sIG1hcCBvZiBlcnJvcnNcbiAgICAgICAgaWYgKGNoaWxkQ29udHJvbCkge1xuICAgICAgICAgIC8vIFRyeSB0byBjb252ZXJ0IHRoZSBjb250cm9sIHBhdGhcbiAgICAgICAgICBjb25zdCBpMThuUGF0aCA9IHRoaXMudHJhbnNsYXRlRm9ybVBhdGgocGF0aCwgb3B0cyk7XG5cbiAgICAgICAgICAvLyBPSywgd2UgaGF2ZSBhIGZpZWxkIG5hbWU6IHVzZSBpdFxuICAgICAgICAgIGNvbnN0IGNvbHVtbkVycm9ycyA9IE9iamVjdC5rZXlzKGNoaWxkQ29udHJvbC5lcnJvcnMpLm1hcCgoZXJyb3JLZXkpID0+IHRoaXMudHJhbnNsYXRlRXJyb3IoZXJyb3JLZXksIGNoaWxkQ29udHJvbC5lcnJvcnNbZXJyb3JLZXldKSk7XG4gICAgICAgICAgaWYgKGlzRW1wdHlBcnJheShjb2x1bW5FcnJvcnMpKSByZXR1cm4gcmVzO1xuICAgICAgICAgIC8vIEFkZCBzZXBhcmF0b3JcbiAgICAgICAgICBpZiAocmVzLmxlbmd0aCkgcmVzICs9IHNlcGFyYXRvcjtcbiAgICAgICAgICByZXR1cm4gcmVzICsgaTE4blBhdGggKyAnOiAnICsgY29sdW1uRXJyb3JzLmpvaW4oc2VwYXJhdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9yIHRyeSBhcyBnbG9iYWwgZm9ybSBlcnJvclxuICAgICAgICBjb25zdCBmb3JtRXJyb3IgPSB0aGlzLnRyYW5zbGF0ZUVycm9yKHBhdGgsIGVycm9yc1twYXRoXSk7XG4gICAgICAgIGlmIChpc05pbChmb3JtRXJyb3IpKSByZXR1cm4gcmVzO1xuICAgICAgICByZXR1cm4gcmVzICsgKHJlcy5sZW5ndGggPyBzZXBhcmF0b3IgOiAnJykgKyBmb3JtRXJyb3I7XG4gICAgICB9LCAnJylcbiAgICApO1xuICB9XG5cbiAgdHJhbnNsYXRlRXJyb3JzKGVycm9yczogRm9ybUVycm9ycywgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IChvcHRzICYmIG9wdHMuc2VwYXJhdG9yKSB8fCAnLCAnO1xuICAgIHJldHVybiAoXG4gICAgICBlcnJvcnMgJiZcbiAgICAgIE9iamVjdC5rZXlzKGVycm9ycykucmVkdWNlKChyZXMsIHBhdGgpID0+IHtcbiAgICAgICAgY29uc3QgcGF0aEVycm9ycyA9IGVycm9yc1twYXRoXTtcbiAgICAgICAgLy8gU2hvdWxkIGJlIGEgY29udHJvbCBtYXAgb2YgZXJyb3JzXG5cbiAgICAgICAgaWYgKHBhdGhFcnJvcnMpIHtcbiAgICAgICAgICAvLyBUcnkgdG8gY29udmVydCB0aGUgY29udHJvbCBwYXRoXG4gICAgICAgICAgY29uc3QgaTE4blBhdGggPSB0aGlzLnRyYW5zbGF0ZUZvcm1QYXRoKHBhdGgsIG9wdHMpO1xuXG4gICAgICAgICAgLy8gT0ssIHdlIGhhdmUgYSBmaWVsZCBuYW1lOiB1c2UgaXRcbiAgICAgICAgICBjb25zdCBjb2x1bW5FcnJvcnMgPSBPYmplY3Qua2V5cyhwYXRoRXJyb3JzKS5tYXAoKGVycm9yS2V5KSA9PiB0aGlzLnRyYW5zbGF0ZUVycm9yKGVycm9yS2V5LCBwYXRoRXJyb3JzW2Vycm9yS2V5XSkpO1xuICAgICAgICAgIGlmIChpc0VtcHR5QXJyYXkoY29sdW1uRXJyb3JzKSkgcmV0dXJuIHJlcztcbiAgICAgICAgICAvLyBBZGQgc2VwYXJhdG9yXG4gICAgICAgICAgaWYgKHJlcy5sZW5ndGgpIHJlcyArPSBzZXBhcmF0b3I7XG4gICAgICAgICAgcmV0dXJuIHJlcyArIGkxOG5QYXRoICsgJzogJyArIGNvbHVtbkVycm9ycy5qb2luKHNlcGFyYXRvcik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPciB0cnkgYXMgZ2xvYmFsIGZvcm0gZXJyb3JcbiAgICAgICAgY29uc3QgZm9ybUVycm9yID0gdGhpcy50cmFuc2xhdGVFcnJvcihwYXRoLCBwYXRoRXJyb3JzKTtcbiAgICAgICAgaWYgKGlzTmlsKGZvcm1FcnJvcikpIHJldHVybiByZXM7XG4gICAgICAgIHJldHVybiByZXMgKyAocmVzLmxlbmd0aCA/IHNlcGFyYXRvciA6ICcnKSArIGZvcm1FcnJvcjtcbiAgICAgIH0sICcnKVxuICAgICk7XG4gIH1cblxuICB0cmFuc2xhdGVGb3JtUGF0aChwYXRoOiBzdHJpbmcsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zIHwgRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmIChvcHRzPy5wYXRoVHJhbnNsYXRvcikge1xuICAgICAgcmV0dXJuIG9wdHMucGF0aFRyYW5zbGF0b3IudHJhbnNsYXRlRm9ybVBhdGgocGF0aCk7XG4gICAgfVxuICAgIC8vIEZvciB2Mi44LnggY29tcGF0aWJpbGl0eVxuICAgIGlmIChvcHRzWydjb250cm9sUGF0aFRyYW5zbGF0b3InXSkge1xuICAgICAgcmV0dXJuIG9wdHNbJ2NvbnRyb2xQYXRoVHJhbnNsYXRvciddLnRyYW5zbGF0ZUNvbnRyb2xQYXRoKHBhdGgpO1xuICAgIH1cbiAgICBjb25zdCBpMThuS2V5ID0gKG9wdHM/LmkxOG5QcmVmaXggfHwgJycpICsgY2hhbmdlQ2FzZVRvVW5kZXJzY29yZShwYXRoKS50b1VwcGVyQ2FzZSgpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZUNvbnRleHQuaW5zdGFudChpMThuS2V5LCBvcHRzPy5pMThuU3VmZml4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBARGVwcmVjYXRlZCB1c2UgdHJhbnNsYXRlRm9ybVBhdGgoKSBpbnN0ZWFkXG4gICAqIEBwYXJhbSBwYXRoXG4gICAqIEBwYXJhbSBvcHRzXG4gICAqL1xuICB0cmFuc2xhdGVDb250cm9sUGF0aChwYXRoOiBzdHJpbmcsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlRm9ybVBhdGgocGF0aCwgb3B0cyk7XG4gIH1cblxuICB0cmFuc2xhdGVFcnJvcihlcnJvcktleTogc3RyaW5nLCBlcnJvckNvbnRlbnQ/OiBhbnkpIHtcbiAgICBjb25zdCBpMThuS2V5ID1cbiAgICAgIHRoaXMuZXJyb3JJMThuS2V5c1tlcnJvcktleV0gfHxcbiAgICAgIC8vIFRyeSB0byBnZW5lcmF0ZSBhIHN0YW5kYXJkIGVycm9yIGtleSwgbGlrZSAnRVJST1IuRklFTERfeHh4X3h4eCdcbiAgICAgICdFUlJPUi5GSUVMRF8nICsgY2hhbmdlQ2FzZVRvVW5kZXJzY29yZShlcnJvcktleSkudG9VcHBlckNhc2UoKTtcblxuICAgIGxldCBpMThuTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoaTE4bktleSwgZXJyb3JDb250ZW50KTtcbiAgICBpZiAoaTE4bktleSAhPT0gaTE4bk1lc3NhZ2UpIHJldHVybiBpMThuTWVzc2FnZTtcblxuICAgIC8vIFRyeSB0byB1c2UgdGhlIGVycm9yIGNvbnRlbnQsIGFzIGFuIGkxOG4ga2V5XG4gICAgaWYgKHR5cGVvZiBlcnJvckNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpMThuTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZXJyb3JDb250ZW50KTtcbiAgICAgIGlmIChlcnJvckNvbnRlbnQgIT09IGkxOG5NZXNzYWdlKSByZXR1cm4gaTE4bk1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLy8gTm90IHRyYW5zbGF0ZWQ6IHNob3cgZXJyb3JcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYFtmb3JtLWVycm9yLWFkYXB0ZXJdIENhbm5vdCB0cmFuc2xhdGUgZXJyb3Iga2V5ICcke2Vycm9yS2V5fScuIFBsZWFzZSBhZGQgbW9yZSBmb3JtRXJyb3JzS2V5IGludG8gQVBQX0ZPUk1fRVJST1JfSTE4Tl9LRVlTIGluamVjdGlvbiB0b2tlbmBcbiAgICApO1xuXG4gICAgcmV0dXJuIGVycm9yS2V5O1xuICB9XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1hZGFwdGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFLaEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQW9CLGtCQUFrQixDQUFDLENBQUM7QUFrQmxHLE1BQU0sT0FBTyxtQkFBbUI7SUFJcEI7SUFDQTtJQUpPLGFBQWEsQ0FBb0I7SUFFbEQsWUFDVSxTQUEyQixFQUMzQixnQkFBeUMsRUFDSCxhQUFnQztRQUZ0RSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBR2pELElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlO1lBQ25DLEdBQUcsYUFBYTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQXdCLEVBQUUsSUFBZ0M7UUFDNUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFNUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNuRCxNQUFNLFNBQVMsR0FBRyxDQUFD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LE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1lBQzVCLG1FQUFtRTtZQUNuRSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbEUsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2hFLElBQUksT0FBTyxLQUFLLFdBQVc7WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUVoRCwrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbkQsSUFBSSxZQUFZLEtBQUssV0FBVztnQkFBRSxPQUFPLFdBQVcsQ0FBQztRQUN2RCxDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsb0RBQW9ELFFBQVEsZ0ZBQWdGLENBQzdJLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO3dHQTFHVSxtQkFBbUIseUZBTVIsd0JBQXdCOzRHQU5uQyxtQkFBbUIsY0FETixNQUFNOzs0RkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTzdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2hhbmdlQ2FzZVRvVW5kZXJzY29yZSwgaXNFbXB0eUFycmF5LCBpc05pbCB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXBwRm9ybVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtL2Zvcm0udXRpbHMnO1xuaW1wb3J0IHsgU2hhcmVkVmFsaWRhdG9ycyB9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBPYmplY3RNYXAgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBGb3JtRXJyb3JzIH0gZnJvbSAnLi4vZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2xhdGUtY29udGV4dC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IEFQUF9GT1JNX0VSUk9SX0kxOE5fS0VZUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYmplY3RNYXA8c3RyaW5nPj4oJ2FwcEZvcm1FcnJvcktleXMnKTtcblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVBhdGhUcmFuc2xhdG9yT3B0aW9ucyB7XG4gIGkxOG5QcmVmaXg/OiBzdHJpbmc7XG4gIGkxOG5TdWZmaXg/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUZvcm1QYXRoVHJhbnNsYXRvcjxPIGV4dGVuZHMgSUZvcm1QYXRoVHJhbnNsYXRvck9wdGlvbnMgPSBJRm9ybVBhdGhUcmFuc2xhdG9yT3B0aW9ucz4ge1xuICB0cmFuc2xhdGVGb3JtUGF0aDogKHBhdGg6IHN0cmluZywgb3B0cz86IE8pID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zIGV4dGVuZHMgSUZvcm1QYXRoVHJhbnNsYXRvck9wdGlvbnMge1xuICBwYXRoVHJhbnNsYXRvcj86IElGb3JtUGF0aFRyYW5zbGF0b3I7XG4gIHNlcGFyYXRvcj86IHN0cmluZztcbiAgcmVjdXJzaXZlPzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JUcmFuc2xhdG9yIGltcGxlbWVudHMgSUZvcm1QYXRoVHJhbnNsYXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JJMThuS2V5czogT2JqZWN0TWFwPHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVDb250ZXh0OiBUcmFuc2xhdGVDb250ZXh0U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9GT1JNX0VSUk9SX0kxOE5fS0VZUykgZXJyb3JJMThuS2V5czogT2JqZWN0TWFwPHN0cmluZz5cbiAgKSB7XG4gICAgdGhpcy5lcnJvckkxOG5LZXlzID0ge1xuICAgICAgLi4uU2hhcmVkVmFsaWRhdG9ycy5JMThOX0VSUk9SX0tFWVMsXG4gICAgICAuLi5lcnJvckkxOG5LZXlzLFxuICAgIH07XG4gIH1cblxuICB0cmFuc2xhdGVGb3JtRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmICghY29udHJvbCB8fCAhY29udHJvbC5pbnZhbGlkKSByZXR1cm4gJyc7XG5cbiAgICBjb25zdCBzZXBhcmF0b3IgPSAob3B0cyAmJiBvcHRzLnNlcGFyYXRvcikgfHwgJywgJztcbiAgICBjb25zdCByZWN1cnNpdmUgPSAhb3B0cyB8fCBvcHRzLnJlY3Vyc2l2ZSAhPT0gZmFsc2U7XG4gICAgY29uc3QgZXJyb3JzID0gQXBwRm9ybVV0aWxzLmdldEZvcm1FcnJvcnMoY29udHJvbCwgeyByZWN1cnNpdmUgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIGVycm9ycyAmJlxuICAgICAgT2JqZWN0LmtleXMoZXJyb3JzKS5yZWR1Y2UoKHJlcywgcGF0aCkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZENvbnRyb2wgPSBjb250cm9sLmdldChwYXRoKTtcbiAgICAgICAgLy8gU2hvdWxkIGJlIGEgY29udHJvbCBtYXAgb2YgZXJyb3JzXG4gICAgICAgIGlmIChjaGlsZENvbnRyb2wpIHtcbiAgICAgICAgICAvLyBUcnkgdG8gY29udmVydCB0aGUgY29udHJvbCBwYXRoXG4gICAgICAgICAgY29uc3QgaTE4blBhdGggPSB0aGlzLnRyYW5zbGF0ZUZvcm1QYXRoKHBhdGgsIG9wdHMpO1xuXG4gICAgICAgICAgLy8gT0ssIHdlIGhhdmUgYSBmaWVsZCBuYW1lOiB1c2UgaXRcbiAgICAgICAgICBjb25zdCBjb2x1bW5FcnJvcnMgPSBPYmplY3Qua2V5cyhjaGlsZENvbnRyb2wuZXJyb3JzKS5tYXAoKGVycm9yS2V5KSA9PiB0aGlzLnRyYW5zbGF0ZUVycm9yKGVycm9yS2V5LCBjaGlsZENvbnRyb2wuZXJyb3JzW2Vycm9yS2V5XSkpO1xuICAgICAgICAgIGlmIChpc0VtcHR5QXJyYXkoY29sdW1uRXJyb3JzKSkgcmV0dXJuIHJlcztcbiAgICAgICAgICAvLyBBZGQgc2VwYXJhdG9yXG4gICAgICAgICAgaWYgKHJlcy5sZW5ndGgpIHJlcyArPSBzZXBhcmF0b3I7XG4gICAgICAgICAgcmV0dXJuIHJlcyArIGkxOG5QYXRoICsgJzogJyArIGNvbHVtbkVycm9ycy5qb2luKHNlcGFyYXRvcik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPciB0cnkgYXMgZ2xvYmFsIGZvcm0gZXJyb3JcbiAgICAgICAgY29uc3QgZm9ybUVycm9yID0gdGhpcy50cmFuc2xhdGVFcnJvcihwYXRoLCBlcnJvcnNbcGF0aF0pO1xuICAgICAgICBpZiAoaXNOaWwoZm9ybUVycm9yKSkgcmV0dXJuIHJlcztcbiAgICAgICAgcmV0dXJuIHJlcyArIChyZXMubGVuZ3RoID8gc2VwYXJhdG9yIDogJycpICsgZm9ybUVycm9yO1xuICAgICAgfSwgJycpXG4gICAgKTtcbiAgfVxuXG4gIHRyYW5zbGF0ZUVycm9ycyhlcnJvcnM6IEZvcm1FcnJvcnMsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZXBhcmF0b3IgPSAob3B0cyAmJiBvcHRzLnNlcGFyYXRvcikgfHwgJywgJztcbiAgICByZXR1cm4gKFxuICAgICAgZXJyb3JzICYmXG4gICAgICBPYmplY3Qua2V5cyhlcnJvcnMpLnJlZHVjZSgocmVzLCBwYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGhFcnJvcnMgPSBlcnJvcnNbcGF0aF07XG4gICAgICAgIC8vIFNob3VsZCBiZSBhIGNvbnRyb2wgbWFwIG9mIGVycm9yc1xuXG4gICAgICAgIGlmIChwYXRoRXJyb3JzKSB7XG4gICAgICAgICAgLy8gVHJ5IHRvIGNvbnZlcnQgdGhlIGNvbnRyb2wgcGF0aFxuICAgICAgICAgIGNvbnN0IGkxOG5QYXRoID0gdGhpcy50cmFuc2xhdGVGb3JtUGF0aChwYXRoLCBvcHRzKTtcblxuICAgICAgICAgIC8vIE9LLCB3ZSBoYXZlIGEgZmllbGQgbmFtZTogdXNlIGl0XG4gICAgICAgICAgY29uc3QgY29sdW1uRXJyb3JzID0gT2JqZWN0LmtleXMocGF0aEVycm9ycykubWFwKChlcnJvcktleSkgPT4gdGhpcy50cmFuc2xhdGVFcnJvcihlcnJvcktleSwgcGF0aEVycm9yc1tlcnJvcktleV0pKTtcbiAgICAgICAgICBpZiAoaXNFbXB0eUFycmF5KGNvbHVtbkVycm9ycykpIHJldHVybiByZXM7XG4gICAgICAgICAgLy8gQWRkIHNlcGFyYXRvclxuICAgICAgICAgIGlmIChyZXMubGVuZ3RoKSByZXMgKz0gc2VwYXJhdG9yO1xuICAgICAgICAgIHJldHVybiByZXMgKyBpMThuUGF0aCArICc6ICcgKyBjb2x1bW5FcnJvcnMuam9pbihzZXBhcmF0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3IgdHJ5IGFzIGdsb2JhbCBmb3JtIGVycm9yXG4gICAgICAgIGNvbnN0IGZvcm1FcnJvciA9IHRoaXMudHJhbnNsYXRlRXJyb3IocGF0aCwgcGF0aEVycm9ycyk7XG4gICAgICAgIGlmIChpc05pbChmb3JtRXJyb3IpKSByZXR1cm4gcmVzO1xuICAgICAgICByZXR1cm4gcmVzICsgKHJlcy5sZW5ndGggPyBzZXBhcmF0b3IgOiAnJykgKyBmb3JtRXJyb3I7XG4gICAgICB9LCAnJylcbiAgICApO1xuICB9XG5cbiAgdHJhbnNsYXRlRm9ybVBhdGgocGF0aDogc3RyaW5nLCBvcHRzPzogRm9ybUVycm9yVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgLy8gRGVsZWdhdGUgdG8gYSBwYXRoIHRyYW5zbGF0b3IsIGlmIGFueVxuICAgIGlmIChvcHRzPy5wYXRoVHJhbnNsYXRvciAmJiBvcHRzLnBhdGhUcmFuc2xhdG9yICE9PSB0aGlzKSB7XG4gICAgICByZXR1cm4gb3B0cy5wYXRoVHJhbnNsYXRvci50cmFuc2xhdGVGb3JtUGF0aChwYXRoLCB7IC4uLm9wdHMsIHBhdGhUcmFuc2xhdG9yOiBudWxsIC8qYXZvaWQgcmVjdXJzaXZlIGNhbGwqLyB9KTtcbiAgICB9XG5cbiAgICAvLyBEZWZhdWx0IHRyYW5zbGF0aW9uXG4gICAgY29uc3QgZmllbGROYW1lID0gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZignLicpICsgMSk7XG4gICAgY29uc3QgaTE4bktleSA9IChvcHRzPy5pMThuUHJlZml4IHx8ICcnKSArIGNoYW5nZUNhc2VUb1VuZGVyc2NvcmUoZmllbGROYW1lKS50b1VwcGVyQ2FzZSgpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZUNvbnRleHQuaW5zdGFudChpMThuS2V5LCBvcHRzPy5pMThuU3VmZml4KTtcbiAgfVxuXG4gIHRyYW5zbGF0ZUVycm9yKGVycm9yS2V5OiBzdHJpbmcsIGVycm9yQ29udGVudD86IGFueSkge1xuICAgIGNvbnN0IGkxOG5LZXkgPVxuICAgICAgdGhpcy5lcnJvckkxOG5LZXlzW2Vycm9yS2V5XSB8fFxuICAgICAgLy8gVHJ5IHRvIGdlbmVyYXRlIGEgc3RhbmRhcmQgZXJyb3Iga2V5LCBsaWtlICdFUlJPUi5GSUVMRF94eHhfeHh4J1xuICAgICAgJ0VSUk9SLkZJRUxEXycgKyBjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlKGVycm9yS2V5KS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgbGV0IGkxOG5NZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpMThuS2V5LCBlcnJvckNvbnRlbnQpO1xuICAgIGlmIChpMThuS2V5ICE9PSBpMThuTWVzc2FnZSkgcmV0dXJuIGkxOG5NZXNzYWdlO1xuXG4gICAgLy8gVHJ5IHRvIHVzZSB0aGUgZXJyb3IgY29udGVudCwgYXMgYW4gaTE4biBrZXlcbiAgICBpZiAodHlwZW9mIGVycm9yQ29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGkxOG5NZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChlcnJvckNvbnRlbnQpO1xuICAgICAgaWYgKGVycm9yQ29udGVudCAhPT0gaTE4bk1lc3NhZ2UpIHJldHVybiBpMThuTWVzc2FnZTtcbiAgICB9XG5cbiAgICAvLyBOb3QgdHJhbnNsYXRlZDogc2hvdyBlcnJvclxuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgW2Zvcm0tZXJyb3ItYWRhcHRlcl0gQ2Fubm90IHRyYW5zbGF0ZSBlcnJvciBrZXkgJyR7ZXJyb3JLZXl9Jy4gUGxlYXNlIGFkZCBtb3JlIGZvcm1FcnJvcnNLZXkgaW50byBBUFBfRk9STV9FUlJPUl9JMThOX0tFWVMgaW5qZWN0aW9uIHRva2VuYFxuICAgICk7XG5cbiAgICByZXR1cm4gZXJyb3JLZXk7XG4gIH1cbn1cbiJdfQ==
@@ -3906,24 +3906,15 @@ class FormErrorTranslator {
3906
3906
  }, ''));
3907
3907
  }
3908
3908
  translateFormPath(path, opts) {
3909
- if (opts?.pathTranslator) {
3910
- return opts.pathTranslator.translateFormPath(path);
3909
+ // Delegate to a path translator, if any
3910
+ if (opts?.pathTranslator && opts.pathTranslator !== this) {
3911
+ return opts.pathTranslator.translateFormPath(path, { ...opts, pathTranslator: null /*avoid recursive call*/ });
3911
3912
  }
3912
- // For v2.8.x compatibility
3913
- if (opts['controlPathTranslator']) {
3914
- return opts['controlPathTranslator'].translateControlPath(path);
3915
- }
3916
- const i18nKey = (opts?.i18nPrefix || '') + changeCaseToUnderscore(path).toUpperCase();
3913
+ // Default translation
3914
+ const fieldName = path.substring(path.lastIndexOf('.') + 1);
3915
+ const i18nKey = (opts?.i18nPrefix || '') + changeCaseToUnderscore(fieldName).toUpperCase();
3917
3916
  return this.translateContext.instant(i18nKey, opts?.i18nSuffix);
3918
3917
  }
3919
- /**
3920
- * @Deprecated use translateFormPath() instead
3921
- * @param path
3922
- * @param opts
3923
- */
3924
- translateControlPath(path, opts) {
3925
- return this.translateFormPath(path, opts);
3926
- }
3927
3918
  translateError(errorKey, errorContent) {
3928
3919
  const i18nKey = this.errorI18nKeys[errorKey] ||
3929
3920
  // Try to generate a standard error key, like 'ERROR.FIELD_xxx_xxx'
@@ -12001,15 +11992,6 @@ class AppForm {
12001
11992
  set _enable(value) {
12002
11993
  this._enabled = value;
12003
11994
  }
12004
- /**
12005
- * @deprecated use errorTranslateOptions instead
12006
- */
12007
- get errorTranslatorOptions() {
12008
- return this.errorTranslateOptions;
12009
- }
12010
- set errorTranslatorOptions(options) {
12011
- this.errorTranslateOptions = options;
12012
- }
12013
11995
  disable(opts) {
12014
11996
  this.form?.disable(opts);
12015
11997
  if (this._enabled) {
@@ -22280,11 +22262,11 @@ class BaseEntityService extends BaseGraphqlService {
22280
22262
  }
22281
22263
  }
22282
22264
  fillDefaultProperties(source) {
22283
- // Can be override by subclasses
22265
+ // Can be overridden by subclasses
22284
22266
  }
22285
- asObject(entity, opts) {
22286
- // Can be override by subclasses
22287
- return entity.asObject(opts);
22267
+ asObject(source, opts) {
22268
+ // Can be overridden by subclasses
22269
+ return source.asObject(opts);
22288
22270
  }
22289
22271
  getRefetchQueriesForMutation(opts) {
22290
22272
  if (opts && opts.refetchQueries)
@@ -29097,18 +29079,6 @@ class AppTable {
29097
29079
  get error$() {
29098
29080
  return this.errorSubject.asObservable();
29099
29081
  }
29100
- /**
29101
- * @deprecated use errorTranslateOptions instead
29102
- */
29103
- get errorTranslatorOptions() {
29104
- return this.errorTranslateOptions;
29105
- }
29106
- /**
29107
- * @deprecated use errorTranslateOptions instead
29108
- */
29109
- set errorTranslatorOptions(options) {
29110
- this.errorTranslateOptions = options;
29111
- }
29112
29082
  selection = new SelectionModel(true, []);
29113
29083
  permanentSelection = null;
29114
29084
  permanentSelectionChangedPrevented = false;
@@ -32303,18 +32273,6 @@ class AppAsyncTable {
32303
32273
  set error(error) {
32304
32274
  this.setError(error);
32305
32275
  }
32306
- /**
32307
- * @deprecated use errorTranslateOptions instead
32308
- */
32309
- get errorTranslatorOptions() {
32310
- return this.errorTranslateOptions;
32311
- }
32312
- /**
32313
- * @deprecated use errorTranslateOptions instead
32314
- */
32315
- set errorTranslatorOptions(options) {
32316
- this.errorTranslateOptions = options;
32317
- }
32318
32276
  selection = new SelectionModel(true, []);
32319
32277
  permanentSelection = null;
32320
32278
  permanentSelectionChangedPrevented = false;