Liferay.Loader.define("dynamic-data-mapping-form-builder@3.0.70/js/components/RuleEditor/RuleEditor.soy", ['module', 'exports', 'require', 'frontend-js-metal-web$metal-component', 'frontend-js-metal-web$metal-soy'], function (module, exports, require) {
  var define = undefined;
  var global = window;
  {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = exports.templates = exports.RuleEditor = void 0;

    var _metalComponent = _interopRequireDefault(require("frontend-js-metal-web$metal-component"));

    var _metalSoy = _interopRequireDefault(require("frontend-js-metal-web$metal-soy"));

    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { default: obj };
    }

    function _typeof(obj) {
      "@babel/helpers - typeof";
      if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
        _typeof = function _typeof(obj) {
          return typeof obj;
        };
      } else {
        _typeof = function _typeof(obj) {
          return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
        };
      }return _typeof(obj);
    }

    function _classCallCheck(instance, Constructor) {
      if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
      }
    }

    function _possibleConstructorReturn(self, call) {
      if (call && (_typeof(call) === "object" || typeof call === "function")) {
        return call;
      }return _assertThisInitialized(self);
    }

    function _assertThisInitialized(self) {
      if (self === void 0) {
        throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
      }return self;
    }

    function _getPrototypeOf(o) {
      _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
        return o.__proto__ || Object.getPrototypeOf(o);
      };return _getPrototypeOf(o);
    }

    function _inherits(subClass, superClass) {
      if (typeof superClass !== "function" && superClass !== null) {
        throw new TypeError("Super expression must either be null or a function");
      }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });if (superClass) _setPrototypeOf(subClass, superClass);
    }

    function _setPrototypeOf(o, p) {
      _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
        o.__proto__ = p;return o;
      };return _setPrototypeOf(o, p);
    }

    var templates;
    exports.templates = templates;
    goog.loadModule(function (exports) {
      var soy = goog.require('soy');

      goog.require('soydata');

      // This file was automatically generated from RuleEditor.soy.
      // Please don't edit this file by hand.

      /**
       * @fileoverview Templates in namespace RuleEditor.
       * @hassoydeltemplate {ClayDropdownBase.Content.idom}
       * @hassoydeltemplate {ClayDropdownItem.Item.idom}
       * @public
       */

      goog.module('RuleEditor.incrementaldom');

      goog.require('goog.soy.data.SanitizedContent');

      goog.require('goog.string');

      var incrementalDom = goog.require('incrementaldom');

      goog.require('soy');

      goog.require('soy.asserts');

      var soyIdom = goog.require('soy.idom');

      var $templateAlias4 = _metalSoy.default.getTemplate('Calculator.incrementaldom', 'render');

      var $templateAlias6 = _metalSoy.default.getTemplate('ClayAlert.incrementaldom', 'render');

      var $templateAlias1 = _metalSoy.default.getTemplate('ClayButton.incrementaldom', 'render');

      var $templateAlias8 = _metalSoy.default.getTemplate('ClayDropdownBase.incrementaldom', 'items');

      var $templateAlias5 = _metalSoy.default.getTemplate('ClayDropdownBase.incrementaldom', 'render');

      var $templateAlias7 = _metalSoy.default.getTemplate('ClayIcon.incrementaldom', 'render');

      var $templateAlias2 = _metalSoy.default.getTemplate('ClayModal.incrementaldom', 'render');

      var $templateAlias3 = _metalSoy.default.getTemplate('ReactFieldAdapter.incrementaldom', 'render');
      /**
       * @param {{
       *  actions: !Array<{action: (!goog.soy.data.SanitizedContent|string), calculatorFields: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, expression: (!goog.soy.data.SanitizedContent|string), hasRequiredInputs: boolean, inputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), outputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, target: (!goog.soy.data.SanitizedContent|string)}>,
       *  actionTypes: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  actionsFieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorFunctions: !Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorResultOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  conditions: !Array<{binaryOperator: boolean, firstOperandColumns: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandRows: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operands: !Array<{dataType: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), optionValue: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operator: (!goog.soy.data.SanitizedContent|string), operators: (?)}>,
       *  conditionsFieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  dataProvider: (!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  fixedOptions: !Array<{name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  handleRuleAdded: (*|null|undefined),
       *  invalidRule: boolean,
       *  logicalOperator: (!goog.soy.data.SanitizedContent|string),
       *  logicalOperators: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  pageOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  readOnly: boolean,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionAdded: (*|null|undefined),
       *  _handleActionSelection: (*|null|undefined),
       *  _handleConditionAdded: (*|null|undefined),
       *  _handleDataProviderInputEdited: (*|null|undefined),
       *  _handleDataProviderOutputEdited: (*|null|undefined),
       *  _handleDeleteAction: (*|null|undefined),
       *  _handleDeleteCondition: (*|null|undefined),
       *  _handleEditExpression: (*|null|undefined),
       *  _handleFirstOperandFieldEdited: (*|null|undefined),
       *  _handleLogicalOperationChange: (*|null|undefined),
       *  _handleModalButtonClicked: (*|null|undefined),
       *  _handleOperatorEdited: (*|null|undefined),
       *  _handleRuleCancelled: (*|null|undefined),
       *  _handleSecondOperandFieldEdited: (*|null|undefined),
       *  _handleSecondOperandTypeEdited: (*|null|undefined),
       *  _handleSecondOperandValueEdited: (*|null|undefined),
       *  _handleTargetSelection: (*|null|undefined),
       *  roles: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $render(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!Array<{action: (!goog.soy.data.SanitizedContent|string), calculatorFields: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, expression: (!goog.soy.data.SanitizedContent|string), hasRequiredInputs: boolean, inputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), outputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, target: (!goog.soy.data.SanitizedContent|string)}>} */

        var actions = soy.asserts.assertType(goog.isArray(opt_data.actions), 'actions', opt_data.actions, '!Array<{action: (!goog.soy.data.SanitizedContent|string), calculatorFields: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, expression: (!goog.soy.data.SanitizedContent|string), hasRequiredInputs: boolean, inputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), outputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, target: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var actionTypes = soy.asserts.assertType(goog.isArray(opt_data.actionTypes), 'actionTypes', opt_data.actionTypes, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var actionsFieldOptions = soy.asserts.assertType(goog.isArray(opt_data.actionsFieldOptions), 'actionsFieldOptions', opt_data.actionsFieldOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var calculatorFunctions = soy.asserts.assertType(goog.isArray(opt_data.calculatorFunctions), 'calculatorFunctions', opt_data.calculatorFunctions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var calculatorResultOptions = soy.asserts.assertType(goog.isArray(opt_data.calculatorResultOptions), 'calculatorResultOptions', opt_data.calculatorResultOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{binaryOperator: boolean, firstOperandColumns: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandRows: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operands: !Array<{dataType: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), optionValue: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operator: (!goog.soy.data.SanitizedContent|string), operators: (?)}>} */

        var conditions = soy.asserts.assertType(goog.isArray(opt_data.conditions), 'conditions', opt_data.conditions, '!Array<{binaryOperator: boolean, firstOperandColumns: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandRows: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operands: !Array<{dataType: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), optionValue: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operator: (!goog.soy.data.SanitizedContent|string), operators: (?)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var conditionsFieldOptions = soy.asserts.assertType(goog.isArray(opt_data.conditionsFieldOptions), 'conditionsFieldOptions', opt_data.conditionsFieldOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var dataProvider = soy.asserts.assertType(opt_data.dataProvider == null || goog.isArray(opt_data.dataProvider), 'dataProvider', opt_data.dataProvider, '!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!Array<{name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var fixedOptions = soy.asserts.assertType(goog.isArray(opt_data.fixedOptions), 'fixedOptions', opt_data.fixedOptions, '!Array<{name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {*|null|undefined} */

        var handleRuleAdded = opt_data.handleRuleAdded;
        /** @type {boolean} */

        var invalidRule = soy.asserts.assertType(goog.isBoolean(opt_data.invalidRule) || opt_data.invalidRule === 1 || opt_data.invalidRule === 0, 'invalidRule', opt_data.invalidRule, 'boolean');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var logicalOperator = soy.asserts.assertType(goog.isString(opt_data.logicalOperator) || opt_data.logicalOperator instanceof goog.soy.data.SanitizedContent, 'logicalOperator', opt_data.logicalOperator, '!goog.soy.data.SanitizedContent|string');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var logicalOperators = soy.asserts.assertType(goog.isArray(opt_data.logicalOperators), 'logicalOperators', opt_data.logicalOperators, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var pageOptions = soy.asserts.assertType(goog.isArray(opt_data.pageOptions), 'pageOptions', opt_data.pageOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {boolean} */

        var readOnly = soy.asserts.assertType(goog.isBoolean(opt_data.readOnly) || opt_data.readOnly === 1 || opt_data.readOnly === 0, 'readOnly', opt_data.readOnly, 'boolean');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleActionAdded = opt_data._handleActionAdded;
        /** @type {*|null|undefined} */

        var _handleActionSelection = opt_data._handleActionSelection;
        /** @type {*|null|undefined} */

        var _handleConditionAdded = opt_data._handleConditionAdded;
        /** @type {*|null|undefined} */

        var _handleDataProviderInputEdited = opt_data._handleDataProviderInputEdited;
        /** @type {*|null|undefined} */

        var _handleDataProviderOutputEdited = opt_data._handleDataProviderOutputEdited;
        /** @type {*|null|undefined} */

        var _handleDeleteAction = opt_data._handleDeleteAction;
        /** @type {*|null|undefined} */

        var _handleDeleteCondition = opt_data._handleDeleteCondition;
        /** @type {*|null|undefined} */

        var _handleEditExpression = opt_data._handleEditExpression;
        /** @type {*|null|undefined} */

        var _handleFirstOperandFieldEdited = opt_data._handleFirstOperandFieldEdited;
        /** @type {*|null|undefined} */

        var _handleLogicalOperationChange = opt_data._handleLogicalOperationChange;
        /** @type {*|null|undefined} */

        var _handleModalButtonClicked = opt_data._handleModalButtonClicked;
        /** @type {*|null|undefined} */

        var _handleOperatorEdited = opt_data._handleOperatorEdited;
        /** @type {*|null|undefined} */

        var _handleRuleCancelled = opt_data._handleRuleCancelled;
        /** @type {*|null|undefined} */

        var _handleSecondOperandFieldEdited = opt_data._handleSecondOperandFieldEdited;
        /** @type {*|null|undefined} */

        var _handleSecondOperandTypeEdited = opt_data._handleSecondOperandTypeEdited;
        /** @type {*|null|undefined} */

        var _handleSecondOperandValueEdited = opt_data._handleSecondOperandValueEdited;
        /** @type {*|null|undefined} */

        var _handleTargetSelection = opt_data._handleTargetSelection;
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var roles = soy.asserts.assertType(opt_data.roles == null || goog.isArray(opt_data.roles), 'roles', opt_data.roles, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        var msg_15055__soy15056 = '';
        /** @desc  */

        var MSG_EXTERNAL_503445309622982213 = Liferay.Language.get('cancel');
        msg_15055__soy15056 += MSG_EXTERNAL_503445309622982213;
        var msg_15052__soy15053 = '';
        /** @desc  */

        var MSG_EXTERNAL_8640257554156088424 = Liferay.Language.get('save');
        msg_15052__soy15053 += MSG_EXTERNAL_8640257554156088424;
        var msg_15049__soy15050 = '';
        /** @desc  */

        var MSG_EXTERNAL_3586605110068481026 = Liferay.Language.get('delete-action');
        msg_15049__soy15050 += MSG_EXTERNAL_3586605110068481026;
        var msg_15046__soy15047 = '';
        /** @desc  */

        var MSG_EXTERNAL_3716858591374889111 = Liferay.Language.get('are-you-sure-you-want-to-delete-this-action');
        msg_15046__soy15047 += MSG_EXTERNAL_3716858591374889111;
        var msg_15043__soy15044 = '';
        /** @desc  */

        var MSG_EXTERNAL_3275556889897820559 = Liferay.Language.get('delete-condition');
        msg_15043__soy15044 += MSG_EXTERNAL_3275556889897820559;
        var msg_15040__soy15041 = '';
        /** @desc  */

        var MSG_EXTERNAL_3150805439832632406 = Liferay.Language.get('are-you-sure-you-want-to-delete-this-condition');
        msg_15040__soy15041 += MSG_EXTERNAL_3150805439832632406;
        var msg_15037__soy15038 = '';
        /** @desc  */

        var MSG_EXTERNAL_6305962755687847469 = Liferay.Language.get('actions');
        msg_15037__soy15038 += MSG_EXTERNAL_6305962755687847469;
        var msg_15034__soy15035 = '';
        /** @desc  */

        var MSG_EXTERNAL_7798565773259526400 = Liferay.Language.get('condition');
        msg_15034__soy15035 += MSG_EXTERNAL_7798565773259526400;
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-builder-rule-builder liferay-ddm-form-builder-rule-builder-content');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'liferay-ddm-form-rule-builder-header');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('h2');
        incrementalDom.attr('class', 'form-builder-section-title text-default');
        incrementalDom.elementOpenEnd();
        /** @desc  */

        var MSG_EXTERNAL_4769335989898602524 = Liferay.Language.get('rule');
        incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_4769335989898602524));
        incrementalDom.elementClose('h2');
        incrementalDom.elementOpenStart('h4');
        incrementalDom.attr('class', 'text-default');
        incrementalDom.elementOpenEnd();
        /** @desc  */

        var MSG_EXTERNAL_1948122749534399739 = Liferay.Language.get('define-condition-and-action-to-change-fields-and-elements-on-the-form');
        incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_1948122749534399739));
        incrementalDom.elementClose('h4');
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('ul');
        incrementalDom.attr('class', 'liferay-ddm-form-builder-rule-condition-list liferay-ddm-form-rule-builder-timeline timeline ' + (conditions.length > 1 ? 'can-remove-item' : ''));
        incrementalDom.elementOpenEnd();
        var enableLogicalOperator__soy751 = conditions.length > 1 ? true : false;

        var param754 = function param754() {
          $renderConditionLogicalOperatorDropdown({
            _handleLogicalOperationChange: _handleLogicalOperationChange,
            enableLogicalOperator: enableLogicalOperator__soy751,
            logicalOperator: logicalOperator,
            logicalOperators: logicalOperators,
            spritemap: spritemap
          }, null, opt_ijData);
        };

        $renderHeader({
          extraContent: param754,
          title: '' + msg_15034__soy15035
        }, null, opt_ijData);
        var condition799List = conditions;
        var condition799ListLen = condition799List.length;

        for (var condition799Index = 0; condition799Index < condition799ListLen; condition799Index++) {
          var condition799Data = condition799List[condition799Index];
          $renderCondition({
            _handleDeleteCondition: _handleDeleteCondition,
            _handleFirstOperandFieldEdited: _handleFirstOperandFieldEdited,
            _handleOperatorEdited: _handleOperatorEdited,
            _handleSecondOperandFieldEdited: _handleSecondOperandFieldEdited,
            _handleSecondOperandTypeEdited: _handleSecondOperandTypeEdited,
            _handleSecondOperandValueEdited: _handleSecondOperandValueEdited,
            binaryOperator: condition799Data.binaryOperator,
            fieldOptions: conditionsFieldOptions,
            firstOperandColumns: condition799Data.firstOperandColumns,
            firstOperandOptions: condition799Data.firstOperandOptions,
            firstOperandRows: condition799Data.firstOperandRows,
            firstOperandType: condition799Data.operands[0].type,
            firstOperandValueSelected: condition799Data.operands[0].value,
            fixedOptions: fixedOptions,
            index: condition799Index,
            logicalOperator: logicalOperator,
            operators: condition799Data.operators,
            readOnly: readOnly,
            roles: roles,
            secondOperandDataType: condition799Data.operands[1] != null ? condition799Data.operands[1].dataType : '',
            secondOperandFieldName: '',
            secondOperandOptionValue: condition799Data.operands[1] != null ? condition799Data.operands[1].optionValue : '',
            secondOperandType: condition799Data.operands[1] != null ? condition799Data.operands[1].type : '',
            secondOperandValue: condition799Data.operands[1] != null ? condition799Data.operands[1].value : '',
            selectedOperator: condition799Data.operator,
            spritemap: spritemap
          }, null, opt_ijData);
        }

        incrementalDom.elementClose('ul');
        $renderAddItemButton({
          _handleItemAdded: _handleConditionAdded,
          spritemap: spritemap,
          type: 'addConditionButton'
        }, null, opt_ijData);
        incrementalDom.elementOpenStart('ul');
        incrementalDom.attr('class', 'action-list liferay-ddm-form-builder-rule-action-list liferay-ddm-form-rule-builder-timeline timeline ' + (actions.length > 1 ? 'can-remove-item' : ''));
        incrementalDom.elementOpenEnd();
        $renderHeader({
          title: '' + msg_15037__soy15038
        }, null, opt_ijData);
        var action841List = actions;
        var action841ListLen = action841List.length;

        for (var action841Index = 0; action841Index < action841ListLen; action841Index++) {
          var action841Data = action841List[action841Index];
          $renderAction({
            _handleActionSelection: _handleActionSelection,
            _handleDataProviderInputEdited: _handleDataProviderInputEdited,
            _handleDataProviderOutputEdited: _handleDataProviderOutputEdited,
            _handleDeleteAction: _handleDeleteAction,
            _handleEditExpression: _handleEditExpression,
            _handleTargetSelection: _handleTargetSelection,
            actionExpression: action841Data.expression,
            actionInputs: action841Data.inputs,
            actionOutputs: action841Data.outputs,
            actionSelected: action841Data.action,
            actionTypes: actionTypes,
            calculatorFields: action841Data.calculatorFields,
            calculatorFunctions: calculatorFunctions,
            calculatorResultOptions: calculatorResultOptions,
            dataProvider: dataProvider,
            fieldOptions: actionsFieldOptions,
            hasRequiredInputs: action841Data.hasRequiredInputs,
            index: action841Index,
            pageOptions: pageOptions,
            spritemap: spritemap,
            targetSelected: action841Data.target
          }, null, opt_ijData);
        }

        incrementalDom.elementClose('ul');
        $renderAddItemButton({
          _handleItemAdded: _handleActionAdded,
          spritemap: spritemap,
          type: 'addActionButton'
        }, null, opt_ijData);
        $renderModal({
          _handleModalButtonClicked: _handleModalButtonClicked,
          question: '' + msg_15040__soy15041,
          spritemap: spritemap,
          title: '' + msg_15043__soy15044,
          type: 'Condition'
        }, null, opt_ijData);
        $renderModal({
          _handleModalButtonClicked: _handleModalButtonClicked,
          question: '' + msg_15046__soy15047,
          spritemap: spritemap,
          title: '' + msg_15049__soy15050,
          type: 'Action'
        }, null, opt_ijData);
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'liferay-ddm-form-rule-builder-footer');
        incrementalDom.elementOpenEnd();
        $templateAlias1({
          events: {
            click: handleRuleAdded
          },
          disabled: invalidRule,
          label: '' + msg_15052__soy15053,
          ref: 'save',
          spritemap: spritemap,
          style: 'primary'
        }, null, opt_ijData);
        $templateAlias1({
          events: {
            click: _handleRuleCancelled
          },
          label: '' + msg_15055__soy15056,
          ref: 'cancel',
          spritemap: spritemap,
          style: 'secondary'
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
      }

      exports.render = $render;
      /**
       * @typedef {{
       *  actions: !Array<{action: (!goog.soy.data.SanitizedContent|string), calculatorFields: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, expression: (!goog.soy.data.SanitizedContent|string), hasRequiredInputs: boolean, inputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), outputs: !Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, target: (!goog.soy.data.SanitizedContent|string)}>,
       *  actionTypes: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  actionsFieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorFunctions: !Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorResultOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  conditions: !Array<{binaryOperator: boolean, firstOperandColumns: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, firstOperandRows: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operands: !Array<{dataType: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), optionValue: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, operator: (!goog.soy.data.SanitizedContent|string), operators: (?)}>,
       *  conditionsFieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  dataProvider: (!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  fixedOptions: !Array<{name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  handleRuleAdded: (*|null|undefined),
       *  invalidRule: boolean,
       *  logicalOperator: (!goog.soy.data.SanitizedContent|string),
       *  logicalOperators: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  pageOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  readOnly: boolean,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionAdded: (*|null|undefined),
       *  _handleActionSelection: (*|null|undefined),
       *  _handleConditionAdded: (*|null|undefined),
       *  _handleDataProviderInputEdited: (*|null|undefined),
       *  _handleDataProviderOutputEdited: (*|null|undefined),
       *  _handleDeleteAction: (*|null|undefined),
       *  _handleDeleteCondition: (*|null|undefined),
       *  _handleEditExpression: (*|null|undefined),
       *  _handleFirstOperandFieldEdited: (*|null|undefined),
       *  _handleLogicalOperationChange: (*|null|undefined),
       *  _handleModalButtonClicked: (*|null|undefined),
       *  _handleOperatorEdited: (*|null|undefined),
       *  _handleRuleCancelled: (*|null|undefined),
       *  _handleSecondOperandFieldEdited: (*|null|undefined),
       *  _handleSecondOperandTypeEdited: (*|null|undefined),
       *  _handleSecondOperandValueEdited: (*|null|undefined),
       *  _handleTargetSelection: (*|null|undefined),
       *  roles: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined)
       * }}
       */

      $render.Params;

      if (goog.DEBUG) {
        $render.soyTemplateName = 'RuleEditor.render';
      }
      /**
       * @param {{
       *  question: (!goog.soy.data.SanitizedContent|string),
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  type: (!goog.soy.data.SanitizedContent|string),
       *  _handleModalButtonClicked: (*|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderModal(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var question = soy.asserts.assertType(goog.isString(opt_data.question) || opt_data.question instanceof goog.soy.data.SanitizedContent, 'question', opt_data.question, '!goog.soy.data.SanitizedContent|string');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var title = soy.asserts.assertType(goog.isString(opt_data.title) || opt_data.title instanceof goog.soy.data.SanitizedContent, 'title', opt_data.title, '!goog.soy.data.SanitizedContent|string');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var type = soy.asserts.assertType(goog.isString(opt_data.type) || opt_data.type instanceof goog.soy.data.SanitizedContent, 'type', opt_data.type, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleModalButtonClicked = opt_data._handleModalButtonClicked;
        var msg_15061__soy15062 = '';
        /** @desc  */

        var MSG_EXTERNAL_1330646976582013113 = Liferay.Language.get('dismiss');
        msg_15061__soy15062 += MSG_EXTERNAL_1330646976582013113;
        var msg_15058__soy15059 = '';
        /** @desc  */

        var MSG_EXTERNAL_2456043080471762298 = Liferay.Language.get('delete');
        msg_15058__soy15059 += MSG_EXTERNAL_2456043080471762298;
        var deleteLabel__soy915 = '';
        deleteLabel__soy915 += msg_15058__soy15059;
        var dismissLabel__soy922 = '';
        dismissLabel__soy922 += msg_15061__soy15062;

        $templateAlias2({
          body: function param930() {
            incrementalDom.elementOpen('h4');
            soyIdom.print(question);
            incrementalDom.elementClose('h4');
          },
          events: {
            clickButton: _handleModalButtonClicked
          },
          footerButtons: [{
            alignment: 'right',
            label: dismissLabel__soy922,
            style: 'primary',
            type: 'close'
          }, {
            alignment: 'right',
            label: deleteLabel__soy915,
            style: 'primary',
            type: 'button'
          }],
          ref: 'confirmationModal' + type,
          size: 'sm',
          spritemap: spritemap,
          title: title
        }, null, opt_ijData);
      }

      exports.renderModal = $renderModal;
      /**
       * @typedef {{
       *  question: (!goog.soy.data.SanitizedContent|string),
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  type: (!goog.soy.data.SanitizedContent|string),
       *  _handleModalButtonClicked: (*|null|undefined)
       * }}
       */

      $renderModal.Params;

      if (goog.DEBUG) {
        $renderModal.soyTemplateName = 'RuleEditor.renderModal';
      }
      /**
       * @param {{
       *  actionTypes: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorFields: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorFunctions: !Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorResultOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  index: number,
       *  pageOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionSelection: (*|null|undefined),
       *  _handleEditExpression: (*|null|undefined),
       *  _handleDataProviderInputEdited: (*|null|undefined),
       *  _handleDataProviderOutputEdited: (*|null|undefined),
       *  _handleDeleteAction: (*|null|undefined),
       *  _handleTargetSelection: (*|null|undefined),
       *  actionExpression: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  actionInputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  actionOutputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  actionSelected: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  dataProvider: (!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  hasRequiredInputs: (boolean|null|undefined),
       *  targetSelected: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderAction(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var actionTypes = soy.asserts.assertType(goog.isArray(opt_data.actionTypes), 'actionTypes', opt_data.actionTypes, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var calculatorFields = soy.asserts.assertType(goog.isArray(opt_data.calculatorFields), 'calculatorFields', opt_data.calculatorFields, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var calculatorFunctions = soy.asserts.assertType(goog.isArray(opt_data.calculatorFunctions), 'calculatorFunctions', opt_data.calculatorFunctions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var calculatorResultOptions = soy.asserts.assertType(goog.isArray(opt_data.calculatorResultOptions), 'calculatorResultOptions', opt_data.calculatorResultOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var fieldOptions = soy.asserts.assertType(goog.isArray(opt_data.fieldOptions), 'fieldOptions', opt_data.fieldOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {number} */

        var index = soy.asserts.assertType(goog.isNumber(opt_data.index), 'index', opt_data.index, 'number');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var pageOptions = soy.asserts.assertType(goog.isArray(opt_data.pageOptions), 'pageOptions', opt_data.pageOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleActionSelection = opt_data._handleActionSelection;
        /** @type {*|null|undefined} */

        var _handleEditExpression = opt_data._handleEditExpression;
        /** @type {*|null|undefined} */

        var _handleDataProviderInputEdited = opt_data._handleDataProviderInputEdited;
        /** @type {*|null|undefined} */

        var _handleDataProviderOutputEdited = opt_data._handleDataProviderOutputEdited;
        /** @type {*|null|undefined} */

        var _handleDeleteAction = opt_data._handleDeleteAction;
        /** @type {*|null|undefined} */

        var _handleTargetSelection = opt_data._handleTargetSelection;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var actionExpression = soy.asserts.assertType(opt_data.actionExpression == null || goog.isString(opt_data.actionExpression) || opt_data.actionExpression instanceof goog.soy.data.SanitizedContent, 'actionExpression', opt_data.actionExpression, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var actionInputs = soy.asserts.assertType(opt_data.actionInputs == null || goog.isArray(opt_data.actionInputs), 'actionInputs', opt_data.actionInputs, '!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var actionOutputs = soy.asserts.assertType(opt_data.actionOutputs == null || goog.isArray(opt_data.actionOutputs), 'actionOutputs', opt_data.actionOutputs, '!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var actionSelected = soy.asserts.assertType(opt_data.actionSelected == null || goog.isString(opt_data.actionSelected) || opt_data.actionSelected instanceof goog.soy.data.SanitizedContent, 'actionSelected', opt_data.actionSelected, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var dataProvider = soy.asserts.assertType(opt_data.dataProvider == null || goog.isArray(opt_data.dataProvider), 'dataProvider', opt_data.dataProvider, '!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {boolean|null|undefined} */

        var hasRequiredInputs = soy.asserts.assertType(opt_data.hasRequiredInputs == null || goog.isBoolean(opt_data.hasRequiredInputs) || opt_data.hasRequiredInputs === 1 || opt_data.hasRequiredInputs === 0, 'hasRequiredInputs', opt_data.hasRequiredInputs, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var targetSelected = soy.asserts.assertType(opt_data.targetSelected == null || goog.isString(opt_data.targetSelected) || opt_data.targetSelected instanceof goog.soy.data.SanitizedContent, 'targetSelected', opt_data.targetSelected, '!goog.soy.data.SanitizedContent|null|string|undefined');
        var msg_15064__soy15065 = '';
        /** @desc  */

        var MSG_EXTERNAL_1961977818876868209 = Liferay.Language.get('choose-an-option');
        msg_15064__soy15065 += MSG_EXTERNAL_1961977818876868209;
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('action-index', index);
        incrementalDom.attr('class', 'action form-builder-rule-action-container-' + index + ' timeline-item');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'panel panel-default');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'panel-body');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-group-autofit');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-group-item form-group-item-label form-group-item-shrink');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpen('h4');
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'text-truncate-inline');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'text-truncate');
        incrementalDom.elementOpenEnd();
        /** @desc  */

        var MSG_EXTERNAL_363699841498386168 = Liferay.Language.get('do');
        incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_363699841498386168));
        incrementalDom.elementClose('span');
        incrementalDom.elementClose('span');
        incrementalDom.elementClose('h4');
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('action-type-index', index);
        incrementalDom.attr('class', 'action-type form-group-item');
        incrementalDom.elementOpenEnd();
        $templateAlias3({
          events: {
            fieldEdited: _handleActionSelection
          },
          fieldType: 'select',
          name: 'action' + index,
          options: actionTypes,
          placeholder: '' + msg_15064__soy15065,
          ref: 'action' + index,
          showEmptyOption: false,
          spritemap: spritemap,
          value: [actionSelected]
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
        var showTargetDefault__soy991 = actionSelected && (actionSelected == 'show' || actionSelected == 'enable' || actionSelected == 'require');
        var showTargetAutofill__soy993 = actionSelected && actionSelected == 'auto-fill';
        var showTargetCalculator__soy995 = actionSelected && actionSelected == 'calculate';
        var showTargetJumpToPage__soy997 = actionSelected && actionSelected == 'jump-to-page';

        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-group-item form-group-item-label form-group-item-shrink ' + (!(showTargetAutofill__soy993 || showTargetCalculator__soy995) ? 'hide' : '') + ' target-message-' + index);
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpen('h4');
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'text-truncate-inline');
        incrementalDom.elementOpenEnd();

        if (showTargetAutofill__soy993) {
          incrementalDom.elementOpenStart('span');
          incrementalDom.attr('class', 'text-truncate');
          incrementalDom.elementOpenEnd();
          /** @desc  */

          var MSG_EXTERNAL_8534686501757254979 = Liferay.Language.get('from-data-provider');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_8534686501757254979));
          incrementalDom.elementClose('span');
        } else if (showTargetCalculator__soy995) {
          incrementalDom.elementOpenStart('span');
          incrementalDom.attr('class', 'text-truncate');
          incrementalDom.elementOpenEnd();
          /** @desc  */

          var MSG_EXTERNAL_8489746971914331803 = Liferay.Language.get('choose-a-field-to-show-the-result');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_8489746971914331803));
          incrementalDom.elementClose('span');
        }

        incrementalDom.elementClose('span');
        incrementalDom.elementClose('h4');
        incrementalDom.elementClose('div');

        if (showTargetDefault__soy991 || showTargetAutofill__soy993 || showTargetCalculator__soy995 || showTargetJumpToPage__soy997) {
          var msg_15067__soy15068 = '';
          /** @desc  */

          var MSG_EXTERNAL_1961977818876868209$$1 = Liferay.Language.get('choose-an-option');
          msg_15067__soy15068 += MSG_EXTERNAL_1961977818876868209$$1;
          var options__soy1024 = showTargetAutofill__soy993 ? dataProvider : showTargetDefault__soy991 ? fieldOptions : showTargetJumpToPage__soy997 ? pageOptions : showTargetCalculator__soy995 ? calculatorResultOptions : [];
          var ref__soy1026 = showTargetCalculator__soy995 ? 'calculatorResult' : 'actionTarget';
          $renderActionTarget({
            _handleTargetSelection: _handleTargetSelection,
            index: index,
            options: options__soy1024,
            placeholder: '' + msg_15067__soy15068,
            ref: ref__soy1026 + index,
            spritemap: spritemap,
            value: targetSelected
          }, null, opt_ijData);
        }

        incrementalDom.elementClose('div');

        if (showTargetCalculator__soy995 && targetSelected) {
          $templateAlias4({
            events: {
              editExpression: _handleEditExpression
            },
            expression: actionExpression,
            fields: calculatorFields,
            functions: calculatorFunctions,
            index: index,
            resultSelected: targetSelected,
            spritemap: spritemap
          }, null, opt_ijData);
        }

        if (showTargetAutofill__soy993 && targetSelected) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'action-rule-data-provider row');
          incrementalDom.elementOpenEnd();
          $renderAutofill({
            _handleDataProviderInputEdited: _handleDataProviderInputEdited,
            _handleDataProviderOutputEdited: _handleDataProviderOutputEdited,
            actionIndex: index,
            actionInputs: actionInputs,
            actionOutputs: actionOutputs,
            hasRequiredInputs: hasRequiredInputs,
            spritemap: spritemap
          }, null, opt_ijData);
          incrementalDom.elementClose('div');
        }

        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'timeline-increment');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'timeline-icon');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementClose('span');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'container-trash');
        incrementalDom.elementOpenEnd();
        $templateAlias1({
          events: {
            click: _handleDeleteAction
          },
          data: {
            index: index
          },
          icon: 'trash',
          monospaced: true,
          ref: 'trashButtonAction' + index,
          size: 'sm',
          spritemap: spritemap,
          style: 'secondary'
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('li');
      }

      exports.renderAction = $renderAction;
      /**
       * @typedef {{
       *  actionTypes: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorFields: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorFunctions: !Array<{label: (!goog.soy.data.SanitizedContent|string), tooltip: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  calculatorResultOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  index: number,
       *  pageOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionSelection: (*|null|undefined),
       *  _handleEditExpression: (*|null|undefined),
       *  _handleDataProviderInputEdited: (*|null|undefined),
       *  _handleDataProviderOutputEdited: (*|null|undefined),
       *  _handleDeleteAction: (*|null|undefined),
       *  _handleTargetSelection: (*|null|undefined),
       *  actionExpression: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  actionInputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  actionOutputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  actionSelected: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  dataProvider: (!Array<{id: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  hasRequiredInputs: (boolean|null|undefined),
       *  targetSelected: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      $renderAction.Params;

      if (goog.DEBUG) {
        $renderAction.soyTemplateName = 'RuleEditor.renderAction';
      }
      /**
       * @param {{
       *  index: number,
       *  ref: (!goog.soy.data.SanitizedContent|string),
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleTargetSelection: (*|null|undefined),
       *  options: (!Array<?>|null|undefined),
       *  placeholder: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  value: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderActionTarget(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {number} */

        var index = soy.asserts.assertType(goog.isNumber(opt_data.index), 'index', opt_data.index, 'number');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var ref = soy.asserts.assertType(goog.isString(opt_data.ref) || opt_data.ref instanceof goog.soy.data.SanitizedContent, 'ref', opt_data.ref, '!goog.soy.data.SanitizedContent|string');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleTargetSelection = opt_data._handleTargetSelection;
        /** @type {!Array<?>|null|undefined} */

        var options = soy.asserts.assertType(opt_data.options == null || goog.isArray(opt_data.options), 'options', opt_data.options, '!Array<?>|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var placeholder = soy.asserts.assertType(opt_data.placeholder == null || goog.isString(opt_data.placeholder) || opt_data.placeholder instanceof goog.soy.data.SanitizedContent, 'placeholder', opt_data.placeholder, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var value = soy.asserts.assertType(opt_data.value == null || goog.isString(opt_data.value) || opt_data.value instanceof goog.soy.data.SanitizedContent, 'value', opt_data.value, '!goog.soy.data.SanitizedContent|null|string|undefined');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-group-item target-action');
        incrementalDom.attr('target-action-index', index);
        incrementalDom.elementOpenEnd();
        $templateAlias3({
          events: {
            fieldEdited: _handleTargetSelection
          },
          fieldType: 'select',
          name: ref,
          options: options,
          placeholder: placeholder,
          ref: ref,
          showEmptyOption: false,
          spritemap: spritemap,
          value: [value]
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
      }

      exports.renderActionTarget = $renderActionTarget;
      /**
       * @typedef {{
       *  index: number,
       *  ref: (!goog.soy.data.SanitizedContent|string),
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleTargetSelection: (*|null|undefined),
       *  options: (!Array<?>|null|undefined),
       *  placeholder: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  value: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      $renderActionTarget.Params;

      if (goog.DEBUG) {
        $renderActionTarget.soyTemplateName = 'RuleEditor.renderActionTarget';
      }
      /**
       * @param {{
       *  binaryOperator: boolean,
       *  fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  index: number,
       *  readOnly: boolean,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleDeleteCondition: (*|null|undefined),
       *  _handleFirstOperandFieldEdited: (*|null|undefined),
       *  _handleOperatorEdited: (*|null|undefined),
       *  _handleSecondOperandFieldEdited: (*|null|undefined),
       *  _handleSecondOperandTypeEdited: (*|null|undefined),
       *  _handleSecondOperandValueEdited: (*|null|undefined),
       *  firstOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  firstOperandColumns: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  firstOperandOptions: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  firstOperandRows: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  firstOperandValueSelected: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  fixedOptions: (*|null|undefined),
       *  logicalOperator: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  operators: (?),
       *  roles: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  secondOperandDataType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  secondOperandFieldName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  secondOperandOptionValue: (*|null|undefined),
       *  secondOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  secondOperandValue: (*|null|undefined),
       *  selectedOperator: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderCondition(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {boolean} */

        var binaryOperator = soy.asserts.assertType(goog.isBoolean(opt_data.binaryOperator) || opt_data.binaryOperator === 1 || opt_data.binaryOperator === 0, 'binaryOperator', opt_data.binaryOperator, 'boolean');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>} */

        var fieldOptions = soy.asserts.assertType(goog.isArray(opt_data.fieldOptions), 'fieldOptions', opt_data.fieldOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {number} */

        var index = soy.asserts.assertType(goog.isNumber(opt_data.index), 'index', opt_data.index, 'number');
        /** @type {boolean} */

        var readOnly = soy.asserts.assertType(goog.isBoolean(opt_data.readOnly) || opt_data.readOnly === 1 || opt_data.readOnly === 0, 'readOnly', opt_data.readOnly, 'boolean');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleDeleteCondition = opt_data._handleDeleteCondition;
        /** @type {*|null|undefined} */

        var _handleFirstOperandFieldEdited = opt_data._handleFirstOperandFieldEdited;
        /** @type {*|null|undefined} */

        opt_data._handleOperatorEdited;
        opt_data._handleSecondOperandFieldEdited;
        opt_data._handleSecondOperandTypeEdited;

        /** @type {*|null|undefined} */

        var _handleSecondOperandValueEdited = opt_data._handleSecondOperandValueEdited;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var firstOperandType = soy.asserts.assertType(opt_data.firstOperandType == null || goog.isString(opt_data.firstOperandType) || opt_data.firstOperandType instanceof goog.soy.data.SanitizedContent, 'firstOperandType', opt_data.firstOperandType, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var firstOperandColumns = soy.asserts.assertType(opt_data.firstOperandColumns == null || goog.isArray(opt_data.firstOperandColumns), 'firstOperandColumns', opt_data.firstOperandColumns, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var firstOperandOptions = soy.asserts.assertType(opt_data.firstOperandOptions == null || goog.isArray(opt_data.firstOperandOptions), 'firstOperandOptions', opt_data.firstOperandOptions, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var firstOperandRows = soy.asserts.assertType(opt_data.firstOperandRows == null || goog.isArray(opt_data.firstOperandRows), 'firstOperandRows', opt_data.firstOperandRows, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var firstOperandValueSelected = soy.asserts.assertType(opt_data.firstOperandValueSelected == null || goog.isString(opt_data.firstOperandValueSelected) || opt_data.firstOperandValueSelected instanceof goog.soy.data.SanitizedContent, 'firstOperandValueSelected', opt_data.firstOperandValueSelected, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {*|null|undefined} */

        var fixedOptions = opt_data.fixedOptions;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var logicalOperator = soy.asserts.assertType(opt_data.logicalOperator == null || goog.isString(opt_data.logicalOperator) || opt_data.logicalOperator instanceof goog.soy.data.SanitizedContent, 'logicalOperator', opt_data.logicalOperator, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {?} */

        opt_data.operators;
        soy.asserts.assertType(opt_data.roles == null || goog.isArray(opt_data.roles), 'roles', opt_data.roles, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');

        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var secondOperandDataType = soy.asserts.assertType(opt_data.secondOperandDataType == null || goog.isString(opt_data.secondOperandDataType) || opt_data.secondOperandDataType instanceof goog.soy.data.SanitizedContent, 'secondOperandDataType', opt_data.secondOperandDataType, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var secondOperandFieldName = soy.asserts.assertType(opt_data.secondOperandFieldName == null || goog.isString(opt_data.secondOperandFieldName) || opt_data.secondOperandFieldName instanceof goog.soy.data.SanitizedContent, 'secondOperandFieldName', opt_data.secondOperandFieldName, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {*|null|undefined} */

        var secondOperandOptionValue = opt_data.secondOperandOptionValue;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var secondOperandType = soy.asserts.assertType(opt_data.secondOperandType == null || goog.isString(opt_data.secondOperandType) || opt_data.secondOperandType instanceof goog.soy.data.SanitizedContent, 'secondOperandType', opt_data.secondOperandType, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {*|null|undefined} */

        var secondOperandValue = opt_data.secondOperandValue;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var selectedOperator = soy.asserts.assertType(opt_data.selectedOperator == null || goog.isString(opt_data.selectedOperator) || opt_data.selectedOperator instanceof goog.soy.data.SanitizedContent, 'selectedOperator', opt_data.selectedOperator, '!goog.soy.data.SanitizedContent|null|string|undefined');
        var msg_15070__soy15071 = '';
        /** @desc  */

        var MSG_EXTERNAL_1961977818876868209 = Liferay.Language.get('choose-an-option');
        msg_15070__soy15071 += MSG_EXTERNAL_1961977818876868209;
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'form-builder-rule-condition-container timeline-item');
        incrementalDom.attr('condition-index', index);
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'panel panel-default');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'flex-container panel-body');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-group-autofit');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-group-item form-group-item-label form-group-item-shrink');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpen('h4');
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'text-truncate-inline');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'text-truncate');
        incrementalDom.elementOpenEnd();
        /** @desc  */

        var MSG_EXTERNAL_5099375131746050090 = Liferay.Language.get('if');
        incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_5099375131746050090));
        incrementalDom.elementClose('span');
        incrementalDom.elementClose('span');
        incrementalDom.elementClose('h4');
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'condition-if form-group-item');
        incrementalDom.attr('condition-if-index', index);
        incrementalDom.elementOpenEnd();
        $templateAlias3({
          events: {
            fieldEdited: _handleFirstOperandFieldEdited
          },
          fieldType: 'select',
          fixedOptions: fixedOptions,
          name: 'firstOperand' + index,
          options: fieldOptions,
          placeholder: '' + msg_15070__soy15071,
          ref: 'firstOperand' + index,
          showEmptyOption: false,
          spritemap: spritemap,
          value: [firstOperandValueSelected]
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
        $renderConditionOperators(opt_data, null, opt_ijData);

        if (firstOperandType && selectedOperator) {
          if (firstOperandType != 'user') {
            if (binaryOperator) {
              $renderConditionSecondOperandTypeSelector(opt_data, null, opt_ijData);

              incrementalDom.elementOpenStart('div');
              incrementalDom.attr('class', 'condition-type-value form-group-item');
              incrementalDom.attr('condition-type-value-index', index);
              incrementalDom.elementOpenEnd();

              if (secondOperandType == 'checkbox_multiple' || secondOperandType == 'radio' || secondOperandType == 'select') {
                var msg_15073__soy15074 = '';
                /** @desc  */

                var MSG_EXTERNAL_1961977818876868209$$1 = Liferay.Language.get('choose-an-option');
                msg_15073__soy15074 += MSG_EXTERNAL_1961977818876868209$$1;
                $templateAlias3({
                  events: {
                    fieldEdited: _handleSecondOperandValueEdited
                  },
                  fieldType: 'select',
                  name: secondOperandFieldName,
                  options: firstOperandOptions,
                  placeholder: '' + msg_15073__soy15074,
                  readOnly: readOnly,
                  ref: 'secondOperandField' + index,
                  showEmptyOption: false,
                  spritemap: spritemap,
                  value: [secondOperandOptionValue]
                }, null, opt_ijData);
              } else if (secondOperandType == 'field') {
                var msg_15076__soy15077 = '';
                /** @desc  */

                var MSG_EXTERNAL_1961977818876868209$$2 = Liferay.Language.get('choose-an-option');
                msg_15076__soy15077 += MSG_EXTERNAL_1961977818876868209$$2;
                $templateAlias3({
                  events: {
                    fieldEdited: _handleSecondOperandValueEdited
                  },
                  fieldType: 'select',
                  name: 'secondOperand' + index,
                  options: fieldOptions,
                  placeholder: '' + msg_15076__soy15077,
                  ref: 'secondOperandField' + index,
                  showEmptyOption: false,
                  spritemap: spritemap,
                  value: [secondOperandValue]
                }, null, opt_ijData);
              } else if (secondOperandType == 'grid') {
                $templateAlias3({
                  columns: firstOperandColumns,
                  dataType: secondOperandDataType,
                  events: {
                    fieldEdited: _handleSecondOperandValueEdited
                  },
                  fieldType: secondOperandType,
                  name: secondOperandFieldName,
                  readOnly: readOnly,
                  ref: 'secondOperandValue' + index,
                  rows: firstOperandRows,
                  spritemap: spritemap,
                  value: secondOperandValue
                }, null, opt_ijData);
              } else if (secondOperandType != '') {
                $templateAlias3({
                  dataType: secondOperandDataType,
                  events: {
                    fieldEdited: _handleSecondOperandValueEdited
                  },
                  fieldType: secondOperandType,
                  name: secondOperandFieldName,
                  readOnly: readOnly,
                  ref: 'secondOperandValue' + index,
                  showEmptyOption: false,
                  spritemap: spritemap,
                  value: secondOperandValue
                }, null, opt_ijData);
              }

              incrementalDom.elementClose('div');
            }
          } else {
            incrementalDom.elementOpenStart('div');
            incrementalDom.attr('class', 'condition-type-value form-group-item');
            incrementalDom.attr('condition-type-value-index', index);
            incrementalDom.elementOpenEnd();
            $renderConditionUserRolesSelector(opt_data, null, opt_ijData);
            incrementalDom.elementClose('div');
          }
        }

        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'timeline-increment');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'timeline-icon');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementClose('span');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'operator panel panel-default panel-inline');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'panel-body text-uppercase');
        incrementalDom.elementOpenEnd();

        if (logicalOperator == 'and') {
          /** @desc  */
          var MSG_EXTERNAL_3929281485914893910 = Liferay.Language.get('and');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_3929281485914893910));
        } else {
          /** @desc  */
          var MSG_EXTERNAL_6627551976444260400 = Liferay.Language.get('or');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_6627551976444260400));
        }

        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'container-trash');
        incrementalDom.elementOpenEnd();
        $templateAlias1({
          events: {
            click: _handleDeleteCondition
          },
          data: {
            index: index
          },
          icon: 'trash',
          monospaced: true,
          ref: 'trashButton' + index,
          size: 'sm',
          spritemap: spritemap,
          style: 'secondary'
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('li');
      }

      exports.renderCondition = $renderCondition;
      /**
       * @typedef {{
       *  binaryOperator: boolean,
       *  fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>,
       *  index: number,
       *  readOnly: boolean,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleDeleteCondition: (*|null|undefined),
       *  _handleFirstOperandFieldEdited: (*|null|undefined),
       *  _handleOperatorEdited: (*|null|undefined),
       *  _handleSecondOperandFieldEdited: (*|null|undefined),
       *  _handleSecondOperandTypeEdited: (*|null|undefined),
       *  _handleSecondOperandValueEdited: (*|null|undefined),
       *  firstOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  firstOperandColumns: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  firstOperandOptions: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  firstOperandRows: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  firstOperandValueSelected: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  fixedOptions: (*|null|undefined),
       *  logicalOperator: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  operators: (?),
       *  roles: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  secondOperandDataType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  secondOperandFieldName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  secondOperandOptionValue: (*|null|undefined),
       *  secondOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  secondOperandValue: (*|null|undefined),
       *  selectedOperator: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      $renderCondition.Params;

      if (goog.DEBUG) {
        $renderCondition.soyTemplateName = 'RuleEditor.renderCondition';
      }
      /**
       * @param {{
       *  index: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleOperatorEdited: (*|null|undefined),
       *  firstOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  operators: (?),
       *  selectedOperator: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderConditionOperators(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {number} */

        var index = soy.asserts.assertType(goog.isNumber(opt_data.index), 'index', opt_data.index, 'number');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleOperatorEdited = opt_data._handleOperatorEdited;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var firstOperandType = soy.asserts.assertType(opt_data.firstOperandType == null || goog.isString(opt_data.firstOperandType) || opt_data.firstOperandType instanceof goog.soy.data.SanitizedContent, 'firstOperandType', opt_data.firstOperandType, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {?} */

        var operators = opt_data.operators;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var selectedOperator = soy.asserts.assertType(opt_data.selectedOperator == null || goog.isString(opt_data.selectedOperator) || opt_data.selectedOperator instanceof goog.soy.data.SanitizedContent, 'selectedOperator', opt_data.selectedOperator, '!goog.soy.data.SanitizedContent|null|string|undefined');
        var msg_15079__soy15080 = '';
        /** @desc  */

        var MSG_EXTERNAL_1961977818876868209 = Liferay.Language.get('choose-an-option');
        msg_15079__soy15080 += MSG_EXTERNAL_1961977818876868209;
        var readOnly__soy1297 = firstOperandType ? false : true;
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'condition-operator form-group-item');
        incrementalDom.attr('condition-operator-index', index);
        incrementalDom.elementOpenEnd();
        $templateAlias3({
          events: {
            fieldEdited: _handleOperatorEdited
          },
          fieldType: 'select',
          name: 'conditionOperator' + index,
          options: operators,
          placeholder: '' + msg_15079__soy15080,
          readOnly: readOnly__soy1297,
          ref: 'conditionOperator' + index,
          showEmptyOption: false,
          spritemap: spritemap,
          value: [selectedOperator]
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
      }

      exports.renderConditionOperators = $renderConditionOperators;
      /**
       * @typedef {{
       *  index: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleOperatorEdited: (*|null|undefined),
       *  firstOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  operators: (?),
       *  selectedOperator: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      $renderConditionOperators.Params;

      if (goog.DEBUG) {
        $renderConditionOperators.soyTemplateName = 'RuleEditor.renderConditionOperators';
      }
      /**
       * @param {{
       *  index: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleSecondOperandTypeEdited: (*|null|undefined),
       *  secondOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectedOperator: (*|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderConditionSecondOperandTypeSelector(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {number} */

        var index = soy.asserts.assertType(goog.isNumber(opt_data.index), 'index', opt_data.index, 'number');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleSecondOperandTypeEdited = opt_data._handleSecondOperandTypeEdited;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var secondOperandType = soy.asserts.assertType(opt_data.secondOperandType == null || goog.isString(opt_data.secondOperandType) || opt_data.secondOperandType instanceof goog.soy.data.SanitizedContent, 'secondOperandType', opt_data.secondOperandType, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {*|null|undefined} */

        var selectedOperator = opt_data.selectedOperator;
        var msg_15085__soy15086 = '';
        /** @desc  */

        var MSG_EXTERNAL_3375720161310377589 = Liferay.Language.get('value');
        msg_15085__soy15086 += MSG_EXTERNAL_3375720161310377589;
        var msg_15082__soy15083 = '';
        /** @desc  */

        var MSG_EXTERNAL_1829736102968854254 = Liferay.Language.get('other-field');
        msg_15082__soy15083 += MSG_EXTERNAL_1829736102968854254;
        var otherFieldLabel__soy1325 = '';
        otherFieldLabel__soy1325 += msg_15082__soy15083;
        var valueLabel__soy1332 = '';
        valueLabel__soy1332 += msg_15085__soy15086;
        var options__soy1339 = [{
          label: valueLabel__soy1332,
          value: 'value'
        }, {
          label: otherFieldLabel__soy1325,
          value: 'field'
        }];
        var value__soy1341 = secondOperandType == 'field' ? 'field' : secondOperandType ? 'value' : '';
        var visible__soy1343 = selectedOperator && secondOperandType != 'none' ? true : false;

        if (visible__soy1343) {
          var msg_15088__soy15089 = '';
          /** @desc  */

          var MSG_EXTERNAL_1961977818876868209 = Liferay.Language.get('choose-an-option');
          msg_15088__soy15089 += MSG_EXTERNAL_1961977818876868209;
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'condition-type form-group-item');
          incrementalDom.attr('condition-type-index', index);
          incrementalDom.elementOpenEnd();
          $templateAlias3({
            events: {
              fieldEdited: _handleSecondOperandTypeEdited
            },
            fieldType: 'select',
            name: 'secondOperandTypeSelector' + index,
            options: options__soy1339,
            placeholder: '' + msg_15088__soy15089,
            ref: 'secondOperandTypeSelector' + index,
            showEmptyOption: false,
            spritemap: spritemap,
            value: [value__soy1341],
            visible: visible__soy1343
          }, null, opt_ijData);
          incrementalDom.elementClose('div');
        }
      }

      exports.renderConditionSecondOperandTypeSelector = $renderConditionSecondOperandTypeSelector;
      /**
       * @typedef {{
       *  index: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleSecondOperandTypeEdited: (*|null|undefined),
       *  secondOperandType: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectedOperator: (*|null|undefined)
       * }}
       */

      $renderConditionSecondOperandTypeSelector.Params;

      if (goog.DEBUG) {
        $renderConditionSecondOperandTypeSelector.soyTemplateName = 'RuleEditor.renderConditionSecondOperandTypeSelector';
      }
      /**
       * @param {{
       *  index: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleSecondOperandFieldEdited: (*|null|undefined),
       *  roles: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  selectedOperator: (*|null|undefined),
       *  secondOperandValue: (*|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderConditionUserRolesSelector(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {number} */

        var index = soy.asserts.assertType(goog.isNumber(opt_data.index), 'index', opt_data.index, 'number');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleSecondOperandFieldEdited = opt_data._handleSecondOperandFieldEdited;
        /** @type {!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var roles = soy.asserts.assertType(opt_data.roles == null || goog.isArray(opt_data.roles), 'roles', opt_data.roles, '!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {*|null|undefined} */

        var selectedOperator = opt_data.selectedOperator;
        /** @type {*|null|undefined} */

        var secondOperandValue = opt_data.secondOperandValue;
        var msg_15091__soy15092 = '';
        /** @desc  */

        var MSG_EXTERNAL_1961977818876868209 = Liferay.Language.get('choose-an-option');
        msg_15091__soy15092 += MSG_EXTERNAL_1961977818876868209;
        var visible__soy1376 = selectedOperator ? true : false;
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'condition-user-role form-group-item ' + (!visible__soy1376 ? 'hide' : ''));
        incrementalDom.attr('condition-user-role-index', index);
        incrementalDom.elementOpenEnd();
        $templateAlias3({
          events: {
            fieldEdited: _handleSecondOperandFieldEdited
          },
          fieldType: 'select',
          name: 'roleSelector' + index,
          options: roles,
          placeholder: '' + msg_15091__soy15092,
          showEmptyOption: false,
          spritemap: spritemap,
          value: [secondOperandValue]
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
      }

      exports.renderConditionUserRolesSelector = $renderConditionUserRolesSelector;
      /**
       * @typedef {{
       *  index: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleSecondOperandFieldEdited: (*|null|undefined),
       *  roles: (!Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  selectedOperator: (*|null|undefined),
       *  secondOperandValue: (*|null|undefined)
       * }}
       */

      $renderConditionUserRolesSelector.Params;

      if (goog.DEBUG) {
        $renderConditionUserRolesSelector.soyTemplateName = 'RuleEditor.renderConditionUserRolesSelector';
      }
      /**
       * @param {{
       *  _handleLogicalOperationChange: *,
       *  enableLogicalOperator: (boolean|null|undefined),
       *  logicalOperator: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  logicalOperators: (!Array<?>|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|string)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderConditionLogicalOperatorDropdown(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {*} */

        var _handleLogicalOperationChange = opt_data._handleLogicalOperationChange;
        /** @type {boolean|null|undefined} */

        var enableLogicalOperator = soy.asserts.assertType(opt_data.enableLogicalOperator == null || goog.isBoolean(opt_data.enableLogicalOperator) || opt_data.enableLogicalOperator === 1 || opt_data.enableLogicalOperator === 0, 'enableLogicalOperator', opt_data.enableLogicalOperator, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var logicalOperator = soy.asserts.assertType(opt_data.logicalOperator == null || goog.isString(opt_data.logicalOperator) || opt_data.logicalOperator instanceof goog.soy.data.SanitizedContent, 'logicalOperator', opt_data.logicalOperator, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!Array<?>|null|undefined} */

        var logicalOperators = soy.asserts.assertType(opt_data.logicalOperators == null || goog.isArray(opt_data.logicalOperators), 'logicalOperators', opt_data.logicalOperators, '!Array<?>|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');

        $templateAlias5({
          events: {
            itemClicked: _handleLogicalOperationChange
          },
          contentRenderer: 'contentConditionLogicalOperatorDropdown',
          disabled: enableLogicalOperator ? false : true,
          elementClasses: 'btn-group btn-group-item dropdown',
          items: logicalOperators ? logicalOperators : [],
          label: function param1412() {
            incrementalDom.elementOpenStart('span');
            incrementalDom.attr('class', 'dropdown-toggle-selected-value');
            incrementalDom.elementOpenEnd();

            if (logicalOperator == 'and') {
              /** @desc  */
              var MSG_EXTERNAL_3929281485914893910 = Liferay.Language.get('and');
              incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_3929281485914893910));
            } else {
              /** @desc  */
              var MSG_EXTERNAL_6627551976444260400 = Liferay.Language.get('or');
              incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_6627551976444260400));
            }

            incrementalDom.elementClose('span');
            incrementalDom.elementOpenStart('span');
            incrementalDom.attr('class', 'caret');
            incrementalDom.elementOpenEnd();
            incrementalDom.elementClose('span');
          },
          preferredAlign: 'BottomRight',
          ref: 'logicalOperatorDropDownButton',
          spritemap: spritemap,
          style: 'secondary',
          triggerClasses: 'dropdown-toggle-operator text-uppercase'
        }, null, opt_ijData);
      }

      exports.renderConditionLogicalOperatorDropdown = $renderConditionLogicalOperatorDropdown;
      /**
       * @typedef {{
       *  _handleLogicalOperationChange: *,
       *  enableLogicalOperator: (boolean|null|undefined),
       *  logicalOperator: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  logicalOperators: (!Array<?>|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|string)
       * }}
       */

      $renderConditionLogicalOperatorDropdown.Params;

      if (goog.DEBUG) {
        $renderConditionLogicalOperatorDropdown.soyTemplateName = 'RuleEditor.renderConditionLogicalOperatorDropdown';
      }
      /**
       * @param {{
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  extraContent: (function()|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderHeader(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var title = soy.asserts.assertType(goog.isString(opt_data.title) || opt_data.title instanceof goog.soy.data.SanitizedContent, 'title', opt_data.title, '!goog.soy.data.SanitizedContent|string');
        /** @type {function()|null|undefined} */

        var extraContent = soy.asserts.assertType(opt_data.extraContent == null || goog.isFunction(opt_data.extraContent), 'extraContent', opt_data.extraContent, 'function()|null|undefined');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'timeline-item');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'panel panel-default');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'flex-container panel-body');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'h4 panel-title');
        incrementalDom.elementOpenEnd();
        soyIdom.print(title);
        incrementalDom.elementClose('div');

        if (extraContent) {
          extraContent();
        }

        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'timeline-increment');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('span');
        incrementalDom.attr('class', 'timeline-icon');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementClose('span');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('li');
      }

      exports.renderHeader = $renderHeader;
      /**
       * @typedef {{
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  extraContent: (function()|null|undefined)
       * }}
       */

      $renderHeader.Params;

      if (goog.DEBUG) {
        $renderHeader.soyTemplateName = 'RuleEditor.renderHeader';
      }
      /**
       * @param {{
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleItemAdded: (*|null|undefined),
       *  type: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderAddItemButton(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleItemAdded = opt_data._handleItemAdded;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var type = soy.asserts.assertType(opt_data.type == null || goog.isString(opt_data.type) || opt_data.type instanceof goog.soy.data.SanitizedContent, 'type', opt_data.type, '!goog.soy.data.SanitizedContent|null|string|undefined');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'addbutton-timeline-item');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'add-item timeline-increment-icon');
        incrementalDom.elementOpenEnd();
        $templateAlias1({
          events: {
            click: _handleItemAdded
          },
          elementClasses: 'rounded-circle',
          icon: 'plus',
          monospaced: true,
          ref: type,
          size: 'sm',
          spritemap: spritemap
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
      }

      exports.renderAddItemButton = $renderAddItemButton;
      /**
       * @typedef {{
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleItemAdded: (*|null|undefined),
       *  type: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      $renderAddItemButton.Params;

      if (goog.DEBUG) {
        $renderAddItemButton.soyTemplateName = 'RuleEditor.renderAddItemButton';
      }
      /**
       * @param {{
       *  actionIndex: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleDataProviderInputEdited: (*|null|undefined),
       *  _handleDataProviderOutputEdited: (*|null|undefined),
       *  actionInputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  actionOutputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  hasRequiredInputs: (boolean|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function $renderAutofill(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {number} */

        var actionIndex = soy.asserts.assertType(goog.isNumber(opt_data.actionIndex), 'actionIndex', opt_data.actionIndex, 'number');
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleDataProviderInputEdited = opt_data._handleDataProviderInputEdited;
        /** @type {*|null|undefined} */

        var _handleDataProviderOutputEdited = opt_data._handleDataProviderOutputEdited;
        /** @type {!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var actionInputs = soy.asserts.assertType(opt_data.actionInputs == null || goog.isArray(opt_data.actionInputs), 'actionInputs', opt_data.actionInputs, '!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */

        var actionOutputs = soy.asserts.assertType(opt_data.actionOutputs == null || goog.isArray(opt_data.actionOutputs), 'actionOutputs', opt_data.actionOutputs, '!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {boolean|null|undefined} */

        var hasRequiredInputs = soy.asserts.assertType(opt_data.hasRequiredInputs == null || goog.isBoolean(opt_data.hasRequiredInputs) || opt_data.hasRequiredInputs === 1 || opt_data.hasRequiredInputs === 0, 'hasRequiredInputs', opt_data.hasRequiredInputs, 'boolean|null|undefined');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'col-md-12 ddm-data-provider-container no-padding');
        incrementalDom.elementOpenEnd();

        if (!actionOutputs || actionOutputs.length == 0) {
          var msg_15097__soy15098 = '';
          /** @desc  */

          var MSG_EXTERNAL_8772116786769251214 = Liferay.Language.get('error');
          msg_15097__soy15098 += MSG_EXTERNAL_8772116786769251214;
          var msg_15094__soy15095 = '';
          /** @desc  */

          var MSG_EXTERNAL_6818430579731669946 = Liferay.Language.get('data-provider-error');
          msg_15094__soy15095 += MSG_EXTERNAL_6818430579731669946;
          $templateAlias6({
            message: '' + msg_15094__soy15095,
            spritemap: spritemap,
            style: 'danger',
            title: '' + msg_15097__soy15098
          }, null, opt_ijData);
        }

        if (actionInputs && actionInputs.length > 0 && actionOutputs && actionOutputs.length > 0) {
          var msg_15100__soy15101 = '';
          /** @desc  */

          var MSG_EXTERNAL_1961977818876868209 = Liferay.Language.get('choose-an-option');
          msg_15100__soy15101 += MSG_EXTERNAL_1961977818876868209;
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'data-provider-parameter-input-container');
          incrementalDom.elementOpenEnd();

          if (hasRequiredInputs) {
            incrementalDom.elementOpenStart('div');
            incrementalDom.attr('class', 'data-provider-label-container');
            incrementalDom.elementOpenEnd();
            incrementalDom.elementOpen('label');
            incrementalDom.elementOpenStart('p');
            incrementalDom.attr('class', 'data-provider-parameter-input-required-field');
            incrementalDom.elementOpenEnd();
            /** @desc  */

            var MSG_EXTERNAL_6811624707113510241 = Liferay.Language.get('required-field');
            incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_6811624707113510241));
            incrementalDom.elementClose('p');
            incrementalDom.text(' ');
            incrementalDom.elementOpenStart('span');
            incrementalDom.attr('class', 'reference-mark');
            incrementalDom.elementOpenEnd();
            $templateAlias7({
              spritemap: spritemap,
              symbol: 'asterisk'
            }, null, opt_ijData);
            incrementalDom.elementClose('span');
            incrementalDom.elementClose('label');
            incrementalDom.elementClose('div');
          }

          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'data-provider-label-container');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpenStart('p');
          incrementalDom.attr('class', 'data-provider-parameter-input');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpen('b');
          /** @desc  */

          var MSG_EXTERNAL_3371778164350296990 = Liferay.Language.get('data-provider-parameter-input');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_3371778164350296990));
          incrementalDom.elementClose('b');
          incrementalDom.elementClose('p');
          incrementalDom.elementOpenStart('p');
          incrementalDom.attr('class', 'data-provider-parameter-input-description');
          incrementalDom.elementOpenEnd();
          /** @desc  */

          var MSG_EXTERNAL_8269265529940927663 = Liferay.Language.get('data-provider-parameter-input-description');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_8269265529940927663));
          incrementalDom.elementClose('p');
          incrementalDom.elementClose('div');
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'data-provider-parameter-input-list row');
          incrementalDom.elementOpenEnd();
          var input1548List = actionInputs;
          var input1548ListLen = input1548List.length;

          for (var input1548Index = 0; input1548Index < input1548ListLen; input1548Index++) {
            var input1548Data = input1548List[input1548Index];
            incrementalDom.elementOpenStart('div');
            incrementalDom.attr('class', 'col-md-3 container-input-label');
            incrementalDom.elementOpenEnd();
            soyIdom.print(input1548Data.label);
            incrementalDom.elementOpen('label');

            if (input1548Data.required) {
              incrementalDom.elementOpenStart('span');
              incrementalDom.attr('class', 'input-required reference-mark');
              incrementalDom.elementOpenEnd();
              $templateAlias7({
                spritemap: spritemap,
                symbol: 'asterisk'
              }, null, opt_ijData);
              incrementalDom.elementClose('span');
            }

            incrementalDom.elementClose('label');
            incrementalDom.elementClose('div');
            var index__soy1526 = input1548Index;
            incrementalDom.elementOpenStart('div');
            incrementalDom.attr('class', 'col-md-9 container-input-field container-input-field-' + index__soy1526);
            incrementalDom.attr('container-input-field-index', index__soy1526);
            incrementalDom.elementOpenEnd();
            $templateAlias3({
              events: {
                fieldEdited: _handleDataProviderInputEdited
              },
              fieldType: 'select',
              name: 'action' + actionIndex + 'dataProviderInput' + index__soy1526,
              options: input1548Data.fieldOptions,
              placeholder: '' + msg_15100__soy15101,
              ref: 'action' + actionIndex + 'dataProviderInput' + index__soy1526,
              showEmptyOption: false,
              spritemap: spritemap,
              value: [input1548Data.value]
            }, null, opt_ijData);
            incrementalDom.elementClose('div');
          }

          incrementalDom.elementClose('div');
          incrementalDom.elementClose('div');
        }

        if (actionOutputs && actionOutputs.length > 0) {
          var msg_15103__soy15104 = '';
          /** @desc  */

          var MSG_EXTERNAL_1961977818876868209$$1 = Liferay.Language.get('choose-an-option');
          msg_15103__soy15104 += MSG_EXTERNAL_1961977818876868209$$1;
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'data-provider-parameter-output-container');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'data-provider-label-container');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpenStart('p');
          incrementalDom.attr('class', 'data-provider-parameter-output');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpen('b');
          /** @desc  */

          var MSG_EXTERNAL_4821762715526155474 = Liferay.Language.get('data-provider-parameter-output');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_4821762715526155474));
          incrementalDom.elementClose('b');
          incrementalDom.elementClose('p');
          incrementalDom.elementOpenStart('p');
          incrementalDom.attr('class', 'data-provider-parameter-output-description');
          incrementalDom.elementOpenEnd();
          /** @desc  */

          var MSG_EXTERNAL_1855554600739008989 = Liferay.Language.get('data-provider-parameter-output-description');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_1855554600739008989));
          incrementalDom.elementClose('p');
          incrementalDom.elementClose('div');
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'data-provider-parameter-output-list row');
          incrementalDom.elementOpenEnd();
          var output1587List = actionOutputs;
          var output1587ListLen = output1587List.length;

          for (var output1587Index = 0; output1587Index < output1587ListLen; output1587Index++) {
            var output1587Data = output1587List[output1587Index];
            incrementalDom.elementOpenStart('div');
            incrementalDom.attr('class', 'col-md-3 container-output-label');
            incrementalDom.elementOpenEnd();
            soyIdom.print(output1587Data.name);
            incrementalDom.elementClose('div');
            var index__soy1566 = output1587Index;
            incrementalDom.elementOpenStart('div');
            incrementalDom.attr('class', 'col-md-9 container-output-field container-output-field-' + index__soy1566);
            incrementalDom.attr('container-output-field-index', index__soy1566);
            incrementalDom.elementOpenEnd();
            $templateAlias3({
              events: {
                fieldEdited: _handleDataProviderOutputEdited
              },
              fieldType: 'select',
              name: 'action' + actionIndex + 'dataProviderOutput' + index__soy1566,
              options: output1587Data.fieldOptions,
              placeholder: '' + msg_15103__soy15104,
              ref: 'action' + actionIndex + 'dataProviderOutput' + index__soy1566,
              spritemap: spritemap,
              value: [output1587Data.value]
            }, null, opt_ijData);
            incrementalDom.elementClose('div');
          }

          incrementalDom.elementClose('div');
          incrementalDom.elementClose('div');
        }

        incrementalDom.elementClose('div');
      }

      exports.renderAutofill = $renderAutofill;
      /**
       * @typedef {{
       *  actionIndex: number,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleDataProviderInputEdited: (*|null|undefined),
       *  _handleDataProviderOutputEdited: (*|null|undefined),
       *  actionInputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), required: boolean, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  actionOutputs: (!Array<{fieldOptions: !Array<{label: (!goog.soy.data.SanitizedContent|string), name: (!goog.soy.data.SanitizedContent|string), options: !Array<{label: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>, name: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string), value: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  hasRequiredInputs: (boolean|null|undefined)
       * }}
       */

      $renderAutofill.Params;

      if (goog.DEBUG) {
        $renderAutofill.soyTemplateName = 'RuleEditor.renderAutofill';
      }
      /**
       * @param {{
       *  label: (!goog.soy.data.SanitizedContent|string),
       *  _handleItemClick: (*|null|undefined),
       *  active: (boolean|null|undefined),
       *  checked: (boolean|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function __deltemplate_s1591_b3fa107a(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!goog.soy.data.SanitizedContent|string} */

        var label = soy.asserts.assertType(goog.isString(opt_data.label) || opt_data.label instanceof goog.soy.data.SanitizedContent, 'label', opt_data.label, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */

        var _handleItemClick = opt_data._handleItemClick;
        /** @type {boolean|null|undefined} */

        var active = soy.asserts.assertType(opt_data.active == null || goog.isBoolean(opt_data.active) || opt_data.active === 1 || opt_data.active === 0, 'active', opt_data.active, 'boolean|null|undefined');
        /** @type {boolean|null|undefined} */

        var checked = soy.asserts.assertType(opt_data.checked == null || goog.isBoolean(opt_data.checked) || opt_data.checked === 1 || opt_data.checked === 0, 'checked', opt_data.checked, 'boolean|null|undefined');

        incrementalDom.elementOpenStart('li');
        (function itemAttributes__soy1597() {
          incrementalDom.attr('class', 'dropdown-item logic-operator text-uppercase' + (active || checked ? ' active' : ''));
          incrementalDom.attr('data-onclick', _handleItemClick);
        })();
        incrementalDom.attr('data-option-value', label);
        incrementalDom.elementOpenEnd();
        soyIdom.print(label);
        incrementalDom.elementClose('li');
      }

      exports.__deltemplate_s1591_b3fa107a = __deltemplate_s1591_b3fa107a;
      /**
       * @typedef {{
       *  label: (!goog.soy.data.SanitizedContent|string),
       *  _handleItemClick: (*|null|undefined),
       *  active: (boolean|null|undefined),
       *  checked: (boolean|null|undefined)
       * }}
       */

      __deltemplate_s1591_b3fa107a.Params;

      if (goog.DEBUG) {
        __deltemplate_s1591_b3fa107a.soyTemplateName = 'RuleEditor.__deltemplate_s1591_b3fa107a';
      }

      soy.$$registerDelegateFn(soy.$$getDelTemplateId('ClayDropdownItem.Item.idom'), 'itemConditionLogicalOperatorDropdown', 0, __deltemplate_s1591_b3fa107a);
      /**
       * @param {{
       *  _handleItemClick: (*|null|undefined),
       *  contentRenderer: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */

      function __deltemplate_s1612_db79d7c0(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        opt_data = opt_data || {};
        /** @type {*|null|undefined} */

        var _handleItemClick = opt_data._handleItemClick;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        soy.asserts.assertType(opt_data.contentRenderer == null || goog.isString(opt_data.contentRenderer) || opt_data.contentRenderer instanceof goog.soy.data.SanitizedContent, 'contentRenderer', opt_data.contentRenderer, '!goog.soy.data.SanitizedContent|null|string|undefined');

        /** @type {!Array<?>|null|undefined} */

        var items = soy.asserts.assertType(opt_data.items == null || goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<?>|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var spritemap = soy.asserts.assertType(opt_data.spritemap == null || goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|null|string|undefined');

        if (items) {
          incrementalDom.elementOpenStart('ul');
          incrementalDom.attr('class', 'list-unstyled');
          incrementalDom.elementOpenEnd();
          $templateAlias8({
            _handleItemClick: _handleItemClick,
            contentRenderer: 'itemConditionLogicalOperatorDropdown',
            items: items,
            spritemap: spritemap
          }, null, opt_ijData);
          incrementalDom.elementClose('ul');
        }
      }

      exports.__deltemplate_s1612_db79d7c0 = __deltemplate_s1612_db79d7c0;
      /**
       * @typedef {{
       *  _handleItemClick: (*|null|undefined),
       *  contentRenderer: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      __deltemplate_s1612_db79d7c0.Params;

      if (goog.DEBUG) {
        __deltemplate_s1612_db79d7c0.soyTemplateName = 'RuleEditor.__deltemplate_s1612_db79d7c0';
      }

      soy.$$registerDelegateFn(soy.$$getDelTemplateId('ClayDropdownBase.Content.idom'), 'contentConditionLogicalOperatorDropdown', 0, __deltemplate_s1612_db79d7c0);
      exports.render.params = ["actions", "actionTypes", "actionsFieldOptions", "calculatorFunctions", "calculatorResultOptions", "conditions", "conditionsFieldOptions", "dataProvider", "fixedOptions", "handleRuleAdded", "invalidRule", "logicalOperator", "logicalOperators", "pageOptions", "readOnly", "spritemap", "_handleActionAdded", "_handleActionSelection", "_handleConditionAdded", "_handleDataProviderInputEdited", "_handleDataProviderOutputEdited", "_handleDeleteAction", "_handleDeleteCondition", "_handleEditExpression", "_handleFirstOperandFieldEdited", "_handleLogicalOperationChange", "_handleModalButtonClicked", "_handleOperatorEdited", "_handleRuleCancelled", "_handleSecondOperandFieldEdited", "_handleSecondOperandTypeEdited", "_handleSecondOperandValueEdited", "_handleTargetSelection", "roles"];
      exports.render.types = {
        "actions": "list<[\n\t\t\taction: string,\n\t\t\tcalculatorFields: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tname: string,\n\t\t\t\toptions: list<[\n\t\t\t\t\tlabel: string,\n\t\t\t\t\tvalue: string\n\t\t\t\t]>,\n\t\t\t\ttype: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\texpression: string,\n\t\t\thasRequiredInputs: bool,\n\t\t\tinputs: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tname: string,\n\t\t\t\trequired: bool,\n\t\t\t\ttype: string,\n\t\t\t\tvalue: string,\n\t\t\t\tfieldOptions: list<[\n\t\t\t\t\tlabel: string,\n\t\t\t\t\tname: string,\n\t\t\t\t\toptions: list<[\n\t\t\t\t\t\tlabel: string,\n\t\t\t\t\t\tvalue: string\n\t\t\t\t\t]>,\n\t\t\t\t\ttype: string,\n\t\t\t\t\tvalue: string\n\t\t\t\t]>\n\t\t\t]>,\n\t\t\tlabel: string,\n\t\t\toutputs: list<[\n\t\t\t\tname: string,\n\t\t\t\ttype: string,\n\t\t\t\tvalue: string,\n\t\t\t\tfieldOptions: list<[\n\t\t\t\t\tlabel: string,\n\t\t\t\t\tname: string,\n\t\t\t\t\toptions: list<[\n\t\t\t\t\t\tlabel: string,\n\t\t\t\t\t\tvalue: string\n\t\t\t\t\t]>,\n\t\t\t\t\ttype: string,\n\t\t\t\t\tvalue: string\n\t\t\t\t]>\n\t\t\t]>,\n\t\t\ttarget: string\n\t\t]>\n\t",
        "actionTypes": "list<[\n\t\t\tlabel: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "actionsFieldOptions": "list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "calculatorFunctions": "list<[\n\t\t\tlabel: string,\n\t\t\ttooltip: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "calculatorResultOptions": "list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "conditions": "list<[\n\t\t\tbinaryOperator: bool,\n\t\t\tfirstOperandColumns: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\tfirstOperandOptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\tfirstOperandRows: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\toperands: list<[\n\t\t\t\tdataType: string,\n\t\t\t\ttype: string,\n\t\t\t\tlabel: string,\n\t\t\t\toptionValue: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\toperator: string,\n\t\t\toperators: ?\n\t\t]>\n\t",
        "conditionsFieldOptions": "list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "dataProvider": "list<[\n\t\t\tid: string,\n\t\t\tname: string\n\t\t]>\n\t",
        "fixedOptions": "list<[\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "handleRuleAdded": "any",
        "invalidRule": "bool",
        "logicalOperator": "string",
        "logicalOperators": "list<[label: string, value: string]>",
        "pageOptions": "list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "readOnly": "bool",
        "spritemap": "string",
        "_handleActionAdded": "any",
        "_handleActionSelection": "any",
        "_handleConditionAdded": "any",
        "_handleDataProviderInputEdited": "any",
        "_handleDataProviderOutputEdited": "any",
        "_handleDeleteAction": "any",
        "_handleDeleteCondition": "any",
        "_handleEditExpression": "any",
        "_handleFirstOperandFieldEdited": "any",
        "_handleLogicalOperationChange": "any",
        "_handleModalButtonClicked": "any",
        "_handleOperatorEdited": "any",
        "_handleRuleCancelled": "any",
        "_handleSecondOperandFieldEdited": "any",
        "_handleSecondOperandTypeEdited": "any",
        "_handleSecondOperandValueEdited": "any",
        "_handleTargetSelection": "any",
        "roles": "list<[\n\t\tlabel: string,\n\t\tvalue: string\n\t]>"
      };
      exports.renderModal.params = ["question", "spritemap", "title", "type", "_handleModalButtonClicked"];
      exports.renderModal.types = {
        "question": "string",
        "spritemap": "string",
        "title": "string",
        "type": "string",
        "_handleModalButtonClicked": "any"
      };
      exports.renderAction.params = ["actionTypes", "calculatorFields", "calculatorFunctions", "calculatorResultOptions", "fieldOptions", "index", "pageOptions", "spritemap", "_handleActionSelection", "_handleEditExpression", "_handleDataProviderInputEdited", "_handleDataProviderOutputEdited", "_handleDeleteAction", "_handleTargetSelection", "actionExpression", "actionInputs", "actionOutputs", "actionSelected", "dataProvider", "hasRequiredInputs", "targetSelected"];
      exports.renderAction.types = {
        "actionTypes": "list<[\n\t\t\tlabel: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "calculatorFields": "list<[\n\t\tlabel: string,\n\t\tname: string,\n\t\toptions: list<[\n\t\t\tlabel: string,\n\t\t\tvalue: string\n\t\t]>,\n\t\ttype: string,\n\t\tvalue: string\n\t]>",
        "calculatorFunctions": "list<[\n\t\t\tlabel: string,\n\t\t\ttooltip: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "calculatorResultOptions": "list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "fieldOptions": "list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "index": "int",
        "pageOptions": "list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "spritemap": "string",
        "_handleActionSelection": "any",
        "_handleEditExpression": "any",
        "_handleDataProviderInputEdited": "any",
        "_handleDataProviderOutputEdited": "any",
        "_handleDeleteAction": "any",
        "_handleTargetSelection": "any",
        "actionExpression": "string",
        "actionInputs": "list<[\n\t\tlabel: string,\n\t\tname: string,\n\t\trequired: bool,\n\t\ttype: string,\n\t\tvalue: string,\n\t\tfieldOptions: list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t]>\n\t",
        "actionOutputs": "list<[\n\t\tname: string,\n\t\ttype: string,\n\t\tvalue: string,\n\t\tfieldOptions: list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t]>\n\t",
        "actionSelected": "string",
        "dataProvider": "list<[\n\t\t\tid: string,\n\t\t\tname: string\n\t\t]>\n\t",
        "hasRequiredInputs": "bool",
        "targetSelected": "string"
      };
      exports.renderActionTarget.params = ["index", "ref", "spritemap", "_handleTargetSelection", "options", "placeholder", "value"];
      exports.renderActionTarget.types = {
        "index": "int",
        "ref": "string",
        "spritemap": "string",
        "_handleTargetSelection": "any",
        "options": "list<?>",
        "placeholder": "string",
        "value": "string"
      };
      exports.renderCondition.params = ["binaryOperator", "fieldOptions", "index", "readOnly", "spritemap", "_handleDeleteCondition", "_handleFirstOperandFieldEdited", "_handleOperatorEdited", "_handleSecondOperandFieldEdited", "_handleSecondOperandTypeEdited", "_handleSecondOperandValueEdited", "firstOperandType", "firstOperandColumns", "firstOperandOptions", "firstOperandRows", "firstOperandValueSelected", "fixedOptions", "logicalOperator", "operators", "roles", "secondOperandDataType", "secondOperandFieldName", "secondOperandOptionValue", "secondOperandType", "secondOperandValue", "selectedOperator"];
      exports.renderCondition.types = {
        "binaryOperator": "bool",
        "fieldOptions": "list<[\n\t\tlabel: string,\n\t\tname: string,\n\t\toptions: list<[\n\t\t\tlabel: string,\n\t\t\tvalue: string\n\t\t]>,\n\t\ttype: string,\n\t\tvalue: string\n\t]>",
        "index": "int",
        "readOnly": "bool",
        "spritemap": "string",
        "_handleDeleteCondition": "any",
        "_handleFirstOperandFieldEdited": "any",
        "_handleOperatorEdited": "any",
        "_handleSecondOperandFieldEdited": "any",
        "_handleSecondOperandTypeEdited": "any",
        "_handleSecondOperandValueEdited": "any",
        "firstOperandType": "string",
        "firstOperandColumns": "list<[\n\t\tlabel: string,\n\t\tvalue: string\n\t]>",
        "firstOperandOptions": "list<[\n\t\tlabel: string,\n\t\tvalue: string\n\t]>",
        "firstOperandRows": "list<[\n\t\tlabel: string,\n\t\tvalue: string\n\t]>",
        "firstOperandValueSelected": "string",
        "fixedOptions": "any",
        "logicalOperator": "string",
        "operators": "?",
        "roles": "list<[\n\t\tlabel: string,\n\t\tvalue: string\n\t]>",
        "secondOperandDataType": "string",
        "secondOperandFieldName": "string",
        "secondOperandOptionValue": "any",
        "secondOperandType": "string",
        "secondOperandValue": "any",
        "selectedOperator": "string"
      };
      exports.renderConditionOperators.params = ["index", "spritemap", "_handleOperatorEdited", "firstOperandType", "operators", "selectedOperator"];
      exports.renderConditionOperators.types = {
        "index": "int",
        "spritemap": "string",
        "_handleOperatorEdited": "any",
        "firstOperandType": "string",
        "operators": "?",
        "selectedOperator": "string"
      };
      exports.renderConditionSecondOperandTypeSelector.params = ["index", "spritemap", "_handleSecondOperandTypeEdited", "secondOperandType", "selectedOperator"];
      exports.renderConditionSecondOperandTypeSelector.types = {
        "index": "int",
        "spritemap": "string",
        "_handleSecondOperandTypeEdited": "any",
        "secondOperandType": "string",
        "selectedOperator": "any"
      };
      exports.renderConditionUserRolesSelector.params = ["index", "spritemap", "_handleSecondOperandFieldEdited", "roles", "selectedOperator", "secondOperandValue"];
      exports.renderConditionUserRolesSelector.types = {
        "index": "int",
        "spritemap": "string",
        "_handleSecondOperandFieldEdited": "any",
        "roles": "list<[\n\t\t\tlabel: string,\n\t\t\tvalue: string\n\t\t]>\n\t",
        "selectedOperator": "any",
        "secondOperandValue": "any "
      };
      exports.renderConditionLogicalOperatorDropdown.params = ["_handleLogicalOperationChange", "enableLogicalOperator", "logicalOperator", "logicalOperators", "spritemap"];
      exports.renderConditionLogicalOperatorDropdown.types = {
        "_handleLogicalOperationChange": "any",
        "enableLogicalOperator": "bool",
        "logicalOperator": "string",
        "logicalOperators": "list<?>",
        "spritemap": "string"
      };
      exports.renderHeader.params = ["title", "extraContent"];
      exports.renderHeader.types = {
        "title": "string",
        "extraContent": "html"
      };
      exports.renderAddItemButton.params = ["spritemap", "_handleItemAdded", "type"];
      exports.renderAddItemButton.types = {
        "spritemap": "string",
        "_handleItemAdded": "any",
        "type": "string"
      };
      exports.renderAutofill.params = ["actionIndex", "spritemap", "_handleDataProviderInputEdited", "_handleDataProviderOutputEdited", "actionInputs", "actionOutputs", "hasRequiredInputs"];
      exports.renderAutofill.types = {
        "actionIndex": "int",
        "spritemap": "string",
        "_handleDataProviderInputEdited": "any",
        "_handleDataProviderOutputEdited": "any",
        "actionInputs": "list<[\n\t\tlabel: string,\n\t\tname: string,\n\t\trequired: bool,\n\t\ttype: string,\n\t\tvalue: string,\n\t\tfieldOptions: list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t]>",
        "actionOutputs": "list<[\n\t\tname: string,\n\t\ttype: string,\n\t\tvalue: string,\n\t\tfieldOptions: list<[\n\t\t\tlabel: string,\n\t\t\tname: string,\n\t\t\toptions: list<[\n\t\t\t\tlabel: string,\n\t\t\t\tvalue: string\n\t\t\t]>,\n\t\t\ttype: string,\n\t\t\tvalue: string\n\t\t]>\n\t]>",
        "hasRequiredInputs": "bool"
      };
      exports.templates = templates = exports;
      return exports;
    });

    var RuleEditor = /*#__PURE__*/function (_Component) {
      _inherits(RuleEditor, _Component);

      function RuleEditor() {
        _classCallCheck(this, RuleEditor);

        return _possibleConstructorReturn(this, _getPrototypeOf(RuleEditor).apply(this, arguments));
      }

      return RuleEditor;
    }(_metalComponent.default);

    exports.RuleEditor = RuleEditor;

    _metalSoy.default.register(RuleEditor, templates);

    var _default = templates;
    /* jshint ignore:end */

    exports.default = _default;
    //# sourceMappingURL=RuleEditor.soy.js.map
  }
});
//# sourceMappingURL=RuleEditor.soy.js.map