{% extends './layout/default' %}
{% block breadcrumbs %}
    {{ Breadcrumbs.render(Route.getCurrentRoute.getName) }}
{% endblock %}
{% block content %}

    <div class="row">
        <div class="col-lg-12 col-md-12 col-sm-12">
            <div class="btn-group">
                <a href="{{ route('rule-groups.create') }}" id="new_rule_group" class="btn btn-success">{{ 'new_rule_group'|_ }}</a>
                <a href="{{ route('rules.create') }}" class="btn btn-success new_rule">{{ 'new_rule'|_ }}</a>
            </div>
            <p></p>
        </div>
    </div>


    {% if ruleGroups|length == 1 and ruleGroups[0].rules.count() == 0 %}
        {% include 'partials.empty' with {objectType: 'default', type: 'rules',route: route('rules.create')} %}
        {# make FF ignore demo for now. #}
        {% set shownDemo = true %}
    {% endif %}

    {% for ruleGroup in ruleGroups %}
        <div class="row">
            <div class="col-lg-12 col-md-12 col-sm-12">
                <div class="box rules-box" data-group="{{ ruleGroup.id }}">
                    <div class="box-header with-border">
                        <h3 class="box-title">
                            {% if ruleGroup.active %}
                                {{ ruleGroup.title }}
                            {% else %}
                                <s>{{ ruleGroup.title }}</s> ({{ 'inactive'|_|lower }})
                            {% endif %}
                        </h3>


                        <div class="box-tools pull-right">
                            <div class="btn-group">
                                <button type="button" class="btn btn-box-tool" data-widget="collapse"><span class="fa fa-minus"></span>
                                </button>
                                <button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><span
                                        class="fa fa-ellipsis-v"></span></button>
                                <ul class="dropdown-menu" role="menu">
                                    <li><a href="{{ route('rule-groups.edit',ruleGroup.id) }}"><span class="fa fa-fw fa-pencil"></span> {{ 'edit'|_ }}</a></li>
                                    <li><a href="{{ route('rule-groups.delete',ruleGroup.id) }}"><span class="fa fa-fw fa-trash"></span> {{ 'delete'|_ }}</a></li>
                                    <li><a href="{{ route('rule-groups.select-transactions',ruleGroup.id) }}"><span
                                                class="fa fa-fw fa-power-off"></span> {{ trans('firefly.apply_rule_group_selection', {title: ruleGroup.title}) }}
                                        </a></li>
                                    {% if ruleGroup.order > 1 %}
                                        <li><a href="#" class="move-group" data-direction="up" data-id="{{ ruleGroup.id }}"><span
                                                    class="fa fa-fw fa-arrow-up"></span> {{ 'move_rule_group_up'|_ }}</a></li>
                                    {% endif %}
                                    {% if ruleGroup.order < ruleGroups|length %}
                                        <li><a href="#" class="move-group" data-direction="down" data-id="{{ ruleGroup.id }}"><span
                                                    class="fa fa-fw fa-arrow-down"></span> {{ 'move_rule_group_down'|_ }}
                                            </a></li>
                                    {% endif %}
                                </ul>
                            </div>
                        </div>

                    </div>
                    <div class="box-body">
                        <p>
                            <em>{{ ruleGroup.description }}</em>
                        </p>
                        <p>
                            <a href="{{ route('rules.create', ruleGroup.id) }}"
                               class="btn btn-success new_rule">{{ 'new_rule'|_ }}</a>
                        </p>

                        {% if ruleGroup.rules.count() > 0 %}
                            <table class="table table-hover table-striped group-rules">
                                <thead>
                                <tr>
                                    <th style="width:5%;">&nbsp;</th>
                                    <th style="width:10%;">&nbsp;</th>
                                    <th style="width:10%;">&nbsp;</th>
                                    <th style="width:25%;">{{ 'rule_name'|_ }}</th>
                                    <th style="width:25%;" class="hidden-xs">{{ 'rule_triggers'|_ }}</th>
                                    <th style="width:25%;" class="hidden-xs">{{ 'rule_actions'|_ }}</th>
                                </tr>
                                </thead>
                                <tbody class="rule-connected-list">
                                {% for rule in ruleGroup.rules %}
                                    <tr class="single-rule" data-order="{{ rule.order }}" data-id="{{ rule.id }}" data-group-id="{{ ruleGroup.id }}" data-position="{{ loop.index0 }}">
                                        <td>
                                            <div class="btn-group btn-group-xs prio_buttons">
                                                <span class="fa fa-fw fa-bars rule-handle"></span>
                                            </div>
                                        </td>
                                        <td>
                                            <div class="btn-group btn-group-xs edit_buttons">
                                                <a title="{{ 'edit'|_ }}" href="{{ route('rules.edit', rule.id) }}"
                                                   class="btn btn-default"><span
                                                        class="fa fa-fw fa-pencil"></span></a>
                                                <a title="{{ 'delete'|_ }}"
                                                   href="{{ route('rules.delete', rule.id) }}"
                                                   class="btn btn-danger"><span
                                                        class="fa fa-fw fa-trash"></span></a>
                                            </div>
                                        </td>
                                        <td>
                                            <div class="btn-group btn-group-xs test_buttons">
                                                {# show which transactions would match #}
                                                <a href="{{ route('rules.search',rule.id) }}" class="btn btn-default {% if false == rule.strict %}test_rule_triggers{% endif %}" data-id="{{ rule.id }}" title="{{ 'test_rule_triggers'|_ }}"><span data-id="{{ rule.id }}" class="fa fa-fw fa-flask"></span></a>
                                                {% if rule.active %}
                                                    {# actually execute rule #}
                                                    <a href="{{ route('rules.select-transactions',rule.id) }}" class="btn btn-default" title=" {{ trans('firefly.apply_rule_selection', {title: rule.title}) }}"><span class="fa fa-fw fa-power-off "></span></a>
                                                {% endif %}

                                                {# duplicate rule #}
                                                <a href="#" class="btn btn-default duplicate-rule" data-id="{{ rule.id }}" title=" {{ trans('firefly.duplicate_rule', {title: rule.title}) }}"><span class="fa fa-fw fa-copy"></span></a>
                                            </div>
                                        </td>
                                        <td class="markdown">
                                            {% if rule.active %}
                                                {{ rule.title }}
                                            {% else %}
                                                <s>{{ rule.title }}</s> ({{ 'inactive'|_|lower }})
                                            {% endif %}
                                            {% if rule.stop_processing %}
                                                <span class="fa fa-stop-circle-o"></span>
                                            {% endif %}

                                            {% if rule.description != "" %}
                                                <small class="hidden-xs"
                                                    {% if not rule.active %}
                                                        class="text-muted"
                                                    {% endif %}
                                                ><br/>{{ rule.description|default('')|markdown }}</small>
                                            {% endif %}
                                            <small>({% if rule.strict %}<span class="text-danger">{{ 'rule_is_strict'|_ }}</span>{% else %}<span class="text-success">{{ 'rule_is_not_strict'|_ }}</span>{% endif %})</small>
                                        </td>
                                        <td class="hidden-xs">
                                            {% if rule.ruleTriggers.count() > 0 %}
                                                <ul class="small rule-trigger-list" data-count="{{ rule.ruleTriggers.count() }}" data-id="{{ rule.id }}">
                                                    {% for trigger in rule.ruleTriggers %}
                                                        {% if trigger.trigger_type != "user_action" %}
                                                            <li
                                                                {% if not rule.active %}
                                                                    class="text-muted"
                                                                {% endif %}
                                                                data-id="{{ trigger.id }}">
                                                                {{ trans(('firefly.rule_trigger_' ~ getRootSearchOperator(trigger.trigger_type)), {trigger_value: trigger.trigger_value}) }}

                                                                {% if trigger.stop_processing %}
                                                                    <span class="fa fa-stop-circle-o"></span>
                                                                {% endif %}
                                                            </li>
                                                        {% endif %}
                                                    {% endfor %}
                                                </ul>
                                                <ul class="small rule-triggers-show" style="cursor:pointer;display:none;" data-id="{{ rule.id }}">
                                                    <li data-id="{{ rule.id }}">{{ 'show_triggers'|_ }}</li>
                                                </ul>
                                            {% endif %}
                                        </td>
                                        <td class="hidden-xs">
                                            {% if rule.ruleActions.count() > 0 %}
                                                <ul class="small rule-action-list" data-count="{{ rule.ruleActions.count() }}" data-id="{{ rule.id }}">
                                                    {% for action in rule.ruleActions %}
                                                        <li
                                                            {% if not rule.active %}
                                                                class="text-muted"
                                                            {% endif %}
                                                            data-id="{{ action.id }}">{{ trans(('firefly.rule_action_' ~ action.action_type), {action_value: action.action_value}) }}
                                                            {% if action.stop_processing %}
                                                                <span class="fa fa-stop-circle-o"></span>
                                                            {% endif %}
                                                        </li>
                                                    {% endfor %}
                                                </ul>
                                                <ul class="small rule-actions-show" style="cursor:pointer;display:none;" data-id="{{ rule.id }}">
                                                    <li>{{ 'show_actions'|_ }}</li>
                                                </ul>

                                            {% endif %}
                                        </td>
                                    </tr>
                                {% endfor %}
                                </tbody>
                            </table>
                        {% else %}
                            <p>
                                <em>{{ 'no_rules_in_group'|_ }}</em>
                            </p>
                        {% endif %}
                        <p>
                            <br/>
                            <a href="{{ route('rules.create', ruleGroup.id) }}"
                               class="btn btn-success new_rule">{{ 'new_rule'|_ }}</a>
                        </p>
                    </div>
                </div>
            </div>
        </div>
    {% endfor %}

    {% include 'rules.partials.test-trigger-modal' %}

    <div class="row">
        <div class="col-lg-12 col-md-12 col-sm-12">
            <a href="{{ route('rule-groups.create') }}" class="btn btn-success">{{ 'new_rule_group'|_ }}</a>
        </div>
    </div>

{% endblock %}
{% block scripts %}
    <script type="text/javascript" nonce="{{ JS_NONCE }}">
        var moveRuleGroupUrl = '{{ route('rule-groups.move') }}';
        var duplicateRuleUrl = '{{ route('rules.duplicate') }}';
    </script>
    <script type="text/javascript" src="v1/js/lib/jquery-ui.min.js?v={{ FF_BUILD_TIME }}" nonce="{{ JS_NONCE }}"></script>
    <script type="text/javascript" src="v1/js/ff/rules/index.js?v={{ FF_BUILD_TIME }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %}
