From daafd2065aff0c0da3387b2debeaeac1b509b125 Mon Sep 17 00:00:00 2001 From: Jessika Mika Caldera Date: Mon, 7 Jul 2014 15:38:52 -0400 Subject: [PATCH 1/3] Issues - Fixed Fixed col sizes for ie 8 Fixed home page layout widget. --- admin-style.css | 24 +++++++++++++++++++++--- header.php | 4 ++-- inc/reg-sidebars.php | 2 +- index.php | 2 +- page-home.php | 2 +- page.php | 2 +- search.php | 2 +- single.php | 2 +- 8 files changed, 29 insertions(+), 11 deletions(-) diff --git a/admin-style.css b/admin-style.css index 1d1587e..d9e6069 100644 --- a/admin-style.css +++ b/admin-style.css @@ -12,7 +12,7 @@ } .sliders { - padding:1em 0; + padding:2.5em 0; } .slider-wrap { float:left; @@ -37,10 +37,27 @@ height: 3.5em!important; } .ui-slider .ui-slider-handle { - width: .75em!important; + width: .02em!important; height: 3.9em!important; padding:0!important; - background:#E6E6E6!important; + border: 2px dotted #2ea2cc; + } + .ui-slider .ui-slider-handle:before{ + content: ""; + display:block; + position: relative; + top: -23px; + left: -13px; + width: 20px; + height: 20px; + margin-left: 3px; + border-radius: 50% 50% 50% 0; + transform: rotate(45deg) ; + -webkit-transform: rotate(-45deg) ; + -moz-transform: rotate(-45deg) ; + -o-transform: rotate(-45deg) ; + -ms-transform: rotate(-45deg) ; + background: #2ea2cc; } .ui-slider .ui-slider-handle:hover { cursor:-webkit-grab; @@ -51,6 +68,7 @@ .ui-slider .ui-slider-handle:focus { background-image:none; background:#2ea2cc!important; + width:2px; } .wp-core-ui .button.sliderDeleteColumn { background: #2ea2cc; diff --git a/header.php b/header.php index 22b9e02..cffca8c 100755 --- a/header.php +++ b/header.php @@ -45,7 +45,7 @@
Decorative header image of '. get_bloginfo('name') .'
';}?>
-
+
0 && strlen($secondarylink) > 0){ @@ -58,7 +58,7 @@

-
0 && strlen($secondarylink) > 0){ if(substr($secondarylink,0,4) != 'http'){ $secondarylink = 'http://'.$secondarylink; diff --git a/inc/reg-sidebars.php b/inc/reg-sidebars.php index 42067e9..208f39e 100644 --- a/inc/reg-sidebars.php +++ b/inc/reg-sidebars.php @@ -67,7 +67,7 @@ function check_sidebar_params( $params ) { } else { $cols = floor(12 / $count); } - $params[0]['before_widget'] = str_replace('class="', 'class="col-sm-' . $cols . ' ', $params[0]['before_widget']); + $params[0]['before_widget'] = str_replace('class="', 'class="col-xs-' . $cols . ' ', $params[0]['before_widget']); } return $params; } diff --git a/index.php b/index.php index 1dbf7f2..1e5a995 100755 --- a/index.php +++ b/index.php @@ -14,7 +14,7 @@ get_header(); ?>
-
+
diff --git a/page-home.php b/page-home.php index cc2067c..e635039 100644 --- a/page-home.php +++ b/page-home.php @@ -21,7 +21,7 @@ foreach($widths as $width){ if($width == 0) break; ?> -
+
diff --git a/page.php b/page.php index af2921b..447d333 100755 --- a/page.php +++ b/page.php @@ -26,7 +26,7 @@ } ?>
-
+
diff --git a/search.php b/search.php index c3ae291..d764fef 100755 --- a/search.php +++ b/search.php @@ -7,7 +7,7 @@ get_header(); ?>
-
+
diff --git a/single.php b/single.php index b39cb32..4628512 100755 --- a/single.php +++ b/single.php @@ -8,7 +8,7 @@ get_header(); ?>
-
+
From 85ddb1285c04b85bc7a6c7b407bc4240ef634821 Mon Sep 17 00:00:00 2001 From: Jessika Mika Caldera Date: Tue, 8 Jul 2014 11:40:35 -0400 Subject: [PATCH 2/3] Fixes Fixed col-xs to col-sm Made changes to the homepage layout user interface added respond.js to functions.php --- bootstrap/js/respond.js | 353 ++++++++++++++++++++++++++++++++++++++++ functions.php | 1 + header.php | 4 +- inc/reg-sidebars.php | 2 +- index.php | 2 +- page-home.php | 2 +- page.php | 2 +- search.php | 2 +- single.php | 2 +- 9 files changed, 362 insertions(+), 8 deletions(-) create mode 100644 bootstrap/js/respond.js diff --git a/bootstrap/js/respond.js b/bootstrap/js/respond.js new file mode 100644 index 0000000..58883e4 --- /dev/null +++ b/bootstrap/js/respond.js @@ -0,0 +1,353 @@ +/* Respond.js: min/max-width media query polyfill. (c) Scott Jehl. MIT Lic. j.mp/respondjs */ +(function( w ){ + + "use strict"; + + //exposed namespace + var respond = {}; + w.respond = respond; + + //define update even in native-mq-supporting browsers, to avoid errors + respond.update = function(){}; + + //define ajax obj + var requestQueue = [], + xmlHttp = (function() { + var xmlhttpmethod = false; + try { + xmlhttpmethod = new w.XMLHttpRequest(); + } + catch( e ){ + xmlhttpmethod = new w.ActiveXObject( "Microsoft.XMLHTTP" ); + } + return function(){ + return xmlhttpmethod; + }; + })(), + + //tweaked Ajax functions from Quirksmode + ajax = function( url, callback ) { + var req = xmlHttp(); + if (!req){ + return; + } + req.open( "GET", url, true ); + req.onreadystatechange = function () { + if ( req.readyState !== 4 || req.status !== 200 && req.status !== 304 ){ + return; + } + callback( req.responseText ); + }; + if ( req.readyState === 4 ){ + return; + } + req.send( null ); + }, + isUnsupportedMediaQuery = function( query ) { + return query.replace( respond.regex.minmaxwh, '' ).match( respond.regex.other ); + }; + + //expose for testing + respond.ajax = ajax; + respond.queue = requestQueue; + respond.unsupportedmq = isUnsupportedMediaQuery; + respond.regex = { + media: /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi, + keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi, + comments: /\/\*[^*]*\*+([^/][^*]*\*+)*\//gi, + urls: /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g, + findStyles: /@media *([^\{]+)\{([\S\s]+?)$/, + only: /(only\s+)?([a-zA-Z]+)\s?/, + minw: /\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/, + maxw: /\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/, + minmaxwh: /\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi, + other: /\([^\)]*\)/g + }; + + //expose media query support flag for external use + respond.mediaQueriesSupported = w.matchMedia && w.matchMedia( "only all" ) !== null && w.matchMedia( "only all" ).matches; + + //if media queries are supported, exit here + if( respond.mediaQueriesSupported ){ + return; + } + + //define vars + var doc = w.document, + docElem = doc.documentElement, + mediastyles = [], + rules = [], + appendedEls = [], + parsedSheets = {}, + resizeThrottle = 30, + head = doc.getElementsByTagName( "head" )[0] || docElem, + base = doc.getElementsByTagName( "base" )[0], + links = head.getElementsByTagName( "link" ), + + lastCall, + resizeDefer, + + //cached container for 1em value, populated the first time it's needed + eminpx, + + // returns the value of 1em in pixels + getEmValue = function() { + var ret, + div = doc.createElement('div'), + body = doc.body, + originalHTMLFontSize = docElem.style.fontSize, + originalBodyFontSize = body && body.style.fontSize, + fakeUsed = false; + + div.style.cssText = "position:absolute;font-size:1em;width:1em"; + + if( !body ){ + body = fakeUsed = doc.createElement( "body" ); + body.style.background = "none"; + } + + // 1em in a media query is the value of the default font size of the browser + // reset docElem and body to ensure the correct value is returned + docElem.style.fontSize = "100%"; + body.style.fontSize = "100%"; + + body.appendChild( div ); + + if( fakeUsed ){ + docElem.insertBefore( body, docElem.firstChild ); + } + + ret = div.offsetWidth; + + if( fakeUsed ){ + docElem.removeChild( body ); + } + else { + body.removeChild( div ); + } + + // restore the original values + docElem.style.fontSize = originalHTMLFontSize; + if( originalBodyFontSize ) { + body.style.fontSize = originalBodyFontSize; + } + + + //also update eminpx before returning + ret = eminpx = parseFloat(ret); + + return ret; + }, + + //enable/disable styles + applyMedia = function( fromResize ){ + var name = "clientWidth", + docElemProp = docElem[ name ], + currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[ name ] || docElemProp, + styleBlocks = {}, + lastLink = links[ links.length-1 ], + now = (new Date()).getTime(); + + //throttle resize calls + if( fromResize && lastCall && now - lastCall < resizeThrottle ){ + w.clearTimeout( resizeDefer ); + resizeDefer = w.setTimeout( applyMedia, resizeThrottle ); + return; + } + else { + lastCall = now; + } + + for( var i in mediastyles ){ + if( mediastyles.hasOwnProperty( i ) ){ + var thisstyle = mediastyles[ i ], + min = thisstyle.minw, + max = thisstyle.maxw, + minnull = min === null, + maxnull = max === null, + em = "em"; + + if( !!min ){ + min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 ); + } + if( !!max ){ + max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 ); + } + + // if there's no media query at all (the () part), or min or max is not null, and if either is present, they're true + if( !thisstyle.hasquery || ( !minnull || !maxnull ) && ( minnull || currWidth >= min ) && ( maxnull || currWidth <= max ) ){ + if( !styleBlocks[ thisstyle.media ] ){ + styleBlocks[ thisstyle.media ] = []; + } + styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] ); + } + } + } + + //remove any existing respond style element(s) + for( var j in appendedEls ){ + if( appendedEls.hasOwnProperty( j ) ){ + if( appendedEls[ j ] && appendedEls[ j ].parentNode === head ){ + head.removeChild( appendedEls[ j ] ); + } + } + } + appendedEls.length = 0; + + //inject active styles, grouped by media type + for( var k in styleBlocks ){ + if( styleBlocks.hasOwnProperty( k ) ){ + var ss = doc.createElement( "style" ), + css = styleBlocks[ k ].join( "\n" ); + + ss.type = "text/css"; + ss.media = k; + + //originally, ss was appended to a documentFragment and sheets were appended in bulk. + //this caused crashes in IE in a number of circumstances, such as when the HTML element had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one! + head.insertBefore( ss, lastLink.nextSibling ); + + if ( ss.styleSheet ){ + ss.styleSheet.cssText = css; + } + else { + ss.appendChild( doc.createTextNode( css ) ); + } + + //push to appendedEls to track for later removal + appendedEls.push( ss ); + } + } + }, + //find media blocks in css text, convert to style blocks + translate = function( styles, href, media ){ + var qs = styles.replace( respond.regex.comments, '' ) + .replace( respond.regex.keyframes, '' ) + .match( respond.regex.media ), + ql = qs && qs.length || 0; + + //try to get CSS path + href = href.substring( 0, href.lastIndexOf( "/" ) ); + + var repUrls = function( css ){ + return css.replace( respond.regex.urls, "$1" + href + "$2$3" ); + }, + useMedia = !ql && media; + + //if path exists, tack on trailing slash + if( href.length ){ href += "/"; } + + //if no internal queries exist, but media attr does, use that + //note: this currently lacks support for situations where a media attr is specified on a link AND + //its associated stylesheet has internal CSS media queries. + //In those cases, the media attribute will currently be ignored. + if( useMedia ){ + ql = 1; + } + + for( var i = 0; i < ql; i++ ){ + var fullq, thisq, eachq, eql; + + //media attr + if( useMedia ){ + fullq = media; + rules.push( repUrls( styles ) ); + } + //parse for styles + else{ + fullq = qs[ i ].match( respond.regex.findStyles ) && RegExp.$1; + rules.push( RegExp.$2 && repUrls( RegExp.$2 ) ); + } + + eachq = fullq.split( "," ); + eql = eachq.length; + + for( var j = 0; j < eql; j++ ){ + thisq = eachq[ j ]; + + if( isUnsupportedMediaQuery( thisq ) ) { + continue; + } + + mediastyles.push( { + media : thisq.split( "(" )[ 0 ].match( respond.regex.only ) && RegExp.$2 || "all", + rules : rules.length - 1, + hasquery : thisq.indexOf("(") > -1, + minw : thisq.match( respond.regex.minw ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ), + maxw : thisq.match( respond.regex.maxw ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ) + } ); + } + } + + applyMedia(); + }, + + //recurse through request queue, get css text + makeRequests = function(){ + if( requestQueue.length ){ + var thisRequest = requestQueue.shift(); + + ajax( thisRequest.href, function( styles ){ + translate( styles, thisRequest.href, thisRequest.media ); + parsedSheets[ thisRequest.href ] = true; + + // by wrapping recursive function call in setTimeout + // we prevent "Stack overflow" error in IE7 + w.setTimeout(function(){ makeRequests(); },0); + } ); + } + }, + + //loop stylesheets, send text content to translate + ripCSS = function(){ + + for( var i = 0; i < links.length; i++ ){ + var sheet = links[ i ], + href = sheet.href, + media = sheet.media, + isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet"; + + //only links plz and prevent re-parsing + if( !!href && isCSS && !parsedSheets[ href ] ){ + // selectivizr exposes css through the rawCssText expando + if (sheet.styleSheet && sheet.styleSheet.rawCssText) { + translate( sheet.styleSheet.rawCssText, href, media ); + parsedSheets[ href ] = true; + } else { + if( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base) || + href.replace( RegExp.$1, "" ).split( "/" )[0] === w.location.host ){ + // IE7 doesn't handle urls that start with '//' for ajax request + // manually add in the protocol + if ( href.substring(0,2) === "//" ) { href = w.location.protocol + href; } + requestQueue.push( { + href: href, + media: media + } ); + } + } + } + } + makeRequests(); + }; + + //translate CSS + ripCSS(); + + //expose update for re-running respond later on + respond.update = ripCSS; + + //expose getEmValue + respond.getEmValue = getEmValue; + + //adjust on resize + function callMedia(){ + applyMedia( true ); + } + + if( w.addEventListener ){ + w.addEventListener( "resize", callMedia, false ); + } + else if( w.attachEvent ){ + w.attachEvent( "onresize", callMedia ); + } +})(this); diff --git a/functions.php b/functions.php index 75d4b1a..bf85fc5 100755 --- a/functions.php +++ b/functions.php @@ -84,6 +84,7 @@ function cs_scripts() { wp_enqueue_style( 'cs-style', get_stylesheet_uri(),array('cs-bootstrap-css') ); wp_enqueue_script( 'cs-bootstrap-js', get_template_directory_uri() . '/bootstrap/js/bootstrap.min.js', array( 'jquery' )); + wp_enqueue_script( 'cs-respond-js', get_template_directory_uri() . '/bootstrap/js/respond.js', array( 'jquery' )); wp_enqueue_script( 'cs-modernizr', get_template_directory_uri() . '/js/cs-modernizr.js', array( 'jquery' )); wp_enqueue_script( 'cs', get_template_directory_uri() . '/js/cs.js', array( 'jquery' )); wp_enqueue_script( 'cs-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'cs-bootstrap-js'), '20120206', true ); diff --git a/header.php b/header.php index cffca8c..22b9e02 100755 --- a/header.php +++ b/header.php @@ -45,7 +45,7 @@
Decorative header image of '. get_bloginfo('name') .'
';}?>
-
+
0 && strlen($secondarylink) > 0){ @@ -58,7 +58,7 @@

-
0 && strlen($secondarylink) > 0){ if(substr($secondarylink,0,4) != 'http'){ $secondarylink = 'http://'.$secondarylink; diff --git a/inc/reg-sidebars.php b/inc/reg-sidebars.php index 208f39e..42067e9 100644 --- a/inc/reg-sidebars.php +++ b/inc/reg-sidebars.php @@ -67,7 +67,7 @@ function check_sidebar_params( $params ) { } else { $cols = floor(12 / $count); } - $params[0]['before_widget'] = str_replace('class="', 'class="col-xs-' . $cols . ' ', $params[0]['before_widget']); + $params[0]['before_widget'] = str_replace('class="', 'class="col-sm-' . $cols . ' ', $params[0]['before_widget']); } return $params; } diff --git a/index.php b/index.php index 1e5a995..1dbf7f2 100755 --- a/index.php +++ b/index.php @@ -14,7 +14,7 @@ get_header(); ?>
-
+
diff --git a/page-home.php b/page-home.php index e635039..cc2067c 100644 --- a/page-home.php +++ b/page-home.php @@ -21,7 +21,7 @@ foreach($widths as $width){ if($width == 0) break; ?> -
+
diff --git a/page.php b/page.php index 447d333..af2921b 100755 --- a/page.php +++ b/page.php @@ -26,7 +26,7 @@ } ?>
-
+
diff --git a/search.php b/search.php index d764fef..c3ae291 100755 --- a/search.php +++ b/search.php @@ -7,7 +7,7 @@ get_header(); ?>
-
+
diff --git a/single.php b/single.php index 4628512..b39cb32 100755 --- a/single.php +++ b/single.php @@ -8,7 +8,7 @@ get_header(); ?>
-
+
From 211ac09961cca3a7aac14ba12a5c74e333b9a644 Mon Sep 17 00:00:00 2001 From: Jessika Mika Caldera Date: Tue, 8 Jul 2014 13:06:14 -0400 Subject: [PATCH 3/3] Fixed Issues Fixed Homepage Layout User Interface Added background and thumbs Added Dash Icons for plus and minus Did additional tweak in same area. --- admin-style.css | 72 +++++++++++++++++++++++++++++++++------------ inc/customizer.php | 2 +- js/layoutbuilder.js | 2 +- 3 files changed, 55 insertions(+), 21 deletions(-) diff --git a/admin-style.css b/admin-style.css index d9e6069..248bd77 100644 --- a/admin-style.css +++ b/admin-style.css @@ -29,12 +29,15 @@ margin-right:15px; } .sliderAddColumn { - padding:1em 5px!important; + padding:0px!important; height:auto!important; } .ui-slider-horizontal { height: 3.5em!important; + background-color: #eeeeee!important; + background-image: linear-gradient(90deg, transparent 50%, rgba(255,255,255,.5) 50%)!important; + background-size: 20px 50px!important; } .ui-slider .ui-slider-handle { width: .02em!important; @@ -42,23 +45,44 @@ padding:0!important; border: 2px dotted #2ea2cc; } - .ui-slider .ui-slider-handle:before{ - content: ""; - display:block; - position: relative; - top: -23px; - left: -13px; - width: 20px; - height: 20px; - margin-left: 3px; - border-radius: 50% 50% 50% 0; - transform: rotate(45deg) ; - -webkit-transform: rotate(-45deg) ; - -moz-transform: rotate(-45deg) ; - -o-transform: rotate(-45deg) ; - -ms-transform: rotate(-45deg) ; - background: #2ea2cc; - } + .ui-slider .ui-slider-handle:focus { + width: .05em!important; + height: 3.7em!important; + border: 2px solid #2ea2cc; + } + .ui-slider .ui-slider-handle:before{ + content: ""; + display:block; + position: relative; + top: -24px; + left: -13px; + width: 20px; + height: 20px; + margin-left: 3px; + border-radius: 3px; + background: grey; + } + .ui-slider .ui-slider-handle:focus:before{ + background: #2ea2cc; + } + .ui-slider .ui-slider-handle:after{ + content: ""; + display:block; + position: relative; + top: -24px; + left: -8px; + width: 0; + height: 0; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid grey; + } + .ui-slider .ui-slider-handle:focus:after{ + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #2ea2cc; + } + .ui-slider .ui-slider-handle:hover { cursor:-webkit-grab; } @@ -76,4 +100,14 @@ -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15); box-shadow: inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15); color: #fff; - } \ No newline at end of file + } + .wp-core-ui .button.sliderDeleteColumn .dashicons-minus { + padding:4px; + } + .wp-core-ui .button.sliderAddColumn .dashicons-plus{ + padding: 14px 4px; + } + + + + diff --git a/inc/customizer.php b/inc/customizer.php index 88fedb8..4e58e76 100755 --- a/inc/customizer.php +++ b/inc/customizer.php @@ -170,7 +170,7 @@ public function render_content() { ?> -
+ Row
– Row
– []
+
+ Row
– Row
+[]
'); + $('.sliders').append('
'); $('#addColumn'+i).click(function(){ addColumnButton(this); });