├── .idea ├── copyright │ └── profiles_settings.xml ├── flyui.iml ├── modules.xml ├── vcs.xml └── workspace.xml ├── README.md ├── base ├── fy-alert.js ├── fy-base.js ├── fy-contextmenu.js ├── fy-datepicker.js ├── fy-dialog.js ├── fy-modal-amap.js ├── fy-modal-grid.js ├── fy-modal-input.js ├── fy-modal-list.js ├── fy-modal-pwdreset.js ├── fy-modal-qrcode.js ├── fy-modal-table.js ├── fy-modal.js ├── fy-pager.js ├── fy-preview.js ├── fy-slide.js ├── fy-toastr-tip.js ├── fy-tree.js ├── ms-pager.js └── ms-qrcode.js ├── component ├── fy-datagrid.js ├── fy-filter.js ├── fy-form.js └── fy-report.js ├── css ├── animate.css ├── base │ ├── fy-datagrid.css │ ├── fy-datepicker.css │ ├── fy-modal-list.css │ ├── fy-modal.css │ ├── fy-pager.css │ ├── fy-select.css │ ├── fy-slide.css │ ├── fy-toastr.css │ ├── ms-pager.css │ └── sweetalert.css ├── bootstrap.css ├── bootstrap.css.map ├── bootstrap.min.css ├── bootstrap.min.css.map ├── font-awesome │ ├── css │ │ ├── font-awesome.css │ │ └── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── less │ │ ├── animated.less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── stacked.less │ │ └── variables.less │ └── scss │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss ├── plugins │ ├── awesome-bootstrap-checkbox │ │ ├── ._awesome-bootstrap-checkbox.css │ │ └── awesome-bootstrap-checkbox.css │ ├── blueimp │ │ ├── css │ │ │ ├── blueimp-gallery-indicator.css │ │ │ ├── blueimp-gallery-video.css │ │ │ ├── blueimp-gallery.css │ │ │ ├── blueimp-gallery.min.css │ │ │ └── demo.css │ │ └── img │ │ │ ├── error.png │ │ │ ├── error.svg │ │ │ ├── loading.gif │ │ │ ├── play-pause.png │ │ │ ├── play-pause.svg │ │ │ ├── video-play.png │ │ │ └── video-play.svg │ ├── bootstrap-markdown │ │ └── bootstrap-markdown.min.css │ ├── bootstrap-rtl │ │ ├── bootstrap-rtl.css │ │ ├── bootstrap-rtl.css.map │ │ └── bootstrap-rtl.min.css │ ├── bootstrapTour │ │ └── bootstrap-tour.min.css │ ├── c3 │ │ └── c3.min.css │ ├── chartist │ │ └── chartist.min.css │ ├── chosen │ │ ├── chosen-sprite.png │ │ ├── chosen-sprite@2x.png │ │ └── chosen.css │ ├── clockpicker │ │ ├── ._clockpicker.css │ │ └── clockpicker.css │ ├── codemirror │ │ ├── ambiance.css │ │ └── codemirror.css │ ├── colorpicker │ │ └── bootstrap-colorpicker.min.css │ ├── cropper │ │ └── cropper.min.css │ ├── dataTables │ │ ├── dataTables.bootstrap.css │ │ ├── dataTables.responsive.css │ │ ├── dataTables.tableTools.min.css │ │ └── datatables.min.css │ ├── datapicker │ │ └── datepicker3.css │ ├── daterangepicker │ │ ├── ._daterangepicker-bs3.css │ │ └── daterangepicker-bs3.css │ ├── dropzone │ │ ├── basic.css │ │ └── dropzone.css │ ├── footable │ │ ├── ._fonts │ │ ├── ._footable.core.css │ │ ├── fonts │ │ │ ├── ._footable.eot │ │ │ ├── ._footable.svg │ │ │ ├── ._footable.ttf │ │ │ ├── ._footable.woff │ │ │ ├── footable.eot │ │ │ ├── footable.svg │ │ │ ├── footable.ttf │ │ │ └── footable.woff │ │ └── footable.core.css │ ├── fullcalendar │ │ ├── fullcalendar.css │ │ └── fullcalendar.print.css │ ├── iCheck │ │ ├── custom.css │ │ ├── green.png │ │ └── green@2x.png │ ├── images │ │ ├── bootstrap-colorpicker │ │ │ ├── alpha-horizontal.png │ │ │ ├── alpha.png │ │ │ ├── hue-horizontal.png │ │ │ ├── hue.png │ │ │ └── saturation.png │ │ ├── sort.png │ │ ├── sort_asc.png │ │ ├── sort_desc.png │ │ ├── sprite-skin-flat.png │ │ ├── sprite-skin-flat2.png │ │ ├── sprite-skin-nice.png │ │ ├── sprite-skin-simple.png │ │ ├── spritemap.png │ │ └── spritemap@2x.png │ ├── ionRangeSlider │ │ ├── ion.rangeSlider.css │ │ ├── ion.rangeSlider.skinFlat.css │ │ ├── ion.rangeSlider.skinNice.css │ │ └── ion.rangeSlider.skinSimple.css │ ├── jQueryUI │ │ ├── images │ │ │ ├── animated-overlay.gif │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_888888_256x240.png │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ ├── jquery-ui-1.10.4.custom.min.css │ │ └── jquery-ui.css │ ├── jasny │ │ └── jasny-bootstrap.min.css │ ├── jqGrid │ │ └── ui.jqgrid.css │ ├── jsTree │ │ ├── 32px.png │ │ ├── 39px.png │ │ ├── 40px.png │ │ ├── style.css │ │ ├── style.min.css │ │ └── throbber.gif │ ├── ladda │ │ ├── ladda-themeless.min.css │ │ └── ladda.min.css │ ├── morris │ │ └── morris-0.4.3.min.css │ ├── nouslider │ │ └── jquery.nouislider.css │ ├── select2 │ │ └── select2.min.css │ ├── slick │ │ ├── ajax-loader.gif │ │ ├── fonts │ │ │ ├── slick.eot │ │ │ ├── slick.svg │ │ │ ├── slick.ttf │ │ │ └── slick.woff │ │ ├── slick-theme.css │ │ └── slick.css │ ├── social-buttons │ │ └── social-buttons.css │ ├── steps │ │ └── jquery.steps.css │ ├── summernote │ │ ├── summernote-bs3.css │ │ └── summernote.css │ ├── sweetalert │ │ ├── ._sweetalert.css │ │ └── sweetalert.css │ ├── switchery │ │ └── switchery.css │ ├── toastr │ │ └── toastr.min.css │ └── touchspin │ │ └── jquery.bootstrap-touchspin.min.css └── style.min.css ├── demo ├── avalon-effect-fade.html ├── avalon-slide-test.html ├── datepicker.html ├── dialog.html ├── fy-alert.html ├── fy-base.html ├── fy-contextmenu.html ├── fy-modal-amap.html ├── fy-modal-input.html ├── fy-modal-list.html ├── fy-modal-pwdreset.html ├── fy-modal-table.html ├── fy-modal.html ├── fy-preview.html ├── fy-tabs.html ├── fy-topastr-tip.html ├── grid.html ├── img-preview │ ├── 1.png │ ├── 2.jpeg │ ├── 3.jpg │ └── 4.png ├── img-slide │ ├── pgbg01.jpg │ ├── pgbg02.jpg │ ├── pgbg03.jpg │ └── pgbg04.jpg └── select_demo_testing.html ├── extend └── FlatSurfaceShader │ ├── fss.js │ ├── fss.min.js │ └── fss_configuration.js └── support ├── avalon-extend.js ├── avalon-logic.js ├── avalon.js ├── avalon2.2.2.js ├── avalon2.2.3.1.js ├── avalon2.2.3.js ├── avalon2.2.4.js ├── avalon2.2.7.js ├── base64.js ├── fetch.js ├── md5.js └── store.js /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/flyui.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # flyUI # 2 | ## Powered by avalon2 3 | 4 | ## 项目介绍 5 | 本项目是以avalon2和bootstrap为基础的一套MVVM框架UI库: 6 | - 基于avalon2框架 7 | - 使用bootstrap样式库 8 | - 无jq依赖 9 | - 尽可能兼容低版本 10 | 11 | ## 尚未解决的问题 12 | 目前Bug还存在不少 13 | - 统一的编码规范 14 | - avalon2自身bug 15 | 16 | ## 使用说明 17 | 18 | - 本项目无前端打包框架依赖,可直接引用至项目使用 19 | 20 | ## 目录结构说明 21 | ``` 22 | ├─base # 基础组件目录 23 | ├─component # 组合组件库 24 | ├─support # 功能库,如avalon、md5、router等 25 | ├─demo # 演示用例 26 | ├─logic # 业务组件 27 | └─css # 样式框架库 28 | ├─base # base对应的自定义样式 29 | ├─component # component组合组件库对应的自定义样式 30 | ├─logic # logic对应的自定义样式 31 | ├─plugin # 其他组件库样式 32 | ├─animate.css # 基于css的动画样式库 33 | └─bootstrap.css # bootstrap样式库 34 | ``` 35 | 36 | -------------------------------------------------------------------------------- /base/fy-base.js: -------------------------------------------------------------------------------- 1 | /* 2 | authro:aLoNe.Adams.K 3 | createDate:2016-12-14 4 | description:flyui的基础组件,所有组件都从这个组件派生 5 | */ 6 | avalon.component("fy-base", { 7 | template:"
", 8 | defaults: { 9 | $name:"fy-base",//组件名 10 | width:"600px", 11 | height:"400px", 12 | isShow: false,//是否显示界面 13 | show:function(){ 14 | avalon.log("base show"); 15 | this.isShow=true; 16 | }, 17 | hide:function(){ 18 | this.isShow=false; 19 | } 20 | } 21 | }); 22 | 23 | //动画组件,所有需要动画特效的组件都可以从这里继承下去 24 | avalon.extendComponent("fy-animate","fy-base",{ 25 | $name:"fy-animate", 26 | animate:{//动画特效 27 | enterClass: 'animate-enter', 28 | enterActiveClass: 'animate-enter-active', 29 | leaveClass: 'animate-leave', 30 | leaveActiveClass: 'animate-leave-active', 31 | onEnterDone:avalon.noop, 32 | onLeaveDone:avalon.noop 33 | }, 34 | show:function(){ 35 | avalon.log("animate show"); 36 | this.inherited("show","fy-base").apply(this,arguments); 37 | } 38 | }); 39 | 40 | //fy-modal组件 41 | avalon.extendComponent("fy-modal","fy-animate",{ 42 | $name:"fy-modal", 43 | content:"", 44 | autoClose:false,//自动关闭 45 | title:"Modal",//标题部分内容 46 | buttons:{ 47 | onConfirm:avalon.noop, 48 | onClose:avalon.noop, 49 | }, 50 | show:function(sTitle,sContent,fnConfirm,fnClose){ 51 | sTitle=sTitle||this.title; 52 | sContent=sContent||this.content; 53 | if(avalon.isFunction(fnConfirm)) buttons.onConfirm=fnConfirm; 54 | if(avalon.isFunction(fnClose)) buttons.onClose=fnClose; 55 | this.title=sTitle; 56 | this.content=sContent; 57 | this.inherited("show","fy-animate").apply(this,arguments); 58 | }, 59 | hide:function(){ 60 | this.inherited("hide","fy-animate").apply(this,arguments); 61 | }, 62 | _OnClose:function(){ 63 | this.hide(); 64 | this.buttons.onConfirm(); 65 | }, 66 | _OnConfirm:function(){ 67 | this.hide(); 68 | this.buttons.onClose(); 69 | } 70 | },(function(){ 71 | // 内容表格部分 72 | var sHtml= '
'+ 73 | ''+ 74 | ''+ 86 | '
'; 87 | return sHtml; 88 | }).call(this)); -------------------------------------------------------------------------------- /base/fy-contextmenu.js: -------------------------------------------------------------------------------- 1 | /* 2 | authro:小风风 3 | createDate:2017-01-09 4 | description:flyui的右键菜单的基础组件 5 | */ 6 | avalon.component("fy-contextmenu", { 7 | template:(function(){ 8 | var sHtml= ''; 15 | return sHtml; 16 | }).call(this), 17 | defaults: { 18 | menuPosition:{ 19 | x:10,y:10 20 | }, 21 | offsetPosition:{ 22 | x:0,y:0 23 | }, 24 | isShow:false,//是否显示界面 25 | autoClose:false,//鼠标移出时自动关闭 26 | autoShow:true,//替换浏览器默认右键菜单 27 | title:"",//标题部分内容 28 | aInput:[], 29 | // aInput[传入aInput 30 | // {text:"",text 31 | // onClick:avalon.noop,传选择按钮的方法] 32 | show:function(sTitle,oOffsetPosition){ 33 | var oPosition=this.getPosition(); 34 | // offsetPosition={x:100,y:200};传入偏移量+计算 35 | oOffsetPosition=oOffsetPosition||this.offsetPosition; 36 | oPosition.x+=oOffsetPosition.x-10; 37 | oPosition.y+=oOffsetPosition.y-10; 38 | this.menuPosition=oPosition; 39 | this.title=sTitle||this.title; 40 | this.isShow=true; 41 | }, 42 | hide:function(){ 43 | this.isShow=false; 44 | }, 45 | // 鼠标位置测量, 返回对象{x:10,y:20} 46 | getPosition:function(){ 47 | var ev=window.event; 48 | if(ev.pageX || ev.pageY){ 49 | return {x:ev.pageX, y:ev.pageY}; 50 | } 51 | return { 52 | x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, 53 | y:ev.clientY + document.body.scrollTop - document.body.clientTop 54 | }; 55 | }, 56 | onReady:function(){ 57 | var oSelf=this; 58 | document.oncontextmenu = function(e){ 59 | e.preventDefault(); 60 | if(oSelf.autoShow) oSelf.show(); 61 | }; 62 | } 63 | } 64 | }); -------------------------------------------------------------------------------- /base/fy-dialog.js: -------------------------------------------------------------------------------- 1 | /* 2 | avalon组件,bootstrap引入,modal弹框,插槽插入表格或者其他内容 3 | 需要传递表格title,和数据字段内容 4 | */ 5 | avalon.component('fy-dialog', { 6 | template:(function(){ 7 | // 内容表格部分 8 | var sHtml= '
'+ 9 | '
'+ 10 | '
'+ 11 | ''+ 12 | '

'+ 13 | '
'+ 14 | '
'+ 15 | '
'+ 16 | ''+ 20 | '
'+ 21 | '
'; 22 | return sHtml; 23 | }).call(this), 24 | defaults: { 25 | width:"500px", 26 | isShow: true,//是否显示界面 27 | title:"数据浏览",//标题部分内容 28 | content:"",//主要内容区 29 | show:function(sTitle,sContent){ 30 | sTitle=sTitle||this.title; 31 | sContent=sContent||this.content; 32 | this.title=sTitle; 33 | this.content=sContent; 34 | this.isShow=true; 35 | }, 36 | hide:function(){ 37 | this.isShow=false; 38 | } 39 | } 40 | }); -------------------------------------------------------------------------------- /base/fy-modal-amap.js: -------------------------------------------------------------------------------- 1 | /* 2 | authro:aLoNe.Adams.K 3 | createDate:2016-12-01 4 | description: 5 | avalon2组件,使用高德地图组件 6 | 目前依赖bootstrap的样式和js 7 | */ 8 | avalon.component("fy-modal-amap", { 9 | template: (function(){ 10 | var sHtml='
'+ 11 | ''+ 12 | ''+ 24 | '
'; 25 | return sHtml; 26 | }).call(this), 27 | defaults: { 28 | $domId:"amap-content", 29 | width:"90%", 30 | height:window.document.body.offsetHeight-220+"px",//计算窗体高度 31 | isShow: false, 32 | $amap: null,//高德map组件 33 | $amapConfig:{ 34 | resizeEnable:true, 35 | zoom:13 36 | },//初始化地图组件配置 37 | $geolocation:null,//地理位置 38 | $geolocationConfig:{ 39 | enableHighAccuracy:true, 40 | buttonPosition:"RB" 41 | },//地理位置配置 42 | $geocoder:null,//地理编码 43 | $geocoderConfig:{ 44 | //city:"全国" 45 | },//地理编码配置 46 | $position:null,//经纬度对象 47 | $address:"",//编码后的地理位置 48 | $marker:null,//标记, 49 | $markerConfig:{ 50 | draggable:true, 51 | cursor:"move", 52 | raiseOnDrag:true, 53 | title:"拖动箭头选择地址" 54 | },//标记配置 55 | $init:false, 56 | 57 | $citycode:null, //城市,默认全国 58 | $searchId:"search-input", 59 | 60 | animateCss:"", 61 | animate:{ 62 | show:"fadeInUp", 63 | hide:"fadeOutDown", 64 | time:500 65 | }, 66 | buttons:{ 67 | onConfirm:avalon.noop 68 | }, 69 | confirm:function(){ 70 | this.hide(); 71 | this.buttons.onConfirm(); 72 | }, 73 | cbProxy: function (sFunctionName,args) { 74 | if(this.hasOwnProperty(sFunctionName)) this[sFunctionName].apply(this,args); 75 | }, 76 | cbAddress:function(position){ 77 | var oSelf=this; 78 | this.$position=position; 79 | this.$geocoder.getAddress(position,function(status,result){ 80 | if(status==="complete"&&result.info==="OK"){ 81 | oSelf.$address=result.regeocode.formattedAddress; 82 | oSelf.cbProxy("onGetAddress",arguments); 83 | console.log(result); 84 | oSelf.$citycode=result.regeocode.addressComponent.citycode;// 地址信息城市 85 | } 86 | }); 87 | }, 88 | _onShow: function(){ 89 | var oSelf=this; 90 | //这里写入载入完毕后初始化的代码 91 | this.$amap=new AMap.Map(this.$domId,this.$amapConfig); 92 | this.$geocoder=new AMap.Geocoder(this.$geocoderConfig); 93 | this.$amap.plugin("AMap.Geolocation",function(){ 94 | oSelf.$geolocation=new AMap.Geolocation(oSelf.$geolocationConfig); 95 | oSelf.$geolocation.getCurrentPosition(); 96 | AMap.event.addListener(oSelf.$geolocation,"complete",function(data){ 97 | oSelf.$position=data.position; 98 | oSelf.cbProxy("onLocationComplete",arguments); 99 | oSelf.cbAddress(data.position); 100 | // oSelf.$geocoder.getAddress(data.position,function(status,result){ 101 | // if(status==="complete"&&result.info==="OK"){ 102 | // oSelf.cbProxy("onGetAddress",arguments); 103 | // } 104 | // }); 105 | }); 106 | AMap.event.addListener(oSelf.$geolocation,"error",function(){ 107 | oSelf.cbProxy("onLocationError",arguments); 108 | }); 109 | }); 110 | this.$markerConfig.position=this.$amap.getCenter(); 111 | this.$marker=new AMap.Marker(this.$markerConfig); 112 | this.$marker.setMap(this.$amap); 113 | AMap.event.addListener(this.$marker,"dragend",function(e){ 114 | oSelf.cbProxy("onMarkerDragend",arguments); 115 | oSelf.cbAddress(e.lnglat); 116 | }); 117 | // 搜索框(暂订实现功能) 118 | this.$amap.plugin(["AMap.Autocomplete","AMap.PlaceSearch"],function(){ 119 | this.$autocomplete=new AMap.Autocomplete({ 120 | city:oSelf.$citycode||"", 121 | input:oSelf.$searchId//使用联想输入的input的id 122 | }); 123 | // 搜索插件 124 | /*var placeSearch=new AMap.PlaceSearch({ 125 | city:oSelf.$citycode||"", //城市,默认全国 126 | map:oSelf.$amap 127 | });*/ 128 | AMap.event.addListener($autocomplete,"select",function(e){ 129 | console.log(e.poi); 130 | // placeSearch.setCity(e.poi.adcode); 131 | // placeSearch.search(e.poi.name); 132 | // 移动marker至当前位置 133 | oSelf.$marker.setPosition(e.poi.location); 134 | oSelf.$amap.setCenter(e.poi.location); 135 | oSelf.cbAddress(e.poi.location); 136 | }); 137 | }); 138 | }, 139 | onLocation:avalon.noop, 140 | onLocationComplete:avalon.noop, 141 | onLocationError:avalon.noop, 142 | onGetAddress:avalon.noop, 143 | onMarkerDragend:avalon.noop, 144 | getLocation:function(){ 145 | return this.$position; 146 | }, 147 | getAddress:function(){ 148 | return this.$address; 149 | }, 150 | setCenter:function(oPosition){ 151 | if(oPosition){ 152 | this.$amap.setCenter(new AMap.LngLat(oPosition.lng,oPosition.lat)); 153 | this.$marker.setPosition(new AMap.LngLat(oPosition.lng,oPosition.lat)); 154 | } 155 | }, 156 | // 显示地图 157 | // 第一个参数 传经纬度, 158 | // oPosition:{lng:0,lat:0} 159 | // 第二个参数 为true时不显示弹框,初始化地图获得当前所在地 160 | show:function(oPosition,bInit){ 161 | bInit=bInit||false; 162 | if (this.$init==false) { 163 | this.animateCss=this.animate.show; 164 | this._onShow(); 165 | this.$init=true; 166 | } 167 | this.isShow=!bInit; 168 | if(oPosition){ 169 | this.setCenter(oPosition); 170 | } 171 | }, 172 | hide:function(){ 173 | this.isShow=false; 174 | } 175 | // 下面这样写会有marker不能拖动的bug 176 | // onReady:function(){ 177 | // this._onShow(); 178 | // } 179 | } 180 | }); -------------------------------------------------------------------------------- /base/fy-modal-grid.js: -------------------------------------------------------------------------------- 1 | /* 2 | avalon组件,bootstrap引入,modal弹框,插槽插入表格或者其他内容 3 | 需要传递表格title,和数据字段内容 4 | */ 5 | avalon.component('fy-modal-grid', { 6 | template:(function(){ 7 | // 内容表格部分 8 | var sContent='
'+ 9 | ''+ 10 | ''+ 11 | ''+ 12 | ''+ 13 | ''+ 14 | ''+ 15 | ''+ 16 | ''+ 17 | ''+ 18 | ''+ 19 | ''+ 22 | ''+ 23 | ''+ 24 | '
{{value}}操作
{{value}}'+ 20 | '选择'+ 21 | '
'+ 25 | '
'; 26 | // modal模板 27 | var modal= '
'+ 28 | ''+ 29 | ''+ 43 | '
'; 44 | return modal; 45 | }).call(this), 46 | defaults: { 47 | height: "auto", 48 | width:"auto", 49 | isShow: true,//是否显示界面 50 | autoClose:true,//选中后自动关闭 51 | data:[],//grid数据源 52 | fields:[{ 53 | id:"序号", 54 | name:"名称", 55 | }],//需要显示的字段 56 | selectFields:[], 57 | animateCss:"", 58 | animate:{ 59 | show:"fadeInUp", 60 | hide:"fadeOutDown", 61 | time:500 62 | }, 63 | getFields:function(){//根据fields获取显示的字段 64 | var aFields=[]; 65 | avalon.each(this.fields,function(key,value){ 66 | aFields.push(key); 67 | }) 68 | this.selectFields=aFields; 69 | }, 70 | selectData:function(el){ 71 | this.onSelect(el); 72 | if(this.autoClose==true) this.hide(); 73 | }, 74 | onSelect:avalon.noop,//onSelect(el) 75 | title:"数据浏览",//标题部分内容 76 | show:function(sTitle,oData){ 77 | sTitle=sTitle||this.title; 78 | this.title=sTitle; 79 | this.animateCss=this.animate.show; 80 | this.isShow=true; 81 | }, 82 | hide:function(){ 83 | var oSelf=this; 84 | this.animateCss=this.animate.hide; 85 | if(this.animate.time>0){ 86 | setTimeout(function(){ 87 | oSelf.isShow=false; 88 | },this.animate.time); 89 | }else{ 90 | this.isShow=false; 91 | } 92 | }, 93 | onReady:function(){ 94 | this.getFields(); 95 | } 96 | } 97 | }); -------------------------------------------------------------------------------- /base/fy-modal-input.js: -------------------------------------------------------------------------------- 1 | /* 2 | authro:aLoNe.Adams.K 3 | createDate:2017-01-01 4 | description:flyui的带input框的基础组件 5 | */ 6 | avalon.component("fy-modal-input", { 7 | template:(function(){ 8 | // 内容表格部分 9 | var sHtml= '
'+ 10 | ''+ 11 | ''+ 34 | '
'; 35 | return sHtml; 36 | }).call(this), 37 | defaults: { 38 | width:"400px", 39 | height:"auto", 40 | isShow: false,//是否显示界面 41 | autoClose:false,//自动关闭 42 | title:"标题",//标题部分内容 43 | aInput:[], 44 | // aInput[传入aInput 45 | // {name:"",key 46 | // value:"",value 47 | // label:"label",label text 48 | // type:"text",input type 49 | // onClick:avalon.noop,传选择按钮的方法 50 | // btnText:"",按钮text 51 | // disabled:false}] 52 | animateCss:"", 53 | animate:{ 54 | show:"fadeInUp", 55 | hide:"fadeOutDown", 56 | time:500 57 | }, 58 | buttons:{ 59 | onConfirm:avalon.noop, 60 | onClose:avalon.noop, 61 | }, 62 | show:function(sTitle,fnConfirm,fnClose){ 63 | this.title=sTitle||this.title; 64 | if(avalon.isFunction(fnConfirm)) this.buttons.onConfirm=fnConfirm; 65 | if(avalon.isFunction(fnClose)) this.buttons.onClose=fnClose; 66 | this.animateCss=this.animate.show; 67 | this.isShow=true; 68 | }, 69 | hide:function(){ 70 | var oSelf=this; 71 | this.animateCss=this.animate.hide; 72 | if(this.animate.time>0){ 73 | setTimeout(function(){ 74 | oSelf.isShow=false; 75 | },this.animate.time); 76 | }else{ 77 | this.isShow=false; 78 | } 79 | }, 80 | _OnClose:function(){ 81 | this.hide(); 82 | this.buttons.onClose(); 83 | }, 84 | _OnConfirm:function(){ 85 | // this.hide(); 86 | this.buttons.onConfirm(); 87 | } 88 | } 89 | }); -------------------------------------------------------------------------------- /base/fy-modal-list.js: -------------------------------------------------------------------------------- 1 | /* 2 | avalon组件,bootstrap引入,modal弹框,插槽插入表格或者其他内容 3 | 需要传递表格title,和数据字段内容 4 | */ 5 | avalon.component('fy-modal-list', { 6 | template:(function(){ 7 | // 内容表格部分 8 | var sHtml='
'+ 9 | '
'+ 10 | ''+ 30 | '
'; 31 | return sHtml; 32 | }).call(this), 33 | defaults: { 34 | height:"300px", 35 | autoHeight:false, 36 | width:"300px",//list宽度 37 | isShow: false,//是否显示界面 38 | title:"listbox",//标题部分内容 39 | $data:[],//纯数组 40 | $source:[],//原数组 41 | $selectedData:[],//选中的数据 42 | autoSearch:true, 43 | searchText:"",//查询的文本 44 | animateCss:"", 45 | animate:{ 46 | show:"fadeInUp", 47 | hide:"fadeOutDown", 48 | time:500 49 | }, 50 | reset:function(){ 51 | this.title="listbox"; 52 | this.$data=[]; 53 | this.$source=[]; 54 | this.searchText=""; 55 | this.$selectedData=[]; 56 | }, 57 | show:function(sTitle,aData){ 58 | this.reset(); 59 | this.title=sTitle||this.title; 60 | this.title=sTitle; 61 | if(aData) this.$data=aData; 62 | this.animateCss=this.animate.show; 63 | this.isShow=true; 64 | if(this.autoHeight===true){ 65 | //自动计算高度,上下预留20px; 66 | this.height=(avalon(document.body).outerHeight()-270)+"px"; 67 | } 68 | this.$selectedData=[]; 69 | this.procListHtml(); 70 | }, 71 | hide:function(){ 72 | var oSelf=this; 73 | this.animateCss=this.animate.hide; 74 | this.$data=[]; 75 | if(this.animate.time>0){ 76 | setTimeout(function(){ 77 | oSelf.isShow=false; 78 | },this.animate.time); 79 | }else{ 80 | this.isShow=false; 81 | } 82 | }, 83 | confirm:function(){ 84 | var uData=null; 85 | if(this.multiSelect){ 86 | //多选情况,返回的是一个数组 87 | uData=[]; 88 | avalon.each(this.$selectedData,function(iIndex,oItem){ 89 | uData.push(oItem.value); 90 | }); 91 | }else{ 92 | uData=this.$selectedData.length>0?this.$selectedData[0].value:""; 93 | } 94 | this.onSelected(uData); 95 | this.hide(); 96 | }, 97 | multiSelect:false,//多选 98 | ulId:"modal_list_"+(""+Math.random()).substr(2,6), 99 | procListHtml:function(){ 100 | //性能模式下,使用原生dom方法 101 | var i=0,dom=document.getElementById(this.ulId),li=null,oSelf=this 102 | ,frag=document.createDocumentFragment(); 103 | if(!dom) return ; 104 | //清空dom下的对象 105 | dom.innerHTML=""; 106 | for(i=0;i0?document.getElementById(this.ulId+"_li_"+this.$selectedData[0].index):null; 146 | currDom=document.getElementById(this.ulId+"_li_"+iIndex); 147 | if(lastDom) lastDom.className=currDom.className.replace("selectedRow",""); 148 | if(currDom) currDom.className+=" selectedRow"; 149 | this.$selectedData=[{ 150 | index:iIndex, 151 | value:sValue 152 | }]; 153 | } 154 | if(bDbclick) this.confirm(); 155 | }, 156 | searchChange:function($event,searchText){ 157 | if(this.$source.length==0) this.$source=avalon.mix(this.$data,[]); 158 | //进行数据过滤 159 | var aData=[]; 160 | avalon.each(this.$source,function(iIndex,oItem){ 161 | if(oItem.indexOf(searchText)>=0) aData.push(oItem); 162 | }); 163 | this.$selectedData=[]; 164 | this.$data=aData; 165 | this.procListHtml(); 166 | }, 167 | onSelected:avalon.noop, 168 | onReady:function(){ 169 | 170 | } 171 | } 172 | }); -------------------------------------------------------------------------------- /base/fy-modal-pwdreset.js: -------------------------------------------------------------------------------- 1 | /* 2 | authro:aLoNe.Adams.K 3 | createDate:2016-12-14 4 | description:flyui的带对话框的基础组件 5 | */ 6 | avalon.component("fy-modal-pwdreset", { 7 | template:(function(){ 8 | // 内容表格部分 9 | var sHtml= '
'+ 10 | ''+ 11 | ''+ 31 | '
'; 32 | return sHtml; 33 | }).call(this), 34 | defaults: { 35 | width:"400px", 36 | height:"auto", 37 | isShow: false,//是否显示界面 38 | autoClose:false,//自动关闭 39 | title:"修改密码",//标题部分内容 40 | pwd:"", 41 | pwdConfirm:"", 42 | animateCss:"", 43 | animate:{ 44 | show:"fadeInUp", 45 | hide:"fadeOutDown", 46 | time:500 47 | }, 48 | buttons:{ 49 | onConfirm:avalon.noop, 50 | onClose:avalon.noop, 51 | }, 52 | show:function(sTitle,fnConfirm,fnClose){ 53 | this.pwd=this.pwdConfirm="", 54 | sTitle=sTitle||this.title; 55 | if(avalon.isFunction(fnConfirm)) this.buttons.onConfirm=fnConfirm; 56 | if(avalon.isFunction(fnClose)) this.buttons.onClose=fnClose; 57 | this.animateCss=this.animate.show; 58 | this.isShow=true; 59 | }, 60 | hide:function(){ 61 | var oSelf=this; 62 | this.animateCss=this.animate.hide; 63 | if(this.animate.time>0){ 64 | setTimeout(function(){ 65 | oSelf.isShow=false; 66 | },this.animate.time); 67 | }else{ 68 | this.isShow=false; 69 | } 70 | }, 71 | _OnClose:function(){ 72 | this.hide(); 73 | this.buttons.onClose(); 74 | }, 75 | _OnConfirm:function(){ 76 | // this.hide(); 77 | this.buttons.onConfirm(); 78 | } 79 | } 80 | }); -------------------------------------------------------------------------------- /base/fy-modal-qrcode.js: -------------------------------------------------------------------------------- 1 | /* 2 | avalon组件,fy-alert模态弹框. 3 | open() 用于自定义,传入整个对象,参数会有默认值. 4 | show() wiat() error() warn() 自带一些默认值, 5 | 传入按钮的function 并且 没有showtime的时候 会显示按钮, 6 | 传入showtime时候 会自动关闭alert. 7 | */ 8 | avalon.component('fy-modal-qrcode', { 9 | template: (function(){ 10 | var content="
"+ 11 | "
"+ 12 | "
"+ 13 | "

"+ 14 | ""+ 15 | "
"+ 16 | ""+ 17 | ""+ 18 | "
"+ 19 | "
"+ 20 | "
"; 21 | return content; 22 | }).call(this), 23 | defaults: { 24 | // 控制modal-tip的显示 25 | isShow:false, 26 | autoClose:false, 27 | zIndex:10000, 28 | $timeId:0, 29 | animateCss:"", 30 | title:"二维码", 31 | imgSrc:"", 32 | // imgWidth:"200px", 33 | animate:{ 34 | show:"fadeInUp", 35 | hide:"fadeOutDown", 36 | time:500 37 | }, 38 | show:function(title,imgSrc,fnConfirm,fnClose){ 39 | this.title=title||this.title; 40 | this.imgSrc=imgSrc||this.imgSrc; 41 | if(avalon.isFunction(fnConfirm)) this.$buttons.onConfirm=fnConfirm; 42 | if(avalon.isFunction(fnClose)) this.$buttons.onClose=fnClose; 43 | this.animateCss=this.animate.show; 44 | this.isShow=true; 45 | }, 46 | hide:function(){ 47 | var oSelf=this; 48 | this.animateCss=this.animate.hide; 49 | if(this.animate.time>0){ 50 | setTimeout(function(){ 51 | oSelf.isShow=false; 52 | },this.animate.time); 53 | }else{ 54 | this.isShow=false; 55 | } 56 | }, 57 | $buttons:{ 58 | onConfirm:avalon.noop, 59 | onClose:avalon.noop 60 | }, 61 | _OnClose:function(){ 62 | //返回值不为false,则自动关闭 63 | if(false!==this.$buttons.onClose()) this.hide(); 64 | }, 65 | _OnConfirm:function(){ 66 | //返回值不为false,则自动关闭 67 | if(false!==this.$buttons.onConfirm()) this.hide(); 68 | } 69 | } 70 | }); -------------------------------------------------------------------------------- /base/fy-modal-table.js: -------------------------------------------------------------------------------- 1 | /* 2 | author:小风风 3 | createDate:2017-01-10 4 | description:flyui的带table的可选择对应一条的基础组件 5 | */ 6 | avalon.component("fy-modal-table", { 7 | template:(function(){ 8 | // 内容表格部分 9 | var sHtml= '
'+ 10 | ''+ 11 | ''+ 44 | '
'; 45 | return sHtml; 46 | }).call(this), 47 | defaults: { 48 | width:"600px", 49 | height:"auto", 50 | isShow: false,//是否显示界面 51 | autoClose:false,//自动关闭 52 | showBtn:true,//选择按钮显示,默认true 53 | searchBtn:false,// 搜索按钮显示,传search函数时显示 54 | title:"标题",//标题部分内容 55 | //必须配置下面3项 56 | aTitle:[],//table的tr 57 | dataTable:[],//获得的数据,需要筛选 58 | $source:[],//原数组 59 | sort:[],//筛选项 60 | animateCss:"", 61 | animate:{ 62 | show:"fadeInUp", 63 | hide:"fadeOutDown", 64 | time:500 65 | }, 66 | buttons:{ 67 | onConfirm:avalon.noop, 68 | onClose:avalon.noop, 69 | onSelect:avalon.noop, 70 | onSearch:avalon.noop 71 | }, 72 | searchText:"",//查询的文本 73 | // search:function(oItem,iIndex){//查询过滤器,不过暂时无效果 74 | // var sText=this.searchText||""; 75 | // return oItem.indexOf(sText)>=0; 76 | // }, 77 | show:function(sTitle,fnSelect,fnConfirm,fnClose,fnSearch){ 78 | this.title=sTitle||this.title; 79 | //点击选择按钮的方法,回传所选数据 80 | if(avalon.isFunction(fnSelect)) this.buttons.onSelect=fnSelect; 81 | if(avalon.isFunction(fnConfirm)) this.buttons.onConfirm=fnConfirm; 82 | if(avalon.isFunction(fnClose)) this.buttons.onClose=fnClose; 83 | if(avalon.isFunction(fnSearch)){ 84 | this.buttons.onSearch=fnSearch; 85 | this.searchBtn=true; 86 | } 87 | this.animateCss=this.animate.show; 88 | this.isShow=true; 89 | }, 90 | hide:function(){ 91 | var oSelf=this; 92 | this.animateCss=this.animate.hide; 93 | if(this.animate.time>0){ 94 | setTimeout(function(){ 95 | oSelf.isShow=false; 96 | },this.animate.time); 97 | }else{ 98 | this.isShow=false; 99 | } 100 | }, 101 | _OnClose:function(){ 102 | this.hide(); 103 | this.buttons.onClose(); 104 | }, 105 | _OnConfirm:function(){ 106 | // this.hide(); 107 | this.buttons.onConfirm(); 108 | } 109 | } 110 | }); -------------------------------------------------------------------------------- /base/fy-modal.js: -------------------------------------------------------------------------------- 1 | /* 2 | authro:aLoNe.Adams.K 3 | createDate:2016-12-14 4 | description:flyui的带对话框的基础组件 5 | */ 6 | avalon.component("fy-modal", { 7 | template:(function(){ 8 | // 内容表格部分 9 | var sHtml= '
'+ 10 | ''+ 11 | ''+ 23 | '
'; 24 | return sHtml; 25 | }).call(this), 26 | defaults: { 27 | width:"600px", 28 | height:"auto", 29 | isShow: false,//是否显示界面 30 | autoClose:false,//自动关闭 31 | title:"Modal",//标题部分内容 32 | content:"",//主要内容区 33 | animateCss:"", 34 | animate:{ 35 | show:"fadeInUp", 36 | hide:"fadeOutDown", 37 | time:500 38 | }, 39 | buttons:{ 40 | onConfirm:avalon.noop, 41 | onClose:avalon.noop, 42 | }, 43 | show:function(sTitle,sContent,fnConfirm,fnClose){ 44 | sTitle=sTitle||this.title; 45 | sContent=sContent||this.content; 46 | if(avalon.isFunction(fnConfirm)) this.buttons.onConfirm=fnConfirm; 47 | if(avalon.isFunction(fnClose)) this.buttons.onClose=fnClose; 48 | this.title=sTitle; 49 | this.content=sContent; 50 | this.animateCss=this.animate.show; 51 | this.isShow=true; 52 | }, 53 | hide:function(){ 54 | var oSelf=this; 55 | this.animateCss=this.animate.hide; 56 | if(this.animate.time>0){ 57 | setTimeout(function(){ 58 | oSelf.isShow=false; 59 | },this.animate.time); 60 | }else{ 61 | this.isShow=false; 62 | } 63 | }, 64 | _OnClose:function(){ 65 | this.hide(); 66 | this.buttons.onClose(); 67 | }, 68 | _OnConfirm:function(){ 69 | this.hide(); 70 | this.buttons.onConfirm(); 71 | } 72 | } 73 | }); 74 | (function(){ 75 | var oModal=avalon.components["fy-modal"]; 76 | if(oModal){ 77 | oModal.extend({ 78 | displayName:"fy-modal-grid", 79 | defaults:{ 80 | content:(function(){ 81 | return '
'+ 82 | ''+ 83 | ''+ 84 | ''+ 85 | ''+ 86 | ''+ 87 | ''+ 88 | ''+ 89 | ''+ 90 | ''+ 91 | ''+ 92 | ''+ 95 | ''+ 96 | ''+ 97 | '
{{value}}操作
{{value}}'+ 93 | '选择'+ 94 | '
'+ 98 | '
'; 99 | })(), 100 | data:[],//grid数据源 101 | fields:[{ 102 | id:"序号", 103 | name:"名称", 104 | }],//需要显示的字段 105 | selectFields:[], 106 | getFields:function(){//根据fields获取显示的字段 107 | var aFields=[]; 108 | avalon.each(this.fields,function(key,value){ 109 | aFields.push(key); 110 | }); 111 | this.selectFields=aFields; 112 | }, 113 | selectData:function(el){ 114 | this.onSelect(el); 115 | if(this.autoClose==true) this.hide(); 116 | }, 117 | onSelect:avalon.noop,//onSelect(el) 118 | show:function(sTitle,aData){ 119 | sTitle=sTitle||this.title; 120 | aData=aData||[]; 121 | this.title=sTitle; 122 | this.data=aData; 123 | this.isShow=true; 124 | }, 125 | onReady:function(){ 126 | this.getFields(); 127 | } 128 | } 129 | }); 130 | } 131 | })(); -------------------------------------------------------------------------------- /base/fy-preview.js: -------------------------------------------------------------------------------- 1 | /* 2 | authro:小风风 3 | createDate:2017-06-07 4 | description:flyui的图片预览组件 5 | 传入图片url或者img对象 6 | 再次点击关闭预览 7 | */ 8 | avalon.component("fy-preview", { 9 | template: (function(){ 10 | var sHtml='
'+ 11 | ''+ 12 | ''+ 19 | '
'; 20 | return sHtml; 21 | }).call(this), 22 | defaults: { 23 | domId:"fy-preview_"+(Math.random()+"").substr(3,6), 24 | height:"", 25 | imgWidth:"", 26 | imgHeight:"", 27 | isShow:false, 28 | src:"", 29 | title:"", 30 | animateCss:"", 31 | animate:{ 32 | show:"fadeIn", 33 | hide:"fadeOut", 34 | time:500 35 | }, 36 | _onShow:function(sImg){ 37 | this.src=sImg; 38 | this.isShow=true; 39 | }, 40 | _onShowimg:function(oImg){ 41 | this.src=oImg.src; 42 | this.title=oImg.title; 43 | this.isShow=true; 44 | }, 45 | show:function(oImg){ 46 | this.animateCss=this.animate.show; 47 | if(oImg){ 48 | if(typeof oImg=="string"){ 49 | this._onShow(oImg); 50 | return; 51 | } 52 | if(typeof oImg=="object"){ 53 | this._onShowimg(oImg); 54 | } 55 | } 56 | }, 57 | hide:function(){ 58 | var oSelf=this; 59 | this.animateCss=this.animate.hide; 60 | if(this.animate.time>0){ 61 | setTimeout(function(){ 62 | oSelf.isShow=false; 63 | },this.animate.time); 64 | }else{ 65 | this.isShow=false; 66 | } 67 | }, 68 | imgLoaded:function($event){//图片载入完成 69 | var img=$event.target, 70 | height=document.body.clientHeight-(this.title!=""?68:0), 71 | width=document.body.clientWidth; 72 | //通过比较宽和高谁的值大,以此来决定以哪一边来缩放 73 | if(img.width>img.height){ 74 | if(img.width>width) this.imgWidth=width; 75 | }else{ 76 | if(img.height>height) this.imgHeight=height; 77 | else{ 78 | //height>img.height 79 | //计算高度差,进行top设置 80 | img.style.marginTop=Math.floor((height-img.height)/2)+"px"; 81 | } 82 | } 83 | }, 84 | onReady:function(){ 85 | this.height=document.body.clientHeight+"px"; 86 | } 87 | } 88 | }); -------------------------------------------------------------------------------- /base/fy-slide.js: -------------------------------------------------------------------------------- 1 | /* 2 | author:小风风 3 | createDate:2016-12-14 4 | description:flyui的slide幻灯片插件,淡入淡出的切换效果 5 | animate.css动画效果已加入css 6 | 7 | 参数 8 | 传入数组,链接地址和图片地址 9 | img:[{href:"2.html",imgurl:"pgbg02.jpg"},{href:"3.html",imgurl:"pgbg03.jpg"},] 10 | 高宽 11 | 切换时间 changeTIme 12 | 13 | 变量current 控制切换第几张图, 14 | 自动循环, 15 | 移入圆点时修改对应的值, 16 | 移入图片时停止自动循环,移除时开启执行循环, 17 | 点击下一页时current+1,点击上一页current-1, 18 | */ 19 | avalon.component('fy-slide', { 20 | template: (function(){ 21 | var slideContent="
"+ 22 | ""+ 29 | "
"+ 30 | ""+ 31 | "
"+ 32 | "<"+ 33 | ">"+ 34 | "
"; 35 | return slideContent; 36 | }).call(this), 37 | defaults: { 38 | height:"400px", 39 | width:"700px", 40 | img:[],// 传入数组 41 | slideIndexLeft:"", 42 | current:0,// 循环变量 控制切换 43 | timeId:0, 44 | changeTime:2000,// 切换时间 45 | autoChange:function(){ 46 | var oSelf=this; 47 | this.timeId=setTimeout(function(){ 48 | oSelf.changeImg(); 49 | oSelf.autoChange(); 50 | },this.changeTime); 51 | }, 52 | nextImg:function(){ 53 | this.changeImg(); 54 | }, 55 | prevImg:function(){ 56 | if(this.current<=0){ 57 | this.current=this.img.length-1; 58 | }else{ 59 | this.current--; 60 | } 61 | }, 62 | changeState:function(bState){ 63 | if(bState) this.autoChange(); 64 | else{ 65 | clearTimeout(this.timeId); 66 | } 67 | }, 68 | onReady:function(){ 69 | this.autoChange(); 70 | this.slideIndexLeft=0-12*(this.img.length);//计算圆点的位置 71 | }, 72 | changeImg:function(){ 73 | if(this.current==this.img.length-1){ 74 | this.current=0; 75 | }else{ 76 | this.current++; 77 | } 78 | }, 79 | }, 80 | }); -------------------------------------------------------------------------------- /base/fy-toastr-tip.js: -------------------------------------------------------------------------------- 1 | /* 2 | author:小风风 3 | createDate:2016-12-14 4 | description:flyui tip提示框组件 5 | toastr.css引入,tip弹框提示 6 | 4种样式success,info,waring,error 7 | 有6种位置:左上,左下,右上,右下,中间上,中间下,默认选右上 8 | 自动关闭时间,有读条显示,控制对应的.toast-progress的宽度,用transition样式控制,默认2s 9 | 传入标题和内容,简单设置默认值 10 | 鼠标移入时透明度1,默认0.7 11 | */ 12 | avalon.component('fy-toastr-tip', { 13 | template:(function(){ 14 | var modal=''; 22 | return modal; 23 | }).call(this), 24 | defaults: { 25 | $timeId:0,//用于定时器的回调,加入样式需要延迟关闭 26 | title:"成功", 27 | message:"请稍等......", 28 | tipType:"success", 29 | isShow:false,//是否显示界面 30 | closeBtn:true,//关闭按钮,暂留 31 | autoClose:true,//选中后自动关闭 32 | closeTime:2000, 33 | animate:{ 34 | show:"fadeInDown", 35 | hide:"fadeOutDown", 36 | time:1000 37 | }, 38 | animateCss:"", 39 | progressEnd:"", 40 | mouseOn:function(){ 41 | this.progressEnd=""; 42 | clearTimeout(this.$timeId); 43 | }, 44 | mouseOut:function(){ 45 | this.progressEnd="toast-progress-begin toast-progress-end"; 46 | this.$timeId=0; 47 | this.show(); 48 | }, 49 | show:function(sTitle,sMessage,sType){ 50 | if(this.$timeId>0) return; 51 | this.title=sTitle||this.title; 52 | this.message=sMessage||this.message; 53 | this.tipType=sType||this.tipType; 54 | this.isShow=true; 55 | this.animateCss=this.animate.show; 56 | this.progressEnd="toast-progress-begin toast-progress-end"; 57 | var oSelf=this; 58 | this.$timeId=setTimeout(function(){ 59 | oSelf.$timeId=0; 60 | oSelf.hide(); 61 | },this.closeTime); 62 | }, 63 | hide:function(){ 64 | if(this.$timeId>0) return; 65 | this.animateCss=this.animate.hide; 66 | if(this.animate.time>0){ 67 | var oSelf=this; 68 | this.$timeId=setTimeout(function(){ 69 | oSelf.$timeId=0; 70 | oSelf.isShow=false; 71 | oSelf.progressEnd=""; 72 | oSelf.message="请稍等......"; 73 | },this.animate.time); 74 | }else{ 75 | this.isShow=false; 76 | } 77 | }, 78 | onReady:function(){ 79 | 80 | } 81 | } 82 | }); -------------------------------------------------------------------------------- /base/fy-tree.js: -------------------------------------------------------------------------------- 1 | /* 2 | avalon组件,bootstrap引入,modal弹框, 3 | 规范化数据格式 4 | { 5 | id:1,text:'hello',title:'world',subtree:{} 6 | } 7 | */ 8 | //树组件 9 | var treeID=0; 10 | avalon.component('fy-tree', { 11 | template:(function(){ 12 | // 组件部分 13 | return '' 25 | }).call(this), 26 | defaults: { 27 | text:"", 28 | currSelected:{}, 29 | treeID:0, 30 | openIcon:"jstree-node jstree-open", 31 | closeIcon:"jstree-node jstree-closed", 32 | childIcon:"jstree-icon jstree-themeicon none jstree-themeicon-custom", 33 | parentIcon:"jstree-icon jstree-themeicon", 34 | emptyIcon:"jstree-node jstree-leaf", 35 | lastIcon:"jstree-last", 36 | selectedClass:"subject-style", 37 | tree:[], 38 | selectNode:function(el){//选择节点 39 | this.text=el.text; 40 | this.currSelected=avalon.mix(true,this.currSelected,el); 41 | }, 42 | renderSubTree:function(el,sParent){//渲染子节点,使用递归方法 43 | sParent=sParent||"el"; 44 | sParent+=".subtree"; 45 | //使用递归的方式来解决该问题 46 | var sHtml=""; 47 | var sId=(++treeID); 48 | var sIndex = "index"+sId; 49 | var sElSub="el"+sId; 50 | if(el.subtree&&el.subtree.length>0){ 51 | //有子节点 52 | sHtml=''; 63 | } 64 | return sHtml; 65 | }, 66 | openSubTree:function(el){//打开/关闭子节点 67 | el.open = !el.open; 68 | }, 69 | getSelectedClass:function(el){//获取选中的样式 70 | if(this.text===el.text) return this.selectedClass; 71 | else return ""; 72 | }, 73 | getIconClass:function(el,oParent){//获取图标样式 74 | var sClass=(el==oParent[oParent.length-1])?" jstree-last":""; 75 | if(!el.subtree||el.subtree.length==0) return this.emptyIcon+sClass; 76 | else if(el.open) return this.openIcon+sClass; 77 | else return this.closeIcon+sClass; 78 | } 79 | } 80 | }); -------------------------------------------------------------------------------- /css/base/fy-datagrid.css: -------------------------------------------------------------------------------- 1 | .selectRow{ 2 | background-color: #c3e5ff; 3 | z-index: 3000; 4 | } 5 | .table-hover > tbody > tr:hover { 6 | background-color: #c3e5ff; 7 | } 8 | .margin-t{ 9 | margin-top: -4px; 10 | } -------------------------------------------------------------------------------- /css/base/fy-modal-list.css: -------------------------------------------------------------------------------- 1 | .fly-modal { 2 | position:fixed; 3 | top:0; 4 | left:0; 5 | right: 0; 6 | bottom: 0; 7 | z-index: 3; 8 | } 9 | .fly-modal-overlay { 10 | background-color: black; 11 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; 12 | background-color: rgba(0, 0, 0, 0.4); 13 | position: absolute; 14 | left: 0; 15 | right: 0; 16 | top: 0; 17 | bottom: 0; 18 | z-index: 10000; 19 | } 20 | .fly-modal-dialog { 21 | position: relative; 22 | margin: 50px auto; 23 | background-color: white; 24 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 25 | width: 478px;/* 这里加宽度 ,高度自适应 可不加*/ 26 | border-radius: 5px; 27 | text-align: center; 28 | overflow: hidden; 29 | z-index: 99999; 30 | } 31 | .fly-modal-header { 32 | padding: 15px 5px; 33 | /*border-bottom: 1px solid #e5e5e5;*/ 34 | text-align: center; 35 | } 36 | .close { 37 | float: right; 38 | font-size: 21px; 39 | font-weight: 700; 40 | line-height: 1; 41 | color: #000; 42 | text-shadow: 0 1px 0 #fff; 43 | filter: alpha(opacity=20); 44 | opacity: .2; 45 | } 46 | .sr-only { 47 | position: absolute; 48 | width: 1px; 49 | height: 1px; 50 | padding: 0; 51 | margin: -1px; 52 | overflow: hidden; 53 | clip: rect(0,0,0,0); 54 | border: 0; 55 | } 56 | .fly-modal-title { 57 | font-size: 26px; 58 | } 59 | .fly-modal-body { 60 | position: relative; 61 | text-align: left; 62 | overflow: auto; 63 | } 64 | .fly-modal-body ul { 65 | /*height: 300px; 66 | 表格的高度 超出自动滚动条 可不加*/ 67 | margin: 0; 68 | } 69 | .fly-modal-footer { 70 | padding: 15px; 71 | text-align: right; 72 | /*border-top: 1px solid #e5e5e5;*/ 73 | } 74 | .list-group { 75 | padding-left: 0; 76 | } 77 | .list-group-item { 78 | background-color: inherit; 79 | border-bottom: 1px solid #e7eaec; 80 | display: block; 81 | margin-bottom: -1px; 82 | padding: 10px 15px; 83 | position: relative; 84 | } 85 | .list-group-item:hover { 86 | cursor: pointer; 87 | } 88 | .list-group-item.selectedRow { 89 | background-color: #999; 90 | color: #fff; 91 | } -------------------------------------------------------------------------------- /css/base/fy-modal.css: -------------------------------------------------------------------------------- 1 | .fy-modal { 2 | position: fixed; 3 | top: 0; 4 | right: 0; 5 | bottom: 0; 6 | left: 0; 7 | outline: 0; 8 | z-index: 3; 9 | } 10 | .fy-modal .modal-overlay { 11 | background-color: black; 12 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; 13 | background-color: rgba(0, 0, 0, 0.4); 14 | position: absolute; 15 | left: 0; 16 | right: 0; 17 | top: 0; 18 | bottom: 0; 19 | z-index: 10000; 20 | } 21 | .fy-modal .modal-dialog { 22 | position: relative; 23 | margin: 50px auto; 24 | background-color: white; 25 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 26 | width: 478px; 27 | border-radius: 5px; 28 | text-align: center; 29 | overflow: hidden; 30 | z-index: 99999; 31 | } 32 | .fy-modal .modal-dialog-img { 33 | position: relative; 34 | z-index: 99999; 35 | } 36 | .fy-modal .modal-header { 37 | padding: 15px 5px; 38 | border-bottom: 1px solid #e5e5e5; 39 | text-align: center; 40 | } 41 | .close { 42 | float: right; 43 | font-size: 21px; 44 | font-weight: 700; 45 | line-height: 1; 46 | color: #000; 47 | text-shadow: 0 1px 0 #fff; 48 | filter: alpha(opacity=20); 49 | opacity: .2; 50 | } 51 | .sr-only { 52 | position: absolute; 53 | width: 1px; 54 | height: 1px; 55 | padding: 0; 56 | margin: -1px; 57 | overflow: hidden; 58 | clip: rect(0,0,0,0); 59 | border: 0; 60 | } 61 | .fy-modal .modal-title{ 62 | font-size: 26px; 63 | } 64 | .fy-modal .modal-body { 65 | position: relative; 66 | padding: 15px; 67 | } 68 | .fy-modal .modal-footer { 69 | padding: 15px; 70 | text-align: right; 71 | border-top: 1px solid #e5e5e5; 72 | } -------------------------------------------------------------------------------- /css/base/fy-pager.css: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: inline-block; 3 | padding-left: 0; 4 | margin: 20px 0; 5 | border-radius: 4px; } 6 | .pagination > li { 7 | display: inline; } 8 | .pagination > li > a, 9 | .pagination > li > input, 10 | .pagination > li > span { 11 | position: relative; 12 | float: left; 13 | padding: 6px 12px; 14 | line-height: 1.42857; 15 | text-decoration: none; 16 | color: #337ab7; 17 | background-color: #fff; 18 | border: 1px solid #ddd; 19 | margin-left: -1px; } 20 | .pagination > li > input{ 21 | width:48px; 22 | z-index:1; 23 | } 24 | .pagination > li:first-child > a, 25 | .pagination > li:first-child > span { 26 | margin-left: 0; 27 | border-bottom-left-radius: 4px; 28 | border-top-left-radius: 4px; } 29 | .pagination > li:last-child > a, 30 | .pagination > li:last-child > span { 31 | border-bottom-right-radius: 4px; 32 | border-top-right-radius: 4px; } 33 | .pagination > li > a:hover, .pagination > li > a:focus, 34 | .pagination > li > span:hover, 35 | .pagination > li > span:focus { 36 | z-index: 2; 37 | color: #23527c; 38 | background-color: #eeeeee; 39 | border-color: #ddd; } 40 | .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, 41 | .pagination > .active > span, 42 | .pagination > .active > span:hover, 43 | .pagination > .active > span:focus { 44 | z-index: 3; 45 | color: #fff; 46 | background-color: #337ab7; 47 | border-color: #337ab7; 48 | cursor: default; } 49 | .pagination > .disabled > span, 50 | .pagination > .disabled > span:hover, 51 | .pagination > .disabled > span:focus, 52 | .pagination > .disabled > a, 53 | .pagination > .disabled > a:hover, 54 | .pagination > .disabled > a:focus { 55 | color: #777777; 56 | background-color: #fff; 57 | border-color: #ddd; 58 | cursor: not-allowed; } 59 | .pagination > li > .info{ 60 | display: inline-block; 61 | color: #333; 62 | padding: 6px 16px; 63 | } 64 | .pagination > li > .info > b{ 65 | color: #337ab7; 66 | } -------------------------------------------------------------------------------- /css/base/fy-select.css: -------------------------------------------------------------------------------- 1 | .selectRow{background-color: #2cac8b;color: #fff;border-radius: 5px;} 2 | .inTable table td:hover{cursor: pointer;} 3 | /*.inTable table tr td:hover {background-color: #2cac8b; cursor: pointer;color:#fff;}*/ 4 | .inTable{padding: 0 !important;} 5 | .inTable table{margin-bottom: 0} 6 | /*.inTable table td{border-top: 1px solid #e7eaec;border-bottom: 1px solid #e7eaec}*/ 7 | .inTable table tr:first-child > td{border-top:none !important;} 8 | /*.inTable table tr:last-child > td{border-bottom:none !important;}*/ 9 | .inTable table td{display: inline-block !important;padding:8px !important;} 10 | .tdcheck{margin-top:2px !important;position: absolute;} -------------------------------------------------------------------------------- /css/base/fy-slide.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | * { 4 | margin: 0; 5 | padding: 0; 6 | } 7 | .slider_main li { 8 | list-style: none; 9 | } 10 | .slider_main a { 11 | color: #666; 12 | text-decoration: none; 13 | } 14 | .slider_main em, i { 15 | font-style: normal; 16 | } 17 | .slider_main img { 18 | border: 0; 19 | vertical-align: middle; 20 | } 21 | 22 | /*高宽的值*/ 23 | .slider_main { 24 | position: relative; 25 | margin-bottom: 10px; 26 | height: 540px; 27 | width: 390px; 28 | } 29 | .slider_item, .slider_item_lk, .slider_list { 30 | overflow: hidden; 31 | position: absolute; 32 | width: 100%; 33 | height: 100%; 34 | } 35 | .slider_item { 36 | background-color: #fff; 37 | /*opacity: 0;*/ 38 | /*z-index: 0;*/ 39 | } 40 | .slider_item_img { 41 | display: block; 42 | width: 100%; 43 | height: 100%; 44 | } 45 | /*.slider_item_active{ 46 | opacity: 1; 47 | z-index: 1; 48 | }*/ 49 | .slider_indicator { 50 | position: absolute; 51 | z-index: 1; 52 | left: 50%; 53 | bottom: 20px; 54 | font-size: 0; 55 | padding: 4px 8px; 56 | -moz-border-radius: 12px; 57 | border-radius: 12px; 58 | background-color: hsla(0,0%,100%,.3); 59 | display: block; 60 | } 61 | /*圆点*/ 62 | .slider_indicator_btn { 63 | display: inline-block; 64 | margin-right: 10px; 65 | width: 12px; 66 | height: 12px; 67 | -moz-border-radius: 100%; 68 | border-radius: 100%; 69 | background-color: #fff; 70 | } 71 | .slider_indicator_btn:nth-last-child(1){ 72 | margin-right: 0; 73 | } 74 | .slider_indicator_btn_active { 75 | background-color: #db192a; 76 | } 77 | /*左右箭头*/ 78 | .slider_control_prev { 79 | left: 0; 80 | } 81 | .slider_control_next{ 82 | right: 0; 83 | } 84 | .slider_control_item { 85 | display: none; 86 | position: absolute; 87 | z-index: 1; 88 | top: 50%; 89 | margin-top: -30px; 90 | width: 30px; 91 | height: 60px; 92 | background-color: #333; 93 | background-color: rgba(0,0,0,.1); 94 | line-height: 60px; 95 | text-align: center; 96 | } 97 | .slider_main:hover .slider_control_item{ 98 | display: block; 99 | } 100 | .slider_control_item:hover { 101 | background-color: rgba(0,0,0,.5); 102 | } 103 | .slider_control_item i { 104 | font-size: 20px; 105 | color: #fff; 106 | } 107 | .iconfont { 108 | font-family: iconfont; 109 | font-style: normal; 110 | -webkit-text-stroke-width: .2px; 111 | -moz-osx-font-smoothing: grayscale; 112 | } 113 | 114 | /*动画效果*/ 115 | .animated { 116 | -webkit-animation-duration: 1s; 117 | animation-duration: 1s; 118 | -webkit-animation-fill-mode: both; 119 | animation-fill-mode: both; 120 | } 121 | 122 | @-webkit-keyframes fadeIn { 123 | 0% { 124 | opacity: 0; 125 | } 126 | 100% { 127 | opacity: 1; 128 | } 129 | } 130 | @keyframes fadeIn { 131 | 0% { 132 | opacity: 0; 133 | } 134 | 100% { 135 | opacity: 1; 136 | } 137 | } 138 | .fadeIn { 139 | -webkit-animation-name: fadeIn; 140 | animation-name: fadeIn; 141 | } 142 | 143 | @-webkit-keyframes fadeOut { 144 | 0% { 145 | opacity: 1; 146 | } 147 | 148 | 100% { 149 | opacity: 0; 150 | } 151 | } 152 | @keyframes fadeOut { 153 | 0% { 154 | opacity: 1; 155 | } 156 | 100% { 157 | opacity: 0; 158 | } 159 | } 160 | .fadeOut { 161 | -webkit-animation-name: fadeOut; 162 | animation-name: fadeOut; 163 | } 164 | -------------------------------------------------------------------------------- /css/base/ms-pager.css: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: inline-block; 3 | padding-left: 0; 4 | margin: 20px 0; 5 | border-radius: 4px; } 6 | .pagination > li { 7 | display: inline; } 8 | .pagination > li > a, 9 | .pagination > li > span { 10 | position: relative; 11 | float: left; 12 | padding: 6px 12px; 13 | line-height: 1.42857; 14 | text-decoration: none; 15 | color: #337ab7; 16 | background-color: #fff; 17 | border: 1px solid #ddd; 18 | margin-left: -1px; } 19 | .pagination > li:first-child > a, 20 | .pagination > li:first-child > span { 21 | margin-left: 0; 22 | border-bottom-left-radius: 4px; 23 | border-top-left-radius: 4px; } 24 | .pagination > li:last-child > a, 25 | .pagination > li:last-child > span { 26 | border-bottom-right-radius: 4px; 27 | border-top-right-radius: 4px; } 28 | .pagination > li > a:hover, .pagination > li > a:focus, 29 | .pagination > li > span:hover, 30 | .pagination > li > span:focus { 31 | z-index: 2; 32 | color: #23527c; 33 | background-color: #eeeeee; 34 | border-color: #ddd; } 35 | .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, 36 | .pagination > .active > span, 37 | .pagination > .active > span:hover, 38 | .pagination > .active > span:focus { 39 | z-index: 3; 40 | color: #fff; 41 | background-color: #337ab7; 42 | border-color: #337ab7; 43 | cursor: default; } 44 | .pagination > .disabled > span, 45 | .pagination > .disabled > span:hover, 46 | .pagination > .disabled > span:focus, 47 | .pagination > .disabled > a, 48 | .pagination > .disabled > a:hover, 49 | .pagination > .disabled > a:focus { 50 | color: #777777; 51 | background-color: #fff; 52 | border-color: #ddd; 53 | cursor: not-allowed; } 54 | -------------------------------------------------------------------------------- /css/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /css/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /css/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /css/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /css/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /css/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /css/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /css/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | -------------------------------------------------------------------------------- /css/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /css/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /css/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /css/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /css/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | 15 | .fa-icon-rotate(@degrees, @rotation) { 16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 17 | -webkit-transform: rotate(@degrees); 18 | -ms-transform: rotate(@degrees); 19 | transform: rotate(@degrees); 20 | } 21 | 22 | .fa-icon-flip(@horiz, @vert, @rotation) { 23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 24 | -webkit-transform: scale(@horiz, @vert); 25 | -ms-transform: scale(@horiz, @vert); 26 | transform: scale(@horiz, @vert); 27 | } 28 | -------------------------------------------------------------------------------- /css/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /css/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /css/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | 15 | @mixin fa-icon-rotate($degrees, $rotation) { 16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 17 | -webkit-transform: rotate($degrees); 18 | -ms-transform: rotate($degrees); 19 | transform: rotate($degrees); 20 | } 21 | 22 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 24 | -webkit-transform: scale($horiz, $vert); 25 | -ms-transform: scale($horiz, $vert); 26 | transform: scale($horiz, $vert); 27 | } 28 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /css/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /css/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /css/plugins/awesome-bootstrap-checkbox/._awesome-bootstrap-checkbox.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/awesome-bootstrap-checkbox/._awesome-bootstrap-checkbox.css -------------------------------------------------------------------------------- /css/plugins/blueimp/css/blueimp-gallery-indicator.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* 3 | * blueimp Gallery Indicator CSS 1.1.0 4 | * https://github.com/blueimp/Gallery 5 | * 6 | * Copyright 2013, Sebastian Tschan 7 | * https://blueimp.net 8 | * 9 | * Licensed under the MIT license: 10 | * http://www.opensource.org/licenses/MIT 11 | */ 12 | 13 | .blueimp-gallery > .indicator { 14 | position: absolute; 15 | top: auto; 16 | right: 15px; 17 | bottom: 15px; 18 | left: 15px; 19 | margin: 0 40px; 20 | padding: 0; 21 | list-style: none; 22 | text-align: center; 23 | line-height: 10px; 24 | display: none; 25 | } 26 | .blueimp-gallery > .indicator > li { 27 | display: inline-block; 28 | width: 9px; 29 | height: 9px; 30 | margin: 6px 3px 0 3px; 31 | -webkit-box-sizing: content-box; 32 | -moz-box-sizing: content-box; 33 | box-sizing: content-box; 34 | border: 1px solid transparent; 35 | background: #ccc; 36 | background: rgba(255, 255, 255, 0.25) center no-repeat; 37 | border-radius: 5px; 38 | box-shadow: 0 0 2px #000; 39 | opacity: 0.5; 40 | cursor: pointer; 41 | } 42 | .blueimp-gallery > .indicator > li:hover, 43 | .blueimp-gallery > .indicator > .active { 44 | background-color: #fff; 45 | border-color: #fff; 46 | opacity: 1; 47 | } 48 | .blueimp-gallery-controls > .indicator { 49 | display: block; 50 | /* Fix z-index issues (controls behind slide element) on Android: */ 51 | -webkit-transform: translateZ(0); 52 | -moz-transform: translateZ(0); 53 | -ms-transform: translateZ(0); 54 | -o-transform: translateZ(0); 55 | transform: translateZ(0); 56 | } 57 | .blueimp-gallery-single > .indicator { 58 | display: none; 59 | } 60 | .blueimp-gallery > .indicator { 61 | -webkit-user-select: none; 62 | -khtml-user-select: none; 63 | -moz-user-select: none; 64 | -ms-user-select: none; 65 | user-select: none; 66 | } 67 | 68 | /* IE7 fixes */ 69 | *+html .blueimp-gallery > .indicator > li { 70 | display: inline; 71 | } 72 | -------------------------------------------------------------------------------- /css/plugins/blueimp/css/blueimp-gallery-video.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* 3 | * blueimp Gallery Video Factory CSS 1.3.0 4 | * https://github.com/blueimp/Gallery 5 | * 6 | * Copyright 2013, Sebastian Tschan 7 | * https://blueimp.net 8 | * 9 | * Licensed under the MIT license: 10 | * http://www.opensource.org/licenses/MIT 11 | */ 12 | 13 | .blueimp-gallery > .slides > .slide > .video-content > img { 14 | position: absolute; 15 | top: 0; 16 | right: 0; 17 | bottom: 0; 18 | left: 0; 19 | margin: auto; 20 | width: auto; 21 | height: auto; 22 | max-width: 100%; 23 | max-height: 100%; 24 | /* Prevent artifacts in Mozilla Firefox: */ 25 | -moz-backface-visibility: hidden; 26 | } 27 | .blueimp-gallery > .slides > .slide > .video-content > video { 28 | position: absolute; 29 | top: 0; 30 | left: 0; 31 | width: 100%; 32 | height: 100%; 33 | } 34 | .blueimp-gallery > .slides > .slide > .video-content > iframe { 35 | position: absolute; 36 | top: 100%; 37 | left: 0; 38 | width: 100%; 39 | height: 100%; 40 | border: none; 41 | } 42 | .blueimp-gallery > .slides > .slide > .video-playing > iframe { 43 | top: 0; 44 | } 45 | .blueimp-gallery > .slides > .slide > .video-content > a { 46 | position: absolute; 47 | top: 50%; 48 | right: 0; 49 | left: 0; 50 | margin: -64px auto 0; 51 | width: 128px; 52 | height: 128px; 53 | background: url(../img/video-play.png) center no-repeat; 54 | opacity: 0.8; 55 | cursor: pointer; 56 | } 57 | .blueimp-gallery > .slides > .slide > .video-content > a:hover { 58 | opacity: 1; 59 | } 60 | .blueimp-gallery > .slides > .slide > .video-playing > a, 61 | .blueimp-gallery > .slides > .slide > .video-playing > img { 62 | display: none; 63 | } 64 | .blueimp-gallery > .slides > .slide > .video-content > video { 65 | display: none; 66 | } 67 | .blueimp-gallery > .slides > .slide > .video-playing > video { 68 | display: block; 69 | } 70 | .blueimp-gallery > .slides > .slide > .video-loading > a { 71 | background: url(../img/loading.gif) center no-repeat; 72 | background-size: 64px 64px; 73 | } 74 | 75 | /* Replace PNGs with SVGs for capable browsers (excluding IE<9) */ 76 | body:last-child .blueimp-gallery > .slides > .slide > .video-content:not(.video-loading) > a { 77 | background-image: url(../img/video-play.svg); 78 | } 79 | 80 | /* IE7 fixes */ 81 | *+html .blueimp-gallery > .slides > .slide > .video-content { 82 | height: 100%; 83 | } 84 | *+html .blueimp-gallery > .slides > .slide > .video-content > a { 85 | left: 50%; 86 | margin-left: -64px; 87 | } 88 | -------------------------------------------------------------------------------- /css/plugins/blueimp/css/demo.css: -------------------------------------------------------------------------------- 1 | /* 2 | * blueimp Gallery Demo CSS 2.0.0 3 | * https://github.com/blueimp/Gallery 4 | * 5 | * Copyright 2013, Sebastian Tschan 6 | * https://blueimp.net 7 | * 8 | * Licensed under the MIT license: 9 | * http://www.opensource.org/licenses/MIT 10 | */ 11 | 12 | body { 13 | max-width: 750px; 14 | margin: 0 auto; 15 | padding: 1em; 16 | font-family: 'Lucida Grande', 'Lucida Sans Unicode', Arial, sans-serif; 17 | font-size: 1em; 18 | line-height: 1.4em; 19 | background: #222; 20 | color: #fff; 21 | -webkit-text-size-adjust: 100%; 22 | -ms-text-size-adjust: 100%; 23 | } 24 | a { 25 | color: orange; 26 | text-decoration: none; 27 | } 28 | img { 29 | border: 0; 30 | vertical-align: middle; 31 | } 32 | h1 { 33 | line-height: 1em; 34 | } 35 | h2, 36 | .links { 37 | text-align: center; 38 | } 39 | 40 | @media (min-width: 481px) { 41 | .navigation { 42 | list-style: none; 43 | padding: 0; 44 | } 45 | .navigation li { 46 | display: inline-block; 47 | } 48 | .navigation li:not(:first-child):before { 49 | content: '| '; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /css/plugins/blueimp/img/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/blueimp/img/error.png -------------------------------------------------------------------------------- /css/plugins/blueimp/img/error.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /css/plugins/blueimp/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/blueimp/img/loading.gif -------------------------------------------------------------------------------- /css/plugins/blueimp/img/play-pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/blueimp/img/play-pause.png -------------------------------------------------------------------------------- /css/plugins/blueimp/img/play-pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /css/plugins/blueimp/img/video-play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/blueimp/img/video-play.png -------------------------------------------------------------------------------- /css/plugins/blueimp/img/video-play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /css/plugins/bootstrap-markdown/bootstrap-markdown.min.css: -------------------------------------------------------------------------------- 1 | .md-editor{display:block;border:1px solid #ddd}.md-editor .md-footer,.md-editor>.md-header{display:block;padding:6px 4px;background:#f5f5f5}.md-editor>.md-header{margin:0}.md-editor>.md-preview{background:#fff;border-top:1px dashed #ddd;border-bottom:1px dashed #ddd;min-height:10px;overflow:auto}.md-editor>textarea{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:14px;outline:0;margin:0;display:block;padding:0;width:100%;border:0;border-top:1px dashed #ddd;border-bottom:1px dashed #ddd;border-radius:0;box-shadow:none;background:#eee}.md-editor>textarea:focus{box-shadow:none;background:#fff}.md-editor.active{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.md-editor .md-controls{float:right;padding:3px}.md-editor .md-controls .md-control{right:5px;color:#bebebe;padding:3px 3px 3px 10px}.md-editor .md-controls .md-control:hover{color:#333}.md-editor.md-fullscreen-mode{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999;padding:60px 30px 15px;background:#fff!important;border:0!important}.md-editor.md-fullscreen-mode .md-footer{display:none}.md-editor.md-fullscreen-mode .md-input,.md-editor.md-fullscreen-mode .md-preview{margin:0 auto!important;height:100%!important;font-size:20px!important;padding:20px!important;color:#999;line-height:1.6em!important;resize:none!important;box-shadow:none!important;background:#fff!important;border:0!important}.md-editor.md-fullscreen-mode .md-preview{color:#333;overflow:auto}.md-editor.md-fullscreen-mode .md-input:focus,.md-editor.md-fullscreen-mode .md-input:hover{color:#333;background:#fff!important}.md-editor.md-fullscreen-mode .md-header{background:0 0;text-align:center;position:fixed;width:100%;top:20px}.md-editor.md-fullscreen-mode .btn-group{float:none}.md-editor.md-fullscreen-mode .btn{border:0;background:0 0;color:#b3b3b3}.md-editor.md-fullscreen-mode .btn.active,.md-editor.md-fullscreen-mode .btn:active,.md-editor.md-fullscreen-mode .btn:focus,.md-editor.md-fullscreen-mode .btn:hover{box-shadow:none;color:#333}.md-editor.md-fullscreen-mode .md-fullscreen-controls{position:absolute;top:20px;right:20px;text-align:right;z-index:1002;display:block}.md-editor.md-fullscreen-mode .md-fullscreen-controls a{color:#b3b3b3;clear:right;margin:10px;width:30px;height:30px;text-align:center}.md-editor.md-fullscreen-mode .md-fullscreen-controls a:hover{color:#333;text-decoration:none}.md-editor.md-fullscreen-mode .md-editor{height:100%!important;position:relative}.md-editor .md-fullscreen-controls{display:none}.md-nooverflow{overflow:hidden;position:fixed;width:100%} -------------------------------------------------------------------------------- /css/plugins/bootstrapTour/bootstrap-tour.min.css: -------------------------------------------------------------------------------- 1 | /* ======================================================================== 2 | * bootstrap-tour - v0.10.1 3 | * http://bootstraptour.com 4 | * ======================================================================== 5 | * Copyright 2012-2013 Ulrich Sossou 6 | * 7 | * ======================================================================== 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | * ======================================================================== 20 | */ 21 | 22 | .tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background-color:#000;opacity:.8;filter:alpha(opacity=80)}.tour-step-backdrop{position:relative;z-index:1101;background:inherit}.tour-step-backdrop>td{position:relative;z-index:1101}.tour-step-background{position:absolute!important;z-index:1100;background:inherit;border-radius:6px}.popover[class*=tour-]{z-index:1100}.popover[class*=tour-] .popover-navigation{padding:9px 14px}.popover[class*=tour-] .popover-navigation [data-role=end]{float:right}.popover[class*=tour-] .popover-navigation [data-role=prev],.popover[class*=tour-] .popover-navigation [data-role=next],.popover[class*=tour-] .popover-navigation [data-role=end]{cursor:pointer}.popover[class*=tour-] .popover-navigation [data-role=prev].disabled,.popover[class*=tour-] .popover-navigation [data-role=next].disabled,.popover[class*=tour-] .popover-navigation [data-role=end].disabled{cursor:default}.popover[class*=tour-].orphan{position:fixed;margin-top:0}.popover[class*=tour-].orphan .arrow{display:none} -------------------------------------------------------------------------------- /css/plugins/c3/c3.min.css: -------------------------------------------------------------------------------- 1 | .c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:transparent}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:gray;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #CCC}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#FFF}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000} -------------------------------------------------------------------------------- /css/plugins/chosen/chosen-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/chosen/chosen-sprite.png -------------------------------------------------------------------------------- /css/plugins/chosen/chosen-sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/chosen/chosen-sprite@2x.png -------------------------------------------------------------------------------- /css/plugins/clockpicker/._clockpicker.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/clockpicker/._clockpicker.css -------------------------------------------------------------------------------- /css/plugins/clockpicker/clockpicker.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * ClockPicker v{package.version} for Bootstrap (http://weareoutman.github.io/clockpicker/) 3 | * Copyright 2014 Wang Shenwei. 4 | * Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE) 5 | */ 6 | 7 | .clockpicker .input-group-addon { 8 | cursor: pointer; 9 | } 10 | .clockpicker-moving { 11 | cursor: move; 12 | } 13 | .clockpicker-align-left.popover > .arrow { 14 | left: 25px; 15 | } 16 | .clockpicker-align-top.popover > .arrow { 17 | top: 17px; 18 | } 19 | .clockpicker-align-right.popover > .arrow { 20 | left: auto; 21 | right: 25px; 22 | } 23 | .clockpicker-align-bottom.popover > .arrow { 24 | top: auto; 25 | bottom: 6px; 26 | } 27 | .clockpicker-popover .popover-title { 28 | background-color: #fff; 29 | color: #999; 30 | font-size: 24px; 31 | font-weight: bold; 32 | line-height: 30px; 33 | text-align: center; 34 | } 35 | .clockpicker-popover .popover-title span { 36 | cursor: pointer; 37 | } 38 | .clockpicker-popover .popover-content { 39 | background-color: #f8f8f8; 40 | padding: 12px; 41 | } 42 | .popover-content:last-child { 43 | border-bottom-left-radius: 5px; 44 | border-bottom-right-radius: 5px; 45 | } 46 | .clockpicker-plate { 47 | background-color: #fff; 48 | border: 1px solid #ccc; 49 | border-radius: 50%; 50 | width: 200px; 51 | height: 200px; 52 | overflow: visible; 53 | position: relative; 54 | /* Disable text selection highlighting. Thanks to Hermanya */ 55 | -webkit-touch-callout: none; 56 | -webkit-user-select: none; 57 | -khtml-user-select: none; 58 | -moz-user-select: none; 59 | -ms-user-select: none; 60 | user-select: none; 61 | } 62 | .clockpicker-canvas, 63 | .clockpicker-dial { 64 | width: 200px; 65 | height: 200px; 66 | position: absolute; 67 | left: -1px; 68 | top: -1px; 69 | } 70 | .clockpicker-minutes { 71 | visibility: hidden; 72 | } 73 | .clockpicker-tick { 74 | border-radius: 50%; 75 | color: #666; 76 | line-height: 26px; 77 | text-align: center; 78 | width: 26px; 79 | height: 26px; 80 | position: absolute; 81 | cursor: pointer; 82 | } 83 | .clockpicker-tick.active, 84 | .clockpicker-tick:hover { 85 | background-color: rgb(192, 229, 247); 86 | background-color: rgba(0, 149, 221, .25); 87 | } 88 | .clockpicker-button { 89 | background-image: none; 90 | background-color: #fff; 91 | border-width: 1px 0 0; 92 | border-top-left-radius: 0; 93 | border-top-right-radius: 0; 94 | margin: 0; 95 | padding: 10px 0; 96 | } 97 | .clockpicker-button:hover { 98 | background-image: none; 99 | background-color: #ebebeb; 100 | } 101 | .clockpicker-button:focus { 102 | outline: none!important; 103 | } 104 | .clockpicker-dial { 105 | -webkit-transition: -webkit-transform 350ms, opacity 350ms; 106 | -moz-transition: -moz-transform 350ms, opacity 350ms; 107 | -ms-transition: -ms-transform 350ms, opacity 350ms; 108 | -o-transition: -o-transform 350ms, opacity 350ms; 109 | transition: transform 350ms, opacity 350ms; 110 | } 111 | .clockpicker-dial-out { 112 | opacity: 0; 113 | } 114 | .clockpicker-hours.clockpicker-dial-out { 115 | -webkit-transform: scale(1.2, 1.2); 116 | -moz-transform: scale(1.2, 1.2); 117 | -ms-transform: scale(1.2, 1.2); 118 | -o-transform: scale(1.2, 1.2); 119 | transform: scale(1.2, 1.2); 120 | } 121 | .clockpicker-minutes.clockpicker-dial-out { 122 | -webkit-transform: scale(.8, .8); 123 | -moz-transform: scale(.8, .8); 124 | -ms-transform: scale(.8, .8); 125 | -o-transform: scale(.8, .8); 126 | transform: scale(.8, .8); 127 | } 128 | .clockpicker-canvas { 129 | -webkit-transition: opacity 175ms; 130 | -moz-transition: opacity 175ms; 131 | -ms-transition: opacity 175ms; 132 | -o-transition: opacity 175ms; 133 | transition: opacity 175ms; 134 | } 135 | .clockpicker-canvas-out { 136 | opacity: 0.25; 137 | } 138 | .clockpicker-canvas-bearing, 139 | .clockpicker-canvas-fg { 140 | stroke: none; 141 | fill: rgb(0, 149, 221); 142 | } 143 | .clockpicker-canvas-bg { 144 | stroke: none; 145 | fill: rgb(192, 229, 247); 146 | } 147 | .clockpicker-canvas-bg-trans { 148 | fill: rgba(0, 149, 221, .25); 149 | } 150 | .clockpicker-canvas line { 151 | stroke: rgb(0, 149, 221); 152 | stroke-width: 1; 153 | stroke-linecap: round; 154 | /*shape-rendering: crispEdges;*/ 155 | } 156 | .clockpicker-button.am-button { 157 | margin: 1px; 158 | padding: 5px; 159 | border: 1px solid rgba(0, 0, 0, .2); 160 | border-radius: 4px; 161 | 162 | } 163 | .clockpicker-button.pm-button { 164 | margin: 1px 1px 1px 136px; 165 | padding: 5px; 166 | border: 1px solid rgba(0, 0, 0, .2); 167 | border-radius: 4px; 168 | } 169 | -------------------------------------------------------------------------------- /css/plugins/colorpicker/bootstrap-colorpicker.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Colorpicker 3 | * http://mjolnic.github.io/bootstrap-colorpicker/ 4 | * 5 | * Originally written by (c) 2012 Stefan Petre 6 | * Licensed under the Apache License v2.0 7 | * http://www.apache.org/licenses/LICENSE-2.0.txt 8 | * 9 | */.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("../images/bootstrap-colorpicker/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("../images/bootstrap-colorpicker/hue.png")}.colorpicker-alpha{display:none;background-image:url("../images/bootstrap-colorpicker/alpha.png")}.colorpicker{top:0;left:0;z-index:2500;min-width:130px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1}.colorpicker:before,.colorpicker:after{display:table;line-height:0;content:""}.colorpicker:after{clear:both}.colorpicker:before{position:absolute;top:-7px;left:6px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.colorpicker:after{position:absolute;top:-6px;left:7px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("../images/bootstrap-colorpicker/alpha.png");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-element .input-group-addon i,.colorpicker-element .add-on i{display:inline-block;width:16px;height:16px;vertical-align:text-top;cursor:pointer}.colorpicker.colorpicker-inline{position:relative;z-index:auto;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;height:auto;min-width:110px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("../images/bootstrap-colorpicker/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("../images/bootstrap-colorpicker/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block} -------------------------------------------------------------------------------- /css/plugins/cropper/cropper.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Cropper v0.7.6-beta 3 | * https://github.com/fengyuanchen/cropper 4 | * 5 | * Copyright 2014 Fengyuan Chen 6 | * Released under the MIT license 7 | */ 8 | 9 | .cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-modal,.cropper-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed} -------------------------------------------------------------------------------- /css/plugins/dataTables/dataTables.bootstrap.css: -------------------------------------------------------------------------------- 1 | div.dataTables_length label { 2 | float: left; 3 | text-align: left; 4 | font-weight: normal; 5 | } 6 | 7 | div.dataTables_length select { 8 | width: 75px; 9 | } 10 | 11 | div.dataTables_filter label { 12 | float: right; 13 | font-weight: normal; 14 | } 15 | 16 | div.dataTables_filter input { 17 | width: 16em; 18 | } 19 | 20 | div.dataTables_info { 21 | padding-top: 8px; 22 | } 23 | 24 | div.dataTables_paginate { 25 | float: right; 26 | margin: 0; 27 | } 28 | 29 | div.dataTables_paginate ul.pagination { 30 | margin: 2px 0; 31 | white-space: nowrap; 32 | } 33 | 34 | table.dataTable, 35 | table.dataTable td, 36 | table.dataTable th { 37 | -webkit-box-sizing: content-box; 38 | -moz-box-sizing: content-box; 39 | box-sizing: content-box; 40 | } 41 | 42 | table.dataTable { 43 | clear: both; 44 | margin-top: 6px !important; 45 | margin-bottom: 6px !important; 46 | max-width: none !important; 47 | } 48 | 49 | table.dataTable thead .sorting, 50 | table.dataTable thead .sorting_asc, 51 | table.dataTable thead .sorting_desc, 52 | table.dataTable thead .sorting_asc_disabled, 53 | table.dataTable thead .sorting_desc_disabled { 54 | cursor: pointer; 55 | } 56 | 57 | table.dataTable thead .sorting { 58 | background: url('../images/sort_both.png') no-repeat center right; 59 | } 60 | 61 | table.dataTable thead .sorting_asc { 62 | background: url('../images/sort_asc.png') no-repeat center right; 63 | } 64 | 65 | table.dataTable thead .sorting_desc { 66 | background: url('../images/sort_desc.png') no-repeat center right; 67 | } 68 | 69 | table.dataTable thead .sorting_asc_disabled { 70 | background: url('../images/sort_asc_disabled.png') no-repeat center right; 71 | } 72 | 73 | table.dataTable thead .sorting_desc_disabled { 74 | background: url('../images/sort_desc_disabled.png') no-repeat center right; 75 | } 76 | 77 | table.dataTable th:active { 78 | outline: none; 79 | } 80 | 81 | /* Scrolling */ 82 | 83 | div.dataTables_scrollHead table { 84 | margin-bottom: 0 !important; 85 | border-bottom-left-radius: 0; 86 | border-bottom-right-radius: 0; 87 | } 88 | 89 | div.dataTables_scrollHead table thead tr:last-child th:first-child, 90 | div.dataTables_scrollHead table thead tr:last-child td:first-child { 91 | border-bottom-left-radius: 0 !important; 92 | border-bottom-right-radius: 0 !important; 93 | } 94 | 95 | div.dataTables_scrollBody table { 96 | margin-top: 0 !important; 97 | margin-bottom: 0 !important; 98 | border-top: none; 99 | } 100 | 101 | div.dataTables_scrollBody tbody tr:first-child th, 102 | div.dataTables_scrollBody tbody tr:first-child td { 103 | border-top: none; 104 | } 105 | 106 | div.dataTables_scrollFoot table { 107 | margin-top: 0 !important; 108 | border-top: none; 109 | } 110 | 111 | /* 112 | * TableTools styles 113 | */ 114 | 115 | .table tbody tr.active td, 116 | .table tbody tr.active th { 117 | color: white; 118 | background-color: #08C; 119 | } 120 | 121 | .table tbody tr.active:hover td, 122 | .table tbody tr.active:hover th { 123 | background-color: #0075b0 !important; 124 | } 125 | 126 | .table tbody tr.active a { 127 | color: white; 128 | } 129 | 130 | .table-striped tbody tr.active:nth-child(odd) td, 131 | .table-striped tbody tr.active:nth-child(odd) th { 132 | background-color: #017ebc; 133 | } 134 | 135 | table.DTTT_selectable tbody tr { 136 | cursor: pointer; 137 | } 138 | 139 | div.DTTT .btn { 140 | font-size: 12px; 141 | color: #333 !important; 142 | } 143 | 144 | div.DTTT .btn:hover { 145 | text-decoration: none !important; 146 | } 147 | 148 | ul.DTTT_dropdown.dropdown-menu { 149 | z-index: 2003; 150 | } 151 | 152 | ul.DTTT_dropdown.dropdown-menu a { 153 | color: #333 !important; /* needed only when demo_page.css is included */ 154 | } 155 | 156 | ul.DTTT_dropdown.dropdown-menu li { 157 | position: relative; 158 | } 159 | 160 | ul.DTTT_dropdown.dropdown-menu li:hover a { 161 | color: white !important; 162 | background-color: #0088cc; 163 | } 164 | 165 | div.DTTT_collection_background { 166 | z-index: 2002; 167 | } 168 | 169 | /* TableTools information display */ 170 | 171 | div.DTTT_print_info.modal { 172 | height: 150px; 173 | margin-top: -75px; 174 | text-align: center; 175 | } 176 | 177 | div.DTTT_print_info h6 { 178 | margin: 1em; 179 | font-size: 28px; 180 | font-weight: normal; 181 | line-height: 28px; 182 | } 183 | 184 | div.DTTT_print_info p { 185 | font-size: 14px; 186 | line-height: 20px; 187 | } 188 | 189 | /* 190 | * FixedColumns styles 191 | */ 192 | 193 | div.DTFC_LeftHeadWrapper table, 194 | div.DTFC_LeftFootWrapper table, 195 | div.DTFC_RightHeadWrapper table, 196 | div.DTFC_RightFootWrapper table, 197 | table.DTFC_Cloned tr.even { 198 | background-color: white; 199 | } 200 | 201 | div.DTFC_RightHeadWrapper table, 202 | div.DTFC_LeftHeadWrapper table { 203 | margin-bottom: 0 !important; 204 | border-top-right-radius: 0 !important; 205 | border-bottom-left-radius: 0 !important; 206 | border-bottom-right-radius: 0 !important; 207 | } 208 | 209 | div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child, 210 | div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child, 211 | div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child, 212 | div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child { 213 | border-bottom-left-radius: 0 !important; 214 | border-bottom-right-radius: 0 !important; 215 | } 216 | 217 | div.DTFC_RightBodyWrapper table, 218 | div.DTFC_LeftBodyWrapper table { 219 | margin-bottom: 0 !important; 220 | border-top: none; 221 | } 222 | 223 | div.DTFC_RightBodyWrapper tbody tr:first-child th, 224 | div.DTFC_RightBodyWrapper tbody tr:first-child td, 225 | div.DTFC_LeftBodyWrapper tbody tr:first-child th, 226 | div.DTFC_LeftBodyWrapper tbody tr:first-child td { 227 | border-top: none; 228 | } 229 | 230 | div.DTFC_RightFootWrapper table, 231 | div.DTFC_LeftFootWrapper table { 232 | border-top: none; 233 | } -------------------------------------------------------------------------------- /css/plugins/dataTables/dataTables.responsive.css: -------------------------------------------------------------------------------- 1 | table.dataTable.dtr-inline.collapsed tbody td:first-child, 2 | table.dataTable.dtr-inline.collapsed tbody th:first-child { 3 | position: relative; 4 | padding-left: 30px; 5 | cursor: pointer; 6 | } 7 | table.dataTable.dtr-inline.collapsed tbody td:first-child:before, 8 | table.dataTable.dtr-inline.collapsed tbody th:first-child:before { 9 | top: 8px; 10 | left: 4px; 11 | height: 16px; 12 | width: 16px; 13 | display: block; 14 | position: absolute; 15 | color: white; 16 | border: 2px solid white; 17 | border-radius: 16px; 18 | text-align: center; 19 | line-height: 14px; 20 | box-shadow: 0 0 3px #444; 21 | box-sizing: content-box; 22 | content: '+'; 23 | background-color: #31b131; 24 | } 25 | table.dataTable.dtr-inline.collapsed tbody td:first-child.dataTables_empty:before, 26 | table.dataTable.dtr-inline.collapsed tbody th:first-child.dataTables_empty:before { 27 | display: none; 28 | } 29 | table.dataTable.dtr-inline.collapsed tbody tr.parent td:first-child:before, 30 | table.dataTable.dtr-inline.collapsed tbody tr.parent th:first-child:before { 31 | content: '-'; 32 | background-color: #d33333; 33 | } 34 | table.dataTable.dtr-inline.collapsed tbody tr.child td:before { 35 | display: none; 36 | } 37 | table.dataTable.dtr-column tbody td.control, 38 | table.dataTable.dtr-column tbody th.control { 39 | position: relative; 40 | cursor: pointer; 41 | } 42 | table.dataTable.dtr-column tbody td.control:before, 43 | table.dataTable.dtr-column tbody th.control:before { 44 | top: 50%; 45 | left: 50%; 46 | height: 16px; 47 | width: 16px; 48 | margin-top: -10px; 49 | margin-left: -10px; 50 | display: block; 51 | position: absolute; 52 | color: white; 53 | border: 2px solid white; 54 | border-radius: 16px; 55 | text-align: center; 56 | line-height: 14px; 57 | box-shadow: 0 0 3px #444; 58 | box-sizing: content-box; 59 | content: '+'; 60 | background-color: #31b131; 61 | } 62 | table.dataTable.dtr-column tbody tr.parent td.control:before, 63 | table.dataTable.dtr-column tbody tr.parent th.control:before { 64 | content: '-'; 65 | background-color: #d33333; 66 | } 67 | table.dataTable tr.child { 68 | padding: 0.5em 1em; 69 | } 70 | table.dataTable tr.child:hover { 71 | background: transparent !important; 72 | } 73 | table.dataTable tr.child ul { 74 | display: inline-block; 75 | list-style-type: none; 76 | margin: 0; 77 | padding: 0; 78 | } 79 | table.dataTable tr.child ul li { 80 | border-bottom: 1px solid #efefef; 81 | padding: 0.5em 0; 82 | } 83 | table.dataTable tr.child ul li:first-child { 84 | padding-top: 0; 85 | } 86 | table.dataTable tr.child ul li:last-child { 87 | border-bottom: none; 88 | } 89 | table.dataTable tr.child span.dtr-title { 90 | display: inline-block; 91 | min-width: 75px; 92 | font-weight: bold; 93 | } 94 | -------------------------------------------------------------------------------- /css/plugins/daterangepicker/._daterangepicker-bs3.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/daterangepicker/._daterangepicker-bs3.css -------------------------------------------------------------------------------- /css/plugins/dropzone/basic.css: -------------------------------------------------------------------------------- 1 | /* The MIT License */ 2 | .dropzone, 3 | .dropzone *, 4 | .dropzone-previews, 5 | .dropzone-previews * { 6 | -webkit-box-sizing: border-box; 7 | -moz-box-sizing: border-box; 8 | box-sizing: border-box; 9 | } 10 | .dropzone { 11 | position: relative; 12 | border: 1px solid rgba(0,0,0,0.08); 13 | background: rgba(0,0,0,0.02); 14 | padding: 1em; 15 | } 16 | .dropzone.dz-clickable { 17 | cursor: pointer; 18 | } 19 | .dropzone.dz-clickable .dz-message, 20 | .dropzone.dz-clickable .dz-message span { 21 | cursor: pointer; 22 | } 23 | .dropzone.dz-clickable * { 24 | cursor: default; 25 | } 26 | .dropzone .dz-message { 27 | opacity: 1; 28 | -ms-filter: none; 29 | filter: none; 30 | } 31 | .dropzone.dz-drag-hover { 32 | border-color: rgba(0,0,0,0.15); 33 | background: rgba(0,0,0,0.04); 34 | } 35 | .dropzone.dz-started .dz-message { 36 | display: none; 37 | } 38 | .dropzone .dz-preview, 39 | .dropzone-previews .dz-preview { 40 | background: rgba(255,255,255,0.8); 41 | position: relative; 42 | display: inline-block; 43 | margin: 17px; 44 | vertical-align: top; 45 | border: 1px solid #acacac; 46 | padding: 6px 6px 6px 6px; 47 | } 48 | .dropzone .dz-preview.dz-file-preview [data-dz-thumbnail], 49 | .dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] { 50 | display: none; 51 | } 52 | .dropzone .dz-preview .dz-details, 53 | .dropzone-previews .dz-preview .dz-details { 54 | width: 100px; 55 | height: 100px; 56 | position: relative; 57 | background: #ebebeb; 58 | padding: 5px; 59 | margin-bottom: 22px; 60 | } 61 | .dropzone .dz-preview .dz-details .dz-filename, 62 | .dropzone-previews .dz-preview .dz-details .dz-filename { 63 | overflow: hidden; 64 | height: 100%; 65 | } 66 | .dropzone .dz-preview .dz-details img, 67 | .dropzone-previews .dz-preview .dz-details img { 68 | position: absolute; 69 | top: 0; 70 | left: 0; 71 | width: 100px; 72 | height: 100px; 73 | } 74 | .dropzone .dz-preview .dz-details .dz-size, 75 | .dropzone-previews .dz-preview .dz-details .dz-size { 76 | position: absolute; 77 | bottom: -28px; 78 | left: 3px; 79 | height: 28px; 80 | line-height: 28px; 81 | } 82 | .dropzone .dz-preview.dz-error .dz-error-mark, 83 | .dropzone-previews .dz-preview.dz-error .dz-error-mark { 84 | display: block; 85 | } 86 | .dropzone .dz-preview.dz-success .dz-success-mark, 87 | .dropzone-previews .dz-preview.dz-success .dz-success-mark { 88 | display: block; 89 | } 90 | .dropzone .dz-preview:hover .dz-details img, 91 | .dropzone-previews .dz-preview:hover .dz-details img { 92 | display: none; 93 | } 94 | .dropzone .dz-preview .dz-success-mark, 95 | .dropzone-previews .dz-preview .dz-success-mark, 96 | .dropzone .dz-preview .dz-error-mark, 97 | .dropzone-previews .dz-preview .dz-error-mark { 98 | display: none; 99 | position: absolute; 100 | width: 40px; 101 | height: 40px; 102 | font-size: 30px; 103 | text-align: center; 104 | right: -10px; 105 | top: -10px; 106 | } 107 | .dropzone .dz-preview .dz-success-mark, 108 | .dropzone-previews .dz-preview .dz-success-mark { 109 | color: #8cc657; 110 | } 111 | .dropzone .dz-preview .dz-error-mark, 112 | .dropzone-previews .dz-preview .dz-error-mark { 113 | color: #ee162d; 114 | } 115 | .dropzone .dz-preview .dz-progress, 116 | .dropzone-previews .dz-preview .dz-progress { 117 | position: absolute; 118 | top: 100px; 119 | left: 6px; 120 | right: 6px; 121 | height: 6px; 122 | background: #d7d7d7; 123 | display: none; 124 | } 125 | .dropzone .dz-preview .dz-progress .dz-upload, 126 | .dropzone-previews .dz-preview .dz-progress .dz-upload { 127 | display: block; 128 | position: absolute; 129 | top: 0; 130 | bottom: 0; 131 | left: 0; 132 | width: 0%; 133 | background-color: #8cc657; 134 | } 135 | .dropzone .dz-preview.dz-processing .dz-progress, 136 | .dropzone-previews .dz-preview.dz-processing .dz-progress { 137 | display: block; 138 | } 139 | .dropzone .dz-preview .dz-error-message, 140 | .dropzone-previews .dz-preview .dz-error-message { 141 | display: none; 142 | position: absolute; 143 | top: -5px; 144 | left: -20px; 145 | background: rgba(245,245,245,0.8); 146 | padding: 8px 10px; 147 | color: #800; 148 | min-width: 140px; 149 | max-width: 500px; 150 | z-index: 500; 151 | } 152 | .dropzone .dz-preview:hover.dz-error .dz-error-message, 153 | .dropzone-previews .dz-preview:hover.dz-error .dz-error-message { 154 | display: block; 155 | } 156 | -------------------------------------------------------------------------------- /css/plugins/footable/._fonts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/._fonts -------------------------------------------------------------------------------- /css/plugins/footable/._footable.core.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/._footable.core.css -------------------------------------------------------------------------------- /css/plugins/footable/fonts/._footable.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/fonts/._footable.eot -------------------------------------------------------------------------------- /css/plugins/footable/fonts/._footable.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/fonts/._footable.svg -------------------------------------------------------------------------------- /css/plugins/footable/fonts/._footable.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/fonts/._footable.ttf -------------------------------------------------------------------------------- /css/plugins/footable/fonts/._footable.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/fonts/._footable.woff -------------------------------------------------------------------------------- /css/plugins/footable/fonts/footable.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/fonts/footable.eot -------------------------------------------------------------------------------- /css/plugins/footable/fonts/footable.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/fonts/footable.ttf -------------------------------------------------------------------------------- /css/plugins/footable/fonts/footable.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/footable/fonts/footable.woff -------------------------------------------------------------------------------- /css/plugins/footable/footable.core.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'footable'; 3 | src: url('fonts/footable.eot'); 4 | src: url('fonts/footable.eot?#iefix') format('embedded-opentype'), url('fonts/footable.woff') format('woff'), url('fonts/footable.ttf') format('truetype'), url('fonts/footable.svg#footable') format('svg'); 5 | font-weight: normal; 6 | font-style: normal; 7 | } 8 | @media screen and (-webkit-min-device-pixel-ratio: 0) { 9 | @font-face { 10 | font-family: 'footable'; 11 | src: url('fonts/footable.svg#footable') format('svg'); 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | } 16 | .footable { 17 | width: 100%; 18 | /** SORTING **/ 19 | 20 | /** PAGINATION **/ 21 | 22 | } 23 | .footable.breakpoint > tbody > tr.footable-detail-show > td { 24 | border-bottom: none; 25 | } 26 | .footable.breakpoint > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 27 | content: "\e001"; 28 | } 29 | .footable.breakpoint > tbody > tr:hover:not(.footable-row-detail) { 30 | cursor: pointer; 31 | } 32 | .footable.breakpoint > tbody > tr > td.footable-cell-detail { 33 | background: #eee; 34 | border-top: none; 35 | } 36 | .footable.breakpoint > tbody > tr > td > span.footable-toggle { 37 | display: inline-block; 38 | font-family: 'footable'; 39 | speak: none; 40 | font-style: normal; 41 | font-weight: normal; 42 | font-variant: normal; 43 | text-transform: none; 44 | -webkit-font-smoothing: antialiased; 45 | padding-right: 5px; 46 | font-size: 14px; 47 | color: #888888; 48 | } 49 | .footable.breakpoint > tbody > tr > td > span.footable-toggle:before { 50 | content: "\e000"; 51 | } 52 | .footable.breakpoint.toggle-circle > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 53 | content: "\e005"; 54 | } 55 | .footable.breakpoint.toggle-circle > tbody > tr > td > span.footable-toggle:before { 56 | content: "\e004"; 57 | } 58 | .footable.breakpoint.toggle-circle-filled > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 59 | content: "\e003"; 60 | } 61 | .footable.breakpoint.toggle-circle-filled > tbody > tr > td > span.footable-toggle:before { 62 | content: "\e002"; 63 | } 64 | .footable.breakpoint.toggle-square > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 65 | content: "\e007"; 66 | } 67 | .footable.breakpoint.toggle-square > tbody > tr > td > span.footable-toggle:before { 68 | content: "\e006"; 69 | } 70 | .footable.breakpoint.toggle-square-filled > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 71 | content: "\e009"; 72 | } 73 | .footable.breakpoint.toggle-square-filled > tbody > tr > td > span.footable-toggle:before { 74 | content: "\e008"; 75 | } 76 | .footable.breakpoint.toggle-arrow > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 77 | content: "\e00f"; 78 | } 79 | .footable.breakpoint.toggle-arrow > tbody > tr > td > span.footable-toggle:before { 80 | content: "\e011"; 81 | } 82 | .footable.breakpoint.toggle-arrow-small > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 83 | content: "\e013"; 84 | } 85 | .footable.breakpoint.toggle-arrow-small > tbody > tr > td > span.footable-toggle:before { 86 | content: "\e015"; 87 | } 88 | .footable.breakpoint.toggle-arrow-circle > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 89 | content: "\e01b"; 90 | } 91 | .footable.breakpoint.toggle-arrow-circle > tbody > tr > td > span.footable-toggle:before { 92 | content: "\e01d"; 93 | } 94 | .footable.breakpoint.toggle-arrow-circle-filled > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 95 | content: "\e00b"; 96 | } 97 | .footable.breakpoint.toggle-arrow-circle-filled > tbody > tr > td > span.footable-toggle:before { 98 | content: "\e00d"; 99 | } 100 | .footable.breakpoint.toggle-arrow-tiny > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 101 | content: "\e01f"; 102 | } 103 | .footable.breakpoint.toggle-arrow-tiny > tbody > tr > td > span.footable-toggle:before { 104 | content: "\e021"; 105 | } 106 | .footable.breakpoint.toggle-arrow-alt > tbody > tr.footable-detail-show > td > span.footable-toggle:before { 107 | content: "\e017"; 108 | } 109 | .footable.breakpoint.toggle-arrow-alt > tbody > tr > td > span.footable-toggle:before { 110 | content: "\e019"; 111 | } 112 | .footable.breakpoint.toggle-medium > tbody > tr > td > span.footable-toggle { 113 | font-size: 18px; 114 | } 115 | .footable.breakpoint.toggle-large > tbody > tr > td > span.footable-toggle { 116 | font-size: 24px; 117 | } 118 | .footable > thead > tr > th { 119 | -webkit-touch-callout: none; 120 | -webkit-user-select: none; 121 | -khtml-user-select: none; 122 | -moz-user-select: -moz-none; 123 | -ms-user-select: none; 124 | user-select: none; 125 | } 126 | .footable > thead > tr > th.footable-sortable:hover { 127 | cursor: pointer; 128 | } 129 | .footable > thead > tr > th.footable-sorted > span.footable-sort-indicator:before { 130 | content: "\e013"; 131 | } 132 | .footable > thead > tr > th.footable-sorted-desc > span.footable-sort-indicator:before { 133 | content: "\e012"; 134 | } 135 | .footable > thead > tr > th > span.footable-sort-indicator { 136 | display: inline-block; 137 | font-family: 'footable'; 138 | speak: none; 139 | font-style: normal; 140 | font-weight: normal; 141 | font-variant: normal; 142 | text-transform: none; 143 | -webkit-font-smoothing: antialiased; 144 | padding-left: 5px; 145 | } 146 | .footable > thead > tr > th > span.footable-sort-indicator:before { 147 | content: "\e022"; 148 | } 149 | .footable > tfoot .pagination { 150 | margin: 0; 151 | } 152 | .footable.no-paging .hide-if-no-paging { 153 | display: none; 154 | } 155 | .footable-row-detail-inner { 156 | display: table; 157 | } 158 | .footable-row-detail-row { 159 | display: table-row; 160 | line-height: 1.5em; 161 | } 162 | .footable-row-detail-group { 163 | display: block; 164 | line-height: 2em; 165 | font-size: 1.2em; 166 | font-weight: bold; 167 | } 168 | .footable-row-detail-name { 169 | display: table-cell; 170 | font-weight: bold; 171 | padding-right: 0.5em; 172 | } 173 | .footable-row-detail-value { 174 | display: table-cell; 175 | } 176 | .footable-odd { 177 | background-color: #f7f7f7; 178 | } 179 | -------------------------------------------------------------------------------- /css/plugins/iCheck/custom.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, green 2 | ----------------------------------- */ 3 | .icheckbox_square-green, 4 | .iradio_square-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-green.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-green.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-green.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-green.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-green { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-green.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-green.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-green.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-green.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-green, 54 | .iradio_square-green { 55 | background-image: url(green@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /css/plugins/iCheck/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/iCheck/green.png -------------------------------------------------------------------------------- /css/plugins/iCheck/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/iCheck/green@2x.png -------------------------------------------------------------------------------- /css/plugins/images/bootstrap-colorpicker/alpha-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/bootstrap-colorpicker/alpha-horizontal.png -------------------------------------------------------------------------------- /css/plugins/images/bootstrap-colorpicker/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/bootstrap-colorpicker/alpha.png -------------------------------------------------------------------------------- /css/plugins/images/bootstrap-colorpicker/hue-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/bootstrap-colorpicker/hue-horizontal.png -------------------------------------------------------------------------------- /css/plugins/images/bootstrap-colorpicker/hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/bootstrap-colorpicker/hue.png -------------------------------------------------------------------------------- /css/plugins/images/bootstrap-colorpicker/saturation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/bootstrap-colorpicker/saturation.png -------------------------------------------------------------------------------- /css/plugins/images/sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/sort.png -------------------------------------------------------------------------------- /css/plugins/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/sort_asc.png -------------------------------------------------------------------------------- /css/plugins/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/sort_desc.png -------------------------------------------------------------------------------- /css/plugins/images/sprite-skin-flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/sprite-skin-flat.png -------------------------------------------------------------------------------- /css/plugins/images/sprite-skin-flat2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/sprite-skin-flat2.png -------------------------------------------------------------------------------- /css/plugins/images/sprite-skin-nice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/sprite-skin-nice.png -------------------------------------------------------------------------------- /css/plugins/images/sprite-skin-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/sprite-skin-simple.png -------------------------------------------------------------------------------- /css/plugins/images/spritemap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/spritemap.png -------------------------------------------------------------------------------- /css/plugins/images/spritemap@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/images/spritemap@2x.png -------------------------------------------------------------------------------- /css/plugins/ionRangeSlider/ion.rangeSlider.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider 2 | // css version 1.8.5 3 | // by Denis Ineshin | ionden.com 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // RangeSlider */ 8 | 9 | .irs { 10 | position: relative; display: block; 11 | } 12 | .irs-line { 13 | position: relative; display: block; 14 | overflow: hidden; 15 | } 16 | .irs-line-left, .irs-line-mid, .irs-line-right { 17 | position: absolute; display: block; 18 | top: 0; 19 | } 20 | .irs-line-left { 21 | left: 0; width: 10%; 22 | } 23 | .irs-line-mid { 24 | left: 10%; width: 80%; 25 | } 26 | .irs-line-right { 27 | right: 0; width: 10%; 28 | } 29 | 30 | .irs-diapason { 31 | position: absolute; display: block; 32 | left: 0; width: 100%; 33 | } 34 | .irs-slider { 35 | position: absolute; display: block; 36 | cursor: default; 37 | z-index: 1; 38 | } 39 | .irs-slider.single { 40 | left: 10px; 41 | } 42 | .irs-slider.single:before { 43 | position: absolute; display: block; content: ""; 44 | top: -30%; left: -30%; 45 | width: 160%; height: 160%; 46 | background: rgba(0,0,0,0.0); 47 | } 48 | .irs-slider.from { 49 | left: 100px; 50 | } 51 | .irs-slider.from:before { 52 | position: absolute; display: block; content: ""; 53 | top: -30%; left: -30%; 54 | width: 130%; height: 160%; 55 | background: rgba(0,0,0,0.0); 56 | } 57 | .irs-slider.to { 58 | left: 300px; 59 | } 60 | .irs-slider.to:before { 61 | position: absolute; display: block; content: ""; 62 | top: -30%; left: 0; 63 | width: 130%; height: 160%; 64 | background: rgba(0,0,0,0.0); 65 | } 66 | .irs-slider.last { 67 | z-index: 2; 68 | } 69 | 70 | .irs-min { 71 | position: absolute; display: block; 72 | left: 0; 73 | cursor: default; 74 | } 75 | .irs-max { 76 | position: absolute; display: block; 77 | right: 0; 78 | cursor: default; 79 | } 80 | 81 | .irs-from, .irs-to, .irs-single { 82 | position: absolute; display: block; 83 | top: 0; left: 0; 84 | cursor: default; 85 | white-space: nowrap; 86 | } 87 | 88 | 89 | .irs-grid { 90 | position: absolute; display: none; 91 | bottom: 0; left: 0; 92 | width: 100%; height: 20px; 93 | } 94 | .irs-with-grid .irs-grid { 95 | display: block; 96 | } 97 | .irs-grid-pol { 98 | position: absolute; 99 | top: 0; left: 0; 100 | width: 1px; height: 8px; 101 | background: #000; 102 | } 103 | .irs-grid-pol.small { 104 | height: 4px; 105 | } 106 | .irs-grid-text { 107 | position: absolute; 108 | bottom: 0; left: 0; 109 | width: 100px; 110 | white-space: nowrap; 111 | text-align: center; 112 | font-size: 9px; line-height: 9px; 113 | color: #000; 114 | } 115 | 116 | .irs-disable-mask { 117 | position: absolute; display: block; 118 | top: 0; left: 0; 119 | width: 100%; height: 100%; 120 | cursor: default; 121 | background: rgba(0,0,0,0.0); 122 | z-index: 2; 123 | } 124 | .irs-disabled { 125 | opacity: 0.4; 126 | } -------------------------------------------------------------------------------- /css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider, Flat UI Skin 2 | // css version 1.8.5 3 | // by Denis Ineshin | ionden.com 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // Skin details */ 8 | 9 | .irs-line-mid, 10 | .irs-line-left, 11 | .irs-line-right, 12 | .irs-diapason, 13 | .irs-slider { 14 | background: url(../images/sprite-skin-flat.png) repeat-x; 15 | } 16 | 17 | .irs { 18 | height: 40px; 19 | } 20 | .irs-with-grid { 21 | height: 60px; 22 | } 23 | .irs-line { 24 | height: 12px; top: 25px; 25 | } 26 | .irs-line-left { 27 | height: 12px; 28 | background-position: 0 -30px; 29 | } 30 | .irs-line-mid { 31 | height: 12px; 32 | background-position: 0 0; 33 | } 34 | .irs-line-right { 35 | height: 12px; 36 | background-position: 100% -30px; 37 | } 38 | 39 | .irs-diapason { 40 | height: 12px; top: 25px; 41 | background-position: 0 -60px; 42 | } 43 | 44 | .irs-slider { 45 | width: 16px; height: 18px; 46 | top: 22px; 47 | background-position: 0 -90px; 48 | } 49 | #irs-active-slider, .irs-slider:hover { 50 | background-position: 0 -120px; 51 | } 52 | 53 | .irs-min, .irs-max { 54 | color: #999; 55 | font-size: 10px; line-height: 1.333; 56 | text-shadow: none; 57 | top: 0; padding: 1px 3px; 58 | background: #e1e4e9; 59 | border-radius: 4px; 60 | } 61 | 62 | .irs-from, .irs-to, .irs-single { 63 | color: #fff; 64 | font-size: 10px; line-height: 1.333; 65 | text-shadow: none; 66 | padding: 1px 5px; 67 | background: #ed5565; 68 | border-radius: 4px; 69 | } 70 | .irs-from:after, .irs-to:after, .irs-single:after { 71 | position: absolute; display: block; content: ""; 72 | bottom: -6px; left: 50%; 73 | width: 0; height: 0; 74 | margin-left: -3px; 75 | overflow: hidden; 76 | border: 3px solid transparent; 77 | border-top-color: #ed5565; 78 | } 79 | 80 | 81 | .irs-grid-pol { 82 | background: #e1e4e9; 83 | } 84 | .irs-grid-text { 85 | color: #999; 86 | } 87 | 88 | .irs-disabled { 89 | } -------------------------------------------------------------------------------- /css/plugins/ionRangeSlider/ion.rangeSlider.skinNice.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider, Nice Skin 2 | // css version 1.8.5 3 | // by Denis Ineshin | ionden.com 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // Skin details */ 8 | 9 | .irs-line-mid, 10 | .irs-line-left, 11 | .irs-line-right, 12 | .irs-diapason, 13 | .irs-slider { 14 | background: url(../img/sprite-skin-nice.png) repeat-x; 15 | } 16 | 17 | .irs { 18 | height: 40px; 19 | } 20 | .irs-with-grid { 21 | height: 60px; 22 | } 23 | .irs-line { 24 | height: 8px; top: 25px; 25 | } 26 | .irs-line-left { 27 | height: 8px; 28 | background-position: 0 -30px; 29 | } 30 | .irs-line-mid { 31 | height: 8px; 32 | background-position: 0 0; 33 | } 34 | .irs-line-right { 35 | height: 8px; 36 | background-position: 100% -30px; 37 | } 38 | 39 | .irs-diapason { 40 | height: 8px; top: 25px; 41 | background-position: 0 -60px; 42 | } 43 | 44 | .irs-slider { 45 | width: 22px; height: 22px; 46 | top: 17px; 47 | background-position: 0 -90px; 48 | } 49 | #irs-active-slider, .irs-slider:hover { 50 | background-position: 0 -120px; 51 | } 52 | 53 | .irs-min, .irs-max { 54 | color: #999; 55 | font-size: 10px; line-height: 1.333; 56 | text-shadow: none; 57 | top: 0; padding: 1px 3px; 58 | background: rgba(0,0,0,0.1); 59 | border-radius: 3px; 60 | } 61 | .lt-ie9 .irs-min, .lt-ie9 .irs-max { 62 | background: #ccc; 63 | } 64 | 65 | .irs-from, .irs-to, .irs-single { 66 | color: #fff; 67 | font-size: 10px; line-height: 1.333; 68 | text-shadow: none; 69 | padding: 1px 5px; 70 | background: rgba(0,0,0,0.3); 71 | border-radius: 3px; 72 | } 73 | .lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single { 74 | background: #999; 75 | } 76 | 77 | .irs-grid-pol { 78 | background: #99a4ac; 79 | } 80 | .irs-grid-text { 81 | color: #99a4ac; 82 | } 83 | 84 | .irs-disabled { 85 | } -------------------------------------------------------------------------------- /css/plugins/ionRangeSlider/ion.rangeSlider.skinSimple.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider, Simple Skin 2 | // css version 1.8.5 3 | // by Denis Ineshin | ionden.com 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // Skin details */ 8 | 9 | .irs-line-mid, 10 | .irs-line-left, 11 | .irs-line-right, 12 | .irs-diapason, 13 | .irs-slider { 14 | background: url(../img/sprite-skin-simple.png) repeat-x; 15 | } 16 | 17 | .irs { 18 | height: 40px; 19 | } 20 | .irs-with-grid { 21 | height: 60px; 22 | } 23 | .irs-line { 24 | height: 6px; top: 25px; 25 | } 26 | .irs-line-left { 27 | height: 6px; 28 | background-position: 0 -30px; 29 | } 30 | .irs-line-mid { 31 | height: 6px; 32 | background-position: 0 0; 33 | } 34 | .irs-line-right { 35 | height: 6px; 36 | background-position: 100% -30px; 37 | } 38 | 39 | .irs-diapason { 40 | height: 6px; top: 25px; 41 | background-position: 0 -60px; 42 | } 43 | 44 | .irs-slider { 45 | width: 8px; height: 15px; 46 | top: 21px; 47 | background-position: 0 -90px; 48 | } 49 | #irs-active-slider, .irs-slider:hover { 50 | background-position: 0 -120px; 51 | } 52 | 53 | .irs-min, .irs-max { 54 | color: #c0c0c0; 55 | font-size: 10px; line-height: 1.333; 56 | text-shadow: none; 57 | top: 0; padding: 1px 3px; 58 | background: rgba(0,0,0,0.1); 59 | border-radius: 3px; 60 | } 61 | .lt-ie9 .irs-min, .lt-ie9 .irs-max { 62 | background: #3654b0; 63 | } 64 | 65 | .irs-from, .irs-to, .irs-single { 66 | color: #000; 67 | font-size: 10px; line-height: 1.333; 68 | text-shadow: none; 69 | padding: 1px 5px; 70 | background: rgba(255,255,255,0.8); 71 | border-radius: 3px; 72 | } 73 | .lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single { 74 | background: #d8dff3; 75 | } 76 | 77 | .irs-grid-pol { 78 | background: #777; 79 | } 80 | .irs-grid-text { 81 | color: #e0e0e0; 82 | } 83 | 84 | .irs-disabled { 85 | } -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/animated-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/animated-overlay.gif -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /css/plugins/jQueryUI/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jQueryUI/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /css/plugins/jsTree/32px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jsTree/32px.png -------------------------------------------------------------------------------- /css/plugins/jsTree/39px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jsTree/39px.png -------------------------------------------------------------------------------- /css/plugins/jsTree/40px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jsTree/40px.png -------------------------------------------------------------------------------- /css/plugins/jsTree/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/jsTree/throbber.gif -------------------------------------------------------------------------------- /css/plugins/morris/morris-0.4.3.min.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255, 255, 255, 0.8);border:solid 2px rgba(230, 230, 230, 0.8);font-family:sans-serif;font-size:12px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;} -------------------------------------------------------------------------------- /css/plugins/nouslider/jquery.nouislider.css: -------------------------------------------------------------------------------- 1 | 2 | /* Functional styling; 3 | * These styles are required for noUiSlider to function. 4 | * You don't need to change these rules to apply your design. 5 | */ 6 | .noUi-target, 7 | .noUi-target * { 8 | -webkit-touch-callout: none; 9 | -webkit-user-select: none; 10 | -ms-touch-action: none; 11 | -ms-user-select: none; 12 | -moz-user-select: none; 13 | -moz-box-sizing: border-box; 14 | box-sizing: border-box; 15 | } 16 | .noUi-base { 17 | width: 100%; 18 | height: 100%; 19 | position: relative; 20 | } 21 | .noUi-origin { 22 | position: absolute; 23 | right: 0; 24 | top: 0; 25 | left: 0; 26 | bottom: 0; 27 | } 28 | .noUi-handle { 29 | position: relative; 30 | z-index: 1; 31 | } 32 | .noUi-stacking .noUi-handle { 33 | /* This class is applied to the lower origin when 34 | its values is > 50%. */ 35 | z-index: 10; 36 | } 37 | .noUi-stacking + .noUi-origin { 38 | /* Fix stacking order in IE7, which incorrectly 39 | creates a new context for the origins. */ 40 | *z-index: -1; 41 | } 42 | .noUi-state-tap .noUi-origin { 43 | -webkit-transition: left 0.3s, top 0.3s; 44 | transition: left 0.3s, top 0.3s; 45 | } 46 | .noUi-state-drag * { 47 | cursor: inherit !important; 48 | } 49 | 50 | /* Slider size and handle placement; 51 | */ 52 | .noUi-horizontal { 53 | height: 18px; 54 | } 55 | .noUi-horizontal .noUi-handle { 56 | width: 34px; 57 | height: 28px; 58 | left: -17px; 59 | top: -6px; 60 | } 61 | .noUi-horizontal.noUi-extended { 62 | padding: 0 15px; 63 | } 64 | .noUi-horizontal.noUi-extended .noUi-origin { 65 | right: -15px; 66 | } 67 | .noUi-vertical { 68 | width: 18px; 69 | } 70 | .noUi-vertical .noUi-handle { 71 | width: 28px; 72 | height: 34px; 73 | left: -6px; 74 | top: -17px; 75 | } 76 | .noUi-vertical.noUi-extended { 77 | padding: 15px 0; 78 | } 79 | .noUi-vertical.noUi-extended .noUi-origin { 80 | bottom: -15px; 81 | } 82 | 83 | /* Styling; 84 | */ 85 | .noUi-background { 86 | background: #FAFAFA; 87 | box-shadow: inset 0 1px 1px #f0f0f0; 88 | } 89 | .noUi-connect { 90 | background: #3FB8AF; 91 | box-shadow: inset 0 0 3px rgba(51,51,51,0.45); 92 | -webkit-transition: background 450ms; 93 | transition: background 450ms; 94 | } 95 | .noUi-origin { 96 | border-radius: 2px; 97 | } 98 | .noUi-target { 99 | border-radius: 4px; 100 | border: 1px solid #D3D3D3; 101 | box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; 102 | } 103 | .noUi-target.noUi-connect { 104 | box-shadow: inset 0 0 3px rgba(51,51,51,0.45), 0 3px 6px -5px #BBB; 105 | } 106 | 107 | /* Handles and cursors; 108 | */ 109 | .noUi-dragable { 110 | cursor: w-resize; 111 | } 112 | .noUi-vertical .noUi-dragable { 113 | cursor: n-resize; 114 | } 115 | .noUi-handle { 116 | border: 1px solid #D9D9D9; 117 | border-radius: 3px; 118 | background: #FFF; 119 | cursor: default; 120 | box-shadow: inset 0 0 1px #FFF, 121 | inset 0 1px 7px #EBEBEB, 122 | 0 3px 6px -3px #BBB; 123 | } 124 | .noUi-active { 125 | box-shadow: inset 0 0 1px #FFF, 126 | inset 0 1px 7px #DDD, 127 | 0 3px 6px -3px #BBB; 128 | } 129 | 130 | /* Handle stripes; 131 | */ 132 | .noUi-handle:before, 133 | .noUi-handle:after { 134 | content: ""; 135 | display: block; 136 | position: absolute; 137 | height: 14px; 138 | width: 1px; 139 | background: #E8E7E6; 140 | left: 14px; 141 | top: 6px; 142 | } 143 | .noUi-handle:after { 144 | left: 17px; 145 | } 146 | .noUi-vertical .noUi-handle:before, 147 | .noUi-vertical .noUi-handle:after { 148 | width: 14px; 149 | height: 1px; 150 | left: 6px; 151 | top: 14px; 152 | } 153 | .noUi-vertical .noUi-handle:after { 154 | top: 17px; 155 | } 156 | 157 | /* Disabled state; 158 | */ 159 | [disabled].noUi-connect, 160 | [disabled] .noUi-connect { 161 | background: #B8B8B8; 162 | } 163 | [disabled] .noUi-handle { 164 | cursor: not-allowed; 165 | } 166 | -------------------------------------------------------------------------------- /css/plugins/slick/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/slick/ajax-loader.gif -------------------------------------------------------------------------------- /css/plugins/slick/fonts/slick.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/slick/fonts/slick.eot -------------------------------------------------------------------------------- /css/plugins/slick/fonts/slick.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by Fontastic.me 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /css/plugins/slick/fonts/slick.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/slick/fonts/slick.ttf -------------------------------------------------------------------------------- /css/plugins/slick/fonts/slick.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/slick/fonts/slick.woff -------------------------------------------------------------------------------- /css/plugins/slick/slick-theme.css: -------------------------------------------------------------------------------- 1 | @charset 'UTF-8'; 2 | /* Slider */ 3 | .slick-loading .slick-list 4 | { 5 | background: #fff url('ajax-loader.gif') center center no-repeat; 6 | } 7 | 8 | /* Icons */ 9 | @font-face 10 | { 11 | font-family: 'slick'; 12 | font-weight: normal; 13 | font-style: normal; 14 | 15 | src: url('fonts/slick.eot'); 16 | src: url('fonts/slick.eot?#iefix') format('embedded-opentype'), url('fonts/slick.woff') format('woff'), url('fonts/slick.ttf') format('truetype'), url('fonts/slick.svg#slick') format('svg'); 17 | } 18 | /* Arrows */ 19 | .slick-prev, 20 | .slick-next 21 | { 22 | font-size: 0; 23 | line-height: 0; 24 | 25 | position: absolute; 26 | top: 50%; 27 | 28 | display: block; 29 | 30 | width: 20px; 31 | height: 20px; 32 | margin-top: -10px; 33 | padding: 0; 34 | 35 | cursor: pointer; 36 | 37 | color: transparent; 38 | border: none; 39 | outline: none; 40 | background: transparent; 41 | } 42 | .slick-prev:hover, 43 | .slick-prev:focus, 44 | .slick-next:hover, 45 | .slick-next:focus 46 | { 47 | color: transparent; 48 | outline: none; 49 | background: transparent; 50 | } 51 | .slick-prev:hover:before, 52 | .slick-prev:focus:before, 53 | .slick-next:hover:before, 54 | .slick-next:focus:before 55 | { 56 | opacity: 1; 57 | } 58 | .slick-prev.slick-disabled:before, 59 | .slick-next.slick-disabled:before 60 | { 61 | opacity: .25; 62 | } 63 | 64 | .slick-prev:before, 65 | .slick-next:before 66 | { 67 | font-family: 'slick'; 68 | font-size: 20px; 69 | line-height: 1; 70 | 71 | opacity: .75; 72 | color: white; 73 | 74 | -webkit-font-smoothing: antialiased; 75 | -moz-osx-font-smoothing: grayscale; 76 | } 77 | 78 | .slick-prev 79 | { 80 | left: -25px; 81 | } 82 | [dir='rtl'] .slick-prev 83 | { 84 | right: -25px; 85 | left: auto; 86 | } 87 | .slick-prev:before 88 | { 89 | content: '←'; 90 | } 91 | [dir='rtl'] .slick-prev:before 92 | { 93 | content: '→'; 94 | } 95 | 96 | .slick-next 97 | { 98 | right: -25px; 99 | } 100 | [dir='rtl'] .slick-next 101 | { 102 | right: auto; 103 | left: -25px; 104 | } 105 | .slick-next:before 106 | { 107 | content: '→'; 108 | } 109 | [dir='rtl'] .slick-next:before 110 | { 111 | content: '←'; 112 | } 113 | 114 | /* Dots */ 115 | .slick-slider 116 | { 117 | margin-bottom: 30px; 118 | } 119 | 120 | .slick-dots 121 | { 122 | position: absolute; 123 | bottom: -45px; 124 | 125 | display: block; 126 | 127 | width: 100%; 128 | padding: 0; 129 | 130 | list-style: none; 131 | 132 | text-align: center; 133 | } 134 | .slick-dots li 135 | { 136 | position: relative; 137 | 138 | display: inline-block; 139 | 140 | width: 20px; 141 | height: 20px; 142 | margin: 0 5px; 143 | padding: 0; 144 | 145 | cursor: pointer; 146 | } 147 | .slick-dots li button 148 | { 149 | font-size: 0; 150 | line-height: 0; 151 | 152 | display: block; 153 | 154 | width: 20px; 155 | height: 20px; 156 | padding: 5px; 157 | 158 | cursor: pointer; 159 | 160 | color: transparent; 161 | border: 0; 162 | outline: none; 163 | background: transparent; 164 | } 165 | .slick-dots li button:hover, 166 | .slick-dots li button:focus 167 | { 168 | outline: none; 169 | } 170 | .slick-dots li button:hover:before, 171 | .slick-dots li button:focus:before 172 | { 173 | opacity: 1; 174 | } 175 | .slick-dots li button:before 176 | { 177 | font-family: 'slick'; 178 | font-size: 6px; 179 | line-height: 20px; 180 | 181 | position: absolute; 182 | top: 0; 183 | left: 0; 184 | 185 | width: 20px; 186 | height: 20px; 187 | 188 | content: '•'; 189 | text-align: center; 190 | 191 | opacity: .25; 192 | color: black; 193 | 194 | -webkit-font-smoothing: antialiased; 195 | -moz-osx-font-smoothing: grayscale; 196 | } 197 | .slick-dots li.slick-active button:before 198 | { 199 | opacity: .75; 200 | color: black; 201 | } 202 | -------------------------------------------------------------------------------- /css/plugins/slick/slick.css: -------------------------------------------------------------------------------- 1 | /* Slider */ 2 | .slick-slider 3 | { 4 | position: relative; 5 | 6 | display: block; 7 | 8 | -moz-box-sizing: border-box; 9 | box-sizing: border-box; 10 | 11 | -webkit-user-select: none; 12 | -moz-user-select: none; 13 | -ms-user-select: none; 14 | user-select: none; 15 | 16 | -webkit-touch-callout: none; 17 | -khtml-user-select: none; 18 | -ms-touch-action: pan-y; 19 | touch-action: pan-y; 20 | -webkit-tap-highlight-color: transparent; 21 | } 22 | 23 | .slick-list 24 | { 25 | position: relative; 26 | 27 | display: block; 28 | overflow: hidden; 29 | 30 | margin: 0; 31 | padding: 0; 32 | } 33 | .slick-list:focus 34 | { 35 | outline: none; 36 | } 37 | .slick-list.dragging 38 | { 39 | cursor: pointer; 40 | cursor: hand; 41 | } 42 | 43 | .slick-slider .slick-track, 44 | .slick-slider .slick-list 45 | { 46 | -webkit-transform: translate3d(0, 0, 0); 47 | -moz-transform: translate3d(0, 0, 0); 48 | -ms-transform: translate3d(0, 0, 0); 49 | -o-transform: translate3d(0, 0, 0); 50 | transform: translate3d(0, 0, 0); 51 | } 52 | 53 | .slick-track 54 | { 55 | position: relative; 56 | top: 0; 57 | left: 0; 58 | 59 | display: block; 60 | } 61 | .slick-track:before, 62 | .slick-track:after 63 | { 64 | display: table; 65 | 66 | content: ''; 67 | } 68 | .slick-track:after 69 | { 70 | clear: both; 71 | } 72 | .slick-loading .slick-track 73 | { 74 | visibility: hidden; 75 | } 76 | 77 | .slick-slide 78 | { 79 | display: none; 80 | float: left; 81 | 82 | height: 100%; 83 | min-height: 1px; 84 | } 85 | [dir='rtl'] .slick-slide 86 | { 87 | float: right; 88 | } 89 | .slick-slide img 90 | { 91 | display: block; 92 | } 93 | .slick-slide.slick-loading img 94 | { 95 | display: none; 96 | } 97 | .slick-slide.dragging img 98 | { 99 | pointer-events: none; 100 | } 101 | .slick-initialized .slick-slide 102 | { 103 | display: block; 104 | } 105 | .slick-loading .slick-slide 106 | { 107 | visibility: hidden; 108 | } 109 | .slick-vertical .slick-slide 110 | { 111 | display: block; 112 | 113 | height: auto; 114 | 115 | border: 1px solid transparent; 116 | } 117 | .slick-arrow.slick-hidden { 118 | display: none; 119 | } -------------------------------------------------------------------------------- /css/plugins/sweetalert/._sweetalert.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/css/plugins/sweetalert/._sweetalert.css -------------------------------------------------------------------------------- /css/plugins/switchery/switchery.css: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Main stylesheet for Switchery. 4 | * http://abpetkov.github.io/switchery/ 5 | * 6 | */ 7 | 8 | .switchery { 9 | background-color: #fff; 10 | border: 1px solid #dfdfdf; 11 | border-radius: 20px; 12 | cursor: pointer; 13 | display: inline-block; 14 | height: 30px; 15 | position: relative; 16 | vertical-align: middle; 17 | width: 50px; 18 | 19 | -webkit-box-sizing: content-box; 20 | -moz-box-sizing: content-box; 21 | box-sizing: content-box; 22 | } 23 | 24 | .switchery > small { 25 | background: #fff; 26 | border-radius: 100%; 27 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); 28 | height: 30px; 29 | position: absolute; 30 | top: 0; 31 | width: 30px; 32 | } -------------------------------------------------------------------------------- /css/plugins/touchspin/jquery.bootstrap-touchspin.min.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Bootstrap TouchSpin - v3.0.1 3 | * A mobile and touch friendly input spinner component for Bootstrap 3. 4 | * http://www.virtuosoft.eu/code/bootstrap-touchspin/ 5 | * 6 | * Made by István Ujj-Mészáros 7 | * Under Apache License v2.0 License 8 | */ 9 | 10 | .bootstrap-touchspin .input-group-btn-vertical{position:relative;white-space:nowrap;width:1%;vertical-align:middle;display:table-cell}.bootstrap-touchspin .input-group-btn-vertical>.btn{display:block;float:none;width:100%;max-width:100%;padding:8px 10px;margin-left:-1px;position:relative}.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up{border-radius:0;border-top-right-radius:4px}.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down{margin-top:-2px;border-radius:0;border-bottom-right-radius:4px}.bootstrap-touchspin .input-group-btn-vertical i{position:absolute;top:3px;left:5px;font-size:9px;font-weight:400} -------------------------------------------------------------------------------- /demo/avalon-effect-fade.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 29 | 30 |
31 |
32 | {{@aaa}} 33 |
34 | 36 |
37 | 51 | 52 | -------------------------------------------------------------------------------- /demo/avalon-slide-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 29 | 30 | -------------------------------------------------------------------------------- /demo/datepicker.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 62 | -------------------------------------------------------------------------------- /demo/dialog.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 弹窗 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 39 | -------------------------------------------------------------------------------- /demo/fy-alert.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |
18 | 弹窗 19 | 弹窗2 20 | 弹窗3 21 | 弹窗4 22 | 弹窗5 23 | 等待 24 | 关闭 25 | 26 |
27 | 28 | 29 | 30 | 31 | 32 | 100 | -------------------------------------------------------------------------------- /demo/fy-base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 弹窗 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 28 | 94 | -------------------------------------------------------------------------------- /demo/fy-contextmenu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
aaaa
17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 57 | -------------------------------------------------------------------------------- /demo/fy-modal-amap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 弹窗1 18 |
19 | 地址 20 | lng 21 | lat 22 |
23 | 当前位置 24 | lng 25 | lat 26 |
27 | 28 | 29 | 30 | 31 | 32 | 84 | -------------------------------------------------------------------------------- /demo/fy-modal-input.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 弹窗input 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 55 | -------------------------------------------------------------------------------- /demo/fy-modal-list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 弹窗 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 39 | -------------------------------------------------------------------------------- /demo/fy-modal-pwdreset.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 弹窗 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 38 | -------------------------------------------------------------------------------- /demo/fy-modal-table.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 弹窗table 17 |
18 |
19 |
20 | 21 | 22 | 23 | 24 |
25 |
26 |
27 |
28 | 29 | 30 | 31 | 32 |
33 | 34 | 35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 84 | -------------------------------------------------------------------------------- /demo/fy-modal.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 弹窗 17 | 弹窗 18 | 弹窗3 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 96 | -------------------------------------------------------------------------------- /demo/fy-preview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 | 18 | 19 | 20 | 21 |
22 |
23 | 点击图片预览大图 24 |
25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 54 | -------------------------------------------------------------------------------- /demo/fy-tabs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | 33 | 34 | 35 | 36 | 104 | -------------------------------------------------------------------------------- /demo/fy-topastr-tip.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 36 | -------------------------------------------------------------------------------- /demo/grid.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 | 12 | 13 |
14 | 弹窗 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 69 | -------------------------------------------------------------------------------- /demo/img-preview/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-preview/1.png -------------------------------------------------------------------------------- /demo/img-preview/2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-preview/2.jpeg -------------------------------------------------------------------------------- /demo/img-preview/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-preview/3.jpg -------------------------------------------------------------------------------- /demo/img-preview/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-preview/4.png -------------------------------------------------------------------------------- /demo/img-slide/pgbg01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-slide/pgbg01.jpg -------------------------------------------------------------------------------- /demo/img-slide/pgbg02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-slide/pgbg02.jpg -------------------------------------------------------------------------------- /demo/img-slide/pgbg03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-slide/pgbg03.jpg -------------------------------------------------------------------------------- /demo/img-slide/pgbg04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aLoNeIT/flyUI/53e97777494c885d5ef50277371f619e2454ba20/demo/img-slide/pgbg04.jpg -------------------------------------------------------------------------------- /demo/select_demo_testing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello Avalon 9 | 10 | 11 |
12 |

下拉框三级联动

13 | 16 | 19 | 22 |
23 | 24 | 25 | 62 | -------------------------------------------------------------------------------- /support/base64.js: -------------------------------------------------------------------------------- 1 | function Base64() { 2 | 3 | // private property 4 | _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 5 | 6 | // public method for encoding 7 | this.encode = function (input) { 8 | var output = ""; 9 | var chr1, chr2, chr3, enc1, enc2, enc3, enc4; 10 | var i = 0; 11 | input = _utf8_encode(input); 12 | while (i < input.length) { 13 | chr1 = input.charCodeAt(i++); 14 | chr2 = input.charCodeAt(i++); 15 | chr3 = input.charCodeAt(i++); 16 | enc1 = chr1 >> 2; 17 | enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); 18 | enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); 19 | enc4 = chr3 & 63; 20 | if (isNaN(chr2)) { 21 | enc3 = enc4 = 64; 22 | } else if (isNaN(chr3)) { 23 | enc4 = 64; 24 | } 25 | output = output + 26 | _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + 27 | _keyStr.charAt(enc3) + _keyStr.charAt(enc4); 28 | } 29 | return output; 30 | } 31 | 32 | // public method for decoding 33 | this.decode = function (input) { 34 | var output = ""; 35 | var chr1, chr2, chr3; 36 | var enc1, enc2, enc3, enc4; 37 | var i = 0; 38 | input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); 39 | while (i < input.length) { 40 | enc1 = _keyStr.indexOf(input.charAt(i++)); 41 | enc2 = _keyStr.indexOf(input.charAt(i++)); 42 | enc3 = _keyStr.indexOf(input.charAt(i++)); 43 | enc4 = _keyStr.indexOf(input.charAt(i++)); 44 | chr1 = (enc1 << 2) | (enc2 >> 4); 45 | chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); 46 | chr3 = ((enc3 & 3) << 6) | enc4; 47 | output = output + String.fromCharCode(chr1); 48 | if (enc3 != 64) { 49 | output = output + String.fromCharCode(chr2); 50 | } 51 | if (enc4 != 64) { 52 | output = output + String.fromCharCode(chr3); 53 | } 54 | } 55 | output = _utf8_decode(output); 56 | return output; 57 | } 58 | 59 | // private method for UTF-8 encoding 60 | _utf8_encode = function (string) { 61 | string = string.replace(/\r\n/g,"\n"); 62 | var utftext = ""; 63 | for (var n = 0; n < string.length; n++) { 64 | var c = string.charCodeAt(n); 65 | if (c < 128) { 66 | utftext += String.fromCharCode(c); 67 | } else if((c > 127) && (c < 2048)) { 68 | utftext += String.fromCharCode((c >> 6) | 192); 69 | utftext += String.fromCharCode((c & 63) | 128); 70 | } else { 71 | utftext += String.fromCharCode((c >> 12) | 224); 72 | utftext += String.fromCharCode(((c >> 6) & 63) | 128); 73 | utftext += String.fromCharCode((c & 63) | 128); 74 | } 75 | 76 | } 77 | return utftext; 78 | } 79 | 80 | // private method for UTF-8 decoding 81 | _utf8_decode = function (utftext) { 82 | var string = ""; 83 | var i = 0; 84 | var c = c1 = c2 = 0; 85 | while ( i < utftext.length ) { 86 | c = utftext.charCodeAt(i); 87 | if (c < 128) { 88 | string += String.fromCharCode(c); 89 | i++; 90 | } else if((c > 191) && (c < 224)) { 91 | c2 = utftext.charCodeAt(i+1); 92 | string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); 93 | i += 2; 94 | } else { 95 | c2 = utftext.charCodeAt(i+1); 96 | c3 = utftext.charCodeAt(i+2); 97 | string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); 98 | i += 3; 99 | } 100 | } 101 | return string; 102 | } 103 | } -------------------------------------------------------------------------------- /support/store.js: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2010 Marcus Westin 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | * THE SOFTWARE. 20 | */ 21 | 22 | var store = (function(){ 23 | var api = {}, 24 | win = window, 25 | doc = win.document, 26 | localStorageName = 'localStorage', 27 | globalStorageName = 'globalStorage', 28 | storage 29 | 30 | api.disabled = false 31 | api.set = function(key, value) {} 32 | api.get = function(key) {} 33 | api.remove = function(key) {} 34 | api.clear = function() {} 35 | api.transact = function(key, transactionFn) { 36 | var val = api.get(key) 37 | if (typeof val == 'undefined') { val = {} } 38 | transactionFn(val) 39 | api.set(key, val) 40 | } 41 | 42 | api.serialize = function(value) { 43 | return JSON.stringify(value) 44 | } 45 | api.deserialize = function(value) { 46 | if (typeof value != 'string') { return undefined } 47 | return JSON.parse(value) 48 | } 49 | 50 | // Functions to encapsulate questionable FireFox 3.6.13 behavior 51 | // when about.config::dom.storage.enabled === false 52 | // See https://github.com/marcuswestin/store.js/issues#issue/13 53 | function isLocalStorageNameSupported() { 54 | try { return (localStorageName in win && win[localStorageName]) } 55 | catch(err) { return false } 56 | } 57 | 58 | function isGlobalStorageNameSupported() { 59 | try { return (globalStorageName in win && win[globalStorageName] && win[globalStorageName][win.location.hostname]) } 60 | catch(err) { return false } 61 | } 62 | 63 | if (isLocalStorageNameSupported()) { 64 | storage = win[localStorageName] 65 | api.set = function(key, val) { storage.setItem(key, api.serialize(val)) } 66 | api.get = function(key) { return api.deserialize(storage.getItem(key)) } 67 | api.remove = function(key) { storage.removeItem(key) } 68 | api.clear = function() { storage.clear() } 69 | 70 | } else if (isGlobalStorageNameSupported()) { 71 | storage = win[globalStorageName][win.location.hostname] 72 | api.set = function(key, val) { storage[key] = api.serialize(val) } 73 | api.get = function(key) { return api.deserialize(storage[key] && storage[key].value) } 74 | api.remove = function(key) { delete storage[key] } 75 | api.clear = function() { for (var key in storage ) { delete storage[key] } } 76 | 77 | } else if (doc.documentElement.addBehavior) { 78 | var storage = doc.createElement('div') 79 | function withIEStorage(storeFunction) { 80 | return function() { 81 | var args = Array.prototype.slice.call(arguments, 0) 82 | args.unshift(storage) 83 | // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx 84 | // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx 85 | doc.body.appendChild(storage) 86 | storage.addBehavior('#default#userData') 87 | storage.load(localStorageName) 88 | var result = storeFunction.apply(api, args) 89 | doc.body.removeChild(storage) 90 | return result 91 | } 92 | } 93 | api.set = withIEStorage(function(storage, key, val) { 94 | storage.setAttribute(key, api.serialize(val)) 95 | storage.save(localStorageName) 96 | }) 97 | api.get = withIEStorage(function(storage, key) { 98 | return api.deserialize(storage.getAttribute(key)) 99 | }) 100 | api.remove = withIEStorage(function(storage, key) { 101 | storage.removeAttribute(key) 102 | storage.save(localStorageName) 103 | }) 104 | api.clear = withIEStorage(function(storage) { 105 | var attributes = storage.XMLDocument.documentElement.attributes 106 | storage.load(localStorageName) 107 | for (var i=0, attr; attr = attributes[i]; i++) { 108 | storage.removeAttribute(attr.name) 109 | } 110 | storage.save(localStorageName) 111 | }) 112 | } else { 113 | api.disabled = true 114 | } 115 | 116 | return api 117 | })(); 118 | /* 119 | 支持有效期的store 120 | */ 121 | var storeEx={ 122 | set: function(key, val, exp) { 123 | store.set(key, { 124 | val:val, 125 | exp:exp, 126 | time:new Date().getTime() 127 | }); 128 | }, 129 | get: function(key) { 130 | var info = store.get(key) 131 | if (!info) { return null } 132 | if (new Date().getTime() - info.time > info.exp) { return null } 133 | return info.val 134 | } 135 | }; --------------------------------------------------------------------------------