This commit is contained in:
sHa
2018-12-21 11:13:17 +02:00
parent abfc58d585
commit d31f50ef19
15 changed files with 245 additions and 13 deletions

96
js/_actions.js Normal file
View File

@@ -0,0 +1,96 @@
/**
*
* @author sHa <sha@shadoll.com>
* @package sCore
* @version 17.5.9 (17.5.16 fixed)
*
*/
;
/* AutoLoader */
jQuery(document).ready(function(){
jQuery("[data-autoload='true']").each(function(){
load_objects(jQuery("#"+$(this).attr("id")));
});
});
/*
Виклик:
load_objects(jQuery("#container_id"));
Параметри data- контейнеру:
* - будь-які данні, будуть передані в викликаємий метод класу
action - клас та метод що маємо викликати, якщо не задано берем з href
method - метод Post або Get
callback - функція яку буде викона після виконання запиту
target - якщо вказано, то значення змінної html відповіді буде розміщенно всередені тегу
якщо target не визначено, а відповідь має змінну html, то її значення буде розміщено в середені контейнеру
template - ім'я php шаблону для формування змінної html
autoload - true|false - автоматичне виконання запиту при завантаженні сторінки
*/
var load_objects = function(container){
if(jQuery(container)!=undefined){
var action = container.data('action');
if (action==undefined)
action = container.attr('href');
var method = container.data('method');
if(method==undefined)
method = 'GET';
// Отримуємо необхідну форму,
// якщо не знайшли, беремо всі форми
var form_data = jQuery("form[data-group='"+container.attr('id')+"']").serializeArray();
// if (form_data[0] == undefined)
// var form_data = jQuery('form').serializeArray();
// перетворюємо значення форми на об'ект data
var data = new Object();
jQuery.each(form_data, function() {
if(this.value!='')
data[this.name] = this.value;
});
// додаємо до об'єкту data значання data- полів контейнеру
jQuery.each(container.data(),function(n, v){
if(n!='action' && n!='callback')
data[n] = v;
});
// додамо поточний url (хай буде)
data["uri_source"] = window.location.href;
jQuery.ajax({
url: action,
type: method,
data: data
}).
done(function(data){
var response = jQuery.parseJSON(data);
var target = jQuery(response.target);
console.log(target);
if(target!=undefined)
jQuery(target).html(response.html);
else
container.html(response.html);
if(response.callback!==undefined){
callback = response.callback;
}
else if(container.data('callback')!==undefined){
callback = container.data('callback');
}
else{
callback = undefined;
}
if(callback!==undefined && typeof window[callback] == 'function') {
window[callback](container,response);
}
}).
fail(function( jqXHR, textStatus ){
container.html("Request failed: " + textStatus);
});
}
}

View File

@@ -1,3 +1,19 @@
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js', { scope: './' })
.then(function(registration) {
console.log('ServiceWorker registration successful with scope: ', registration.scope);
})
.catch(function(whut) {
console.error('error... ');
console.error(whut);
});
window.addEventListener('beforeinstallprompt', function(e) {
console.log('beforeinstallprompt Event fired');
});
});
}
//LOADER/SPINNER
$(window).bind("load", function() {
@@ -257,10 +273,10 @@ $(document).ready(function() {
}
if (name && emaild && message) {
$.ajax({
url: 'contact.php',
url: 'contactengine.php',
data: {
name: name,
emaild: emaild,
email: emaild,
subject: subject,
message: message
},