aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorLuc Donnet2017-09-06 10:10:16 +0200
committerLuc Donnet2017-09-06 10:10:16 +0200
commite9360b375f27d43d91d833d301224b0b04daf2f1 (patch)
tree3cfc97b2d70d4ccf33385ea7adc565ed5ed9682b /app/assets/javascripts
parent9785f6afbc943724d5260176be4b550e3c64e2a0 (diff)
parent53804667d4ba62e29ff687995dfa6d2566139075 (diff)
downloadchouette-core-e9360b375f27d43d91d833d301224b0b04daf2f1.tar.bz2
Merge branch 'master' of github.com:AF83/stif-boiv
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/filters/calendar.js6
-rw-r--r--app/assets/javascripts/filters/import.js6
-rw-r--r--app/assets/javascripts/filters/time_table.js7
-rw-r--r--app/assets/javascripts/filters/workbench.js6
-rw-r--r--app/assets/javascripts/helpers/date_filters.js38
-rw-r--r--app/assets/javascripts/time_table.coffee14
-rw-r--r--app/assets/javascripts/workbench.coffee18
7 files changed, 63 insertions, 32 deletions
diff --git a/app/assets/javascripts/filters/calendar.js b/app/assets/javascripts/filters/calendar.js
new file mode 100644
index 000000000..a4e84777c
--- /dev/null
+++ b/app/assets/javascripts/filters/calendar.js
@@ -0,0 +1,6 @@
+const DateFilter = require('../helpers/date_filters')
+
+$(document).ready(function(){
+ const calendarDF = new DateFilter("#calendar_filter_btn", "Tous les champs du filtre de date doivent ĂȘtre remplis", "#q_contains_date_NUMi")
+ calendarDF()
+})
diff --git a/app/assets/javascripts/filters/import.js b/app/assets/javascripts/filters/import.js
new file mode 100644
index 000000000..d0b96da10
--- /dev/null
+++ b/app/assets/javascripts/filters/import.js
@@ -0,0 +1,6 @@
+const DateFilter = require('../helpers/date_filters')
+
+$(document).ready(function(){
+ const importDF = new DateFilter("#import_filter_btn", "Tous les champs du filtre de date doivent ĂȘtre remplis", "#q_started_on_date_NUMi")
+ importDF()
+})
diff --git a/app/assets/javascripts/filters/time_table.js b/app/assets/javascripts/filters/time_table.js
new file mode 100644
index 000000000..9e24d03fe
--- /dev/null
+++ b/app/assets/javascripts/filters/time_table.js
@@ -0,0 +1,7 @@
+$(document).ready(function(){
+ const DateFilter = require('../helpers/date_filters')
+
+ const timetableDF = new DateFilter("#time_table_filter_btn", window.I18n.fr.time_tables.error_period_filter, "#q_start_date_gteq_NUMi", "#q_end_date_lteq_NUMi")
+
+ timetableDF()
+})
diff --git a/app/assets/javascripts/filters/workbench.js b/app/assets/javascripts/filters/workbench.js
new file mode 100644
index 000000000..af3e13c59
--- /dev/null
+++ b/app/assets/javascripts/filters/workbench.js
@@ -0,0 +1,6 @@
+const DateFilter = require('../helpers/date_filters')
+
+$(document).ready(function(){
+ const workbenchDF = new DateFilter("#referential_filter_btn", window.I18n.fr.referentials.error_period_filter, "#q_validity_period_begin_gteq_NUMi", "#q_validity_period_end_lteq_NUMi")
+ workbenchDF()
+})
diff --git a/app/assets/javascripts/helpers/date_filters.js b/app/assets/javascripts/helpers/date_filters.js
new file mode 100644
index 000000000..1f48bb28f
--- /dev/null
+++ b/app/assets/javascripts/helpers/date_filters.js
@@ -0,0 +1,38 @@
+const DateFilter = function(buttonId, message, ...inputIds) {
+ this.buttonId = buttonId
+ this.inputIds = inputIds
+ this.message = message
+
+ const getVal = (str, key) => {
+ let newStr = str.replace(/NUM/, key)
+ return $(newStr).val()
+ }
+
+ const getDates = () => {
+ return this.inputIds.reduce((arr, id) => {
+ let newIds = [1, 2, 3].map(key => getVal(id, key))
+ arr.push(...newIds)
+ return arr
+ },[])
+ }
+
+ const allInputFilled = () => {
+ return getDates().every(date => !!date)
+ }
+
+ const noInputFilled = () => {
+ return getDates().every(date => !date)
+ }
+
+ const execute = () => {
+ $(this.buttonId).on("click", (e) => {
+ if (allInputFilled() == false && noInputFilled() == false) {
+ e.preventDefault()
+ alert(this.message)
+ }
+ })
+ }
+ return execute
+}
+
+module.exports = DateFilter
diff --git a/app/assets/javascripts/time_table.coffee b/app/assets/javascripts/time_table.coffee
deleted file mode 100644
index 8789cb226..000000000
--- a/app/assets/javascripts/time_table.coffee
+++ /dev/null
@@ -1,14 +0,0 @@
- $(document).on("click", "#time_table_filter_btn", (e) ->
- dates = [1, 2, 3].reduce (arr, key) ->
- arr.push $("#q_start_date_gteq_#{key}i").val(), $("#q_end_date_lteq_#{key}i").val()
- arr
- , []
-
- validDate = dates.every (date) -> !!date
-
- noDate = dates.every (date) -> !date
-
- unless (validDate || noDate)
- e.preventDefault()
- alert(window.I18n.fr.time_tables.error_period_filter)
- )
diff --git a/app/assets/javascripts/workbench.coffee b/app/assets/javascripts/workbench.coffee
deleted file mode 100644
index 0e9fe62a3..000000000
--- a/app/assets/javascripts/workbench.coffee
+++ /dev/null
@@ -1,18 +0,0 @@
- $(document).on("click", "#referential_filter_btn", (e) ->
- dates = [1, 2, 3].reduce (arr, key) ->
- arr.push $("#q_validity_period_begin_gteq_#{key}i").val(), $("#q_validity_period_end_lteq_#{key}i").val()
- arr
- , []
-
- validDate = dates.every (date) -> !!date
-
- noDate = dates.every (date) -> !date
-
- console.log("valid dates :", validDate)
- console.log("no dates :", noDate)
- console.log(dates)
-
- unless (validDate || noDate)
- e.preventDefault()
- alert(window.I18n.fr.referentials.error_period_filter)
- )