aboutsummaryrefslogtreecommitdiff
path: root/p/scripts/install.js
diff options
context:
space:
mode:
authorGravatar Clément <clement@selfhost.fr> 2017-02-15 14:14:03 +0100
committerGravatar Clément <clement@selfhost.fr> 2017-02-15 14:14:03 +0100
commit5a1bb1393b4496eb35a2ffb3cc63d41c9dc1e2e5 (patch)
tree67028e45792c575c25c92616633f64cc7a4a13eb /p/scripts/install.js
parent7e949d50320317b5c3b5a2da2bdaf324e794b2f7 (diff)
parent5f637bd816b7323885bfe1751a1724ee59a822f6 (diff)
Merge remote-tracking branch 'FreshRSS/master'
Diffstat (limited to 'p/scripts/install.js')
-rw-r--r--p/scripts/install.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/p/scripts/install.js b/p/scripts/install.js
new file mode 100644
index 000000000..b7975fd6e
--- /dev/null
+++ b/p/scripts/install.js
@@ -0,0 +1,73 @@
+"use strict";
+/* jshint globalstrict: true */
+
+function show_password() {
+ var button = this;
+ var passwordField = document.getElementById(button.getAttribute('data-toggle'));
+ passwordField.setAttribute('type', 'text');
+ button.className += ' active';
+ return false;
+}
+function hide_password() {
+ var button = this;
+ var passwordField = document.getElementById(button.getAttribute('data-toggle'));
+ passwordField.setAttribute('type', 'password');
+ button.className = button.className.replace(/(?:^|\s)active(?!\S)/g , '');
+ return false;
+}
+var toggles = document.getElementsByClassName('toggle-password');
+for (var i = 0 ; i < toggles.length ; i++) {
+ toggles[i].addEventListener('mousedown', show_password);
+ toggles[i].addEventListener('mouseup', hide_password);
+}
+
+function auth_type_change() {
+ var auth_type = document.getElementById('auth_type');
+ if (auth_type) {
+ var auth_value = auth_type.value,
+ password_input = document.getElementById('passwordPlain');
+
+ if (auth_value === 'form') {
+ password_input.required = true;
+ } else {
+ password_input.required = false;
+ }
+ }
+}
+var auth_type = document.getElementById('auth_type');
+if (auth_type) {
+ auth_type_change();
+ auth_type.addEventListener('change', auth_type_change);
+}
+
+function mySqlShowHide() {
+ var mysql = document.getElementById('mysql');
+ if (mysql) {
+ if (document.getElementById('type').value === 'sqlite') {
+ document.getElementById('host').value = '';
+ document.getElementById('user').value = '';
+ document.getElementById('pass').value = '';
+ document.getElementById('base').value = '';
+ document.getElementById('prefix').value = '';
+ mysql.style.display = 'none';
+ } else {
+ mysql.style.display = 'block';
+ }
+ }
+}
+var bd_type = document.getElementById('type');
+if (bd_type) {
+ mySqlShowHide();
+ bd_type.addEventListener('change', mySqlShowHide);
+}
+
+function ask_confirmation(e) {
+ var str_confirmation = this.getAttribute('data-str-confirm');
+ if (!confirm(str_confirmation)) {
+ e.preventDefault();
+ }
+}
+var confirms = document.getElementsByClassName('confirm');
+for (var i = 0 ; i < confirms.length ; i++) {
+ confirms[i].addEventListener('click', ask_confirmation);
+}