opendistro-for-elasticsearch / alerting-kibana-plugin

📟 Open Distro Kibana Alerting Plugin
https://opendistro.github.io/
Apache License 2.0
140 stars 62 forks source link

Implemented support for rendering multiple trigger conditions for visual graph aggregation monitors. #256

Closed AWSHurneyt closed 3 years ago

AWSHurneyt commented 3 years ago

Issue #, if available:

Description of changes:

  1. Refactored CreateTrigger to use a FieldArray to support multiple trigger conditions.
  2. Refactored DefineTrigger to render different UX for traditional vs. aggregation monitors.
  3. Implemented AddTriggerButton to support quickly adding new trigger conditions.
  4. Implemented TriggerEmptyPrompt to inform users of aggregation monitors to create trigger conditions.
  5. Renamed FORMIK_INITIAL_VALUES constant to FORMIK_INITIAL_TRIGGER_VALUES for clarity.
  6. Implemented FORMIK_INITIAL_TRIGGER_CONDITION_VALUES constant to support adding new trigger conditions.

Known issues

  1. This implementation does not support creation of triggers with multiple trigger conditions; additional logic will need to be implemented first. These changes just introduce the framework for rendering multiple conditions.
  2. UX design is not final. This implementation could use some polishing, but we may want to wait until we have a final design in mind before investing time in that.

No trigger conditions doc level UX no trigger conditions

Multiple trigger conditions doc level UX multiple trigger conditions

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.