{% extends 'base.html.twig' %}
{% block body %}
    {% verbatim %}

        <div id="wrapper">
            <div class="previsionnel"
                 ng-app="caisse"
                 ng-controller="previsionnelCtrl as pCtrl"
            >
            <div class="row">
                <div class="col-xs-12 col-lg-6">
                 <h1>Prévisionnel</h1>
                </div>
                <div class="col-xs-12 col-lg-6">

                    <div ng-if="config.initialLoadingDone && config.loading">
                    <i class="fa fa-spin fa-refresh"></i>
                        Chargement
                    </div>
                    <div ng-if="config.initialLoadingDone && !config.loading">
                        Modifications sauvegardées
                    </div>
                </div>
            </div>

                <div class="row">
                    <div class="col-xs-12">
                        <div class="config well">
                            <h2>
                                Configuration
                            </h2>
                            <div class="row">
                                    <div class="col-xs-12 col-sm-6">
                                        <p >
<label for="dispo">

                                Euros disponibles au départ:
</label>
                                <input
                                id="dispo"
                                class="big-number"
                                type="number"
                                ng-model="config.disponibility"
                                ng-change="save()"
                                ng-model-options="{ debounce: config.debounceTime }">
                                <br>
                                <label for="gains">
                                 Gains moyen par mois:
</label>

                                <input type="number"
                                class="big-number"
                                id="gains"
                                 ng-model="config.averageMonthlyEarnings"
                                 ng-change="save()"
                                 ng-model-options="{ debounce: config.debounceTime }">
                            </p>
                            <p>
                                Gérer délais de paiement
                                <input type="checkbox" ng-model="config.showDelays">
                                Gérer répétitions
                                <input type="checkbox" ng-model="config.showRepeats">
                            </p>
                            </div>
                            <div class="col-xs-12 col-sm-6">
                            <p>
                                <strong>
                                    Dépenses mensuelles:
                                    <span class="big-number">

                                    {{ sumMonthlyExpenses() }} €
                                    </span>
                                </strong>
                            </p>
                            <p>
                                <strong>
                                    Bénef mensuel: <span class="big-number">{{ config.averageMonthlyEarnings - sumMonthlyExpenses() }} €</span>
                                </strong>
                            </p>
                            <p>
                                Crédit mensuel réalisable (33% des gains moyens par mois): {{ config.averageMonthlyEarnings * 0.33 |number }} €
                            </p>
                            </div>
                        </div>
                        </div>
                        </div>
                        <div class="col-xs-12 col-lg-7 postes">
                            <h2>
                            {{expenses.length}} Postes de dépenses mensuelles
                            <button ng-click="addExpense()">+</button>
                            </h2>
                            <p class="desc">
                                Indiquez les catégories de dépenses mensuelles que vous faites pour faire évoluer la
                                simulation de budget restant dans plusieurs mois.
                            </p>
                            <table class="exepanse-table">
                                <thead>
                                <tr>
                                    <td class="padded" >
                                        Nom
                                    </td>
                                    <td class="padded" ng-if="config.showDelays">
                                        débute dans X mois
                                    </td>
                                    <td class="padded" ng-if="config.showRepeats">
                                        mois répétitions
                                    </td>
                                    <td class="padded" ng-if="config.showRepeats">
                                        prix répétitions
                                    </td>
                                    <td class="padded" >
                                        prix mensuel
                                    </td>
                                    <td class="padded" >
                                        prix annuel
                                    </td>
                                    <td class="padded" >
                                        activé
                                    </td>
                                </tr>
                                </thead>

                                <tbody>

                                </tbody>
                                <tr ng-repeat="e in expenses ">
                                    <td>
                                         <input type="text" ng-model="e.name" ng-change="save()" ng-model-options="{ debounce: config.debounceTime }">
                                    </td>
                                    <td ng-if="config.showDelays">

                                        <input type="number" ng-model="e.delay" ng-change="save()" ng-model-options="{ debounce: config.debounceTime }">
                                    </td>
                                    <td ng-if="config.showRepeats">
                                        <input type="number" ng-model="e.repeat" ng-change="save()" ng-model-options="{ debounce: config.debounceTime }">
                                    </td>
                                    <td ng-if="config.showRepeats" class="text-right padded">
                                        {{ e.repeat * e.amount }}
                                    </td>
                                    <td>
                                        <input type="number" ng-model="e.amount" ng-change="save()" ng-model-options="{ debounce: config.debounceTime }">
                                    </td>
                                    <td class="text-right padded">
                                        <strong>

                                            {{ e.amount * 12 }}
                                        </strong>
                                        €
                                    </td>
                                    <td class="padded">
                                    <input type="checkbox" ng-model="e.enabled" ng-change="save()" ng-model-options="{ debounce: config.debounceTime }">
</td>
                                </tr>
                            </table>
                            <div class="well examples-depenses">
                                <strong>
                                    Exemples de postes de dépenses à ajouter:
                                </strong>
                                {% endverbatim %}
    {{ "
                                appartement
                                mutuelle
                                transport en commun
                                assurance voiture
                                assurance moto
                                trucs de loisirs divers
                                gaz
                                elec
                                internet
                                épargne
                                impots
                                cottisation URSSAF
                                resto au boulot
                                courses
                                serveur wouaibe
                                abonnement protonmail VPN
                                abonnement service audio, vidéo
                                carburant véhicule
                                donations
                                médecin
                                chat
                                chien
                                licorne"|nl2br }}

    {% verbatim %}

                            </div>
                        </div>

                    <div class="col-sm-12 col-lg-5">

                        <h2>Simulation sur {{config.lines}} mois</h2>
                        <div class="" id="simulationPrevision"  style="display: inline-block; height: 300px; width: 90%;">(graphique)</div>

                        <!--block to insert the graph-->
                        <div class="well big-number" ng-if="config.monthsBeforeNoMoney && config.monthsBeforeNoMoney <= config.lines">
                        <i class="fa fa-warning"></i>
                        Ce sera la dèche dans {{config.monthsBeforeNoMoney}} mois
</div>
<div ng-if=" ! config.monthsBeforeNoMoney" class="bg-success padded">
  cool ! votre plan est supportable dans le temps
</div>
                        <table>
                            <thead>
                            <tr >
                                <td class="padded" >
                                    Month in the future
                                </td>
                                <td class="padded" >
                                    date
                                </td>
                                <td class="padded" >
                                    Dépenses
                                </td>
                                <td class="padded" >
                                    Disponibilité
                                </td>
                            </trclass>
                            </thead>
                            <tbody>
                            <tr ng-repeat="line in previsionTable" >
                                <td>
                                    <div ng-if="line.available > config.warningThershold"
                                     class=" bgsuccess padded ">
                                    {{ $index }}
                                    </div>
                                    <div ng-if="line.available > 0 && line.available < config.warningThershold"
                                     class="bgwarning padded ">
                                   {{ $index }} bientôt la dèche
                                    </div>
                                    <div ng-if="line.available < 0"
                                    class="bgdanger padded ">
                                   {{ $index }} DAMNED pu de pognon!
                                    </div>
                                </td>
                                <td>
                                    -
                                </td>
                                <td class="text-right ">

                                    {{ line.expense }}
                                </td>
                                <td class="text-right"
                                 ngClass="{'bgdanger' : line.available < 0 }">

                                    <strong>

                                            {{ line.available}}
                                        </strong>
                                        €
                                </td>
                            </tr>
                            </tbody>
                        </table>
                    </div>
                    </div>
                </div>
            </div>
        </div>
        <!--<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>-->
<script>

    var dataPoints = {{graphPointsPrevision}} ;
    var chartContainerChiffreAffaire = new CanvasJS.Chart("simulationPrevision", {
        title:{
            text: "Euros disponibles dans le temps"
        },
        animationEnabled: true,
        data: [
            {
                // Change type to "doughnut", "line", "splineArea", etc.
                type: "splineArea",
                dataPoints: dataPoints
            }
        ]
    });
    chartContainerChiffreAffaire.render();
</script>

    {% endverbatim %}
{% endblock %}