Skip to content

Instantly share code, notes, and snippets.

View jdavidbakr's full-sized avatar

J David Baker jdavidbakr

View GitHub Profile
@jdavidbakr
jdavidbakr / hidden_subform.js
Last active August 29, 2015 14:21
JavaScript: update_subform
var HiddenSubform = {
update: function(select) {
var selectedIndex = select.options.selectedIndex;
for (var i = 0; i < select.options.length; i++) {
var sel = select.options[i].getAttribute('show');
if (sel) {
var dom = document.querySelector(sel);
if (dom) {
if (i == selectedIndex) {
removeClass(dom, 'hidden');
@jdavidbakr
jdavidbakr / add_class.js
Created May 20, 2015 14:27
JavaScript: Class Management
function addClass(el, className) {
if (el.classList)
el.classList.add(className);
else
el.className += ' ' + className;
}
function removeClass(el, className) {
if (el.classList)
el.classList.remove(className);
@jdavidbakr
jdavidbakr / ajax_form.js
Last active March 16, 2018 03:12
JavaScript: AjaxForm
/**
* Overrides the browser's form submission and sends the form via ajax instead.
* Uses the microajax function: https://code.google.com/p/microajax/
*/
var AjaxForm = {
iframe: null,
form: null,
submit: function(form) {
if(PageChangeWarning) {
@jdavidbakr
jdavidbakr / json_processor.js
Last active January 14, 2016 17:49
JavaScript: JSON Processor
/*
* JsonProcessor.run() will do all the fun stuff we need to do for a json response.
* Return true if we are not redirecting to a new page (i.e. so that the form will unhide)
*/
var JsonProcessor = {
lastErrorFields: [],
run: function(data) {
var staying_on_page = true;
var i;
@jdavidbakr
jdavidbakr / AjaxFormBuilder.php
Last active October 27, 2016 00:00
Laravel: AjaxFormBuilder
<?php
namespace App\Services;
use Collective\Html\FormBuilder;
class AjaxFormBuilder extends FormBuilder {
protected $form_id;
protected $readonly = false;
@jdavidbakr
jdavidbakr / datepicker.less
Last active August 29, 2015 14:21
LESS: Datepicker
.datepicker {
position: absolute;
font-size: 10px;
font-family: @datepicker-font;
color: @white;
line-height: normal;
width: 172px;
height: 135px;
padding: 14px;
background: @datepicker-frame-image no-repeat;
@jdavidbakr
jdavidbakr / Controller.php
Created May 22, 2015 13:08
Laravel: Controller for JSON processor
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
@jdavidbakr
jdavidbakr / calendar.js
Created May 22, 2015 16:22
JavaScript: Calendar
/**
* This javascript draws a calendar object and updates the passed input elements with the value when a date is clicked.
*/
var monthNames = [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
@jdavidbakr
jdavidbakr / sync-remote
Last active August 29, 2015 14:21
Script: Watch & Upload Directory
#!/bin/bash
LOCAL_PATH=$1
REMOTE_SERVER=$2
REMOTE_PATH=$3
CHANGED_FILE=$4
echo Changed File: $CHANGED_FILE
FILE=`echo $CHANGED_FILE | sed 's|'$LOCAL_PATH'/||'`
@jdavidbakr
jdavidbakr / table.blade.php
Created May 22, 2015 17:14
Laravel Blade: table
@if(!empty($table))
<table class='data'>
@foreach($table['rows'] as $row)
<?php
$row['attributes']['class'] = (!empty($row['attributes']['class']) ? $row['attributes']['class'] . ' ' : '') . $classes[$current_class];
$current_class = ($current_class + 1) % 2;
?>
<tr @if(!empty($row['attributes'])) @foreach($row['attributes'] as $key=>$value) {{ $key }}="{{ $value }}" @endforeach @endif >
@foreach($row['cells'] as $cell)
<{{ !empty($cell['dom']) ? $cell['dom'] : 'td' }} @if(!empty($cell['attributes'])) @foreach($cell['attributes'] as $key=>$value) {{ $key }}="{{ $value }}" @endforeach @endif >