tida_conte_template 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/README.md +29 -0
  2. data/lib/breadcrumbs_renderer.rb +23 -0
  3. data/lib/generators/tida_conte_template/install_generator.rb +28 -0
  4. data/lib/generators/tida_conte_template/templates/erb/scaffold/_form.html.erb +18 -0
  5. data/lib/generators/tida_conte_template/templates/erb/scaffold/edit.html.erb +3 -0
  6. data/lib/generators/tida_conte_template/templates/erb/scaffold/index.html.erb +22 -0
  7. data/lib/generators/tida_conte_template/templates/erb/scaffold/new.html.erb +3 -0
  8. data/lib/generators/tida_conte_template/templates/erb/scaffold/show.html.erb +24 -0
  9. data/lib/generators/tida_conte_template/templates/layout.html.erb +58 -0
  10. data/lib/generators/tida_conte_template/templates/navigation_renderers.rb +2 -0
  11. data/lib/generators/tida_conte_template/templates/shared/_breadcrumbs.html.erb +3 -0
  12. data/lib/generators/tida_conte_template/templates/shared/_notification.html.erb +12 -0
  13. data/lib/generators/tida_conte_template/templates/shared/_page_toolbar.html.erb +15 -0
  14. data/lib/generators/tida_conte_template/templates/simple_navigation.rb +75 -0
  15. data/lib/generators/tida_conte_template/templates/single.html.erb +34 -0
  16. data/lib/generators/tida_conte_template/templates/wice_grid_config.rb +142 -0
  17. data/lib/generators/tida_conte_template/templates/wice_grid_local.yml +502 -0
  18. data/lib/navigation_renderer.rb +59 -0
  19. data/lib/tida_conte_template.rb +8 -0
  20. data/lib/tida_conte_template/version.rb +3 -0
  21. data/vendor/assets/images/app_logo.png +0 -0
  22. data/vendor/assets/images/breadcrumb_bg.png +0 -0
  23. data/vendor/assets/images/login_logo.png +0 -0
  24. data/vendor/assets/javascripts/bootstrap-datetimepicker.min.js +26 -0
  25. data/vendor/assets/javascripts/conte.js +33 -0
  26. data/vendor/assets/stylesheets/bootstrap-datetimepicker.min.css +8 -0
  27. data/vendor/assets/stylesheets/bootstrap-overwrite.css.scss +125 -0
  28. data/vendor/assets/stylesheets/conte.css.scss +269 -0
  29. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  30. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  31. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  32. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  33. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  34. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  35. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  36. data/vendor/assets/stylesheets/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  37. data/vendor/assets/stylesheets/jquery-ui/images/ui-icons_222222_256x240.png +0 -0
  38. data/vendor/assets/stylesheets/jquery-ui/images/ui-icons_2e83ff_256x240.png +0 -0
  39. data/vendor/assets/stylesheets/jquery-ui/images/ui-icons_454545_256x240.png +0 -0
  40. data/vendor/assets/stylesheets/jquery-ui/images/ui-icons_888888_256x240.png +0 -0
  41. data/vendor/assets/stylesheets/jquery-ui/images/ui-icons_cd0a0a_256x240.png +0 -0
  42. data/vendor/assets/stylesheets/jquery-ui/jquery-ui-1.10.0.custom.min.css +5 -0
  43. data/vendor/assets/stylesheets/single.css.scss +49 -0
  44. data/vendor/assets/stylesheets/wice_grid.css.scss +139 -0
  45. metadata +169 -0
@@ -0,0 +1,59 @@
1
+ require "simple_navigation"
2
+
3
+ module TidaConteTemplate
4
+ class NavigationRenderer < ::SimpleNavigation::Renderer::Base
5
+ def render(item_container)
6
+ list_content = item_container.items.inject([]) do |list, item|
7
+ li_content = []
8
+ li_content << tag_for(item)
9
+ if include_sub_navigation?(item)
10
+ li_content << render_sub_navigation_for(item)
11
+ end
12
+ list << content_tag(:div, li_content.join, class: 'accordion-group')
13
+ end.join
14
+ if skip_if_empty? && item_container.empty?
15
+ ''
16
+ else
17
+ content_tag :div, list_content, {:class => 'accordion', "id" => 'navigation'}
18
+ end
19
+ end
20
+
21
+ protected
22
+
23
+ def tag_for(item)
24
+ item_content = nil
25
+ options = link_options_for(item)
26
+ if suppress_link?(item)
27
+ content = []
28
+ content << item.name
29
+ content << content_tag(:b, nil, class: 'caret')
30
+ if options[:class] && options[:class].include?('active')
31
+ options[:class] = [options[:class], 'accordion-toggle in'].flatten.compact.join(' ')
32
+ else
33
+ options[:class] = [options[:class], 'accordion-toggle collapsed'].flatten.compact.join(' ')
34
+ end
35
+ options = options.merge('data-toggle' => "collapse", 'data-parent' => "#navigation")
36
+ item_content = link_to(content.join(' '), "#collapse_#{item.key}", options)
37
+ else
38
+ options[:class] = [options[:class], 'accordion-toggle'].flatten.compact.join(' ')
39
+ item_content = link_to(item.name, item.url, options)
40
+ end
41
+ content_tag :div, item_content, class: 'accordion-heading'
42
+ end
43
+
44
+ def render_sub_navigation_for(item)
45
+ options = link_options_for(item)
46
+ sub_list_content = item.sub_navigation.items.inject([]) do |list, sub_item|
47
+ li_content = link_to(sub_item.name, sub_item.url, link_options_for(sub_item))
48
+ list << content_tag(:li, li_content)
49
+ end.join
50
+ sub_list = content_tag(:ul, sub_list_content)
51
+ inner_container = content_tag(:div, sub_list, class: 'accordion-inner')
52
+ if options[:class] && options[:class].include?('active')
53
+ content_tag(:div, inner_container, {:class => 'accordion-body in collapse', 'id' => "collapse_#{item.key}"})
54
+ else
55
+ content_tag(:div, inner_container, {:class => 'accordion-body collapse', 'id' => "collapse_#{item.key}"})
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,8 @@
1
+ require "tida_conte_template/version"
2
+ require "navigation_renderer"
3
+ require "breadcrumbs_renderer"
4
+
5
+ module TidaConteTemplate
6
+ class Engine < ::Rails::Engine
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ module TidaConteTemplate
2
+ VERSION = "0.1.19"
3
+ end
Binary file
Binary file
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * =========================================================
4
+ * bootstrap-datetimepicker.js
5
+ * http://www.eyecon.ro/bootstrap-datepicker
6
+ * =========================================================
7
+ * Copyright 2012 Stefan Petre
8
+ *
9
+ * Contributions:
10
+ * - Andrew Rowls
11
+ * - Thiago de Arruda
12
+ *
13
+ * Licensed under the Apache License, Version 2.0 (the "License");
14
+ * you may not use this file except in compliance with the License.
15
+ * You may obtain a copy of the License at
16
+ *
17
+ * http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * Unless required by applicable law or agreed to in writing, software
20
+ * distributed under the License is distributed on an "AS IS" BASIS,
21
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
+ * See the License for the specific language governing permissions and
23
+ * limitations under the License.
24
+ * =========================================================
25
+ */
26
+ (function($){var smartPhone=window.orientation!=undefined;var DateTimePicker=function(element,options){this.id=dpgId++;this.init(element,options)};DateTimePicker.prototype={constructor:DateTimePicker,init:function(element,options){var icon;if(!(options.pickTime||options.pickDate))throw new Error("Must choose at least one picker");this.options=options;this.$element=$(element);this.language=options.language in dates?options.language:"en";this.pickDate=options.pickDate;this.pickTime=options.pickTime;this.isInput=this.$element.is("input");this.component=this.$element.is(".input-append")?this.$element.find(".add-on"):false;this.format=options.format;if(!this.format){if(this.isInput)this.format=this.$element.data("format");else this.format=this.$element.find("input").data("format");if(!this.format)this.format="MM/dd/yyyy"}this._compileFormat();if(this.component){icon=this.component.find("i")}if(this.pickTime){if(icon&&icon.length)this.timeIcon=icon.data("time-icon");if(!this.timeIcon)this.timeIcon="icon-time";icon.addClass(this.timeIcon)}if(this.pickDate){if(icon&&icon.length)this.dateIcon=icon.data("date-icon");if(!this.dateIcon)this.dateIcon="icon-calendar";icon.removeClass(this.timeIcon);icon.addClass(this.dateIcon)}this.widget=$(getTemplate(this.timeIcon,options.pickDate,options.pickTime,options.pick12HourFormat)).appendTo("body");this.minViewMode=options.minViewMode||this.$element.data("date-minviewmode")||0;if(typeof this.minViewMode==="string"){switch(this.minViewMode){case"months":this.minViewMode=1;break;case"years":this.minViewMode=2;break;default:this.minViewMode=0;break}}this.viewMode=options.viewMode||this.$element.data("date-viewmode")||0;if(typeof this.viewMode==="string"){switch(this.viewMode){case"months":this.viewMode=1;break;case"years":this.viewMode=2;break;default:this.viewMode=0;break}}this.startViewMode=this.viewMode;this.weekStart=options.weekStart||this.$element.data("date-weekstart")||0;this.weekEnd=this.weekStart===0?6:this.weekStart-1;this.fillDow();this.fillMonths();this.fillHours();this.fillMinutes();this.fillSeconds();this.update();this.showMode();this._attachDatePickerEvents()},show:function(e){this.widget.show();this.height=this.component?this.component.outerHeight():this.$element.outerHeight();this.place();this.$element.trigger({type:"show",date:this._date});this._attachDatePickerGlobalEvents();if(e){e.stopPropagation();e.preventDefault()}},hide:function(){var collapse=this.widget.find(".collapse");for(var i=0;i<collapse.length;i++){var collapseData=collapse.eq(i).data("collapse");if(collapseData&&collapseData.transitioning)return}this.widget.hide();this.viewMode=this.startViewMode;this.showMode();this.set();this.$element.trigger({type:"hide",date:this._date});this._detachDatePickerGlobalEvents()},set:function(){var formatted="";if(!this._unset)formatted=this.formatDate(this._date);if(!this.isInput){if(this.component){var input=this.$element.find("input");input.val(formatted);this._resetMaskPos(input)}this.$element.data("date",formatted)}else{this.$element.val(formatted);this._resetMaskPos(this.$element)}},setValue:function(newDate){if(!newDate){this._unset=true}else{this._unset=false}if(typeof newDate==="string"){this._date=this.parseDate(newDate)}else{this._date=new Date(newDate)}this.set();this.viewDate=UTCDate(this._date.getUTCFullYear(),this._date.getUTCMonth(),1,0,0,0,0);this.fillDate();this.fillTime()},getDate:function(){if(this._unset)return null;return new Date(this._date.valueOf())},setDate:function(date){if(!date)this.setValue(null);else this.setValue(date.valueOf())},getLocalDate:function(){if(this._unset)return null;var d=this._date;return new Date(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate(),d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds())},setLocalDate:function(localDate){if(!localDate)this.setValue(null);else this.setValue(Date.UTC(localDate.getFullYear(),localDate.getMonth(),localDate.getDate(),localDate.getHours(),localDate.getMinutes(),localDate.getSeconds(),localDate.getMilliseconds()))},place:function(){var offset=this.component?this.component.offset():this.$element.offset();this.widget.css({top:offset.top+this.height,left:offset.left})},notifyChange:function(){this.$element.trigger({type:"changeDate",date:this.getDate(),localDate:this.getLocalDate()})},update:function(newDate){var dateStr=newDate;if(!dateStr){if(this.isInput){dateStr=this.$element.val()}else{dateStr=this.$element.find("input").val()}if(!dateStr){var tmp=new Date;this._date=UTCDate(tmp.getFullYear(),tmp.getMonth(),tmp.getDate(),tmp.getHours(),tmp.getMinutes(),tmp.getSeconds(),tmp.getMilliseconds())}else{this._date=this.parseDate(dateStr)}}this.viewDate=UTCDate(this._date.getUTCFullYear(),this._date.getUTCMonth(),1,0,0,0,0);this.fillDate();this.fillTime()},fillDow:function(){var dowCnt=this.weekStart;var html="<tr>";while(dowCnt<this.weekStart+7){html+='<th class="dow">'+dates[this.language].daysMin[dowCnt++%7]+"</th>"}html+="</tr>";this.widget.find(".datepicker-days thead").append(html)},fillMonths:function(){var html="";var i=0;while(i<12){html+='<span class="month">'+dates[this.language].monthsShort[i++]+"</span>"}this.widget.find(".datepicker-months td").append(html)},fillDate:function(){var year=this.viewDate.getUTCFullYear();var month=this.viewDate.getUTCMonth();var currentDate=UTCDate(this._date.getUTCFullYear(),this._date.getUTCMonth(),this._date.getUTCDate(),0,0,0,0);this.widget.find(".datepicker-days th:eq(1)").text(dates[this.language].months[month]+" "+year);var prevMonth=UTCDate(year,month-1,28,0,0,0,0);var day=DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(),prevMonth.getUTCMonth());prevMonth.setUTCDate(day);prevMonth.setUTCDate(day-(prevMonth.getUTCDay()-this.weekStart+7)%7);var nextMonth=new Date(prevMonth.valueOf());nextMonth.setUTCDate(nextMonth.getUTCDate()+42);nextMonth=nextMonth.valueOf();var html=[];var clsName;while(prevMonth.valueOf()<nextMonth){if(prevMonth.getUTCDay()===this.weekStart){html.push("<tr>")}clsName="";if(prevMonth.getUTCFullYear()<year||prevMonth.getUTCFullYear()==year&&prevMonth.getUTCMonth()<month){clsName+=" old"}else if(prevMonth.getUTCFullYear()>year||prevMonth.getUTCFullYear()==year&&prevMonth.getUTCMonth()>month){clsName+=" new"}if(prevMonth.valueOf()===currentDate.valueOf()){clsName+=" active"}html.push('<td class="day'+clsName+'">'+prevMonth.getUTCDate()+"</td>");if(prevMonth.getUTCDay()===this.weekEnd){html.push("</tr>")}prevMonth.setUTCDate(prevMonth.getUTCDate()+1)}this.widget.find(".datepicker-days tbody").empty().append(html.join(""));var currentYear=this._date.getUTCFullYear();var months=this.widget.find(".datepicker-months").find("th:eq(1)").text(year).end().find("span").removeClass("active");if(currentYear===year){months.eq(this._date.getUTCMonth()).addClass("active")}html="";year=parseInt(year/10,10)*10;var yearCont=this.widget.find(".datepicker-years").find("th:eq(1)").text(year+"-"+(year+9)).end().find("td");year-=1;for(var i=-1;i<11;i++){html+='<span class="year'+(i===-1||i===10?" old":"")+(currentYear===year?" active":"")+'">'+year+"</span>";year+=1}yearCont.html(html)},fillHours:function(){var table=this.widget.find(".timepicker .timepicker-hours table");table.parent().hide();var html="";if(this.options.pick12HourFormat){var current=1;for(var i=0;i<3;i+=1){html+="<tr>";for(var j=0;j<4;j+=1){var c=current.toString();html+='<td class="hour">'+padLeft(c,2,"0")+"</td>";current++}html+="</tr>"}}else{var current=0;for(var i=0;i<6;i+=1){html+="<tr>";for(var j=0;j<4;j+=1){var c=current.toString();html+='<td class="hour">'+padLeft(c,2,"0")+"</td>";current++}html+="</tr>"}}table.html(html)},fillMinutes:function(){var table=this.widget.find(".timepicker .timepicker-minutes table");table.parent().hide();var html="";var current=0;for(var i=0;i<5;i++){html+="<tr>";for(var j=0;j<4;j+=1){var c=current.toString();html+='<td class="minute">'+padLeft(c,2,"0")+"</td>";current+=3}html+="</tr>"}table.html(html)},fillSeconds:function(){var table=this.widget.find(".timepicker .timepicker-seconds table");table.parent().hide();var html="";var current=0;for(var i=0;i<5;i++){html+="<tr>";for(var j=0;j<4;j+=1){var c=current.toString();html+='<td class="second">'+padLeft(c,2,"0")+"</td>";current+=3}html+="</tr>"}table.html(html)},fillTime:function(){if(!this._date)return;var timeComponents=this.widget.find(".timepicker span[data-time-component]");var table=timeComponents.closest("table");var is12HourFormat=this.options.pick12HourFormat;var hour=this._date.getUTCHours();var period="AM";if(is12HourFormat){if(hour>=12)period="PM";if(hour===0)hour=12;else if(hour!=12)hour=hour%12;this.widget.find(".timepicker [data-action=togglePeriod]").text(period)}hour=padLeft(hour.toString(),2,"0");var minute=padLeft(this._date.getUTCMinutes().toString(),2,"0");var second=padLeft(this._date.getUTCSeconds().toString(),2,"0");timeComponents.filter("[data-time-component=hours]").text(hour);timeComponents.filter("[data-time-component=minutes]").text(minute);timeComponents.filter("[data-time-component=seconds]").text(second)},click:function(e){e.stopPropagation();e.preventDefault();var target=$(e.target).closest("span, td, th");if(target.length===1){switch(target[0].nodeName.toLowerCase()){case"th":switch(target[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var vd=this.viewDate;var navFnc=DPGlobal.modes[this.viewMode].navFnc;var step=DPGlobal.modes[this.viewMode].navStep;if(target[0].className==="prev")step=step*-1;vd["set"+navFnc](vd["get"+navFnc]()+step);this.fillDate();this.set();break}break;case"span":if(target.is(".month")){var month=target.parent().find("span").index(target);this.viewDate.setUTCMonth(month)}else{var year=parseInt(target.text(),10)||0;this.viewDate.setUTCFullYear(year)}if(this.viewMode!==0){this._date=UTCDate(this.viewDate.getUTCFullYear(),this.viewDate.getUTCMonth(),this.viewDate.getUTCDate(),this._date.getUTCHours(),this._date.getUTCMinutes(),this._date.getUTCSeconds(),this._date.getUTCMilliseconds());this.notifyChange()}this.showMode(-1);this.fillDate();this.set();break;case"td":if(target.is(".day")){var day=parseInt(target.text(),10)||1;var month=this.viewDate.getUTCMonth();var year=this.viewDate.getUTCFullYear();if(target.is(".old")){if(month===0){month=11;year-=1}else{month-=1}}else if(target.is(".new")){if(month==11){month=0;year+=1}else{month+=1}}this._date=UTCDate(year,month,day,this._date.getUTCHours(),this._date.getUTCMinutes(),this._date.getUTCSeconds(),this._date.getUTCMilliseconds());this.viewDate=UTCDate(year,month,Math.min(28,day),0,0,0,0);this.fillDate();this.set();this.notifyChange()}break}}},actions:{incrementHours:function(e){this._date.setUTCHours(this._date.getUTCHours()+1)},incrementMinutes:function(e){this._date.setUTCMinutes(this._date.getUTCMinutes()+1)},incrementSeconds:function(e){this._date.setUTCSeconds(this._date.getUTCSeconds()+1)},decrementHours:function(e){this._date.setUTCHours(this._date.getUTCHours()-1)},decrementMinutes:function(e){this._date.setUTCMinutes(this._date.getUTCMinutes()-1)},decrementSeconds:function(e){this._date.setUTCSeconds(this._date.getUTCSeconds()-1)},togglePeriod:function(e){var hour=this._date.getUTCHours();if(hour>=12)hour-=12;else hour+=12;this._date.setUTCHours(hour)},showPicker:function(){this.widget.find(".timepicker > div:not(.timepicker-picker)").hide();this.widget.find(".timepicker .timepicker-picker").show()},showHours:function(){this.widget.find(".timepicker .timepicker-picker").hide();this.widget.find(".timepicker .timepicker-hours").show()},showMinutes:function(){this.widget.find(".timepicker .timepicker-picker").hide();this.widget.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){this.widget.find(".timepicker .timepicker-picker").hide();this.widget.find(".timepicker .timepicker-seconds").show()},selectHour:function(e){var tgt=$(e.target);var value=parseInt(tgt.text(),10);if(this.options.pick12HourFormat){var current=this._date.getUTCHours();if(current>=12){if(value!=12)value=(value+12)%24}else{if(value===12)value=0;else value=value%12}}this._date.setUTCHours(value);this.actions.showPicker.call(this)},selectMinute:function(e){var tgt=$(e.target);var value=parseInt(tgt.text(),10);this._date.setUTCMinutes(value);this.actions.showPicker.call(this)},selectSecond:function(e){var tgt=$(e.target);var value=parseInt(tgt.text(),10);this._date.setUTCSeconds(value);this.actions.showPicker.call(this)}},doAction:function(e){e.stopPropagation();e.preventDefault();if(!this._date)this._date=UTCDate(1970,0,0,0,0,0,0);var action=$(e.currentTarget).data("action");var rv=this.actions[action].apply(this,arguments);this.set();this.fillTime();this.notifyChange();return rv},stopEvent:function(e){e.stopPropagation();e.preventDefault()},keydown:function(e){var self=this,k=e.which,input=$(e.target);if(k==8||k==46){setTimeout(function(){self._resetMaskPos(input)})}},keypress:function(e){var k=e.which;if(k==8||k==46){return}var input=$(e.target);var c=String.fromCharCode(k);var val=input.val()||"";val+=c;var mask=this._mask[this._maskPos];if(!mask){return false}if(mask.end!=val.length){return}if(!mask.pattern.test(val.slice(mask.start))){val=val.slice(0,val.length-1);while((mask=this._mask[this._maskPos])&&mask.character){val+=mask.character;this._maskPos++}val+=c;if(mask.end!=val.length){input.val(val);return false}else{if(!mask.pattern.test(val.slice(mask.start))){input.val(val.slice(0,mask.start));return false}else{input.val(val);this._maskPos++;return false}}}else{this._maskPos++}},change:function(e){var input=$(e.target);var val=input.val();if(this._formatPattern.test(val)){this.update();this.setValue(this._date.getTime());this.notifyChange();this.set()}else if(val&&val.trim()){this.setValue(this._date.getTime());if(this._date)this.set();else input.val("")}else{if(this._date){this.setValue(null);this.notifyChange()}}this._resetMaskPos(input)},showMode:function(dir){if(dir){this.viewMode=Math.max(this.minViewMode,Math.min(2,this.viewMode+dir))}this.widget.find(".datepicker > div").hide().filter(".datepicker-"+DPGlobal.modes[this.viewMode].clsName).show()},destroy:function(){this._detachDatePickerEvents();this._detachDatePickerGlobalEvents();this.widget.remove();this.$element.removeData("datetimepicker");this.component.removeData("datetimepicker")},formatDate:function(d){return this.format.replace(formatReplacer,function(match){var methodName,property,rv,len=match.length;if(match==="ms")len=1;property=dateFormatComponents[match].property;if(property==="Hours12"){rv=d.getUTCHours();if(rv===0)rv=12;else if(rv!==12)rv=rv%12}else if(property==="Period12"){if(d.getUTCHours()>=12)return"PM";else return"AM"}else{methodName="get"+property;rv=d[methodName]()}if(methodName==="getUTCMonth")rv=rv+1;if(methodName==="getUTCYear")rv=rv+1900-2e3;return padLeft(rv.toString(),len,"0")})},parseDate:function(str){var match,i,property,methodName,value,parsed={};if(!(match=this._formatPattern.exec(str)))return null;for(i=1;i<match.length;i++){property=this._propertiesByIndex[i];if(!property)continue;value=match[i];if(/^\d+$/.test(value))value=parseInt(value,10);parsed[property]=value}return this._finishParsingDate(parsed)},_resetMaskPos:function(input){var val=input.val();for(var i=0;i<this._mask.length;i++){if(this._mask[i].end>val.length){this._maskPos=i;break}else if(this._mask[i].end===val.length){this._maskPos=i+1;break}}},_finishParsingDate:function(parsed){var year,month,date,hours,minutes,seconds,milliseconds;year=parsed.UTCFullYear;if(parsed.UTCYear)year=2e3+parsed.UTCYear;if(!year)year=1970;if(parsed.UTCMonth)month=parsed.UTCMonth-1;else month=0;date=parsed.UTCDate||1;hours=parsed.UTCHours||0;minutes=parsed.UTCMinutes||0;seconds=parsed.UTCSeconds||0;milliseconds=parsed.UTCMilliseconds||0;if(parsed.Hours12){hours=parsed.Hours12}if(parsed.Period12){if(/pm/i.test(parsed.Period12)){if(hours!=12)hours=(hours+12)%24}else{hours=hours%12}}return UTCDate(year,month,date,hours,minutes,seconds,milliseconds)},_compileFormat:function(){var match,component,components=[],mask=[],str=this.format,propertiesByIndex={},i=0,pos=0;while(match=formatComponent.exec(str)){component=match[0];if(component in dateFormatComponents){i++;propertiesByIndex[i]=dateFormatComponents[component].property;components.push("\\s*"+dateFormatComponents[component].getPattern(this)+"\\s*");mask.push({pattern:new RegExp(dateFormatComponents[component].getPattern(this)),property:dateFormatComponents[component].property,start:pos,end:pos+=component.length})}else{components.push(escapeRegExp(component));mask.push({pattern:new RegExp(escapeRegExp(component)),character:component,start:pos,end:++pos})}str=str.slice(component.length)}this._mask=mask;this._maskPos=0;this._formatPattern=new RegExp("^\\s*"+components.join("")+"\\s*$");this._propertiesByIndex=propertiesByIndex},_attachDatePickerEvents:function(){var self=this;this.widget.on("click",".datepicker *",$.proxy(this.click,this));this.widget.on("click","[data-action]",$.proxy(this.doAction,this));this.widget.on("mousedown",$.proxy(this.stopEvent,this));if(this.pickDate&&this.pickTime){this.widget.on("click.togglePicker",".accordion-toggle",function(e){e.stopPropagation();var $this=$(this);var $parent=$this.closest("ul");var expanded=$parent.find(".collapse.in");var closed=$parent.find(".collapse:not(.in)");if(expanded&&expanded.length){var collapseData=expanded.data("collapse");if(collapseData&&collapseData.transitioning)return;expanded.collapse("hide");closed.collapse("show");$this.find("i").toggleClass(self.timeIcon+" "+self.dateIcon);self.$element.find(".add-on i").toggleClass(self.timeIcon+" "+self.dateIcon)}})}if(this.isInput){this.$element.on({focus:$.proxy(this.show,this),change:$.proxy(this.change,this)});if(this.options.maskInput){this.$element.on({keydown:$.proxy(this.keydown,this),keypress:$.proxy(this.keypress,this)})}}else{this.$element.on({change:$.proxy(this.change,this)},"input");if(this.options.maskInput){this.$element.on({keydown:$.proxy(this.keydown,this),keypress:$.proxy(this.keypress,this)},"input")}if(this.component){this.component.on("click",$.proxy(this.show,this))}else{this.$element.on("click",$.proxy(this.show,this))}}},_attachDatePickerGlobalEvents:function(){$(window).on("resize.datetimepicker"+this.id,$.proxy(this.place,this));if(!this.isInput){$(document).on("mousedown.datetimepicker"+this.id,$.proxy(this.hide,this))}},_detachDatePickerEvents:function(){this.widget.off("click",".datepicker *",this.click);this.widget.off("click","[data-action]");this.widget.off("mousedown",this.stopEvent);if(this.pickDate&&this.pickTime){this.widget.off("click.togglePicker")}if(this.isInput){this.$element.off({focus:this.show,change:this.change});if(this.options.maskInput){this.$element.off({keydown:this.keydown,keypress:this.keypress})}}else{this.$element.off({change:this.change},"input");if(this.options.maskInput){this.$element.off({keydown:this.keydown,keypress:this.keypress},"input")}if(this.component){this.component.off("click",this.show)}else{this.$element.off("click",this.show)}}},_detachDatePickerGlobalEvents:function(){$(window).off("resize.datetimepicker"+this.id);if(!this.isInput){$(document).off("mousedown.datetimepicker"+this.id)}}};$.fn.datetimepicker=function(option,val){return this.each(function(){var $this=$(this),data=$this.data("datetimepicker"),options=typeof option==="object"&&option;if(!data){$this.data("datetimepicker",data=new DateTimePicker(this,$.extend({},$.fn.datetimepicker.defaults,options)))}if(typeof option==="string")data[option](val)})};$.fn.datetimepicker.defaults={maskInput:true,pickDate:true,pickTime:true,pick12HourFormat:false};$.fn.datetimepicker.Constructor=DateTimePicker;var dpgId=0;var dates=$.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}};var dateFormatComponents={dd:{property:"UTCDate",getPattern:function(){return"(0?[1-9]|[1-2][0-9]|3[0-1])\\b"}},MM:{property:"UTCMonth",getPattern:function(){return"(0?[1-9]|1[0-2])\\b"}},yy:{property:"UTCYear",getPattern:function(){return"(\\d{2})\\b"}},yyyy:{property:"UTCFullYear",getPattern:function(){return"(\\d{4})\\b"}},hh:{property:"UTCHours",getPattern:function(){return"(0?[0-9]|1[0-9]|2[0-3])\\b"}},mm:{property:"UTCMinutes",getPattern:function(){return"(0?[0-9]|[1-5][0-9])\\b"}},ss:{property:"UTCSeconds",getPattern:function(){return"(0?[0-9]|[1-5][0-9])\\b"}},ms:{property:"UTCMilliseconds",getPattern:function(){return"([0-9]{1,3})\\b"}},HH:{property:"Hours12",getPattern:function(){return"(0?[1-9]|1[0-2])\\b"}},PP:{property:"Period12",getPattern:function(){return"(AM|PM|am|pm|Am|aM|Pm|pM)\\b"}}};var keys=[];for(var k in dateFormatComponents)keys.push(k);keys[keys.length-1]+="\\b";keys.push(".");var formatComponent=new RegExp(keys.join("\\b|"));keys.pop();var formatReplacer=new RegExp(keys.join("\\b|"),"g");function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function padLeft(s,l,c){if(l<s.length)return s;else return Array(l-s.length+1).join(c||" ")+s}function getTemplate(timeIcon,pickDate,pickTime,is12Hours){if(pickDate&&pickTime){return'<div class="bootstrap-datetimepicker-widget dropdown-menu">'+"<ul>"+'<li class="collapse in">'+'<div class="datepicker">'+DPGlobal.template+"</div>"+"</li>"+'<li class="picker-switch"><a class="accordion-toggle"><i class="'+timeIcon+'"></i></a></li>'+'<li class="collapse">'+'<div class="timepicker">'+TPGlobal.getTemplate(is12Hours)+"</div>"+"</li>"+"</ul>"+"</div>"}else if(pickTime){return'<div class="bootstrap-datetimepicker-widget dropdown-menu">'+'<div class="timepicker">'+TPGlobal.getTemplate(is12Hours)+"</div>"+"</div>"}else{return'<div class="bootstrap-datetimepicker-widget dropdown-menu">'+'<div class="datepicker">'+DPGlobal.template+"</div>"+"</div>"}}function UTCDate(){return new Date(Date.UTC.apply(Date,arguments))}var DPGlobal={modes:[{clsName:"days",navFnc:"UTCMonth",navStep:1},{clsName:"months",navFnc:"UTCFullYear",navStep:1},{clsName:"years",navFnc:"UTCFullYear",navStep:10}],isLeapYear:function(year){return year%4===0&&year%100!==0||year%400===0},getDaysInMonth:function(year,month){return[31,DPGlobal.isLeapYear(year)?29:28,31,30,31,30,31,31,30,31,30,31][month]},headTemplate:"<thead>"+"<tr>"+'<th class="prev">&lsaquo;</th>'+'<th colspan="5" class="switch"></th>'+'<th class="next">&rsaquo;</th>'+"</tr>"+"</thead>",contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>'};DPGlobal.template='<div class="datepicker-days">'+'<table class="table-condensed">'+DPGlobal.headTemplate+"<tbody></tbody>"+"</table>"+"</div>"+'<div class="datepicker-months">'+'<table class="table-condensed">'+DPGlobal.headTemplate+DPGlobal.contTemplate+"</table>"+"</div>"+'<div class="datepicker-years">'+'<table class="table-condensed">'+DPGlobal.headTemplate+DPGlobal.contTemplate+"</table>"+"</div>";var TPGlobal={hourTemplate:'<span data-action="showHours" data-time-component="hours" class="timepicker-hour"></span>',minuteTemplate:'<span data-action="showMinutes" data-time-component="minutes" class="timepicker-minute"></span>',secondTemplate:'<span data-action="showSeconds" data-time-component="seconds" class="timepicker-second"></span>'};TPGlobal.getTemplate=function(is12Hours){return'<div class="timepicker-picker">'+'<table class="table-condensed"'+(is12Hours?' data-hour-format="12"':"")+">"+"<tr>"+'<td><a href="#" class="btn" data-action="incrementHours"><i class="icon-chevron-up"></i></a></td>'+'<td class="separator"></td>'+'<td><a href="#" class="btn" data-action="incrementMinutes"><i class="icon-chevron-up"></i></a></td>'+'<td class="separator"></td>'+'<td><a href="#" class="btn" data-action="incrementSeconds"><i class="icon-chevron-up"></i></a></td>'+(is12Hours?'<td class="separator"></td>':"")+"</tr>"+"<tr>"+"<td>"+TPGlobal.hourTemplate+"</td> "+'<td class="separator">:</td>'+"<td>"+TPGlobal.minuteTemplate+"</td> "+'<td class="separator">:</td>'+"<td>"+TPGlobal.secondTemplate+"</td>"+(is12Hours?'<td class="separator"></td>'+"<td>"+'<button type="button" class="btn btn-primary" data-action="togglePeriod"></button>'+"</td>":"")+"</tr>"+"<tr>"+'<td><a href="#" class="btn" data-action="decrementHours"><i class="icon-chevron-down"></i></a></td>'+'<td class="separator"></td>'+'<td><a href="#" class="btn" data-action="decrementMinutes"><i class="icon-chevron-down"></i></a></td>'+'<td class="separator"></td>'+'<td><a href="#" class="btn" data-action="decrementSeconds"><i class="icon-chevron-down"></i></a></td>'+(is12Hours?'<td class="separator"></td>':"")+"</tr>"+"</table>"+"</div>"+'<div class="timepicker-hours" data-action="selectHour">'+'<table class="table-condensed">'+"</table>"+"</div>"+'<div class="timepicker-minutes" data-action="selectMinute">'+'<table class="table-condensed">'+"</table>"+"</div>"+'<div class="timepicker-seconds" data-action="selectSecond">'+'<table class="table-condensed">'+"</table>"+"</div>"}})(window.jQuery);
@@ -0,0 +1,33 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require jquery-ui
4
+ //= require bootstrap
5
+ //= require wice_grid
6
+ //= require bootstrap-datetimepicker.min
7
+
8
+ function toggleSubMenu() {
9
+ $('.child').hide();
10
+ $('.parent').children().click(function() {
11
+ if ($(this).hasClass('toggle')) {
12
+ $(this).removeClass('toggle');
13
+ } else {
14
+ $(this).addClass('toggle');
15
+ }
16
+ $(this).children('.child').slideToggle('slow');
17
+ }).children('.child').click(function (event) {
18
+ event.stopPropagation();
19
+ });
20
+ }
21
+
22
+ $(document).ready(function() {
23
+ $("a[rel=popover]").popover();
24
+ $(".tooltip").tooltip();
25
+ $("a[rel=tooltip]").tooltip();
26
+ $('.dropdown-toggle').dropdown();
27
+
28
+ $('.datetimepicker').datetimepicker({
29
+ format: 'yyyy-MM-dd hh:mm:ss'
30
+ });
31
+
32
+ toggleSubMenu();
33
+ });
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Datepicker for Bootstrap
3
+ *
4
+ * Copyright 2012 Stefan Petre
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-datetimepicker-widget{top:0;left:0;width:250px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.bootstrap-datetimepicker-widget:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute;top:-7px;left:6px}.bootstrap-datetimepicker-widget:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.bootstrap-datetimepicker-widget>ul{list-style-type:none;margin:0}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{font-weight:bold;font-size:1.2em}.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator{width:4px;padding:0;margin:0}.bootstrap-datetimepicker-widget .datepicker>div{display:none}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget td,.bootstrap-datetimepicker-widget th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.bootstrap-datetimepicker-widget td.day:hover,.bootstrap-datetimepicker-widget td.hour:hover,.bootstrap-datetimepicker-widget td.minute:hover,.bootstrap-datetimepicker-widget td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget td.old,.bootstrap-datetimepicker-widget td.new{color:#999}.bootstrap-datetimepicker-widget td.active,.bootstrap-datetimepicker-widget td.active:hover{color:#fff;background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#04c;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget td.active:hover,.bootstrap-datetimepicker-widget td.active:hover:hover,.bootstrap-datetimepicker-widget td.active:active,.bootstrap-datetimepicker-widget td.active:hover:active,.bootstrap-datetimepicker-widget td.active.active,.bootstrap-datetimepicker-widget td.active:hover.active,.bootstrap-datetimepicker-widget td.active.disabled,.bootstrap-datetimepicker-widget td.active:hover.disabled,.bootstrap-datetimepicker-widget td.active[disabled],.bootstrap-datetimepicker-widget td.active:hover[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.bootstrap-datetimepicker-widget td.active:active,.bootstrap-datetimepicker-widget td.active:hover:active,.bootstrap-datetimepicker-widget td.active.active,.bootstrap-datetimepicker-widget td.active:hover.active{background-color:#039 \9}.bootstrap-datetimepicker-widget td span{display:block;width:47px;height:54px;line-height:54px;float:left;margin:2px;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.bootstrap-datetimepicker-widget td span:hover{background:#eee}.bootstrap-datetimepicker-widget td span.active{color:#fff;background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#04c;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget td span.active:hover,.bootstrap-datetimepicker-widget td span.active:active,.bootstrap-datetimepicker-widget td span.active.active,.bootstrap-datetimepicker-widget td span.active.disabled,.bootstrap-datetimepicker-widget td span.active[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.bootstrap-datetimepicker-widget td span.active:active,.bootstrap-datetimepicker-widget td span.active.active{background-color:#039 \9}.bootstrap-datetimepicker-widget td span.old{color:#999}.bootstrap-datetimepicker-widget th.switch{width:145px}.bootstrap-datetimepicker-widget th.next,.bootstrap-datetimepicker-widget th.prev{font-size:21px}.bootstrap-datetimepicker-widget thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget thead tr:first-child th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i{display:block;cursor:pointer;width:16px;height:16px}
@@ -0,0 +1,125 @@
1
+ // Links
2
+
3
+ $linkColor: #555;
4
+
5
+ // Colors
6
+
7
+ $blue: #56bed6;
8
+ $green: #6aa06a;
9
+
10
+ // Dropdowns
11
+
12
+ $dropdownBackground: #E3E4E5;
13
+
14
+ // Table
15
+
16
+ $tableBorder: #ccc;
17
+ $tableBackgroundAccent: #e6e6e6;
18
+ $tableBackgroundHover: #ddd;
19
+
20
+ // Typography
21
+
22
+ @import 'bootstrap';
23
+ @import 'bootstrap/reset';
24
+ @import 'bootstrap/responsive';
25
+
26
+ @import 'font-awesome';
27
+
28
+ .caret {
29
+ border-top: 4px solid $linkColor;
30
+ }
31
+
32
+ .table {
33
+ background: #f2f2f2;
34
+ th {
35
+ @include gradient-vertical(#f2f2f2, #ccc);
36
+ }
37
+ tfoot {
38
+ background: #ddd;
39
+ }
40
+ }
41
+
42
+ .table td {
43
+ vertical-align: middle;
44
+ }
45
+
46
+ .table th, .table tfoot td {
47
+ color: #777;
48
+ }
49
+
50
+ .table-bordered {
51
+ @include border-radius(0);
52
+ border-color: #ccc;
53
+ }
54
+
55
+ .table-bordered thead:first-child tr:first-child > th:first-child,
56
+ .table-bordered tbody:first-child tr:first-child > td:first-child {
57
+ @include border-radius(0);
58
+ }
59
+
60
+ .container-fluid,
61
+ .row-fluid {
62
+ padding: 0px;
63
+ }
64
+
65
+ .nav-pills .active {
66
+ text-shadow: rgba(0, 0, 0, 0.75) 0px 1px 0px;
67
+ }
68
+
69
+ .nav-pills .active a, .nav-pills .active a:hover {
70
+ background: #3B3D43;
71
+ }
72
+
73
+ .form-actions {
74
+ background: none;
75
+ border-top: 1px solid #ccc;
76
+ margin: 0px;
77
+ padding-bottom: 0px;
78
+ }
79
+
80
+ .pagination ul > li > a,
81
+ .pagination ul > li > span {
82
+ background-color: transparent;
83
+ border: 1px solid #CACBCC;
84
+ border-left-width: 0;
85
+ }
86
+
87
+ .pagination ul > .active > a, .pagination ul > .active > span {
88
+ @include buttonBackground($btnInverseBackground, $btnInverseBackgroundHighlight);
89
+ }
90
+
91
+ .pagination ul > li > a:hover,
92
+ .pagination ul > .active > a,
93
+ .pagination ul > .active > span {
94
+ @include buttonBackground($btnInverseBackground, $btnInverseBackgroundHighlight);
95
+ }
96
+
97
+ .tooltip {
98
+ text-shadow: none;
99
+ }
100
+
101
+ .nav > li > a:hover {
102
+ background: none;
103
+ }
104
+
105
+ .nav li.dropdown .caret,
106
+ .nav li.dropdown.active .caret,
107
+ .nav li.dropdown a:hover .caret {
108
+ border-top: 4px solid $linkColor;
109
+ border-bottom: none;
110
+ }
111
+
112
+ .nav li.dropdown.open .caret,
113
+ .nav li.dropdown.open.active .caret,
114
+ .nav li.dropdown.open a:hover .caret {
115
+ border-bottom: 4px solid $linkColor;
116
+ border-top: none;
117
+ }
118
+
119
+ .dropdown-menu {
120
+ @include border-radius(0);
121
+ }
122
+
123
+ .dropdown-menu li:hover > a {
124
+ text-shadow: none;
125
+ }
@@ -0,0 +1,269 @@
1
+ /*
2
+ *= require bootstrap-overwrite
3
+ *= require bootstrap-datetimepicker.min
4
+ *= require wice_grid
5
+ *= require_tree ./jquery-ui
6
+ *= require_self
7
+ */
8
+
9
+ @import 'bootstrap/mixins';
10
+
11
+ a {
12
+ text-decoration: none;
13
+ }
14
+
15
+ a:hover {
16
+ color: #222;
17
+ background: none;
18
+ text-decoration: none;
19
+ }
20
+
21
+ body {
22
+ background: #3B3D43;
23
+ height: 100%;
24
+ width: 100%;
25
+ position: absolute;
26
+ color: #444;
27
+ text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.75);
28
+
29
+ #page {
30
+ width: 100%; height: inherit;
31
+ margin: 0px; padding: 0px;
32
+
33
+ > .row-fluid {
34
+ height: inherit;
35
+ }
36
+
37
+ #sidebar {
38
+ background: #3B3D43;
39
+ width: 16%; height: inherit;
40
+
41
+ #logo-bg {
42
+ background: #3B3D43;
43
+ height: 50px; width: 100%;
44
+ @include box-shadow(rgba(0, 0, 0, 0.3) 0px 2px 3px);
45
+ z-index: 100;
46
+ position: relative;
47
+
48
+ #logo {
49
+ background: image-url('app_logo.png') no-repeat;
50
+ height: 50px; width: 200px;
51
+ }
52
+ }
53
+
54
+ #navigation {
55
+ position: relative;
56
+ width: 100%;
57
+ text-shadow: 0px 1px 0px rgba(0, 0, 0, 1);
58
+ z-index: 1;
59
+
60
+ &.accordion {
61
+ padding: 0px; margin: 0px;
62
+
63
+ a {
64
+ color: #ccc;
65
+ font-weight: bold;
66
+ font-size: 16px;
67
+ padding: 0px; margin: 0px;
68
+ }
69
+
70
+ .accordion-group {
71
+ border: none;
72
+ padding: 0px; margin: 0px;
73
+
74
+ .accordion-toggle {
75
+ height: 50px;
76
+ line-height: 50px;
77
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
78
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
79
+ padding-left: 20px;
80
+
81
+ .caret {
82
+ border-top: none;
83
+ border-bottom: 6px solid #ccc;
84
+ border-left: 6px solid transparent;
85
+ border-right: 6px solid transparent;
86
+ margin-top: 20px;
87
+ }
88
+
89
+ &.collapsed {
90
+ .caret {
91
+ border-bottom: none;
92
+ border-top: 6px solid #ccc;
93
+ }
94
+ }
95
+
96
+ &.active {
97
+ background: #66334d;
98
+ &:hover {
99
+ background: #66334d;
100
+ }
101
+ }
102
+
103
+ &:hover {
104
+ background: #484B51;
105
+ }
106
+ }
107
+
108
+ .accordion-inner {
109
+ border: none;
110
+ padding: 0px; margin: 0px;
111
+
112
+ ul {
113
+ padding: 0px; margin: 0px;
114
+
115
+ li {
116
+ padding: 0px; margin: 0px;
117
+
118
+ a {
119
+ display: block;
120
+ border-top: none;
121
+ height: 50px;
122
+ padding: 0px;
123
+ line-height: 50px;
124
+ padding-left: 30px;
125
+
126
+ &.active {
127
+ background: #4c283d;
128
+ &:hover {
129
+ background: #4c283d;
130
+ }
131
+ }
132
+
133
+ &:hover {
134
+ background: #484B51;
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
142
+
143
+ }
144
+ }
145
+
146
+ #main {
147
+ width: 84%;
148
+ margin: 0px;
149
+ background: #e3e4e5;
150
+ min-height: 100%;
151
+
152
+ #header {
153
+ position: relative;
154
+ z-index: 1000;
155
+ @include box-shadow(rgba(0, 0, 0, 0.3) 0px 2px 3px);
156
+ height: 50px;
157
+ .breadcrumbs {
158
+ background: none;
159
+ padding: 0px; margin: 0px;
160
+
161
+ li {
162
+ height: 50px;
163
+ display: table-cell;
164
+ padding: 0px 25px 0px 10px;
165
+ background: #D7D9DA image-url('breadcrumb_bg.png') no-repeat center right;
166
+ vertical-align: middle;
167
+ color: #56585D;
168
+ font-weight: bold;
169
+ font-size: 18px;
170
+
171
+ a {
172
+ color: #56585D;
173
+ font-weight: bold;
174
+ text-decoration: none;
175
+ }
176
+ }
177
+
178
+ li:last-child {
179
+ background: none;
180
+ background: image-url('breadcrumb_bg.png') no-repeat center right;
181
+ }
182
+ }
183
+
184
+ .user-section {
185
+ padding: 15px 5px;
186
+ }
187
+ }
188
+
189
+ #page-toolbar {
190
+ background: #ce97ae;
191
+ position: relative;
192
+ z-index: 1;
193
+ padding: 10px;
194
+ height: 30px;
195
+
196
+ a {
197
+ margin: 0px 5px;
198
+ }
199
+
200
+ .btn-toolbar {
201
+ padding: 0px; margin: 0px;
202
+ }
203
+
204
+ #left-page-toolbar {
205
+ h3 {
206
+ font-size: 21px;
207
+ line-height: 30px;
208
+ padding: 0px; margin: 0px;
209
+ }
210
+ }
211
+
212
+ #center-page-toolbar {
213
+ vertical-align: middle;
214
+ text-align: center;
215
+ line-height: 30px;
216
+ .progress {
217
+ margin-top: 5px;
218
+ .bar {
219
+ background-color: #c45c85;
220
+ > .label {
221
+ background-color: #c45c85;
222
+ position: relative;
223
+ top: -5px;
224
+ }
225
+ }
226
+ }
227
+ }
228
+ }
229
+
230
+ #content {
231
+ padding: 20px;
232
+ }
233
+ }
234
+ }
235
+ }
236
+
237
+ article {
238
+ header {
239
+ padding: 5px 10px;
240
+ background: #D6D7D8;
241
+ margin: 0px 0px 10px 0px;
242
+ }
243
+ }
244
+
245
+ form {
246
+ @include border-radius(5px);
247
+ background: #D6D7D8;
248
+ padding: 20px;
249
+ @include box-shadow(rgba(0, 0, 0, 0.15) 0px 0px 5px inset);
250
+ }
251
+
252
+ .bold {
253
+ font-weight: bold;
254
+ }
255
+
256
+ .grid {
257
+ header {
258
+ margin: 0px;
259
+ border: 1px solid #ccc;
260
+ border-bottom: 0;
261
+ background: #ddd;
262
+
263
+ h4 {
264
+ font-size: 18px;
265
+ font-weight: bold;
266
+ background: #ddd;
267
+ }
268
+ }
269
+ }