@igo2/geo 17.0.0-next.11 → 17.0.0-next.13

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET01WYWx1ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9kb20nO1xuXG5pbXBvcnQgb2xGb3JtYXRGaWx0ZXIgZnJvbSAnb2wvZm9ybWF0L2ZpbHRlci9GaWx0ZXInO1xuaW1wb3J0IG9sR2VvbWV0cnkgZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgb2xTb3VyY2UgZnJvbSAnb2wvc291cmNlL1NvdXJjZSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT2djRmlsdGVyT3BlcmF0b3JUeXBlIH0gZnJvbSAnLi9vZ2MtZmlsdGVyLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlciBleHRlbmRzIG9sRm9ybWF0RmlsdGVyIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgV0ZTV3JpdGVHZXRGZWF0dXJlT3B0aW9ucyB7XG4gIGZlYXR1cmVOUz86IHN0cmluZztcbiAgZmVhdHVyZVByZWZpeD86IHN0cmluZztcbiAgZmVhdHVyZVR5cGVzOiBzdHJpbmdbXTtcbiAgc3JzTmFtZT86IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nO1xuICBvdXRwdXRGb3JtYXQ/OiBzdHJpbmc7XG4gIG1heEZlYXR1cmVzPzogbnVtYmVyO1xuICBnZW9tZXRyeU5hbWU/OiBzdHJpbmc7XG4gIHByb3BlcnR5TmFtZXM/OiBzdHJpbmdbXTtcbiAgc3RhcnRJbmRleD86IG51bWJlcjtcbiAgY291bnQ/OiBudW1iZXI7XG4gIGJib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgZmlsdGVyPzogb2xGb3JtYXRGaWx0ZXI7XG4gIHJlc3VsdFR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zID1cbiAgfCBPZ2NGaWx0ZXJDb25kaXRpb25zQXJyYXlPcHRpb25zXG4gIHwgT2djRmlsdGVyU3BhdGlhbE9wdGlvbnNcbiAgfCBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zXG4gIHwgT2djRmlsdGVySXNCZXR3ZWVuT3B0aW9uc1xuICB8IE9nY0ZpbHRlckVxdWFsVG9PcHRpb25zXG4gIHwgT2djRmlsdGVyR3JlYXRlckxlc3NPcHRpb25zXG4gIHwgT2djRmlsdGVySXNMaWtlT3B0aW9uc1xuICB8IE9nY0ZpbHRlcklzTnVsbE9wdGlvbnM7XG5cbmV4cG9ydCB0eXBlIElnb09nY0ZpbHRlck9iamVjdCA9XG4gIHwgSWdvTG9naWNhbEFycmF5T3B0aW9uc1xuICB8IEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcnNPcHRpb25zIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgZmlsdGVycz86IElnb0xvZ2ljYWxBcnJheU9wdGlvbnMgfCBBbnlCYXNlT2djRmlsdGVyT3B0aW9ucztcbiAgcHVzaEJ1dHRvbnM/OiBJZ29PZ2NTZWxlY3RvcjtcbiAgY2hlY2tib3hlcz86IElnb09nY1NlbGVjdG9yO1xuICByYWRpb0J1dHRvbnM/OiBJZ29PZ2NTZWxlY3RvcjtcbiAgc2VsZWN0PzogSWdvT2djU2VsZWN0b3I7XG4gIGF1dG9jb21wbGV0ZT86IElnb09nY1NlbGVjdG9yO1xuICBpbnRlcmZhY2VPZ2NGaWx0ZXJzPzogT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9uc1tdO1xuICBmaWx0ZXJlZD86IGJvb2xlYW47XG4gIGFkdmFuY2VkT2djRmlsdGVycz86IGJvb2xlYW47XG4gIGdlb21ldHJ5TmFtZT86IHN0cmluZztcbiAgYWxsb3dlZE9wZXJhdG9yc1R5cGU/OiBPZ2NGaWx0ZXJPcGVyYXRvclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvT2djU2VsZWN0b3Ige1xuICBncm91cHM6IFNlbGVjdG9yR3JvdXBbXTtcbiAgYnVuZGxlczogT2djU2VsZWN0b3JCdW5kbGVbXTtcbiAgc2VsZWN0b3JUeXBlOlxuICAgIHwgJ3B1c2hCdXR0b24nXG4gICAgfCAnY2hlY2tib3gnXG4gICAgfCAncmFkaW9CdXR0b24nXG4gICAgfCAnc2VsZWN0J1xuICAgIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIG9yZGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdG9yR3JvdXAge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaWRzPztcbiAgY29tcHV0ZWRTZWxlY3RvcnM/OiBPZ2NTZWxlY3RvckJ1bmRsZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1NlbGVjdG9yQnVuZGxlIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGxvZ2ljYWw/OiBzdHJpbmc7XG4gIHZlcnRpY2FsPzogYm9vbGVhbjtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICB1bmZpbHRlcmVkPzogYm9vbGVhbjtcbiAgc2VsZWN0b3JzPzpcbiAgICB8IE9nY1B1c2hCdXR0b25bXVxuICAgIHwgT2djQ2hlY2tib3hbXVxuICAgIHwgT2djUmFkaW9CdXR0b25bXVxuICAgIHwgT2djU2VsZWN0W11cbiAgICB8IE9nY0F1dG9jb21wbGV0ZVtdO1xuICBkb21TZWxlY3RvcnM/OiBJZ29Eb21TZWxlY3RvcltdO1xuICB3aWR0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NQdXNoQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGZpbHRlcnM6IElnb09nY0ZpbHRlck9iamVjdDtcbiAgY29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djQ2hlY2tib3gge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1JhZGlvQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGZpbHRlcnM6IElnb09nY0ZpbHRlck9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NTZWxlY3Qge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NBdXRvY29tcGxldGUge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyBleHRlbmRzIERhdGFTb3VyY2VPcHRpb25zIHtcbiAgb2djRmlsdGVycz86IE9nY0ZpbHRlcnNPcHRpb25zO1xuICBvbD86IG9sU291cmNlVmVjdG9yIHwgb2xTb3VyY2U7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIG9wdGlvbnM6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50PzogYm9vbGVhbik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvTG9naWNhbEFycmF5T3B0aW9ucyB7XG4gIGxvZ2ljYWw6IHN0cmluZztcbiAgZmlsdGVyczogSWdvTG9naWNhbEFycmF5T3B0aW9ucyB8IEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvRG9tU2VsZWN0b3Ige1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBkb21WYWx1ZTogRE9NVmFsdWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJDb25kaXRpb25zQXJyYXlPcHRpb25zIHtcbiAgY29uZGl0aW9uczogT2djRmlsdGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyU3BhdGlhbE9wdGlvbnMge1xuICBnZW9tZXRyeU5hbWU6IHN0cmluZztcbiAgZ2VvbWV0cnk/OiBvbEdlb21ldHJ5O1xuICB3a3RfZ2VvbWV0cnk/OiBzdHJpbmc7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBzcnNOYW1lPzogc3RyaW5nO1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyRHVyaW5nT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBiZWdpbjogc3RyaW5nO1xuICBlbmQ/OiBzdHJpbmc7XG4gIHN0ZXA6IHN0cmluZztcbiAgcmVzdHJpY3RUb1N0ZXA/OiBib29sZWFuO1xuICBzbGlkZXJPcHRpb25zPzogU2xpZGVyT3B0aW9uc0ludGVyZmFjZTtcbiAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgY2FsZW5kYXJNb2RlWWVhcj86IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJJc0JldHdlZW5PcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7XG4gIGxvd2VyQm91bmRhcnk6IG51bWJlcjtcbiAgdXBwZXJCb3VuZGFyeTogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJFcXVhbFRvT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBleHByZXNzaW9uOiBzdHJpbmcgfCBudW1iZXI7XG4gIG1hdGNoQ2FzZT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckdyZWF0ZXJMZXNzT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBleHByZXNzaW9uOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcklzTGlrZU9wdGlvbnMgZXh0ZW5kcyBPZ2NGaWx0ZXJBdHRyaWJ1dGVPcHRpb25zIHtcbiAgcGF0dGVybjogc3RyaW5nO1xuICB3aWxkQ2FyZD86IHN0cmluZztcbiAgc2luZ2xlQ2hhcj86IHN0cmluZztcbiAgZXNjYXBlQ2hhcj86IHN0cmluZztcbiAgbWF0Y2hDYXNlOiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJJc051bGxPcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnMge1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBiZWdpbj86IHN0cmluZztcbiAgZW5kPzogc3RyaW5nO1xuICBzdGVwPzogc3RyaW5nO1xuICByZXN0cmljdFRvU3RlcD86IGJvb2xlYW47XG4gIHNsaWRlck9wdGlvbnM6IFNsaWRlck9wdGlvbnNJbnRlcmZhY2U7XG4gIGRpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gIGVzY2FwZUNoYXI/OiBzdHJpbmc7XG4gIGV4cHJlc3Npb24/OiBzdHJpbmcgfCBudW1iZXI7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBmaWx0ZXJpZD86IGFueTtcbiAgZ2VvbWV0cnk/OiBvbEdlb21ldHJ5O1xuICBnZW9tZXRyeU5hbWU/OiBzdHJpbmc7XG4gIGlnb1NwYXRpYWxTZWxlY3Rvcj86IHN0cmluZztcbiAgaWdvU05SQz86IHN0cmluZztcbiAgbGV2ZWw/OiBudW1iZXI7XG4gIGxvd2VyQm91bmRhcnk/OiBudW1iZXI7XG4gIG1hdGNoQ2FzZT86IGJvb2xlYW47XG4gIG9wZXJhdG9yPzogc3RyaW5nO1xuICBwYXJlbnRMb2dpY2FsPzogc3RyaW5nO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG4gIHNpbmdsZUNoYXI/OiBzdHJpbmc7XG4gIHNyc05hbWU/OiBzdHJpbmc7XG4gIHVwcGVyQm91bmRhcnk/OiBudW1iZXI7XG4gIHdpbGRDYXJkPzogc3RyaW5nO1xuICB3a3RfZ2VvbWV0cnk/OiBzdHJpbmc7XG4gIC8vIGlkPzogc3RyaW5nO1xuICAvLyBhYmJyZXY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xpZGVyT3B0aW9uc0ludGVyZmFjZSBleHRlbmRzIE9nY0ZpbHRlckR1cmluZ09wdGlvbnMge1xuICBpbnRlcnZhbD86IG51bWJlcjtcbiAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET01WYWx1ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9kb20nO1xuXG5pbXBvcnQgb2xGb3JtYXRGaWx0ZXIgZnJvbSAnb2wvZm9ybWF0L2ZpbHRlci9GaWx0ZXInO1xuaW1wb3J0IG9sR2VvbWV0cnkgZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgb2xTb3VyY2UgZnJvbSAnb2wvc291cmNlL1NvdXJjZSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT2djRmlsdGVyT3BlcmF0b3JUeXBlIH0gZnJvbSAnLi9vZ2MtZmlsdGVyLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlciBleHRlbmRzIG9sRm9ybWF0RmlsdGVyIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgV0ZTV3JpdGVHZXRGZWF0dXJlT3B0aW9ucyB7XG4gIGZlYXR1cmVOUz86IHN0cmluZztcbiAgZmVhdHVyZVByZWZpeD86IHN0cmluZztcbiAgZmVhdHVyZVR5cGVzOiBzdHJpbmdbXTtcbiAgc3JzTmFtZT86IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nO1xuICBvdXRwdXRGb3JtYXQ/OiBzdHJpbmc7XG4gIG1heEZlYXR1cmVzPzogbnVtYmVyO1xuICBnZW9tZXRyeU5hbWU/OiBzdHJpbmc7XG4gIHByb3BlcnR5TmFtZXM/OiBzdHJpbmdbXTtcbiAgc3RhcnRJbmRleD86IG51bWJlcjtcbiAgY291bnQ/OiBudW1iZXI7XG4gIGJib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgZmlsdGVyPzogb2xGb3JtYXRGaWx0ZXI7XG4gIHJlc3VsdFR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zID1cbiAgfCBPZ2NGaWx0ZXJDb25kaXRpb25zQXJyYXlPcHRpb25zXG4gIHwgT2djRmlsdGVyU3BhdGlhbE9wdGlvbnNcbiAgfCBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zXG4gIHwgT2djRmlsdGVySXNCZXR3ZWVuT3B0aW9uc1xuICB8IE9nY0ZpbHRlckVxdWFsVG9PcHRpb25zXG4gIHwgT2djRmlsdGVyR3JlYXRlckxlc3NPcHRpb25zXG4gIHwgT2djRmlsdGVySXNMaWtlT3B0aW9uc1xuICB8IE9nY0ZpbHRlcklzTnVsbE9wdGlvbnM7XG5cbmV4cG9ydCB0eXBlIElnb09nY0ZpbHRlck9iamVjdCA9XG4gIHwgSWdvTG9naWNhbEFycmF5T3B0aW9uc1xuICB8IEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcnNPcHRpb25zIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgZmlsdGVycz86IElnb0xvZ2ljYWxBcnJheU9wdGlvbnMgfCBBbnlCYXNlT2djRmlsdGVyT3B0aW9ucztcbiAgcHVzaEJ1dHRvbnM/OiBJZ29PZ2NTZWxlY3RvcjtcbiAgY2hlY2tib3hlcz86IElnb09nY1NlbGVjdG9yO1xuICByYWRpb0J1dHRvbnM/OiBJZ29PZ2NTZWxlY3RvcjtcbiAgc2VsZWN0PzogSWdvT2djU2VsZWN0b3I7XG4gIGF1dG9jb21wbGV0ZT86IElnb09nY1NlbGVjdG9yO1xuICBpbnRlcmZhY2VPZ2NGaWx0ZXJzPzogT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9uc1tdO1xuICBmaWx0ZXJlZD86IGJvb2xlYW47XG4gIGFkdmFuY2VkT2djRmlsdGVycz86IGJvb2xlYW47XG4gIGdlb21ldHJ5TmFtZT86IHN0cmluZztcbiAgYWxsb3dlZE9wZXJhdG9yc1R5cGU/OiBPZ2NGaWx0ZXJPcGVyYXRvclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvT2djU2VsZWN0b3Ige1xuICBncm91cHM6IFNlbGVjdG9yR3JvdXBbXTtcbiAgYnVuZGxlczogT2djU2VsZWN0b3JCdW5kbGVbXTtcbiAgc2VsZWN0b3JUeXBlOlxuICAgIHwgJ3B1c2hCdXR0b24nXG4gICAgfCAnY2hlY2tib3gnXG4gICAgfCAncmFkaW9CdXR0b24nXG4gICAgfCAnc2VsZWN0J1xuICAgIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIG9yZGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdG9yR3JvdXAge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaWRzPztcbiAgY29tcHV0ZWRTZWxlY3RvcnM/OiBPZ2NTZWxlY3RvckJ1bmRsZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1NlbGVjdG9yQnVuZGxlIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGxvZ2ljYWw/OiBzdHJpbmc7XG4gIHZlcnRpY2FsPzogYm9vbGVhbjtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICB1bmZpbHRlcmVkPzogYm9vbGVhbjtcbiAgc2hvd0NoaXBzPzogYm9vbGVhbjsgLy8gdHJ1ZSBieSBkZWZhdWx0IGZvciBhdXRvY29tcGxldGVcbiAgc2VsZWN0b3JzPzpcbiAgICB8IE9nY1B1c2hCdXR0b25bXVxuICAgIHwgT2djQ2hlY2tib3hbXVxuICAgIHwgT2djUmFkaW9CdXR0b25bXVxuICAgIHwgT2djU2VsZWN0W11cbiAgICB8IE9nY0F1dG9jb21wbGV0ZVtdO1xuICBkb21TZWxlY3RvcnM/OiBJZ29Eb21TZWxlY3RvcltdO1xuICB3aWR0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NQdXNoQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGZpbHRlcnM6IElnb09nY0ZpbHRlck9iamVjdDtcbiAgY29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djQ2hlY2tib3gge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY1JhZGlvQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGZpbHRlcnM6IElnb09nY0ZpbHRlck9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NTZWxlY3Qge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NBdXRvY29tcGxldGUge1xuICB0aXRsZTogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVyczogSWdvT2djRmlsdGVyT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyBleHRlbmRzIERhdGFTb3VyY2VPcHRpb25zIHtcbiAgb2djRmlsdGVycz86IE9nY0ZpbHRlcnNPcHRpb25zO1xuICBvbD86IG9sU291cmNlVmVjdG9yIHwgb2xTb3VyY2U7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIG9wdGlvbnM6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50PzogYm9vbGVhbik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvTG9naWNhbEFycmF5T3B0aW9ucyB7XG4gIGxvZ2ljYWw6IHN0cmluZztcbiAgZmlsdGVyczogSWdvTG9naWNhbEFycmF5T3B0aW9ucyB8IEFueUJhc2VPZ2NGaWx0ZXJPcHRpb25zW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdvRG9tU2VsZWN0b3Ige1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBkb21WYWx1ZTogRE9NVmFsdWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJDb25kaXRpb25zQXJyYXlPcHRpb25zIHtcbiAgY29uZGl0aW9uczogT2djRmlsdGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyU3BhdGlhbE9wdGlvbnMge1xuICBnZW9tZXRyeU5hbWU6IHN0cmluZztcbiAgZ2VvbWV0cnk/OiBvbEdlb21ldHJ5O1xuICB3a3RfZ2VvbWV0cnk/OiBzdHJpbmc7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBzcnNOYW1lPzogc3RyaW5nO1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2djRmlsdGVyRHVyaW5nT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBiZWdpbjogc3RyaW5nO1xuICBlbmQ/OiBzdHJpbmc7XG4gIHN0ZXA6IHN0cmluZztcbiAgcmVzdHJpY3RUb1N0ZXA/OiBib29sZWFuO1xuICBzbGlkZXJPcHRpb25zPzogU2xpZGVyT3B0aW9uc0ludGVyZmFjZTtcbiAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgY2FsZW5kYXJNb2RlWWVhcj86IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJJc0JldHdlZW5PcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7XG4gIGxvd2VyQm91bmRhcnk6IG51bWJlcjtcbiAgdXBwZXJCb3VuZGFyeTogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJFcXVhbFRvT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBleHByZXNzaW9uOiBzdHJpbmcgfCBudW1iZXI7XG4gIG1hdGNoQ2FzZT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlckdyZWF0ZXJMZXNzT3B0aW9ucyBleHRlbmRzIE9nY0ZpbHRlckF0dHJpYnV0ZU9wdGlvbnMge1xuICBleHByZXNzaW9uOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9nY0ZpbHRlcklzTGlrZU9wdGlvbnMgZXh0ZW5kcyBPZ2NGaWx0ZXJBdHRyaWJ1dGVPcHRpb25zIHtcbiAgcGF0dGVybjogc3RyaW5nO1xuICB3aWxkQ2FyZD86IHN0cmluZztcbiAgc2luZ2xlQ2hhcj86IHN0cmluZztcbiAgZXNjYXBlQ2hhcj86IHN0cmluZztcbiAgbWF0Y2hDYXNlOiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBPZ2NGaWx0ZXJJc051bGxPcHRpb25zIGV4dGVuZHMgT2djRmlsdGVyQXR0cmlidXRlT3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnMge1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBiZWdpbj86IHN0cmluZztcbiAgZW5kPzogc3RyaW5nO1xuICBzdGVwPzogc3RyaW5nO1xuICByZXN0cmljdFRvU3RlcD86IGJvb2xlYW47XG4gIHNsaWRlck9wdGlvbnM6IFNsaWRlck9wdGlvbnNJbnRlcmZhY2U7XG4gIGRpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gIGVzY2FwZUNoYXI/OiBzdHJpbmc7XG4gIGV4cHJlc3Npb24/OiBzdHJpbmcgfCBudW1iZXI7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBmaWx0ZXJpZD86IGFueTtcbiAgZ2VvbWV0cnk/OiBvbEdlb21ldHJ5O1xuICBnZW9tZXRyeU5hbWU/OiBzdHJpbmc7XG4gIGlnb1NwYXRpYWxTZWxlY3Rvcj86IHN0cmluZztcbiAgaWdvU05SQz86IHN0cmluZztcbiAgbGV2ZWw/OiBudW1iZXI7XG4gIGxvd2VyQm91bmRhcnk/OiBudW1iZXI7XG4gIG1hdGNoQ2FzZT86IGJvb2xlYW47XG4gIG9wZXJhdG9yPzogc3RyaW5nO1xuICBwYXJlbnRMb2dpY2FsPzogc3RyaW5nO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG4gIHNpbmdsZUNoYXI/OiBzdHJpbmc7XG4gIHNyc05hbWU/OiBzdHJpbmc7XG4gIHVwcGVyQm91bmRhcnk/OiBudW1iZXI7XG4gIHdpbGRDYXJkPzogc3RyaW5nO1xuICB3a3RfZ2VvbWV0cnk/OiBzdHJpbmc7XG4gIC8vIGlkPzogc3RyaW5nO1xuICAvLyBhYmJyZXY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xpZGVyT3B0aW9uc0ludGVyZmFjZSBleHRlbmRzIE9nY0ZpbHRlckR1cmluZ09wdGlvbnMge1xuICBpbnRlcnZhbD86IG51bWJlcjtcbiAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4iXX0=
@@ -103,7 +103,7 @@ import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/c
103
103
  import * as i1$3 from '@angular/forms';
104
104
  import { FormsModule, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';
105
105
  import * as i6 from '@angular/material/autocomplete';
106
- import { MatAutocompleteModule, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
106
+ import { MatAutocompleteModule, MatAutocompleteTrigger, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
107
107
  import * as i6$1 from '@angular/material/core';
108
108
  import { MatOptionModule, MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';
109
109
  import * as i2$3 from '@angular/material/form-field';
@@ -150,6 +150,8 @@ import * as i2$5 from '@angular/material/slider';
150
150
  import { MatSlider, MatSliderModule } from '@angular/material/slider';
151
151
  import * as i10 from '@angular/material/button-toggle';
152
152
  import { MatButtonToggleModule, MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS } from '@angular/material/button-toggle';
153
+ import * as i17 from '@angular/material/chips';
154
+ import { MatChipsModule } from '@angular/material/chips';
153
155
  import * as i12 from '@angular/material/radio';
154
156
  import { MatRadioModule } from '@angular/material/radio';
155
157
  import * as i3$6 from '@igo2/common/dom';
@@ -17630,6 +17632,7 @@ class OgcFilterFormComponent {
17630
17632
  }
17631
17633
  _filterValues(value) {
17632
17634
  const keywordRegex = new RegExp(value
17635
+ .replace(/[.*+?^${}()|[\]\\]/g, '')
17633
17636
  .toString()
17634
17637
  .normalize('NFD')
17635
17638
  .replace(/[\u0300-\u036f]/g, ''), 'gi');
@@ -17823,6 +17826,7 @@ class OgcFilterSelectionComponent {
17823
17826
  configService;
17824
17827
  cdRef;
17825
17828
  sel;
17829
+ matAutocomplete;
17826
17830
  refreshFilters;
17827
17831
  datasource;
17828
17832
  map;
@@ -17839,6 +17843,7 @@ class OgcFilterSelectionComponent {
17839
17843
  }
17840
17844
  }
17841
17845
  _currentFilter;
17846
+ inputChangeAutocomplete = new Subject();
17842
17847
  ogcFilterOperator = OgcFilterOperator;
17843
17848
  form;
17844
17849
  ogcFilterWriter;
@@ -17846,7 +17851,7 @@ class OgcFilterSelectionComponent {
17846
17851
  selectAllSelected = false;
17847
17852
  selectEnabled$ = new BehaviorSubject(undefined);
17848
17853
  selectEnableds$ = new BehaviorSubject([]);
17849
- autocompleteEnabled$ = new BehaviorSubject(undefined);
17854
+ autocompleteEnableds$ = new BehaviorSubject([]);
17850
17855
  filteredOgcAutocomplete = {};
17851
17856
  applyFiltersTimeout;
17852
17857
  get ogcFiltersSelectors() {
@@ -17943,23 +17948,31 @@ class OgcFilterSelectionComponent {
17943
17948
  this.applyFilters();
17944
17949
  }, 750);
17945
17950
  }
17946
- get autocompleteEnabled() {
17947
- return this.autocompleteEnabled$.value;
17951
+ get autocompleteEnableds() {
17952
+ return this.autocompleteEnableds$.value;
17948
17953
  }
17949
- set autocompleteEnabled(value) {
17950
- this.autocompleteEnabled$.next(value);
17954
+ // Updates the currentAutocompleteGroup and applies filters
17955
+ set autocompleteEnableds(filterList) {
17956
+ this.autocompleteEnableds$.next(filterList);
17951
17957
  clearTimeout(this.applyFiltersTimeout);
17952
17958
  this.currentAutocompleteGroup.computedSelectors.forEach((compSelect) => {
17953
17959
  compSelect.selectors?.forEach((selector) => {
17954
- value === selector.title
17955
- ? (selector.enabled = true)
17956
- : (selector.enabled = false);
17960
+ selector.enabled = false;
17961
+ for (const filter of filterList) {
17962
+ if (filter === selector.title) {
17963
+ selector.enabled = true;
17964
+ }
17965
+ }
17957
17966
  });
17958
17967
  });
17959
17968
  this.applyFiltersTimeout = setTimeout(() => {
17960
17969
  this.applyFilters();
17961
17970
  }, 750);
17962
17971
  }
17972
+ // Indicates the checked status of autocomplete checkboxes
17973
+ checkedStatus(autocompleteFilter) {
17974
+ return this.autocompleteEnableds.includes(autocompleteFilter);
17975
+ }
17963
17976
  constructor(ogcFilterService, formBuilder, domService, configService, cdRef) {
17964
17977
  this.ogcFilterService = ogcFilterService;
17965
17978
  this.formBuilder = formBuilder;
@@ -17971,16 +17984,16 @@ class OgcFilterSelectionComponent {
17971
17984
  }
17972
17985
  buildForm() {
17973
17986
  this.form = this.formBuilder.group({
17974
- pushButtons: ['', [Validators.required]],
17975
- radioButtons: ['', [Validators.required]],
17987
+ pushButtons: [''],
17988
+ radioButtons: [''],
17976
17989
  pushButtonsGroup: ['', [Validators.required]],
17977
17990
  checkboxesGroup: ['', [Validators.required]],
17978
17991
  radioButtonsGroup: ['', [Validators.required]],
17979
17992
  selectGroup: ['', [Validators.required]],
17980
- select: ['', [Validators.required]],
17981
- selectMulti: ['', [Validators.required]],
17993
+ select: [''],
17994
+ selectMulti: [''],
17982
17995
  autocompleteGroup: ['', [Validators.required]],
17983
- autocomplete: ['', [Validators.required]]
17996
+ autocomplete: ['']
17984
17997
  });
17985
17998
  }
17986
17999
  getPushButtonsGroups() {
@@ -18025,13 +18038,13 @@ class OgcFilterSelectionComponent {
18025
18038
  if (this.datasource.options.ogcFilters.select) {
18026
18039
  this.currentSelectGroup =
18027
18040
  this.datasource.options.ogcFilters.select.groups.find((group) => group.enabled) || this.datasource.options.ogcFilters.select.groups[0];
18028
- this.getSelectEnabled();
18041
+ this.initSelectEnabled();
18029
18042
  await this.getSelectDomValues();
18030
18043
  }
18031
18044
  if (this.datasource.options.ogcFilters.autocomplete) {
18032
18045
  this.currentAutocompleteGroup =
18033
18046
  this.datasource.options.ogcFilters.autocomplete.groups.find((group) => group.enabled) || this.datasource.options.ogcFilters.autocomplete.groups[0];
18034
- this.getAutocompleteEnabled();
18047
+ this.initAutocompleteEnableds();
18035
18048
  await this.getAutocompleteDomValues();
18036
18049
  }
18037
18050
  this.applyFilters();
@@ -18083,8 +18096,12 @@ class OgcFilterSelectionComponent {
18083
18096
  .subscribe(() => {
18084
18097
  this.applyFilters();
18085
18098
  });
18099
+ // Debounce time for autocomplete filter options - value chosen arbitrarily
18100
+ this.inputChangeAutocomplete.pipe().subscribe(() => {
18101
+ this.getAutocompleteDomValues();
18102
+ });
18086
18103
  }
18087
- getSelectEnabled() {
18104
+ initSelectEnabled() {
18088
18105
  const enableds = [];
18089
18106
  let enabled;
18090
18107
  this.currentSelectGroup.computedSelectors.forEach((compSelect) => {
@@ -18113,8 +18130,8 @@ class OgcFilterSelectionComponent {
18113
18130
  }
18114
18131
  });
18115
18132
  }
18116
- getAutocompleteEnabled() {
18117
- let enabled;
18133
+ initAutocompleteEnableds() {
18134
+ let enabled = [];
18118
18135
  this.currentAutocompleteGroup.computedSelectors.forEach((compSelect) => {
18119
18136
  compSelect.selectors?.forEach((selector) => {
18120
18137
  if (selector.enabled) {
@@ -18122,11 +18139,11 @@ class OgcFilterSelectionComponent {
18122
18139
  id: selector.filters.expression,
18123
18140
  value: selector.title
18124
18141
  };
18125
- enabled = selector.title;
18142
+ enabled.push(selector.title);
18126
18143
  this.form.controls['autocomplete'].setValue(dom);
18127
18144
  }
18128
18145
  });
18129
- this.autocompleteEnabled = enabled;
18146
+ this.autocompleteEnableds = enabled;
18130
18147
  });
18131
18148
  }
18132
18149
  getToolTip(selector) {
@@ -18159,7 +18176,7 @@ class OgcFilterSelectionComponent {
18159
18176
  }
18160
18177
  }
18161
18178
  filterDOM.url
18162
- ? (domValues = (await this.domService.getDom(filterDOM)))
18179
+ ? (domValues = (await this.domService.getDomValuesFromURL(filterDOM)))
18163
18180
  : (domValues = filterDOM.values);
18164
18181
  if (domValues) {
18165
18182
  let newBundle = bundle;
@@ -18199,10 +18216,14 @@ class OgcFilterSelectionComponent {
18199
18216
  .computedSelectors.find((comp) => comp.title === newBundle.title).selectors = newBundle.selectors;
18200
18217
  }
18201
18218
  }
18202
- this.getSelectEnabled();
18219
+ this.initSelectEnabled();
18203
18220
  }
18204
18221
  }
18205
18222
  }
18223
+ // Trigger filter refresh (with debounce)
18224
+ onInputChange() {
18225
+ this.inputChangeAutocomplete.next();
18226
+ }
18206
18227
  async getAutocompleteDomValues() {
18207
18228
  for (const bundle of this.datasource.options.ogcFilters.autocomplete
18208
18229
  .bundles) {
@@ -18210,63 +18231,46 @@ class OgcFilterSelectionComponent {
18210
18231
  let domValues;
18211
18232
  for (const domSelector of bundle.domSelectors) {
18212
18233
  let filterDOM;
18213
- for (const domOptions of this.configService.getConfig('dom')) {
18214
- if (domSelector.id === domOptions.id ||
18215
- domSelector.name === domOptions.name) {
18234
+ for (const configDom of this.configService.getConfig('dom')) {
18235
+ if (domSelector.id === configDom.id ||
18236
+ domSelector.name === configDom.name) {
18216
18237
  filterDOM = {
18217
- id: domOptions.id,
18218
- url: domOptions.url,
18219
- name: domOptions.name,
18220
- values: domOptions.values
18238
+ id: configDom.id,
18239
+ url: configDom.url,
18240
+ name: configDom.name,
18241
+ values: configDom.values
18221
18242
  };
18222
18243
  }
18223
18244
  }
18224
18245
  filterDOM.url
18225
- ? (domValues = (await this.domService.getDom(filterDOM)))
18246
+ ? (domValues = (await this.domService.getDomValuesFromURL(filterDOM)))
18226
18247
  : (domValues = filterDOM.values);
18227
18248
  if (domValues) {
18228
18249
  let newBundle = bundle;
18229
18250
  newBundle.selectors = [];
18230
18251
  let selector;
18231
- for (const value of domValues) {
18252
+ for (const domValue of domValues) {
18232
18253
  selector = {
18233
- title: value.value,
18234
- enabled: this.autocompleteEnabled &&
18235
- this.autocompleteEnabled === value.value
18254
+ title: domValue.id,
18255
+ enabled: this.autocompleteEnableds?.includes(domValue.value)
18236
18256
  ? true
18237
18257
  : false,
18238
18258
  filters: {
18239
18259
  operator: domSelector.operator,
18240
18260
  propertyName: domSelector.propertyName,
18241
- expression: value.id
18261
+ expression: domValue.value
18242
18262
  }
18243
18263
  };
18244
18264
  newBundle.selectors.push(selector);
18245
18265
  }
18246
18266
  this.getAutocompleteGroups()
18247
18267
  .find((group) => group.ids.includes(newBundle.id))
18248
- .computedSelectors.find((comp) => comp.title === newBundle.title).selectors = newBundle.selectors;
18268
+ .computedSelectors.find((computedSelector) => computedSelector.title === newBundle.title).selectors = newBundle.selectors;
18249
18269
  }
18250
18270
  }
18251
18271
  this.filteredOgcAutocomplete[bundle.id] = new Observable();
18252
18272
  this.cdRef.detectChanges();
18253
- this.filteredOgcAutocomplete[bundle.id] = this.form.controls['autocomplete'].valueChanges.pipe(map((value) => {
18254
- if (value.length) {
18255
- return domValues?.filter((option) => {
18256
- const filterNormalized = value
18257
- ? value
18258
- .toLowerCase()
18259
- .normalize('NFD')
18260
- .replace(/[\u0300-\u036f]/g, '')
18261
- : '';
18262
- const featureNameNormalized = option.value
18263
- .toLowerCase()
18264
- .normalize('NFD')
18265
- .replace(/[\u0300-\u036f]/g, '');
18266
- return featureNameNormalized.includes(filterNormalized);
18267
- });
18268
- }
18269
- }));
18273
+ this.filteredOgcAutocomplete[bundle.id] = of(domValues);
18270
18274
  }
18271
18275
  }
18272
18276
  }
@@ -18340,7 +18344,7 @@ class OgcFilterSelectionComponent {
18340
18344
  this.selectEnabled = undefined;
18341
18345
  }
18342
18346
  emptyAutocomplete() {
18343
- this.autocompleteEnabled = undefined;
18347
+ this.autocompleteEnableds = [];
18344
18348
  this.form.controls['autocomplete'].setValue('');
18345
18349
  this.form.controls['autocomplete'].markAsUntouched();
18346
18350
  }
@@ -18397,12 +18401,23 @@ class OgcFilterSelectionComponent {
18397
18401
  this.selectEnabled = value;
18398
18402
  }
18399
18403
  }
18400
- autocompleteOptionClick(value) {
18401
- this.autocompleteEnabled = value.value;
18404
+ toggleAutocompleteOption(event, toggledFilter) {
18405
+ event.stopPropagation();
18406
+ this.toggleSelection(toggledFilter);
18407
+ }
18408
+ toggleSelection(toggledFilter) {
18409
+ if (this.autocompleteEnableds.includes(toggledFilter)) {
18410
+ this.autocompleteEnableds = this.autocompleteEnableds.filter((enabledFilter) => enabledFilter !== toggledFilter);
18411
+ }
18412
+ else {
18413
+ this.autocompleteEnableds = [...this.autocompleteEnableds, toggledFilter];
18414
+ }
18402
18415
  }
18403
- displayFn(dom) {
18404
- return dom ? dom.value : undefined;
18416
+ // Value displayed in the autocomplete input box
18417
+ displayFn() {
18418
+ return '';
18405
18419
  }
18420
+ // Applies filters based on the current group of all filter selection types
18406
18421
  applyFilters() {
18407
18422
  let filterQueryString = '';
18408
18423
  const conditions = [];
@@ -18520,7 +18535,7 @@ class OgcFilterSelectionComponent {
18520
18535
  }
18521
18536
  }
18522
18537
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: OgcFilterSelectionComponent, deps: [{ token: OGCFilterService }, { token: i1$3.UntypedFormBuilder }, { token: i3$6.DOMService }, { token: i1$2.ConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
18523
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: OgcFilterSelectionComponent, isStandalone: true, selector: "igo-ogc-filter-selection", inputs: { refreshFilters: "refreshFilters", datasource: "datasource", map: "map", checkboxesIndex: "checkboxesIndex", radioButtonsIndex: "radioButtonsIndex", baseIndex: "baseIndex", currentFilter: "currentFilter" }, providers: [DOMService], viewQueries: [{ propertyName: "sel", first: true, predicate: ["selection"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"form\">\n <div *ngFor=\"let selector of ogcFiltersSelectors\">\n <div\n class=\"pushButtonGroups\"\n *ngIf=\"selector.selectorType === 'pushButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getPushButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"pushButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentPushButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getPushButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentPushButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-button-toggle-group\n formControlName=\"pushButtons\"\n class=\"mat-typography\"\n appearance=\"legacy\"\n vertical=\"{{ bundleIsVertical(bundle) }}\"\n multiple=\"true\"\n >\n <mat-button-toggle\n *ngFor=\"let ogcPushButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcPushButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [ngStyle]=\"getButtonColor(ogcPushButton)\"\n [checked]=\"ogcPushButton.enabled\"\n (change)=\"onSelectionChange(ogcPushButton, selector.selectorType)\"\n [value]=\"ogcPushButton\"\n >{{ ogcPushButton.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"checkboxGroups\" *ngIf=\"selector.selectorType === 'checkbox'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getCheckboxesGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"checkboxesGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentCheckboxesGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getCheckboxesGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentCheckboxesGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngFor=\"let ogcCheckbox of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcCheckbox)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcCheckbox.enabled\"\n (change)=\"onSelectionChange(ogcCheckbox, selector.selectorType)\"\n [value]=\"ogcCheckbox\"\n >{{ ogcCheckbox.title }}\n </mat-checkbox>\n </div>\n <p\n *ngIf=\"\n isLessResults(bundle, 'checkbox') ||\n isMoreResults(bundle, 'checkbox')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'checkbox')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('checkbox')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'checkbox')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('checkbox')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </ng-container>\n </div>\n\n <div\n class=\"radioButtonGroups\"\n *ngIf=\"selector.selectorType === 'radioButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getRadioButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"radioButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentRadioButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getRadioButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentRadioButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-radio-group formControlName=\"radioButtons\" class=\"mat-typography\">\n <mat-radio-button\n *ngIf=\"bundle.unfiltered\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (change)=\"emptyRadioButtons()\"\n >{{ 'igo.geo.filter.resetFilters' | translate }}\n </mat-radio-button>\n <mat-radio-button\n *ngFor=\"let ogcRadioButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcRadioButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcRadioButton.enabled\"\n (change)=\"onSelectionChange(ogcRadioButton, selector.selectorType)\"\n [value]=\"ogcRadioButton\"\n >{{ ogcRadioButton.title }}\n </mat-radio-button>\n <p\n *ngIf=\"\n isLessResults(bundle, 'radio') || isMoreResults(bundle, 'radio')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'radio')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('radio')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'radio')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('radio')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </mat-radio-group>\n </ng-container>\n </div>\n\n <div class=\"selectGroups\" *ngIf=\"selector.selectorType === 'select'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getSelectGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"selectGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentSelectGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getSelectGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentSelectGroup.computedSelectors\">\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered && !bundle.multiple\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptySelect()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <div *ngIf=\"bundle.multiple; else notMulti\">\n <mat-select\n #selection\n [multiple]=\"bundle.multiple\"\n [placeholder]=\"bundle.title\"\n formControlName=\"selectMulti\"\n >\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngIf=\"bundle.multiple\"\n [(ngModel)]=\"selectAllSelected\"\n [ngModelOptions]=\"{ standalone: true }\"\n (change)=\"toggleAllSelection()\"\n >Tous\n </mat-checkbox>\n </div>\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle, $event)\n \"\n [value]=\"ogcSelect\"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </div>\n <ng-template #notMulti>\n <mat-select [placeholder]=\"bundle.title\" formControlName=\"select\">\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [value]=\"ogcSelect\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle)\n \"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </ng-template>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n\n <div\n class=\"autocompleteGroups\"\n *ngIf=\"selector.selectorType === 'autocomplete'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getAutocompleteGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"autocompleteGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentAutocompleteGroup\"\n >\n <mat-option\n *ngFor=\"let autocompleteGroup of getAutocompleteGroups()\"\n [value]=\"autocompleteGroup\"\n >{{ autocompleteGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentAutocompleteGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptyAutocomplete()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n *ngIf=\"filteredOgcAutocomplete[bundle.id]\"\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <input\n matInput\n type=\"text\"\n formControlName=\"autocomplete\"\n #autocomplete\n class=\"autocomplete\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"bundle.title\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n #autocomplete\n (optionSelected)=\"autocompleteOptionClick($event.option.value)\"\n [displayWith]=\"displayFn\"\n >\n <mat-option\n *ngFor=\"\n let ogcAutocomplete of filteredOgcAutocomplete[bundle.id]\n | async\n \"\n [value]=\"ogcAutocomplete\"\n >\n {{ ogcAutocomplete.value }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n </div>\n</form>\n\n<div *ngIf=\"isTemporalOperator()\">\n <mat-divider></mat-divider>\n <h3 *ngIf=\"!currentFilter.title\">\n {{ 'igo.geo.filter.reportingDate' | translate }}\n </h3>\n <h3 *ngIf=\"currentFilter.title\">{{ currentFilter.title }}</h3>\n <igo-ogc-filter-time\n [datasource]=\"datasource\"\n [currentFilter]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\"\n >\n </igo-ogc-filter-time>\n</div>\n", styles: [":host .mat-button-toggle-group{margin:5px;flex-wrap:wrap;box-shadow:none!important;width:95%}:host .checkboxes{flex-wrap:wrap;box-shadow:none}:host .groupsSelector{text-align:center}:host mat-button-toggle{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:142px}:host mat-button-toggle ::ng-deep .mat-button-toggle-label-content{line-height:unset;font-size:small;display:block}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host mat-button-toggle{width:45%}}:host ::ng-deep .material-tooltip{white-space:pre-wrap}:host mat-checkbox,:host mat-radio-button{margin:7px;width:95%;display:inline-flex;font-size:larger}:host mat-checkbox ::ng-deep label,:host mat-radio-button ::ng-deep label{white-space:normal}:host mat-checkbox{vertical-align:middle}:host mat-button{padding-right:10px;cursor:pointer}:host h3{margin:7px;text-align:left}:host u{cursor:pointer;color:#00f;margin:5px}:host p{margin:unset}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i10.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i10.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i12.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i12.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: OgcFilterTimeComponent, selector: "igo-ogc-filter-time", inputs: ["datasource", "currentFilter"], outputs: ["changeProperty"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
18538
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: OgcFilterSelectionComponent, isStandalone: true, selector: "igo-ogc-filter-selection", inputs: { refreshFilters: "refreshFilters", datasource: "datasource", map: "map", checkboxesIndex: "checkboxesIndex", radioButtonsIndex: "radioButtonsIndex", baseIndex: "baseIndex", currentFilter: "currentFilter" }, providers: [DOMService], viewQueries: [{ propertyName: "sel", first: true, predicate: ["selection"], descendants: true }, { propertyName: "matAutocomplete", first: true, predicate: MatAutocompleteTrigger, descendants: true, read: MatAutocompleteTrigger }], ngImport: i0, template: "<form [formGroup]=\"form\">\n <div *ngFor=\"let selector of ogcFiltersSelectors\">\n <div\n class=\"pushButtonGroups\"\n *ngIf=\"selector.selectorType === 'pushButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getPushButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"pushButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentPushButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getPushButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentPushButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-button-toggle-group\n formControlName=\"pushButtons\"\n class=\"mat-typography\"\n appearance=\"legacy\"\n vertical=\"{{ bundleIsVertical(bundle) }}\"\n multiple=\"true\"\n >\n <mat-button-toggle\n *ngFor=\"let ogcPushButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcPushButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [ngStyle]=\"getButtonColor(ogcPushButton)\"\n [checked]=\"ogcPushButton.enabled\"\n (change)=\"onSelectionChange(ogcPushButton, selector.selectorType)\"\n [value]=\"ogcPushButton\"\n >{{ ogcPushButton.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"checkboxGroups\" *ngIf=\"selector.selectorType === 'checkbox'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getCheckboxesGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"checkboxesGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentCheckboxesGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getCheckboxesGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentCheckboxesGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngFor=\"let ogcCheckbox of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcCheckbox)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcCheckbox.enabled\"\n (change)=\"onSelectionChange(ogcCheckbox, selector.selectorType)\"\n [value]=\"ogcCheckbox\"\n >{{ ogcCheckbox.title }}\n </mat-checkbox>\n </div>\n <p\n *ngIf=\"\n isLessResults(bundle, 'checkbox') ||\n isMoreResults(bundle, 'checkbox')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'checkbox')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('checkbox')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'checkbox')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('checkbox')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </ng-container>\n </div>\n\n <div\n class=\"radioButtonGroups\"\n *ngIf=\"selector.selectorType === 'radioButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getRadioButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"radioButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentRadioButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getRadioButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentRadioButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-radio-group formControlName=\"radioButtons\" class=\"mat-typography\">\n <mat-radio-button\n *ngIf=\"bundle.unfiltered\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (change)=\"emptyRadioButtons()\"\n >{{ 'igo.geo.filter.resetFilters' | translate }}\n </mat-radio-button>\n <mat-radio-button\n *ngFor=\"let ogcRadioButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcRadioButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcRadioButton.enabled\"\n (change)=\"onSelectionChange(ogcRadioButton, selector.selectorType)\"\n [value]=\"ogcRadioButton\"\n >{{ ogcRadioButton.title }}\n </mat-radio-button>\n <p\n *ngIf=\"\n isLessResults(bundle, 'radio') || isMoreResults(bundle, 'radio')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'radio')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('radio')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'radio')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('radio')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </mat-radio-group>\n </ng-container>\n </div>\n\n <div class=\"selectGroups\" *ngIf=\"selector.selectorType === 'select'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getSelectGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"selectGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentSelectGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getSelectGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentSelectGroup.computedSelectors\">\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered && !bundle.multiple\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptySelect()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <div *ngIf=\"bundle.multiple; else notMulti\">\n <mat-select\n #selection\n [multiple]=\"bundle.multiple\"\n [placeholder]=\"bundle.title\"\n formControlName=\"selectMulti\"\n >\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngIf=\"bundle.multiple\"\n [(ngModel)]=\"selectAllSelected\"\n [ngModelOptions]=\"{ standalone: true }\"\n (change)=\"toggleAllSelection()\"\n >Tous\n </mat-checkbox>\n </div>\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle, $event)\n \"\n [value]=\"ogcSelect\"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </div>\n <ng-template #notMulti>\n <mat-select [placeholder]=\"bundle.title\" formControlName=\"select\">\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [value]=\"ogcSelect\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle)\n \"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </ng-template>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n\n <div\n class=\"autocompleteGroups\"\n *ngIf=\"selector.selectorType === 'autocomplete'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getAutocompleteGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"autocompleteGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentAutocompleteGroup\"\n >\n <mat-option\n *ngFor=\"let autocompleteGroup of getAutocompleteGroups()\"\n [value]=\"autocompleteGroup\"\n >{{ autocompleteGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentAutocompleteGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptyAutocomplete()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n *ngIf=\"filteredOgcAutocomplete[bundle.id]\"\n floatLabel=\"always\"\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <mat-label>{{ bundle.title }}</mat-label>\n <mat-chip-set\n *ngIf=\"\n filteredOgcAutocomplete[bundle.id] && (bundle.showChips ?? true)\n \"\n >\n <mat-chip\n *ngFor=\"let autocompleteEnabled of autocompleteEnableds\"\n (removed)=\"toggleSelection(autocompleteEnabled)\"\n >\n {{ autocompleteEnabled }}\n <button\n matChipRemove\n [matTooltip]=\"'igo.geo.filter.removeFilter' | translate\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n </mat-chip-set>\n <input\n matInput\n type=\"text\"\n formControlName=\"autocomplete\"\n #input\n [matAutocomplete]=\"auto\"\n (input)=\"onInputChange()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\n <mat-option\n *ngFor=\"\n let ogcAutocomplete of filteredOgcAutocomplete[bundle.id]\n | async\n \"\n id=\"mat-option\"\n [matTooltip]=\"getToolTip(ogcAutocomplete)\"\n >\n <div\n (click)=\"\n toggleAutocompleteOption($event, ogcAutocomplete.value)\n \"\n >\n <mat-checkbox\n id=\"mat-checkbox\"\n color=\"primary\"\n [checked]=\"checkedStatus(ogcAutocomplete.value)\"\n (click)=\"\n toggleAutocompleteOption($event, ogcAutocomplete.value)\n \"\n >\n </mat-checkbox>\n {{ ogcAutocomplete.value }}\n </div>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n </div>\n</form>\n\n<div *ngIf=\"isTemporalOperator()\">\n <mat-divider></mat-divider>\n <h3 *ngIf=\"!currentFilter.title\">\n {{ 'igo.geo.filter.reportingDate' | translate }}\n </h3>\n <h3 *ngIf=\"currentFilter.title\">{{ currentFilter.title }}</h3>\n <igo-ogc-filter-time\n [datasource]=\"datasource\"\n [currentFilter]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\"\n >\n </igo-ogc-filter-time>\n</div>\n", styles: [":host .mat-button-toggle-group{margin:5px;flex-wrap:wrap;box-shadow:none!important;width:95%}:host .checkboxes{flex-wrap:wrap;box-shadow:none}:host .groupsSelector{text-align:center}:host mat-button-toggle{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:142px}:host mat-button-toggle ::ng-deep .mat-button-toggle-label-content{line-height:unset;font-size:small;display:block}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host mat-button-toggle{width:45%}}:host ::ng-deep .material-tooltip{white-space:pre-wrap}:host mat-checkbox,:host mat-radio-button{margin:7px;width:95%;display:inline-flex;font-size:larger}:host mat-checkbox ::ng-deep label,:host mat-radio-button ::ng-deep label{white-space:normal}:host mat-checkbox{vertical-align:middle}:host mat-button{padding-right:10px;cursor:pointer}:host h3{margin:7px;text-align:left}:host u{cursor:pointer;color:#00f;margin:5px}:host p{margin:unset}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i10.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i10.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i12.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i12.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: OgcFilterTimeComponent, selector: "igo-ogc-filter-time", inputs: ["datasource", "currentFilter"], outputs: ["changeProperty"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i17.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i17.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i17.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }] });
18524
18539
  }
18525
18540
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: OgcFilterSelectionComponent, decorators: [{
18526
18541
  type: Component,
@@ -18543,11 +18558,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
18543
18558
  MatAutocompleteModule,
18544
18559
  OgcFilterTimeComponent,
18545
18560
  AsyncPipe,
18546
- IgoLanguageModule
18547
- ], template: "<form [formGroup]=\"form\">\n <div *ngFor=\"let selector of ogcFiltersSelectors\">\n <div\n class=\"pushButtonGroups\"\n *ngIf=\"selector.selectorType === 'pushButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getPushButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"pushButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentPushButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getPushButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentPushButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-button-toggle-group\n formControlName=\"pushButtons\"\n class=\"mat-typography\"\n appearance=\"legacy\"\n vertical=\"{{ bundleIsVertical(bundle) }}\"\n multiple=\"true\"\n >\n <mat-button-toggle\n *ngFor=\"let ogcPushButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcPushButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [ngStyle]=\"getButtonColor(ogcPushButton)\"\n [checked]=\"ogcPushButton.enabled\"\n (change)=\"onSelectionChange(ogcPushButton, selector.selectorType)\"\n [value]=\"ogcPushButton\"\n >{{ ogcPushButton.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"checkboxGroups\" *ngIf=\"selector.selectorType === 'checkbox'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getCheckboxesGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"checkboxesGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentCheckboxesGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getCheckboxesGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentCheckboxesGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngFor=\"let ogcCheckbox of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcCheckbox)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcCheckbox.enabled\"\n (change)=\"onSelectionChange(ogcCheckbox, selector.selectorType)\"\n [value]=\"ogcCheckbox\"\n >{{ ogcCheckbox.title }}\n </mat-checkbox>\n </div>\n <p\n *ngIf=\"\n isLessResults(bundle, 'checkbox') ||\n isMoreResults(bundle, 'checkbox')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'checkbox')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('checkbox')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'checkbox')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('checkbox')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </ng-container>\n </div>\n\n <div\n class=\"radioButtonGroups\"\n *ngIf=\"selector.selectorType === 'radioButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getRadioButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"radioButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentRadioButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getRadioButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentRadioButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-radio-group formControlName=\"radioButtons\" class=\"mat-typography\">\n <mat-radio-button\n *ngIf=\"bundle.unfiltered\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (change)=\"emptyRadioButtons()\"\n >{{ 'igo.geo.filter.resetFilters' | translate }}\n </mat-radio-button>\n <mat-radio-button\n *ngFor=\"let ogcRadioButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcRadioButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcRadioButton.enabled\"\n (change)=\"onSelectionChange(ogcRadioButton, selector.selectorType)\"\n [value]=\"ogcRadioButton\"\n >{{ ogcRadioButton.title }}\n </mat-radio-button>\n <p\n *ngIf=\"\n isLessResults(bundle, 'radio') || isMoreResults(bundle, 'radio')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'radio')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('radio')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'radio')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('radio')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </mat-radio-group>\n </ng-container>\n </div>\n\n <div class=\"selectGroups\" *ngIf=\"selector.selectorType === 'select'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getSelectGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"selectGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentSelectGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getSelectGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentSelectGroup.computedSelectors\">\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered && !bundle.multiple\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptySelect()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <div *ngIf=\"bundle.multiple; else notMulti\">\n <mat-select\n #selection\n [multiple]=\"bundle.multiple\"\n [placeholder]=\"bundle.title\"\n formControlName=\"selectMulti\"\n >\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngIf=\"bundle.multiple\"\n [(ngModel)]=\"selectAllSelected\"\n [ngModelOptions]=\"{ standalone: true }\"\n (change)=\"toggleAllSelection()\"\n >Tous\n </mat-checkbox>\n </div>\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle, $event)\n \"\n [value]=\"ogcSelect\"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </div>\n <ng-template #notMulti>\n <mat-select [placeholder]=\"bundle.title\" formControlName=\"select\">\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [value]=\"ogcSelect\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle)\n \"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </ng-template>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n\n <div\n class=\"autocompleteGroups\"\n *ngIf=\"selector.selectorType === 'autocomplete'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getAutocompleteGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"autocompleteGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentAutocompleteGroup\"\n >\n <mat-option\n *ngFor=\"let autocompleteGroup of getAutocompleteGroups()\"\n [value]=\"autocompleteGroup\"\n >{{ autocompleteGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentAutocompleteGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptyAutocomplete()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n *ngIf=\"filteredOgcAutocomplete[bundle.id]\"\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <input\n matInput\n type=\"text\"\n formControlName=\"autocomplete\"\n #autocomplete\n class=\"autocomplete\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"bundle.title\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n #autocomplete\n (optionSelected)=\"autocompleteOptionClick($event.option.value)\"\n [displayWith]=\"displayFn\"\n >\n <mat-option\n *ngFor=\"\n let ogcAutocomplete of filteredOgcAutocomplete[bundle.id]\n | async\n \"\n [value]=\"ogcAutocomplete\"\n >\n {{ ogcAutocomplete.value }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n </div>\n</form>\n\n<div *ngIf=\"isTemporalOperator()\">\n <mat-divider></mat-divider>\n <h3 *ngIf=\"!currentFilter.title\">\n {{ 'igo.geo.filter.reportingDate' | translate }}\n </h3>\n <h3 *ngIf=\"currentFilter.title\">{{ currentFilter.title }}</h3>\n <igo-ogc-filter-time\n [datasource]=\"datasource\"\n [currentFilter]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\"\n >\n </igo-ogc-filter-time>\n</div>\n", styles: [":host .mat-button-toggle-group{margin:5px;flex-wrap:wrap;box-shadow:none!important;width:95%}:host .checkboxes{flex-wrap:wrap;box-shadow:none}:host .groupsSelector{text-align:center}:host mat-button-toggle{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:142px}:host mat-button-toggle ::ng-deep .mat-button-toggle-label-content{line-height:unset;font-size:small;display:block}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host mat-button-toggle{width:45%}}:host ::ng-deep .material-tooltip{white-space:pre-wrap}:host mat-checkbox,:host mat-radio-button{margin:7px;width:95%;display:inline-flex;font-size:larger}:host mat-checkbox ::ng-deep label,:host mat-radio-button ::ng-deep label{white-space:normal}:host mat-checkbox{vertical-align:middle}:host mat-button{padding-right:10px;cursor:pointer}:host h3{margin:7px;text-align:left}:host u{cursor:pointer;color:#00f;margin:5px}:host p{margin:unset}\n"] }]
18561
+ IgoLanguageModule,
18562
+ MatChipsModule
18563
+ ], template: "<form [formGroup]=\"form\">\n <div *ngFor=\"let selector of ogcFiltersSelectors\">\n <div\n class=\"pushButtonGroups\"\n *ngIf=\"selector.selectorType === 'pushButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getPushButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"pushButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentPushButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getPushButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentPushButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-button-toggle-group\n formControlName=\"pushButtons\"\n class=\"mat-typography\"\n appearance=\"legacy\"\n vertical=\"{{ bundleIsVertical(bundle) }}\"\n multiple=\"true\"\n >\n <mat-button-toggle\n *ngFor=\"let ogcPushButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcPushButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [ngStyle]=\"getButtonColor(ogcPushButton)\"\n [checked]=\"ogcPushButton.enabled\"\n (change)=\"onSelectionChange(ogcPushButton, selector.selectorType)\"\n [value]=\"ogcPushButton\"\n >{{ ogcPushButton.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"checkboxGroups\" *ngIf=\"selector.selectorType === 'checkbox'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getCheckboxesGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"checkboxesGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentCheckboxesGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getCheckboxesGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentCheckboxesGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngFor=\"let ogcCheckbox of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcCheckbox)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcCheckbox.enabled\"\n (change)=\"onSelectionChange(ogcCheckbox, selector.selectorType)\"\n [value]=\"ogcCheckbox\"\n >{{ ogcCheckbox.title }}\n </mat-checkbox>\n </div>\n <p\n *ngIf=\"\n isLessResults(bundle, 'checkbox') ||\n isMoreResults(bundle, 'checkbox')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'checkbox')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('checkbox')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'checkbox')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('checkbox')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </ng-container>\n </div>\n\n <div\n class=\"radioButtonGroups\"\n *ngIf=\"selector.selectorType === 'radioButton'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getRadioButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"radioButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentRadioButtonsGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getRadioButtonsGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentRadioButtonsGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <mat-radio-group formControlName=\"radioButtons\" class=\"mat-typography\">\n <mat-radio-button\n *ngIf=\"bundle.unfiltered\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (change)=\"emptyRadioButtons()\"\n >{{ 'igo.geo.filter.resetFilters' | translate }}\n </mat-radio-button>\n <mat-radio-button\n *ngFor=\"let ogcRadioButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcRadioButton)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcRadioButton.enabled\"\n (change)=\"onSelectionChange(ogcRadioButton, selector.selectorType)\"\n [value]=\"ogcRadioButton\"\n >{{ ogcRadioButton.title }}\n </mat-radio-button>\n <p\n *ngIf=\"\n isLessResults(bundle, 'radio') || isMoreResults(bundle, 'radio')\n \"\n >\n <u\n *ngIf=\"isLessResults(bundle, 'radio')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('radio')\"\n >{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u\n *ngIf=\"isMoreResults(bundle, 'radio')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('radio')\"\n >{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </mat-radio-group>\n </ng-container>\n </div>\n\n <div class=\"selectGroups\" *ngIf=\"selector.selectorType === 'select'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getSelectGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"selectGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentSelectGroup\"\n >\n <mat-option\n *ngFor=\"let selectorGroup of getSelectGroups()\"\n [value]=\"selectorGroup\"\n >{{ selectorGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentSelectGroup.computedSelectors\">\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered && !bundle.multiple\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptySelect()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <div *ngIf=\"bundle.multiple; else notMulti\">\n <mat-select\n #selection\n [multiple]=\"bundle.multiple\"\n [placeholder]=\"bundle.title\"\n formControlName=\"selectMulti\"\n >\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox\n *ngIf=\"bundle.multiple\"\n [(ngModel)]=\"selectAllSelected\"\n [ngModelOptions]=\"{ standalone: true }\"\n (change)=\"toggleAllSelection()\"\n >Tous\n </mat-checkbox>\n </div>\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle, $event)\n \"\n [value]=\"ogcSelect\"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </div>\n <ng-template #notMulti>\n <mat-select [placeholder]=\"bundle.title\" formControlName=\"select\">\n <mat-option\n *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\"\n tooltip-position=\"below\"\n matTooltipDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n [value]=\"ogcSelect\"\n (onSelectionChange)=\"\n selectOptionClick($event.source.value, bundle)\n \"\n >{{ ogcSelect.title }}\n </mat-option>\n </mat-select>\n </ng-template>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n\n <div\n class=\"autocompleteGroups\"\n *ngIf=\"selector.selectorType === 'autocomplete'\"\n >\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getAutocompleteGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"autocompleteGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [(value)]=\"currentAutocompleteGroup\"\n >\n <mat-option\n *ngFor=\"let autocompleteGroup of getAutocompleteGroups()\"\n [value]=\"autocompleteGroup\"\n >{{ autocompleteGroup.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container\n *ngFor=\"let bundle of currentAutocompleteGroup.computedSelectors\"\n >\n <h3>{{ bundle.title }}</h3>\n <div class=\"groupsSelector\">\n <mat-button\n *ngIf=\"bundle.unfiltered\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n matTooltipClass=\"material-tooltip\"\n (click)=\"emptyAutocomplete()\"\n >\n <mat-icon>filter_alt_off</mat-icon>\n </mat-button>\n <mat-form-field\n *ngIf=\"filteredOgcAutocomplete[bundle.id]\"\n floatLabel=\"always\"\n [style.width.%]=\"bundle.width ? bundle.width : undefined\"\n >\n <mat-label>{{ bundle.title }}</mat-label>\n <mat-chip-set\n *ngIf=\"\n filteredOgcAutocomplete[bundle.id] && (bundle.showChips ?? true)\n \"\n >\n <mat-chip\n *ngFor=\"let autocompleteEnabled of autocompleteEnableds\"\n (removed)=\"toggleSelection(autocompleteEnabled)\"\n >\n {{ autocompleteEnabled }}\n <button\n matChipRemove\n [matTooltip]=\"'igo.geo.filter.removeFilter' | translate\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n </mat-chip-set>\n <input\n matInput\n type=\"text\"\n formControlName=\"autocomplete\"\n #input\n [matAutocomplete]=\"auto\"\n (input)=\"onInputChange()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\n <mat-option\n *ngFor=\"\n let ogcAutocomplete of filteredOgcAutocomplete[bundle.id]\n | async\n \"\n id=\"mat-option\"\n [matTooltip]=\"getToolTip(ogcAutocomplete)\"\n >\n <div\n (click)=\"\n toggleAutocompleteOption($event, ogcAutocomplete.value)\n \"\n >\n <mat-checkbox\n id=\"mat-checkbox\"\n color=\"primary\"\n [checked]=\"checkedStatus(ogcAutocomplete.value)\"\n (click)=\"\n toggleAutocompleteOption($event, ogcAutocomplete.value)\n \"\n >\n </mat-checkbox>\n {{ ogcAutocomplete.value }}\n </div>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n </div>\n</form>\n\n<div *ngIf=\"isTemporalOperator()\">\n <mat-divider></mat-divider>\n <h3 *ngIf=\"!currentFilter.title\">\n {{ 'igo.geo.filter.reportingDate' | translate }}\n </h3>\n <h3 *ngIf=\"currentFilter.title\">{{ currentFilter.title }}</h3>\n <igo-ogc-filter-time\n [datasource]=\"datasource\"\n [currentFilter]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\"\n >\n </igo-ogc-filter-time>\n</div>\n", styles: [":host .mat-button-toggle-group{margin:5px;flex-wrap:wrap;box-shadow:none!important;width:95%}:host .checkboxes{flex-wrap:wrap;box-shadow:none}:host .groupsSelector{text-align:center}:host mat-button-toggle{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:142px}:host mat-button-toggle ::ng-deep .mat-button-toggle-label-content{line-height:unset;font-size:small;display:block}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host mat-button-toggle{width:45%}}:host ::ng-deep .material-tooltip{white-space:pre-wrap}:host mat-checkbox,:host mat-radio-button{margin:7px;width:95%;display:inline-flex;font-size:larger}:host mat-checkbox ::ng-deep label,:host mat-radio-button ::ng-deep label{white-space:normal}:host mat-checkbox{vertical-align:middle}:host mat-button{padding-right:10px;cursor:pointer}:host h3{margin:7px;text-align:left}:host u{cursor:pointer;color:#00f;margin:5px}:host p{margin:unset}\n"] }]
18548
18564
  }], ctorParameters: () => [{ type: OGCFilterService }, { type: i1$3.UntypedFormBuilder }, { type: i3$6.DOMService }, { type: i1$2.ConfigService }, { type: i0.ChangeDetectorRef }], propDecorators: { sel: [{
18549
18565
  type: ViewChild,
18550
18566
  args: ['selection']
18567
+ }], matAutocomplete: [{
18568
+ type: ViewChild,
18569
+ args: [MatAutocompleteTrigger, { read: MatAutocompleteTrigger }]
18551
18570
  }], refreshFilters: [{
18552
18571
  type: Input
18553
18572
  }], datasource: [{