{
    "itemTypes": {
        "and": {
            "view": "views/admin/dynamic-logic/conditions-string/group-base",
            "operator": "and"
        },
        "or": {
            "view": "views/admin/dynamic-logic/conditions-string/group-base",
            "operator": "or"
        },
        "not": {
            "view": "views/admin/dynamic-logic/conditions-string/group-not",
            "operator": "not"
        },
        "equals": {
            "view": "views/admin/dynamic-logic/conditions-string/item-base",
            "operatorString": "="
        },
        "notEquals": {
            "view": "views/admin/dynamic-logic/conditions-string/item-base",
            "operatorString": "&ne;"
        },
        "greaterThan": {
            "view": "views/admin/dynamic-logic/conditions-string/item-base",
            "operatorString": "&gt;"
        },
        "lessThan": {
            "view": "views/admin/dynamic-logic/conditions-string/item-base",
            "operatorString": "&lt;"
        },
        "greaterThanOrEquals": {
            "view": "views/admin/dynamic-logic/conditions-string/item-base",
            "operatorString": "&ge;"
        },
        "lessThanOrEquals": {
            "view": "views/admin/dynamic-logic/conditions-string/item-base",
            "operatorString": "&le;"
        },
        "isEmpty": {
            "view": "views/admin/dynamic-logic/conditions-string/item-operator-only-base",
            "operatorString": "= &empty;"
        },
        "isNotEmpty": {
            "view": "views/admin/dynamic-logic/conditions-string/item-operator-only-base",
            "operatorString": "&ne; &empty;"
        },
        "isTrue": {
            "view": "views/admin/dynamic-logic/conditions-string/item-operator-only-base",
            "operatorString": "= 1"
        },
        "isFalse": {
            "view": "views/admin/dynamic-logic/conditions-string/item-operator-only-base",
            "operatorString": "= 0"
        },
        "in": {
            "view": "views/admin/dynamic-logic/conditions-string/item-multiple-values-base",
            "operatorString": "&isin;"
        },
        "notIn": {
            "view": "views/admin/dynamic-logic/conditions-string/item-multiple-values-base",
            "operatorString": "&notin;"
        },
        "isToday": {
            "view": "views/admin/dynamic-logic/conditions-string/item-is-today",
            "operatorString": "="
        },
        "inFuture": {
            "view": "views/admin/dynamic-logic/conditions-string/item-in-future",
            "operatorString": "&isin;"
        },
        "inPast": {
            "view": "views/admin/dynamic-logic/conditions-string/item-in-past",
            "operatorString": "&isin;"
        },
        "contains": {
            "view": "views/admin/dynamic-logic/conditions-string/item-value-link",
            "operatorString": "&niv;"
        },
        "notContains": {
            "view": "views/admin/dynamic-logic/conditions-string/item-value-link",
            "operatorString": "&notni;"
        },
        "has": {
            "view": "views/admin/dynamic-logic/conditions-string/item-value-enum",
            "operatorString": "&niv;"
        },
        "notHas": {
            "view": "views/admin/dynamic-logic/conditions-string/item-value-enum",
            "operatorString": "&notni;"
        },
        "startsWith": {
            "view": "views/admin/dynamic-logic/conditions-string/item-value-varchar"
        },
        "endsWith": {
            "view": "views/admin/dynamic-logic/conditions-string/item-value-varchar"
        },
        "matches": {
            "view": "views/admin/dynamic-logic/conditions-string/item-value-varchar"
        }
    },
    "fieldTypes": {
        "bool": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": ["isTrue", "isFalse"]
        },
        "varchar": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": [
                "equals",
                "notEquals",
                "isEmpty",
                "isNotEmpty",
                "contains",
                "notContains",
                "startsWith",
                "endsWith",
                "matches"
            ],
            "conditionTypes": {
                "contains": {
                    "valueType": "field",
                    "itemView": "views/admin/dynamic-logic/conditions-string/item-base"
                },
                "notContains": {
                    "valueType": "field",
                    "itemView": "views/admin/dynamic-logic/conditions-string/item-base"
                }
            }
        },
        "url": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": ["equals", "notEquals", "isEmpty", "isNotEmpty"]
        },
        "email": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": ["isEmpty", "isNotEmpty"]
        },
        "phone": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": ["isEmpty", "isNotEmpty"]
        },
        "text": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": ["isEmpty", "isNotEmpty", "contains", "notContains", "matches"],
            "conditionTypes": {
                "contains": {
                    "valueType": "varchar",
                    "itemView": "views/admin/dynamic-logic/conditions-string/item-value-varchar"
                },
                "notContains": {
                    "valueType": "varchar",
                    "itemView": "views/admin/dynamic-logic/conditions-string/item-value-varchar"
                }
            }
        },
        "int": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": [
                "isEmpty",
                "isNotEmpty",
                "equals",
                "notEquals",
                "greaterThan",
                "lessThan",
                "greaterThanOrEquals",
                "lessThanOrEquals"
            ]
        },
        "float": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": [
                "isEmpty",
                "isNotEmpty",
                "equals",
                "notEquals",
                "greaterThan",
                "lessThan",
                "greaterThanOrEquals",
                "lessThanOrEquals"
            ]
        },
        "currency": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": [
                "isEmpty",
                "isNotEmpty",
                "equals",
                "notEquals",
                "greaterThan",
                "lessThan",
                "greaterThanOrEquals",
                "lessThanOrEquals"
            ]
        },
        "date": {
            "view": "views/admin/dynamic-logic/conditions/field-types/date",
            "typeList": ["isEmpty", "isNotEmpty", "isToday", "inFuture", "inPast", "equals", "notEquals"]
        },
        "datetime": {
            "view": "views/admin/dynamic-logic/conditions/field-types/date",
            "typeList": ["isEmpty", "isNotEmpty", "isToday", "inFuture", "inPast"]
        },
        "datetimeOptional": {
            "view": "views/admin/dynamic-logic/conditions/field-types/date",
            "typeList": ["isEmpty", "isNotEmpty", "isToday", "inFuture", "inPast"]
        },
        "enum": {
            "view": "views/admin/dynamic-logic/conditions/field-types/enum",
            "typeList": ["equals", "notEquals", "isEmpty", "isNotEmpty", "in", "notIn"]
        },
        "link": {
            "view": "views/admin/dynamic-logic/conditions/field-types/link",
            "typeList": ["isEmpty", "isNotEmpty", "equals", "notEquals"]
        },
        "linkOne": {
            "view": "views/admin/dynamic-logic/conditions/field-types/link",
            "typeList": ["isEmpty", "isNotEmpty", "equals", "notEquals"]
        },
        "file": {
            "view": "views/admin/dynamic-logic/conditions/field-types/link",
            "typeList": ["isEmpty", "isNotEmpty"]
        },
        "image": {
            "view": "views/admin/dynamic-logic/conditions/field-types/link",
            "typeList": ["isEmpty", "isNotEmpty"]
        },
        "linkParent": {
            "view": "views/admin/dynamic-logic/conditions/field-types/link-parent",
            "typeList": ["isEmpty", "isNotEmpty", "equals", "notEquals"]
        },
        "linkMultiple": {
            "view": "views/admin/dynamic-logic/conditions/field-types/link-multiple",
            "typeList": ["isEmpty", "isNotEmpty", "contains", "notContains"]
        },
        "foreign": {
            "view": "views/admin/dynamic-logic/conditions/field-types/base",
            "typeList": ["equals", "notEquals", "isEmpty", "isNotEmpty"]
        },
        "id": {
            "view": "views/admin/dynamic-logic/conditions/field-types/enum",
            "typeList": ["isEmpty", "isNotEmpty"]
        },
        "multiEnum": {
            "view": "views/admin/dynamic-logic/conditions/field-types/multi-enum",
            "typeList": ["isEmpty", "isNotEmpty", "has", "notHas"]
        },
        "array": {
            "view": "views/admin/dynamic-logic/conditions/field-types/multi-enum",
            "typeList": ["isEmpty", "isNotEmpty", "has", "notHas"]
        },
        "checklist": {
            "view": "views/admin/dynamic-logic/conditions/field-types/multi-enum",
            "typeList": ["isEmpty", "isNotEmpty", "has", "notHas"]
        },
        "urlMultiple": {
            "view": "views/admin/dynamic-logic/conditions/field-types/multi-enum",
            "typeList": ["isEmpty", "isNotEmpty"]
        },
        "currentUser": {
            "view": "views/admin/dynamic-logic/conditions/field-types/current-user",
            "typeList": ["equals", "notEquals"]
        },
        "currentUserTeams": {
            "view": "views/admin/dynamic-logic/conditions/field-types/current-user-teams",
            "typeList": ["contains", "notContains"]
        }
    },
    "conditionTypes": {
        "isTrue": {
            "valueType": "empty"
        },
        "isFalse": {
            "valueType": "empty"
        },
        "isEmpty": {
            "valueType": "empty"
        },
        "isNotEmpty": {
            "valueType": "empty"
        },
        "equals": {
            "valueType": "field"
        },
        "notEquals": {
            "valueType": "field"
        },
        "greaterThan": {
            "valueType": "field"
        },
        "lessThan": {
            "valueType": "field"
        },
        "greaterThanOrEquals": {
            "valueType": "field"
        },
        "lessThanOrEquals": {
            "valueType": "field"
        },
        "in": {
            "valueType": "field"
        },
        "notIn": {
            "valueType": "field"
        },
        "contains": {
            "valueType": "custom"
        },
        "notContains": {
            "valueType": "custom"
        },
        "inPast": {
            "valueType": "empty"
        },
        "isFuture": {
            "valueType": "empty"
        },
        "isToday": {
            "valueType": "empty"
        },
        "has": {
            "valueType": "field"
        },
        "notHas": {
            "valueType": "field"
        },
        "startsWith": {
            "valueType": "varchar"
        },
        "endsWith": {
            "valueType": "varchar"
        },
        "matches": {
            "valueType": "varchar-matches"
        }
    }
}
