master
editor 3 months ago
commit 314c21f716

@ -0,0 +1,15 @@
<component name="ArtifactManager">
<artifact type="exploded-war" name="book">
<output-path>$PROJECT_DIR$/out/artifacts/book</output-path>
<root id="root">
<element id="directory" name="WEB-INF">
<element id="directory" name="classes">
<element id="module-output" name="book" />
</element>
<element id="directory" name="lib">
<element id="library" level="project" name="Maven: org.springframework:spring-context:4.3.8.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-aop:4.3.8.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-core:4.3.8.RELEASE" />
<element id="library" level="project" name="Maven: commons-logging:commons-logging:1.2" />
<element id="library" level="project" name="Maven: org.springframework:spring-expression:4.3.8.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-beans:4.3.8.RELEASE" />

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="book" />
</profile>
</annotationProcessing>
</component>
</project>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/cjglyController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/duzheController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/glyController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/gonggaoController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/haishuController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/tslxController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/tushuController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/ychsController.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/controller/yytsController.java" charset="GBK" />
</component>
</project>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ArtifactsWorkspaceSettings">
<artifacts-to-build>
<artifact name="book" />
</artifacts-to-build>
</component>
<component name="ChangeListManager">
<list default="true" id="3ab96a03-cb98-4571-990f-3750c9b29f31" name="Default Changelist" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="LogFilters">

@ -0,0 +1,120 @@
IDEA SPRINGBOOT 电影推荐系统LAYUI框架开发协同过滤算法
一、源码特点
&nbsp;springboot 电影推荐系统是一套完善的完整信息系统结合mvc框架和LayUI框架完成本系统springboot dao bean&nbsp; 采用协同过滤算法进行推荐 对理解JSP java编程开发语言有帮助系统
采用springboot框架MVC模式开发系统具有完整的源代码和数据库系统主要采用B/S模式开发。
前段主要技术 css jquery&nbsp; LayUI框架
后端主要技术 Springboot&nbsp; 框架
数据库 mysql
开发工具 IDEA&nbsp; JDK1.8
二、功能介绍
前台功能:
1系统首页
2公告浏览
3电影浏览、查看电影详情 ,并记录用户浏览记录,系统采用协同过滤算法,根据用户的行为习惯进行推荐其他电影
4电影评价
5用户注册、登录
后台功能:
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)用户管理:对用户信息进行添加、删除、修改和查看
(3)公告管理:对公告信息进行添加、删除、修改和查看
(4)电影管理对电影信息进行添加、删除、修改和查看excel导入
(5)浏览管理:对浏览信息进行删除、修改和查看
(6)评价管理:对评价信息进行添加、删除、修改和查看&nbsp;
(7)用户登录、个人信息修改
三、注意事项
1、管理员账号admin密码admin 数据库配置文件src\main\resources&nbsp; 下的 application.properties
2、开发环境为IDEA开发数据库为mysql使用java语言开发。
3、数据库文件名是jspfilmsql 系统名称film
4、地址qt/index.jsp&nbsp;
作者: zanjia366
如需获得该源码的视频、更新等更多资料请访问: https://www.51aspx.com/Code/DepartmentOfFilmRecommendation
------------------------------------------------------------------------------------------------
源码服务专家
官网: https://www.51aspx.com
讨论圈: https://club.51aspx.com/
平台声明:
1.51Aspx平台上提供下载的资源为免费、共享、商业三类源码,其中免费和共享源码仅供个人学习和研究使用,商业源码请在相应的授权许可条件下使用;
2.51Aspx平台对提供下载的软件及其它资源不拥有任何权利,其版权归属源码合法拥有者所有;
3.著作权人发现本网站载有侵害其合法权益的内容或作品,请与我们联系( 登录官网与客服反馈或发送邮件到support@51Aspx.com
4.51Aspx平台不保证提供的下载资源的准确性、安全性和完整性;
友情提示:
一般数据库文件默认在 DB_51Aspx 文件夹下
默认账号密码一般均为51Aspx
关于源码使用常见问题及解决方案,请参阅: https://www.51aspx.com/Help

@ -0,0 +1,15 @@
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50067
Source Host : localhost:3306
Source Database : jspibook
Target Server Type : MYSQL
Target Server Version : 50067
File Encoding : 65001
Date: 2022-03-24 20:25:33
*/

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
">
<!-- 1.配置jdbc文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:jdbc.properties"/>
</bean>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.cjgly">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询超级管理员信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
cjgly
where 1=1
<if test=" null != yhm and yhm!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.duzhe">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询读者信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
duzhe
where 1=1
<if test=" null != yhm and yhm!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.gly">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询管理员信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
gly
where 1=1
<if test=" null != yhm and yhm!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.gonggao">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询公告信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
gonggao
where 1=1
<if test=" null != bt and bt!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.haishu">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询还书信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
haishu
where 1=1
<if test=" null != yy and yy!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.tslx">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询图书类型信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
tslx
where 1=1
<if test=" null != lx and lx!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.tushu">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询图书信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
tushu
where 1=1
<if test=" null != tsmc and tsmc!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.ychs">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询异常还书信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
*
FROM
ychs
where 1=1
<if test=" null != yy and yy!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 这里填写对应的Dao文件所在的路径 -->
<mapper namespace="com.yyts">
<!-- parameterType就是你接受的参数的类型 -->
<!-- 查询预约图书信息 -->
<select id="getAll" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.*,b.tsmc
FROM
yyts a,tushu b
where 1=1 and a.ts=b.tsid
<if test=" null != lsh and lsh!=''" >

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<!-- 3.配置数据源 使用的alibba的数据库-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<!-- 基本属性 url、user、password -->
<property name="driverClassName" value="${jdbc_driverClassName}"/>
<property name="url" value="${jdbc_url}"/>
<property name="username" value="${jdbc_username}"/>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>SSM</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<!-- spring监听器 -->
<listener>

@ -0,0 +1,15 @@
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="com.util.*"%>
<%
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD>̨
*/
DBO db=new DBO();//<2F><>ʼ<EFBFBD><CABC><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
request.setCharacterEncoding("gb2312");//<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
ResultSet rs=null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String keyid =(String)request.getParameter("keyid");
String yhm=(String)request.getParameter("yhma");// <20><><EFBFBD><EFBFBD> <20><> :<3A>û<EFBFBD><C3BB><EFBFBD>
String mm=(String)request.getParameter("mma");// <20><><EFBFBD><EFBFBD> <20><> :<3A><><EFBFBD><EFBFBD>
String xm=(String)request.getParameter("xm");// <20><><EFBFBD><EFBFBD> <20><> :<3A><><EFBFBD><EFBFBD>

@ -0,0 +1,13 @@
/* included only when we don't want to use fonts from google server */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(../font/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(../font/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,15 @@
/* Used for Ace demo only, to style Button that launches help, help content, etc */
.onpage-help-toggle-btn:focus {
outline: none;
}
.onpage-help-toggle-container {
position: fixed;
top: 135px;
}
.onpage-help-toggle-container.active {
z-index: 100001;
}
@media (min-width: 768px) {

@ -0,0 +1,15 @@
/*!
* Datetimepicker for Bootstrap v3
* https://github.com/Eonasdan/bootstrap-datetimepicker/
*/
.bootstrap-datetimepicker-widget {
top: 0;
left: 0;
width: 250px;
padding: 4px;
margin-top: 1px;
z-index: 99999 !important;
border-radius: 4px;
}
.bootstrap-datetimepicker-widget.timepicker-sbs {
width: 600px;

@ -0,0 +1,15 @@
/*! X-editable - v1.5.1
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
.editableform {
margin-bottom: 0; /* overwrites bootstrap margin */
}
.editableform .control-group {
margin-bottom: 0; /* overwrites bootstrap margin */
white-space: nowrap; /* prevent wrapping buttons on new line */
line-height: 20px; /* overwriting bootstrap line-height. See #133 */
}
/*

@ -0,0 +1,15 @@
/*!
* Timepicker Component for Twitter Bootstrap
*
* Copyright 2013 Joris de Wit
*
* Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
.bootstrap-timepicker {
position: relative;
}
.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu {
left: auto;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,15 @@
/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}

@ -0,0 +1,15 @@
/*!
* Colorpicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.colorpicker-saturation {
width: 100px;
height: 100px;
background-image: url(img/saturation.png);
cursor: crosshair;
float: left;
}

@ -0,0 +1 @@
.welcome{ background: white url(../avatars/welcome.jpg) center top no-repeat; width: 100%; height: 100%;}

@ -0,0 +1,15 @@
/*!
* Datepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datepicker {
padding: 4px;
border-radius: 4px;
direction: ltr;
/*.dow {
border-top: 1px solid #ddd !important;

@ -0,0 +1,15 @@
/*!
* Stylesheet for the Date Range Picker, for use with Bootstrap 3.x
*
* Copyright 2013 Dan Grossman ( http://www.dangrossman.info )
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Built for http://www.improvely.com
*/
.daterangepicker.dropdown-menu {
max-width: none;
z-index: 3000;
}

@ -0,0 +1,15 @@
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;}
body {color: #2f332a;font: 15px/21px Arial, Helvetica, simsun, sans-serif;background: #f0f6e4 \9;}
h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, sans-serif;padding-bottom: 5px;}
h1 {font-size: 24px;line-height: 34px;text-align: center;}
h2 {font-size: 14px;line-height: 24px;padding-top: 5px;}
h6 {font-weight: normal;font-size: 12px;letter-spacing: 1px;line-height: 24px;text-align: center;}
a {color:#3C6E31;text-decoration: underline;}
a:hover {background-color:#3C6E31;color:white;}
input.radio {margin: 0 2px 0 8px;}
input.radio.first {margin-left:0;}
input.empty {color: lightgray;}
code {color: #2f332a;}
.highlight_red {color:#A60000;}
.highlight_green {color:#A7F43D;}

@ -0,0 +1,15 @@
/* The MIT License */
.dropzone,
.dropzone *,
.dropzone-previews,
.dropzone-previews * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.dropzone {
position: relative;
border: 1px solid rgba(0,0,0,0.08);
background: rgba(0,0,0,0.02);
padding: 1em;
}

@ -0,0 +1,15 @@
.icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle;}
.nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%;}
.nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px;}
.btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit;}
.btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em;}
a [class^="icon-"],a [class*=" icon-"]{cursor:pointer;}
.icon-glass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf000;');}
.icon-music{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf001;');}
.icon-search{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-envelope-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf003;');}
.icon-heart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf004;');}
.icon-star{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf005;');}
.icon-star-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf006;');}
.icon-user{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf007;');}
.icon-film{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf008;');}

File diff suppressed because one or more lines are too long

@ -0,0 +1,15 @@
/*!
* FullCalendar v2.0.2 Stylesheet
* Docs & License: http://arshaw.com/fullcalendar/
* (c) 2013 Adam Shaw
*/
.fc {
direction: ltr;
text-align: left;
}
.fc table {
border-collapse: collapse;
border-spacing: 0;

@ -0,0 +1,15 @@
/*!
* FullCalendar v2.0.2 Print Stylesheet
* Docs & License: http://arshaw.com/fullcalendar/
* (c) 2013 Adam Shaw
*/
/*
* Include this stylesheet on your page to get a more printer-friendly calendar.
* When including this stylesheet, use the media='print' attribute of the <link> tag.
* Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
*/
/* Events
-----------------------------------------------------*/

@ -0,0 +1,6 @@
/*! jQuery UI - v1.11.0 - 2014-06-29
* http://jqueryui.com
* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, slider.css
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}

File diff suppressed because one or more lines are too long

@ -0,0 +1,15 @@
/* the norm */
#gritter-notice-wrapper {
position:fixed;
top:20px;
right:20px;
width:301px;
z-index:9999;
}
#gritter-notice-wrapper.top-left {
left: 20px;
right: auto;
}
#gritter-notice-wrapper.bottom-right {
top: auto;
left: auto;

@ -0,0 +1,15 @@
{
"always-semicolon": true,
"block-indent": 2,
"colon-space": [0, 1],
"color-case": "lower",
"color-shorthand": true,
"combinator-space": true,
"element-case": "lower",
"eof-newline": true,
"leading-zero": false,
"remove-empty-rulesets": true,
"rule-indent": 2,
"stick-brace": " ",
"strip-spaces": true,
"unitless-zero": true,

@ -0,0 +1,15 @@
.com { color: #93a1a1; }
.lit { color: #195f91; }
.pun, .opn, .clo { color: #93a1a1; }
.fun { color: #dc322f; }
.str, .atv { color: #D14; }
.kwd, .prettyprint .tag { color: #1e347b; }
.typ, .atn, .dec, .var { color: teal; }
.pln { color: #48484c; }
.prettyprint {
padding: 8px;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
}
.prettyprint.linenums {

@ -0,0 +1,15 @@
/*
Version: 3.5.0 Timestamp: Mon Jun 16 19:29:44 EDT 2014
*/
.select2-container {
margin: 0;
position: relative;
display: inline-block;
/* inline-block for ie7 */
zoom: 1;
*display: inline;
vertical-align: middle;
}
.select2-container,
.select2-drop,

@ -0,0 +1,15 @@
/*Grid*/
.ui-jqgrid {position: relative;}
.ui-jqgrid .ui-jqgrid-view {position: relative;left:0; top: 0; padding: 0; font-size:11px;}
/* caption*/
.ui-jqgrid .ui-jqgrid-titlebar {padding: .3em .2em .2em .3em; position: relative; font-size: 12px; border-left: 0 none;border-right: 0 none; border-top: 0 none;}
.ui-jqgrid .ui-jqgrid-caption {text-align: left;}
.ui-jqgrid .ui-jqgrid-title { margin: .1em 0 .2em; }
.ui-jqgrid .ui-jqgrid-titlebar-close { position: absolute;top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height:18px; cursor:pointer;}
.ui-jqgrid .ui-jqgrid-titlebar-close span { display: block; margin: 1px; }
.ui-jqgrid .ui-jqgrid-titlebar-close:hover { padding: 0; }
/* header*/
.ui-jqgrid .ui-jqgrid-hdiv {position: relative; margin: 0;padding: 0; overflow-x: hidden; border-left: 0 none !important; border-top : 0 none !important; border-right : 0 none !important;}
.ui-jqgrid .ui-jqgrid-hbox {float: left; padding-right: 20px;}
.ui-jqgrid .ui-jqgrid-htable {table-layout:fixed;margin:0;}
.ui-jqgrid .ui-jqgrid-htable th {height:22px;padding: 0 2px 0 2px;}

@ -0,0 +1,15 @@
/* a few ie8/9 specific changes */
.navbar .navbar-inner , .navbar .btn-navbar {
filter:progid:DXImageTransform.Microsoft.gradient(enabled=false) !important;
}
.dropdown-menu li > a,
.dropdown-submenu > a {
filter:progid:DXImageTransform.Microsoft.gradient(enabled=false) !important;
}
.btn {
filter:progid:DXImageTransform.Microsoft.gradient(enabled=false) !important;
}
.progress , .progress .bar {
filter:progid:DXImageTransform.Microsoft.gradient(enabled=false) !important;
}

@ -0,0 +1,15 @@
.gritter-error .gritter-close,
.gritter-success .gritter-close,
.gritter-warning .gritter-close {
color: #FFEA07;
}
.gritter-close:hover {
color: #FFF !important;
}
.gritter-title {
text-shadow: none;
}
.gritter-light .gritter-item,
.gritter-light .gritter-bottom,
.gritter-light .gritter-top,
.gritter-light .gritter-close {

@ -0,0 +1,15 @@
.rtl .text-center {
text-align: center;
}
.rtl .list-unstyled {
padding-left: 0;
padding-right: 0;
}
.rtl .list-inline {
padding-left: 0;
margin-left: auto;
padding-right: 0;
margin-right: -5px;
}
.rtl .list-inline > li {
padding-left: 5px;

@ -0,0 +1,15 @@
/* skin 1 */
.skin-1 {
background-color: #4a4f56;
}
.skin-1 .navbar {
background: #2c6aa0;
}
.skin-1 .sidebar {
background-color: #222a2d;
border-right-width: 0;
}
.skin-1 .nav-list > li {
border-color: #3f4e54;
}
.skin-1 .nav-list > li > a {

@ -0,0 +1,15 @@
html {
min-height: 100%;
position: relative;
}
body {
background-color: #e4e6e9;
min-height: 100%;
padding-bottom: 0;
font-family: 'Open Sans';
font-size: 13px;
color: #393939;
line-height: 1.5;
}
.main-container:before {
display: block;

@ -0,0 +1,15 @@
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,

@ -0,0 +1,15 @@
/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com
Version 1.1.0
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011 Harvest http://getharvest.com
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
This file is generated by `grunt build`, do not edit it by hand.
*/
/* @group Base */
.chosen-container {
position: relative;

@ -0,0 +1,15 @@
/*!
* Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?v=4.1.0');
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
.fa {
display: inline-block;

@ -0,0 +1,15 @@
/*! jQuery UI - v1.11.0 - 2014-06-29
* http://jqueryui.com
* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;

@ -0,0 +1,15 @@
/*! jQuery UI - v1.11.0 - 2014-06-29
* http://jqueryui.com
* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, slider.css
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;

@ -0,0 +1,15 @@
/*-------------------------------------
zTree Style
version: 3.5.17
author: Hunter.z
email: hunter.z@263.net
website: http://code.google.com/p/jquerytree/
-------------------------------------*/
.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
.ztree {margin:0; padding:5px; color:#333}
.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
.ztree li ul{ margin:0; padding:0 0 0 18px}
.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,15 @@
/**
<b>Load content via Ajax </b>. For more information please refer to documentation #basics/ajax
*/
ace.enable_ajax_content = function($, options) {
//var has_history = 'history' in window && typeof window.history.pushState === 'function';
var content_url = options.content_url || false
var default_url = options.default_url || false;
var loading_icon = options.loading_icon || 'fa-spinner fa-2x orange';
var loading_text = options.loading_text || '';
var update_breadcrumbs = options.update_breadcrumbs || typeof options.update_breadcrumbs === 'undefined';
var update_title = options.update_title || typeof options.update_title === 'undefined';
var update_active = options.update_active || typeof options.update_active === 'undefined';
var close_active = options.close_active || typeof options.close_active === 'undefined';

@ -0,0 +1,15 @@
/**
<b>Auto Container</b> Adds .container when window size is above 1140px.
In Bootstrap you should stick with fixed width breakpoints.
You can use this feature to enable fixed container only when window size is above 1140px
*/
ace.auto_container = function($) {
$(window).on('resize.auto_container', function() {
var enable = ace.vars.window['width'] > 1140;
try {
ace.settings.main_container_fixed(enable, false, false);
} catch(e) {
if(enable) $('.main-container,.navbar-container').addClass('container');
else $('.main-container,.navbar-container').removeClass('container');
$(document).trigger('settings.ace', ['main_container_fixed' , enable]);
}

@ -0,0 +1,15 @@
/**
<b>Auto content padding on fixed navbar &amp; breadcrumbs</b>.
Navbar's content and height is often predictable and when navbar is fixed we can add appropriate padding to content area using CSS.
But when navbar is fixed and its content size and height is not predictable we may need to add the necessary padding to content area dynamically using Javascript.
It's not often needed and you can have good results using CSS3 media queries to add necessary paddings based on window size.
*/
ace.auto_padding = function($) {
var navbar = $('.navbar').eq(0);
var navbar_container = $('.navbar-container').eq(0);
var sidebar = $('.sidebar').eq(0);
var main_container = $('.main-container').get(0);

@ -0,0 +1,15 @@
/**
<b>Autohide mobile view menu</b>. Automatically hide the sidebar in mobile view (default style) when clicked/tapped outside of it.
*/
ace.auto_hide_sidebar = function($) {
$(document).on(ace.click_event+'.ace.hide', function(e) {
var toggler = $('#menu-toggler');
if( toggler.length == 0 || toggler[0].scrollHeight == 0 || !toggler.hasClass('display') ) return;
//toggle button is not visible, so we are not in mobile view, or the sidebar is not displayed, so return
var sidebar = $('#sidebar');
if( $.contains(sidebar[0], e.target) ) {
e.stopPropagation();
return;
}

@ -0,0 +1,15 @@
/**
Required. Ace's Basic File to Initiliaze Different Parts & Some Variables.
*/
if( !('ace' in window) ) window['ace'] = {}
if( !('helper' in window['ace']) ) window['ace'].helper = {}
if( !('options' in window['ace']) ) window['ace'].options = {}
if( !('vars' in window['ace']) ) {
window['ace'].vars = {
'icon' : ' ace-icon ',
'.icon' : '.ace-icon'
}
}
ace.vars['touch'] = 'ontouchstart' in document.documentElement;

@ -0,0 +1,15 @@
jQuery(function($) {
var help = null;//Onpage_Help instance
//for ace demo pages, we temporarily disable fixed navbar, etc ... when help is enabled
//because when an element is fixed, its highlighted help section should also become fixed?!
var page_settings = {}
var before_enable_help = function() {
$('#btn-scroll-up').css('z-index', 1000000);//bring btn-scroll-up higher , to be over our help area
//save our current state of navbar, sidebar and breadcrumbs before enabling help
page_settings['navbar'] = ace.settings.is('navbar', 'fixed')
page_settings['sidebar'] = ace.settings.is('sidebar', 'fixed')
page_settings['breadcrumbs'] = ace.settings.is('breadcrumbs', 'fixed')

@ -0,0 +1,15 @@
/**
The autocomplete dropdown when typing inside search box.
<u><i class="glyphicon glyphicon-flash"></i> You don't need this. Used for demo only</u>
*/
ace.enable_searchbox_autocomplete = function($) {
ace.vars['US_STATES'] = ["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]
try {
$('#nav-search-input').bs_typeahead({
source: ace.vars['US_STATES'],
updater:function (item) {
//when an item is selected from dropdown menu, focus back to input element
$('#nav-search-input').focus();
return item;
}
});

@ -0,0 +1,15 @@
/**
<b>RTL</b> (right-to-left direction for Arabic, Hebrew, Persian languages).
It's good for demo only.
You should hard code RTL-specific changes inside your HTML/server-side code.
Dynamically switching to RTL using Javascript is not a good idea.
Please refer to documentation for more info.
*/
ace.settings_rtl = function($) {
//Switching to RTL (right to left) Mode
$('#ace-settings-rtl').removeAttr('checked').on('click', function(){
ace.switch_direction(jQuery);
});
}

@ -0,0 +1,15 @@
/**
<b>Select a different skin</b>. It's good for demo only.
You should hard code skin-specific changes inside your HTML/server-side code.
Please refer to documentation for more info.
*/
ace.settings_skin = function($) {
try {
$('#skin-colorpicker').ace_colorpicker();
} catch(e) {}
$('#skin-colorpicker').on('change', function(){
var skin_class = $(this).find('option:selected').data('skin');
//skin cookie tip

@ -0,0 +1,15 @@
/**
<b>Settings box</b>. It's good for demo only. You don't need this.
*/
ace.settings_box = function($) {
$('#ace-settings-btn').on(ace.click_event, function(e){
e.preventDefault();
$(this).toggleClass('open');
$('#ace-settings-box').toggleClass('open');
});
$('#ace-settings-navbar').on('click', function(){
ace.settings.navbar_fixed(this.checked);//@ ace-extra.js
//$(window).triggerHandler('resize.navbar');

@ -0,0 +1,15 @@
/**
<b>Scrollbars for sidebar</b>. This approach can <span class="text-danger">only</span> be used on <u>fixed</u> sidebar.
It doesn't use <u>"overflow:hidden"</u> CSS property and therefore can be used with <u>.hover</u> submenus and minimized sidebar.
Except when in mobile view and menu toggle button is not in the navbar.
*/
ace.sidebar_scrollable = function($ , options) {
if( !$.fn.ace_scroll ) return;
var old_safari = ace.vars['safari'] && navigator.userAgent.match(/version\/[1-5]/i)
//NOTE
//Safari on windows has not been updated for a long time.
//And it has a problem when sidebar is fixed&scrollable and there is a CSS3 animation inside page content.
//Very probably windows users of safari have migrated to another browser by now!

@ -0,0 +1,15 @@
/**
<b>Scrollbars for sidebar</b>. This approach can be used on fixed or normal sidebar.
It uses <u>"overflow:hidden"</u> so you can't use <u>.hover</u> submenus and it will be disabled when sidebar is minimized.
It may also be marginally (negligibily) faster especially when resizing browser window.
Needs some work! Has a few issues!
*/
ace.sidebar_scrollable = function($ , options) {
if( !$.fn.ace_scroll ) return;
var old_safari = ace.vars['safari'] && navigator.userAgent.match(/version\/[1-5]/i)
//NOTE
//Safari on windows has not been updated for a long time.
//And it has a problem when sidebar is fixed&scrollable and there is a CSS3 animation inside page content.
//Very probably windows users of safari have migrated to another browser by now!

@ -0,0 +1,15 @@
/**
<b>Sidebar functions</b>. Collapsing/expanding, toggling mobile view menu and other sidebar functions.
*/
ace.handle_side_menu = function($) {
var sidebar = $('.sidebar').eq(0);
$(document).on(ace.click_event+'.ace.menu', '#menu-toggler', function(){
sidebar.toggleClass('display');
$(this).toggleClass('display');
if( $(this).hasClass('display') && 'sidebar_scroll' in ace.helper )
{
ace.helper.sidebar_scroll.reset();
}

@ -0,0 +1,15 @@
/**
<b>Toggle sidebar submenus</b>. This approach uses <u>CSS3</u> transitions.
It's a bit smoother but the transition does not work on IE9 and below and it is sometimes glitchy on Android's default browser.
*/
//CSS3 transition version, no animation on IE9 and below
ace.submenu = {
show : function(sub, duration) {
var $ = window.jQuery;
var $sub = $(sub);
var event;
$sub.trigger(event = $.Event('show.ace.submenu'))
if (event.isDefaultPrevented()) return false;

@ -0,0 +1,15 @@
/**
<b>Toggle sidebar submenus</b>. This approach uses <u>jQuery</u> animation and works on all browsers.
*/
ace.submenu = {
show : function(sub, duration) {
var $ = window.jQuery;
var $sub = $(sub);
var event;
$sub.trigger(event = $.Event('show.ace.submenu'))
if (event.isDefaultPrevented()) return false;
$sub
.css({height:0, overflow:'hidden', display:'block'})

@ -0,0 +1,15 @@
/**
<b>Submenu hover adjustment</b>. Automatically move up a submenu to fit into screen when some part of it goes beneath window.
Pass a "true" value as an argument and submenu will have native browser scrollbars when necessary.
*/
ace.sidebar_hoverable = function($, options) {
if( !('querySelector' in document) || !('removeProperty' in document.documentElement.style) ) return;
//ignore IE8 & below
var sub_scroll = options.sub_scroll || false;
//on window resize or sidebar expand/collapse a previously "pulled up" submenu should be reset back to its default position
//for example if "pulled up" in "responsive-min" mode, in "fullmode" should not remain "pulled up"
ace.helper.sidebar_hover = {
reset : function() {

@ -0,0 +1,15 @@
/**
<b>Custom drag event for touch devices</b> used in scrollbars.
For better touch event handling and extra options a more advanced solution such as <u>Hammer.js</u> is recommended.
*/
//based on but not dependent on jQuery mobile
/*
* jQuery Mobile v1.3.2
* http://jquerymobile.com
*
* Copyright 2010, 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
*/

@ -0,0 +1,15 @@
/**
<b>Widget boxes</b>
*/
ace.widget_boxes = function($) {
//bootstrap collapse component icon toggle
$(document).on('hide.bs.collapse show.bs.collapse', function (ev) {
var panel_id = ev.target.getAttribute('id')
var panel = $('a[href*="#'+ panel_id+'"]');
if(panel.length == 0) panel = $('a[data-target*="#'+ panel_id+'"]');
if(panel.length == 0) return;
panel.find(ace.vars['.icon']).each(function(){
var $icon = $(this)
var $match

@ -0,0 +1,15 @@
/**
The widget box reload button/event handler. You should use your own handler. An example is available at <i class="text-info">examples/widgets.html</i>.
<u><i class="glyphicon glyphicon-flash"></i> You don't need this. Used for demo only</u>
*/
ace.widget_reload_handler = function($) {
//***default action for reload in this demo
//you should remove this and add your own handler for each specific .widget-box
//when data is finished loading or processing is done you can call $box.trigger('reloaded.ace.widget')
$(document).on('reload.ace.widget', '.widget-box', function (ev) {
var $box = $(this);
//trigger the reloaded event to remove the spinner icon after 1-2 seconds
setTimeout(function() {
$box.trigger('reloaded.ace.widget');

@ -0,0 +1,15 @@
/**
<b>Custom color picker element</b>. Converts html select elements to a dropdown color picker.
*/
(function($ , undefined) {
var Ace_Colorpicker = function(element, option) {
var options = $.extend({}, $.fn.ace_colorpicker.defaults, option);
var $element = $(element);
var color_list = '';
var color_selected = '';
var selection = null;
var color_array = [];
$element.addClass('hide').find('option').each(function() {
var $class = 'colorpick-btn';

@ -0,0 +1,15 @@
/**
<b>Ace file input element</b>. Custom, simple file input element to style browser's default file input.
*/
(function($ , undefined) {
var multiplible = 'multiple' in document.createElement('INPUT');
var hasFileList = 'FileList' in window;//file list enabled in modern browsers
var hasFileReader = 'FileReader' in window;
var hasFile = 'File' in window;
var Ace_File_Input = function(element , settings) {
var self = this;
this.settings = $.extend({}, $.fn.ace_file_input.defaults, settings);
this.$element = $(element);
this.element = element;

@ -0,0 +1,15 @@
window.Onpage_Help = function(options) {
var $ = window.jQuery || null;
if($ == null) return;
options = options || {}
var defaults = {
include_all: true,
icon_1: 'fa fa-question',
icon_2: 'fa fa-lightbulb-o',
base: '',
code_highlight: (!!window.Rainbow ? 'rainbow' : (!!window.Prism ? 'prism' : null)),
add_panels: true,
panel_content_selector: '.info-section',
panel_content_title: '.info-title'

@ -0,0 +1,15 @@
/**
<b>Ace custom scroller</b>. It is not as feature-rich as plugins such as NiceScroll but it's good enough for most cases.
*/
(function($ , undefined) {
var Ace_Scroll = function(element , _settings) {
var self = this;
var settings = $.extend({}, $.fn.ace_scroll.defaults, _settings);
this.size = 0;
this.$element = $(element);
this.element = element;
var vertical = true;
var disabled = false;

@ -0,0 +1,15 @@
/**
<b>Spinner</b>. A wrapper for FuelUX spinner element.
It's just a wrapper so you still need to include FuelUX spinner script first.
*/
(function($ , undefined) {
//a wrapper for fuelux spinner
function Ace_Spinner(element , options) {
var max = options.max
max = (''+max).length
var width = parseInt(Math.max((max * 20 + 40) , 90))
var $element = $(element);
$element.addClass('spinner-input form-control').wrap('<div class="ace-spinner">')
var $parent_div = $element.closest('.ace-spinner').spinner(options).wrapInner("<div class='input-group'></div>")

@ -0,0 +1,15 @@
/**
<b>Treeview</b>. A wrapper for FuelUX treeview element.
It's just a wrapper so you still need to include FuelUX treeview script first.
*/
(function($ , undefined) {
var $options = {
'open-icon' : ace.vars['icon'] + 'fa fa-folder-open',
'close-icon' : ace.vars['icon'] + 'fa fa-folder',
'selectable' : true,
'selected-icon' : ace.vars['icon'] + 'fa fa-check',
'unselected-icon' : ace.vars['icon'] + 'fa fa-times'
}
$.fn.ace_tree = function(options) {
$options = $.extend({}, $options, options)

@ -0,0 +1,15 @@
/**
<b>Bootstrap 2 typeahead plugin.</b> With Bootstrap <u>3</u> it's been dropped in favor of a more advanced separate plugin.
Pretty good for simple cases such as autocomplete feature of the search box and required for <u class="text-danger">Tag input</u> plugin.
*/
/* =============================================================
* bootstrap-typeahead.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#typeahead
* =============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*

@ -0,0 +1,15 @@
/**
<b>Wizard</b>. A wrapper for FuelUX wizard element.
It's just a wrapper so you still need to include FuelUX wizard script first.
*/
(function($ , undefined) {
$.fn.ace_wizard = function(options) {
this.each(function() {
var $this = $(this);
$this.wizard();
var buttons = $this.siblings('.wizard-actions').eq(0);
var $wizard = $this.data('wizard');
$wizard.$prevBtn.remove();
$wizard.$nextBtn.remove();

@ -0,0 +1,15 @@
/**
<b>Wysiwyg</b>. A wrapper for Bootstrap wyswiwyg plugin.
It's just a wrapper so you still need to include Bootstrap wysiwyg script first.
*/
(function($ , undefined) {
$.fn.ace_wysiwyg = function($options , undefined) {
var options = $.extend( {
speech_button:true,
wysiwyg:{}
}, $options);
var color_values = [
'#ac725e','#d06b64','#f83a22','#fa573c','#ff7537','#ffad46',
'#42d692','#16a765','#7bd148','#b3dc6c','#fbe983','#fad165',
'#92e1c0','#9fe1e7','#9fc6e7','#4986e7','#9a9cff','#b99aff',

@ -0,0 +1,15 @@
{
"elements.scroller.js" : true,
"elements.colorpicker.js" : true,
"elements.fileinput.js" : true,
"elements.typeahead.js" : true,
"elements.wysiwyg.js" : true,
"elements.spinner.js" : true,
"elements.treeview.js" : true,
"elements.wizard.js" : true,
"ace.js" : true,
"ace.touch-drag.js" : true,
"ace.sidebar.js" : true,
"ace.ajax-content.js" : false,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,15 @@
/* =========================================================
* bootstrap-colorpicker.js
* http://www.eyecon.ro/bootstrap-colorpicker
* =========================================================
* Copyright 2012 Stefan Petre
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

@ -0,0 +1,15 @@
/* ==========================================================
* bootstrap-tag.js v2.2.5
* https://github.com/fdeschenes/bootstrap-tag
* ==========================================================
* Copyright 2012 Francois Deschenes.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

@ -0,0 +1,4 @@
/* http://github.com/mindmup/bootstrap-wysiwyg */
/*global jQuery, $, FileReader*/
/*jslint browser:true*/
(function(b){var a=function(e){var c=b.Deferred(),d=new FileReader();d.onload=function(f){c.resolve(f.target.result)};d.onerror=c.reject;d.onprogress=c.notify;d.readAsDataURL(e);return c.promise()};b.fn.cleanHtml=function(){var c=b(this).html();return c&&c.replace(/(<br>|\s|<div><br><\/div>|&nbsp;)*$/,"")};b.fn.wysiwyg=function(k){var l=this,h,q,d,p=function(){if(q.activeToolbarClass){b(q.toolbarSelector).find(d).each(function(){try{var s=b(this).data(q.commandRole);if(document.queryCommandState(s)){b(this).addClass(q.activeToolbarClass)}else{b(this).removeClass(q.activeToolbarClass)}}catch(r){}})}},o=function(r,s){var u=r.split(" "),v=u.shift(),t=u.join(" ")+(s||"");document.execCommand(v,0,t);p()},f=function(r){b.each(r,function(s,t){l.keydown(s,function(u){if(l.attr("contenteditable")&&l.is(":visible")){u.preventDefault();u.stopPropagation();o(t)}}).keyup(s,function(u){if(l.attr("contenteditable")&&l.is(":visible")){u.preventDefault();u.stopPropagation()}})})},g=function(){try{var r=window.getSelection();if(r.getRangeAt&&r.rangeCount){return r.getRangeAt(0)}}catch(s){}},i=function(){h=g()},e=function(){try{var s=window.getSelection();if(h){try{s.removeAllRanges()}catch(r){document.body.createTextRange().select();document.selection.empty()}s.addRange(h)}}catch(t){}},j=function(r){l.focus();b.each(r,function(s,t){if(/^image\//.test(t.type)){b.when(a(t)).done(function(u){o("insertimage",u)}).fail(function(u){q.fileUploadError("file-reader",u)})}else{q.fileUploadError("unsupported-file-type",t.type)}})},c=function(s,r){e();if(document.queryCommandSupported("hiliteColor")){document.execCommand("hiliteColor",0,r||"transparent")}i();s.data(q.selectionMarker,r)},m=function(t,s){t.find(d).click(function(){e();l.focus();o(b(this).data(s.commandRole));i()});t.find("[data-toggle=dropdown]").click(e);var r=!!window.navigator.msPointerEnabled||(!!document.all&&!!document.addEventListener);t.find("input[type=text][data-"+s.commandRole+"]").on("webkitspeechchange change",function(){var u=this.value;this.value="";e();if(u){l.focus();o(b(this).data(s.commandRole),u)}i()}).on("focus",function(){if(r){return}var u=b(this);if(!u.data(s.selectionMarker)){c(u,s.selectionColor);u.focus()}}).on("blur",function(){if(r){return}var u=b(this);if(u.data(s.selectionMarker)){c(u,false)}});t.find("input[type=file][data-"+s.commandRole+"]").change(function(){e();if(this.type==="file"&&this.files&&this.files.length>0){j(this.files)}i();this.value=""})},n=function(){l.on("dragenter dragover",false).on("drop",function(s){var r=s.originalEvent.dataTransfer;s.stopPropagation();s.preventDefault();if(r&&r.files&&r.files.length>0){j(r.files)}})};q=b.extend({},b.fn.wysiwyg.defaults,k);d="a[data-"+q.commandRole+"],button[data-"+q.commandRole+"],input[type=button][data-"+q.commandRole+"]";f(q.hotKeys);if(q.dragAndDropImages){n()}m(b(q.toolbarSelector),q);l.attr("contenteditable",true).on("mouseup keyup mouseout",function(){i();p()});b(window).bind("touchend",function(u){var t=(l.is(u.target)||l.has(u.target).length>0),s=g(),r=s&&(s.startContainer===s.endContainer&&s.startOffset===s.endOffset);if(!r||t){i();p()}});return this};b.fn.wysiwyg.defaults={hotKeys:{"ctrl+b meta+b":"bold","ctrl+i meta+i":"italic","ctrl+u meta+u":"underline","ctrl+z meta+z":"undo","ctrl+y meta+y meta+shift+z":"redo","ctrl+l meta+l":"justifyleft","ctrl+r meta+r":"justifyright","ctrl+e meta+e":"justifycenter","ctrl+j meta+j":"justifyfull","shift+tab":"outdent",tab:"indent"},toolbarSelector:"[data-role=editor-toolbar]",commandRole:"edit",activeToolbarClass:"btn-info",selectionMarker:"edit-focus-marker",selectionColor:"darkgrey",dragAndDropImages:true,fileUploadError:function(d,c){console.log("File upload error",d,c)}}}(window.jQuery));

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save