'use strict';

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _jade_template_fn(locals) {
  locals = locals || {};;;
  var result_of_with = function ($component, $helpers, Array, JSON, Object, String, affectedMessageIds, builder, error, isBlockedPeople, open, projectHasPeople, projectId, showDeleteModal, stagedCustomEvent, stagedPropertyFilter) {
    var h = require('panel').h;
    var jade_mixins = {};
    jade_mixins['alert-error-message'] = function (errorMessage) {
      var block = this && this.block,
          attributes = this && this.attributes || {};

      return function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(h("div", {
          "class": {
            'text': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat("" + errorMessage + " If this issue persists please contact ");
            __jade_nodes = __jade_nodes.concat(function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("a", {
                "attrs": {
                  href: 'mailto:support@mixpanel.com'
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat("support@mixpanel.com");;
                return __jade_nodes;
              }.call(this).filter(Boolean)));;
              return __jade_nodes;
            }.call(this));
            __jade_nodes = __jade_nodes.concat(".");;
            return __jade_nodes;
          }.call(this));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));;
        return __jade_nodes;
      }.call(this);
    };

    var __vjadeSafeCode = function __vjadeSafeCode(code) {
      return code || String(code);
    };
    var numAffectedMessages = (affectedMessageIds || []).length;
    var messagePlural = $helpers.pluralize('message', numAffectedMessages);
    var pausedMessagesText = numAffectedMessages + ' ' + messagePlural + ' using this event will be paused';
    return {
      value: h("mp-modal", {
        "attrs": {
          open: open
        },
        "hook": {
          postpatch: $helpers.styleCustomEventModal
        },
        "on": {
          change: $helpers.handleModalChange
        },
        "class": {
          'custom-event-modal': true
        }
      }, function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(h("div", {
          "class": Object.assign({}, _defineProperty({}, $helpers.ELEMENTS_BY_CSS_CLASS.CUSTOM_EVENTS_MODAL_CONTENT, true), {
            'custom-event-modal-content': true
          })
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": {
              'mp-modal-header-container': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'mp-modal-header': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("svg-icon", {
                "attrs": {
                  icon: 'custom-events'
                }
              }));
              __jade_nodes = __jade_nodes.concat(h("div", {
                "class": {
                  'mp-modal-title': true
                }
              }, [__vjadeSafeCode($helpers.isNewCustomEvent() ? 'New custom event' : 'Edit custom event - ' + stagedCustomEvent.name)]));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": {
              'custom-event-name-subheader': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'custom-event-name-wrapper': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("mp-clickable-input", {
                "attrs": {
                  maxlength: $helpers.MAX_NAME_LENGTH,
                  placeholder: 'Untitled custom event',
                  size: 'large'
                },
                "on": {
                  save: $helpers.updateCustomEventName,
                  click: $helpers.clearNameErrorTooltip
                },
                "props": {
                  value: stagedCustomEvent.name
                }
              }));
              __jade_nodes = __jade_nodes.concat(error.invalidName || error.duplicateName ? function () {
                var __jade_nodes = [];
                var errorMessage = error.invalidName ? 'Please name your custom event' : 'A custom event with that name already exists';
                __jade_nodes = __jade_nodes.concat(h("mp-tooltip", {
                  "attrs": {
                    'always-show': true,
                    'max-width': '200px',
                    placement: 'bottom',
                    type: 'error'
                  }
                }, function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat(h("span", [__vjadeSafeCode(errorMessage)]));;
                  return __jade_nodes;
                }.call(this).filter(Boolean)));;
                return __jade_nodes;
              }.call(this) : undefined);;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": {
              'mp-modal-content': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'custom-event-match-text': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat("Match my custom event when any of the following events happen:");;
              return __jade_nodes;
            }.call(this).filter(Boolean)));
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'custom-event-builder': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat($component.child('mp-custom-event-builder'));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": {
              'footer': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'delete-custom-event-button': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(stagedCustomEvent.id ? function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat(h("mp-button", {
                  "attrs": {
                    size: 'small'
                  },
                  "on": {
                    click: $helpers.clickDeleteCustomEvent
                  },
                  "class": {
                    'mp-button-secondary': true,
                    'delete-custom-event-button': true
                  }
                }, function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat(h("svg-icon", {
                    "attrs": {
                      icon: 'trashcan'
                    }
                  }));;
                  return __jade_nodes;
                }.call(this).filter(Boolean)));
                __jade_nodes = __jade_nodes.concat(h("mp-tooltip", function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat("Delete custom event");;
                  return __jade_nodes;
                }.call(this).filter(Boolean)));;
                return __jade_nodes;
              }.call(this) : undefined);;
              return __jade_nodes;
            }.call(this).filter(Boolean)));
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'messages-wrapper': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(numAffectedMessages > 0 ? function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat(h("div", {
                  "class": {
                    'notifications-pause-warning': true
                  }
                }, function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat(h("svg-icon", {
                    "attrs": {
                      icon: 'info-outline'
                    }
                  }));
                  __jade_nodes = __jade_nodes.concat(h("span", [__vjadeSafeCode(numAffectedMessages + ' ' + messagePlural + ' using this event will be paused')]));;
                  return __jade_nodes;
                }.call(this).filter(Boolean)));;
                return __jade_nodes;
              }.call(this) : undefined);;
              return __jade_nodes;
            }.call(this).filter(Boolean)));
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'modal-actions': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("mp-button", {
                "attrs": {
                  size: 'small'
                },
                "on": {
                  click: $helpers.cancelChanges
                },
                "class": {
                  'mp-button-secondary': true
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat("Cancel");;
                return __jade_nodes;
              }.call(this).filter(Boolean)));
              __jade_nodes = __jade_nodes.concat(h("mp-button", {
                "attrs": {
                  disabled: !stagedCustomEvent.isValid(),
                  size: 'small'
                },
                "on": {
                  click: $helpers.clickSave
                },
                "class": {
                  'mp-button-primary': true
                }
              }, [__vjadeSafeCode(numAffectedMessages > 0 ? 'Save custom event & pause ' + messagePlural : 'Save custom event')]));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));
        __jade_nodes = __jade_nodes.concat(h("custom-event-builder-dropdown", {
          "style": $helpers.getBuilderPlacement(),
          "attrs": {
            open: $helpers.isBuilderOpen(),
            'prevent-close-selectors': JSON.stringify(['.event-clickable']),
            panes: JSON.stringify($helpers.getPaneAttributes())
          },
          "on": {
            close: $helpers.closeBuilder
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(function () {
            var $$obj = builder.panes;
            var $$eachNodes;
            var $$iterated = false;
            if (Array.isArray($$obj)) {
              $$eachNodes = $$obj.reduce(function ($$eachNodes, pane, paneIndex) {
                $$iterated = true;
                return $$eachNodes.concat(function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat($component.child(pane.componentName, {
                    attrs: {
                      'pane-index': paneIndex
                    }
                  }));;
                  return __jade_nodes;
                }.call(this));
              }, []);
            } else {
              $$eachNodes = [];
              for (var $$objKey in $$obj) {
                (function () {
                  var paneIndex = $$objKey;
                  if ($$obj.hasOwnProperty(paneIndex)) {
                    $$iterated = true;
                    var pane = $$obj[paneIndex];
                    $$eachNodes = $$eachNodes.concat(function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat($component.child(pane.componentName, {
                        attrs: {
                          'pane-index': paneIndex
                        }
                      }));;
                      return __jade_nodes;
                    }.call(this));
                  }
                })();
              }
            }

            return $$eachNodes;
          }());;
          return __jade_nodes;
        }.call(this).filter(Boolean)));
        __jade_nodes = __jade_nodes.concat($helpers.isPropertyFilterMenuOpen() ? function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("mp-property-filter-menu", {
            "style": $helpers.getBuilderPlacement(),
            "attrs": $helpers.filterAttributes({
              'display-context': $helpers.PropertyFilterDisplayContext.CustomEvent,
              'event-name': $helpers.getEventName(),
              'is-blocked-people': isBlockedPeople,
              'open': true,
              'prevent-close-selectors': JSON.stringify(['.property-filter-clickable']),
              'project-has-people': projectHasPeople,
              'project-id': projectId,
              'property-filter': stagedPropertyFilter ? JSON.stringify(stagedPropertyFilter) : null,
              'property-search-filter': builder.searchFilter
            }),
            "on": {
              changeDropMenu: $helpers.changePropertyFilterDropMenu,
              changePropertyFilter: $helpers.changePropertyFilter,
              commitPropertyFilter: $helpers.commitPropertyFilter
            },
            "props": $helpers.pick(builder, ['keydownProxyEl'])
          }));;
          return __jade_nodes;
        }.call(this) : undefined); /*  This is a somewhat gruesome cobbled-together version of mp-confirm-delete to avoid */
        /*  the modal-in-a-modal problem. Not a pattern to be repeated. */
        __jade_nodes = __jade_nodes.concat(h("mp-modal", {
          "attrs": {
            open: showDeleteModal
          },
          "hook": {
            postpatch: $helpers.styleDeleteCustomEventModal
          },
          "class": {
            'delete-custom-event-modal': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": {
              'mp-confirm-delete-container': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'mp-confirm-delete-body': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("div", {
                "class": {
                  'mp-confirm-delete-icon': true
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat(h("svg-icon", {
                  "attrs": {
                    icon: 'alert'
                  }
                }));;
                return __jade_nodes;
              }.call(this).filter(Boolean)));
              __jade_nodes = __jade_nodes.concat(h("div", {
                "class": {
                  'mp-confirm-delete-copy': true
                }
              }, function () {
                var __jade_nodes = [];
                var confirmationText = 'The event will be removed from event selection dropdowns' + (numAffectedMessages ? ', ' + pausedMessagesText + ', ' : ' ') + ' and cohorts and bookmarks using this custom event may be affected.';
                __jade_nodes = __jade_nodes.concat(h("div", function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat(h("div", {
                    "class": {
                      'mp-confirm-delete-title': true
                    }
                  }, function () {
                    var __jade_nodes = [];
                    __jade_nodes = __jade_nodes.concat("Delete custom event");;
                    return __jade_nodes;
                  }.call(this).filter(Boolean)));
                  __jade_nodes = __jade_nodes.concat(h("div", {
                    "class": {
                      'mp-confirm-delete-description': true
                    }
                  }, [__vjadeSafeCode(confirmationText)]));;
                  return __jade_nodes;
                }.call(this).filter(Boolean)));;
                return __jade_nodes;
              }.call(this).filter(Boolean)));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'mp-confirm-delete-buttons': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("mp-button", {
                "on": {
                  click: $helpers.cancelDeleteCustomEvent
                },
                "class": {
                  'mp-button-secondary': true
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat("Cancel");;
                return __jade_nodes;
              }.call(this).filter(Boolean)));
              __jade_nodes = __jade_nodes.concat(h("mp-button", {
                "on": {
                  click: $helpers.confirmDeleteCustomEvent
                },
                "class": {
                  'mp-button-red': true
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat("Delete custom event");;
                return __jade_nodes;
              }.call(this).filter(Boolean)));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));
        __jade_nodes = __jade_nodes.concat(h("mp-alert", {
          "attrs": {
            id: 'alert',
            closeable: true,
            open: error['saveCustomEvent']
          },
          "on": {
            change: $helpers.handleErrorModalChange
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(jade_mixins['alert-error-message'].call(this, 'Your custom event could not be saved.'));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));
        __jade_nodes = __jade_nodes.concat(h("mp-alert", {
          "attrs": {
            id: 'alert',
            closeable: true,
            open: error['deleteCustomEvent']
          },
          "on": {
            change: $helpers.handleErrorModalChange
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(jade_mixins['alert-error-message'].call(this, 'Your custom event could not be deleted.'));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));;
        return __jade_nodes;
      }.call(this).filter(Boolean))
    };
  }.call(this, "$component" in locals ? locals.$component : typeof $component !== "undefined" ? $component : undefined, "$helpers" in locals ? locals.$helpers : typeof $helpers !== "undefined" ? $helpers : undefined, "Array" in locals ? locals.Array : typeof Array !== "undefined" ? Array : undefined, "JSON" in locals ? locals.JSON : typeof JSON !== "undefined" ? JSON : undefined, "Object" in locals ? locals.Object : typeof Object !== "undefined" ? Object : undefined, "String" in locals ? locals.String : typeof String !== "undefined" ? String : undefined, "affectedMessageIds" in locals ? locals.affectedMessageIds : typeof affectedMessageIds !== "undefined" ? affectedMessageIds : undefined, "builder" in locals ? locals.builder : typeof builder !== "undefined" ? builder : undefined, "error" in locals ? locals.error : typeof error !== "undefined" ? error : undefined, "isBlockedPeople" in locals ? locals.isBlockedPeople : typeof isBlockedPeople !== "undefined" ? isBlockedPeople : undefined, "open" in locals ? locals.open : typeof open !== "undefined" ? open : undefined, "projectHasPeople" in locals ? locals.projectHasPeople : typeof projectHasPeople !== "undefined" ? projectHasPeople : undefined, "projectId" in locals ? locals.projectId : typeof projectId !== "undefined" ? projectId : undefined, "showDeleteModal" in locals ? locals.showDeleteModal : typeof showDeleteModal !== "undefined" ? showDeleteModal : undefined, "stagedCustomEvent" in locals ? locals.stagedCustomEvent : typeof stagedCustomEvent !== "undefined" ? stagedCustomEvent : undefined, "stagedPropertyFilter" in locals ? locals.stagedPropertyFilter : typeof stagedPropertyFilter !== "undefined" ? stagedPropertyFilter : undefined);
  if (result_of_with) return result_of_with.value;
}
module.exports = _jade_template_fn;