/* * create.js * Copyright (c) 2017 thegrumpydictator@gmail.com * * This file is part of Firefly III. * * Firefly III is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Firefly III is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ /** global: Modernizr, currencies */ $(document).ready(function () { "use strict"; if (!Modernizr.inputtypes.date) { $('input[type="date"]').datepicker( { dateFormat: 'yy-mm-dd' } ); } initializeButtons(); initializeAutoComplete(); respondToFirstDateChange(); respondToRepetitionEnd(); $('.switch-button').on('click', switchTransactionType); $('#ffInput_repetition_end').on('change', respondToRepetitionEnd); $('#ffInput_first_date').on('change', respondToFirstDateChange); $('#calendar-link').on('click', showRepCalendar); }); function showRepCalendar() { // fill model with calendar: $('#defaultModal').modal({}); return false; } function respondToRepetitionEnd() { var obj = $('#ffInput_repetition_end'); var value = obj.val(); switch (value) { case 'forever': $('#repeat_until_holder').hide(); $('#repetitions_holder').hide(); break; case 'until_date': $('#repeat_until_holder').show(); $('#repetitions_holder').hide(); break; case 'times': $('#repeat_until_holder').hide(); $('#repetitions_holder').show(); break; } } function respondToFirstDateChange() { var obj = $('#ffInput_first_date'); var select = $('#ffInput_repetition_type'); var date = obj.val(); select.prop('disabled', true); $.getJSON(suggestUri, {date: date}).fail(function () { console.error('Could not load repetition suggestions'); alert('Could not load repetition suggestions'); }).done(parseRepetitionSuggestions); } function parseRepetitionSuggestions(data) { var select = $('#ffInput_repetition_type'); select.empty(); for (var k in data) { if (data.hasOwnProperty(k)) { select.append($('