add bootstrap
This commit is contained in:
7
scripts/bootstrap.bundle.min.js
vendored
Normal file
7
scripts/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
scripts/bootstrap.bundle.min.js.map
Normal file
1
scripts/bootstrap.bundle.min.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1,3 +1,82 @@
|
||||
var Tools = {
|
||||
serialize: function(sFormId)
|
||||
{
|
||||
var asForm = {};
|
||||
$.each($('#'+sFormId).serializeArray(), function(key, item){
|
||||
asForm[item.name] = item.value;
|
||||
});
|
||||
return asForm;
|
||||
},
|
||||
|
||||
ajax: function(sAction, fOnSuccess, oData, fOnFail, $Loader, sType, sDataType)
|
||||
{
|
||||
sType = sType || 'GET';
|
||||
sDataType = sDataType || 'json';
|
||||
oData = oData || {};
|
||||
var asData = {};
|
||||
|
||||
if($.type(oData)=='string') {
|
||||
asData = this.serialize(oData);
|
||||
}
|
||||
else asData = oData;
|
||||
|
||||
if($Loader)
|
||||
{
|
||||
$Loader
|
||||
.data('load_html', $Loader.html())
|
||||
.data('load_class', $Loader.attr('class'))
|
||||
.removeClassPrefix('fa-')
|
||||
.addClass('loader')
|
||||
.html($('<img>', {'class':'onlyimg', src: Config.paths.dir.theme_image+"ajax.svg"}));
|
||||
}
|
||||
|
||||
asData['a'] = sAction;
|
||||
$.ajax({
|
||||
url: oMyThoughts.consts.context.process_page,
|
||||
type: sType,
|
||||
data: asData,
|
||||
dataType: sDataType
|
||||
})
|
||||
.done(function(oData) {
|
||||
if(oData.result==oMyThoughts.consts.error) {
|
||||
if(!fOnFail) Tools.feedback('error', oData.desc);
|
||||
else fOnFail(oData.desc);
|
||||
}
|
||||
else fOnSuccess(oData.data, oData.desc);
|
||||
|
||||
if($Loader) {
|
||||
$Loader
|
||||
.removeClass()
|
||||
.addClass($Loader.data('load_class'))
|
||||
.html($Loader.data('load_html'));
|
||||
}
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
if(!fOnFail) Tools.feedback('error', textStatus+' '+errorThrown);
|
||||
else fOnFail(textStatus);
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
getIcon: function(sIcon, bFull){
|
||||
bFull = bFull || false;
|
||||
return $('<i>', {'class': bFull?sIcon:('fal fa-'+sIcon)});
|
||||
},
|
||||
|
||||
feedback: function(sClass, sMsg, $Box)
|
||||
{
|
||||
$Box = $Box || $('#feedback');
|
||||
sMsg = sMsg || '';
|
||||
if(sClass=='error' && typeof sMsg == 'string' && sMsg=='') sMsg = 'Oops ! An unknown error occured';
|
||||
$('<div>', {'class':'alert shadow rounded alert-'+(sClass=='error'?'danger':sClass), role:'alert'})
|
||||
.append(sMsg)
|
||||
.appendTo($Box)
|
||||
.slideDown('fast')
|
||||
.delay(5000)
|
||||
.slideUp('fast', function(){$(this).remove();});
|
||||
}
|
||||
};
|
||||
|
||||
function emptyBox(element, text)
|
||||
{
|
||||
//var textarea = $('#thoughts_form textarea[name="thoughts"]');
|
||||
@@ -19,11 +98,6 @@ function setHeight(element)
|
||||
element.style.height = height+'px';
|
||||
}
|
||||
|
||||
function goTo(url)
|
||||
{
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
function addInput(form, name, type, value)
|
||||
{
|
||||
var registerInput = document.createElement('input');
|
||||
@@ -33,26 +107,6 @@ function addInput(form, name, type, value)
|
||||
document.forms[form].appendChild(registerInput);
|
||||
}
|
||||
|
||||
/*
|
||||
texts = new Object();
|
||||
texts['thoughts'] = 'Talk to me.';
|
||||
texts['login'] = 'Nickname';
|
||||
texts['pass'] = 'Password';
|
||||
|
||||
window.onload = function ()
|
||||
{
|
||||
for (i in texts)
|
||||
{
|
||||
var id = document.getElementById(i);
|
||||
if(id)
|
||||
{
|
||||
id.addEventListener('focus', function() {emptyBox(this, texts[this.name]);}, false);
|
||||
id.addEventListener('blur', function() {emptyBox(this, texts[this.name]);}, false);
|
||||
}
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
function getInfo(action, fOnSuccess, vars, fOnError, sType/*, bProcessIcon*/)
|
||||
{
|
||||
if(!vars) vars = {};
|
||||
@@ -93,11 +147,8 @@ function feedback(sClass, sMsg, $Box)
|
||||
{
|
||||
$Box = $Box || $('#feedback');
|
||||
sMsg = sMsg || '';
|
||||
var sHeight = 20;
|
||||
$('.feedback').each(function(){sHeight += $(this).outerHeight() + 10;});
|
||||
if(sClass=='error' && sMsg=='') sMsg = 'Oops ! An unknown error occured';
|
||||
$('<span>', {'class':'feedback round '+sClass})
|
||||
.css('top', sHeight+'px')
|
||||
$('<div>', {'class':'alert shadow rounded alert-'+(sClass=='error'?'danger':sClass), role:'alert'})
|
||||
//.append($('<i>', {'class':'fa fa-standalone fa-'+sClass}))
|
||||
.append(addPunctuation(sMsg))
|
||||
.appendTo($Box)
|
||||
@@ -169,12 +220,39 @@ $.prototype.checkForm = function(sSelector)
|
||||
sSelector = sSelector || 'input[type="password"], input[type="text"], textarea';
|
||||
var $This = $(this);
|
||||
var bOk = true;
|
||||
$This.find(sSelector).each(function()
|
||||
var $Desc = $('<span>');
|
||||
var $Fields = $This.find(sSelector);
|
||||
|
||||
$Fields.each(function()
|
||||
{
|
||||
$This = $(this);
|
||||
bOk = bOk && $This.val()!='' && $This.val()!=$This.data('default_value');
|
||||
var sFieldValue = $This.val();
|
||||
var sFieldName = $This.attr('placeholder');
|
||||
|
||||
//Icon
|
||||
var sFieldIcon = $This.prev().find('.input-group-text').find('.fal').attr('class');
|
||||
var $FieldIcon = (sFieldIcon==undefined)?'':Tools.getIcon(sFieldIcon, true).addClass('fa-fw bold');
|
||||
|
||||
if(sFieldValue=='' || sFieldValue==$This.data('default_value')) {
|
||||
bOk = false;
|
||||
$Desc.append('Field ').append($FieldIcon).append($('<strong>').text(sFieldName)).append(' is empty');
|
||||
}
|
||||
|
||||
switch($This.attr('type')) {
|
||||
case 'password':
|
||||
var $Conf = $Fields.filter('#'+$This.attr('id')+'_conf');
|
||||
if($Conf.length!==0 && $Conf.val()!=sFieldValue){
|
||||
bOk = false;
|
||||
$Desc.append('Passwords do not match');
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
//Break loop
|
||||
if(!bOk) return false;
|
||||
});
|
||||
return bOk;
|
||||
|
||||
return {success: bOk, desc: $Desc};
|
||||
};
|
||||
|
||||
$.fn.toEm = function(settings){
|
||||
|
||||
@@ -5,6 +5,7 @@ function MyThoughts(asGlobals)
|
||||
this.consts.hash_sep = '-';
|
||||
this.consts.default_page = 'home';
|
||||
this.consts.title = 'My Thoughts';
|
||||
this.consts.root = location.protocol+'//'+location.host+location.pathname;
|
||||
|
||||
this.init = function()
|
||||
{
|
||||
@@ -16,14 +17,11 @@ function MyThoughts(asGlobals)
|
||||
|
||||
//page elem
|
||||
self.elem = {};
|
||||
self.elem.container = $('#container');
|
||||
self.elem.$Container = $('#container');
|
||||
|
||||
//on window resize
|
||||
$(window).resize(self.onResize).resize();
|
||||
|
||||
//Setup menu
|
||||
//self.initMenu();
|
||||
|
||||
//Hash management
|
||||
self.resetTmpFunctions();
|
||||
$(window)
|
||||
@@ -57,7 +55,7 @@ function MyThoughts(asGlobals)
|
||||
|
||||
this.initMenu = function()
|
||||
{
|
||||
|
||||
self.elem.$Menu.show('fast');
|
||||
};
|
||||
|
||||
/* Events */
|
||||
@@ -76,10 +74,10 @@ function MyThoughts(asGlobals)
|
||||
|
||||
this.resetTmpFunctions = function()
|
||||
{
|
||||
self.pageInit = function(asHash){console.log('no init for the page: '+asHash.page)};
|
||||
self.pageInit = function(asHash, bFirstPage){console.log('no init for the page: '+asHash.page)};
|
||||
self.onSamePageMove = function(asHash){return false};
|
||||
self.onQuitPage = function(){return true};
|
||||
self.onFeedback = function(sType, sMsg){feedback(sType, sMsg, self.elem.container);};
|
||||
self.onFeedback = function(sType, sMsg){Tools.feedback(sType, sMsg, self.elem.$Container);};
|
||||
};
|
||||
|
||||
/* Hash Handling */
|
||||
@@ -131,6 +129,22 @@ function MyThoughts(asGlobals)
|
||||
|
||||
/* Page Switching */
|
||||
|
||||
this.loadHome = function(asData) {
|
||||
|
||||
console.log(asData);
|
||||
|
||||
self.vars('log_in', asData.log_in);
|
||||
self.vars('id', asData.id);
|
||||
|
||||
if(self.vars('log_in')) {
|
||||
//Setup menu
|
||||
self.initMenu();
|
||||
|
||||
//Swap to default page
|
||||
self.setHash('write');
|
||||
}
|
||||
};
|
||||
|
||||
this.getActionLink = function(sAction, oVars)
|
||||
{
|
||||
if(!oVars) oVars = {};
|
||||
@@ -149,7 +163,15 @@ function MyThoughts(asGlobals)
|
||||
var bLoggedIn = self.vars('log_in');
|
||||
var sDefaultPage = bLoggedIn?'write':'logon';
|
||||
|
||||
if(asHash.hash !='' && sNextPage != '' && (bLoggedIn || sNextPage==sDefaultPage))
|
||||
if( asHash.hash == '' ||
|
||||
sNextPage == '' ||
|
||||
!bLoggedIn && sNextPage != sDefaultPage ||
|
||||
bLoggedIn && sNextPage == 'logon'
|
||||
)
|
||||
{
|
||||
self.setHash(sDefaultPage); //force first page
|
||||
}
|
||||
else
|
||||
{
|
||||
var bSamePage = (sCurrPage==sNextPage);
|
||||
if(self.onQuitPage(bSamePage) && !bSamePage || self.onSamePageMove(asHash))
|
||||
@@ -172,17 +194,20 @@ function MyThoughts(asGlobals)
|
||||
var $Dom = $(self.consts.pages[sNextPage]);
|
||||
if(bFirstPage)
|
||||
{
|
||||
self.elem.container.html($(self.consts.pages['template']));
|
||||
self.elem.main = self.elem.container.find('#main');
|
||||
self.splash(self.elem.main, $Dom, asHash, bFirstPage); //first page
|
||||
self.elem.$Container.html($(self.consts.pages['template']));
|
||||
self.elem.$Main = self.elem.$Container.find('#main');
|
||||
|
||||
self.elem.$Menu = self.elem.$Container.find('#menu');
|
||||
if(self.vars.log_in) self.initMenu();
|
||||
|
||||
self.splash(self.elem.$Main, $Dom, asHash, bFirstPage); //first page
|
||||
}
|
||||
else
|
||||
{
|
||||
self.elem.main.stop().fadeTo('fast', 0, function(){self.splash(self.elem.main, $Dom, asHash, bFirstPage);}); //Switching page
|
||||
self.elem.$Main.stop().fadeTo('fast', 0, function(){self.splash(self.elem.$Main, $Dom, asHash, bFirstPage);}); //Switching page
|
||||
}
|
||||
}
|
||||
}
|
||||
else self.setHash(sDefaultPage); //force first page
|
||||
};
|
||||
|
||||
this.splash = function($FadeInElem, $Dom, asHash, bFirstPage)
|
||||
@@ -192,6 +217,7 @@ function MyThoughts(asGlobals)
|
||||
$FadeInElem.html($Dom);
|
||||
|
||||
//Page Bootstrap
|
||||
self.elem.$Main.removeClass('no_frame');
|
||||
self.pageInit(asHash, bFirstPage);
|
||||
|
||||
//Show main
|
||||
|
||||
Reference in New Issue
Block a user